var Lo=Object.defineProperty;var Io=(_n,ke,Ce)=>ke in _n?Lo(_n,ke,{enumerable:!0,configurable:!0,writable:!0,value:Ce}):_n[ke]=Ce;var co=(_n,ke,Ce)=>Io(_n,typeof ke!="symbol"?ke+"":ke,Ce);function bind$1(_n,ke){return function(){return _n.apply(ke,arguments)}}const{toString:toString$1}=Object.prototype,{getPrototypeOf}=Object,kindOf=(_n=>ke=>{const Ce=toString$1.call(ke);return _n[Ce]||(_n[Ce]=Ce.slice(8,-1).toLowerCase())})(Object.create(null)),kindOfTest=_n=>(_n=_n.toLowerCase(),ke=>kindOf(ke)===_n),typeOfTest=_n=>ke=>typeof ke===_n,{isArray:isArray$2}=Array,isUndefined=typeOfTest("undefined");function isBuffer(_n){return _n!==null&&!isUndefined(_n)&&_n.constructor!==null&&!isUndefined(_n.constructor)&&isFunction$1(_n.constructor.isBuffer)&&_n.constructor.isBuffer(_n)}const isArrayBuffer=kindOfTest("ArrayBuffer");function isArrayBufferView(_n){let ke;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?ke=ArrayBuffer.isView(_n):ke=_n&&_n.buffer&&isArrayBuffer(_n.buffer),ke}const isString$1=typeOfTest("string"),isFunction$1=typeOfTest("function"),isNumber$1=typeOfTest("number"),isObject$1=_n=>_n!==null&&typeof _n=="object",isBoolean$1=_n=>_n===!0||_n===!1,isPlainObject=_n=>{if(kindOf(_n)!=="object")return!1;const ke=getPrototypeOf(_n);return(ke===null||ke===Object.prototype||Object.getPrototypeOf(ke)===null)&&!(Symbol.toStringTag in _n)&&!(Symbol.iterator in _n)},isDate$1=kindOfTest("Date"),isFile=kindOfTest("File"),isBlob=kindOfTest("Blob"),isFileList=kindOfTest("FileList"),isStream=_n=>isObject$1(_n)&&isFunction$1(_n.pipe),isFormData=_n=>{let ke;return _n&&(typeof FormData=="function"&&_n instanceof FormData||isFunction$1(_n.append)&&((ke=kindOf(_n))==="formdata"||ke==="object"&&isFunction$1(_n.toString)&&_n.toString()==="[object FormData]"))},isURLSearchParams=kindOfTest("URLSearchParams"),[isReadableStream,isRequest,isResponse,isHeaders]=["ReadableStream","Request","Response","Headers"].map(kindOfTest),trim=_n=>_n.trim?_n.trim():_n.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function forEach(_n,ke,{allOwnKeys:Ce=!1}={}){if(_n===null||typeof _n>"u")return;let $n,Mn;if(typeof _n!="object"&&(_n=[_n]),isArray$2(_n))for($n=0,Mn=_n.length;$n0;)if(Mn=Ce[$n],ke===Mn.toLowerCase())return Mn;return null}const _global=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,isContextDefined=_n=>!isUndefined(_n)&&_n!==_global;function merge(){const{caseless:_n}=isContextDefined(this)&&this||{},ke={},Ce=($n,Mn)=>{const Qn=_n&&findKey$1(ke,Mn)||Mn;isPlainObject(ke[Qn])&&isPlainObject($n)?ke[Qn]=merge(ke[Qn],$n):isPlainObject($n)?ke[Qn]=merge({},$n):isArray$2($n)?ke[Qn]=$n.slice():ke[Qn]=$n};for(let $n=0,Mn=arguments.length;$n(forEach(ke,(Mn,Qn)=>{Ce&&isFunction$1(Mn)?_n[Qn]=bind$1(Mn,Ce):_n[Qn]=Mn},{allOwnKeys:$n}),_n),stripBOM=_n=>(_n.charCodeAt(0)===65279&&(_n=_n.slice(1)),_n),inherits=(_n,ke,Ce,$n)=>{_n.prototype=Object.create(ke.prototype,$n),_n.prototype.constructor=_n,Object.defineProperty(_n,"super",{value:ke.prototype}),Ce&&Object.assign(_n.prototype,Ce)},toFlatObject=(_n,ke,Ce,$n)=>{let Mn,Qn,Vn;const qn={};if(ke=ke||{},_n==null)return ke;do{for(Mn=Object.getOwnPropertyNames(_n),Qn=Mn.length;Qn-- >0;)Vn=Mn[Qn],(!$n||$n(Vn,_n,ke))&&!qn[Vn]&&(ke[Vn]=_n[Vn],qn[Vn]=!0);_n=Ce!==!1&&getPrototypeOf(_n)}while(_n&&(!Ce||Ce(_n,ke))&&_n!==Object.prototype);return ke},endsWith=(_n,ke,Ce)=>{_n=String(_n),(Ce===void 0||Ce>_n.length)&&(Ce=_n.length),Ce-=ke.length;const $n=_n.indexOf(ke,Ce);return $n!==-1&&$n===Ce},toArray=_n=>{if(!_n)return null;if(isArray$2(_n))return _n;let ke=_n.length;if(!isNumber$1(ke))return null;const Ce=new Array(ke);for(;ke-- >0;)Ce[ke]=_n[ke];return Ce},isTypedArray=(_n=>ke=>_n&&ke instanceof _n)(typeof Uint8Array<"u"&&getPrototypeOf(Uint8Array)),forEachEntry=(_n,ke)=>{const $n=(_n&&_n[Symbol.iterator]).call(_n);let Mn;for(;(Mn=$n.next())&&!Mn.done;){const Qn=Mn.value;ke.call(_n,Qn[0],Qn[1])}},matchAll=(_n,ke)=>{let Ce;const $n=[];for(;(Ce=_n.exec(ke))!==null;)$n.push(Ce);return $n},isHTMLForm=kindOfTest("HTMLFormElement"),toCamelCase=_n=>_n.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(Ce,$n,Mn){return $n.toUpperCase()+Mn}),hasOwnProperty=(({hasOwnProperty:_n})=>(ke,Ce)=>_n.call(ke,Ce))(Object.prototype),isRegExp=kindOfTest("RegExp"),reduceDescriptors=(_n,ke)=>{const Ce=Object.getOwnPropertyDescriptors(_n),$n={};forEach(Ce,(Mn,Qn)=>{let Vn;(Vn=ke(Mn,Qn,_n))!==!1&&($n[Qn]=Vn||Mn)}),Object.defineProperties(_n,$n)},freezeMethods=_n=>{reduceDescriptors(_n,(ke,Ce)=>{if(isFunction$1(_n)&&["arguments","caller","callee"].indexOf(Ce)!==-1)return!1;const $n=_n[Ce];if(isFunction$1($n)){if(ke.enumerable=!1,"writable"in ke){ke.writable=!1;return}ke.set||(ke.set=()=>{throw Error("Can not rewrite read-only method '"+Ce+"'")})}})},toObjectSet=(_n,ke)=>{const Ce={},$n=Mn=>{Mn.forEach(Qn=>{Ce[Qn]=!0})};return isArray$2(_n)?$n(_n):$n(String(_n).split(ke)),Ce},noop$1=()=>{},toFiniteNumber=(_n,ke)=>_n!=null&&Number.isFinite(_n=+_n)?_n:ke,ALPHA="abcdefghijklmnopqrstuvwxyz",DIGIT="0123456789",ALPHABET={DIGIT,ALPHA,ALPHA_DIGIT:ALPHA+ALPHA.toUpperCase()+DIGIT},generateString=(_n=16,ke=ALPHABET.ALPHA_DIGIT)=>{let Ce="";const{length:$n}=ke;for(;_n--;)Ce+=ke[Math.random()*$n|0];return Ce};function isSpecCompliantForm(_n){return!!(_n&&isFunction$1(_n.append)&&_n[Symbol.toStringTag]==="FormData"&&_n[Symbol.iterator])}const toJSONObject=_n=>{const ke=new Array(10),Ce=($n,Mn)=>{if(isObject$1($n)){if(ke.indexOf($n)>=0)return;if(!("toJSON"in $n)){ke[Mn]=$n;const Qn=isArray$2($n)?[]:{};return forEach($n,(Vn,qn)=>{const Zn=Ce(Vn,Mn+1);!isUndefined(Zn)&&(Qn[qn]=Zn)}),ke[Mn]=void 0,Qn}}return $n};return Ce(_n,0)},isAsyncFn=kindOfTest("AsyncFunction"),isThenable=_n=>_n&&(isObject$1(_n)||isFunction$1(_n))&&isFunction$1(_n.then)&&isFunction$1(_n.catch),_setImmediate=((_n,ke)=>_n?setImmediate:ke?((Ce,$n)=>(_global.addEventListener("message",({source:Mn,data:Qn})=>{Mn===_global&&Qn===Ce&&$n.length&&$n.shift()()},!1),Mn=>{$n.push(Mn),_global.postMessage(Ce,"*")}))(`axios@${Math.random()}`,[]):Ce=>setTimeout(Ce))(typeof setImmediate=="function",isFunction$1(_global.postMessage)),asap=typeof queueMicrotask<"u"?queueMicrotask.bind(_global):typeof process<"u"&&process.nextTick||_setImmediate,utils$1={isArray:isArray$2,isArrayBuffer,isBuffer,isFormData,isArrayBufferView,isString:isString$1,isNumber:isNumber$1,isBoolean:isBoolean$1,isObject:isObject$1,isPlainObject,isReadableStream,isRequest,isResponse,isHeaders,isUndefined,isDate:isDate$1,isFile,isBlob,isRegExp,isFunction:isFunction$1,isStream,isURLSearchParams,isTypedArray,isFileList,forEach,merge,extend:extend$2,trim,stripBOM,inherits,toFlatObject,kindOf,kindOfTest,endsWith,toArray,forEachEntry,matchAll,isHTMLForm,hasOwnProperty,hasOwnProp:hasOwnProperty,reduceDescriptors,freezeMethods,toObjectSet,toCamelCase,noop:noop$1,toFiniteNumber,findKey:findKey$1,global:_global,isContextDefined,ALPHABET,generateString,isSpecCompliantForm,toJSONObject,isAsyncFn,isThenable,setImmediate:_setImmediate,asap};function AxiosError(_n,ke,Ce,$n,Mn){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=_n,this.name="AxiosError",ke&&(this.code=ke),Ce&&(this.config=Ce),$n&&(this.request=$n),Mn&&(this.response=Mn,this.status=Mn.status?Mn.status:null)}utils$1.inherits(AxiosError,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:utils$1.toJSONObject(this.config),code:this.code,status:this.status}}});const prototype$1=AxiosError.prototype,descriptors={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(_n=>{descriptors[_n]={value:_n}});Object.defineProperties(AxiosError,descriptors);Object.defineProperty(prototype$1,"isAxiosError",{value:!0});AxiosError.from=(_n,ke,Ce,$n,Mn,Qn)=>{const Vn=Object.create(prototype$1);return utils$1.toFlatObject(_n,Vn,function(Zn){return Zn!==Error.prototype},qn=>qn!=="isAxiosError"),AxiosError.call(Vn,_n.message,ke,Ce,$n,Mn),Vn.cause=_n,Vn.name=_n.name,Qn&&Object.assign(Vn,Qn),Vn};const httpAdapter=null;function isVisitable(_n){return utils$1.isPlainObject(_n)||utils$1.isArray(_n)}function removeBrackets(_n){return utils$1.endsWith(_n,"[]")?_n.slice(0,-2):_n}function renderKey(_n,ke,Ce){return _n?_n.concat(ke).map(function(Mn,Qn){return Mn=removeBrackets(Mn),!Ce&&Qn?"["+Mn+"]":Mn}).join(Ce?".":""):ke}function isFlatArray(_n){return utils$1.isArray(_n)&&!_n.some(isVisitable)}const predicates=utils$1.toFlatObject(utils$1,{},null,function(ke){return/^is[A-Z]/.test(ke)});function toFormData(_n,ke,Ce){if(!utils$1.isObject(_n))throw new TypeError("target must be an object");ke=ke||new FormData,Ce=utils$1.toFlatObject(Ce,{metaTokens:!0,dots:!1,indexes:!1},!1,function(Un,Gn){return!utils$1.isUndefined(Gn[Un])});const $n=Ce.metaTokens,Mn=Ce.visitor||Xn,Qn=Ce.dots,Vn=Ce.indexes,Zn=(Ce.Blob||typeof Blob<"u"&&Blob)&&utils$1.isSpecCompliantForm(ke);if(!utils$1.isFunction(Mn))throw new TypeError("visitor must be a function");function jn(Yn){if(Yn===null)return"";if(utils$1.isDate(Yn))return Yn.toISOString();if(!Zn&&utils$1.isBlob(Yn))throw new AxiosError("Blob is not supported. Use a Buffer instead.");return utils$1.isArrayBuffer(Yn)||utils$1.isTypedArray(Yn)?Zn&&typeof Blob=="function"?new Blob([Yn]):Buffer.from(Yn):Yn}function Xn(Yn,Un,Gn){let Kn=Yn;if(Yn&&!Gn&&typeof Yn=="object"){if(utils$1.endsWith(Un,"{}"))Un=$n?Un:Un.slice(0,-2),Yn=JSON.stringify(Yn);else if(utils$1.isArray(Yn)&&isFlatArray(Yn)||(utils$1.isFileList(Yn)||utils$1.endsWith(Un,"[]"))&&(Kn=utils$1.toArray(Yn)))return Un=removeBrackets(Un),Kn.forEach(function(tr,nr){!(utils$1.isUndefined(tr)||tr===null)&&ke.append(Vn===!0?renderKey([Un],nr,Qn):Vn===null?Un:Un+"[]",jn(tr))}),!1}return isVisitable(Yn)?!0:(ke.append(renderKey(Gn,Un,Qn),jn(Yn)),!1)}const zn=[],Hn=Object.assign(predicates,{defaultVisitor:Xn,convertValue:jn,isVisitable});function Wn(Yn,Un){if(!utils$1.isUndefined(Yn)){if(zn.indexOf(Yn)!==-1)throw Error("Circular reference detected in "+Un.join("."));zn.push(Yn),utils$1.forEach(Yn,function(Kn,Jn){(!(utils$1.isUndefined(Kn)||Kn===null)&&Mn.call(ke,Kn,utils$1.isString(Jn)?Jn.trim():Jn,Un,Hn))===!0&&Wn(Kn,Un?Un.concat(Jn):[Jn])}),zn.pop()}}if(!utils$1.isObject(_n))throw new TypeError("data must be an object");return Wn(_n),ke}function encode$1(_n){const ke={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(_n).replace(/[!'()~]|%20|%00/g,function($n){return ke[$n]})}function AxiosURLSearchParams(_n,ke){this._pairs=[],_n&&toFormData(_n,this,ke)}const prototype=AxiosURLSearchParams.prototype;prototype.append=function(ke,Ce){this._pairs.push([ke,Ce])};prototype.toString=function(ke){const Ce=ke?function($n){return ke.call(this,$n,encode$1)}:encode$1;return this._pairs.map(function(Mn){return Ce(Mn[0])+"="+Ce(Mn[1])},"").join("&")};function encode(_n){return encodeURIComponent(_n).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function buildURL(_n,ke,Ce){if(!ke)return _n;const $n=Ce&&Ce.encode||encode,Mn=Ce&&Ce.serialize;let Qn;if(Mn?Qn=Mn(ke,Ce):Qn=utils$1.isURLSearchParams(ke)?ke.toString():new AxiosURLSearchParams(ke,Ce).toString($n),Qn){const Vn=_n.indexOf("#");Vn!==-1&&(_n=_n.slice(0,Vn)),_n+=(_n.indexOf("?")===-1?"?":"&")+Qn}return _n}class InterceptorManager{constructor(){this.handlers=[]}use(ke,Ce,$n){return this.handlers.push({fulfilled:ke,rejected:Ce,synchronous:$n?$n.synchronous:!1,runWhen:$n?$n.runWhen:null}),this.handlers.length-1}eject(ke){this.handlers[ke]&&(this.handlers[ke]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(ke){utils$1.forEach(this.handlers,function($n){$n!==null&&ke($n)})}}const transitionalDefaults={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},URLSearchParams$1=typeof URLSearchParams<"u"?URLSearchParams:AxiosURLSearchParams,FormData$1=typeof FormData<"u"?FormData:null,Blob$1=typeof Blob<"u"?Blob:null,platform$1={isBrowser:!0,classes:{URLSearchParams:URLSearchParams$1,FormData:FormData$1,Blob:Blob$1},protocols:["http","https","file","blob","url","data"]},hasBrowserEnv=typeof window<"u"&&typeof document<"u",_navigator=typeof navigator=="object"&&navigator||void 0,hasStandardBrowserEnv=hasBrowserEnv&&(!_navigator||["ReactNative","NativeScript","NS"].indexOf(_navigator.product)<0),hasStandardBrowserWebWorkerEnv=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",origin=hasBrowserEnv&&window.location.href||"http://localhost",utils=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv,hasStandardBrowserEnv,hasStandardBrowserWebWorkerEnv,navigator:_navigator,origin},Symbol.toStringTag,{value:"Module"})),platform={...utils,...platform$1};function toURLEncodedForm(_n,ke){return toFormData(_n,new platform.classes.URLSearchParams,Object.assign({visitor:function(Ce,$n,Mn,Qn){return platform.isNode&&utils$1.isBuffer(Ce)?(this.append($n,Ce.toString("base64")),!1):Qn.defaultVisitor.apply(this,arguments)}},ke))}function parsePropPath(_n){return utils$1.matchAll(/\w+|\[(\w*)]/g,_n).map(ke=>ke[0]==="[]"?"":ke[1]||ke[0])}function arrayToObject(_n){const ke={},Ce=Object.keys(_n);let $n;const Mn=Ce.length;let Qn;for($n=0;$n=Ce.length;return Vn=!Vn&&utils$1.isArray(Mn)?Mn.length:Vn,Zn?(utils$1.hasOwnProp(Mn,Vn)?Mn[Vn]=[Mn[Vn],$n]:Mn[Vn]=$n,!qn):((!Mn[Vn]||!utils$1.isObject(Mn[Vn]))&&(Mn[Vn]=[]),ke(Ce,$n,Mn[Vn],Qn)&&utils$1.isArray(Mn[Vn])&&(Mn[Vn]=arrayToObject(Mn[Vn])),!qn)}if(utils$1.isFormData(_n)&&utils$1.isFunction(_n.entries)){const Ce={};return utils$1.forEachEntry(_n,($n,Mn)=>{ke(parsePropPath($n),Mn,Ce,0)}),Ce}return null}function stringifySafely(_n,ke,Ce){if(utils$1.isString(_n))try{return(ke||JSON.parse)(_n),utils$1.trim(_n)}catch($n){if($n.name!=="SyntaxError")throw $n}return(0,JSON.stringify)(_n)}const defaults$4={transitional:transitionalDefaults,adapter:["xhr","http","fetch"],transformRequest:[function(ke,Ce){const $n=Ce.getContentType()||"",Mn=$n.indexOf("application/json")>-1,Qn=utils$1.isObject(ke);if(Qn&&utils$1.isHTMLForm(ke)&&(ke=new FormData(ke)),utils$1.isFormData(ke))return Mn?JSON.stringify(formDataToJSON(ke)):ke;if(utils$1.isArrayBuffer(ke)||utils$1.isBuffer(ke)||utils$1.isStream(ke)||utils$1.isFile(ke)||utils$1.isBlob(ke)||utils$1.isReadableStream(ke))return ke;if(utils$1.isArrayBufferView(ke))return ke.buffer;if(utils$1.isURLSearchParams(ke))return Ce.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),ke.toString();let qn;if(Qn){if($n.indexOf("application/x-www-form-urlencoded")>-1)return toURLEncodedForm(ke,this.formSerializer).toString();if((qn=utils$1.isFileList(ke))||$n.indexOf("multipart/form-data")>-1){const Zn=this.env&&this.env.FormData;return toFormData(qn?{"files[]":ke}:ke,Zn&&new Zn,this.formSerializer)}}return Qn||Mn?(Ce.setContentType("application/json",!1),stringifySafely(ke)):ke}],transformResponse:[function(ke){const Ce=this.transitional||defaults$4.transitional,$n=Ce&&Ce.forcedJSONParsing,Mn=this.responseType==="json";if(utils$1.isResponse(ke)||utils$1.isReadableStream(ke))return ke;if(ke&&utils$1.isString(ke)&&($n&&!this.responseType||Mn)){const Vn=!(Ce&&Ce.silentJSONParsing)&&Mn;try{return JSON.parse(ke)}catch(qn){if(Vn)throw qn.name==="SyntaxError"?AxiosError.from(qn,AxiosError.ERR_BAD_RESPONSE,this,null,this.response):qn}}return ke}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:platform.classes.FormData,Blob:platform.classes.Blob},validateStatus:function(ke){return ke>=200&&ke<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};utils$1.forEach(["delete","get","head","post","put","patch"],_n=>{defaults$4.headers[_n]={}});const ignoreDuplicateOf=utils$1.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),parseHeaders=_n=>{const ke={};let Ce,$n,Mn;return _n&&_n.split(` `).forEach(function(Vn){Mn=Vn.indexOf(":"),Ce=Vn.substring(0,Mn).trim().toLowerCase(),$n=Vn.substring(Mn+1).trim(),!(!Ce||ke[Ce]&&ignoreDuplicateOf[Ce])&&(Ce==="set-cookie"?ke[Ce]?ke[Ce].push($n):ke[Ce]=[$n]:ke[Ce]=ke[Ce]?ke[Ce]+", "+$n:$n)}),ke},$internals=Symbol("internals");function normalizeHeader(_n){return _n&&String(_n).trim().toLowerCase()}function normalizeValue(_n){return _n===!1||_n==null?_n:utils$1.isArray(_n)?_n.map(normalizeValue):String(_n)}function parseTokens(_n){const ke=Object.create(null),Ce=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let $n;for(;$n=Ce.exec(_n);)ke[$n[1]]=$n[2];return ke}const isValidHeaderName=_n=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(_n.trim());function matchHeaderValue(_n,ke,Ce,$n,Mn){if(utils$1.isFunction($n))return $n.call(this,ke,Ce);if(Mn&&(ke=Ce),!!utils$1.isString(ke)){if(utils$1.isString($n))return ke.indexOf($n)!==-1;if(utils$1.isRegExp($n))return $n.test(ke)}}function formatHeader(_n){return _n.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(ke,Ce,$n)=>Ce.toUpperCase()+$n)}function buildAccessors(_n,ke){const Ce=utils$1.toCamelCase(" "+ke);["get","set","has"].forEach($n=>{Object.defineProperty(_n,$n+Ce,{value:function(Mn,Qn,Vn){return this[$n].call(this,ke,Mn,Qn,Vn)},configurable:!0})})}class AxiosHeaders{constructor(ke){ke&&this.set(ke)}set(ke,Ce,$n){const Mn=this;function Qn(qn,Zn,jn){const Xn=normalizeHeader(Zn);if(!Xn)throw new Error("header name must be a non-empty string");const zn=utils$1.findKey(Mn,Xn);(!zn||Mn[zn]===void 0||jn===!0||jn===void 0&&Mn[zn]!==!1)&&(Mn[zn||Zn]=normalizeValue(qn))}const Vn=(qn,Zn)=>utils$1.forEach(qn,(jn,Xn)=>Qn(jn,Xn,Zn));if(utils$1.isPlainObject(ke)||ke instanceof this.constructor)Vn(ke,Ce);else if(utils$1.isString(ke)&&(ke=ke.trim())&&!isValidHeaderName(ke))Vn(parseHeaders(ke),Ce);else if(utils$1.isHeaders(ke))for(const[qn,Zn]of ke.entries())Qn(Zn,qn,$n);else ke!=null&&Qn(Ce,ke,$n);return this}get(ke,Ce){if(ke=normalizeHeader(ke),ke){const $n=utils$1.findKey(this,ke);if($n){const Mn=this[$n];if(!Ce)return Mn;if(Ce===!0)return parseTokens(Mn);if(utils$1.isFunction(Ce))return Ce.call(this,Mn,$n);if(utils$1.isRegExp(Ce))return Ce.exec(Mn);throw new TypeError("parser must be boolean|regexp|function")}}}has(ke,Ce){if(ke=normalizeHeader(ke),ke){const $n=utils$1.findKey(this,ke);return!!($n&&this[$n]!==void 0&&(!Ce||matchHeaderValue(this,this[$n],$n,Ce)))}return!1}delete(ke,Ce){const $n=this;let Mn=!1;function Qn(Vn){if(Vn=normalizeHeader(Vn),Vn){const qn=utils$1.findKey($n,Vn);qn&&(!Ce||matchHeaderValue($n,$n[qn],qn,Ce))&&(delete $n[qn],Mn=!0)}}return utils$1.isArray(ke)?ke.forEach(Qn):Qn(ke),Mn}clear(ke){const Ce=Object.keys(this);let $n=Ce.length,Mn=!1;for(;$n--;){const Qn=Ce[$n];(!ke||matchHeaderValue(this,this[Qn],Qn,ke,!0))&&(delete this[Qn],Mn=!0)}return Mn}normalize(ke){const Ce=this,$n={};return utils$1.forEach(this,(Mn,Qn)=>{const Vn=utils$1.findKey($n,Qn);if(Vn){Ce[Vn]=normalizeValue(Mn),delete Ce[Qn];return}const qn=ke?formatHeader(Qn):String(Qn).trim();qn!==Qn&&delete Ce[Qn],Ce[qn]=normalizeValue(Mn),$n[qn]=!0}),this}concat(...ke){return this.constructor.concat(this,...ke)}toJSON(ke){const Ce=Object.create(null);return utils$1.forEach(this,($n,Mn)=>{$n!=null&&$n!==!1&&(Ce[Mn]=ke&&utils$1.isArray($n)?$n.join(", "):$n)}),Ce}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([ke,Ce])=>ke+": "+Ce).join(` `)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(ke){return ke instanceof this?ke:new this(ke)}static concat(ke,...Ce){const $n=new this(ke);return Ce.forEach(Mn=>$n.set(Mn)),$n}static accessor(ke){const $n=(this[$internals]=this[$internals]={accessors:{}}).accessors,Mn=this.prototype;function Qn(Vn){const qn=normalizeHeader(Vn);$n[qn]||(buildAccessors(Mn,Vn),$n[qn]=!0)}return utils$1.isArray(ke)?ke.forEach(Qn):Qn(ke),this}}AxiosHeaders.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);utils$1.reduceDescriptors(AxiosHeaders.prototype,({value:_n},ke)=>{let Ce=ke[0].toUpperCase()+ke.slice(1);return{get:()=>_n,set($n){this[Ce]=$n}}});utils$1.freezeMethods(AxiosHeaders);function transformData(_n,ke){const Ce=this||defaults$4,$n=ke||Ce,Mn=AxiosHeaders.from($n.headers);let Qn=$n.data;return utils$1.forEach(_n,function(qn){Qn=qn.call(Ce,Qn,Mn.normalize(),ke?ke.status:void 0)}),Mn.normalize(),Qn}function isCancel(_n){return!!(_n&&_n.__CANCEL__)}function CanceledError(_n,ke,Ce){AxiosError.call(this,_n??"canceled",AxiosError.ERR_CANCELED,ke,Ce),this.name="CanceledError"}utils$1.inherits(CanceledError,AxiosError,{__CANCEL__:!0});function settle(_n,ke,Ce){const $n=Ce.config.validateStatus;!Ce.status||!$n||$n(Ce.status)?_n(Ce):ke(new AxiosError("Request failed with status code "+Ce.status,[AxiosError.ERR_BAD_REQUEST,AxiosError.ERR_BAD_RESPONSE][Math.floor(Ce.status/100)-4],Ce.config,Ce.request,Ce))}function parseProtocol(_n){const ke=/^([-+\w]{1,25})(:?\/\/|:)/.exec(_n);return ke&&ke[1]||""}function speedometer(_n,ke){_n=_n||10;const Ce=new Array(_n),$n=new Array(_n);let Mn=0,Qn=0,Vn;return ke=ke!==void 0?ke:1e3,function(Zn){const jn=Date.now(),Xn=$n[Qn];Vn||(Vn=jn),Ce[Mn]=Zn,$n[Mn]=jn;let zn=Qn,Hn=0;for(;zn!==Mn;)Hn+=Ce[zn++],zn=zn%_n;if(Mn=(Mn+1)%_n,Mn===Qn&&(Qn=(Qn+1)%_n),jn-Vn{Ce=Xn,Mn=null,Qn&&(clearTimeout(Qn),Qn=null),_n.apply(null,jn)};return[(...jn)=>{const Xn=Date.now(),zn=Xn-Ce;zn>=$n?Vn(jn,Xn):(Mn=jn,Qn||(Qn=setTimeout(()=>{Qn=null,Vn(Mn)},$n-zn)))},()=>Mn&&Vn(Mn)]}const progressEventReducer=(_n,ke,Ce=3)=>{let $n=0;const Mn=speedometer(50,250);return throttle$1(Qn=>{const Vn=Qn.loaded,qn=Qn.lengthComputable?Qn.total:void 0,Zn=Vn-$n,jn=Mn(Zn),Xn=Vn<=qn;$n=Vn;const zn={loaded:Vn,total:qn,progress:qn?Vn/qn:void 0,bytes:Zn,rate:jn||void 0,estimated:jn&&qn&&Xn?(qn-Vn)/jn:void 0,event:Qn,lengthComputable:qn!=null,[ke?"download":"upload"]:!0};_n(zn)},Ce)},progressEventDecorator=(_n,ke)=>{const Ce=_n!=null;return[$n=>ke[0]({lengthComputable:Ce,total:_n,loaded:$n}),ke[1]]},asyncDecorator=_n=>(...ke)=>utils$1.asap(()=>_n(...ke)),isURLSameOrigin=platform.hasStandardBrowserEnv?function(){const ke=platform.navigator&&/(msie|trident)/i.test(platform.navigator.userAgent),Ce=document.createElement("a");let $n;function Mn(Qn){let Vn=Qn;return ke&&(Ce.setAttribute("href",Vn),Vn=Ce.href),Ce.setAttribute("href",Vn),{href:Ce.href,protocol:Ce.protocol?Ce.protocol.replace(/:$/,""):"",host:Ce.host,search:Ce.search?Ce.search.replace(/^\?/,""):"",hash:Ce.hash?Ce.hash.replace(/^#/,""):"",hostname:Ce.hostname,port:Ce.port,pathname:Ce.pathname.charAt(0)==="/"?Ce.pathname:"/"+Ce.pathname}}return $n=Mn(window.location.href),function(Vn){const qn=utils$1.isString(Vn)?Mn(Vn):Vn;return qn.protocol===$n.protocol&&qn.host===$n.host}}():function(){return function(){return!0}}(),cookies=platform.hasStandardBrowserEnv?{write(_n,ke,Ce,$n,Mn,Qn){const Vn=[_n+"="+encodeURIComponent(ke)];utils$1.isNumber(Ce)&&Vn.push("expires="+new Date(Ce).toGMTString()),utils$1.isString($n)&&Vn.push("path="+$n),utils$1.isString(Mn)&&Vn.push("domain="+Mn),Qn===!0&&Vn.push("secure"),document.cookie=Vn.join("; ")},read(_n){const ke=document.cookie.match(new RegExp("(^|;\\s*)("+_n+")=([^;]*)"));return ke?decodeURIComponent(ke[3]):null},remove(_n){this.write(_n,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function isAbsoluteURL(_n){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(_n)}function combineURLs(_n,ke){return ke?_n.replace(/\/?\/$/,"")+"/"+ke.replace(/^\/+/,""):_n}function buildFullPath(_n,ke){return _n&&!isAbsoluteURL(ke)?combineURLs(_n,ke):ke}const headersToObject=_n=>_n instanceof AxiosHeaders?{..._n}:_n;function mergeConfig(_n,ke){ke=ke||{};const Ce={};function $n(jn,Xn,zn){return utils$1.isPlainObject(jn)&&utils$1.isPlainObject(Xn)?utils$1.merge.call({caseless:zn},jn,Xn):utils$1.isPlainObject(Xn)?utils$1.merge({},Xn):utils$1.isArray(Xn)?Xn.slice():Xn}function Mn(jn,Xn,zn){if(utils$1.isUndefined(Xn)){if(!utils$1.isUndefined(jn))return $n(void 0,jn,zn)}else return $n(jn,Xn,zn)}function Qn(jn,Xn){if(!utils$1.isUndefined(Xn))return $n(void 0,Xn)}function Vn(jn,Xn){if(utils$1.isUndefined(Xn)){if(!utils$1.isUndefined(jn))return $n(void 0,jn)}else return $n(void 0,Xn)}function qn(jn,Xn,zn){if(zn in ke)return $n(jn,Xn);if(zn in _n)return $n(void 0,jn)}const Zn={url:Qn,method:Qn,data:Qn,baseURL:Vn,transformRequest:Vn,transformResponse:Vn,paramsSerializer:Vn,timeout:Vn,timeoutMessage:Vn,withCredentials:Vn,withXSRFToken:Vn,adapter:Vn,responseType:Vn,xsrfCookieName:Vn,xsrfHeaderName:Vn,onUploadProgress:Vn,onDownloadProgress:Vn,decompress:Vn,maxContentLength:Vn,maxBodyLength:Vn,beforeRedirect:Vn,transport:Vn,httpAgent:Vn,httpsAgent:Vn,cancelToken:Vn,socketPath:Vn,responseEncoding:Vn,validateStatus:qn,headers:(jn,Xn)=>Mn(headersToObject(jn),headersToObject(Xn),!0)};return utils$1.forEach(Object.keys(Object.assign({},_n,ke)),function(Xn){const zn=Zn[Xn]||Mn,Hn=zn(_n[Xn],ke[Xn],Xn);utils$1.isUndefined(Hn)&&zn!==qn||(Ce[Xn]=Hn)}),Ce}const resolveConfig$1=_n=>{const ke=mergeConfig({},_n);let{data:Ce,withXSRFToken:$n,xsrfHeaderName:Mn,xsrfCookieName:Qn,headers:Vn,auth:qn}=ke;ke.headers=Vn=AxiosHeaders.from(Vn),ke.url=buildURL(buildFullPath(ke.baseURL,ke.url),_n.params,_n.paramsSerializer),qn&&Vn.set("Authorization","Basic "+btoa((qn.username||"")+":"+(qn.password?unescape(encodeURIComponent(qn.password)):"")));let Zn;if(utils$1.isFormData(Ce)){if(platform.hasStandardBrowserEnv||platform.hasStandardBrowserWebWorkerEnv)Vn.setContentType(void 0);else if((Zn=Vn.getContentType())!==!1){const[jn,...Xn]=Zn?Zn.split(";").map(zn=>zn.trim()).filter(Boolean):[];Vn.setContentType([jn||"multipart/form-data",...Xn].join("; "))}}if(platform.hasStandardBrowserEnv&&($n&&utils$1.isFunction($n)&&($n=$n(ke)),$n||$n!==!1&&isURLSameOrigin(ke.url))){const jn=Mn&&Qn&&cookies.read(Qn);jn&&Vn.set(Mn,jn)}return ke},isXHRAdapterSupported=typeof XMLHttpRequest<"u",xhrAdapter=isXHRAdapterSupported&&function(_n){return new Promise(function(Ce,$n){const Mn=resolveConfig$1(_n);let Qn=Mn.data;const Vn=AxiosHeaders.from(Mn.headers).normalize();let{responseType:qn,onUploadProgress:Zn,onDownloadProgress:jn}=Mn,Xn,zn,Hn,Wn,Yn;function Un(){Wn&&Wn(),Yn&&Yn(),Mn.cancelToken&&Mn.cancelToken.unsubscribe(Xn),Mn.signal&&Mn.signal.removeEventListener("abort",Xn)}let Gn=new XMLHttpRequest;Gn.open(Mn.method.toUpperCase(),Mn.url,!0),Gn.timeout=Mn.timeout;function Kn(){if(!Gn)return;const tr=AxiosHeaders.from("getAllResponseHeaders"in Gn&&Gn.getAllResponseHeaders()),er={data:!qn||qn==="text"||qn==="json"?Gn.responseText:Gn.response,status:Gn.status,statusText:Gn.statusText,headers:tr,config:_n,request:Gn};settle(function(or){Ce(or),Un()},function(or){$n(or),Un()},er),Gn=null}"onloadend"in Gn?Gn.onloadend=Kn:Gn.onreadystatechange=function(){!Gn||Gn.readyState!==4||Gn.status===0&&!(Gn.responseURL&&Gn.responseURL.indexOf("file:")===0)||setTimeout(Kn)},Gn.onabort=function(){Gn&&($n(new AxiosError("Request aborted",AxiosError.ECONNABORTED,_n,Gn)),Gn=null)},Gn.onerror=function(){$n(new AxiosError("Network Error",AxiosError.ERR_NETWORK,_n,Gn)),Gn=null},Gn.ontimeout=function(){let nr=Mn.timeout?"timeout of "+Mn.timeout+"ms exceeded":"timeout exceeded";const er=Mn.transitional||transitionalDefaults;Mn.timeoutErrorMessage&&(nr=Mn.timeoutErrorMessage),$n(new AxiosError(nr,er.clarifyTimeoutError?AxiosError.ETIMEDOUT:AxiosError.ECONNABORTED,_n,Gn)),Gn=null},Qn===void 0&&Vn.setContentType(null),"setRequestHeader"in Gn&&utils$1.forEach(Vn.toJSON(),function(nr,er){Gn.setRequestHeader(er,nr)}),utils$1.isUndefined(Mn.withCredentials)||(Gn.withCredentials=!!Mn.withCredentials),qn&&qn!=="json"&&(Gn.responseType=Mn.responseType),jn&&([Hn,Yn]=progressEventReducer(jn,!0),Gn.addEventListener("progress",Hn)),Zn&&Gn.upload&&([zn,Wn]=progressEventReducer(Zn),Gn.upload.addEventListener("progress",zn),Gn.upload.addEventListener("loadend",Wn)),(Mn.cancelToken||Mn.signal)&&(Xn=tr=>{Gn&&($n(!tr||tr.type?new CanceledError(null,_n,Gn):tr),Gn.abort(),Gn=null)},Mn.cancelToken&&Mn.cancelToken.subscribe(Xn),Mn.signal&&(Mn.signal.aborted?Xn():Mn.signal.addEventListener("abort",Xn)));const Jn=parseProtocol(Mn.url);if(Jn&&platform.protocols.indexOf(Jn)===-1){$n(new AxiosError("Unsupported protocol "+Jn+":",AxiosError.ERR_BAD_REQUEST,_n));return}Gn.send(Qn||null)})},composeSignals=(_n,ke)=>{const{length:Ce}=_n=_n?_n.filter(Boolean):[];if(ke||Ce){let $n=new AbortController,Mn;const Qn=function(jn){if(!Mn){Mn=!0,qn();const Xn=jn instanceof Error?jn:this.reason;$n.abort(Xn instanceof AxiosError?Xn:new CanceledError(Xn instanceof Error?Xn.message:Xn))}};let Vn=ke&&setTimeout(()=>{Vn=null,Qn(new AxiosError(`timeout ${ke} of ms exceeded`,AxiosError.ETIMEDOUT))},ke);const qn=()=>{_n&&(Vn&&clearTimeout(Vn),Vn=null,_n.forEach(jn=>{jn.unsubscribe?jn.unsubscribe(Qn):jn.removeEventListener("abort",Qn)}),_n=null)};_n.forEach(jn=>jn.addEventListener("abort",Qn));const{signal:Zn}=$n;return Zn.unsubscribe=()=>utils$1.asap(qn),Zn}},streamChunk=function*(_n,ke){let Ce=_n.byteLength;if(Ce{const Mn=readBytes(_n,ke);let Qn=0,Vn,qn=Zn=>{Vn||(Vn=!0,$n&&$n(Zn))};return new ReadableStream({async pull(Zn){try{const{done:jn,value:Xn}=await Mn.next();if(jn){qn(),Zn.close();return}let zn=Xn.byteLength;if(Ce){let Hn=Qn+=zn;Ce(Hn)}Zn.enqueue(new Uint8Array(Xn))}catch(jn){throw qn(jn),jn}},cancel(Zn){return qn(Zn),Mn.return()}},{highWaterMark:2})},isFetchSupported=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",isReadableStreamSupported=isFetchSupported&&typeof ReadableStream=="function",encodeText=isFetchSupported&&(typeof TextEncoder=="function"?(_n=>ke=>_n.encode(ke))(new TextEncoder):async _n=>new Uint8Array(await new Response(_n).arrayBuffer())),test=(_n,...ke)=>{try{return!!_n(...ke)}catch{return!1}},supportsRequestStream=isReadableStreamSupported&&test(()=>{let _n=!1;const ke=new Request(platform.origin,{body:new ReadableStream,method:"POST",get duplex(){return _n=!0,"half"}}).headers.has("Content-Type");return _n&&!ke}),DEFAULT_CHUNK_SIZE=64*1024,supportsResponseStream=isReadableStreamSupported&&test(()=>utils$1.isReadableStream(new Response("").body)),resolvers={stream:supportsResponseStream&&(_n=>_n.body)};isFetchSupported&&(_n=>{["text","arrayBuffer","blob","formData","stream"].forEach(ke=>{!resolvers[ke]&&(resolvers[ke]=utils$1.isFunction(_n[ke])?Ce=>Ce[ke]():(Ce,$n)=>{throw new AxiosError(`Response type '${ke}' is not supported`,AxiosError.ERR_NOT_SUPPORT,$n)})})})(new Response);const getBodyLength=async _n=>{if(_n==null)return 0;if(utils$1.isBlob(_n))return _n.size;if(utils$1.isSpecCompliantForm(_n))return(await new Request(platform.origin,{method:"POST",body:_n}).arrayBuffer()).byteLength;if(utils$1.isArrayBufferView(_n)||utils$1.isArrayBuffer(_n))return _n.byteLength;if(utils$1.isURLSearchParams(_n)&&(_n=_n+""),utils$1.isString(_n))return(await encodeText(_n)).byteLength},resolveBodyLength=async(_n,ke)=>{const Ce=utils$1.toFiniteNumber(_n.getContentLength());return Ce??getBodyLength(ke)},fetchAdapter=isFetchSupported&&(async _n=>{let{url:ke,method:Ce,data:$n,signal:Mn,cancelToken:Qn,timeout:Vn,onDownloadProgress:qn,onUploadProgress:Zn,responseType:jn,headers:Xn,withCredentials:zn="same-origin",fetchOptions:Hn}=resolveConfig$1(_n);jn=jn?(jn+"").toLowerCase():"text";let Wn=composeSignals([Mn,Qn&&Qn.toAbortSignal()],Vn),Yn;const Un=Wn&&Wn.unsubscribe&&(()=>{Wn.unsubscribe()});let Gn;try{if(Zn&&supportsRequestStream&&Ce!=="get"&&Ce!=="head"&&(Gn=await resolveBodyLength(Xn,$n))!==0){let er=new Request(ke,{method:"POST",body:$n,duplex:"half"}),rr;if(utils$1.isFormData($n)&&(rr=er.headers.get("content-type"))&&Xn.setContentType(rr),er.body){const[or,ir]=progressEventDecorator(Gn,progressEventReducer(asyncDecorator(Zn)));$n=trackStream(er.body,DEFAULT_CHUNK_SIZE,or,ir)}}utils$1.isString(zn)||(zn=zn?"include":"omit");const Kn="credentials"in Request.prototype;Yn=new Request(ke,{...Hn,signal:Wn,method:Ce.toUpperCase(),headers:Xn.normalize().toJSON(),body:$n,duplex:"half",credentials:Kn?zn:void 0});let Jn=await fetch(Yn);const tr=supportsResponseStream&&(jn==="stream"||jn==="response");if(supportsResponseStream&&(qn||tr&&Un)){const er={};["status","statusText","headers"].forEach(sr=>{er[sr]=Jn[sr]});const rr=utils$1.toFiniteNumber(Jn.headers.get("content-length")),[or,ir]=qn&&progressEventDecorator(rr,progressEventReducer(asyncDecorator(qn),!0))||[];Jn=new Response(trackStream(Jn.body,DEFAULT_CHUNK_SIZE,or,()=>{ir&&ir(),Un&&Un()}),er)}jn=jn||"text";let nr=await resolvers[utils$1.findKey(resolvers,jn)||"text"](Jn,_n);return!tr&&Un&&Un(),await new Promise((er,rr)=>{settle(er,rr,{data:nr,headers:AxiosHeaders.from(Jn.headers),status:Jn.status,statusText:Jn.statusText,config:_n,request:Yn})})}catch(Kn){throw Un&&Un(),Kn&&Kn.name==="TypeError"&&/fetch/i.test(Kn.message)?Object.assign(new AxiosError("Network Error",AxiosError.ERR_NETWORK,_n,Yn),{cause:Kn.cause||Kn}):AxiosError.from(Kn,Kn&&Kn.code,_n,Yn)}}),knownAdapters={http:httpAdapter,xhr:xhrAdapter,fetch:fetchAdapter};utils$1.forEach(knownAdapters,(_n,ke)=>{if(_n){try{Object.defineProperty(_n,"name",{value:ke})}catch{}Object.defineProperty(_n,"adapterName",{value:ke})}});const renderReason=_n=>`- ${_n}`,isResolvedHandle=_n=>utils$1.isFunction(_n)||_n===null||_n===!1,adapters={getAdapter:_n=>{_n=utils$1.isArray(_n)?_n:[_n];const{length:ke}=_n;let Ce,$n;const Mn={};for(let Qn=0;Qn`adapter ${qn} `+(Zn===!1?"is not supported by the environment":"is not available in the build"));let Vn=ke?Qn.length>1?`since : `+Qn.map(renderReason).join(` `):" "+renderReason(Qn[0]):"as no adapter specified";throw new AxiosError("There is no suitable adapter to dispatch the request "+Vn,"ERR_NOT_SUPPORT")}return $n},adapters:knownAdapters};function throwIfCancellationRequested(_n){if(_n.cancelToken&&_n.cancelToken.throwIfRequested(),_n.signal&&_n.signal.aborted)throw new CanceledError(null,_n)}function dispatchRequest(_n){return throwIfCancellationRequested(_n),_n.headers=AxiosHeaders.from(_n.headers),_n.data=transformData.call(_n,_n.transformRequest),["post","put","patch"].indexOf(_n.method)!==-1&&_n.headers.setContentType("application/x-www-form-urlencoded",!1),adapters.getAdapter(_n.adapter||defaults$4.adapter)(_n).then(function($n){return throwIfCancellationRequested(_n),$n.data=transformData.call(_n,_n.transformResponse,$n),$n.headers=AxiosHeaders.from($n.headers),$n},function($n){return isCancel($n)||(throwIfCancellationRequested(_n),$n&&$n.response&&($n.response.data=transformData.call(_n,_n.transformResponse,$n.response),$n.response.headers=AxiosHeaders.from($n.response.headers))),Promise.reject($n)})}const VERSION="1.7.7",validators$1={};["object","boolean","number","function","string","symbol"].forEach((_n,ke)=>{validators$1[_n]=function($n){return typeof $n===_n||"a"+(ke<1?"n ":" ")+_n}});const deprecatedWarnings={};validators$1.transitional=function(ke,Ce,$n){function Mn(Qn,Vn){return"[Axios v"+VERSION+"] Transitional option '"+Qn+"'"+Vn+($n?". "+$n:"")}return(Qn,Vn,qn)=>{if(ke===!1)throw new AxiosError(Mn(Vn," has been removed"+(Ce?" in "+Ce:"")),AxiosError.ERR_DEPRECATED);return Ce&&!deprecatedWarnings[Vn]&&(deprecatedWarnings[Vn]=!0,console.warn(Mn(Vn," has been deprecated since v"+Ce+" and will be removed in the near future"))),ke?ke(Qn,Vn,qn):!0}};function assertOptions(_n,ke,Ce){if(typeof _n!="object")throw new AxiosError("options must be an object",AxiosError.ERR_BAD_OPTION_VALUE);const $n=Object.keys(_n);let Mn=$n.length;for(;Mn-- >0;){const Qn=$n[Mn],Vn=ke[Qn];if(Vn){const qn=_n[Qn],Zn=qn===void 0||Vn(qn,Qn,_n);if(Zn!==!0)throw new AxiosError("option "+Qn+" must be "+Zn,AxiosError.ERR_BAD_OPTION_VALUE);continue}if(Ce!==!0)throw new AxiosError("Unknown option "+Qn,AxiosError.ERR_BAD_OPTION)}}const validator={assertOptions,validators:validators$1},validators=validator.validators;class Axios{constructor(ke){this.defaults=ke,this.interceptors={request:new InterceptorManager,response:new InterceptorManager}}async request(ke,Ce){try{return await this._request(ke,Ce)}catch($n){if($n instanceof Error){let Mn;Error.captureStackTrace?Error.captureStackTrace(Mn={}):Mn=new Error;const Qn=Mn.stack?Mn.stack.replace(/^.+\n/,""):"";try{$n.stack?Qn&&!String($n.stack).endsWith(Qn.replace(/^.+\n.+\n/,""))&&($n.stack+=` `+Qn):$n.stack=Qn}catch{}}throw $n}}_request(ke,Ce){typeof ke=="string"?(Ce=Ce||{},Ce.url=ke):Ce=ke||{},Ce=mergeConfig(this.defaults,Ce);const{transitional:$n,paramsSerializer:Mn,headers:Qn}=Ce;$n!==void 0&&validator.assertOptions($n,{silentJSONParsing:validators.transitional(validators.boolean),forcedJSONParsing:validators.transitional(validators.boolean),clarifyTimeoutError:validators.transitional(validators.boolean)},!1),Mn!=null&&(utils$1.isFunction(Mn)?Ce.paramsSerializer={serialize:Mn}:validator.assertOptions(Mn,{encode:validators.function,serialize:validators.function},!0)),Ce.method=(Ce.method||this.defaults.method||"get").toLowerCase();let Vn=Qn&&utils$1.merge(Qn.common,Qn[Ce.method]);Qn&&utils$1.forEach(["delete","get","head","post","put","patch","common"],Yn=>{delete Qn[Yn]}),Ce.headers=AxiosHeaders.concat(Vn,Qn);const qn=[];let Zn=!0;this.interceptors.request.forEach(function(Un){typeof Un.runWhen=="function"&&Un.runWhen(Ce)===!1||(Zn=Zn&&Un.synchronous,qn.unshift(Un.fulfilled,Un.rejected))});const jn=[];this.interceptors.response.forEach(function(Un){jn.push(Un.fulfilled,Un.rejected)});let Xn,zn=0,Hn;if(!Zn){const Yn=[dispatchRequest.bind(this),void 0];for(Yn.unshift.apply(Yn,qn),Yn.push.apply(Yn,jn),Hn=Yn.length,Xn=Promise.resolve(Ce);zn{if(!$n._listeners)return;let Qn=$n._listeners.length;for(;Qn-- >0;)$n._listeners[Qn](Mn);$n._listeners=null}),this.promise.then=Mn=>{let Qn;const Vn=new Promise(qn=>{$n.subscribe(qn),Qn=qn}).then(Mn);return Vn.cancel=function(){$n.unsubscribe(Qn)},Vn},ke(function(Qn,Vn,qn){$n.reason||($n.reason=new CanceledError(Qn,Vn,qn),Ce($n.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(ke){if(this.reason){ke(this.reason);return}this._listeners?this._listeners.push(ke):this._listeners=[ke]}unsubscribe(ke){if(!this._listeners)return;const Ce=this._listeners.indexOf(ke);Ce!==-1&&this._listeners.splice(Ce,1)}toAbortSignal(){const ke=new AbortController,Ce=$n=>{ke.abort($n)};return this.subscribe(Ce),ke.signal.unsubscribe=()=>this.unsubscribe(Ce),ke.signal}static source(){let ke;return{token:new CancelToken(function(Mn){ke=Mn}),cancel:ke}}}function spread(_n){return function(Ce){return _n.apply(null,Ce)}}function isAxiosError(_n){return utils$1.isObject(_n)&&_n.isAxiosError===!0}const HttpStatusCode={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(HttpStatusCode).forEach(([_n,ke])=>{HttpStatusCode[ke]=_n});function createInstance(_n){const ke=new Axios(_n),Ce=bind$1(Axios.prototype.request,ke);return utils$1.extend(Ce,Axios.prototype,ke,{allOwnKeys:!0}),utils$1.extend(Ce,ke,null,{allOwnKeys:!0}),Ce.create=function(Mn){return createInstance(mergeConfig(_n,Mn))},Ce}const axios$1=createInstance(defaults$4);axios$1.Axios=Axios;axios$1.CanceledError=CanceledError;axios$1.CancelToken=CancelToken;axios$1.isCancel=isCancel;axios$1.VERSION=VERSION;axios$1.toFormData=toFormData;axios$1.AxiosError=AxiosError;axios$1.Cancel=axios$1.CanceledError;axios$1.all=function(ke){return Promise.all(ke)};axios$1.spread=spread;axios$1.isAxiosError=isAxiosError;axios$1.mergeConfig=mergeConfig;axios$1.AxiosHeaders=AxiosHeaders;axios$1.formToJSON=_n=>formDataToJSON(utils$1.isHTMLForm(_n)?new FormData(_n):_n);axios$1.getAdapter=adapters.getAdapter;axios$1.HttpStatusCode=HttpStatusCode;axios$1.default=axios$1;function loadHtmxFormsBehaviour(){document.querySelectorAll(".form").forEach(_n=>{initHtmxForm(_n)})}function initHtmxForm(_n){_n.addEventListener("htmx:responseError",Ce=>{_n.querySelector(".form-errors").innerHTML=Ce.detail.xhr.response});const ke=_n.querySelector("form");ke.getAttribute("hx-redirect")&&_n.addEventListener("htmx:afterOnLoad",Ce=>{if(Ce.detail.successful)return window.location.href=ke.getAttribute("hx-redirect")})}loadHtmxFormsBehaviour();window.axios=axios$1;const axiosInstance=axios$1;window.axios.defaults.headers.common["X-Requested-With"]="XMLHttpRequest";window.axios.interceptors.request.use(function(_n){let ke;ke=document.querySelectorAll(".btn-spinner");for(let Ce=0;Ce_n;function assign(_n,ke){for(const Ce in ke)_n[Ce]=ke[Ce];return _n}function run(_n){return _n()}function blank_object(){return Object.create(null)}function run_all(_n){_n.forEach(run)}function is_function(_n){return typeof _n=="function"}function safe_not_equal(_n,ke){return _n!=_n?ke==ke:_n!==ke||_n&&typeof _n=="object"||typeof _n=="function"}let src_url_equal_anchor;function src_url_equal(_n,ke){return _n===ke?!0:(src_url_equal_anchor||(src_url_equal_anchor=document.createElement("a")),src_url_equal_anchor.href=ke,_n===src_url_equal_anchor.href)}function is_empty(_n){return Object.keys(_n).length===0}function create_slot(_n,ke,Ce,$n){if(_n){const Mn=get_slot_context(_n,ke,Ce,$n);return _n[0](Mn)}}function get_slot_context(_n,ke,Ce,$n){return _n[1]&&$n?assign(Ce.ctx.slice(),_n[1]($n(ke))):Ce.ctx}function get_slot_changes(_n,ke,Ce,$n){if(_n[2]&&$n){const Mn=_n[2]($n(Ce));if(ke.dirty===void 0)return Mn;if(typeof Mn=="object"){const Qn=[],Vn=Math.max(ke.dirty.length,Mn.length);for(let qn=0;qn32){const ke=[],Ce=_n.ctx.length/32;for(let $n=0;$nwindow.performance.now():()=>Date.now(),raf=is_client?_n=>requestAnimationFrame(_n):noop;const tasks=new Set;function run_tasks(_n){tasks.forEach(ke=>{ke.c(_n)||(tasks.delete(ke),ke.f())}),tasks.size!==0&&raf(run_tasks)}function loop(_n){let ke;return tasks.size===0&&raf(run_tasks),{promise:new Promise(Ce=>{tasks.add(ke={c:_n,f:Ce})}),abort(){tasks.delete(ke)}}}const globals=typeof window<"u"?window:typeof globalThis<"u"?globalThis:global;function append(_n,ke){_n.appendChild(ke)}function get_root_for_style(_n){if(!_n)return document;const ke=_n.getRootNode?_n.getRootNode():_n.ownerDocument;return ke&&ke.host?ke:_n.ownerDocument}function append_empty_stylesheet(_n){const ke=element("style");return ke.textContent="/* empty */",append_stylesheet(get_root_for_style(_n),ke),ke.sheet}function append_stylesheet(_n,ke){return append(_n.head||_n,ke),ke.sheet}function insert$1(_n,ke,Ce){_n.insertBefore(ke,Ce||null)}function detach(_n){_n.parentNode&&_n.parentNode.removeChild(_n)}function destroy_each(_n,ke){for(let Ce=0;Ce<_n.length;Ce+=1)_n[Ce]&&_n[Ce].d(ke)}function element(_n){return document.createElement(_n)}function svg_element(_n){return document.createElementNS("http://www.w3.org/2000/svg",_n)}function text(_n){return document.createTextNode(_n)}function space$3(){return text(" ")}function empty$1(){return text("")}function listen(_n,ke,Ce,$n){return _n.addEventListener(ke,Ce,$n),()=>_n.removeEventListener(ke,Ce,$n)}function prevent_default(_n){return function(ke){return ke.preventDefault(),_n.call(this,ke)}}function attr(_n,ke,Ce){Ce==null?_n.removeAttribute(ke):_n.getAttribute(ke)!==Ce&&_n.setAttribute(ke,Ce)}function set_custom_element_data(_n,ke,Ce){const $n=ke.toLowerCase();$n in _n?_n[$n]=typeof _n[$n]=="boolean"&&Ce===""?!0:Ce:ke in _n?_n[ke]=typeof _n[ke]=="boolean"&&Ce===""?!0:Ce:attr(_n,ke,Ce)}function init_binding_group(_n){let ke;return{p(...Ce){ke=Ce,ke.forEach($n=>_n.push($n))},r(){ke.forEach(Ce=>_n.splice(_n.indexOf(Ce),1))}}}function to_number(_n){return _n===""?null:+_n}function children(_n){return Array.from(_n.childNodes)}function set_data(_n,ke){ke=""+ke,_n.data!==ke&&(_n.data=ke)}function set_input_value(_n,ke){_n.value=ke??""}function set_style(_n,ke,Ce,$n){Ce==null?_n.style.removeProperty(ke):_n.style.setProperty(ke,Ce,"")}function select_option(_n,ke,Ce){for(let $n=0;$n<_n.options.length;$n+=1){const Mn=_n.options[$n];if(Mn.__value===ke){Mn.selected=!0;return}}(!Ce||ke!==void 0)&&(_n.selectedIndex=-1)}function select_value(_n){const ke=_n.querySelector(":checked");return ke&&ke.__value}function toggle_class(_n,ke,Ce){_n.classList.toggle(ke,!!Ce)}function custom_event(_n,ke,{bubbles:Ce=!1,cancelable:$n=!1}={}){return new CustomEvent(_n,{detail:ke,bubbles:Ce,cancelable:$n})}function construct_svelte_component(_n,ke){return new _n(ke)}const managed_styles=new Map;let active=0;function hash$1(_n){let ke=5381,Ce=_n.length;for(;Ce--;)ke=(ke<<5)-ke^_n.charCodeAt(Ce);return ke>>>0}function create_style_information(_n,ke){const Ce={stylesheet:append_empty_stylesheet(ke),rules:{}};return managed_styles.set(_n,Ce),Ce}function create_rule(_n,ke,Ce,$n,Mn,Qn,Vn,qn=0){const Zn=16.666/$n;let jn=`{ `;for(let Gn=0;Gn<=1;Gn+=Zn){const Kn=ke+(Ce-ke)*Qn(Gn);jn+=Gn*100+`%{${Vn(Kn,1-Kn)}} `}const Xn=jn+`100% {${Vn(Ce,1-Ce)}} }`,zn=`__svelte_${hash$1(Xn)}_${qn}`,Hn=get_root_for_style(_n),{stylesheet:Wn,rules:Yn}=managed_styles.get(Hn)||create_style_information(Hn,_n);Yn[zn]||(Yn[zn]=!0,Wn.insertRule(`@keyframes ${zn} ${Xn}`,Wn.cssRules.length));const Un=_n.style.animation||"";return _n.style.animation=`${Un?`${Un}, `:""}${zn} ${$n}ms linear ${Mn}ms 1 both`,active+=1,zn}function delete_rule(_n,ke){const Ce=(_n.style.animation||"").split(", "),$n=Ce.filter(ke?Qn=>Qn.indexOf(ke)<0:Qn=>Qn.indexOf("__svelte")===-1),Mn=Ce.length-$n.length;Mn&&(_n.style.animation=$n.join(", "),active-=Mn,active||clear_rules())}function clear_rules(){raf(()=>{active||(managed_styles.forEach(_n=>{const{ownerNode:ke}=_n.stylesheet;ke&&detach(ke)}),managed_styles.clear())})}let current_component;function set_current_component(_n){current_component=_n}function get_current_component(){if(!current_component)throw new Error("Function called outside component initialization");return current_component}function onMount(_n){get_current_component().$$.on_mount.push(_n)}function afterUpdate(_n){get_current_component().$$.after_update.push(_n)}function onDestroy(_n){get_current_component().$$.on_destroy.push(_n)}function createEventDispatcher(){const _n=get_current_component();return(ke,Ce,{cancelable:$n=!1}={})=>{const Mn=_n.$$.callbacks[ke];if(Mn){const Qn=custom_event(ke,Ce,{cancelable:$n});return Mn.slice().forEach(Vn=>{Vn.call(_n,Qn)}),!Qn.defaultPrevented}return!0}}function setContext(_n,ke){return get_current_component().$$.context.set(_n,ke),ke}function getContext$1(_n){return get_current_component().$$.context.get(_n)}function bubble(_n,ke){const Ce=_n.$$.callbacks[ke.type];Ce&&Ce.slice().forEach($n=>$n.call(this,ke))}const dirty_components=[],binding_callbacks=[];let render_callbacks=[];const flush_callbacks=[],resolved_promise=Promise.resolve();let update_scheduled=!1;function schedule_update(){update_scheduled||(update_scheduled=!0,resolved_promise.then(flush))}function add_render_callback(_n){render_callbacks.push(_n)}function add_flush_callback(_n){flush_callbacks.push(_n)}const seen_callbacks=new Set;let flushidx=0;function flush(){if(flushidx!==0)return;const _n=current_component;do{try{for(;flushidx_n.indexOf($n)===-1?ke.push($n):Ce.push($n)),Ce.forEach($n=>$n()),render_callbacks=ke}let promise;function wait(){return promise||(promise=Promise.resolve(),promise.then(()=>{promise=null})),promise}function dispatch(_n,ke,Ce){_n.dispatchEvent(custom_event(`${ke?"intro":"outro"}${Ce}`))}const outroing=new Set;let outros;function group_outros(){outros={r:0,c:[],p:outros}}function check_outros(){outros.r||run_all(outros.c),outros=outros.p}function transition_in(_n,ke){_n&&_n.i&&(outroing.delete(_n),_n.i(ke))}function transition_out(_n,ke,Ce,$n){if(_n&&_n.o){if(outroing.has(_n))return;outroing.add(_n),outros.c.push(()=>{outroing.delete(_n),$n&&(Ce&&_n.d(1),$n())}),_n.o(ke)}else $n&&$n()}const null_transition={duration:0};function create_bidirectional_transition(_n,ke,Ce,$n){let Qn=ke(_n,Ce,{direction:"both"}),Vn=$n?0:1,qn=null,Zn=null,jn=null,Xn;function zn(){jn&&delete_rule(_n,jn)}function Hn(Yn,Un){const Gn=Yn.b-Vn;return Un*=Math.abs(Gn),{a:Vn,b:Yn.b,d:Gn,duration:Un,start:Yn.start,end:Yn.start+Un,group:Yn.group}}function Wn(Yn){const{delay:Un=0,duration:Gn=300,easing:Kn=identity,tick:Jn=noop,css:tr}=Qn||null_transition,nr={start:now()+Un,b:Yn};Yn||(nr.group=outros,outros.r+=1),"inert"in _n&&(Yn?Xn!==void 0&&(_n.inert=Xn):(Xn=_n.inert,_n.inert=!0)),qn||Zn?Zn=nr:(tr&&(zn(),jn=create_rule(_n,Vn,Yn,Gn,Un,Kn,tr)),Yn&&Jn(0,1),qn=Hn(nr,Gn),add_render_callback(()=>dispatch(_n,Yn,"start")),loop(er=>{if(Zn&&er>Zn.start&&(qn=Hn(Zn,Gn),Zn=null,dispatch(_n,qn.b,"start"),tr&&(zn(),jn=create_rule(_n,Vn,qn.b,qn.duration,0,Kn,Qn.css))),qn){if(er>=qn.end)Jn(Vn=qn.b,1-Vn),dispatch(_n,qn.b,"end"),Zn||(qn.b?zn():--qn.group.r||run_all(qn.group.c)),qn=null;else if(er>=qn.start){const rr=er-qn.start;Vn=qn.a+qn.d*Kn(rr/qn.duration),Jn(Vn,1-Vn)}}return!!(qn||Zn)}))}return{run(Yn){is_function(Qn)?wait().then(()=>{Qn=Qn({direction:Yn?"in":"out"}),Wn(Yn)}):Wn(Yn)},end(){zn(),qn=Zn=null}}}function ensure_array_like(_n){return(_n==null?void 0:_n.length)!==void 0?_n:Array.from(_n)}function destroy_block(_n,ke){_n.d(1),ke.delete(_n.key)}function outro_and_destroy_block(_n,ke){transition_out(_n,1,1,()=>{ke.delete(_n.key)})}function update_keyed_each(_n,ke,Ce,$n,Mn,Qn,Vn,qn,Zn,jn,Xn,zn){let Hn=_n.length,Wn=Qn.length,Yn=Hn;const Un={};for(;Yn--;)Un[_n[Yn].key]=Yn;const Gn=[],Kn=new Map,Jn=new Map,tr=[];for(Yn=Wn;Yn--;){const or=zn(Mn,Qn,Yn),ir=Ce(or);let sr=Vn.get(ir);sr?tr.push(()=>sr.p(or,ke)):(sr=jn(ir,or),sr.c()),Kn.set(ir,Gn[Yn]=sr),ir in Un&&Jn.set(ir,Math.abs(Yn-Un[ir]))}const nr=new Set,er=new Set;function rr(or){transition_in(or,1),or.m(qn,Xn),Vn.set(or.key,or),Xn=or.first,Wn--}for(;Hn&&Wn;){const or=Gn[Wn-1],ir=_n[Hn-1],sr=or.key,cr=ir.key;or===ir?(Xn=or.first,Hn--,Wn--):Kn.has(cr)?!Vn.has(sr)||nr.has(sr)?rr(or):er.has(cr)?Hn--:Jn.get(sr)>Jn.get(cr)?(er.add(sr),rr(or)):(nr.add(cr),Hn--):(Zn(ir,Vn),Hn--)}for(;Hn--;){const or=_n[Hn];Kn.has(or.key)||Zn(or,Vn)}for(;Wn;)rr(Gn[Wn-1]);return run_all(tr),Gn}function get_spread_update(_n,ke){const Ce={},$n={},Mn={$$scope:1};let Qn=_n.length;for(;Qn--;){const Vn=_n[Qn],qn=ke[Qn];if(qn){for(const Zn in Vn)Zn in qn||($n[Zn]=1);for(const Zn in qn)Mn[Zn]||(Ce[Zn]=qn[Zn],Mn[Zn]=1);_n[Qn]=qn}else for(const Zn in Vn)Mn[Zn]=1}for(const Vn in $n)Vn in Ce||(Ce[Vn]=void 0);return Ce}function get_spread_object(_n){return typeof _n=="object"&&_n!==null?_n:{}}function bind(_n,ke,Ce){const $n=_n.$$.props[ke];$n!==void 0&&(_n.$$.bound[$n]=Ce,Ce(_n.$$.ctx[$n]))}function create_component(_n){_n&&_n.c()}function mount_component(_n,ke,Ce){const{fragment:$n,after_update:Mn}=_n.$$;$n&&$n.m(ke,Ce),add_render_callback(()=>{const Qn=_n.$$.on_mount.map(run).filter(is_function);_n.$$.on_destroy?_n.$$.on_destroy.push(...Qn):run_all(Qn),_n.$$.on_mount=[]}),Mn.forEach(add_render_callback)}function destroy_component(_n,ke){const Ce=_n.$$;Ce.fragment!==null&&(flush_render_callbacks(Ce.after_update),run_all(Ce.on_destroy),Ce.fragment&&Ce.fragment.d(ke),Ce.on_destroy=Ce.fragment=null,Ce.ctx=[])}function make_dirty(_n,ke){_n.$$.dirty[0]===-1&&(dirty_components.push(_n),schedule_update(),_n.$$.dirty.fill(0)),_n.$$.dirty[ke/31|0]|=1<{const Yn=Wn.length?Wn[0]:Hn;return jn.ctx&&Mn(jn.ctx[zn],jn.ctx[zn]=Yn)&&(!jn.skip_bound&&jn.bound[zn]&&jn.bound[zn](Yn),Xn&&make_dirty(_n,zn)),Hn}):[],jn.update(),Xn=!0,run_all(jn.before_update),jn.fragment=$n?$n(jn.ctx):!1,ke.target){if(ke.hydrate){const zn=children(ke.target);jn.fragment&&jn.fragment.l(zn),zn.forEach(detach)}else jn.fragment&&jn.fragment.c();ke.intro&&transition_in(_n.$$.fragment),mount_component(_n,ke.target,ke.anchor),flush()}set_current_component(Zn)}class SvelteComponent{constructor(){co(this,"$$");co(this,"$$set")}$destroy(){destroy_component(this,1),this.$destroy=noop}$on(ke,Ce){if(!is_function(Ce))return noop;const $n=this.$$.callbacks[ke]||(this.$$.callbacks[ke]=[]);return $n.push(Ce),()=>{const Mn=$n.indexOf(Ce);Mn!==-1&&$n.splice(Mn,1)}}$set(ke){this.$$set&&!is_empty(ke)&&(this.$$.skip_bound=!0,this.$$set(ke),this.$$.skip_bound=!1)}}const PUBLIC_VERSION="4";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(PUBLIC_VERSION);function create_if_block$U(_n){let ke,Ce,$n,Mn,Qn;return{c(){ke=element("div"),Ce=element("div"),Ce.textContent="Submission Errors",$n=space$3(),Mn=element("div"),Qn=text(_n[0]),attr(Ce,"class","title"),attr(Mn,"class","content"),attr(ke,"class","notice notice-error"),attr(ke,"role","alert")},m(Vn,qn){insert$1(Vn,ke,qn),append(ke,Ce),append(ke,$n),append(ke,Mn),append(Mn,Qn)},p(Vn,qn){qn&1&&set_data(Qn,Vn[0])},d(Vn){Vn&&detach(ke)}}}function create_fragment$1n(_n){let ke,Ce=_n[0]&&create_if_block$U(_n);return{c(){Ce&&Ce.c(),ke=empty$1()},m($n,Mn){Ce&&Ce.m($n,Mn),insert$1($n,ke,Mn)},p($n,[Mn]){$n[0]?Ce?Ce.p($n,Mn):(Ce=create_if_block$U($n),Ce.c(),Ce.m(ke.parentNode,ke)):Ce&&(Ce.d(1),Ce=null)},i:noop,o:noop,d($n){$n&&detach(ke),Ce&&Ce.d($n)}}}function instance$1n(_n,ke,Ce){let{message:$n=""}=ke;return _n.$$set=Mn=>{"message"in Mn&&Ce(0,$n=Mn.message)},[$n]}class ErrorAlert extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$1n,create_fragment$1n,safe_not_equal,{message:0})}}function create_fragment$1m(_n){let ke,Ce,$n,Mn;return{c(){ke=element("button"),Ce=element("span"),$n=space$3(),Mn=text(_n[0]),attr(Ce,"class","spinner-border spinner-border-sm"),attr(Ce,"role","status"),attr(Ce,"aria-hidden","true"),attr(ke,"type","submit"),attr(ke,"class","button secondary btn-spinner"),ke.disabled=_n[1]},m(Qn,Vn){insert$1(Qn,ke,Vn),append(ke,Ce),append(ke,$n),append(ke,Mn)},p(Qn,[Vn]){Vn&1&&set_data(Mn,Qn[0]),Vn&2&&(ke.disabled=Qn[1])},i:noop,o:noop,d(Qn){Qn&&detach(ke)}}}function instance$1m(_n,ke,Ce){let{label:$n=""}=ke,{disabled:Mn=!1}=ke;return _n.$$set=Qn=>{"label"in Qn&&Ce(0,$n=Qn.label),"disabled"in Qn&&Ce(1,Mn=Qn.disabled)},[$n,Mn]}class SpinnerButton extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$1m,create_fragment$1m,safe_not_equal,{label:0,disabled:1})}}function create_fragment$1l(_n){let ke,Ce,$n,Mn,Qn,Vn,qn,Zn,jn,Xn,zn,Hn,Wn,Yn,Un,Gn,Kn,Jn,tr;return Ce=new ErrorAlert({props:{message:_n[2]}}),Gn=new SpinnerButton({props:{label:"Register"}}),{c(){ke=element("div"),create_component(Ce.$$.fragment),$n=space$3(),Mn=element("form"),Qn=element("div"),Vn=element("label"),Vn.textContent="Name",qn=space$3(),Zn=element("input"),jn=space$3(),Xn=element("div"),zn=element("label"),zn.textContent="Email address",Hn=space$3(),Wn=element("input"),Yn=space$3(),Un=element("div"),create_component(Gn.$$.fragment),attr(Vn,"for","name"),attr(Vn,"class","form-label"),attr(Zn,"type","text"),attr(Zn,"class","form-control"),attr(Zn,"id","name"),attr(Qn,"class","mb-3"),attr(zn,"for","email"),attr(zn,"class","form-label"),attr(Wn,"type","email"),attr(Wn,"class","form-control"),attr(Wn,"id","email"),attr(Xn,"class","mb-3"),attr(Un,"class","text-center mt-5 d-block"),attr(ke,"class","wrapper-tiny")},m(nr,er){insert$1(nr,ke,er),mount_component(Ce,ke,null),append(ke,$n),append(ke,Mn),append(Mn,Qn),append(Qn,Vn),append(Qn,qn),append(Qn,Zn),set_input_value(Zn,_n[1]),append(Mn,jn),append(Mn,Xn),append(Xn,zn),append(Xn,Hn),append(Xn,Wn),set_input_value(Wn,_n[0]),append(Mn,Yn),append(Mn,Un),mount_component(Gn,Un,null),Kn=!0,Jn||(tr=[listen(Zn,"input",_n[4]),listen(Wn,"input",_n[5]),listen(Mn,"submit",_n[3])],Jn=!0)},p(nr,[er]){const rr={};er&4&&(rr.message=nr[2]),Ce.$set(rr),er&2&&Zn.value!==nr[1]&&set_input_value(Zn,nr[1]),er&1&&Wn.value!==nr[0]&&set_input_value(Wn,nr[0])},i(nr){Kn||(transition_in(Ce.$$.fragment,nr),transition_in(Gn.$$.fragment,nr),Kn=!0)},o(nr){transition_out(Ce.$$.fragment,nr),transition_out(Gn.$$.fragment,nr),Kn=!1},d(nr){nr&&detach(ke),destroy_component(Ce),destroy_component(Gn),Jn=!1,run_all(tr)}}}function instance$1l(_n,ke,Ce){const $n=getContext$1("channel");let Mn="",{email:Qn=""}=ke,Vn="";function qn(Xn){Xn.preventDefault(),Ce(2,Vn=""),axios.post($n.lucentUrl+"/register",{name:Mn,email:Qn}).then(()=>{window.location=$n.lucentUrl+"/login"}).catch(zn=>{var Hn;Ce(2,Vn=(Hn=zn.response)==null?void 0:Hn.data.error),console.log({errorMessage:Vn})})}function Zn(){Mn=this.value,Ce(1,Mn)}function jn(){Qn=this.value,Ce(0,Qn)}return _n.$$set=Xn=>{"email"in Xn&&Ce(0,Qn=Xn.email)},[Qn,Mn,Vn,qn,Zn,jn]}class Register extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$1l,create_fragment$1l,safe_not_equal,{email:0})}}function create_else_block$p(_n){let ke,Ce,$n,Mn,Qn,Vn,qn,Zn,jn,Xn,zn;return Zn=new SpinnerButton({props:{label:"Login"}}),{c(){ke=element("form"),Ce=element("div"),$n=element("label"),$n.textContent="Email address",Mn=space$3(),Qn=element("input"),Vn=space$3(),qn=element("div"),create_component(Zn.$$.fragment),attr($n,"for","emailaddress"),attr($n,"class","form-label"),attr(Qn,"type","email"),attr(Qn,"class","form-control"),attr(Qn,"id","emailaddress"),Qn.required=!0,attr(Ce,"class","mb-3"),attr(qn,"class","text-center mt-5 d-block")},m(Hn,Wn){insert$1(Hn,ke,Wn),append(ke,Ce),append(Ce,$n),append(Ce,Mn),append(Ce,Qn),set_input_value(Qn,_n[0]),append(ke,Vn),append(ke,qn),mount_component(Zn,qn,null),jn=!0,Xn||(zn=[listen(Qn,"input",_n[3]),listen(ke,"submit",_n[2])],Xn=!0)},p(Hn,Wn){Wn&1&&Qn.value!==Hn[0]&&set_input_value(Qn,Hn[0])},i(Hn){jn||(transition_in(Zn.$$.fragment,Hn),jn=!0)},o(Hn){transition_out(Zn.$$.fragment,Hn),jn=!1},d(Hn){Hn&&detach(ke),destroy_component(Zn),Xn=!1,run_all(zn)}}}function create_if_block$T(_n){let ke,Ce;return{c(){ke=element("div"),Ce=text(_n[1]),attr(ke,"class","alert alert-info"),attr(ke,"role","alert")},m($n,Mn){insert$1($n,ke,Mn),append(ke,Ce)},p($n,Mn){Mn&2&&set_data(Ce,$n[1])},i:noop,o:noop,d($n){$n&&detach(ke)}}}function create_fragment$1k(_n){let ke,Ce,$n,Mn;const Qn=[create_if_block$T,create_else_block$p],Vn=[];function qn(Zn,jn){return Zn[1]?0:1}return Ce=qn(_n),$n=Vn[Ce]=Qn[Ce](_n),{c(){ke=element("div"),$n.c(),attr(ke,"class","wrapper-tiny")},m(Zn,jn){insert$1(Zn,ke,jn),Vn[Ce].m(ke,null),Mn=!0},p(Zn,[jn]){let Xn=Ce;Ce=qn(Zn),Ce===Xn?Vn[Ce].p(Zn,jn):(group_outros(),transition_out(Vn[Xn],1,1,()=>{Vn[Xn]=null}),check_outros(),$n=Vn[Ce],$n?$n.p(Zn,jn):($n=Vn[Ce]=Qn[Ce](Zn),$n.c()),transition_in($n,1),$n.m(ke,null))},i(Zn){Mn||(transition_in($n),Mn=!0)},o(Zn){transition_out($n),Mn=!1},d(Zn){Zn&&detach(ke),Vn[Ce].d()}}}function instance$1k(_n,ke,Ce){const $n=getContext$1("channel");let Mn="",Qn="";function Vn(Zn){Zn.preventDefault(),axios$1.post($n.lucentUrl+"/login",{email:Mn}).then(jn=>{Ce(1,Qn="You will receive an email with a login link")}).catch(jn=>{})}function qn(){Mn=this.value,Ce(0,Mn)}return[Mn,Qn,Vn,qn]}class Login extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$1k,create_fragment$1k,safe_not_equal,{})}}function cubicOut(_n){const ke=_n-1;return ke*ke*ke+1}function fly(_n,{delay:ke=0,duration:Ce=400,easing:$n=cubicOut,x:Mn=0,y:Qn=0,opacity:Vn=0}={}){const qn=getComputedStyle(_n),Zn=+qn.opacity,jn=qn.transform==="none"?"":qn.transform,Xn=Zn*(1-Vn),[zn,Hn]=split_css_unit(Mn),[Wn,Yn]=split_css_unit(Qn);return{delay:ke,duration:Ce,easing:$n,css:(Un,Gn)=>` transform: ${jn} translate(${(1-Un)*zn}${Hn}, ${(1-Un)*Wn}${Yn}); opacity: ${Zn-Xn*Gn}`}}function create_if_block$S(_n){let ke,Ce,$n,Mn,Qn,Vn,qn;return{c(){ke=element("div"),Ce=element("div"),Ce.textContent="Success",$n=space$3(),Mn=element("div"),Qn=text(_n[1]),attr(Ce,"class","title"),attr(Mn,"class","content"),attr(ke,"class","notice notice-success"),attr(ke,"role","alert")},m(Zn,jn){insert$1(Zn,ke,jn),append(ke,Ce),append(ke,$n),append(ke,Mn),append(Mn,Qn),qn=!0},p(Zn,jn){(!qn||jn&2)&&set_data(Qn,Zn[1])},i(Zn){qn||(Zn&&add_render_callback(()=>{qn&&(Vn||(Vn=create_bidirectional_transition(ke,fly,{duration:500},!0)),Vn.run(1))}),qn=!0)},o(Zn){Zn&&(Vn||(Vn=create_bidirectional_transition(ke,fly,{duration:500},!1)),Vn.run(0)),qn=!1},d(Zn){Zn&&detach(ke),Zn&&Vn&&Vn.end()}}}function create_fragment$1j(_n){let ke,Ce=_n[0]&&create_if_block$S(_n);return{c(){Ce&&Ce.c(),ke=empty$1()},m($n,Mn){Ce&&Ce.m($n,Mn),insert$1($n,ke,Mn)},p($n,[Mn]){$n[0]?Ce?(Ce.p($n,Mn),Mn&1&&transition_in(Ce,1)):(Ce=create_if_block$S($n),Ce.c(),transition_in(Ce,1),Ce.m(ke.parentNode,ke)):Ce&&(group_outros(),transition_out(Ce,1,1,()=>{Ce=null}),check_outros())},i($n){transition_in(Ce)},o($n){transition_out(Ce)},d($n){$n&&detach(ke),Ce&&Ce.d($n)}}}function instance$1j(_n,ke,Ce){let $n,Mn;function Qn(Vn="Saved"){Ce(1,$n=Vn),Ce(0,Mn=!0),setTimeout(function(){Ce(0,Mn=!1)},2e3)}return Ce(1,$n="Saved"),Ce(0,Mn=!1),[Mn,$n,Qn]}class SuccessAlert extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$1j,create_fragment$1j,safe_not_equal,{show:2})}get show(){return this.$$.ctx[2]}}function create_fragment$1i(_n){let ke,Ce,$n,Mn,Qn,Vn,qn,Zn,jn,Xn,zn,Hn,Wn,Yn,Un={};return ke=new SuccessAlert({props:Un}),_n[4](ke),zn=new SpinnerButton({props:{label:"Enter"}}),{c(){create_component(ke.$$.fragment),Ce=space$3(),$n=element("div"),Mn=element("form"),Qn=element("div"),Vn=element("h3"),qn=text("Login as "),Zn=text(_n[0]),jn=space$3(),Xn=element("div"),create_component(zn.$$.fragment),attr(Qn,"class","mb-3 text-center"),attr(Xn,"class","text-center mt-5 d-block"),attr($n,"class","wrapper-tiny")},m(Gn,Kn){mount_component(ke,Gn,Kn),insert$1(Gn,Ce,Kn),insert$1(Gn,$n,Kn),append($n,Mn),append(Mn,Qn),append(Qn,Vn),append(Vn,qn),append(Vn,Zn),append(Mn,jn),append(Mn,Xn),mount_component(zn,Xn,null),Hn=!0,Wn||(Yn=listen(Mn,"submit",_n[2]),Wn=!0)},p(Gn,[Kn]){const Jn={};ke.$set(Jn),(!Hn||Kn&1)&&set_data(Zn,Gn[0])},i(Gn){Hn||(transition_in(ke.$$.fragment,Gn),transition_in(zn.$$.fragment,Gn),Hn=!0)},o(Gn){transition_out(ke.$$.fragment,Gn),transition_out(zn.$$.fragment,Gn),Hn=!1},d(Gn){Gn&&(detach(Ce),detach($n)),_n[4](null),destroy_component(ke,Gn),destroy_component(zn),Wn=!1,Yn()}}}function instance$1i(_n,ke,Ce){const $n=getContext$1("channel");let{email:Mn}=ke,{token:Qn}=ke,Vn;function qn(jn){jn.preventDefault(),axios.post($n.lucentUrl+"/verify",{email:Mn,token:Qn}).then(Xn=>{window.location=$n.lucentUrl}).catch(Xn=>{})}function Zn(jn){binding_callbacks[jn?"unshift":"push"](()=>{Vn=jn,Ce(1,Vn)})}return _n.$$set=jn=>{"email"in jn&&Ce(0,Mn=jn.email),"token"in jn&&Ce(3,Qn=jn.token)},[Mn,Vn,qn,Qn,Zn]}class Verify extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$1i,create_fragment$1i,safe_not_equal,{email:0,token:3})}}function create_fragment$1h(_n){let ke,Ce,$n;return{c(){ke=element("div"),Ce=element("div"),$n=text(_n[2]),attr(Ce,"class","avatar__letters"),attr(ke,"class","avatar"),attr(ke,"title",_n[0]),set_style(ke,"background-color",_n[3][_n[4]]),set_style(ke,"height",_n[1]+"px"),set_style(ke,"width",_n[1]+"px"),set_style(ke,"font-size",_n[1]/2+"px")},m(Mn,Qn){insert$1(Mn,ke,Qn),append(ke,Ce),append(Ce,$n)},p(Mn,[Qn]){Qn&4&&set_data($n,Mn[2]),Qn&1&&attr(ke,"title",Mn[0]),Qn&2&&set_style(ke,"height",Mn[1]+"px"),Qn&2&&set_style(ke,"width",Mn[1]+"px"),Qn&2&&set_style(ke,"font-size",Mn[1]/2+"px")},i:noop,o:noop,d(Mn){Mn&&detach(ke)}}}function instance$1h(_n,ke,Ce){let{name:$n}=ke,{side:Mn=48}=ke;const Qn=["#00AA55","#009FD4","#B381B3","#939393","#E3BC00","#D47500","#DC2A2A","#3ede91","#377dd4","#0256b0","#053d82","#3d026e","#b378e3","#c4065c","#543208","#d97811","#0c6b40"];let Vn="";$n.split(" ").length>1?Vn=$n.split(" ")[0].charAt(0).toUpperCase()+$n.split(" ")[1].charAt(0).toUpperCase():Vn=$n.split(" ")[0].charAt(0).toUpperCase()+$n.split(" ")[0].charAt(1).toUpperCase();let Zn=($n.charCodeAt(1)+$n.length)%19;return _n.$$set=jn=>{"name"in jn&&Ce(0,$n=jn.name),"side"in jn&&Ce(1,Mn=jn.side)},[$n,Mn,Vn,Qn,Zn]}class Avatar extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$1h,create_fragment$1h,safe_not_equal,{name:0,side:1})}}function create_fragment$1g(_n){let ke,Ce,$n,Mn,Qn,Vn,qn,Zn,jn,Xn,zn,Hn,Wn,Yn,Un,Gn,Kn,Jn,tr,nr,er,rr,or,ir,sr,cr;Ce=new ErrorAlert({props:{message:_n[2]}});let ur={};return Mn=new SuccessAlert({props:ur}),_n[8](Mn),qn=new Avatar({props:{name:_n[4].name}}),Wn=new SpinnerButton({props:{label:"Update Name"}}),tr=new SpinnerButton({props:{label:"Update Email"}}),{c(){ke=element("div"),create_component(Ce.$$.fragment),$n=space$3(),create_component(Mn.$$.fragment),Qn=space$3(),Vn=element("h3"),create_component(qn.$$.fragment),Zn=space$3(),jn=element("form"),Xn=element("div"),zn=element("input"),Hn=space$3(),create_component(Wn.$$.fragment),Yn=space$3(),Un=element("form"),Gn=element("div"),Kn=element("input"),Jn=space$3(),create_component(tr.$$.fragment),nr=space$3(),er=element("div"),rr=element("a"),or=text(`Logout from this device`),attr(Vn,"class","header-small mb-5"),attr(zn,"type","text"),attr(zn,"class","form-control mb-3"),attr(zn,"placeholder","Name"),zn.required=!0,attr(Xn,"class","input-group mb-5"),attr(Kn,"type","email"),attr(Kn,"class","form-control mb-3"),attr(Kn,"placeholder","Email"),Kn.required=!0,attr(Gn,"class","input-group mb-5"),attr(rr,"class","list-group-item list-group-item-action"),attr(rr,"href",_n[5].lucentUrl+"/logout"),attr(er,"class","list-group"),attr(ke,"class","wrapper-tiny")},m(fr,pr){insert$1(fr,ke,pr),mount_component(Ce,ke,null),append(ke,$n),mount_component(Mn,ke,null),append(ke,Qn),append(ke,Vn),mount_component(qn,Vn,null),append(ke,Zn),append(ke,jn),append(jn,Xn),append(Xn,zn),set_input_value(zn,_n[0]),append(Xn,Hn),mount_component(Wn,Xn,null),append(ke,Yn),append(ke,Un),append(Un,Gn),append(Gn,Kn),set_input_value(Kn,_n[1]),append(Gn,Jn),mount_component(tr,Gn,null),append(ke,nr),append(ke,er),append(er,rr),append(rr,or),ir=!0,sr||(cr=[listen(zn,"input",_n[9]),listen(jn,"submit",_n[6]),listen(Kn,"input",_n[10]),listen(Un,"submit",_n[7])],sr=!0)},p(fr,[pr]){const mr={};pr&4&&(mr.message=fr[2]),Ce.$set(mr);const _r={};Mn.$set(_r),pr&1&&zn.value!==fr[0]&&set_input_value(zn,fr[0]),pr&2&&Kn.value!==fr[1]&&set_input_value(Kn,fr[1])},i(fr){ir||(transition_in(Ce.$$.fragment,fr),transition_in(Mn.$$.fragment,fr),transition_in(qn.$$.fragment,fr),transition_in(Wn.$$.fragment,fr),transition_in(tr.$$.fragment,fr),ir=!0)},o(fr){transition_out(Ce.$$.fragment,fr),transition_out(Mn.$$.fragment,fr),transition_out(qn.$$.fragment,fr),transition_out(Wn.$$.fragment,fr),transition_out(tr.$$.fragment,fr),ir=!1},d(fr){fr&&detach(ke),destroy_component(Ce),_n[8](null),destroy_component(Mn),destroy_component(qn),destroy_component(Wn),destroy_component(tr),sr=!1,run_all(cr)}}}function instance$1g(_n,ke,Ce){const $n=getContext$1("user"),Mn=getContext$1("channel");let Qn=$n.name,Vn=$n.email,qn="",Zn;function jn(Yn){Yn.preventDefault(),Ce(2,qn=""),axios$1.post(Mn.lucentUrl+"/account/update-name",{name:Qn}).then(Un=>{Zn.show()}).catch(Un=>{var Gn;Ce(2,qn=(Gn=Un.response)==null?void 0:Gn.data.error)})}function Xn(Yn){Yn.preventDefault(),Ce(2,qn=""),axios$1.post(Mn.lucentUrl+"/account/update-email",{email:Vn}).then(Un=>{Zn.show()}).catch(Un=>{var Gn;Ce(2,qn=(Gn=Un.response)==null?void 0:Gn.data.error)})}function zn(Yn){binding_callbacks[Yn?"unshift":"push"](()=>{Zn=Yn,Ce(3,Zn)})}function Hn(){Qn=this.value,Ce(0,Qn)}function Wn(){Vn=this.value,Ce(1,Vn)}return[Qn,Vn,qn,Zn,$n,Mn,jn,Xn,zn,Hn,Wn]}class Profile extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$1g,create_fragment$1g,safe_not_equal,{})}}function create_fragment$1f(_n){let ke,Ce,$n,Mn=(_n[3].name??"Lucent Setup")+"",Qn,Vn,qn,Zn,jn,Xn;const zn=[{title:_n[0]},_n[2]];var Hn=_n[4][_n[1]];function Wn(Yn,Un){let Gn={};for(let Kn=0;Kn{destroy_component(Gn,1)}),check_outros()}Hn?(jn=construct_svelte_component(Hn,Wn(Yn,Un)),create_component(jn.$$.fragment),transition_in(jn.$$.fragment,1),mount_component(jn,Zn,null)):jn=null}else if(Hn){const Gn=Un&5?get_spread_update(zn,[Un&1&&{title:Yn[0]},Un&4&&get_spread_object(Yn[2])]):{};jn.$set(Gn)}},i(Yn){Xn||(jn&&transition_in(jn.$$.fragment,Yn),Xn=!0)},o(Yn){jn&&transition_out(jn.$$.fragment,Yn),Xn=!1},d(Yn){Yn&&(detach(ke),detach(qn),detach(Zn)),jn&&destroy_component(jn)}}}function instance$1f(_n,ke,Ce){const $n={register:Register,login:Login,verify:Verify,profile:Profile};let{title:Mn}=ke,{view:Qn}=ke,{user:Vn}=ke,{data:qn}=ke,{channel:Zn}=ke;return setContext("channel",Zn),setContext("user",Vn),_n.$$set=jn=>{"title"in jn&&Ce(0,Mn=jn.title),"view"in jn&&Ce(1,Qn=jn.view),"user"in jn&&Ce(5,Vn=jn.user),"data"in jn&&Ce(2,qn=jn.data),"channel"in jn&&Ce(3,Zn=jn.channel)},[Mn,Qn,qn,Zn,$n,Vn]}class Account extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$1f,create_fragment$1f,safe_not_equal,{title:0,view:1,user:5,data:2,channel:3})}}function toDate(_n){const ke=Object.prototype.toString.call(_n);return _n instanceof Date||typeof _n=="object"&&ke==="[object Date]"?new _n.constructor(+_n):typeof _n=="number"||ke==="[object Number]"||typeof _n=="string"||ke==="[object String]"?new Date(_n):new Date(NaN)}function constructFrom(_n,ke){return _n instanceof Date?new _n.constructor(ke):new Date(ke)}const millisecondsInWeek=6048e5,millisecondsInDay=864e5,minutesInMonth=43200,minutesInDay=1440;let defaultOptions={};function getDefaultOptions(){return defaultOptions}function startOfWeek(_n,ke){var qn,Zn,jn,Xn;const Ce=getDefaultOptions(),$n=(ke==null?void 0:ke.weekStartsOn)??((Zn=(qn=ke==null?void 0:ke.locale)==null?void 0:qn.options)==null?void 0:Zn.weekStartsOn)??Ce.weekStartsOn??((Xn=(jn=Ce.locale)==null?void 0:jn.options)==null?void 0:Xn.weekStartsOn)??0,Mn=toDate(_n),Qn=Mn.getDay(),Vn=(Qn<$n?7:0)+Qn-$n;return Mn.setDate(Mn.getDate()-Vn),Mn.setHours(0,0,0,0),Mn}function startOfISOWeek(_n){return startOfWeek(_n,{weekStartsOn:1})}function getISOWeekYear(_n){const ke=toDate(_n),Ce=ke.getFullYear(),$n=constructFrom(_n,0);$n.setFullYear(Ce+1,0,4),$n.setHours(0,0,0,0);const Mn=startOfISOWeek($n),Qn=constructFrom(_n,0);Qn.setFullYear(Ce,0,4),Qn.setHours(0,0,0,0);const Vn=startOfISOWeek(Qn);return ke.getTime()>=Mn.getTime()?Ce+1:ke.getTime()>=Vn.getTime()?Ce:Ce-1}function startOfDay(_n){const ke=toDate(_n);return ke.setHours(0,0,0,0),ke}function getTimezoneOffsetInMilliseconds(_n){const ke=toDate(_n),Ce=new Date(Date.UTC(ke.getFullYear(),ke.getMonth(),ke.getDate(),ke.getHours(),ke.getMinutes(),ke.getSeconds(),ke.getMilliseconds()));return Ce.setUTCFullYear(ke.getFullYear()),+_n-+Ce}function differenceInCalendarDays(_n,ke){const Ce=startOfDay(_n),$n=startOfDay(ke),Mn=+Ce-getTimezoneOffsetInMilliseconds(Ce),Qn=+$n-getTimezoneOffsetInMilliseconds($n);return Math.round((Mn-Qn)/millisecondsInDay)}function startOfISOWeekYear(_n){const ke=getISOWeekYear(_n),Ce=constructFrom(_n,0);return Ce.setFullYear(ke,0,4),Ce.setHours(0,0,0,0),startOfISOWeek(Ce)}function compareAsc(_n,ke){const Ce=toDate(_n),$n=toDate(ke),Mn=Ce.getTime()-$n.getTime();return Mn<0?-1:Mn>0?1:Mn}function constructNow(_n){return constructFrom(_n,Date.now())}function isDate(_n){return _n instanceof Date||typeof _n=="object"&&Object.prototype.toString.call(_n)==="[object Date]"}function isValid(_n){if(!isDate(_n)&&typeof _n!="number")return!1;const ke=toDate(_n);return!isNaN(Number(ke))}function differenceInCalendarMonths(_n,ke){const Ce=toDate(_n),$n=toDate(ke),Mn=Ce.getFullYear()-$n.getFullYear(),Qn=Ce.getMonth()-$n.getMonth();return Mn*12+Qn}function getRoundingMethod(_n){return ke=>{const $n=(_n?Math[_n]:Math.trunc)(ke);return $n===0?0:$n}}function differenceInMilliseconds(_n,ke){return+toDate(_n)-+toDate(ke)}function endOfDay(_n){const ke=toDate(_n);return ke.setHours(23,59,59,999),ke}function endOfMonth(_n){const ke=toDate(_n),Ce=ke.getMonth();return ke.setFullYear(ke.getFullYear(),Ce+1,0),ke.setHours(23,59,59,999),ke}function isLastDayOfMonth(_n){const ke=toDate(_n);return+endOfDay(ke)==+endOfMonth(ke)}function differenceInMonths(_n,ke){const Ce=toDate(_n),$n=toDate(ke),Mn=compareAsc(Ce,$n),Qn=Math.abs(differenceInCalendarMonths(Ce,$n));let Vn;if(Qn<1)Vn=0;else{Ce.getMonth()===1&&Ce.getDate()>27&&Ce.setDate(30),Ce.setMonth(Ce.getMonth()-Mn*Qn);let qn=compareAsc(Ce,$n)===-Mn;isLastDayOfMonth(toDate(_n))&&Qn===1&&compareAsc(_n,$n)===1&&(qn=!1),Vn=Mn*(Qn-Number(qn))}return Vn===0?0:Vn}function differenceInSeconds(_n,ke,Ce){const $n=differenceInMilliseconds(_n,ke)/1e3;return getRoundingMethod(Ce==null?void 0:Ce.roundingMethod)($n)}function startOfYear(_n){const ke=toDate(_n),Ce=constructFrom(_n,0);return Ce.setFullYear(ke.getFullYear(),0,1),Ce.setHours(0,0,0,0),Ce}const formatDistanceLocale={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},formatDistance$1=(_n,ke,Ce)=>{let $n;const Mn=formatDistanceLocale[_n];return typeof Mn=="string"?$n=Mn:ke===1?$n=Mn.one:$n=Mn.other.replace("{{count}}",ke.toString()),Ce!=null&&Ce.addSuffix?Ce.comparison&&Ce.comparison>0?"in "+$n:$n+" ago":$n};function buildFormatLongFn(_n){return(ke={})=>{const Ce=ke.width?String(ke.width):_n.defaultWidth;return _n.formats[Ce]||_n.formats[_n.defaultWidth]}}const dateFormats={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},timeFormats={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},dateTimeFormats={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},formatLong={date:buildFormatLongFn({formats:dateFormats,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats,defaultWidth:"full"})},formatRelativeLocale={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},formatRelative=(_n,ke,Ce,$n)=>formatRelativeLocale[_n];function buildLocalizeFn(_n){return(ke,Ce)=>{const $n=Ce!=null&&Ce.context?String(Ce.context):"standalone";let Mn;if($n==="formatting"&&_n.formattingValues){const Vn=_n.defaultFormattingWidth||_n.defaultWidth,qn=Ce!=null&&Ce.width?String(Ce.width):Vn;Mn=_n.formattingValues[qn]||_n.formattingValues[Vn]}else{const Vn=_n.defaultWidth,qn=Ce!=null&&Ce.width?String(Ce.width):_n.defaultWidth;Mn=_n.values[qn]||_n.values[Vn]}const Qn=_n.argumentCallback?_n.argumentCallback(ke):ke;return Mn[Qn]}}const eraValues={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},quarterValues={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},monthValues={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},dayValues={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},dayPeriodValues={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},formattingDayPeriodValues={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},ordinalNumber=(_n,ke)=>{const Ce=Number(_n),$n=Ce%100;if($n>20||$n<10)switch($n%10){case 1:return Ce+"st";case 2:return Ce+"nd";case 3:return Ce+"rd"}return Ce+"th"},localize={ordinalNumber,era:buildLocalizeFn({values:eraValues,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues,defaultWidth:"wide",argumentCallback:_n=>_n-1}),month:buildLocalizeFn({values:monthValues,defaultWidth:"wide"}),day:buildLocalizeFn({values:dayValues,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues,defaultWidth:"wide",formattingValues:formattingDayPeriodValues,defaultFormattingWidth:"wide"})};function buildMatchFn(_n){return(ke,Ce={})=>{const $n=Ce.width,Mn=$n&&_n.matchPatterns[$n]||_n.matchPatterns[_n.defaultMatchWidth],Qn=ke.match(Mn);if(!Qn)return null;const Vn=Qn[0],qn=$n&&_n.parsePatterns[$n]||_n.parsePatterns[_n.defaultParseWidth],Zn=Array.isArray(qn)?findIndex(qn,zn=>zn.test(Vn)):findKey(qn,zn=>zn.test(Vn));let jn;jn=_n.valueCallback?_n.valueCallback(Zn):Zn,jn=Ce.valueCallback?Ce.valueCallback(jn):jn;const Xn=ke.slice(Vn.length);return{value:jn,rest:Xn}}}function findKey(_n,ke){for(const Ce in _n)if(Object.prototype.hasOwnProperty.call(_n,Ce)&&ke(_n[Ce]))return Ce}function findIndex(_n,ke){for(let Ce=0;Ce<_n.length;Ce++)if(ke(_n[Ce]))return Ce}function buildMatchPatternFn(_n){return(ke,Ce={})=>{const $n=ke.match(_n.matchPattern);if(!$n)return null;const Mn=$n[0],Qn=ke.match(_n.parsePattern);if(!Qn)return null;let Vn=_n.valueCallback?_n.valueCallback(Qn[0]):Qn[0];Vn=Ce.valueCallback?Ce.valueCallback(Vn):Vn;const qn=ke.slice(Mn.length);return{value:Vn,rest:qn}}}const matchOrdinalNumberPattern=/^(\d+)(th|st|nd|rd)?/i,parseOrdinalNumberPattern=/\d+/i,matchEraPatterns={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},parseEraPatterns={any:[/^b/i,/^(a|c)/i]},matchQuarterPatterns={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},parseQuarterPatterns={any:[/1/i,/2/i,/3/i,/4/i]},matchMonthPatterns={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},parseMonthPatterns={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},matchDayPatterns={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},parseDayPatterns={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},matchDayPeriodPatterns={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},parseDayPeriodPatterns={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},match={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern,parsePattern:parseOrdinalNumberPattern,valueCallback:_n=>parseInt(_n,10)}),era:buildMatchFn({matchPatterns:matchEraPatterns,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns,defaultParseWidth:"any",valueCallback:_n=>_n+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns,defaultParseWidth:"any"}),day:buildMatchFn({matchPatterns:matchDayPatterns,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns,defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns,defaultMatchWidth:"any",parsePatterns:parseDayPeriodPatterns,defaultParseWidth:"any"})},enUS={code:"en-US",formatDistance:formatDistance$1,formatLong,formatRelative,localize,match,options:{weekStartsOn:0,firstWeekContainsDate:1}};function getDayOfYear(_n){const ke=toDate(_n);return differenceInCalendarDays(ke,startOfYear(ke))+1}function getISOWeek(_n){const ke=toDate(_n),Ce=+startOfISOWeek(ke)-+startOfISOWeekYear(ke);return Math.round(Ce/millisecondsInWeek)+1}function getWeekYear(_n,ke){var Xn,zn,Hn,Wn;const Ce=toDate(_n),$n=Ce.getFullYear(),Mn=getDefaultOptions(),Qn=(ke==null?void 0:ke.firstWeekContainsDate)??((zn=(Xn=ke==null?void 0:ke.locale)==null?void 0:Xn.options)==null?void 0:zn.firstWeekContainsDate)??Mn.firstWeekContainsDate??((Wn=(Hn=Mn.locale)==null?void 0:Hn.options)==null?void 0:Wn.firstWeekContainsDate)??1,Vn=constructFrom(_n,0);Vn.setFullYear($n+1,0,Qn),Vn.setHours(0,0,0,0);const qn=startOfWeek(Vn,ke),Zn=constructFrom(_n,0);Zn.setFullYear($n,0,Qn),Zn.setHours(0,0,0,0);const jn=startOfWeek(Zn,ke);return Ce.getTime()>=qn.getTime()?$n+1:Ce.getTime()>=jn.getTime()?$n:$n-1}function startOfWeekYear(_n,ke){var qn,Zn,jn,Xn;const Ce=getDefaultOptions(),$n=(ke==null?void 0:ke.firstWeekContainsDate)??((Zn=(qn=ke==null?void 0:ke.locale)==null?void 0:qn.options)==null?void 0:Zn.firstWeekContainsDate)??Ce.firstWeekContainsDate??((Xn=(jn=Ce.locale)==null?void 0:jn.options)==null?void 0:Xn.firstWeekContainsDate)??1,Mn=getWeekYear(_n,ke),Qn=constructFrom(_n,0);return Qn.setFullYear(Mn,0,$n),Qn.setHours(0,0,0,0),startOfWeek(Qn,ke)}function getWeek(_n,ke){const Ce=toDate(_n),$n=+startOfWeek(Ce,ke)-+startOfWeekYear(Ce,ke);return Math.round($n/millisecondsInWeek)+1}function addLeadingZeros(_n,ke){const Ce=_n<0?"-":"",$n=Math.abs(_n).toString().padStart(ke,"0");return Ce+$n}const lightFormatters={y(_n,ke){const Ce=_n.getFullYear(),$n=Ce>0?Ce:1-Ce;return addLeadingZeros(ke==="yy"?$n%100:$n,ke.length)},M(_n,ke){const Ce=_n.getMonth();return ke==="M"?String(Ce+1):addLeadingZeros(Ce+1,2)},d(_n,ke){return addLeadingZeros(_n.getDate(),ke.length)},a(_n,ke){const Ce=_n.getHours()/12>=1?"pm":"am";switch(ke){case"a":case"aa":return Ce.toUpperCase();case"aaa":return Ce;case"aaaaa":return Ce[0];case"aaaa":default:return Ce==="am"?"a.m.":"p.m."}},h(_n,ke){return addLeadingZeros(_n.getHours()%12||12,ke.length)},H(_n,ke){return addLeadingZeros(_n.getHours(),ke.length)},m(_n,ke){return addLeadingZeros(_n.getMinutes(),ke.length)},s(_n,ke){return addLeadingZeros(_n.getSeconds(),ke.length)},S(_n,ke){const Ce=ke.length,$n=_n.getMilliseconds(),Mn=Math.trunc($n*Math.pow(10,Ce-3));return addLeadingZeros(Mn,ke.length)}},dayPeriodEnum={am:"am",pm:"pm",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},formatters={G:function(_n,ke,Ce){const $n=_n.getFullYear()>0?1:0;switch(ke){case"G":case"GG":case"GGG":return Ce.era($n,{width:"abbreviated"});case"GGGGG":return Ce.era($n,{width:"narrow"});case"GGGG":default:return Ce.era($n,{width:"wide"})}},y:function(_n,ke,Ce){if(ke==="yo"){const $n=_n.getFullYear(),Mn=$n>0?$n:1-$n;return Ce.ordinalNumber(Mn,{unit:"year"})}return lightFormatters.y(_n,ke)},Y:function(_n,ke,Ce,$n){const Mn=getWeekYear(_n,$n),Qn=Mn>0?Mn:1-Mn;if(ke==="YY"){const Vn=Qn%100;return addLeadingZeros(Vn,2)}return ke==="Yo"?Ce.ordinalNumber(Qn,{unit:"year"}):addLeadingZeros(Qn,ke.length)},R:function(_n,ke){const Ce=getISOWeekYear(_n);return addLeadingZeros(Ce,ke.length)},u:function(_n,ke){const Ce=_n.getFullYear();return addLeadingZeros(Ce,ke.length)},Q:function(_n,ke,Ce){const $n=Math.ceil((_n.getMonth()+1)/3);switch(ke){case"Q":return String($n);case"QQ":return addLeadingZeros($n,2);case"Qo":return Ce.ordinalNumber($n,{unit:"quarter"});case"QQQ":return Ce.quarter($n,{width:"abbreviated",context:"formatting"});case"QQQQQ":return Ce.quarter($n,{width:"narrow",context:"formatting"});case"QQQQ":default:return Ce.quarter($n,{width:"wide",context:"formatting"})}},q:function(_n,ke,Ce){const $n=Math.ceil((_n.getMonth()+1)/3);switch(ke){case"q":return String($n);case"qq":return addLeadingZeros($n,2);case"qo":return Ce.ordinalNumber($n,{unit:"quarter"});case"qqq":return Ce.quarter($n,{width:"abbreviated",context:"standalone"});case"qqqqq":return Ce.quarter($n,{width:"narrow",context:"standalone"});case"qqqq":default:return Ce.quarter($n,{width:"wide",context:"standalone"})}},M:function(_n,ke,Ce){const $n=_n.getMonth();switch(ke){case"M":case"MM":return lightFormatters.M(_n,ke);case"Mo":return Ce.ordinalNumber($n+1,{unit:"month"});case"MMM":return Ce.month($n,{width:"abbreviated",context:"formatting"});case"MMMMM":return Ce.month($n,{width:"narrow",context:"formatting"});case"MMMM":default:return Ce.month($n,{width:"wide",context:"formatting"})}},L:function(_n,ke,Ce){const $n=_n.getMonth();switch(ke){case"L":return String($n+1);case"LL":return addLeadingZeros($n+1,2);case"Lo":return Ce.ordinalNumber($n+1,{unit:"month"});case"LLL":return Ce.month($n,{width:"abbreviated",context:"standalone"});case"LLLLL":return Ce.month($n,{width:"narrow",context:"standalone"});case"LLLL":default:return Ce.month($n,{width:"wide",context:"standalone"})}},w:function(_n,ke,Ce,$n){const Mn=getWeek(_n,$n);return ke==="wo"?Ce.ordinalNumber(Mn,{unit:"week"}):addLeadingZeros(Mn,ke.length)},I:function(_n,ke,Ce){const $n=getISOWeek(_n);return ke==="Io"?Ce.ordinalNumber($n,{unit:"week"}):addLeadingZeros($n,ke.length)},d:function(_n,ke,Ce){return ke==="do"?Ce.ordinalNumber(_n.getDate(),{unit:"date"}):lightFormatters.d(_n,ke)},D:function(_n,ke,Ce){const $n=getDayOfYear(_n);return ke==="Do"?Ce.ordinalNumber($n,{unit:"dayOfYear"}):addLeadingZeros($n,ke.length)},E:function(_n,ke,Ce){const $n=_n.getDay();switch(ke){case"E":case"EE":case"EEE":return Ce.day($n,{width:"abbreviated",context:"formatting"});case"EEEEE":return Ce.day($n,{width:"narrow",context:"formatting"});case"EEEEEE":return Ce.day($n,{width:"short",context:"formatting"});case"EEEE":default:return Ce.day($n,{width:"wide",context:"formatting"})}},e:function(_n,ke,Ce,$n){const Mn=_n.getDay(),Qn=(Mn-$n.weekStartsOn+8)%7||7;switch(ke){case"e":return String(Qn);case"ee":return addLeadingZeros(Qn,2);case"eo":return Ce.ordinalNumber(Qn,{unit:"day"});case"eee":return Ce.day(Mn,{width:"abbreviated",context:"formatting"});case"eeeee":return Ce.day(Mn,{width:"narrow",context:"formatting"});case"eeeeee":return Ce.day(Mn,{width:"short",context:"formatting"});case"eeee":default:return Ce.day(Mn,{width:"wide",context:"formatting"})}},c:function(_n,ke,Ce,$n){const Mn=_n.getDay(),Qn=(Mn-$n.weekStartsOn+8)%7||7;switch(ke){case"c":return String(Qn);case"cc":return addLeadingZeros(Qn,ke.length);case"co":return Ce.ordinalNumber(Qn,{unit:"day"});case"ccc":return Ce.day(Mn,{width:"abbreviated",context:"standalone"});case"ccccc":return Ce.day(Mn,{width:"narrow",context:"standalone"});case"cccccc":return Ce.day(Mn,{width:"short",context:"standalone"});case"cccc":default:return Ce.day(Mn,{width:"wide",context:"standalone"})}},i:function(_n,ke,Ce){const $n=_n.getDay(),Mn=$n===0?7:$n;switch(ke){case"i":return String(Mn);case"ii":return addLeadingZeros(Mn,ke.length);case"io":return Ce.ordinalNumber(Mn,{unit:"day"});case"iii":return Ce.day($n,{width:"abbreviated",context:"formatting"});case"iiiii":return Ce.day($n,{width:"narrow",context:"formatting"});case"iiiiii":return Ce.day($n,{width:"short",context:"formatting"});case"iiii":default:return Ce.day($n,{width:"wide",context:"formatting"})}},a:function(_n,ke,Ce){const Mn=_n.getHours()/12>=1?"pm":"am";switch(ke){case"a":case"aa":return Ce.dayPeriod(Mn,{width:"abbreviated",context:"formatting"});case"aaa":return Ce.dayPeriod(Mn,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return Ce.dayPeriod(Mn,{width:"narrow",context:"formatting"});case"aaaa":default:return Ce.dayPeriod(Mn,{width:"wide",context:"formatting"})}},b:function(_n,ke,Ce){const $n=_n.getHours();let Mn;switch($n===12?Mn=dayPeriodEnum.noon:$n===0?Mn=dayPeriodEnum.midnight:Mn=$n/12>=1?"pm":"am",ke){case"b":case"bb":return Ce.dayPeriod(Mn,{width:"abbreviated",context:"formatting"});case"bbb":return Ce.dayPeriod(Mn,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return Ce.dayPeriod(Mn,{width:"narrow",context:"formatting"});case"bbbb":default:return Ce.dayPeriod(Mn,{width:"wide",context:"formatting"})}},B:function(_n,ke,Ce){const $n=_n.getHours();let Mn;switch($n>=17?Mn=dayPeriodEnum.evening:$n>=12?Mn=dayPeriodEnum.afternoon:$n>=4?Mn=dayPeriodEnum.morning:Mn=dayPeriodEnum.night,ke){case"B":case"BB":case"BBB":return Ce.dayPeriod(Mn,{width:"abbreviated",context:"formatting"});case"BBBBB":return Ce.dayPeriod(Mn,{width:"narrow",context:"formatting"});case"BBBB":default:return Ce.dayPeriod(Mn,{width:"wide",context:"formatting"})}},h:function(_n,ke,Ce){if(ke==="ho"){let $n=_n.getHours()%12;return $n===0&&($n=12),Ce.ordinalNumber($n,{unit:"hour"})}return lightFormatters.h(_n,ke)},H:function(_n,ke,Ce){return ke==="Ho"?Ce.ordinalNumber(_n.getHours(),{unit:"hour"}):lightFormatters.H(_n,ke)},K:function(_n,ke,Ce){const $n=_n.getHours()%12;return ke==="Ko"?Ce.ordinalNumber($n,{unit:"hour"}):addLeadingZeros($n,ke.length)},k:function(_n,ke,Ce){let $n=_n.getHours();return $n===0&&($n=24),ke==="ko"?Ce.ordinalNumber($n,{unit:"hour"}):addLeadingZeros($n,ke.length)},m:function(_n,ke,Ce){return ke==="mo"?Ce.ordinalNumber(_n.getMinutes(),{unit:"minute"}):lightFormatters.m(_n,ke)},s:function(_n,ke,Ce){return ke==="so"?Ce.ordinalNumber(_n.getSeconds(),{unit:"second"}):lightFormatters.s(_n,ke)},S:function(_n,ke){return lightFormatters.S(_n,ke)},X:function(_n,ke,Ce){const $n=_n.getTimezoneOffset();if($n===0)return"Z";switch(ke){case"X":return formatTimezoneWithOptionalMinutes($n);case"XXXX":case"XX":return formatTimezone($n);case"XXXXX":case"XXX":default:return formatTimezone($n,":")}},x:function(_n,ke,Ce){const $n=_n.getTimezoneOffset();switch(ke){case"x":return formatTimezoneWithOptionalMinutes($n);case"xxxx":case"xx":return formatTimezone($n);case"xxxxx":case"xxx":default:return formatTimezone($n,":")}},O:function(_n,ke,Ce){const $n=_n.getTimezoneOffset();switch(ke){case"O":case"OO":case"OOO":return"GMT"+formatTimezoneShort($n,":");case"OOOO":default:return"GMT"+formatTimezone($n,":")}},z:function(_n,ke,Ce){const $n=_n.getTimezoneOffset();switch(ke){case"z":case"zz":case"zzz":return"GMT"+formatTimezoneShort($n,":");case"zzzz":default:return"GMT"+formatTimezone($n,":")}},t:function(_n,ke,Ce){const $n=Math.trunc(_n.getTime()/1e3);return addLeadingZeros($n,ke.length)},T:function(_n,ke,Ce){const $n=_n.getTime();return addLeadingZeros($n,ke.length)}};function formatTimezoneShort(_n,ke=""){const Ce=_n>0?"-":"+",$n=Math.abs(_n),Mn=Math.trunc($n/60),Qn=$n%60;return Qn===0?Ce+String(Mn):Ce+String(Mn)+ke+addLeadingZeros(Qn,2)}function formatTimezoneWithOptionalMinutes(_n,ke){return _n%60===0?(_n>0?"-":"+")+addLeadingZeros(Math.abs(_n)/60,2):formatTimezone(_n,ke)}function formatTimezone(_n,ke=""){const Ce=_n>0?"-":"+",$n=Math.abs(_n),Mn=addLeadingZeros(Math.trunc($n/60),2),Qn=addLeadingZeros($n%60,2);return Ce+Mn+ke+Qn}const dateLongFormatter=(_n,ke)=>{switch(_n){case"P":return ke.date({width:"short"});case"PP":return ke.date({width:"medium"});case"PPP":return ke.date({width:"long"});case"PPPP":default:return ke.date({width:"full"})}},timeLongFormatter=(_n,ke)=>{switch(_n){case"p":return ke.time({width:"short"});case"pp":return ke.time({width:"medium"});case"ppp":return ke.time({width:"long"});case"pppp":default:return ke.time({width:"full"})}},dateTimeLongFormatter=(_n,ke)=>{const Ce=_n.match(/(P+)(p+)?/)||[],$n=Ce[1],Mn=Ce[2];if(!Mn)return dateLongFormatter(_n,ke);let Qn;switch($n){case"P":Qn=ke.dateTime({width:"short"});break;case"PP":Qn=ke.dateTime({width:"medium"});break;case"PPP":Qn=ke.dateTime({width:"long"});break;case"PPPP":default:Qn=ke.dateTime({width:"full"});break}return Qn.replace("{{date}}",dateLongFormatter($n,ke)).replace("{{time}}",timeLongFormatter(Mn,ke))},longFormatters={p:timeLongFormatter,P:dateTimeLongFormatter},dayOfYearTokenRE=/^D+$/,weekYearTokenRE=/^Y+$/,throwTokens=["D","DD","YY","YYYY"];function isProtectedDayOfYearToken(_n){return dayOfYearTokenRE.test(_n)}function isProtectedWeekYearToken(_n){return weekYearTokenRE.test(_n)}function warnOrThrowProtectedError(_n,ke,Ce){const $n=message(_n,ke,Ce);if(console.warn($n),throwTokens.includes(_n))throw new RangeError($n)}function message(_n,ke,Ce){const $n=_n[0]==="Y"?"years":"days of the month";return`Use \`${_n.toLowerCase()}\` instead of \`${_n}\` (in \`${ke}\`) for formatting ${$n} to the input \`${Ce}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const formattingTokensRegExp=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,longFormattingTokensRegExp=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,escapedStringRegExp=/^'([^]*?)'?$/,doubleQuoteRegExp=/''/g,unescapedLatinCharacterRegExp=/[a-zA-Z]/;function format$1(_n,ke,Ce){var Xn,zn,Hn,Wn;const $n=getDefaultOptions(),Mn=$n.locale??enUS,Qn=$n.firstWeekContainsDate??((zn=(Xn=$n.locale)==null?void 0:Xn.options)==null?void 0:zn.firstWeekContainsDate)??1,Vn=$n.weekStartsOn??((Wn=(Hn=$n.locale)==null?void 0:Hn.options)==null?void 0:Wn.weekStartsOn)??0,qn=toDate(_n);if(!isValid(qn))throw new RangeError("Invalid time value");let Zn=ke.match(longFormattingTokensRegExp).map(Yn=>{const Un=Yn[0];if(Un==="p"||Un==="P"){const Gn=longFormatters[Un];return Gn(Yn,Mn.formatLong)}return Yn}).join("").match(formattingTokensRegExp).map(Yn=>{if(Yn==="''")return{isToken:!1,value:"'"};const Un=Yn[0];if(Un==="'")return{isToken:!1,value:cleanEscapedString(Yn)};if(formatters[Un])return{isToken:!0,value:Yn};if(Un.match(unescapedLatinCharacterRegExp))throw new RangeError("Format string contains an unescaped latin alphabet character `"+Un+"`");return{isToken:!1,value:Yn}});Mn.localize.preprocessor&&(Zn=Mn.localize.preprocessor(qn,Zn));const jn={firstWeekContainsDate:Qn,weekStartsOn:Vn,locale:Mn};return Zn.map(Yn=>{if(!Yn.isToken)return Yn.value;const Un=Yn.value;(isProtectedWeekYearToken(Un)||isProtectedDayOfYearToken(Un))&&warnOrThrowProtectedError(Un,ke,String(_n));const Gn=formatters[Un[0]];return Gn(qn,Un,Mn.localize,jn)}).join("")}function cleanEscapedString(_n){const ke=_n.match(escapedStringRegExp);return ke?ke[1].replace(doubleQuoteRegExp,"'"):_n}function formatDistance(_n,ke,Ce){const $n=getDefaultOptions(),Mn=(Ce==null?void 0:Ce.locale)??$n.locale??enUS,Qn=2520,Vn=compareAsc(_n,ke);if(isNaN(Vn))throw new RangeError("Invalid time value");const qn=Object.assign({},Ce,{addSuffix:Ce==null?void 0:Ce.addSuffix,comparison:Vn});let Zn,jn;Vn>0?(Zn=toDate(ke),jn=toDate(_n)):(Zn=toDate(_n),jn=toDate(ke));const Xn=differenceInSeconds(jn,Zn),zn=(getTimezoneOffsetInMilliseconds(jn)-getTimezoneOffsetInMilliseconds(Zn))/1e3,Hn=Math.round((Xn-zn)/60);let Wn;if(Hn<2)return Ce!=null&&Ce.includeSeconds?Xn<5?Mn.formatDistance("lessThanXSeconds",5,qn):Xn<10?Mn.formatDistance("lessThanXSeconds",10,qn):Xn<20?Mn.formatDistance("lessThanXSeconds",20,qn):Xn<40?Mn.formatDistance("halfAMinute",0,qn):Xn<60?Mn.formatDistance("lessThanXMinutes",1,qn):Mn.formatDistance("xMinutes",1,qn):Hn===0?Mn.formatDistance("lessThanXMinutes",1,qn):Mn.formatDistance("xMinutes",Hn,qn);if(Hn<45)return Mn.formatDistance("xMinutes",Hn,qn);if(Hn<90)return Mn.formatDistance("aboutXHours",1,qn);if(Hn{_n&&!_n.contains(Ce.target)&&!Ce.defaultPrevented&&_n.dispatchEvent(new CustomEvent("click_outside",_n))};return document.addEventListener("click",ke,!0),{destroy(){document.removeEventListener("click",ke,!0)}}}function uniqueBy(_n,ke){const Ce=_n.reduce(($n,Mn)=>($n[ke(Mn)]=Mn,$n),{});return Object.values(Ce)}function range(_n,ke){var Ce=[];for(let $n=_n;$n<=ke;$n++)Ce.push($n);return Ce}const get_button_slot_changes=_n=>({}),get_button_slot_context=_n=>({});function fallback_block(_n){let ke;return{c(){ke=text("Dropdown")},m(Ce,$n){insert$1(Ce,ke,$n)},d(Ce){Ce&&detach(ke)}}}function create_fragment$1e(_n){let ke,Ce,$n,Mn,Qn,Vn,qn,Zn;const jn=_n[6].button,Xn=create_slot(jn,_n,_n[5],get_button_slot_context),zn=Xn||fallback_block(),Hn=_n[6].default,Wn=create_slot(Hn,_n,_n[5],null);return{c(){ke=element("div"),Ce=element("button"),zn&&zn.c(),$n=space$3(),Mn=element("div"),Wn&&Wn.c(),attr(Ce,"class","button dropdown-button"),attr(Ce,"type","button"),attr(Ce,"aria-expanded","false"),attr(Mn,"class",Qn="dropdown-menu hide orientation-"+_n[0]),attr(ke,"class","dropdown")},m(Yn,Un){insert$1(Yn,ke,Un),append(ke,Ce),zn&&zn.m(Ce,null),append(ke,$n),append(ke,Mn),Wn&&Wn.m(Mn,null),_n[7](Mn),Vn=!0,qn||(Zn=[listen(Ce,"click",_n[1]),action_destroyer(clickOutside.call(null,Mn)),listen(Mn,"click_outside",_n[3])],qn=!0)},p(Yn,[Un]){Xn&&Xn.p&&(!Vn||Un&32)&&update_slot_base(Xn,jn,Yn,Yn[5],Vn?get_slot_changes(jn,Yn[5],Un,get_button_slot_changes):get_all_dirty_from_scope(Yn[5]),get_button_slot_context),Wn&&Wn.p&&(!Vn||Un&32)&&update_slot_base(Wn,Hn,Yn,Yn[5],Vn?get_slot_changes(Hn,Yn[5],Un,null):get_all_dirty_from_scope(Yn[5]),null),(!Vn||Un&1&&Qn!==(Qn="dropdown-menu hide orientation-"+Yn[0]))&&attr(Mn,"class",Qn)},i(Yn){Vn||(transition_in(zn,Yn),transition_in(Wn,Yn),Vn=!0)},o(Yn){transition_out(zn,Yn),transition_out(Wn,Yn),Vn=!1},d(Yn){Yn&&detach(ke),zn&&zn.d(Yn),Wn&&Wn.d(Yn),_n[7](null),qn=!1,run_all(Zn)}}}function instance$1e(_n,ke,Ce){let{$$slots:$n={},$$scope:Mn}=ke,Qn,{orientation:Vn="left"}=ke;function qn(){Qn.classList.remove("hide")}function Zn(){Qn.classList.add("hide")}function jn(){Qn.classList.add("hide")}function Xn(zn){binding_callbacks[zn?"unshift":"push"](()=>{Qn=zn,Ce(2,Qn)})}return _n.$$set=zn=>{"orientation"in zn&&Ce(0,Vn=zn.orientation),"$$scope"in zn&&Ce(5,Mn=zn.$$scope)},[Vn,qn,Qn,jn,Zn,Mn,$n,Xn]}class Dropdown extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$1e,create_fragment$1e,safe_not_equal,{orientation:0,open:1,close:4})}get open(){return this.$$.ctx[1]}get close(){return this.$$.ctx[4]}}function get_each_context$q(_n,ke,Ce){const $n=_n.slice();return $n[7]=ke[Ce],$n}function get_each_context_1$a(_n,ke,Ce){const $n=_n.slice();return $n[7]=ke[Ce],$n}function create_if_block_1$t(_n){let ke,Ce=_n[7]+"",$n,Mn,Qn;function Vn(...qn){return _n[4](_n[7],...qn)}return{c(){ke=element("button"),$n=text(Ce),attr(ke,"class","dropdown-item button")},m(qn,Zn){insert$1(qn,ke,Zn),append(ke,$n),Mn||(Qn=listen(ke,"click",Vn),Mn=!0)},p(qn,Zn){_n=qn,Zn&2&&Ce!==(Ce=_n[7]+"")&&set_data($n,Ce)},d(qn){qn&&detach(ke),Mn=!1,Qn()}}}function create_each_block_1$a(_n){let ke=_n[0].roles.includes(_n[7]),Ce,$n=ke&&create_if_block_1$t(_n);return{c(){$n&&$n.c(),Ce=empty$1()},m(Mn,Qn){$n&&$n.m(Mn,Qn),insert$1(Mn,Ce,Qn)},p(Mn,Qn){Qn&3&&(ke=Mn[0].roles.includes(Mn[7])),ke?$n?$n.p(Mn,Qn):($n=create_if_block_1$t(Mn),$n.c(),$n.m(Ce.parentNode,Ce)):$n&&($n.d(1),$n=null)},d(Mn){Mn&&detach(Ce),$n&&$n.d(Mn)}}}function create_if_block$R(_n){let ke,Ce=_n[7]+"",$n,Mn,Qn,Vn;function qn(...Zn){return _n[5](_n[7],...Zn)}return{c(){ke=element("button"),$n=text(Ce),Mn=space$3(),attr(ke,"class","dropdown-item button")},m(Zn,jn){insert$1(Zn,ke,jn),append(ke,$n),append(ke,Mn),Qn||(Vn=listen(ke,"click",qn),Qn=!0)},p(Zn,jn){_n=Zn,jn&2&&Ce!==(Ce=_n[7]+"")&&set_data($n,Ce)},d(Zn){Zn&&detach(ke),Qn=!1,Vn()}}}function create_each_block$q(_n){let ke=!_n[0].roles.includes(_n[7]),Ce,$n=ke&&create_if_block$R(_n);return{c(){$n&&$n.c(),Ce=empty$1()},m(Mn,Qn){$n&&$n.m(Mn,Qn),insert$1(Mn,Ce,Qn)},p(Mn,Qn){Qn&3&&(ke=!Mn[0].roles.includes(Mn[7])),ke?$n?$n.p(Mn,Qn):($n=create_if_block$R(Mn),$n.c(),$n.m(Ce.parentNode,Ce)):$n&&($n.d(1),$n=null)},d(Mn){Mn&&detach(Ce),$n&&$n.d(Mn)}}}function create_default_slot$a(_n){let ke,Ce,$n,Mn,Qn,Vn,qn=ensure_array_like(_n[1]),Zn=[];for(let zn=0;zn{Kn&&(Gn||(Gn=create_bidirectional_transition(ke,fly,{duration:200},!0)),Gn.run(1))}),Kn=!0)},o(Jn){transition_out($n.$$.fragment,Jn),transition_out(Un.$$.fragment,Jn),Jn&&(Gn||(Gn=create_bidirectional_transition(ke,fly,{duration:200},!1)),Gn.run(0)),Kn=!1},d(Jn){Jn&&detach(ke),destroy_component($n),destroy_component(Un),Jn&&Gn&&Gn.end()}}}function instance$1d(_n,ke,Ce){const $n=createEventDispatcher();let{member:Mn}=ke,{roles:Qn}=ke;function Vn(Xn,zn){Xn.preventDefault();let Hn=Mn.roles.filter(Wn=>Wn!==zn);$n("update",{user:Mn.id,roles:Hn})}function qn(Xn,zn){Xn.preventDefault();let Hn=[...Mn.roles,zn];$n("update",{user:Mn.id,roles:Hn})}const Zn=(Xn,zn)=>Vn(zn,Xn),jn=(Xn,zn)=>qn(zn,Xn);return _n.$$set=Xn=>{"member"in Xn&&Ce(0,Mn=Xn.member),"roles"in Xn&&Ce(1,Qn=Xn.roles)},[Mn,Qn,Vn,qn,Zn,jn]}class MemberSettingsCard extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$1d,create_fragment$1d,safe_not_equal,{member:0,roles:1})}}function get_each_context$p(_n,ke,Ce){const $n=_n.slice();return $n[15]=ke[Ce],$n}function get_each_context_1$9(_n,ke,Ce){const $n=_n.slice();return $n[18]=ke[Ce],$n}function create_each_block_1$9(_n){let ke,Ce=_n[18]+"",$n;return{c(){ke=element("option"),$n=text(Ce),ke.__value=_n[18],set_input_value(ke,ke.__value)},m(Mn,Qn){insert$1(Mn,ke,Qn),append(ke,$n)},p:noop,d(Mn){Mn&&detach(ke)}}}function create_each_block$p(_n){let ke,Ce;return ke=new MemberSettingsCard({props:{member:_n[15],roles:_n[6].roles}}),ke.$on("update",_n[9]),ke.$on("reinvite",_n[14]),{c(){create_component(ke.$$.fragment)},m($n,Mn){mount_component(ke,$n,Mn),Ce=!0},p($n,Mn){const Qn={};Mn&1&&(Qn.member=$n[15]),ke.$set(Qn)},i($n){Ce||(transition_in(ke.$$.fragment,$n),Ce=!0)},o($n){transition_out(ke.$$.fragment,$n),Ce=!1},d($n){destroy_component(ke,$n)}}}function create_fragment$1c(_n){let ke,Ce,$n,Mn,Qn,Vn,qn,Zn,jn,Xn,zn,Hn,Wn,Yn,Un,Gn,Kn,Jn,tr,nr,er,rr,or,ir,sr,cr,ur,fr,pr,mr,_r;Qn=new ErrorAlert({props:{message:_n[4]}});let vr={};qn=new SuccessAlert({props:vr}),_n[10](qn);let hr=ensure_array_like(_n[6].roles.filter(func)),br=[];for(let yr=0;yrtransition_out(Cr[yr],1,1,()=>{Cr[yr]=null});return{c(){ke=element("div"),Ce=element("div"),$n=element("h3"),$n.textContent="Invite people",Mn=space$3(),create_component(Qn.$$.fragment),Vn=space$3(),create_component(qn.$$.fragment),Zn=space$3(),jn=element("form"),Xn=element("div"),zn=element("label"),zn.textContent="Invitee Name",Hn=space$3(),Wn=element("input"),Yn=space$3(),Un=element("div"),Gn=element("label"),Gn.textContent="Invitee Email Address",Kn=space$3(),Jn=element("input"),tr=space$3(),nr=element("div"),er=element("select");for(let yr=0;yr_n[13].call(er)),attr(nr,"class","me-3"),attr(or,"class","mt-5 d-block text-center"),attr(Ce,"class","lx-card mt-5"),attr(ur,"class","header-small mb-5 mt-5"),attr(cr,"class","member-list"),attr(ke,"class","common-wrapper")},m(yr,Pr){insert$1(yr,ke,Pr),append(ke,Ce),append(Ce,$n),append(Ce,Mn),mount_component(Qn,Ce,null),append(Ce,Vn),mount_component(qn,Ce,null),append(Ce,Zn),append(Ce,jn),append(jn,Xn),append(Xn,zn),append(Xn,Hn),append(Xn,Wn),set_input_value(Wn,_n[1]),append(jn,Yn),append(jn,Un),append(Un,Gn),append(Un,Kn),append(Un,Jn),set_input_value(Jn,_n[2]),append(jn,tr),append(jn,nr),append(nr,er);for(let Qr=0;Qr_n!=="removed";function instance$1c(_n,ke,Ce){const $n=getContext$1("channel");let{users:Mn}=ke,Qn,Vn,qn,Zn="",jn;function Xn(Jn){Jn.preventDefault(),zn(Qn,Vn,qn)}function zn(Jn,tr,nr){Ce(4,Zn=""),axios$1.post($n.lucentUrl+"/members/invite",{name:Jn,email:tr,roles:[nr]}).then(er=>{jn.show("User was invited"),Ce(0,Mn=[...Mn,er.data.user]),Ce(1,Qn=null),Ce(2,Vn=null),Ce(3,qn=null)}).catch(er=>{var rr,or;Ce(4,Zn=((or=(rr=er.response)==null?void 0:rr.data)==null?void 0:or.error)??"")})}function Hn(Jn){Jn.preventDefault(),Ce(4,Zn=""),axios$1.post($n.lucentUrl+"/members/update",{id:Jn.detail.user,roles:Jn.detail.roles}).then(tr=>{jn.show("Users updated"),Ce(0,Mn=tr.data.users)}).catch(tr=>{var nr,er;Ce(4,Zn=((er=(nr=tr.response)==null?void 0:nr.data)==null?void 0:er.error)??"")})}function Wn(Jn){binding_callbacks[Jn?"unshift":"push"](()=>{jn=Jn,Ce(5,jn)})}function Yn(){Qn=this.value,Ce(1,Qn)}function Un(){Vn=this.value,Ce(2,Vn)}function Gn(){qn=select_value(this),Ce(3,qn),Ce(6,$n)}const Kn=Jn=>zn(Jn.detail.email,Jn.detail.role);return _n.$$set=Jn=>{"users"in Jn&&Ce(0,Mn=Jn.users)},[Mn,Qn,Vn,qn,Zn,jn,$n,Xn,zn,Hn,Wn,Yn,Un,Gn,Kn]}class Members extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$1c,create_fragment$1c,safe_not_equal,{users:0})}}function create_fragment$1b(_n){let ke,Ce,$n;return{c(){ke=element("div"),Ce=element("div"),$n=text(_n[0]),attr(Ce,"class","header-normal"),attr(ke,"class","wrapper-normal ")},m(Mn,Qn){insert$1(Mn,ke,Qn),append(ke,Ce),append(Ce,$n)},p(Mn,[Qn]){Qn&1&&set_data($n,Mn[0])},i:noop,o:noop,d(Mn){Mn&&detach(ke)}}}function instance$1b(_n,ke,Ce){let{title:$n}=ke;return _n.$$set=Mn=>{"title"in Mn&&Ce(0,$n=Mn.title)},[$n]}class NotFound extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$1b,create_fragment$1b,safe_not_equal,{title:0})}}function create_fragment$1a(_n){let ke,Ce=_n[5].path+"";return{c(){ke=svg_element("svg"),attr(ke,"class","bi svelte-r4pd9j"),attr(ke,"xmlns","http://www.w3.org/2000/svg"),attr(ke,"width",_n[0]),attr(ke,"height",_n[1]),attr(ke,"viewBox",_n[5].viewBox),attr(ke,"aria-labelledby",_n[2]),attr(ke,"role","presentation"),attr(ke,"stroke",_n[4]),attr(ke,"fill",_n[3])},m($n,Mn){insert$1($n,ke,Mn),ke.innerHTML=Ce},p($n,[Mn]){Mn&1&&attr(ke,"width",$n[0]),Mn&2&&attr(ke,"height",$n[1]),Mn&4&&attr(ke,"aria-labelledby",$n[2]),Mn&16&&attr(ke,"stroke",$n[4]),Mn&8&&attr(ke,"fill",$n[3])},i:noop,o:noop,d($n){$n&&detach(ke)}}}function instance$1a(_n,ke,Ce){const $n={"trash-can":{path:'',viewBox:"0 0 448 512"},"circle-chevron-down":{path:'',viewBox:"0 0 512 512"},"circle-chevron-up":{path:'',viewBox:"0 0 512 512"},ellipsis:{path:'',viewBox:"0 0 448 512"},"ellipsis-vertical":{path:'',viewBox:"0 0 128 512"},"angles-down":{path:'',viewBox:"0 0 384 512"},"angle-right":{path:'',viewBox:"0 0 256 512"},"photo-film":{path:'',viewBox:"0 0 640 512"},file:{path:'',viewBox:"0 0 384 512"},"circle-info":{path:'',viewBox:"0 0 512 512"},"table-columns":{path:'',viewBox:"0 0 512 512"},"arrow-down-a-z":{path:'',viewBox:"0 0 512 512"},"arrow-up-short-wide":{path:'',viewBox:"0 0 576 512"},"arrow-down-wide-short":{path:'',viewBox:"0 0 576 512"},filter:{path:'',viewBox:"0 0 512 512"},calendar:{path:'',viewBox:"0 0 448 512"},pencil:{path:'',viewBox:"0 0 512 512"},database:{path:'',viewBox:"0 0 448 512"},dice:{path:'',viewBox:"0 0 640 512"},"triangle-exclamation":{path:'',viewBox:"0 0 512 512"},eye:{path:'',viewBox:"0 0 576 512"},"circle-plus":{path:'',viewBox:"0 0 512 512"},"magnifying-glass":{path:'',viewBox:"0 0 512 512"},expand:{path:'',viewBox:"0 0 448 512"},compress:{path:'',viewBox:"0 0 448 512"},check:{path:'',viewBox:"0 0 448 512"},close:{path:'',viewBox:"0 0 24 24"},"arrow-left":{path:'',viewBox:"0 0 24 24"},list:{path:'',viewBox:"0 0 24 24"},"ordered-list":{path:'',viewBox:"0 0 24 24"},italic:{path:'',viewBox:"0 0 24 24"},undo:{path:'',viewBox:"0 0 24 24"},destroy:{path:``,viewBox:"0 0 24 24"}};let{width:Mn=16}=ke,{height:Qn=16}=ke,{icon:Vn=""}=ke,{fill:qn="currentColor"}=ke,{stroke:Zn="currentColor"}=ke,jn=$n[Vn];return _n.$$set=Xn=>{"width"in Xn&&Ce(0,Mn=Xn.width),"height"in Xn&&Ce(1,Qn=Xn.height),"icon"in Xn&&Ce(2,Vn=Xn.icon),"fill"in Xn&&Ce(3,qn=Xn.fill),"stroke"in Xn&&Ce(4,Zn=Xn.stroke)},[Mn,Qn,Vn,qn,Zn,jn]}class Icon extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$1a,create_fragment$1a,safe_not_equal,{width:0,height:1,icon:2,fill:3,stroke:4})}}function create_fragment$19(_n){let ke,Ce,$n;return{c(){ke=element("input"),attr(ke,"type","checkbox"),ke.value=_n[0],attr(ke,"class","switch"),ke.checked=_n[1]},m(Mn,Qn){insert$1(Mn,ke,Qn),Ce||($n=listen(ke,"change",_n[2]),Ce=!0)},p(Mn,[Qn]){Qn&1&&(ke.value=Mn[0]),Qn&2&&(ke.checked=Mn[1])},i:noop,o:noop,d(Mn){Mn&&detach(ke),Ce=!1,$n()}}}function instance$19(_n,ke,Ce){let{value:$n}=ke,{checked:Mn=!1}=ke;function Qn(Vn){bubble.call(this,_n,Vn)}return _n.$$set=Vn=>{"value"in Vn&&Ce(0,$n=Vn.value),"checked"in Vn&&Ce(1,Mn=Vn.checked)},[$n,Mn,Qn]}class Switch extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$19,create_fragment$19,safe_not_equal,{value:0,checked:1})}}function create_if_block_3$b(_n){let ke,Ce;return ke=new Switch({props:{value:"published",checked:_n[0].status==="published"}}),ke.$on("change",_n[1]),{c(){create_component(ke.$$.fragment)},m($n,Mn){mount_component(ke,$n,Mn),Ce=!0},p($n,Mn){const Qn={};Mn&1&&(Qn.checked=$n[0].status==="published"),ke.$set(Qn)},i($n){Ce||(transition_in(ke.$$.fragment,$n),Ce=!0)},o($n){transition_out(ke.$$.fragment,$n),Ce=!1},d($n){destroy_component(ke,$n)}}}function create_if_block_2$e(_n){let ke;return{c(){ke=text("Trashed")},m(Ce,$n){insert$1(Ce,ke,$n)},d(Ce){Ce&&detach(ke)}}}function create_if_block_1$s(_n){let ke;return{c(){ke=text("Draft")},m(Ce,$n){insert$1(Ce,ke,$n)},d(Ce){Ce&&detach(ke)}}}function create_if_block$Q(_n){let ke;return{c(){ke=text("Published")},m(Ce,$n){insert$1(Ce,ke,$n)},d(Ce){Ce&&detach(ke)}}}function create_fragment$18(_n){let ke,Ce,$n,Mn=_n[0].status!=="trashed"&&create_if_block_3$b(_n);function Qn(Zn,jn){if(Zn[0].status==="published")return create_if_block$Q;if(Zn[0].status==="draft")return create_if_block_1$s;if(Zn[0].status==="trashed")return create_if_block_2$e}let Vn=Qn(_n),qn=Vn&&Vn(_n);return{c(){Mn&&Mn.c(),ke=space$3(),qn&&qn.c(),Ce=empty$1()},m(Zn,jn){Mn&&Mn.m(Zn,jn),insert$1(Zn,ke,jn),qn&&qn.m(Zn,jn),insert$1(Zn,Ce,jn),$n=!0},p(Zn,[jn]){Zn[0].status!=="trashed"?Mn?(Mn.p(Zn,jn),jn&1&&transition_in(Mn,1)):(Mn=create_if_block_3$b(Zn),Mn.c(),transition_in(Mn,1),Mn.m(ke.parentNode,ke)):Mn&&(group_outros(),transition_out(Mn,1,1,()=>{Mn=null}),check_outros()),Vn!==(Vn=Qn(Zn))&&(qn&&qn.d(1),qn=Vn&&Vn(Zn),qn&&(qn.c(),qn.m(Ce.parentNode,Ce)))},i(Zn){$n||(transition_in(Mn),$n=!0)},o(Zn){transition_out(Mn),$n=!1},d(Zn){Zn&&(detach(ke),detach(Ce)),Mn&&Mn.d(Zn),qn&&qn.d(Zn)}}}function instance$18(_n,ke,Ce){let{status:$n="draft"}=ke,{record:Mn}=ke;function Qn(Vn){Vn.target.checked?Ce(2,$n="published"):Ce(2,$n="draft")}return _n.$$set=Vn=>{"status"in Vn&&Ce(2,$n=Vn.status),"record"in Vn&&Ce(0,Mn=Vn.record)},[Mn,Qn,$n]}class StatusSelect extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$18,create_fragment$18,safe_not_equal,{status:2,record:0})}}function create_if_block$P(_n){let ke,Ce;return ke=new Dropdown({props:{$$slots:{button:[create_button_slot$8],default:[create_default_slot$9]},$$scope:{ctx:_n}}}),{c(){create_component(ke.$$.fragment)},m($n,Mn){mount_component(ke,$n,Mn),Ce=!0},p($n,Mn){const Qn={};Mn&270&&(Qn.$$scope={dirty:Mn,ctx:$n}),ke.$set(Qn)},i($n){Ce||(transition_in(ke.$$.fragment,$n),Ce=!0)},o($n){transition_out(ke.$$.fragment,$n),Ce=!1},d($n){destroy_component(ke,$n)}}}function create_if_block_1$r(_n){let ke,Ce,$n,Mn;return{c(){ke=element("a"),Ce=text("Clone"),attr(ke,"class","dropdown-item"),attr(ke,"href",_n[4].lucentUrl)},m(Qn,Vn){insert$1(Qn,ke,Vn),append(ke,Ce),$n||(Mn=listen(ke,"click",_n[5]),$n=!0)},p:noop,d(Qn){Qn&&detach(ke),$n=!1,Mn()}}}function create_default_slot$9(_n){let ke,Ce,$n,Mn,Qn,Vn,qn,Zn,jn,Xn,zn,Hn=!_n[3]&&create_if_block_1$r(_n);return{c(){ke=element("h6"),ke.textContent="Record Actions",Ce=space$3(),$n=element("a"),Mn=text("Create new"),Vn=space$3(),Hn&&Hn.c(),qn=space$3(),Zn=element("a"),jn=text("Revisions"),attr(ke,"class","dropdown-header"),attr($n,"class","dropdown-item"),attr($n,"href",Qn=_n[4].lucentUrl+"/records/new?schema="+_n[2].name),attr(Zn,"class","dropdown-item"),attr(Zn,"href",_n[4].lucentUrl)},m(Wn,Yn){insert$1(Wn,ke,Yn),insert$1(Wn,Ce,Yn),insert$1(Wn,$n,Yn),append($n,Mn),insert$1(Wn,Vn,Yn),Hn&&Hn.m(Wn,Yn),insert$1(Wn,qn,Yn),insert$1(Wn,Zn,Yn),append(Zn,jn),Xn||(zn=listen(Zn,"click",prevent_default(_n[6])),Xn=!0)},p(Wn,Yn){Yn&4&&Qn!==(Qn=Wn[4].lucentUrl+"/records/new?schema="+Wn[2].name)&&attr($n,"href",Qn),Wn[3]?Hn&&(Hn.d(1),Hn=null):Hn?Hn.p(Wn,Yn):(Hn=create_if_block_1$r(Wn),Hn.c(),Hn.m(qn.parentNode,qn))},d(Wn){Wn&&(detach(ke),detach(Ce),detach($n),detach(Vn),detach(qn),detach(Zn)),Hn&&Hn.d(Wn),Xn=!1,zn()}}}function create_button_slot$8(_n){let ke,Ce,$n;return Ce=new Icon({props:{icon:"ellipsis"}}),{c(){ke=element("div"),create_component(Ce.$$.fragment),attr(ke,"slot","button")},m(Mn,Qn){insert$1(Mn,ke,Qn),mount_component(Ce,ke,null),$n=!0},p:noop,i(Mn){$n||(transition_in(Ce.$$.fragment,Mn),$n=!0)},o(Mn){transition_out(Ce.$$.fragment,Mn),$n=!1},d(Mn){Mn&&detach(ke),destroy_component(Ce)}}}function create_fragment$17(_n){let ke,Ce,$n,Mn,Qn,Vn=!_n[3]&&create_if_block$P(_n);function qn(jn){_n[7](jn)}let Zn={record:_n[0]};return _n[0].status!==void 0&&(Zn.status=_n[0].status),$n=new StatusSelect({props:Zn}),binding_callbacks.push(()=>bind($n,"status",qn)),{c(){ke=element("div"),Vn&&Vn.c(),Ce=space$3(),create_component($n.$$.fragment),set_style(ke,"display","flex"),set_style(ke,"align-items","center"),set_style(ke,"gap","10px")},m(jn,Xn){insert$1(jn,ke,Xn),Vn&&Vn.m(ke,null),append(ke,Ce),mount_component($n,ke,null),Qn=!0},p(jn,[Xn]){jn[3]?Vn&&(group_outros(),transition_out(Vn,1,1,()=>{Vn=null}),check_outros()):Vn?(Vn.p(jn,Xn),Xn&8&&transition_in(Vn,1)):(Vn=create_if_block$P(jn),Vn.c(),transition_in(Vn,1),Vn.m(ke,Ce));const zn={};Xn&1&&(zn.record=jn[0]),!Mn&&Xn&1&&(Mn=!0,zn.status=jn[0].status,add_flush_callback(()=>Mn=!1)),$n.$set(zn)},i(jn){Qn||(transition_in(Vn),transition_in($n.$$.fragment,jn),Qn=!0)},o(jn){transition_out(Vn),transition_out($n.$$.fragment,jn),Qn=!1},d(jn){jn&&detach(ke),Vn&&Vn.d(),destroy_component($n)}}}function instance$17(_n,ke,Ce){const $n=getContext$1("channel");let{schema:Mn}=ke,{record:Qn}=ke,{isCreateMode:Vn}=ke,{activeContentTab:qn}=ke;function Zn(zn){zn.preventDefault(),axios.post($n.lucentUrl+"/records/clone/"+Qn.id).then(Hn=>{window.location=$n.lucentUrl+"/records/"+Hn.data.id}).catch(Hn=>{})}const jn=zn=>Ce(1,qn="_info");function Xn(zn){_n.$$.not_equal(Qn.status,zn)&&(Qn.status=zn,Ce(0,Qn))}return _n.$$set=zn=>{"schema"in zn&&Ce(2,Mn=zn.schema),"record"in zn&&Ce(0,Qn=zn.record),"isCreateMode"in zn&&Ce(3,Vn=zn.isCreateMode),"activeContentTab"in zn&&Ce(1,qn=zn.activeContentTab)},[Qn,qn,Mn,Vn,$n,Zn,jn,Xn]}class EditHeader extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$17,create_fragment$17,safe_not_equal,{schema:2,record:0,isCreateMode:3,activeContentTab:1})}}function imgurl(_n,ke){if(ke._file.mime==="image/svg+xml")return fileurl(_n,ke);const Ce=ke._file.path.split("/");return _n.disks[ke._file.disk]+`/${Ce[0]}/thumbs/${Ce[1]}`}function fileurl(_n,ke){return _n.disks[ke._file.disk]+`/${ke._file.path}`}function htmlurl(_n,ke,Ce){let $n="",Mn=fileurl(_n,ke);if(ke._file.width>0){let Qn=Mn;if(Ce){const Vn=ke._file.path.split("/");Qn=_n.disks[ke._file.disk]+`/${Vn[0]}/templates/${Ce}/${Vn[1]}`}$n=`${ke._file.path}`}else ke._file.mime==="image/svg+xml"?$n=`${ke._file.path}`:$n=`${ke._file.originalName}`;return $n}function create_if_block_1$q(_n){let ke,Ce,$n,Mn,Qn;const Vn=[create_if_block_2$d,create_else_block$o],qn=[];function Zn(jn,Xn){return Xn&1&&(ke=null),ke==null&&(ke=!!jn[0]._file.mime.startsWith("image")),ke?0:1}return Ce=Zn(_n,-1),$n=qn[Ce]=Vn[Ce](_n),{c(){$n.c(),Mn=empty$1()},m(jn,Xn){qn[Ce].m(jn,Xn),insert$1(jn,Mn,Xn),Qn=!0},p(jn,Xn){let zn=Ce;Ce=Zn(jn,Xn),Ce===zn?qn[Ce].p(jn,Xn):(group_outros(),transition_out(qn[zn],1,1,()=>{qn[zn]=null}),check_outros(),$n=qn[Ce],$n?$n.p(jn,Xn):($n=qn[Ce]=Vn[Ce](jn),$n.c()),transition_in($n,1),$n.m(Mn.parentNode,Mn))},i(jn){Qn||(transition_in($n),Qn=!0)},o(jn){transition_out($n),Qn=!1},d(jn){jn&&detach(Mn),qn[Ce].d(jn)}}}function create_else_block$o(_n){let ke,Ce,$n,Mn,Qn,Vn=_n[0]._file.path.split(".").pop().toLowerCase()+"",qn,Zn,jn,Xn;return Ce=new Icon({props:{icon:"file",width:_n[3],height:_n[3]}}),{c(){ke=element("a"),create_component(Ce.$$.fragment),$n=space$3(),Mn=element("span"),Qn=text("."),qn=text(Vn),attr(Mn,"class","ms-2"),attr(ke,"href",Zn=_n[4].lucentUrl+"/records/"+_n[0].id),attr(ke,"title",jn=_n[0]._file.path),attr(ke,"class","file-preview-small"),set_style(ke,"width",_n[2]+"px"),set_style(ke,"height",_n[2]+"px")},m(zn,Hn){insert$1(zn,ke,Hn),mount_component(Ce,ke,null),append(ke,$n),append(ke,Mn),append(Mn,Qn),append(Mn,qn),Xn=!0},p(zn,Hn){const Wn={};Hn&8&&(Wn.width=zn[3]),Hn&8&&(Wn.height=zn[3]),Ce.$set(Wn),(!Xn||Hn&1)&&Vn!==(Vn=zn[0]._file.path.split(".").pop().toLowerCase()+"")&&set_data(qn,Vn),(!Xn||Hn&1&&Zn!==(Zn=zn[4].lucentUrl+"/records/"+zn[0].id))&&attr(ke,"href",Zn),(!Xn||Hn&1&&jn!==(jn=zn[0]._file.path))&&attr(ke,"title",jn),(!Xn||Hn&4)&&set_style(ke,"width",zn[2]+"px"),(!Xn||Hn&4)&&set_style(ke,"height",zn[2]+"px")},i(zn){Xn||(transition_in(Ce.$$.fragment,zn),Xn=!0)},o(zn){transition_out(Ce.$$.fragment,zn),Xn=!1},d(zn){zn&&detach(ke),destroy_component(Ce)}}}function create_if_block_2$d(_n){let ke,Ce,$n,Mn,Qn,Vn;return{c(){ke=element("a"),Ce=element("img"),attr(Ce,"class","rounded w-100 svelte-1mb3bsz"),src_url_equal(Ce.src,$n=imgurl(_n[4],_n[0]))||attr(Ce,"src",$n),attr(Ce,"alt",Mn=_n[0]._file.path),attr(ke,"href",Qn=_n[4].lucentUrl+"/records/"+_n[0].id),attr(ke,"title",Vn=_n[0]._file.originalName),set_style(ke,"width",_n[2]+"px"),set_style(ke,"height",_n[2]+"px")},m(qn,Zn){insert$1(qn,ke,Zn),append(ke,Ce)},p(qn,Zn){Zn&1&&!src_url_equal(Ce.src,$n=imgurl(qn[4],qn[0]))&&attr(Ce,"src",$n),Zn&1&&Mn!==(Mn=qn[0]._file.path)&&attr(Ce,"alt",Mn),Zn&1&&Qn!==(Qn=qn[4].lucentUrl+"/records/"+qn[0].id)&&attr(ke,"href",Qn),Zn&1&&Vn!==(Vn=qn[0]._file.originalName)&&attr(ke,"title",Vn),Zn&4&&set_style(ke,"width",qn[2]+"px"),Zn&4&&set_style(ke,"height",qn[2]+"px")},i:noop,o:noop,d(qn){qn&&detach(ke)}}}function create_if_block$O(_n){let ke,Ce=_n[0]._file.path+"",$n,Mn,Qn;return{c(){ke=element("a"),$n=text(Ce),attr(ke,"href",Mn=_n[4].lucentUrl+"/records/"+_n[0].id),attr(ke,"title",Qn=_n[0]._file.path),attr(ke,"class","preview-file-filename lx-small-text text-decoration-none")},m(Vn,qn){insert$1(Vn,ke,qn),append(ke,$n)},p(Vn,qn){qn&1&&Ce!==(Ce=Vn[0]._file.path+"")&&set_data($n,Ce),qn&1&&Mn!==(Mn=Vn[4].lucentUrl+"/records/"+Vn[0].id)&&attr(ke,"href",Mn),qn&1&&Qn!==(Qn=Vn[0]._file.path)&&attr(ke,"title",Qn)},d(Vn){Vn&&detach(ke)}}}function create_fragment$16(_n){let ke,Ce,$n,Mn=_n[0]&&create_if_block_1$q(_n),Qn=_n[1]&&create_if_block$O(_n);return{c(){ke=element("div"),Mn&&Mn.c(),Ce=space$3(),Qn&&Qn.c(),set_style(ke,"display","flex"),set_style(ke,"align-items","center"),set_style(ke,"gap","5px")},m(Vn,qn){insert$1(Vn,ke,qn),Mn&&Mn.m(ke,null),append(ke,Ce),Qn&&Qn.m(ke,null),$n=!0},p(Vn,[qn]){Vn[0]?Mn?(Mn.p(Vn,qn),qn&1&&transition_in(Mn,1)):(Mn=create_if_block_1$q(Vn),Mn.c(),transition_in(Mn,1),Mn.m(ke,Ce)):Mn&&(group_outros(),transition_out(Mn,1,1,()=>{Mn=null}),check_outros()),Vn[1]?Qn?Qn.p(Vn,qn):(Qn=create_if_block$O(Vn),Qn.c(),Qn.m(ke,null)):Qn&&(Qn.d(1),Qn=null)},i(Vn){$n||(transition_in(Mn),$n=!0)},o(Vn){transition_out(Mn),$n=!1},d(Vn){Vn&&detach(ke),Mn&&Mn.d(),Qn&&Qn.d()}}}function instance$16(_n,ke,Ce){let{record:$n}=ke;const Mn=getContext$1("channel");let{size:Qn="small"}=ke,{showFilename:Vn=!1}=ke,qn,Zn;return Qn=="large"?(qn=256,Zn=32):Qn=="medium"?(qn=128,Zn=12):Qn=="small"?(qn=64,Zn=12):Qn=="tiny"&&(qn=42,Zn=12),_n.$$set=jn=>{"record"in jn&&Ce(0,$n=jn.record),"size"in jn&&Ce(5,Qn=jn.size),"showFilename"in jn&&Ce(1,Vn=jn.showFilename)},[$n,Vn,qn,Zn,Mn,Qn]}class Preview extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$16,create_fragment$16,safe_not_equal,{record:0,size:5,showFilename:1})}}function create_if_block$N(_n){let ke,Ce,$n,Mn,Qn,Vn,qn,Zn,jn,Xn=_n[0]._file.path+"",zn,Hn,Wn,Yn,Un,Gn,Kn=_n[0]._file.originalName+"",Jn,tr,nr,er,rr,or,ir=_n[0]._file.mime+"",sr,cr,ur,fr,pr,mr,_r,vr=(_n[0]._file.size/1024).toFixed(1)+"",hr,br,Er,Cr,Mr,yr,Pr,Qr=_n[0]._file.checksum+"",Nr,Or,kr,Ar,jr,qr,Fr;$n=new Preview({props:{record:_n[0],size:"large"}});let Xr=_n[0]._file.width&&create_if_block_1$p(_n);return{c(){ke=element("div"),Ce=element("div"),create_component($n.$$.fragment),Mn=space$3(),Qn=element("div"),Vn=element("div"),qn=element("span"),qn.textContent="Filename",Zn=space$3(),jn=element("span"),zn=text(Xn),Hn=space$3(),Wn=element("div"),Yn=element("span"),Yn.textContent="Original name",Un=space$3(),Gn=element("span"),Jn=text(Kn),tr=space$3(),nr=element("div"),er=element("span"),er.textContent="Mime type",rr=space$3(),or=element("span"),sr=text(ir),cr=space$3(),Xr&&Xr.c(),ur=space$3(),fr=element("div"),pr=element("span"),pr.textContent="File size",mr=space$3(),_r=element("span"),hr=text(vr),br=text("kB"),Er=space$3(),Cr=element("div"),Mr=element("span"),Mr.textContent="Checksum",yr=space$3(),Pr=element("span"),Nr=text(Qr),Or=space$3(),kr=element("div"),Ar=element("a"),jr=text("Download"),attr(qn,"class","text-muted"),attr(Vn,"class","file-details-item"),attr(Yn,"class","text-muted"),attr(Wn,"class","file-details-item"),attr(er,"class","text-muted"),attr(nr,"class","file-details-item"),attr(pr,"class","text-muted"),attr(fr,"class","file-details-item"),attr(Mr,"class","text-muted"),attr(Cr,"class","file-details-item"),attr(Ar,"class","button primary"),attr(Ar,"target","_blank"),set_style(Ar,"display","inline-flex"),attr(Ar,"href",qr=fileurl(_n[2],_n[0])),attr(kr,"class","file-details-item"),attr(Qn,"class","file-details"),attr(ke,"class","record-edit-file-preview")},m(Ir,Hr){insert$1(Ir,ke,Hr),append(ke,Ce),mount_component($n,Ce,null),append(ke,Mn),append(ke,Qn),append(Qn,Vn),append(Vn,qn),append(Vn,Zn),append(Vn,jn),append(jn,zn),append(Qn,Hn),append(Qn,Wn),append(Wn,Yn),append(Wn,Un),append(Wn,Gn),append(Gn,Jn),append(Qn,tr),append(Qn,nr),append(nr,er),append(nr,rr),append(nr,or),append(or,sr),append(Qn,cr),Xr&&Xr.m(Qn,null),append(Qn,ur),append(Qn,fr),append(fr,pr),append(fr,mr),append(fr,_r),append(_r,hr),append(_r,br),append(Qn,Er),append(Qn,Cr),append(Cr,Mr),append(Cr,yr),append(Cr,Pr),append(Pr,Nr),append(Qn,Or),append(Qn,kr),append(kr,Ar),append(Ar,jr),Fr=!0},p(Ir,Hr){const Vr={};Hr&1&&(Vr.record=Ir[0]),$n.$set(Vr),(!Fr||Hr&1)&&Xn!==(Xn=Ir[0]._file.path+"")&&set_data(zn,Xn),(!Fr||Hr&1)&&Kn!==(Kn=Ir[0]._file.originalName+"")&&set_data(Jn,Kn),(!Fr||Hr&1)&&ir!==(ir=Ir[0]._file.mime+"")&&set_data(sr,ir),Ir[0]._file.width?Xr?Xr.p(Ir,Hr):(Xr=create_if_block_1$p(Ir),Xr.c(),Xr.m(Qn,ur)):Xr&&(Xr.d(1),Xr=null),(!Fr||Hr&1)&&vr!==(vr=(Ir[0]._file.size/1024).toFixed(1)+"")&&set_data(hr,vr),(!Fr||Hr&1)&&Qr!==(Qr=Ir[0]._file.checksum+"")&&set_data(Nr,Qr),(!Fr||Hr&1&&qr!==(qr=fileurl(Ir[2],Ir[0])))&&attr(Ar,"href",qr)},i(Ir){Fr||(transition_in($n.$$.fragment,Ir),Fr=!0)},o(Ir){transition_out($n.$$.fragment,Ir),Fr=!1},d(Ir){Ir&&detach(ke),destroy_component($n),Xr&&Xr.d()}}}function create_if_block_1$p(_n){let ke,Ce,$n,Mn,Qn=_n[0]._file.width+"",Vn,qn,Zn=_n[0]._file.height+"",jn;return{c(){ke=element("div"),Ce=element("span"),Ce.textContent="Dimensions",$n=space$3(),Mn=element("span"),Vn=text(Qn),qn=text("x"),jn=text(Zn),attr(Ce,"class","text-muted"),attr(ke,"class","file-details-item")},m(Xn,zn){insert$1(Xn,ke,zn),append(ke,Ce),append(ke,$n),append(ke,Mn),append(Mn,Vn),append(Mn,qn),append(Mn,jn)},p(Xn,zn){zn&1&&Qn!==(Qn=Xn[0]._file.width+"")&&set_data(Vn,Qn),zn&1&&Zn!==(Zn=Xn[0]._file.height+"")&&set_data(jn,Zn)},d(Xn){Xn&&detach(ke)}}}function create_fragment$15(_n){let ke,Ce,$n=_n[1].type==="files"&&create_if_block$N(_n);return{c(){$n&&$n.c(),ke=empty$1()},m(Mn,Qn){$n&&$n.m(Mn,Qn),insert$1(Mn,ke,Qn),Ce=!0},p(Mn,[Qn]){Mn[1].type==="files"?$n?($n.p(Mn,Qn),Qn&2&&transition_in($n,1)):($n=create_if_block$N(Mn),$n.c(),transition_in($n,1),$n.m(ke.parentNode,ke)):$n&&(group_outros(),transition_out($n,1,1,()=>{$n=null}),check_outros())},i(Mn){Ce||(transition_in($n),Ce=!0)},o(Mn){transition_out($n),Ce=!1},d(Mn){Mn&&detach(ke),$n&&$n.d(Mn)}}}function instance$15(_n,ke,Ce){const $n=getContext$1("channel");let{record:Mn}=ke,{schema:Qn}=ke;return _n.$$set=Vn=>{"record"in Vn&&Ce(0,Mn=Vn.record),"schema"in Vn&&Ce(1,Qn=Vn.schema)},[Mn,Qn,$n]}class FilePreview extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$15,create_fragment$15,safe_not_equal,{record:0,schema:1})}}function get_each_context$o(_n,ke,Ce){const $n=_n.slice();return $n[9]=ke[Ce],$n}function create_if_block$M(_n){let ke,Ce=ensure_array_like(_n[1]),$n=[];for(let Mn=0;Mn1&&create_if_block$M(_n);return{c(){Ce&&Ce.c(),ke=empty$1()},m($n,Mn){Ce&&Ce.m($n,Mn),insert$1($n,ke,Mn)},p($n,[Mn]){$n[1].length>1?Ce?Ce.p($n,Mn):(Ce=create_if_block$M($n),Ce.c(),Ce.m(ke.parentNode,ke)):Ce&&(Ce.d(1),Ce=null)},i:noop,o:noop,d($n){$n&&detach(ke),Ce&&Ce.d($n)}}}function instance$14(_n,ke,Ce){var Hn;let{schema:$n}=ke,{isCreateMode:Mn}=ke,{active:Qn=""}=ke,Vn=((Hn=$n.groups)==null?void 0:Hn.map(Wn=>({label:Wn,name:Wn})))??[],qn={label:"Main",name:""},Zn={label:"Backlinks",name:"_graph"};Mn?Vn=[qn,...Vn]:Vn=[qn,...Vn,Zn];function jn(Wn){Wn.preventDefault(),Ce(0,Qn="_graph")}function Xn(Wn,Yn){Wn.preventDefault(),Yn=="_graph"?jn(Wn):Ce(0,Qn=Yn)}const zn=(Wn,Yn)=>Xn(Yn,Wn.name);return _n.$$set=Wn=>{"schema"in Wn&&Ce(3,$n=Wn.schema),"isCreateMode"in Wn&&Ce(4,Mn=Wn.isCreateMode),"active"in Wn&&Ce(0,Qn=Wn.active)},[Qn,Vn,Xn,$n,Mn,zn]}class ContentTabs extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$14,create_fragment$14,safe_not_equal,{schema:3,isCreateMode:4,active:0})}}function getErrorMessage(_n,ke){return _n&&_n[ke]?_n[ke].message:null}function isArray$1(_n){return Array.isArray?Array.isArray(_n):getTag(_n)==="[object Array]"}const INFINITY=1/0;function baseToString(_n){if(typeof _n=="string")return _n;let ke=_n+"";return ke=="0"&&1/_n==-INFINITY?"-0":ke}function toString(_n){return _n==null?"":baseToString(_n)}function isString(_n){return typeof _n=="string"}function isNumber(_n){return typeof _n=="number"}function isBoolean(_n){return _n===!0||_n===!1||isObjectLike(_n)&&getTag(_n)=="[object Boolean]"}function isObject(_n){return typeof _n=="object"}function isObjectLike(_n){return isObject(_n)&&_n!==null}function isDefined(_n){return _n!=null}function isBlank(_n){return!_n.trim().length}function getTag(_n){return _n==null?_n===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(_n)}const EXTENDED_SEARCH_UNAVAILABLE="Extended search is not available",INCORRECT_INDEX_TYPE="Incorrect 'index' type",LOGICAL_SEARCH_INVALID_QUERY_FOR_KEY=_n=>`Invalid value for key ${_n}`,PATTERN_LENGTH_TOO_LARGE=_n=>`Pattern length exceeds max of ${_n}.`,MISSING_KEY_PROPERTY=_n=>`Missing ${_n} property in key`,INVALID_KEY_WEIGHT_VALUE=_n=>`Property 'weight' in key '${_n}' must be a positive integer`,hasOwn=Object.prototype.hasOwnProperty;class KeyStore{constructor(ke){this._keys=[],this._keyMap={};let Ce=0;ke.forEach($n=>{let Mn=createKey($n);this._keys.push(Mn),this._keyMap[Mn.id]=Mn,Ce+=Mn.weight}),this._keys.forEach($n=>{$n.weight/=Ce})}get(ke){return this._keyMap[ke]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}}function createKey(_n){let ke=null,Ce=null,$n=null,Mn=1,Qn=null;if(isString(_n)||isArray$1(_n))$n=_n,ke=createKeyPath(_n),Ce=createKeyId(_n);else{if(!hasOwn.call(_n,"name"))throw new Error(MISSING_KEY_PROPERTY("name"));const Vn=_n.name;if($n=Vn,hasOwn.call(_n,"weight")&&(Mn=_n.weight,Mn<=0))throw new Error(INVALID_KEY_WEIGHT_VALUE(Vn));ke=createKeyPath(Vn),Ce=createKeyId(Vn),Qn=_n.getFn}return{path:ke,id:Ce,weight:Mn,src:$n,getFn:Qn}}function createKeyPath(_n){return isArray$1(_n)?_n:_n.split(".")}function createKeyId(_n){return isArray$1(_n)?_n.join("."):_n}function get(_n,ke){let Ce=[],$n=!1;const Mn=(Qn,Vn,qn)=>{if(isDefined(Qn))if(!Vn[qn])Ce.push(Qn);else{let Zn=Vn[qn];const jn=Qn[Zn];if(!isDefined(jn))return;if(qn===Vn.length-1&&(isString(jn)||isNumber(jn)||isBoolean(jn)))Ce.push(toString(jn));else if(isArray$1(jn)){$n=!0;for(let Xn=0,zn=jn.length;Xn_n.score===ke.score?_n.idx{this._keysMap[Ce.id]=$n})}create(){this.isCreated||!this.docs.length||(this.isCreated=!0,isString(this.docs[0])?this.docs.forEach((ke,Ce)=>{this._addString(ke,Ce)}):this.docs.forEach((ke,Ce)=>{this._addObject(ke,Ce)}),this.norm.clear())}add(ke){const Ce=this.size();isString(ke)?this._addString(ke,Ce):this._addObject(ke,Ce)}removeAt(ke){this.records.splice(ke,1);for(let Ce=ke,$n=this.size();Ce<$n;Ce+=1)this.records[Ce].i-=1}getValueForItemAtKeyId(ke,Ce){return ke[this._keysMap[Ce]]}size(){return this.records.length}_addString(ke,Ce){if(!isDefined(ke)||isBlank(ke))return;let $n={v:ke,i:Ce,n:this.norm.get(ke)};this.records.push($n)}_addObject(ke,Ce){let $n={i:Ce,$:{}};this.keys.forEach((Mn,Qn)=>{let Vn=Mn.getFn?Mn.getFn(ke):this.getFn(ke,Mn.path);if(isDefined(Vn)){if(isArray$1(Vn)){let qn=[];const Zn=[{nestedArrIndex:-1,value:Vn}];for(;Zn.length;){const{nestedArrIndex:jn,value:Xn}=Zn.pop();if(isDefined(Xn))if(isString(Xn)&&!isBlank(Xn)){let zn={v:Xn,i:jn,n:this.norm.get(Xn)};qn.push(zn)}else isArray$1(Xn)&&Xn.forEach((zn,Hn)=>{Zn.push({nestedArrIndex:Hn,value:zn})})}$n.$[Qn]=qn}else if(isString(Vn)&&!isBlank(Vn)){let qn={v:Vn,n:this.norm.get(Vn)};$n.$[Qn]=qn}}}),this.records.push($n)}toJSON(){return{keys:this.keys,records:this.records}}}function createIndex(_n,ke,{getFn:Ce=Config.getFn,fieldNormWeight:$n=Config.fieldNormWeight}={}){const Mn=new FuseIndex({getFn:Ce,fieldNormWeight:$n});return Mn.setKeys(_n.map(createKey)),Mn.setSources(ke),Mn.create(),Mn}function parseIndex(_n,{getFn:ke=Config.getFn,fieldNormWeight:Ce=Config.fieldNormWeight}={}){const{keys:$n,records:Mn}=_n,Qn=new FuseIndex({getFn:ke,fieldNormWeight:Ce});return Qn.setKeys($n),Qn.setIndexRecords(Mn),Qn}function computeScore$1(_n,{errors:ke=0,currentLocation:Ce=0,expectedLocation:$n=0,distance:Mn=Config.distance,ignoreLocation:Qn=Config.ignoreLocation}={}){const Vn=ke/_n.length;if(Qn)return Vn;const qn=Math.abs($n-Ce);return Mn?Vn+qn/Mn:qn?1:Vn}function convertMaskToIndices(_n=[],ke=Config.minMatchCharLength){let Ce=[],$n=-1,Mn=-1,Qn=0;for(let Vn=_n.length;Qn=ke&&Ce.push([$n,Mn]),$n=-1)}return _n[Qn-1]&&Qn-$n>=ke&&Ce.push([$n,Qn-1]),Ce}const MAX_BITS=32;function search(_n,ke,Ce,{location:$n=Config.location,distance:Mn=Config.distance,threshold:Qn=Config.threshold,findAllMatches:Vn=Config.findAllMatches,minMatchCharLength:qn=Config.minMatchCharLength,includeMatches:Zn=Config.includeMatches,ignoreLocation:jn=Config.ignoreLocation}={}){if(ke.length>MAX_BITS)throw new Error(PATTERN_LENGTH_TOO_LARGE(MAX_BITS));const Xn=ke.length,zn=_n.length,Hn=Math.max(0,Math.min($n,zn));let Wn=Qn,Yn=Hn;const Un=qn>1||Zn,Gn=Un?Array(zn):[];let Kn;for(;(Kn=_n.indexOf(ke,Yn))>-1;){let or=computeScore$1(ke,{currentLocation:Kn,expectedLocation:Hn,distance:Mn,ignoreLocation:jn});if(Wn=Math.min(or,Wn),Yn=Kn+Xn,Un){let ir=0;for(;ir=cr;mr-=1){let _r=mr-1,vr=Ce[_n.charAt(_r)];if(Un&&(Gn[_r]=+!!vr),fr[mr]=(fr[mr+1]<<1|1)&vr,or&&(fr[mr]|=(Jn[mr+1]|Jn[mr])<<1|1|Jn[mr+1]),fr[mr]&er&&(tr=computeScore$1(ke,{errors:or,currentLocation:_r,expectedLocation:Hn,distance:Mn,ignoreLocation:jn}),tr<=Wn)){if(Wn=tr,Yn=_r,Yn<=Hn)break;cr=Math.max(1,2*Hn-Yn)}}if(computeScore$1(ke,{errors:or+1,currentLocation:Hn,expectedLocation:Hn,distance:Mn,ignoreLocation:jn})>Wn)break;Jn=fr}const rr={isMatch:Yn>=0,score:Math.max(.001,tr)};if(Un){const or=convertMaskToIndices(Gn,qn);or.length?Zn&&(rr.indices=or):rr.isMatch=!1}return rr}function createPatternAlphabet(_n){let ke={};for(let Ce=0,$n=_n.length;Ce<$n;Ce+=1){const Mn=_n.charAt(Ce);ke[Mn]=(ke[Mn]||0)|1<<$n-Ce-1}return ke}class BitapSearch{constructor(ke,{location:Ce=Config.location,threshold:$n=Config.threshold,distance:Mn=Config.distance,includeMatches:Qn=Config.includeMatches,findAllMatches:Vn=Config.findAllMatches,minMatchCharLength:qn=Config.minMatchCharLength,isCaseSensitive:Zn=Config.isCaseSensitive,ignoreLocation:jn=Config.ignoreLocation}={}){if(this.options={location:Ce,threshold:$n,distance:Mn,includeMatches:Qn,findAllMatches:Vn,minMatchCharLength:qn,isCaseSensitive:Zn,ignoreLocation:jn},this.pattern=Zn?ke:ke.toLowerCase(),this.chunks=[],!this.pattern.length)return;const Xn=(Hn,Wn)=>{this.chunks.push({pattern:Hn,alphabet:createPatternAlphabet(Hn),startIndex:Wn})},zn=this.pattern.length;if(zn>MAX_BITS){let Hn=0;const Wn=zn%MAX_BITS,Yn=zn-Wn;for(;Hn{const{isMatch:Kn,score:Jn,indices:tr}=search(ke,Yn,Un,{location:Mn+Gn,distance:Qn,threshold:Vn,findAllMatches:qn,minMatchCharLength:Zn,includeMatches:$n,ignoreLocation:jn});Kn&&(Hn=!0),zn+=Jn,Kn&&tr&&(Xn=[...Xn,...tr])});let Wn={isMatch:Hn,score:Hn?zn/this.chunks.length:1};return Hn&&$n&&(Wn.indices=Xn),Wn}}class BaseMatch{constructor(ke){this.pattern=ke}static isMultiMatch(ke){return getMatch(ke,this.multiRegex)}static isSingleMatch(ke){return getMatch(ke,this.singleRegex)}search(){}}function getMatch(_n,ke){const Ce=_n.match(ke);return Ce?Ce[1]:null}class ExactMatch extends BaseMatch{constructor(ke){super(ke)}static get type(){return"exact"}static get multiRegex(){return/^="(.*)"$/}static get singleRegex(){return/^=(.*)$/}search(ke){const Ce=ke===this.pattern;return{isMatch:Ce,score:Ce?0:1,indices:[0,this.pattern.length-1]}}}class InverseExactMatch extends BaseMatch{constructor(ke){super(ke)}static get type(){return"inverse-exact"}static get multiRegex(){return/^!"(.*)"$/}static get singleRegex(){return/^!(.*)$/}search(ke){const $n=ke.indexOf(this.pattern)===-1;return{isMatch:$n,score:$n?0:1,indices:[0,ke.length-1]}}}class PrefixExactMatch extends BaseMatch{constructor(ke){super(ke)}static get type(){return"prefix-exact"}static get multiRegex(){return/^\^"(.*)"$/}static get singleRegex(){return/^\^(.*)$/}search(ke){const Ce=ke.startsWith(this.pattern);return{isMatch:Ce,score:Ce?0:1,indices:[0,this.pattern.length-1]}}}class InversePrefixExactMatch extends BaseMatch{constructor(ke){super(ke)}static get type(){return"inverse-prefix-exact"}static get multiRegex(){return/^!\^"(.*)"$/}static get singleRegex(){return/^!\^(.*)$/}search(ke){const Ce=!ke.startsWith(this.pattern);return{isMatch:Ce,score:Ce?0:1,indices:[0,ke.length-1]}}}class SuffixExactMatch extends BaseMatch{constructor(ke){super(ke)}static get type(){return"suffix-exact"}static get multiRegex(){return/^"(.*)"\$$/}static get singleRegex(){return/^(.*)\$$/}search(ke){const Ce=ke.endsWith(this.pattern);return{isMatch:Ce,score:Ce?0:1,indices:[ke.length-this.pattern.length,ke.length-1]}}}class InverseSuffixExactMatch extends BaseMatch{constructor(ke){super(ke)}static get type(){return"inverse-suffix-exact"}static get multiRegex(){return/^!"(.*)"\$$/}static get singleRegex(){return/^!(.*)\$$/}search(ke){const Ce=!ke.endsWith(this.pattern);return{isMatch:Ce,score:Ce?0:1,indices:[0,ke.length-1]}}}class FuzzyMatch extends BaseMatch{constructor(ke,{location:Ce=Config.location,threshold:$n=Config.threshold,distance:Mn=Config.distance,includeMatches:Qn=Config.includeMatches,findAllMatches:Vn=Config.findAllMatches,minMatchCharLength:qn=Config.minMatchCharLength,isCaseSensitive:Zn=Config.isCaseSensitive,ignoreLocation:jn=Config.ignoreLocation}={}){super(ke),this._bitapSearch=new BitapSearch(ke,{location:Ce,threshold:$n,distance:Mn,includeMatches:Qn,findAllMatches:Vn,minMatchCharLength:qn,isCaseSensitive:Zn,ignoreLocation:jn})}static get type(){return"fuzzy"}static get multiRegex(){return/^"(.*)"$/}static get singleRegex(){return/^(.*)$/}search(ke){return this._bitapSearch.searchIn(ke)}}class IncludeMatch extends BaseMatch{constructor(ke){super(ke)}static get type(){return"include"}static get multiRegex(){return/^'"(.*)"$/}static get singleRegex(){return/^'(.*)$/}search(ke){let Ce=0,$n;const Mn=[],Qn=this.pattern.length;for(;($n=ke.indexOf(this.pattern,Ce))>-1;)Ce=$n+Qn,Mn.push([$n,Ce-1]);const Vn=!!Mn.length;return{isMatch:Vn,score:Vn?0:1,indices:Mn}}}const searchers=[ExactMatch,IncludeMatch,PrefixExactMatch,InversePrefixExactMatch,InverseSuffixExactMatch,SuffixExactMatch,InverseExactMatch,FuzzyMatch],searchersLen=searchers.length,SPACE_RE=/ +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/,OR_TOKEN="|";function parseQuery(_n,ke={}){return _n.split(OR_TOKEN).map(Ce=>{let $n=Ce.trim().split(SPACE_RE).filter(Qn=>Qn&&!!Qn.trim()),Mn=[];for(let Qn=0,Vn=$n.length;Qn!!(_n[LogicalOperator.AND]||_n[LogicalOperator.OR]),isPath=_n=>!!_n[KeyType.PATH],isLeaf=_n=>!isArray$1(_n)&&isObject(_n)&&!isExpression(_n),convertToExplicit=_n=>({[LogicalOperator.AND]:Object.keys(_n).map(ke=>({[ke]:_n[ke]}))});function parse(_n,ke,{auto:Ce=!0}={}){const $n=Mn=>{let Qn=Object.keys(Mn);const Vn=isPath(Mn);if(!Vn&&Qn.length>1&&!isExpression(Mn))return $n(convertToExplicit(Mn));if(isLeaf(Mn)){const Zn=Vn?Mn[KeyType.PATH]:Qn[0],jn=Vn?Mn[KeyType.PATTERN]:Mn[Zn];if(!isString(jn))throw new Error(LOGICAL_SEARCH_INVALID_QUERY_FOR_KEY(Zn));const Xn={keyId:createKeyId(Zn),pattern:jn};return Ce&&(Xn.searcher=createSearcher(jn,ke)),Xn}let qn={children:[],operator:Qn[0]};return Qn.forEach(Zn=>{const jn=Mn[Zn];isArray$1(jn)&&jn.forEach(Xn=>{qn.children.push($n(Xn))})}),qn};return isExpression(_n)||(_n=convertToExplicit(_n)),$n(_n)}function computeScore(_n,{ignoreFieldNorm:ke=Config.ignoreFieldNorm}){_n.forEach(Ce=>{let $n=1;Ce.matches.forEach(({key:Mn,norm:Qn,score:Vn})=>{const qn=Mn?Mn.weight:null;$n*=Math.pow(Vn===0&&qn?Number.EPSILON:Vn,(qn||1)*(ke?1:Qn))}),Ce.score=$n})}function transformMatches(_n,ke){const Ce=_n.matches;ke.matches=[],isDefined(Ce)&&Ce.forEach($n=>{if(!isDefined($n.indices)||!$n.indices.length)return;const{indices:Mn,value:Qn}=$n;let Vn={indices:Mn,value:Qn};$n.key&&(Vn.key=$n.key.src),$n.idx>-1&&(Vn.refIndex=$n.idx),ke.matches.push(Vn)})}function transformScore(_n,ke){ke.score=_n.score}function format(_n,ke,{includeMatches:Ce=Config.includeMatches,includeScore:$n=Config.includeScore}={}){const Mn=[];return Ce&&Mn.push(transformMatches),$n&&Mn.push(transformScore),_n.map(Qn=>{const{idx:Vn}=Qn,qn={item:ke[Vn],refIndex:Vn};return Mn.length&&Mn.forEach(Zn=>{Zn(Qn,qn)}),qn})}class Fuse{constructor(ke,Ce={},$n){this.options={...Config,...Ce},this.options.useExtendedSearch,this._keyStore=new KeyStore(this.options.keys),this.setCollection(ke,$n)}setCollection(ke,Ce){if(this._docs=ke,Ce&&!(Ce instanceof FuseIndex))throw new Error(INCORRECT_INDEX_TYPE);this._myIndex=Ce||createIndex(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}add(ke){isDefined(ke)&&(this._docs.push(ke),this._myIndex.add(ke))}remove(ke=()=>!1){const Ce=[];for(let $n=0,Mn=this._docs.length;$n-1&&(Zn=Zn.slice(0,Ce)),format(Zn,this._docs,{includeMatches:$n,includeScore:Mn})}_searchStringList(ke){const Ce=createSearcher(ke,this.options),{records:$n}=this._myIndex,Mn=[];return $n.forEach(({v:Qn,i:Vn,n:qn})=>{if(!isDefined(Qn))return;const{isMatch:Zn,score:jn,indices:Xn}=Ce.searchIn(Qn);Zn&&Mn.push({item:Qn,idx:Vn,matches:[{score:jn,value:Qn,norm:qn,indices:Xn}]})}),Mn}_searchLogical(ke){const Ce=parse(ke,this.options),$n=(qn,Zn,jn)=>{if(!qn.children){const{keyId:zn,searcher:Hn}=qn,Wn=this._findMatches({key:this._keyStore.get(zn),value:this._myIndex.getValueForItemAtKeyId(Zn,zn),searcher:Hn});return Wn&&Wn.length?[{idx:jn,item:Zn,matches:Wn}]:[]}const Xn=[];for(let zn=0,Hn=qn.children.length;zn{if(isDefined(qn)){let jn=$n(Ce,qn,Zn);jn.length&&(Qn[Zn]||(Qn[Zn]={idx:Zn,item:qn,matches:[]},Vn.push(Qn[Zn])),jn.forEach(({matches:Xn})=>{Qn[Zn].matches.push(...Xn)}))}}),Vn}_searchObjectList(ke){const Ce=createSearcher(ke,this.options),{keys:$n,records:Mn}=this._myIndex,Qn=[];return Mn.forEach(({$:Vn,i:qn})=>{if(!isDefined(Vn))return;let Zn=[];$n.forEach((jn,Xn)=>{Zn.push(...this._findMatches({key:jn,value:Vn[Xn],searcher:Ce}))}),Zn.length&&Qn.push({idx:qn,item:Vn,matches:Zn})}),Qn}_findMatches({key:ke,value:Ce,searcher:$n}){if(!isDefined(Ce))return[];let Mn=[];if(isArray$1(Ce))Ce.forEach(({v:Qn,i:Vn,n:qn})=>{if(!isDefined(Qn))return;const{isMatch:Zn,score:jn,indices:Xn}=$n.searchIn(Qn);Zn&&Mn.push({score:jn,key:ke,value:Qn,idx:Vn,norm:qn,indices:Xn})});else{const{v:Qn,n:Vn}=Ce,{isMatch:qn,score:Zn,indices:jn}=$n.searchIn(Qn);qn&&Mn.push({score:Zn,key:ke,value:Qn,norm:Vn,indices:jn})}return Mn}}Fuse.version="7.0.0";Fuse.createIndex=createIndex;Fuse.parseIndex=parseIndex;Fuse.config=Config;Fuse.parseQuery=parse;register(ExtendedSearch);function get_each_context$n(_n,ke,Ce){const $n=_n.slice();return $n[10]=ke[Ce],$n}function create_if_block$L(_n){let ke=[],Ce=new Map,$n,Mn=ensure_array_like(_n[0]);const Qn=Vn=>Vn[10].value;for(let Vn=0;Vn({value:ke,label:ke})):Object.entries(_n).map(([ke,Ce])=>({value:ke,label:Ce}))}function instance$13(_n,ke,Ce){let $n,{field:Mn}=ke,{value:Qn}=ke,{search:Vn=""}=ke;const qn=createEventDispatcher();function Zn(Wn,Yn){Wn.preventDefault(),Ce(3,Qn=Yn.value),Ce(2,Vn=""),qn("selected",{option:Yn})}let jn=formatOptionsForSearch(Mn.selectOptions);const Xn=new Fuse(jn,{includeScore:!1,keys:["value","label"]}),zn=(Wn,Yn)=>Zn(Yn,Wn),Hn=(Wn,Yn)=>Zn(Yn,Wn);return _n.$$set=Wn=>{"field"in Wn&&Ce(4,Mn=Wn.field),"value"in Wn&&Ce(3,Qn=Wn.value),"search"in Wn&&Ce(2,Vn=Wn.search)},_n.$$.update=()=>{_n.$$.dirty&4&&Ce(0,$n=Vn===""?jn:Xn.search(Vn).map(Wn=>Wn.item))},[$n,Zn,Vn,Qn,Mn,zn,Hn]}class Selectlist extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$13,create_fragment$13,safe_not_equal,{field:4,value:3,search:2})}}function create_if_block$K(_n){let ke,Ce,$n,Mn,Qn,Vn,qn,Zn;function jn(Hn,Wn){return Wn&2&&(Ce=null),Ce==null&&(Ce=!!Array.isArray(Hn[1].selectOptions)),Ce?create_if_block_1$o:create_else_block$n}let Xn=jn(_n,-1),zn=Xn(_n);return Qn=new Icon({props:{width:12,height:12,icon:"close"}}),{c(){ke=element("div"),zn.c(),$n=space$3(),Mn=element("button"),create_component(Qn.$$.fragment),attr(Mn,"type","button"),attr(Mn,"class","button-text"),attr(Mn,"aria-label","Close"),attr(ke,"class","autocomplete-selected-value")},m(Hn,Wn){insert$1(Hn,ke,Wn),zn.m(ke,null),append(ke,$n),append(ke,Mn),mount_component(Qn,Mn,null),Vn=!0,qn||(Zn=listen(Mn,"click",prevent_default(_n[9])),qn=!0)},p(Hn,Wn){Xn===(Xn=jn(Hn,Wn))&&zn?zn.p(Hn,Wn):(zn.d(1),zn=Xn(Hn),zn&&(zn.c(),zn.m(ke,$n)))},i(Hn){Vn||(transition_in(Qn.$$.fragment,Hn),Vn=!0)},o(Hn){transition_out(Qn.$$.fragment,Hn),Vn=!1},d(Hn){Hn&&detach(ke),zn.d(),destroy_component(Qn),qn=!1,Zn()}}}function create_else_block$n(_n){let ke=_n[1].selectOptions[_n[0]]+"",Ce;return{c(){Ce=text(ke)},m($n,Mn){insert$1($n,Ce,Mn)},p($n,Mn){Mn&3&&ke!==(ke=$n[1].selectOptions[$n[0]]+"")&&set_data(Ce,ke)},d($n){$n&&detach(Ce)}}}function create_if_block_1$o(_n){let ke;return{c(){ke=text(_n[0])},m(Ce,$n){insert$1(Ce,ke,$n)},p(Ce,$n){$n&1&&set_data(ke,Ce[0])},d(Ce){Ce&&detach(ke)}}}function create_fragment$12(_n){let ke,Ce,$n,Mn,Qn,Vn,qn,Zn,jn,Xn,zn,Hn;function Wn(Kn){_n[7](Kn)}function Yn(Kn){_n[8](Kn)}let Un={field:_n[1]};_n[0]!==void 0&&(Un.value=_n[0]),_n[3]!==void 0&&(Un.search=_n[3]),Qn=new Selectlist({props:Un}),binding_callbacks.push(()=>bind(Qn,"value",Wn)),binding_callbacks.push(()=>bind(Qn,"search",Yn)),Qn.$on("selected",_n[4]);let Gn=_n[0]&&create_if_block$K(_n);return{c(){ke=element("div"),Ce=element("input"),$n=space$3(),Mn=element("div"),create_component(Qn.$$.fragment),Zn=space$3(),Gn&&Gn.c(),jn=empty$1(),attr(Ce,"type","search"),attr(Ce,"placeholder","Search for options"),attr(Ce,"autocomplete","off"),attr(Mn,"class","autocomplete-results"),attr(ke,"class","autocomplete")},m(Kn,Jn){insert$1(Kn,ke,Jn),append(ke,Ce),set_input_value(Ce,_n[3]),_n[6](Ce),append(ke,$n),append(ke,Mn),mount_component(Qn,Mn,null),insert$1(Kn,Zn,Jn),Gn&&Gn.m(Kn,Jn),insert$1(Kn,jn,Jn),Xn=!0,zn||(Hn=listen(Ce,"input",_n[5]),zn=!0)},p(Kn,[Jn]){Jn&8&&Ce.value!==Kn[3]&&set_input_value(Ce,Kn[3]);const tr={};Jn&2&&(tr.field=Kn[1]),!Vn&&Jn&1&&(Vn=!0,tr.value=Kn[0],add_flush_callback(()=>Vn=!1)),!qn&&Jn&8&&(qn=!0,tr.search=Kn[3],add_flush_callback(()=>qn=!1)),Qn.$set(tr),Kn[0]?Gn?(Gn.p(Kn,Jn),Jn&1&&transition_in(Gn,1)):(Gn=create_if_block$K(Kn),Gn.c(),transition_in(Gn,1),Gn.m(jn.parentNode,jn)):Gn&&(group_outros(),transition_out(Gn,1,1,()=>{Gn=null}),check_outros())},i(Kn){Xn||(transition_in(Qn.$$.fragment,Kn),transition_in(Gn),Xn=!0)},o(Kn){transition_out(Qn.$$.fragment,Kn),transition_out(Gn),Xn=!1},d(Kn){Kn&&(detach(ke),detach(Zn),detach(jn)),_n[6](null),destroy_component(Qn),Gn&&Gn.d(Kn),zn=!1,Hn()}}}function instance$12(_n,ke,Ce){let $n,Mn,{value:Qn}=ke,{field:Vn}=ke;function qn(){$n.focus(),$n.blur()}function Zn(){Mn=this.value,Ce(3,Mn)}function jn(Wn){binding_callbacks[Wn?"unshift":"push"](()=>{$n=Wn,Ce(2,$n)})}function Xn(Wn){Qn=Wn,Ce(0,Qn)}function zn(Wn){Mn=Wn,Ce(3,Mn)}const Hn=Wn=>Ce(0,Qn="");return _n.$$set=Wn=>{"value"in Wn&&Ce(0,Qn=Wn.value),"field"in Wn&&Ce(1,Vn=Wn.field)},[Qn,Vn,$n,Mn,qn,Zn,jn,Xn,zn,Hn]}class Autocomplete extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$12,create_fragment$12,safe_not_equal,{value:0,field:1})}}function create_else_block$m(_n){let ke,Ce,$n,Mn;return{c(){ke=element("input"),attr(ke,"type","text"),attr(ke,"id",_n[3]),attr(ke,"class","form-control"),attr(ke,"autocomplete","off"),ke.readOnly=Ce=_n[1].readonly&&!_n[2],toggle_class(ke,"is-invalid",_n[4])},m(Qn,Vn){insert$1(Qn,ke,Vn),set_input_value(ke,_n[0]),$n||(Mn=listen(ke,"input",_n[7]),$n=!0)},p(Qn,Vn){Vn&8&&attr(ke,"id",Qn[3]),Vn&6&&Ce!==(Ce=Qn[1].readonly&&!Qn[2])&&(ke.readOnly=Ce),Vn&1&&ke.value!==Qn[0]&&set_input_value(ke,Qn[0]),Vn&16&&toggle_class(ke,"is-invalid",Qn[4])},i:noop,o:noop,d(Qn){Qn&&detach(ke),$n=!1,Mn()}}}function create_if_block_1$n(_n){let ke,Ce,$n;function Mn(Vn){_n[6](Vn)}let Qn={field:_n[1]};return _n[0]!==void 0&&(Qn.value=_n[0]),ke=new Autocomplete({props:Qn}),binding_callbacks.push(()=>bind(ke,"value",Mn)),{c(){create_component(ke.$$.fragment)},m(Vn,qn){mount_component(ke,Vn,qn),$n=!0},p(Vn,qn){const Zn={};qn&2&&(Zn.field=Vn[1]),!Ce&&qn&1&&(Ce=!0,Zn.value=Vn[0],add_flush_callback(()=>Ce=!1)),ke.$set(Zn)},i(Vn){$n||(transition_in(ke.$$.fragment,Vn),$n=!0)},o(Vn){transition_out(ke.$$.fragment,Vn),$n=!1},d(Vn){destroy_component(ke,Vn)}}}function create_if_block$J(_n){let ke,Ce;return{c(){ke=element("div"),Ce=text(_n[4]),attr(ke,"class","invalid-feedback d-block")},m($n,Mn){insert$1($n,ke,Mn),append(ke,Ce)},p($n,Mn){Mn&16&&set_data(Ce,$n[4])},d($n){$n&&detach(ke)}}}function create_fragment$11(_n){let ke,Ce,$n,Mn,Qn;const Vn=[create_if_block_1$n,create_else_block$m],qn=[];function Zn(Xn,zn){return Xn[1].selectOptions?0:1}Ce=Zn(_n),$n=qn[Ce]=Vn[Ce](_n);let jn=_n[4]&&create_if_block$J(_n);return{c(){ke=element("div"),$n.c(),Mn=space$3(),jn&&jn.c(),set_style(ke,"position","relative")},m(Xn,zn){insert$1(Xn,ke,zn),qn[Ce].m(ke,null),append(ke,Mn),jn&&jn.m(ke,null),Qn=!0},p(Xn,[zn]){let Hn=Ce;Ce=Zn(Xn),Ce===Hn?qn[Ce].p(Xn,zn):(group_outros(),transition_out(qn[Hn],1,1,()=>{qn[Hn]=null}),check_outros(),$n=qn[Ce],$n?$n.p(Xn,zn):($n=qn[Ce]=Vn[Ce](Xn),$n.c()),transition_in($n,1),$n.m(ke,Mn)),Xn[4]?jn?jn.p(Xn,zn):(jn=create_if_block$J(Xn),jn.c(),jn.m(ke,null)):jn&&(jn.d(1),jn=null)},i(Xn){Qn||(transition_in($n),Qn=!0)},o(Xn){transition_out($n),Qn=!1},d(Xn){Xn&&detach(ke),qn[Ce].d(),jn&&jn.d()}}}function instance$11(_n,ke,Ce){let $n,{field:Mn}=ke,{value:Qn}=ke,{isCreateMode:Vn}=ke,{validationErrors:qn}=ke,{id:Zn}=ke;function jn(zn){Qn=zn,Ce(0,Qn)}function Xn(){Qn=this.value,Ce(0,Qn)}return _n.$$set=zn=>{"field"in zn&&Ce(1,Mn=zn.field),"value"in zn&&Ce(0,Qn=zn.value),"isCreateMode"in zn&&Ce(2,Vn=zn.isCreateMode),"validationErrors"in zn&&Ce(5,qn=zn.validationErrors),"id"in zn&&Ce(3,Zn=zn.id)},_n.$$.update=()=>{_n.$$.dirty&34&&Ce(4,$n=getErrorMessage(qn,Mn.name))},[Qn,Mn,Vn,Zn,$n,qn,jn,Xn]}let Text$2=class extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$11,create_fragment$11,safe_not_equal,{field:1,value:0,isCreateMode:2,validationErrors:5,id:3})}};function create_if_block$I(_n){let ke,Ce;return{c(){ke=element("div"),Ce=text(_n[4]),attr(ke,"class","invalid-feedback d-block")},m($n,Mn){insert$1($n,ke,Mn),append(ke,Ce)},p($n,Mn){Mn&16&&set_data(Ce,$n[4])},d($n){$n&&detach(ke)}}}function create_fragment$10(_n){let ke,Ce,$n,Mn,Qn,Vn,qn,Zn=_n[1].source+"",jn,Xn,zn,Hn,Wn=_n[4]&&create_if_block$I(_n);return{c(){ke=element("div"),Ce=element("input"),Mn=space$3(),Qn=element("div"),Vn=text("Leave this empty to autogenerate from "),qn=element("i"),jn=text(Zn),Xn=space$3(),Wn&&Wn.c(),attr(Ce,"type","text"),attr(Ce,"id",_n[3]),attr(Ce,"class","form-control"),attr(Ce,"autocomplete","off"),Ce.readOnly=$n=_n[1].readonly&&!_n[2],toggle_class(Ce,"is-invalid",_n[4]),attr(Qn,"class","system-help-text light-text"),attr(ke,"class","mb-0")},m(Yn,Un){insert$1(Yn,ke,Un),append(ke,Ce),set_input_value(Ce,_n[0]),append(ke,Mn),append(ke,Qn),append(Qn,Vn),append(Qn,qn),append(qn,jn),append(ke,Xn),Wn&&Wn.m(ke,null),zn||(Hn=listen(Ce,"input",_n[6]),zn=!0)},p(Yn,[Un]){Un&8&&attr(Ce,"id",Yn[3]),Un&6&&$n!==($n=Yn[1].readonly&&!Yn[2])&&(Ce.readOnly=$n),Un&1&&Ce.value!==Yn[0]&&set_input_value(Ce,Yn[0]),Un&16&&toggle_class(Ce,"is-invalid",Yn[4]),Un&2&&Zn!==(Zn=Yn[1].source+"")&&set_data(jn,Zn),Yn[4]?Wn?Wn.p(Yn,Un):(Wn=create_if_block$I(Yn),Wn.c(),Wn.m(ke,null)):Wn&&(Wn.d(1),Wn=null)},i:noop,o:noop,d(Yn){Yn&&detach(ke),Wn&&Wn.d(),zn=!1,Hn()}}}function instance$10(_n,ke,Ce){let $n,{field:Mn}=ke,{value:Qn}=ke,{isCreateMode:Vn}=ke,{validationErrors:qn}=ke,{id:Zn}=ke;function jn(){Qn=this.value,Ce(0,Qn)}return _n.$$set=Xn=>{"field"in Xn&&Ce(1,Mn=Xn.field),"value"in Xn&&Ce(0,Qn=Xn.value),"isCreateMode"in Xn&&Ce(2,Vn=Xn.isCreateMode),"validationErrors"in Xn&&Ce(5,qn=Xn.validationErrors),"id"in Xn&&Ce(3,Zn=Xn.id)},_n.$$.update=()=>{_n.$$.dirty&34&&Ce(4,$n=getErrorMessage(qn,Mn.name))},[Qn,Mn,Vn,Zn,$n,qn,jn]}class Slug extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$10,create_fragment$10,safe_not_equal,{field:1,value:0,isCreateMode:2,validationErrors:5,id:3})}}function insertEdges(_n,ke,Ce,$n,Mn=""){let Qn=Ce.map(qn=>({target:qn.id,source:ke.id,field:$n,depth:1,rank:""})),Vn=_n.edges;return Mn==="replace"&&(Vn=Vn.filter(qn=>qn.field!==field.name)),_n.records=uniqueBy([..._n.records,...Ce],qn=>qn.id),_n.edges=uniqueBy([...Vn,...Qn],qn=>qn.source+qn.target+qn.field+qn.depth),_n}function graphToReferences(_n,ke,Ce){return _n.edges.filter($n=>$n.field===Ce.name).map($n=>({record:_n.records.find(Mn=>Mn.id===$n.target&&ke.id===$n.source),edge:$n})).filter($n=>{var Mn;return!!((Mn=$n.record)!=null&&Mn.id)})??[]}function removeReferenceFromGraph(_n,ke,Ce){return _n.edges.map($n=>($n.target===Ce&&$n.field===ke.name&&($n._isTrashed=!0),$n))}function restoreReferenceToGraph(_n,ke,Ce){return _n.edges.map($n=>($n.target===Ce&&$n.field===ke.name&&($n._isTrashed=!1),$n))}function fullDeleteRecord(_n,ke,Ce,$n){return axios$1.post(_n.lucentUrl+"/records/status/trashed",{records:[$n]}),ke.edges.filter(Mn=>!(Mn.target===$n&&Mn.field===Ce.name))}function sortByField(_n,ke,Ce,$n,Mn){if(_n===ke)return Ce;let Qn=Mn.map(Zn=>Zn.record.id),Vn=(Ce==null?void 0:Ce.filter(Zn=>Zn.field===$n&&Zn.depth===1&&Qn.includes(Zn.target)))??[],qn=(Ce==null?void 0:Ce.filter(Zn=>!(Zn.field===$n&&Zn.depth===1)))??[];return Vn=array_move(Vn,_n,ke),[...qn,...Vn]}function array_move(_n,ke,Ce){if(Ce>=_n.length)for(var $n=Ce-_n.length+1;$n--;)_n.push(void 0);return _n.splice(Ce,0,_n.splice(ke,1)[0]),_n}function hasDataChanged(_n,ke,Ce){return _n?!1:JSON.stringify(ke)!==JSON.stringify(Ce)}/*! * mustache.js - Logic-less {{mustache}} templates with JavaScript * http://github.com/janl/mustache.js */var objectToString=Object.prototype.toString,isArray=Array.isArray||function(ke){return objectToString.call(ke)==="[object Array]"};function isFunction(_n){return typeof _n=="function"}function typeStr(_n){return isArray(_n)?"array":typeof _n}function escapeRegExp(_n){return _n.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function hasProperty(_n,ke){return _n!=null&&typeof _n=="object"&&ke in _n}function primitiveHasOwnProperty(_n,ke){return _n!=null&&typeof _n!="object"&&_n.hasOwnProperty&&_n.hasOwnProperty(ke)}var regExpTest=RegExp.prototype.test;function testRegExp(_n,ke){return regExpTest.call(_n,ke)}var nonSpaceRe=/\S/;function isWhitespace(_n){return!testRegExp(nonSpaceRe,_n)}var entityMap={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/","`":"`","=":"="};function escapeHtml(_n){return String(_n).replace(/[&<>"'`=\/]/g,function(Ce){return entityMap[Ce]})}var whiteRe=/\s*/,spaceRe=/\s+/,equalsRe=/\s*=/,curlyRe=/\s*\}/,tagRe=/#|\^|\/|>|\{|&|=|!/;function parseTemplate(_n,ke){if(!_n)return[];var Ce=!1,$n=[],Mn=[],Qn=[],Vn=!1,qn=!1,Zn="",jn=0;function Xn(){if(Vn&&!qn)for(;Qn.length;)delete Mn[Qn.pop()];else Qn=[];Vn=!1,qn=!1}var zn,Hn,Wn;function Yn(ir){if(typeof ir=="string"&&(ir=ir.split(spaceRe,2)),!isArray(ir)||ir.length!==2)throw new Error("Invalid tags: "+ir);zn=new RegExp(escapeRegExp(ir[0])+"\\s*"),Hn=new RegExp("\\s*"+escapeRegExp(ir[1])),Wn=new RegExp("\\s*"+escapeRegExp("}"+ir[1]))}Yn(ke||mustache.tags);for(var Un=new Scanner(_n),Gn,Kn,Jn,tr,nr,er;!Un.eos();){if(Gn=Un.pos,Jn=Un.scanUntil(zn),Jn)for(var rr=0,or=Jn.length;rr"?nr=[Kn,Jn,Gn,Un.pos,Zn,jn,Ce]:nr=[Kn,Jn,Gn,Un.pos],jn++,Mn.push(nr),Kn==="#"||Kn==="^")$n.push(nr);else if(Kn==="/"){if(er=$n.pop(),!er)throw new Error('Unopened section "'+Jn+'" at '+Gn);if(er[1]!==Jn)throw new Error('Unclosed section "'+er[1]+'" at '+Gn)}else Kn==="name"||Kn==="{"||Kn==="&"?qn=!0:Kn==="="&&Yn(Jn)}if(Xn(),er=$n.pop(),er)throw new Error('Unclosed section "'+er[1]+'" at '+Un.pos);return nestTokens(squashTokens(Mn))}function squashTokens(_n){for(var ke=[],Ce,$n,Mn=0,Qn=_n.length;Mn0?$n[$n.length-1][4]:ke;break;default:Ce.push(Mn)}return ke}function Scanner(_n){this.string=_n,this.tail=_n,this.pos=0}Scanner.prototype.eos=function(){return this.tail===""};Scanner.prototype.scan=function(ke){var Ce=this.tail.match(ke);if(!Ce||Ce.index!==0)return"";var $n=Ce[0];return this.tail=this.tail.substring($n.length),this.pos+=$n.length,$n};Scanner.prototype.scanUntil=function(ke){var Ce=this.tail.search(ke),$n;switch(Ce){case-1:$n=this.tail,this.tail="";break;case 0:$n="";break;default:$n=this.tail.substring(0,Ce),this.tail=this.tail.substring(Ce)}return this.pos+=$n.length,$n};function Context$1(_n,ke){this.view=_n,this.cache={".":this.view},this.parent=ke}Context$1.prototype.push=function(ke){return new Context$1(ke,this)};Context$1.prototype.lookup=function(ke){var Ce=this.cache,$n;if(Ce.hasOwnProperty(ke))$n=Ce[ke];else{for(var Mn=this,Qn,Vn,qn,Zn=!1;Mn;){if(ke.indexOf(".")>0)for(Qn=Mn.view,Vn=ke.split("."),qn=0;Qn!=null&&qn"?jn=this.renderPartial(qn,Ce,$n,Qn):Zn==="&"?jn=this.unescapedValue(qn,Ce):Zn==="name"?jn=this.escapedValue(qn,Ce,Qn):Zn==="text"&&(jn=this.rawValue(qn)),jn!==void 0&&(Vn+=jn);return Vn};Writer.prototype.renderSection=function(ke,Ce,$n,Mn,Qn){var Vn=this,qn="",Zn=Ce.lookup(ke[1]);function jn(Hn){return Vn.render(Hn,Ce,$n,Qn)}if(Zn){if(isArray(Zn))for(var Xn=0,zn=Zn.length;Xn0||!$n)&&(Qn[Vn]=Mn+Qn[Vn]);return Qn.join(` `)};Writer.prototype.renderPartial=function(ke,Ce,$n,Mn){if($n){var Qn=this.getConfigTags(Mn),Vn=isFunction($n)?$n(ke[1]):$n[ke[1]];if(Vn!=null){var qn=ke[6],Zn=ke[5],jn=ke[4],Xn=Vn;Zn==0&&jn&&(Xn=this.indentPartial(Vn,jn,qn));var zn=this.parse(Xn,Qn);return this.renderTokens(zn,Ce,$n,Xn,Mn)}}};Writer.prototype.unescapedValue=function(ke,Ce){var $n=Ce.lookup(ke[1]);if($n!=null)return $n};Writer.prototype.escapedValue=function(ke,Ce,$n){var Mn=this.getConfigEscape($n)||mustache.escape,Qn=Ce.lookup(ke[1]);if(Qn!=null)return typeof Qn=="number"&&Mn===mustache.escape?String(Qn):Mn(Qn)};Writer.prototype.rawValue=function(ke){return ke[1]};Writer.prototype.getConfigTags=function(ke){return isArray(ke)?ke:ke&&typeof ke=="object"?ke.tags:void 0};Writer.prototype.getConfigEscape=function(ke){if(ke&&typeof ke=="object"&&!isArray(ke))return ke.escape};var mustache={name:"mustache.js",version:"4.2.0",tags:["{{","}}"],clearCache:void 0,escape:void 0,parse:void 0,render:void 0,Scanner:void 0,Context:void 0,Writer:void 0,set templateCache(_n){defaultWriter.templateCache=_n},get templateCache(){return defaultWriter.templateCache}},defaultWriter=new Writer;mustache.clearCache=function(){return defaultWriter.clearCache()};mustache.parse=function(ke,Ce){return defaultWriter.parse(ke,Ce)};mustache.render=function(ke,Ce,$n,Mn){if(typeof ke!="string")throw new TypeError('Invalid template! Template should be a "string" but "'+typeStr(ke)+'" was given as the first argument for mustache#render(template, view, partials)');return defaultWriter.render(ke,Ce,$n,Mn)};mustache.escape=escapeHtml;mustache.Scanner=Scanner;mustache.Context=Context$1;mustache.Writer=Writer;function previewTitle(_n,ke,Ce){let $n=_n.find(Vn=>Vn.name===(ke==null?void 0:ke.schema));if(!($n!=null&&$n.cardTitle))return noTemplate($n,ke);let Mn=ke.data,Qn=mustache.render($n.cardTitle,Mn);return!Qn||Qn===""?noTemplate($n,ke):stripHtml(Qn.slice(0,300))}function noTemplate(_n,ke){var $n;if((_n==null?void 0:_n.type)==="files")return ke._file.path;let Ce=stripHtml(ke==null?void 0:ke.data[($n=_n.fields.filter(Mn=>Mn.info.name==="text")[0])==null?void 0:$n.name]).slice(0,300);return Ce.trim()===""?"~Untitled~":Ce}function create_else_block$l(_n){let ke;return{c(){ke=text("New Record")},m(Ce,$n){insert$1(Ce,ke,$n)},p:noop,d(Ce){Ce&&detach(ke)}}}function create_if_block$H(_n){let ke=previewTitle(_n[3].schemas,_n[1])+"",Ce;return{c(){Ce=text(ke)},m($n,Mn){insert$1($n,Ce,Mn)},p($n,Mn){Mn&2&&ke!==(ke=previewTitle($n[3].schemas,$n[1])+"")&&set_data(Ce,ke)},d($n){$n&&detach(Ce)}}}function create_fragment$$(_n){let ke,Ce,$n=_n[0].label.toUpperCase()+"",Mn,Qn,Vn,qn;function Zn(zn,Hn){return zn[2]?create_else_block$l:create_if_block$H}let jn=Zn(_n),Xn=jn(_n);return{c(){ke=element("div"),Ce=element("a"),Mn=text($n),Vn=space$3(),qn=element("span"),Xn.c(),attr(Ce,"class","schema-name"),attr(Ce,"href",Qn=_n[3].lucentUrl+"/content/"+_n[0].name),attr(qn,"class","record-title"),attr(ke,"class","record-header")},m(zn,Hn){insert$1(zn,ke,Hn),append(ke,Ce),append(Ce,Mn),append(ke,Vn),append(ke,qn),Xn.m(qn,null)},p(zn,[Hn]){Hn&1&&$n!==($n=zn[0].label.toUpperCase()+"")&&set_data(Mn,$n),Hn&1&&Qn!==(Qn=zn[3].lucentUrl+"/content/"+zn[0].name)&&attr(Ce,"href",Qn),jn===(jn=Zn(zn))&&Xn?Xn.p(zn,Hn):(Xn.d(1),Xn=jn(zn),Xn&&(Xn.c(),Xn.m(qn,null)))},i:noop,o:noop,d(zn){zn&&detach(ke),Xn.d()}}}function instance$$(_n,ke,Ce){const $n=getContext$1("channel");let{schema:Mn}=ke,{record:Qn}=ke,{isCreateMode:Vn}=ke;return _n.$$set=qn=>{"schema"in qn&&Ce(0,Mn=qn.schema),"record"in qn&&Ce(1,Qn=qn.record),"isCreateMode"in qn&&Ce(2,Vn=qn.isCreateMode)},[Mn,Qn,Vn,$n]}class Title extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$$,create_fragment$$,safe_not_equal,{schema:0,record:1,isCreateMode:2})}}function get_each_context$m(_n,ke,Ce){const $n=_n.slice();return $n[24]=ke[Ce],$n}function create_if_block_2$c(_n){let ke,Ce,$n;return{c(){ke=element("button"),ke.innerHTML=` Save`,attr(ke,"type","button"),attr(ke,"class","button primary ms-2 btn btn-primary btn-spinner")},m(Mn,Qn){insert$1(Mn,ke,Qn),Ce||($n=listen(ke,"click",_n[10]),Ce=!0)},p:noop,d(Mn){Mn&&detach(ke),Ce=!1,$n()}}}function create_if_block_1$m(_n){let ke,Ce,$n;return{c(){ke=element("button"),ke.innerHTML=` Create`,attr(ke,"class","button primary btn-spinner")},m(Mn,Qn){insert$1(Mn,ke,Qn),Ce||($n=listen(ke,"click",_n[10]),Ce=!0)},p:noop,d(Mn){Mn&&detach(ke),Ce=!1,$n()}}}function create_if_block$G(_n){let ke,Ce,$n,Mn;function Qn(Zn){_n[14](Zn)}function Vn(Zn){_n[15](Zn)}let qn={field:_n[24],schema:_n[2],record:_n[0],validationErrors:_n[4],isCreateMode:_n[3]};return _n[0].data!==void 0&&(qn.data=_n[0].data),_n[1]!==void 0&&(qn.graph=_n[1]),ke=new FormField({props:qn}),binding_callbacks.push(()=>bind(ke,"data",Qn)),binding_callbacks.push(()=>bind(ke,"graph",Vn)),{c(){create_component(ke.$$.fragment)},m(Zn,jn){mount_component(ke,Zn,jn),Mn=!0},p(Zn,jn){const Xn={};jn&4&&(Xn.schema=Zn[2]),jn&1&&(Xn.record=Zn[0]),jn&16&&(Xn.validationErrors=Zn[4]),jn&8&&(Xn.isCreateMode=Zn[3]),!Ce&&jn&1&&(Ce=!0,Xn.data=Zn[0].data,add_flush_callback(()=>Ce=!1)),!$n&&jn&2&&($n=!0,Xn.graph=Zn[1],add_flush_callback(()=>$n=!1)),ke.$set(Xn)},i(Zn){Mn||(transition_in(ke.$$.fragment,Zn),Mn=!0)},o(Zn){transition_out(ke.$$.fragment,Zn),Mn=!1},d(Zn){destroy_component(ke,Zn)}}}function create_each_block$m(_n,ke){let Ce,$n,Mn,Qn=ke[5]===ke[24].group&&create_if_block$G(ke);return{key:_n,first:null,c(){Ce=empty$1(),Qn&&Qn.c(),$n=empty$1(),this.first=Ce},m(Vn,qn){insert$1(Vn,Ce,qn),Qn&&Qn.m(Vn,qn),insert$1(Vn,$n,qn),Mn=!0},p(Vn,qn){ke=Vn,ke[5]===ke[24].group?Qn?(Qn.p(ke,qn),qn&32&&transition_in(Qn,1)):(Qn=create_if_block$G(ke),Qn.c(),transition_in(Qn,1),Qn.m($n.parentNode,$n)):Qn&&(group_outros(),transition_out(Qn,1,1,()=>{Qn=null}),check_outros())},i(Vn){Mn||(transition_in(Qn),Mn=!0)},o(Vn){transition_out(Qn),Mn=!1},d(Vn){Vn&&(detach(Ce),detach($n)),Qn&&Qn.d(Vn)}}}function create_fragment$_(_n){let ke,Ce,$n,Mn,Qn,Vn,qn,Zn,jn,Xn,zn,Hn,Wn,Yn,Un,Gn,Kn,Jn=[],tr=new Map,nr,er,rr;function or(hr){_n[11](hr)}function ir(hr){_n[12](hr)}let sr={schema:_n[2],isCreateMode:_n[3]};_n[0]!==void 0&&(sr.record=_n[0]),_n[5]!==void 0&&(sr.activeContentTab=_n[5]),$n=new EditHeader({props:sr}),binding_callbacks.push(()=>bind($n,"record",or)),binding_callbacks.push(()=>bind($n,"activeContentTab",ir));function cr(hr,br){if(hr[3])return create_if_block_1$m;if(hr[6])return create_if_block_2$c}let ur=cr(_n),fr=ur&&ur(_n);Zn=new Title({props:{schema:_n[2],record:_n[0],isCreateMode:_n[3]}}),Xn=new ErrorAlert({props:{message:_n[7]}});function pr(hr){_n[13](hr)}let mr={schema:_n[2],isCreateMode:_n[3]};_n[5]!==void 0&&(mr.active=_n[5]),Wn=new ContentTabs({props:mr}),binding_callbacks.push(()=>bind(Wn,"active",pr)),Gn=new FilePreview({props:{record:_n[0],schema:_n[2]}});let _r=ensure_array_like(_n[8]);const vr=hr=>hr[24].name;for(let hr=0;hr<_r.length;hr+=1){let br=get_each_context$m(_n,_r,hr),Er=vr(br);tr.set(Er,Jn[hr]=create_each_block$m(Er,br))}return{c(){ke=element("div"),Ce=element("div"),create_component($n.$$.fragment),Vn=space$3(),fr&&fr.c(),qn=space$3(),create_component(Zn.$$.fragment),jn=space$3(),create_component(Xn.$$.fragment),zn=space$3(),Hn=element("div"),create_component(Wn.$$.fragment),Un=space$3(),create_component(Gn.$$.fragment),Kn=space$3();for(let hr=0;hrMn=!1)),!Qn&&br&32&&(Qn=!0,Er.activeContentTab=hr[5],add_flush_callback(()=>Qn=!1)),$n.$set(Er),ur===(ur=cr(hr))&&fr?fr.p(hr,br):(fr&&fr.d(1),fr=ur&&ur(hr),fr&&(fr.c(),fr.m(Ce,null)));const Cr={};br&4&&(Cr.schema=hr[2]),br&1&&(Cr.record=hr[0]),br&8&&(Cr.isCreateMode=hr[3]),Zn.$set(Cr);const Mr={};br&128&&(Mr.message=hr[7]),Xn.$set(Mr);const yr={};br&4&&(yr.schema=hr[2]),br&8&&(yr.isCreateMode=hr[3]),!Yn&&br&32&&(Yn=!0,yr.active=hr[5],add_flush_callback(()=>Yn=!1)),Wn.$set(yr);const Pr={};br&1&&(Pr.record=hr[0]),br&4&&(Pr.schema=hr[2]),Gn.$set(Pr),br&319&&(_r=ensure_array_like(hr[8]),group_outros(),Jn=update_keyed_each(Jn,br,vr,1,hr,_r,tr,Hn,outro_and_destroy_block,create_each_block$m,null,get_each_context$m),check_outros())},i(hr){if(!nr){transition_in($n.$$.fragment,hr),transition_in(Zn.$$.fragment,hr),transition_in(Xn.$$.fragment,hr),transition_in(Wn.$$.fragment,hr),transition_in(Gn.$$.fragment,hr);for(let br=0;br<_r.length;br+=1)transition_in(Jn[br]);nr=!0}},o(hr){transition_out($n.$$.fragment,hr),transition_out(Zn.$$.fragment,hr),transition_out(Xn.$$.fragment,hr),transition_out(Wn.$$.fragment,hr),transition_out(Gn.$$.fragment,hr);for(let br=0;brsr.name!=="id"),Un="_default";qn.fields.reduce((sr,cr)=>cr.ui==="tab"?(Un=cr.name,sr):(sr[Un]=[...sr[Un]??[],cr.name],sr),[]),onMount(()=>{Gn()});function Gn(){zn={data:JSON.parse(JSON.stringify(Zn.data)),schema:Zn.schema,status:Zn.status,_sys:JSON.parse(JSON.stringify(Zn._sys)),_file:JSON.parse(JSON.stringify(Zn._file)),edges:JSON.parse(JSON.stringify(jn.edges))}}afterUpdate(()=>{Ce(6,Wn=Jn())});function Kn(sr){return Wn?sr.returnValue="You have unsaved changes. Are you sure you want to exit?":(delete sr.returnValue,"...")}function Jn(){return hasDataChanged(Xn,zn,{data:Zn.data,schema:Zn.schema,status:Zn.status,_sys:Zn._sys,_file:Zn._file,edges:jn.edges})}function tr(sr){return sr.preventDefault(),console.log("SAVE: Attempt"),Ce(4,$n=null),Ce(7,Mn=""),new Promise(function(cr,ur){var fr;if(!Wn&&!Xn){cr(null);return}if(!Zn){cr(null);return}Ce(1,jn.edges=((fr=jn.edges)==null?void 0:fr.filter(pr=>!pr._isTrashed&&pr.source===Zn.id))??[],jn),axios$1.post(Qn.lucentUrl+"/records",{record:Zn,edges:jn.edges,isCreateMode:Xn}).then(function(pr){console.log("SAVE: SAVED INLINE"),Ce(0,Zn=pr.data.records[0]),Ce(1,jn=pr.data),Xn||Gn(),Vn("inlinesaved",{records:[Zn]}),cr(null)}).catch(function(pr){pr.response&&(typeof pr.response.data.error=="string"?Ce(7,Mn=pr.response.data.error):Ce(4,$n=pr.response.data.error)),cr(null)})})}function nr(sr){Zn=sr,Ce(0,Zn)}function er(sr){Hn=sr,Ce(5,Hn)}function rr(sr){Hn=sr,Ce(5,Hn)}function or(sr){_n.$$.not_equal(Zn.data,sr)&&(Zn.data=sr,Ce(0,Zn))}function ir(sr){jn=sr,Ce(1,jn)}return _n.$$set=sr=>{"schema"in sr&&Ce(2,qn=sr.schema),"record"in sr&&Ce(0,Zn=sr.record),"graph"in sr&&Ce(1,jn=sr.graph),"isCreateMode"in sr&&Ce(3,Xn=sr.isCreateMode)},_n.$$.update=()=>{_n.$$.dirty&16&&Ce(7,Mn=$n?`Record submission failed. ${Object.entries($n).length} error(s)`:null)},Ce(4,$n=null),[Zn,jn,qn,Xn,$n,Hn,Wn,Mn,Yn,Kn,tr,nr,er,rr,or,ir]}class InlineEdit extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$_,create_fragment$_,safe_not_equal,{schema:2,record:0,graph:1,isCreateMode:3})}}function debounce$1(_n,ke){let Ce=null;return(...$n)=>{window.clearTimeout(Ce),Ce=window.setTimeout(()=>{_n.apply(null,$n)},ke)}}function get_each_context$l(_n,ke,Ce){const $n=_n.slice();return $n[11]=ke[Ce],$n}function create_if_block$F(_n){let ke=[],Ce=new Map,$n,Mn=ensure_array_like(_n[2]);const Qn=qn=>qn[11].id;for(let qn=0;qn{axios$1.get(Mn.lucentUrl+"/records/suggestions",{params:{schema:qn.collections[0],field:"search",value:Zn,ui:"search"}}).then(Un=>{Ce(2,$n=Un.data)}).catch(Un=>{Ce(2,$n=[]),console.log(Un)})},500);function Xn(Yn,Un){Yn.preventDefault(),Ce(6,Vn=Un.id),Qn("addFilter"),Ce(6,Vn="")}function zn(){Zn=this.value,Ce(1,Zn)}const Hn=(Yn,Un)=>Xn(Un,Yn),Wn=(Yn,Un)=>Xn(Un,Yn);return _n.$$set=Yn=>{"value"in Yn&&Ce(6,Vn=Yn.value),"field"in Yn&&Ce(0,qn=Yn.field)},Ce(2,$n=[]),[qn,Zn,$n,Mn,jn,Xn,Vn,zn,Hn,Wn]}class FilterReferenceInput extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$Z,create_fragment$Z,safe_not_equal,{value:6,field:0})}}function get_each_context$k(_n,ke,Ce){const $n=_n.slice();return $n[39]=ke[Ce],$n}function get_each_context_1$8(_n,ke,Ce){const $n=_n.slice();return $n[42]=ke[Ce],$n}function get_each_context_2$2(_n,ke,Ce){const $n=_n.slice();return $n[39]=ke[Ce],$n}function create_if_block_4$8(_n){let ke,Ce,$n,Mn,Qn,Vn,qn,Zn;Ce=new Icon({props:{icon:"arrow-left"}});let jn=ensure_array_like(_n[9]),Xn=[];for(let zn=0;znbind(zn,"value",Gn)),zn.$on("addFilter",_n[14]),{c(){ke=element("button"),create_component(Ce.$$.fragment),$n=text(` Back`),Mn=space$3(),Qn=element("div"),Vn=text("field: "),Zn=text(qn),jn=space$3(),Xn=element("div"),create_component(zn.$$.fragment),attr(ke,"class","dropdown-item button"),attr(Qn,"class","selected-filter"),attr(Xn,"class","mt-2")},m(Jn,tr){insert$1(Jn,ke,tr),mount_component(Ce,ke,null),append(ke,$n),insert$1(Jn,Mn,tr),insert$1(Jn,Qn,tr),append(Qn,Vn),append(Qn,Zn),insert$1(Jn,jn,tr),insert$1(Jn,Xn,tr),mount_component(zn,Xn,null),Wn=!0,Yn||(Un=listen(ke,"click",_n[31]),Yn=!0)},p(Jn,tr){(!Wn||tr[0]&16)&&qn!==(qn=Jn[4].label+"")&&set_data(Zn,qn);const nr={};tr[0]&16&&(nr.field=Jn[4]),!Hn&&tr[0]&4&&(Hn=!0,nr.value=Jn[2],add_flush_callback(()=>Hn=!1)),zn.$set(nr)},i(Jn){Wn||(transition_in(Ce.$$.fragment,Jn),transition_in(zn.$$.fragment,Jn),Wn=!0)},o(Jn){transition_out(Ce.$$.fragment,Jn),transition_out(zn.$$.fragment,Jn),Wn=!1},d(Jn){Jn&&(detach(ke),detach(Mn),detach(Qn),detach(jn),detach(Xn)),destroy_component(Ce),destroy_component(zn),Yn=!1,Un()}}}function create_default_slot$8(_n){let ke,Ce,$n,Mn,Qn,Vn,qn,Zn,jn,Xn,zn,Hn,Wn,Yn,Un,Gn,Kn,Jn,tr,nr,er,rr,or,ir,sr,cr,ur=!_n[3]&&create_if_block_4$8(_n),fr=_n[3]&&!_n[5]&&create_if_block_3$a(_n),pr=_n[3]&&_n[5]&&create_if_block_2$b(_n),mr=!_n[4]&&create_if_block_1$l(_n),_r=_n[4]&&create_if_block$E(_n);return Kn=new Icon({props:{icon:"arrow-left"}}),{c(){ke=element("div"),Ce=element("button"),Ce.textContent="Filter by field",$n=space$3(),Mn=element("button"),Mn.textContent="Filter by Reference",Qn=space$3(),Vn=element("button"),Vn.textContent="Advanced filter",qn=space$3(),Zn=element("div"),ur&&ur.c(),jn=space$3(),fr&&fr.c(),Xn=space$3(),pr&&pr.c(),zn=space$3(),Hn=element("div"),mr&&mr.c(),Wn=space$3(),_r&&_r.c(),Yn=space$3(),Un=element("div"),Gn=element("button"),create_component(Kn.$$.fragment),Jn=text(` Back`),tr=space$3(),nr=element("form"),er=element("input"),rr=space$3(),or=element("button"),or.textContent="Submit",attr(Ce,"class","dropdown-item button"),attr(Mn,"class","dropdown-item button"),attr(Vn,"class","dropdown-item button"),toggle_class(ke,"hide",_n[6]!=="main"),toggle_class(Zn,"hide",_n[6]!=="byField"),toggle_class(Hn,"hide",_n[6]!=="byReference"),attr(Gn,"class","dropdown-item button"),attr(er,"type","search"),attr(er,"class","mb-2 mt-2"),attr(er,"placeholder","Advanced filters"),er.required=!0,attr(or,"class","button applied-filter"),toggle_class(Un,"hide",_n[6]!=="advanced")},m(vr,hr){insert$1(vr,ke,hr),append(ke,Ce),append(ke,$n),append(ke,Mn),append(ke,Qn),append(ke,Vn),insert$1(vr,qn,hr),insert$1(vr,Zn,hr),ur&&ur.m(Zn,null),append(Zn,jn),fr&&fr.m(Zn,null),append(Zn,Xn),pr&&pr.m(Zn,null),insert$1(vr,zn,hr),insert$1(vr,Hn,hr),mr&&mr.m(Hn,null),append(Hn,Wn),_r&&_r.m(Hn,null),insert$1(vr,Yn,hr),insert$1(vr,Un,hr),append(Un,Gn),mount_component(Kn,Gn,null),append(Gn,Jn),append(Un,tr),append(Un,nr),append(nr,er),set_input_value(er,_n[1]),append(nr,rr),append(nr,or),ir=!0,sr||(cr=[listen(Ce,"click",_n[20]),listen(Mn,"click",_n[21]),listen(Vn,"click",_n[22]),listen(Gn,"click",_n[33]),listen(er,"input",_n[34]),listen(nr,"submit",_n[8])],sr=!0)},p(vr,hr){(!ir||hr[0]&64)&&toggle_class(ke,"hide",vr[6]!=="main"),vr[3]?ur&&(group_outros(),transition_out(ur,1,1,()=>{ur=null}),check_outros()):ur?(ur.p(vr,hr),hr[0]&8&&transition_in(ur,1)):(ur=create_if_block_4$8(vr),ur.c(),transition_in(ur,1),ur.m(Zn,jn)),vr[3]&&!vr[5]?fr?(fr.p(vr,hr),hr[0]&40&&transition_in(fr,1)):(fr=create_if_block_3$a(vr),fr.c(),transition_in(fr,1),fr.m(Zn,Xn)):fr&&(group_outros(),transition_out(fr,1,1,()=>{fr=null}),check_outros()),vr[3]&&vr[5]?pr?(pr.p(vr,hr),hr[0]&40&&transition_in(pr,1)):(pr=create_if_block_2$b(vr),pr.c(),transition_in(pr,1),pr.m(Zn,null)):pr&&(group_outros(),transition_out(pr,1,1,()=>{pr=null}),check_outros()),(!ir||hr[0]&64)&&toggle_class(Zn,"hide",vr[6]!=="byField"),vr[4]?mr&&(group_outros(),transition_out(mr,1,1,()=>{mr=null}),check_outros()):mr?(mr.p(vr,hr),hr[0]&16&&transition_in(mr,1)):(mr=create_if_block_1$l(vr),mr.c(),transition_in(mr,1),mr.m(Hn,Wn)),vr[4]?_r?(_r.p(vr,hr),hr[0]&16&&transition_in(_r,1)):(_r=create_if_block$E(vr),_r.c(),transition_in(_r,1),_r.m(Hn,null)):_r&&(group_outros(),transition_out(_r,1,1,()=>{_r=null}),check_outros()),(!ir||hr[0]&64)&&toggle_class(Hn,"hide",vr[6]!=="byReference"),hr[0]&2&&er.value!==vr[1]&&set_input_value(er,vr[1]),(!ir||hr[0]&64)&&toggle_class(Un,"hide",vr[6]!=="advanced")},i(vr){ir||(transition_in(ur),transition_in(fr),transition_in(pr),transition_in(mr),transition_in(_r),transition_in(Kn.$$.fragment,vr),ir=!0)},o(vr){transition_out(ur),transition_out(fr),transition_out(pr),transition_out(mr),transition_out(_r),transition_out(Kn.$$.fragment,vr),ir=!1},d(vr){vr&&(detach(ke),detach(qn),detach(Zn),detach(zn),detach(Hn),detach(Yn),detach(Un)),ur&&ur.d(),fr&&fr.d(),pr&&pr.d(),mr&&mr.d(),_r&&_r.d(),destroy_component(Kn),sr=!1,run_all(cr)}}}function create_button_slot$7(_n){let ke,Ce,$n,Mn,Qn;return Ce=new Icon({props:{icon:"filter"}}),{c(){ke=element("div"),create_component(Ce.$$.fragment),$n=space$3(),Mn=element("span"),Mn.textContent="Filter",attr(Mn,"class","ms-1"),attr(ke,"slot","button")},m(Vn,qn){insert$1(Vn,ke,qn),mount_component(Ce,ke,null),append(ke,$n),append(ke,Mn),Qn=!0},p:noop,i(Vn){Qn||(transition_in(Ce.$$.fragment,Vn),Qn=!0)},o(Vn){transition_out(Ce.$$.fragment,Vn),Qn=!1},d(Vn){Vn&&detach(ke),destroy_component(Ce)}}}function create_fragment$Y(_n){let ke,Ce,$n,Mn={$$slots:{button:[create_button_slot$7],default:[create_default_slot$8]},$$scope:{ctx:_n}};return Ce=new Dropdown({props:Mn}),_n[35](Ce),{c(){ke=element("div"),create_component(Ce.$$.fragment)},m(Qn,Vn){insert$1(Qn,ke,Vn),mount_component(Ce,ke,null),$n=!0},p(Qn,Vn){const qn={};Vn[0]&254|Vn[1]&65536&&(qn.$$scope={dirty:Vn,ctx:Qn}),Ce.$set(qn)},i(Qn){$n||(transition_in(Ce.$$.fragment,Qn),$n=!0)},o(Qn){transition_out(Ce.$$.fragment,Qn),$n=!1},d(Qn){Qn&&detach(ke),_n[35](null),destroy_component(Ce)}}}function instance$Y(_n,ke,Ce){const $n=createEventDispatcher();let{schema:Mn}=ke,{systemFields:Qn=[]}=ke,{operators:Vn}=ke,{inModal:qn}=ke,{modalUrl:Zn}=ke,jn,Xn="",zn=Qn;Mn.type==="collection"&&(zn=Qn.filter(Or=>Or.files===!1));function Hn(Or){Or.preventDefault();let kr=Xn.split("=")[0]??"";if(!kr)return;let Ar=`filter[${kr}]`,jr=Xn.split("=")[1]??"";if(!jr)return;const qr=new URL(Zn??window.location.href);qr.searchParams.set("skip","0"),qr.searchParams.set(Ar,jr),qn?$n("refresh",qr):window.location.replace(qr),sr()}let Wn=null,Yn=null,Un=null,Gn=null,Kn="main",Jn=null,tr=[...Mn.fields,...zn].filter(Or=>{var kr;return!["file","json","reference"].includes(((kr=Or.info)==null?void 0:kr.name)??Or.ui)}),nr=[...Mn.fields].filter(Or=>{var kr;return["reference"].includes(((kr=Or.info)==null?void 0:kr.name)??Or.ui)});function er(Or,kr){Ce(3,Yn=kr),Ce(7,Jn=Vn.filter(Ar=>{var jr;return Ar.uis.includes((jr=Yn==null?void 0:Yn.info)==null?void 0:jr.name)||Ar.uis[0]==="*"}))}function rr(Or,kr){Ce(4,Un=kr),Ce(5,Gn=Vn.find(Ar=>Ar.name==="eq"))}function or(Or,kr){Ce(5,Gn=kr),kr.hasValue||ir(Or)}function ir(Or){Or.preventDefault();let kr="",Ar,jr=Yn??Un;Mn.fields.find(Fr=>Fr.name===jr.name)&&(jr.info.name==="reference"&&Gn.name==="eq"?(kr="children."+jr.name+".id",Ar=`filter[${kr}]`):(kr="data.",Ar=`filter[${kr+jr.name}_${Gn.name}]`));const qr=new URL(Zn??window.location.href);qr.searchParams.set("skip","0"),qr.searchParams.set(Ar,Wn),qn?($n("refresh",qr),jn.close()):window.location.href=qr.toString(),sr()}function sr(){Ce(3,Yn=null),Ce(5,Gn=null),Ce(6,Kn="main"),Ce(4,Un=null)}const cr=Or=>Ce(6,Kn="byField"),ur=Or=>Ce(6,Kn="byReference"),fr=Or=>Ce(6,Kn="advanced"),pr=Or=>Ce(6,Kn="main"),mr=(Or,kr)=>er(kr,Or),_r=Or=>Ce(3,Yn=null),vr=(Or,kr)=>or(kr,Or),hr=Or=>Ce(5,Gn=null);function br(){Wn=this.value,Ce(2,Wn)}const Er=Or=>Ce(6,Kn="main"),Cr=(Or,kr)=>rr(kr,Or),Mr=Or=>Ce(4,Un=null);function yr(Or){Wn=Or,Ce(2,Wn)}const Pr=Or=>Ce(6,Kn="main");function Qr(){Xn=this.value,Ce(1,Xn)}function Nr(Or){binding_callbacks[Or?"unshift":"push"](()=>{jn=Or,Ce(0,jn)})}return _n.$$set=Or=>{"schema"in Or&&Ce(15,Mn=Or.schema),"systemFields"in Or&&Ce(16,Qn=Or.systemFields),"operators"in Or&&Ce(17,Vn=Or.operators),"inModal"in Or&&Ce(18,qn=Or.inModal),"modalUrl"in Or&&Ce(19,Zn=Or.modalUrl)},[jn,Xn,Wn,Yn,Un,Gn,Kn,Jn,Hn,tr,nr,er,rr,or,ir,Mn,Qn,Vn,qn,Zn,cr,ur,fr,pr,mr,_r,vr,hr,br,Er,Cr,Mr,yr,Pr,Qr,Nr]}class FilterFields extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$Y,create_fragment$Y,safe_not_equal,{schema:15,systemFields:16,operators:17,inModal:18,modalUrl:19},null,[-1,-1])}}function create_fragment$X(_n){let ke,Ce,$n,Mn,Qn,Vn,qn;return{c(){ke=element("fieldset"),Ce=element("label"),$n=element("span"),Mn=text(` Upload file `),Qn=element("input"),attr($n,"class","spinner-border spinner-border-sm"),attr($n,"role","status"),attr($n,"aria-hidden","true"),attr(Qn,"class","form-control"),attr(Qn,"type","file"),attr(Qn,"id","formFile"),Qn.multiple=!0,attr(Qn,"accept",mimeTypes),Qn.disabled=_n[0],Qn.hidden=!0,attr(Ce,"class","button primary btn-spinner "),attr(ke,"class","upload-button"),ke.disabled=_n[0]},m(Zn,jn){insert$1(Zn,ke,jn),append(ke,Ce),append(Ce,$n),append(Ce,Mn),append(Ce,Qn),Vn||(qn=listen(Qn,"input",_n[1]),Vn=!0)},p(Zn,[jn]){jn&1&&(Qn.disabled=Zn[0]),jn&1&&(ke.disabled=Zn[0])},i:noop,o:noop,d(Zn){Zn&&detach(ke),Vn=!1,qn()}}}let mimeTypes="";function instance$X(_n,ke,Ce){const $n=createEventDispatcher(),Mn=getContext$1("channel");let{schema:Qn}=ke,Vn=[],qn=!1;function Zn(jn){Ce(0,qn=!0),Vn=jn.target.files?[...jn.target.files]:[];let Xn=new FormData;Xn.append("schema",Qn.name),Array.from(Vn).forEach(function(zn){Xn.append("files[]",zn)}),$n("beforeUpload",Vn),axios.post(Mn.lucentUrl+"/files/upload",Xn,{headers:{"Content-Type":"multipart/form-data"}}).then(zn=>{zn.data.error?$n("uploadError",zn.data.error):$n("uploadComplete",zn.data),Ce(0,qn=!1)}).catch(zn=>{Ce(0,qn=!1),console.log(zn.response.data)})}return _n.$$set=jn=>{"schema"in jn&&Ce(2,Qn=jn.schema)},[qn,Zn,Qn]}class Uploader extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$X,create_fragment$X,safe_not_equal,{schema:2})}}function get_each_context$j(_n,ke,Ce){const $n=_n.slice();return $n[18]=ke[Ce],$n}function get_each_context_1$7(_n,ke,Ce){const $n=_n.slice();return $n[18]=ke[Ce],$n}function create_each_block_1$7(_n){let ke,Ce,$n,Mn,Qn,Vn,qn,Zn,jn,Xn,zn=_n[18].label+"",Hn,Wn,Yn,Un;$n=new Icon({props:{icon:"arrow-up-short-wide"}});function Gn(...tr){return _n[10](_n[18],...tr)}qn=new Icon({props:{icon:"arrow-down-wide-short"}});function Kn(...tr){return _n[11](_n[18],...tr)}function Jn(...tr){return _n[12](_n[18],...tr)}return{c(){ke=element("div"),Ce=element("button"),create_component($n.$$.fragment),Qn=space$3(),Vn=element("button"),create_component(qn.$$.fragment),jn=space$3(),Xn=element("button"),Hn=text(zn),attr(Ce,"title","Sort Ascending"),attr(Ce,"class",Mn="button button-icon "+(_n[18].name==_n[1].name&&!_n[0].startsWith("-")?"active":"")),attr(Vn,"title","Sort Descending"),attr(Vn,"class",Zn="button button-icon "+(_n[18].name==_n[1].name&&_n[0].startsWith("-")?"active":"")),attr(Xn,"title","Sort Ascending"),attr(Xn,"class","button"),attr(ke,"class","dropdown-item")},m(tr,nr){insert$1(tr,ke,nr),append(ke,Ce),mount_component($n,Ce,null),append(ke,Qn),append(ke,Vn),mount_component(qn,Vn,null),append(ke,jn),append(ke,Xn),append(Xn,Hn),Wn=!0,Yn||(Un=[listen(Ce,"click",Gn),listen(Vn,"click",Kn),listen(Xn,"click",Jn)],Yn=!0)},p(tr,nr){_n=tr,(!Wn||nr&11&&Mn!==(Mn="button button-icon "+(_n[18].name==_n[1].name&&!_n[0].startsWith("-")?"active":"")))&&attr(Ce,"class",Mn),(!Wn||nr&11&&Zn!==(Zn="button button-icon "+(_n[18].name==_n[1].name&&_n[0].startsWith("-")?"active":"")))&&attr(Vn,"class",Zn),(!Wn||nr&8)&&zn!==(zn=_n[18].label+"")&&set_data(Hn,zn)},i(tr){Wn||(transition_in($n.$$.fragment,tr),transition_in(qn.$$.fragment,tr),Wn=!0)},o(tr){transition_out($n.$$.fragment,tr),transition_out(qn.$$.fragment,tr),Wn=!1},d(tr){tr&&detach(ke),destroy_component($n),destroy_component(qn),Yn=!1,run_all(Un)}}}function create_each_block$j(_n){let ke,Ce,$n,Mn,Qn,Vn,qn,Zn,jn,Xn,zn=_n[18].label+"",Hn,Wn,Yn,Un,Gn;$n=new Icon({props:{icon:"arrow-up-short-wide"}});function Kn(...nr){return _n[13](_n[18],...nr)}qn=new Icon({props:{icon:"arrow-down-wide-short"}});function Jn(...nr){return _n[14](_n[18],...nr)}function tr(...nr){return _n[15](_n[18],...nr)}return{c(){ke=element("div"),Ce=element("button"),create_component($n.$$.fragment),Qn=space$3(),Vn=element("button"),create_component(qn.$$.fragment),jn=space$3(),Xn=element("button"),Hn=text(zn),Wn=space$3(),attr(Ce,"title","Sort Ascending"),attr(Ce,"class",Mn="button button-icon "+(_n[18].name==_n[0]?"active":"")),attr(Vn,"title","Sort Descending"),attr(Vn,"class",Zn="button button-icon "+("-"+_n[18].name==_n[0]?"active":"")),attr(Xn,"title","Sort Ascending"),attr(Xn,"class","button"),attr(ke,"class","dropdown-item")},m(nr,er){insert$1(nr,ke,er),append(ke,Ce),mount_component($n,Ce,null),append(ke,Qn),append(ke,Vn),mount_component(qn,Vn,null),append(ke,jn),append(ke,Xn),append(Xn,Hn),append(ke,Wn),Yn=!0,Un||(Gn=[listen(Ce,"click",Kn),listen(Vn,"click",Jn),listen(Xn,"click",tr)],Un=!0)},p(nr,er){_n=nr,(!Yn||er&5&&Mn!==(Mn="button button-icon "+(_n[18].name==_n[0]?"active":"")))&&attr(Ce,"class",Mn),(!Yn||er&5&&Zn!==(Zn="button button-icon "+("-"+_n[18].name==_n[0]?"active":"")))&&attr(Vn,"class",Zn),(!Yn||er&4)&&zn!==(zn=_n[18].label+"")&&set_data(Hn,zn)},i(nr){Yn||(transition_in($n.$$.fragment,nr),transition_in(qn.$$.fragment,nr),Yn=!0)},o(nr){transition_out($n.$$.fragment,nr),transition_out(qn.$$.fragment,nr),Yn=!1},d(nr){nr&&detach(ke),destroy_component($n),destroy_component(qn),Un=!1,run_all(Gn)}}}function create_default_slot$7(_n){let ke,Ce,$n,Mn,Qn,Vn=ensure_array_like(_n[3]),qn=[];for(let Hn=0;Hntransition_out(qn[Hn],1,1,()=>{qn[Hn]=null});let jn=ensure_array_like(_n[2]),Xn=[];for(let Hn=0;Hntransition_out(Xn[Hn],1,1,()=>{Xn[Hn]=null});return{c(){ke=element("div");for(let Hn=0;Hn{zn[Un]=null}),check_outros(),Mn=zn[$n],Mn||(Mn=zn[$n]=Xn[$n](Wn),Mn.c()),transition_in(Mn,1),Mn.m(ke,Qn)),(!jn||Yn&2)&&qn!==(qn=Wn[1].label+"")&&set_data(Zn,qn)},i(Wn){jn||(transition_in(Mn),jn=!0)},o(Wn){transition_out(Mn),jn=!1},d(Wn){Wn&&detach(ke),zn[$n].d()}}}function create_fragment$W(_n){let ke,Ce;return ke=new Dropdown({props:{$$slots:{button:[create_button_slot$6],default:[create_default_slot$7]},$$scope:{ctx:_n}}}),{c(){create_component(ke.$$.fragment)},m($n,Mn){mount_component(ke,$n,Mn),Ce=!0},p($n,[Mn]){const Qn={};Mn&8388623&&(Qn.$$scope={dirty:Mn,ctx:$n}),ke.$set(Qn)},i($n){Ce||(transition_in(ke.$$.fragment,$n),Ce=!0)},o($n){transition_out(ke.$$.fragment,$n),Ce=!1},d($n){destroy_component(ke,$n)}}}function instance$W(_n,ke,Ce){let $n,Mn;const Qn=createEventDispatcher();let{schema:Vn}=ke,{sortParam:qn}=ke,{sortField:Zn}=ke,{inModal:jn}=ke,{modalUrl:Xn}=ke,{systemFields:zn=[]}=ke;function Hn(er){const rr=new URL(Xn??window.location.href);rr.searchParams.set("sort",er),jn?Qn("refresh",rr):window.location=rr}function Wn(er,rr){er.preventDefault();let or=zn.map(ir=>ir.name).includes(rr.name)?"":"data.";return Hn(or+rr.name)}function Yn(er,rr){er.preventDefault();let or=zn.map(ir=>ir.name).includes(rr.name)?"":"data.";return Hn("-"+or+rr.name)}const Un=(er,rr)=>Wn(rr,er),Gn=(er,rr)=>Yn(rr,er),Kn=(er,rr)=>Wn(rr,er),Jn=(er,rr)=>Wn(rr,er),tr=(er,rr)=>Yn(rr,er),nr=(er,rr)=>Wn(rr,er);return _n.$$set=er=>{"schema"in er&&Ce(6,Vn=er.schema),"sortParam"in er&&Ce(0,qn=er.sortParam),"sortField"in er&&Ce(1,Zn=er.sortField),"inModal"in er&&Ce(7,jn=er.inModal),"modalUrl"in er&&Ce(8,Xn=er.modalUrl),"systemFields"in er&&Ce(9,zn=er.systemFields)},_n.$$.update=()=>{_n.$$.dirty&64&&Ce(3,$n=Vn.fields.filter(er=>!["reference","file","json","id","rich","markdown","block"].includes(er.info.name))),_n.$$.dirty&512&&Ce(2,Mn=zn),_n.$$.dirty&576&&Vn.type==="collection"&&Ce(2,Mn=zn.filter(er=>er.files===!1))},[qn,Zn,Mn,$n,Wn,Yn,Vn,jn,Xn,zn,Un,Gn,Kn,Jn,tr,nr]}class SortFields extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$W,create_fragment$W,safe_not_equal,{schema:6,sortParam:0,sortField:1,inModal:7,modalUrl:8,systemFields:9})}}function create_else_block$i(_n){var jn,Xn;let ke=_n[3].label+"",Ce,$n,Mn=(((jn=_n[0].find(_n[11]))==null?void 0:jn.symbol)??"")+"",Qn,Vn,qn=((Xn=_n[0].find(_n[12]))!=null&&Xn.hasValue?_n[2]:"")+"",Zn;return{c(){Ce=text(ke),$n=space$3(),Qn=text(Mn),Vn=space$3(),Zn=text(qn)},m(zn,Hn){insert$1(zn,Ce,Hn),insert$1(zn,$n,Hn),insert$1(zn,Qn,Hn),insert$1(zn,Vn,Hn),insert$1(zn,Zn,Hn)},p(zn,Hn){var Wn,Yn;Hn&8&&ke!==(ke=zn[3].label+"")&&set_data(Ce,ke),Hn&9&&Mn!==(Mn=(((Wn=zn[0].find(zn[11]))==null?void 0:Wn.symbol)??"")+"")&&set_data(Qn,Mn),Hn&13&&qn!==(qn=((Yn=zn[0].find(zn[12]))!=null&&Yn.hasValue?zn[2]:"")+"")&&set_data(Zn,qn)},d(zn){zn&&(detach(Ce),detach($n),detach(Qn),detach(Vn),detach(Zn))}}}function create_if_block$C(_n){let ke=_n[3].label+"",Ce,$n,Mn=previewTitle(_n[4].schemas,_n[5])+"",Qn;return{c(){Ce=text(ke),$n=text(" is "),Qn=text(Mn)},m(Vn,qn){insert$1(Vn,Ce,qn),insert$1(Vn,$n,qn),insert$1(Vn,Qn,qn)},p(Vn,qn){qn&8&&ke!==(ke=Vn[3].label+"")&&set_data(Ce,ke)},d(Vn){Vn&&(detach(Ce),detach($n),detach(Qn))}}}function create_fragment$V(_n){let ke,Ce,$n,Mn,Qn,Vn,qn;function Zn(zn,Hn){return zn[3].isReference&&zn[5]?create_if_block$C:create_else_block$i}let jn=Zn(_n),Xn=jn(_n);return Mn=new Icon({props:{width:12,height:12,icon:"close"}}),{c(){ke=element("span"),Xn.c(),Ce=space$3(),$n=element("button"),create_component(Mn.$$.fragment),attr($n,"type","button"),attr($n,"class","button-text"),attr($n,"aria-label","Close"),attr(ke,"class","applied-filter")},m(zn,Hn){insert$1(zn,ke,Hn),Xn.m(ke,null),append(ke,Ce),append(ke,$n),mount_component(Mn,$n,null),Qn=!0,Vn||(qn=listen($n,"click",prevent_default(_n[13])),Vn=!0)},p(zn,[Hn]){jn===(jn=Zn(zn))&&Xn?Xn.p(zn,Hn):(Xn.d(1),Xn=jn(zn),Xn&&(Xn.c(),Xn.m(ke,Ce)))},i(zn){Qn||(transition_in(Mn.$$.fragment,zn),Qn=!0)},o(zn){transition_out(Mn.$$.fragment,zn),Qn=!1},d(zn){zn&&detach(ke),Xn.d(),destroy_component(Mn),Vn=!1,qn()}}}function extractOperator(_n){return ke=>{if(ke.isReference)return ke.operator="eq",ke;const Ce=_n.split("_");return ke.operator=Ce[Ce.length-1]??"eq",ke}}function extractLabel(_n,ke){return Ce=>{let $n="";Ce.isReference?$n=ke.split(".")[1]:$n=ke.replace("_"+Ce.operator,"");const Mn=_n.fields.find(Qn=>Qn.name===$n);return Ce.label=(Mn==null?void 0:Mn.label)??$n,Ce}}function instance$V(_n,ke,Ce){const $n=getContext$1("channel"),Mn=createEventDispatcher();let{schema:Qn}=ke,{operators:Vn}=ke,{key:qn}=ke,{value:Zn}=ke,{inModal:jn}=ke,{modalUrl:Xn}=ke,{graph:zn}=ke,Hn={label:"",operator:"",value:Zn,isReference:qn.startsWith("children")};Hn=[extractOperator(qn),extractLabel(Qn,qn)].reduce((tr,nr)=>nr(tr),Hn);const Wn=Yn(zn,Zn);function Yn(tr,nr){return Hn.isReference?tr.records.find(er=>er.id===nr):null}function Un(tr){let nr=`filter[${tr}]`;const er=new URL(Xn??window.location.href);er.searchParams.set("skip","0"),er.searchParams.delete(nr),jn?Mn("refresh",er):window.location.replace(er)}const Gn=tr=>tr.name===Hn.operator,Kn=tr=>tr.name===Hn.operator,Jn=()=>Un(qn);return _n.$$set=tr=>{"schema"in tr&&Ce(7,Qn=tr.schema),"operators"in tr&&Ce(0,Vn=tr.operators),"key"in tr&&Ce(1,qn=tr.key),"value"in tr&&Ce(2,Zn=tr.value),"inModal"in tr&&Ce(8,jn=tr.inModal),"modalUrl"in tr&&Ce(9,Xn=tr.modalUrl),"graph"in tr&&Ce(10,zn=tr.graph)},[Vn,qn,Zn,Hn,$n,Wn,Un,Qn,jn,Xn,zn,Gn,Kn,Jn]}class AppliedFilter extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$V,create_fragment$V,safe_not_equal,{schema:7,operators:0,key:1,value:2,inModal:8,modalUrl:9,graph:10})}}function create_if_block$B(_n){let ke,Ce,$n,Mn,Qn,Vn,qn;return Mn=new Icon({props:{width:12,height:12,icon:"close"}}),{c(){ke=element("span"),Ce=text(`Not linked `),$n=element("button"),create_component(Mn.$$.fragment),attr($n,"type","button"),attr($n,"class","button-text"),attr($n,"aria-label","Close"),attr(ke,"class","applied-filter")},m(Zn,jn){insert$1(Zn,ke,jn),append(ke,Ce),append(ke,$n),mount_component(Mn,$n,null),Qn=!0,Vn||(qn=listen($n,"click",prevent_default(_n[4])),Vn=!0)},p:noop,i(Zn){Qn||(transition_in(Mn.$$.fragment,Zn),Qn=!0)},o(Zn){transition_out(Mn.$$.fragment,Zn),Qn=!1},d(Zn){Zn&&detach(ke),destroy_component(Mn),Vn=!1,qn()}}}function create_fragment$U(_n){let ke=_n[0].searchParams.get("notlinked"),Ce,$n,Mn=ke&&create_if_block$B(_n);return{c(){Mn&&Mn.c(),Ce=empty$1()},m(Qn,Vn){Mn&&Mn.m(Qn,Vn),insert$1(Qn,Ce,Vn),$n=!0},p(Qn,[Vn]){ke&&Mn.p(Qn,Vn)},i(Qn){$n||(transition_in(Mn),$n=!0)},o(Qn){transition_out(Mn),$n=!1},d(Qn){Qn&&detach(Ce),Mn&&Mn.d(Qn)}}}function instance$U(_n,ke,Ce){getContext$1("channel");const $n=createEventDispatcher();let{inModal:Mn}=ke,{modalUrl:Qn}=ke;const Vn=new URL(Qn??window.location.href);function qn(jn){const Xn=new URL(Qn??window.location.href);Xn.searchParams.set("skip","0"),Xn.searchParams.delete("notlinked"),Mn?$n("refresh",Xn):window.location.replace(Xn)}const Zn=()=>qn();return _n.$$set=jn=>{"inModal"in jn&&Ce(2,Mn=jn.inModal),"modalUrl"in jn&&Ce(3,Qn=jn.modalUrl)},[Vn,qn,Mn,Qn,Zn]}class AppliedFilterNotLinked extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$U,create_fragment$U,safe_not_equal,{inModal:2,modalUrl:3})}}function get_each_context$i(_n,ke,Ce){const $n=_n.slice();return $n[22]=ke[Ce][0],$n[23]=ke[Ce][1],$n}function create_else_block_1$2(_n){let ke,Ce,$n;return Ce=new Uploader({props:{schema:_n[0]}}),Ce.$on("uploadComplete",_n[13]),{c(){ke=element("div"),create_component(Ce.$$.fragment)},m(Mn,Qn){insert$1(Mn,ke,Qn),mount_component(Ce,ke,null),$n=!0},p(Mn,Qn){const Vn={};Qn&1&&(Vn.schema=Mn[0]),Ce.$set(Vn)},i(Mn){$n||(transition_in(Ce.$$.fragment,Mn),$n=!0)},o(Mn){transition_out(Ce.$$.fragment,Mn),$n=!1},d(Mn){Mn&&detach(ke),destroy_component(Ce)}}}function create_if_block_4$7(_n){let ke,Ce=!_n[5]&&_n[7]&&create_if_block_5$3(_n);return{c(){Ce&&Ce.c(),ke=empty$1()},m($n,Mn){Ce&&Ce.m($n,Mn),insert$1($n,ke,Mn)},p($n,Mn){!$n[5]&&$n[7]?Ce?Ce.p($n,Mn):(Ce=create_if_block_5$3($n),Ce.c(),Ce.m(ke.parentNode,ke)):Ce&&(Ce.d(1),Ce=null)},i:noop,o:noop,d($n){$n&&detach(ke),Ce&&Ce.d($n)}}}function create_if_block_5$3(_n){let ke,Ce,$n;return{c(){ke=element("a"),Ce=text("New Record"),attr(ke,"href",$n=_n[10].lucentUrl+"/records/new?schema="+_n[0].name),attr(ke,"class","button")},m(Mn,Qn){insert$1(Mn,ke,Qn),append(ke,Ce)},p(Mn,Qn){Qn&1&&$n!==($n=Mn[10].lucentUrl+"/records/new?schema="+Mn[0].name)&&attr(ke,"href",$n)},d(Mn){Mn&&detach(ke)}}}function create_if_block_1$k(_n){let ke,Ce;return ke=new Dropdown({props:{orientation:"right",$$slots:{button:[create_button_slot$5],default:[create_default_slot$6]},$$scope:{ctx:_n}}}),{c(){create_component(ke.$$.fragment)},m($n,Mn){mount_component(ke,$n,Mn),Ce=!0},p($n,Mn){const Qn={};Mn&67109009&&(Qn.$$scope={dirty:Mn,ctx:$n}),ke.$set(Qn)},i($n){Ce||(transition_in(ke.$$.fragment,$n),Ce=!0)},o($n){transition_out(ke.$$.fragment,$n),Ce=!1},d($n){destroy_component(ke,$n)}}}function create_else_block$h(_n){let ke,Ce,$n,Mn,Qn,Vn,qn,Zn,jn,Xn;return{c(){ke=element("a"),Ce=text("Export to CSV"),$n=space$3(),Mn=element("a"),Qn=text("View trashed records"),qn=space$3(),Zn=element("a"),jn=text("View unlinked records"),attr(ke,"class","dropdown-item"),attr(ke,"href",_n[11]),attr(Mn,"class","dropdown-item"),attr(Mn,"href",Vn=_n[10].lucentUrl+"/content/"+_n[0].name+"?filter[status_in]=trashed"),attr(Zn,"class","dropdown-item"),attr(Zn,"href",Xn=_n[10].lucentUrl+"/content/"+_n[0].name+"?notlinked=*")},m(zn,Hn){insert$1(zn,ke,Hn),append(ke,Ce),insert$1(zn,$n,Hn),insert$1(zn,Mn,Hn),append(Mn,Qn),insert$1(zn,qn,Hn),insert$1(zn,Zn,Hn),append(Zn,jn)},p(zn,Hn){Hn&1&&Vn!==(Vn=zn[10].lucentUrl+"/content/"+zn[0].name+"?filter[status_in]=trashed")&&attr(Mn,"href",Vn),Hn&1&&Xn!==(Xn=zn[10].lucentUrl+"/content/"+zn[0].name+"?notlinked=*")&&attr(Zn,"href",Xn)},d(zn){zn&&(detach(ke),detach($n),detach(Mn),detach(qn),detach(Zn))}}}function create_if_block_2$a(_n){let ke,Ce=_n[7]&&create_if_block_3$9(_n);return{c(){Ce&&Ce.c(),ke=empty$1()},m($n,Mn){Ce&&Ce.m($n,Mn),insert$1($n,ke,Mn)},p($n,Mn){$n[7]?Ce?Ce.p($n,Mn):(Ce=create_if_block_3$9($n),Ce.c(),Ce.m(ke.parentNode,ke)):Ce&&(Ce.d(1),Ce=null)},d($n){$n&&detach(ke),Ce&&Ce.d($n)}}}function create_if_block_3$9(_n){let ke,Ce,$n;return{c(){ke=element("a"),Ce=text("Empty trash"),attr(ke,"class","dropdown-item"),attr(ke,"href",$n=_n[10].lucentUrl+"/content/"+_n[0].name+"/emptyTrash")},m(Mn,Qn){insert$1(Mn,ke,Qn),append(ke,Ce)},p(Mn,Qn){Qn&1&&$n!==($n=Mn[10].lucentUrl+"/content/"+Mn[0].name+"/emptyTrash")&&attr(ke,"href",$n)},d(Mn){Mn&&detach(ke)}}}function create_default_slot$6(_n){let ke;function Ce(Qn,Vn){return Qn[4].status_in==="trashed"?create_if_block_2$a:create_else_block$h}let $n=Ce(_n),Mn=$n(_n);return{c(){Mn.c(),ke=empty$1()},m(Qn,Vn){Mn.m(Qn,Vn),insert$1(Qn,ke,Vn)},p(Qn,Vn){$n===($n=Ce(Qn))&&Mn?Mn.p(Qn,Vn):(Mn.d(1),Mn=$n(Qn),Mn&&(Mn.c(),Mn.m(ke.parentNode,ke)))},d(Qn){Qn&&detach(ke),Mn.d(Qn)}}}function create_button_slot$5(_n){let ke,Ce,$n;return Ce=new Icon({props:{icon:"ellipsis-vertical"}}),{c(){ke=element("div"),create_component(Ce.$$.fragment),attr(ke,"slot","button")},m(Mn,Qn){insert$1(Mn,ke,Qn),mount_component(Ce,ke,null),$n=!0},p:noop,i(Mn){$n||(transition_in(Ce.$$.fragment,Mn),$n=!0)},o(Mn){transition_out(Ce.$$.fragment,Mn),$n=!1},d(Mn){Mn&&detach(ke),destroy_component(Ce)}}}function create_if_block$A(_n){let ke,Ce,$n=ensure_array_like(Object.entries(_n[4])),Mn=[];for(let Vn=0;Vn<$n.length;Vn+=1)Mn[Vn]=create_each_block$i(get_each_context$i(_n,$n,Vn));const Qn=Vn=>transition_out(Mn[Vn],1,1,()=>{Mn[Vn]=null});return{c(){for(let Vn=0;Vn0,tr,nr,er;$n=new SortFields({props:{schema:_n[0],sortParam:_n[1],sortField:_n[2],systemFields:_n[9],inModal:_n[5],modalUrl:_n[6]}}),$n.$on("refresh",_n[15]);function rr(pr){_n[16](pr)}let or={systemFields:_n[9],operators:_n[3],filter:_n[4],inModal:_n[5],modalUrl:_n[6]};_n[0]!==void 0&&(or.schema=_n[0]),Qn=new FilterFields({props:or}),binding_callbacks.push(()=>bind(Qn,"schema",rr)),Qn.$on("refresh",_n[17]);const ir=[create_if_block_4$7,create_else_block_1$2],sr=[];function cr(pr,mr){return pr[0].type==="collection"?0:1}zn=cr(_n),Hn=sr[zn]=ir[zn](_n);let ur=!_n[5]&&create_if_block_1$k(_n);Gn=new AppliedFilterNotLinked({props:{inModal:_n[5],modalUrl:_n[6]}}),Gn.$on("refresh",_n[18]);let fr=Jn&&create_if_block$A(_n);return{c(){ke=element("div"),Ce=element("div"),create_component($n.$$.fragment),Mn=space$3(),create_component(Qn.$$.fragment),qn=space$3(),Zn=element("form"),Zn.innerHTML='',jn=space$3(),Xn=element("div"),Hn.c(),Wn=space$3(),ur&&ur.c(),Yn=space$3(),Un=element("div"),create_component(Gn.$$.fragment),Kn=space$3(),fr&&fr.c(),attr(Zn,"method","GET"),attr(Ce,"class","toolbar-filters"),set_style(Xn,"display","flex"),set_style(Xn,"align-items","center"),set_style(Xn,"gap","4px"),attr(ke,"class","toolbar"),attr(Un,"class","applied-filters")},m(pr,mr){insert$1(pr,ke,mr),append(ke,Ce),mount_component($n,Ce,null),append(Ce,Mn),mount_component(Qn,Ce,null),append(Ce,qn),append(Ce,Zn),append(ke,jn),append(ke,Xn),sr[zn].m(Xn,null),append(Xn,Wn),ur&&ur.m(Xn,null),insert$1(pr,Yn,mr),insert$1(pr,Un,mr),mount_component(Gn,Un,null),append(Un,Kn),fr&&fr.m(Un,null),tr=!0,nr||(er=listen(Zn,"submit",_n[12]),nr=!0)},p(pr,[mr]){const _r={};mr&1&&(_r.schema=pr[0]),mr&2&&(_r.sortParam=pr[1]),mr&4&&(_r.sortField=pr[2]),mr&512&&(_r.systemFields=pr[9]),mr&32&&(_r.inModal=pr[5]),mr&64&&(_r.modalUrl=pr[6]),$n.$set(_r);const vr={};mr&512&&(vr.systemFields=pr[9]),mr&8&&(vr.operators=pr[3]),mr&16&&(vr.filter=pr[4]),mr&32&&(vr.inModal=pr[5]),mr&64&&(vr.modalUrl=pr[6]),!Vn&&mr&1&&(Vn=!0,vr.schema=pr[0],add_flush_callback(()=>Vn=!1)),Qn.$set(vr);let hr=zn;zn=cr(pr),zn===hr?sr[zn].p(pr,mr):(group_outros(),transition_out(sr[hr],1,1,()=>{sr[hr]=null}),check_outros(),Hn=sr[zn],Hn?Hn.p(pr,mr):(Hn=sr[zn]=ir[zn](pr),Hn.c()),transition_in(Hn,1),Hn.m(Xn,Wn)),pr[5]?ur&&(group_outros(),transition_out(ur,1,1,()=>{ur=null}),check_outros()):ur?(ur.p(pr,mr),mr&32&&transition_in(ur,1)):(ur=create_if_block_1$k(pr),ur.c(),transition_in(ur,1),ur.m(Xn,null));const br={};mr&32&&(br.inModal=pr[5]),mr&64&&(br.modalUrl=pr[6]),Gn.$set(br),mr&16&&(Jn=Object.entries(pr[4]).length>0),Jn?fr?(fr.p(pr,mr),mr&16&&transition_in(fr,1)):(fr=create_if_block$A(pr),fr.c(),transition_in(fr,1),fr.m(Un,null)):fr&&(group_outros(),transition_out(fr,1,1,()=>{fr=null}),check_outros())},i(pr){tr||(transition_in($n.$$.fragment,pr),transition_in(Qn.$$.fragment,pr),transition_in(Hn),transition_in(ur),transition_in(Gn.$$.fragment,pr),transition_in(fr),tr=!0)},o(pr){transition_out($n.$$.fragment,pr),transition_out(Qn.$$.fragment,pr),transition_out(Hn),transition_out(ur),transition_out(Gn.$$.fragment,pr),transition_out(fr),tr=!1},d(pr){pr&&(detach(ke),detach(Yn),detach(Un)),destroy_component($n),destroy_component(Qn),sr[zn].d(),ur&&ur.d(),destroy_component(Gn),fr&&fr.d(),nr=!1,er()}}}function instance$T(_n,ke,Ce){const $n=getContext$1("channel"),Mn=createEventDispatcher();let{sortParam:Qn}=ke,{sortField:Vn}=ke,{schema:qn}=ke,{operators:Zn}=ke,{filter:jn}=ke,{inModal:Xn}=ke,{modalUrl:zn}=ke,{isWritable:Hn}=ke,{records:Wn}=ke,{graph:Yn}=ke,{systemFields:Un=[]}=ke,Gn=new URL(window.location.href),Kn=Gn.pathname+"/csv?"+Gn.searchParams.toString();function Jn(sr){sr.preventDefault();const cr=new FormData(sr.target);let ur=cr.keys().next().value,fr=cr.values().next().value;const pr=new URL(zn??window.location.href);pr.searchParams.set("skip","0"),pr.searchParams.set(ur,fr),Xn?Mn("refresh",pr):window.location=pr}function tr(sr){Ce(14,Wn=sr.detail)}function nr(sr){bubble.call(this,_n,sr)}function er(sr){qn=sr,Ce(0,qn)}function rr(sr){bubble.call(this,_n,sr)}function or(sr){bubble.call(this,_n,sr)}function ir(sr){bubble.call(this,_n,sr)}return _n.$$set=sr=>{"sortParam"in sr&&Ce(1,Qn=sr.sortParam),"sortField"in sr&&Ce(2,Vn=sr.sortField),"schema"in sr&&Ce(0,qn=sr.schema),"operators"in sr&&Ce(3,Zn=sr.operators),"filter"in sr&&Ce(4,jn=sr.filter),"inModal"in sr&&Ce(5,Xn=sr.inModal),"modalUrl"in sr&&Ce(6,zn=sr.modalUrl),"isWritable"in sr&&Ce(7,Hn=sr.isWritable),"records"in sr&&Ce(14,Wn=sr.records),"graph"in sr&&Ce(8,Yn=sr.graph),"systemFields"in sr&&Ce(9,Un=sr.systemFields)},[qn,Qn,Vn,Zn,jn,Xn,zn,Hn,Yn,Un,$n,Kn,Jn,tr,Wn,nr,er,rr,or,ir]}class Tools extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$T,create_fragment$T,safe_not_equal,{sortParam:1,sortField:2,schema:0,operators:3,filter:4,inModal:5,modalUrl:6,isWritable:7,records:14,graph:8,systemFields:9})}}function get_each_context$h(_n,ke,Ce){const $n=_n.slice();return $n[9]=ke[Ce],$n}function create_else_block$g(_n){let ke,Ce=_n[9]+"",$n,Mn,Qn,Vn;function qn(...Zn){return _n[7](_n[9],...Zn)}return{c(){ke=element("a"),$n=text(Ce),attr(ke,"class","page-link"),attr(ke,"href",Mn=_n[2](_n[9]))},m(Zn,jn){insert$1(Zn,ke,jn),append(ke,$n),Qn||(Vn=listen(ke,"click",qn),Qn=!0)},p(Zn,jn){_n=Zn,jn&1&&Ce!==(Ce=_n[9]+"")&&set_data($n,Ce),jn&1&&Mn!==(Mn=_n[2](_n[9]))&&attr(ke,"href",Mn)},d(Zn){Zn&&detach(ke),Qn=!1,Vn()}}}function create_if_block$z(_n){let ke,Ce=_n[9]+"",$n;return{c(){ke=element("span"),$n=text(Ce),attr(ke,"class","page-link active")},m(Mn,Qn){insert$1(Mn,ke,Qn),append(ke,$n)},p(Mn,Qn){Qn&1&&Ce!==(Ce=Mn[9]+"")&&set_data($n,Ce)},d(Mn){Mn&&detach(ke)}}}function create_each_block$h(_n){let ke,Ce;function $n(Vn,qn){return Vn[1]===Vn[9]?create_if_block$z:create_else_block$g}let Mn=$n(_n),Qn=Mn(_n);return{c(){ke=element("li"),Qn.c(),Ce=space$3(),attr(ke,"class","page-item"),toggle_class(ke,"active",_n[1]===_n[9])},m(Vn,qn){insert$1(Vn,ke,qn),Qn.m(ke,null),append(ke,Ce)},p(Vn,qn){Mn===(Mn=$n(Vn))&&Qn?Qn.p(Vn,qn):(Qn.d(1),Qn=Mn(Vn),Qn&&(Qn.c(),Qn.m(ke,Ce))),qn&3&&toggle_class(ke,"active",Vn[1]===Vn[9])},d(Vn){Vn&&detach(ke),Qn.d()}}}function create_fragment$S(_n){let ke,Ce=ensure_array_like(_n[0]),$n=[];for(let Mn=0;MnXn(Wn,Hn);return _n.$$set=Hn=>{"pages"in Hn&&Ce(0,Mn=Hn.pages),"limit"in Hn&&Ce(4,Qn=Hn.limit),"currentPage"in Hn&&Ce(1,Vn=Hn.currentPage),"inModal"in Hn&&Ce(5,qn=Hn.inModal),"modalUrl"in Hn&&Ce(6,Zn=Hn.modalUrl)},[Mn,Vn,jn,Xn,Qn,qn,Zn,zn]}class NavItem extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$S,create_fragment$S,safe_not_equal,{pages:0,limit:4,currentPage:1,inModal:5,modalUrl:6})}}function create_if_block$y(_n){let ke,Ce,$n,Mn,Qn,Vn,qn,Zn,jn,Xn;return Mn=new NavItem({props:{pages:_n[7],currentPage:_n[6],limit:_n[2],inModal:_n[0],modalUrl:_n[1]}}),Mn.$on("refresh",_n[10]),{c(){ke=element("li"),Ce=element("a"),Ce.textContent="First",$n=space$3(),create_component(Mn.$$.fragment),Qn=space$3(),Vn=element("li"),qn=element("a"),qn.textContent="Last",attr(Ce,"href","/"),attr(Ce,"class","page-link"),attr(ke,"class","page-item disabled"),toggle_class(ke,"disabled",_n[6]===1),attr(qn,"class","page-link"),attr(qn,"href","/"),toggle_class(qn,"disabled",_n[6]===_n[5]),attr(Vn,"class","page-item")},m(zn,Hn){insert$1(zn,ke,Hn),append(ke,Ce),insert$1(zn,$n,Hn),mount_component(Mn,zn,Hn),insert$1(zn,Qn,Hn),insert$1(zn,Vn,Hn),append(Vn,qn),Zn=!0,jn||(Xn=[listen(Ce,"click",_n[9]),listen(qn,"click",_n[8])],jn=!0)},p(zn,Hn){(!Zn||Hn&64)&&toggle_class(ke,"disabled",zn[6]===1);const Wn={};Hn&128&&(Wn.pages=zn[7]),Hn&64&&(Wn.currentPage=zn[6]),Hn&4&&(Wn.limit=zn[2]),Hn&1&&(Wn.inModal=zn[0]),Hn&2&&(Wn.modalUrl=zn[1]),Mn.$set(Wn),(!Zn||Hn&96)&&toggle_class(qn,"disabled",zn[6]===zn[5])},i(zn){Zn||(transition_in(Mn.$$.fragment,zn),Zn=!0)},o(zn){transition_out(Mn.$$.fragment,zn),Zn=!1},d(zn){zn&&(detach(ke),detach($n),detach(Qn),detach(Vn)),destroy_component(Mn,zn),jn=!1,run_all(Xn)}}}function create_fragment$R(_n){let ke,Ce,$n,Mn,Qn,Vn,qn=+_n[3]+1+"",Zn,jn,Xn,zn=(+_n[3]+_n[2]>_n[4]?_n[4]:+_n[3]+_n[2])+"",Hn,Wn,Yn,Un,Gn,Kn,Jn=_n[5]>1&&create_if_block$y(_n);return{c(){ke=element("nav"),Ce=element("ul"),Jn&&Jn.c(),$n=space$3(),Mn=element("p"),Qn=text(`Showing `),Vn=element("span"),Zn=text(qn),jn=text(` to `),Xn=element("span"),Hn=text(zn),Wn=text(` of `),Yn=element("span"),Un=text(_n[4]),Gn=text(` total`),attr(Ce,"class","pagination"),attr(Vn,"class","font-medium"),attr(Xn,"class","font-medium"),attr(Yn,"class","font-medium"),set_style(Mn,"display","flex"),set_style(Mn,"justify-content","center"),set_style(Mn,"gap","4px")},m(tr,nr){insert$1(tr,ke,nr),append(ke,Ce),Jn&&Jn.m(Ce,null),insert$1(tr,$n,nr),insert$1(tr,Mn,nr),append(Mn,Qn),append(Mn,Vn),append(Vn,Zn),append(Mn,jn),append(Mn,Xn),append(Xn,Hn),append(Mn,Wn),append(Mn,Yn),append(Yn,Un),append(Mn,Gn),Kn=!0},p(tr,[nr]){tr[5]>1?Jn?(Jn.p(tr,nr),nr&32&&transition_in(Jn,1)):(Jn=create_if_block$y(tr),Jn.c(),transition_in(Jn,1),Jn.m(Ce,null)):Jn&&(group_outros(),transition_out(Jn,1,1,()=>{Jn=null}),check_outros()),(!Kn||nr&8)&&qn!==(qn=+tr[3]+1+"")&&set_data(Zn,qn),(!Kn||nr&28)&&zn!==(zn=(+tr[3]+tr[2]>tr[4]?tr[4]:+tr[3]+tr[2])+"")&&set_data(Hn,zn),(!Kn||nr&16)&&set_data(Un,tr[4])},i(tr){Kn||(transition_in(Jn),Kn=!0)},o(tr){transition_out(Jn),Kn=!1},d(tr){tr&&(detach(ke),detach($n),detach(Mn)),Jn&&Jn.d()}}}function instance$R(_n,ke,Ce){let $n,Mn,Qn;const Vn=createEventDispatcher();let{inModal:qn}=ke,{modalUrl:Zn}=ke,{limit:jn}=ke,{skip:Xn}=ke,{total:zn}=ke;function Hn(Gn){Gn.preventDefault(),Yn($n)}function Wn(Gn){Gn.preventDefault(),Yn(1)}function Yn(Gn){const Kn=new URL(Zn??window.location.href);let Jn=Gn*jn-jn;Kn.searchParams.set("skip",Jn),qn?Vn("refresh",Kn):window.location=Kn}function Un(Gn){bubble.call(this,_n,Gn)}return _n.$$set=Gn=>{"inModal"in Gn&&Ce(0,qn=Gn.inModal),"modalUrl"in Gn&&Ce(1,Zn=Gn.modalUrl),"limit"in Gn&&Ce(2,jn=Gn.limit),"skip"in Gn&&Ce(3,Xn=Gn.skip),"total"in Gn&&Ce(4,zn=Gn.total)},_n.$$.update=()=>{_n.$$.dirty&20&&Ce(5,$n=Math.ceil(zn/jn)),_n.$$.dirty&12&&Ce(6,Mn=Math.ceil((Xn-1)/jn)+1),_n.$$.dirty&96&&Ce(7,Qn=range(Mn-3,Mn+4).filter(Gn=>Gn>0&&Gn<=$n))},[qn,Zn,jn,Xn,zn,$n,Mn,Qn,Hn,Wn,Un]}class Pagination extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$R,create_fragment$R,safe_not_equal,{inModal:0,modalUrl:1,limit:2,skip:3,total:4})}}function create_else_block$f(_n){let ke,Ce,$n;return{c(){ke=element("button"),ke.textContent="Move to trash",attr(ke,"type","button"),attr(ke,"class","button")},m(Mn,Qn){insert$1(Mn,ke,Qn),Ce||($n=listen(ke,"click",prevent_default(_n[7])),Ce=!0)},p:noop,d(Mn){Mn&&detach(ke),Ce=!1,$n()}}}function create_if_block$x(_n){let ke,Ce,$n;return{c(){ke=element("button"),ke.textContent="Delete forever",attr(ke,"type","button"),attr(ke,"class","button")},m(Mn,Qn){insert$1(Mn,ke,Qn),Ce||($n=listen(ke,"click",prevent_default(_n[2])),Ce=!0)},p:noop,d(Mn){Mn&&detach(ke),Ce=!1,$n()}}}function create_fragment$Q(_n){let ke,Ce,$n=_n[0].length+"",Mn,Qn,Vn,qn,Zn,jn,Xn,zn,Hn;function Wn(Gn,Kn){return Gn[1].status_in==="trashed"?create_if_block$x:create_else_block$f}let Yn=Wn(_n),Un=Yn(_n);return{c(){ke=element("div"),Ce=element("span"),Mn=text($n),Qn=text(" records selected"),Vn=space$3(),qn=element("button"),qn.textContent="Publish",Zn=space$3(),jn=element("button"),jn.textContent="Make Draft",Xn=space$3(),Un.c(),attr(Ce,"class","me-2"),attr(qn,"type","button"),attr(qn,"class","button"),attr(jn,"type","button"),attr(jn,"class","button"),set_style(ke,"display","flex"),set_style(ke,"align-items","center"),set_style(ke,"gap","8px")},m(Gn,Kn){insert$1(Gn,ke,Kn),append(ke,Ce),append(Ce,Mn),append(Ce,Qn),append(ke,Vn),append(ke,qn),append(ke,Zn),append(ke,jn),append(ke,Xn),Un.m(ke,null),zn||(Hn=[listen(qn,"click",prevent_default(_n[5])),listen(jn,"click",prevent_default(_n[6]))],zn=!0)},p(Gn,[Kn]){Kn&1&&$n!==($n=Gn[0].length+"")&&set_data(Mn,$n),Yn===(Yn=Wn(Gn))&&Un?Un.p(Gn,Kn):(Un.d(1),Un=Yn(Gn),Un&&(Un.c(),Un.m(ke,null)))},i:noop,o:noop,d(Gn){Gn&&detach(ke),Un.d(),zn=!1,run_all(Hn)}}}function instance$Q(_n,ke,Ce){const $n=getContext$1("channel");let{selected:Mn}=ke,{schema:Qn}=ke,{filter:Vn}=ke;function qn(Hn){Hn.preventDefault(),axios$1.post($n.lucentUrl+"/records/delete",{ids:Mn.map(Wn=>Wn.id)}).then(Wn=>{window.location.reload()}).catch(Wn=>{console.error(Wn)})}function Zn(Hn,Wn){axios$1.post($n.lucentUrl+"/records/status/"+Wn,{schemaName:Qn.name,records:Mn.map(Yn=>Yn.id)}).then(Yn=>{window.location.reload()}).catch(Yn=>{console.error(Yn)})}const jn=Hn=>Zn(Hn,"published"),Xn=Hn=>Zn(Hn,"draft"),zn=Hn=>Zn(Hn,"trashed");return _n.$$set=Hn=>{"selected"in Hn&&Ce(0,Mn=Hn.selected),"schema"in Hn&&Ce(4,Qn=Hn.schema),"filter"in Hn&&Ce(1,Vn=Hn.filter)},[Mn,Vn,qn,Zn,Qn,jn,Xn,zn]}class ActionsOnSelected extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$Q,create_fragment$Q,safe_not_equal,{selected:0,schema:4,filter:1})}}function create_fragment$P(_n){let ke;return{c(){ke=text(_n[0])},m(Ce,$n){insert$1(Ce,ke,$n)},p(Ce,[$n]){$n&1&&set_data(ke,Ce[0])},i:noop,o:noop,d(Ce){Ce&&detach(ke)}}}function instance$P(_n,ke,Ce){let{value:$n}=ke;return _n.$$set=Mn=>{"value"in Mn&&Ce(0,$n=Mn.value)},[$n]}let Checkbox$2=class extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$P,create_fragment$P,safe_not_equal,{value:0})}};function create_if_block$w(_n){let ke,Ce,$n,Mn;return{c(){ke=element("div"),Ce=element("span"),$n=space$3(),Mn=text(_n[0]),attr(Ce,"class","color border border-2 svelte-78o2k4"),set_style(Ce,"background",_n[0]),attr(ke,"class","d-inline-flex")},m(Qn,Vn){insert$1(Qn,ke,Vn),append(ke,Ce),append(ke,$n),append(ke,Mn)},p(Qn,Vn){Vn&1&&set_style(Ce,"background",Qn[0]),Vn&1&&set_data(Mn,Qn[0])},d(Qn){Qn&&detach(ke)}}}function create_fragment$O(_n){let ke,Ce=_n[0]&&create_if_block$w(_n);return{c(){Ce&&Ce.c(),ke=empty$1()},m($n,Mn){Ce&&Ce.m($n,Mn),insert$1($n,ke,Mn)},p($n,[Mn]){$n[0]?Ce?Ce.p($n,Mn):(Ce=create_if_block$w($n),Ce.c(),Ce.m(ke.parentNode,ke)):Ce&&(Ce.d(1),Ce=null)},i:noop,o:noop,d($n){$n&&detach(ke),Ce&&Ce.d($n)}}}function instance$O(_n,ke,Ce){let{value:$n}=ke;return _n.$$set=Mn=>{"value"in Mn&&Ce(0,$n=Mn.value)},[$n]}let Color$1=class extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$O,create_fragment$O,safe_not_equal,{value:0})}};function create_if_block$v(_n){let ke,Ce,$n;return{c(){ke=element("a"),Ce=text(_n[1]),attr(ke,"href",$n=_n[2].lucentUrl+"/records/"+_n[0].id),attr(ke,"title",_n[1]),attr(ke,"class","reference svelte-nbbgyi")},m(Mn,Qn){insert$1(Mn,ke,Qn),append(ke,Ce)},p(Mn,Qn){Qn&2&&set_data(Ce,Mn[1]),Qn&1&&$n!==($n=Mn[2].lucentUrl+"/records/"+Mn[0].id)&&attr(ke,"href",$n),Qn&2&&attr(ke,"title",Mn[1])},d(Mn){Mn&&detach(ke)}}}function create_fragment$N(_n){var $n;let ke,Ce=(($n=_n[0])==null?void 0:$n.data)&&create_if_block$v(_n);return{c(){Ce&&Ce.c(),ke=empty$1()},m(Mn,Qn){Ce&&Ce.m(Mn,Qn),insert$1(Mn,ke,Qn)},p(Mn,[Qn]){var Vn;(Vn=Mn[0])!=null&&Vn.data?Ce?Ce.p(Mn,Qn):(Ce=create_if_block$v(Mn),Ce.c(),Ce.m(ke.parentNode,ke)):Ce&&(Ce.d(1),Ce=null)},i:noop,o:noop,d(Mn){Mn&&detach(ke),Ce&&Ce.d(Mn)}}}function instance$N(_n,ke,Ce){let $n;const Mn=getContext$1("channel");let{record:Qn}=ke,{graph:Vn}=ke;return _n.$$set=qn=>{"record"in qn&&Ce(0,Qn=qn.record),"graph"in qn&&Ce(3,Vn=qn.graph)},_n.$$.update=()=>{_n.$$.dirty&1&&Mn.schemas.find(qn=>qn.name===Qn.schema),_n.$$.dirty&9&&Ce(1,$n=previewTitle(Mn.schemas,Qn))},[Qn,$n,Mn,Vn]}class PreviewCardSmall extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$N,create_fragment$N,safe_not_equal,{record:0,graph:3})}}function get_each_context$g(_n,ke,Ce){const $n=_n.slice();return $n[5]=ke[Ce],$n}function create_each_block$g(_n){let ke,Ce,$n,Mn;return Ce=new PreviewCardSmall({props:{schemas:_n[0],graph:_n[1],record:_n[5]}}),{c(){ke=element("span"),create_component(Ce.$$.fragment),$n=space$3(),attr(ke,"class","reference")},m(Qn,Vn){insert$1(Qn,ke,Vn),mount_component(Ce,ke,null),append(ke,$n),Mn=!0},p(Qn,Vn){const qn={};Vn&1&&(qn.schemas=Qn[0]),Vn&2&&(qn.graph=Qn[1]),Vn&4&&(qn.record=Qn[5]),Ce.$set(qn)},i(Qn){Mn||(transition_in(Ce.$$.fragment,Qn),Mn=!0)},o(Qn){transition_out(Ce.$$.fragment,Qn),Mn=!1},d(Qn){Qn&&detach(ke),destroy_component(Ce)}}}function create_fragment$M(_n){let ke,Ce,$n=ensure_array_like(_n[2]),Mn=[];for(let Vn=0;Vn<$n.length;Vn+=1)Mn[Vn]=create_each_block$g(get_each_context$g(_n,$n,Vn));const Qn=Vn=>transition_out(Mn[Vn],1,1,()=>{Mn[Vn]=null});return{c(){ke=element("div");for(let Vn=0;Vn{"record"in Zn&&Ce(3,Mn=Zn.record),"field"in Zn&&Ce(4,Qn=Zn.field),"schemas"in Zn&&Ce(0,Vn=Zn.schemas),"graph"in Zn&&Ce(1,qn=Zn.graph)},_n.$$.update=()=>{var Zn;_n.$$.dirty&26&&Ce(2,$n=((Zn=qn.edges)==null?void 0:Zn.filter(jn=>jn.field===Qn.name&&jn.source===Mn.id).map(jn=>qn.records.find(Xn=>Xn.id===jn.target)).filter(jn=>!!jn))??[])},[Vn,qn,$n,Mn,Qn]}let Reference$1=class extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$M,create_fragment$M,safe_not_equal,{record:3,field:4,schemas:0,graph:1})}};function create_fragment$L(_n){let ke;return{c(){ke=text(_n[0])},m(Ce,$n){insert$1(Ce,ke,$n)},p(Ce,[$n]){$n&1&&set_data(ke,Ce[0])},i:noop,o:noop,d(Ce){Ce&&detach(ke)}}}function instance$L(_n,ke,Ce){let{value:$n}=ke;return _n.$$set=Mn=>{"value"in Mn&&Ce(0,$n=Mn.value)},[$n]}let Number$2=class extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$L,create_fragment$L,safe_not_equal,{value:0})}};function create_fragment$K(_n){let ke,Ce;return{c(){ke=element("div"),Ce=text(_n[0]),attr(ke,"title",_n[0]),attr(ke,"data-bs-toggle","tooltip"),attr(ke,"data-bs-placement","top"),attr(ke,"class","svelte-1ft053t")},m($n,Mn){insert$1($n,ke,Mn),append(ke,Ce)},p($n,[Mn]){Mn&1&&set_data(Ce,$n[0]),Mn&1&&attr(ke,"title",$n[0])},i:noop,o:noop,d($n){$n&&detach(ke)}}}function instance$K(_n,ke,Ce){let{value:$n}=ke;return _n.$$set=Mn=>{"value"in Mn&&Ce(0,$n=Mn.value)},[$n]}let Text$1=class extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$K,create_fragment$K,safe_not_equal,{value:0})}};function create_fragment$J(_n){let ke,Ce;return{c(){ke=element("div"),Ce=text(_n[0]),attr(ke,"title",_n[0]),attr(ke,"data-bs-toggle","tooltip"),attr(ke,"data-bs-placement","top")},m($n,Mn){insert$1($n,ke,Mn),append(ke,Ce)},p($n,[Mn]){Mn&1&&set_data(Ce,$n[0]),Mn&1&&attr(ke,"title",$n[0])},i:noop,o:noop,d($n){$n&&detach(ke)}}}function instance$J(_n,ke,Ce){let{value:$n}=ke;return _n.$$set=Mn=>{"value"in Mn&&Ce(0,$n=Mn.value)},[$n]}let Date$2=class extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$J,create_fragment$J,safe_not_equal,{value:0})}};function create_fragment$I(_n){let ke,Ce=readableDate(_n[0])+"",$n,Mn;return{c(){ke=element("div"),$n=text(Ce),attr(ke,"title",Mn=readableDatetime(_n[0])),attr(ke,"data-bs-toggle","tooltip"),attr(ke,"data-bs-placement","top")},m(Qn,Vn){insert$1(Qn,ke,Vn),append(ke,$n)},p(Qn,[Vn]){Vn&1&&Ce!==(Ce=readableDate(Qn[0])+"")&&set_data($n,Ce),Vn&1&&Mn!==(Mn=readableDatetime(Qn[0]))&&attr(ke,"title",Mn)},i:noop,o:noop,d(Qn){Qn&&detach(ke)}}}function instance$I(_n,ke,Ce){let{value:$n}=ke;return _n.$$set=Mn=>{"value"in Mn&&Ce(0,$n=Mn.value)},[$n]}let Datetime$1=class extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$I,create_fragment$I,safe_not_equal,{value:0})}};function get_each_context$f(_n,ke,Ce){const $n=_n.slice();return $n[4]=ke[Ce],$n}function create_each_block$f(_n){let ke,Ce,$n,Mn;return Ce=new Preview({props:{record:_n[4],size:"tiny"}}),{c(){ke=element("div"),create_component(Ce.$$.fragment),$n=space$3(),attr(ke,"class","me-1")},m(Qn,Vn){insert$1(Qn,ke,Vn),mount_component(Ce,ke,null),append(ke,$n),Mn=!0},p:noop,i(Qn){Mn||(transition_in(Ce.$$.fragment,Qn),Mn=!0)},o(Qn){transition_out(Ce.$$.fragment,Qn),Mn=!1},d(Qn){Qn&&detach(ke),destroy_component(Ce)}}}function create_fragment$H(_n){let ke,Ce,$n=ensure_array_like(_n[0]),Mn=[];for(let Vn=0;Vn<$n.length;Vn+=1)Mn[Vn]=create_each_block$f(get_each_context$f(_n,$n,Vn));const Qn=Vn=>transition_out(Mn[Vn],1,1,()=>{Mn[Vn]=null});return{c(){ke=element("div");for(let Vn=0;VnZn.field===Mn.name&&Zn.source===$n.id).map(Zn=>Qn.records.find(jn=>jn.id===Zn.target));return _n.$$set=Zn=>{"record"in Zn&&Ce(1,$n=Zn.record),"field"in Zn&&Ce(2,Mn=Zn.field),"graph"in Zn&&Ce(3,Qn=Zn.graph)},[Vn,$n,Mn,Qn]}let File$2=class extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$H,create_fragment$H,safe_not_equal,{record:1,field:2,graph:3})}};function create_fragment$G(_n){let ke,Ce;return{c(){ke=element("div"),Ce=text(_n[0]),attr(ke,"class","svelte-1ft053t")},m($n,Mn){insert$1($n,ke,Mn),append(ke,Ce)},p($n,[Mn]){Mn&1&&set_data(Ce,$n[0])},i:noop,o:noop,d($n){$n&&detach(ke)}}}function instance$G(_n,ke,Ce){let{value:$n}=ke;return _n.$$set=Mn=>{"value"in Mn&&Ce(0,$n=Mn.value)},[$n]}class Rich extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$G,create_fragment$G,safe_not_equal,{value:0})}}function create_fragment$F(_n){let ke,Ce,$n;var Mn=_n[4][_n[0].info.name];function Qn(Vn,qn){return{props:{value:Vn[2].data[Vn[0].name],record:Vn[2],graph:Vn[3],schema:Vn[1],field:Vn[0]}}}return Mn&&(ke=construct_svelte_component(Mn,Qn(_n))),{c(){ke&&create_component(ke.$$.fragment),Ce=empty$1()},m(Vn,qn){ke&&mount_component(ke,Vn,qn),insert$1(Vn,Ce,qn),$n=!0},p(Vn,[qn]){if(qn&1&&Mn!==(Mn=Vn[4][Vn[0].info.name])){if(ke){group_outros();const Zn=ke;transition_out(Zn.$$.fragment,1,0,()=>{destroy_component(Zn,1)}),check_outros()}Mn?(ke=construct_svelte_component(Mn,Qn(Vn)),create_component(ke.$$.fragment),transition_in(ke.$$.fragment,1),mount_component(ke,Ce.parentNode,Ce)):ke=null}else if(Mn){const Zn={};qn&5&&(Zn.value=Vn[2].data[Vn[0].name]),qn&4&&(Zn.record=Vn[2]),qn&8&&(Zn.graph=Vn[3]),qn&2&&(Zn.schema=Vn[1]),qn&1&&(Zn.field=Vn[0]),ke.$set(Zn)}},i(Vn){$n||(ke&&transition_in(ke.$$.fragment,Vn),$n=!0)},o(Vn){ke&&transition_out(ke.$$.fragment,Vn),$n=!1},d(Vn){Vn&&detach(Ce),ke&&destroy_component(ke,Vn)}}}function instance$F(_n,ke,Ce){const $n={text:Text$1,slug:Text$1,rich:Rich,textarea:Text$1,color:Color$1,checkbox:Checkbox$2,reference:Reference$1,number:Number$2,date:Date$2,datetime:Datetime$1,file:File$2};let{field:Mn}=ke,{schema:Qn}=ke,{record:Vn}=ke,{graph:qn}=ke;return _n.$$set=Zn=>{"field"in Zn&&Ce(0,Mn=Zn.field),"schema"in Zn&&Ce(1,Qn=Zn.schema),"record"in Zn&&Ce(2,Vn=Zn.record),"graph"in Zn&&Ce(3,qn=Zn.graph)},[Mn,Qn,Vn,qn,$n]}class RenderField extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$F,create_fragment$F,safe_not_equal,{field:0,schema:1,record:2,graph:3})}}function getStatus(_n){return getStatusList()[_n]}function getStatusList(){return{published:{value:"published",text:"Published",bg:"success",color:"white"},trashed:{value:"trashed",text:"Trashed",bg:"danger",color:"white"},draft:{value:"draft",text:"Draft",bg:"warning",color:"dark"}}}function create_fragment$E(_n){let ke,Ce=_n[0].text+"",$n;return{c(){ke=element("span"),$n=text(Ce),attr(ke,"class","badge text-bg-"+_n[0].bg),set_style(ke,"max-width","84px")},m(Mn,Qn){insert$1(Mn,ke,Qn),append(ke,$n)},p:noop,i:noop,o:noop,d(Mn){Mn&&detach(ke)}}}function instance$E(_n,ke,Ce){let{status:$n}=ke,Mn=getStatus($n);return _n.$$set=Qn=>{"status"in Qn&&Ce(1,$n=Qn.status)},[Mn,$n]}class Status extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$E,create_fragment$E,safe_not_equal,{status:1})}}function usernameById(_n,ke){var Ce;return _n?((Ce=_n.find($n=>$n.id===ke))==null?void 0:Ce.name)??ke:ke}function get_each_context$e(_n,ke,Ce){const $n=_n.slice();return $n[7]=ke[Ce],$n[9]=Ce,$n}function create_each_block$e(_n){let ke,Ce,$n,Mn;return Ce=new RenderField({props:{record:_n[3],schema:_n[0],graph:_n[2],field:_n[7]}}),{c(){ke=element("td"),create_component(Ce.$$.fragment),attr(ke,"class",$n="field-ui-"+_n[7].info.name),toggle_class(ke,"is-sort",_n[7].name===_n[5].name)},m(Qn,Vn){insert$1(Qn,ke,Vn),mount_component(Ce,ke,null),Mn=!0},p(Qn,Vn){const qn={};Vn&8&&(qn.record=Qn[3]),Vn&1&&(qn.schema=Qn[0]),Vn&4&&(qn.graph=Qn[2]),Vn&64&&(qn.field=Qn[7]),Ce.$set(qn),(!Mn||Vn&64&&$n!==($n="field-ui-"+Qn[7].info.name))&&attr(ke,"class",$n),(!Mn||Vn&96)&&toggle_class(ke,"is-sort",Qn[7].name===Qn[5].name)},i(Qn){Mn||(transition_in(Ce.$$.fragment,Qn),Mn=!0)},o(Qn){transition_out(Ce.$$.fragment,Qn),Mn=!1},d(Qn){Qn&&detach(ke),destroy_component(Ce)}}}function create_if_block_4$6(_n){let ke,Ce,$n;return Ce=new Status({props:{status:_n[3].status}}),{c(){ke=element("td"),create_component(Ce.$$.fragment),attr(ke,"class","text-center"),toggle_class(ke,"is-sort",_n[4]=="-status"||_n[4]=="status")},m(Mn,Qn){insert$1(Mn,ke,Qn),mount_component(Ce,ke,null),$n=!0},p(Mn,Qn){const Vn={};Qn&8&&(Vn.status=Mn[3].status),Ce.$set(Vn),(!$n||Qn&16)&&toggle_class(ke,"is-sort",Mn[4]=="-status"||Mn[4]=="status")},i(Mn){$n||(transition_in(Ce.$$.fragment,Mn),$n=!0)},o(Mn){transition_out(Ce.$$.fragment,Mn),$n=!1},d(Mn){Mn&&detach(ke),destroy_component(Ce)}}}function create_if_block_3$8(_n){let ke,Ce,$n;return Ce=new Avatar({props:{name:usernameById(_n[1],_n[3]._sys.createdBy),side:24}}),{c(){ke=element("td"),create_component(Ce.$$.fragment),attr(ke,"class","text-center"),toggle_class(ke,"is-sort",_n[4]=="-_sys.createdBy"||_n[4]=="_sys.createdBy")},m(Mn,Qn){insert$1(Mn,ke,Qn),mount_component(Ce,ke,null),$n=!0},p(Mn,Qn){const Vn={};Qn&10&&(Vn.name=usernameById(Mn[1],Mn[3]._sys.createdBy)),Ce.$set(Vn),(!$n||Qn&16)&&toggle_class(ke,"is-sort",Mn[4]=="-_sys.createdBy"||Mn[4]=="_sys.createdBy")},i(Mn){$n||(transition_in(Ce.$$.fragment,Mn),$n=!0)},o(Mn){transition_out(Ce.$$.fragment,Mn),$n=!1},d(Mn){Mn&&detach(ke),destroy_component(Ce)}}}function create_if_block_2$9(_n){let ke,Ce,$n;return Ce=new Avatar({props:{name:usernameById(_n[1],_n[3]._sys.updatedBy),side:24}}),{c(){ke=element("td"),create_component(Ce.$$.fragment),attr(ke,"class","text-center"),toggle_class(ke,"is-sort",_n[4]=="-_sys.updatedBy"||_n[4]=="_sys.updatedBy")},m(Mn,Qn){insert$1(Mn,ke,Qn),mount_component(Ce,ke,null),$n=!0},p(Mn,Qn){const Vn={};Qn&10&&(Vn.name=usernameById(Mn[1],Mn[3]._sys.updatedBy)),Ce.$set(Vn),(!$n||Qn&16)&&toggle_class(ke,"is-sort",Mn[4]=="-_sys.updatedBy"||Mn[4]=="_sys.updatedBy")},i(Mn){$n||(transition_in(Ce.$$.fragment,Mn),$n=!0)},o(Mn){transition_out(Ce.$$.fragment,Mn),$n=!1},d(Mn){Mn&&detach(ke),destroy_component(Ce)}}}function create_if_block_1$j(_n){let ke,Ce=friendlyDate(_n[3]._sys.createdAt)+"",$n;return{c(){ke=element("td"),$n=text(Ce),toggle_class(ke,"is-sort",_n[4]=="-_sys.createdAt"||_n[4]=="_sys.createdAt")},m(Mn,Qn){insert$1(Mn,ke,Qn),append(ke,$n)},p(Mn,Qn){Qn&8&&Ce!==(Ce=friendlyDate(Mn[3]._sys.createdAt)+"")&&set_data($n,Ce),Qn&16&&toggle_class(ke,"is-sort",Mn[4]=="-_sys.createdAt"||Mn[4]=="_sys.createdAt")},d(Mn){Mn&&detach(ke)}}}function create_if_block$u(_n){let ke,Ce=friendlyDate(_n[3]._sys.updatedAt)+"",$n;return{c(){ke=element("td"),$n=text(Ce),toggle_class(ke,"is-sort",_n[4]=="-_sys.updatedAt"||_n[4]=="_sys.updatedAt")},m(Mn,Qn){insert$1(Mn,ke,Qn),append(ke,$n)},p(Mn,Qn){Qn&8&&Ce!==(Ce=friendlyDate(Mn[3]._sys.updatedAt)+"")&&set_data($n,Ce),Qn&16&&toggle_class(ke,"is-sort",Mn[4]=="-_sys.updatedAt"||Mn[4]=="_sys.updatedAt")},d(Mn){Mn&&detach(ke)}}}function create_fragment$D(_n){var er,rr,or,ir,sr;let ke,Ce=(er=_n[0].visible)==null?void 0:er.includes("status"),$n,Mn=(rr=_n[0].visible)==null?void 0:rr.includes("_sys.createdBy"),Qn,Vn=(or=_n[0].visible)==null?void 0:or.includes("_sys.updatedBy"),qn,Zn=(ir=_n[0].visible)==null?void 0:ir.includes("_sys.createdAt"),jn,Xn=(sr=_n[0].visible)==null?void 0:sr.includes("_sys.updatedAt"),zn,Hn,Wn=ensure_array_like(_n[6]),Yn=[];for(let cr=0;crtransition_out(Yn[cr],1,1,()=>{Yn[cr]=null});let Gn=Ce&&create_if_block_4$6(_n),Kn=Mn&&create_if_block_3$8(_n),Jn=Vn&&create_if_block_2$9(_n),tr=Zn&&create_if_block_1$j(_n),nr=Xn&&create_if_block$u(_n);return{c(){for(let cr=0;cr{Gn=null}),check_outros()),ur&1&&(Mn=(pr=cr[0].visible)==null?void 0:pr.includes("_sys.createdBy")),Mn?Kn?(Kn.p(cr,ur),ur&1&&transition_in(Kn,1)):(Kn=create_if_block_3$8(cr),Kn.c(),transition_in(Kn,1),Kn.m(Qn.parentNode,Qn)):Kn&&(group_outros(),transition_out(Kn,1,1,()=>{Kn=null}),check_outros()),ur&1&&(Vn=(mr=cr[0].visible)==null?void 0:mr.includes("_sys.updatedBy")),Vn?Jn?(Jn.p(cr,ur),ur&1&&transition_in(Jn,1)):(Jn=create_if_block_2$9(cr),Jn.c(),transition_in(Jn,1),Jn.m(qn.parentNode,qn)):Jn&&(group_outros(),transition_out(Jn,1,1,()=>{Jn=null}),check_outros()),ur&1&&(Zn=(_r=cr[0].visible)==null?void 0:_r.includes("_sys.createdAt")),Zn?tr?tr.p(cr,ur):(tr=create_if_block_1$j(cr),tr.c(),tr.m(jn.parentNode,jn)):tr&&(tr.d(1),tr=null),ur&1&&(Xn=(vr=cr[0].visible)==null?void 0:vr.includes("_sys.updatedAt")),Xn?nr?nr.p(cr,ur):(nr=create_if_block$u(cr),nr.c(),nr.m(zn.parentNode,zn)):nr&&(nr.d(1),nr=null)},i(cr){if(!Hn){for(let ur=0;ur{"schema"in Xn&&Ce(0,$n=Xn.schema),"users"in Xn&&Ce(1,Mn=Xn.users),"graph"in Xn&&Ce(2,Qn=Xn.graph),"record"in Xn&&Ce(3,Vn=Xn.record),"sortParam"in Xn&&Ce(4,qn=Xn.sortParam),"sortField"in Xn&&Ce(5,Zn=Xn.sortField),"visibleColumns"in Xn&&Ce(6,jn=Xn.visibleColumns)},[$n,Mn,Qn,Vn,qn,Zn,jn]}let RecordRow$1=class extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$D,create_fragment$D,safe_not_equal,{schema:0,users:1,graph:2,record:3,sortParam:4,sortField:5,visibleColumns:6})}};const toggleAll=(_n,ke,Ce)=>Ce.length===ke.length?[]:(_n.currentTarget.checked=Ce.length>0,ke),selectRecord=(_n,ke)=>ke.find($n=>$n.id===_n.id)?ke.filter($n=>$n.id!==_n.id):[...ke,_n];function create_fragment$C(_n){let ke,Ce,$n,Mn;return{c(){ke=element("div"),Ce=element("input"),attr(Ce,"id","c1-13"),attr(Ce,"type","checkbox"),Ce.value=_n[1],Ce.indeterminate=_n[0],Ce.checked=_n[2],attr(ke,"class","checkbox-wrapper")},m(Qn,Vn){insert$1(Qn,ke,Vn),append(ke,Ce),_n[5](Ce),$n||(Mn=listen(Ce,"change",_n[4]),$n=!0)},p(Qn,[Vn]){Vn&2&&(Ce.value=Qn[1]),Vn&1&&(Ce.indeterminate=Qn[0]),Vn&4&&(Ce.checked=Qn[2])},i:noop,o:noop,d(Qn){Qn&&detach(ke),_n[5](null),$n=!1,Mn()}}}function instance$C(_n,ke,Ce){let $n=null,{indeterminate:Mn=!1}=ke,{value:Qn}=ke,{checked:Vn=!1}=ke;function qn(jn){bubble.call(this,_n,jn)}function Zn(jn){binding_callbacks[jn?"unshift":"push"](()=>{$n=jn,Ce(3,$n)})}return _n.$$set=jn=>{"indeterminate"in jn&&Ce(0,Mn=jn.indeterminate),"value"in jn&&Ce(1,Qn=jn.value),"checked"in jn&&Ce(2,Vn=jn.checked)},[Mn,Qn,Vn,$n,qn,Zn]}let Checkbox$1=class extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$C,create_fragment$C,safe_not_equal,{indeterminate:0,value:1,checked:2})}};function get_each_context$d(_n,ke,Ce){const $n=_n.slice();return $n[17]=ke[Ce],$n}function get_each_context_1$6(_n,ke,Ce){const $n=_n.slice();return $n[20]=ke[Ce],$n}function get_each_context_2$1(_n,ke,Ce){const $n=_n.slice();return $n[23]=ke[Ce],$n}function create_if_block_5$2(_n){let ke,Ce,$n;return Ce=new Checkbox$1({props:{value:"",indeterminate:_n[0].length>0&&_n[0].length<_n[3].length,checked:_n[0].length===_n[3].length}}),Ce.$on("change",_n[12]),{c(){ke=element("th"),create_component(Ce.$$.fragment)},m(Mn,Qn){insert$1(Mn,ke,Qn),mount_component(Ce,ke,null),$n=!0},p(Mn,Qn){const Vn={};Qn&9&&(Vn.indeterminate=Mn[0].length>0&&Mn[0].length0?"medium":"small"}});let rr=_n[17].status==="draft"&&create_if_block_2$8(_n),or=_n[17]._file.width>0&&create_if_block_1$i(_n);return{c(){ke=element("div"),create_component(Ce.$$.fragment),$n=space$3(),Mn=element("div"),rr&&rr.c(),Qn=space$3(),Vn=element("a"),Zn=text(qn),zn=space$3(),Hn=element("span"),Yn=text(Wn),Un=text("kB"),Gn=space$3(),or&&or.c(),Kn=space$3(),Jn=element("a"),tr=text("Download"),attr(Vn,"href",jn=_n[11].lucentUrl+"/records/"+_n[17].id),attr(Vn,"target",Xn=_n[8]?"_blank":"_self"),attr(Jn,"href",nr=fileurl(_n[11],_n[17])),attr(Jn,"target","_blank"),attr(ke,"class","file-table-row")},m(sr,cr){insert$1(sr,ke,cr),mount_component(Ce,ke,null),append(ke,$n),append(ke,Mn),rr&&rr.m(Mn,null),append(Mn,Qn),append(Mn,Vn),append(Vn,Zn),append(Mn,zn),append(Mn,Hn),append(Hn,Yn),append(Hn,Un),append(Mn,Gn),or&&or.m(Mn,null),append(Mn,Kn),append(Mn,Jn),append(Jn,tr),er=!0},p(sr,cr){var fr;const ur={};cr&8&&(ur.record=sr[17]),cr&8&&(ur.size=((fr=sr[17]._file)==null?void 0:fr.width)>0?"medium":"small"),Ce.$set(ur),sr[17].status==="draft"?rr?rr.p(sr,cr):(rr=create_if_block_2$8(sr),rr.c(),rr.m(Mn,Qn)):rr&&(rr.d(1),rr=null),(!er||cr&24)&&qn!==(qn=previewTitle(sr[11].schemas,sr[17],sr[4])+"")&&set_data(Zn,qn),(!er||cr&8&&jn!==(jn=sr[11].lucentUrl+"/records/"+sr[17].id))&&attr(Vn,"href",jn),(!er||cr&256&&Xn!==(Xn=sr[8]?"_blank":"_self"))&&attr(Vn,"target",Xn),(!er||cr&8)&&Wn!==(Wn=(sr[17]._file.size/1024).toFixed(1)+"")&&set_data(Yn,Wn),sr[17]._file.width>0?or?or.p(sr,cr):(or=create_if_block_1$i(sr),or.c(),or.m(Mn,Kn)):or&&(or.d(1),or=null),(!er||cr&8&&nr!==(nr=fileurl(sr[11],sr[17])))&&attr(Jn,"href",nr)},i(sr){er||(transition_in(Ce.$$.fragment,sr),er=!0)},o(sr){transition_out(Ce.$$.fragment,sr),er=!1},d(sr){sr&&detach(ke),destroy_component(Ce),rr&&rr.d(),or&&or.d()}}}function create_if_block_3$7(_n){let ke,Ce=_n[17].status+"",$n;return{c(){ke=element("span"),$n=text(Ce),set_style(ke,"text-transform","uppercase"),set_style(ke,"font-size","10px")},m(Mn,Qn){insert$1(Mn,ke,Qn),append(ke,$n)},p(Mn,Qn){Qn&8&&Ce!==(Ce=Mn[17].status+"")&&set_data($n,Ce)},d(Mn){Mn&&detach(ke)}}}function create_if_block_2$8(_n){let ke,Ce=_n[17].status+"",$n;return{c(){ke=element("span"),$n=text(Ce),set_style(ke,"text-transform","uppercase"),set_style(ke,"font-size","10px")},m(Mn,Qn){insert$1(Mn,ke,Qn),append(ke,$n)},p(Mn,Qn){Qn&8&&Ce!==(Ce=Mn[17].status+"")&&set_data($n,Ce)},d(Mn){Mn&&detach(ke)}}}function create_if_block_1$i(_n){let ke,Ce=_n[17]._file.width+"x"+_n[17]._file.height,$n;return{c(){ke=element("span"),$n=text(Ce)},m(Mn,Qn){insert$1(Mn,ke,Qn),append(ke,$n)},p(Mn,Qn){Qn&8&&Ce!==(Ce=Mn[17]._file.width+"x"+Mn[17]._file.height)&&set_data($n,Ce)},d(Mn){Mn&&detach(ke)}}}function create_each_block$d(_n,ke){let Ce,$n,Mn,Qn,Vn,qn,Zn,jn,Xn,zn,Hn,Wn,Yn,Un=ke[9]&&create_if_block_4$5(ke);const Gn=[create_if_block$t,create_else_block$e],Kn=[];function Jn(tr,nr){var er;return(er=tr[17]._file)!=null&&er.path?0:1}return Vn=Jn(ke),qn=Kn[Vn]=Gn[Vn](ke),jn=new RecordRow$1({props:{record:ke[17],graph:ke[4],schema:ke[1],visibleColumns:ke[10],sortParam:ke[6],sortField:ke[7],users:ke[2]}}),Hn=new Avatar({props:{name:usernameById(ke[2],ke[17]._sys.updatedBy),side:24}}),{key:_n,first:null,c(){Ce=element("tr"),$n=element("td"),Mn=element("div"),Un&&Un.c(),Qn=space$3(),qn.c(),Zn=space$3(),create_component(jn.$$.fragment),Xn=space$3(),zn=element("td"),create_component(Hn.$$.fragment),Wn=space$3(),attr(Mn,"class","title-td-contents"),attr($n,"class","title-td"),this.first=Ce},m(tr,nr){insert$1(tr,Ce,nr),append(Ce,$n),append($n,Mn),Un&&Un.m(Mn,null),append(Mn,Qn),Kn[Vn].m(Mn,null),append(Ce,Zn),mount_component(jn,Ce,null),append(Ce,Xn),append(Ce,zn),mount_component(Hn,zn,null),append(Ce,Wn),Yn=!0},p(tr,nr){ke=tr,ke[9]?Un?(Un.p(ke,nr),nr&512&&transition_in(Un,1)):(Un=create_if_block_4$5(ke),Un.c(),transition_in(Un,1),Un.m(Mn,Qn)):Un&&(group_outros(),transition_out(Un,1,1,()=>{Un=null}),check_outros());let er=Vn;Vn=Jn(ke),Vn===er?Kn[Vn].p(ke,nr):(group_outros(),transition_out(Kn[er],1,1,()=>{Kn[er]=null}),check_outros(),qn=Kn[Vn],qn?qn.p(ke,nr):(qn=Kn[Vn]=Gn[Vn](ke),qn.c()),transition_in(qn,1),qn.m(Mn,null));const rr={};nr&8&&(rr.record=ke[17]),nr&16&&(rr.graph=ke[4]),nr&2&&(rr.schema=ke[1]),nr&1024&&(rr.visibleColumns=ke[10]),nr&64&&(rr.sortParam=ke[6]),nr&128&&(rr.sortField=ke[7]),nr&4&&(rr.users=ke[2]),jn.$set(rr);const or={};nr&12&&(or.name=usernameById(ke[2],ke[17]._sys.updatedBy)),Hn.$set(or)},i(tr){Yn||(transition_in(Un),transition_in(qn),transition_in(jn.$$.fragment,tr),transition_in(Hn.$$.fragment,tr),Yn=!0)},o(tr){transition_out(Un),transition_out(qn),transition_out(jn.$$.fragment,tr),transition_out(Hn.$$.fragment,tr),Yn=!1},d(tr){tr&&detach(Ce),Un&&Un.d(),Kn[Vn].d(),destroy_component(jn),destroy_component(Hn)}}}function create_fragment$B(_n){let ke,Ce,$n,Mn,Qn,Vn,qn,Zn,jn,Xn,zn=[],Hn=new Map,Wn,Yn=_n[9]&&create_if_block_5$2(_n),Un=ensure_array_like(_n[10]),Gn=[];for(let er=0;erer[17].id;for(let er=0;er{Yn=null}),check_outros()),rr&1152){Un=ensure_array_like(er[10]);let or;for(or=0;or{var er;return(er=Qn.visible)==null?void 0:er.includes(nr.name)},Jn=(nr,er)=>er.id===nr.id,tr=nr=>Gn(nr);return _n.$$set=nr=>{"schema"in nr&&Ce(1,Qn=nr.schema),"users"in nr&&Ce(2,Vn=nr.users),"records"in nr&&Ce(3,qn=nr.records),"graph"in nr&&Ce(4,Zn=nr.graph),"systemFields"in nr&&Ce(5,jn=nr.systemFields),"sortParam"in nr&&Ce(6,Xn=nr.sortParam),"sortField"in nr&&Ce(7,zn=nr.sortField),"inModal"in nr&&Ce(8,Hn=nr.inModal),"isWritable"in nr&&Ce(9,Wn=nr.isWritable),"selected"in nr&&Ce(0,Yn=nr.selected)},_n.$$.update=()=>{_n.$$.dirty&2&&Ce(10,$n=Qn.fields.filter(nr=>{var er;return((er=Qn.visible)==null?void 0:er.includes(nr.name))??[]}))},[Yn,Qn,Vn,qn,Zn,jn,Xn,zn,Hn,Wn,$n,Mn,Un,Gn,Kn,Jn,tr]}let Table$1=class extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$B,create_fragment$B,safe_not_equal,{schema:1,users:2,records:3,graph:4,systemFields:5,sortParam:6,sortField:7,inModal:8,isWritable:9,selected:0})}};function create_else_block$d(_n){let ke,Ce,$n,Mn;function Qn(Zn){_n[17](Zn)}function Vn(Zn){_n[18](Zn)}let qn={systemFields:_n[13],sortParam:_n[2],sortField:_n[3],operators:_n[4],filter:_n[5],graph:_n[12],inModal:_n[14],modalUrl:_n[9],isWritable:_n[15]};return _n[0]!==void 0&&(qn.schema=_n[0]),_n[1]!==void 0&&(qn.records=_n[1]),ke=new Tools({props:qn}),binding_callbacks.push(()=>bind(ke,"schema",Qn)),binding_callbacks.push(()=>bind(ke,"records",Vn)),ke.$on("refresh",_n[16]),{c(){create_component(ke.$$.fragment)},m(Zn,jn){mount_component(ke,Zn,jn),Mn=!0},p(Zn,jn){const Xn={};jn&8192&&(Xn.systemFields=Zn[13]),jn&4&&(Xn.sortParam=Zn[2]),jn&8&&(Xn.sortField=Zn[3]),jn&16&&(Xn.operators=Zn[4]),jn&32&&(Xn.filter=Zn[5]),jn&4096&&(Xn.graph=Zn[12]),jn&16384&&(Xn.inModal=Zn[14]),jn&512&&(Xn.modalUrl=Zn[9]),jn&32768&&(Xn.isWritable=Zn[15]),!Ce&&jn&1&&(Ce=!0,Xn.schema=Zn[0],add_flush_callback(()=>Ce=!1)),!$n&&jn&2&&($n=!0,Xn.records=Zn[1],add_flush_callback(()=>$n=!1)),ke.$set(Xn)},i(Zn){Mn||(transition_in(ke.$$.fragment,Zn),Mn=!0)},o(Zn){transition_out(ke.$$.fragment,Zn),Mn=!1},d(Zn){destroy_component(ke,Zn)}}}function create_if_block$s(_n){let ke,Ce;return ke=new ActionsOnSelected({props:{schema:_n[0],selected:_n[10],filter:_n[5]}}),{c(){create_component(ke.$$.fragment)},m($n,Mn){mount_component(ke,$n,Mn),Ce=!0},p($n,Mn){const Qn={};Mn&1&&(Qn.schema=$n[0]),Mn&1024&&(Qn.selected=$n[10]),Mn&32&&(Qn.filter=$n[5]),ke.$set(Qn)},i($n){Ce||(transition_in(ke.$$.fragment,$n),Ce=!0)},o($n){transition_out(ke.$$.fragment,$n),Ce=!1},d($n){destroy_component(ke,$n)}}}function create_fragment$A(_n){let ke,Ce,$n,Mn=_n[0].label+"",Qn,Vn,qn,Zn,jn,Xn,zn,Hn,Wn,Yn,Un;const Gn=[create_if_block$s,create_else_block$d],Kn=[];function Jn(er,rr){return er[10].length>0&&!er[14]&&er[15]?0:1}qn=Jn(_n),Zn=Kn[qn]=Gn[qn](_n);function tr(er){_n[19](er)}let nr={records:_n[1],graph:_n[12],schema:_n[0],sortParam:_n[2],sortField:_n[3],systemFields:_n[13],inModal:_n[14],users:_n[11],isWritable:_n[15]};return _n[10]!==void 0&&(nr.selected=_n[10]),Xn=new Table$1({props:nr}),binding_callbacks.push(()=>bind(Xn,"selected",tr)),Yn=new Pagination({props:{limit:_n[6],skip:_n[7],total:_n[8],inModal:_n[14],modalUrl:_n[9]}}),Yn.$on("refresh",_n[16]),{c(){ke=element("div"),Ce=element("div"),$n=element("h3"),Qn=text(Mn),Vn=space$3(),Zn.c(),jn=space$3(),create_component(Xn.$$.fragment),Wn=space$3(),create_component(Yn.$$.fragment),attr($n,"class","header-normal mb-5 "),attr(Ce,"class",Hn=_n[14]?"mt-0":"mt-5"),attr(ke,"class","")},m(er,rr){insert$1(er,ke,rr),append(ke,Ce),append(Ce,$n),append($n,Qn),append(Ce,Vn),Kn[qn].m(Ce,null),append(Ce,jn),mount_component(Xn,Ce,null),append(ke,Wn),mount_component(Yn,ke,null),Un=!0},p(er,[rr]){(!Un||rr&1)&&Mn!==(Mn=er[0].label+"")&&set_data(Qn,Mn);let or=qn;qn=Jn(er),qn===or?Kn[qn].p(er,rr):(group_outros(),transition_out(Kn[or],1,1,()=>{Kn[or]=null}),check_outros(),Zn=Kn[qn],Zn?Zn.p(er,rr):(Zn=Kn[qn]=Gn[qn](er),Zn.c()),transition_in(Zn,1),Zn.m(Ce,jn));const ir={};rr&2&&(ir.records=er[1]),rr&4096&&(ir.graph=er[12]),rr&1&&(ir.schema=er[0]),rr&4&&(ir.sortParam=er[2]),rr&8&&(ir.sortField=er[3]),rr&8192&&(ir.systemFields=er[13]),rr&16384&&(ir.inModal=er[14]),rr&2048&&(ir.users=er[11]),rr&32768&&(ir.isWritable=er[15]),!zn&&rr&1024&&(zn=!0,ir.selected=er[10],add_flush_callback(()=>zn=!1)),Xn.$set(ir),(!Un||rr&16384&&Hn!==(Hn=er[14]?"mt-0":"mt-5"))&&attr(Ce,"class",Hn);const sr={};rr&64&&(sr.limit=er[6]),rr&128&&(sr.skip=er[7]),rr&256&&(sr.total=er[8]),rr&16384&&(sr.inModal=er[14]),rr&512&&(sr.modalUrl=er[9]),Yn.$set(sr)},i(er){Un||(transition_in(Zn),transition_in(Xn.$$.fragment,er),transition_in(Yn.$$.fragment,er),Un=!0)},o(er){transition_out(Zn),transition_out(Xn.$$.fragment,er),transition_out(Yn.$$.fragment,er),Un=!1},d(er){er&&detach(ke),Kn[qn].d(),destroy_component(Xn),destroy_component(Yn)}}}function instance$A(_n,ke,Ce){const $n=getContext$1("axios");let{schema:Mn}=ke,{users:Qn}=ke,{records:Vn}=ke,{graph:qn}=ke,{systemFields:Zn}=ke,{sortParam:jn}=ke,{sortField:Xn}=ke,{operators:zn}=ke,{filter:Hn}=ke,{limit:Wn}=ke,{skip:Yn}=ke,{total:Un}=ke,{inModal:Gn}=ke,{modalUrl:Kn}=ke,{selected:Jn=[]}=ke,{isWritable:tr=!1}=ke;function nr(ir){const sr=ir.detail;$n.get(sr).then(cr=>{Ce(1,Vn=cr.data.records),Ce(2,jn=cr.data.sortParam),Ce(3,Xn=cr.data.sortField),Ce(4,zn=cr.data.operators),Ce(5,Hn=cr.data.filter),Ce(7,Yn=cr.data.skip),Ce(6,Wn=cr.data.limit),Ce(8,Un=cr.data.total),Ce(9,Kn=cr.data.modalUrl),document.querySelector("dialog h3").scrollIntoView()}).catch(cr=>{console.log(cr)})}function er(ir){Mn=ir,Ce(0,Mn)}function rr(ir){Vn=ir,Ce(1,Vn)}function or(ir){Jn=ir,Ce(10,Jn)}return _n.$$set=ir=>{"schema"in ir&&Ce(0,Mn=ir.schema),"users"in ir&&Ce(11,Qn=ir.users),"records"in ir&&Ce(1,Vn=ir.records),"graph"in ir&&Ce(12,qn=ir.graph),"systemFields"in ir&&Ce(13,Zn=ir.systemFields),"sortParam"in ir&&Ce(2,jn=ir.sortParam),"sortField"in ir&&Ce(3,Xn=ir.sortField),"operators"in ir&&Ce(4,zn=ir.operators),"filter"in ir&&Ce(5,Hn=ir.filter),"limit"in ir&&Ce(6,Wn=ir.limit),"skip"in ir&&Ce(7,Yn=ir.skip),"total"in ir&&Ce(8,Un=ir.total),"inModal"in ir&&Ce(14,Gn=ir.inModal),"modalUrl"in ir&&Ce(9,Kn=ir.modalUrl),"selected"in ir&&Ce(10,Jn=ir.selected),"isWritable"in ir&&Ce(15,tr=ir.isWritable)},[Mn,Vn,jn,Xn,zn,Hn,Wn,Yn,Un,Kn,Jn,Qn,qn,Zn,Gn,tr,nr,er,rr,or]}let Index$1=class extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$A,create_fragment$A,safe_not_equal,{schema:0,users:11,records:1,graph:12,systemFields:13,sortParam:2,sortField:3,operators:4,filter:5,limit:6,skip:7,total:8,inModal:14,modalUrl:9,selected:10,isWritable:15})}};function create_if_block$r(_n){let ke,Ce,$n,Mn,Qn,Vn,qn,Zn,jn,Xn,zn,Hn,Wn,Yn,Un,Gn,Kn,Jn,tr,nr=_n[2].length>0&&create_if_block_1$h(_n);Hn=new Icon({props:{icon:"close"}});const er=[_n[3]];function rr(ir){_n[7](ir)}let or={};for(let ir=0;irbind(Un,"selected",rr)),{c(){ke=element("div"),Ce=element("button"),$n=text("Insert"),Qn=space$3(),Vn=element("button"),qn=text("Replace"),jn=space$3(),nr&&nr.c(),Xn=space$3(),zn=element("button"),create_component(Hn.$$.fragment),Wn=space$3(),Yn=element("div"),create_component(Un.$$.fragment),attr(Ce,"type","button"),attr(Ce,"class","button"),Ce.disabled=Mn=_n[2].length===0,attr(Vn,"type","button"),attr(Vn,"class","button"),Vn.disabled=Zn=_n[2].length===0,attr(zn,"type","button"),attr(zn,"class","button close"),attr(zn,"aria-label","Close"),attr(ke,"class","dialog-header"),attr(Yn,"class","dialog-body")},m(ir,sr){insert$1(ir,ke,sr),append(ke,Ce),append(Ce,$n),append(ke,Qn),append(ke,Vn),append(Vn,qn),append(ke,jn),nr&&nr.m(ke,null),append(ke,Xn),append(ke,zn),mount_component(Hn,zn,null),insert$1(ir,Wn,sr),insert$1(ir,Yn,sr),mount_component(Un,Yn,null),Kn=!0,Jn||(tr=[listen(Ce,"click",_n[4]),listen(Vn,"click",_n[5]),listen(zn,"click",prevent_default(_n[0]))],Jn=!0)},p(ir,sr){(!Kn||sr&4&&Mn!==(Mn=ir[2].length===0))&&(Ce.disabled=Mn),(!Kn||sr&4&&Zn!==(Zn=ir[2].length===0))&&(Vn.disabled=Zn),ir[2].length>0?nr?nr.p(ir,sr):(nr=create_if_block_1$h(ir),nr.c(),nr.m(ke,Xn)):nr&&(nr.d(1),nr=null);const cr=sr&8?get_spread_update(er,[get_spread_object(ir[3])]):{};!Gn&&sr&4&&(Gn=!0,cr.selected=ir[2],add_flush_callback(()=>Gn=!1)),Un.$set(cr)},i(ir){Kn||(transition_in(Hn.$$.fragment,ir),transition_in(Un.$$.fragment,ir),Kn=!0)},o(ir){transition_out(Hn.$$.fragment,ir),transition_out(Un.$$.fragment,ir),Kn=!1},d(ir){ir&&(detach(ke),detach(Wn),detach(Yn)),nr&&nr.d(),destroy_component(Hn),destroy_component(Un),Jn=!1,run_all(tr)}}}function create_if_block_1$h(_n){let ke,Ce=_n[2].length+"",$n,Mn;return{c(){ke=element("span"),$n=text(Ce),Mn=text(" records selected"),attr(ke,"class","")},m(Qn,Vn){insert$1(Qn,ke,Vn),append(ke,$n),append(ke,Mn)},p(Qn,Vn){Vn&4&&Ce!==(Ce=Qn[2].length+"")&&set_data($n,Ce)},d(Qn){Qn&&detach(ke)}}}function create_fragment$z(_n){let ke,Ce,$n=_n[3].schema&&create_if_block$r(_n);return{c(){ke=element("dialog"),$n&&$n.c()},m(Mn,Qn){insert$1(Mn,ke,Qn),$n&&$n.m(ke,null),_n[8](ke),Ce=!0},p(Mn,[Qn]){Mn[3].schema?$n?($n.p(Mn,Qn),Qn&8&&transition_in($n,1)):($n=create_if_block$r(Mn),$n.c(),transition_in($n,1),$n.m(ke,null)):$n&&(group_outros(),transition_out($n,1,1,()=>{$n=null}),check_outros())},i(Mn){Ce||(transition_in($n),Ce=!0)},o(Mn){transition_out($n),Ce=!1},d(Mn){Mn&&detach(ke),$n&&$n.d(),_n[8](null)}}}function instance$z(_n,ke,Ce){let $n,Mn;const Qn=createEventDispatcher(),Vn=getContext$1("channel");let qn=[];function Zn(Un){Un&&Un.preventDefault(),Mn.close(),Ce(2,qn=[])}function jn(Un){axios$1.get(Vn.lucentUrl+"/content/"+Un).then(Gn=>{Ce(3,$n=Gn.data)}).catch(Gn=>console.log(Gn))}function Xn(Un){Un.preventDefault(),Qn("insert",{records:qn,action:"insert",schema:$n.schema.name})}function zn(Un){Un.preventDefault(),Qn("insert",{records:qn,action:"replace"})}function Hn(Un){Mn.showModal(),jn(Un)}function Wn(Un){qn=Un,Ce(2,qn)}function Yn(Un){binding_callbacks[Un?"unshift":"push"](()=>{Mn=Un,Ce(1,Mn)})}return Ce(3,$n={}),[Zn,Mn,qn,$n,Xn,zn,Hn,Wn,Yn]}class Dialog extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$z,create_fragment$z,safe_not_equal,{close:0,open:6})}get close(){return this.$$.ctx[0]}get open(){return this.$$.ctx[6]}}function create_fragment$y(_n){let ke,Ce,$n,Mn,Qn,Vn,qn,Zn,jn;Mn=new Icon({props:{icon:"close"}});const Xn=_n[4].default,zn=create_slot(Xn,_n,_n[3],null);return{c(){ke=element("dialog"),Ce=element("div"),$n=element("button"),create_component(Mn.$$.fragment),Qn=space$3(),Vn=element("div"),zn&&zn.c(),attr($n,"type","button"),attr($n,"class","button close"),attr($n,"aria-label","Close"),attr(Ce,"class","dialog-header"),attr(Vn,"class","dialog-body"),set_style(Vn,"min-width","900px")},m(Hn,Wn){insert$1(Hn,ke,Wn),append(ke,Ce),append(Ce,$n),mount_component(Mn,$n,null),append(ke,Qn),append(ke,Vn),zn&&zn.m(Vn,null),_n[5](ke),qn=!0,Zn||(jn=listen($n,"click",prevent_default(_n[0])),Zn=!0)},p(Hn,[Wn]){zn&&zn.p&&(!qn||Wn&8)&&update_slot_base(zn,Xn,Hn,Hn[3],qn?get_slot_changes(Xn,Hn[3],Wn,null):get_all_dirty_from_scope(Hn[3]),null)},i(Hn){qn||(transition_in(Mn.$$.fragment,Hn),transition_in(zn,Hn),qn=!0)},o(Hn){transition_out(Mn.$$.fragment,Hn),transition_out(zn,Hn),qn=!1},d(Hn){Hn&&detach(ke),destroy_component(Mn),zn&&zn.d(Hn),_n[5](null),Zn=!1,jn()}}}function instance$y(_n,ke,Ce){let{$$slots:$n={},$$scope:Mn}=ke,Qn;function Vn(jn){jn&&jn.preventDefault(),Qn.close()}function qn(){Qn.showModal()}function Zn(jn){binding_callbacks[jn?"unshift":"push"](()=>{Qn=jn,Ce(1,Qn)})}return _n.$$set=jn=>{"$$scope"in jn&&Ce(3,Mn=jn.$$scope)},[Vn,Qn,qn,Mn,$n,Zn]}class DialogRecord extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$y,create_fragment$y,safe_not_equal,{close:0,open:2})}get close(){return this.$$.ctx[0]}get open(){return this.$$.ctx[2]}}function get_each_context$c(_n,ke,Ce){const $n=_n.slice();return $n[18]=ke[Ce],$n}function get_each_context_1$5(_n,ke,Ce){const $n=_n.slice();return $n[18]=ke[Ce],$n}function create_else_block$c(_n){let ke,Ce,$n,Mn,Qn,Vn,qn,Zn;return Qn=new Icon({props:{icon:"magnifying-glass"}}),{c(){ke=element("div"),Ce=element("button"),Ce.textContent="New",$n=space$3(),Mn=element("button"),create_component(Qn.$$.fragment),attr(Ce,"class","button"),attr(Mn,"class","button"),set_style(ke,"display","flex"),set_style(ke,"align-items","center"),set_style(ke,"gap","4px")},m(jn,Xn){insert$1(jn,ke,Xn),append(ke,Ce),append(ke,$n),append(ke,Mn),mount_component(Qn,Mn,null),Vn=!0,qn||(Zn=[listen(Ce,"click",_n[11]),listen(Mn,"click",_n[12])],qn=!0)},p:noop,i(jn){Vn||(transition_in(Qn.$$.fragment,jn),Vn=!0)},o(jn){transition_out(Qn.$$.fragment,jn),Vn=!1},d(jn){jn&&detach(ke),destroy_component(Qn),qn=!1,run_all(Zn)}}}function create_if_block_1$g(_n){let ke,Ce,$n,Mn,Qn;return Ce=new Dropdown({props:{$$slots:{button:[create_button_slot_1],default:[create_default_slot_2]},$$scope:{ctx:_n}}}),Mn=new Dropdown({props:{$$slots:{button:[create_button_slot$4],default:[create_default_slot_1$1]},$$scope:{ctx:_n}}}),{c(){ke=element("div"),create_component(Ce.$$.fragment),$n=space$3(),create_component(Mn.$$.fragment),set_style(ke,"display","flex"),set_style(ke,"align-items","center"),set_style(ke,"gap","4px")},m(Vn,qn){insert$1(Vn,ke,qn),mount_component(Ce,ke,null),append(ke,$n),mount_component(Mn,ke,null),Qn=!0},p(Vn,qn){const Zn={};qn&8388609&&(Zn.$$scope={dirty:qn,ctx:Vn}),Ce.$set(Zn);const jn={};qn&8388609&&(jn.$$scope={dirty:qn,ctx:Vn}),Mn.$set(jn)},i(Vn){Qn||(transition_in(Ce.$$.fragment,Vn),transition_in(Mn.$$.fragment,Vn),Qn=!0)},o(Vn){transition_out(Ce.$$.fragment,Vn),transition_out(Mn.$$.fragment,Vn),Qn=!1},d(Vn){Vn&&detach(ke),destroy_component(Ce),destroy_component(Mn)}}}function create_each_block_1$5(_n){let ke,Ce=_n[18].label+"",$n,Mn,Qn,Vn;function qn(...Zn){return _n[9](_n[18],...Zn)}return{c(){ke=element("button"),$n=text(Ce),Mn=space$3(),attr(ke,"class","button")},m(Zn,jn){insert$1(Zn,ke,jn),append(ke,$n),append(ke,Mn),Qn||(Vn=listen(ke,"click",qn),Qn=!0)},p(Zn,jn){_n=Zn,jn&1&&Ce!==(Ce=_n[18].label+"")&&set_data($n,Ce)},d(Zn){Zn&&detach(ke),Qn=!1,Vn()}}}function create_default_slot_2(_n){let ke,Ce=ensure_array_like(_n[0]),$n=[];for(let Mn=0;Mn{$n=null}),check_outros())},i(Mn){Ce||(transition_in($n),Ce=!0)},o(Mn){transition_out($n),Ce=!1},d(Mn){Mn&&detach(ke),$n&&$n.d(Mn)}}}function create_fragment$x(_n){let ke,Ce,$n,Mn,Qn,Vn,qn;const Zn=[create_if_block_1$g,create_else_block$c],jn=[];function Xn(Wn,Yn){return Wn[0].length>1?0:1}ke=Xn(_n),Ce=jn[ke]=Zn[ke](_n);let zn={$$slots:{default:[create_default_slot$5]},$$scope:{ctx:_n}};Mn=new DialogRecord({props:zn}),_n[14](Mn);let Hn={};return Vn=new Dialog({props:Hn}),_n[15](Vn),Vn.$on("insert",_n[6]),{c(){Ce.c(),$n=space$3(),create_component(Mn.$$.fragment),Qn=space$3(),create_component(Vn.$$.fragment)},m(Wn,Yn){jn[ke].m(Wn,Yn),insert$1(Wn,$n,Yn),mount_component(Mn,Wn,Yn),insert$1(Wn,Qn,Yn),mount_component(Vn,Wn,Yn),qn=!0},p(Wn,[Yn]){let Un=ke;ke=Xn(Wn),ke===Un?jn[ke].p(Wn,Yn):(group_outros(),transition_out(jn[Un],1,1,()=>{jn[Un]=null}),check_outros(),Ce=jn[ke],Ce?Ce.p(Wn,Yn):(Ce=jn[ke]=Zn[ke](Wn),Ce.c()),transition_in(Ce,1),Ce.m($n.parentNode,$n));const Gn={};Yn&8388616&&(Gn.$$scope={dirty:Yn,ctx:Wn}),Mn.$set(Gn);const Kn={};Vn.$set(Kn)},i(Wn){qn||(transition_in(Ce),transition_in(Mn.$$.fragment,Wn),transition_in(Vn.$$.fragment,Wn),qn=!0)},o(Wn){transition_out(Ce),transition_out(Mn.$$.fragment,Wn),transition_out(Vn.$$.fragment,Wn),qn=!1},d(Wn){Wn&&(detach($n),detach(Qn)),jn[ke].d(Wn),_n[14](null),destroy_component(Mn,Wn),_n[15](null),destroy_component(Vn,Wn)}}}function instance$x(_n,ke,Ce){const $n=createEventDispatcher(),Mn=getContext$1("channel");let{schemas:Qn}=ke,{recordId:Vn}=ke,qn,Zn,jn;function Xn(er,rr){er.preventDefault(),qn.open(rr)}function zn(er){er.preventDefault(),console.log("Save inline"),Ce(3,jn=null),Zn.close(),$n("save",{records:er.detail.records,after:Vn})}function Hn(er){er.preventDefault(),qn.close(),$n("insert",{records:er.detail.records,schema:er.detail.schema,after:Vn})}function Wn(er,rr){er.preventDefault(),Ce(3,jn=null),axios$1.get(Mn.lucentUrl+"/records/newInline?schema="+rr).then(or=>{Ce(3,jn=or.data),Zn.open()}).catch(or=>{console.log(or)})}const Yn=(er,rr)=>Wn(rr,er.name),Un=(er,rr)=>Xn(rr,er.name),Gn=er=>Wn(er,Qn[0].name),Kn=er=>Xn(er,Qn[0].name),Jn=er=>Ce(3,jn=null);function tr(er){binding_callbacks[er?"unshift":"push"](()=>{Zn=er,Ce(2,Zn)})}function nr(er){binding_callbacks[er?"unshift":"push"](()=>{qn=er,Ce(1,qn)})}return _n.$$set=er=>{"schemas"in er&&Ce(0,Qn=er.schemas),"recordId"in er&&Ce(8,Vn=er.recordId)},[Qn,qn,Zn,jn,Xn,zn,Hn,Wn,Vn,Yn,Un,Gn,Kn,Jn,tr,nr]}class ReferenceInlineButtons extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$x,create_fragment$x,safe_not_equal,{schemas:0,recordId:8})}}/**! * Sortable 1.15.3 * @author RubaXa * @author owenm * @license MIT */function ownKeys(_n,ke){var Ce=Object.keys(_n);if(Object.getOwnPropertySymbols){var $n=Object.getOwnPropertySymbols(_n);ke&&($n=$n.filter(function(Mn){return Object.getOwnPropertyDescriptor(_n,Mn).enumerable})),Ce.push.apply(Ce,$n)}return Ce}function _objectSpread2(_n){for(var ke=1;ke=0)&&(Ce[Mn]=_n[Mn]);return Ce}function _objectWithoutProperties(_n,ke){if(_n==null)return{};var Ce=_objectWithoutPropertiesLoose(_n,ke),$n,Mn;if(Object.getOwnPropertySymbols){var Qn=Object.getOwnPropertySymbols(_n);for(Mn=0;Mn=0)&&Object.prototype.propertyIsEnumerable.call(_n,$n)&&(Ce[$n]=_n[$n])}return Ce}var version="1.15.3";function userAgent(_n){if(typeof window<"u"&&window.navigator)return!!navigator.userAgent.match(_n)}var IE11OrLess=userAgent(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),Edge=userAgent(/Edge/i),FireFox=userAgent(/firefox/i),Safari=userAgent(/safari/i)&&!userAgent(/chrome/i)&&!userAgent(/android/i),IOS=userAgent(/iP(ad|od|hone)/i),ChromeForAndroid=userAgent(/chrome/i)&&userAgent(/android/i),captureMode={capture:!1,passive:!1};function on$1(_n,ke,Ce){_n.addEventListener(ke,Ce,!IE11OrLess&&captureMode)}function off(_n,ke,Ce){_n.removeEventListener(ke,Ce,!IE11OrLess&&captureMode)}function matches(_n,ke){if(ke){if(ke[0]===">"&&(ke=ke.substring(1)),_n)try{if(_n.matches)return _n.matches(ke);if(_n.msMatchesSelector)return _n.msMatchesSelector(ke);if(_n.webkitMatchesSelector)return _n.webkitMatchesSelector(ke)}catch{return!1}return!1}}function getParentOrHost(_n){return _n.host&&_n!==document&&_n.host.nodeType?_n.host:_n.parentNode}function closest(_n,ke,Ce,$n){if(_n){Ce=Ce||document;do{if(ke!=null&&(ke[0]===">"?_n.parentNode===Ce&&matches(_n,ke):matches(_n,ke))||$n&&_n===Ce)return _n;if(_n===Ce)break}while(_n=getParentOrHost(_n))}return null}var R_SPACE=/\s+/g;function toggleClass$1(_n,ke,Ce){if(_n&&ke)if(_n.classList)_n.classList[Ce?"add":"remove"](ke);else{var $n=(" "+_n.className+" ").replace(R_SPACE," ").replace(" "+ke+" "," ");_n.className=($n+(Ce?" "+ke:"")).replace(R_SPACE," ")}}function css$1(_n,ke,Ce){var $n=_n&&_n.style;if($n){if(Ce===void 0)return document.defaultView&&document.defaultView.getComputedStyle?Ce=document.defaultView.getComputedStyle(_n,""):_n.currentStyle&&(Ce=_n.currentStyle),ke===void 0?Ce:Ce[ke];!(ke in $n)&&ke.indexOf("webkit")===-1&&(ke="-webkit-"+ke),$n[ke]=Ce+(typeof Ce=="string"?"":"px")}}function matrix(_n,ke){var Ce="";if(typeof _n=="string")Ce=_n;else do{var $n=css$1(_n,"transform");$n&&$n!=="none"&&(Ce=$n+" "+Ce)}while(!ke&&(_n=_n.parentNode));var Mn=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return Mn&&new Mn(Ce)}function find$1(_n,ke,Ce){if(_n){var $n=_n.getElementsByTagName(ke),Mn=0,Qn=$n.length;if(Ce)for(;Mn=Qn,!Vn)return $n;if($n===getWindowScrollingElement())break;$n=getParentAutoScrollElement($n,!1)}return!1}function getChild(_n,ke,Ce,$n){for(var Mn=0,Qn=0,Vn=_n.children;Qn2&&arguments[2]!==void 0?arguments[2]:{},Mn=$n.evt,Qn=_objectWithoutProperties($n,_excluded);PluginManager.pluginEvent.bind(Sortable)(ke,Ce,_objectSpread2({dragEl,parentEl,ghostEl,rootEl,nextEl,lastDownEl,cloneEl,cloneHidden,dragStarted:moved,putSortable,activeSortable:Sortable.active,originalEvent:Mn,oldIndex,oldDraggableIndex,newIndex,newDraggableIndex,hideGhostForTarget:_hideGhostForTarget,unhideGhostForTarget:_unhideGhostForTarget,cloneNowHidden:function(){cloneHidden=!0},cloneNowShown:function(){cloneHidden=!1},dispatchSortableEvent:function(qn){_dispatchEvent({sortable:Ce,name:qn,originalEvent:Mn})}},Qn))};function _dispatchEvent(_n){dispatchEvent(_objectSpread2({putSortable,cloneEl,targetEl:dragEl,rootEl,oldIndex,oldDraggableIndex,newIndex,newDraggableIndex},_n))}var dragEl,parentEl,ghostEl,rootEl,nextEl,lastDownEl,cloneEl,cloneHidden,oldIndex,newIndex,oldDraggableIndex,newDraggableIndex,activeGroup,putSortable,awaitingDragStarted=!1,ignoreNextClick=!1,sortables=[],tapEvt,touchEvt,lastDx,lastDy,tapDistanceLeft,tapDistanceTop,moved,lastTarget,lastDirection,pastFirstInvertThresh=!1,isCircumstantialInvert=!1,targetMoveDistance,ghostRelativeParent,ghostRelativeParentInitialScroll=[],_silent=!1,savedInputChecked=[],documentExists=typeof document<"u",PositionGhostAbsolutely=IOS,CSSFloatProperty=Edge||IE11OrLess?"cssFloat":"float",supportDraggable=documentExists&&!ChromeForAndroid&&!IOS&&"draggable"in document.createElement("div"),supportCssPointerEvents=function(){if(documentExists){if(IE11OrLess)return!1;var _n=document.createElement("x");return _n.style.cssText="pointer-events:auto",_n.style.pointerEvents==="auto"}}(),_detectDirection=function(ke,Ce){var $n=css$1(ke),Mn=parseInt($n.width)-parseInt($n.paddingLeft)-parseInt($n.paddingRight)-parseInt($n.borderLeftWidth)-parseInt($n.borderRightWidth),Qn=getChild(ke,0,Ce),Vn=getChild(ke,1,Ce),qn=Qn&&css$1(Qn),Zn=Vn&&css$1(Vn),jn=qn&&parseInt(qn.marginLeft)+parseInt(qn.marginRight)+getRect(Qn).width,Xn=Zn&&parseInt(Zn.marginLeft)+parseInt(Zn.marginRight)+getRect(Vn).width;if($n.display==="flex")return $n.flexDirection==="column"||$n.flexDirection==="column-reverse"?"vertical":"horizontal";if($n.display==="grid")return $n.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(Qn&&qn.float&&qn.float!=="none"){var zn=qn.float==="left"?"left":"right";return Vn&&(Zn.clear==="both"||Zn.clear===zn)?"vertical":"horizontal"}return Qn&&(qn.display==="block"||qn.display==="flex"||qn.display==="table"||qn.display==="grid"||jn>=Mn&&$n[CSSFloatProperty]==="none"||Vn&&$n[CSSFloatProperty]==="none"&&jn+Xn>Mn)?"vertical":"horizontal"},_dragElInRowColumn=function(ke,Ce,$n){var Mn=$n?ke.left:ke.top,Qn=$n?ke.right:ke.bottom,Vn=$n?ke.width:ke.height,qn=$n?Ce.left:Ce.top,Zn=$n?Ce.right:Ce.bottom,jn=$n?Ce.width:Ce.height;return Mn===qn||Qn===Zn||Mn+Vn/2===qn+jn/2},_detectNearestEmptySortable=function(ke,Ce){var $n;return sortables.some(function(Mn){var Qn=Mn[expando].options.emptyInsertThreshold;if(!(!Qn||lastChild(Mn))){var Vn=getRect(Mn),qn=ke>=Vn.left-Qn&&ke<=Vn.right+Qn,Zn=Ce>=Vn.top-Qn&&Ce<=Vn.bottom+Qn;if(qn&&Zn)return $n=Mn}}),$n},_prepareGroup=function(ke){function Ce(Qn,Vn){return function(qn,Zn,jn,Xn){var zn=qn.options.group.name&&Zn.options.group.name&&qn.options.group.name===Zn.options.group.name;if(Qn==null&&(Vn||zn))return!0;if(Qn==null||Qn===!1)return!1;if(Vn&&Qn==="clone")return Qn;if(typeof Qn=="function")return Ce(Qn(qn,Zn,jn,Xn),Vn)(qn,Zn,jn,Xn);var Hn=(Vn?qn:Zn).options.group.name;return Qn===!0||typeof Qn=="string"&&Qn===Hn||Qn.join&&Qn.indexOf(Hn)>-1}}var $n={},Mn=ke.group;(!Mn||_typeof(Mn)!="object")&&(Mn={name:Mn}),$n.name=Mn.name,$n.checkPull=Ce(Mn.pull,!0),$n.checkPut=Ce(Mn.put),$n.revertClone=Mn.revertClone,ke.group=$n},_hideGhostForTarget=function(){!supportCssPointerEvents&&ghostEl&&css$1(ghostEl,"display","none")},_unhideGhostForTarget=function(){!supportCssPointerEvents&&ghostEl&&css$1(ghostEl,"display","")};documentExists&&!ChromeForAndroid&&document.addEventListener("click",function(_n){if(ignoreNextClick)return _n.preventDefault(),_n.stopPropagation&&_n.stopPropagation(),_n.stopImmediatePropagation&&_n.stopImmediatePropagation(),ignoreNextClick=!1,!1},!0);var nearestEmptyInsertDetectEvent=function(ke){if(dragEl){ke=ke.touches?ke.touches[0]:ke;var Ce=_detectNearestEmptySortable(ke.clientX,ke.clientY);if(Ce){var $n={};for(var Mn in ke)ke.hasOwnProperty(Mn)&&($n[Mn]=ke[Mn]);$n.target=$n.rootEl=Ce,$n.preventDefault=void 0,$n.stopPropagation=void 0,Ce[expando]._onDragOver($n)}}},_checkOutsideTargetEl=function(ke){dragEl&&dragEl.parentNode[expando]._isOutsideThisEl(ke.target)};function Sortable(_n,ke){if(!(_n&&_n.nodeType&&_n.nodeType===1))throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(_n));this.el=_n,this.options=ke=_extends({},ke),_n[expando]=this;var Ce={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(_n.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return _detectDirection(_n,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(Vn,qn){Vn.setData("Text",qn.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:Sortable.supportPointer!==!1&&"PointerEvent"in window&&!Safari,emptyInsertThreshold:5};PluginManager.initializePlugins(this,_n,Ce);for(var $n in Ce)!($n in ke)&&(ke[$n]=Ce[$n]);_prepareGroup(ke);for(var Mn in this)Mn.charAt(0)==="_"&&typeof this[Mn]=="function"&&(this[Mn]=this[Mn].bind(this));this.nativeDraggable=ke.forceFallback?!1:supportDraggable,this.nativeDraggable&&(this.options.touchStartThreshold=1),ke.supportPointer?on$1(_n,"pointerdown",this._onTapStart):(on$1(_n,"mousedown",this._onTapStart),on$1(_n,"touchstart",this._onTapStart)),this.nativeDraggable&&(on$1(_n,"dragover",this),on$1(_n,"dragenter",this)),sortables.push(this.el),ke.store&&ke.store.get&&this.sort(ke.store.get(this)||[]),_extends(this,AnimationStateManager())}Sortable.prototype={constructor:Sortable,_isOutsideThisEl:function(ke){!this.el.contains(ke)&&ke!==this.el&&(lastTarget=null)},_getDirection:function(ke,Ce){return typeof this.options.direction=="function"?this.options.direction.call(this,ke,Ce,dragEl):this.options.direction},_onTapStart:function(ke){if(ke.cancelable){var Ce=this,$n=this.el,Mn=this.options,Qn=Mn.preventOnFilter,Vn=ke.type,qn=ke.touches&&ke.touches[0]||ke.pointerType&&ke.pointerType==="touch"&&ke,Zn=(qn||ke).target,jn=ke.target.shadowRoot&&(ke.path&&ke.path[0]||ke.composedPath&&ke.composedPath()[0])||Zn,Xn=Mn.filter;if(_saveInputCheckedState($n),!dragEl&&!(/mousedown|pointerdown/.test(Vn)&&ke.button!==0||Mn.disabled)&&!jn.isContentEditable&&!(!this.nativeDraggable&&Safari&&Zn&&Zn.tagName.toUpperCase()==="SELECT")&&(Zn=closest(Zn,Mn.draggable,$n,!1),!(Zn&&Zn.animated)&&lastDownEl!==Zn)){if(oldIndex=index(Zn),oldDraggableIndex=index(Zn,Mn.draggable),typeof Xn=="function"){if(Xn.call(this,ke,Zn,this)){_dispatchEvent({sortable:Ce,rootEl:jn,name:"filter",targetEl:Zn,toEl:$n,fromEl:$n}),pluginEvent("filter",Ce,{evt:ke}),Qn&&ke.cancelable&&ke.preventDefault();return}}else if(Xn&&(Xn=Xn.split(",").some(function(zn){if(zn=closest(jn,zn.trim(),$n,!1),zn)return _dispatchEvent({sortable:Ce,rootEl:zn,name:"filter",targetEl:Zn,fromEl:$n,toEl:$n}),pluginEvent("filter",Ce,{evt:ke}),!0}),Xn)){Qn&&ke.cancelable&&ke.preventDefault();return}Mn.handle&&!closest(jn,Mn.handle,$n,!1)||this._prepareDragStart(ke,qn,Zn)}}},_prepareDragStart:function(ke,Ce,$n){var Mn=this,Qn=Mn.el,Vn=Mn.options,qn=Qn.ownerDocument,Zn;if($n&&!dragEl&&$n.parentNode===Qn){var jn=getRect($n);if(rootEl=Qn,dragEl=$n,parentEl=dragEl.parentNode,nextEl=dragEl.nextSibling,lastDownEl=$n,activeGroup=Vn.group,Sortable.dragged=dragEl,tapEvt={target:dragEl,clientX:(Ce||ke).clientX,clientY:(Ce||ke).clientY},tapDistanceLeft=tapEvt.clientX-jn.left,tapDistanceTop=tapEvt.clientY-jn.top,this._lastX=(Ce||ke).clientX,this._lastY=(Ce||ke).clientY,dragEl.style["will-change"]="all",Zn=function(){if(pluginEvent("delayEnded",Mn,{evt:ke}),Sortable.eventCanceled){Mn._onDrop();return}Mn._disableDelayedDragEvents(),!FireFox&&Mn.nativeDraggable&&(dragEl.draggable=!0),Mn._triggerDragStart(ke,Ce),_dispatchEvent({sortable:Mn,name:"choose",originalEvent:ke}),toggleClass$1(dragEl,Vn.chosenClass,!0)},Vn.ignore.split(",").forEach(function(Xn){find$1(dragEl,Xn.trim(),_disableDraggable)}),on$1(qn,"dragover",nearestEmptyInsertDetectEvent),on$1(qn,"mousemove",nearestEmptyInsertDetectEvent),on$1(qn,"touchmove",nearestEmptyInsertDetectEvent),on$1(qn,"mouseup",Mn._onDrop),on$1(qn,"touchend",Mn._onDrop),on$1(qn,"touchcancel",Mn._onDrop),FireFox&&this.nativeDraggable&&(this.options.touchStartThreshold=4,dragEl.draggable=!0),pluginEvent("delayStart",this,{evt:ke}),Vn.delay&&(!Vn.delayOnTouchOnly||Ce)&&(!this.nativeDraggable||!(Edge||IE11OrLess))){if(Sortable.eventCanceled){this._onDrop();return}on$1(qn,"mouseup",Mn._disableDelayedDrag),on$1(qn,"touchend",Mn._disableDelayedDrag),on$1(qn,"touchcancel",Mn._disableDelayedDrag),on$1(qn,"mousemove",Mn._delayedDragTouchMoveHandler),on$1(qn,"touchmove",Mn._delayedDragTouchMoveHandler),Vn.supportPointer&&on$1(qn,"pointermove",Mn._delayedDragTouchMoveHandler),Mn._dragStartTimer=setTimeout(Zn,Vn.delay)}else Zn()}},_delayedDragTouchMoveHandler:function(ke){var Ce=ke.touches?ke.touches[0]:ke;Math.max(Math.abs(Ce.clientX-this._lastX),Math.abs(Ce.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){dragEl&&_disableDraggable(dragEl),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var ke=this.el.ownerDocument;off(ke,"mouseup",this._disableDelayedDrag),off(ke,"touchend",this._disableDelayedDrag),off(ke,"touchcancel",this._disableDelayedDrag),off(ke,"mousemove",this._delayedDragTouchMoveHandler),off(ke,"touchmove",this._delayedDragTouchMoveHandler),off(ke,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(ke,Ce){Ce=Ce||ke.pointerType=="touch"&&ke,!this.nativeDraggable||Ce?this.options.supportPointer?on$1(document,"pointermove",this._onTouchMove):Ce?on$1(document,"touchmove",this._onTouchMove):on$1(document,"mousemove",this._onTouchMove):(on$1(dragEl,"dragend",this),on$1(rootEl,"dragstart",this._onDragStart));try{document.selection?_nextTick(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch{}},_dragStarted:function(ke,Ce){if(awaitingDragStarted=!1,rootEl&&dragEl){pluginEvent("dragStarted",this,{evt:Ce}),this.nativeDraggable&&on$1(document,"dragover",_checkOutsideTargetEl);var $n=this.options;!ke&&toggleClass$1(dragEl,$n.dragClass,!1),toggleClass$1(dragEl,$n.ghostClass,!0),Sortable.active=this,ke&&this._appendGhost(),_dispatchEvent({sortable:this,name:"start",originalEvent:Ce})}else this._nulling()},_emulateDragOver:function(){if(touchEvt){this._lastX=touchEvt.clientX,this._lastY=touchEvt.clientY,_hideGhostForTarget();for(var ke=document.elementFromPoint(touchEvt.clientX,touchEvt.clientY),Ce=ke;ke&&ke.shadowRoot&&(ke=ke.shadowRoot.elementFromPoint(touchEvt.clientX,touchEvt.clientY),ke!==Ce);)Ce=ke;if(dragEl.parentNode[expando]._isOutsideThisEl(ke),Ce)do{if(Ce[expando]){var $n=void 0;if($n=Ce[expando]._onDragOver({clientX:touchEvt.clientX,clientY:touchEvt.clientY,target:ke,rootEl:Ce}),$n&&!this.options.dragoverBubble)break}ke=Ce}while(Ce=getParentOrHost(Ce));_unhideGhostForTarget()}},_onTouchMove:function(ke){if(tapEvt){var Ce=this.options,$n=Ce.fallbackTolerance,Mn=Ce.fallbackOffset,Qn=ke.touches?ke.touches[0]:ke,Vn=ghostEl&&matrix(ghostEl,!0),qn=ghostEl&&Vn&&Vn.a,Zn=ghostEl&&Vn&&Vn.d,jn=PositionGhostAbsolutely&&ghostRelativeParent&&getRelativeScrollOffset(ghostRelativeParent),Xn=(Qn.clientX-tapEvt.clientX+Mn.x)/(qn||1)+(jn?jn[0]-ghostRelativeParentInitialScroll[0]:0)/(qn||1),zn=(Qn.clientY-tapEvt.clientY+Mn.y)/(Zn||1)+(jn?jn[1]-ghostRelativeParentInitialScroll[1]:0)/(Zn||1);if(!Sortable.active&&!awaitingDragStarted){if($n&&Math.max(Math.abs(Qn.clientX-this._lastX),Math.abs(Qn.clientY-this._lastY))<$n)return;this._onDragStart(ke,!0)}if(ghostEl){Vn?(Vn.e+=Xn-(lastDx||0),Vn.f+=zn-(lastDy||0)):Vn={a:1,b:0,c:0,d:1,e:Xn,f:zn};var Hn="matrix(".concat(Vn.a,",").concat(Vn.b,",").concat(Vn.c,",").concat(Vn.d,",").concat(Vn.e,",").concat(Vn.f,")");css$1(ghostEl,"webkitTransform",Hn),css$1(ghostEl,"mozTransform",Hn),css$1(ghostEl,"msTransform",Hn),css$1(ghostEl,"transform",Hn),lastDx=Xn,lastDy=zn,touchEvt=Qn}ke.cancelable&&ke.preventDefault()}},_appendGhost:function(){if(!ghostEl){var ke=this.options.fallbackOnBody?document.body:rootEl,Ce=getRect(dragEl,!0,PositionGhostAbsolutely,!0,ke),$n=this.options;if(PositionGhostAbsolutely){for(ghostRelativeParent=ke;css$1(ghostRelativeParent,"position")==="static"&&css$1(ghostRelativeParent,"transform")==="none"&&ghostRelativeParent!==document;)ghostRelativeParent=ghostRelativeParent.parentNode;ghostRelativeParent!==document.body&&ghostRelativeParent!==document.documentElement?(ghostRelativeParent===document&&(ghostRelativeParent=getWindowScrollingElement()),Ce.top+=ghostRelativeParent.scrollTop,Ce.left+=ghostRelativeParent.scrollLeft):ghostRelativeParent=getWindowScrollingElement(),ghostRelativeParentInitialScroll=getRelativeScrollOffset(ghostRelativeParent)}ghostEl=dragEl.cloneNode(!0),toggleClass$1(ghostEl,$n.ghostClass,!1),toggleClass$1(ghostEl,$n.fallbackClass,!0),toggleClass$1(ghostEl,$n.dragClass,!0),css$1(ghostEl,"transition",""),css$1(ghostEl,"transform",""),css$1(ghostEl,"box-sizing","border-box"),css$1(ghostEl,"margin",0),css$1(ghostEl,"top",Ce.top),css$1(ghostEl,"left",Ce.left),css$1(ghostEl,"width",Ce.width),css$1(ghostEl,"height",Ce.height),css$1(ghostEl,"opacity","0.8"),css$1(ghostEl,"position",PositionGhostAbsolutely?"absolute":"fixed"),css$1(ghostEl,"zIndex","100000"),css$1(ghostEl,"pointerEvents","none"),Sortable.ghost=ghostEl,ke.appendChild(ghostEl),css$1(ghostEl,"transform-origin",tapDistanceLeft/parseInt(ghostEl.style.width)*100+"% "+tapDistanceTop/parseInt(ghostEl.style.height)*100+"%")}},_onDragStart:function(ke,Ce){var $n=this,Mn=ke.dataTransfer,Qn=$n.options;if(pluginEvent("dragStart",this,{evt:ke}),Sortable.eventCanceled){this._onDrop();return}pluginEvent("setupClone",this),Sortable.eventCanceled||(cloneEl=clone(dragEl),cloneEl.removeAttribute("id"),cloneEl.draggable=!1,cloneEl.style["will-change"]="",this._hideClone(),toggleClass$1(cloneEl,this.options.chosenClass,!1),Sortable.clone=cloneEl),$n.cloneId=_nextTick(function(){pluginEvent("clone",$n),!Sortable.eventCanceled&&($n.options.removeCloneOnHide||rootEl.insertBefore(cloneEl,dragEl),$n._hideClone(),_dispatchEvent({sortable:$n,name:"clone"}))}),!Ce&&toggleClass$1(dragEl,Qn.dragClass,!0),Ce?(ignoreNextClick=!0,$n._loopId=setInterval($n._emulateDragOver,50)):(off(document,"mouseup",$n._onDrop),off(document,"touchend",$n._onDrop),off(document,"touchcancel",$n._onDrop),Mn&&(Mn.effectAllowed="move",Qn.setData&&Qn.setData.call($n,Mn,dragEl)),on$1(document,"drop",$n),css$1(dragEl,"transform","translateZ(0)")),awaitingDragStarted=!0,$n._dragStartId=_nextTick($n._dragStarted.bind($n,Ce,ke)),on$1(document,"selectstart",$n),moved=!0,Safari&&css$1(document.body,"user-select","none")},_onDragOver:function(ke){var Ce=this.el,$n=ke.target,Mn,Qn,Vn,qn=this.options,Zn=qn.group,jn=Sortable.active,Xn=activeGroup===Zn,zn=qn.sort,Hn=putSortable||jn,Wn,Yn=this,Un=!1;if(_silent)return;function Gn(br,Er){pluginEvent(br,Yn,_objectSpread2({evt:ke,isOwner:Xn,axis:Wn?"vertical":"horizontal",revert:Vn,dragRect:Mn,targetRect:Qn,canSort:zn,fromSortable:Hn,target:$n,completed:Jn,onMove:function(Mr,yr){return _onMove(rootEl,Ce,dragEl,Mn,Mr,getRect(Mr),ke,yr)},changed:tr},Er))}function Kn(){Gn("dragOverAnimationCapture"),Yn.captureAnimationState(),Yn!==Hn&&Hn.captureAnimationState()}function Jn(br){return Gn("dragOverCompleted",{insertion:br}),br&&(Xn?jn._hideClone():jn._showClone(Yn),Yn!==Hn&&(toggleClass$1(dragEl,putSortable?putSortable.options.ghostClass:jn.options.ghostClass,!1),toggleClass$1(dragEl,qn.ghostClass,!0)),putSortable!==Yn&&Yn!==Sortable.active?putSortable=Yn:Yn===Sortable.active&&putSortable&&(putSortable=null),Hn===Yn&&(Yn._ignoreWhileAnimating=$n),Yn.animateAll(function(){Gn("dragOverAnimationComplete"),Yn._ignoreWhileAnimating=null}),Yn!==Hn&&(Hn.animateAll(),Hn._ignoreWhileAnimating=null)),($n===dragEl&&!dragEl.animated||$n===Ce&&!$n.animated)&&(lastTarget=null),!qn.dragoverBubble&&!ke.rootEl&&$n!==document&&(dragEl.parentNode[expando]._isOutsideThisEl(ke.target),!br&&nearestEmptyInsertDetectEvent(ke)),!qn.dragoverBubble&&ke.stopPropagation&&ke.stopPropagation(),Un=!0}function tr(){newIndex=index(dragEl),newDraggableIndex=index(dragEl,qn.draggable),_dispatchEvent({sortable:Yn,name:"change",toEl:Ce,newIndex,newDraggableIndex,originalEvent:ke})}if(ke.preventDefault!==void 0&&ke.cancelable&&ke.preventDefault(),$n=closest($n,qn.draggable,Ce,!0),Gn("dragOver"),Sortable.eventCanceled)return Un;if(dragEl.contains(ke.target)||$n.animated&&$n.animatingX&&$n.animatingY||Yn._ignoreWhileAnimating===$n)return Jn(!1);if(ignoreNextClick=!1,jn&&!qn.disabled&&(Xn?zn||(Vn=parentEl!==rootEl):putSortable===this||(this.lastPutMode=activeGroup.checkPull(this,jn,dragEl,ke))&&Zn.checkPut(this,jn,dragEl,ke))){if(Wn=this._getDirection(ke,$n)==="vertical",Mn=getRect(dragEl),Gn("dragOverValid"),Sortable.eventCanceled)return Un;if(Vn)return parentEl=rootEl,Kn(),this._hideClone(),Gn("revert"),Sortable.eventCanceled||(nextEl?rootEl.insertBefore(dragEl,nextEl):rootEl.appendChild(dragEl)),Jn(!0);var nr=lastChild(Ce,qn.draggable);if(!nr||_ghostIsLast(ke,Wn,this)&&!nr.animated){if(nr===dragEl)return Jn(!1);if(nr&&Ce===ke.target&&($n=nr),$n&&(Qn=getRect($n)),_onMove(rootEl,Ce,dragEl,Mn,$n,Qn,ke,!!$n)!==!1)return Kn(),nr&&nr.nextSibling?Ce.insertBefore(dragEl,nr.nextSibling):Ce.appendChild(dragEl),parentEl=Ce,tr(),Jn(!0)}else if(nr&&_ghostIsFirst(ke,Wn,this)){var er=getChild(Ce,0,qn,!0);if(er===dragEl)return Jn(!1);if($n=er,Qn=getRect($n),_onMove(rootEl,Ce,dragEl,Mn,$n,Qn,ke,!1)!==!1)return Kn(),Ce.insertBefore(dragEl,er),parentEl=Ce,tr(),Jn(!0)}else if($n.parentNode===Ce){Qn=getRect($n);var rr=0,or,ir=dragEl.parentNode!==Ce,sr=!_dragElInRowColumn(dragEl.animated&&dragEl.toRect||Mn,$n.animated&&$n.toRect||Qn,Wn),cr=Wn?"top":"left",ur=isScrolledPast($n,"top","top")||isScrolledPast(dragEl,"top","top"),fr=ur?ur.scrollTop:void 0;lastTarget!==$n&&(or=Qn[cr],pastFirstInvertThresh=!1,isCircumstantialInvert=!sr&&qn.invertSwap||ir),rr=_getSwapDirection(ke,$n,Qn,Wn,sr?1:qn.swapThreshold,qn.invertedSwapThreshold==null?qn.swapThreshold:qn.invertedSwapThreshold,isCircumstantialInvert,lastTarget===$n);var pr;if(rr!==0){var mr=index(dragEl);do mr-=rr,pr=parentEl.children[mr];while(pr&&(css$1(pr,"display")==="none"||pr===ghostEl))}if(rr===0||pr===$n)return Jn(!1);lastTarget=$n,lastDirection=rr;var _r=$n.nextElementSibling,vr=!1;vr=rr===1;var hr=_onMove(rootEl,Ce,dragEl,Mn,$n,Qn,ke,vr);if(hr!==!1)return(hr===1||hr===-1)&&(vr=hr===1),_silent=!0,setTimeout(_unsilent,30),Kn(),vr&&!_r?Ce.appendChild(dragEl):$n.parentNode.insertBefore(dragEl,vr?_r:$n),ur&&scrollBy(ur,0,fr-ur.scrollTop),parentEl=dragEl.parentNode,or!==void 0&&!isCircumstantialInvert&&(targetMoveDistance=Math.abs(or-getRect($n)[cr])),tr(),Jn(!0)}if(Ce.contains(dragEl))return Jn(!1)}return!1},_ignoreWhileAnimating:null,_offMoveEvents:function(){off(document,"mousemove",this._onTouchMove),off(document,"touchmove",this._onTouchMove),off(document,"pointermove",this._onTouchMove),off(document,"dragover",nearestEmptyInsertDetectEvent),off(document,"mousemove",nearestEmptyInsertDetectEvent),off(document,"touchmove",nearestEmptyInsertDetectEvent)},_offUpEvents:function(){var ke=this.el.ownerDocument;off(ke,"mouseup",this._onDrop),off(ke,"touchend",this._onDrop),off(ke,"pointerup",this._onDrop),off(ke,"touchcancel",this._onDrop),off(document,"selectstart",this)},_onDrop:function(ke){var Ce=this.el,$n=this.options;if(newIndex=index(dragEl),newDraggableIndex=index(dragEl,$n.draggable),pluginEvent("drop",this,{evt:ke}),parentEl=dragEl&&dragEl.parentNode,newIndex=index(dragEl),newDraggableIndex=index(dragEl,$n.draggable),Sortable.eventCanceled){this._nulling();return}awaitingDragStarted=!1,isCircumstantialInvert=!1,pastFirstInvertThresh=!1,clearInterval(this._loopId),clearTimeout(this._dragStartTimer),_cancelNextTick(this.cloneId),_cancelNextTick(this._dragStartId),this.nativeDraggable&&(off(document,"drop",this),off(Ce,"dragstart",this._onDragStart)),this._offMoveEvents(),this._offUpEvents(),Safari&&css$1(document.body,"user-select",""),css$1(dragEl,"transform",""),ke&&(moved&&(ke.cancelable&&ke.preventDefault(),!$n.dropBubble&&ke.stopPropagation()),ghostEl&&ghostEl.parentNode&&ghostEl.parentNode.removeChild(ghostEl),(rootEl===parentEl||putSortable&&putSortable.lastPutMode!=="clone")&&cloneEl&&cloneEl.parentNode&&cloneEl.parentNode.removeChild(cloneEl),dragEl&&(this.nativeDraggable&&off(dragEl,"dragend",this),_disableDraggable(dragEl),dragEl.style["will-change"]="",moved&&!awaitingDragStarted&&toggleClass$1(dragEl,putSortable?putSortable.options.ghostClass:this.options.ghostClass,!1),toggleClass$1(dragEl,this.options.chosenClass,!1),_dispatchEvent({sortable:this,name:"unchoose",toEl:parentEl,newIndex:null,newDraggableIndex:null,originalEvent:ke}),rootEl!==parentEl?(newIndex>=0&&(_dispatchEvent({rootEl:parentEl,name:"add",toEl:parentEl,fromEl:rootEl,originalEvent:ke}),_dispatchEvent({sortable:this,name:"remove",toEl:parentEl,originalEvent:ke}),_dispatchEvent({rootEl:parentEl,name:"sort",toEl:parentEl,fromEl:rootEl,originalEvent:ke}),_dispatchEvent({sortable:this,name:"sort",toEl:parentEl,originalEvent:ke})),putSortable&&putSortable.save()):newIndex!==oldIndex&&newIndex>=0&&(_dispatchEvent({sortable:this,name:"update",toEl:parentEl,originalEvent:ke}),_dispatchEvent({sortable:this,name:"sort",toEl:parentEl,originalEvent:ke})),Sortable.active&&((newIndex==null||newIndex===-1)&&(newIndex=oldIndex,newDraggableIndex=oldDraggableIndex),_dispatchEvent({sortable:this,name:"end",toEl:parentEl,originalEvent:ke}),this.save()))),this._nulling()},_nulling:function(){pluginEvent("nulling",this),rootEl=dragEl=parentEl=ghostEl=nextEl=cloneEl=lastDownEl=cloneHidden=tapEvt=touchEvt=moved=newIndex=newDraggableIndex=oldIndex=oldDraggableIndex=lastTarget=lastDirection=putSortable=activeGroup=Sortable.dragged=Sortable.ghost=Sortable.clone=Sortable.active=null,savedInputChecked.forEach(function(ke){ke.checked=!0}),savedInputChecked.length=lastDx=lastDy=0},handleEvent:function(ke){switch(ke.type){case"drop":case"dragend":this._onDrop(ke);break;case"dragenter":case"dragover":dragEl&&(this._onDragOver(ke),_globalDragOver(ke));break;case"selectstart":ke.preventDefault();break}},toArray:function(){for(var ke=[],Ce,$n=this.el.children,Mn=0,Qn=$n.length,Vn=this.options;MnMn.right+Qn||_n.clientY>$n.bottom&&_n.clientX>$n.left:_n.clientY>Mn.bottom+Qn||_n.clientX>$n.right&&_n.clientY>$n.top}function _getSwapDirection(_n,ke,Ce,$n,Mn,Qn,Vn,qn){var Zn=$n?_n.clientY:_n.clientX,jn=$n?Ce.height:Ce.width,Xn=$n?Ce.top:Ce.left,zn=$n?Ce.bottom:Ce.right,Hn=!1;if(!Vn){if(qn&&targetMoveDistanceXn+jn*Qn/2:Znzn-targetMoveDistance)return-lastDirection}else if(Zn>Xn+jn*(1-Mn)/2&&Znzn-jn*Qn/2)?Zn>Xn+jn/2?1:-1:0}function _getInsertDirection(_n){return index(dragEl){Vn[Xn]=null}),check_outros(),Ce=Vn[ke],Ce?Ce.p(Zn,jn):(Ce=Vn[ke]=Qn[ke](Zn),Ce.c()),transition_in(Ce,1),Ce.m($n.parentNode,$n))},i(Zn){Mn||(transition_in(Ce),Mn=!0)},o(Zn){transition_out(Ce),Mn=!1},d(Zn){Zn&&detach($n),Vn[ke].d(Zn)}}}function instance$w(_n,ke,Ce){let{$$slots:$n={},$$scope:Mn}=ke,{sortableClass:Qn=""}=ke,{isTable:Vn=!1}=ke,{sortableInstance:qn}=ke;const Zn=createEventDispatcher();let jn;onMount(()=>{let Hn={animation:150,easing:"cubic-bezier(1, 0, 0, 1)",direction:"vertical",onUpdate(Wn){Zn("update",{source:Wn.oldIndex,target:Wn.newIndex})}};Ce(3,qn=Sortable.create(jn,Hn))});function Xn(Hn){binding_callbacks[Hn?"unshift":"push"](()=>{jn=Hn,Ce(2,jn)})}function zn(Hn){binding_callbacks[Hn?"unshift":"push"](()=>{jn=Hn,Ce(2,jn)})}return _n.$$set=Hn=>{"sortableClass"in Hn&&Ce(0,Qn=Hn.sortableClass),"isTable"in Hn&&Ce(1,Vn=Hn.isTable),"sortableInstance"in Hn&&Ce(3,qn=Hn.sortableInstance),"$$scope"in Hn&&Ce(4,Mn=Hn.$$scope)},[Qn,Vn,jn,qn,Mn,$n,Xn,zn]}class Sortable_1 extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$w,create_fragment$w,safe_not_equal,{sortableClass:0,isTable:1,sortableInstance:3})}}function create_if_block_4$4(_n){let ke,Ce,$n;return Ce=new Preview({props:{record:_n[6],size:"small"}}),{c(){ke=element("div"),create_component(Ce.$$.fragment),attr(ke,"class","image")},m(Mn,Qn){insert$1(Mn,ke,Qn),mount_component(Ce,ke,null),$n=!0},p:noop,i(Mn){$n||(transition_in(Ce.$$.fragment,Mn),$n=!0)},o(Mn){transition_out(Ce.$$.fragment,Mn),$n=!1},d(Mn){Mn&&detach(ke),destroy_component(Ce)}}}function create_if_block_3$6(_n){let ke;return{c(){ke=element("span"),ke.textContent="will remove on save",attr(ke,"class","trashed-text")},m(Ce,$n){insert$1(Ce,ke,$n)},d(Ce){Ce&&detach(ke)}}}function create_if_block_2$7(_n){let ke,Ce;return ke=new Status({props:{status:_n[0].status}}),{c(){create_component(ke.$$.fragment)},m($n,Mn){mount_component(ke,$n,Mn),Ce=!0},p($n,Mn){const Qn={};Mn&1&&(Qn.status=$n[0].status),ke.$set(Qn)},i($n){Ce||(transition_in(ke.$$.fragment,$n),Ce=!0)},o($n){transition_out(ke.$$.fragment,$n),Ce=!1},d($n){destroy_component(ke,$n)}}}function create_if_block$o(_n){let ke,Ce,$n,Mn;const Qn=[create_if_block_1$f,create_else_block$a],Vn=[];function qn(Zn,jn){var Xn;return(Xn=Zn[1])!=null&&Xn._isTrashed?0:1}return Ce=qn(_n),$n=Vn[Ce]=Qn[Ce](_n),{c(){ke=element("div"),$n.c(),attr(ke,"class","reference-action")},m(Zn,jn){insert$1(Zn,ke,jn),Vn[Ce].m(ke,null),Mn=!0},p(Zn,jn){let Xn=Ce;Ce=qn(Zn),Ce===Xn?Vn[Ce].p(Zn,jn):(group_outros(),transition_out(Vn[Xn],1,1,()=>{Vn[Xn]=null}),check_outros(),$n=Vn[Ce],$n?$n.p(Zn,jn):($n=Vn[Ce]=Qn[Ce](Zn),$n.c()),transition_in($n,1),$n.m(ke,null))},i(Zn){Mn||(transition_in($n),Mn=!0)},o(Zn){transition_out($n),Mn=!1},d(Zn){Zn&&detach(ke),Vn[Ce].d()}}}function create_else_block$a(_n){let ke,Ce,$n,Mn,Qn;return Ce=new Icon({props:{icon:"trash-can"}}),{c(){ke=element("button"),create_component(Ce.$$.fragment),attr(ke,"title","Remove"),attr(ke,"class","button")},m(Vn,qn){insert$1(Vn,ke,qn),mount_component(Ce,ke,null),$n=!0,Mn||(Qn=listen(ke,"click",_n[7]),Mn=!0)},p:noop,i(Vn){$n||(transition_in(Ce.$$.fragment,Vn),$n=!0)},o(Vn){transition_out(Ce.$$.fragment,Vn),$n=!1},d(Vn){Vn&&detach(ke),destroy_component(Ce),Mn=!1,Qn()}}}function create_if_block_1$f(_n){let ke,Ce,$n,Mn,Qn,Vn,qn,Zn;return Ce=new Icon({props:{icon:"undo"}}),Qn=new Icon({props:{icon:"destroy"}}),{c(){ke=element("button"),create_component(Ce.$$.fragment),$n=space$3(),Mn=element("button"),create_component(Qn.$$.fragment),attr(ke,"title","Restore"),attr(ke,"class","button"),attr(Mn,"title","Delete from everywhere"),attr(Mn,"class","button")},m(jn,Xn){insert$1(jn,ke,Xn),mount_component(Ce,ke,null),insert$1(jn,$n,Xn),insert$1(jn,Mn,Xn),mount_component(Qn,Mn,null),Vn=!0,qn||(Zn=[listen(ke,"click",_n[8]),listen(Mn,"click",_n[9])],qn=!0)},p:noop,i(jn){Vn||(transition_in(Ce.$$.fragment,jn),transition_in(Qn.$$.fragment,jn),Vn=!0)},o(jn){transition_out(Ce.$$.fragment,jn),transition_out(Qn.$$.fragment,jn),Vn=!1},d(jn){jn&&(detach(ke),detach($n),detach(Mn)),destroy_component(Ce),destroy_component(Qn),qn=!1,run_all(Zn)}}}function create_fragment$v(_n){var rr;let ke,Ce,$n,Mn,Qn,Vn,qn,Zn,jn,Xn,zn,Hn,Wn=_n[4].label+"",Yn,Un,Gn,Kn,Jn=_n[6]&&create_if_block_4$4(_n),tr=((rr=_n[1])==null?void 0:rr._isTrashed)&&create_if_block_3$6(),nr=_n[0].status==="draft"&&create_if_block_2$7(_n),er=_n[2]&&create_if_block$o(_n);return{c(){var or;ke=element("div"),Ce=element("div"),Jn&&Jn.c(),$n=space$3(),Mn=element("div"),Qn=element("div"),Vn=element("a"),qn=text(_n[5]),Zn=space$3(),tr&&tr.c(),Xn=space$3(),zn=element("small"),Hn=text("from "),Yn=text(Wn),Un=space$3(),nr&&nr.c(),Gn=space$3(),er&&er.c(),attr(Vn,"class","record-title"),attr(Vn,"href",jn=_n[3].lucentUrl+"/records/"+_n[0].id),attr(zn,"class","d-block"),attr(Mn,"class","title"),set_style(Ce,"display","flex"),set_style(Ce,"align-items","center"),set_style(Ce,"gap","10px"),attr(ke,"class","preview-reference"),toggle_class(ke,"is-trashed",(or=_n[1])==null?void 0:or._isTrashed)},m(or,ir){insert$1(or,ke,ir),append(ke,Ce),Jn&&Jn.m(Ce,null),append(Ce,$n),append(Ce,Mn),append(Mn,Qn),append(Qn,Vn),append(Vn,qn),append(Vn,Zn),tr&&tr.m(Vn,null),append(Qn,Xn),append(Qn,zn),append(zn,Hn),append(zn,Yn),append(zn,Un),nr&&nr.m(zn,null),append(ke,Gn),er&&er.m(ke,null),Kn=!0},p(or,[ir]){var sr,cr;or[6]&&Jn.p(or,ir),(sr=or[1])!=null&&sr._isTrashed?tr||(tr=create_if_block_3$6(),tr.c(),tr.m(Vn,null)):tr&&(tr.d(1),tr=null),(!Kn||ir&1&&jn!==(jn=or[3].lucentUrl+"/records/"+or[0].id))&&attr(Vn,"href",jn),or[0].status==="draft"?nr?(nr.p(or,ir),ir&1&&transition_in(nr,1)):(nr=create_if_block_2$7(or),nr.c(),transition_in(nr,1),nr.m(zn,null)):nr&&(group_outros(),transition_out(nr,1,1,()=>{nr=null}),check_outros()),or[2]?er?(er.p(or,ir),ir&4&&transition_in(er,1)):(er=create_if_block$o(or),er.c(),transition_in(er,1),er.m(ke,null)):er&&(group_outros(),transition_out(er,1,1,()=>{er=null}),check_outros()),(!Kn||ir&2)&&toggle_class(ke,"is-trashed",(cr=or[1])==null?void 0:cr._isTrashed)},i(or){Kn||(transition_in(Jn),transition_in(nr),transition_in(er),Kn=!0)},o(or){transition_out(Jn),transition_out(nr),transition_out(er),Kn=!1},d(or){or&&detach(ke),Jn&&Jn.d(),tr&&tr.d(),nr&&nr.d(),er&&er.d()}}}function instance$v(_n,ke,Ce){const $n=createEventDispatcher(),Mn=getContext$1("channel");let{graph:Qn}=ke,{record:Vn}=ke,{edge:qn}=ke,{hasDelete:Zn=!1}=ke,jn=Mn.schemas.find(Gn=>Gn.name===Vn.schema),Xn=previewTitle(Mn.schemas,Vn);const zn=Qn.edges.find(Gn=>Gn.source===Vn.id&&Gn.field===jn.cardImage);let Hn=Qn.records.find(Gn=>Gn.id===(zn==null?void 0:zn.target));function Wn(Gn){Gn.preventDefault(),$n("remove",Vn.id)}function Yn(Gn){Gn.preventDefault(),$n("restore",Vn.id)}function Un(Gn){Gn.preventDefault(),$n("fulldelete",Vn.id)}return _n.$$set=Gn=>{"graph"in Gn&&Ce(10,Qn=Gn.graph),"record"in Gn&&Ce(0,Vn=Gn.record),"edge"in Gn&&Ce(1,qn=Gn.edge),"hasDelete"in Gn&&Ce(2,Zn=Gn.hasDelete)},[Vn,qn,Zn,Mn,jn,Xn,Hn,Wn,Yn,Un,Qn]}class PreviewReference extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$v,create_fragment$v,safe_not_equal,{graph:10,record:0,edge:1,hasDelete:2})}}function get_each_context$b(_n,ke,Ce){const $n=_n.slice();return $n[13]=ke[Ce],$n}function create_if_block_1$e(_n){let ke,Ce;return{c(){ke=element("div"),Ce=text(_n[2]),attr(ke,"class","invalid-feedback d-block mb-3")},m($n,Mn){insert$1($n,ke,Mn),append(ke,Ce)},p($n,Mn){Mn&4&&set_data(Ce,$n[2])},d($n){$n&&detach(ke)}}}function create_if_block$n(_n){let ke,Ce;return ke=new Sortable_1({props:{sortableClass:"row row-cols-3 mt-3",$$slots:{default:[create_default_slot$4]},$$scope:{ctx:_n}}}),ke.$on("update",_n[7]),{c(){create_component(ke.$$.fragment)},m($n,Mn){mount_component(ke,$n,Mn),Ce=!0},p($n,Mn){const Qn={};Mn&65539&&(Qn.$$scope={dirty:Mn,ctx:$n}),ke.$set(Qn)},i($n){Ce||(transition_in(ke.$$.fragment,$n),Ce=!0)},o($n){transition_out(ke.$$.fragment,$n),Ce=!1},d($n){destroy_component(ke,$n)}}}function create_each_block$b(_n,ke){let Ce,$n,Mn,Qn;return $n=new PreviewReference({props:{graph:ke[0],record:ke[13].record,edge:ke[13].edge,hasDelete:!0}}),$n.$on("remove",ke[4]),$n.$on("restore",ke[5]),$n.$on("fulldelete",ke[6]),{key:_n,first:null,c(){Ce=element("div"),create_component($n.$$.fragment),Mn=space$3(),this.first=Ce},m(Vn,qn){insert$1(Vn,Ce,qn),mount_component($n,Ce,null),append(Ce,Mn),Qn=!0},p(Vn,qn){ke=Vn;const Zn={};qn&1&&(Zn.graph=ke[0]),qn&2&&(Zn.record=ke[13].record),qn&2&&(Zn.edge=ke[13].edge),$n.$set(Zn)},i(Vn){Qn||(transition_in($n.$$.fragment,Vn),Qn=!0)},o(Vn){transition_out($n.$$.fragment,Vn),Qn=!1},d(Vn){Vn&&detach(Ce),destroy_component($n)}}}function create_default_slot$4(_n){let ke=[],Ce=new Map,$n,Mn,Qn=ensure_array_like(_n[1]);const Vn=qn=>qn[13].record.id;for(let qn=0;qn0&&create_if_block$n(_n);return{c(){qn&&qn.c(),ke=space$3(),Ce=element("div"),create_component($n.$$.fragment),Mn=space$3(),Zn&&Zn.c(),Qn=empty$1(),attr(Ce,"class","inline-card-wrapper")},m(jn,Xn){qn&&qn.m(jn,Xn),insert$1(jn,ke,Xn),insert$1(jn,Ce,Xn),mount_component($n,Ce,null),insert$1(jn,Mn,Xn),Zn&&Zn.m(jn,Xn),insert$1(jn,Qn,Xn),Vn=!0},p(jn,[Xn]){jn[2]?qn?qn.p(jn,Xn):(qn=create_if_block_1$e(jn),qn.c(),qn.m(ke.parentNode,ke)):qn&&(qn.d(1),qn=null),jn[1].length>0?Zn?(Zn.p(jn,Xn),Xn&2&&transition_in(Zn,1)):(Zn=create_if_block$n(jn),Zn.c(),transition_in(Zn,1),Zn.m(Qn.parentNode,Qn)):Zn&&(group_outros(),transition_out(Zn,1,1,()=>{Zn=null}),check_outros())},i(jn){Vn||(transition_in($n.$$.fragment,jn),transition_in(Zn),Vn=!0)},o(jn){transition_out($n.$$.fragment,jn),transition_out(Zn),Vn=!1},d(jn){jn&&(detach(ke),detach(Ce),detach(Mn),detach(Qn)),qn&&qn.d(jn),destroy_component($n),Zn&&Zn.d(jn)}}}function instance$u(_n,ke,Ce){let $n,Mn;const Qn=getContext$1("channel");let{record:Vn}=ke,{field:qn}=ke,{graph:Zn}=ke,{validationErrors:jn}=ke,Xn=Qn.schemas.filter(Gn=>qn.collections.includes(Gn.name));function zn(Gn){Gn.preventDefault(),Ce(0,Zn.edges=removeReferenceFromGraph(Zn,qn,Gn.detail),Zn)}function Hn(Gn){Gn.preventDefault(),Ce(0,Zn.edges=restoreReferenceToGraph(Zn,qn,Gn.detail),Zn)}function Wn(Gn){Gn.preventDefault(),Ce(0,Zn.edges=fullDeleteRecord(Qn,Zn,qn,Gn.detail),Zn)}function Yn(Gn){Ce(0,Zn.edges=sortByField(Gn.detail.source,Gn.detail.target,Zn.edges,qn.name,Mn),Zn)}function Un(Gn){Gn.preventDefault(),Ce(0,Zn=insertEdges(Zn,Vn,Gn.detail.records,qn.name,Gn.detail.action))}return _n.$$set=Gn=>{"record"in Gn&&Ce(9,Vn=Gn.record),"field"in Gn&&Ce(10,qn=Gn.field),"graph"in Gn&&Ce(0,Zn=Gn.graph),"validationErrors"in Gn&&Ce(11,jn=Gn.validationErrors)},_n.$$.update=()=>{_n.$$.dirty&3072&&Ce(2,$n=getErrorMessage(jn,qn.name)),_n.$$.dirty&1537&&Ce(1,Mn=graphToReferences(Zn,Vn,qn))},[Zn,Mn,$n,Xn,zn,Hn,Wn,Yn,Un,Vn,qn,jn]}class Reference extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$u,create_fragment$u,safe_not_equal,{record:9,field:10,graph:0,validationErrors:11})}}function create_if_block$m(_n){let ke,Ce;return{c(){ke=element("div"),Ce=text(_n[4]),attr(ke,"class","invalid-feedback d-block")},m($n,Mn){insert$1($n,ke,Mn),append(ke,Ce)},p($n,Mn){Mn&16&&set_data(Ce,$n[4])},d($n){$n&&detach(ke)}}}function create_fragment$t(_n){let ke,Ce,$n,Mn,Qn,Vn,qn,Zn,jn,Xn,zn=_n[4]&&create_if_block$m(_n);return{c(){ke=element("div"),Ce=element("div"),$n=element("input"),Qn=space$3(),Vn=element("input"),Zn=space$3(),zn&&zn.c(),attr($n,"type","color"),attr($n,"id",_n[3]),set_style($n,"border","none"),set_style($n,"background","transparent"),set_style($n,"padding","0"),set_style($n,"width","64px"),$n.disabled=Mn=_n[1].readonly&&!_n[2],attr(Vn,"type","text"),attr(Vn,"id",_n[3]),attr(Vn,"class","form-control"),Vn.readOnly=qn=_n[1].readonly&&!_n[2],toggle_class(Vn,"is-invalid",_n[4]),set_style(Ce,"display","flex"),set_style(Ce,"align-items","center"),set_style(Ce,"gap","10px"),attr(ke,"class","mb-0")},m(Hn,Wn){insert$1(Hn,ke,Wn),append(ke,Ce),append(Ce,$n),set_input_value($n,_n[0]),append(Ce,Qn),append(Ce,Vn),set_input_value(Vn,_n[0]),append(ke,Zn),zn&&zn.m(ke,null),jn||(Xn=[listen($n,"input",_n[6]),listen(Vn,"input",_n[7])],jn=!0)},p(Hn,[Wn]){Wn&8&&attr($n,"id",Hn[3]),Wn&6&&Mn!==(Mn=Hn[1].readonly&&!Hn[2])&&($n.disabled=Mn),Wn&1&&set_input_value($n,Hn[0]),Wn&8&&attr(Vn,"id",Hn[3]),Wn&6&&qn!==(qn=Hn[1].readonly&&!Hn[2])&&(Vn.readOnly=qn),Wn&1&&Vn.value!==Hn[0]&&set_input_value(Vn,Hn[0]),Wn&16&&toggle_class(Vn,"is-invalid",Hn[4]),Hn[4]?zn?zn.p(Hn,Wn):(zn=create_if_block$m(Hn),zn.c(),zn.m(ke,null)):zn&&(zn.d(1),zn=null)},i:noop,o:noop,d(Hn){Hn&&detach(ke),zn&&zn.d(),jn=!1,run_all(Xn)}}}function instance$t(_n,ke,Ce){let $n,{field:Mn}=ke,{value:Qn}=ke,{isCreateMode:Vn}=ke,{validationErrors:qn}=ke,{id:Zn}=ke;function jn(){Qn=this.value,Ce(0,Qn)}function Xn(){Qn=this.value,Ce(0,Qn)}return _n.$$set=zn=>{"field"in zn&&Ce(1,Mn=zn.field),"value"in zn&&Ce(0,Qn=zn.value),"isCreateMode"in zn&&Ce(2,Vn=zn.isCreateMode),"validationErrors"in zn&&Ce(5,qn=zn.validationErrors),"id"in zn&&Ce(3,Zn=zn.id)},_n.$$.update=()=>{_n.$$.dirty&34&&Ce(4,$n=getErrorMessage(qn,Mn.name))},[Qn,Mn,Vn,Zn,$n,qn,jn,Xn]}class Color extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$t,create_fragment$t,safe_not_equal,{field:1,value:0,isCreateMode:2,validationErrors:5,id:3})}}function create_if_block_1$d(_n){let ke,Ce,$n,Mn,Qn,Vn,qn,Zn,jn,Xn,zn;return jn=init_binding_group(_n[7][0]),{c(){ke=element("div"),Ce=element("input"),Qn=space$3(),Vn=element("label"),qn=text("Don't Know"),attr(Ce,"class","form-check-input"),attr(Ce,"id",$n=_n[1]+"-3"),attr(Ce,"type","radio"),Ce.__value=null,set_input_value(Ce,Ce.__value),Ce.disabled=Mn=_n[2].readonly&&!_n[3],toggle_class(Ce,"is-invalid",_n[4]),attr(Vn,"class","form-check-label"),attr(Vn,"for",Zn=_n[1]+"-3"),attr(ke,"class","form-check form-check-inline"),jn.p(Ce)},m(Hn,Wn){insert$1(Hn,ke,Wn),append(ke,Ce),Ce.checked=Ce.__value===_n[0],append(ke,Qn),append(ke,Vn),append(Vn,qn),Xn||(zn=listen(Ce,"change",_n[9]),Xn=!0)},p(Hn,Wn){Wn&2&&$n!==($n=Hn[1]+"-3")&&attr(Ce,"id",$n),Wn&12&&Mn!==(Mn=Hn[2].readonly&&!Hn[3])&&(Ce.disabled=Mn),Wn&1&&(Ce.checked=Ce.__value===Hn[0]),Wn&16&&toggle_class(Ce,"is-invalid",Hn[4]),Wn&2&&Zn!==(Zn=Hn[1]+"-3")&&attr(Vn,"for",Zn)},d(Hn){Hn&&detach(ke),jn.r(),Xn=!1,zn()}}}function create_if_block$l(_n){let ke,Ce;return{c(){ke=element("div"),Ce=text(_n[4]),attr(ke,"class","invalid-feedback d-block")},m($n,Mn){insert$1($n,ke,Mn),append(ke,Ce)},p($n,Mn){Mn&16&&set_data(Ce,$n[4])},d($n){$n&&detach(ke)}}}function create_fragment$s(_n){let ke,Ce,$n,Mn,Qn,Vn,qn,Zn,jn,Xn,zn,Hn,Wn,Yn,Un,Gn,Kn,Jn,tr,nr,er,rr,or,ir,sr=_n[2].nullable&&create_if_block_1$d(_n),cr=_n[4]&&create_if_block$l(_n);return rr=init_binding_group(_n[7][0]),{c(){ke=element("div"),Ce=element("div"),$n=element("input"),Vn=space$3(),qn=element("label"),Zn=text("Yes"),Xn=space$3(),zn=element("div"),Hn=element("input"),Un=space$3(),Gn=element("label"),Kn=text("No"),tr=space$3(),sr&&sr.c(),nr=space$3(),cr&&cr.c(),er=empty$1(),attr($n,"class","form-check-input"),attr($n,"type","radio"),attr($n,"id",Mn=_n[1]+"-1"),$n.__value=!0,set_input_value($n,$n.__value),$n.disabled=Qn=_n[2].readonly&&!_n[3],toggle_class($n,"is-invalid",_n[4]),attr(qn,"class","form-check-label"),attr(qn,"for",jn=_n[1]+"-1"),attr(Ce,"class","form-check form-check-inline"),attr(Hn,"class","form-check-input"),attr(Hn,"type","radio"),attr(Hn,"id",Wn=_n[1]+"-2"),Hn.__value=!1,set_input_value(Hn,Hn.__value),Hn.disabled=Yn=_n[2].readonly&&!_n[3],toggle_class(Hn,"is-invalid",_n[4]),attr(Gn,"class","form-check-label"),attr(Gn,"for",Jn=_n[1]+"-2"),attr(zn,"class","form-check form-check-inline"),attr(ke,"class","field-checkbox"),rr.p($n,Hn)},m(ur,fr){insert$1(ur,ke,fr),append(ke,Ce),append(Ce,$n),$n.checked=$n.__value===_n[0],append(Ce,Vn),append(Ce,qn),append(qn,Zn),append(ke,Xn),append(ke,zn),append(zn,Hn),Hn.checked=Hn.__value===_n[0],append(zn,Un),append(zn,Gn),append(Gn,Kn),append(ke,tr),sr&&sr.m(ke,null),insert$1(ur,nr,fr),cr&&cr.m(ur,fr),insert$1(ur,er,fr),or||(ir=[listen($n,"change",_n[6]),listen(Hn,"change",_n[8])],or=!0)},p(ur,[fr]){fr&2&&Mn!==(Mn=ur[1]+"-1")&&attr($n,"id",Mn),fr&12&&Qn!==(Qn=ur[2].readonly&&!ur[3])&&($n.disabled=Qn),fr&1&&($n.checked=$n.__value===ur[0]),fr&16&&toggle_class($n,"is-invalid",ur[4]),fr&2&&jn!==(jn=ur[1]+"-1")&&attr(qn,"for",jn),fr&2&&Wn!==(Wn=ur[1]+"-2")&&attr(Hn,"id",Wn),fr&12&&Yn!==(Yn=ur[2].readonly&&!ur[3])&&(Hn.disabled=Yn),fr&1&&(Hn.checked=Hn.__value===ur[0]),fr&16&&toggle_class(Hn,"is-invalid",ur[4]),fr&2&&Jn!==(Jn=ur[1]+"-2")&&attr(Gn,"for",Jn),ur[2].nullable?sr?sr.p(ur,fr):(sr=create_if_block_1$d(ur),sr.c(),sr.m(ke,null)):sr&&(sr.d(1),sr=null),ur[4]?cr?cr.p(ur,fr):(cr=create_if_block$l(ur),cr.c(),cr.m(er.parentNode,er)):cr&&(cr.d(1),cr=null)},i:noop,o:noop,d(ur){ur&&(detach(ke),detach(nr),detach(er)),sr&&sr.d(),cr&&cr.d(ur),rr.r(),or=!1,run_all(ir)}}}function instance$s(_n,ke,Ce){let $n,{id:Mn}=ke,{field:Qn}=ke,{value:Vn}=ke,{isCreateMode:qn}=ke,{validationErrors:Zn}=ke;const jn=[[]];function Xn(){Vn=this.__value,Ce(0,Vn)}function zn(){Vn=this.__value,Ce(0,Vn)}function Hn(){Vn=this.__value,Ce(0,Vn)}return _n.$$set=Wn=>{"id"in Wn&&Ce(1,Mn=Wn.id),"field"in Wn&&Ce(2,Qn=Wn.field),"value"in Wn&&Ce(0,Vn=Wn.value),"isCreateMode"in Wn&&Ce(3,qn=Wn.isCreateMode),"validationErrors"in Wn&&Ce(5,Zn=Wn.validationErrors)},_n.$$.update=()=>{_n.$$.dirty&36&&Ce(4,$n=getErrorMessage(Zn,Qn.name))},[Vn,Mn,Qn,qn,$n,Zn,Xn,jn,zn,Hn]}class Checkbox extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$s,create_fragment$s,safe_not_equal,{id:1,field:2,value:0,isCreateMode:3,validationErrors:5})}}function create_if_block$k(_n){let ke,Ce;return{c(){ke=element("div"),Ce=text(_n[4]),attr(ke,"class","invalid-feedback d-block")},m($n,Mn){insert$1($n,ke,Mn),append(ke,Ce)},p($n,Mn){Mn&16&&set_data(Ce,$n[4])},d($n){$n&&detach(ke)}}}function create_fragment$r(_n){let ke,Ce,$n,Mn,Qn,Vn,qn=_n[4]&&create_if_block$k(_n);return{c(){ke=element("div"),Ce=element("input"),Mn=space$3(),qn&&qn.c(),attr(Ce,"type","number"),attr(Ce,"id",_n[3]),attr(Ce,"class","form-control"),attr(Ce,"autocomplete","off"),Ce.readOnly=$n=_n[1].readonly&&!_n[2],toggle_class(Ce,"is-invalid",_n[4]),attr(ke,"class","mb-0")},m(Zn,jn){insert$1(Zn,ke,jn),append(ke,Ce),set_input_value(Ce,_n[0]),append(ke,Mn),qn&&qn.m(ke,null),Qn||(Vn=[listen(Ce,"change",_n[5]),listen(Ce,"input",_n[7])],Qn=!0)},p(Zn,[jn]){jn&8&&attr(Ce,"id",Zn[3]),jn&6&&$n!==($n=Zn[1].readonly&&!Zn[2])&&(Ce.readOnly=$n),jn&1&&to_number(Ce.value)!==Zn[0]&&set_input_value(Ce,Zn[0]),jn&16&&toggle_class(Ce,"is-invalid",Zn[4]),Zn[4]?qn?qn.p(Zn,jn):(qn=create_if_block$k(Zn),qn.c(),qn.m(ke,null)):qn&&(qn.d(1),qn=null)},i:noop,o:noop,d(Zn){Zn&&detach(ke),qn&&qn.d(),Qn=!1,run_all(Vn)}}}function instance$r(_n,ke,Ce){let $n,{field:Mn}=ke,{value:Qn}=ke,{validationErrors:Vn}=ke,{isCreateMode:qn}=ke,{id:Zn}=ke;function jn(Hn){const Wn=Hn.currentTarget.value,Yn=Xn(Wn);Ce(0,Qn=isNaN(Yn)?null:Yn)}function Xn(Hn){return parseFloat(Hn).toFixed(Mn.decimals)}function zn(){Qn=to_number(this.value),Ce(0,Qn)}return _n.$$set=Hn=>{"field"in Hn&&Ce(1,Mn=Hn.field),"value"in Hn&&Ce(0,Qn=Hn.value),"validationErrors"in Hn&&Ce(6,Vn=Hn.validationErrors),"isCreateMode"in Hn&&Ce(2,qn=Hn.isCreateMode),"id"in Hn&&Ce(3,Zn=Hn.id)},_n.$$.update=()=>{_n.$$.dirty&66&&Ce(4,$n=getErrorMessage(Vn,Mn.name))},[Qn,Mn,qn,Zn,$n,jn,Vn,zn]}let Number$1=class extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$r,create_fragment$r,safe_not_equal,{field:1,value:0,validationErrors:6,isCreateMode:2,id:3})}};var HOOKS=["onChange","onClose","onDayCreate","onDestroy","onKeyDown","onMonthChange","onOpen","onParseConfig","onReady","onValueUpdate","onYearChange","onPreCalendarPosition"],defaults$2={_disable:[],allowInput:!1,allowInvalidPreload:!1,altFormat:"F j, Y",altInput:!1,altInputClass:"form-control input",animate:typeof window=="object"&&window.navigator.userAgent.indexOf("MSIE")===-1,ariaDateFormat:"F j, Y",autoFillDefaultTime:!0,clickOpens:!0,closeOnSelect:!0,conjunction:", ",dateFormat:"Y-m-d",defaultHour:12,defaultMinute:0,defaultSeconds:0,disable:[],disableMobile:!1,enableSeconds:!1,enableTime:!1,errorHandler:function(_n){return typeof console<"u"&&console.warn(_n)},getWeek:function(_n){var ke=new Date(_n.getTime());ke.setHours(0,0,0,0),ke.setDate(ke.getDate()+3-(ke.getDay()+6)%7);var Ce=new Date(ke.getFullYear(),0,4);return 1+Math.round(((ke.getTime()-Ce.getTime())/864e5-3+(Ce.getDay()+6)%7)/7)},hourIncrement:1,ignoredFocusElements:[],inline:!1,locale:"default",minuteIncrement:5,mode:"single",monthSelectorType:"dropdown",nextArrow:"",noCalendar:!1,now:new Date,onChange:[],onClose:[],onDayCreate:[],onDestroy:[],onKeyDown:[],onMonthChange:[],onOpen:[],onParseConfig:[],onReady:[],onValueUpdate:[],onYearChange:[],onPreCalendarPosition:[],plugins:[],position:"auto",positionElement:void 0,prevArrow:"",shorthandCurrentMonth:!1,showMonths:1,static:!1,time_24hr:!1,weekNumbers:!1,wrap:!1},english={weekdays:{shorthand:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],longhand:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},months:{shorthand:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],longhand:["January","February","March","April","May","June","July","August","September","October","November","December"]},daysInMonth:[31,28,31,30,31,30,31,31,30,31,30,31],firstDayOfWeek:0,ordinal:function(_n){var ke=_n%100;if(ke>3&&ke<21)return"th";switch(ke%10){case 1:return"st";case 2:return"nd";case 3:return"rd";default:return"th"}},rangeSeparator:" to ",weekAbbreviation:"Wk",scrollTitle:"Scroll to increment",toggleTitle:"Click to toggle",amPM:["AM","PM"],yearAriaLabel:"Year",monthAriaLabel:"Month",hourAriaLabel:"Hour",minuteAriaLabel:"Minute",time_24hr:!1},pad=function(_n,ke){return ke===void 0&&(ke=2),("000"+_n).slice(ke*-1)},int=function(_n){return _n===!0?1:0};function debounce(_n,ke){var Ce;return function(){var $n=this,Mn=arguments;clearTimeout(Ce),Ce=setTimeout(function(){return _n.apply($n,Mn)},ke)}}var arrayify=function(_n){return _n instanceof Array?_n:[_n]};function toggleClass(_n,ke,Ce){if(Ce===!0)return _n.classList.add(ke);_n.classList.remove(ke)}function createElement(_n,ke,Ce){var $n=window.document.createElement(_n);return ke=ke||"",Ce=Ce||"",$n.className=ke,Ce!==void 0&&($n.textContent=Ce),$n}function clearNode(_n){for(;_n.firstChild;)_n.removeChild(_n.firstChild)}function findParent(_n,ke){if(ke(_n))return _n;if(_n.parentNode)return findParent(_n.parentNode,ke)}function createNumberInput(_n,ke){var Ce=createElement("div","numInputWrapper"),$n=createElement("input","numInput "+_n),Mn=createElement("span","arrowUp"),Qn=createElement("span","arrowDown");if(navigator.userAgent.indexOf("MSIE 9.0")===-1?$n.type="number":($n.type="text",$n.pattern="\\d*"),ke!==void 0)for(var Vn in ke)$n.setAttribute(Vn,ke[Vn]);return Ce.appendChild($n),Ce.appendChild(Mn),Ce.appendChild(Qn),Ce}function getEventTarget(_n){try{if(typeof _n.composedPath=="function"){var ke=_n.composedPath();return ke[0]}return _n.target}catch{return _n.target}}var doNothing=function(){},monthToStr=function(_n,ke,Ce){return Ce.months[ke?"shorthand":"longhand"][_n]},revFormat={D:doNothing,F:function(_n,ke,Ce){_n.setMonth(Ce.months.longhand.indexOf(ke))},G:function(_n,ke){_n.setHours((_n.getHours()>=12?12:0)+parseFloat(ke))},H:function(_n,ke){_n.setHours(parseFloat(ke))},J:function(_n,ke){_n.setDate(parseFloat(ke))},K:function(_n,ke,Ce){_n.setHours(_n.getHours()%12+12*int(new RegExp(Ce.amPM[1],"i").test(ke)))},M:function(_n,ke,Ce){_n.setMonth(Ce.months.shorthand.indexOf(ke))},S:function(_n,ke){_n.setSeconds(parseFloat(ke))},U:function(_n,ke){return new Date(parseFloat(ke)*1e3)},W:function(_n,ke,Ce){var $n=parseInt(ke),Mn=new Date(_n.getFullYear(),0,2+($n-1)*7,0,0,0,0);return Mn.setDate(Mn.getDate()-Mn.getDay()+Ce.firstDayOfWeek),Mn},Y:function(_n,ke){_n.setFullYear(parseFloat(ke))},Z:function(_n,ke){return new Date(ke)},d:function(_n,ke){_n.setDate(parseFloat(ke))},h:function(_n,ke){_n.setHours((_n.getHours()>=12?12:0)+parseFloat(ke))},i:function(_n,ke){_n.setMinutes(parseFloat(ke))},j:function(_n,ke){_n.setDate(parseFloat(ke))},l:doNothing,m:function(_n,ke){_n.setMonth(parseFloat(ke)-1)},n:function(_n,ke){_n.setMonth(parseFloat(ke)-1)},s:function(_n,ke){_n.setSeconds(parseFloat(ke))},u:function(_n,ke){return new Date(parseFloat(ke))},w:doNothing,y:function(_n,ke){_n.setFullYear(2e3+parseFloat(ke))}},tokenRegex={D:"",F:"",G:"(\\d\\d|\\d)",H:"(\\d\\d|\\d)",J:"(\\d\\d|\\d)\\w+",K:"",M:"",S:"(\\d\\d|\\d)",U:"(.+)",W:"(\\d\\d|\\d)",Y:"(\\d{4})",Z:"(.+)",d:"(\\d\\d|\\d)",h:"(\\d\\d|\\d)",i:"(\\d\\d|\\d)",j:"(\\d\\d|\\d)",l:"",m:"(\\d\\d|\\d)",n:"(\\d\\d|\\d)",s:"(\\d\\d|\\d)",u:"(.+)",w:"(\\d\\d|\\d)",y:"(\\d{2})"},formats={Z:function(_n){return _n.toISOString()},D:function(_n,ke,Ce){return ke.weekdays.shorthand[formats.w(_n,ke,Ce)]},F:function(_n,ke,Ce){return monthToStr(formats.n(_n,ke,Ce)-1,!1,ke)},G:function(_n,ke,Ce){return pad(formats.h(_n,ke,Ce))},H:function(_n){return pad(_n.getHours())},J:function(_n,ke){return ke.ordinal!==void 0?_n.getDate()+ke.ordinal(_n.getDate()):_n.getDate()},K:function(_n,ke){return ke.amPM[int(_n.getHours()>11)]},M:function(_n,ke){return monthToStr(_n.getMonth(),!0,ke)},S:function(_n){return pad(_n.getSeconds())},U:function(_n){return _n.getTime()/1e3},W:function(_n,ke,Ce){return Ce.getWeek(_n)},Y:function(_n){return pad(_n.getFullYear(),4)},d:function(_n){return pad(_n.getDate())},h:function(_n){return _n.getHours()%12?_n.getHours()%12:12},i:function(_n){return pad(_n.getMinutes())},j:function(_n){return _n.getDate()},l:function(_n,ke){return ke.weekdays.longhand[_n.getDay()]},m:function(_n){return pad(_n.getMonth()+1)},n:function(_n){return _n.getMonth()+1},s:function(_n){return _n.getSeconds()},u:function(_n){return _n.getTime()},w:function(_n){return _n.getDay()},y:function(_n){return String(_n.getFullYear()).substring(2)}},createDateFormatter=function(_n){var ke=_n.config,Ce=ke===void 0?defaults$2:ke,$n=_n.l10n,Mn=$n===void 0?english:$n,Qn=_n.isMobile,Vn=Qn===void 0?!1:Qn;return function(qn,Zn,jn){var Xn=jn||Mn;return Ce.formatDate!==void 0&&!Vn?Ce.formatDate(qn,Zn,Xn):Zn.split("").map(function(zn,Hn,Wn){return formats[zn]&&Wn[Hn-1]!=="\\"?formats[zn](qn,Xn,Ce):zn!=="\\"?zn:""}).join("")}},createDateParser=function(_n){var ke=_n.config,Ce=ke===void 0?defaults$2:ke,$n=_n.l10n,Mn=$n===void 0?english:$n;return function(Qn,Vn,qn,Zn){if(!(Qn!==0&&!Qn)){var jn=Zn||Mn,Xn,zn=Qn;if(Qn instanceof Date)Xn=new Date(Qn.getTime());else if(typeof Qn!="string"&&Qn.toFixed!==void 0)Xn=new Date(Qn);else if(typeof Qn=="string"){var Hn=Vn||(Ce||defaults$2).dateFormat,Wn=String(Qn).trim();if(Wn==="today")Xn=new Date,qn=!0;else if(Ce&&Ce.parseDate)Xn=Ce.parseDate(Qn,Hn);else if(/Z$/.test(Wn)||/GMT$/.test(Wn))Xn=new Date(Qn);else{for(var Yn=void 0,Un=[],Gn=0,Kn=0,Jn="";GnMath.min(ke,Ce)&&_n=0?new Date:new Date(Ce.config.minDate.getTime()),dr=getDefaultHours(Ce.config);lr.setHours(dr.hours,dr.minutes,dr.seconds,lr.getMilliseconds()),Ce.selectedDates=[lr],Ce.latestSelectedDateObj=lr}ar!==void 0&&ar.type!=="blur"&&xo(ar);var gr=Ce._input.value;zn(),Ur(),Ce._input.value!==gr&&Ce._debouncedChange()}function jn(ar,lr){return ar%12+12*int(lr===Ce.l10n.amPM[1])}function Xn(ar){switch(ar%24){case 0:case 12:return 12;default:return ar%12}}function zn(){if(!(Ce.hourElement===void 0||Ce.minuteElement===void 0)){var ar=(parseInt(Ce.hourElement.value.slice(-2),10)||0)%24,lr=(parseInt(Ce.minuteElement.value,10)||0)%60,dr=Ce.secondElement!==void 0?(parseInt(Ce.secondElement.value,10)||0)%60:0;Ce.amPM!==void 0&&(ar=jn(ar,Ce.amPM.textContent));var gr=Ce.config.minTime!==void 0||Ce.config.minDate&&Ce.minDateHasTime&&Ce.latestSelectedDateObj&&compareDates(Ce.latestSelectedDateObj,Ce.config.minDate,!0)===0,Sr=Ce.config.maxTime!==void 0||Ce.config.maxDate&&Ce.maxDateHasTime&&Ce.latestSelectedDateObj&&compareDates(Ce.latestSelectedDateObj,Ce.config.maxDate,!0)===0;if(Ce.config.maxTime!==void 0&&Ce.config.minTime!==void 0&&Ce.config.minTime>Ce.config.maxTime){var wr=calculateSecondsSinceMidnight(Ce.config.minTime.getHours(),Ce.config.minTime.getMinutes(),Ce.config.minTime.getSeconds()),Dr=calculateSecondsSinceMidnight(Ce.config.maxTime.getHours(),Ce.config.maxTime.getMinutes(),Ce.config.maxTime.getSeconds()),$r=calculateSecondsSinceMidnight(ar,lr,dr);if($r>Dr&&$r=12)]),Ce.secondElement!==void 0&&(Ce.secondElement.value=pad(dr)))}function Yn(ar){var lr=getEventTarget(ar),dr=parseInt(lr.value)+(ar.delta||0);(dr/1e3>1||ar.key==="Enter"&&!/[^\d]/.test(dr.toString()))&&kr(dr)}function Un(ar,lr,dr,gr){if(lr instanceof Array)return lr.forEach(function(Sr){return Un(ar,Sr,dr,gr)});if(ar instanceof Array)return ar.forEach(function(Sr){return Un(Sr,lr,dr,gr)});ar.addEventListener(lr,dr,gr),Ce._handlers.push({remove:function(){return ar.removeEventListener(lr,dr,gr)}})}function Gn(){Zr("onChange")}function Kn(){if(Ce.config.wrap&&["open","close","toggle","clear"].forEach(function(dr){Array.prototype.forEach.call(Ce.element.querySelectorAll("[data-"+dr+"]"),function(gr){return Un(gr,"click",Ce[dr])})}),Ce.isMobile){So();return}var ar=debounce(Ir,50);if(Ce._debouncedChange=debounce(Gn,DEBOUNCED_CHANGE_MS),Ce.daysContainer&&!/iPhone|iPad|iPod/i.test(navigator.userAgent)&&Un(Ce.daysContainer,"mouseover",function(dr){Ce.config.mode==="range"&&Xr(getEventTarget(dr))}),Un(Ce._input,"keydown",Fr),Ce.calendarContainer!==void 0&&Un(Ce.calendarContainer,"keydown",Fr),!Ce.config.inline&&!Ce.config.static&&Un(window,"resize",ar),window.ontouchstart!==void 0?Un(window.document,"touchstart",Or):Un(window.document,"mousedown",Or),Un(window.document,"focus",Or,{capture:!0}),Ce.config.clickOpens===!0&&(Un(Ce._input,"focus",Ce.open),Un(Ce._input,"click",Ce.open)),Ce.daysContainer!==void 0&&(Un(Ce.monthNav,"click",Co),Un(Ce.monthNav,["keyup","increment"],Yn),Un(Ce.daysContainer,"click",fo)),Ce.timeContainer!==void 0&&Ce.minuteElement!==void 0&&Ce.hourElement!==void 0){var lr=function(dr){return getEventTarget(dr).select()};Un(Ce.timeContainer,["increment"],Zn),Un(Ce.timeContainer,"blur",Zn,{capture:!0}),Un(Ce.timeContainer,"click",tr),Un([Ce.hourElement,Ce.minuteElement],["focus","click"],lr),Ce.secondElement!==void 0&&Un(Ce.secondElement,"focus",function(){return Ce.secondElement&&Ce.secondElement.select()}),Ce.amPM!==void 0&&Un(Ce.amPM,"click",function(dr){Zn(dr)})}Ce.config.allowInput&&Un(Ce._input,"blur",qr)}function Jn(ar,lr){var dr=ar!==void 0?Ce.parseDate(ar):Ce.latestSelectedDateObj||(Ce.config.minDate&&Ce.config.minDate>Ce.now?Ce.config.minDate:Ce.config.maxDate&&Ce.config.maxDate1),Ce.calendarContainer.appendChild(ar);var Sr=Ce.config.appendTo!==void 0&&Ce.config.appendTo.nodeType!==void 0;if((Ce.config.inline||Ce.config.static)&&(Ce.calendarContainer.classList.add(Ce.config.inline?"inline":"static"),Ce.config.inline&&(!Sr&&Ce.element.parentNode?Ce.element.parentNode.insertBefore(Ce.calendarContainer,Ce._input.nextSibling):Ce.config.appendTo!==void 0&&Ce.config.appendTo.appendChild(Ce.calendarContainer)),Ce.config.static)){var wr=createElement("div","flatpickr-wrapper");Ce.element.parentNode&&Ce.element.parentNode.insertBefore(wr,Ce.element),wr.appendChild(Ce.element),Ce.altInput&&wr.appendChild(Ce.altInput),wr.appendChild(Ce.calendarContainer)}!Ce.config.static&&!Ce.config.inline&&(Ce.config.appendTo!==void 0?Ce.config.appendTo:window.document.body).appendChild(Ce.calendarContainer)}function rr(ar,lr,dr,gr){var Sr=Ar(lr,!0),wr=createElement("span",ar,lr.getDate().toString());return wr.dateObj=lr,wr.$i=gr,wr.setAttribute("aria-label",Ce.formatDate(lr,Ce.config.ariaDateFormat)),ar.indexOf("hidden")===-1&&compareDates(lr,Ce.now)===0&&(Ce.todayDateElem=wr,wr.classList.add("today"),wr.setAttribute("aria-current","date")),Sr?(wr.tabIndex=-1,so(lr)&&(wr.classList.add("selected"),Ce.selectedDateElem=wr,Ce.config.mode==="range"&&(toggleClass(wr,"startRange",Ce.selectedDates[0]&&compareDates(lr,Ce.selectedDates[0],!0)===0),toggleClass(wr,"endRange",Ce.selectedDates[1]&&compareDates(lr,Ce.selectedDates[1],!0)===0),ar==="nextMonthDay"&&wr.classList.add("inRange")))):wr.classList.add("flatpickr-disabled"),Ce.config.mode==="range"&&wo(lr)&&!so(lr)&&wr.classList.add("inRange"),Ce.weekNumbers&&Ce.config.showMonths===1&&ar!=="prevMonthDay"&&gr%7===6&&Ce.weekNumbers.insertAdjacentHTML("beforeend",""+Ce.config.getWeek(lr)+""),Zr("onDayCreate",wr),wr}function or(ar){ar.focus(),Ce.config.mode==="range"&&Xr(ar)}function ir(ar){for(var lr=ar>0?0:Ce.config.showMonths-1,dr=ar>0?Ce.config.showMonths:-1,gr=lr;gr!=dr;gr+=ar)for(var Sr=Ce.daysContainer.children[gr],wr=ar>0?0:Sr.children.length-1,Dr=ar>0?Sr.children.length:-1,$r=wr;$r!=Dr;$r+=ar){var Rr=Sr.children[$r];if(Rr.className.indexOf("hidden")===-1&&Ar(Rr.dateObj))return Rr}}function sr(ar,lr){for(var dr=ar.className.indexOf("Month")===-1?ar.dateObj.getMonth():Ce.currentMonth,gr=lr>0?Ce.config.showMonths:-1,Sr=lr>0?1:-1,wr=dr-Ce.currentMonth;wr!=gr;wr+=Sr)for(var Dr=Ce.daysContainer.children[wr],$r=dr-Ce.currentMonth===wr?ar.$i+lr:lr<0?Dr.children.length-1:0,Rr=Dr.children.length,xr=$r;xr>=0&&xr0?Rr:-1);xr+=Sr){var Tr=Dr.children[xr];if(Tr.className.indexOf("hidden")===-1&&Ar(Tr.dateObj)&&Math.abs(ar.$i-xr)>=Math.abs(lr))return or(Tr)}Ce.changeMonth(Sr),cr(ir(Sr),0)}function cr(ar,lr){var dr=Qn(),gr=jr(dr||document.body),Sr=ar!==void 0?ar:gr?dr:Ce.selectedDateElem!==void 0&&jr(Ce.selectedDateElem)?Ce.selectedDateElem:Ce.todayDateElem!==void 0&&jr(Ce.todayDateElem)?Ce.todayDateElem:ir(lr>0?1:-1);Sr===void 0?Ce._input.focus():gr?sr(Sr,lr):or(Sr)}function ur(ar,lr){for(var dr=(new Date(ar,lr,1).getDay()-Ce.l10n.firstDayOfWeek+7)%7,gr=Ce.utils.getDaysInMonth((lr-1+12)%12,ar),Sr=Ce.utils.getDaysInMonth(lr,ar),wr=window.document.createDocumentFragment(),Dr=Ce.config.showMonths>1,$r=Dr?"prevMonthDay hidden":"prevMonthDay",Rr=Dr?"nextMonthDay hidden":"nextMonthDay",xr=gr+1-dr,Tr=0;xr<=gr;xr++,Tr++)wr.appendChild(rr("flatpickr-day "+$r,new Date(ar,lr-1,xr),xr,Tr));for(xr=1;xr<=Sr;xr++,Tr++)wr.appendChild(rr("flatpickr-day",new Date(ar,lr,xr),xr,Tr));for(var Br=Sr+1;Br<=42-dr&&(Ce.config.showMonths===1||Tr%7!==0);Br++,Tr++)wr.appendChild(rr("flatpickr-day "+Rr,new Date(ar,lr+1,Br%Sr),Br,Tr));var Yr=createElement("div","dayContainer");return Yr.appendChild(wr),Yr}function fr(){if(Ce.daysContainer!==void 0){clearNode(Ce.daysContainer),Ce.weekNumbers&&clearNode(Ce.weekNumbers);for(var ar=document.createDocumentFragment(),lr=0;lr1||Ce.config.monthSelectorType!=="dropdown")){var ar=function(gr){return Ce.config.minDate!==void 0&&Ce.currentYear===Ce.config.minDate.getFullYear()&&grCe.config.maxDate.getMonth())};Ce.monthsDropdownContainer.tabIndex=-1,Ce.monthsDropdownContainer.innerHTML="";for(var lr=0;lr<12;lr++)if(ar(lr)){var dr=createElement("option","flatpickr-monthDropdown-month");dr.value=new Date(Ce.currentYear,lr).getMonth().toString(),dr.textContent=monthToStr(lr,Ce.config.shorthandCurrentMonth,Ce.l10n),dr.tabIndex=-1,Ce.currentMonth===lr&&(dr.selected=!0),Ce.monthsDropdownContainer.appendChild(dr)}}}function mr(){var ar=createElement("div","flatpickr-month"),lr=window.document.createDocumentFragment(),dr;Ce.config.showMonths>1||Ce.config.monthSelectorType==="static"?dr=createElement("span","cur-month"):(Ce.monthsDropdownContainer=createElement("select","flatpickr-monthDropdown-months"),Ce.monthsDropdownContainer.setAttribute("aria-label",Ce.l10n.monthAriaLabel),Un(Ce.monthsDropdownContainer,"change",function(Dr){var $r=getEventTarget(Dr),Rr=parseInt($r.value,10);Ce.changeMonth(Rr-Ce.currentMonth),Zr("onMonthChange")}),pr(),dr=Ce.monthsDropdownContainer);var gr=createNumberInput("cur-year",{tabindex:"-1"}),Sr=gr.getElementsByTagName("input")[0];Sr.setAttribute("aria-label",Ce.l10n.yearAriaLabel),Ce.config.minDate&&Sr.setAttribute("min",Ce.config.minDate.getFullYear().toString()),Ce.config.maxDate&&(Sr.setAttribute("max",Ce.config.maxDate.getFullYear().toString()),Sr.disabled=!!Ce.config.minDate&&Ce.config.minDate.getFullYear()===Ce.config.maxDate.getFullYear());var wr=createElement("div","flatpickr-current-month");return wr.appendChild(dr),wr.appendChild(gr),lr.appendChild(wr),ar.appendChild(lr),{container:ar,yearElement:Sr,monthElement:dr}}function _r(){clearNode(Ce.monthNav),Ce.monthNav.appendChild(Ce.prevMonthNav),Ce.config.showMonths&&(Ce.yearElements=[],Ce.monthElements=[]);for(var ar=Ce.config.showMonths;ar--;){var lr=mr();Ce.yearElements.push(lr.yearElement),Ce.monthElements.push(lr.monthElement),Ce.monthNav.appendChild(lr.container)}Ce.monthNav.appendChild(Ce.nextMonthNav)}function vr(){return Ce.monthNav=createElement("div","flatpickr-months"),Ce.yearElements=[],Ce.monthElements=[],Ce.prevMonthNav=createElement("span","flatpickr-prev-month"),Ce.prevMonthNav.innerHTML=Ce.config.prevArrow,Ce.nextMonthNav=createElement("span","flatpickr-next-month"),Ce.nextMonthNav.innerHTML=Ce.config.nextArrow,_r(),Object.defineProperty(Ce,"_hidePrevMonthArrow",{get:function(){return Ce.__hidePrevMonthArrow},set:function(ar){Ce.__hidePrevMonthArrow!==ar&&(toggleClass(Ce.prevMonthNav,"flatpickr-disabled",ar),Ce.__hidePrevMonthArrow=ar)}}),Object.defineProperty(Ce,"_hideNextMonthArrow",{get:function(){return Ce.__hideNextMonthArrow},set:function(ar){Ce.__hideNextMonthArrow!==ar&&(toggleClass(Ce.nextMonthNav,"flatpickr-disabled",ar),Ce.__hideNextMonthArrow=ar)}}),Ce.currentYearElement=Ce.yearElements[0],io(),Ce.monthNav}function hr(){Ce.calendarContainer.classList.add("hasTime"),Ce.config.noCalendar&&Ce.calendarContainer.classList.add("noCalendar");var ar=getDefaultHours(Ce.config);Ce.timeContainer=createElement("div","flatpickr-time"),Ce.timeContainer.tabIndex=-1;var lr=createElement("span","flatpickr-time-separator",":"),dr=createNumberInput("flatpickr-hour",{"aria-label":Ce.l10n.hourAriaLabel});Ce.hourElement=dr.getElementsByTagName("input")[0];var gr=createNumberInput("flatpickr-minute",{"aria-label":Ce.l10n.minuteAriaLabel});if(Ce.minuteElement=gr.getElementsByTagName("input")[0],Ce.hourElement.tabIndex=Ce.minuteElement.tabIndex=-1,Ce.hourElement.value=pad(Ce.latestSelectedDateObj?Ce.latestSelectedDateObj.getHours():Ce.config.time_24hr?ar.hours:Xn(ar.hours)),Ce.minuteElement.value=pad(Ce.latestSelectedDateObj?Ce.latestSelectedDateObj.getMinutes():ar.minutes),Ce.hourElement.setAttribute("step",Ce.config.hourIncrement.toString()),Ce.minuteElement.setAttribute("step",Ce.config.minuteIncrement.toString()),Ce.hourElement.setAttribute("min",Ce.config.time_24hr?"0":"1"),Ce.hourElement.setAttribute("max",Ce.config.time_24hr?"23":"12"),Ce.hourElement.setAttribute("maxlength","2"),Ce.minuteElement.setAttribute("min","0"),Ce.minuteElement.setAttribute("max","59"),Ce.minuteElement.setAttribute("maxlength","2"),Ce.timeContainer.appendChild(dr),Ce.timeContainer.appendChild(lr),Ce.timeContainer.appendChild(gr),Ce.config.time_24hr&&Ce.timeContainer.classList.add("time24hr"),Ce.config.enableSeconds){Ce.timeContainer.classList.add("hasSeconds");var Sr=createNumberInput("flatpickr-second");Ce.secondElement=Sr.getElementsByTagName("input")[0],Ce.secondElement.value=pad(Ce.latestSelectedDateObj?Ce.latestSelectedDateObj.getSeconds():ar.seconds),Ce.secondElement.setAttribute("step",Ce.minuteElement.getAttribute("step")),Ce.secondElement.setAttribute("min","0"),Ce.secondElement.setAttribute("max","59"),Ce.secondElement.setAttribute("maxlength","2"),Ce.timeContainer.appendChild(createElement("span","flatpickr-time-separator",":")),Ce.timeContainer.appendChild(Sr)}return Ce.config.time_24hr||(Ce.amPM=createElement("span","flatpickr-am-pm",Ce.l10n.amPM[int((Ce.latestSelectedDateObj?Ce.hourElement.value:Ce.config.defaultHour)>11)]),Ce.amPM.title=Ce.l10n.toggleTitle,Ce.amPM.tabIndex=-1,Ce.timeContainer.appendChild(Ce.amPM)),Ce.timeContainer}function br(){Ce.weekdayContainer?clearNode(Ce.weekdayContainer):Ce.weekdayContainer=createElement("div","flatpickr-weekdays");for(var ar=Ce.config.showMonths;ar--;){var lr=createElement("div","flatpickr-weekdaycontainer");Ce.weekdayContainer.appendChild(lr)}return Er(),Ce.weekdayContainer}function Er(){if(Ce.weekdayContainer){var ar=Ce.l10n.firstDayOfWeek,lr=__spreadArrays(Ce.l10n.weekdays.shorthand);ar>0&&ar `+lr.join("")+` `}}function Cr(){Ce.calendarContainer.classList.add("hasWeeks");var ar=createElement("div","flatpickr-weekwrapper");ar.appendChild(createElement("span","flatpickr-weekday",Ce.l10n.weekAbbreviation));var lr=createElement("div","flatpickr-weeks");return ar.appendChild(lr),{weekWrapper:ar,weekNumbers:lr}}function Mr(ar,lr){lr===void 0&&(lr=!0);var dr=lr?ar:ar-Ce.currentMonth;dr<0&&Ce._hidePrevMonthArrow===!0||dr>0&&Ce._hideNextMonthArrow===!0||(Ce.currentMonth+=dr,(Ce.currentMonth<0||Ce.currentMonth>11)&&(Ce.currentYear+=Ce.currentMonth>11?1:-1,Ce.currentMonth=(Ce.currentMonth+12)%12,Zr("onYearChange"),pr()),fr(),Zr("onMonthChange"),io())}function yr(ar,lr){if(ar===void 0&&(ar=!0),lr===void 0&&(lr=!0),Ce.input.value="",Ce.altInput!==void 0&&(Ce.altInput.value=""),Ce.mobileInput!==void 0&&(Ce.mobileInput.value=""),Ce.selectedDates=[],Ce.latestSelectedDateObj=void 0,lr===!0&&(Ce.currentYear=Ce._initialDate.getFullYear(),Ce.currentMonth=Ce._initialDate.getMonth()),Ce.config.enableTime===!0){var dr=getDefaultHours(Ce.config),gr=dr.hours,Sr=dr.minutes,wr=dr.seconds;Wn(gr,Sr,wr)}Ce.redraw(),ar&&Zr("onChange")}function Pr(){Ce.isOpen=!1,Ce.isMobile||(Ce.calendarContainer!==void 0&&Ce.calendarContainer.classList.remove("open"),Ce._input!==void 0&&Ce._input.classList.remove("active")),Zr("onClose")}function Qr(){Ce.config!==void 0&&Zr("onDestroy");for(var ar=Ce._handlers.length;ar--;)Ce._handlers[ar].remove();if(Ce._handlers=[],Ce.mobileInput)Ce.mobileInput.parentNode&&Ce.mobileInput.parentNode.removeChild(Ce.mobileInput),Ce.mobileInput=void 0;else if(Ce.calendarContainer&&Ce.calendarContainer.parentNode)if(Ce.config.static&&Ce.calendarContainer.parentNode){var lr=Ce.calendarContainer.parentNode;if(lr.lastChild&&lr.removeChild(lr.lastChild),lr.parentNode){for(;lr.firstChild;)lr.parentNode.insertBefore(lr.firstChild,lr);lr.parentNode.removeChild(lr)}}else Ce.calendarContainer.parentNode.removeChild(Ce.calendarContainer);Ce.altInput&&(Ce.input.type="text",Ce.altInput.parentNode&&Ce.altInput.parentNode.removeChild(Ce.altInput),delete Ce.altInput),Ce.input&&(Ce.input.type=Ce.input._type,Ce.input.classList.remove("flatpickr-input"),Ce.input.removeAttribute("readonly")),["_showTimeInput","latestSelectedDateObj","_hideNextMonthArrow","_hidePrevMonthArrow","__hideNextMonthArrow","__hidePrevMonthArrow","isMobile","isOpen","selectedDateElem","minDateHasTime","maxDateHasTime","days","daysContainer","_input","_positionElement","innerContainer","rContainer","monthNav","todayDateElem","calendarContainer","weekdayContainer","prevMonthNav","nextMonthNav","monthsDropdownContainer","currentMonthElement","currentYearElement","navigationCurrentMonth","selectedDateElem","config"].forEach(function(dr){try{delete Ce[dr]}catch{}})}function Nr(ar){return Ce.calendarContainer.contains(ar)}function Or(ar){if(Ce.isOpen&&!Ce.config.inline){var lr=getEventTarget(ar),dr=Nr(lr),gr=lr===Ce.input||lr===Ce.altInput||Ce.element.contains(lr)||ar.path&&ar.path.indexOf&&(~ar.path.indexOf(Ce.input)||~ar.path.indexOf(Ce.altInput)),Sr=!gr&&!dr&&!Nr(ar.relatedTarget),wr=!Ce.config.ignoredFocusElements.some(function(Dr){return Dr.contains(lr)});Sr&&wr&&(Ce.config.allowInput&&Ce.setDate(Ce._input.value,!1,Ce.config.altInput?Ce.config.altFormat:Ce.config.dateFormat),Ce.timeContainer!==void 0&&Ce.minuteElement!==void 0&&Ce.hourElement!==void 0&&Ce.input.value!==""&&Ce.input.value!==void 0&&Zn(),Ce.close(),Ce.config&&Ce.config.mode==="range"&&Ce.selectedDates.length===1&&Ce.clear(!1))}}function kr(ar){if(!(!ar||Ce.config.minDate&&arCe.config.maxDate.getFullYear())){var lr=ar,dr=Ce.currentYear!==lr;Ce.currentYear=lr||Ce.currentYear,Ce.config.maxDate&&Ce.currentYear===Ce.config.maxDate.getFullYear()?Ce.currentMonth=Math.min(Ce.config.maxDate.getMonth(),Ce.currentMonth):Ce.config.minDate&&Ce.currentYear===Ce.config.minDate.getFullYear()&&(Ce.currentMonth=Math.max(Ce.config.minDate.getMonth(),Ce.currentMonth)),dr&&(Ce.redraw(),Zr("onYearChange"),pr())}}function Ar(ar,lr){var dr;lr===void 0&&(lr=!0);var gr=Ce.parseDate(ar,void 0,lr);if(Ce.config.minDate&&gr&&compareDates(gr,Ce.config.minDate,lr!==void 0?lr:!Ce.minDateHasTime)<0||Ce.config.maxDate&&gr&&compareDates(gr,Ce.config.maxDate,lr!==void 0?lr:!Ce.maxDateHasTime)>0)return!1;if(!Ce.config.enable&&Ce.config.disable.length===0)return!0;if(gr===void 0)return!1;for(var Sr=!!Ce.config.enable,wr=(dr=Ce.config.enable)!==null&&dr!==void 0?dr:Ce.config.disable,Dr=0,$r=void 0;Dr=$r.from.getTime()&&gr.getTime()<=$r.to.getTime())return Sr}return!Sr}function jr(ar){return Ce.daysContainer!==void 0?ar.className.indexOf("hidden")===-1&&ar.className.indexOf("flatpickr-disabled")===-1&&Ce.daysContainer.contains(ar):!1}function qr(ar){var lr=ar.target===Ce._input,dr=Ce._input.value.trimEnd()!==ao();lr&&dr&&!(ar.relatedTarget&&Nr(ar.relatedTarget))&&Ce.setDate(Ce._input.value,!0,ar.target===Ce.altInput?Ce.config.altFormat:Ce.config.dateFormat)}function Fr(ar){var lr=getEventTarget(ar),dr=Ce.config.wrap?_n.contains(lr):lr===Ce._input,gr=Ce.config.allowInput,Sr=Ce.isOpen&&(!gr||!dr),wr=Ce.config.inline&&dr&&!gr;if(ar.keyCode===13&&dr){if(gr)return Ce.setDate(Ce._input.value,!0,lr===Ce.altInput?Ce.config.altFormat:Ce.config.dateFormat),Ce.close(),lr.blur();Ce.open()}else if(Nr(lr)||Sr||wr){var Dr=!!Ce.timeContainer&&Ce.timeContainer.contains(lr);switch(ar.keyCode){case 13:Dr?(ar.preventDefault(),Zn(),ro()):fo(ar);break;case 27:ar.preventDefault(),ro();break;case 8:case 46:dr&&!Ce.config.allowInput&&(ar.preventDefault(),Ce.clear());break;case 37:case 39:if(!Dr&&!dr){ar.preventDefault();var $r=Qn();if(Ce.daysContainer!==void 0&&(gr===!1||$r&&jr($r))){var Rr=ar.keyCode===39?1:-1;ar.ctrlKey?(ar.stopPropagation(),Mr(Rr),cr(ir(1),0)):cr(void 0,Rr)}}else Ce.hourElement&&Ce.hourElement.focus();break;case 38:case 40:ar.preventDefault();var xr=ar.keyCode===40?1:-1;Ce.daysContainer&&lr.$i!==void 0||lr===Ce.input||lr===Ce.altInput?ar.ctrlKey?(ar.stopPropagation(),kr(Ce.currentYear-xr),cr(ir(1),0)):Dr||cr(void 0,xr*7):lr===Ce.currentYearElement?kr(Ce.currentYear-xr):Ce.config.enableTime&&(!Dr&&Ce.hourElement&&Ce.hourElement.focus(),Zn(ar),Ce._debouncedChange());break;case 9:if(Dr){var Tr=[Ce.hourElement,Ce.minuteElement,Ce.secondElement,Ce.amPM].concat(Ce.pluginElements).filter(function(Wr){return Wr}),Br=Tr.indexOf(lr);if(Br!==-1){var Yr=Tr[Br+(ar.shiftKey?-1:1)];ar.preventDefault(),(Yr||Ce._input).focus()}}else!Ce.config.noCalendar&&Ce.daysContainer&&Ce.daysContainer.contains(lr)&&ar.shiftKey&&(ar.preventDefault(),Ce._input.focus());break}}if(Ce.amPM!==void 0&&lr===Ce.amPM)switch(ar.key){case Ce.l10n.amPM[0].charAt(0):case Ce.l10n.amPM[0].charAt(0).toLowerCase():Ce.amPM.textContent=Ce.l10n.amPM[0],zn(),Ur();break;case Ce.l10n.amPM[1].charAt(0):case Ce.l10n.amPM[1].charAt(0).toLowerCase():Ce.amPM.textContent=Ce.l10n.amPM[1],zn(),Ur();break}(dr||Nr(lr))&&Zr("onKeyDown",ar)}function Xr(ar,lr){if(lr===void 0&&(lr="flatpickr-day"),!(Ce.selectedDates.length!==1||ar&&(!ar.classList.contains(lr)||ar.classList.contains("flatpickr-disabled")))){for(var dr=ar?ar.dateObj.getTime():Ce.days.firstElementChild.dateObj.getTime(),gr=Ce.parseDate(Ce.selectedDates[0],void 0,!0).getTime(),Sr=Math.min(dr,Ce.selectedDates[0].getTime()),wr=Math.max(dr,Ce.selectedDates[0].getTime()),Dr=!1,$r=0,Rr=0,xr=Sr;xrSr&&xr$r)?$r=xr:xr>gr&&(!Rr||xr ."+lr));Tr.forEach(function(Br){var Yr=Br.dateObj,Wr=Yr.getTime(),to=$r>0&&Wr<$r||Rr>0&&Wr>Rr;if(to){Br.classList.add("notAllowed"),["inRange","startRange","endRange"].forEach(function(Kr){Br.classList.remove(Kr)});return}else if(Dr&&!to)return;["startRange","inRange","endRange","notAllowed"].forEach(function(Kr){Br.classList.remove(Kr)}),ar!==void 0&&(ar.classList.add(dr<=Ce.selectedDates[0].getTime()?"startRange":"endRange"),grdr&&Wr===gr&&Br.classList.add("endRange"),Wr>=$r&&(Rr===0||Wr<=Rr)&&isBetween(Wr,gr,dr)&&Br.classList.add("inRange"))})}}function Ir(){Ce.isOpen&&!Ce.config.static&&!Ce.config.inline&&Gr()}function Hr(ar,lr){if(lr===void 0&&(lr=Ce._positionElement),Ce.isMobile===!0){if(ar){ar.preventDefault();var dr=getEventTarget(ar);dr&&dr.blur()}Ce.mobileInput!==void 0&&(Ce.mobileInput.focus(),Ce.mobileInput.click()),Zr("onOpen");return}else if(Ce._input.disabled||Ce.config.inline)return;var gr=Ce.isOpen;Ce.isOpen=!0,gr||(Ce.calendarContainer.classList.add("open"),Ce._input.classList.add("active"),Zr("onOpen"),Gr(lr)),Ce.config.enableTime===!0&&Ce.config.noCalendar===!0&&Ce.config.allowInput===!1&&(ar===void 0||!Ce.timeContainer.contains(ar.relatedTarget))&&setTimeout(function(){return Ce.hourElement.select()},50)}function Vr(ar){return function(lr){var dr=Ce.config["_"+ar+"Date"]=Ce.parseDate(lr,Ce.config.dateFormat),gr=Ce.config["_"+(ar==="min"?"max":"min")+"Date"];dr!==void 0&&(Ce[ar==="min"?"minDateHasTime":"maxDateHasTime"]=dr.getHours()>0||dr.getMinutes()>0||dr.getSeconds()>0),Ce.selectedDates&&(Ce.selectedDates=Ce.selectedDates.filter(function(Sr){return Ar(Sr)}),!Ce.selectedDates.length&&ar==="min"&&Hn(dr),Ur()),Ce.daysContainer&&(uo(),dr!==void 0?Ce.currentYearElement[ar]=dr.getFullYear().toString():Ce.currentYearElement.removeAttribute(ar),Ce.currentYearElement.disabled=!!gr&&dr!==void 0&&gr.getFullYear()===dr.getFullYear())}}function Lr(){var ar=["wrap","weekNumbers","allowInput","allowInvalidPreload","clickOpens","time_24hr","enableTime","noCalendar","altInput","shorthandCurrentMonth","inline","static","enableSeconds","disableMobile"],lr=__assign(__assign({},JSON.parse(JSON.stringify(_n.dataset||{}))),ke),dr={};Ce.config.parseDate=lr.parseDate,Ce.config.formatDate=lr.formatDate,Object.defineProperty(Ce.config,"enable",{get:function(){return Ce.config._enable},set:function(Tr){Ce.config._enable=po(Tr)}}),Object.defineProperty(Ce.config,"disable",{get:function(){return Ce.config._disable},set:function(Tr){Ce.config._disable=po(Tr)}});var gr=lr.mode==="time";if(!lr.dateFormat&&(lr.enableTime||gr)){var Sr=flatpickr.defaultConfig.dateFormat||defaults$2.dateFormat;dr.dateFormat=lr.noCalendar||gr?"H:i"+(lr.enableSeconds?":S":""):Sr+" H:i"+(lr.enableSeconds?":S":"")}if(lr.altInput&&(lr.enableTime||gr)&&!lr.altFormat){var wr=flatpickr.defaultConfig.altFormat||defaults$2.altFormat;dr.altFormat=lr.noCalendar||gr?"h:i"+(lr.enableSeconds?":S K":" K"):wr+(" h:i"+(lr.enableSeconds?":S":"")+" K")}Object.defineProperty(Ce.config,"minDate",{get:function(){return Ce.config._minDate},set:Vr("min")}),Object.defineProperty(Ce.config,"maxDate",{get:function(){return Ce.config._maxDate},set:Vr("max")});var Dr=function(Tr){return function(Br){Ce.config[Tr==="min"?"_minTime":"_maxTime"]=Ce.parseDate(Br,"H:i:S")}};Object.defineProperty(Ce.config,"minTime",{get:function(){return Ce.config._minTime},set:Dr("min")}),Object.defineProperty(Ce.config,"maxTime",{get:function(){return Ce.config._maxTime},set:Dr("max")}),lr.mode==="time"&&(Ce.config.noCalendar=!0,Ce.config.enableTime=!0),Object.assign(Ce.config,dr,lr);for(var $r=0;$r-1?Ce.config[xr]=arrayify(Rr[xr]).map(Vn).concat(Ce.config[xr]):typeof lr[xr]>"u"&&(Ce.config[xr]=Rr[xr])}lr.altInputClass||(Ce.config.altInputClass=zr().className+" "+Ce.config.altInputClass),Zr("onParseConfig")}function zr(){return Ce.config.wrap?_n.querySelector("[data-input]"):_n}function Jr(){typeof Ce.config.locale!="object"&&typeof flatpickr.l10ns[Ce.config.locale]>"u"&&Ce.config.errorHandler(new Error("flatpickr: invalid locale "+Ce.config.locale)),Ce.l10n=__assign(__assign({},flatpickr.l10ns.default),typeof Ce.config.locale=="object"?Ce.config.locale:Ce.config.locale!=="default"?flatpickr.l10ns[Ce.config.locale]:void 0),tokenRegex.D="("+Ce.l10n.weekdays.shorthand.join("|")+")",tokenRegex.l="("+Ce.l10n.weekdays.longhand.join("|")+")",tokenRegex.M="("+Ce.l10n.months.shorthand.join("|")+")",tokenRegex.F="("+Ce.l10n.months.longhand.join("|")+")",tokenRegex.K="("+Ce.l10n.amPM[0]+"|"+Ce.l10n.amPM[1]+"|"+Ce.l10n.amPM[0].toLowerCase()+"|"+Ce.l10n.amPM[1].toLowerCase()+")";var ar=__assign(__assign({},ke),JSON.parse(JSON.stringify(_n.dataset||{})));ar.time_24hr===void 0&&flatpickr.defaultConfig.time_24hr===void 0&&(Ce.config.time_24hr=Ce.l10n.time_24hr),Ce.formatDate=createDateFormatter(Ce),Ce.parseDate=createDateParser({config:Ce.config,l10n:Ce.l10n})}function Gr(ar){if(typeof Ce.config.position=="function")return void Ce.config.position(Ce,ar);if(Ce.calendarContainer!==void 0){Zr("onPreCalendarPosition");var lr=ar||Ce._positionElement,dr=Array.prototype.reduce.call(Ce.calendarContainer.children,function(Ro,Qo){return Ro+Qo.offsetHeight},0),gr=Ce.calendarContainer.offsetWidth,Sr=Ce.config.position.split(" "),wr=Sr[0],Dr=Sr.length>1?Sr[1]:null,$r=lr.getBoundingClientRect(),Rr=window.innerHeight-$r.bottom,xr=wr==="above"||wr!=="below"&&Rrdr,Tr=window.pageYOffset+$r.top+(xr?-dr-2:lr.offsetHeight+2);if(toggleClass(Ce.calendarContainer,"arrowTop",!xr),toggleClass(Ce.calendarContainer,"arrowBottom",xr),!Ce.config.inline){var Br=window.pageXOffset+$r.left,Yr=!1,Wr=!1;Dr==="center"?(Br-=(gr-$r.width)/2,Yr=!0):Dr==="right"&&(Br-=gr-$r.width,Wr=!0),toggleClass(Ce.calendarContainer,"arrowLeft",!Yr&&!Wr),toggleClass(Ce.calendarContainer,"arrowCenter",Yr),toggleClass(Ce.calendarContainer,"arrowRight",Wr);var to=window.document.body.offsetWidth-(window.pageXOffset+$r.right),Kr=Br+gr>window.document.body.offsetWidth,Eo=to+gr>window.document.body.offsetWidth;if(toggleClass(Ce.calendarContainer,"rightMost",Kr),!Ce.config.static)if(Ce.calendarContainer.style.top=Tr+"px",!Kr)Ce.calendarContainer.style.left=Br+"px",Ce.calendarContainer.style.right="auto";else if(!Eo)Ce.calendarContainer.style.left="auto",Ce.calendarContainer.style.right=to+"px";else{var lo=eo();if(lo===void 0)return;var $o=window.document.body.offsetWidth,Po=Math.max(0,$o/2-gr/2),Ao=".flatpickr-calendar.centerMost:before",To=".flatpickr-calendar.centerMost:after",Mo=lo.cssRules.length,Do="{left:"+$r.left+"px;right:auto;}";toggleClass(Ce.calendarContainer,"rightMost",!1),toggleClass(Ce.calendarContainer,"centerMost",!0),lo.insertRule(Ao+","+To+Do,Mo),Ce.calendarContainer.style.left=Po+"px",Ce.calendarContainer.style.right="auto"}}}}function eo(){for(var ar=null,lr=0;lrCe.currentMonth+Ce.config.showMonths-1)&&Ce.config.mode!=="range";if(Ce.selectedDateElem=gr,Ce.config.mode==="single")Ce.selectedDates=[Sr];else if(Ce.config.mode==="multiple"){var Dr=so(Sr);Dr?Ce.selectedDates.splice(parseInt(Dr),1):Ce.selectedDates.push(Sr)}else Ce.config.mode==="range"&&(Ce.selectedDates.length===2&&Ce.clear(!1,!1),Ce.latestSelectedDateObj=Sr,Ce.selectedDates.push(Sr),compareDates(Sr,Ce.selectedDates[0],!0)!==0&&Ce.selectedDates.sort(function(Tr,Br){return Tr.getTime()-Br.getTime()}));if(zn(),wr){var $r=Ce.currentYear!==Sr.getFullYear();Ce.currentYear=Sr.getFullYear(),Ce.currentMonth=Sr.getMonth(),$r&&(Zr("onYearChange"),pr()),Zr("onMonthChange")}if(io(),fr(),Ur(),!wr&&Ce.config.mode!=="range"&&Ce.config.showMonths===1?or(gr):Ce.selectedDateElem!==void 0&&Ce.hourElement===void 0&&Ce.selectedDateElem&&Ce.selectedDateElem.focus(),Ce.hourElement!==void 0&&Ce.hourElement!==void 0&&Ce.hourElement.focus(),Ce.config.closeOnSelect){var Rr=Ce.config.mode==="single"&&!Ce.config.enableTime,xr=Ce.config.mode==="range"&&Ce.selectedDates.length===2&&!Ce.config.enableTime;(Rr||xr)&&ro()}Gn()}}var no={locale:[Jr,Er],showMonths:[_r,qn,br],minDate:[Jn],maxDate:[Jn],positionElement:[mo],clickOpens:[function(){Ce.config.clickOpens===!0?(Un(Ce._input,"focus",Ce.open),Un(Ce._input,"click",Ce.open)):(Ce._input.removeEventListener("focus",Ce.open),Ce._input.removeEventListener("click",Ce.open))}]};function bo(ar,lr){if(ar!==null&&typeof ar=="object"){Object.assign(Ce.config,ar);for(var dr in ar)no[dr]!==void 0&&no[dr].forEach(function(gr){return gr()})}else Ce.config[ar]=lr,no[ar]!==void 0?no[ar].forEach(function(gr){return gr()}):HOOKS.indexOf(ar)>-1&&(Ce.config[ar]=arrayify(lr));Ce.redraw(),Ur(!0)}function ho(ar,lr){var dr=[];if(ar instanceof Array)dr=ar.map(function(gr){return Ce.parseDate(gr,lr)});else if(ar instanceof Date||typeof ar=="number")dr=[Ce.parseDate(ar,lr)];else if(typeof ar=="string")switch(Ce.config.mode){case"single":case"time":dr=[Ce.parseDate(ar,lr)];break;case"multiple":dr=ar.split(Ce.config.conjunction).map(function(gr){return Ce.parseDate(gr,lr)});break;case"range":dr=ar.split(Ce.l10n.rangeSeparator).map(function(gr){return Ce.parseDate(gr,lr)});break}else Ce.config.errorHandler(new Error("Invalid date supplied: "+JSON.stringify(ar)));Ce.selectedDates=Ce.config.allowInvalidPreload?dr:dr.filter(function(gr){return gr instanceof Date&&Ar(gr,!1)}),Ce.config.mode==="range"&&Ce.selectedDates.sort(function(gr,Sr){return gr.getTime()-Sr.getTime()})}function _o(ar,lr,dr){if(lr===void 0&&(lr=!1),dr===void 0&&(dr=Ce.config.dateFormat),ar!==0&&!ar||ar instanceof Array&&ar.length===0)return Ce.clear(lr);ho(ar,dr),Ce.latestSelectedDateObj=Ce.selectedDates[Ce.selectedDates.length-1],Ce.redraw(),Jn(void 0,lr),Hn(),Ce.selectedDates.length===0&&Ce.clear(!1),Ur(lr),lr&&Zr("onChange")}function po(ar){return ar.slice().map(function(lr){return typeof lr=="string"||typeof lr=="number"||lr instanceof Date?Ce.parseDate(lr,void 0,!0):lr&&typeof lr=="object"&&lr.from&&lr.to?{from:Ce.parseDate(lr.from,void 0),to:Ce.parseDate(lr.to,void 0)}:lr}).filter(function(lr){return lr})}function vo(){Ce.selectedDates=[],Ce.now=Ce.parseDate(Ce.config.now)||new Date;var ar=Ce.config.defaultDate||((Ce.input.nodeName==="INPUT"||Ce.input.nodeName==="TEXTAREA")&&Ce.input.placeholder&&Ce.input.value===Ce.input.placeholder?null:Ce.input.value);ar&&ho(ar,Ce.config.dateFormat),Ce._initialDate=Ce.selectedDates.length>0?Ce.selectedDates[0]:Ce.config.minDate&&Ce.config.minDate.getTime()>Ce.now.getTime()?Ce.config.minDate:Ce.config.maxDate&&Ce.config.maxDate.getTime()0&&(Ce.latestSelectedDateObj=Ce.selectedDates[0]),Ce.config.minTime!==void 0&&(Ce.config.minTime=Ce.parseDate(Ce.config.minTime,"H:i")),Ce.config.maxTime!==void 0&&(Ce.config.maxTime=Ce.parseDate(Ce.config.maxTime,"H:i")),Ce.minDateHasTime=!!Ce.config.minDate&&(Ce.config.minDate.getHours()>0||Ce.config.minDate.getMinutes()>0||Ce.config.minDate.getSeconds()>0),Ce.maxDateHasTime=!!Ce.config.maxDate&&(Ce.config.maxDate.getHours()>0||Ce.config.maxDate.getMinutes()>0||Ce.config.maxDate.getSeconds()>0)}function yo(){if(Ce.input=zr(),!Ce.input){Ce.config.errorHandler(new Error("Invalid input element specified"));return}Ce.input._type=Ce.input.type,Ce.input.type="text",Ce.input.classList.add("flatpickr-input"),Ce._input=Ce.input,Ce.config.altInput&&(Ce.altInput=createElement(Ce.input.nodeName,Ce.config.altInputClass),Ce._input=Ce.altInput,Ce.altInput.placeholder=Ce.input.placeholder,Ce.altInput.disabled=Ce.input.disabled,Ce.altInput.required=Ce.input.required,Ce.altInput.tabIndex=Ce.input.tabIndex,Ce.altInput.type="text",Ce.input.setAttribute("type","hidden"),!Ce.config.static&&Ce.input.parentNode&&Ce.input.parentNode.insertBefore(Ce.altInput,Ce.input.nextSibling)),Ce.config.allowInput||Ce._input.setAttribute("readonly","readonly"),mo()}function mo(){Ce._positionElement=Ce.config.positionElement||Ce._input}function So(){var ar=Ce.config.enableTime?Ce.config.noCalendar?"time":"datetime-local":"date";Ce.mobileInput=createElement("input",Ce.input.className+" flatpickr-mobile"),Ce.mobileInput.tabIndex=1,Ce.mobileInput.type=ar,Ce.mobileInput.disabled=Ce.input.disabled,Ce.mobileInput.required=Ce.input.required,Ce.mobileInput.placeholder=Ce.input.placeholder,Ce.mobileFormatStr=ar==="datetime-local"?"Y-m-d\\TH:i:S":ar==="date"?"Y-m-d":"H:i:S",Ce.selectedDates.length>0&&(Ce.mobileInput.defaultValue=Ce.mobileInput.value=Ce.formatDate(Ce.selectedDates[0],Ce.mobileFormatStr)),Ce.config.minDate&&(Ce.mobileInput.min=Ce.formatDate(Ce.config.minDate,"Y-m-d")),Ce.config.maxDate&&(Ce.mobileInput.max=Ce.formatDate(Ce.config.maxDate,"Y-m-d")),Ce.input.getAttribute("step")&&(Ce.mobileInput.step=String(Ce.input.getAttribute("step"))),Ce.input.type="hidden",Ce.altInput!==void 0&&(Ce.altInput.type="hidden");try{Ce.input.parentNode&&Ce.input.parentNode.insertBefore(Ce.mobileInput,Ce.input.nextSibling)}catch{}Un(Ce.mobileInput,"change",function(lr){Ce.setDate(getEventTarget(lr).value,!1,Ce.mobileFormatStr),Zr("onChange"),Zr("onClose")})}function ko(ar){if(Ce.isOpen===!0)return Ce.close();Ce.open(ar)}function Zr(ar,lr){if(Ce.config!==void 0){var dr=Ce.config[ar];if(dr!==void 0&&dr.length>0)for(var gr=0;dr[gr]&&gr=0&&compareDates(ar,Ce.selectedDates[1])<=0}function io(){Ce.config.noCalendar||Ce.isMobile||!Ce.monthNav||(Ce.yearElements.forEach(function(ar,lr){var dr=new Date(Ce.currentYear,Ce.currentMonth,1);dr.setMonth(Ce.currentMonth+lr),Ce.config.showMonths>1||Ce.config.monthSelectorType==="static"?Ce.monthElements[lr].textContent=monthToStr(dr.getMonth(),Ce.config.shorthandCurrentMonth,Ce.l10n)+" ":Ce.monthsDropdownContainer.value=dr.getMonth().toString(),ar.value=dr.getFullYear().toString()}),Ce._hidePrevMonthArrow=Ce.config.minDate!==void 0&&(Ce.currentYear===Ce.config.minDate.getFullYear()?Ce.currentMonth<=Ce.config.minDate.getMonth():Ce.currentYearCe.config.maxDate.getMonth():Ce.currentYear>Ce.config.maxDate.getFullYear()))}function ao(ar){var lr=ar||(Ce.config.altInput?Ce.config.altFormat:Ce.config.dateFormat);return Ce.selectedDates.map(function(dr){return Ce.formatDate(dr,lr)}).filter(function(dr,gr,Sr){return Ce.config.mode!=="range"||Ce.config.enableTime||Sr.indexOf(dr)===gr}).join(Ce.config.mode!=="range"?Ce.config.conjunction:Ce.l10n.rangeSeparator)}function Ur(ar){ar===void 0&&(ar=!0),Ce.mobileInput!==void 0&&Ce.mobileFormatStr&&(Ce.mobileInput.value=Ce.latestSelectedDateObj!==void 0?Ce.formatDate(Ce.latestSelectedDateObj,Ce.mobileFormatStr):""),Ce.input.value=ao(Ce.config.dateFormat),Ce.altInput!==void 0&&(Ce.altInput.value=ao(Ce.config.altFormat)),ar!==!1&&Zr("onValueUpdate")}function Co(ar){var lr=getEventTarget(ar),dr=Ce.prevMonthNav.contains(lr),gr=Ce.nextMonthNav.contains(lr);dr||gr?Mr(dr?-1:1):Ce.yearElements.indexOf(lr)>=0?lr.select():lr.classList.contains("arrowUp")?Ce.changeYear(Ce.currentYear+1):lr.classList.contains("arrowDown")&&Ce.changeYear(Ce.currentYear-1)}function xo(ar){ar.preventDefault();var lr=ar.type==="keydown",dr=getEventTarget(ar),gr=dr;Ce.amPM!==void 0&&dr===Ce.amPM&&(Ce.amPM.textContent=Ce.l10n.amPM[int(Ce.amPM.textContent===Ce.l10n.amPM[0])]);var Sr=parseFloat(gr.getAttribute("min")),wr=parseFloat(gr.getAttribute("max")),Dr=parseFloat(gr.getAttribute("step")),$r=parseInt(gr.value,10),Rr=ar.delta||(lr?ar.which===38?1:-1:0),xr=$r+Dr*Rr;if(typeof gr.value<"u"&&gr.value.length===2){var Tr=gr===Ce.hourElement,Br=gr===Ce.minuteElement;xrwr&&(xr=gr===Ce.hourElement?xr-wr-int(!Ce.amPM):Sr,Br&&nr(void 0,1,Ce.hourElement)),Ce.amPM&&Tr&&(Dr===1?xr+$r===23:Math.abs(xr-$r)>Dr)&&(Ce.amPM.textContent=Ce.l10n.amPM[int(Ce.amPM.textContent===Ce.l10n.amPM[0])]),gr.value=pad(xr)}}return Mn(),Ce}function _flatpickr(_n,ke){for(var Ce=Array.prototype.slice.call(_n).filter(function(Vn){return Vn instanceof HTMLElement}),$n=[],Mn=0;Mn{(!Mn.readonly||qn)&&flatpickr(jn,Xn)});function zn(){Qn=this.value,Ce(0,Qn)}function Hn(Wn){binding_callbacks[Wn?"unshift":"push"](()=>{jn=Wn,Ce(4,jn)})}return _n.$$set=Wn=>{"field"in Wn&&Ce(1,Mn=Wn.field),"value"in Wn&&Ce(0,Qn=Wn.value),"id"in Wn&&Ce(2,Vn=Wn.id),"isCreateMode"in Wn&&Ce(3,qn=Wn.isCreateMode),"validationErrors"in Wn&&Ce(6,Zn=Wn.validationErrors)},_n.$$.update=()=>{_n.$$.dirty&66&&Ce(5,$n=getErrorMessage(Zn,Mn.name))},[Qn,Mn,Vn,qn,jn,$n,Zn,zn,Hn]}let Date$1=class extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$q,create_fragment$q,safe_not_equal,{field:1,value:0,id:2,isCreateMode:3,validationErrors:6})}};function get_each_context$a(_n,ke,Ce){const $n=_n.slice();return $n[15]=ke[Ce],$n}function create_if_block_4$3(_n){let ke;return{c(){ke=element("span"),ke.textContent="will remove on save",attr(ke,"class","trashed-text")},m(Ce,$n){insert$1(Ce,ke,$n)},d(Ce){Ce&&detach(ke)}}}function create_if_block_3$5(_n){let ke,Ce;return ke=new Status({props:{status:_n[0].status}}),{c(){create_component(ke.$$.fragment)},m($n,Mn){mount_component(ke,$n,Mn),Ce=!0},p($n,Mn){const Qn={};Mn&1&&(Qn.status=$n[0].status),ke.$set(Qn)},i($n){Ce||(transition_in(ke.$$.fragment,$n),Ce=!0)},o($n){transition_out(ke.$$.fragment,$n),Ce=!1},d($n){destroy_component(ke,$n)}}}function create_if_block_2$6(_n){let ke,Ce,$n;return Ce=new Dropdown({props:{$$slots:{button:[create_button_slot$3],default:[create_default_slot$3]},$$scope:{ctx:_n}}}),{c(){ke=element("div"),create_component(Ce.$$.fragment),attr(ke,"class","reference-action")},m(Mn,Qn){insert$1(Mn,ke,Qn),mount_component(Ce,ke,null),$n=!0},p(Mn,Qn){const Vn={};Qn&262144&&(Vn.$$scope={dirty:Qn,ctx:Mn}),Ce.$set(Vn)},i(Mn){$n||(transition_in(Ce.$$.fragment,Mn),$n=!0)},o(Mn){transition_out(Ce.$$.fragment,Mn),$n=!1},d(Mn){Mn&&detach(ke),destroy_component(Ce)}}}function create_each_block$a(_n){let ke,Ce,$n;function Mn(...Qn){return _n[13](_n[15],...Qn)}return{c(){ke=element("button"),ke.textContent=`${_n[15]}`,attr(ke,"class","dropdown-item button")},m(Qn,Vn){insert$1(Qn,ke,Vn),Ce||($n=listen(ke,"click",Mn),Ce=!0)},p(Qn,Vn){_n=Qn},d(Qn){Qn&&detach(ke),Ce=!1,$n()}}}function create_default_slot$3(_n){let ke,Ce,$n,Mn,Qn,Vn=ensure_array_like(_n[7]),qn=[];for(let Zn=0;Zn{Vn[Xn]=null}),check_outros(),$n=Vn[Ce],$n?$n.p(Zn,jn):($n=Vn[Ce]=Qn[Ce](Zn),$n.c()),transition_in($n,1),$n.m(ke,null))},i(Zn){Mn||(transition_in($n),Mn=!0)},o(Zn){transition_out($n),Mn=!1},d(Zn){Zn&&detach(ke),Vn[Ce].d()}}}function create_else_block$9(_n){let ke,Ce,$n,Mn,Qn;return Ce=new Icon({props:{icon:"trash-can"}}),{c(){ke=element("button"),create_component(Ce.$$.fragment),attr(ke,"title","Remove"),attr(ke,"class","button")},m(Vn,qn){insert$1(Vn,ke,qn),mount_component(Ce,ke,null),$n=!0,Mn||(Qn=listen(ke,"click",_n[8]),Mn=!0)},p:noop,i(Vn){$n||(transition_in(Ce.$$.fragment,Vn),$n=!0)},o(Vn){transition_out(Ce.$$.fragment,Vn),$n=!1},d(Vn){Vn&&detach(ke),destroy_component(Ce),Mn=!1,Qn()}}}function create_if_block_1$c(_n){let ke,Ce,$n,Mn,Qn,Vn,qn,Zn;return Ce=new Icon({props:{icon:"undo"}}),Qn=new Icon({props:{icon:"destroy"}}),{c(){ke=element("button"),create_component(Ce.$$.fragment),$n=space$3(),Mn=element("button"),create_component(Qn.$$.fragment),attr(ke,"title","Restore"),attr(ke,"class","button"),attr(Mn,"title","Delete from everywhere"),attr(Mn,"class","button")},m(jn,Xn){insert$1(jn,ke,Xn),mount_component(Ce,ke,null),insert$1(jn,$n,Xn),insert$1(jn,Mn,Xn),mount_component(Qn,Mn,null),Vn=!0,qn||(Zn=[listen(ke,"click",_n[9]),listen(Mn,"click",_n[10])],qn=!0)},p:noop,i(jn){Vn||(transition_in(Ce.$$.fragment,jn),transition_in(Qn.$$.fragment,jn),Vn=!0)},o(jn){transition_out(Ce.$$.fragment,jn),transition_out(Qn.$$.fragment,jn),Vn=!1},d(jn){jn&&(detach(ke),detach($n),detach(Mn)),destroy_component(Ce),destroy_component(Qn),qn=!1,run_all(Zn)}}}function create_fragment$p(_n){var cr;let ke,Ce,$n,Mn,Qn,Vn,qn,Zn,jn,Xn,zn,Hn,Wn,Yn,Un=_n[5].label+"",Gn,Kn,Jn,tr,nr,er;Mn=new Preview({props:{record:_n[0],size:"small"}});let rr=((cr=_n[1])==null?void 0:cr._isTrashed)&&create_if_block_4$3(),or=_n[0].status==="draft"&&create_if_block_3$5(_n),ir=_n[3]&&create_if_block_2$6(_n),sr=_n[2]&&create_if_block$i(_n);return{c(){var ur;ke=element("div"),Ce=element("div"),$n=element("div"),create_component(Mn.$$.fragment),Qn=space$3(),Vn=element("div"),qn=element("div"),Zn=element("a"),jn=text(_n[6]),Xn=space$3(),rr&&rr.c(),Hn=space$3(),Wn=element("small"),Yn=text("from "),Gn=text(Un),Kn=space$3(),or&&or.c(),Jn=space$3(),tr=element("div"),ir&&ir.c(),nr=space$3(),sr&&sr.c(),attr($n,"class","image"),attr(Zn,"class","record-title"),attr(Zn,"href",zn=_n[4].lucentUrl+"/records/"+_n[0].id),attr(Wn,"class","d-block"),attr(Vn,"class","title"),set_style(Ce,"display","flex"),set_style(Ce,"align-items","center"),set_style(Ce,"gap","10px"),set_style(tr,"display","flex"),set_style(tr,"gap","4px"),set_style(tr,"align-items","center"),set_style(tr,"margin-right","10px"),attr(ke,"class","preview-file"),toggle_class(ke,"is-trashed",(ur=_n[1])==null?void 0:ur._isTrashed)},m(ur,fr){insert$1(ur,ke,fr),append(ke,Ce),append(Ce,$n),mount_component(Mn,$n,null),append(Ce,Qn),append(Ce,Vn),append(Vn,qn),append(qn,Zn),append(Zn,jn),append(Zn,Xn),rr&&rr.m(Zn,null),append(qn,Hn),append(qn,Wn),append(Wn,Yn),append(Wn,Gn),append(Wn,Kn),or&&or.m(Wn,null),append(ke,Jn),append(ke,tr),ir&&ir.m(tr,null),append(tr,nr),sr&&sr.m(tr,null),er=!0},p(ur,[fr]){var mr,_r;const pr={};fr&1&&(pr.record=ur[0]),Mn.$set(pr),(mr=ur[1])!=null&&mr._isTrashed?rr||(rr=create_if_block_4$3(),rr.c(),rr.m(Zn,null)):rr&&(rr.d(1),rr=null),(!er||fr&1&&zn!==(zn=ur[4].lucentUrl+"/records/"+ur[0].id))&&attr(Zn,"href",zn),ur[0].status==="draft"?or?(or.p(ur,fr),fr&1&&transition_in(or,1)):(or=create_if_block_3$5(ur),or.c(),transition_in(or,1),or.m(Wn,null)):or&&(group_outros(),transition_out(or,1,1,()=>{or=null}),check_outros()),ur[3]?ir?(ir.p(ur,fr),fr&8&&transition_in(ir,1)):(ir=create_if_block_2$6(ur),ir.c(),transition_in(ir,1),ir.m(tr,nr)):ir&&(group_outros(),transition_out(ir,1,1,()=>{ir=null}),check_outros()),ur[2]?sr?(sr.p(ur,fr),fr&4&&transition_in(sr,1)):(sr=create_if_block$i(ur),sr.c(),transition_in(sr,1),sr.m(tr,null)):sr&&(group_outros(),transition_out(sr,1,1,()=>{sr=null}),check_outros()),(!er||fr&2)&&toggle_class(ke,"is-trashed",(_r=ur[1])==null?void 0:_r._isTrashed)},i(ur){er||(transition_in(Mn.$$.fragment,ur),transition_in(or),transition_in(ir),transition_in(sr),er=!0)},o(ur){transition_out(Mn.$$.fragment,ur),transition_out(or),transition_out(ir),transition_out(sr),er=!1},d(ur){ur&&detach(ke),destroy_component(Mn),rr&&rr.d(),or&&or.d(),ir&&ir.d(),sr&&sr.d()}}}function instance$p(_n,ke,Ce){const $n=createEventDispatcher(),Mn=getContext$1("channel");let{record:Qn}=ke,{edge:Vn}=ke,{hasDelete:qn=!1}=ke,{hasInsert:Zn=!1}=ke,jn=Mn.schemas.find(Jn=>Jn.name===Qn.schema),Xn=previewTitle(Mn.schemas,Qn),zn=Object.keys(Mn.imageFilters);function Hn(Jn){Jn.preventDefault(),$n("remove",Qn.id)}function Wn(Jn){Jn.preventDefault(),$n("restore",Qn.id)}function Yn(Jn){Jn.preventDefault(),$n("fulldelete",Qn.id)}function Un(Jn,tr){Jn.preventDefault();let nr=htmlurl(Mn,Qn,tr),er=tr?`/templates/${tr}/${Qn._file.path}`:`/${Qn._file.path}`;$n("editor-insert",{html:nr,url:Mn.filesUrl+er,originalUrl:Mn.filesUrl+"/"+Qn._file.path,record:Qn})}const Gn=Jn=>Un(Jn,null),Kn=(Jn,tr)=>Un(tr,Jn);return _n.$$set=Jn=>{"record"in Jn&&Ce(0,Qn=Jn.record),"edge"in Jn&&Ce(1,Vn=Jn.edge),"hasDelete"in Jn&&Ce(2,qn=Jn.hasDelete),"hasInsert"in Jn&&Ce(3,Zn=Jn.hasInsert)},[Qn,Vn,qn,Zn,Mn,jn,Xn,zn,Hn,Wn,Yn,Un,Gn,Kn]}class PreviewFile extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$p,create_fragment$p,safe_not_equal,{record:0,edge:1,hasDelete:2,hasInsert:3})}}function get_each_context$9(_n,ke,Ce){const $n=_n.slice();return $n[16]=ke[Ce],$n}function get_each_context_1$4(_n,ke,Ce){const $n=_n.slice();return $n[19]=ke[Ce],$n}function create_else_block$8(_n){let ke,Ce;return ke=new Dropdown({props:{$$slots:{button:[create_button_slot$2],default:[create_default_slot_1]},$$scope:{ctx:_n}}}),{c(){create_component(ke.$$.fragment)},m($n,Mn){mount_component(ke,$n,Mn),Ce=!0},p($n,Mn){const Qn={};Mn&4194304&&(Qn.$$scope={dirty:Mn,ctx:$n}),ke.$set(Qn)},i($n){Ce||(transition_in(ke.$$.fragment,$n),Ce=!0)},o($n){transition_out(ke.$$.fragment,$n),Ce=!1},d($n){destroy_component(ke,$n)}}}function create_if_block_1$b(_n){let ke,Ce,$n;return{c(){ke=element("button"),ke.textContent="Browse",attr(ke,"class","button")},m(Mn,Qn){insert$1(Mn,ke,Qn),Ce||($n=listen(ke,"click",_n[12]),Ce=!0)},p:noop,i:noop,o:noop,d(Mn){Mn&&detach(ke),Ce=!1,$n()}}}function create_each_block_1$4(_n){let ke,Ce,$n;function Mn(...Qn){return _n[13](_n[19],...Qn)}return{c(){ke=element("a"),ke.textContent=`${_n[19].label}`,attr(ke,"class","dropdown-item"),attr(ke,"href","/")},m(Qn,Vn){insert$1(Qn,ke,Vn),Ce||($n=listen(ke,"click",Mn),Ce=!0)},p(Qn,Vn){_n=Qn},d(Qn){Qn&&detach(ke),Ce=!1,$n()}}}function create_default_slot_1(_n){let ke,Ce=ensure_array_like(_n[3]),$n=[];for(let Mn=0;Mnqn[16].record.id;for(let qn=0;qn0&&create_if_block$h(_n),Hn={};return Vn=new Dialog({props:Hn}),_n[14](Vn),Vn.$on("insert",_n[9]),{c(){ke=element("div"),$n.c(),Mn=space$3(),zn&&zn.c(),Qn=space$3(),create_component(Vn.$$.fragment),attr(ke,"class","mb-0")},m(Wn,Yn){insert$1(Wn,ke,Yn),jn[Ce].m(ke,null),insert$1(Wn,Mn,Yn),zn&&zn.m(Wn,Yn),insert$1(Wn,Qn,Yn),mount_component(Vn,Wn,Yn),qn=!0},p(Wn,[Yn]){let Un=Ce;Ce=Xn(Wn),Ce===Un?jn[Ce].p(Wn,Yn):(group_outros(),transition_out(jn[Un],1,1,()=>{jn[Un]=null}),check_outros(),$n=jn[Ce],$n?$n.p(Wn,Yn):($n=jn[Ce]=Zn[Ce](Wn),$n.c()),transition_in($n,1),$n.m(ke,null)),Wn[2].length>0?zn?(zn.p(Wn,Yn),Yn&4&&transition_in(zn,1)):(zn=create_if_block$h(Wn),zn.c(),transition_in(zn,1),zn.m(Qn.parentNode,Qn)):zn&&(group_outros(),transition_out(zn,1,1,()=>{zn=null}),check_outros());const Gn={};Vn.$set(Gn)},i(Wn){qn||(transition_in($n),transition_in(zn),transition_in(Vn.$$.fragment,Wn),qn=!0)},o(Wn){transition_out($n),transition_out(zn),transition_out(Vn.$$.fragment,Wn),qn=!1},d(Wn){Wn&&(detach(ke),detach(Mn),detach(Qn)),jn[Ce].d(),zn&&zn.d(Wn),_n[14](null),destroy_component(Vn,Wn)}}}function instance$o(_n,ke,Ce){let $n;const Mn=getContext$1("channel");let{field:Qn}=ke,{record:Vn}=ke,{graph:qn}=ke,Zn,jn=Mn.schemas.filter(tr=>Qn.collections.includes(tr.name));function Xn(tr){tr.preventDefault(),Ce(10,qn.edges=removeReferenceFromGraph(qn,Qn,tr.detail),qn)}function zn(tr){tr.preventDefault(),Ce(10,qn.edges=restoreReferenceToGraph(qn,Qn,tr.detail),qn)}function Hn(tr){tr.preventDefault(),Ce(10,qn.edges=fullDeleteRecord(Mn,qn,Qn,tr.detail),qn)}function Wn(tr,nr){tr.preventDefault(),Zn.open(nr)}async function Yn(tr){Ce(10,qn.edges=await sortByField(tr.detail.source,tr.detail.target,qn.edges,Qn.name,$n),qn)}function Un(tr){tr.preventDefault(),Zn.close(),Ce(10,qn=insertEdges(qn,Vn,tr.detail.records,Qn.name,tr.detail.action))}const Gn=tr=>Wn(tr,jn[0].name),Kn=(tr,nr)=>Wn(nr,tr.name);function Jn(tr){binding_callbacks[tr?"unshift":"push"](()=>{Zn=tr,Ce(1,Zn)})}return _n.$$set=tr=>{"field"in tr&&Ce(0,Qn=tr.field),"record"in tr&&Ce(11,Vn=tr.record),"graph"in tr&&Ce(10,qn=tr.graph)},_n.$$.update=()=>{_n.$$.dirty&3073&&Ce(2,$n=graphToReferences(qn,Vn,Qn))},[Qn,Zn,$n,jn,Xn,zn,Hn,Wn,Yn,Un,qn,Vn,Gn,Kn,Jn]}let File$1=class extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$o,create_fragment$o,safe_not_equal,{field:0,record:11,graph:10})}};function create_if_block$g(_n){let ke,Ce;return{c(){ke=element("div"),Ce=text(_n[5]),attr(ke,"class","invalid-feedback d-block")},m($n,Mn){insert$1($n,ke,Mn),append(ke,Ce)},p($n,Mn){Mn&32&&set_data(Ce,$n[5])},d($n){$n&&detach(ke)}}}function create_fragment$n(_n){let ke,Ce,$n,Mn,Qn,Vn,qn=_n[5]&&create_if_block$g(_n);return{c(){ke=element("div"),Ce=element("textarea"),Mn=space$3(),qn&&qn.c(),attr(Ce,"id",_n[3]),attr(Ce,"class","form-control svelte-1er4ovm"),attr(Ce,"rows","2"),Ce.readOnly=$n=_n[1].readonly&&!_n[2],toggle_class(Ce,"is-invalid",_n[5]),attr(ke,"class","mb-0")},m(Zn,jn){insert$1(Zn,ke,jn),append(ke,Ce),set_input_value(Ce,_n[0]),_n[8](Ce),append(ke,Mn),qn&&qn.m(ke,null),Qn||(Vn=[listen(Ce,"input",_n[7]),listen(Ce,"input",resize),listen(Ce,"focus",resize)],Qn=!0)},p(Zn,[jn]){jn&8&&attr(Ce,"id",Zn[3]),jn&6&&$n!==($n=Zn[1].readonly&&!Zn[2])&&(Ce.readOnly=$n),jn&1&&set_input_value(Ce,Zn[0]),jn&32&&toggle_class(Ce,"is-invalid",Zn[5]),Zn[5]?qn?qn.p(Zn,jn):(qn=create_if_block$g(Zn),qn.c(),qn.m(ke,null)):qn&&(qn.d(1),qn=null)},i:noop,o:noop,d(Zn){Zn&&detach(ke),_n[8](null),qn&&qn.d(),Qn=!1,run_all(Vn)}}}function resize(_n){let ke;_n.target?ke=_n.target:ke=_n,ke.style.overflow="hidden",ke.style.height="1px",ke.style.height=+ke.scrollHeight+"px"}function instance$n(_n,ke,Ce){let $n,{field:Mn}=ke,{value:Qn}=ke,{isCreateMode:Vn}=ke,{validationErrors:qn}=ke,Zn,{id:jn}=ke;onMount(()=>{resize(Zn)});function Xn(){Qn=this.value,Ce(0,Qn)}function zn(Hn){binding_callbacks[Hn?"unshift":"push"](()=>{Zn=Hn,Ce(4,Zn)})}return _n.$$set=Hn=>{"field"in Hn&&Ce(1,Mn=Hn.field),"value"in Hn&&Ce(0,Qn=Hn.value),"isCreateMode"in Hn&&Ce(2,Vn=Hn.isCreateMode),"validationErrors"in Hn&&Ce(6,qn=Hn.validationErrors),"id"in Hn&&Ce(3,jn=Hn.id)},_n.$$.update=()=>{_n.$$.dirty&66&&Ce(5,$n=getErrorMessage(qn,Mn.name))},[Qn,Mn,Vn,jn,Zn,$n,qn,Xn,zn]}class Textarea extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$n,create_fragment$n,safe_not_equal,{field:1,value:0,isCreateMode:2,validationErrors:6,id:3})}}function create_if_block$f(_n){let ke,Ce;return{c(){ke=element("div"),Ce=text(_n[6]),attr(ke,"class","invalid-feedback d-block")},m($n,Mn){insert$1($n,ke,Mn),append(ke,Ce)},p($n,Mn){Mn&64&&set_data(Ce,$n[6])},d($n){$n&&detach(ke)}}}function create_fragment$m(_n){let ke,Ce,$n,Mn,Qn,Vn,qn,Zn,jn=_n[6]&&create_if_block$f(_n);return{c(){ke=element("div"),Ce=element("input"),Mn=space$3(),Qn=element("span"),Qn.textContent=`Dates are displayed according to your timezone: ${_n[7]}`,Vn=space$3(),jn&&jn.c(),attr(Ce,"type","text"),attr(Ce,"id",_n[3]),attr(Ce,"class","form-control"),attr(Ce,"autocomplete","off"),Ce.readOnly=$n=_n[1].readonly&&!_n[2],toggle_class(Ce,"is-invalid",_n[6]),attr(Qn,"class","system-help-text"),attr(ke,"class","mb-0")},m(Xn,zn){insert$1(Xn,ke,zn),append(ke,Ce),set_input_value(Ce,_n[0]),_n[10](Ce),append(ke,Mn),append(ke,Qn),append(ke,Vn),jn&&jn.m(ke,null),_n[11](ke),qn||(Zn=listen(Ce,"input",_n[9]),qn=!0)},p(Xn,[zn]){zn&8&&attr(Ce,"id",Xn[3]),zn&6&&$n!==($n=Xn[1].readonly&&!Xn[2])&&(Ce.readOnly=$n),zn&1&&Ce.value!==Xn[0]&&set_input_value(Ce,Xn[0]),zn&64&&toggle_class(Ce,"is-invalid",Xn[6]),Xn[6]?jn?jn.p(Xn,zn):(jn=create_if_block$f(Xn),jn.c(),jn.m(ke,null)):jn&&(jn.d(1),jn=null)},i:noop,o:noop,d(Xn){Xn&&detach(ke),_n[10](null),jn&&jn.d(),_n[11](null),qn=!1,Zn()}}}function instance$m(_n,ke,Ce){let $n,{field:Mn}=ke,{value:Qn}=ke,{isCreateMode:Vn}=ke,{validationErrors:qn}=ke;const Zn=Intl.DateTimeFormat().resolvedOptions().timeZone;let{id:jn}=ke,Xn,zn,Hn={appendTo:Xn,static:!0,allowInput:!0,altInput:!0,altFormat:"Y-m-d H:i:S",dateFormat:"Z",enableTime:!0,time_24hr:!0,enableSeconds:!0};Mn.min&&(Hn.minDate=Mn.min),Mn.max&&(Hn.maxDate=Mn.max),onMount(()=>{(!Mn.readonly||Vn)&&flatpickr(zn,Hn)});function Wn(){Qn=this.value,Ce(0,Qn)}function Yn(Gn){binding_callbacks[Gn?"unshift":"push"](()=>{zn=Gn,Ce(5,zn)})}function Un(Gn){binding_callbacks[Gn?"unshift":"push"](()=>{Xn=Gn,Ce(4,Xn)})}return _n.$$set=Gn=>{"field"in Gn&&Ce(1,Mn=Gn.field),"value"in Gn&&Ce(0,Qn=Gn.value),"isCreateMode"in Gn&&Ce(2,Vn=Gn.isCreateMode),"validationErrors"in Gn&&Ce(8,qn=Gn.validationErrors),"id"in Gn&&Ce(3,jn=Gn.id)},_n.$$.update=()=>{_n.$$.dirty&258&&Ce(6,$n=getErrorMessage(qn,Mn.name))},[Qn,Mn,Vn,jn,Xn,zn,$n,Zn,qn,Wn,Yn,Un]}class Datetime extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$m,create_fragment$m,safe_not_equal,{field:1,value:0,isCreateMode:2,validationErrors:8,id:3})}}function get_each_context$8(_n,ke,Ce){const $n=_n.slice();return $n[14]=ke[Ce],$n}function get_each_context_1$3(_n,ke,Ce){const $n=_n.slice();return $n[17]=ke[Ce],$n}function create_else_block$7(_n){let ke,Ce;return ke=new Dropdown({props:{$$slots:{button:[create_button_slot$1],default:[create_default_slot$1]},$$scope:{ctx:_n}}}),{c(){create_component(ke.$$.fragment)},m($n,Mn){mount_component(ke,$n,Mn),Ce=!0},p($n,Mn){const Qn={};Mn&1048576&&(Qn.$$scope={dirty:Mn,ctx:$n}),ke.$set(Qn)},i($n){Ce||(transition_in(ke.$$.fragment,$n),Ce=!0)},o($n){transition_out(ke.$$.fragment,$n),Ce=!1},d($n){destroy_component(ke,$n)}}}function create_if_block_1$a(_n){let ke,Ce,$n;return{c(){ke=element("button"),ke.textContent="Browse",attr(ke,"class","button")},m(Mn,Qn){insert$1(Mn,ke,Qn),Ce||($n=listen(ke,"click",_n[9]),Ce=!0)},p:noop,i:noop,o:noop,d(Mn){Mn&&detach(ke),Ce=!1,$n()}}}function create_each_block_1$3(_n){let ke,Ce,$n;function Mn(...Qn){return _n[10](_n[17],...Qn)}return{c(){ke=element("a"),ke.textContent=`${_n[17].label}`,attr(ke,"class","dropdown-item"),attr(ke,"href","/")},m(Qn,Vn){insert$1(Qn,ke,Vn),Ce||($n=listen(ke,"click",Mn),Ce=!0)},p(Qn,Vn){_n=Qn},d(Qn){Qn&&detach(ke),Ce=!1,$n()}}}function create_default_slot$1(_n){let ke,Ce=ensure_array_like(_n[3]),$n=[];for(let Mn=0;Mnqn[14].id;for(let qn=0;qn0&&create_if_block$e(_n),Yn={};return Zn=new Dialog({props:Yn}),_n[12](Zn),Zn.$on("insert",_n[6]),{c(){ke=element("div"),Ce=element("label"),Ce.textContent="Rich editor files",$n=space$3(),Qn.c(),Vn=space$3(),Wn&&Wn.c(),qn=space$3(),create_component(Zn.$$.fragment),attr(Ce,"class","mt-4 mb-3"),attr(ke,"class","mb-3")},m(Un,Gn){insert$1(Un,ke,Gn),append(ke,Ce),append(ke,$n),zn[Mn].m(ke,null),insert$1(Un,Vn,Gn),Wn&&Wn.m(Un,Gn),insert$1(Un,qn,Gn),mount_component(Zn,Un,Gn),jn=!0},p(Un,[Gn]){let Kn=Mn;Mn=Hn(Un),Mn===Kn?zn[Mn].p(Un,Gn):(group_outros(),transition_out(zn[Kn],1,1,()=>{zn[Kn]=null}),check_outros(),Qn=zn[Mn],Qn?Qn.p(Un,Gn):(Qn=zn[Mn]=Xn[Mn](Un),Qn.c()),transition_in(Qn,1),Qn.m(ke,null)),Un[2].length>0?Wn?(Wn.p(Un,Gn),Gn&4&&transition_in(Wn,1)):(Wn=create_if_block$e(Un),Wn.c(),transition_in(Wn,1),Wn.m(qn.parentNode,qn)):Wn&&(group_outros(),transition_out(Wn,1,1,()=>{Wn=null}),check_outros());const Jn={};Zn.$set(Jn)},i(Un){jn||(transition_in(Qn),transition_in(Wn),transition_in(Zn.$$.fragment,Un),jn=!0)},o(Un){transition_out(Qn),transition_out(Wn),transition_out(Zn.$$.fragment,Un),jn=!1},d(Un){Un&&(detach(ke),detach(Vn),detach(qn)),zn[Mn].d(),Wn&&Wn.d(Un),_n[12](null),destroy_component(Zn,Un)}}}function instance$l(_n,ke,Ce){let $n;const Mn=getContext$1("channel");let{field:Qn}=ke,{record:Vn}=ke,{graph:qn}=ke,Zn,jn=Mn.schemas.filter(Kn=>Qn.collections.includes(Kn.name));function Xn(Kn){Kn.preventDefault(),Ce(7,qn.edges=qn.edges.filter(Jn=>!(Jn.target===Kn.detail&&Jn.field===Qn.name)),qn)}function zn(Kn,Jn){Kn.preventDefault(),Zn.open(Jn)}function Hn(Kn){Kn.preventDefault(),Zn.close(),Ce(7,qn=insertEdges(qn,Vn,Kn.detail.records,Qn.name,Kn.detail.action))}const Wn=Kn=>zn(Kn,jn[0].name),Yn=(Kn,Jn)=>zn(Jn,Kn.name);function Un(Kn){bubble.call(this,_n,Kn)}function Gn(Kn){binding_callbacks[Kn?"unshift":"push"](()=>{Zn=Kn,Ce(1,Zn)})}return _n.$$set=Kn=>{"field"in Kn&&Ce(0,Qn=Kn.field),"record"in Kn&&Ce(8,Vn=Kn.record),"graph"in Kn&&Ce(7,qn=Kn.graph)},_n.$$.update=()=>{_n.$$.dirty&385&&Ce(2,$n=(qn==null?void 0:qn.edges.filter(Kn=>Kn.field===Qn.name).map(Kn=>qn.records.find(Jn=>Jn.id===Kn.target&&Vn.id===Kn.source)).filter(Kn=>!!(Kn!=null&&Kn.id)))??[])},[Qn,Zn,$n,jn,Xn,zn,Hn,qn,Vn,Wn,Yn,Un,Gn]}class RichEditorFiles extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$l,create_fragment$l,safe_not_equal,{field:0,record:8,graph:7})}}var t$1="2.1.6";const e="[data-trix-attachment]",i$1={preview:{presentation:"gallery",caption:{name:!0,size:!0}},file:{caption:{size:!0}}},n={default:{tagName:"div",parse:!1},quote:{tagName:"blockquote",nestable:!0},heading1:{tagName:"h1",terminal:!0,breakOnReturn:!0,group:!1},code:{tagName:"pre",terminal:!0,htmlAttributes:["language"],text:{plaintext:!0}},bulletList:{tagName:"ul",parse:!1},bullet:{tagName:"li",listAttribute:"bulletList",group:!1,nestable:!0,test(_n){return r(_n.parentNode)===n[this.listAttribute].tagName}},numberList:{tagName:"ol",parse:!1},number:{tagName:"li",listAttribute:"numberList",group:!1,nestable:!0,test(_n){return r(_n.parentNode)===n[this.listAttribute].tagName}},attachmentGallery:{tagName:"div",exclusive:!0,terminal:!0,parse:!1,group:!1}},r=_n=>{var ke;return _n==null||(ke=_n.tagName)===null||ke===void 0?void 0:ke.toLowerCase()},o=navigator.userAgent.match(/android\s([0-9]+.*Chrome)/i),s=o&&parseInt(o[1]);var a={composesExistingText:/Android.*Chrome/.test(navigator.userAgent),recentAndroid:s&&s>12,samsungAndroid:s&&navigator.userAgent.match(/Android.*SM-/),forcesObjectResizing:/Trident.*rv:11/.test(navigator.userAgent),supportsInputEvents:typeof InputEvent<"u"&&["data","getTargetRanges","inputType"].every(_n=>_n in InputEvent.prototype)},l={attachFiles:"Attach Files",bold:"Bold",bullets:"Bullets",byte:"Byte",bytes:"Bytes",captionPlaceholder:"Add a caption…",code:"Code",heading1:"Heading",indent:"Increase Level",italic:"Italic",link:"Link",numbers:"Numbers",outdent:"Decrease Level",quote:"Quote",redo:"Redo",remove:"Remove",strike:"Strikethrough",undo:"Undo",unlink:"Unlink",url:"URL",urlPlaceholder:"Enter a URL…",GB:"GB",KB:"KB",MB:"MB",PB:"PB",TB:"TB"};const c=[l.bytes,l.KB,l.MB,l.GB,l.TB,l.PB];var u={prefix:"IEC",precision:2,formatter(_n){switch(_n){case 0:return"0 ".concat(l.bytes);case 1:return"1 ".concat(l.byte);default:let ke;this.prefix==="SI"?ke=1e3:this.prefix==="IEC"&&(ke=1024);const Ce=Math.floor(Math.log(_n)/Math.log(ke)),$n=(_n/Math.pow(ke,Ce)).toFixed(this.precision).replace(/0*$/,"").replace(/\.$/,"");return"".concat($n," ").concat(c[Ce])}}};const h="\uFEFF",d=" ",g=function(_n){for(const ke in _n){const Ce=_n[ke];this[ke]=Ce}return this},m=document.documentElement,p=m.matches,f=function(_n){let{onElement:ke,matchingSelector:Ce,withCallback:$n,inPhase:Mn,preventDefault:Qn,times:Vn}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const qn=ke||m,Zn=Ce,jn=Mn==="capturing",Xn=function(zn){Vn!=null&&--Vn==0&&Xn.destroy();const Hn=A(zn.target,{matchingSelector:Zn});Hn!=null&&($n==null||$n.call(Hn,zn,Hn),Qn&&zn.preventDefault())};return Xn.destroy=()=>qn.removeEventListener(_n,Xn,jn),qn.addEventListener(_n,Xn,jn),Xn},b=function(_n){let{onElement:ke,bubbles:Ce,cancelable:$n,attributes:Mn}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const Qn=ke??m;Ce=Ce!==!1,$n=$n!==!1;const Vn=document.createEvent("Events");return Vn.initEvent(_n,Ce,$n),Mn!=null&&g.call(Vn,Mn),Qn.dispatchEvent(Vn)},v=function(_n,ke){if((_n==null?void 0:_n.nodeType)===1)return p.call(_n,ke)},A=function(_n){let{matchingSelector:ke,untilNode:Ce}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};for(;_n&&_n.nodeType!==Node.ELEMENT_NODE;)_n=_n.parentNode;if(_n!=null){if(ke==null)return _n;if(_n.closest&&Ce==null)return _n.closest(ke);for(;_n&&_n!==Ce;){if(v(_n,ke))return _n;_n=_n.parentNode}}},x=_n=>document.activeElement!==_n&&y(_n,document.activeElement),y=function(_n,ke){if(_n&&ke)for(;ke;){if(ke===_n)return!0;ke=ke.parentNode}},C$1=function(_n){var ke;if((ke=_n)===null||ke===void 0||!ke.parentNode)return;let Ce=0;for(_n=_n.previousSibling;_n;)Ce++,_n=_n.previousSibling;return Ce},k=_n=>{var ke;return _n==null||(ke=_n.parentNode)===null||ke===void 0?void 0:ke.removeChild(_n)},R=function(_n){let{onlyNodesOfType:ke,usingFilter:Ce,expandEntityReferences:$n}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const Mn=(()=>{switch(ke){case"element":return NodeFilter.SHOW_ELEMENT;case"text":return NodeFilter.SHOW_TEXT;case"comment":return NodeFilter.SHOW_COMMENT;default:return NodeFilter.SHOW_ALL}})();return document.createTreeWalker(_n,Mn,Ce??null,$n===!0)},E=_n=>{var ke;return _n==null||(ke=_n.tagName)===null||ke===void 0?void 0:ke.toLowerCase()},S$1=function(_n){let ke,Ce,$n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};typeof _n=="object"?($n=_n,_n=$n.tagName):$n={attributes:$n};const Mn=document.createElement(_n);if($n.editable!=null&&($n.attributes==null&&($n.attributes={}),$n.attributes.contenteditable=$n.editable),$n.attributes)for(ke in $n.attributes)Ce=$n.attributes[ke],Mn.setAttribute(ke,Ce);if($n.style)for(ke in $n.style)Ce=$n.style[ke],Mn.style[ke]=Ce;if($n.data)for(ke in $n.data)Ce=$n.data[ke],Mn.dataset[ke]=Ce;return $n.className&&$n.className.split(" ").forEach(Qn=>{Mn.classList.add(Qn)}),$n.textContent&&(Mn.textContent=$n.textContent),$n.childNodes&&[].concat($n.childNodes).forEach(Qn=>{Mn.appendChild(Qn)}),Mn};let L;const D=function(){if(L!=null)return L;L=[];for(const _n in n){const ke=n[_n];ke.tagName&&L.push(ke.tagName)}return L},w=_n=>B(_n==null?void 0:_n.firstChild),T=function(_n){let{strict:ke}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{strict:!0};return ke?B(_n):B(_n)||!B(_n.firstChild)&&function(Ce){return D().includes(E(Ce))&&!D().includes(E(Ce.firstChild))}(_n)},B=_n=>F(_n)&&(_n==null?void 0:_n.data)==="block",F=_n=>(_n==null?void 0:_n.nodeType)===Node.COMMENT_NODE,P=function(_n){let{name:ke}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(_n)return O(_n)?_n.data===h?!ke||_n.parentNode.dataset.trixCursorTarget===ke:void 0:P(_n.firstChild)},I=_n=>v(_n,e),N=_n=>O(_n)&&(_n==null?void 0:_n.data)==="",O=_n=>(_n==null?void 0:_n.nodeType)===Node.TEXT_NODE,M={level2Enabled:!0,getLevel(){return this.level2Enabled&&a.supportsInputEvents?2:0},pickFiles(_n){const ke=S$1("input",{type:"file",multiple:!0,hidden:!0,id:this.fileInputId});ke.addEventListener("change",()=>{_n(ke.files),k(ke)}),k(document.getElementById(this.fileInputId)),document.body.appendChild(ke),ke.click()}};var j={removeBlankTableCells:!1,tableCellSeparator:" | ",tableRowSeparator:` `},W={bold:{tagName:"strong",inheritable:!0,parser(_n){const ke=window.getComputedStyle(_n);return ke.fontWeight==="bold"||ke.fontWeight>=600}},italic:{tagName:"em",inheritable:!0,parser:_n=>window.getComputedStyle(_n).fontStyle==="italic"},href:{groupTagName:"a",parser(_n){const ke="a:not(".concat(e,")"),Ce=_n.closest(ke);if(Ce)return Ce.getAttribute("href")}},strike:{tagName:"del",inheritable:!0},frozen:{style:{backgroundColor:"highlight"}}},U={getDefaultHTML:()=>`
`)};const q={interval:5e3};var V=Object.freeze({__proto__:null,attachments:i$1,blockAttributes:n,browser:a,css:{attachment:"attachment",attachmentCaption:"attachment__caption",attachmentCaptionEditor:"attachment__caption-editor",attachmentMetadata:"attachment__metadata",attachmentMetadataContainer:"attachment__metadata-container",attachmentName:"attachment__name",attachmentProgress:"attachment__progress",attachmentSize:"attachment__size",attachmentToolbar:"attachment__toolbar",attachmentGallery:"attachment-gallery"},fileSize:u,input:M,keyNames:{8:"backspace",9:"tab",13:"return",27:"escape",37:"left",39:"right",46:"delete",68:"d",72:"h",79:"o"},lang:l,parser:j,textAttributes:W,toolbar:U,undo:q});class H{static proxyMethod(ke){const{name:Ce,toMethod:$n,toProperty:Mn,optional:Qn}=z(ke);this.prototype[Ce]=function(){let Vn,qn;var Zn,jn;return $n?qn=Qn?(Zn=this[$n])===null||Zn===void 0?void 0:Zn.call(this):this[$n]():Mn&&(qn=this[Mn]),Qn?(Vn=(jn=qn)===null||jn===void 0?void 0:jn[Ce],Vn?_.call(Vn,qn,arguments):void 0):(Vn=qn[Ce],_.call(Vn,qn,arguments))}}}const z=function(_n){const ke=_n.match(J);if(!ke)throw new Error("can't parse @proxyMethod expression: ".concat(_n));const Ce={name:ke[4]};return ke[2]!=null?Ce.toMethod=ke[1]:Ce.toProperty=ke[1],ke[3]!=null&&(Ce.optional=!0),Ce},{apply:_}=Function.prototype,J=new RegExp("^(.+?)(\\(\\))?(\\?)?\\.(.+?)$");var K,G,$;class X extends H{static box(){let ke=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";return ke instanceof this?ke:this.fromUCS2String(ke==null?void 0:ke.toString())}static fromUCS2String(ke){return new this(ke,tt(ke))}static fromCodepoints(ke){return new this(et(ke),ke)}constructor(ke,Ce){super(...arguments),this.ucs2String=ke,this.codepoints=Ce,this.length=this.codepoints.length,this.ucs2Length=this.ucs2String.length}offsetToUCS2Offset(ke){return et(this.codepoints.slice(0,Math.max(0,ke))).length}offsetFromUCS2Offset(ke){return tt(this.ucs2String.slice(0,Math.max(0,ke))).length}slice(){return this.constructor.fromCodepoints(this.codepoints.slice(...arguments))}charAt(ke){return this.slice(ke,ke+1)}isEqualTo(ke){return this.constructor.box(ke).ucs2String===this.ucs2String}toJSON(){return this.ucs2String}getCacheKey(){return this.ucs2String}toString(){return this.ucs2String}}const Y=((K=Array.from)===null||K===void 0?void 0:K.call(Array,"👼").length)===1,Q=((G=" ".codePointAt)===null||G===void 0?void 0:G.call(" ",0))!=null,Z=(($=String.fromCodePoint)===null||$===void 0?void 0:$.call(String,32,128124))===" 👼";let tt,et;tt=Y&&Q?_n=>Array.from(_n).map(ke=>ke.codePointAt(0)):function(_n){const ke=[];let Ce=0;const{length:$n}=_n;for(;Ce<$n;){let Mn=_n.charCodeAt(Ce++);if(55296<=Mn&&Mn<=56319&&Ce<$n){const Qn=_n.charCodeAt(Ce++);(64512&Qn)==56320?Mn=((1023&Mn)<<10)+(1023&Qn)+65536:Ce--}ke.push(Mn)}return ke},et=Z?_n=>String.fromCodePoint(...Array.from(_n||[])):function(_n){return(()=>{const ke=[];return Array.from(_n).forEach(Ce=>{let $n="";Ce>65535&&(Ce-=65536,$n+=String.fromCharCode(Ce>>>10&1023|55296),Ce=56320|1023&Ce),ke.push($n+String.fromCharCode(Ce))}),ke})().join("")};let it=0;class nt extends H{static fromJSONString(ke){return this.fromJSON(JSON.parse(ke))}constructor(){super(...arguments),this.id=++it}hasSameConstructorAs(ke){return this.constructor===(ke==null?void 0:ke.constructor)}isEqualTo(ke){return this===ke}inspect(){const ke=[],Ce=this.contentsForInspection()||{};for(const $n in Ce){const Mn=Ce[$n];ke.push("".concat($n,"=").concat(Mn))}return"#<".concat(this.constructor.name,":").concat(this.id).concat(ke.length?" ".concat(ke.join(", ")):"",">")}contentsForInspection(){}toJSONString(){return JSON.stringify(this)}toUTF16String(){return X.box(this)}getCacheKey(){return this.id.toString()}}const rt=function(){let _n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],ke=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];if(_n.length!==ke.length)return!1;for(let Ce=0;Ce<_n.length;Ce++)if(_n[Ce]!==ke[Ce])return!1;return!0},ot=function(_n){const ke=_n.slice(0);for(var Ce=arguments.length,$n=new Array(Ce>1?Ce-1:0),Mn=1;Mn(lt$1||(lt$1=ft().concat(mt())),lt$1),gt=_n=>n[_n],mt=()=>(ct||(ct=Object.keys(n)),ct),pt=_n=>W[_n],ft=()=>(ut||(ut=Object.keys(W)),ut),bt=function(_n,ke){vt(_n).textContent=ke.replace(/%t/g,_n)},vt=function(_n){const ke=document.createElement("style");ke.setAttribute("type","text/css"),ke.setAttribute("data-tag-name",_n.toLowerCase());const Ce=At();return Ce&&ke.setAttribute("nonce",Ce),document.head.insertBefore(ke,document.head.firstChild),ke},At=function(){const _n=xt("trix-csp-nonce")||xt("csp-nonce");if(_n)return _n.getAttribute("content")},xt=_n=>document.head.querySelector("meta[name=".concat(_n,"]")),yt={"application/x-trix-feature-detection":"test"},Ct=function(_n){const ke=_n.getData("text/plain"),Ce=_n.getData("text/html");if(!ke||!Ce)return ke==null?void 0:ke.length;{const{body:$n}=new DOMParser().parseFromString(Ce,"text/html");if($n.textContent===ke)return!$n.querySelector("*")}},kt=/Mac|^iP/.test(navigator.platform)?_n=>_n.metaKey:_n=>_n.ctrlKey,Rt=_n=>setTimeout(_n,1),Et=function(){let _n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const ke={};for(const Ce in _n){const $n=_n[Ce];ke[Ce]=$n}return ke},St=function(){let _n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},ke=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(Object.keys(_n).length!==Object.keys(ke).length)return!1;for(const Ce in _n)if(_n[Ce]!==ke[Ce])return!1;return!0},Lt=function(_n){if(_n!=null)return Array.isArray(_n)||(_n=[_n,_n]),[Tt(_n[0]),Tt(_n[1]!=null?_n[1]:_n[0])]},Dt=function(_n){if(_n==null)return;const[ke,Ce]=Lt(_n);return Bt(ke,Ce)},wt=function(_n,ke){if(_n==null||ke==null)return;const[Ce,$n]=Lt(_n),[Mn,Qn]=Lt(ke);return Bt(Ce,Mn)&&Bt($n,Qn)},Tt=function(_n){return typeof _n=="number"?_n:Et(_n)},Bt=function(_n,ke){return typeof _n=="number"?_n===ke:St(_n,ke)};class Ft extends H{constructor(){super(...arguments),this.update=this.update.bind(this),this.selectionManagers=[]}start(){this.started||(this.started=!0,document.addEventListener("selectionchange",this.update,!0))}stop(){if(this.started)return this.started=!1,document.removeEventListener("selectionchange",this.update,!0)}registerSelectionManager(ke){if(!this.selectionManagers.includes(ke))return this.selectionManagers.push(ke),this.start()}unregisterSelectionManager(ke){if(this.selectionManagers=this.selectionManagers.filter(Ce=>Ce!==ke),this.selectionManagers.length===0)return this.stop()}notifySelectionManagersOfSelectionChange(){return this.selectionManagers.map(ke=>ke.selectionDidChange())}update(){this.notifySelectionManagersOfSelectionChange()}reset(){this.update()}}const Pt=new Ft,It=function(){const _n=window.getSelection();if(_n.rangeCount>0)return _n},Nt=function(){var _n;const ke=(_n=It())===null||_n===void 0?void 0:_n.getRangeAt(0);if(ke&&!Mt(ke))return ke},Ot=function(_n){const ke=window.getSelection();return ke.removeAllRanges(),ke.addRange(_n),Pt.update()},Mt=_n=>jt(_n.startContainer)||jt(_n.endContainer),jt=_n=>!Object.getPrototypeOf(_n),Wt=_n=>_n.replace(new RegExp("".concat(h),"g"),"").replace(new RegExp("".concat(d),"g")," "),Ut=new RegExp("[^\\S".concat(d,"]")),qt=_n=>_n.replace(new RegExp("".concat(Ut.source),"g")," ").replace(/\ {2,}/g," "),Vt=function(_n,ke){if(_n.isEqualTo(ke))return["",""];const Ce=Ht(_n,ke),{length:$n}=Ce.utf16String;let Mn;if($n){const{offset:Qn}=Ce,Vn=_n.codepoints.slice(0,Qn).concat(_n.codepoints.slice(Qn+$n));Mn=Ht(ke,X.fromCodepoints(Vn))}else Mn=Ht(ke,_n);return[Ce.utf16String.toString(),Mn.utf16String.toString()]},Ht=function(_n,ke){let Ce=0,$n=_n.length,Mn=ke.length;for(;Ce<$n&&_n.charAt(Ce).isEqualTo(ke.charAt(Ce));)Ce++;for(;$n>Ce+1&&_n.charAt($n-1).isEqualTo(ke.charAt(Mn-1));)$n--,Mn--;return{utf16String:_n.slice(Ce,$n),offset:Ce}};class zt extends nt{static fromCommonAttributesOfObjects(){let ke=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];if(!ke.length)return new this;let Ce=Gt(ke[0]),$n=Ce.getKeys();return ke.slice(1).forEach(Mn=>{$n=Ce.getKeysCommonToHash(Gt(Mn)),Ce=Ce.slice($n)}),Ce}static box(ke){return Gt(ke)}constructor(){let ke=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};super(...arguments),this.values=Kt(ke)}add(ke,Ce){return this.merge(_t(ke,Ce))}remove(ke){return new zt(Kt(this.values,ke))}get(ke){return this.values[ke]}has(ke){return ke in this.values}merge(ke){return new zt(Jt(this.values,$t(ke)))}slice(ke){const Ce={};return Array.from(ke).forEach($n=>{this.has($n)&&(Ce[$n]=this.values[$n])}),new zt(Ce)}getKeys(){return Object.keys(this.values)}getKeysCommonToHash(ke){return ke=Gt(ke),this.getKeys().filter(Ce=>this.values[Ce]===ke.values[Ce])}isEqualTo(ke){return rt(this.toArray(),Gt(ke).toArray())}isEmpty(){return this.getKeys().length===0}toArray(){if(!this.array){const ke=[];for(const Ce in this.values){const $n=this.values[Ce];ke.push(ke.push(Ce,$n))}this.array=ke.slice(0)}return this.array}toObject(){return Kt(this.values)}toJSON(){return this.toObject()}contentsForInspection(){return{values:JSON.stringify(this.values)}}}const _t=function(_n,ke){const Ce={};return Ce[_n]=ke,Ce},Jt=function(_n,ke){const Ce=Kt(_n);for(const $n in ke){const Mn=ke[$n];Ce[$n]=Mn}return Ce},Kt=function(_n,ke){const Ce={};return Object.keys(_n).sort().forEach($n=>{$n!==ke&&(Ce[$n]=_n[$n])}),Ce},Gt=function(_n){return _n instanceof zt?_n:new zt(_n)},$t=function(_n){return _n instanceof zt?_n.values:_n};class Xt{static groupObjects(){let ke,Ce=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],{depth:$n,asTree:Mn}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};Mn&&$n==null&&($n=0);const Qn=[];return Array.from(Ce).forEach(Vn=>{var qn;if(ke){var Zn,jn,Xn;if((Zn=Vn.canBeGrouped)!==null&&Zn!==void 0&&Zn.call(Vn,$n)&&(jn=(Xn=ke[ke.length-1]).canBeGroupedWith)!==null&&jn!==void 0&&jn.call(Xn,Vn,$n))return void ke.push(Vn);Qn.push(new this(ke,{depth:$n,asTree:Mn})),ke=null}(qn=Vn.canBeGrouped)!==null&&qn!==void 0&&qn.call(Vn,$n)?ke=[Vn]:Qn.push(Vn)}),ke&&Qn.push(new this(ke,{depth:$n,asTree:Mn})),Qn}constructor(){let ke=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],{depth:Ce,asTree:$n}=arguments.length>1?arguments[1]:void 0;this.objects=ke,$n&&(this.depth=Ce,this.objects=this.constructor.groupObjects(this.objects,{asTree:$n,depth:this.depth+1}))}getObjects(){return this.objects}getDepth(){return this.depth}getCacheKey(){const ke=["objectGroup"];return Array.from(this.getObjects()).forEach(Ce=>{ke.push(Ce.getCacheKey())}),ke.join("/")}}class Yt extends H{constructor(){let ke=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];super(...arguments),this.objects={},Array.from(ke).forEach(Ce=>{const $n=JSON.stringify(Ce);this.objects[$n]==null&&(this.objects[$n]=Ce)})}find(ke){const Ce=JSON.stringify(ke);return this.objects[Ce]}}class Qt{constructor(ke){this.reset(ke)}add(ke){const Ce=Zt(ke);this.elements[Ce]=ke}remove(ke){const Ce=Zt(ke),$n=this.elements[Ce];if($n)return delete this.elements[Ce],$n}reset(){let ke=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];return this.elements={},Array.from(ke).forEach(Ce=>{this.add(Ce)}),ke}}const Zt=_n=>_n.dataset.trixStoreKey;class te extends H{isPerforming(){return this.performing===!0}hasPerformed(){return this.performed===!0}hasSucceeded(){return this.performed&&this.succeeded}hasFailed(){return this.performed&&!this.succeeded}getPromise(){return this.promise||(this.promise=new Promise((ke,Ce)=>(this.performing=!0,this.perform(($n,Mn)=>{this.succeeded=$n,this.performing=!1,this.performed=!0,this.succeeded?ke(Mn):Ce(Mn)})))),this.promise}perform(ke){return ke(!1)}release(){var ke,Ce;(ke=this.promise)===null||ke===void 0||(Ce=ke.cancel)===null||Ce===void 0||Ce.call(ke),this.promise=null,this.performing=null,this.performed=null,this.succeeded=null}}te.proxyMethod("getPromise().then"),te.proxyMethod("getPromise().catch");class ee extends H{constructor(ke){let Ce=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(...arguments),this.object=ke,this.options=Ce,this.childViews=[],this.rootView=this}getNodes(){return this.nodes||(this.nodes=this.createNodes()),this.nodes.map(ke=>ke.cloneNode(!0))}invalidate(){var ke;return this.nodes=null,this.childViews=[],(ke=this.parentView)===null||ke===void 0?void 0:ke.invalidate()}invalidateViewForObject(ke){var Ce;return(Ce=this.findViewForObject(ke))===null||Ce===void 0?void 0:Ce.invalidate()}findOrCreateCachedChildView(ke,Ce,$n){let Mn=this.getCachedViewForObject(Ce);return Mn?this.recordChildView(Mn):(Mn=this.createChildView(...arguments),this.cacheViewForObject(Mn,Ce)),Mn}createChildView(ke,Ce){let $n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};Ce instanceof Xt&&($n.viewClass=ke,ke=ie$2);const Mn=new ke(Ce,$n);return this.recordChildView(Mn)}recordChildView(ke){return ke.parentView=this,ke.rootView=this.rootView,this.childViews.push(ke),ke}getAllChildViews(){let ke=[];return this.childViews.forEach(Ce=>{ke.push(Ce),ke=ke.concat(Ce.getAllChildViews())}),ke}findElement(){return this.findElementForObject(this.object)}findElementForObject(ke){const Ce=ke==null?void 0:ke.id;if(Ce)return this.rootView.element.querySelector("[data-trix-id='".concat(Ce,"']"))}findViewForObject(ke){for(const Ce of this.getAllChildViews())if(Ce.object===ke)return Ce}getViewCache(){return this.rootView!==this?this.rootView.getViewCache():this.isViewCachingEnabled()?(this.viewCache||(this.viewCache={}),this.viewCache):void 0}isViewCachingEnabled(){return this.shouldCacheViews!==!1}enableViewCaching(){this.shouldCacheViews=!0}disableViewCaching(){this.shouldCacheViews=!1}getCachedViewForObject(ke){var Ce;return(Ce=this.getViewCache())===null||Ce===void 0?void 0:Ce[ke.getCacheKey()]}cacheViewForObject(ke,Ce){const $n=this.getViewCache();$n&&($n[Ce.getCacheKey()]=ke)}garbageCollectCachedViews(){const ke=this.getViewCache();if(ke){const Ce=this.getAllChildViews().concat(this).map($n=>$n.object.getCacheKey());for(const $n in ke)Ce.includes($n)||delete ke[$n]}}}let ie$2=class extends ee{constructor(){super(...arguments),this.objectGroup=this.object,this.viewClass=this.options.viewClass,delete this.options.viewClass}getChildViews(){return this.childViews.length||Array.from(this.objectGroup.getObjects()).forEach(ke=>{this.findOrCreateCachedChildView(this.viewClass,ke,this.options)}),this.childViews}createNodes(){const ke=this.createContainerElement();return this.getChildViews().forEach(Ce=>{Array.from(Ce.getNodes()).forEach($n=>{ke.appendChild($n)})}),[ke]}createContainerElement(){let ke=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.objectGroup.getDepth();return this.getChildViews()[0].createContainerElement(ke)}};const ne="style href src width height language class".split(" "),re="javascript:".split(" "),oe="script iframe form noscript".split(" ");class se extends H{static setHTML(ke,Ce){const $n=new this(Ce).sanitize(),Mn=$n.getHTML?$n.getHTML():$n.outerHTML;ke.innerHTML=Mn}static sanitize(ke,Ce){const $n=new this(ke,Ce);return $n.sanitize(),$n}constructor(ke){let{allowedAttributes:Ce,forbiddenProtocols:$n,forbiddenElements:Mn}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(...arguments),this.allowedAttributes=Ce||ne,this.forbiddenProtocols=$n||re,this.forbiddenElements=Mn||oe,this.body=ae(ke)}sanitize(){return this.sanitizeElements(),this.normalizeListElementNesting()}getHTML(){return this.body.innerHTML}getBody(){return this.body}sanitizeElements(){const ke=R(this.body),Ce=[];for(;ke.nextNode();){const $n=ke.currentNode;switch($n.nodeType){case Node.ELEMENT_NODE:this.elementIsRemovable($n)?Ce.push($n):this.sanitizeElement($n);break;case Node.COMMENT_NODE:Ce.push($n)}}return Ce.forEach($n=>k($n)),this.body}sanitizeElement(ke){return ke.hasAttribute("href")&&this.forbiddenProtocols.includes(ke.protocol)&&ke.removeAttribute("href"),Array.from(ke.attributes).forEach(Ce=>{let{name:$n}=Ce;this.allowedAttributes.includes($n)||$n.indexOf("data-trix")===0||ke.removeAttribute($n)}),ke}normalizeListElementNesting(){return Array.from(this.body.querySelectorAll("ul,ol")).forEach(ke=>{const Ce=ke.previousElementSibling;Ce&&E(Ce)==="li"&&Ce.appendChild(ke)}),this.body}elementIsRemovable(ke){if((ke==null?void 0:ke.nodeType)===Node.ELEMENT_NODE)return this.elementIsForbidden(ke)||this.elementIsntSerializable(ke)}elementIsForbidden(ke){return this.forbiddenElements.includes(E(ke))}elementIsntSerializable(ke){return ke.getAttribute("data-trix-serialize")==="false"&&!I(ke)}}const ae=function(){let _n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";_n=_n.replace(/<\/html[^>]*>[^]*$/i,"");const ke=document.implementation.createHTMLDocument("");return ke.documentElement.innerHTML=_n,Array.from(ke.head.querySelectorAll("style")).forEach(Ce=>{ke.body.appendChild(Ce)}),ke.body},{css:le}=V;class ce extends ee{constructor(){super(...arguments),this.attachment=this.object,this.attachment.uploadProgressDelegate=this,this.attachmentPiece=this.options.piece}createContentNodes(){return[]}createNodes(){let ke;const Ce=ke=S$1({tagName:"figure",className:this.getClassName(),data:this.getData(),editable:!1}),$n=this.getHref();return $n&&(ke=S$1({tagName:"a",editable:!1,attributes:{href:$n,tabindex:-1}}),Ce.appendChild(ke)),this.attachment.hasContent()?se.setHTML(ke,this.attachment.getContent()):this.createContentNodes().forEach(Mn=>{ke.appendChild(Mn)}),ke.appendChild(this.createCaptionElement()),this.attachment.isPending()&&(this.progressElement=S$1({tagName:"progress",attributes:{class:le.attachmentProgress,value:this.attachment.getUploadProgress(),max:100},data:{trixMutable:!0,trixStoreKey:["progressElement",this.attachment.id].join("/")}}),Ce.appendChild(this.progressElement)),[ue("left"),Ce,ue("right")]}createCaptionElement(){const ke=S$1({tagName:"figcaption",className:le.attachmentCaption}),Ce=this.attachmentPiece.getCaption();if(Ce)ke.classList.add("".concat(le.attachmentCaption,"--edited")),ke.textContent=Ce;else{let $n,Mn;const Qn=this.getCaptionConfig();if(Qn.name&&($n=this.attachment.getFilename()),Qn.size&&(Mn=this.attachment.getFormattedFilesize()),$n){const Vn=S$1({tagName:"span",className:le.attachmentName,textContent:$n});ke.appendChild(Vn)}if(Mn){$n&&ke.appendChild(document.createTextNode(" "));const Vn=S$1({tagName:"span",className:le.attachmentSize,textContent:Mn});ke.appendChild(Vn)}}return ke}getClassName(){const ke=[le.attachment,"".concat(le.attachment,"--").concat(this.attachment.getType())],Ce=this.attachment.getExtension();return Ce&&ke.push("".concat(le.attachment,"--").concat(Ce)),ke.join(" ")}getData(){const ke={trixAttachment:JSON.stringify(this.attachment),trixContentType:this.attachment.getContentType(),trixId:this.attachment.id},{attributes:Ce}=this.attachmentPiece;return Ce.isEmpty()||(ke.trixAttributes=JSON.stringify(Ce)),this.attachment.isPending()&&(ke.trixSerialize=!1),ke}getHref(){if(!he(this.attachment.getContent(),"a"))return this.attachment.getHref()}getCaptionConfig(){var ke;const Ce=this.attachment.getType(),$n=Et((ke=i$1[Ce])===null||ke===void 0?void 0:ke.caption);return Ce==="file"&&($n.name=!0),$n}findProgressElement(){var ke;return(ke=this.findElement())===null||ke===void 0?void 0:ke.querySelector("progress")}attachmentDidChangeUploadProgress(){const ke=this.attachment.getUploadProgress(),Ce=this.findProgressElement();Ce&&(Ce.value=ke)}}const ue=_n=>S$1({tagName:"span",textContent:h,data:{trixCursorTarget:_n,trixSerialize:!1}}),he=function(_n,ke){const Ce=S$1("div");return se.setHTML(Ce,_n||""),Ce.querySelector(ke)};class de extends ce{constructor(){super(...arguments),this.attachment.previewDelegate=this}createContentNodes(){return this.image=S$1({tagName:"img",attributes:{src:""},data:{trixMutable:!0}}),this.refresh(this.image),[this.image]}createCaptionElement(){const ke=super.createCaptionElement(...arguments);return ke.textContent||ke.setAttribute("data-trix-placeholder",l.captionPlaceholder),ke}refresh(ke){var Ce;if(ke||(ke=(Ce=this.findElement())===null||Ce===void 0?void 0:Ce.querySelector("img")),ke)return this.updateAttributesForImage(ke)}updateAttributesForImage(ke){const Ce=this.attachment.getURL(),$n=this.attachment.getPreviewURL();if(ke.src=$n||Ce,$n===Ce)ke.removeAttribute("data-trix-serialized-attributes");else{const qn=JSON.stringify({src:Ce});ke.setAttribute("data-trix-serialized-attributes",qn)}const Mn=this.attachment.getWidth(),Qn=this.attachment.getHeight();Mn!=null&&(ke.width=Mn),Qn!=null&&(ke.height=Qn);const Vn=["imageElement",this.attachment.id,ke.src,ke.width,ke.height].join("/");ke.dataset.trixStoreKey=Vn}attachmentDidChangeAttributes(){return this.refresh(this.image),this.refresh()}}class ge extends ee{constructor(){super(...arguments),this.piece=this.object,this.attributes=this.piece.getAttributes(),this.textConfig=this.options.textConfig,this.context=this.options.context,this.piece.attachment?this.attachment=this.piece.attachment:this.string=this.piece.toString()}createNodes(){let ke=this.attachment?this.createAttachmentNodes():this.createStringNodes();const Ce=this.createElement();if(Ce){const $n=function(Mn){for(;(Qn=Mn)!==null&&Qn!==void 0&&Qn.firstElementChild;){var Qn;Mn=Mn.firstElementChild}return Mn}(Ce);Array.from(ke).forEach(Mn=>{$n.appendChild(Mn)}),ke=[Ce]}return ke}createAttachmentNodes(){const ke=this.attachment.isPreviewable()?de:ce;return this.createChildView(ke,this.piece.attachment,{piece:this.piece}).getNodes()}createStringNodes(){var ke;if((ke=this.textConfig)!==null&&ke!==void 0&&ke.plaintext)return[document.createTextNode(this.string)];{const Ce=[],$n=this.string.split(` `);for(let Mn=0;Mn<$n.length;Mn++){const Qn=$n[Mn];if(Mn>0){const Vn=S$1("br");Ce.push(Vn)}if(Qn.length){const Vn=document.createTextNode(this.preserveSpaces(Qn));Ce.push(Vn)}}return Ce}}createElement(){let ke,Ce,$n;const Mn={};for(Ce in this.attributes){$n=this.attributes[Ce];const Vn=pt(Ce);if(Vn){if(Vn.tagName){var Qn;const qn=S$1(Vn.tagName);Qn?(Qn.appendChild(qn),Qn=qn):ke=Qn=qn}if(Vn.styleProperty&&(Mn[Vn.styleProperty]=$n),Vn.style)for(Ce in Vn.style)$n=Vn.style[Ce],Mn[Ce]=$n}}if(Object.keys(Mn).length)for(Ce in ke||(ke=S$1("span")),Mn)$n=Mn[Ce],ke.style[Ce]=$n;return ke}createContainerElement(){for(const ke in this.attributes){const Ce=this.attributes[ke],$n=pt(ke);if($n&&$n.groupTagName){const Mn={};return Mn[ke]=Ce,S$1($n.groupTagName,Mn)}}}preserveSpaces(ke){return this.context.isLast&&(ke=ke.replace(/\ $/,d)),ke=ke.replace(/(\S)\ {3}(\S)/g,"$1 ".concat(d," $2")).replace(/\ {2}/g,"".concat(d," ")).replace(/\ {2}/g," ".concat(d)),(this.context.isFirst||this.context.followsWhitespace)&&(ke=ke.replace(/^\ /,d)),ke}}class me extends ee{constructor(){super(...arguments),this.text=this.object,this.textConfig=this.options.textConfig}createNodes(){const ke=[],Ce=Xt.groupObjects(this.getPieces()),$n=Ce.length-1;for(let Qn=0;Qn!ke.hasAttribute("blockBreak"))}}const pe=_n=>/\s$/.test(_n==null?void 0:_n.toString()),{css:fe}=V;class be extends ee{constructor(){super(...arguments),this.block=this.object,this.attributes=this.block.getAttributes()}createNodes(){const ke=[document.createComment("block")];if(this.block.isEmpty())ke.push(S$1("br"));else{var Ce;const $n=(Ce=gt(this.block.getLastAttribute()))===null||Ce===void 0?void 0:Ce.text,Mn=this.findOrCreateCachedChildView(me,this.block.text,{textConfig:$n});ke.push(...Array.from(Mn.getNodes()||[])),this.shouldAddExtraNewlineElement()&&ke.push(S$1("br"))}if(this.attributes.length)return ke;{let $n;const{tagName:Mn}=n.default;this.block.isRTL()&&($n={dir:"rtl"});const Qn=S$1({tagName:Mn,attributes:$n});return ke.forEach(Vn=>Qn.appendChild(Vn)),[Qn]}}createContainerElement(ke){const Ce={};let $n;const Mn=this.attributes[ke],{tagName:Qn,htmlAttributes:Vn=[]}=gt(Mn);if(ke===0&&this.block.isRTL()&&Object.assign(Ce,{dir:"rtl"}),Mn==="attachmentGallery"){const qn=this.block.getBlockBreakPosition();$n="".concat(fe.attachmentGallery," ").concat(fe.attachmentGallery,"--").concat(qn)}return Object.entries(this.block.htmlAttributes).forEach(qn=>{let[Zn,jn]=qn;Vn.includes(Zn)&&(Ce[Zn]=jn)}),S$1({tagName:Qn,className:$n,attributes:Ce})}shouldAddExtraNewlineElement(){return/\n\n$/.test(this.block.toString())}}class ve extends ee{static render(ke){const Ce=S$1("div"),$n=new this(ke,{element:Ce});return $n.render(),$n.sync(),Ce}constructor(){super(...arguments),this.element=this.options.element,this.elementStore=new Qt,this.setDocument(this.object)}setDocument(ke){ke.isEqualTo(this.document)||(this.document=this.object=ke)}render(){if(this.childViews=[],this.shadowElement=S$1("div"),!this.document.isEmpty()){const ke=Xt.groupObjects(this.document.getBlocks(),{asTree:!0});Array.from(ke).forEach(Ce=>{const $n=this.findOrCreateCachedChildView(be,Ce);Array.from($n.getNodes()).map(Mn=>this.shadowElement.appendChild(Mn))})}}isSynced(){return xe(this.shadowElement,this.element)}sync(){const ke=this.createDocumentFragmentForSync();for(;this.element.lastChild;)this.element.removeChild(this.element.lastChild);return this.element.appendChild(ke),this.didSync()}didSync(){return this.elementStore.reset(Ae(this.element)),Rt(()=>this.garbageCollectCachedViews())}createDocumentFragmentForSync(){const ke=document.createDocumentFragment();return Array.from(this.shadowElement.childNodes).forEach(Ce=>{ke.appendChild(Ce.cloneNode(!0))}),Array.from(Ae(ke)).forEach(Ce=>{const $n=this.elementStore.remove(Ce);$n&&Ce.parentNode.replaceChild($n,Ce)}),ke}}const Ae=_n=>_n.querySelectorAll("[data-trix-store-key]"),xe=(_n,ke)=>ye(_n.innerHTML)===ye(ke.innerHTML),ye=_n=>_n.replace(/ /g," ");function Re(_n,ke,Ce){return(ke=Ee(ke))in _n?Object.defineProperty(_n,ke,{value:Ce,enumerable:!0,configurable:!0,writable:!0}):_n[ke]=Ce,_n}function Ee(_n){var ke=function(Ce,$n){if(typeof Ce!="object"||Ce===null)return Ce;var Mn=Ce[Symbol.toPrimitive];if(Mn!==void 0){var Qn=Mn.call(Ce,$n||"default");if(typeof Qn!="object")return Qn;throw new TypeError("@@toPrimitive must return a primitive value.")}return($n==="string"?String:Number)(Ce)}(_n,"string");return typeof ke=="symbol"?ke:String(ke)}class Se extends nt{static registerType(ke,Ce){Ce.type=ke,this.types[ke]=Ce}static fromJSON(ke){const Ce=this.types[ke.type];if(Ce)return Ce.fromJSON(ke)}constructor(ke){let Ce=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(...arguments),this.attributes=zt.box(Ce)}copyWithAttributes(ke){return new this.constructor(this.getValue(),ke)}copyWithAdditionalAttributes(ke){return this.copyWithAttributes(this.attributes.merge(ke))}copyWithoutAttribute(ke){return this.copyWithAttributes(this.attributes.remove(ke))}copy(){return this.copyWithAttributes(this.attributes)}getAttribute(ke){return this.attributes.get(ke)}getAttributesHash(){return this.attributes}getAttributes(){return this.attributes.toObject()}hasAttribute(ke){return this.attributes.has(ke)}hasSameStringValueAsPiece(ke){return ke&&this.toString()===ke.toString()}hasSameAttributesAsPiece(ke){return ke&&(this.attributes===ke.attributes||this.attributes.isEqualTo(ke.attributes))}isBlockBreak(){return!1}isEqualTo(ke){return super.isEqualTo(...arguments)||this.hasSameConstructorAs(ke)&&this.hasSameStringValueAsPiece(ke)&&this.hasSameAttributesAsPiece(ke)}isEmpty(){return this.length===0}isSerializable(){return!0}toJSON(){return{type:this.constructor.type,attributes:this.getAttributes()}}contentsForInspection(){return{type:this.constructor.type,attributes:this.attributes.inspect()}}canBeGrouped(){return this.hasAttribute("href")}canBeGroupedWith(ke){return this.getAttribute("href")===ke.getAttribute("href")}getLength(){return this.length}canBeConsolidatedWith(ke){return!1}}Re(Se,"types",{});class Le extends te{constructor(ke){super(...arguments),this.url=ke}perform(ke){const Ce=new Image;Ce.onload=()=>(Ce.width=this.width=Ce.naturalWidth,Ce.height=this.height=Ce.naturalHeight,ke(!0,Ce)),Ce.onerror=()=>ke(!1),Ce.src=this.url}}class De extends nt{static attachmentForFile(ke){const Ce=new this(this.attributesForFile(ke));return Ce.setFile(ke),Ce}static attributesForFile(ke){return new zt({filename:ke.name,filesize:ke.size,contentType:ke.type})}static fromJSON(ke){return new this(ke)}constructor(){let ke=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};super(ke),this.releaseFile=this.releaseFile.bind(this),this.attributes=zt.box(ke),this.didChangeAttributes()}getAttribute(ke){return this.attributes.get(ke)}hasAttribute(ke){return this.attributes.has(ke)}getAttributes(){return this.attributes.toObject()}setAttributes(){let ke=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const Ce=this.attributes.merge(ke);var $n,Mn,Qn,Vn;if(!this.attributes.isEqualTo(Ce))return this.attributes=Ce,this.didChangeAttributes(),($n=this.previewDelegate)===null||$n===void 0||(Mn=$n.attachmentDidChangeAttributes)===null||Mn===void 0||Mn.call($n,this),(Qn=this.delegate)===null||Qn===void 0||(Vn=Qn.attachmentDidChangeAttributes)===null||Vn===void 0?void 0:Vn.call(Qn,this)}didChangeAttributes(){if(this.isPreviewable())return this.preloadURL()}isPending(){return this.file!=null&&!(this.getURL()||this.getHref())}isPreviewable(){return this.attributes.has("previewable")?this.attributes.get("previewable"):De.previewablePattern.test(this.getContentType())}getType(){return this.hasContent()?"content":this.isPreviewable()?"preview":"file"}getURL(){return this.attributes.get("url")}getHref(){return this.attributes.get("href")}getFilename(){return this.attributes.get("filename")||""}getFilesize(){return this.attributes.get("filesize")}getFormattedFilesize(){const ke=this.attributes.get("filesize");return typeof ke=="number"?u.formatter(ke):""}getExtension(){var ke;return(ke=this.getFilename().match(/\.(\w+)$/))===null||ke===void 0?void 0:ke[1].toLowerCase()}getContentType(){return this.attributes.get("contentType")}hasContent(){return this.attributes.has("content")}getContent(){return this.attributes.get("content")}getWidth(){return this.attributes.get("width")}getHeight(){return this.attributes.get("height")}getFile(){return this.file}setFile(ke){if(this.file=ke,this.isPreviewable())return this.preloadFile()}releaseFile(){this.releasePreloadedFile(),this.file=null}getUploadProgress(){return this.uploadProgress!=null?this.uploadProgress:0}setUploadProgress(ke){var Ce,$n;if(this.uploadProgress!==ke)return this.uploadProgress=ke,(Ce=this.uploadProgressDelegate)===null||Ce===void 0||($n=Ce.attachmentDidChangeUploadProgress)===null||$n===void 0?void 0:$n.call(Ce,this)}toJSON(){return this.getAttributes()}getCacheKey(){return[super.getCacheKey(...arguments),this.attributes.getCacheKey(),this.getPreviewURL()].join("/")}getPreviewURL(){return this.previewURL||this.preloadingURL}setPreviewURL(ke){var Ce,$n,Mn,Qn;if(ke!==this.getPreviewURL())return this.previewURL=ke,(Ce=this.previewDelegate)===null||Ce===void 0||($n=Ce.attachmentDidChangeAttributes)===null||$n===void 0||$n.call(Ce,this),(Mn=this.delegate)===null||Mn===void 0||(Qn=Mn.attachmentDidChangePreviewURL)===null||Qn===void 0?void 0:Qn.call(Mn,this)}preloadURL(){return this.preload(this.getURL(),this.releaseFile)}preloadFile(){if(this.file)return this.fileObjectURL=URL.createObjectURL(this.file),this.preload(this.fileObjectURL)}releasePreloadedFile(){this.fileObjectURL&&(URL.revokeObjectURL(this.fileObjectURL),this.fileObjectURL=null)}preload(ke,Ce){if(ke&&ke!==this.getPreviewURL())return this.preloadingURL=ke,new Le(ke).then($n=>{let{width:Mn,height:Qn}=$n;return this.getWidth()&&this.getHeight()||this.setAttributes({width:Mn,height:Qn}),this.preloadingURL=null,this.setPreviewURL(ke),Ce==null?void 0:Ce()}).catch(()=>(this.preloadingURL=null,Ce==null?void 0:Ce()))}}Re(De,"previewablePattern",/^image(\/(gif|png|webp|jpe?g)|$)/);class we extends Se{static fromJSON(ke){return new this(De.fromJSON(ke.attachment),ke.attributes)}constructor(ke){super(...arguments),this.attachment=ke,this.length=1,this.ensureAttachmentExclusivelyHasAttribute("href"),this.attachment.hasContent()||this.removeProhibitedAttributes()}ensureAttachmentExclusivelyHasAttribute(ke){this.hasAttribute(ke)&&(this.attachment.hasAttribute(ke)||this.attachment.setAttributes(this.attributes.slice([ke])),this.attributes=this.attributes.remove(ke))}removeProhibitedAttributes(){const ke=this.attributes.slice(we.permittedAttributes);ke.isEqualTo(this.attributes)||(this.attributes=ke)}getValue(){return this.attachment}isSerializable(){return!this.attachment.isPending()}getCaption(){return this.attributes.get("caption")||""}isEqualTo(ke){var Ce;return super.isEqualTo(ke)&&this.attachment.id===(ke==null||(Ce=ke.attachment)===null||Ce===void 0?void 0:Ce.id)}toString(){return""}toJSON(){const ke=super.toJSON(...arguments);return ke.attachment=this.attachment,ke}getCacheKey(){return[super.getCacheKey(...arguments),this.attachment.getCacheKey()].join("/")}toConsole(){return JSON.stringify(this.toString())}}Re(we,"permittedAttributes",["caption","presentation"]),Se.registerType("attachment",we);class Te extends Se{static fromJSON(ke){return new this(ke.string,ke.attributes)}constructor(ke){super(...arguments),this.string=(Ce=>Ce.replace(/\r\n?/g,` `))(ke),this.length=this.string.length}getValue(){return this.string}toString(){return this.string.toString()}isBlockBreak(){return this.toString()===` `&&this.getAttribute("blockBreak")===!0}toJSON(){const ke=super.toJSON(...arguments);return ke.string=this.string,ke}canBeConsolidatedWith(ke){return ke&&this.hasSameConstructorAs(ke)&&this.hasSameAttributesAsPiece(ke)}consolidateWith(ke){return new this.constructor(this.toString()+ke.toString(),this.attributes)}splitAtOffset(ke){let Ce,$n;return ke===0?(Ce=null,$n=this):ke===this.length?(Ce=this,$n=null):(Ce=new this.constructor(this.string.slice(0,ke),this.attributes),$n=new this.constructor(this.string.slice(ke),this.attributes)),[Ce,$n]}toConsole(){let{string:ke}=this;return ke.length>15&&(ke=ke.slice(0,14)+"…"),JSON.stringify(ke.toString())}}Se.registerType("string",Te);class Be extends nt{static box(ke){return ke instanceof this?ke:new this(ke)}constructor(){let ke=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];super(...arguments),this.objects=ke.slice(0),this.length=this.objects.length}indexOf(ke){return this.objects.indexOf(ke)}splice(){for(var ke=arguments.length,Ce=new Array(ke),$n=0;$nke(Ce,$n))}insertObjectAtIndex(ke,Ce){return this.splice(Ce,0,ke)}insertSplittableListAtIndex(ke,Ce){return this.splice(Ce,0,...ke.objects)}insertSplittableListAtPosition(ke,Ce){const[$n,Mn]=this.splitObjectAtPosition(Ce);return new this.constructor($n).insertSplittableListAtIndex(ke,Mn)}editObjectAtIndex(ke,Ce){return this.replaceObjectAtIndex(Ce(this.objects[ke]),ke)}replaceObjectAtIndex(ke,Ce){return this.splice(Ce,1,ke)}removeObjectAtIndex(ke){return this.splice(ke,1)}getObjectAtIndex(ke){return this.objects[ke]}getSplittableListInRange(ke){const[Ce,$n,Mn]=this.splitObjectsAtRange(ke);return new this.constructor(Ce.slice($n,Mn+1))}selectSplittableList(ke){const Ce=this.objects.filter($n=>ke($n));return new this.constructor(Ce)}removeObjectsInRange(ke){const[Ce,$n,Mn]=this.splitObjectsAtRange(ke);return new this.constructor(Ce).splice($n,Mn-$n+1)}transformObjectsInRange(ke,Ce){const[$n,Mn,Qn]=this.splitObjectsAtRange(ke),Vn=$n.map((qn,Zn)=>Mn<=Zn&&Zn<=Qn?Ce(qn):qn);return new this.constructor(Vn)}splitObjectsAtRange(ke){let Ce,[$n,Mn,Qn]=this.splitObjectAtPosition(Pe(ke));return[$n,Ce]=new this.constructor($n).splitObjectAtPosition(Ie(ke)+Qn),[$n,Mn,Ce-1]}getObjectAtPosition(ke){const{index:Ce}=this.findIndexAndOffsetAtPosition(ke);return this.objects[Ce]}splitObjectAtPosition(ke){let Ce,$n;const{index:Mn,offset:Qn}=this.findIndexAndOffsetAtPosition(ke),Vn=this.objects.slice(0);if(Mn!=null)if(Qn===0)Ce=Mn,$n=0;else{const qn=this.getObjectAtIndex(Mn),[Zn,jn]=qn.splitAtOffset(Qn);Vn.splice(Mn,1,Zn,jn),Ce=Mn+1,$n=Zn.getLength()-Qn}else Ce=Vn.length,$n=0;return[Vn,Ce,$n]}consolidate(){const ke=[];let Ce=this.objects[0];return this.objects.slice(1).forEach($n=>{var Mn,Qn;(Mn=(Qn=Ce).canBeConsolidatedWith)!==null&&Mn!==void 0&&Mn.call(Qn,$n)?Ce=Ce.consolidateWith($n):(ke.push(Ce),Ce=$n)}),Ce&&ke.push(Ce),new this.constructor(ke)}consolidateFromIndexToIndex(ke,Ce){const $n=this.objects.slice(0).slice(ke,Ce+1),Mn=new this.constructor($n).consolidate().toArray();return this.splice(ke,$n.length,...Mn)}findIndexAndOffsetAtPosition(ke){let Ce,$n=0;for(Ce=0;Cethis.endPosition+=ke.getLength())),this.endPosition}toString(){return this.objects.join("")}toArray(){return this.objects.slice(0)}toJSON(){return this.toArray()}isEqualTo(ke){return super.isEqualTo(...arguments)||Fe(this.objects,ke==null?void 0:ke.objects)}contentsForInspection(){return{objects:"[".concat(this.objects.map(ke=>ke.inspect()).join(", "),"]")}}}const Fe=function(_n){let ke=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];if(_n.length!==ke.length)return!1;let Ce=!0;for(let $n=0;$n<_n.length;$n++){const Mn=_n[$n];Ce&&!Mn.isEqualTo(ke[$n])&&(Ce=!1)}return Ce},Pe=_n=>_n[0],Ie=_n=>_n[1];class Ne extends nt{static textForAttachmentWithAttributes(ke,Ce){return new this([new we(ke,Ce)])}static textForStringWithAttributes(ke,Ce){return new this([new Te(ke,Ce)])}static fromJSON(ke){return new this(Array.from(ke).map(Ce=>Se.fromJSON(Ce)))}constructor(){let ke=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];super(...arguments);const Ce=ke.filter($n=>!$n.isEmpty());this.pieceList=new Be(Ce)}copy(){return this.copyWithPieceList(this.pieceList)}copyWithPieceList(ke){return new this.constructor(ke.consolidate().toArray())}copyUsingObjectMap(ke){const Ce=this.getPieces().map($n=>ke.find($n)||$n);return new this.constructor(Ce)}appendText(ke){return this.insertTextAtPosition(ke,this.getLength())}insertTextAtPosition(ke,Ce){return this.copyWithPieceList(this.pieceList.insertSplittableListAtPosition(ke.pieceList,Ce))}removeTextAtRange(ke){return this.copyWithPieceList(this.pieceList.removeObjectsInRange(ke))}replaceTextAtRange(ke,Ce){return this.removeTextAtRange(Ce).insertTextAtPosition(ke,Ce[0])}moveTextFromRangeToPosition(ke,Ce){if(ke[0]<=Ce&&Ce<=ke[1])return;const $n=this.getTextAtRange(ke),Mn=$n.getLength();return ke[0]$n.copyWithAdditionalAttributes(ke)))}removeAttributeAtRange(ke,Ce){return this.copyWithPieceList(this.pieceList.transformObjectsInRange(Ce,$n=>$n.copyWithoutAttribute(ke)))}setAttributesAtRange(ke,Ce){return this.copyWithPieceList(this.pieceList.transformObjectsInRange(Ce,$n=>$n.copyWithAttributes(ke)))}getAttributesAtPosition(ke){var Ce;return((Ce=this.pieceList.getObjectAtPosition(ke))===null||Ce===void 0?void 0:Ce.getAttributes())||{}}getCommonAttributes(){const ke=Array.from(this.pieceList.toArray()).map(Ce=>Ce.getAttributes());return zt.fromCommonAttributesOfObjects(ke).toObject()}getCommonAttributesAtRange(ke){return this.getTextAtRange(ke).getCommonAttributes()||{}}getExpandedRangeForAttributeAtOffset(ke,Ce){let $n,Mn=$n=Ce;const Qn=this.getLength();for(;Mn>0&&this.getCommonAttributesAtRange([Mn-1,$n])[ke];)Mn--;for(;$n!!ke.attachment)}getAttachments(){return this.getAttachmentPieces().map(ke=>ke.attachment)}getAttachmentAndPositionById(ke){let Ce=0;for(const Mn of this.pieceList.toArray()){var $n;if((($n=Mn.attachment)===null||$n===void 0?void 0:$n.id)===ke)return{attachment:Mn.attachment,position:Ce};Ce+=Mn.length}return{attachment:null,position:null}}getAttachmentById(ke){const{attachment:Ce}=this.getAttachmentAndPositionById(ke);return Ce}getRangeOfAttachment(ke){const Ce=this.getAttachmentAndPositionById(ke.id),$n=Ce.position;if(ke=Ce.attachment)return[$n,$n+1]}updateAttributesForAttachment(ke,Ce){const $n=this.getRangeOfAttachment(Ce);return $n?this.addAttributesAtRange(ke,$n):this}getLength(){return this.pieceList.getEndPosition()}isEmpty(){return this.getLength()===0}isEqualTo(ke){var Ce;return super.isEqualTo(ke)||(ke==null||(Ce=ke.pieceList)===null||Ce===void 0?void 0:Ce.isEqualTo(this.pieceList))}isBlockBreak(){return this.getLength()===1&&this.pieceList.getObjectAtIndex(0).isBlockBreak()}eachPiece(ke){return this.pieceList.eachObject(ke)}getPieces(){return this.pieceList.toArray()}getPieceAtPosition(ke){return this.pieceList.getObjectAtPosition(ke)}contentsForInspection(){return{pieceList:this.pieceList.inspect()}}toSerializableText(){const ke=this.pieceList.selectSplittableList(Ce=>Ce.isSerializable());return this.copyWithPieceList(ke)}toString(){return this.pieceList.toString()}toJSON(){return this.pieceList.toJSON()}toConsole(){return JSON.stringify(this.pieceList.toArray().map(ke=>JSON.parse(ke.toConsole())))}getDirection(){return at(this.toString())}isRTL(){return this.getDirection()==="rtl"}}class Oe extends nt{static fromJSON(ke){return new this(Ne.fromJSON(ke.text),ke.attributes,ke.htmlAttributes)}constructor(ke,Ce,$n){super(...arguments),this.text=Me(ke||new Ne),this.attributes=Ce||[],this.htmlAttributes=$n||{}}isEmpty(){return this.text.isBlockBreak()}isEqualTo(ke){return!!super.isEqualTo(ke)||this.text.isEqualTo(ke==null?void 0:ke.text)&&rt(this.attributes,ke==null?void 0:ke.attributes)&&St(this.htmlAttributes,ke==null?void 0:ke.htmlAttributes)}copyWithText(ke){return new Oe(ke,this.attributes,this.htmlAttributes)}copyWithoutText(){return this.copyWithText(null)}copyWithAttributes(ke){return new Oe(this.text,ke,this.htmlAttributes)}copyWithoutAttributes(){return this.copyWithAttributes(null)}copyUsingObjectMap(ke){const Ce=ke.find(this.text);return Ce?this.copyWithText(Ce):this.copyWithText(this.text.copyUsingObjectMap(ke))}addAttribute(ke){const Ce=this.attributes.concat(He(ke));return this.copyWithAttributes(Ce)}addHTMLAttribute(ke,Ce){const $n=Object.assign({},this.htmlAttributes,{[ke]:Ce});return new Oe(this.text,this.attributes,$n)}removeAttribute(ke){const{listAttribute:Ce}=gt(ke),$n=_e(_e(this.attributes,ke),Ce);return this.copyWithAttributes($n)}removeLastAttribute(){return this.removeAttribute(this.getLastAttribute())}getLastAttribute(){return ze(this.attributes)}getAttributes(){return this.attributes.slice(0)}getAttributeLevel(){return this.attributes.length}getAttributeAtLevel(ke){return this.attributes[ke-1]}hasAttribute(ke){return this.attributes.includes(ke)}hasAttributes(){return this.getAttributeLevel()>0}getLastNestableAttribute(){return ze(this.getNestableAttributes())}getNestableAttributes(){return this.attributes.filter(ke=>gt(ke).nestable)}getNestingLevel(){return this.getNestableAttributes().length}decreaseNestingLevel(){const ke=this.getLastNestableAttribute();return ke?this.removeAttribute(ke):this}increaseNestingLevel(){const ke=this.getLastNestableAttribute();if(ke){const Ce=this.attributes.lastIndexOf(ke),$n=ot(this.attributes,Ce+1,0,...He(ke));return this.copyWithAttributes($n)}return this}getListItemAttributes(){return this.attributes.filter(ke=>gt(ke).listAttribute)}isListItem(){var ke;return(ke=gt(this.getLastAttribute()))===null||ke===void 0?void 0:ke.listAttribute}isTerminalBlock(){var ke;return(ke=gt(this.getLastAttribute()))===null||ke===void 0?void 0:ke.terminal}breaksOnReturn(){var ke;return(ke=gt(this.getLastAttribute()))===null||ke===void 0?void 0:ke.breakOnReturn}findLineBreakInDirectionFromPosition(ke,Ce){const $n=this.toString();let Mn;switch(ke){case"forward":Mn=$n.indexOf(` `,Ce);break;case"backward":Mn=$n.slice(0,Ce).lastIndexOf(` `)}if(Mn!==-1)return Mn}contentsForInspection(){return{text:this.text.inspect(),attributes:this.attributes}}toString(){return this.text.toString()}toJSON(){return{text:this.text,attributes:this.attributes,htmlAttributes:this.htmlAttributes}}getDirection(){return this.text.getDirection()}isRTL(){return this.text.isRTL()}getLength(){return this.text.getLength()}canBeConsolidatedWith(ke){return!this.hasAttributes()&&!ke.hasAttributes()&&this.getDirection()===ke.getDirection()}consolidateWith(ke){const Ce=Ne.textForStringWithAttributes(` `),$n=this.getTextWithoutBlockBreak().appendText(Ce);return this.copyWithText($n.appendText(ke.text))}splitAtOffset(ke){let Ce,$n;return ke===0?(Ce=null,$n=this):ke===this.getLength()?(Ce=this,$n=null):(Ce=this.copyWithText(this.text.getTextAtRange([0,ke])),$n=this.copyWithText(this.text.getTextAtRange([ke,this.getLength()]))),[Ce,$n]}getBlockBreakPosition(){return this.text.getLength()-1}getTextWithoutBlockBreak(){return qe(this.text)?this.text.getTextAtRange([0,this.getBlockBreakPosition()]):this.text.copy()}canBeGrouped(ke){return this.attributes[ke]}canBeGroupedWith(ke,Ce){const $n=ke.getAttributes(),Mn=$n[Ce],Qn=this.attributes[Ce];return Qn===Mn&&!(gt(Qn).group===!1&&!(()=>{if(!ht){ht=[];for(const Vn in n){const{listAttribute:qn}=n[Vn];qn!=null&&ht.push(qn)}}return ht})().includes($n[Ce+1]))&&(this.getDirection()===ke.getDirection()||ke.isEmpty())}}const Me=function(_n){return _n=je(_n),_n=Ue(_n)},je=function(_n){let ke=!1;const Ce=_n.getPieces();let $n=Ce.slice(0,Ce.length-1);const Mn=Ce[Ce.length-1];return Mn?($n=$n.map(Qn=>Qn.isBlockBreak()?(ke=!0,Ve(Qn)):Qn),ke?new Ne([...$n,Mn]):_n):_n},We=Ne.textForStringWithAttributes(` `,{blockBreak:!0}),Ue=function(_n){return qe(_n)?_n:_n.appendText(We)},qe=function(_n){const ke=_n.getLength();return ke===0?!1:_n.getTextAtRange([ke-1,ke]).isBlockBreak()},Ve=_n=>_n.copyWithoutAttribute("blockBreak"),He=function(_n){const{listAttribute:ke}=gt(_n);return ke?[ke,_n]:[_n]},ze=_n=>_n.slice(-1)[0],_e=function(_n,ke){const Ce=_n.lastIndexOf(ke);return Ce===-1?_n:ot(_n,Ce,1)};class Je extends nt{static fromJSON(ke){return new this(Array.from(ke).map(Ce=>Oe.fromJSON(Ce)))}static fromString(ke,Ce){const $n=Ne.textForStringWithAttributes(ke,Ce);return new this([new Oe($n)])}constructor(){let ke=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];super(...arguments),ke.length===0&&(ke=[new Oe]),this.blockList=Be.box(ke)}isEmpty(){const ke=this.getBlockAtIndex(0);return this.blockList.length===1&&ke.isEmpty()&&!ke.hasAttributes()}copy(){const ke=(arguments.length>0&&arguments[0]!==void 0?arguments[0]:{}).consolidateBlocks?this.blockList.consolidate().toArray():this.blockList.toArray();return new this.constructor(ke)}copyUsingObjectsFromDocument(ke){const Ce=new Yt(ke.getObjects());return this.copyUsingObjectMap(Ce)}copyUsingObjectMap(ke){const Ce=this.getBlocks().map($n=>ke.find($n)||$n.copyUsingObjectMap(ke));return new this.constructor(Ce)}copyWithBaseBlockAttributes(){let ke=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];const Ce=this.getBlocks().map($n=>{const Mn=ke.concat($n.getAttributes());return $n.copyWithAttributes(Mn)});return new this.constructor(Ce)}replaceBlock(ke,Ce){const $n=this.blockList.indexOf(ke);return $n===-1?this:new this.constructor(this.blockList.replaceObjectAtIndex(Ce,$n))}insertDocumentAtRange(ke,Ce){const{blockList:$n}=ke;Ce=Lt(Ce);let[Mn]=Ce;const{index:Qn,offset:Vn}=this.locationFromPosition(Mn);let qn=this;const Zn=this.getBlockAtPosition(Mn);return Dt(Ce)&&Zn.isEmpty()&&!Zn.hasAttributes()?qn=new this.constructor(qn.blockList.removeObjectAtIndex(Qn)):Zn.getBlockBreakPosition()===Vn&&Mn++,qn=qn.removeTextAtRange(Ce),new this.constructor(qn.blockList.insertSplittableListAtPosition($n,Mn))}mergeDocumentAtRange(ke,Ce){let $n,Mn;Ce=Lt(Ce);const[Qn]=Ce,Vn=this.locationFromPosition(Qn),qn=this.getBlockAtIndex(Vn.index).getAttributes(),Zn=ke.getBaseBlockAttributes(),jn=qn.slice(-Zn.length);if(rt(Zn,jn)){const Hn=qn.slice(0,-Zn.length);$n=ke.copyWithBaseBlockAttributes(Hn)}else $n=ke.copy({consolidateBlocks:!0}).copyWithBaseBlockAttributes(qn);const Xn=$n.getBlockCount(),zn=$n.getBlockAtIndex(0);if(rt(qn,zn.getAttributes())){const Hn=zn.getTextWithoutBlockBreak();if(Mn=this.insertTextAtRange(Hn,Ce),Xn>1){$n=new this.constructor($n.getBlocks().slice(1));const Wn=Qn+Hn.getLength();Mn=Mn.insertDocumentAtRange($n,Wn)}}else Mn=this.insertDocumentAtRange($n,Ce);return Mn}insertTextAtRange(ke,Ce){Ce=Lt(Ce);const[$n]=Ce,{index:Mn,offset:Qn}=this.locationFromPosition($n),Vn=this.removeTextAtRange(Ce);return new this.constructor(Vn.blockList.editObjectAtIndex(Mn,qn=>qn.copyWithText(qn.text.insertTextAtPosition(ke,Qn))))}removeTextAtRange(ke){let Ce;ke=Lt(ke);const[$n,Mn]=ke;if(Dt(ke))return this;const[Qn,Vn]=Array.from(this.locationRangeFromRange(ke)),qn=Qn.index,Zn=Qn.offset,jn=this.getBlockAtIndex(qn),Xn=Vn.index,zn=Vn.offset,Hn=this.getBlockAtIndex(Xn);if(Mn-$n==1&&jn.getBlockBreakPosition()===Zn&&Hn.getBlockBreakPosition()!==zn&&Hn.text.getStringAtPosition(zn)===` `)Ce=this.blockList.editObjectAtIndex(Xn,Wn=>Wn.copyWithText(Wn.text.removeTextAtRange([zn,zn+1])));else{let Wn;const Yn=jn.text.getTextAtRange([0,Zn]),Un=Hn.text.getTextAtRange([zn,Hn.getLength()]),Gn=Yn.appendText(Un);Wn=qn!==Xn&&Zn===0&&jn.getAttributeLevel()>=Hn.getAttributeLevel()?Hn.copyWithText(Gn):jn.copyWithText(Gn);const Kn=Xn+1-qn;Ce=this.blockList.splice(qn,Kn,Wn)}return new this.constructor(Ce)}moveTextFromRangeToPosition(ke,Ce){let $n;ke=Lt(ke);const[Mn,Qn]=ke;if(Mn<=Ce&&Ce<=Qn)return this;let Vn=this.getDocumentAtRange(ke),qn=this.removeTextAtRange(ke);const Zn=MnMn=Mn.editObjectAtIndex(qn,function(){return gt(ke)?Qn.addAttribute(ke,Ce):Vn[0]===Vn[1]?Qn:Qn.copyWithText(Qn.text.addAttributeAtRange(ke,Ce,Vn))})),new this.constructor(Mn)}addAttribute(ke,Ce){let{blockList:$n}=this;return this.eachBlock((Mn,Qn)=>$n=$n.editObjectAtIndex(Qn,()=>Mn.addAttribute(ke,Ce))),new this.constructor($n)}removeAttributeAtRange(ke,Ce){let{blockList:$n}=this;return this.eachBlockAtRange(Ce,function(Mn,Qn,Vn){gt(ke)?$n=$n.editObjectAtIndex(Vn,()=>Mn.removeAttribute(ke)):Qn[0]!==Qn[1]&&($n=$n.editObjectAtIndex(Vn,()=>Mn.copyWithText(Mn.text.removeAttributeAtRange(ke,Qn))))}),new this.constructor($n)}updateAttributesForAttachment(ke,Ce){const $n=this.getRangeOfAttachment(Ce),[Mn]=Array.from($n),{index:Qn}=this.locationFromPosition(Mn),Vn=this.getTextAtIndex(Qn);return new this.constructor(this.blockList.editObjectAtIndex(Qn,qn=>qn.copyWithText(Vn.updateAttributesForAttachment(ke,Ce))))}removeAttributeForAttachment(ke,Ce){const $n=this.getRangeOfAttachment(Ce);return this.removeAttributeAtRange(ke,$n)}setHTMLAttributeAtPosition(ke,Ce,$n){const Mn=this.getBlockAtPosition(ke),Qn=Mn.addHTMLAttribute(Ce,$n);return this.replaceBlock(Mn,Qn)}insertBlockBreakAtRange(ke){let Ce;ke=Lt(ke);const[$n]=ke,{offset:Mn}=this.locationFromPosition($n),Qn=this.removeTextAtRange(ke);return Mn===0&&(Ce=[new Oe]),new this.constructor(Qn.blockList.insertSplittableListAtPosition(new Be(Ce),$n))}applyBlockAttributeAtRange(ke,Ce,$n){const Mn=this.expandRangeToLineBreaksAndSplitBlocks($n);let Qn=Mn.document;$n=Mn.range;const Vn=gt(ke);if(Vn.listAttribute){Qn=Qn.removeLastListAttributeAtRange($n,{exceptAttributeName:ke});const qn=Qn.convertLineBreaksToBlockBreaksInRange($n);Qn=qn.document,$n=qn.range}else Qn=Vn.exclusive?Qn.removeBlockAttributesAtRange($n):Vn.terminal?Qn.removeLastTerminalAttributeAtRange($n):Qn.consolidateBlocksAtRange($n);return Qn.addAttributeAtRange(ke,Ce,$n)}removeLastListAttributeAtRange(ke){let Ce=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{blockList:$n}=this;return this.eachBlockAtRange(ke,function(Mn,Qn,Vn){const qn=Mn.getLastAttribute();qn&>(qn).listAttribute&&qn!==Ce.exceptAttributeName&&($n=$n.editObjectAtIndex(Vn,()=>Mn.removeAttribute(qn)))}),new this.constructor($n)}removeLastTerminalAttributeAtRange(ke){let{blockList:Ce}=this;return this.eachBlockAtRange(ke,function($n,Mn,Qn){const Vn=$n.getLastAttribute();Vn&>(Vn).terminal&&(Ce=Ce.editObjectAtIndex(Qn,()=>$n.removeAttribute(Vn)))}),new this.constructor(Ce)}removeBlockAttributesAtRange(ke){let{blockList:Ce}=this;return this.eachBlockAtRange(ke,function($n,Mn,Qn){$n.hasAttributes()&&(Ce=Ce.editObjectAtIndex(Qn,()=>$n.copyWithoutAttributes()))}),new this.constructor(Ce)}expandRangeToLineBreaksAndSplitBlocks(ke){let Ce;ke=Lt(ke);let[$n,Mn]=ke;const Qn=this.locationFromPosition($n),Vn=this.locationFromPosition(Mn);let qn=this;const Zn=qn.getBlockAtIndex(Qn.index);if(Qn.offset=Zn.findLineBreakInDirectionFromPosition("backward",Qn.offset),Qn.offset!=null&&(Ce=qn.positionFromLocation(Qn),qn=qn.insertBlockBreakAtRange([Ce,Ce+1]),Vn.index+=1,Vn.offset-=qn.getBlockAtIndex(Qn.index).getLength(),Qn.index+=1),Qn.offset=0,Vn.offset===0&&Vn.index>Qn.index)Vn.index-=1,Vn.offset=qn.getBlockAtIndex(Vn.index).getBlockBreakPosition();else{const jn=qn.getBlockAtIndex(Vn.index);jn.text.getStringAtRange([Vn.offset-1,Vn.offset])===` `?Vn.offset-=1:Vn.offset=jn.findLineBreakInDirectionFromPosition("forward",Vn.offset),Vn.offset!==jn.getBlockBreakPosition()&&(Ce=qn.positionFromLocation(Vn),qn=qn.insertBlockBreakAtRange([Ce,Ce+1]))}return $n=qn.positionFromLocation(Qn),Mn=qn.positionFromLocation(Vn),{document:qn,range:ke=Lt([$n,Mn])}}convertLineBreaksToBlockBreaksInRange(ke){ke=Lt(ke);let[Ce]=ke;const $n=this.getStringAtRange(ke).slice(0,-1);let Mn=this;return $n.replace(/.*?\n/g,function(Qn){Ce+=Qn.length,Mn=Mn.insertBlockBreakAtRange([Ce-1,Ce])}),{document:Mn,range:ke}}consolidateBlocksAtRange(ke){ke=Lt(ke);const[Ce,$n]=ke,Mn=this.locationFromPosition(Ce).index,Qn=this.locationFromPosition($n).index;return new this.constructor(this.blockList.consolidateFromIndexToIndex(Mn,Qn))}getDocumentAtRange(ke){ke=Lt(ke);const Ce=this.blockList.getSplittableListInRange(ke).toArray();return new this.constructor(Ce)}getStringAtRange(ke){let Ce;const $n=ke=Lt(ke);return $n[$n.length-1]!==this.getLength()&&(Ce=-1),this.getDocumentAtRange(ke).toString().slice(0,Ce)}getBlockAtIndex(ke){return this.blockList.getObjectAtIndex(ke)}getBlockAtPosition(ke){const{index:Ce}=this.locationFromPosition(ke);return this.getBlockAtIndex(Ce)}getTextAtIndex(ke){var Ce;return(Ce=this.getBlockAtIndex(ke))===null||Ce===void 0?void 0:Ce.text}getTextAtPosition(ke){const{index:Ce}=this.locationFromPosition(ke);return this.getTextAtIndex(Ce)}getPieceAtPosition(ke){const{index:Ce,offset:$n}=this.locationFromPosition(ke);return this.getTextAtIndex(Ce).getPieceAtPosition($n)}getCharacterAtPosition(ke){const{index:Ce,offset:$n}=this.locationFromPosition(ke);return this.getTextAtIndex(Ce).getStringAtRange([$n,$n+1])}getLength(){return this.blockList.getEndPosition()}getBlocks(){return this.blockList.toArray()}getBlockCount(){return this.blockList.length}getEditCount(){return this.editCount}eachBlock(ke){return this.blockList.eachObject(ke)}eachBlockAtRange(ke,Ce){let $n,Mn;ke=Lt(ke);const[Qn,Vn]=ke,qn=this.locationFromPosition(Qn),Zn=this.locationFromPosition(Vn);if(qn.index===Zn.index)return $n=this.getBlockAtIndex(qn.index),Mn=[qn.offset,Zn.offset],Ce($n,Mn,qn.index);for(let jn=qn.index;jn<=Zn.index;jn++)if($n=this.getBlockAtIndex(jn),$n){switch(jn){case qn.index:Mn=[qn.offset,$n.text.getLength()];break;case Zn.index:Mn=[0,Zn.offset];break;default:Mn=[0,$n.text.getLength()]}Ce($n,Mn,jn)}}getCommonAttributesAtRange(ke){ke=Lt(ke);const[Ce]=ke;if(Dt(ke))return this.getCommonAttributesAtPosition(Ce);{const $n=[],Mn=[];return this.eachBlockAtRange(ke,function(Qn,Vn){if(Vn[0]!==Vn[1])return $n.push(Qn.text.getCommonAttributesAtRange(Vn)),Mn.push(Ke(Qn))}),zt.fromCommonAttributesOfObjects($n).merge(zt.fromCommonAttributesOfObjects(Mn)).toObject()}}getCommonAttributesAtPosition(ke){let Ce,$n;const{index:Mn,offset:Qn}=this.locationFromPosition(ke),Vn=this.getBlockAtIndex(Mn);if(!Vn)return{};const qn=Ke(Vn),Zn=Vn.text.getAttributesAtPosition(Qn),jn=Vn.text.getAttributesAtPosition(Qn-1),Xn=Object.keys(W).filter(zn=>W[zn].inheritable);for(Ce in jn)$n=jn[Ce],($n===Zn[Ce]||Xn.includes(Ce))&&(qn[Ce]=$n);return qn}getRangeOfCommonAttributeAtPosition(ke,Ce){const{index:$n,offset:Mn}=this.locationFromPosition(Ce),Qn=this.getTextAtIndex($n),[Vn,qn]=Array.from(Qn.getExpandedRangeForAttributeAtOffset(ke,Mn)),Zn=this.positionFromLocation({index:$n,offset:Vn}),jn=this.positionFromLocation({index:$n,offset:qn});return Lt([Zn,jn])}getBaseBlockAttributes(){let ke=this.getBlockAtIndex(0).getAttributes();for(let Ce=1;Ce{const Qn=[];for(let Vn=0;Vn{let{text:$n}=Ce;return ke=ke.concat($n.getAttachmentPieces())}),ke}getAttachments(){return this.getAttachmentPieces().map(ke=>ke.attachment)}getRangeOfAttachment(ke){let Ce=0;const $n=this.blockList.toArray();for(let Mn=0;Mn<$n.length;Mn++){const{text:Qn}=$n[Mn],Vn=Qn.getRangeOfAttachment(ke);if(Vn)return Lt([Ce+Vn[0],Ce+Vn[1]]);Ce+=Qn.getLength()}}getLocationRangeOfAttachment(ke){const Ce=this.getRangeOfAttachment(ke);return this.locationRangeFromRange(Ce)}getAttachmentPieceForAttachment(ke){for(const Ce of this.getAttachmentPieces())if(Ce.attachment===ke)return Ce}findRangesForBlockAttribute(ke){let Ce=0;const $n=[];return this.getBlocks().forEach(Mn=>{const Qn=Mn.getLength();Mn.hasAttribute(ke)&&$n.push([Ce,Ce+Qn]),Ce+=Qn}),$n}findRangesForTextAttribute(ke){let{withValue:Ce}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},$n=0,Mn=[];const Qn=[];return this.getPieces().forEach(Vn=>{const qn=Vn.getLength();(function(Zn){return Ce?Zn.getAttribute(ke)===Ce:Zn.hasAttribute(ke)})(Vn)&&(Mn[1]===$n?Mn[1]=$n+qn:Qn.push(Mn=[$n,$n+qn])),$n+=qn}),Qn}locationFromPosition(ke){const Ce=this.blockList.findIndexAndOffsetAtPosition(Math.max(0,ke));if(Ce.index!=null)return Ce;{const $n=this.getBlocks();return{index:$n.length-1,offset:$n[$n.length-1].getLength()}}}positionFromLocation(ke){return this.blockList.findPositionAtIndexAndOffset(ke.index,ke.offset)}locationRangeFromPosition(ke){return Lt(this.locationFromPosition(ke))}locationRangeFromRange(ke){if(!(ke=Lt(ke)))return;const[Ce,$n]=Array.from(ke),Mn=this.locationFromPosition(Ce),Qn=this.locationFromPosition($n);return Lt([Mn,Qn])}rangeFromLocationRange(ke){let Ce;ke=Lt(ke);const $n=this.positionFromLocation(ke[0]);return Dt(ke)||(Ce=this.positionFromLocation(ke[1])),Lt([$n,Ce])}isEqualTo(ke){return this.blockList.isEqualTo(ke==null?void 0:ke.blockList)}getTexts(){return this.getBlocks().map(ke=>ke.text)}getPieces(){const ke=[];return Array.from(this.getTexts()).forEach(Ce=>{ke.push(...Array.from(Ce.getPieces()||[]))}),ke}getObjects(){return this.getBlocks().concat(this.getTexts()).concat(this.getPieces())}toSerializableDocument(){const ke=[];return this.blockList.eachObject(Ce=>ke.push(Ce.copyWithText(Ce.text.toSerializableText()))),new this.constructor(ke)}toString(){return this.blockList.toString()}toJSON(){return this.blockList.toJSON()}toConsole(){return JSON.stringify(this.blockList.toArray().map(ke=>JSON.parse(ke.text.toConsole())))}}const Ke=function(_n){const ke={},Ce=_n.getLastAttribute();return Ce&&(ke[Ce]=!0),ke},Ge=function(_n){let ke=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return{string:_n=Wt(_n),attributes:ke,type:"string"}},$e=(_n,ke)=>{try{return JSON.parse(_n.getAttribute("data-trix-".concat(ke)))}catch{return{}}};class Xe extends H{static parse(ke,Ce){const $n=new this(ke,Ce);return $n.parse(),$n}constructor(ke){let{referenceElement:Ce}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(...arguments),this.html=ke,this.referenceElement=Ce,this.blocks=[],this.blockElements=[],this.processedElements=[]}getDocument(){return Je.fromJSON(this.blocks)}parse(){try{this.createHiddenContainer(),se.setHTML(this.containerElement,this.html);const ke=R(this.containerElement,{usingFilter:ti});for(;ke.nextNode();)this.processNode(ke.currentNode);return this.translateBlockElementMarginsToNewlines()}finally{this.removeHiddenContainer()}}createHiddenContainer(){return this.referenceElement?(this.containerElement=this.referenceElement.cloneNode(!1),this.containerElement.removeAttribute("id"),this.containerElement.setAttribute("data-trix-internal",""),this.containerElement.style.display="none",this.referenceElement.parentNode.insertBefore(this.containerElement,this.referenceElement.nextSibling)):(this.containerElement=S$1({tagName:"div",style:{display:"none"}}),document.body.appendChild(this.containerElement))}removeHiddenContainer(){return k(this.containerElement)}processNode(ke){switch(ke.nodeType){case Node.TEXT_NODE:if(!this.isInsignificantTextNode(ke))return this.appendBlockForTextNode(ke),this.processTextNode(ke);break;case Node.ELEMENT_NODE:return this.appendBlockForElement(ke),this.processElement(ke)}}appendBlockForTextNode(ke){const Ce=ke.parentNode;if(Ce===this.currentBlockElement&&this.isBlockElement(ke.previousSibling))return this.appendStringWithAttributes(` `);if(Ce===this.containerElement||this.isBlockElement(Ce)){var $n;const Mn=this.getBlockAttributes(Ce),Qn=this.getBlockHTMLAttributes(Ce);rt(Mn,($n=this.currentBlock)===null||$n===void 0?void 0:$n.attributes)||(this.currentBlock=this.appendBlockForAttributesWithElement(Mn,Ce,Qn),this.currentBlockElement=Ce)}}appendBlockForElement(ke){const Ce=this.isBlockElement(ke),$n=y(this.currentBlockElement,ke);if(Ce&&!this.isBlockElement(ke.firstChild)){if(!this.isInsignificantTextNode(ke.firstChild)||!this.isBlockElement(ke.firstElementChild)){const Mn=this.getBlockAttributes(ke),Qn=this.getBlockHTMLAttributes(ke);if(ke.firstChild){if($n&&rt(Mn,this.currentBlock.attributes))return this.appendStringWithAttributes(` `);this.currentBlock=this.appendBlockForAttributesWithElement(Mn,ke,Qn),this.currentBlockElement=ke}}}else if(this.currentBlockElement&&!$n&&!Ce){const Mn=this.findParentBlockElement(ke);if(Mn)return this.appendBlockForElement(Mn);this.currentBlock=this.appendEmptyBlock(),this.currentBlockElement=null}}findParentBlockElement(ke){let{parentElement:Ce}=ke;for(;Ce&&Ce!==this.containerElement;){if(this.isBlockElement(Ce)&&this.blockElements.includes(Ce))return Ce;Ce=Ce.parentElement}return null}processTextNode(ke){let Ce=ke.data;var $n;return Ye(ke.parentNode)||(Ce=qt(Ce),ni(($n=ke.previousSibling)===null||$n===void 0?void 0:$n.textContent)&&(Ce=ei(Ce))),this.appendStringWithAttributes(Ce,this.getTextAttributes(ke.parentNode))}processElement(ke){let Ce;if(I(ke)){if(Ce=$e(ke,"attachment"),Object.keys(Ce).length){const $n=this.getTextAttributes(ke);this.appendAttachmentWithAttributes(Ce,$n),ke.innerHTML=""}return this.processedElements.push(ke)}switch(E(ke)){case"br":return this.isExtraBR(ke)||this.isBlockElement(ke.nextSibling)||this.appendStringWithAttributes(` `,this.getTextAttributes(ke)),this.processedElements.push(ke);case"img":Ce={url:ke.getAttribute("src"),contentType:"image"};const $n=(Mn=>{const Qn=Mn.getAttribute("width"),Vn=Mn.getAttribute("height"),qn={};return Qn&&(qn.width=parseInt(Qn,10)),Vn&&(qn.height=parseInt(Vn,10)),qn})(ke);for(const Mn in $n){const Qn=$n[Mn];Ce[Mn]=Qn}return this.appendAttachmentWithAttributes(Ce,this.getTextAttributes(ke)),this.processedElements.push(ke);case"tr":if(this.needsTableSeparator(ke))return this.appendStringWithAttributes(j.tableRowSeparator);break;case"td":if(this.needsTableSeparator(ke))return this.appendStringWithAttributes(j.tableCellSeparator)}}appendBlockForAttributesWithElement(ke,Ce){let $n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.blockElements.push(Ce);const Mn=function(){return{text:[],attributes:arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},htmlAttributes:arguments.length>1&&arguments[1]!==void 0?arguments[1]:{}}}(ke,$n);return this.blocks.push(Mn),Mn}appendEmptyBlock(){return this.appendBlockForAttributesWithElement([],null)}appendStringWithAttributes(ke,Ce){return this.appendPiece(Ge(ke,Ce))}appendAttachmentWithAttributes(ke,Ce){return this.appendPiece(function($n){return{attachment:$n,attributes:arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},type:"attachment"}}(ke,Ce))}appendPiece(ke){return this.blocks.length===0&&this.appendEmptyBlock(),this.blocks[this.blocks.length-1].text.push(ke)}appendStringToTextAtIndex(ke,Ce){const{text:$n}=this.blocks[Ce],Mn=$n[$n.length-1];if((Mn==null?void 0:Mn.type)!=="string")return $n.push(Ge(ke));Mn.string+=ke}prependStringToTextAtIndex(ke,Ce){const{text:$n}=this.blocks[Ce],Mn=$n[0];if((Mn==null?void 0:Mn.type)!=="string")return $n.unshift(Ge(ke));Mn.string=ke+Mn.string}getTextAttributes(ke){let Ce;const $n={};for(const Mn in W){const Qn=W[Mn];if(Qn.tagName&&A(ke,{matchingSelector:Qn.tagName,untilNode:this.containerElement}))$n[Mn]=!0;else if(Qn.parser){if(Ce=Qn.parser(ke),Ce){let Vn=!1;for(const qn of this.findBlockElementAncestors(ke))if(Qn.parser(qn)===Ce){Vn=!0;break}Vn||($n[Mn]=Ce)}}else Qn.styleProperty&&(Ce=ke.style[Qn.styleProperty],Ce&&($n[Mn]=Ce))}if(I(ke)){const Mn=$e(ke,"attributes");for(const Qn in Mn)Ce=Mn[Qn],$n[Qn]=Ce}return $n}getBlockAttributes(ke){const Ce=[];for(;ke&&ke!==this.containerElement;){for(const Mn in n){const Qn=n[Mn];var $n;Qn.parse!==!1&&E(ke)===Qn.tagName&&(($n=Qn.test)!==null&&$n!==void 0&&$n.call(Qn,ke)||!Qn.test)&&(Ce.push(Mn),Qn.listAttribute&&Ce.push(Qn.listAttribute))}ke=ke.parentNode}return Ce.reverse()}getBlockHTMLAttributes(ke){const Ce={},$n=Object.values(n).find(Mn=>Mn.tagName===E(ke));return(($n==null?void 0:$n.htmlAttributes)||[]).forEach(Mn=>{ke.hasAttribute(Mn)&&(Ce[Mn]=ke.getAttribute(Mn))}),Ce}findBlockElementAncestors(ke){const Ce=[];for(;ke&&ke!==this.containerElement;){const $n=E(ke);D().includes($n)&&Ce.push(ke),ke=ke.parentNode}return Ce}isBlockElement(ke){if((ke==null?void 0:ke.nodeType)===Node.ELEMENT_NODE&&!I(ke)&&!A(ke,{matchingSelector:"td",untilNode:this.containerElement}))return D().includes(E(ke))||window.getComputedStyle(ke).display==="block"}isInsignificantTextNode(ke){if((ke==null?void 0:ke.nodeType)!==Node.TEXT_NODE||!ii(ke.data))return;const{parentNode:Ce,previousSibling:$n,nextSibling:Mn}=ke;return Qe(Ce.previousSibling)&&!this.isBlockElement(Ce.previousSibling)||Ye(Ce)?void 0:!$n||this.isBlockElement($n)||!Mn||this.isBlockElement(Mn)}isExtraBR(ke){return E(ke)==="br"&&this.isBlockElement(ke.parentNode)&&ke.parentNode.lastChild===ke}needsTableSeparator(ke){if(j.removeBlankTableCells){var Ce;const $n=(Ce=ke.previousSibling)===null||Ce===void 0?void 0:Ce.textContent;return $n&&/\S/.test($n)}return ke.previousSibling}translateBlockElementMarginsToNewlines(){const ke=this.getMarginOfDefaultBlockElement();for(let Ce=0;Ce2*ke.top&&this.prependStringToTextAtIndex(` `,Ce),$n.bottom>2*ke.bottom&&this.appendStringToTextAtIndex(` `,Ce))}}getMarginOfBlockElementAtIndex(ke){const Ce=this.blockElements[ke];if(Ce&&Ce.textContent&&!D().includes(E(Ce))&&!this.processedElements.includes(Ce))return Ze(Ce)}getMarginOfDefaultBlockElement(){const ke=S$1(n.default.tagName);return this.containerElement.appendChild(ke),Ze(ke)}}const Ye=function(_n){const{whiteSpace:ke}=window.getComputedStyle(_n);return["pre","pre-wrap","pre-line"].includes(ke)},Qe=_n=>_n&&!ni(_n.textContent),Ze=function(_n){const ke=window.getComputedStyle(_n);if(ke.display==="block")return{top:parseInt(ke.marginTop),bottom:parseInt(ke.marginBottom)}},ti=function(_n){return E(_n)==="style"?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},ei=_n=>_n.replace(new RegExp("^".concat(Ut.source,"+")),""),ii=_n=>new RegExp("^".concat(Ut.source,"*$")).test(_n),ni=_n=>/\s$/.test(_n),ri=["contenteditable","data-trix-id","data-trix-store-key","data-trix-mutable","data-trix-placeholder","tabindex"],oi="data-trix-serialized-attributes",si="[".concat(oi,"]"),ai=new RegExp("","g"),li={"application/json":function(_n){let ke;if(_n instanceof Je)ke=_n;else{if(!(_n instanceof HTMLElement))throw new Error("unserializable object");ke=Xe.parse(_n.innerHTML).getDocument()}return ke.toSerializableDocument().toJSONString()},"text/html":function(_n){let ke;if(_n instanceof Je)ke=ve.render(_n);else{if(!(_n instanceof HTMLElement))throw new Error("unserializable object");ke=_n.cloneNode(!0)}return Array.from(ke.querySelectorAll("[data-trix-serialize=false]")).forEach(Ce=>{k(Ce)}),ri.forEach(Ce=>{Array.from(ke.querySelectorAll("[".concat(Ce,"]"))).forEach($n=>{$n.removeAttribute(Ce)})}),Array.from(ke.querySelectorAll(si)).forEach(Ce=>{try{const $n=JSON.parse(Ce.getAttribute(oi));Ce.removeAttribute(oi);for(const Mn in $n){const Qn=$n[Mn];Ce.setAttribute(Mn,Qn)}}catch{}}),ke.innerHTML.replace(ai,"")}};var ci=Object.freeze({__proto__:null});class ui extends H{constructor(ke,Ce){super(...arguments),this.attachmentManager=ke,this.attachment=Ce,this.id=this.attachment.id,this.file=this.attachment.file}remove(){return this.attachmentManager.requestRemovalOfAttachment(this.attachment)}}ui.proxyMethod("attachment.getAttribute"),ui.proxyMethod("attachment.hasAttribute"),ui.proxyMethod("attachment.setAttribute"),ui.proxyMethod("attachment.getAttributes"),ui.proxyMethod("attachment.setAttributes"),ui.proxyMethod("attachment.isPending"),ui.proxyMethod("attachment.isPreviewable"),ui.proxyMethod("attachment.getURL"),ui.proxyMethod("attachment.getHref"),ui.proxyMethod("attachment.getFilename"),ui.proxyMethod("attachment.getFilesize"),ui.proxyMethod("attachment.getFormattedFilesize"),ui.proxyMethod("attachment.getExtension"),ui.proxyMethod("attachment.getContentType"),ui.proxyMethod("attachment.getFile"),ui.proxyMethod("attachment.setFile"),ui.proxyMethod("attachment.releaseFile"),ui.proxyMethod("attachment.getUploadProgress"),ui.proxyMethod("attachment.setUploadProgress");class hi extends H{constructor(){let ke=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];super(...arguments),this.managedAttachments={},Array.from(ke).forEach(Ce=>{this.manageAttachment(Ce)})}getAttachments(){const ke=[];for(const Ce in this.managedAttachments){const $n=this.managedAttachments[Ce];ke.push($n)}return ke}manageAttachment(ke){return this.managedAttachments[ke.id]||(this.managedAttachments[ke.id]=new ui(this,ke)),this.managedAttachments[ke.id]}attachmentIsManaged(ke){return ke.id in this.managedAttachments}requestRemovalOfAttachment(ke){var Ce,$n;if(this.attachmentIsManaged(ke))return(Ce=this.delegate)===null||Ce===void 0||($n=Ce.attachmentManagerDidRequestRemovalOfAttachment)===null||$n===void 0?void 0:$n.call(Ce,ke)}unmanageAttachment(ke){const Ce=this.managedAttachments[ke.id];return delete this.managedAttachments[ke.id],Ce}}class di{constructor(ke){this.composition=ke,this.document=this.composition.document;const Ce=this.composition.getSelectedRange();this.startPosition=Ce[0],this.endPosition=Ce[1],this.startLocation=this.document.locationFromPosition(this.startPosition),this.endLocation=this.document.locationFromPosition(this.endPosition),this.block=this.document.getBlockAtIndex(this.endLocation.index),this.breaksOnReturn=this.block.breaksOnReturn(),this.previousCharacter=this.block.text.getStringAtPosition(this.endLocation.offset-1),this.nextCharacter=this.block.text.getStringAtPosition(this.endLocation.offset)}shouldInsertBlockBreak(){return this.block.hasAttributes()&&this.block.isListItem()&&!this.block.isEmpty()?this.startLocation.offset!==0:this.breaksOnReturn&&this.nextCharacter!==` `}shouldBreakFormattedBlock(){return this.block.hasAttributes()&&!this.block.isListItem()&&(this.breaksOnReturn&&this.nextCharacter===` `||this.previousCharacter===` `)}shouldDecreaseListLevel(){return this.block.hasAttributes()&&this.block.isListItem()&&this.block.isEmpty()}shouldPrependListItem(){return this.block.isListItem()&&this.startLocation.offset===0&&!this.block.isEmpty()}shouldRemoveLastBlockAttribute(){return this.block.hasAttributes()&&!this.block.isListItem()&&this.block.isEmpty()}}class gi extends H{constructor(){super(...arguments),this.document=new Je,this.attachments=[],this.currentAttributes={},this.revision=0}setDocument(ke){var Ce,$n;if(!ke.isEqualTo(this.document))return this.document=ke,this.refreshAttachments(),this.revision++,(Ce=this.delegate)===null||Ce===void 0||($n=Ce.compositionDidChangeDocument)===null||$n===void 0?void 0:$n.call(Ce,ke)}getSnapshot(){return{document:this.document,selectedRange:this.getSelectedRange()}}loadSnapshot(ke){var Ce,$n,Mn,Qn;let{document:Vn,selectedRange:qn}=ke;return(Ce=this.delegate)===null||Ce===void 0||($n=Ce.compositionWillLoadSnapshot)===null||$n===void 0||$n.call(Ce),this.setDocument(Vn??new Je),this.setSelection(qn??[0,0]),(Mn=this.delegate)===null||Mn===void 0||(Qn=Mn.compositionDidLoadSnapshot)===null||Qn===void 0?void 0:Qn.call(Mn)}insertText(ke){let{updatePosition:Ce}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{updatePosition:!0};const $n=this.getSelectedRange();this.setDocument(this.document.insertTextAtRange(ke,$n));const Mn=$n[0],Qn=Mn+ke.getLength();return Ce&&this.setSelection(Qn),this.notifyDelegateOfInsertionAtRange([Mn,Qn])}insertBlock(){let ke=arguments.length>0&&arguments[0]!==void 0?arguments[0]:new Oe;const Ce=new Je([ke]);return this.insertDocument(Ce)}insertDocument(){let ke=arguments.length>0&&arguments[0]!==void 0?arguments[0]:new Je;const Ce=this.getSelectedRange();this.setDocument(this.document.insertDocumentAtRange(ke,Ce));const $n=Ce[0],Mn=$n+ke.getLength();return this.setSelection(Mn),this.notifyDelegateOfInsertionAtRange([$n,Mn])}insertString(ke,Ce){const $n=this.getCurrentTextAttributes(),Mn=Ne.textForStringWithAttributes(ke,$n);return this.insertText(Mn,Ce)}insertBlockBreak(){const ke=this.getSelectedRange();this.setDocument(this.document.insertBlockBreakAtRange(ke));const Ce=ke[0],$n=Ce+1;return this.setSelection($n),this.notifyDelegateOfInsertionAtRange([Ce,$n])}insertLineBreak(){const ke=new di(this);if(ke.shouldDecreaseListLevel())return this.decreaseListLevel(),this.setSelection(ke.startPosition);if(ke.shouldPrependListItem()){const Ce=new Je([ke.block.copyWithoutText()]);return this.insertDocument(Ce)}return ke.shouldInsertBlockBreak()?this.insertBlockBreak():ke.shouldRemoveLastBlockAttribute()?this.removeLastBlockAttribute():ke.shouldBreakFormattedBlock()?this.breakFormattedBlock(ke):this.insertString(` `)}insertHTML(ke){const Ce=Xe.parse(ke).getDocument(),$n=this.getSelectedRange();this.setDocument(this.document.mergeDocumentAtRange(Ce,$n));const Mn=$n[0],Qn=Mn+Ce.getLength()-1;return this.setSelection(Qn),this.notifyDelegateOfInsertionAtRange([Mn,Qn])}replaceHTML(ke){const Ce=Xe.parse(ke).getDocument().copyUsingObjectsFromDocument(this.document),$n=this.getLocationRange({strict:!1}),Mn=this.document.rangeFromLocationRange($n);return this.setDocument(Ce),this.setSelection(Mn)}insertFile(ke){return this.insertFiles([ke])}insertFiles(ke){const Ce=[];return Array.from(ke).forEach($n=>{var Mn;if((Mn=this.delegate)!==null&&Mn!==void 0&&Mn.compositionShouldAcceptFile($n)){const Qn=De.attachmentForFile($n);Ce.push(Qn)}}),this.insertAttachments(Ce)}insertAttachment(ke){return this.insertAttachments([ke])}insertAttachments(ke){let Ce=new Ne;return Array.from(ke).forEach($n=>{var Mn;const Qn=$n.getType(),Vn=(Mn=i$1[Qn])===null||Mn===void 0?void 0:Mn.presentation,qn=this.getCurrentTextAttributes();Vn&&(qn.presentation=Vn);const Zn=Ne.textForAttachmentWithAttributes($n,qn);Ce=Ce.appendText(Zn)}),this.insertText(Ce)}shouldManageDeletingInDirection(ke){const Ce=this.getLocationRange();if(Dt(Ce)){if(ke==="backward"&&Ce[0].offset===0||this.shouldManageMovingCursorInDirection(ke))return!0}else if(Ce[0].index!==Ce[1].index)return!0;return!1}deleteInDirection(ke){let Ce,$n,Mn,{length:Qn}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const Vn=this.getLocationRange();let qn=this.getSelectedRange();const Zn=Dt(qn);if(Zn?$n=ke==="backward"&&Vn[0].offset===0:Mn=Vn[0].index!==Vn[1].index,$n&&this.canDecreaseBlockAttributeLevel()){const jn=this.getBlock();if(jn.isListItem()?this.decreaseListLevel():this.decreaseBlockAttributeLevel(),this.setSelection(qn[0]),jn.isEmpty())return!1}return Zn&&(qn=this.getExpandedRangeInDirection(ke,{length:Qn}),ke==="backward"&&(Ce=this.getAttachmentAtRange(qn))),Ce?(this.editAttachment(Ce),!1):(this.setDocument(this.document.removeTextAtRange(qn)),this.setSelection(qn[0]),!$n&&!Mn&&void 0)}moveTextFromRange(ke){const[Ce]=Array.from(this.getSelectedRange());return this.setDocument(this.document.moveTextFromRangeToPosition(ke,Ce)),this.setSelection(Ce)}removeAttachment(ke){const Ce=this.document.getRangeOfAttachment(ke);if(Ce)return this.stopEditingAttachment(),this.setDocument(this.document.removeTextAtRange(Ce)),this.setSelection(Ce[0])}removeLastBlockAttribute(){const[ke,Ce]=Array.from(this.getSelectedRange()),$n=this.document.getBlockAtPosition(Ce);return this.removeCurrentAttribute($n.getLastAttribute()),this.setSelection(ke)}insertPlaceholder(){return this.placeholderPosition=this.getPosition(),this.insertString(" ")}selectPlaceholder(){if(this.placeholderPosition!=null)return this.setSelectedRange([this.placeholderPosition,this.placeholderPosition+1]),this.getSelectedRange()}forgetPlaceholder(){this.placeholderPosition=null}hasCurrentAttribute(ke){const Ce=this.currentAttributes[ke];return Ce!=null&&Ce!==!1}toggleCurrentAttribute(ke){const Ce=!this.currentAttributes[ke];return Ce?this.setCurrentAttribute(ke,Ce):this.removeCurrentAttribute(ke)}canSetCurrentAttribute(ke){return gt(ke)?this.canSetCurrentBlockAttribute(ke):this.canSetCurrentTextAttribute(ke)}canSetCurrentTextAttribute(ke){const Ce=this.getSelectedDocument();if(Ce){for(const $n of Array.from(Ce.getAttachments()))if(!$n.hasContent())return!1;return!0}}canSetCurrentBlockAttribute(ke){const Ce=this.getBlock();if(Ce)return!Ce.isTerminalBlock()}setCurrentAttribute(ke,Ce){return gt(ke)?this.setBlockAttribute(ke,Ce):(this.setTextAttribute(ke,Ce),this.currentAttributes[ke]=Ce,this.notifyDelegateOfCurrentAttributesChange())}setHTMLAtributeAtPosition(ke,Ce,$n){var Mn;const Qn=this.document.getBlockAtPosition(ke),Vn=(Mn=gt(Qn.getLastAttribute()))===null||Mn===void 0?void 0:Mn.htmlAttributes;if(Qn&&Vn!=null&&Vn.includes(Ce)){const qn=this.document.setHTMLAttributeAtPosition(ke,Ce,$n);this.setDocument(qn)}}setTextAttribute(ke,Ce){const $n=this.getSelectedRange();if(!$n)return;const[Mn,Qn]=Array.from($n);if(Mn!==Qn)return this.setDocument(this.document.addAttributeAtRange(ke,Ce,$n));if(ke==="href"){const Vn=Ne.textForStringWithAttributes(Ce,{href:Ce});return this.insertText(Vn)}}setBlockAttribute(ke,Ce){const $n=this.getSelectedRange();if(this.canSetCurrentAttribute(ke))return this.setDocument(this.document.applyBlockAttributeAtRange(ke,Ce,$n)),this.setSelection($n)}removeCurrentAttribute(ke){return gt(ke)?(this.removeBlockAttribute(ke),this.updateCurrentAttributes()):(this.removeTextAttribute(ke),delete this.currentAttributes[ke],this.notifyDelegateOfCurrentAttributesChange())}removeTextAttribute(ke){const Ce=this.getSelectedRange();if(Ce)return this.setDocument(this.document.removeAttributeAtRange(ke,Ce))}removeBlockAttribute(ke){const Ce=this.getSelectedRange();if(Ce)return this.setDocument(this.document.removeAttributeAtRange(ke,Ce))}canDecreaseNestingLevel(){var ke;return((ke=this.getBlock())===null||ke===void 0?void 0:ke.getNestingLevel())>0}canIncreaseNestingLevel(){var ke;const Ce=this.getBlock();if(Ce){if((ke=gt(Ce.getLastNestableAttribute()))===null||ke===void 0||!ke.listAttribute)return Ce.getNestingLevel()>0;{const $n=this.getPreviousBlock();if($n)return function(){let Mn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return rt((arguments.length>0&&arguments[0]!==void 0?arguments[0]:[]).slice(0,Mn.length),Mn)}($n.getListItemAttributes(),Ce.getListItemAttributes())}}}decreaseNestingLevel(){const ke=this.getBlock();if(ke)return this.setDocument(this.document.replaceBlock(ke,ke.decreaseNestingLevel()))}increaseNestingLevel(){const ke=this.getBlock();if(ke)return this.setDocument(this.document.replaceBlock(ke,ke.increaseNestingLevel()))}canDecreaseBlockAttributeLevel(){var ke;return((ke=this.getBlock())===null||ke===void 0?void 0:ke.getAttributeLevel())>0}decreaseBlockAttributeLevel(){var ke;const Ce=(ke=this.getBlock())===null||ke===void 0?void 0:ke.getLastAttribute();if(Ce)return this.removeCurrentAttribute(Ce)}decreaseListLevel(){let[ke]=Array.from(this.getSelectedRange());const{index:Ce}=this.document.locationFromPosition(ke);let $n=Ce;const Mn=this.getBlock().getAttributeLevel();let Qn=this.document.getBlockAtIndex($n+1);for(;Qn&&Qn.isListItem()&&!(Qn.getAttributeLevel()<=Mn);)$n++,Qn=this.document.getBlockAtIndex($n+1);ke=this.document.positionFromLocation({index:Ce,offset:0});const Vn=this.document.positionFromLocation({index:$n,offset:0});return this.setDocument(this.document.removeLastListAttributeAtRange([ke,Vn]))}updateCurrentAttributes(){const ke=this.getSelectedRange({ignoreLock:!0});if(ke){const Ce=this.document.getCommonAttributesAtRange(ke);if(Array.from(dt()).forEach($n=>{Ce[$n]||this.canSetCurrentAttribute($n)||(Ce[$n]=!1)}),!St(Ce,this.currentAttributes))return this.currentAttributes=Ce,this.notifyDelegateOfCurrentAttributesChange()}}getCurrentAttributes(){return g.call({},this.currentAttributes)}getCurrentTextAttributes(){const ke={};for(const Ce in this.currentAttributes){const $n=this.currentAttributes[Ce];$n!==!1&&pt(Ce)&&(ke[Ce]=$n)}return ke}freezeSelection(){return this.setCurrentAttribute("frozen",!0)}thawSelection(){return this.removeCurrentAttribute("frozen")}hasFrozenSelection(){return this.hasCurrentAttribute("frozen")}setSelection(ke){var Ce;const $n=this.document.locationRangeFromRange(ke);return(Ce=this.delegate)===null||Ce===void 0?void 0:Ce.compositionDidRequestChangingSelectionToLocationRange($n)}getSelectedRange(){const ke=this.getLocationRange();if(ke)return this.document.rangeFromLocationRange(ke)}setSelectedRange(ke){const Ce=this.document.locationRangeFromRange(ke);return this.getSelectionManager().setLocationRange(Ce)}getPosition(){const ke=this.getLocationRange();if(ke)return this.document.positionFromLocation(ke[0])}getLocationRange(ke){return this.targetLocationRange?this.targetLocationRange:this.getSelectionManager().getLocationRange(ke)||Lt({index:0,offset:0})}withTargetLocationRange(ke,Ce){let $n;this.targetLocationRange=ke;try{$n=Ce()}finally{this.targetLocationRange=null}return $n}withTargetRange(ke,Ce){const $n=this.document.locationRangeFromRange(ke);return this.withTargetLocationRange($n,Ce)}withTargetDOMRange(ke,Ce){const $n=this.createLocationRangeFromDOMRange(ke,{strict:!1});return this.withTargetLocationRange($n,Ce)}getExpandedRangeInDirection(ke){let{length:Ce}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},[$n,Mn]=Array.from(this.getSelectedRange());return ke==="backward"?Ce?$n-=Ce:$n=this.translateUTF16PositionFromOffset($n,-1):Ce?Mn+=Ce:Mn=this.translateUTF16PositionFromOffset(Mn,1),Lt([$n,Mn])}shouldManageMovingCursorInDirection(ke){if(this.editingAttachment)return!0;const Ce=this.getExpandedRangeInDirection(ke);return this.getAttachmentAtRange(Ce)!=null}moveCursorInDirection(ke){let Ce,$n;if(this.editingAttachment)$n=this.document.getRangeOfAttachment(this.editingAttachment);else{const Mn=this.getSelectedRange();$n=this.getExpandedRangeInDirection(ke),Ce=!wt(Mn,$n)}if(ke==="backward"?this.setSelectedRange($n[0]):this.setSelectedRange($n[1]),Ce){const Mn=this.getAttachmentAtRange($n);if(Mn)return this.editAttachment(Mn)}}expandSelectionInDirection(ke){let{length:Ce}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const $n=this.getExpandedRangeInDirection(ke,{length:Ce});return this.setSelectedRange($n)}expandSelectionForEditing(){if(this.hasCurrentAttribute("href"))return this.expandSelectionAroundCommonAttribute("href")}expandSelectionAroundCommonAttribute(ke){const Ce=this.getPosition(),$n=this.document.getRangeOfCommonAttributeAtPosition(ke,Ce);return this.setSelectedRange($n)}selectionContainsAttachments(){var ke;return((ke=this.getSelectedAttachments())===null||ke===void 0?void 0:ke.length)>0}selectionIsInCursorTarget(){return this.editingAttachment||this.positionIsCursorTarget(this.getPosition())}positionIsCursorTarget(ke){const Ce=this.document.locationFromPosition(ke);if(Ce)return this.locationIsCursorTarget(Ce)}positionIsBlockBreak(ke){var Ce;return(Ce=this.document.getPieceAtPosition(ke))===null||Ce===void 0?void 0:Ce.isBlockBreak()}getSelectedDocument(){const ke=this.getSelectedRange();if(ke)return this.document.getDocumentAtRange(ke)}getSelectedAttachments(){var ke;return(ke=this.getSelectedDocument())===null||ke===void 0?void 0:ke.getAttachments()}getAttachments(){return this.attachments.slice(0)}refreshAttachments(){const ke=this.document.getAttachments(),{added:Ce,removed:$n}=function(){let Mn=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],Qn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];const Vn=[],qn=[],Zn=new Set;Mn.forEach(Xn=>{Zn.add(Xn)});const jn=new Set;return Qn.forEach(Xn=>{jn.add(Xn),Zn.has(Xn)||Vn.push(Xn)}),Mn.forEach(Xn=>{jn.has(Xn)||qn.push(Xn)}),{added:Vn,removed:qn}}(this.attachments,ke);return this.attachments=ke,Array.from($n).forEach(Mn=>{var Qn,Vn;Mn.delegate=null,(Qn=this.delegate)===null||Qn===void 0||(Vn=Qn.compositionDidRemoveAttachment)===null||Vn===void 0||Vn.call(Qn,Mn)}),(()=>{const Mn=[];return Array.from(Ce).forEach(Qn=>{var Vn,qn;Qn.delegate=this,Mn.push((Vn=this.delegate)===null||Vn===void 0||(qn=Vn.compositionDidAddAttachment)===null||qn===void 0?void 0:qn.call(Vn,Qn))}),Mn})()}attachmentDidChangeAttributes(ke){var Ce,$n;return this.revision++,(Ce=this.delegate)===null||Ce===void 0||($n=Ce.compositionDidEditAttachment)===null||$n===void 0?void 0:$n.call(Ce,ke)}attachmentDidChangePreviewURL(ke){var Ce,$n;return this.revision++,(Ce=this.delegate)===null||Ce===void 0||($n=Ce.compositionDidChangeAttachmentPreviewURL)===null||$n===void 0?void 0:$n.call(Ce,ke)}editAttachment(ke,Ce){var $n,Mn;if(ke!==this.editingAttachment)return this.stopEditingAttachment(),this.editingAttachment=ke,($n=this.delegate)===null||$n===void 0||(Mn=$n.compositionDidStartEditingAttachment)===null||Mn===void 0?void 0:Mn.call($n,this.editingAttachment,Ce)}stopEditingAttachment(){var ke,Ce;this.editingAttachment&&((ke=this.delegate)===null||ke===void 0||(Ce=ke.compositionDidStopEditingAttachment)===null||Ce===void 0||Ce.call(ke,this.editingAttachment),this.editingAttachment=null)}updateAttributesForAttachment(ke,Ce){return this.setDocument(this.document.updateAttributesForAttachment(ke,Ce))}removeAttributeForAttachment(ke,Ce){return this.setDocument(this.document.removeAttributeForAttachment(ke,Ce))}breakFormattedBlock(ke){let{document:Ce}=ke;const{block:$n}=ke;let Mn=ke.startPosition,Qn=[Mn-1,Mn];$n.getBlockBreakPosition()===ke.startLocation.offset?($n.breaksOnReturn()&&ke.nextCharacter===` `?Mn+=1:Ce=Ce.removeTextAtRange(Qn),Qn=[Mn,Mn]):ke.nextCharacter===` `?ke.previousCharacter===` `?Qn=[Mn-1,Mn+1]:(Qn=[Mn,Mn+1],Mn+=1):ke.startLocation.offset-1!=0&&(Mn+=1);const Vn=new Je([$n.removeLastAttribute().copyWithoutText()]);return this.setDocument(Ce.insertDocumentAtRange(Vn,Qn)),this.setSelection(Mn)}getPreviousBlock(){const ke=this.getLocationRange();if(ke){const{index:Ce}=ke[0];if(Ce>0)return this.document.getBlockAtIndex(Ce-1)}}getBlock(){const ke=this.getLocationRange();if(ke)return this.document.getBlockAtIndex(ke[0].index)}getAttachmentAtRange(ke){const Ce=this.document.getDocumentAtRange(ke);if(Ce.toString()==="".concat("",` `))return Ce.getAttachments()[0]}notifyDelegateOfCurrentAttributesChange(){var ke,Ce;return(ke=this.delegate)===null||ke===void 0||(Ce=ke.compositionDidChangeCurrentAttributes)===null||Ce===void 0?void 0:Ce.call(ke,this.currentAttributes)}notifyDelegateOfInsertionAtRange(ke){var Ce,$n;return(Ce=this.delegate)===null||Ce===void 0||($n=Ce.compositionDidPerformInsertionAtRange)===null||$n===void 0?void 0:$n.call(Ce,ke)}translateUTF16PositionFromOffset(ke,Ce){const $n=this.document.toUTF16String(),Mn=$n.offsetFromUCS2Offset(ke);return $n.offsetToUCS2Offset(Mn+Ce)}}gi.proxyMethod("getSelectionManager().getPointRange"),gi.proxyMethod("getSelectionManager().setLocationRangeFromPointRange"),gi.proxyMethod("getSelectionManager().createLocationRangeFromDOMRange"),gi.proxyMethod("getSelectionManager().locationIsCursorTarget"),gi.proxyMethod("getSelectionManager().selectionIsExpanded"),gi.proxyMethod("delegate?.getSelectionManager");class mi extends H{constructor(ke){super(...arguments),this.composition=ke,this.undoEntries=[],this.redoEntries=[]}recordUndoEntry(ke){let{context:Ce,consolidatable:$n}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const Mn=this.undoEntries.slice(-1)[0];if(!$n||!pi(Mn,ke,Ce)){const Qn=this.createEntry({description:ke,context:Ce});this.undoEntries.push(Qn),this.redoEntries=[]}}undo(){const ke=this.undoEntries.pop();if(ke){const Ce=this.createEntry(ke);return this.redoEntries.push(Ce),this.composition.loadSnapshot(ke.snapshot)}}redo(){const ke=this.redoEntries.pop();if(ke){const Ce=this.createEntry(ke);return this.undoEntries.push(Ce),this.composition.loadSnapshot(ke.snapshot)}}canUndo(){return this.undoEntries.length>0}canRedo(){return this.redoEntries.length>0}createEntry(){let{description:ke,context:Ce}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return{description:ke==null?void 0:ke.toString(),context:JSON.stringify(Ce),snapshot:this.composition.getSnapshot()}}}const pi=(_n,ke,Ce)=>(_n==null?void 0:_n.description)===(ke==null?void 0:ke.toString())&&(_n==null?void 0:_n.context)===JSON.stringify(Ce),fi="attachmentGallery";class bi{constructor(ke){this.document=ke.document,this.selectedRange=ke.selectedRange}perform(){return this.removeBlockAttribute(),this.applyBlockAttribute()}getSnapshot(){return{document:this.document,selectedRange:this.selectedRange}}removeBlockAttribute(){return this.findRangesOfBlocks().map(ke=>this.document=this.document.removeAttributeAtRange(fi,ke))}applyBlockAttribute(){let ke=0;this.findRangesOfPieces().forEach(Ce=>{Ce[1]-Ce[0]>1&&(Ce[0]+=ke,Ce[1]+=ke,this.document.getCharacterAtPosition(Ce[1])!==` `&&(this.document=this.document.insertBlockBreakAtRange(Ce[1]),Ce[1]0&&arguments[0]!==void 0?arguments[0]:"";const Ce=Xe.parse(ke,{referenceElement:this.element}).getDocument();return this.loadDocument(Ce)}loadJSON(ke){let{document:Ce,selectedRange:$n}=ke;return Ce=Je.fromJSON(Ce),this.loadSnapshot({document:Ce,selectedRange:$n})}loadSnapshot(ke){return this.undoManager=new mi(this.composition),this.composition.loadSnapshot(ke)}getDocument(){return this.composition.document}getSelectedDocument(){return this.composition.getSelectedDocument()}getSnapshot(){return this.composition.getSnapshot()}toJSON(){return this.getSnapshot()}deleteInDirection(ke){return this.composition.deleteInDirection(ke)}insertAttachment(ke){return this.composition.insertAttachment(ke)}insertAttachments(ke){return this.composition.insertAttachments(ke)}insertDocument(ke){return this.composition.insertDocument(ke)}insertFile(ke){return this.composition.insertFile(ke)}insertFiles(ke){return this.composition.insertFiles(ke)}insertHTML(ke){return this.composition.insertHTML(ke)}insertString(ke){return this.composition.insertString(ke)}insertText(ke){return this.composition.insertText(ke)}insertLineBreak(){return this.composition.insertLineBreak()}getSelectedRange(){return this.composition.getSelectedRange()}getPosition(){return this.composition.getPosition()}getClientRectAtPosition(ke){const Ce=this.getDocument().locationRangeFromRange([ke,ke+1]);return this.selectionManager.getClientRectAtLocationRange(Ce)}expandSelectionInDirection(ke){return this.composition.expandSelectionInDirection(ke)}moveCursorInDirection(ke){return this.composition.moveCursorInDirection(ke)}setSelectedRange(ke){return this.composition.setSelectedRange(ke)}activateAttribute(ke){let Ce=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1];return this.composition.setCurrentAttribute(ke,Ce)}attributeIsActive(ke){return this.composition.hasCurrentAttribute(ke)}canActivateAttribute(ke){return this.composition.canSetCurrentAttribute(ke)}deactivateAttribute(ke){return this.composition.removeCurrentAttribute(ke)}setHTMLAtributeAtPosition(ke,Ce,$n){this.composition.setHTMLAtributeAtPosition(ke,Ce,$n)}canDecreaseNestingLevel(){return this.composition.canDecreaseNestingLevel()}canIncreaseNestingLevel(){return this.composition.canIncreaseNestingLevel()}decreaseNestingLevel(){if(this.canDecreaseNestingLevel())return this.composition.decreaseNestingLevel()}increaseNestingLevel(){if(this.canIncreaseNestingLevel())return this.composition.increaseNestingLevel()}canRedo(){return this.undoManager.canRedo()}canUndo(){return this.undoManager.canUndo()}recordUndoEntry(ke){let{context:Ce,consolidatable:$n}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return this.undoManager.recordUndoEntry(ke,{context:Ce,consolidatable:$n})}redo(){if(this.canRedo())return this.undoManager.redo()}undo(){if(this.canUndo())return this.undoManager.undo()}}class yi{constructor(ke){this.element=ke}findLocationFromContainerAndOffset(ke,Ce){let{strict:$n}=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{strict:!0},Mn=0,Qn=!1;const Vn={index:0,offset:0},qn=this.findAttachmentElementParentForNode(ke);qn&&(ke=qn.parentNode,Ce=C$1(qn));const Zn=R(this.element,{usingFilter:Ei});for(;Zn.nextNode();){const jn=Zn.currentNode;if(jn===ke&&O(ke)){P(jn)||(Vn.offset+=Ce);break}if(jn.parentNode===ke){if(Mn++===Ce)break}else if(!y(ke,jn)&&Mn>0)break;T(jn,{strict:$n})?(Qn&&Vn.index++,Vn.offset=0,Qn=!0):Vn.offset+=Ci(jn)}return Vn}findContainerAndOffsetFromLocation(ke){let Ce,$n;if(ke.index===0&&ke.offset===0){for(Ce=this.element,$n=0;Ce.firstChild;)if(Ce=Ce.firstChild,w(Ce)){$n=1;break}return[Ce,$n]}let[Mn,Qn]=this.findNodeAndOffsetFromLocation(ke);if(Mn){if(O(Mn))Ci(Mn)===0?(Ce=Mn.parentNode.parentNode,$n=C$1(Mn.parentNode),P(Mn,{name:"right"})&&$n++):(Ce=Mn,$n=ke.offset-Qn);else{if(Ce=Mn.parentNode,!T(Mn.previousSibling)&&!w(Ce))for(;Mn===Ce.lastChild&&(Mn=Ce,Ce=Ce.parentNode,!w(Ce)););$n=C$1(Mn),ke.offset!==0&&$n++}return[Ce,$n]}}findNodeAndOffsetFromLocation(ke){let Ce,$n,Mn=0;for(const Qn of this.getSignificantNodesForIndex(ke.index)){const Vn=Ci(Qn);if(ke.offset<=Mn+Vn)if(O(Qn)){if(Ce=Qn,$n=Mn,ke.offset===$n&&P(Ce))break}else Ce||(Ce=Qn,$n=Mn);if(Mn+=Vn,Mn>ke.offset)break}return[Ce,$n]}findAttachmentElementParentForNode(ke){for(;ke&&ke!==this.element;){if(I(ke))return ke;ke=ke.parentNode}}getSignificantNodesForIndex(ke){const Ce=[],$n=R(this.element,{usingFilter:ki});let Mn=!1;for(;$n.nextNode();){const Vn=$n.currentNode;var Qn;if(B(Vn)){if(Qn!=null?Qn++:Qn=0,Qn===ke)Mn=!0;else if(Mn)break}else Mn&&Ce.push(Vn)}return Ce}}const Ci=function(_n){return _n.nodeType===Node.TEXT_NODE?P(_n)?0:_n.textContent.length:E(_n)==="br"||I(_n)?1:0},ki=function(_n){return Ri(_n)===NodeFilter.FILTER_ACCEPT?Ei(_n):NodeFilter.FILTER_REJECT},Ri=function(_n){return N(_n)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},Ei=function(_n){return I(_n.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT};class Si{createDOMRangeFromPoint(ke){let Ce,{x:$n,y:Mn}=ke;if(document.caretPositionFromPoint){const{offsetNode:Qn,offset:Vn}=document.caretPositionFromPoint($n,Mn);return Ce=document.createRange(),Ce.setStart(Qn,Vn),Ce}if(document.caretRangeFromPoint)return document.caretRangeFromPoint($n,Mn);if(document.body.createTextRange){const Qn=Nt();try{const Vn=document.body.createTextRange();Vn.moveToPoint($n,Mn),Vn.select()}catch{}return Ce=Nt(),Ot(Qn),Ce}}getClientRectsForDOMRange(ke){const Ce=Array.from(ke.getClientRects());return[Ce[0],Ce[Ce.length-1]]}}class Li extends H{constructor(ke){super(...arguments),this.didMouseDown=this.didMouseDown.bind(this),this.selectionDidChange=this.selectionDidChange.bind(this),this.element=ke,this.locationMapper=new yi(this.element),this.pointMapper=new Si,this.lockCount=0,f("mousedown",{onElement:this.element,withCallback:this.didMouseDown})}getLocationRange(){let ke=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return ke.strict===!1?this.createLocationRangeFromDOMRange(Nt()):ke.ignoreLock?this.currentLocationRange:this.lockedLocationRange?this.lockedLocationRange:this.currentLocationRange}setLocationRange(ke){if(this.lockedLocationRange)return;ke=Lt(ke);const Ce=this.createDOMRangeFromLocationRange(ke);Ce&&(Ot(Ce),this.updateCurrentLocationRange(ke))}setLocationRangeFromPointRange(ke){ke=Lt(ke);const Ce=this.getLocationAtPoint(ke[0]),$n=this.getLocationAtPoint(ke[1]);this.setLocationRange([Ce,$n])}getClientRectAtLocationRange(ke){const Ce=this.createDOMRangeFromLocationRange(ke);if(Ce)return this.getClientRectsForDOMRange(Ce)[1]}locationIsCursorTarget(ke){const Ce=Array.from(this.findNodeAndOffsetFromLocation(ke))[0];return P(Ce)}lock(){this.lockCount++==0&&(this.updateCurrentLocationRange(),this.lockedLocationRange=this.getLocationRange())}unlock(){if(--this.lockCount==0){const{lockedLocationRange:ke}=this;if(this.lockedLocationRange=null,ke!=null)return this.setLocationRange(ke)}}clearSelection(){var ke;return(ke=It())===null||ke===void 0?void 0:ke.removeAllRanges()}selectionIsCollapsed(){var ke;return((ke=Nt())===null||ke===void 0?void 0:ke.collapsed)===!0}selectionIsExpanded(){return!this.selectionIsCollapsed()}createLocationRangeFromDOMRange(ke,Ce){if(ke==null||!this.domRangeWithinElement(ke))return;const $n=this.findLocationFromContainerAndOffset(ke.startContainer,ke.startOffset,Ce);if(!$n)return;const Mn=ke.collapsed?void 0:this.findLocationFromContainerAndOffset(ke.endContainer,ke.endOffset,Ce);return Lt([$n,Mn])}didMouseDown(){return this.pauseTemporarily()}pauseTemporarily(){let ke;this.paused=!0;const Ce=()=>{if(this.paused=!1,clearTimeout($n),Array.from(ke).forEach(Mn=>{Mn.destroy()}),y(document,this.element))return this.selectionDidChange()},$n=setTimeout(Ce,200);ke=["mousemove","keydown"].map(Mn=>f(Mn,{onElement:document,withCallback:Ce}))}selectionDidChange(){if(!this.paused&&!x(this.element))return this.updateCurrentLocationRange()}updateCurrentLocationRange(ke){var Ce,$n;if((ke??(ke=this.createLocationRangeFromDOMRange(Nt())))&&!wt(ke,this.currentLocationRange))return this.currentLocationRange=ke,(Ce=this.delegate)===null||Ce===void 0||($n=Ce.locationRangeDidChange)===null||$n===void 0?void 0:$n.call(Ce,this.currentLocationRange.slice(0))}createDOMRangeFromLocationRange(ke){const Ce=this.findContainerAndOffsetFromLocation(ke[0]),$n=Dt(ke)?Ce:this.findContainerAndOffsetFromLocation(ke[1])||Ce;if(Ce!=null&&$n!=null){const Mn=document.createRange();return Mn.setStart(...Array.from(Ce||[])),Mn.setEnd(...Array.from($n||[])),Mn}}getLocationAtPoint(ke){const Ce=this.createDOMRangeFromPoint(ke);var $n;if(Ce)return($n=this.createLocationRangeFromDOMRange(Ce))===null||$n===void 0?void 0:$n[0]}domRangeWithinElement(ke){return ke.collapsed?y(this.element,ke.startContainer):y(this.element,ke.startContainer)&&y(this.element,ke.endContainer)}}Li.proxyMethod("locationMapper.findLocationFromContainerAndOffset"),Li.proxyMethod("locationMapper.findContainerAndOffsetFromLocation"),Li.proxyMethod("locationMapper.findNodeAndOffsetFromLocation"),Li.proxyMethod("pointMapper.createDOMRangeFromPoint"),Li.proxyMethod("pointMapper.getClientRectsForDOMRange");var Di=Object.freeze({__proto__:null,Attachment:De,AttachmentManager:hi,AttachmentPiece:we,Block:Oe,Composition:gi,Document:Je,Editor:xi,HTMLParser:Xe,HTMLSanitizer:se,LineBreakInsertion:di,LocationMapper:yi,ManagedAttachment:ui,Piece:Se,PointMapper:Si,SelectionManager:Li,SplittableList:Be,StringPiece:Te,Text:Ne,UndoManager:mi}),wi=Object.freeze({__proto__:null,ObjectView:ee,AttachmentView:ce,BlockView:be,DocumentView:ve,PieceView:ge,PreviewableAttachmentView:de,TextView:me});const{lang:Ti,css:Bi,keyNames:Fi}=V,Pi=function(_n){return function(){const ke=_n.apply(this,arguments);ke.do(),this.undos||(this.undos=[]),this.undos.push(ke.undo)}};class Ii extends H{constructor(ke,Ce,$n){let Mn=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};super(...arguments),Re(this,"makeElementMutable",Pi(()=>({do:()=>{this.element.dataset.trixMutable=!0},undo:()=>delete this.element.dataset.trixMutable}))),Re(this,"addToolbar",Pi(()=>{const Qn=S$1({tagName:"div",className:Bi.attachmentToolbar,data:{trixMutable:!0},childNodes:S$1({tagName:"div",className:"trix-button-row",childNodes:S$1({tagName:"span",className:"trix-button-group trix-button-group--actions",childNodes:S$1({tagName:"button",className:"trix-button trix-button--remove",textContent:Ti.remove,attributes:{title:Ti.remove},data:{trixAction:"remove"}})})})});return this.attachment.isPreviewable()&&Qn.appendChild(S$1({tagName:"div",className:Bi.attachmentMetadataContainer,childNodes:S$1({tagName:"span",className:Bi.attachmentMetadata,childNodes:[S$1({tagName:"span",className:Bi.attachmentName,textContent:this.attachment.getFilename(),attributes:{title:this.attachment.getFilename()}}),S$1({tagName:"span",className:Bi.attachmentSize,textContent:this.attachment.getFormattedFilesize()})]})})),f("click",{onElement:Qn,withCallback:this.didClickToolbar}),f("click",{onElement:Qn,matchingSelector:"[data-trix-action]",withCallback:this.didClickActionButton}),b("trix-attachment-before-toolbar",{onElement:this.element,attributes:{toolbar:Qn,attachment:this.attachment}}),{do:()=>this.element.appendChild(Qn),undo:()=>k(Qn)}})),Re(this,"installCaptionEditor",Pi(()=>{const Qn=S$1({tagName:"textarea",className:Bi.attachmentCaptionEditor,attributes:{placeholder:Ti.captionPlaceholder},data:{trixMutable:!0}});Qn.value=this.attachmentPiece.getCaption();const Vn=Qn.cloneNode();Vn.classList.add("trix-autoresize-clone"),Vn.tabIndex=-1;const qn=function(){Vn.value=Qn.value,Qn.style.height=Vn.scrollHeight+"px"};f("input",{onElement:Qn,withCallback:qn}),f("input",{onElement:Qn,withCallback:this.didInputCaption}),f("keydown",{onElement:Qn,withCallback:this.didKeyDownCaption}),f("change",{onElement:Qn,withCallback:this.didChangeCaption}),f("blur",{onElement:Qn,withCallback:this.didBlurCaption});const Zn=this.element.querySelector("figcaption"),jn=Zn.cloneNode();return{do:()=>{if(Zn.style.display="none",jn.appendChild(Qn),jn.appendChild(Vn),jn.classList.add("".concat(Bi.attachmentCaption,"--editing")),Zn.parentElement.insertBefore(jn,Zn),qn(),this.options.editCaption)return Rt(()=>Qn.focus())},undo(){k(jn),Zn.style.display=null}}})),this.didClickToolbar=this.didClickToolbar.bind(this),this.didClickActionButton=this.didClickActionButton.bind(this),this.didKeyDownCaption=this.didKeyDownCaption.bind(this),this.didInputCaption=this.didInputCaption.bind(this),this.didChangeCaption=this.didChangeCaption.bind(this),this.didBlurCaption=this.didBlurCaption.bind(this),this.attachmentPiece=ke,this.element=Ce,this.container=$n,this.options=Mn,this.attachment=this.attachmentPiece.attachment,E(this.element)==="a"&&(this.element=this.element.firstChild),this.install()}install(){this.makeElementMutable(),this.addToolbar(),this.attachment.isPreviewable()&&this.installCaptionEditor()}uninstall(){var ke;let Ce=this.undos.pop();for(this.savePendingCaption();Ce;)Ce(),Ce=this.undos.pop();(ke=this.delegate)===null||ke===void 0||ke.didUninstallAttachmentEditor(this)}savePendingCaption(){if(this.pendingCaption!=null){const Qn=this.pendingCaption;var ke,Ce,$n,Mn;this.pendingCaption=null,Qn?(ke=this.delegate)===null||ke===void 0||(Ce=ke.attachmentEditorDidRequestUpdatingAttributesForAttachment)===null||Ce===void 0||Ce.call(ke,{caption:Qn},this.attachment):($n=this.delegate)===null||$n===void 0||(Mn=$n.attachmentEditorDidRequestRemovingAttributeForAttachment)===null||Mn===void 0||Mn.call($n,"caption",this.attachment)}}didClickToolbar(ke){return ke.preventDefault(),ke.stopPropagation()}didClickActionButton(ke){var Ce;if(ke.target.getAttribute("data-trix-action")==="remove")return(Ce=this.delegate)===null||Ce===void 0?void 0:Ce.attachmentEditorDidRequestRemovalOfAttachment(this.attachment)}didKeyDownCaption(ke){var Ce,$n;if(Fi[ke.keyCode]==="return")return ke.preventDefault(),this.savePendingCaption(),(Ce=this.delegate)===null||Ce===void 0||($n=Ce.attachmentEditorDidRequestDeselectingAttachment)===null||$n===void 0?void 0:$n.call(Ce,this.attachment)}didInputCaption(ke){this.pendingCaption=ke.target.value.replace(/\s/g," ").trim()}didChangeCaption(ke){return this.savePendingCaption()}didBlurCaption(ke){return this.savePendingCaption()}}class Ni extends H{constructor(ke,Ce){super(...arguments),this.didFocus=this.didFocus.bind(this),this.didBlur=this.didBlur.bind(this),this.didClickAttachment=this.didClickAttachment.bind(this),this.element=ke,this.composition=Ce,this.documentView=new ve(this.composition.document,{element:this.element}),f("focus",{onElement:this.element,withCallback:this.didFocus}),f("blur",{onElement:this.element,withCallback:this.didBlur}),f("click",{onElement:this.element,matchingSelector:"a[contenteditable=false]",preventDefault:!0}),f("mousedown",{onElement:this.element,matchingSelector:e,withCallback:this.didClickAttachment}),f("click",{onElement:this.element,matchingSelector:"a".concat(e),preventDefault:!0})}didFocus(ke){var Ce;const $n=()=>{var Mn,Qn;if(!this.focused)return this.focused=!0,(Mn=this.delegate)===null||Mn===void 0||(Qn=Mn.compositionControllerDidFocus)===null||Qn===void 0?void 0:Qn.call(Mn)};return((Ce=this.blurPromise)===null||Ce===void 0?void 0:Ce.then($n))||$n()}didBlur(ke){this.blurPromise=new Promise(Ce=>Rt(()=>{var $n,Mn;return x(this.element)||(this.focused=null,($n=this.delegate)===null||$n===void 0||(Mn=$n.compositionControllerDidBlur)===null||Mn===void 0||Mn.call($n)),this.blurPromise=null,Ce()}))}didClickAttachment(ke,Ce){var $n,Mn;const Qn=this.findAttachmentForElement(Ce),Vn=!!A(ke.target,{matchingSelector:"figcaption"});return($n=this.delegate)===null||$n===void 0||(Mn=$n.compositionControllerDidSelectAttachment)===null||Mn===void 0?void 0:Mn.call($n,Qn,{editCaption:Vn})}getSerializableElement(){return this.isEditingAttachment()?this.documentView.shadowElement:this.element}render(){var ke,Ce,$n,Mn,Qn,Vn;return this.revision!==this.composition.revision&&(this.documentView.setDocument(this.composition.document),this.documentView.render(),this.revision=this.composition.revision),this.canSyncDocumentView()&&!this.documentView.isSynced()&&(($n=this.delegate)===null||$n===void 0||(Mn=$n.compositionControllerWillSyncDocumentView)===null||Mn===void 0||Mn.call($n),this.documentView.sync(),(Qn=this.delegate)===null||Qn===void 0||(Vn=Qn.compositionControllerDidSyncDocumentView)===null||Vn===void 0||Vn.call(Qn)),(ke=this.delegate)===null||ke===void 0||(Ce=ke.compositionControllerDidRender)===null||Ce===void 0?void 0:Ce.call(ke)}rerenderViewForObject(ke){return this.invalidateViewForObject(ke),this.render()}invalidateViewForObject(ke){return this.documentView.invalidateViewForObject(ke)}isViewCachingEnabled(){return this.documentView.isViewCachingEnabled()}enableViewCaching(){return this.documentView.enableViewCaching()}disableViewCaching(){return this.documentView.disableViewCaching()}refreshViewCache(){return this.documentView.garbageCollectCachedViews()}isEditingAttachment(){return!!this.attachmentEditor}installAttachmentEditorForAttachment(ke,Ce){var $n;if((($n=this.attachmentEditor)===null||$n===void 0?void 0:$n.attachment)===ke)return;const Mn=this.documentView.findElementForObject(ke);if(!Mn)return;this.uninstallAttachmentEditor();const Qn=this.composition.document.getAttachmentPieceForAttachment(ke);this.attachmentEditor=new Ii(Qn,Mn,this.element,Ce),this.attachmentEditor.delegate=this}uninstallAttachmentEditor(){var ke;return(ke=this.attachmentEditor)===null||ke===void 0?void 0:ke.uninstall()}didUninstallAttachmentEditor(){return this.attachmentEditor=null,this.render()}attachmentEditorDidRequestUpdatingAttributesForAttachment(ke,Ce){var $n,Mn;return($n=this.delegate)===null||$n===void 0||(Mn=$n.compositionControllerWillUpdateAttachment)===null||Mn===void 0||Mn.call($n,Ce),this.composition.updateAttributesForAttachment(ke,Ce)}attachmentEditorDidRequestRemovingAttributeForAttachment(ke,Ce){var $n,Mn;return($n=this.delegate)===null||$n===void 0||(Mn=$n.compositionControllerWillUpdateAttachment)===null||Mn===void 0||Mn.call($n,Ce),this.composition.removeAttributeForAttachment(ke,Ce)}attachmentEditorDidRequestRemovalOfAttachment(ke){var Ce,$n;return(Ce=this.delegate)===null||Ce===void 0||($n=Ce.compositionControllerDidRequestRemovalOfAttachment)===null||$n===void 0?void 0:$n.call(Ce,ke)}attachmentEditorDidRequestDeselectingAttachment(ke){var Ce,$n;return(Ce=this.delegate)===null||Ce===void 0||($n=Ce.compositionControllerDidRequestDeselectingAttachment)===null||$n===void 0?void 0:$n.call(Ce,ke)}canSyncDocumentView(){return!this.isEditingAttachment()}findAttachmentForElement(ke){return this.composition.document.getAttachmentById(parseInt(ke.dataset.trixId,10))}}class Oi extends H{}const Mi="data-trix-mutable",ji="[".concat(Mi,"]"),Wi={attributes:!0,childList:!0,characterData:!0,characterDataOldValue:!0,subtree:!0};class Ui extends H{constructor(ke){super(ke),this.didMutate=this.didMutate.bind(this),this.element=ke,this.observer=new window.MutationObserver(this.didMutate),this.start()}start(){return this.reset(),this.observer.observe(this.element,Wi)}stop(){return this.observer.disconnect()}didMutate(ke){var Ce,$n;if(this.mutations.push(...Array.from(this.findSignificantMutations(ke)||[])),this.mutations.length)return(Ce=this.delegate)===null||Ce===void 0||($n=Ce.elementDidMutate)===null||$n===void 0||$n.call(Ce,this.getMutationSummary()),this.reset()}reset(){this.mutations=[]}findSignificantMutations(ke){return ke.filter(Ce=>this.mutationIsSignificant(Ce))}mutationIsSignificant(ke){if(this.nodeIsMutable(ke.target))return!1;for(const Ce of Array.from(this.nodesModifiedByMutation(ke)))if(this.nodeIsSignificant(Ce))return!0;return!1}nodeIsSignificant(ke){return ke!==this.element&&!this.nodeIsMutable(ke)&&!N(ke)}nodeIsMutable(ke){return A(ke,{matchingSelector:ji})}nodesModifiedByMutation(ke){const Ce=[];switch(ke.type){case"attributes":ke.attributeName!==Mi&&Ce.push(ke.target);break;case"characterData":Ce.push(ke.target.parentNode),Ce.push(ke.target);break;case"childList":Ce.push(...Array.from(ke.addedNodes||[])),Ce.push(...Array.from(ke.removedNodes||[]))}return Ce}getMutationSummary(){return this.getTextMutationSummary()}getTextMutationSummary(){const{additions:ke,deletions:Ce}=this.getTextChangesFromCharacterData(),$n=this.getTextChangesFromChildList();Array.from($n.additions).forEach(qn=>{Array.from(ke).includes(qn)||ke.push(qn)}),Ce.push(...Array.from($n.deletions||[]));const Mn={},Qn=ke.join("");Qn&&(Mn.textAdded=Qn);const Vn=Ce.join("");return Vn&&(Mn.textDeleted=Vn),Mn}getMutationsByType(ke){return Array.from(this.mutations).filter(Ce=>Ce.type===ke)}getTextChangesFromChildList(){let ke,Ce;const $n=[],Mn=[];return Array.from(this.getMutationsByType("childList")).forEach(Qn=>{$n.push(...Array.from(Qn.addedNodes||[])),Mn.push(...Array.from(Qn.removedNodes||[]))}),$n.length===0&&Mn.length===1&&B(Mn[0])?(ke=[],Ce=[` `]):(ke=qi($n),Ce=qi(Mn)),{additions:ke.filter((Qn,Vn)=>Qn!==Ce[Vn]).map(Wt),deletions:Ce.filter((Qn,Vn)=>Qn!==ke[Vn]).map(Wt)}}getTextChangesFromCharacterData(){let ke,Ce;const $n=this.getMutationsByType("characterData");if($n.length){const Mn=$n[0],Qn=$n[$n.length-1],Vn=function(qn,Zn){let jn,Xn;return qn=X.box(qn),(Zn=X.box(Zn)).length0&&arguments[0]!==void 0?arguments[0]:[];const ke=[];for(const Ce of Array.from(_n))switch(Ce.nodeType){case Node.TEXT_NODE:ke.push(Ce.data);break;case Node.ELEMENT_NODE:E(Ce)==="br"?ke.push(` `):ke.push(...Array.from(qi(Ce.childNodes)||[]))}return ke};class Vi extends te{constructor(ke){super(...arguments),this.file=ke}perform(ke){const Ce=new FileReader;return Ce.onerror=()=>ke(!1),Ce.onload=()=>{Ce.onerror=null;try{Ce.abort()}catch{}return ke(!0,this.file)},Ce.readAsArrayBuffer(this.file)}}class Hi{constructor(ke){this.element=ke}shouldIgnore(ke){return!!a.samsungAndroid&&(this.previousEvent=this.event,this.event=ke,this.checkSamsungKeyboardBuggyModeStart(),this.checkSamsungKeyboardBuggyModeEnd(),this.buggyMode)}checkSamsungKeyboardBuggyModeStart(){this.insertingLongTextAfterUnidentifiedChar()&&zi(this.element.innerText,this.event.data)&&(this.buggyMode=!0,this.event.preventDefault())}checkSamsungKeyboardBuggyModeEnd(){this.buggyMode&&this.event.inputType!=="insertText"&&(this.buggyMode=!1)}insertingLongTextAfterUnidentifiedChar(){var ke;return this.isBeforeInputInsertText()&&this.previousEventWasUnidentifiedKeydown()&&((ke=this.event.data)===null||ke===void 0?void 0:ke.length)>50}isBeforeInputInsertText(){return this.event.type==="beforeinput"&&this.event.inputType==="insertText"}previousEventWasUnidentifiedKeydown(){var ke,Ce;return((ke=this.previousEvent)===null||ke===void 0?void 0:ke.type)==="keydown"&&((Ce=this.previousEvent)===null||Ce===void 0?void 0:Ce.key)==="Unidentified"}}const zi=(_n,ke)=>Ji(_n)===Ji(ke),_i=new RegExp("(".concat("","|").concat(h,"|").concat(d,"|\\s)+"),"g"),Ji=_n=>_n.replace(_i," ").trim();class Ki extends H{constructor(ke){super(...arguments),this.element=ke,this.mutationObserver=new Ui(this.element),this.mutationObserver.delegate=this,this.flakyKeyboardDetector=new Hi(this.element);for(const Ce in this.constructor.events)f(Ce,{onElement:this.element,withCallback:this.handlerFor(Ce)})}elementDidMutate(ke){}editorWillSyncDocumentView(){return this.mutationObserver.stop()}editorDidSyncDocumentView(){return this.mutationObserver.start()}requestRender(){var ke,Ce;return(ke=this.delegate)===null||ke===void 0||(Ce=ke.inputControllerDidRequestRender)===null||Ce===void 0?void 0:Ce.call(ke)}requestReparse(){var ke,Ce;return(ke=this.delegate)===null||ke===void 0||(Ce=ke.inputControllerDidRequestReparse)===null||Ce===void 0||Ce.call(ke),this.requestRender()}attachFiles(ke){const Ce=Array.from(ke).map($n=>new Vi($n));return Promise.all(Ce).then($n=>{this.handleInput(function(){var Mn,Qn;return(Mn=this.delegate)===null||Mn===void 0||Mn.inputControllerWillAttachFiles(),(Qn=this.responder)===null||Qn===void 0||Qn.insertFiles($n),this.requestRender()})})}handlerFor(ke){return Ce=>{Ce.defaultPrevented||this.handleInput(()=>{if(!x(this.element)){if(this.flakyKeyboardDetector.shouldIgnore(Ce))return;this.eventName=ke,this.constructor.events[ke].call(this,Ce)}})}}handleInput(ke){try{var Ce;(Ce=this.delegate)===null||Ce===void 0||Ce.inputControllerWillHandleInput(),ke.call(this)}finally{var $n;($n=this.delegate)===null||$n===void 0||$n.inputControllerDidHandleInput()}}createLinkHTML(ke,Ce){const $n=document.createElement("a");return $n.href=ke,$n.textContent=Ce||ke,$n.outerHTML}}var Gi;Re(Ki,"events",{});const{browser:$i,keyNames:Xi}=V;let Yi=0;class Qi extends Ki{constructor(){super(...arguments),this.resetInputSummary()}setInputSummary(){let ke=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.inputSummary.eventName=this.eventName;for(const Ce in ke){const $n=ke[Ce];this.inputSummary[Ce]=$n}return this.inputSummary}resetInputSummary(){this.inputSummary={}}reset(){return this.resetInputSummary(),Pt.reset()}elementDidMutate(ke){var Ce,$n;return this.isComposing()?(Ce=this.delegate)===null||Ce===void 0||($n=Ce.inputControllerDidAllowUnhandledInput)===null||$n===void 0?void 0:$n.call(Ce):this.handleInput(function(){return this.mutationIsSignificant(ke)&&(this.mutationIsExpected(ke)?this.requestRender():this.requestReparse()),this.reset()})}mutationIsExpected(ke){let{textAdded:Ce,textDeleted:$n}=ke;if(this.inputSummary.preferDocument)return!0;const Mn=Ce!=null?Ce===this.inputSummary.textAdded:!this.inputSummary.textAdded,Qn=$n!=null?this.inputSummary.didDelete:!this.inputSummary.didDelete,Vn=[` `,` `].includes(Ce)&&!Mn,qn=$n===` `&&!Qn;if(Vn&&!qn||qn&&!Vn){const jn=this.getSelectedRange();if(jn){var Zn;const Xn=Vn?Ce.replace(/\n$/,"").length||-1:(Ce==null?void 0:Ce.length)||1;if((Zn=this.responder)!==null&&Zn!==void 0&&Zn.positionIsBlockBreak(jn[1]+Xn))return!0}}return Mn&&Qn}mutationIsSignificant(ke){var Ce;const $n=Object.keys(ke).length>0,Mn=((Ce=this.compositionInput)===null||Ce===void 0?void 0:Ce.getEndData())==="";return $n||!Mn}getCompositionInput(){if(this.isComposing())return this.compositionInput;this.compositionInput=new rn(this)}isComposing(){return this.compositionInput&&!this.compositionInput.isEnded()}deleteInDirection(ke,Ce){var $n;return(($n=this.responder)===null||$n===void 0?void 0:$n.deleteInDirection(ke))!==!1?this.setInputSummary({didDelete:!0}):Ce?(Ce.preventDefault(),this.requestRender()):void 0}serializeSelectionToDataTransfer(ke){var Ce;if(!function(Mn){if(Mn==null||!Mn.setData)return!1;for(const Qn in yt){const Vn=yt[Qn];try{if(Mn.setData(Qn,Vn),!Mn.getData(Qn)===Vn)return!1}catch{return!1}}return!0}(ke))return;const $n=(Ce=this.responder)===null||Ce===void 0?void 0:Ce.getSelectedDocument().toSerializableDocument();return ke.setData("application/x-trix-document",JSON.stringify($n)),ke.setData("text/html",ve.render($n).innerHTML),ke.setData("text/plain",$n.toString().replace(/\n$/,"")),!0}canAcceptDataTransfer(ke){const Ce={};return Array.from((ke==null?void 0:ke.types)||[]).forEach($n=>{Ce[$n]=!0}),Ce.Files||Ce["application/x-trix-document"]||Ce["text/html"]||Ce["text/plain"]}getPastedHTMLUsingHiddenElement(ke){const Ce=this.getSelectedRange(),$n={position:"absolute",left:"".concat(window.pageXOffset,"px"),top:"".concat(window.pageYOffset,"px"),opacity:0},Mn=S$1({style:$n,tagName:"div",editable:!0});return document.body.appendChild(Mn),Mn.focus(),requestAnimationFrame(()=>{const Qn=Mn.innerHTML;return k(Mn),this.setSelectedRange(Ce),ke(Qn)})}}Re(Qi,"events",{keydown(_n){this.isComposing()||this.resetInputSummary(),this.inputSummary.didInput=!0;const ke=Xi[_n.keyCode];if(ke){var Ce;let Mn=this.keys;["ctrl","alt","shift","meta"].forEach(Qn=>{var Vn;_n["".concat(Qn,"Key")]&&(Qn==="ctrl"&&(Qn="control"),Mn=(Vn=Mn)===null||Vn===void 0?void 0:Vn[Qn])}),((Ce=Mn)===null||Ce===void 0?void 0:Ce[ke])!=null&&(this.setInputSummary({keyName:ke}),Pt.reset(),Mn[ke].call(this,_n))}if(kt(_n)){const Mn=String.fromCharCode(_n.keyCode).toLowerCase();if(Mn){var $n;const Qn=["alt","shift"].map(Vn=>{if(_n["".concat(Vn,"Key")])return Vn}).filter(Vn=>Vn);Qn.push(Mn),($n=this.delegate)!==null&&$n!==void 0&&$n.inputControllerDidReceiveKeyboardCommand(Qn)&&_n.preventDefault()}}},keypress(_n){if(this.inputSummary.eventName!=null||_n.metaKey||_n.ctrlKey&&!_n.altKey)return;const ke=en(_n);var Ce,$n;return ke?((Ce=this.delegate)===null||Ce===void 0||Ce.inputControllerWillPerformTyping(),($n=this.responder)===null||$n===void 0||$n.insertString(ke),this.setInputSummary({textAdded:ke,didDelete:this.selectionIsExpanded()})):void 0},textInput(_n){const{data:ke}=_n,{textAdded:Ce}=this.inputSummary;if(Ce&&Ce!==ke&&Ce.toUpperCase()===ke){var $n;const Mn=this.getSelectedRange();return this.setSelectedRange([Mn[0],Mn[1]+Ce.length]),($n=this.responder)===null||$n===void 0||$n.insertString(ke),this.setInputSummary({textAdded:ke}),this.setSelectedRange(Mn)}},dragenter(_n){_n.preventDefault()},dragstart(_n){var ke,Ce;return this.serializeSelectionToDataTransfer(_n.dataTransfer),this.draggedRange=this.getSelectedRange(),(ke=this.delegate)===null||ke===void 0||(Ce=ke.inputControllerDidStartDrag)===null||Ce===void 0?void 0:Ce.call(ke)},dragover(_n){if(this.draggedRange||this.canAcceptDataTransfer(_n.dataTransfer)){_n.preventDefault();const $n={x:_n.clientX,y:_n.clientY};var ke,Ce;if(!St($n,this.draggingPoint))return this.draggingPoint=$n,(ke=this.delegate)===null||ke===void 0||(Ce=ke.inputControllerDidReceiveDragOverPoint)===null||Ce===void 0?void 0:Ce.call(ke,this.draggingPoint)}},dragend(_n){var ke,Ce;(ke=this.delegate)===null||ke===void 0||(Ce=ke.inputControllerDidCancelDrag)===null||Ce===void 0||Ce.call(ke),this.draggedRange=null,this.draggingPoint=null},drop(_n){var ke,Ce;_n.preventDefault();const $n=(ke=_n.dataTransfer)===null||ke===void 0?void 0:ke.files,Mn=_n.dataTransfer.getData("application/x-trix-document"),Qn={x:_n.clientX,y:_n.clientY};if((Ce=this.responder)===null||Ce===void 0||Ce.setLocationRangeFromPointRange(Qn),$n!=null&&$n.length)this.attachFiles($n);else if(this.draggedRange){var Vn,qn;(Vn=this.delegate)===null||Vn===void 0||Vn.inputControllerWillMoveText(),(qn=this.responder)===null||qn===void 0||qn.moveTextFromRange(this.draggedRange),this.draggedRange=null,this.requestRender()}else if(Mn){var Zn;const jn=Je.fromJSONString(Mn);(Zn=this.responder)===null||Zn===void 0||Zn.insertDocument(jn),this.requestRender()}this.draggedRange=null,this.draggingPoint=null},cut(_n){var ke,Ce;if((ke=this.responder)!==null&&ke!==void 0&&ke.selectionIsExpanded()&&(this.serializeSelectionToDataTransfer(_n.clipboardData)&&_n.preventDefault(),(Ce=this.delegate)===null||Ce===void 0||Ce.inputControllerWillCutText(),this.deleteInDirection("backward"),_n.defaultPrevented))return this.requestRender()},copy(_n){var ke;(ke=this.responder)!==null&&ke!==void 0&&ke.selectionIsExpanded()&&this.serializeSelectionToDataTransfer(_n.clipboardData)&&_n.preventDefault()},paste(_n){const ke=_n.clipboardData||_n.testClipboardData,Ce={clipboard:ke};if(!ke||nn(_n))return void this.getPastedHTMLUsingHiddenElement(nr=>{var er,rr,or;return Ce.type="text/html",Ce.html=nr,(er=this.delegate)===null||er===void 0||er.inputControllerWillPaste(Ce),(rr=this.responder)===null||rr===void 0||rr.insertHTML(Ce.html),this.requestRender(),(or=this.delegate)===null||or===void 0?void 0:or.inputControllerDidPaste(Ce)});const $n=ke.getData("URL"),Mn=ke.getData("text/html"),Qn=ke.getData("public.url-name");if($n){var Vn,qn,Zn;let nr;Ce.type="text/html",nr=Qn?qt(Qn).trim():$n,Ce.html=this.createLinkHTML($n,nr),(Vn=this.delegate)===null||Vn===void 0||Vn.inputControllerWillPaste(Ce),this.setInputSummary({textAdded:nr,didDelete:this.selectionIsExpanded()}),(qn=this.responder)===null||qn===void 0||qn.insertHTML(Ce.html),this.requestRender(),(Zn=this.delegate)===null||Zn===void 0||Zn.inputControllerDidPaste(Ce)}else if(Ct(ke)){var jn,Xn,zn;Ce.type="text/plain",Ce.string=ke.getData("text/plain"),(jn=this.delegate)===null||jn===void 0||jn.inputControllerWillPaste(Ce),this.setInputSummary({textAdded:Ce.string,didDelete:this.selectionIsExpanded()}),(Xn=this.responder)===null||Xn===void 0||Xn.insertString(Ce.string),this.requestRender(),(zn=this.delegate)===null||zn===void 0||zn.inputControllerDidPaste(Ce)}else if(Mn){var Hn,Wn,Yn;Ce.type="text/html",Ce.html=Mn,(Hn=this.delegate)===null||Hn===void 0||Hn.inputControllerWillPaste(Ce),(Wn=this.responder)===null||Wn===void 0||Wn.insertHTML(Ce.html),this.requestRender(),(Yn=this.delegate)===null||Yn===void 0||Yn.inputControllerDidPaste(Ce)}else if(Array.from(ke.types).includes("Files")){var Un,Gn;const nr=(Un=ke.items)===null||Un===void 0||(Un=Un[0])===null||Un===void 0||(Gn=Un.getAsFile)===null||Gn===void 0?void 0:Gn.call(Un);if(nr){var Kn,Jn,tr;const er=Zi(nr);!nr.name&&er&&(nr.name="pasted-file-".concat(++Yi,".").concat(er)),Ce.type="File",Ce.file=nr,(Kn=this.delegate)===null||Kn===void 0||Kn.inputControllerWillAttachFiles(),(Jn=this.responder)===null||Jn===void 0||Jn.insertFile(Ce.file),this.requestRender(),(tr=this.delegate)===null||tr===void 0||tr.inputControllerDidPaste(Ce)}}_n.preventDefault()},compositionstart(_n){return this.getCompositionInput().start(_n.data)},compositionupdate(_n){return this.getCompositionInput().update(_n.data)},compositionend(_n){return this.getCompositionInput().end(_n.data)},beforeinput(_n){this.inputSummary.didInput=!0},input(_n){return this.inputSummary.didInput=!0,_n.stopPropagation()}}),Re(Qi,"keys",{backspace(_n){var ke;return(ke=this.delegate)===null||ke===void 0||ke.inputControllerWillPerformTyping(),this.deleteInDirection("backward",_n)},delete(_n){var ke;return(ke=this.delegate)===null||ke===void 0||ke.inputControllerWillPerformTyping(),this.deleteInDirection("forward",_n)},return(_n){var ke,Ce;return this.setInputSummary({preferDocument:!0}),(ke=this.delegate)===null||ke===void 0||ke.inputControllerWillPerformTyping(),(Ce=this.responder)===null||Ce===void 0?void 0:Ce.insertLineBreak()},tab(_n){var ke,Ce;(ke=this.responder)!==null&&ke!==void 0&&ke.canIncreaseNestingLevel()&&((Ce=this.responder)===null||Ce===void 0||Ce.increaseNestingLevel(),this.requestRender(),_n.preventDefault())},left(_n){var ke;if(this.selectionIsInCursorTarget())return _n.preventDefault(),(ke=this.responder)===null||ke===void 0?void 0:ke.moveCursorInDirection("backward")},right(_n){var ke;if(this.selectionIsInCursorTarget())return _n.preventDefault(),(ke=this.responder)===null||ke===void 0?void 0:ke.moveCursorInDirection("forward")},control:{d(_n){var ke;return(ke=this.delegate)===null||ke===void 0||ke.inputControllerWillPerformTyping(),this.deleteInDirection("forward",_n)},h(_n){var ke;return(ke=this.delegate)===null||ke===void 0||ke.inputControllerWillPerformTyping(),this.deleteInDirection("backward",_n)},o(_n){var ke,Ce;return _n.preventDefault(),(ke=this.delegate)===null||ke===void 0||ke.inputControllerWillPerformTyping(),(Ce=this.responder)===null||Ce===void 0||Ce.insertString(` `,{updatePosition:!1}),this.requestRender()}},shift:{return(_n){var ke,Ce;(ke=this.delegate)===null||ke===void 0||ke.inputControllerWillPerformTyping(),(Ce=this.responder)===null||Ce===void 0||Ce.insertString(` `),this.requestRender(),_n.preventDefault()},tab(_n){var ke,Ce;(ke=this.responder)!==null&&ke!==void 0&&ke.canDecreaseNestingLevel()&&((Ce=this.responder)===null||Ce===void 0||Ce.decreaseNestingLevel(),this.requestRender(),_n.preventDefault())},left(_n){if(this.selectionIsInCursorTarget())return _n.preventDefault(),this.expandSelectionInDirection("backward")},right(_n){if(this.selectionIsInCursorTarget())return _n.preventDefault(),this.expandSelectionInDirection("forward")}},alt:{backspace(_n){var ke;return this.setInputSummary({preferDocument:!1}),(ke=this.delegate)===null||ke===void 0?void 0:ke.inputControllerWillPerformTyping()}},meta:{backspace(_n){var ke;return this.setInputSummary({preferDocument:!1}),(ke=this.delegate)===null||ke===void 0?void 0:ke.inputControllerWillPerformTyping()}}}),Qi.proxyMethod("responder?.getSelectedRange"),Qi.proxyMethod("responder?.setSelectedRange"),Qi.proxyMethod("responder?.expandSelectionInDirection"),Qi.proxyMethod("responder?.selectionIsInCursorTarget"),Qi.proxyMethod("responder?.selectionIsExpanded");const Zi=_n=>{var ke;return(ke=_n.type)===null||ke===void 0||(ke=ke.match(/\/(\w+)$/))===null||ke===void 0?void 0:ke[1]},tn=!((Gi=" ".codePointAt)===null||Gi===void 0||!Gi.call(" ",0)),en=function(_n){if(_n.key&&tn&&_n.key.codePointAt(0)===_n.keyCode)return _n.key;{let ke;if(_n.which===null?ke=_n.keyCode:_n.which!==0&&_n.charCode!==0&&(ke=_n.charCode),ke!=null&&Xi[ke]!=="escape")return X.fromCodepoints([ke]).toString()}},nn=function(_n){const ke=_n.clipboardData;if(ke){if(ke.types.includes("text/html")){for(const Ce of ke.types){const $n=/^CorePasteboardFlavorType/.test(Ce),Mn=/^dyn\./.test(Ce)&&ke.getData(Ce);if($n||Mn)return!0}return!1}{const Ce=ke.types.includes("com.apple.webarchive"),$n=ke.types.includes("com.apple.flat-rtfd");return Ce||$n}}};class rn extends H{constructor(ke){super(...arguments),this.inputController=ke,this.responder=this.inputController.responder,this.delegate=this.inputController.delegate,this.inputSummary=this.inputController.inputSummary,this.data={}}start(ke){if(this.data.start=ke,this.isSignificant()){var Ce,$n;this.inputSummary.eventName==="keypress"&&this.inputSummary.textAdded&&(($n=this.responder)===null||$n===void 0||$n.deleteInDirection("left")),this.selectionIsExpanded()||(this.insertPlaceholder(),this.requestRender()),this.range=(Ce=this.responder)===null||Ce===void 0?void 0:Ce.getSelectedRange()}}update(ke){if(this.data.update=ke,this.isSignificant()){const Ce=this.selectPlaceholder();Ce&&(this.forgetPlaceholder(),this.range=Ce)}}end(ke){return this.data.end=ke,this.isSignificant()?(this.forgetPlaceholder(),this.canApplyToDocument()?(this.setInputSummary({preferDocument:!0,didInput:!1}),(Ce=this.delegate)===null||Ce===void 0||Ce.inputControllerWillPerformTyping(),($n=this.responder)===null||$n===void 0||$n.setSelectedRange(this.range),(Mn=this.responder)===null||Mn===void 0||Mn.insertString(this.data.end),(Qn=this.responder)===null||Qn===void 0?void 0:Qn.setSelectedRange(this.range[0]+this.data.end.length)):this.data.start!=null||this.data.update!=null?(this.requestReparse(),this.inputController.reset()):void 0):this.inputController.reset();var Ce,$n,Mn,Qn}getEndData(){return this.data.end}isEnded(){return this.getEndData()!=null}isSignificant(){return!$i.composesExistingText||this.inputSummary.didInput}canApplyToDocument(){var ke,Ce;return((ke=this.data.start)===null||ke===void 0?void 0:ke.length)===0&&((Ce=this.data.end)===null||Ce===void 0?void 0:Ce.length)>0&&this.range}}rn.proxyMethod("inputController.setInputSummary"),rn.proxyMethod("inputController.requestRender"),rn.proxyMethod("inputController.requestReparse"),rn.proxyMethod("responder?.selectionIsExpanded"),rn.proxyMethod("responder?.insertPlaceholder"),rn.proxyMethod("responder?.selectPlaceholder"),rn.proxyMethod("responder?.forgetPlaceholder");class on extends Ki{constructor(){super(...arguments),this.render=this.render.bind(this)}elementDidMutate(){return this.scheduledRender?this.composing?(ke=this.delegate)===null||ke===void 0||(Ce=ke.inputControllerDidAllowUnhandledInput)===null||Ce===void 0?void 0:Ce.call(ke):void 0:this.reparse();var ke,Ce}scheduleRender(){return this.scheduledRender?this.scheduledRender:this.scheduledRender=requestAnimationFrame(this.render)}render(){var ke,Ce;cancelAnimationFrame(this.scheduledRender),this.scheduledRender=null,this.composing||(Ce=this.delegate)===null||Ce===void 0||Ce.render(),(ke=this.afterRender)===null||ke===void 0||ke.call(this),this.afterRender=null}reparse(){var ke;return(ke=this.delegate)===null||ke===void 0?void 0:ke.reparse()}insertString(){var ke;let Ce=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",$n=arguments.length>1?arguments[1]:void 0;return(ke=this.delegate)===null||ke===void 0||ke.inputControllerWillPerformTyping(),this.withTargetDOMRange(function(){var Mn;return(Mn=this.responder)===null||Mn===void 0?void 0:Mn.insertString(Ce,$n)})}toggleAttributeIfSupported(ke){var Ce;if(dt().includes(ke))return(Ce=this.delegate)===null||Ce===void 0||Ce.inputControllerWillPerformFormatting(ke),this.withTargetDOMRange(function(){var $n;return($n=this.responder)===null||$n===void 0?void 0:$n.toggleCurrentAttribute(ke)})}activateAttributeIfSupported(ke,Ce){var $n;if(dt().includes(ke))return($n=this.delegate)===null||$n===void 0||$n.inputControllerWillPerformFormatting(ke),this.withTargetDOMRange(function(){var Mn;return(Mn=this.responder)===null||Mn===void 0?void 0:Mn.setCurrentAttribute(ke,Ce)})}deleteInDirection(ke){let{recordUndoEntry:Ce}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{recordUndoEntry:!0};var $n;Ce&&(($n=this.delegate)===null||$n===void 0||$n.inputControllerWillPerformTyping());const Mn=()=>{var Vn;return(Vn=this.responder)===null||Vn===void 0?void 0:Vn.deleteInDirection(ke)},Qn=this.getTargetDOMRange({minLength:this.composing?1:2});return Qn?this.withTargetDOMRange(Qn,Mn):Mn()}withTargetDOMRange(ke,Ce){var $n;return typeof ke=="function"&&(Ce=ke,ke=this.getTargetDOMRange()),ke?($n=this.responder)===null||$n===void 0?void 0:$n.withTargetDOMRange(ke,Ce.bind(this)):(Pt.reset(),Ce.call(this))}getTargetDOMRange(){var ke,Ce;let{minLength:$n}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{minLength:0};const Mn=(ke=(Ce=this.event).getTargetRanges)===null||ke===void 0?void 0:ke.call(Ce);if(Mn&&Mn.length){const Qn=sn(Mn[0]);if($n===0||Qn.toString().length>=$n)return Qn}}withEvent(ke,Ce){let $n;this.event=ke;try{$n=Ce.call(this)}finally{this.event=null}return $n}}Re(on,"events",{keydown(_n){if(kt(_n)){var ke;const Ce=hn(_n);(ke=this.delegate)!==null&&ke!==void 0&&ke.inputControllerDidReceiveKeyboardCommand(Ce)&&_n.preventDefault()}else{let Ce=_n.key;_n.altKey&&(Ce+="+Alt"),_n.shiftKey&&(Ce+="+Shift");const $n=this.constructor.keys[Ce];if($n)return this.withEvent(_n,$n)}},paste(_n){var ke;let Ce;const $n=(ke=_n.clipboardData)===null||ke===void 0?void 0:ke.getData("URL");return cn(_n)?(_n.preventDefault(),this.attachFiles(_n.clipboardData.files)):un(_n)?(_n.preventDefault(),Ce={type:"text/plain",string:_n.clipboardData.getData("text/plain")},(Mn=this.delegate)===null||Mn===void 0||Mn.inputControllerWillPaste(Ce),(Qn=this.responder)===null||Qn===void 0||Qn.insertString(Ce.string),this.render(),(Vn=this.delegate)===null||Vn===void 0?void 0:Vn.inputControllerDidPaste(Ce)):$n?(_n.preventDefault(),Ce={type:"text/html",html:this.createLinkHTML($n)},(qn=this.delegate)===null||qn===void 0||qn.inputControllerWillPaste(Ce),(Zn=this.responder)===null||Zn===void 0||Zn.insertHTML(Ce.html),this.render(),(jn=this.delegate)===null||jn===void 0?void 0:jn.inputControllerDidPaste(Ce)):void 0;var Mn,Qn,Vn,qn,Zn,jn},beforeinput(_n){const ke=this.constructor.inputTypes[_n.inputType];_n.inputType||this.render(),ke&&(this.withEvent(_n,ke),this.scheduleRender())},input(_n){Pt.reset()},dragstart(_n){var ke,Ce;(ke=this.responder)!==null&&ke!==void 0&&ke.selectionContainsAttachments()&&(_n.dataTransfer.setData("application/x-trix-dragging",!0),this.dragging={range:(Ce=this.responder)===null||Ce===void 0?void 0:Ce.getSelectedRange(),point:dn(_n)})},dragenter(_n){an(_n)&&_n.preventDefault()},dragover(_n){if(this.dragging){_n.preventDefault();const Ce=dn(_n);var ke;if(!St(Ce,this.dragging.point))return this.dragging.point=Ce,(ke=this.responder)===null||ke===void 0?void 0:ke.setLocationRangeFromPointRange(Ce)}else an(_n)&&_n.preventDefault()},drop(_n){var ke,Ce;if(this.dragging)return _n.preventDefault(),(ke=this.delegate)===null||ke===void 0||ke.inputControllerWillMoveText(),(Ce=this.responder)===null||Ce===void 0||Ce.moveTextFromRange(this.dragging.range),this.dragging=null,this.scheduleRender();if(an(_n)){var $n;_n.preventDefault();const Mn=dn(_n);return($n=this.responder)===null||$n===void 0||$n.setLocationRangeFromPointRange(Mn),this.attachFiles(_n.dataTransfer.files)}},dragend(){var _n;this.dragging&&((_n=this.responder)===null||_n===void 0||_n.setSelectedRange(this.dragging.range),this.dragging=null)},compositionend(_n){this.composing&&(this.composing=!1,a.recentAndroid||this.scheduleRender())}}),Re(on,"keys",{ArrowLeft(){var _n,ke;if((_n=this.responder)!==null&&_n!==void 0&&_n.shouldManageMovingCursorInDirection("backward"))return this.event.preventDefault(),(ke=this.responder)===null||ke===void 0?void 0:ke.moveCursorInDirection("backward")},ArrowRight(){var _n,ke;if((_n=this.responder)!==null&&_n!==void 0&&_n.shouldManageMovingCursorInDirection("forward"))return this.event.preventDefault(),(ke=this.responder)===null||ke===void 0?void 0:ke.moveCursorInDirection("forward")},Backspace(){var _n,ke,Ce;if((_n=this.responder)!==null&&_n!==void 0&&_n.shouldManageDeletingInDirection("backward"))return this.event.preventDefault(),(ke=this.delegate)===null||ke===void 0||ke.inputControllerWillPerformTyping(),(Ce=this.responder)===null||Ce===void 0||Ce.deleteInDirection("backward"),this.render()},Tab(){var _n,ke;if((_n=this.responder)!==null&&_n!==void 0&&_n.canIncreaseNestingLevel())return this.event.preventDefault(),(ke=this.responder)===null||ke===void 0||ke.increaseNestingLevel(),this.render()},"Tab+Shift"(){var _n,ke;if((_n=this.responder)!==null&&_n!==void 0&&_n.canDecreaseNestingLevel())return this.event.preventDefault(),(ke=this.responder)===null||ke===void 0||ke.decreaseNestingLevel(),this.render()}}),Re(on,"inputTypes",{deleteByComposition(){return this.deleteInDirection("backward",{recordUndoEntry:!1})},deleteByCut(){return this.deleteInDirection("backward")},deleteByDrag(){return this.event.preventDefault(),this.withTargetDOMRange(function(){var _n;this.deleteByDragRange=(_n=this.responder)===null||_n===void 0?void 0:_n.getSelectedRange()})},deleteCompositionText(){return this.deleteInDirection("backward",{recordUndoEntry:!1})},deleteContent(){return this.deleteInDirection("backward")},deleteContentBackward(){return this.deleteInDirection("backward")},deleteContentForward(){return this.deleteInDirection("forward")},deleteEntireSoftLine(){return this.deleteInDirection("forward")},deleteHardLineBackward(){return this.deleteInDirection("backward")},deleteHardLineForward(){return this.deleteInDirection("forward")},deleteSoftLineBackward(){return this.deleteInDirection("backward")},deleteSoftLineForward(){return this.deleteInDirection("forward")},deleteWordBackward(){return this.deleteInDirection("backward")},deleteWordForward(){return this.deleteInDirection("forward")},formatBackColor(){return this.activateAttributeIfSupported("backgroundColor",this.event.data)},formatBold(){return this.toggleAttributeIfSupported("bold")},formatFontColor(){return this.activateAttributeIfSupported("color",this.event.data)},formatFontName(){return this.activateAttributeIfSupported("font",this.event.data)},formatIndent(){var _n;if((_n=this.responder)!==null&&_n!==void 0&&_n.canIncreaseNestingLevel())return this.withTargetDOMRange(function(){var ke;return(ke=this.responder)===null||ke===void 0?void 0:ke.increaseNestingLevel()})},formatItalic(){return this.toggleAttributeIfSupported("italic")},formatJustifyCenter(){return this.toggleAttributeIfSupported("justifyCenter")},formatJustifyFull(){return this.toggleAttributeIfSupported("justifyFull")},formatJustifyLeft(){return this.toggleAttributeIfSupported("justifyLeft")},formatJustifyRight(){return this.toggleAttributeIfSupported("justifyRight")},formatOutdent(){var _n;if((_n=this.responder)!==null&&_n!==void 0&&_n.canDecreaseNestingLevel())return this.withTargetDOMRange(function(){var ke;return(ke=this.responder)===null||ke===void 0?void 0:ke.decreaseNestingLevel()})},formatRemove(){this.withTargetDOMRange(function(){for(const Ce in(_n=this.responder)===null||_n===void 0?void 0:_n.getCurrentAttributes()){var _n,ke;(ke=this.responder)===null||ke===void 0||ke.removeCurrentAttribute(Ce)}})},formatSetBlockTextDirection(){return this.activateAttributeIfSupported("blockDir",this.event.data)},formatSetInlineTextDirection(){return this.activateAttributeIfSupported("textDir",this.event.data)},formatStrikeThrough(){return this.toggleAttributeIfSupported("strike")},formatSubscript(){return this.toggleAttributeIfSupported("sub")},formatSuperscript(){return this.toggleAttributeIfSupported("sup")},formatUnderline(){return this.toggleAttributeIfSupported("underline")},historyRedo(){var _n;return(_n=this.delegate)===null||_n===void 0?void 0:_n.inputControllerWillPerformRedo()},historyUndo(){var _n;return(_n=this.delegate)===null||_n===void 0?void 0:_n.inputControllerWillPerformUndo()},insertCompositionText(){return this.composing=!0,this.insertString(this.event.data)},insertFromComposition(){return this.composing=!1,this.insertString(this.event.data)},insertFromDrop(){const _n=this.deleteByDragRange;var ke;if(_n)return this.deleteByDragRange=null,(ke=this.delegate)===null||ke===void 0||ke.inputControllerWillMoveText(),this.withTargetDOMRange(function(){var Ce;return(Ce=this.responder)===null||Ce===void 0?void 0:Ce.moveTextFromRange(_n)})},insertFromPaste(){const{dataTransfer:_n}=this.event,ke={dataTransfer:_n},Ce=_n.getData("URL"),$n=_n.getData("text/html");if(Ce){var Mn;let Zn;this.event.preventDefault(),ke.type="text/html";const jn=_n.getData("public.url-name");Zn=jn?qt(jn).trim():Ce,ke.html=this.createLinkHTML(Ce,Zn),(Mn=this.delegate)===null||Mn===void 0||Mn.inputControllerWillPaste(ke),this.withTargetDOMRange(function(){var Xn;return(Xn=this.responder)===null||Xn===void 0?void 0:Xn.insertHTML(ke.html)}),this.afterRender=()=>{var Xn;return(Xn=this.delegate)===null||Xn===void 0?void 0:Xn.inputControllerDidPaste(ke)}}else if(Ct(_n)){var Qn;ke.type="text/plain",ke.string=_n.getData("text/plain"),(Qn=this.delegate)===null||Qn===void 0||Qn.inputControllerWillPaste(ke),this.withTargetDOMRange(function(){var Zn;return(Zn=this.responder)===null||Zn===void 0?void 0:Zn.insertString(ke.string)}),this.afterRender=()=>{var Zn;return(Zn=this.delegate)===null||Zn===void 0?void 0:Zn.inputControllerDidPaste(ke)}}else if(ln(this.event)){var Vn;ke.type="File",ke.file=_n.files[0],(Vn=this.delegate)===null||Vn===void 0||Vn.inputControllerWillPaste(ke),this.withTargetDOMRange(function(){var Zn;return(Zn=this.responder)===null||Zn===void 0?void 0:Zn.insertFile(ke.file)}),this.afterRender=()=>{var Zn;return(Zn=this.delegate)===null||Zn===void 0?void 0:Zn.inputControllerDidPaste(ke)}}else if($n){var qn;this.event.preventDefault(),ke.type="text/html",ke.html=$n,(qn=this.delegate)===null||qn===void 0||qn.inputControllerWillPaste(ke),this.withTargetDOMRange(function(){var Zn;return(Zn=this.responder)===null||Zn===void 0?void 0:Zn.insertHTML(ke.html)}),this.afterRender=()=>{var Zn;return(Zn=this.delegate)===null||Zn===void 0?void 0:Zn.inputControllerDidPaste(ke)}}},insertFromYank(){return this.insertString(this.event.data)},insertLineBreak(){return this.insertString(` `)},insertLink(){return this.activateAttributeIfSupported("href",this.event.data)},insertOrderedList(){return this.toggleAttributeIfSupported("number")},insertParagraph(){var _n;return(_n=this.delegate)===null||_n===void 0||_n.inputControllerWillPerformTyping(),this.withTargetDOMRange(function(){var ke;return(ke=this.responder)===null||ke===void 0?void 0:ke.insertLineBreak()})},insertReplacementText(){const _n=this.event.dataTransfer.getData("text/plain"),ke=this.event.getTargetRanges()[0];this.withTargetDOMRange(ke,()=>{this.insertString(_n,{updatePosition:!1})})},insertText(){var _n;return this.insertString(this.event.data||((_n=this.event.dataTransfer)===null||_n===void 0?void 0:_n.getData("text/plain")))},insertTranspose(){return this.insertString(this.event.data)},insertUnorderedList(){return this.toggleAttributeIfSupported("bullet")}});const sn=function(_n){const ke=document.createRange();return ke.setStart(_n.startContainer,_n.startOffset),ke.setEnd(_n.endContainer,_n.endOffset),ke},an=_n=>{var ke;return Array.from(((ke=_n.dataTransfer)===null||ke===void 0?void 0:ke.types)||[]).includes("Files")},ln=_n=>{var ke;return((ke=_n.dataTransfer.files)===null||ke===void 0?void 0:ke[0])&&!cn(_n)&&!(Ce=>{let{dataTransfer:$n}=Ce;return $n.types.includes("Files")&&$n.types.includes("text/html")&&$n.getData("text/html").includes("urn:schemas-microsoft-com:office:office")})(_n)},cn=function(_n){const ke=_n.clipboardData;if(ke)return Array.from(ke.types).filter(Ce=>Ce.match(/file/i)).length===ke.types.length&&ke.files.length>=1},un=function(_n){const ke=_n.clipboardData;if(ke)return ke.types.includes("text/plain")&&ke.types.length===1},hn=function(_n){const ke=[];return _n.altKey&&ke.push("alt"),_n.shiftKey&&ke.push("shift"),ke.push(_n.key),ke},dn=_n=>({x:_n.clientX,y:_n.clientY}),gn="[data-trix-attribute]",mn="[data-trix-action]",pn="".concat(gn,", ").concat(mn),fn="[data-trix-dialog]",bn="".concat(fn,"[data-trix-active]"),vn="".concat(fn," [data-trix-method]"),An="".concat(fn," [data-trix-input]"),xn=(_n,ke)=>(ke||(ke=Cn(_n)),_n.querySelector("[data-trix-input][name='".concat(ke,"']"))),yn=_n=>_n.getAttribute("data-trix-action"),Cn=_n=>_n.getAttribute("data-trix-attribute")||_n.getAttribute("data-trix-dialog-attribute");class kn extends H{constructor(ke){super(ke),this.didClickActionButton=this.didClickActionButton.bind(this),this.didClickAttributeButton=this.didClickAttributeButton.bind(this),this.didClickDialogButton=this.didClickDialogButton.bind(this),this.didKeyDownDialogInput=this.didKeyDownDialogInput.bind(this),this.element=ke,this.attributes={},this.actions={},this.resetDialogInputs(),f("mousedown",{onElement:this.element,matchingSelector:mn,withCallback:this.didClickActionButton}),f("mousedown",{onElement:this.element,matchingSelector:gn,withCallback:this.didClickAttributeButton}),f("click",{onElement:this.element,matchingSelector:pn,preventDefault:!0}),f("click",{onElement:this.element,matchingSelector:vn,withCallback:this.didClickDialogButton}),f("keydown",{onElement:this.element,matchingSelector:An,withCallback:this.didKeyDownDialogInput})}didClickActionButton(ke,Ce){var $n;($n=this.delegate)===null||$n===void 0||$n.toolbarDidClickButton(),ke.preventDefault();const Mn=yn(Ce);return this.getDialog(Mn)?this.toggleDialog(Mn):(Qn=this.delegate)===null||Qn===void 0?void 0:Qn.toolbarDidInvokeAction(Mn,Ce);var Qn}didClickAttributeButton(ke,Ce){var $n;($n=this.delegate)===null||$n===void 0||$n.toolbarDidClickButton(),ke.preventDefault();const Mn=Cn(Ce);var Qn;return this.getDialog(Mn)?this.toggleDialog(Mn):(Qn=this.delegate)===null||Qn===void 0||Qn.toolbarDidToggleAttribute(Mn),this.refreshAttributeButtons()}didClickDialogButton(ke,Ce){const $n=A(Ce,{matchingSelector:fn});return this[Ce.getAttribute("data-trix-method")].call(this,$n)}didKeyDownDialogInput(ke,Ce){if(ke.keyCode===13){ke.preventDefault();const $n=Ce.getAttribute("name"),Mn=this.getDialog($n);this.setAttribute(Mn)}if(ke.keyCode===27)return ke.preventDefault(),this.hideDialog()}updateActions(ke){return this.actions=ke,this.refreshActionButtons()}refreshActionButtons(){return this.eachActionButton((ke,Ce)=>{ke.disabled=this.actions[Ce]===!1})}eachActionButton(ke){return Array.from(this.element.querySelectorAll(mn)).map(Ce=>ke(Ce,yn(Ce)))}updateAttributes(ke){return this.attributes=ke,this.refreshAttributeButtons()}refreshAttributeButtons(){return this.eachAttributeButton((ke,Ce)=>(ke.disabled=this.attributes[Ce]===!1,this.attributes[Ce]||this.dialogIsVisible(Ce)?(ke.setAttribute("data-trix-active",""),ke.classList.add("trix-active")):(ke.removeAttribute("data-trix-active"),ke.classList.remove("trix-active"))))}eachAttributeButton(ke){return Array.from(this.element.querySelectorAll(gn)).map(Ce=>ke(Ce,Cn(Ce)))}applyKeyboardCommand(ke){const Ce=JSON.stringify(ke.sort());for(const $n of Array.from(this.element.querySelectorAll("[data-trix-key]"))){const Mn=$n.getAttribute("data-trix-key").split("+");if(JSON.stringify(Mn.sort())===Ce)return b("mousedown",{onElement:$n}),!0}return!1}dialogIsVisible(ke){const Ce=this.getDialog(ke);if(Ce)return Ce.hasAttribute("data-trix-active")}toggleDialog(ke){return this.dialogIsVisible(ke)?this.hideDialog():this.showDialog(ke)}showDialog(ke){var Ce,$n;this.hideDialog(),(Ce=this.delegate)===null||Ce===void 0||Ce.toolbarWillShowDialog();const Mn=this.getDialog(ke);Mn.setAttribute("data-trix-active",""),Mn.classList.add("trix-active"),Array.from(Mn.querySelectorAll("input[disabled]")).forEach(Vn=>{Vn.removeAttribute("disabled")});const Qn=Cn(Mn);if(Qn){const Vn=xn(Mn,ke);Vn&&(Vn.value=this.attributes[Qn]||"",Vn.select())}return($n=this.delegate)===null||$n===void 0?void 0:$n.toolbarDidShowDialog(ke)}setAttribute(ke){const Ce=Cn(ke),$n=xn(ke,Ce);return $n.willValidate&&!$n.checkValidity()?($n.setAttribute("data-trix-validate",""),$n.classList.add("trix-validate"),$n.focus()):((Mn=this.delegate)===null||Mn===void 0||Mn.toolbarDidUpdateAttribute(Ce,$n.value),this.hideDialog());var Mn}removeAttribute(ke){var Ce;const $n=Cn(ke);return(Ce=this.delegate)===null||Ce===void 0||Ce.toolbarDidRemoveAttribute($n),this.hideDialog()}hideDialog(){const ke=this.element.querySelector(bn);var Ce;if(ke)return ke.removeAttribute("data-trix-active"),ke.classList.remove("trix-active"),this.resetDialogInputs(),(Ce=this.delegate)===null||Ce===void 0?void 0:Ce.toolbarDidHideDialog(($n=>$n.getAttribute("data-trix-dialog"))(ke))}resetDialogInputs(){Array.from(this.element.querySelectorAll(An)).forEach(ke=>{ke.setAttribute("disabled","disabled"),ke.removeAttribute("data-trix-validate"),ke.classList.remove("trix-validate")})}getDialog(ke){return this.element.querySelector("[data-trix-dialog=".concat(ke,"]"))}}class Rn extends Oi{constructor(ke){let{editorElement:Ce,document:$n,html:Mn}=ke;super(...arguments),this.editorElement=Ce,this.selectionManager=new Li(this.editorElement),this.selectionManager.delegate=this,this.composition=new gi,this.composition.delegate=this,this.attachmentManager=new hi(this.composition.getAttachments()),this.attachmentManager.delegate=this,this.inputController=M.getLevel()===2?new on(this.editorElement):new Qi(this.editorElement),this.inputController.delegate=this,this.inputController.responder=this.composition,this.compositionController=new Ni(this.editorElement,this.composition),this.compositionController.delegate=this,this.toolbarController=new kn(this.editorElement.toolbarElement),this.toolbarController.delegate=this,this.editor=new xi(this.composition,this.selectionManager,this.editorElement),$n?this.editor.loadDocument($n):this.editor.loadHTML(Mn)}registerSelectionManager(){return Pt.registerSelectionManager(this.selectionManager)}unregisterSelectionManager(){return Pt.unregisterSelectionManager(this.selectionManager)}render(){return this.compositionController.render()}reparse(){return this.composition.replaceHTML(this.editorElement.innerHTML)}compositionDidChangeDocument(ke){if(this.notifyEditorElement("document-change"),!this.handlingInput)return this.render()}compositionDidChangeCurrentAttributes(ke){return this.currentAttributes=ke,this.toolbarController.updateAttributes(this.currentAttributes),this.updateCurrentActions(),this.notifyEditorElement("attributes-change",{attributes:this.currentAttributes})}compositionDidPerformInsertionAtRange(ke){this.pasting&&(this.pastedRange=ke)}compositionShouldAcceptFile(ke){return this.notifyEditorElement("file-accept",{file:ke})}compositionDidAddAttachment(ke){const Ce=this.attachmentManager.manageAttachment(ke);return this.notifyEditorElement("attachment-add",{attachment:Ce})}compositionDidEditAttachment(ke){this.compositionController.rerenderViewForObject(ke);const Ce=this.attachmentManager.manageAttachment(ke);return this.notifyEditorElement("attachment-edit",{attachment:Ce}),this.notifyEditorElement("change")}compositionDidChangeAttachmentPreviewURL(ke){return this.compositionController.invalidateViewForObject(ke),this.notifyEditorElement("change")}compositionDidRemoveAttachment(ke){const Ce=this.attachmentManager.unmanageAttachment(ke);return this.notifyEditorElement("attachment-remove",{attachment:Ce})}compositionDidStartEditingAttachment(ke,Ce){return this.attachmentLocationRange=this.composition.document.getLocationRangeOfAttachment(ke),this.compositionController.installAttachmentEditorForAttachment(ke,Ce),this.selectionManager.setLocationRange(this.attachmentLocationRange)}compositionDidStopEditingAttachment(ke){this.compositionController.uninstallAttachmentEditor(),this.attachmentLocationRange=null}compositionDidRequestChangingSelectionToLocationRange(ke){if(!this.loadingSnapshot||this.isFocused())return this.requestedLocationRange=ke,this.compositionRevisionWhenLocationRangeRequested=this.composition.revision,this.handlingInput?void 0:this.render()}compositionWillLoadSnapshot(){this.loadingSnapshot=!0}compositionDidLoadSnapshot(){this.compositionController.refreshViewCache(),this.render(),this.loadingSnapshot=!1}getSelectionManager(){return this.selectionManager}attachmentManagerDidRequestRemovalOfAttachment(ke){return this.removeAttachment(ke)}compositionControllerWillSyncDocumentView(){return this.inputController.editorWillSyncDocumentView(),this.selectionManager.lock(),this.selectionManager.clearSelection()}compositionControllerDidSyncDocumentView(){return this.inputController.editorDidSyncDocumentView(),this.selectionManager.unlock(),this.updateCurrentActions(),this.notifyEditorElement("sync")}compositionControllerDidRender(){this.requestedLocationRange&&(this.compositionRevisionWhenLocationRangeRequested===this.composition.revision&&this.selectionManager.setLocationRange(this.requestedLocationRange),this.requestedLocationRange=null,this.compositionRevisionWhenLocationRangeRequested=null),this.renderedCompositionRevision!==this.composition.revision&&(this.runEditorFilters(),this.composition.updateCurrentAttributes(),this.notifyEditorElement("render")),this.renderedCompositionRevision=this.composition.revision}compositionControllerDidFocus(){return this.isFocusedInvisibly()&&this.setLocationRange({index:0,offset:0}),this.toolbarController.hideDialog(),this.notifyEditorElement("focus")}compositionControllerDidBlur(){return this.notifyEditorElement("blur")}compositionControllerDidSelectAttachment(ke,Ce){return this.toolbarController.hideDialog(),this.composition.editAttachment(ke,Ce)}compositionControllerDidRequestDeselectingAttachment(ke){const Ce=this.attachmentLocationRange||this.composition.document.getLocationRangeOfAttachment(ke);return this.selectionManager.setLocationRange(Ce[1])}compositionControllerWillUpdateAttachment(ke){return this.editor.recordUndoEntry("Edit Attachment",{context:ke.id,consolidatable:!0})}compositionControllerDidRequestRemovalOfAttachment(ke){return this.removeAttachment(ke)}inputControllerWillHandleInput(){this.handlingInput=!0,this.requestedRender=!1}inputControllerDidRequestRender(){this.requestedRender=!0}inputControllerDidHandleInput(){if(this.handlingInput=!1,this.requestedRender)return this.requestedRender=!1,this.render()}inputControllerDidAllowUnhandledInput(){return this.notifyEditorElement("change")}inputControllerDidRequestReparse(){return this.reparse()}inputControllerWillPerformTyping(){return this.recordTypingUndoEntry()}inputControllerWillPerformFormatting(ke){return this.recordFormattingUndoEntry(ke)}inputControllerWillCutText(){return this.editor.recordUndoEntry("Cut")}inputControllerWillPaste(ke){return this.editor.recordUndoEntry("Paste"),this.pasting=!0,this.notifyEditorElement("before-paste",{paste:ke})}inputControllerDidPaste(ke){return ke.range=this.pastedRange,this.pastedRange=null,this.pasting=null,this.notifyEditorElement("paste",{paste:ke})}inputControllerWillMoveText(){return this.editor.recordUndoEntry("Move")}inputControllerWillAttachFiles(){return this.editor.recordUndoEntry("Drop Files")}inputControllerWillPerformUndo(){return this.editor.undo()}inputControllerWillPerformRedo(){return this.editor.redo()}inputControllerDidReceiveKeyboardCommand(ke){return this.toolbarController.applyKeyboardCommand(ke)}inputControllerDidStartDrag(){this.locationRangeBeforeDrag=this.selectionManager.getLocationRange()}inputControllerDidReceiveDragOverPoint(ke){return this.selectionManager.setLocationRangeFromPointRange(ke)}inputControllerDidCancelDrag(){this.selectionManager.setLocationRange(this.locationRangeBeforeDrag),this.locationRangeBeforeDrag=null}locationRangeDidChange(ke){return this.composition.updateCurrentAttributes(),this.updateCurrentActions(),this.attachmentLocationRange&&!wt(this.attachmentLocationRange,ke)&&this.composition.stopEditingAttachment(),this.notifyEditorElement("selection-change")}toolbarDidClickButton(){if(!this.getLocationRange())return this.setLocationRange({index:0,offset:0})}toolbarDidInvokeAction(ke,Ce){return this.invokeAction(ke,Ce)}toolbarDidToggleAttribute(ke){if(this.recordFormattingUndoEntry(ke),this.composition.toggleCurrentAttribute(ke),this.render(),!this.selectionFrozen)return this.editorElement.focus()}toolbarDidUpdateAttribute(ke,Ce){if(this.recordFormattingUndoEntry(ke),this.composition.setCurrentAttribute(ke,Ce),this.render(),!this.selectionFrozen)return this.editorElement.focus()}toolbarDidRemoveAttribute(ke){if(this.recordFormattingUndoEntry(ke),this.composition.removeCurrentAttribute(ke),this.render(),!this.selectionFrozen)return this.editorElement.focus()}toolbarWillShowDialog(ke){return this.composition.expandSelectionForEditing(),this.freezeSelection()}toolbarDidShowDialog(ke){return this.notifyEditorElement("toolbar-dialog-show",{dialogName:ke})}toolbarDidHideDialog(ke){return this.thawSelection(),this.editorElement.focus(),this.notifyEditorElement("toolbar-dialog-hide",{dialogName:ke})}freezeSelection(){if(!this.selectionFrozen)return this.selectionManager.lock(),this.composition.freezeSelection(),this.selectionFrozen=!0,this.render()}thawSelection(){if(this.selectionFrozen)return this.composition.thawSelection(),this.selectionManager.unlock(),this.selectionFrozen=!1,this.render()}canInvokeAction(ke){return!!this.actionIsExternal(ke)||!((Ce=this.actions[ke])===null||Ce===void 0||(Ce=Ce.test)===null||Ce===void 0||!Ce.call(this));var Ce}invokeAction(ke,Ce){return this.actionIsExternal(ke)?this.notifyEditorElement("action-invoke",{actionName:ke,invokingElement:Ce}):($n=this.actions[ke])===null||$n===void 0||($n=$n.perform)===null||$n===void 0?void 0:$n.call(this);var $n}actionIsExternal(ke){return/^x-./.test(ke)}getCurrentActions(){const ke={};for(const Ce in this.actions)ke[Ce]=this.canInvokeAction(Ce);return ke}updateCurrentActions(){const ke=this.getCurrentActions();if(!St(ke,this.currentActions))return this.currentActions=ke,this.toolbarController.updateActions(this.currentActions),this.notifyEditorElement("actions-change",{actions:this.currentActions})}runEditorFilters(){let ke=this.composition.getSnapshot();if(Array.from(this.editor.filters).forEach(Mn=>{const{document:Qn,selectedRange:Vn}=ke;ke=Mn.call(this.editor,ke)||{},ke.document||(ke.document=Qn),ke.selectedRange||(ke.selectedRange=Vn)}),Ce=ke,$n=this.composition.getSnapshot(),!wt(Ce.selectedRange,$n.selectedRange)||!Ce.document.isEqualTo($n.document))return this.composition.loadSnapshot(ke);var Ce,$n}updateInputElement(){const ke=function(Ce,$n){const Mn=li[$n];if(Mn)return Mn(Ce);throw new Error("unknown content type: ".concat($n))}(this.compositionController.getSerializableElement(),"text/html");return this.editorElement.setInputElementValue(ke)}notifyEditorElement(ke,Ce){switch(ke){case"document-change":this.documentChangedSinceLastRender=!0;break;case"render":this.documentChangedSinceLastRender&&(this.documentChangedSinceLastRender=!1,this.notifyEditorElement("change"));break;case"change":case"attachment-add":case"attachment-edit":case"attachment-remove":this.updateInputElement()}return this.editorElement.notify(ke,Ce)}removeAttachment(ke){return this.editor.recordUndoEntry("Delete Attachment"),this.composition.removeAttachment(ke),this.render()}recordFormattingUndoEntry(ke){const Ce=gt(ke),$n=this.selectionManager.getLocationRange();if(Ce||!Dt($n))return this.editor.recordUndoEntry("Formatting",{context:this.getUndoContext(),consolidatable:!0})}recordTypingUndoEntry(){return this.editor.recordUndoEntry("Typing",{context:this.getUndoContext(this.currentAttributes),consolidatable:!0})}getUndoContext(){for(var ke=arguments.length,Ce=new Array(ke),$n=0;$n0?Math.floor(new Date().getTime()/q.interval):0}isFocused(){var ke;return this.editorElement===((ke=this.editorElement.ownerDocument)===null||ke===void 0?void 0:ke.activeElement)}isFocusedInvisibly(){return this.isFocused()&&!this.getLocationRange()}get actions(){return this.constructor.actions}}Re(Rn,"actions",{undo:{test(){return this.editor.canUndo()},perform(){return this.editor.undo()}},redo:{test(){return this.editor.canRedo()},perform(){return this.editor.redo()}},link:{test(){return this.editor.canActivateAttribute("href")}},increaseNestingLevel:{test(){return this.editor.canIncreaseNestingLevel()},perform(){return this.editor.increaseNestingLevel()&&this.render()}},decreaseNestingLevel:{test(){return this.editor.canDecreaseNestingLevel()},perform(){return this.editor.decreaseNestingLevel()&&this.render()}},attachFiles:{test:()=>!0,perform(){return M.pickFiles(this.editor.insertFiles)}}}),Rn.proxyMethod("getSelectionManager().setLocationRange"),Rn.proxyMethod("getSelectionManager().getLocationRange");var En=Object.freeze({__proto__:null,AttachmentEditorController:Ii,CompositionController:Ni,Controller:Oi,EditorController:Rn,InputController:Ki,Level0InputController:Qi,Level2InputController:on,ToolbarController:kn}),Sn=Object.freeze({__proto__:null,MutationObserver:Ui,SelectionChangeObserver:Ft}),Ln=Object.freeze({__proto__:null,FileVerificationOperation:Vi,ImagePreloadOperation:Le});bt("trix-toolbar",`%t { display: block; } %t { white-space: nowrap; } %t [data-trix-dialog] { display: none; } %t [data-trix-dialog][data-trix-active] { display: block; } %t [data-trix-dialog] [data-trix-validate]:invalid { background-color: #ffdddd; }`);class Dn extends HTMLElement{connectedCallback(){this.innerHTML===""&&(this.innerHTML=U.getDefaultHTML())}}let wn=0;const Tn=function(_n){if(!_n.hasAttribute("contenteditable"))return _n.setAttribute("contenteditable",""),function(ke){let Ce=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return Ce.times=1,f(ke,Ce)}("focus",{onElement:_n,withCallback:()=>Bn(_n)})},Bn=function(_n){return Fn(_n),Pn()},Fn=function(_n){var ke,Ce;if((ke=(Ce=document).queryCommandSupported)!==null&&ke!==void 0&&ke.call(Ce,"enableObjectResizing"))return document.execCommand("enableObjectResizing",!1,!1),f("mscontrolselect",{onElement:_n,preventDefault:!0})},Pn=function(_n){var ke,Ce;if((ke=(Ce=document).queryCommandSupported)!==null&&ke!==void 0&&ke.call(Ce,"DefaultParagraphSeparator")){const{tagName:$n}=n.default;if(["div","p"].includes($n))return document.execCommand("DefaultParagraphSeparator",!1,$n)}},In=a.forcesObjectResizing?{display:"inline",width:"auto"}:{display:"inline-block",width:"1px"};bt("trix-editor",`%t { display: block; } %t:empty::before { content: attr(placeholder); color: graytext; cursor: text; pointer-events: none; white-space: pre-line; } %t a[contenteditable=false] { cursor: text; } %t img { max-width: 100%; height: auto; } %t `.concat(e,` figcaption textarea { resize: none; } %t `).concat(e,` figcaption textarea.trix-autoresize-clone { position: absolute; left: -9999px; max-height: 0px; } %t `).concat(e,` figcaption[data-trix-placeholder]:empty::before { content: attr(data-trix-placeholder); color: graytext; } %t [data-trix-cursor-target] { display: `).concat(In.display,` !important; width: `).concat(In.width,` !important; padding: 0 !important; margin: 0 !important; border: none !important; } %t [data-trix-cursor-target=left] { vertical-align: top !important; margin-left: -1px !important; } %t [data-trix-cursor-target=right] { vertical-align: bottom !important; margin-right: -1px !important; }`));class Nn extends HTMLElement{get trixId(){return this.hasAttribute("trix-id")?this.getAttribute("trix-id"):(this.setAttribute("trix-id",++wn),this.trixId)}get labels(){const ke=[];this.id&&this.ownerDocument&&ke.push(...Array.from(this.ownerDocument.querySelectorAll("label[for='".concat(this.id,"']"))||[]));const Ce=A(this,{matchingSelector:"label"});return Ce&&[this,null].includes(Ce.control)&&ke.push(Ce),ke}get toolbarElement(){var ke;if(this.hasAttribute("toolbar"))return(ke=this.ownerDocument)===null||ke===void 0?void 0:ke.getElementById(this.getAttribute("toolbar"));if(this.parentNode){const Ce="trix-toolbar-".concat(this.trixId);this.setAttribute("toolbar",Ce);const $n=S$1("trix-toolbar",{id:Ce});return this.parentNode.insertBefore($n,this),$n}}get form(){var ke;return(ke=this.inputElement)===null||ke===void 0?void 0:ke.form}get inputElement(){var ke;if(this.hasAttribute("input"))return(ke=this.ownerDocument)===null||ke===void 0?void 0:ke.getElementById(this.getAttribute("input"));if(this.parentNode){const Ce="trix-input-".concat(this.trixId);this.setAttribute("input",Ce);const $n=S$1("input",{type:"hidden",id:Ce});return this.parentNode.insertBefore($n,this.nextElementSibling),$n}}get editor(){var ke;return(ke=this.editorController)===null||ke===void 0?void 0:ke.editor}get name(){var ke;return(ke=this.inputElement)===null||ke===void 0?void 0:ke.name}get value(){var ke;return(ke=this.inputElement)===null||ke===void 0?void 0:ke.value}set value(ke){var Ce;this.defaultValue=ke,(Ce=this.editor)===null||Ce===void 0||Ce.loadHTML(this.defaultValue)}notify(ke,Ce){if(this.editorController)return b("trix-".concat(ke),{onElement:this,attributes:Ce})}setInputElementValue(ke){this.inputElement&&(this.inputElement.value=ke)}connectedCallback(){this.hasAttribute("data-trix-internal")||(Tn(this),function(ke){ke.hasAttribute("role")||ke.setAttribute("role","textbox")}(this),function(ke){if(ke.hasAttribute("aria-label")||ke.hasAttribute("aria-labelledby"))return;const Ce=function(){const $n=Array.from(ke.labels).map(Qn=>{if(!Qn.contains(ke))return Qn.textContent}).filter(Qn=>Qn),Mn=$n.join(" ");return Mn?ke.setAttribute("aria-label",Mn):ke.removeAttribute("aria-label")};Ce(),f("focus",{onElement:ke,withCallback:Ce})}(this),this.editorController||(b("trix-before-initialize",{onElement:this}),this.editorController=new Rn({editorElement:this,html:this.defaultValue=this.value}),requestAnimationFrame(()=>b("trix-initialize",{onElement:this}))),this.editorController.registerSelectionManager(),this.registerResetListener(),this.registerClickListener(),function(ke){!document.querySelector(":focus")&&ke.hasAttribute("autofocus")&&document.querySelector("[autofocus]")===ke&&ke.focus()}(this))}disconnectedCallback(){var ke;return(ke=this.editorController)===null||ke===void 0||ke.unregisterSelectionManager(),this.unregisterResetListener(),this.unregisterClickListener()}registerResetListener(){return this.resetListener=this.resetBubbled.bind(this),window.addEventListener("reset",this.resetListener,!1)}unregisterResetListener(){return window.removeEventListener("reset",this.resetListener,!1)}registerClickListener(){return this.clickListener=this.clickBubbled.bind(this),window.addEventListener("click",this.clickListener,!1)}unregisterClickListener(){return window.removeEventListener("click",this.clickListener,!1)}resetBubbled(ke){if(!ke.defaultPrevented&&ke.target===this.form)return this.reset()}clickBubbled(ke){if(ke.defaultPrevented||this.contains(ke.target))return;const Ce=A(ke.target,{matchingSelector:"label"});return Ce&&Array.from(this.labels).includes(Ce)?this.focus():void 0}reset(){this.value=this.defaultValue}}const On={VERSION:t$1,config:V,core:ci,models:Di,views:wi,controllers:En,observers:Sn,operations:Ln,elements:Object.freeze({__proto__:null,TrixEditorElement:Nn,TrixToolbarElement:Dn}),filters:Object.freeze({__proto__:null,Filter:bi,attachmentGalleryFilter:vi})};Object.assign(On,Di),window.Trix=On,setTimeout(function(){customElements.get("trix-toolbar")||customElements.define("trix-toolbar",Dn),customElements.get("trix-editor")||customElements.define("trix-editor",Nn)},0);function create_fragment$k(_n){let ke,Ce,$n,Mn,Qn,Vn,qn,Zn;return{c(){ke=element("div"),Ce=element("input"),Mn=space$3(),Qn=element("trix-editor"),attr(Ce,"id",$n="x-"+_n[1].name),Ce.value=_n[0],attr(Ce,"type","hidden"),set_custom_element_data(Qn,"class","content"),set_custom_element_data(Qn,"input",Vn="x-"+_n[1].name),set_custom_element_data(Qn,"role","textbox"),set_custom_element_data(Qn,"tabindex","0"),attr(ke,"class","tox-wrapper")},m(jn,Xn){insert$1(jn,ke,Xn),append(ke,Ce),append(ke,Mn),append(ke,Qn),_n[5](Qn),qn||(Zn=listen(Qn,"trix-change",_n[3]),qn=!0)},p(jn,[Xn]){Xn&2&&$n!==($n="x-"+jn[1].name)&&attr(Ce,"id",$n),Xn&1&&(Ce.value=jn[0]),Xn&2&&Vn!==(Vn="x-"+jn[1].name)&&set_custom_element_data(Qn,"input",Vn)},i:noop,o:noop,d(jn){jn&&detach(ke),_n[5](null),qn=!1,Zn()}}}function instance$k(_n,ke,Ce){let{value:$n=""}=ke,{field:Mn}=ke,Qn;function Vn(jn){Ce(0,$n=jn.target.value)}function qn(jn){if(jn.record._file.width>0){var Xn=new On.Attachment({content:jn.html});Qn.editor.insertAttachment(Xn)}else Qn.editor.insertHTML(`${jn.record._file.originalName}`)}onMount(()=>{Qn.addEventListener("trix-file-accept",jn=>{jn.preventDefault()}),Qn.addEventListener("trix-before-initialize",jn=>{On.config.blockAttributes.heading1.tagName="h2";const{toolbarElement:Xn}=jn.target;Xn.querySelector("[data-trix-attribute=heading1]").insertAdjacentHTML("afterend",'')})}),On.config.blockAttributes.default.breakOnReturn=!1,On.config.blockAttributes.heading3={tagName:"h3",terminal:!0,breakOnReturn:!0,group:!1};function Zn(jn){binding_callbacks[jn?"unshift":"push"](()=>{Qn=jn,Ce(2,Qn)})}return _n.$$set=jn=>{"value"in jn&&Ce(0,$n=jn.value),"field"in jn&&Ce(1,Mn=jn.field)},[$n,Mn,Qn,Vn,qn,Zn]}class Trix_1 extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$k,create_fragment$k,safe_not_equal,{value:0,field:1,insertMedia:4})}get insertMedia(){return this.$$.ctx[4]}}function create_if_block_1$9(_n){let ke,Ce,$n;function Mn(Vn){_n[11](Vn)}let Qn={record:_n[3],field:_n[2],validationErrors:_n[4]};return _n[1]!==void 0&&(Qn.graph=_n[1]),ke=new RichEditorFiles({props:Qn}),binding_callbacks.push(()=>bind(ke,"graph",Mn)),ke.$on("editor-insert",_n[7]),{c(){create_component(ke.$$.fragment)},m(Vn,qn){mount_component(ke,Vn,qn),$n=!0},p(Vn,qn){const Zn={};qn&8&&(Zn.record=Vn[3]),qn&4&&(Zn.field=Vn[2]),qn&16&&(Zn.validationErrors=Vn[4]),!Ce&&qn&2&&(Ce=!0,Zn.graph=Vn[1],add_flush_callback(()=>Ce=!1)),ke.$set(Zn)},i(Vn){$n||(transition_in(ke.$$.fragment,Vn),$n=!0)},o(Vn){transition_out(ke.$$.fragment,Vn),$n=!1},d(Vn){destroy_component(ke,Vn)}}}function create_if_block$d(_n){let ke,Ce;return{c(){ke=element("div"),Ce=text(_n[6]),attr(ke,"class","invalid-feedback d-block")},m($n,Mn){insert$1($n,ke,Mn),append(ke,Ce)},p($n,Mn){Mn&64&&set_data(Ce,$n[6])},d($n){$n&&detach(ke)}}}function create_fragment$j(_n){let ke,Ce,$n,Mn,Qn,Vn;function qn(zn){_n[10](zn)}let Zn={field:_n[2]};_n[0]!==void 0&&(Zn.value=_n[0]),Ce=new Trix_1({props:Zn}),_n[9](Ce),binding_callbacks.push(()=>bind(Ce,"value",qn));let jn=_n[2].collections.length>0&&create_if_block_1$9(_n),Xn=_n[6]&&create_if_block$d(_n);return{c(){ke=element("div"),create_component(Ce.$$.fragment),Mn=space$3(),jn&&jn.c(),Qn=space$3(),Xn&&Xn.c(),attr(ke,"class","mb-0")},m(zn,Hn){insert$1(zn,ke,Hn),mount_component(Ce,ke,null),append(ke,Mn),jn&&jn.m(ke,null),append(ke,Qn),Xn&&Xn.m(ke,null),Vn=!0},p(zn,[Hn]){const Wn={};Hn&4&&(Wn.field=zn[2]),!$n&&Hn&1&&($n=!0,Wn.value=zn[0],add_flush_callback(()=>$n=!1)),Ce.$set(Wn),zn[2].collections.length>0?jn?(jn.p(zn,Hn),Hn&4&&transition_in(jn,1)):(jn=create_if_block_1$9(zn),jn.c(),transition_in(jn,1),jn.m(ke,Qn)):jn&&(group_outros(),transition_out(jn,1,1,()=>{jn=null}),check_outros()),zn[6]?Xn?Xn.p(zn,Hn):(Xn=create_if_block$d(zn),Xn.c(),Xn.m(ke,null)):Xn&&(Xn.d(1),Xn=null)},i(zn){Vn||(transition_in(Ce.$$.fragment,zn),transition_in(jn),Vn=!0)},o(zn){transition_out(Ce.$$.fragment,zn),transition_out(jn),Vn=!1},d(zn){zn&&detach(ke),_n[9](null),destroy_component(Ce),jn&&jn.d(),Xn&&Xn.d()}}}function instance$j(_n,ke,Ce){let $n,{value:Mn}=ke,{field:Qn}=ke,{isCreateMode:Vn}=ke,{graph:qn}=ke,{record:Zn}=ke,{validationErrors:jn}=ke,Xn;Qn.readonly;function zn(Un){Xn.insertMedia(Un.detail)}function Hn(Un){binding_callbacks[Un?"unshift":"push"](()=>{Xn=Un,Ce(5,Xn)})}function Wn(Un){Mn=Un,Ce(0,Mn)}function Yn(Un){qn=Un,Ce(1,qn)}return _n.$$set=Un=>{"value"in Un&&Ce(0,Mn=Un.value),"field"in Un&&Ce(2,Qn=Un.field),"isCreateMode"in Un&&Ce(8,Vn=Un.isCreateMode),"graph"in Un&&Ce(1,qn=Un.graph),"record"in Un&&Ce(3,Zn=Un.record),"validationErrors"in Un&&Ce(4,jn=Un.validationErrors)},_n.$$.update=()=>{_n.$$.dirty&20&&Ce(6,$n=getErrorMessage(jn,Qn.name))},[Mn,qn,Qn,Zn,jn,Xn,$n,zn,Vn,Hn,Wn,Yn]}class RichEditor extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$j,create_fragment$j,safe_not_equal,{value:0,field:2,isCreateMode:8,graph:1,record:3,validationErrors:4})}}class Text{lineAt(ke){if(ke<0||ke>this.length)throw new RangeError(`Invalid position ${ke} in document of length ${this.length}`);return this.lineInner(ke,!1,1,0)}line(ke){if(ke<1||ke>this.lines)throw new RangeError(`Invalid line number ${ke} in ${this.lines}-line document`);return this.lineInner(ke,!0,1,0)}replace(ke,Ce,$n){[ke,Ce]=clip(this,ke,Ce);let Mn=[];return this.decompose(0,ke,Mn,2),$n.length&&$n.decompose(0,$n.length,Mn,3),this.decompose(Ce,this.length,Mn,1),TextNode.from(Mn,this.length-(Ce-ke)+$n.length)}append(ke){return this.replace(this.length,this.length,ke)}slice(ke,Ce=this.length){[ke,Ce]=clip(this,ke,Ce);let $n=[];return this.decompose(ke,Ce,$n,0),TextNode.from($n,Ce-ke)}eq(ke){if(ke==this)return!0;if(ke.length!=this.length||ke.lines!=this.lines)return!1;let Ce=this.scanIdentical(ke,1),$n=this.length-this.scanIdentical(ke,-1),Mn=new RawTextCursor(this),Qn=new RawTextCursor(ke);for(let Vn=Ce,qn=Ce;;){if(Mn.next(Vn),Qn.next(Vn),Vn=0,Mn.lineBreak!=Qn.lineBreak||Mn.done!=Qn.done||Mn.value!=Qn.value)return!1;if(qn+=Mn.value.length,Mn.done||qn>=$n)return!0}}iter(ke=1){return new RawTextCursor(this,ke)}iterRange(ke,Ce=this.length){return new PartialTextCursor(this,ke,Ce)}iterLines(ke,Ce){let $n;if(ke==null)$n=this.iter();else{Ce==null&&(Ce=this.lines+1);let Mn=this.line(ke).from;$n=this.iterRange(Mn,Math.max(Mn,Ce==this.lines+1?this.length:Ce<=1?0:this.line(Ce-1).to))}return new LineCursor($n)}toString(){return this.sliceString(0)}toJSON(){let ke=[];return this.flatten(ke),ke}constructor(){}static of(ke){if(ke.length==0)throw new RangeError("A document must have at least one line");return ke.length==1&&!ke[0]?Text.empty:ke.length<=32?new TextLeaf(ke):TextNode.from(TextLeaf.split(ke,[]))}}class TextLeaf extends Text{constructor(ke,Ce=textLength(ke)){super(),this.text=ke,this.length=Ce}get lines(){return this.text.length}get children(){return null}lineInner(ke,Ce,$n,Mn){for(let Qn=0;;Qn++){let Vn=this.text[Qn],qn=Mn+Vn.length;if((Ce?$n:qn)>=ke)return new Line$1(Mn,qn,$n,Vn);Mn=qn+1,$n++}}decompose(ke,Ce,$n,Mn){let Qn=ke<=0&&Ce>=this.length?this:new TextLeaf(sliceText(this.text,ke,Ce),Math.min(Ce,this.length)-Math.max(0,ke));if(Mn&1){let Vn=$n.pop(),qn=appendText(Qn.text,Vn.text.slice(),0,Qn.length);if(qn.length<=32)$n.push(new TextLeaf(qn,Vn.length+Qn.length));else{let Zn=qn.length>>1;$n.push(new TextLeaf(qn.slice(0,Zn)),new TextLeaf(qn.slice(Zn)))}}else $n.push(Qn)}replace(ke,Ce,$n){if(!($n instanceof TextLeaf))return super.replace(ke,Ce,$n);[ke,Ce]=clip(this,ke,Ce);let Mn=appendText(this.text,appendText($n.text,sliceText(this.text,0,ke)),Ce),Qn=this.length+$n.length-(Ce-ke);return Mn.length<=32?new TextLeaf(Mn,Qn):TextNode.from(TextLeaf.split(Mn,[]),Qn)}sliceString(ke,Ce=this.length,$n=` `){[ke,Ce]=clip(this,ke,Ce);let Mn="";for(let Qn=0,Vn=0;Qn<=Ce&&Vnke&&Vn&&(Mn+=$n),keQn&&(Mn+=qn.slice(Math.max(0,ke-Qn),Ce-Qn)),Qn=Zn+1}return Mn}flatten(ke){for(let Ce of this.text)ke.push(Ce)}scanIdentical(){return 0}static split(ke,Ce){let $n=[],Mn=-1;for(let Qn of ke)$n.push(Qn),Mn+=Qn.length+1,$n.length==32&&(Ce.push(new TextLeaf($n,Mn)),$n=[],Mn=-1);return Mn>-1&&Ce.push(new TextLeaf($n,Mn)),Ce}}class TextNode extends Text{constructor(ke,Ce){super(),this.children=ke,this.length=Ce,this.lines=0;for(let $n of ke)this.lines+=$n.lines}lineInner(ke,Ce,$n,Mn){for(let Qn=0;;Qn++){let Vn=this.children[Qn],qn=Mn+Vn.length,Zn=$n+Vn.lines-1;if((Ce?Zn:qn)>=ke)return Vn.lineInner(ke,Ce,$n,Mn);Mn=qn+1,$n=Zn+1}}decompose(ke,Ce,$n,Mn){for(let Qn=0,Vn=0;Vn<=Ce&&Qn=Vn){let jn=Mn&((Vn<=ke?1:0)|(Zn>=Ce?2:0));Vn>=ke&&Zn<=Ce&&!jn?$n.push(qn):qn.decompose(ke-Vn,Ce-Vn,$n,jn)}Vn=Zn+1}}replace(ke,Ce,$n){if([ke,Ce]=clip(this,ke,Ce),$n.lines=Qn&&Ce<=qn){let Zn=Vn.replace(ke-Qn,Ce-Qn,$n),jn=this.lines-Vn.lines+Zn.lines;if(Zn.lines>4&&Zn.lines>jn>>6){let Xn=this.children.slice();return Xn[Mn]=Zn,new TextNode(Xn,this.length-(Ce-ke)+$n.length)}return super.replace(Qn,qn,Zn)}Qn=qn+1}return super.replace(ke,Ce,$n)}sliceString(ke,Ce=this.length,$n=` `){[ke,Ce]=clip(this,ke,Ce);let Mn="";for(let Qn=0,Vn=0;Qnke&&Qn&&(Mn+=$n),keVn&&(Mn+=qn.sliceString(ke-Vn,Ce-Vn,$n)),Vn=Zn+1}return Mn}flatten(ke){for(let Ce of this.children)Ce.flatten(ke)}scanIdentical(ke,Ce){if(!(ke instanceof TextNode))return 0;let $n=0,[Mn,Qn,Vn,qn]=Ce>0?[0,0,this.children.length,ke.children.length]:[this.children.length-1,ke.children.length-1,-1,-1];for(;;Mn+=Ce,Qn+=Ce){if(Mn==Vn||Qn==qn)return $n;let Zn=this.children[Mn],jn=ke.children[Qn];if(Zn!=jn)return $n+Zn.scanIdentical(jn,Ce);$n+=Zn.length+1}}static from(ke,Ce=ke.reduce(($n,Mn)=>$n+Mn.length+1,-1)){let $n=0;for(let Wn of ke)$n+=Wn.lines;if($n<32){let Wn=[];for(let Yn of ke)Yn.flatten(Wn);return new TextLeaf(Wn,Ce)}let Mn=Math.max(32,$n>>5),Qn=Mn<<1,Vn=Mn>>1,qn=[],Zn=0,jn=-1,Xn=[];function zn(Wn){let Yn;if(Wn.lines>Qn&&Wn instanceof TextNode)for(let Un of Wn.children)zn(Un);else Wn.lines>Vn&&(Zn>Vn||!Zn)?(Hn(),qn.push(Wn)):Wn instanceof TextLeaf&&Zn&&(Yn=Xn[Xn.length-1])instanceof TextLeaf&&Wn.lines+Yn.lines<=32?(Zn+=Wn.lines,jn+=Wn.length+1,Xn[Xn.length-1]=new TextLeaf(Yn.text.concat(Wn.text),Yn.length+1+Wn.length)):(Zn+Wn.lines>Mn&&Hn(),Zn+=Wn.lines,jn+=Wn.length+1,Xn.push(Wn))}function Hn(){Zn!=0&&(qn.push(Xn.length==1?Xn[0]:TextNode.from(Xn,jn)),jn=-1,Zn=Xn.length=0)}for(let Wn of ke)zn(Wn);return Hn(),qn.length==1?qn[0]:new TextNode(qn,Ce)}}Text.empty=new TextLeaf([""],0);function textLength(_n){let ke=-1;for(let Ce of _n)ke+=Ce.length+1;return ke}function appendText(_n,ke,Ce=0,$n=1e9){for(let Mn=0,Qn=0,Vn=!0;Qn<_n.length&&Mn<=$n;Qn++){let qn=_n[Qn],Zn=Mn+qn.length;Zn>=Ce&&(Zn>$n&&(qn=qn.slice(0,$n-Mn)),Mn0?1:(ke instanceof TextLeaf?ke.text.length:ke.children.length)<<1]}nextInner(ke,Ce){for(this.done=this.lineBreak=!1;;){let $n=this.nodes.length-1,Mn=this.nodes[$n],Qn=this.offsets[$n],Vn=Qn>>1,qn=Mn instanceof TextLeaf?Mn.text.length:Mn.children.length;if(Vn==(Ce>0?qn:0)){if($n==0)return this.done=!0,this.value="",this;Ce>0&&this.offsets[$n-1]++,this.nodes.pop(),this.offsets.pop()}else if((Qn&1)==(Ce>0?0:1)){if(this.offsets[$n]+=Ce,ke==0)return this.lineBreak=!0,this.value=` `,this;ke--}else if(Mn instanceof TextLeaf){let Zn=Mn.text[Vn+(Ce<0?-1:0)];if(this.offsets[$n]+=Ce,Zn.length>Math.max(0,ke))return this.value=ke==0?Zn:Ce>0?Zn.slice(ke):Zn.slice(0,Zn.length-ke),this;ke-=Zn.length}else{let Zn=Mn.children[Vn+(Ce<0?-1:0)];ke>Zn.length?(ke-=Zn.length,this.offsets[$n]+=Ce):(Ce<0&&this.offsets[$n]--,this.nodes.push(Zn),this.offsets.push(Ce>0?1:(Zn instanceof TextLeaf?Zn.text.length:Zn.children.length)<<1))}}}next(ke=0){return ke<0&&(this.nextInner(-ke,-this.dir),ke=this.value.length),this.nextInner(ke,this.dir)}}class PartialTextCursor{constructor(ke,Ce,$n){this.value="",this.done=!1,this.cursor=new RawTextCursor(ke,Ce>$n?-1:1),this.pos=Ce>$n?ke.length:0,this.from=Math.min(Ce,$n),this.to=Math.max(Ce,$n)}nextInner(ke,Ce){if(Ce<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;ke+=Math.max(0,Ce<0?this.pos-this.to:this.from-this.pos);let $n=Ce<0?this.pos-this.from:this.to-this.pos;ke>$n&&(ke=$n),$n-=ke;let{value:Mn}=this.cursor.next(ke);return this.pos+=(Mn.length+ke)*Ce,this.value=Mn.length<=$n?Mn:Ce<0?Mn.slice(Mn.length-$n):Mn.slice(0,$n),this.done=!this.value,this}next(ke=0){return ke<0?ke=Math.max(ke,this.from-this.pos):ke>0&&(ke=Math.min(ke,this.to-this.pos)),this.nextInner(ke,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}}class LineCursor{constructor(ke){this.inner=ke,this.afterBreak=!0,this.value="",this.done=!1}next(ke=0){let{done:Ce,lineBreak:$n,value:Mn}=this.inner.next(ke);return Ce&&this.afterBreak?(this.value="",this.afterBreak=!1):Ce?(this.done=!0,this.value=""):$n?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=Mn,this.afterBreak=!1),this}get lineBreak(){return!1}}typeof Symbol<"u"&&(Text.prototype[Symbol.iterator]=function(){return this.iter()},RawTextCursor.prototype[Symbol.iterator]=PartialTextCursor.prototype[Symbol.iterator]=LineCursor.prototype[Symbol.iterator]=function(){return this});let Line$1=class{constructor(ke,Ce,$n,Mn){this.from=ke,this.to=Ce,this.number=$n,this.text=Mn}get length(){return this.to-this.from}};function clip(_n,ke,Ce){return ke=Math.max(0,Math.min(_n.length,ke)),[ke,Math.max(ke,Math.min(_n.length,Ce))]}let extend="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(_n=>_n?parseInt(_n,36):1);for(let _n=1;_n_n)return extend[ke-1]<=_n;return!1}function isRegionalIndicator(_n){return _n>=127462&&_n<=127487}const ZWJ=8205;function findClusterBreak(_n,ke,Ce=!0,$n=!0){return(Ce?nextClusterBreak:prevClusterBreak)(_n,ke,$n)}function nextClusterBreak(_n,ke,Ce){if(ke==_n.length)return ke;ke&&surrogateLow(_n.charCodeAt(ke))&&surrogateHigh(_n.charCodeAt(ke-1))&&ke--;let $n=codePointAt(_n,ke);for(ke+=codePointSize($n);ke<_n.length;){let Mn=codePointAt(_n,ke);if($n==ZWJ||Mn==ZWJ||Ce&&isExtendingChar(Mn))ke+=codePointSize(Mn),$n=Mn;else if(isRegionalIndicator(Mn)){let Qn=0,Vn=ke-2;for(;Vn>=0&&isRegionalIndicator(codePointAt(_n,Vn));)Qn++,Vn-=2;if(Qn%2==0)break;ke+=2}else break}return ke}function prevClusterBreak(_n,ke,Ce){for(;ke>0;){let $n=nextClusterBreak(_n,ke-2,Ce);if($n=56320&&_n<57344}function surrogateHigh(_n){return _n>=55296&&_n<56320}function codePointAt(_n,ke){let Ce=_n.charCodeAt(ke);if(!surrogateHigh(Ce)||ke+1==_n.length)return Ce;let $n=_n.charCodeAt(ke+1);return surrogateLow($n)?(Ce-55296<<10)+($n-56320)+65536:Ce}function fromCodePoint(_n){return _n<=65535?String.fromCharCode(_n):(_n-=65536,String.fromCharCode((_n>>10)+55296,(_n&1023)+56320))}function codePointSize(_n){return _n<65536?1:2}const DefaultSplit=/\r\n?|\n/;var MapMode=function(_n){return _n[_n.Simple=0]="Simple",_n[_n.TrackDel=1]="TrackDel",_n[_n.TrackBefore=2]="TrackBefore",_n[_n.TrackAfter=3]="TrackAfter",_n}(MapMode||(MapMode={}));class ChangeDesc{constructor(ke){this.sections=ke}get length(){let ke=0;for(let Ce=0;Ceke)return Qn+(ke-Mn);Qn+=qn}else{if($n!=MapMode.Simple&&jn>=ke&&($n==MapMode.TrackDel&&Mnke||$n==MapMode.TrackBefore&&Mnke))return null;if(jn>ke||jn==ke&&Ce<0&&!qn)return ke==Mn||Ce<0?Qn:Qn+Zn;Qn+=Zn}Mn=jn}if(ke>Mn)throw new RangeError(`Position ${ke} is out of range for changeset of length ${Mn}`);return Qn}touchesRange(ke,Ce=ke){for(let $n=0,Mn=0;$n=0&&Mn<=Ce&&qn>=ke)return MnCe?"cover":!0;Mn=qn}return!1}toString(){let ke="";for(let Ce=0;Ce=0?":"+Mn:"")}return ke}toJSON(){return this.sections}static fromJSON(ke){if(!Array.isArray(ke)||ke.length%2||ke.some(Ce=>typeof Ce!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new ChangeDesc(ke)}static create(ke){return new ChangeDesc(ke)}}class ChangeSet extends ChangeDesc{constructor(ke,Ce){super(ke),this.inserted=Ce}apply(ke){if(this.length!=ke.length)throw new RangeError("Applying change set to a document with the wrong length");return iterChanges(this,(Ce,$n,Mn,Qn,Vn)=>ke=ke.replace(Mn,Mn+($n-Ce),Vn),!1),ke}mapDesc(ke,Ce=!1){return mapSet(this,ke,Ce,!0)}invert(ke){let Ce=this.sections.slice(),$n=[];for(let Mn=0,Qn=0;Mn=0){Ce[Mn]=qn,Ce[Mn+1]=Vn;let Zn=Mn>>1;for(;$n.length0&&addInsert($n,Ce,Qn.text),Qn.forward(Xn),qn+=Xn}let jn=ke[Vn++];for(;qn>1].toJSON()))}return ke}static of(ke,Ce,$n){let Mn=[],Qn=[],Vn=0,qn=null;function Zn(Xn=!1){if(!Xn&&!Mn.length)return;VnHn||zn<0||Hn>Ce)throw new RangeError(`Invalid change range ${zn} to ${Hn} (in doc of length ${Ce})`);let Yn=Wn?typeof Wn=="string"?Text.of(Wn.split($n||DefaultSplit)):Wn:Text.empty,Un=Yn.length;if(zn==Hn&&Un==0)return;znVn&&addSection(Mn,zn-Vn,-1),addSection(Mn,Hn-zn,Un),addInsert(Qn,Mn,Yn),Vn=Hn}}return jn(ke),Zn(!qn),qn}static empty(ke){return new ChangeSet(ke?[ke,-1]:[],[])}static fromJSON(ke){if(!Array.isArray(ke))throw new RangeError("Invalid JSON representation of ChangeSet");let Ce=[],$n=[];for(let Mn=0;Mnqn&&typeof Vn!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(Qn.length==1)Ce.push(Qn[0],0);else{for(;$n.length=0&&Ce<=0&&Ce==_n[Mn+1]?_n[Mn]+=ke:ke==0&&_n[Mn]==0?_n[Mn+1]+=Ce:$n?(_n[Mn]+=ke,_n[Mn+1]+=Ce):_n.push(ke,Ce)}function addInsert(_n,ke,Ce){if(Ce.length==0)return;let $n=ke.length-2>>1;if($n<_n.length)_n[_n.length-1]=_n[_n.length-1].append(Ce);else{for(;_n.length<$n;)_n.push(Text.empty);_n.push(Ce)}}function iterChanges(_n,ke,Ce){let $n=_n.inserted;for(let Mn=0,Qn=0,Vn=0;Vn<_n.sections.length;){let qn=_n.sections[Vn++],Zn=_n.sections[Vn++];if(Zn<0)Mn+=qn,Qn+=qn;else{let jn=Mn,Xn=Qn,zn=Text.empty;for(;jn+=qn,Xn+=Zn,Zn&&$n&&(zn=zn.append($n[Vn-2>>1])),!(Ce||Vn==_n.sections.length||_n.sections[Vn+1]<0);)qn=_n.sections[Vn++],Zn=_n.sections[Vn++];ke(Mn,jn,Qn,Xn,zn),Mn=jn,Qn=Xn}}}function mapSet(_n,ke,Ce,$n=!1){let Mn=[],Qn=$n?[]:null,Vn=new SectionIter(_n),qn=new SectionIter(ke);for(let Zn=-1;;)if(Vn.ins==-1&&qn.ins==-1){let jn=Math.min(Vn.len,qn.len);addSection(Mn,jn,-1),Vn.forward(jn),qn.forward(jn)}else if(qn.ins>=0&&(Vn.ins<0||Zn==Vn.i||Vn.off==0&&(qn.len=0&&Zn=0){let jn=0,Xn=Vn.len;for(;Xn;)if(qn.ins==-1){let zn=Math.min(Xn,qn.len);jn+=zn,Xn-=zn,qn.forward(zn)}else if(qn.ins==0&&qn.lenZn||Vn.ins>=0&&Vn.len>Zn)&&(qn||$n.length>jn),Qn.forward2(Zn),Vn.forward(Zn)}}}}class SectionIter{constructor(ke){this.set=ke,this.i=0,this.next()}next(){let{sections:ke}=this.set;this.i>1;return Ce>=ke.length?Text.empty:ke[Ce]}textBit(ke){let{inserted:Ce}=this.set,$n=this.i-2>>1;return $n>=Ce.length&&!ke?Text.empty:Ce[$n].slice(this.off,ke==null?void 0:this.off+ke)}forward(ke){ke==this.len?this.next():(this.len-=ke,this.off+=ke)}forward2(ke){this.ins==-1?this.forward(ke):ke==this.ins?this.next():(this.ins-=ke,this.off+=ke)}}class SelectionRange{constructor(ke,Ce,$n){this.from=ke,this.to=Ce,this.flags=$n}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get bidiLevel(){let ke=this.flags&7;return ke==7?null:ke}get goalColumn(){let ke=this.flags>>6;return ke==16777215?void 0:ke}map(ke,Ce=-1){let $n,Mn;return this.empty?$n=Mn=ke.mapPos(this.from,Ce):($n=ke.mapPos(this.from,1),Mn=ke.mapPos(this.to,-1)),$n==this.from&&Mn==this.to?this:new SelectionRange($n,Mn,this.flags)}extend(ke,Ce=ke){if(ke<=this.anchor&&Ce>=this.anchor)return EditorSelection.range(ke,Ce);let $n=Math.abs(ke-this.anchor)>Math.abs(Ce-this.anchor)?ke:Ce;return EditorSelection.range(this.anchor,$n)}eq(ke,Ce=!1){return this.anchor==ke.anchor&&this.head==ke.head&&(!Ce||!this.empty||this.assoc==ke.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(ke){if(!ke||typeof ke.anchor!="number"||typeof ke.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return EditorSelection.range(ke.anchor,ke.head)}static create(ke,Ce,$n){return new SelectionRange(ke,Ce,$n)}}class EditorSelection{constructor(ke,Ce){this.ranges=ke,this.mainIndex=Ce}map(ke,Ce=-1){return ke.empty?this:EditorSelection.create(this.ranges.map($n=>$n.map(ke,Ce)),this.mainIndex)}eq(ke,Ce=!1){if(this.ranges.length!=ke.ranges.length||this.mainIndex!=ke.mainIndex)return!1;for(let $n=0;$nke.toJSON()),main:this.mainIndex}}static fromJSON(ke){if(!ke||!Array.isArray(ke.ranges)||typeof ke.main!="number"||ke.main>=ke.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new EditorSelection(ke.ranges.map(Ce=>SelectionRange.fromJSON(Ce)),ke.main)}static single(ke,Ce=ke){return new EditorSelection([EditorSelection.range(ke,Ce)],0)}static create(ke,Ce=0){if(ke.length==0)throw new RangeError("A selection needs at least one range");for(let $n=0,Mn=0;Mnke?8:0)|Qn)}static normalized(ke,Ce=0){let $n=ke[Ce];ke.sort((Mn,Qn)=>Mn.from-Qn.from),Ce=ke.indexOf($n);for(let Mn=1;MnQn.head?EditorSelection.range(Zn,qn):EditorSelection.range(qn,Zn))}}return new EditorSelection(ke,Ce)}}function checkSelection(_n,ke){for(let Ce of _n.ranges)if(Ce.to>ke)throw new RangeError("Selection points outside of document")}let nextID=0;class Facet{constructor(ke,Ce,$n,Mn,Qn){this.combine=ke,this.compareInput=Ce,this.compare=$n,this.isStatic=Mn,this.id=nextID++,this.default=ke([]),this.extensions=typeof Qn=="function"?Qn(this):Qn}get reader(){return this}static define(ke={}){return new Facet(ke.combine||(Ce=>Ce),ke.compareInput||((Ce,$n)=>Ce===$n),ke.compare||(ke.combine?(Ce,$n)=>Ce===$n:sameArray$1),!!ke.static,ke.enables)}of(ke){return new FacetProvider([],this,0,ke)}compute(ke,Ce){if(this.isStatic)throw new Error("Can't compute a static facet");return new FacetProvider(ke,this,1,Ce)}computeN(ke,Ce){if(this.isStatic)throw new Error("Can't compute a static facet");return new FacetProvider(ke,this,2,Ce)}from(ke,Ce){return Ce||(Ce=$n=>$n),this.compute([ke],$n=>Ce($n.field(ke)))}}function sameArray$1(_n,ke){return _n==ke||_n.length==ke.length&&_n.every((Ce,$n)=>Ce===ke[$n])}class FacetProvider{constructor(ke,Ce,$n,Mn){this.dependencies=ke,this.facet=Ce,this.type=$n,this.value=Mn,this.id=nextID++}dynamicSlot(ke){var Ce;let $n=this.value,Mn=this.facet.compareInput,Qn=this.id,Vn=ke[Qn]>>1,qn=this.type==2,Zn=!1,jn=!1,Xn=[];for(let zn of this.dependencies)zn=="doc"?Zn=!0:zn=="selection"?jn=!0:((Ce=ke[zn.id])!==null&&Ce!==void 0?Ce:1)&1||Xn.push(ke[zn.id]);return{create(zn){return zn.values[Vn]=$n(zn),1},update(zn,Hn){if(Zn&&Hn.docChanged||jn&&(Hn.docChanged||Hn.selection)||ensureAll(zn,Xn)){let Wn=$n(zn);if(qn?!compareArray(Wn,zn.values[Vn],Mn):!Mn(Wn,zn.values[Vn]))return zn.values[Vn]=Wn,1}return 0},reconfigure:(zn,Hn)=>{let Wn,Yn=Hn.config.address[Qn];if(Yn!=null){let Un=getAddr(Hn,Yn);if(this.dependencies.every(Gn=>Gn instanceof Facet?Hn.facet(Gn)===zn.facet(Gn):Gn instanceof StateField?Hn.field(Gn,!1)==zn.field(Gn,!1):!0)||(qn?compareArray(Wn=$n(zn),Un,Mn):Mn(Wn=$n(zn),Un)))return zn.values[Vn]=Un,0}else Wn=$n(zn);return zn.values[Vn]=Wn,1}}}}function compareArray(_n,ke,Ce){if(_n.length!=ke.length)return!1;for(let $n=0;$n<_n.length;$n++)if(!Ce(_n[$n],ke[$n]))return!1;return!0}function ensureAll(_n,ke){let Ce=!1;for(let $n of ke)ensureAddr(_n,$n)&1&&(Ce=!0);return Ce}function dynamicFacetSlot(_n,ke,Ce){let $n=Ce.map(Zn=>_n[Zn.id]),Mn=Ce.map(Zn=>Zn.type),Qn=$n.filter(Zn=>!(Zn&1)),Vn=_n[ke.id]>>1;function qn(Zn){let jn=[];for(let Xn=0;Xn<$n.length;Xn++){let zn=getAddr(Zn,$n[Xn]);if(Mn[Xn]==2)for(let Hn of zn)jn.push(Hn);else jn.push(zn)}return ke.combine(jn)}return{create(Zn){for(let jn of $n)ensureAddr(Zn,jn);return Zn.values[Vn]=qn(Zn),1},update(Zn,jn){if(!ensureAll(Zn,Qn))return 0;let Xn=qn(Zn);return ke.compare(Xn,Zn.values[Vn])?0:(Zn.values[Vn]=Xn,1)},reconfigure(Zn,jn){let Xn=ensureAll(Zn,$n),zn=jn.config.facets[ke.id],Hn=jn.facet(ke);if(zn&&!Xn&&sameArray$1(Ce,zn))return Zn.values[Vn]=Hn,0;let Wn=qn(Zn);return ke.compare(Wn,Hn)?(Zn.values[Vn]=Hn,0):(Zn.values[Vn]=Wn,1)}}}const initField=Facet.define({static:!0});class StateField{constructor(ke,Ce,$n,Mn,Qn){this.id=ke,this.createF=Ce,this.updateF=$n,this.compareF=Mn,this.spec=Qn,this.provides=void 0}static define(ke){let Ce=new StateField(nextID++,ke.create,ke.update,ke.compare||(($n,Mn)=>$n===Mn),ke);return ke.provide&&(Ce.provides=ke.provide(Ce)),Ce}create(ke){let Ce=ke.facet(initField).find($n=>$n.field==this);return((Ce==null?void 0:Ce.create)||this.createF)(ke)}slot(ke){let Ce=ke[this.id]>>1;return{create:$n=>($n.values[Ce]=this.create($n),1),update:($n,Mn)=>{let Qn=$n.values[Ce],Vn=this.updateF(Qn,Mn);return this.compareF(Qn,Vn)?0:($n.values[Ce]=Vn,1)},reconfigure:($n,Mn)=>Mn.config.address[this.id]!=null?($n.values[Ce]=Mn.field(this),0):($n.values[Ce]=this.create($n),1)}}init(ke){return[this,initField.of({field:this,create:ke})]}get extension(){return this}}const Prec_={lowest:4,low:3,default:2,high:1,highest:0};function prec(_n){return ke=>new PrecExtension(ke,_n)}const Prec={highest:prec(Prec_.highest),high:prec(Prec_.high),default:prec(Prec_.default),low:prec(Prec_.low),lowest:prec(Prec_.lowest)};class PrecExtension{constructor(ke,Ce){this.inner=ke,this.prec=Ce}}class Compartment{of(ke){return new CompartmentInstance(this,ke)}reconfigure(ke){return Compartment.reconfigure.of({compartment:this,extension:ke})}get(ke){return ke.config.compartments.get(this)}}class CompartmentInstance{constructor(ke,Ce){this.compartment=ke,this.inner=Ce}}class Configuration{constructor(ke,Ce,$n,Mn,Qn,Vn){for(this.base=ke,this.compartments=Ce,this.dynamicSlots=$n,this.address=Mn,this.staticValues=Qn,this.facets=Vn,this.statusTemplate=[];this.statusTemplate.length<$n.length;)this.statusTemplate.push(0)}staticFacet(ke){let Ce=this.address[ke.id];return Ce==null?ke.default:this.staticValues[Ce>>1]}static resolve(ke,Ce,$n){let Mn=[],Qn=Object.create(null),Vn=new Map;for(let Hn of flatten(ke,Ce,Vn))Hn instanceof StateField?Mn.push(Hn):(Qn[Hn.facet.id]||(Qn[Hn.facet.id]=[])).push(Hn);let qn=Object.create(null),Zn=[],jn=[];for(let Hn of Mn)qn[Hn.id]=jn.length<<1,jn.push(Wn=>Hn.slot(Wn));let Xn=$n==null?void 0:$n.config.facets;for(let Hn in Qn){let Wn=Qn[Hn],Yn=Wn[0].facet,Un=Xn&&Xn[Hn]||[];if(Wn.every(Gn=>Gn.type==0))if(qn[Yn.id]=Zn.length<<1|1,sameArray$1(Un,Wn))Zn.push($n.facet(Yn));else{let Gn=Yn.combine(Wn.map(Kn=>Kn.value));Zn.push($n&&Yn.compare(Gn,$n.facet(Yn))?$n.facet(Yn):Gn)}else{for(let Gn of Wn)Gn.type==0?(qn[Gn.id]=Zn.length<<1|1,Zn.push(Gn.value)):(qn[Gn.id]=jn.length<<1,jn.push(Kn=>Gn.dynamicSlot(Kn)));qn[Yn.id]=jn.length<<1,jn.push(Gn=>dynamicFacetSlot(Gn,Yn,Wn))}}let zn=jn.map(Hn=>Hn(qn));return new Configuration(ke,Vn,zn,qn,Zn,Qn)}}function flatten(_n,ke,Ce){let $n=[[],[],[],[],[]],Mn=new Map;function Qn(Vn,qn){let Zn=Mn.get(Vn);if(Zn!=null){if(Zn<=qn)return;let jn=$n[Zn].indexOf(Vn);jn>-1&&$n[Zn].splice(jn,1),Vn instanceof CompartmentInstance&&Ce.delete(Vn.compartment)}if(Mn.set(Vn,qn),Array.isArray(Vn))for(let jn of Vn)Qn(jn,qn);else if(Vn instanceof CompartmentInstance){if(Ce.has(Vn.compartment))throw new RangeError("Duplicate use of compartment in extensions");let jn=ke.get(Vn.compartment)||Vn.inner;Ce.set(Vn.compartment,jn),Qn(jn,qn)}else if(Vn instanceof PrecExtension)Qn(Vn.inner,Vn.prec);else if(Vn instanceof StateField)$n[qn].push(Vn),Vn.provides&&Qn(Vn.provides,qn);else if(Vn instanceof FacetProvider)$n[qn].push(Vn),Vn.facet.extensions&&Qn(Vn.facet.extensions,Prec_.default);else{let jn=Vn.extension;if(!jn)throw new Error(`Unrecognized extension value in extension set (${Vn}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);Qn(jn,qn)}}return Qn(_n,Prec_.default),$n.reduce((Vn,qn)=>Vn.concat(qn))}function ensureAddr(_n,ke){if(ke&1)return 2;let Ce=ke>>1,$n=_n.status[Ce];if($n==4)throw new Error("Cyclic dependency between fields and/or facets");if($n&2)return $n;_n.status[Ce]=4;let Mn=_n.computeSlot(_n,_n.config.dynamicSlots[Ce]);return _n.status[Ce]=2|Mn}function getAddr(_n,ke){return ke&1?_n.config.staticValues[ke>>1]:_n.values[ke>>1]}const languageData=Facet.define(),allowMultipleSelections=Facet.define({combine:_n=>_n.some(ke=>ke),static:!0}),lineSeparator=Facet.define({combine:_n=>_n.length?_n[0]:void 0,static:!0}),changeFilter=Facet.define(),transactionFilter=Facet.define(),transactionExtender=Facet.define(),readOnly=Facet.define({combine:_n=>_n.length?_n[0]:!1});class Annotation{constructor(ke,Ce){this.type=ke,this.value=Ce}static define(){return new AnnotationType}}class AnnotationType{of(ke){return new Annotation(this,ke)}}class StateEffectType{constructor(ke){this.map=ke}of(ke){return new StateEffect(this,ke)}}class StateEffect{constructor(ke,Ce){this.type=ke,this.value=Ce}map(ke){let Ce=this.type.map(this.value,ke);return Ce===void 0?void 0:Ce==this.value?this:new StateEffect(this.type,Ce)}is(ke){return this.type==ke}static define(ke={}){return new StateEffectType(ke.map||(Ce=>Ce))}static mapEffects(ke,Ce){if(!ke.length)return ke;let $n=[];for(let Mn of ke){let Qn=Mn.map(Ce);Qn&&$n.push(Qn)}return $n}}StateEffect.reconfigure=StateEffect.define();StateEffect.appendConfig=StateEffect.define();class Transaction{constructor(ke,Ce,$n,Mn,Qn,Vn){this.startState=ke,this.changes=Ce,this.selection=$n,this.effects=Mn,this.annotations=Qn,this.scrollIntoView=Vn,this._doc=null,this._state=null,$n&&checkSelection($n,Ce.newLength),Qn.some(qn=>qn.type==Transaction.time)||(this.annotations=Qn.concat(Transaction.time.of(Date.now())))}static create(ke,Ce,$n,Mn,Qn,Vn){return new Transaction(ke,Ce,$n,Mn,Qn,Vn)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(ke){for(let Ce of this.annotations)if(Ce.type==ke)return Ce.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(ke){let Ce=this.annotation(Transaction.userEvent);return!!(Ce&&(Ce==ke||Ce.length>ke.length&&Ce.slice(0,ke.length)==ke&&Ce[ke.length]=="."))}}Transaction.time=Annotation.define();Transaction.userEvent=Annotation.define();Transaction.addToHistory=Annotation.define();Transaction.remote=Annotation.define();function joinRanges(_n,ke){let Ce=[];for(let $n=0,Mn=0;;){let Qn,Vn;if($n<_n.length&&(Mn==ke.length||ke[Mn]>=_n[$n]))Qn=_n[$n++],Vn=_n[$n++];else if(Mn=0;Mn--){let Qn=$n[Mn](_n);Qn instanceof Transaction?_n=Qn:Array.isArray(Qn)&&Qn.length==1&&Qn[0]instanceof Transaction?_n=Qn[0]:_n=resolveTransaction(ke,asArray$1(Qn),!1)}return _n}function extendTransaction(_n){let ke=_n.startState,Ce=ke.facet(transactionExtender),$n=_n;for(let Mn=Ce.length-1;Mn>=0;Mn--){let Qn=Ce[Mn](_n);Qn&&Object.keys(Qn).length&&($n=mergeTransaction($n,resolveTransactionInner(ke,Qn,_n.changes.newLength),!0))}return $n==_n?_n:Transaction.create(ke,_n.changes,_n.selection,$n.effects,$n.annotations,$n.scrollIntoView)}const none$3=[];function asArray$1(_n){return _n==null?none$3:Array.isArray(_n)?_n:[_n]}var CharCategory=function(_n){return _n[_n.Word=0]="Word",_n[_n.Space=1]="Space",_n[_n.Other=2]="Other",_n}(CharCategory||(CharCategory={}));const nonASCIISingleCaseWordChar=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let wordChar;try{wordChar=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function hasWordChar(_n){if(wordChar)return wordChar.test(_n);for(let ke=0;ke<_n.length;ke++){let Ce=_n[ke];if(/\w/.test(Ce)||Ce>"€"&&(Ce.toUpperCase()!=Ce.toLowerCase()||nonASCIISingleCaseWordChar.test(Ce)))return!0}return!1}function makeCategorizer(_n){return ke=>{if(!/\S/.test(ke))return CharCategory.Space;if(hasWordChar(ke))return CharCategory.Word;for(let Ce=0;Ce<_n.length;Ce++)if(ke.indexOf(_n[Ce])>-1)return CharCategory.Word;return CharCategory.Other}}class EditorState{constructor(ke,Ce,$n,Mn,Qn,Vn){this.config=ke,this.doc=Ce,this.selection=$n,this.values=Mn,this.status=ke.statusTemplate.slice(),this.computeSlot=Qn,Vn&&(Vn._state=this);for(let qn=0;qnMn.set(jn,Zn)),Ce=null),Mn.set(qn.value.compartment,qn.value.extension)):qn.is(StateEffect.reconfigure)?(Ce=null,$n=qn.value):qn.is(StateEffect.appendConfig)&&(Ce=null,$n=asArray$1($n).concat(qn.value));let Qn;Ce?Qn=ke.startState.values.slice():(Ce=Configuration.resolve($n,Mn,this),Qn=new EditorState(Ce,this.doc,this.selection,Ce.dynamicSlots.map(()=>null),(Zn,jn)=>jn.reconfigure(Zn,this),null).values);let Vn=ke.startState.facet(allowMultipleSelections)?ke.newSelection:ke.newSelection.asSingle();new EditorState(Ce,ke.newDoc,Vn,Qn,(qn,Zn)=>Zn.update(qn,ke),ke)}replaceSelection(ke){return typeof ke=="string"&&(ke=this.toText(ke)),this.changeByRange(Ce=>({changes:{from:Ce.from,to:Ce.to,insert:ke},range:EditorSelection.cursor(Ce.from+ke.length)}))}changeByRange(ke){let Ce=this.selection,$n=ke(Ce.ranges[0]),Mn=this.changes($n.changes),Qn=[$n.range],Vn=asArray$1($n.effects);for(let qn=1;qnVn.spec.fromJSON(qn,Zn)))}}return EditorState.create({doc:ke.doc,selection:EditorSelection.fromJSON(ke.selection),extensions:Ce.extensions?Mn.concat([Ce.extensions]):Mn})}static create(ke={}){let Ce=Configuration.resolve(ke.extensions||[],new Map),$n=ke.doc instanceof Text?ke.doc:Text.of((ke.doc||"").split(Ce.staticFacet(EditorState.lineSeparator)||DefaultSplit)),Mn=ke.selection?ke.selection instanceof EditorSelection?ke.selection:EditorSelection.single(ke.selection.anchor,ke.selection.head):EditorSelection.single(0);return checkSelection(Mn,$n.length),Ce.staticFacet(allowMultipleSelections)||(Mn=Mn.asSingle()),new EditorState(Ce,$n,Mn,Ce.dynamicSlots.map(()=>null),(Qn,Vn)=>Vn.create(Qn),null)}get tabSize(){return this.facet(EditorState.tabSize)}get lineBreak(){return this.facet(EditorState.lineSeparator)||` `}get readOnly(){return this.facet(readOnly)}phrase(ke,...Ce){for(let $n of this.facet(EditorState.phrases))if(Object.prototype.hasOwnProperty.call($n,ke)){ke=$n[ke];break}return Ce.length&&(ke=ke.replace(/\$(\$|\d*)/g,($n,Mn)=>{if(Mn=="$")return"$";let Qn=+(Mn||1);return!Qn||Qn>Ce.length?$n:Ce[Qn-1]})),ke}languageDataAt(ke,Ce,$n=-1){let Mn=[];for(let Qn of this.facet(languageData))for(let Vn of Qn(this,Ce,$n))Object.prototype.hasOwnProperty.call(Vn,ke)&&Mn.push(Vn[ke]);return Mn}charCategorizer(ke){return makeCategorizer(this.languageDataAt("wordChars",ke).join(""))}wordAt(ke){let{text:Ce,from:$n,length:Mn}=this.doc.lineAt(ke),Qn=this.charCategorizer(ke),Vn=ke-$n,qn=ke-$n;for(;Vn>0;){let Zn=findClusterBreak(Ce,Vn,!1);if(Qn(Ce.slice(Zn,Vn))!=CharCategory.Word)break;Vn=Zn}for(;qn_n.length?_n[0]:4});EditorState.lineSeparator=lineSeparator;EditorState.readOnly=readOnly;EditorState.phrases=Facet.define({compare(_n,ke){let Ce=Object.keys(_n),$n=Object.keys(ke);return Ce.length==$n.length&&Ce.every(Mn=>_n[Mn]==ke[Mn])}});EditorState.languageData=languageData;EditorState.changeFilter=changeFilter;EditorState.transactionFilter=transactionFilter;EditorState.transactionExtender=transactionExtender;Compartment.reconfigure=StateEffect.define();function combineConfig(_n,ke,Ce={}){let $n={};for(let Mn of _n)for(let Qn of Object.keys(Mn)){let Vn=Mn[Qn],qn=$n[Qn];if(qn===void 0)$n[Qn]=Vn;else if(!(qn===Vn||Vn===void 0))if(Object.hasOwnProperty.call(Ce,Qn))$n[Qn]=Ce[Qn](qn,Vn);else throw new Error("Config merge conflict for field "+Qn)}for(let Mn in ke)$n[Mn]===void 0&&($n[Mn]=ke[Mn]);return $n}class RangeValue{eq(ke){return this==ke}range(ke,Ce=ke){return Range$1.create(ke,Ce,this)}}RangeValue.prototype.startSide=RangeValue.prototype.endSide=0;RangeValue.prototype.point=!1;RangeValue.prototype.mapMode=MapMode.TrackDel;let Range$1=class go{constructor(ke,Ce,$n){this.from=ke,this.to=Ce,this.value=$n}static create(ke,Ce,$n){return new go(ke,Ce,$n)}};function cmpRange(_n,ke){return _n.from-ke.from||_n.value.startSide-ke.value.startSide}class Chunk{constructor(ke,Ce,$n,Mn){this.from=ke,this.to=Ce,this.value=$n,this.maxPoint=Mn}get length(){return this.to[this.to.length-1]}findIndex(ke,Ce,$n,Mn=0){let Qn=$n?this.to:this.from;for(let Vn=Mn,qn=Qn.length;;){if(Vn==qn)return Vn;let Zn=Vn+qn>>1,jn=Qn[Zn]-ke||($n?this.value[Zn].endSide:this.value[Zn].startSide)-Ce;if(Zn==Vn)return jn>=0?Vn:qn;jn>=0?qn=Zn:Vn=Zn+1}}between(ke,Ce,$n,Mn){for(let Qn=this.findIndex(Ce,-1e9,!0),Vn=this.findIndex($n,1e9,!1,Qn);QnWn||Hn==Wn&&jn.startSide>0&&jn.endSide<=0)continue;(Wn-Hn||jn.endSide-jn.startSide)<0||(Vn<0&&(Vn=Hn),jn.point&&(qn=Math.max(qn,Wn-Hn)),$n.push(jn),Mn.push(Hn-Vn),Qn.push(Wn-Vn))}return{mapped:$n.length?new Chunk(Mn,Qn,$n,qn):null,pos:Vn}}}class RangeSet{constructor(ke,Ce,$n,Mn){this.chunkPos=ke,this.chunk=Ce,this.nextLayer=$n,this.maxPoint=Mn}static create(ke,Ce,$n,Mn){return new RangeSet(ke,Ce,$n,Mn)}get length(){let ke=this.chunk.length-1;return ke<0?0:Math.max(this.chunkEnd(ke),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let ke=this.nextLayer.size;for(let Ce of this.chunk)ke+=Ce.value.length;return ke}chunkEnd(ke){return this.chunkPos[ke]+this.chunk[ke].length}update(ke){let{add:Ce=[],sort:$n=!1,filterFrom:Mn=0,filterTo:Qn=this.length}=ke,Vn=ke.filter;if(Ce.length==0&&!Vn)return this;if($n&&(Ce=Ce.slice().sort(cmpRange)),this.isEmpty)return Ce.length?RangeSet.of(Ce):this;let qn=new LayerCursor(this,null,-1).goto(0),Zn=0,jn=[],Xn=new RangeSetBuilder;for(;qn.value||Zn=0){let zn=Ce[Zn++];Xn.addInner(zn.from,zn.to,zn.value)||jn.push(zn)}else qn.rangeIndex==1&&qn.chunkIndexthis.chunkEnd(qn.chunkIndex)||Qnqn.to||Qn=Qn&&ke<=Qn+Vn.length&&Vn.between(Qn,ke-Qn,Ce-Qn,$n)===!1)return}this.nextLayer.between(ke,Ce,$n)}}iter(ke=0){return HeapCursor.from([this]).goto(ke)}get isEmpty(){return this.nextLayer==this}static iter(ke,Ce=0){return HeapCursor.from(ke).goto(Ce)}static compare(ke,Ce,$n,Mn,Qn=-1){let Vn=ke.filter(zn=>zn.maxPoint>0||!zn.isEmpty&&zn.maxPoint>=Qn),qn=Ce.filter(zn=>zn.maxPoint>0||!zn.isEmpty&&zn.maxPoint>=Qn),Zn=findSharedChunks(Vn,qn,$n),jn=new SpanCursor(Vn,Zn,Qn),Xn=new SpanCursor(qn,Zn,Qn);$n.iterGaps((zn,Hn,Wn)=>compare(jn,zn,Xn,Hn,Wn,Mn)),$n.empty&&$n.length==0&&compare(jn,0,Xn,0,0,Mn)}static eq(ke,Ce,$n=0,Mn){Mn==null&&(Mn=999999999);let Qn=ke.filter(Xn=>!Xn.isEmpty&&Ce.indexOf(Xn)<0),Vn=Ce.filter(Xn=>!Xn.isEmpty&&ke.indexOf(Xn)<0);if(Qn.length!=Vn.length)return!1;if(!Qn.length)return!0;let qn=findSharedChunks(Qn,Vn),Zn=new SpanCursor(Qn,qn,0).goto($n),jn=new SpanCursor(Vn,qn,0).goto($n);for(;;){if(Zn.to!=jn.to||!sameValues(Zn.active,jn.active)||Zn.point&&(!jn.point||!Zn.point.eq(jn.point)))return!1;if(Zn.to>Mn)return!0;Zn.next(),jn.next()}}static spans(ke,Ce,$n,Mn,Qn=-1){let Vn=new SpanCursor(ke,null,Qn).goto(Ce),qn=Ce,Zn=Vn.openStart;for(;;){let jn=Math.min(Vn.to,$n);if(Vn.point){let Xn=Vn.activeForPoint(Vn.to),zn=Vn.pointFromqn&&(Mn.span(qn,jn,Vn.active,Zn),Zn=Vn.openEnd(jn));if(Vn.to>$n)return Zn+(Vn.point&&Vn.to>$n?1:0);qn=Vn.to,Vn.next()}}static of(ke,Ce=!1){let $n=new RangeSetBuilder;for(let Mn of ke instanceof Range$1?[ke]:Ce?lazySort(ke):ke)$n.add(Mn.from,Mn.to,Mn.value);return $n.finish()}static join(ke){if(!ke.length)return RangeSet.empty;let Ce=ke[ke.length-1];for(let $n=ke.length-2;$n>=0;$n--)for(let Mn=ke[$n];Mn!=RangeSet.empty;Mn=Mn.nextLayer)Ce=new RangeSet(Mn.chunkPos,Mn.chunk,Ce,Math.max(Mn.maxPoint,Ce.maxPoint));return Ce}}RangeSet.empty=new RangeSet([],[],null,-1);function lazySort(_n){if(_n.length>1)for(let ke=_n[0],Ce=1;Ce<_n.length;Ce++){let $n=_n[Ce];if(cmpRange(ke,$n)>0)return _n.slice().sort(cmpRange);ke=$n}return _n}RangeSet.empty.nextLayer=RangeSet.empty;class RangeSetBuilder{finishChunk(ke){this.chunks.push(new Chunk(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,ke&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(ke,Ce,$n){this.addInner(ke,Ce,$n)||(this.nextLayer||(this.nextLayer=new RangeSetBuilder)).add(ke,Ce,$n)}addInner(ke,Ce,$n){let Mn=ke-this.lastTo||$n.startSide-this.last.endSide;if(Mn<=0&&(ke-this.lastFrom||$n.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return Mn<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=ke),this.from.push(ke-this.chunkStart),this.to.push(Ce-this.chunkStart),this.last=$n,this.lastFrom=ke,this.lastTo=Ce,this.value.push($n),$n.point&&(this.maxPoint=Math.max(this.maxPoint,Ce-ke)),!0)}addChunk(ke,Ce){if((ke-this.lastTo||Ce.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,Ce.maxPoint),this.chunks.push(Ce),this.chunkPos.push(ke);let $n=Ce.value.length-1;return this.last=Ce.value[$n],this.lastFrom=Ce.from[$n]+ke,this.lastTo=Ce.to[$n]+ke,!0}finish(){return this.finishInner(RangeSet.empty)}finishInner(ke){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return ke;let Ce=RangeSet.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(ke):ke,this.setMaxPoint);return this.from=null,Ce}}function findSharedChunks(_n,ke,Ce){let $n=new Map;for(let Qn of _n)for(let Vn=0;Vn=this.minPoint)break}}setRangeIndex(ke){if(ke==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex=$n&&Mn.push(new LayerCursor(Vn,Ce,$n,Qn));return Mn.length==1?Mn[0]:new HeapCursor(Mn)}get startSide(){return this.value?this.value.startSide:0}goto(ke,Ce=-1e9){for(let $n of this.heap)$n.goto(ke,Ce);for(let $n=this.heap.length>>1;$n>=0;$n--)heapBubble(this.heap,$n);return this.next(),this}forward(ke,Ce){for(let $n of this.heap)$n.forward(ke,Ce);for(let $n=this.heap.length>>1;$n>=0;$n--)heapBubble(this.heap,$n);(this.to-ke||this.value.endSide-Ce)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let ke=this.heap[0];this.from=ke.from,this.to=ke.to,this.value=ke.value,this.rank=ke.rank,ke.value&&ke.next(),heapBubble(this.heap,0)}}}function heapBubble(_n,ke){for(let Ce=_n[ke];;){let $n=(ke<<1)+1;if($n>=_n.length)break;let Mn=_n[$n];if($n+1<_n.length&&Mn.compare(_n[$n+1])>=0&&(Mn=_n[$n+1],$n++),Ce.compare(Mn)<0)break;_n[$n]=Ce,_n[ke]=Mn,ke=$n}}class SpanCursor{constructor(ke,Ce,$n){this.minPoint=$n,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=HeapCursor.from(ke,Ce,$n)}goto(ke,Ce=-1e9){return this.cursor.goto(ke,Ce),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=ke,this.endSide=Ce,this.openStart=-1,this.next(),this}forward(ke,Ce){for(;this.minActive>-1&&(this.activeTo[this.minActive]-ke||this.active[this.minActive].endSide-Ce)<0;)this.removeActive(this.minActive);this.cursor.forward(ke,Ce)}removeActive(ke){remove(this.active,ke),remove(this.activeTo,ke),remove(this.activeRank,ke),this.minActive=findMinIndex(this.active,this.activeTo)}addActive(ke){let Ce=0,{value:$n,to:Mn,rank:Qn}=this.cursor;for(;Ce0;)Ce++;insert(this.active,Ce,$n),insert(this.activeTo,Ce,Mn),insert(this.activeRank,Ce,Qn),ke&&insert(ke,Ce,this.cursor.from),this.minActive=findMinIndex(this.active,this.activeTo)}next(){let ke=this.to,Ce=this.point;this.point=null;let $n=this.openStart<0?[]:null;for(;;){let Mn=this.minActive;if(Mn>-1&&(this.activeTo[Mn]-this.cursor.from||this.active[Mn].endSide-this.cursor.startSide)<0){if(this.activeTo[Mn]>ke){this.to=this.activeTo[Mn],this.endSide=this.active[Mn].endSide;break}this.removeActive(Mn),$n&&remove($n,Mn)}else if(this.cursor.value)if(this.cursor.from>ke){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let Qn=this.cursor.value;if(!Qn.point)this.addActive($n),this.cursor.next();else if(Ce&&this.cursor.to==this.to&&this.cursor.from=0&&$n[Mn]=0&&!(this.activeRank[$n]ke||this.activeTo[$n]==ke&&this.active[$n].endSide>=this.point.endSide)&&Ce.push(this.active[$n]);return Ce.reverse()}openEnd(ke){let Ce=0;for(let $n=this.activeTo.length-1;$n>=0&&this.activeTo[$n]>ke;$n--)Ce++;return Ce}}function compare(_n,ke,Ce,$n,Mn,Qn){_n.goto(ke),Ce.goto($n);let Vn=$n+Mn,qn=$n,Zn=$n-ke;for(;;){let jn=_n.to+Zn-Ce.to||_n.endSide-Ce.endSide,Xn=jn<0?_n.to+Zn:Ce.to,zn=Math.min(Xn,Vn);if(_n.point||Ce.point?_n.point&&Ce.point&&(_n.point==Ce.point||_n.point.eq(Ce.point))&&sameValues(_n.activeForPoint(_n.to),Ce.activeForPoint(Ce.to))||Qn.comparePoint(qn,zn,_n.point,Ce.point):zn>qn&&!sameValues(_n.active,Ce.active)&&Qn.compareRange(qn,zn,_n.active,Ce.active),Xn>Vn)break;qn=Xn,jn<=0&&_n.next(),jn>=0&&Ce.next()}}function sameValues(_n,ke){if(_n.length!=ke.length)return!1;for(let Ce=0;Ce<_n.length;Ce++)if(_n[Ce]!=ke[Ce]&&!_n[Ce].eq(ke[Ce]))return!1;return!0}function remove(_n,ke){for(let Ce=ke,$n=_n.length-1;Ce<$n;Ce++)_n[Ce]=_n[Ce+1];_n.pop()}function insert(_n,ke,Ce){for(let $n=_n.length-1;$n>=ke;$n--)_n[$n+1]=_n[$n];_n[ke]=Ce}function findMinIndex(_n,ke){let Ce=-1,$n=1e9;for(let Mn=0;Mn=ke)return Mn;if(Mn==_n.length)break;Qn+=_n.charCodeAt(Mn)==9?Ce-Qn%Ce:1,Mn=findClusterBreak(_n,Mn)}return $n===!0?-1:_n.length}const C="ͼ",COUNT=typeof Symbol>"u"?"__"+C:Symbol.for(C),SET=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),top=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{};class StyleModule{constructor(ke,Ce){this.rules=[];let{finish:$n}=Ce||{};function Mn(Vn){return/^@/.test(Vn)?[Vn]:Vn.split(/,\s*/)}function Qn(Vn,qn,Zn,jn){let Xn=[],zn=/^@(\w+)\b/.exec(Vn[0]),Hn=zn&&zn[1]=="keyframes";if(zn&&qn==null)return Zn.push(Vn[0]+";");for(let Wn in qn){let Yn=qn[Wn];if(/&/.test(Wn))Qn(Wn.split(/,\s*/).map(Un=>Vn.map(Gn=>Un.replace(/&/,Gn))).reduce((Un,Gn)=>Un.concat(Gn)),Yn,Zn);else if(Yn&&typeof Yn=="object"){if(!zn)throw new RangeError("The value of a property ("+Wn+") should be a primitive value.");Qn(Mn(Wn),Yn,Xn,Hn)}else Yn!=null&&Xn.push(Wn.replace(/_.*/,"").replace(/[A-Z]/g,Un=>"-"+Un.toLowerCase())+": "+Yn+";")}(Xn.length||Hn)&&Zn.push(($n&&!zn&&!jn?Vn.map($n):Vn).join(", ")+" {"+Xn.join(" ")+"}")}for(let Vn in ke)Qn(Mn(Vn),ke[Vn],this.rules)}getRules(){return this.rules.join(` `)}static newName(){let ke=top[COUNT]||1;return top[COUNT]=ke+1,C+ke.toString(36)}static mount(ke,Ce,$n){let Mn=ke[SET],Qn=$n&&$n.nonce;Mn?Qn&&Mn.setNonce(Qn):Mn=new StyleSet(ke,Qn),Mn.mount(Array.isArray(Ce)?Ce:[Ce],ke)}}let adoptedSet=new Map;class StyleSet{constructor(ke,Ce){let $n=ke.ownerDocument||ke,Mn=$n.defaultView;if(!ke.head&&ke.adoptedStyleSheets&&Mn.CSSStyleSheet){let Qn=adoptedSet.get($n);if(Qn)return ke[SET]=Qn;this.sheet=new Mn.CSSStyleSheet,adoptedSet.set($n,this)}else this.styleTag=$n.createElement("style"),Ce&&this.styleTag.setAttribute("nonce",Ce);this.modules=[],ke[SET]=this}mount(ke,Ce){let $n=this.sheet,Mn=0,Qn=0;for(let Vn=0;Vn-1&&(this.modules.splice(Zn,1),Qn--,Zn=-1),Zn==-1){if(this.modules.splice(Qn++,0,qn),$n)for(let jn=0;jn",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},mac=typeof navigator<"u"&&/Mac/.test(navigator.platform),ie$1=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(var i=0;i<10;i++)base[48+i]=base[96+i]=String(i);for(var i=1;i<=24;i++)base[i+111]="F"+i;for(var i=65;i<=90;i++)base[i]=String.fromCharCode(i+32),shift[i]=String.fromCharCode(i);for(var code in base)shift.hasOwnProperty(code)||(shift[code]=base[code]);function keyName(_n){var ke=mac&&_n.metaKey&&_n.shiftKey&&!_n.ctrlKey&&!_n.altKey||ie$1&&_n.shiftKey&&_n.key&&_n.key.length==1||_n.key=="Unidentified",Ce=!ke&&_n.key||(_n.shiftKey?shift:base)[_n.keyCode]||_n.key||"Unidentified";return Ce=="Esc"&&(Ce="Escape"),Ce=="Del"&&(Ce="Delete"),Ce=="Left"&&(Ce="ArrowLeft"),Ce=="Up"&&(Ce="ArrowUp"),Ce=="Right"&&(Ce="ArrowRight"),Ce=="Down"&&(Ce="ArrowDown"),Ce}function getSelection(_n){let ke;return _n.nodeType==11?ke=_n.getSelection?_n:_n.ownerDocument:ke=_n,ke.getSelection()}function contains(_n,ke){return ke?_n==ke||_n.contains(ke.nodeType!=1?ke.parentNode:ke):!1}function hasSelection(_n,ke){if(!ke.anchorNode)return!1;try{return contains(_n,ke.anchorNode)}catch{return!1}}function clientRectsFor(_n){return _n.nodeType==3?textRange(_n,0,_n.nodeValue.length).getClientRects():_n.nodeType==1?_n.getClientRects():[]}function isEquivalentPosition(_n,ke,Ce,$n){return Ce?scanFor(_n,ke,Ce,$n,-1)||scanFor(_n,ke,Ce,$n,1):!1}function domIndex(_n){for(var ke=0;;ke++)if(_n=_n.previousSibling,!_n)return ke}function isBlockElement(_n){return _n.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(_n.nodeName)}function scanFor(_n,ke,Ce,$n,Mn){for(;;){if(_n==Ce&&ke==$n)return!0;if(ke==(Mn<0?0:maxOffset(_n))){if(_n.nodeName=="DIV")return!1;let Qn=_n.parentNode;if(!Qn||Qn.nodeType!=1)return!1;ke=domIndex(_n)+(Mn<0?0:1),_n=Qn}else if(_n.nodeType==1){if(_n=_n.childNodes[ke+(Mn<0?-1:0)],_n.nodeType==1&&_n.contentEditable=="false")return!1;ke=Mn<0?maxOffset(_n):0}else return!1}}function maxOffset(_n){return _n.nodeType==3?_n.nodeValue.length:_n.childNodes.length}function flattenRect(_n,ke){let Ce=ke?_n.left:_n.right;return{left:Ce,right:Ce,top:_n.top,bottom:_n.bottom}}function windowRect(_n){let ke=_n.visualViewport;return ke?{left:0,right:ke.width,top:0,bottom:ke.height}:{left:0,right:_n.innerWidth,top:0,bottom:_n.innerHeight}}function getScale(_n,ke){let Ce=ke.width/_n.offsetWidth,$n=ke.height/_n.offsetHeight;return(Ce>.995&&Ce<1.005||!isFinite(Ce)||Math.abs(ke.width-_n.offsetWidth)<1)&&(Ce=1),($n>.995&&$n<1.005||!isFinite($n)||Math.abs(ke.height-_n.offsetHeight)<1)&&($n=1),{scaleX:Ce,scaleY:$n}}function scrollRectIntoView(_n,ke,Ce,$n,Mn,Qn,Vn,qn){let Zn=_n.ownerDocument,jn=Zn.defaultView||window;for(let Xn=_n,zn=!1;Xn&&!zn;)if(Xn.nodeType==1){let Hn,Wn=Xn==Zn.body,Yn=1,Un=1;if(Wn)Hn=windowRect(jn);else{if(/^(fixed|sticky)$/.test(getComputedStyle(Xn).position)&&(zn=!0),Xn.scrollHeight<=Xn.clientHeight&&Xn.scrollWidth<=Xn.clientWidth){Xn=Xn.assignedSlot||Xn.parentNode;continue}let Jn=Xn.getBoundingClientRect();({scaleX:Yn,scaleY:Un}=getScale(Xn,Jn)),Hn={left:Jn.left,right:Jn.left+Xn.clientWidth*Yn,top:Jn.top,bottom:Jn.top+Xn.clientHeight*Un}}let Gn=0,Kn=0;if(Mn=="nearest")ke.top0&&ke.bottom>Hn.bottom+Kn&&(Kn=ke.bottom-Hn.bottom+Kn+Vn)):ke.bottom>Hn.bottom&&(Kn=ke.bottom-Hn.bottom+Vn,Ce<0&&ke.top-Kn0&&ke.right>Hn.right+Gn&&(Gn=ke.right-Hn.right+Gn+Qn)):ke.right>Hn.right&&(Gn=ke.right-Hn.right+Qn,Ce<0&&ke.leftMn.clientHeight&&($n=Mn),!Ce&&Mn.scrollWidth>Mn.clientWidth&&(Ce=Mn),Mn=Mn.assignedSlot||Mn.parentNode;else if(Mn.nodeType==11)Mn=Mn.host;else break;return{x:Ce,y:$n}}class DOMSelectionState{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(ke){return this.anchorNode==ke.anchorNode&&this.anchorOffset==ke.anchorOffset&&this.focusNode==ke.focusNode&&this.focusOffset==ke.focusOffset}setRange(ke){let{anchorNode:Ce,focusNode:$n}=ke;this.set(Ce,Math.min(ke.anchorOffset,Ce?maxOffset(Ce):0),$n,Math.min(ke.focusOffset,$n?maxOffset($n):0))}set(ke,Ce,$n,Mn){this.anchorNode=ke,this.anchorOffset=Ce,this.focusNode=$n,this.focusOffset=Mn}}let preventScrollSupported=null;function focusPreventScroll(_n){if(_n.setActive)return _n.setActive();if(preventScrollSupported)return _n.focus(preventScrollSupported);let ke=[];for(let Ce=_n;Ce&&(ke.push(Ce,Ce.scrollTop,Ce.scrollLeft),Ce!=Ce.ownerDocument);Ce=Ce.parentNode);if(_n.focus(preventScrollSupported==null?{get preventScroll(){return preventScrollSupported={preventScroll:!0},!0}}:void 0),!preventScrollSupported){preventScrollSupported=!1;for(let Ce=0;CeMath.max(1,_n.scrollHeight-_n.clientHeight-4)}function textNodeBefore(_n,ke){for(let Ce=_n,$n=ke;;){if(Ce.nodeType==3&&$n>0)return{node:Ce,offset:$n};if(Ce.nodeType==1&&$n>0){if(Ce.contentEditable=="false")return null;Ce=Ce.childNodes[$n-1],$n=maxOffset(Ce)}else if(Ce.parentNode&&!isBlockElement(Ce))$n=domIndex(Ce),Ce=Ce.parentNode;else return null}}function textNodeAfter(_n,ke){for(let Ce=_n,$n=ke;;){if(Ce.nodeType==3&&$nCe)return zn.domBoundsAround(ke,Ce,jn);if(Hn>=ke&&Mn==-1&&(Mn=Zn,Qn=jn),jn>Ce&&zn.dom.parentNode==this.dom){Vn=Zn,qn=Xn;break}Xn=Hn,jn=Hn+zn.breakAfter}return{from:Qn,to:qn<0?$n+this.length:qn,startDOM:(Mn?this.children[Mn-1].dom.nextSibling:null)||this.dom.firstChild,endDOM:Vn=0?this.children[Vn].dom:null}}markDirty(ke=!1){this.flags|=2,this.markParentsDirty(ke)}markParentsDirty(ke){for(let Ce=this.parent;Ce;Ce=Ce.parent){if(ke&&(Ce.flags|=2),Ce.flags&1)return;Ce.flags|=1,ke=!1}}setParent(ke){this.parent!=ke&&(this.parent=ke,this.flags&7&&this.markParentsDirty(!0))}setDOM(ke){this.dom!=ke&&(this.dom&&(this.dom.cmView=null),this.dom=ke,ke.cmView=this)}get rootView(){for(let ke=this;;){let Ce=ke.parent;if(!Ce)return ke;ke=Ce}}replaceChildren(ke,Ce,$n=noChildren){this.markDirty();for(let Mn=ke;Mnthis.pos||ke==this.pos&&(Ce>0||this.i==0||this.children[this.i-1].breakAfter))return this.off=ke-this.pos,this;let $n=this.children[--this.i];this.pos-=$n.length+$n.breakAfter}}}function replaceRange(_n,ke,Ce,$n,Mn,Qn,Vn,qn,Zn){let{children:jn}=_n,Xn=jn.length?jn[ke]:null,zn=Qn.length?Qn[Qn.length-1]:null,Hn=zn?zn.breakAfter:Vn;if(!(ke==$n&&Xn&&!Vn&&!Hn&&Qn.length<2&&Xn.merge(Ce,Mn,Qn.length?zn:null,Ce==0,qn,Zn))){if($n0&&(!Vn&&Qn.length&&Xn.merge(Ce,Xn.length,Qn[0],!1,qn,0)?Xn.breakAfter=Qn.shift().breakAfter:(Ce2);var browser={mac:ios||/Mac/.test(nav.platform),windows:/Win/.test(nav.platform),linux:/Linux|X11/.test(nav.platform),ie,ie_version:ie_upto10?doc.documentMode||6:ie_11up?+ie_11up[1]:ie_edge?+ie_edge[1]:0,gecko,gecko_version:gecko?+(/Firefox\/(\d+)/.exec(nav.userAgent)||[0,0])[1]:0,chrome:!!chrome,chrome_version:chrome?+chrome[1]:0,ios,android:/Android\b/.test(nav.userAgent),webkit,safari,webkit_version:webkit?+(/\bAppleWebKit\/(\d+)/.exec(nav.userAgent)||[0,0])[1]:0,tabSize:doc.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};const MaxJoinLen=256;class TextView extends ContentView{constructor(ke){super(),this.text=ke}get length(){return this.text.length}createDOM(ke){this.setDOM(ke||document.createTextNode(this.text))}sync(ke,Ce){this.dom||this.createDOM(),this.dom.nodeValue!=this.text&&(Ce&&Ce.node==this.dom&&(Ce.written=!0),this.dom.nodeValue=this.text)}reuseDOM(ke){ke.nodeType==3&&this.createDOM(ke)}merge(ke,Ce,$n){return this.flags&8||$n&&(!($n instanceof TextView)||this.length-(Ce-ke)+$n.length>MaxJoinLen||$n.flags&8)?!1:(this.text=this.text.slice(0,ke)+($n?$n.text:"")+this.text.slice(Ce),this.markDirty(),!0)}split(ke){let Ce=new TextView(this.text.slice(ke));return this.text=this.text.slice(0,ke),this.markDirty(),Ce.flags|=this.flags&8,Ce}localPosFromDOM(ke,Ce){return ke==this.dom?Ce:Ce?this.text.length:0}domAtPos(ke){return new DOMPos(this.dom,ke)}domBoundsAround(ke,Ce,$n){return{from:$n,to:$n+this.length,startDOM:this.dom,endDOM:this.dom.nextSibling}}coordsAt(ke,Ce){return textCoords(this.dom,ke,Ce)}}class MarkView extends ContentView{constructor(ke,Ce=[],$n=0){super(),this.mark=ke,this.children=Ce,this.length=$n;for(let Mn of Ce)Mn.setParent(this)}setAttrs(ke){if(clearAttributes(ke),this.mark.class&&(ke.className=this.mark.class),this.mark.attrs)for(let Ce in this.mark.attrs)ke.setAttribute(Ce,this.mark.attrs[Ce]);return ke}canReuseDOM(ke){return super.canReuseDOM(ke)&&!((this.flags|ke.flags)&8)}reuseDOM(ke){ke.nodeName==this.mark.tagName.toUpperCase()&&(this.setDOM(ke),this.flags|=6)}sync(ke,Ce){this.dom?this.flags&4&&this.setAttrs(this.dom):this.setDOM(this.setAttrs(document.createElement(this.mark.tagName))),super.sync(ke,Ce)}merge(ke,Ce,$n,Mn,Qn,Vn){return $n&&(!($n instanceof MarkView&&$n.mark.eq(this.mark))||ke&&Qn<=0||Ceke&&Ce.push($n=ke&&(Mn=Qn),$n=Zn,Qn++}let Vn=this.length-ke;return this.length=ke,Mn>-1&&(this.children.length=Mn,this.markDirty()),new MarkView(this.mark,Ce,Vn)}domAtPos(ke){return inlineDOMAtPos(this,ke)}coordsAt(ke,Ce){return coordsInChildren(this,ke,Ce)}}function textCoords(_n,ke,Ce){let $n=_n.nodeValue.length;ke>$n&&(ke=$n);let Mn=ke,Qn=ke,Vn=0;ke==0&&Ce<0||ke==$n&&Ce>=0?browser.chrome||browser.gecko||(ke?(Mn--,Vn=1):Qn<$n&&(Qn++,Vn=-1)):Ce<0?Mn--:Qn<$n&&Qn++;let qn=textRange(_n,Mn,Qn).getClientRects();if(!qn.length)return null;let Zn=qn[(Vn?Vn<0:Ce>=0)?0:qn.length-1];return browser.safari&&!Vn&&Zn.width==0&&(Zn=Array.prototype.find.call(qn,jn=>jn.width)||Zn),Vn?flattenRect(Zn,Vn<0):Zn||null}class WidgetView extends ContentView{static create(ke,Ce,$n){return new WidgetView(ke,Ce,$n)}constructor(ke,Ce,$n){super(),this.widget=ke,this.length=Ce,this.side=$n,this.prevWidget=null}split(ke){let Ce=WidgetView.create(this.widget,this.length-ke,this.side);return this.length-=ke,Ce}sync(ke){(!this.dom||!this.widget.updateDOM(this.dom,ke))&&(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(ke)),this.widget.editable||(this.dom.contentEditable="false"))}getSide(){return this.side}merge(ke,Ce,$n,Mn,Qn,Vn){return $n&&(!($n instanceof WidgetView)||!this.widget.compare($n.widget)||ke>0&&Qn<=0||Ce0)?DOMPos.before(this.dom):DOMPos.after(this.dom,ke==this.length)}domBoundsAround(){return null}coordsAt(ke,Ce){let $n=this.widget.coordsAt(this.dom,ke,Ce);if($n)return $n;let Mn=this.dom.getClientRects(),Qn=null;if(!Mn.length)return null;let Vn=this.side?this.side<0:ke>0;for(let qn=Vn?Mn.length-1:0;Qn=Mn[qn],!(ke>0?qn==0:qn==Mn.length-1||Qn.top0?DOMPos.before(this.dom):DOMPos.after(this.dom)}localPosFromDOM(){return 0}domBoundsAround(){return null}coordsAt(ke){return this.dom.getBoundingClientRect()}get overrideDOMText(){return Text.empty}get isHidden(){return!0}}TextView.prototype.children=WidgetView.prototype.children=WidgetBufferView.prototype.children=noChildren;function inlineDOMAtPos(_n,ke){let Ce=_n.dom,{children:$n}=_n,Mn=0;for(let Qn=0;Mn<$n.length;Mn++){let Vn=$n[Mn],qn=Qn+Vn.length;if(!(qn==Qn&&Vn.getSide()<=0)){if(ke>Qn&&ke0;Qn--){let Vn=$n[Qn-1];if(Vn.dom.parentNode==Ce)return Vn.domAtPos(Vn.length)}for(let Qn=Mn;Qn<$n.length;Qn++){let Vn=$n[Qn];if(Vn.dom.parentNode==Ce)return Vn.domAtPos(0)}return new DOMPos(Ce,0)}function joinInlineInto(_n,ke,Ce){let $n,{children:Mn}=_n;Ce>0&&ke instanceof MarkView&&Mn.length&&($n=Mn[Mn.length-1])instanceof MarkView&&$n.mark.eq(ke.mark)?joinInlineInto($n,ke.children[0],Ce-1):(Mn.push(ke),ke.setParent(_n)),_n.length+=ke.length}function coordsInChildren(_n,ke,Ce){let $n=null,Mn=-1,Qn=null,Vn=-1;function qn(jn,Xn){for(let zn=0,Hn=0;zn=Xn&&(Wn.children.length?qn(Wn,Xn-Hn):(!Qn||Qn.isHidden&&Ce>0)&&(Yn>Xn||Hn==Yn&&Wn.getSide()>0)?(Qn=Wn,Vn=Xn-Hn):(Hn-1?1:0)!=Mn.length-(Ce&&Mn.indexOf(Ce)>-1?1:0))return!1;for(let Qn of $n)if(Qn!=Ce&&(Mn.indexOf(Qn)==-1||_n[Qn]!==ke[Qn]))return!1;return!0}function updateAttrs(_n,ke,Ce){let $n=!1;if(ke)for(let Mn in ke)Ce&&Mn in Ce||($n=!0,Mn=="style"?_n.style.cssText="":_n.removeAttribute(Mn));if(Ce)for(let Mn in Ce)ke&&ke[Mn]==Ce[Mn]||($n=!0,Mn=="style"?_n.style.cssText=Ce[Mn]:_n.setAttribute(Mn,Ce[Mn]));return $n}function getAttrs$1(_n){let ke=Object.create(null);for(let Ce=0;Ce<_n.attributes.length;Ce++){let $n=_n.attributes[Ce];ke[$n.name]=$n.value}return ke}class WidgetType{eq(ke){return!1}updateDOM(ke,Ce){return!1}compare(ke){return this==ke||this.constructor==ke.constructor&&this.eq(ke)}get estimatedHeight(){return-1}get lineBreaks(){return 0}ignoreEvent(ke){return!0}coordsAt(ke,Ce,$n){return null}get isHidden(){return!1}get editable(){return!1}destroy(ke){}}var BlockType=function(_n){return _n[_n.Text=0]="Text",_n[_n.WidgetBefore=1]="WidgetBefore",_n[_n.WidgetAfter=2]="WidgetAfter",_n[_n.WidgetRange=3]="WidgetRange",_n}(BlockType||(BlockType={}));class Decoration extends RangeValue{constructor(ke,Ce,$n,Mn){super(),this.startSide=ke,this.endSide=Ce,this.widget=$n,this.spec=Mn}get heightRelevant(){return!1}static mark(ke){return new MarkDecoration(ke)}static widget(ke){let Ce=Math.max(-1e4,Math.min(1e4,ke.side||0)),$n=!!ke.block;return Ce+=$n&&!ke.inlineOrder?Ce>0?3e8:-4e8:Ce>0?1e8:-1e8,new PointDecoration(ke,Ce,Ce,$n,ke.widget||null,!1)}static replace(ke){let Ce=!!ke.block,$n,Mn;if(ke.isBlockGap)$n=-5e8,Mn=4e8;else{let{start:Qn,end:Vn}=getInclusive(ke,Ce);$n=(Qn?Ce?-3e8:-1:5e8)-1,Mn=(Vn?Ce?2e8:1:-6e8)+1}return new PointDecoration(ke,$n,Mn,Ce,ke.widget||null,!0)}static line(ke){return new LineDecoration(ke)}static set(ke,Ce=!1){return RangeSet.of(ke,Ce)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}}Decoration.none=RangeSet.empty;class MarkDecoration extends Decoration{constructor(ke){let{start:Ce,end:$n}=getInclusive(ke);super(Ce?-1:5e8,$n?1:-6e8,null,ke),this.tagName=ke.tagName||"span",this.class=ke.class||"",this.attrs=ke.attributes||null}eq(ke){var Ce,$n;return this==ke||ke instanceof MarkDecoration&&this.tagName==ke.tagName&&(this.class||((Ce=this.attrs)===null||Ce===void 0?void 0:Ce.class))==(ke.class||(($n=ke.attrs)===null||$n===void 0?void 0:$n.class))&&attrsEq(this.attrs,ke.attrs,"class")}range(ke,Ce=ke){if(ke>=Ce)throw new RangeError("Mark decorations may not be empty");return super.range(ke,Ce)}}MarkDecoration.prototype.point=!1;class LineDecoration extends Decoration{constructor(ke){super(-2e8,-2e8,null,ke)}eq(ke){return ke instanceof LineDecoration&&this.spec.class==ke.spec.class&&attrsEq(this.spec.attributes,ke.spec.attributes)}range(ke,Ce=ke){if(Ce!=ke)throw new RangeError("Line decoration ranges must be zero-length");return super.range(ke,Ce)}}LineDecoration.prototype.mapMode=MapMode.TrackBefore;LineDecoration.prototype.point=!0;class PointDecoration extends Decoration{constructor(ke,Ce,$n,Mn,Qn,Vn){super(Ce,$n,Qn,ke),this.block=Mn,this.isReplace=Vn,this.mapMode=Mn?Ce<=0?MapMode.TrackBefore:MapMode.TrackAfter:MapMode.TrackDel}get type(){return this.startSide!=this.endSide?BlockType.WidgetRange:this.startSide<=0?BlockType.WidgetBefore:BlockType.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(ke){return ke instanceof PointDecoration&&widgetsEq(this.widget,ke.widget)&&this.block==ke.block&&this.startSide==ke.startSide&&this.endSide==ke.endSide}range(ke,Ce=ke){if(this.isReplace&&(ke>Ce||ke==Ce&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&Ce!=ke)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(ke,Ce)}}PointDecoration.prototype.point=!0;function getInclusive(_n,ke=!1){let{inclusiveStart:Ce,inclusiveEnd:$n}=_n;return Ce==null&&(Ce=_n.inclusive),$n==null&&($n=_n.inclusive),{start:Ce??ke,end:$n??ke}}function widgetsEq(_n,ke){return _n==ke||!!(_n&&ke&&_n.compare(ke))}function addRange(_n,ke,Ce,$n=0){let Mn=Ce.length-1;Mn>=0&&Ce[Mn]+$n>=_n?Ce[Mn]=Math.max(Ce[Mn],ke):Ce.push(_n,ke)}class LineView extends ContentView{constructor(){super(...arguments),this.children=[],this.length=0,this.prevAttrs=void 0,this.attrs=null,this.breakAfter=0}merge(ke,Ce,$n,Mn,Qn,Vn){if($n){if(!($n instanceof LineView))return!1;this.dom||$n.transferDOM(this)}return Mn&&this.setDeco($n?$n.attrs:null),mergeChildrenInto(this,ke,Ce,$n?$n.children.slice():[],Qn,Vn),!0}split(ke){let Ce=new LineView;if(Ce.breakAfter=this.breakAfter,this.length==0)return Ce;let{i:$n,off:Mn}=this.childPos(ke);Mn&&(Ce.append(this.children[$n].split(Mn),0),this.children[$n].merge(Mn,this.children[$n].length,null,!1,0,0),$n++);for(let Qn=$n;Qn0&&this.children[$n-1].length==0;)this.children[--$n].destroy();return this.children.length=$n,this.markDirty(),this.length=ke,Ce}transferDOM(ke){this.dom&&(this.markDirty(),ke.setDOM(this.dom),ke.prevAttrs=this.prevAttrs===void 0?this.attrs:this.prevAttrs,this.prevAttrs=void 0,this.dom=null)}setDeco(ke){attrsEq(this.attrs,ke)||(this.dom&&(this.prevAttrs=this.attrs,this.markDirty()),this.attrs=ke)}append(ke,Ce){joinInlineInto(this,ke,Ce)}addLineDeco(ke){let Ce=ke.spec.attributes,$n=ke.spec.class;Ce&&(this.attrs=combineAttrs(Ce,this.attrs||{})),$n&&(this.attrs=combineAttrs({class:$n},this.attrs||{}))}domAtPos(ke){return inlineDOMAtPos(this,ke)}reuseDOM(ke){ke.nodeName=="DIV"&&(this.setDOM(ke),this.flags|=6)}sync(ke,Ce){var $n;this.dom?this.flags&4&&(clearAttributes(this.dom),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0):(this.setDOM(document.createElement("div")),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0),this.prevAttrs!==void 0&&(updateAttrs(this.dom,this.prevAttrs,this.attrs),this.dom.classList.add("cm-line"),this.prevAttrs=void 0),super.sync(ke,Ce);let Mn=this.dom.lastChild;for(;Mn&&ContentView.get(Mn)instanceof MarkView;)Mn=Mn.lastChild;if(!Mn||!this.length||Mn.nodeName!="BR"&&(($n=ContentView.get(Mn))===null||$n===void 0?void 0:$n.isEditable)==!1&&(!browser.ios||!this.children.some(Qn=>Qn instanceof TextView))){let Qn=document.createElement("BR");Qn.cmIgnore=!0,this.dom.appendChild(Qn)}}measureTextSize(){if(this.children.length==0||this.length>20)return null;let ke=0,Ce;for(let $n of this.children){if(!($n instanceof TextView)||/[^ -~]/.test($n.text))return null;let Mn=clientRectsFor($n.dom);if(Mn.length!=1)return null;ke+=Mn[0].width,Ce=Mn[0].height}return ke?{lineHeight:this.dom.getBoundingClientRect().height,charWidth:ke/this.length,textHeight:Ce}:null}coordsAt(ke,Ce){let $n=coordsInChildren(this,ke,Ce);if(!this.children.length&&$n&&this.parent){let{heightOracle:Mn}=this.parent.view.viewState,Qn=$n.bottom-$n.top;if(Math.abs(Qn-Mn.lineHeight)<2&&Mn.textHeight=Ce){if(Qn instanceof LineView)return Qn;if(Vn>Ce)break}Mn=Vn+Qn.breakAfter}return null}}class BlockWidgetView extends ContentView{constructor(ke,Ce,$n){super(),this.widget=ke,this.length=Ce,this.deco=$n,this.breakAfter=0,this.prevWidget=null}merge(ke,Ce,$n,Mn,Qn,Vn){return $n&&(!($n instanceof BlockWidgetView)||!this.widget.compare($n.widget)||ke>0&&Qn<=0||Ce0}}class BlockGapWidget extends WidgetType{constructor(ke){super(),this.height=ke}toDOM(){let ke=document.createElement("div");return ke.className="cm-gap",this.updateDOM(ke),ke}eq(ke){return ke.height==this.height}updateDOM(ke){return ke.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}}class ContentBuilder{constructor(ke,Ce,$n,Mn){this.doc=ke,this.pos=Ce,this.end=$n,this.disallowBlockEffectsFor=Mn,this.content=[],this.curLine=null,this.breakAtStart=0,this.pendingBuffer=0,this.bufferMarks=[],this.atCursorPos=!0,this.openStart=-1,this.openEnd=-1,this.text="",this.textOff=0,this.cursor=ke.iter(),this.skip=Ce}posCovered(){if(this.content.length==0)return!this.breakAtStart&&this.doc.lineAt(this.pos).from!=this.pos;let ke=this.content[this.content.length-1];return!(ke.breakAfter||ke instanceof BlockWidgetView&&ke.deco.endSide<0)}getLine(){return this.curLine||(this.content.push(this.curLine=new LineView),this.atCursorPos=!0),this.curLine}flushBuffer(ke=this.bufferMarks){this.pendingBuffer&&(this.curLine.append(wrapMarks(new WidgetBufferView(-1),ke),ke.length),this.pendingBuffer=0)}addBlockWidget(ke){this.flushBuffer(),this.curLine=null,this.content.push(ke)}finish(ke){this.pendingBuffer&&ke<=this.bufferMarks.length?this.flushBuffer():this.pendingBuffer=0,!this.posCovered()&&!(ke&&this.content.length&&this.content[this.content.length-1]instanceof BlockWidgetView)&&this.getLine()}buildText(ke,Ce,$n){for(;ke>0;){if(this.textOff==this.text.length){let{value:Qn,lineBreak:Vn,done:qn}=this.cursor.next(this.skip);if(this.skip=0,qn)throw new Error("Ran out of text content when drawing inline views");if(Vn){this.posCovered()||this.getLine(),this.content.length?this.content[this.content.length-1].breakAfter=1:this.breakAtStart=1,this.flushBuffer(),this.curLine=null,this.atCursorPos=!0,ke--;continue}else this.text=Qn,this.textOff=0}let Mn=Math.min(this.text.length-this.textOff,ke,512);this.flushBuffer(Ce.slice(Ce.length-$n)),this.getLine().append(wrapMarks(new TextView(this.text.slice(this.textOff,this.textOff+Mn)),Ce),$n),this.atCursorPos=!0,this.textOff+=Mn,ke-=Mn,$n=0}}span(ke,Ce,$n,Mn){this.buildText(Ce-ke,$n,Mn),this.pos=Ce,this.openStart<0&&(this.openStart=Mn)}point(ke,Ce,$n,Mn,Qn,Vn){if(this.disallowBlockEffectsFor[Vn]&&$n instanceof PointDecoration){if($n.block)throw new RangeError("Block decorations may not be specified via plugins");if(Ce>this.doc.lineAt(this.pos).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}let qn=Ce-ke;if($n instanceof PointDecoration)if($n.block)$n.startSide>0&&!this.posCovered()&&this.getLine(),this.addBlockWidget(new BlockWidgetView($n.widget||NullWidget.block,qn,$n));else{let Zn=WidgetView.create($n.widget||NullWidget.inline,qn,qn?0:$n.startSide),jn=this.atCursorPos&&!Zn.isEditable&&Qn<=Mn.length&&(ke0),Xn=!Zn.isEditable&&(keMn.length||$n.startSide<=0),zn=this.getLine();this.pendingBuffer==2&&!jn&&!Zn.isEditable&&(this.pendingBuffer=0),this.flushBuffer(Mn),jn&&(zn.append(wrapMarks(new WidgetBufferView(1),Mn),Qn),Qn=Mn.length+Math.max(0,Qn-Mn.length)),zn.append(wrapMarks(Zn,Mn),Qn),this.atCursorPos=Xn,this.pendingBuffer=Xn?keMn.length?1:2:0,this.pendingBuffer&&(this.bufferMarks=Mn.slice())}else this.doc.lineAt(this.pos).from==this.pos&&this.getLine().addLineDeco($n);qn&&(this.textOff+qn<=this.text.length?this.textOff+=qn:(this.skip+=qn-(this.text.length-this.textOff),this.text="",this.textOff=0),this.pos=Ce),this.openStart<0&&(this.openStart=Qn)}static build(ke,Ce,$n,Mn,Qn){let Vn=new ContentBuilder(ke,Ce,$n,Qn);return Vn.openEnd=RangeSet.spans(Mn,Ce,$n,Vn),Vn.openStart<0&&(Vn.openStart=Vn.openEnd),Vn.finish(Vn.openEnd),Vn}}function wrapMarks(_n,ke){for(let Ce of ke)_n=new MarkView(Ce,[_n],_n.length);return _n}class NullWidget extends WidgetType{constructor(ke){super(),this.tag=ke}eq(ke){return ke.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(ke){return ke.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}}NullWidget.inline=new NullWidget("span");NullWidget.block=new NullWidget("div");var Direction=function(_n){return _n[_n.LTR=0]="LTR",_n[_n.RTL=1]="RTL",_n}(Direction||(Direction={}));const LTR=Direction.LTR,RTL=Direction.RTL;function dec(_n){let ke=[];for(let Ce=0;Ce<_n.length;Ce++)ke.push(1<<+_n[Ce]);return ke}const LowTypes=dec("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),ArabicTypes=dec("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),Brackets=Object.create(null),BracketStack=[];for(let _n of["()","[]","{}"]){let ke=_n.charCodeAt(0),Ce=_n.charCodeAt(1);Brackets[ke]=Ce,Brackets[Ce]=-ke}function charType(_n){return _n<=247?LowTypes[_n]:1424<=_n&&_n<=1524?2:1536<=_n&&_n<=1785?ArabicTypes[_n-1536]:1774<=_n&&_n<=2220?4:8192<=_n&&_n<=8204?256:64336<=_n&&_n<=65023?4:1}const BidiRE=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/;class BidiSpan{get dir(){return this.level%2?RTL:LTR}constructor(ke,Ce,$n){this.from=ke,this.to=Ce,this.level=$n}side(ke,Ce){return this.dir==Ce==ke?this.to:this.from}forward(ke,Ce){return ke==(this.dir==Ce)}static find(ke,Ce,$n,Mn){let Qn=-1;for(let Vn=0;Vn=Ce){if(qn.level==$n)return Vn;(Qn<0||(Mn!=0?Mn<0?qn.fromCe:ke[Qn].level>qn.level))&&(Qn=Vn)}}if(Qn<0)throw new RangeError("Index out of range");return Qn}}function isolatesEq(_n,ke){if(_n.length!=ke.length)return!1;for(let Ce=0;Ce<_n.length;Ce++){let $n=_n[Ce],Mn=ke[Ce];if($n.from!=Mn.from||$n.to!=Mn.to||$n.direction!=Mn.direction||!isolatesEq($n.inner,Mn.inner))return!1}return!0}const types=[];function computeCharTypes(_n,ke,Ce,$n,Mn){for(let Qn=0;Qn<=$n.length;Qn++){let Vn=Qn?$n[Qn-1].to:ke,qn=Qn<$n.length?$n[Qn].from:Ce,Zn=Qn?256:Mn;for(let jn=Vn,Xn=Zn,zn=Zn;jn=0;Un-=3)if(BracketStack[Un+1]==-Wn){let Gn=BracketStack[Un+2],Kn=Gn&2?Mn:Gn&4?Gn&1?Qn:Mn:0;Kn&&(types[zn]=types[BracketStack[Un]]=Kn),qn=Un;break}}else{if(BracketStack.length==189)break;BracketStack[qn++]=zn,BracketStack[qn++]=Hn,BracketStack[qn++]=Zn}else if((Yn=types[zn])==2||Yn==1){let Un=Yn==Mn;Zn=Un?0:1;for(let Gn=qn-3;Gn>=0;Gn-=3){let Kn=BracketStack[Gn+2];if(Kn&2)break;if(Un)BracketStack[Gn+2]|=2;else{if(Kn&4)break;BracketStack[Gn+2]|=4}}}}}function processNeutrals(_n,ke,Ce,$n){for(let Mn=0,Qn=$n;Mn<=Ce.length;Mn++){let Vn=Mn?Ce[Mn-1].to:_n,qn=MnZn;)Yn==Gn&&(Yn=Ce[--Un].from,Gn=Un?Ce[Un-1].to:_n),types[--Yn]=Wn;Zn=Xn}else Qn=jn,Zn++}}}function emitSpans(_n,ke,Ce,$n,Mn,Qn,Vn){let qn=$n%2?2:1;if($n%2==Mn%2)for(let Zn=ke,jn=0;ZnZn&&Vn.push(new BidiSpan(Zn,Un.from,Wn));let Gn=Un.direction==LTR!=!(Wn%2);computeSectionOrder(_n,Gn?$n+1:$n,Mn,Un.inner,Un.from,Un.to,Vn),Zn=Un.to}Yn=Un.to}else{if(Yn==Ce||(Xn?types[Yn]!=qn:types[Yn]==qn))break;Yn++}Hn?emitSpans(_n,Zn,Yn,$n+1,Mn,Hn,Vn):Znke;){let Xn=!0,zn=!1;if(!jn||Zn>Qn[jn-1].to){let Un=types[Zn-1];Un!=qn&&(Xn=!1,zn=Un==16)}let Hn=!Xn&&qn==1?[]:null,Wn=Xn?$n:$n+1,Yn=Zn;e:for(;;)if(jn&&Yn==Qn[jn-1].to){if(zn)break e;let Un=Qn[--jn];if(!Xn)for(let Gn=Un.from,Kn=jn;;){if(Gn==ke)break e;if(Kn&&Qn[Kn-1].to==Gn)Gn=Qn[--Kn].from;else{if(types[Gn-1]==qn)break e;break}}if(Hn)Hn.push(Un);else{Un.totypes.length;)types[types.length]=256;let $n=[],Mn=ke==LTR?0:1;return computeSectionOrder(_n,Mn,Mn,Ce,0,_n.length,$n),$n}function trivialOrder(_n){return[new BidiSpan(0,_n,0)]}let movedOver="";function moveVisually(_n,ke,Ce,$n,Mn){var Qn;let Vn=$n.head-_n.from,qn=BidiSpan.find(ke,Vn,(Qn=$n.bidiLevel)!==null&&Qn!==void 0?Qn:-1,$n.assoc),Zn=ke[qn],jn=Zn.side(Mn,Ce);if(Vn==jn){let Hn=qn+=Mn?1:-1;if(Hn<0||Hn>=ke.length)return null;Zn=ke[qn=Hn],Vn=Zn.side(!Mn,Ce),jn=Zn.side(Mn,Ce)}let Xn=findClusterBreak(_n.text,Vn,Zn.forward(Mn,Ce));(XnZn.to)&&(Xn=jn),movedOver=_n.text.slice(Math.min(Vn,Xn),Math.max(Vn,Xn));let zn=qn==(Mn?ke.length-1:0)?null:ke[qn+(Mn?1:-1)];return zn&&Xn==jn&&zn.level+(Mn?0:1)_n.some(ke=>ke)}),nativeSelectionHidden=Facet.define({combine:_n=>_n.some(ke=>ke)}),scrollHandler=Facet.define();class ScrollTarget{constructor(ke,Ce="nearest",$n="nearest",Mn=5,Qn=5,Vn=!1){this.range=ke,this.y=Ce,this.x=$n,this.yMargin=Mn,this.xMargin=Qn,this.isSnapshot=Vn}map(ke){return ke.empty?this:new ScrollTarget(this.range.map(ke),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(ke){return this.range.to<=ke.doc.length?this:new ScrollTarget(EditorSelection.cursor(ke.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}}const scrollIntoView$1=StateEffect.define({map:(_n,ke)=>_n.map(ke)}),setEditContextFormatting=StateEffect.define();function logException(_n,ke,Ce){let $n=_n.facet(exceptionSink);$n.length?$n[0](ke):window.onerror?window.onerror(String(ke),Ce,void 0,void 0,ke):Ce?console.error(Ce+":",ke):console.error(ke)}const editable=Facet.define({combine:_n=>_n.length?_n[0]:!0});let nextPluginID=0;const viewPlugin=Facet.define();class ViewPlugin{constructor(ke,Ce,$n,Mn,Qn){this.id=ke,this.create=Ce,this.domEventHandlers=$n,this.domEventObservers=Mn,this.extension=Qn(this)}static define(ke,Ce){const{eventHandlers:$n,eventObservers:Mn,provide:Qn,decorations:Vn}=Ce||{};return new ViewPlugin(nextPluginID++,ke,$n,Mn,qn=>{let Zn=[viewPlugin.of(qn)];return Vn&&Zn.push(decorations.of(jn=>{let Xn=jn.plugin(qn);return Xn?Vn(Xn):Decoration.none})),Qn&&Zn.push(Qn(qn)),Zn})}static fromClass(ke,Ce){return ViewPlugin.define($n=>new ke($n),Ce)}}class PluginInstance{constructor(ke){this.spec=ke,this.mustUpdate=null,this.value=null}update(ke){if(this.value){if(this.mustUpdate){let Ce=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(Ce)}catch($n){if(logException(Ce.state,$n,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.create(ke)}catch(Ce){logException(ke.state,Ce,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(ke){var Ce;if(!((Ce=this.value)===null||Ce===void 0)&&Ce.destroy)try{this.value.destroy()}catch($n){logException(ke.state,$n,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const editorAttributes=Facet.define(),contentAttributes=Facet.define(),decorations=Facet.define(),outerDecorations=Facet.define(),atomicRanges=Facet.define(),bidiIsolatedRanges=Facet.define();function getIsolatedRanges(_n,ke){let Ce=_n.state.facet(bidiIsolatedRanges);if(!Ce.length)return Ce;let $n=Ce.map(Qn=>Qn instanceof Function?Qn(_n):Qn),Mn=[];return RangeSet.spans($n,ke.from,ke.to,{point(){},span(Qn,Vn,qn,Zn){let jn=Qn-ke.from,Xn=Vn-ke.from,zn=Mn;for(let Hn=qn.length-1;Hn>=0;Hn--,Zn--){let Wn=qn[Hn].spec.bidiIsolate,Yn;if(Wn==null&&(Wn=autoDirection(ke.text,jn,Xn)),Zn>0&&zn.length&&(Yn=zn[zn.length-1]).to==jn&&Yn.direction==Wn)Yn.to=Xn,zn=Yn.inner;else{let Un={from:jn,to:Xn,direction:Wn,inner:[]};zn.push(Un),zn=Un.inner}}}}),Mn}const scrollMargins=Facet.define();function getScrollMargins(_n){let ke=0,Ce=0,$n=0,Mn=0;for(let Qn of _n.state.facet(scrollMargins)){let Vn=Qn(_n);Vn&&(Vn.left!=null&&(ke=Math.max(ke,Vn.left)),Vn.right!=null&&(Ce=Math.max(Ce,Vn.right)),Vn.top!=null&&($n=Math.max($n,Vn.top)),Vn.bottom!=null&&(Mn=Math.max(Mn,Vn.bottom)))}return{left:ke,right:Ce,top:$n,bottom:Mn}}const styleModule=Facet.define();class ChangedRange{constructor(ke,Ce,$n,Mn){this.fromA=ke,this.toA=Ce,this.fromB=$n,this.toB=Mn}join(ke){return new ChangedRange(Math.min(this.fromA,ke.fromA),Math.max(this.toA,ke.toA),Math.min(this.fromB,ke.fromB),Math.max(this.toB,ke.toB))}addToSet(ke){let Ce=ke.length,$n=this;for(;Ce>0;Ce--){let Mn=ke[Ce-1];if(!(Mn.fromA>$n.toA)){if(Mn.toA<$n.fromA)break;$n=$n.join(Mn),ke.splice(Ce-1,1)}}return ke.splice(Ce,0,$n),ke}static extendWithRanges(ke,Ce){if(Ce.length==0)return ke;let $n=[];for(let Mn=0,Qn=0,Vn=0,qn=0;;Mn++){let Zn=Mn==ke.length?null:ke[Mn],jn=Vn-qn,Xn=Zn?Zn.fromB:1e9;for(;QnXn)break;Qn+=2}if(!Zn)return $n;new ChangedRange(Zn.fromA,Zn.toA,Zn.fromB,Zn.toB).addToSet($n),Vn=Zn.toA,qn=Zn.toB}}}class ViewUpdate{constructor(ke,Ce,$n){this.view=ke,this.state=Ce,this.transactions=$n,this.flags=0,this.startState=ke.state,this.changes=ChangeSet.empty(this.startState.doc.length);for(let Qn of $n)this.changes=this.changes.compose(Qn.changes);let Mn=[];this.changes.iterChangedRanges((Qn,Vn,qn,Zn)=>Mn.push(new ChangedRange(Qn,Vn,qn,Zn))),this.changedRanges=Mn}static create(ke,Ce,$n){return new ViewUpdate(ke,Ce,$n)}get viewportChanged(){return(this.flags&4)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&10)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(ke=>ke.selection)}get empty(){return this.flags==0&&this.transactions.length==0}}class DocView extends ContentView{get length(){return this.view.state.doc.length}constructor(ke){super(),this.view=ke,this.decorations=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.markedForComposition=new Set,this.editContextFormatting=Decoration.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.setDOM(ke.contentDOM),this.children=[new LineView],this.children[0].setParent(this),this.updateDeco(),this.updateInner([new ChangedRange(0,0,0,ke.state.doc.length)],0,null)}update(ke){var Ce;let $n=ke.changedRanges;this.minWidth>0&&$n.length&&($n.every(({fromA:jn,toA:Xn})=>Xnthis.minWidthTo)?(this.minWidthFrom=ke.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=ke.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(ke);let Mn=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((Ce=this.domChanged)===null||Ce===void 0)&&Ce.newSel?Mn=this.domChanged.newSel.head:!touchesComposition(ke.changes,this.hasComposition)&&!ke.selectionSet&&(Mn=ke.state.selection.main.head));let Qn=Mn>-1?findCompositionRange(this.view,ke.changes,Mn):null;if(this.domChanged=null,this.hasComposition){this.markedForComposition.clear();let{from:jn,to:Xn}=this.hasComposition;$n=new ChangedRange(jn,Xn,ke.changes.mapPos(jn,-1),ke.changes.mapPos(Xn,1)).addToSet($n.slice())}this.hasComposition=Qn?{from:Qn.range.fromB,to:Qn.range.toB}:null,(browser.ie||browser.chrome)&&!Qn&&ke&&ke.state.doc.lines!=ke.startState.doc.lines&&(this.forceSelection=!0);let Vn=this.decorations,qn=this.updateDeco(),Zn=findChangedDeco(Vn,qn,ke.changes);return $n=ChangedRange.extendWithRanges($n,Zn),!(this.flags&7)&&$n.length==0?!1:(this.updateInner($n,ke.startState.doc.length,Qn),ke.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(ke,Ce,$n){this.view.viewState.mustMeasureContent=!0,this.updateChildren(ke,Ce,$n);let{observer:Mn}=this.view;Mn.ignore(()=>{this.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let Vn=browser.chrome||browser.ios?{node:Mn.selectionRange.focusNode,written:!1}:void 0;this.sync(this.view,Vn),this.flags&=-8,Vn&&(Vn.written||Mn.selectionRange.focusNode!=Vn.node)&&(this.forceSelection=!0),this.dom.style.height=""}),this.markedForComposition.forEach(Vn=>Vn.flags&=-9);let Qn=[];if(this.view.viewport.from||this.view.viewport.to=0?Mn[Vn]:null;if(!qn)break;let{fromA:Zn,toA:jn,fromB:Xn,toB:zn}=qn,Hn,Wn,Yn,Un;if($n&&$n.range.fromBXn){let nr=ContentBuilder.build(this.view.state.doc,Xn,$n.range.fromB,this.decorations,this.dynamicDecorationMap),er=ContentBuilder.build(this.view.state.doc,$n.range.toB,zn,this.decorations,this.dynamicDecorationMap);Wn=nr.breakAtStart,Yn=nr.openStart,Un=er.openEnd;let rr=this.compositionView($n);er.breakAtStart?rr.breakAfter=1:er.content.length&&rr.merge(rr.length,rr.length,er.content[0],!1,er.openStart,0)&&(rr.breakAfter=er.content[0].breakAfter,er.content.shift()),nr.content.length&&rr.merge(0,0,nr.content[nr.content.length-1],!0,0,nr.openEnd)&&nr.content.pop(),Hn=nr.content.concat(rr).concat(er.content)}else({content:Hn,breakAtStart:Wn,openStart:Yn,openEnd:Un}=ContentBuilder.build(this.view.state.doc,Xn,zn,this.decorations,this.dynamicDecorationMap));let{i:Gn,off:Kn}=Qn.findPos(jn,1),{i:Jn,off:tr}=Qn.findPos(Zn,-1);replaceRange(this,Jn,tr,Gn,Kn,Hn,Wn,Yn,Un)}$n&&this.fixCompositionDOM($n)}updateEditContextFormatting(ke){this.editContextFormatting=this.editContextFormatting.map(ke.changes);for(let Ce of ke.transactions)for(let $n of Ce.effects)$n.is(setEditContextFormatting)&&(this.editContextFormatting=$n.value)}compositionView(ke){let Ce=new TextView(ke.text.nodeValue);Ce.flags|=8;for(let{deco:Mn}of ke.marks)Ce=new MarkView(Mn,[Ce],Ce.length);let $n=new LineView;return $n.append(Ce,0),$n}fixCompositionDOM(ke){let Ce=(Qn,Vn)=>{Vn.flags|=8|(Vn.children.some(Zn=>Zn.flags&7)?1:0),this.markedForComposition.add(Vn);let qn=ContentView.get(Qn);qn&&qn!=Vn&&(qn.dom=null),Vn.setDOM(Qn)},$n=this.childPos(ke.range.fromB,1),Mn=this.children[$n.i];Ce(ke.line,Mn);for(let Qn=ke.marks.length-1;Qn>=-1;Qn--)$n=Mn.childPos($n.off,1),Mn=Mn.children[$n.i],Ce(Qn>=0?ke.marks[Qn].node:ke.text,Mn)}updateSelection(ke=!1,Ce=!1){(ke||!this.view.observer.selectionRange.focusNode)&&this.view.observer.readSelectionRange();let $n=this.view.root.activeElement,Mn=$n==this.dom,Qn=!Mn&&hasSelection(this.dom,this.view.observer.selectionRange)&&!($n&&this.dom.contains($n));if(!(Mn||Ce||Qn))return;let Vn=this.forceSelection;this.forceSelection=!1;let qn=this.view.state.selection.main,Zn=this.moveToLine(this.domAtPos(qn.anchor)),jn=qn.empty?Zn:this.moveToLine(this.domAtPos(qn.head));if(browser.gecko&&qn.empty&&!this.hasComposition&&betweenUneditable(Zn)){let zn=document.createTextNode("");this.view.observer.ignore(()=>Zn.node.insertBefore(zn,Zn.node.childNodes[Zn.offset]||null)),Zn=jn=new DOMPos(zn,0),Vn=!0}let Xn=this.view.observer.selectionRange;(Vn||!Xn.focusNode||(!isEquivalentPosition(Zn.node,Zn.offset,Xn.anchorNode,Xn.anchorOffset)||!isEquivalentPosition(jn.node,jn.offset,Xn.focusNode,Xn.focusOffset))&&!this.suppressWidgetCursorChange(Xn,qn))&&(this.view.observer.ignore(()=>{browser.android&&browser.chrome&&this.dom.contains(Xn.focusNode)&&inUneditable(Xn.focusNode,this.dom)&&(this.dom.blur(),this.dom.focus({preventScroll:!0}));let zn=getSelection(this.view.root);if(zn)if(qn.empty){if(browser.gecko){let Hn=nextToUneditable(Zn.node,Zn.offset);if(Hn&&Hn!=3){let Wn=(Hn==1?textNodeBefore:textNodeAfter)(Zn.node,Zn.offset);Wn&&(Zn=new DOMPos(Wn.node,Wn.offset))}}zn.collapse(Zn.node,Zn.offset),qn.bidiLevel!=null&&zn.caretBidiLevel!==void 0&&(zn.caretBidiLevel=qn.bidiLevel)}else if(zn.extend){zn.collapse(Zn.node,Zn.offset);try{zn.extend(jn.node,jn.offset)}catch{}}else{let Hn=document.createRange();qn.anchor>qn.head&&([Zn,jn]=[jn,Zn]),Hn.setEnd(jn.node,jn.offset),Hn.setStart(Zn.node,Zn.offset),zn.removeAllRanges(),zn.addRange(Hn)}Qn&&this.view.root.activeElement==this.dom&&(this.dom.blur(),$n&&$n.focus())}),this.view.observer.setSelectionRange(Zn,jn)),this.impreciseAnchor=Zn.precise?null:new DOMPos(Xn.anchorNode,Xn.anchorOffset),this.impreciseHead=jn.precise?null:new DOMPos(Xn.focusNode,Xn.focusOffset)}suppressWidgetCursorChange(ke,Ce){return this.hasComposition&&Ce.empty&&isEquivalentPosition(ke.focusNode,ke.focusOffset,ke.anchorNode,ke.anchorOffset)&&this.posFromDOM(ke.focusNode,ke.focusOffset)==Ce.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:ke}=this,Ce=ke.state.selection.main,$n=getSelection(ke.root),{anchorNode:Mn,anchorOffset:Qn}=ke.observer.selectionRange;if(!$n||!Ce.empty||!Ce.assoc||!$n.modify)return;let Vn=LineView.find(this,Ce.head);if(!Vn)return;let qn=Vn.posAtStart;if(Ce.head==qn||Ce.head==qn+Vn.length)return;let Zn=this.coordsAt(Ce.head,-1),jn=this.coordsAt(Ce.head,1);if(!Zn||!jn||Zn.bottom>jn.top)return;let Xn=this.domAtPos(Ce.head+Ce.assoc);$n.collapse(Xn.node,Xn.offset),$n.modify("move",Ce.assoc<0?"forward":"backward","lineboundary"),ke.observer.readSelectionRange();let zn=ke.observer.selectionRange;ke.docView.posFromDOM(zn.anchorNode,zn.anchorOffset)!=Ce.from&&$n.collapse(Mn,Qn)}moveToLine(ke){let Ce=this.dom,$n;if(ke.node!=Ce)return ke;for(let Mn=ke.offset;!$n&&Mn=0;Mn--){let Qn=ContentView.get(Ce.childNodes[Mn]);Qn instanceof LineView&&($n=Qn.domAtPos(Qn.length))}return $n?new DOMPos($n.node,$n.offset,!0):ke}nearest(ke){for(let Ce=ke;Ce;){let $n=ContentView.get(Ce);if($n&&$n.rootView==this)return $n;Ce=Ce.parentNode}return null}posFromDOM(ke,Ce){let $n=this.nearest(ke);if(!$n)throw new RangeError("Trying to find position for a DOM position outside of the document");return $n.localPosFromDOM(ke,Ce)+$n.posAtStart}domAtPos(ke){let{i:Ce,off:$n}=this.childCursor().findPos(ke,-1);for(;Ce=0;Vn--){let qn=this.children[Vn],Zn=Qn-qn.breakAfter,jn=Zn-qn.length;if(Znke||qn.covers(1))&&(!$n||qn instanceof LineView&&!($n instanceof LineView&&Ce>=0)))$n=qn,Mn=jn;else if($n&&jn==ke&&Zn==ke&&qn instanceof BlockWidgetView&&Math.abs(Ce)<2){if(qn.deco.startSide<0)break;Vn&&($n=null)}Qn=jn}return $n?$n.coordsAt(ke-Mn,Ce):null}coordsForChar(ke){let{i:Ce,off:$n}=this.childPos(ke,1),Mn=this.children[Ce];if(!(Mn instanceof LineView))return null;for(;Mn.children.length;){let{i:qn,off:Zn}=Mn.childPos($n,1);for(;;qn++){if(qn==Mn.children.length)return null;if((Mn=Mn.children[qn]).length)break}$n=Zn}if(!(Mn instanceof TextView))return null;let Qn=findClusterBreak(Mn.text,$n);if(Qn==$n)return null;let Vn=textRange(Mn.dom,$n,Qn).getClientRects();for(let qn=0;qnMath.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,qn=-1,Zn=this.view.textDirection==Direction.LTR;for(let jn=0,Xn=0;XnMn)break;if(jn>=$n){let Wn=zn.dom.getBoundingClientRect();if(Ce.push(Wn.height),Vn){let Yn=zn.dom.lastChild,Un=Yn?clientRectsFor(Yn):[];if(Un.length){let Gn=Un[Un.length-1],Kn=Zn?Gn.right-Wn.left:Wn.right-Gn.left;Kn>qn&&(qn=Kn,this.minWidth=Qn,this.minWidthFrom=jn,this.minWidthTo=Hn)}}}jn=Hn+zn.breakAfter}return Ce}textDirectionAt(ke){let{i:Ce}=this.childPos(ke,1);return getComputedStyle(this.children[Ce].dom).direction=="rtl"?Direction.RTL:Direction.LTR}measureTextSize(){for(let Qn of this.children)if(Qn instanceof LineView){let Vn=Qn.measureTextSize();if(Vn)return Vn}let ke=document.createElement("div"),Ce,$n,Mn;return ke.className="cm-line",ke.style.width="99999px",ke.style.position="absolute",ke.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.dom.appendChild(ke);let Qn=clientRectsFor(ke.firstChild)[0];Ce=ke.getBoundingClientRect().height,$n=Qn?Qn.width/27:7,Mn=Qn?Qn.height:Ce,ke.remove()}),{lineHeight:Ce,charWidth:$n,textHeight:Mn}}childCursor(ke=this.length){let Ce=this.children.length;return Ce&&(ke-=this.children[--Ce].length),new ChildCursor(this.children,ke,Ce)}computeBlockGapDeco(){let ke=[],Ce=this.view.viewState;for(let $n=0,Mn=0;;Mn++){let Qn=Mn==Ce.viewports.length?null:Ce.viewports[Mn],Vn=Qn?Qn.from-1:this.length;if(Vn>$n){let qn=(Ce.lineBlockAt(Vn).bottom-Ce.lineBlockAt($n).top)/this.view.scaleY;ke.push(Decoration.replace({widget:new BlockGapWidget(qn),block:!0,inclusive:!0,isBlockGap:!0}).range($n,Vn))}if(!Qn)break;$n=Qn.to+1}return Decoration.set(ke)}updateDeco(){let ke=1,Ce=this.view.state.facet(decorations).map(Qn=>(this.dynamicDecorationMap[ke++]=typeof Qn=="function")?Qn(this.view):Qn),$n=!1,Mn=this.view.state.facet(outerDecorations).map((Qn,Vn)=>{let qn=typeof Qn=="function";return qn&&($n=!0),qn?Qn(this.view):Qn});for(Mn.length&&(this.dynamicDecorationMap[ke++]=$n,Ce.push(RangeSet.join(Mn))),this.decorations=[this.editContextFormatting,...Ce,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];keCe.anchor?-1:1),Mn;if(!$n)return;!Ce.empty&&(Mn=this.coordsAt(Ce.anchor,Ce.anchor>Ce.head?-1:1))&&($n={left:Math.min($n.left,Mn.left),top:Math.min($n.top,Mn.top),right:Math.max($n.right,Mn.right),bottom:Math.max($n.bottom,Mn.bottom)});let Qn=getScrollMargins(this.view),Vn={left:$n.left-Qn.left,top:$n.top-Qn.top,right:$n.right+Qn.right,bottom:$n.bottom+Qn.bottom},{offsetWidth:qn,offsetHeight:Zn}=this.view.scrollDOM;scrollRectIntoView(this.view.scrollDOM,Vn,Ce.head{$nke.from&&(Ce=!0)}),Ce}function groupAt(_n,ke,Ce=1){let $n=_n.charCategorizer(ke),Mn=_n.doc.lineAt(ke),Qn=ke-Mn.from;if(Mn.length==0)return EditorSelection.cursor(ke);Qn==0?Ce=1:Qn==Mn.length&&(Ce=-1);let Vn=Qn,qn=Qn;Ce<0?Vn=findClusterBreak(Mn.text,Qn,!1):qn=findClusterBreak(Mn.text,Qn);let Zn=$n(Mn.text.slice(Vn,qn));for(;Vn>0;){let jn=findClusterBreak(Mn.text,Vn,!1);if($n(Mn.text.slice(jn,Vn))!=Zn)break;Vn=jn}for(;qn_n?ke.left-_n:Math.max(0,_n-ke.right)}function getdy(_n,ke){return ke.top>_n?ke.top-_n:Math.max(0,_n-ke.bottom)}function yOverlap(_n,ke){return _n.topke.top+1}function upTop(_n,ke){return ke<_n.top?{top:ke,left:_n.left,right:_n.right,bottom:_n.bottom}:_n}function upBot(_n,ke){return ke>_n.bottom?{top:_n.top,left:_n.left,right:_n.right,bottom:ke}:_n}function domPosAtCoords(_n,ke,Ce){let $n,Mn,Qn,Vn,qn=!1,Zn,jn,Xn,zn;for(let Yn=_n.firstChild;Yn;Yn=Yn.nextSibling){let Un=clientRectsFor(Yn);for(let Gn=0;Gntr||Vn==tr&&Qn>Jn){$n=Yn,Mn=Kn,Qn=Jn,Vn=tr;let nr=tr?Ce0?Gn0)}Jn==0?Ce>Kn.bottom&&(!Xn||Xn.bottomKn.top)&&(jn=Yn,zn=Kn):Xn&&yOverlap(Xn,Kn)?Xn=upBot(Xn,Kn.bottom):zn&&yOverlap(zn,Kn)&&(zn=upTop(zn,Kn.top))}}if(Xn&&Xn.bottom>=Ce?($n=Zn,Mn=Xn):zn&&zn.top<=Ce&&($n=jn,Mn=zn),!$n)return{node:_n,offset:0};let Hn=Math.max(Mn.left,Math.min(Mn.right,ke));if($n.nodeType==3)return domPosInText($n,Hn,Ce);if(qn&&$n.contentEditable!="false")return domPosAtCoords($n,Hn,Ce);let Wn=Array.prototype.indexOf.call(_n.childNodes,$n)+(ke>=(Mn.left+Mn.right)/2?1:0);return{node:_n,offset:Wn}}function domPosInText(_n,ke,Ce){let $n=_n.nodeValue.length,Mn=-1,Qn=1e9,Vn=0;for(let qn=0;qn<$n;qn++){let Zn=textRange(_n,qn,qn+1).getClientRects();for(let jn=0;jnCe?Xn.top-Ce:Ce-Xn.bottom)-1;if(Xn.left-1<=ke&&Xn.right+1>=ke&&zn=(Xn.left+Xn.right)/2,Wn=Hn;if((browser.chrome||browser.gecko)&&textRange(_n,qn).getBoundingClientRect().left==Xn.right&&(Wn=!Hn),zn<=0)return{node:_n,offset:qn+(Wn?1:0)};Mn=qn+(Wn?1:0),Qn=zn}}}return{node:_n,offset:Mn>-1?Mn:Vn>0?_n.nodeValue.length:0}}function posAtCoords(_n,ke,Ce,$n=-1){var Mn,Qn;let Vn=_n.contentDOM.getBoundingClientRect(),qn=Vn.top+_n.viewState.paddingTop,Zn,{docHeight:jn}=_n.viewState,{x:Xn,y:zn}=ke,Hn=zn-qn;if(Hn<0)return 0;if(Hn>jn)return _n.state.doc.length;for(let nr=_n.viewState.heightOracle.textHeight/2,er=!1;Zn=_n.elementAtHeight(Hn),Zn.type!=BlockType.Text;)for(;Hn=$n>0?Zn.bottom+nr:Zn.top-nr,!(Hn>=0&&Hn<=jn);){if(er)return Ce?null:0;er=!0,$n=-$n}zn=qn+Hn;let Wn=Zn.from;if(Wn<_n.viewport.from)return _n.viewport.from==0?0:Ce?null:posAtCoordsImprecise(_n,Vn,Zn,Xn,zn);if(Wn>_n.viewport.to)return _n.viewport.to==_n.state.doc.length?_n.state.doc.length:Ce?null:posAtCoordsImprecise(_n,Vn,Zn,Xn,zn);let Yn=_n.dom.ownerDocument,Un=_n.root.elementFromPoint?_n.root:Yn,Gn=Un.elementFromPoint(Xn,zn);Gn&&!_n.contentDOM.contains(Gn)&&(Gn=null),Gn||(Xn=Math.max(Vn.left+1,Math.min(Vn.right-1,Xn)),Gn=Un.elementFromPoint(Xn,zn),Gn&&!_n.contentDOM.contains(Gn)&&(Gn=null));let Kn,Jn=-1;if(Gn&&((Mn=_n.docView.nearest(Gn))===null||Mn===void 0?void 0:Mn.isEditable)!=!1){if(Yn.caretPositionFromPoint){let nr=Yn.caretPositionFromPoint(Xn,zn);nr&&({offsetNode:Kn,offset:Jn}=nr)}else if(Yn.caretRangeFromPoint){let nr=Yn.caretRangeFromPoint(Xn,zn);nr&&({startContainer:Kn,startOffset:Jn}=nr,(!_n.contentDOM.contains(Kn)||browser.safari&&isSuspiciousSafariCaretResult(Kn,Jn,Xn)||browser.chrome&&isSuspiciousChromeCaretResult(Kn,Jn,Xn))&&(Kn=void 0))}Kn&&(Jn=Math.min(maxOffset(Kn),Jn))}if(!Kn||!_n.docView.dom.contains(Kn)){let nr=LineView.find(_n.docView,Wn);if(!nr)return Hn>Zn.top+Zn.height/2?Zn.to:Zn.from;({node:Kn,offset:Jn}=domPosAtCoords(nr.dom,Xn,zn))}let tr=_n.docView.nearest(Kn);if(!tr)return null;if(tr.isWidget&&((Qn=tr.dom)===null||Qn===void 0?void 0:Qn.nodeType)==1){let nr=tr.dom.getBoundingClientRect();return ke.y_n.defaultLineHeight*1.5){let qn=_n.viewState.heightOracle.textHeight,Zn=Math.floor((Mn-Ce.top-(_n.defaultLineHeight-qn)*.5)/qn);Qn+=Zn*_n.viewState.heightOracle.lineLength}let Vn=_n.state.sliceDoc(Ce.from,Ce.to);return Ce.from+findColumn(Vn,Qn,_n.state.tabSize)}function isSuspiciousSafariCaretResult(_n,ke,Ce){let $n;if(_n.nodeType!=3||ke!=($n=_n.nodeValue.length))return!1;for(let Mn=_n.nextSibling;Mn;Mn=Mn.nextSibling)if(Mn.nodeType!=1||Mn.nodeName!="BR")return!1;return textRange(_n,$n-1,$n).getBoundingClientRect().left>Ce}function isSuspiciousChromeCaretResult(_n,ke,Ce){if(ke!=0)return!1;for(let Mn=_n;;){let Qn=Mn.parentNode;if(!Qn||Qn.nodeType!=1||Qn.firstChild!=Mn)return!1;if(Qn.classList.contains("cm-line"))break;Mn=Qn}let $n=_n.nodeType==1?_n.getBoundingClientRect():textRange(_n,0,Math.max(_n.nodeValue.length,1)).getBoundingClientRect();return Ce-$n.left>5}function blockAt(_n,ke){let Ce=_n.lineBlockAt(ke);if(Array.isArray(Ce.type)){for(let $n of Ce.type)if($n.to>ke||$n.to==ke&&($n.to==Ce.to||$n.type==BlockType.Text))return $n}return Ce}function moveToLineBoundary(_n,ke,Ce,$n){let Mn=blockAt(_n,ke.head),Qn=!$n||Mn.type!=BlockType.Text||!(_n.lineWrapping||Mn.widgetLineBreaks)?null:_n.coordsAtPos(ke.assoc<0&&ke.head>Mn.from?ke.head-1:ke.head);if(Qn){let Vn=_n.dom.getBoundingClientRect(),qn=_n.textDirectionAt(Mn.from),Zn=_n.posAtCoords({x:Ce==(qn==Direction.LTR)?Vn.right-1:Vn.left+1,y:(Qn.top+Qn.bottom)/2});if(Zn!=null)return EditorSelection.cursor(Zn,Ce?-1:1)}return EditorSelection.cursor(Ce?Mn.to:Mn.from,Ce?-1:1)}function moveByChar(_n,ke,Ce,$n){let Mn=_n.state.doc.lineAt(ke.head),Qn=_n.bidiSpans(Mn),Vn=_n.textDirectionAt(Mn.from);for(let qn=ke,Zn=null;;){let jn=moveVisually(Mn,Qn,Vn,qn,Ce),Xn=movedOver;if(!jn){if(Mn.number==(Ce?_n.state.doc.lines:1))return qn;Xn=` `,Mn=_n.state.doc.line(Mn.number+(Ce?1:-1)),Qn=_n.bidiSpans(Mn),jn=_n.visualLineSide(Mn,!Ce)}if(Zn){if(!Zn(Xn))return qn}else{if(!$n)return jn;Zn=$n(Xn)}qn=jn}}function byGroup(_n,ke,Ce){let $n=_n.state.charCategorizer(ke),Mn=$n(Ce);return Qn=>{let Vn=$n(Qn);return Mn==CharCategory.Space&&(Mn=Vn),Mn==Vn}}function moveVertically(_n,ke,Ce,$n){let Mn=ke.head,Qn=Ce?1:-1;if(Mn==(Ce?_n.state.doc.length:0))return EditorSelection.cursor(Mn,ke.assoc);let Vn=ke.goalColumn,qn,Zn=_n.contentDOM.getBoundingClientRect(),jn=_n.coordsAtPos(Mn,ke.assoc||-1),Xn=_n.documentTop;if(jn)Vn==null&&(Vn=jn.left-Zn.left),qn=Qn<0?jn.top:jn.bottom;else{let Wn=_n.viewState.lineBlockAt(Mn);Vn==null&&(Vn=Math.min(Zn.right-Zn.left,_n.defaultCharacterWidth*(Mn-Wn.from))),qn=(Qn<0?Wn.top:Wn.bottom)+Xn}let zn=Zn.left+Vn,Hn=$n??_n.viewState.heightOracle.textHeight>>1;for(let Wn=0;;Wn+=10){let Yn=qn+(Hn+Wn)*Qn,Un=posAtCoords(_n,{x:zn,y:Yn},!1,Qn);if(YnZn.bottom||(Qn<0?UnMn)){let Gn=_n.docView.coordsForChar(Un),Kn=!Gn||Yn{if(ke>Qn&&keMn(_n)),Ce.from,ke.head>Ce.from?-1:1);return $n==Ce.from?Ce:EditorSelection.cursor($n,$nQn)&&this.lineBreak(),Mn=Vn}return this.findPointBefore($n,Ce),this}readTextNode(ke){let Ce=ke.nodeValue;for(let $n of this.points)$n.node==ke&&($n.pos=this.text.length+Math.min($n.offset,Ce.length));for(let $n=0,Mn=this.lineSeparator?null:/\r\n?|\n/g;;){let Qn=-1,Vn=1,qn;if(this.lineSeparator?(Qn=Ce.indexOf(this.lineSeparator,$n),Vn=this.lineSeparator.length):(qn=Mn.exec(Ce))&&(Qn=qn.index,Vn=qn[0].length),this.append(Ce.slice($n,Qn<0?Ce.length:Qn)),Qn<0)break;if(this.lineBreak(),Vn>1)for(let Zn of this.points)Zn.node==ke&&Zn.pos>this.text.length&&(Zn.pos-=Vn-1);$n=Qn+Vn}}readNode(ke){if(ke.cmIgnore)return;let Ce=ContentView.get(ke),$n=Ce&&Ce.overrideDOMText;if($n!=null){this.findPointInside(ke,$n.length);for(let Mn=$n.iter();!Mn.next().done;)Mn.lineBreak?this.lineBreak():this.append(Mn.value)}else ke.nodeType==3?this.readTextNode(ke):ke.nodeName=="BR"?ke.nextSibling&&this.lineBreak():ke.nodeType==1&&this.readRange(ke.firstChild,null)}findPointBefore(ke,Ce){for(let $n of this.points)$n.node==ke&&ke.childNodes[$n.offset]==Ce&&($n.pos=this.text.length)}findPointInside(ke,Ce){for(let $n of this.points)(ke.nodeType==3?$n.node==ke:ke.contains($n.node))&&($n.pos=this.text.length+(isAtEnd(ke,$n.node,$n.offset)?Ce:0))}}function isAtEnd(_n,ke,Ce){for(;;){if(!ke||Ce-1;let{impreciseHead:Qn,impreciseAnchor:Vn}=ke.docView;if(ke.state.readOnly&&Ce>-1)this.newSel=null;else if(Ce>-1&&(this.bounds=ke.docView.domBoundsAround(Ce,$n,0))){let qn=Qn||Vn?[]:selectionPoints(ke),Zn=new DOMReader(qn,ke.state);Zn.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=Zn.text,this.newSel=selectionFromPoints(qn,this.bounds.from)}else{let qn=ke.observer.selectionRange,Zn=Qn&&Qn.node==qn.focusNode&&Qn.offset==qn.focusOffset||!contains(ke.contentDOM,qn.focusNode)?ke.state.selection.main.head:ke.docView.posFromDOM(qn.focusNode,qn.focusOffset),jn=Vn&&Vn.node==qn.anchorNode&&Vn.offset==qn.anchorOffset||!contains(ke.contentDOM,qn.anchorNode)?ke.state.selection.main.anchor:ke.docView.posFromDOM(qn.anchorNode,qn.anchorOffset),Xn=ke.viewport;if((browser.ios||browser.chrome)&&ke.state.selection.main.empty&&Zn!=jn&&(Xn.from>0||Xn.toDate.now()-100?_n.inputState.lastKeyCode:-1;if(ke.bounds){let{from:Vn,to:qn}=ke.bounds,Zn=Mn.from,jn=null;(Qn===8||browser.android&&ke.text.length=Mn.from&&Ce.to<=Mn.to&&(Ce.from!=Mn.from||Ce.to!=Mn.to)&&Mn.to-Mn.from-(Ce.to-Ce.from)<=4?Ce={from:Mn.from,to:Mn.to,insert:_n.state.doc.slice(Mn.from,Ce.from).append(Ce.insert).append(_n.state.doc.slice(Ce.to,Mn.to))}:(browser.mac||browser.android)&&Ce&&Ce.from==Ce.to&&Ce.from==Mn.head-1&&/^\. ?$/.test(Ce.insert.toString())&&_n.contentDOM.getAttribute("autocorrect")=="off"?($n&&Ce.insert.length==2&&($n=EditorSelection.single($n.main.anchor-1,$n.main.head-1)),Ce={from:Mn.from,to:Mn.to,insert:Text.of([" "])}):browser.chrome&&Ce&&Ce.from==Ce.to&&Ce.from==Mn.head&&Ce.insert.toString()==` `&&_n.lineWrapping&&($n&&($n=EditorSelection.single($n.main.anchor-1,$n.main.head-1)),Ce={from:Mn.from,to:Mn.to,insert:Text.of([" "])}),Ce)return applyDOMChangeInner(_n,Ce,$n,Qn);if($n&&!$n.main.eq(Mn)){let Vn=!1,qn="select";return _n.inputState.lastSelectionTime>Date.now()-50&&(_n.inputState.lastSelectionOrigin=="select"&&(Vn=!0),qn=_n.inputState.lastSelectionOrigin),_n.dispatch({selection:$n,scrollIntoView:Vn,userEvent:qn}),!0}else return!1}function applyDOMChangeInner(_n,ke,Ce,$n=-1){if(browser.ios&&_n.inputState.flushIOSKey(ke))return!0;let Mn=_n.state.selection.main;if(browser.android&&(ke.to==Mn.to&&(ke.from==Mn.from||ke.from==Mn.from-1&&_n.state.sliceDoc(ke.from,Mn.from)==" ")&&ke.insert.length==1&&ke.insert.lines==2&&dispatchKey(_n.contentDOM,"Enter",13)||(ke.from==Mn.from-1&&ke.to==Mn.to&&ke.insert.length==0||$n==8&&ke.insert.lengthMn.head)&&dispatchKey(_n.contentDOM,"Backspace",8)||ke.from==Mn.from&&ke.to==Mn.to+1&&ke.insert.length==0&&dispatchKey(_n.contentDOM,"Delete",46)))return!0;let Qn=ke.insert.toString();_n.inputState.composing>=0&&_n.inputState.composing++;let Vn,qn=()=>Vn||(Vn=applyDefaultInsert(_n,ke,Ce));return _n.state.facet(inputHandler$1).some(Zn=>Zn(_n,ke.from,ke.to,Qn,qn))||_n.dispatch(qn()),!0}function applyDefaultInsert(_n,ke,Ce){let $n,Mn=_n.state,Qn=Mn.selection.main;if(ke.from>=Qn.from&&ke.to<=Qn.to&&ke.to-ke.from>=(Qn.to-Qn.from)/3&&(!Ce||Ce.main.empty&&Ce.main.from==ke.from+ke.insert.length)&&_n.inputState.composing<0){let qn=Qn.fromke.to?Mn.sliceDoc(ke.to,Qn.to):"";$n=Mn.replaceSelection(_n.state.toText(qn+ke.insert.sliceString(0,void 0,_n.state.lineBreak)+Zn))}else{let qn=Mn.changes(ke),Zn=Ce&&Ce.main.to<=qn.newLength?Ce.main:void 0;if(Mn.selection.ranges.length>1&&_n.inputState.composing>=0&&ke.to<=Qn.to&&ke.to>=Qn.to-10){let jn=_n.state.sliceDoc(ke.from,ke.to),Xn,zn=Ce&&findCompositionNode(_n,Ce.main.head);if(zn){let Yn=ke.insert.length-(ke.to-ke.from);Xn={from:zn.from,to:zn.to-Yn}}else Xn=_n.state.doc.lineAt(Qn.head);let Hn=Qn.to-ke.to,Wn=Qn.to-Qn.from;$n=Mn.changeByRange(Yn=>{if(Yn.from==Qn.from&&Yn.to==Qn.to)return{changes:qn,range:Zn||Yn.map(qn)};let Un=Yn.to-Hn,Gn=Un-jn.length;if(Yn.to-Yn.from!=Wn||_n.state.sliceDoc(Gn,Un)!=jn||Yn.to>=Xn.from&&Yn.from<=Xn.to)return{range:Yn};let Kn=Mn.changes({from:Gn,to:Un,insert:ke.insert}),Jn=Yn.to-Qn.to;return{changes:Kn,range:Zn?EditorSelection.range(Math.max(0,Zn.anchor+Jn),Math.max(0,Zn.head+Jn)):Yn.map(Kn)}})}else $n={changes:qn,selection:Zn&&Mn.selection.replaceRange(Zn)}}let Vn="input.type";return(_n.composing||_n.inputState.compositionPendingChange&&_n.inputState.compositionEndedAt>Date.now()-50)&&(_n.inputState.compositionPendingChange=!1,Vn+=".compose",_n.inputState.compositionFirstChange&&(Vn+=".start",_n.inputState.compositionFirstChange=!1)),Mn.update($n,{userEvent:Vn,scrollIntoView:!0})}function findDiff(_n,ke,Ce,$n){let Mn=Math.min(_n.length,ke.length),Qn=0;for(;Qn0&&qn>0&&_n.charCodeAt(Vn-1)==ke.charCodeAt(qn-1);)Vn--,qn--;if($n=="end"){let Zn=Math.max(0,Qn-Math.min(Vn,qn));Ce-=Vn+Zn-Qn}if(Vn=Vn?Qn-Ce:0;Qn-=Zn,qn=Qn+(qn-Vn),Vn=Qn}else if(qn=qn?Qn-Ce:0;Qn-=Zn,Vn=Qn+(Vn-qn),qn=Qn}return{from:Qn,toA:Vn,toB:qn}}function selectionPoints(_n){let ke=[];if(_n.root.activeElement!=_n.contentDOM)return ke;let{anchorNode:Ce,anchorOffset:$n,focusNode:Mn,focusOffset:Qn}=_n.observer.selectionRange;return Ce&&(ke.push(new DOMPoint(Ce,$n)),(Mn!=Ce||Qn!=$n)&&ke.push(new DOMPoint(Mn,Qn))),ke}function selectionFromPoints(_n,ke){if(_n.length==0)return null;let Ce=_n[0].pos,$n=_n.length==2?_n[1].pos:Ce;return Ce>-1&&$n>-1?EditorSelection.single(Ce+ke,$n+ke):null}class InputState{setSelectionOrigin(ke){this.lastSelectionOrigin=ke,this.lastSelectionTime=Date.now()}constructor(ke){this.view=ke,this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.pendingIOSKey=void 0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=ke.hasFocus,browser.safari&&ke.contentDOM.addEventListener("input",()=>null),browser.gecko&&firefoxCopyCutHack(ke.contentDOM.ownerDocument)}handleEvent(ke){!eventBelongsToEditor(this.view,ke)||this.ignoreDuringComposition(ke)||ke.type=="keydown"&&this.keydown(ke)||this.runHandlers(ke.type,ke)}runHandlers(ke,Ce){let $n=this.handlers[ke];if($n){for(let Mn of $n.observers)Mn(this.view,Ce);for(let Mn of $n.handlers){if(Ce.defaultPrevented)break;if(Mn(this.view,Ce)){Ce.preventDefault();break}}}}ensureHandlers(ke){let Ce=computeHandlers(ke),$n=this.handlers,Mn=this.view.contentDOM;for(let Qn in Ce)if(Qn!="scroll"){let Vn=!Ce[Qn].handlers.length,qn=$n[Qn];qn&&Vn!=!qn.handlers.length&&(Mn.removeEventListener(Qn,this.handleEvent),qn=null),qn||Mn.addEventListener(Qn,this.handleEvent,{passive:Vn})}for(let Qn in $n)Qn!="scroll"&&!Ce[Qn]&&Mn.removeEventListener(Qn,this.handleEvent);this.handlers=Ce}keydown(ke){if(this.lastKeyCode=ke.keyCode,this.lastKeyTime=Date.now(),ke.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&ke.keyCode!=27&&modifierCodes.indexOf(ke.keyCode)<0&&(this.tabFocusMode=-1),browser.android&&browser.chrome&&!ke.synthetic&&(ke.keyCode==13||ke.keyCode==8))return this.view.observer.delayAndroidKey(ke.key,ke.keyCode),!0;let Ce;return browser.ios&&!ke.synthetic&&!ke.altKey&&!ke.metaKey&&((Ce=PendingKeys.find($n=>$n.keyCode==ke.keyCode))&&!ke.ctrlKey||EmacsyPendingKeys.indexOf(ke.key)>-1&&ke.ctrlKey&&!ke.shiftKey)?(this.pendingIOSKey=Ce||ke,setTimeout(()=>this.flushIOSKey(),250),!0):(ke.keyCode!=229&&this.view.observer.forceFlush(),!1)}flushIOSKey(ke){let Ce=this.pendingIOSKey;return!Ce||Ce.key=="Enter"&&ke&&ke.from0?!0:browser.safari&&!browser.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1:!1}startMouseSelection(ke){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=ke}update(ke){this.view.observer.update(ke),this.mouseSelection&&this.mouseSelection.update(ke),this.draggedContent&&ke.docChanged&&(this.draggedContent=this.draggedContent.map(ke.changes)),ke.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}}function bindHandler(_n,ke){return(Ce,$n)=>{try{return ke.call(_n,$n,Ce)}catch(Mn){logException(Ce.state,Mn)}}}function computeHandlers(_n){let ke=Object.create(null);function Ce($n){return ke[$n]||(ke[$n]={observers:[],handlers:[]})}for(let $n of _n){let Mn=$n.spec;if(Mn&&Mn.domEventHandlers)for(let Qn in Mn.domEventHandlers){let Vn=Mn.domEventHandlers[Qn];Vn&&Ce(Qn).handlers.push(bindHandler($n.value,Vn))}if(Mn&&Mn.domEventObservers)for(let Qn in Mn.domEventObservers){let Vn=Mn.domEventObservers[Qn];Vn&&Ce(Qn).observers.push(bindHandler($n.value,Vn))}}for(let $n in handlers)Ce($n).handlers.push(handlers[$n]);for(let $n in observers)Ce($n).observers.push(observers[$n]);return ke}const PendingKeys=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],EmacsyPendingKeys="dthko",modifierCodes=[16,17,18,20,91,92,224,225],dragScrollMargin=6;function dragScrollSpeed(_n){return Math.max(0,_n)*.7+8}function dist(_n,ke){return Math.max(Math.abs(_n.clientX-ke.clientX),Math.abs(_n.clientY-ke.clientY))}class MouseSelection{constructor(ke,Ce,$n,Mn){this.view=ke,this.startEvent=Ce,this.style=$n,this.mustSelect=Mn,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=Ce,this.scrollParents=scrollableParents(ke.contentDOM),this.atoms=ke.state.facet(atomicRanges).map(Vn=>Vn(ke));let Qn=ke.contentDOM.ownerDocument;Qn.addEventListener("mousemove",this.move=this.move.bind(this)),Qn.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=Ce.shiftKey,this.multiple=ke.state.facet(EditorState.allowMultipleSelections)&&addsSelectionRange(ke,Ce),this.dragging=isInPrimarySelection(ke,Ce)&&getClickType(Ce)==1?null:!1}start(ke){this.dragging===!1&&this.select(ke)}move(ke){if(ke.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&dist(this.startEvent,ke)<10)return;this.select(this.lastEvent=ke);let Ce=0,$n=0,Mn=0,Qn=0,Vn=this.view.win.innerWidth,qn=this.view.win.innerHeight;this.scrollParents.x&&({left:Mn,right:Vn}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:Qn,bottom:qn}=this.scrollParents.y.getBoundingClientRect());let Zn=getScrollMargins(this.view);ke.clientX-Zn.left<=Mn+dragScrollMargin?Ce=-dragScrollSpeed(Mn-ke.clientX):ke.clientX+Zn.right>=Vn-dragScrollMargin&&(Ce=dragScrollSpeed(ke.clientX-Vn)),ke.clientY-Zn.top<=Qn+dragScrollMargin?$n=-dragScrollSpeed(Qn-ke.clientY):ke.clientY+Zn.bottom>=qn-dragScrollMargin&&($n=dragScrollSpeed(ke.clientY-qn)),this.setScrollSpeed(Ce,$n)}up(ke){this.dragging==null&&this.select(this.lastEvent),this.dragging||ke.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let ke=this.view.contentDOM.ownerDocument;ke.removeEventListener("mousemove",this.move),ke.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(ke,Ce){this.scrollSpeed={x:ke,y:Ce},ke||Ce?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:ke,y:Ce}=this.scrollSpeed;ke&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=ke,ke=0),Ce&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=Ce,Ce=0),(ke||Ce)&&this.view.win.scrollBy(ke,Ce),this.dragging===!1&&this.select(this.lastEvent)}skipAtoms(ke){let Ce=null;for(let $n=0;$nCe.isUserEvent("input.type"))?this.destroy():this.style.update(ke)&&setTimeout(()=>this.select(this.lastEvent),20)}}function addsSelectionRange(_n,ke){let Ce=_n.state.facet(clickAddsSelectionRange);return Ce.length?Ce[0](ke):browser.mac?ke.metaKey:ke.ctrlKey}function dragMovesSelection(_n,ke){let Ce=_n.state.facet(dragMovesSelection$1);return Ce.length?Ce[0](ke):browser.mac?!ke.altKey:!ke.ctrlKey}function isInPrimarySelection(_n,ke){let{main:Ce}=_n.state.selection;if(Ce.empty)return!1;let $n=getSelection(_n.root);if(!$n||$n.rangeCount==0)return!0;let Mn=$n.getRangeAt(0).getClientRects();for(let Qn=0;Qn=ke.clientX&&Vn.top<=ke.clientY&&Vn.bottom>=ke.clientY)return!0}return!1}function eventBelongsToEditor(_n,ke){if(!ke.bubbles)return!0;if(ke.defaultPrevented)return!1;for(let Ce=ke.target,$n;Ce!=_n.contentDOM;Ce=Ce.parentNode)if(!Ce||Ce.nodeType==11||($n=ContentView.get(Ce))&&$n.ignoreEvent(ke))return!1;return!0}const handlers=Object.create(null),observers=Object.create(null),brokenClipboardAPI=browser.ie&&browser.ie_version<15||browser.ios&&browser.webkit_version<604;function capturePaste(_n){let ke=_n.dom.parentNode;if(!ke)return;let Ce=ke.appendChild(document.createElement("textarea"));Ce.style.cssText="position: fixed; left: -10000px; top: 10px",Ce.focus(),setTimeout(()=>{_n.focus(),Ce.remove(),doPaste(_n,Ce.value)},50)}function textFilter(_n,ke,Ce){for(let $n of _n.facet(ke))Ce=$n(Ce,_n);return Ce}function doPaste(_n,ke){ke=textFilter(_n.state,clipboardInputFilter,ke);let{state:Ce}=_n,$n,Mn=1,Qn=Ce.toText(ke),Vn=Qn.lines==Ce.selection.ranges.length;if(lastLinewiseCopy!=null&&Ce.selection.ranges.every(Zn=>Zn.empty)&&lastLinewiseCopy==Qn.toString()){let Zn=-1;$n=Ce.changeByRange(jn=>{let Xn=Ce.doc.lineAt(jn.from);if(Xn.from==Zn)return{range:jn};Zn=Xn.from;let zn=Ce.toText((Vn?Qn.line(Mn++).text:ke)+Ce.lineBreak);return{changes:{from:Xn.from,insert:zn},range:EditorSelection.cursor(jn.from+zn.length)}})}else Vn?$n=Ce.changeByRange(Zn=>{let jn=Qn.line(Mn++);return{changes:{from:Zn.from,to:Zn.to,insert:jn.text},range:EditorSelection.cursor(Zn.from+jn.length)}}):$n=Ce.replaceSelection(Qn);_n.dispatch($n,{userEvent:"input.paste",scrollIntoView:!0})}observers.scroll=_n=>{_n.inputState.lastScrollTop=_n.scrollDOM.scrollTop,_n.inputState.lastScrollLeft=_n.scrollDOM.scrollLeft};handlers.keydown=(_n,ke)=>(_n.inputState.setSelectionOrigin("select"),ke.keyCode==27&&_n.inputState.tabFocusMode!=0&&(_n.inputState.tabFocusMode=Date.now()+2e3),!1);observers.touchstart=(_n,ke)=>{_n.inputState.lastTouchTime=Date.now(),_n.inputState.setSelectionOrigin("select.pointer")};observers.touchmove=_n=>{_n.inputState.setSelectionOrigin("select.pointer")};handlers.mousedown=(_n,ke)=>{if(_n.observer.flush(),_n.inputState.lastTouchTime>Date.now()-2e3)return!1;let Ce=null;for(let $n of _n.state.facet(mouseSelectionStyle))if(Ce=$n(_n,ke),Ce)break;if(!Ce&&ke.button==0&&(Ce=basicMouseSelection(_n,ke)),Ce){let $n=!_n.hasFocus;_n.inputState.startMouseSelection(new MouseSelection(_n,ke,Ce,$n)),$n&&_n.observer.ignore(()=>{focusPreventScroll(_n.contentDOM);let Qn=_n.root.activeElement;Qn&&!Qn.contains(_n.contentDOM)&&Qn.blur()});let Mn=_n.inputState.mouseSelection;if(Mn)return Mn.start(ke),Mn.dragging===!1}return!1};function rangeForClick(_n,ke,Ce,$n){if($n==1)return EditorSelection.cursor(ke,Ce);if($n==2)return groupAt(_n.state,ke,Ce);{let Mn=LineView.find(_n.docView,ke),Qn=_n.state.doc.lineAt(Mn?Mn.posAtEnd:ke),Vn=Mn?Mn.posAtStart:Qn.from,qn=Mn?Mn.posAtEnd:Qn.to;return qn<_n.state.doc.length&&qn==Qn.to&&qn++,EditorSelection.range(Vn,qn)}}let inside=(_n,ke,Ce)=>ke>=Ce.top&&ke<=Ce.bottom&&_n>=Ce.left&&_n<=Ce.right;function findPositionSide(_n,ke,Ce,$n){let Mn=LineView.find(_n.docView,ke);if(!Mn)return 1;let Qn=ke-Mn.posAtStart;if(Qn==0)return 1;if(Qn==Mn.length)return-1;let Vn=Mn.coordsAt(Qn,-1);if(Vn&&inside(Ce,$n,Vn))return-1;let qn=Mn.coordsAt(Qn,1);return qn&&inside(Ce,$n,qn)?1:Vn&&Vn.bottom>=$n?-1:1}function queryPos(_n,ke){let Ce=_n.posAtCoords({x:ke.clientX,y:ke.clientY},!1);return{pos:Ce,bias:findPositionSide(_n,Ce,ke.clientX,ke.clientY)}}const BadMouseDetail=browser.ie&&browser.ie_version<=11;let lastMouseDown=null,lastMouseDownCount=0,lastMouseDownTime=0;function getClickType(_n){if(!BadMouseDetail)return _n.detail;let ke=lastMouseDown,Ce=lastMouseDownTime;return lastMouseDown=_n,lastMouseDownTime=Date.now(),lastMouseDownCount=!ke||Ce>Date.now()-400&&Math.abs(ke.clientX-_n.clientX)<2&&Math.abs(ke.clientY-_n.clientY)<2?(lastMouseDownCount+1)%3:1}function basicMouseSelection(_n,ke){let Ce=queryPos(_n,ke),$n=getClickType(ke),Mn=_n.state.selection;return{update(Qn){Qn.docChanged&&(Ce.pos=Qn.changes.mapPos(Ce.pos),Mn=Mn.map(Qn.changes))},get(Qn,Vn,qn){let Zn=queryPos(_n,Qn),jn,Xn=rangeForClick(_n,Zn.pos,Zn.bias,$n);if(Ce.pos!=Zn.pos&&!Vn){let zn=rangeForClick(_n,Ce.pos,Ce.bias,$n),Hn=Math.min(zn.from,Xn.from),Wn=Math.max(zn.to,Xn.to);Xn=Hn1&&(jn=removeRangeAround(Mn,Zn.pos))?jn:qn?Mn.addRange(Xn):EditorSelection.create([Xn])}}}function removeRangeAround(_n,ke){for(let Ce=0;Ce<_n.ranges.length;Ce++){let{from:$n,to:Mn}=_n.ranges[Ce];if($n<=ke&&Mn>=ke)return EditorSelection.create(_n.ranges.slice(0,Ce).concat(_n.ranges.slice(Ce+1)),_n.mainIndex==Ce?0:_n.mainIndex-(_n.mainIndex>Ce?1:0))}return null}handlers.dragstart=(_n,ke)=>{let{selection:{main:Ce}}=_n.state;if(ke.target.draggable){let Mn=_n.docView.nearest(ke.target);if(Mn&&Mn.isWidget){let Qn=Mn.posAtStart,Vn=Qn+Mn.length;(Qn>=Ce.to||Vn<=Ce.from)&&(Ce=EditorSelection.range(Qn,Vn))}}let{inputState:$n}=_n;return $n.mouseSelection&&($n.mouseSelection.dragging=!0),$n.draggedContent=Ce,ke.dataTransfer&&(ke.dataTransfer.setData("Text",textFilter(_n.state,clipboardOutputFilter,_n.state.sliceDoc(Ce.from,Ce.to))),ke.dataTransfer.effectAllowed="copyMove"),!1};handlers.dragend=_n=>(_n.inputState.draggedContent=null,!1);function dropText(_n,ke,Ce,$n){if(Ce=textFilter(_n.state,clipboardInputFilter,Ce),!Ce)return;let Mn=_n.posAtCoords({x:ke.clientX,y:ke.clientY},!1),{draggedContent:Qn}=_n.inputState,Vn=$n&&Qn&&dragMovesSelection(_n,ke)?{from:Qn.from,to:Qn.to}:null,qn={from:Mn,insert:Ce},Zn=_n.state.changes(Vn?[Vn,qn]:qn);_n.focus(),_n.dispatch({changes:Zn,selection:{anchor:Zn.mapPos(Mn,-1),head:Zn.mapPos(Mn,1)},userEvent:Vn?"move.drop":"input.drop"}),_n.inputState.draggedContent=null}handlers.drop=(_n,ke)=>{if(!ke.dataTransfer)return!1;if(_n.state.readOnly)return!0;let Ce=ke.dataTransfer.files;if(Ce&&Ce.length){let $n=Array(Ce.length),Mn=0,Qn=()=>{++Mn==Ce.length&&dropText(_n,ke,$n.filter(Vn=>Vn!=null).join(_n.state.lineBreak),!1)};for(let Vn=0;Vn{/[\x00-\x08\x0e-\x1f]{2}/.test(qn.result)||($n[Vn]=qn.result),Qn()},qn.readAsText(Ce[Vn])}return!0}else{let $n=ke.dataTransfer.getData("Text");if($n)return dropText(_n,ke,$n,!0),!0}return!1};handlers.paste=(_n,ke)=>{if(_n.state.readOnly)return!0;_n.observer.flush();let Ce=brokenClipboardAPI?null:ke.clipboardData;return Ce?(doPaste(_n,Ce.getData("text/plain")||Ce.getData("text/uri-list")),!0):(capturePaste(_n),!1)};function captureCopy(_n,ke){let Ce=_n.dom.parentNode;if(!Ce)return;let $n=Ce.appendChild(document.createElement("textarea"));$n.style.cssText="position: fixed; left: -10000px; top: 10px",$n.value=ke,$n.focus(),$n.selectionEnd=ke.length,$n.selectionStart=0,setTimeout(()=>{$n.remove(),_n.focus()},50)}function copiedRange(_n){let ke=[],Ce=[],$n=!1;for(let Mn of _n.selection.ranges)Mn.empty||(ke.push(_n.sliceDoc(Mn.from,Mn.to)),Ce.push(Mn));if(!ke.length){let Mn=-1;for(let{from:Qn}of _n.selection.ranges){let Vn=_n.doc.lineAt(Qn);Vn.number>Mn&&(ke.push(Vn.text),Ce.push({from:Vn.from,to:Math.min(_n.doc.length,Vn.to+1)})),Mn=Vn.number}$n=!0}return{text:textFilter(_n,clipboardOutputFilter,ke.join(_n.lineBreak)),ranges:Ce,linewise:$n}}let lastLinewiseCopy=null;handlers.copy=handlers.cut=(_n,ke)=>{let{text:Ce,ranges:$n,linewise:Mn}=copiedRange(_n.state);if(!Ce&&!Mn)return!1;lastLinewiseCopy=Mn?Ce:null,ke.type=="cut"&&!_n.state.readOnly&&_n.dispatch({changes:$n,scrollIntoView:!0,userEvent:"delete.cut"});let Qn=brokenClipboardAPI?null:ke.clipboardData;return Qn?(Qn.clearData(),Qn.setData("text/plain",Ce),!0):(captureCopy(_n,Ce),!1)};const isFocusChange=Annotation.define();function focusChangeTransaction(_n,ke){let Ce=[];for(let $n of _n.facet(focusChangeEffect)){let Mn=$n(_n,ke);Mn&&Ce.push(Mn)}return Ce?_n.update({effects:Ce,annotations:isFocusChange.of(!0)}):null}function updateForFocusChange(_n){setTimeout(()=>{let ke=_n.hasFocus;if(ke!=_n.inputState.notifiedFocused){let Ce=focusChangeTransaction(_n.state,ke);Ce?_n.dispatch(Ce):_n.update([])}},10)}observers.focus=_n=>{_n.inputState.lastFocusTime=Date.now(),!_n.scrollDOM.scrollTop&&(_n.inputState.lastScrollTop||_n.inputState.lastScrollLeft)&&(_n.scrollDOM.scrollTop=_n.inputState.lastScrollTop,_n.scrollDOM.scrollLeft=_n.inputState.lastScrollLeft),updateForFocusChange(_n)};observers.blur=_n=>{_n.observer.clearSelectionRange(),updateForFocusChange(_n)};observers.compositionstart=observers.compositionupdate=_n=>{_n.observer.editContext||(_n.inputState.compositionFirstChange==null&&(_n.inputState.compositionFirstChange=!0),_n.inputState.composing<0&&(_n.inputState.composing=0))};observers.compositionend=_n=>{_n.observer.editContext||(_n.inputState.composing=-1,_n.inputState.compositionEndedAt=Date.now(),_n.inputState.compositionPendingKey=!0,_n.inputState.compositionPendingChange=_n.observer.pendingRecords().length>0,_n.inputState.compositionFirstChange=null,browser.chrome&&browser.android?_n.observer.flushSoon():_n.inputState.compositionPendingChange?Promise.resolve().then(()=>_n.observer.flush()):setTimeout(()=>{_n.inputState.composing<0&&_n.docView.hasComposition&&_n.update([])},50))};observers.contextmenu=_n=>{_n.inputState.lastContextMenu=Date.now()};handlers.beforeinput=(_n,ke)=>{var Ce,$n;if(ke.inputType=="insertReplacementText"&&_n.observer.editContext){let Qn=(Ce=ke.dataTransfer)===null||Ce===void 0?void 0:Ce.getData("text/plain"),Vn=ke.getTargetRanges();if(Qn&&Vn.length){let qn=Vn[0],Zn=_n.posAtDOM(qn.startContainer,qn.startOffset),jn=_n.posAtDOM(qn.endContainer,qn.endOffset);return applyDOMChangeInner(_n,{from:Zn,to:jn,insert:_n.state.toText(Qn)},null),!0}}let Mn;if(browser.chrome&&browser.android&&(Mn=PendingKeys.find(Qn=>Qn.inputType==ke.inputType))&&(_n.observer.delayAndroidKey(Mn.key,Mn.keyCode),Mn.key=="Backspace"||Mn.key=="Delete")){let Qn=(($n=window.visualViewport)===null||$n===void 0?void 0:$n.height)||0;setTimeout(()=>{var Vn;(((Vn=window.visualViewport)===null||Vn===void 0?void 0:Vn.height)||0)>Qn+10&&_n.hasFocus&&(_n.contentDOM.blur(),_n.focus())},100)}return browser.ios&&ke.inputType=="deleteContentForward"&&_n.observer.flushSoon(),browser.safari&&ke.inputType=="insertText"&&_n.inputState.composing>=0&&setTimeout(()=>observers.compositionend(_n,ke),20),!1};const appliedFirefoxHack=new Set;function firefoxCopyCutHack(_n){appliedFirefoxHack.has(_n)||(appliedFirefoxHack.add(_n),_n.addEventListener("copy",()=>{}),_n.addEventListener("cut",()=>{}))}const wrappingWhiteSpace=["pre-wrap","normal","pre-line","break-spaces"];let heightChangeFlag=!1;function clearHeightChangeFlag(){heightChangeFlag=!1}class HeightOracle{constructor(ke){this.lineWrapping=ke,this.doc=Text.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(ke,Ce){let $n=this.doc.lineAt(Ce).number-this.doc.lineAt(ke).number+1;return this.lineWrapping&&($n+=Math.max(0,Math.ceil((Ce-ke-$n*this.lineLength*.5)/this.lineLength))),this.lineHeight*$n}heightForLine(ke){return this.lineWrapping?(1+Math.max(0,Math.ceil((ke-this.lineLength)/(this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(ke){return this.doc=ke,this}mustRefreshForWrapping(ke){return wrappingWhiteSpace.indexOf(ke)>-1!=this.lineWrapping}mustRefreshForHeights(ke){let Ce=!1;for(let $n=0;$n-1,Zn=Math.round(Ce)!=Math.round(this.lineHeight)||this.lineWrapping!=qn;if(this.lineWrapping=qn,this.lineHeight=Ce,this.charWidth=$n,this.textHeight=Mn,this.lineLength=Qn,Zn){this.heightSamples={};for(let jn=0;jn0}set outdated(ke){this.flags=(ke?2:0)|this.flags&-3}setHeight(ke){this.height!=ke&&(Math.abs(this.height-ke)>Epsilon&&(heightChangeFlag=!0),this.height=ke)}replace(ke,Ce,$n){return HeightMap.of($n)}decomposeLeft(ke,Ce){Ce.push(this)}decomposeRight(ke,Ce){Ce.push(this)}applyChanges(ke,Ce,$n,Mn){let Qn=this,Vn=$n.doc;for(let qn=Mn.length-1;qn>=0;qn--){let{fromA:Zn,toA:jn,fromB:Xn,toB:zn}=Mn[qn],Hn=Qn.lineAt(Zn,QueryType$1.ByPosNoHeight,$n.setDoc(Ce),0,0),Wn=Hn.to>=jn?Hn:Qn.lineAt(jn,QueryType$1.ByPosNoHeight,$n,0,0);for(zn+=Wn.to-jn,jn=Wn.to;qn>0&&Hn.from<=Mn[qn-1].toA;)Zn=Mn[qn-1].fromA,Xn=Mn[qn-1].fromB,qn--,ZnQn*2){let qn=ke[Ce-1];qn.break?ke.splice(--Ce,1,qn.left,null,qn.right):ke.splice(--Ce,1,qn.left,qn.right),$n+=1+qn.break,Mn-=qn.size}else if(Qn>Mn*2){let qn=ke[$n];qn.break?ke.splice($n,1,qn.left,null,qn.right):ke.splice($n,1,qn.left,qn.right),$n+=2+qn.break,Qn-=qn.size}else break;else if(Mn=Qn&&Vn(this.blockAt(0,$n,Mn,Qn))}updateHeight(ke,Ce=0,$n=!1,Mn){return Mn&&Mn.from<=Ce&&Mn.more&&this.setHeight(Mn.heights[Mn.index++]),this.outdated=!1,this}toString(){return`block(${this.length})`}}class HeightMapText extends HeightMapBlock{constructor(ke,Ce){super(ke,Ce,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0}blockAt(ke,Ce,$n,Mn){return new BlockInfo(Mn,this.length,$n,this.height,this.breaks)}replace(ke,Ce,$n){let Mn=$n[0];return $n.length==1&&(Mn instanceof HeightMapText||Mn instanceof HeightMapGap&&Mn.flags&4)&&Math.abs(this.length-Mn.length)<10?(Mn instanceof HeightMapGap?Mn=new HeightMapText(Mn.length,this.height):Mn.height=this.height,this.outdated||(Mn.outdated=!1),Mn):HeightMap.of($n)}updateHeight(ke,Ce=0,$n=!1,Mn){return Mn&&Mn.from<=Ce&&Mn.more?this.setHeight(Mn.heights[Mn.index++]):($n||this.outdated)&&this.setHeight(Math.max(this.widgetHeight,ke.heightForLine(this.length-this.collapsed))+this.breaks*ke.lineHeight),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}}class HeightMapGap extends HeightMap{constructor(ke){super(ke,0)}heightMetrics(ke,Ce){let $n=ke.doc.lineAt(Ce).number,Mn=ke.doc.lineAt(Ce+this.length).number,Qn=Mn-$n+1,Vn,qn=0;if(ke.lineWrapping){let Zn=Math.min(this.height,ke.lineHeight*Qn);Vn=Zn/Qn,this.length>Qn+1&&(qn=(this.height-Zn)/(this.length-Qn-1))}else Vn=this.height/Qn;return{firstLine:$n,lastLine:Mn,perLine:Vn,perChar:qn}}blockAt(ke,Ce,$n,Mn){let{firstLine:Qn,lastLine:Vn,perLine:qn,perChar:Zn}=this.heightMetrics(Ce,Mn);if(Ce.lineWrapping){let jn=Mn+(ke0){let Qn=$n[$n.length-1];Qn instanceof HeightMapGap?$n[$n.length-1]=new HeightMapGap(Qn.length+Mn):$n.push(null,new HeightMapGap(Mn-1))}if(ke>0){let Qn=$n[0];Qn instanceof HeightMapGap?$n[0]=new HeightMapGap(ke+Qn.length):$n.unshift(new HeightMapGap(ke-1),null)}return HeightMap.of($n)}decomposeLeft(ke,Ce){Ce.push(new HeightMapGap(ke-1),null)}decomposeRight(ke,Ce){Ce.push(null,new HeightMapGap(this.length-ke-1))}updateHeight(ke,Ce=0,$n=!1,Mn){let Qn=Ce+this.length;if(Mn&&Mn.from<=Ce+this.length&&Mn.more){let Vn=[],qn=Math.max(Ce,Mn.from),Zn=-1;for(Mn.from>Ce&&Vn.push(new HeightMapGap(Mn.from-Ce-1).updateHeight(ke,Ce));qn<=Qn&&Mn.more;){let Xn=ke.doc.lineAt(qn).length;Vn.length&&Vn.push(null);let zn=Mn.heights[Mn.index++];Zn==-1?Zn=zn:Math.abs(zn-Zn)>=Epsilon&&(Zn=-2);let Hn=new HeightMapText(Xn,zn);Hn.outdated=!1,Vn.push(Hn),qn+=Xn+1}qn<=Qn&&Vn.push(null,new HeightMapGap(Qn-qn).updateHeight(ke,qn));let jn=HeightMap.of(Vn);return(Zn<0||Math.abs(jn.height-this.height)>=Epsilon||Math.abs(Zn-this.heightMetrics(ke,Ce).perLine)>=Epsilon)&&(heightChangeFlag=!0),replace(this,jn)}else($n||this.outdated)&&(this.setHeight(ke.heightForGap(Ce,Ce+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}}class HeightMapBranch extends HeightMap{constructor(ke,Ce,$n){super(ke.length+Ce+$n.length,ke.height+$n.height,Ce|(ke.outdated||$n.outdated?2:0)),this.left=ke,this.right=$n,this.size=ke.size+$n.size}get break(){return this.flags&1}blockAt(ke,Ce,$n,Mn){let Qn=$n+this.left.height;return keqn))return jn;let Xn=Ce==QueryType$1.ByPosNoHeight?QueryType$1.ByPosNoHeight:QueryType$1.ByPos;return Zn?jn.join(this.right.lineAt(qn,Xn,$n,Vn,qn)):this.left.lineAt(qn,Xn,$n,Mn,Qn).join(jn)}forEachLine(ke,Ce,$n,Mn,Qn,Vn){let qn=Mn+this.left.height,Zn=Qn+this.left.length+this.break;if(this.break)ke=Zn&&this.right.forEachLine(ke,Ce,$n,qn,Zn,Vn);else{let jn=this.lineAt(Zn,QueryType$1.ByPos,$n,Mn,Qn);ke=ke&&jn.from<=Ce&&Vn(jn),Ce>jn.to&&this.right.forEachLine(jn.to+1,Ce,$n,qn,Zn,Vn)}}replace(ke,Ce,$n){let Mn=this.left.length+this.break;if(Cethis.left.length)return this.balanced(this.left,this.right.replace(ke-Mn,Ce-Mn,$n));let Qn=[];ke>0&&this.decomposeLeft(ke,Qn);let Vn=Qn.length;for(let qn of $n)Qn.push(qn);if(ke>0&&mergeGaps(Qn,Vn-1),Ce=$n&&Ce.push(null)),ke>$n&&this.right.decomposeLeft(ke-$n,Ce)}decomposeRight(ke,Ce){let $n=this.left.length,Mn=$n+this.break;if(ke>=Mn)return this.right.decomposeRight(ke-Mn,Ce);ke<$n&&this.left.decomposeRight(ke,Ce),this.break&&ke2*Ce.size||Ce.size>2*ke.size?HeightMap.of(this.break?[ke,null,Ce]:[ke,Ce]):(this.left=replace(this.left,ke),this.right=replace(this.right,Ce),this.setHeight(ke.height+Ce.height),this.outdated=ke.outdated||Ce.outdated,this.size=ke.size+Ce.size,this.length=ke.length+this.break+Ce.length,this)}updateHeight(ke,Ce=0,$n=!1,Mn){let{left:Qn,right:Vn}=this,qn=Ce+Qn.length+this.break,Zn=null;return Mn&&Mn.from<=Ce+Qn.length&&Mn.more?Zn=Qn=Qn.updateHeight(ke,Ce,$n,Mn):Qn.updateHeight(ke,Ce,$n),Mn&&Mn.from<=qn+Vn.length&&Mn.more?Zn=Vn=Vn.updateHeight(ke,qn,$n,Mn):Vn.updateHeight(ke,qn,$n),Zn?this.balanced(Qn,Vn):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function mergeGaps(_n,ke){let Ce,$n;_n[ke]==null&&(Ce=_n[ke-1])instanceof HeightMapGap&&($n=_n[ke+1])instanceof HeightMapGap&&_n.splice(ke-1,3,new HeightMapGap(Ce.length+1+$n.length))}const relevantWidgetHeight=5;class NodeBuilder{constructor(ke,Ce){this.pos=ke,this.oracle=Ce,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=ke}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(ke,Ce){if(this.lineStart>-1){let $n=Math.min(Ce,this.lineEnd),Mn=this.nodes[this.nodes.length-1];Mn instanceof HeightMapText?Mn.length+=$n-this.pos:($n>this.pos||!this.isCovered)&&this.nodes.push(new HeightMapText($n-this.pos,-1)),this.writtenTo=$n,Ce>$n&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=Ce}point(ke,Ce,$n){if(ke=relevantWidgetHeight)&&this.addLineDeco(Mn,Qn,Vn)}else Ce>ke&&this.span(ke,Ce);this.lineEnd>-1&&this.lineEnd-1)return;let{from:ke,to:Ce}=this.oracle.doc.lineAt(this.pos);this.lineStart=ke,this.lineEnd=Ce,this.writtenToke&&this.nodes.push(new HeightMapText(this.pos-ke,-1)),this.writtenTo=this.pos}blankContent(ke,Ce){let $n=new HeightMapGap(Ce-ke);return this.oracle.doc.lineAt(ke).to==Ce&&($n.flags|=4),$n}ensureLine(){this.enterLine();let ke=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(ke instanceof HeightMapText)return ke;let Ce=new HeightMapText(0,-1);return this.nodes.push(Ce),Ce}addBlock(ke){this.enterLine();let Ce=ke.deco;Ce&&Ce.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(ke),this.writtenTo=this.pos=this.pos+ke.length,Ce&&Ce.endSide>0&&(this.covering=ke)}addLineDeco(ke,Ce,$n){let Mn=this.ensureLine();Mn.length+=$n,Mn.collapsed+=$n,Mn.widgetHeight=Math.max(Mn.widgetHeight,ke),Mn.breaks+=Ce,this.writtenTo=this.pos=this.pos+$n}finish(ke){let Ce=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(Ce instanceof HeightMapText)&&!this.isCovered?this.nodes.push(new HeightMapText(0,-1)):(this.writtenToXn.clientHeight||Xn.scrollWidth>Xn.clientWidth)&&zn.overflow!="visible"){let Hn=Xn.getBoundingClientRect();Qn=Math.max(Qn,Hn.left),Vn=Math.min(Vn,Hn.right),qn=Math.max(qn,Hn.top),Zn=Math.min(jn==_n.parentNode?Mn.innerHeight:Zn,Hn.bottom)}jn=zn.position=="absolute"||zn.position=="fixed"?Xn.offsetParent:Xn.parentNode}else if(jn.nodeType==11)jn=jn.host;else break;return{left:Qn-Ce.left,right:Math.max(Qn,Vn)-Ce.left,top:qn-(Ce.top+ke),bottom:Math.max(qn,Zn)-(Ce.top+ke)}}function fullPixelRange(_n,ke){let Ce=_n.getBoundingClientRect();return{left:0,right:Ce.right-Ce.left,top:ke,bottom:Ce.bottom-(Ce.top+ke)}}class LineGap{constructor(ke,Ce,$n,Mn){this.from=ke,this.to=Ce,this.size=$n,this.displaySize=Mn}static same(ke,Ce){if(ke.length!=Ce.length)return!1;for(let $n=0;$ntypeof $n!="function"&&$n.class=="cm-lineWrapping");this.heightOracle=new HeightOracle(Ce),this.stateDeco=ke.facet(decorations).filter($n=>typeof $n!="function"),this.heightMap=HeightMap.empty().applyChanges(this.stateDeco,Text.empty,this.heightOracle.setDoc(ke.doc),[new ChangedRange(0,0,0,ke.doc.length)]);for(let $n=0;$n<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());$n++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=Decoration.set(this.lineGaps.map($n=>$n.draw(this,!1))),this.computeVisibleRanges()}updateForViewport(){let ke=[this.viewport],{main:Ce}=this.state.selection;for(let $n=0;$n<=1;$n++){let Mn=$n?Ce.head:Ce.anchor;if(!ke.some(({from:Qn,to:Vn})=>Mn>=Qn&&Mn<=Vn)){let{from:Qn,to:Vn}=this.lineBlockAt(Mn);ke.push(new Viewport(Qn,Vn))}}return this.viewports=ke.sort(($n,Mn)=>$n.from-Mn.from),this.updateScaler()}updateScaler(){let ke=this.scaler;return this.scaler=this.heightMap.height<=7e6?IdScaler:new BigScaler(this.heightOracle,this.heightMap,this.viewports),ke.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,ke=>{this.viewportLines.push(scaleBlock(ke,this.scaler))})}update(ke,Ce=null){this.state=ke.state;let $n=this.stateDeco;this.stateDeco=this.state.facet(decorations).filter(Xn=>typeof Xn!="function");let Mn=ke.changedRanges,Qn=ChangedRange.extendWithRanges(Mn,heightRelevantDecoChanges($n,this.stateDeco,ke?ke.changes:ChangeSet.empty(this.state.doc.length))),Vn=this.heightMap.height,qn=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollTop);clearHeightChangeFlag(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,ke.startState.doc,this.heightOracle.setDoc(this.state.doc),Qn),(this.heightMap.height!=Vn||heightChangeFlag)&&(ke.flags|=2),qn?(this.scrollAnchorPos=ke.changes.mapPos(qn.from,-1),this.scrollAnchorHeight=qn.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=this.heightMap.height);let Zn=Qn.length?this.mapViewport(this.viewport,ke.changes):this.viewport;(Ce&&(Ce.range.headZn.to)||!this.viewportIsAppropriate(Zn))&&(Zn=this.getViewport(0,Ce));let jn=Zn.from!=this.viewport.from||Zn.to!=this.viewport.to;this.viewport=Zn,ke.flags|=this.updateForViewport(),(jn||!ke.changes.empty||ke.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,ke.changes))),ke.flags|=this.computeVisibleRanges(),Ce&&(this.scrollTarget=Ce),!this.mustEnforceCursorAssoc&&ke.selectionSet&&ke.view.lineWrapping&&ke.state.selection.main.empty&&ke.state.selection.main.assoc&&!ke.state.facet(nativeSelectionHidden)&&(this.mustEnforceCursorAssoc=!0)}measure(ke){let Ce=ke.contentDOM,$n=window.getComputedStyle(Ce),Mn=this.heightOracle,Qn=$n.whiteSpace;this.defaultTextDirection=$n.direction=="rtl"?Direction.RTL:Direction.LTR;let Vn=this.heightOracle.mustRefreshForWrapping(Qn),qn=Ce.getBoundingClientRect(),Zn=Vn||this.mustMeasureContent||this.contentDOMHeight!=qn.height;this.contentDOMHeight=qn.height,this.mustMeasureContent=!1;let jn=0,Xn=0;if(qn.width&&qn.height){let{scaleX:nr,scaleY:er}=getScale(Ce,qn);(nr>.005&&Math.abs(this.scaleX-nr)>.005||er>.005&&Math.abs(this.scaleY-er)>.005)&&(this.scaleX=nr,this.scaleY=er,jn|=8,Vn=Zn=!0)}let zn=(parseInt($n.paddingTop)||0)*this.scaleY,Hn=(parseInt($n.paddingBottom)||0)*this.scaleY;(this.paddingTop!=zn||this.paddingBottom!=Hn)&&(this.paddingTop=zn,this.paddingBottom=Hn,jn|=10),this.editorWidth!=ke.scrollDOM.clientWidth&&(Mn.lineWrapping&&(Zn=!0),this.editorWidth=ke.scrollDOM.clientWidth,jn|=8);let Wn=ke.scrollDOM.scrollTop*this.scaleY;this.scrollTop!=Wn&&(this.scrollAnchorHeight=-1,this.scrollTop=Wn),this.scrolledToBottom=isScrolledToBottom(ke.scrollDOM);let Yn=(this.printing?fullPixelRange:visiblePixelRange)(Ce,this.paddingTop),Un=Yn.top-this.pixelViewport.top,Gn=Yn.bottom-this.pixelViewport.bottom;this.pixelViewport=Yn;let Kn=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(Kn!=this.inView&&(this.inView=Kn,Kn&&(Zn=!0)),!this.inView&&!this.scrollTarget)return 0;let Jn=qn.width;if((this.contentDOMWidth!=Jn||this.editorHeight!=ke.scrollDOM.clientHeight)&&(this.contentDOMWidth=qn.width,this.editorHeight=ke.scrollDOM.clientHeight,jn|=8),Zn){let nr=ke.docView.measureVisibleLineHeights(this.viewport);if(Mn.mustRefreshForHeights(nr)&&(Vn=!0),Vn||Mn.lineWrapping&&Math.abs(Jn-this.contentDOMWidth)>Mn.charWidth){let{lineHeight:er,charWidth:rr,textHeight:or}=ke.docView.measureTextSize();Vn=er>0&&Mn.refresh(Qn,er,rr,or,Jn/rr,nr),Vn&&(ke.docView.minWidth=0,jn|=8)}Un>0&&Gn>0?Xn=Math.max(Un,Gn):Un<0&&Gn<0&&(Xn=Math.min(Un,Gn)),clearHeightChangeFlag();for(let er of this.viewports){let rr=er.from==this.viewport.from?nr:ke.docView.measureVisibleLineHeights(er);this.heightMap=(Vn?HeightMap.empty().applyChanges(this.stateDeco,Text.empty,this.heightOracle,[new ChangedRange(0,0,0,ke.state.doc.length)]):this.heightMap).updateHeight(Mn,0,Vn,new MeasuredHeights(er.from,rr))}heightChangeFlag&&(jn|=2)}let tr=!this.viewportIsAppropriate(this.viewport,Xn)||this.scrollTarget&&(this.scrollTarget.range.headthis.viewport.to);return tr&&(jn&2&&(jn|=this.updateScaler()),this.viewport=this.getViewport(Xn,this.scrollTarget),jn|=this.updateForViewport()),(jn&2||tr)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(Vn?[]:this.lineGaps,ke)),jn|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,ke.docView.enforceCursorAssoc()),jn}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(ke,Ce){let $n=.5-Math.max(-.5,Math.min(.5,ke/1e3/2)),Mn=this.heightMap,Qn=this.heightOracle,{visibleTop:Vn,visibleBottom:qn}=this,Zn=new Viewport(Mn.lineAt(Vn-$n*1e3,QueryType$1.ByHeight,Qn,0,0).from,Mn.lineAt(qn+(1-$n)*1e3,QueryType$1.ByHeight,Qn,0,0).to);if(Ce){let{head:jn}=Ce.range;if(jnZn.to){let Xn=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),zn=Mn.lineAt(jn,QueryType$1.ByPos,Qn,0,0),Hn;Ce.y=="center"?Hn=(zn.top+zn.bottom)/2-Xn/2:Ce.y=="start"||Ce.y=="nearest"&&jn=qn+Math.max(10,Math.min($n,250)))&&Mn>Vn-2*1e3&&Qn>1,Vn=Mn<<1;if(this.defaultTextDirection!=Direction.LTR&&!$n)return[];let qn=[],Zn=(Xn,zn,Hn,Wn)=>{if(zn-XnXn&&KnKn.from>=Hn.from&&Kn.to<=Hn.to&&Math.abs(Kn.from-Xn)Kn.fromJn));if(!Gn){if(zntr.from<=zn&&tr.to>=zn)){let tr=Ce.moveToLineBoundary(EditorSelection.cursor(zn),!1,!0).head;tr>Xn&&(zn=tr)}let Kn=this.gapSize(Hn,Xn,zn,Wn),Jn=$n||Kn<2e6?Kn:2e6;Gn=new LineGap(Xn,zn,Kn,Jn)}qn.push(Gn)},jn=Xn=>{if(Xn.length2e6)for(let rr of ke)rr.from>=Xn.from&&rr.fromXn.from&&Zn(Xn.from,Wn,Xn,zn),YnCe.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(){let ke=this.stateDeco;this.lineGaps.length&&(ke=ke.concat(this.lineGapDeco));let Ce=[];RangeSet.spans(ke,this.viewport.from,this.viewport.to,{span(Mn,Qn){Ce.push({from:Mn,to:Qn})},point(){}},20);let $n=Ce.length!=this.visibleRanges.length||this.visibleRanges.some((Mn,Qn)=>Mn.from!=Ce[Qn].from||Mn.to!=Ce[Qn].to);return this.visibleRanges=Ce,$n?4:0}lineBlockAt(ke){return ke>=this.viewport.from&&ke<=this.viewport.to&&this.viewportLines.find(Ce=>Ce.from<=ke&&Ce.to>=ke)||scaleBlock(this.heightMap.lineAt(ke,QueryType$1.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(ke){return ke>=this.viewportLines[0].top&&ke<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(Ce=>Ce.top<=ke&&Ce.bottom>=ke)||scaleBlock(this.heightMap.lineAt(this.scaler.fromDOM(ke),QueryType$1.ByHeight,this.heightOracle,0,0),this.scaler)}scrollAnchorAt(ke){let Ce=this.lineBlockAtHeight(ke+8);return Ce.from>=this.viewport.from||this.viewportLines[0].top-ke>200?Ce:this.viewportLines[0]}elementAtHeight(ke){return scaleBlock(this.heightMap.blockAt(this.scaler.fromDOM(ke),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}}class Viewport{constructor(ke,Ce){this.from=ke,this.to=Ce}}function lineStructure(_n,ke,Ce){let $n=[],Mn=_n,Qn=0;return RangeSet.spans(Ce,_n,ke,{span(){},point(Vn,qn){Vn>Mn&&($n.push({from:Mn,to:Vn}),Qn+=Vn-Mn),Mn=qn}},20),Mn=1)return ke[ke.length-1].to;let $n=Math.floor(_n*Ce);for(let Mn=0;;Mn++){let{from:Qn,to:Vn}=ke[Mn],qn=Vn-Qn;if($n<=qn)return Qn+$n;$n-=qn}}function findFraction(_n,ke){let Ce=0;for(let{from:$n,to:Mn}of _n.ranges){if(ke<=Mn){Ce+=ke-$n;break}Ce+=Mn-$n}return Ce/_n.total}function find(_n,ke){for(let Ce of _n)if(ke(Ce))return Ce}const IdScaler={toDOM(_n){return _n},fromDOM(_n){return _n},scale:1,eq(_n){return _n==this}};class BigScaler{constructor(ke,Ce,$n){let Mn=0,Qn=0,Vn=0;this.viewports=$n.map(({from:qn,to:Zn})=>{let jn=Ce.lineAt(qn,QueryType$1.ByPos,ke,0,0).top,Xn=Ce.lineAt(Zn,QueryType$1.ByPos,ke,0,0).bottom;return Mn+=Xn-jn,{from:qn,to:Zn,top:jn,bottom:Xn,domTop:0,domBottom:0}}),this.scale=(7e6-Mn)/(Ce.height-Mn);for(let qn of this.viewports)qn.domTop=Vn+(qn.top-Qn)*this.scale,Vn=qn.domBottom=qn.domTop+(qn.bottom-qn.top),Qn=qn.bottom}toDOM(ke){for(let Ce=0,$n=0,Mn=0;;Ce++){let Qn=CeCe.from==ke.viewports[$n].from&&Ce.to==ke.viewports[$n].to):!1}}function scaleBlock(_n,ke){if(ke.scale==1)return _n;let Ce=ke.toDOM(_n.top),$n=ke.toDOM(_n.bottom);return new BlockInfo(_n.from,_n.length,Ce,$n-Ce,Array.isArray(_n._content)?_n._content.map(Mn=>scaleBlock(Mn,ke)):_n._content)}const theme=Facet.define({combine:_n=>_n.join(" ")}),darkTheme=Facet.define({combine:_n=>_n.indexOf(!0)>-1}),baseThemeID=StyleModule.newName(),baseLightID=StyleModule.newName(),baseDarkID=StyleModule.newName(),lightDarkIDs={"&light":"."+baseLightID,"&dark":"."+baseDarkID};function buildTheme(_n,ke,Ce){return new StyleModule(ke,{finish($n){return/&/.test($n)?$n.replace(/&\w*/,Mn=>{if(Mn=="&")return _n;if(!Ce||!Ce[Mn])throw new RangeError(`Unsupported selector: ${Mn}`);return Ce[Mn]}):_n+" "+$n}})}const baseTheme$1$3=buildTheme("."+baseThemeID,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#444"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",insetInlineStart:0,zIndex:200},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",borderRight:"1px solid #ddd"},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},lightDarkIDs),observeOptions={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},useCharData=browser.ie&&browser.ie_version<=11;class DOMObserver{constructor(ke){this.view=ke,this.active=!1,this.editContext=null,this.selectionRange=new DOMSelectionState,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=ke.contentDOM,this.observer=new MutationObserver(Ce=>{for(let $n of Ce)this.queue.push($n);(browser.ie&&browser.ie_version<=11||browser.ios&&ke.composing)&&Ce.some($n=>$n.type=="childList"&&$n.removedNodes.length||$n.type=="characterData"&&$n.oldValue.length>$n.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&ke.constructor.EDIT_CONTEXT!==!1&&!(browser.chrome&&browser.chrome_version<126)&&(this.editContext=new EditContextManager(ke),ke.state.facet(editable)&&(ke.contentDOM.editContext=this.editContext.editContext)),useCharData&&(this.onCharData=Ce=>{this.queue.push({target:Ce.target,type:"characterData",oldValue:Ce.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var Ce;((Ce=this.view.docView)===null||Ce===void 0?void 0:Ce.lastUpdate){this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),Ce.length>0&&Ce[Ce.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(Ce=>{Ce.length>0&&Ce[Ce.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(ke){this.view.inputState.runHandlers("scroll",ke),this.intersecting&&this.view.measure()}onScroll(ke){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(ke)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(ke){(ke.type=="change"||!ke.type)&&!ke.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(ke){if(this.gapIntersection&&(ke.length!=this.gaps.length||this.gaps.some((Ce,$n)=>Ce!=ke[$n]))){this.gapIntersection.disconnect();for(let Ce of ke)this.gapIntersection.observe(Ce);this.gaps=ke}}onSelectionChange(ke){let Ce=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:$n}=this,Mn=this.selectionRange;if($n.state.facet(editable)?$n.root.activeElement!=this.dom:!hasSelection(this.dom,Mn))return;let Qn=Mn.anchorNode&&$n.docView.nearest(Mn.anchorNode);if(Qn&&Qn.ignoreEvent(ke)){Ce||(this.selectionChanged=!1);return}(browser.ie&&browser.ie_version<=11||browser.android&&browser.chrome)&&!$n.state.selection.main.empty&&Mn.focusNode&&isEquivalentPosition(Mn.focusNode,Mn.focusOffset,Mn.anchorNode,Mn.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:ke}=this,Ce=getSelection(ke.root);if(!Ce)return!1;let $n=browser.safari&&ke.root.nodeType==11&&ke.root.activeElement==this.dom&&safariSelectionRangeHack(this.view,Ce)||Ce;if(!$n||this.selectionRange.eq($n))return!1;let Mn=hasSelection(this.dom,$n);return Mn&&!this.selectionChanged&&ke.inputState.lastFocusTime>Date.now()-200&&ke.inputState.lastTouchTime{let Qn=this.delayedAndroidKey;Qn&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=Qn.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&Qn.force&&dispatchKey(this.dom,Qn.key,Qn.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(Mn)}(!this.delayedAndroidKey||ke=="Enter")&&(this.delayedAndroidKey={key:ke,keyCode:Ce,force:this.lastChange{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let ke of this.observer.takeRecords())this.queue.push(ke);return this.queue}processRecords(){let ke=this.pendingRecords();ke.length&&(this.queue=[]);let Ce=-1,$n=-1,Mn=!1;for(let Qn of ke){let Vn=this.readMutation(Qn);Vn&&(Vn.typeOver&&(Mn=!0),Ce==-1?{from:Ce,to:$n}=Vn:(Ce=Math.min(Vn.from,Ce),$n=Math.max(Vn.to,$n)))}return{from:Ce,to:$n,typeOver:Mn}}readChange(){let{from:ke,to:Ce,typeOver:$n}=this.processRecords(),Mn=this.selectionChanged&&hasSelection(this.dom,this.selectionRange);if(ke<0&&!Mn)return null;ke>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let Qn=new DOMChange(this.view,ke,Ce,$n);return this.view.docView.domChanged={newSel:Qn.newSel?Qn.newSel.main:null},Qn}flush(ke=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;ke&&this.readSelectionRange();let Ce=this.readChange();if(!Ce)return this.view.requestMeasure(),!1;let $n=this.view.state,Mn=applyDOMChange(this.view,Ce);return this.view.state==$n&&(Ce.domChanged||Ce.newSel&&!Ce.newSel.main.eq(this.view.state.selection.main))&&this.view.update([]),Mn}readMutation(ke){let Ce=this.view.docView.nearest(ke.target);if(!Ce||Ce.ignoreMutation(ke))return null;if(Ce.markDirty(ke.type=="attributes"),ke.type=="attributes"&&(Ce.flags|=4),ke.type=="childList"){let $n=findChild(Ce,ke.previousSibling||ke.target.previousSibling,-1),Mn=findChild(Ce,ke.nextSibling||ke.target.nextSibling,1);return{from:$n?Ce.posAfter($n):Ce.posAtStart,to:Mn?Ce.posBefore(Mn):Ce.posAtEnd,typeOver:!1}}else return ke.type=="characterData"?{from:Ce.posAtStart,to:Ce.posAtEnd,typeOver:ke.target.nodeValue==ke.oldValue}:null}setWindow(ke){ke!=this.win&&(this.removeWindowListeners(this.win),this.win=ke,this.addWindowListeners(this.win))}addWindowListeners(ke){ke.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):ke.addEventListener("beforeprint",this.onPrint),ke.addEventListener("scroll",this.onScroll),ke.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(ke){ke.removeEventListener("scroll",this.onScroll),ke.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):ke.removeEventListener("beforeprint",this.onPrint),ke.document.removeEventListener("selectionchange",this.onSelectionChange)}update(ke){this.editContext&&(this.editContext.update(ke),ke.startState.facet(editable)!=ke.state.facet(editable)&&(ke.view.contentDOM.editContext=ke.state.facet(editable)?this.editContext.editContext:null))}destroy(){var ke,Ce,$n;this.stop(),(ke=this.intersection)===null||ke===void 0||ke.disconnect(),(Ce=this.gapIntersection)===null||Ce===void 0||Ce.disconnect(),($n=this.resizeScroll)===null||$n===void 0||$n.disconnect();for(let Mn of this.scrollTargets)Mn.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}}function findChild(_n,ke,Ce){for(;ke;){let $n=ContentView.get(ke);if($n&&$n.parent==_n)return $n;let Mn=ke.parentNode;ke=Mn!=_n.dom?Mn:Ce>0?ke.nextSibling:ke.previousSibling}return null}function buildSelectionRangeFromRange(_n,ke){let Ce=ke.startContainer,$n=ke.startOffset,Mn=ke.endContainer,Qn=ke.endOffset,Vn=_n.docView.domAtPos(_n.state.selection.main.anchor);return isEquivalentPosition(Vn.node,Vn.offset,Mn,Qn)&&([Ce,$n,Mn,Qn]=[Mn,Qn,Ce,$n]),{anchorNode:Ce,anchorOffset:$n,focusNode:Mn,focusOffset:Qn}}function safariSelectionRangeHack(_n,ke){if(ke.getComposedRanges){let Mn=ke.getComposedRanges(_n.root)[0];if(Mn)return buildSelectionRangeFromRange(_n,Mn)}let Ce=null;function $n(Mn){Mn.preventDefault(),Mn.stopImmediatePropagation(),Ce=Mn.getTargetRanges()[0]}return _n.contentDOM.addEventListener("beforeinput",$n,!0),_n.dom.ownerDocument.execCommand("indent"),_n.contentDOM.removeEventListener("beforeinput",$n,!0),Ce?buildSelectionRangeFromRange(_n,Ce):null}class EditContextManager{constructor(ke){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.resetRange(ke.state);let Ce=this.editContext=new window.EditContext({text:ke.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,ke.state.selection.main.anchor))),selectionEnd:this.toContextPos(ke.state.selection.main.head)});this.handlers.textupdate=$n=>{let{anchor:Mn}=ke.state.selection.main,Qn={from:this.toEditorPos($n.updateRangeStart),to:this.toEditorPos($n.updateRangeEnd),insert:Text.of($n.text.split(` `))};Qn.from==this.from&&Mnthis.to&&(Qn.to=Mn),!(Qn.from==Qn.to&&!Qn.insert.length)&&(this.pendingContextChange=Qn,ke.state.readOnly||applyDOMChangeInner(ke,Qn,EditorSelection.single(this.toEditorPos($n.selectionStart),this.toEditorPos($n.selectionEnd))),this.pendingContextChange&&(this.revertPending(ke.state),this.setSelection(ke.state)))},this.handlers.characterboundsupdate=$n=>{let Mn=[],Qn=null;for(let Vn=this.toEditorPos($n.rangeStart),qn=this.toEditorPos($n.rangeEnd);Vn{let Mn=[];for(let Qn of $n.getTextFormats()){let Vn=Qn.underlineStyle,qn=Qn.underlineThickness;if(Vn!="None"&&qn!="None"){let Zn=`text-decoration: underline ${Vn=="Dashed"?"dashed ":Vn=="Squiggle"?"wavy ":""}${qn=="Thin"?1:2}px`;Mn.push(Decoration.mark({attributes:{style:Zn}}).range(this.toEditorPos(Qn.rangeStart),this.toEditorPos(Qn.rangeEnd)))}}ke.dispatch({effects:setEditContextFormatting.of(Decoration.set(Mn))})},this.handlers.compositionstart=()=>{ke.inputState.composing<0&&(ke.inputState.composing=0,ke.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{ke.inputState.composing=-1,ke.inputState.compositionFirstChange=null};for(let $n in this.handlers)Ce.addEventListener($n,this.handlers[$n]);this.measureReq={read:$n=>{this.editContext.updateControlBounds($n.contentDOM.getBoundingClientRect());let Mn=getSelection($n.root);Mn&&Mn.rangeCount&&this.editContext.updateSelectionBounds(Mn.getRangeAt(0).getBoundingClientRect())}}}applyEdits(ke){let Ce=0,$n=!1,Mn=this.pendingContextChange;return ke.changes.iterChanges((Qn,Vn,qn,Zn,jn)=>{if($n)return;let Xn=jn.length-(Vn-Qn);if(Mn&&Vn>=Mn.to)if(Mn.from==Qn&&Mn.to==Vn&&Mn.insert.eq(jn)){Mn=this.pendingContextChange=null,Ce+=Xn,this.to+=Xn;return}else Mn=null,this.revertPending(ke.state);if(Qn+=Ce,Vn+=Ce,Vn<=this.from)this.from+=Xn,this.to+=Xn;else if(Qnthis.to||this.to-this.from+jn.length>3e4){$n=!0;return}this.editContext.updateText(this.toContextPos(Qn),this.toContextPos(Vn),jn.toString()),this.to+=Xn}Ce+=Xn}),Mn&&!$n&&this.revertPending(ke.state),!$n}update(ke){let Ce=this.pendingContextChange;!this.applyEdits(ke)||!this.rangeIsValid(ke.state)?(this.pendingContextChange=null,this.resetRange(ke.state),this.editContext.updateText(0,this.editContext.text.length,ke.state.doc.sliceString(this.from,this.to)),this.setSelection(ke.state)):(ke.docChanged||ke.selectionSet||Ce)&&this.setSelection(ke.state),(ke.geometryChanged||ke.docChanged||ke.selectionSet)&&ke.view.requestMeasure(this.measureReq)}resetRange(ke){let{head:Ce}=ke.selection.main;this.from=Math.max(0,Ce-1e4),this.to=Math.min(ke.doc.length,Ce+1e4)}revertPending(ke){let Ce=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(Ce.from),this.toContextPos(Ce.from+Ce.insert.length),ke.doc.sliceString(Ce.from,Ce.to))}setSelection(ke){let{main:Ce}=ke.selection,$n=this.toContextPos(Math.max(this.from,Math.min(this.to,Ce.anchor))),Mn=this.toContextPos(Ce.head);(this.editContext.selectionStart!=$n||this.editContext.selectionEnd!=Mn)&&this.editContext.updateSelection($n,Mn)}rangeIsValid(ke){let{head:Ce}=ke.selection.main;return!(this.from>0&&Ce-this.from<500||this.to1e4*3)}toEditorPos(ke){return ke+this.from}toContextPos(ke){return ke-this.from}destroy(){for(let ke in this.handlers)this.editContext.removeEventListener(ke,this.handlers[ke])}}class EditorView{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return this.inputState.composing>0}get compositionStarted(){return this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(ke={}){var Ce;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),ke.parent&&ke.parent.appendChild(this.dom);let{dispatch:$n}=ke;this.dispatchTransactions=ke.dispatchTransactions||$n&&(Mn=>Mn.forEach(Qn=>$n(Qn,this)))||(Mn=>this.update(Mn)),this.dispatch=this.dispatch.bind(this),this._root=ke.root||getRoot(ke.parent)||document,this.viewState=new ViewState(ke.state||EditorState.create(ke)),ke.scrollTo&&ke.scrollTo.is(scrollIntoView$1)&&(this.viewState.scrollTarget=ke.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(viewPlugin).map(Mn=>new PluginInstance(Mn));for(let Mn of this.plugins)Mn.update(this);this.observer=new DOMObserver(this),this.inputState=new InputState(this),this.inputState.ensureHandlers(this.plugins),this.docView=new DocView(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((Ce=document.fonts)===null||Ce===void 0)&&Ce.ready&&document.fonts.ready.then(()=>this.requestMeasure())}dispatch(...ke){let Ce=ke.length==1&&ke[0]instanceof Transaction?ke:ke.length==1&&Array.isArray(ke[0])?ke[0]:[this.state.update(...ke)];this.dispatchTransactions(Ce,this)}update(ke){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let Ce=!1,$n=!1,Mn,Qn=this.state;for(let Hn of ke){if(Hn.startState!=Qn)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");Qn=Hn.state}if(this.destroyed){this.viewState.state=Qn;return}let Vn=this.hasFocus,qn=0,Zn=null;ke.some(Hn=>Hn.annotation(isFocusChange))?(this.inputState.notifiedFocused=Vn,qn=1):Vn!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=Vn,Zn=focusChangeTransaction(Qn,Vn),Zn||(qn=1));let jn=this.observer.delayedAndroidKey,Xn=null;if(jn?(this.observer.clearDelayedAndroidKey(),Xn=this.observer.readChange(),(Xn&&!this.state.doc.eq(Qn.doc)||!this.state.selection.eq(Qn.selection))&&(Xn=null)):this.observer.clear(),Qn.facet(EditorState.phrases)!=this.state.facet(EditorState.phrases))return this.setState(Qn);Mn=ViewUpdate.create(this,Qn,ke),Mn.flags|=qn;let zn=this.viewState.scrollTarget;try{this.updateState=2;for(let Hn of ke){if(zn&&(zn=zn.map(Hn.changes)),Hn.scrollIntoView){let{main:Wn}=Hn.state.selection;zn=new ScrollTarget(Wn.empty?Wn:EditorSelection.cursor(Wn.head,Wn.head>Wn.anchor?-1:1))}for(let Wn of Hn.effects)Wn.is(scrollIntoView$1)&&(zn=Wn.value.clip(this.state))}this.viewState.update(Mn,zn),this.bidiCache=CachedOrder.update(this.bidiCache,Mn.changes),Mn.empty||(this.updatePlugins(Mn),this.inputState.update(Mn)),Ce=this.docView.update(Mn),this.state.facet(styleModule)!=this.styleModules&&this.mountStyles(),$n=this.updateAttrs(),this.showAnnouncements(ke),this.docView.updateSelection(Ce,ke.some(Hn=>Hn.isUserEvent("select.pointer")))}finally{this.updateState=0}if(Mn.startState.facet(theme)!=Mn.state.facet(theme)&&(this.viewState.mustMeasureContent=!0),(Ce||$n||zn||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),Ce&&this.docViewUpdate(),!Mn.empty)for(let Hn of this.state.facet(updateListener))try{Hn(Mn)}catch(Wn){logException(this.state,Wn,"update listener")}(Zn||Xn)&&Promise.resolve().then(()=>{Zn&&this.state==Zn.startState&&this.dispatch(Zn),Xn&&!applyDOMChange(this,Xn)&&jn.force&&dispatchKey(this.contentDOM,jn.key,jn.keyCode)})}setState(ke){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=ke;return}this.updateState=2;let Ce=this.hasFocus;try{for(let $n of this.plugins)$n.destroy(this);this.viewState=new ViewState(ke),this.plugins=ke.facet(viewPlugin).map($n=>new PluginInstance($n)),this.pluginMap.clear();for(let $n of this.plugins)$n.update(this);this.docView.destroy(),this.docView=new DocView(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}Ce&&this.focus(),this.requestMeasure()}updatePlugins(ke){let Ce=ke.startState.facet(viewPlugin),$n=ke.state.facet(viewPlugin);if(Ce!=$n){let Mn=[];for(let Qn of $n){let Vn=Ce.indexOf(Qn);if(Vn<0)Mn.push(new PluginInstance(Qn));else{let qn=this.plugins[Vn];qn.mustUpdate=ke,Mn.push(qn)}}for(let Qn of this.plugins)Qn.mustUpdate!=ke&&Qn.destroy(this);this.plugins=Mn,this.pluginMap.clear()}else for(let Mn of this.plugins)Mn.mustUpdate=ke;for(let Mn=0;Mn-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,ke&&this.observer.forceFlush();let Ce=null,$n=this.scrollDOM,Mn=$n.scrollTop*this.scaleY,{scrollAnchorPos:Qn,scrollAnchorHeight:Vn}=this.viewState;Math.abs(Mn-this.viewState.scrollTop)>1&&(Vn=-1),this.viewState.scrollAnchorHeight=-1;try{for(let qn=0;;qn++){if(Vn<0)if(isScrolledToBottom($n))Qn=-1,Vn=this.viewState.heightMap.height;else{let Wn=this.viewState.scrollAnchorAt(Mn);Qn=Wn.from,Vn=Wn.top}this.updateState=1;let Zn=this.viewState.measure(this);if(!Zn&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(qn>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let jn=[];Zn&4||([this.measureRequests,jn]=[jn,this.measureRequests]);let Xn=jn.map(Wn=>{try{return Wn.read(this)}catch(Yn){return logException(this.state,Yn),BadMeasure}}),zn=ViewUpdate.create(this,this.state,[]),Hn=!1;zn.flags|=Zn,Ce?Ce.flags|=Zn:Ce=zn,this.updateState=2,zn.empty||(this.updatePlugins(zn),this.inputState.update(zn),this.updateAttrs(),Hn=this.docView.update(zn),Hn&&this.docViewUpdate());for(let Wn=0;Wn1||Yn<-1){Mn=Mn+Yn,$n.scrollTop=Mn/this.scaleY,Vn=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(Ce&&!Ce.empty)for(let qn of this.state.facet(updateListener))qn(Ce)}get themeClasses(){return baseThemeID+" "+(this.state.facet(darkTheme)?baseDarkID:baseLightID)+" "+this.state.facet(theme)}updateAttrs(){let ke=attrsFromFacet(this,editorAttributes,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),Ce={spellcheck:"false",autocorrect:"off",autocapitalize:"off",translate:"no",contenteditable:this.state.facet(editable)?"true":"false",class:"cm-content",style:`${browser.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(Ce["aria-readonly"]="true"),attrsFromFacet(this,contentAttributes,Ce);let $n=this.observer.ignore(()=>{let Mn=updateAttrs(this.contentDOM,this.contentAttrs,Ce),Qn=updateAttrs(this.dom,this.editorAttrs,ke);return Mn||Qn});return this.editorAttrs=ke,this.contentAttrs=Ce,$n}showAnnouncements(ke){let Ce=!0;for(let $n of ke)for(let Mn of $n.effects)if(Mn.is(EditorView.announce)){Ce&&(this.announceDOM.textContent=""),Ce=!1;let Qn=this.announceDOM.appendChild(document.createElement("div"));Qn.textContent=Mn.value}}mountStyles(){this.styleModules=this.state.facet(styleModule);let ke=this.state.facet(EditorView.cspNonce);StyleModule.mount(this.root,this.styleModules.concat(baseTheme$1$3).reverse(),ke?{nonce:ke}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(ke){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),ke){if(this.measureRequests.indexOf(ke)>-1)return;if(ke.key!=null){for(let Ce=0;Ce$n.spec==ke)||null),Ce&&Ce.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(ke){return this.readMeasured(),this.viewState.elementAtHeight(ke)}lineBlockAtHeight(ke){return this.readMeasured(),this.viewState.lineBlockAtHeight(ke)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(ke){return this.viewState.lineBlockAt(ke)}get contentHeight(){return this.viewState.contentHeight}moveByChar(ke,Ce,$n){return skipAtoms(this,ke,moveByChar(this,ke,Ce,$n))}moveByGroup(ke,Ce){return skipAtoms(this,ke,moveByChar(this,ke,Ce,$n=>byGroup(this,ke.head,$n)))}visualLineSide(ke,Ce){let $n=this.bidiSpans(ke),Mn=this.textDirectionAt(ke.from),Qn=$n[Ce?$n.length-1:0];return EditorSelection.cursor(Qn.side(Ce,Mn)+ke.from,Qn.forward(!Ce,Mn)?1:-1)}moveToLineBoundary(ke,Ce,$n=!0){return moveToLineBoundary(this,ke,Ce,$n)}moveVertically(ke,Ce,$n){return skipAtoms(this,ke,moveVertically(this,ke,Ce,$n))}domAtPos(ke){return this.docView.domAtPos(ke)}posAtDOM(ke,Ce=0){return this.docView.posFromDOM(ke,Ce)}posAtCoords(ke,Ce=!0){return this.readMeasured(),posAtCoords(this,ke,Ce)}coordsAtPos(ke,Ce=1){this.readMeasured();let $n=this.docView.coordsAt(ke,Ce);if(!$n||$n.left==$n.right)return $n;let Mn=this.state.doc.lineAt(ke),Qn=this.bidiSpans(Mn),Vn=Qn[BidiSpan.find(Qn,ke-Mn.from,-1,Ce)];return flattenRect($n,Vn.dir==Direction.LTR==Ce>0)}coordsForChar(ke){return this.readMeasured(),this.docView.coordsForChar(ke)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(ke){return!this.state.facet(perLineTextDirection)||kethis.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(ke))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(ke){if(ke.length>MaxBidiLine)return trivialOrder(ke.length);let Ce=this.textDirectionAt(ke.from),$n;for(let Qn of this.bidiCache)if(Qn.from==ke.from&&Qn.dir==Ce&&(Qn.fresh||isolatesEq(Qn.isolates,$n=getIsolatedRanges(this,ke))))return Qn.order;$n||($n=getIsolatedRanges(this,ke));let Mn=computeOrder(ke.text,Ce,$n);return this.bidiCache.push(new CachedOrder(ke.from,ke.to,Ce,$n,!0,Mn)),Mn}get hasFocus(){var ke;return(this.dom.ownerDocument.hasFocus()||browser.safari&&((ke=this.inputState)===null||ke===void 0?void 0:ke.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{focusPreventScroll(this.contentDOM),this.docView.updateSelection()})}setRoot(ke){this._root!=ke&&(this._root=ke,this.observer.setWindow((ke.nodeType==9?ke:ke.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let ke of this.plugins)ke.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(ke,Ce={}){return scrollIntoView$1.of(new ScrollTarget(typeof ke=="number"?EditorSelection.cursor(ke):ke,Ce.y,Ce.x,Ce.yMargin,Ce.xMargin))}scrollSnapshot(){let{scrollTop:ke,scrollLeft:Ce}=this.scrollDOM,$n=this.viewState.scrollAnchorAt(ke);return scrollIntoView$1.of(new ScrollTarget(EditorSelection.cursor($n.from),"start","start",$n.top-ke,Ce,!0))}setTabFocusMode(ke){ke==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof ke=="boolean"?this.inputState.tabFocusMode=ke?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+ke)}static domEventHandlers(ke){return ViewPlugin.define(()=>({}),{eventHandlers:ke})}static domEventObservers(ke){return ViewPlugin.define(()=>({}),{eventObservers:ke})}static theme(ke,Ce){let $n=StyleModule.newName(),Mn=[theme.of($n),styleModule.of(buildTheme(`.${$n}`,ke))];return Ce&&Ce.dark&&Mn.push(darkTheme.of(!0)),Mn}static baseTheme(ke){return Prec.lowest(styleModule.of(buildTheme("."+baseThemeID,ke,lightDarkIDs)))}static findFromDOM(ke){var Ce;let $n=ke.querySelector(".cm-content"),Mn=$n&&ContentView.get($n)||ContentView.get(ke);return((Ce=Mn==null?void 0:Mn.rootView)===null||Ce===void 0?void 0:Ce.view)||null}}EditorView.styleModule=styleModule;EditorView.inputHandler=inputHandler$1;EditorView.clipboardInputFilter=clipboardInputFilter;EditorView.clipboardOutputFilter=clipboardOutputFilter;EditorView.scrollHandler=scrollHandler;EditorView.focusChangeEffect=focusChangeEffect;EditorView.perLineTextDirection=perLineTextDirection;EditorView.exceptionSink=exceptionSink;EditorView.updateListener=updateListener;EditorView.editable=editable;EditorView.mouseSelectionStyle=mouseSelectionStyle;EditorView.dragMovesSelection=dragMovesSelection$1;EditorView.clickAddsSelectionRange=clickAddsSelectionRange;EditorView.decorations=decorations;EditorView.outerDecorations=outerDecorations;EditorView.atomicRanges=atomicRanges;EditorView.bidiIsolatedRanges=bidiIsolatedRanges;EditorView.scrollMargins=scrollMargins;EditorView.darkTheme=darkTheme;EditorView.cspNonce=Facet.define({combine:_n=>_n.length?_n[0]:""});EditorView.contentAttributes=contentAttributes;EditorView.editorAttributes=editorAttributes;EditorView.lineWrapping=EditorView.contentAttributes.of({class:"cm-lineWrapping"});EditorView.announce=StateEffect.define();const MaxBidiLine=4096,BadMeasure={};class CachedOrder{constructor(ke,Ce,$n,Mn,Qn,Vn){this.from=ke,this.to=Ce,this.dir=$n,this.isolates=Mn,this.fresh=Qn,this.order=Vn}static update(ke,Ce){if(Ce.empty&&!ke.some(Qn=>Qn.fresh))return ke;let $n=[],Mn=ke.length?ke[ke.length-1].dir:Direction.LTR;for(let Qn=Math.max(0,ke.length-10);Qn=0;Mn--){let Qn=$n[Mn],Vn=typeof Qn=="function"?Qn(_n):Qn;Vn&&combineAttrs(Vn,Ce)}return Ce}const currentPlatform=browser.mac?"mac":browser.windows?"win":browser.linux?"linux":"key";function normalizeKeyName(_n,ke){const Ce=_n.split(/-(?!$)/);let $n=Ce[Ce.length-1];$n=="Space"&&($n=" ");let Mn,Qn,Vn,qn;for(let Zn=0;Zn$n.concat(Mn),[]))),Ce}function runScopeHandlers(_n,ke,Ce){return runHandlers(getKeymap(_n.state),ke,_n,Ce)}let storedPrefix=null;const PrefixTimeout=4e3;function buildKeymap(_n,ke=currentPlatform){let Ce=Object.create(null),$n=Object.create(null),Mn=(Vn,qn)=>{let Zn=$n[Vn];if(Zn==null)$n[Vn]=qn;else if(Zn!=qn)throw new Error("Key binding "+Vn+" is used both as a regular binding and as a multi-stroke prefix")},Qn=(Vn,qn,Zn,jn,Xn)=>{var zn,Hn;let Wn=Ce[Vn]||(Ce[Vn]=Object.create(null)),Yn=qn.split(/ (?!$)/).map(Kn=>normalizeKeyName(Kn,ke));for(let Kn=1;Kn{let nr=storedPrefix={view:tr,prefix:Jn,scope:Vn};return setTimeout(()=>{storedPrefix==nr&&(storedPrefix=null)},PrefixTimeout),!0}]})}let Un=Yn.join(" ");Mn(Un,!1);let Gn=Wn[Un]||(Wn[Un]={preventDefault:!1,stopPropagation:!1,run:((Hn=(zn=Wn._any)===null||zn===void 0?void 0:zn.run)===null||Hn===void 0?void 0:Hn.slice())||[]});Zn&&Gn.run.push(Zn),jn&&(Gn.preventDefault=!0),Xn&&(Gn.stopPropagation=!0)};for(let Vn of _n){let qn=Vn.scope?Vn.scope.split(" "):["editor"];if(Vn.any)for(let jn of qn){let Xn=Ce[jn]||(Ce[jn]=Object.create(null));Xn._any||(Xn._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:zn}=Vn;for(let Hn in Xn)Xn[Hn].run.push(Wn=>zn(Wn,currentKeyEvent))}let Zn=Vn[ke]||Vn.key;if(Zn)for(let jn of qn)Qn(jn,Zn,Vn.run,Vn.preventDefault,Vn.stopPropagation),Vn.shift&&Qn(jn,"Shift-"+Zn,Vn.shift,Vn.preventDefault,Vn.stopPropagation)}return Ce}let currentKeyEvent=null;function runHandlers(_n,ke,Ce,$n){currentKeyEvent=ke;let Mn=keyName(ke),Qn=codePointAt(Mn,0),Vn=codePointSize(Qn)==Mn.length&&Mn!=" ",qn="",Zn=!1,jn=!1,Xn=!1;storedPrefix&&storedPrefix.view==Ce&&storedPrefix.scope==$n&&(qn=storedPrefix.prefix+" ",modifierCodes.indexOf(ke.keyCode)<0&&(jn=!0,storedPrefix=null));let zn=new Set,Hn=Gn=>{if(Gn){for(let Kn of Gn.run)if(!zn.has(Kn)&&(zn.add(Kn),Kn(Ce)))return Gn.stopPropagation&&(Xn=!0),!0;Gn.preventDefault&&(Gn.stopPropagation&&(Xn=!0),jn=!0)}return!1},Wn=_n[$n],Yn,Un;return Wn&&(Hn(Wn[qn+modifiers(Mn,ke,!Vn)])?Zn=!0:Vn&&(ke.altKey||ke.metaKey||ke.ctrlKey)&&!(browser.windows&&ke.ctrlKey&&ke.altKey)&&(Yn=base[ke.keyCode])&&Yn!=Mn?(Hn(Wn[qn+modifiers(Yn,ke,!0)])||ke.shiftKey&&(Un=shift[ke.keyCode])!=Mn&&Un!=Yn&&Hn(Wn[qn+modifiers(Un,ke,!1)]))&&(Zn=!0):Vn&&ke.shiftKey&&Hn(Wn[qn+modifiers(Mn,ke,!0)])&&(Zn=!0),!Zn&&Hn(Wn._any)&&(Zn=!0)),jn&&(Zn=!0),Zn&&Xn&&ke.stopPropagation(),currentKeyEvent=null,Zn}class RectangleMarker{constructor(ke,Ce,$n,Mn,Qn){this.className=ke,this.left=Ce,this.top=$n,this.width=Mn,this.height=Qn}draw(){let ke=document.createElement("div");return ke.className=this.className,this.adjust(ke),ke}update(ke,Ce){return Ce.className!=this.className?!1:(this.adjust(ke),!0)}adjust(ke){ke.style.left=this.left+"px",ke.style.top=this.top+"px",this.width!=null&&(ke.style.width=this.width+"px"),ke.style.height=this.height+"px"}eq(ke){return this.left==ke.left&&this.top==ke.top&&this.width==ke.width&&this.height==ke.height&&this.className==ke.className}static forRange(ke,Ce,$n){if($n.empty){let Mn=ke.coordsAtPos($n.head,$n.assoc||1);if(!Mn)return[];let Qn=getBase(ke);return[new RectangleMarker(Ce,Mn.left-Qn.left,Mn.top-Qn.top,null,Mn.bottom-Mn.top)]}else return rectanglesForRange(ke,Ce,$n)}}function getBase(_n){let ke=_n.scrollDOM.getBoundingClientRect();return{left:(_n.textDirection==Direction.LTR?ke.left:ke.right-_n.scrollDOM.clientWidth*_n.scaleX)-_n.scrollDOM.scrollLeft*_n.scaleX,top:ke.top-_n.scrollDOM.scrollTop*_n.scaleY}}function wrappedLine(_n,ke,Ce,$n){let Mn=_n.coordsAtPos(ke,Ce*2);if(!Mn)return $n;let Qn=_n.dom.getBoundingClientRect(),Vn=(Mn.top+Mn.bottom)/2,qn=_n.posAtCoords({x:Qn.left+1,y:Vn}),Zn=_n.posAtCoords({x:Qn.right-1,y:Vn});return qn==null||Zn==null?$n:{from:Math.max($n.from,Math.min(qn,Zn)),to:Math.min($n.to,Math.max(qn,Zn))}}function rectanglesForRange(_n,ke,Ce){if(Ce.to<=_n.viewport.from||Ce.from>=_n.viewport.to)return[];let $n=Math.max(Ce.from,_n.viewport.from),Mn=Math.min(Ce.to,_n.viewport.to),Qn=_n.textDirection==Direction.LTR,Vn=_n.contentDOM,qn=Vn.getBoundingClientRect(),Zn=getBase(_n),jn=Vn.querySelector(".cm-line"),Xn=jn&&window.getComputedStyle(jn),zn=qn.left+(Xn?parseInt(Xn.paddingLeft)+Math.min(0,parseInt(Xn.textIndent)):0),Hn=qn.right-(Xn?parseInt(Xn.paddingRight):0),Wn=blockAt(_n,$n),Yn=blockAt(_n,Mn),Un=Wn.type==BlockType.Text?Wn:null,Gn=Yn.type==BlockType.Text?Yn:null;if(Un&&(_n.lineWrapping||Wn.widgetLineBreaks)&&(Un=wrappedLine(_n,$n,1,Un)),Gn&&(_n.lineWrapping||Yn.widgetLineBreaks)&&(Gn=wrappedLine(_n,Mn,-1,Gn)),Un&&Gn&&Un.from==Gn.from&&Un.to==Gn.to)return Jn(tr(Ce.from,Ce.to,Un));{let er=Un?tr(Ce.from,null,Un):nr(Wn,!1),rr=Gn?tr(null,Ce.to,Gn):nr(Yn,!0),or=[];return(Un||Wn).to<(Gn||Yn).from-(Un&&Gn?1:0)||Wn.widgetLineBreaks>1&&er.bottom+_n.defaultLineHeight/2fr&&mr.from=vr)break;Cr>_r&&ur(Math.max(Er,_r),er==null&&Er<=fr,Math.min(Cr,vr),rr==null&&Cr>=pr,br.dir)}if(_r=hr.to+1,_r>=vr)break}return cr.length==0&&ur(fr,er==null,pr,rr==null,_n.textDirection),{top:ir,bottom:sr,horizontal:cr}}function nr(er,rr){let or=qn.top+(rr?er.top:er.bottom);return{top:or,bottom:or,horizontal:[]}}}function sameMarker(_n,ke){return _n.constructor==ke.constructor&&_n.eq(ke)}class LayerView{constructor(ke,Ce){this.view=ke,this.layer=Ce,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=ke.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),Ce.above&&this.dom.classList.add("cm-layer-above"),Ce.class&&this.dom.classList.add(Ce.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(ke.state),ke.requestMeasure(this.measureReq),Ce.mount&&Ce.mount(this.dom,ke)}update(ke){ke.startState.facet(layerOrder)!=ke.state.facet(layerOrder)&&this.setOrder(ke.state),(this.layer.update(ke,this.dom)||ke.geometryChanged)&&(this.scale(),ke.view.requestMeasure(this.measureReq))}docViewUpdate(ke){this.layer.updateOnDocViewUpdate!==!1&&ke.requestMeasure(this.measureReq)}setOrder(ke){let Ce=0,$n=ke.facet(layerOrder);for(;Ce<$n.length&&$n[Ce]!=this.layer;)Ce++;this.dom.style.zIndex=String((this.layer.above?150:-1)-Ce)}measure(){return this.layer.markers(this.view)}scale(){let{scaleX:ke,scaleY:Ce}=this.view;(ke!=this.scaleX||Ce!=this.scaleY)&&(this.scaleX=ke,this.scaleY=Ce,this.dom.style.transform=`scale(${1/ke}, ${1/Ce})`)}draw(ke){if(ke.length!=this.drawn.length||ke.some((Ce,$n)=>!sameMarker(Ce,this.drawn[$n]))){let Ce=this.dom.firstChild,$n=0;for(let Mn of ke)Mn.update&&Ce&&Mn.constructor&&this.drawn[$n].constructor&&Mn.update(Ce,this.drawn[$n])?(Ce=Ce.nextSibling,$n++):this.dom.insertBefore(Mn.draw(),Ce);for(;Ce;){let Mn=Ce.nextSibling;Ce.remove(),Ce=Mn}this.drawn=ke}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}}const layerOrder=Facet.define();function layer(_n){return[ViewPlugin.define(ke=>new LayerView(ke,_n)),layerOrder.of(_n)]}const CanHidePrimary=!browser.ios,selectionConfig=Facet.define({combine(_n){return combineConfig(_n,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(ke,Ce)=>Math.min(ke,Ce),drawRangeCursor:(ke,Ce)=>ke||Ce})}});function drawSelection(_n={}){return[selectionConfig.of(_n),cursorLayer,selectionLayer,hideNativeSelection,nativeSelectionHidden.of(!0)]}function configChanged(_n){return _n.startState.facet(selectionConfig)!=_n.state.facet(selectionConfig)}const cursorLayer=layer({above:!0,markers(_n){let{state:ke}=_n,Ce=ke.facet(selectionConfig),$n=[];for(let Mn of ke.selection.ranges){let Qn=Mn==ke.selection.main;if(Mn.empty?!Qn||CanHidePrimary:Ce.drawRangeCursor){let Vn=Qn?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",qn=Mn.empty?Mn:EditorSelection.cursor(Mn.head,Mn.head>Mn.anchor?-1:1);for(let Zn of RectangleMarker.forRange(_n,Vn,qn))$n.push(Zn)}}return $n},update(_n,ke){_n.transactions.some($n=>$n.selection)&&(ke.style.animationName=ke.style.animationName=="cm-blink"?"cm-blink2":"cm-blink");let Ce=configChanged(_n);return Ce&&setBlinkRate(_n.state,ke),_n.docChanged||_n.selectionSet||Ce},mount(_n,ke){setBlinkRate(ke.state,_n)},class:"cm-cursorLayer"});function setBlinkRate(_n,ke){ke.style.animationDuration=_n.facet(selectionConfig).cursorBlinkRate+"ms"}const selectionLayer=layer({above:!1,markers(_n){return _n.state.selection.ranges.map(ke=>ke.empty?[]:RectangleMarker.forRange(_n,"cm-selectionBackground",ke)).reduce((ke,Ce)=>ke.concat(Ce))},update(_n,ke){return _n.docChanged||_n.selectionSet||_n.viewportChanged||configChanged(_n)},class:"cm-selectionLayer"}),themeSpec={".cm-line":{"& ::selection, &::selection":{backgroundColor:"transparent !important"}},".cm-content":{"& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}};CanHidePrimary&&(themeSpec[".cm-line"].caretColor=themeSpec[".cm-content"].caretColor="transparent !important");const hideNativeSelection=Prec.highest(EditorView.theme(themeSpec)),setDropCursorPos=StateEffect.define({map(_n,ke){return _n==null?null:ke.mapPos(_n)}}),dropCursorPos=StateField.define({create(){return null},update(_n,ke){return _n!=null&&(_n=ke.changes.mapPos(_n)),ke.effects.reduce((Ce,$n)=>$n.is(setDropCursorPos)?$n.value:Ce,_n)}}),drawDropCursor=ViewPlugin.fromClass(class{constructor(_n){this.view=_n,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(_n){var ke;let Ce=_n.state.field(dropCursorPos);Ce==null?this.cursor!=null&&((ke=this.cursor)===null||ke===void 0||ke.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(_n.startState.field(dropCursorPos)!=Ce||_n.docChanged||_n.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:_n}=this,ke=_n.state.field(dropCursorPos),Ce=ke!=null&&_n.coordsAtPos(ke);if(!Ce)return null;let $n=_n.scrollDOM.getBoundingClientRect();return{left:Ce.left-$n.left+_n.scrollDOM.scrollLeft*_n.scaleX,top:Ce.top-$n.top+_n.scrollDOM.scrollTop*_n.scaleY,height:Ce.bottom-Ce.top}}drawCursor(_n){if(this.cursor){let{scaleX:ke,scaleY:Ce}=this.view;_n?(this.cursor.style.left=_n.left/ke+"px",this.cursor.style.top=_n.top/Ce+"px",this.cursor.style.height=_n.height/Ce+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(_n){this.view.state.field(dropCursorPos)!=_n&&this.view.dispatch({effects:setDropCursorPos.of(_n)})}},{eventObservers:{dragover(_n){this.setDropPos(this.view.posAtCoords({x:_n.clientX,y:_n.clientY}))},dragleave(_n){(_n.target==this.view.contentDOM||!this.view.contentDOM.contains(_n.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function dropCursor(){return[dropCursorPos,drawDropCursor]}function iterMatches(_n,ke,Ce,$n,Mn){ke.lastIndex=0;for(let Qn=_n.iterRange(Ce,$n),Vn=Ce,qn;!Qn.next().done;Vn+=Qn.value.length)if(!Qn.lineBreak)for(;qn=ke.exec(Qn.value);)Mn(Vn+qn.index,qn)}function matchRanges(_n,ke){let Ce=_n.visibleRanges;if(Ce.length==1&&Ce[0].from==_n.viewport.from&&Ce[0].to==_n.viewport.to)return Ce;let $n=[];for(let{from:Mn,to:Qn}of Ce)Mn=Math.max(_n.state.doc.lineAt(Mn).from,Mn-ke),Qn=Math.min(_n.state.doc.lineAt(Qn).to,Qn+ke),$n.length&&$n[$n.length-1].to>=Mn?$n[$n.length-1].to=Qn:$n.push({from:Mn,to:Qn});return $n}class MatchDecorator{constructor(ke){const{regexp:Ce,decoration:$n,decorate:Mn,boundary:Qn,maxLength:Vn=1e3}=ke;if(!Ce.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=Ce,Mn)this.addMatch=(qn,Zn,jn,Xn)=>Mn(Xn,jn,jn+qn[0].length,qn,Zn);else if(typeof $n=="function")this.addMatch=(qn,Zn,jn,Xn)=>{let zn=$n(qn,Zn,jn);zn&&Xn(jn,jn+qn[0].length,zn)};else if($n)this.addMatch=(qn,Zn,jn,Xn)=>Xn(jn,jn+qn[0].length,$n);else throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.boundary=Qn,this.maxLength=Vn}createDeco(ke){let Ce=new RangeSetBuilder,$n=Ce.add.bind(Ce);for(let{from:Mn,to:Qn}of matchRanges(ke,this.maxLength))iterMatches(ke.state.doc,this.regexp,Mn,Qn,(Vn,qn)=>this.addMatch(qn,ke,Vn,$n));return Ce.finish()}updateDeco(ke,Ce){let $n=1e9,Mn=-1;return ke.docChanged&&ke.changes.iterChanges((Qn,Vn,qn,Zn)=>{Zn>ke.view.viewport.from&&qn1e3?this.createDeco(ke.view):Mn>-1?this.updateRange(ke.view,Ce.map(ke.changes),$n,Mn):Ce}updateRange(ke,Ce,$n,Mn){for(let Qn of ke.visibleRanges){let Vn=Math.max(Qn.from,$n),qn=Math.min(Qn.to,Mn);if(qn>Vn){let Zn=ke.state.doc.lineAt(Vn),jn=Zn.toZn.from;Vn--)if(this.boundary.test(Zn.text[Vn-1-Zn.from])){Xn=Vn;break}for(;qnHn.push(Kn.range(Un,Gn));if(Zn==jn)for(this.regexp.lastIndex=Xn-Zn.from;(Wn=this.regexp.exec(Zn.text))&&Wn.indexthis.addMatch(Gn,ke,Un,Yn));Ce=Ce.update({filterFrom:Xn,filterTo:zn,filter:(Un,Gn)=>Unzn,add:Hn})}}return Ce}}const UnicodeRegexpSupport=/x/.unicode!=null?"gu":"g",Specials=new RegExp(`[\0-\b --Ÿ­؜​‎‏\u2028\u2029‭‮⁦⁧⁩\uFEFF-]`,UnicodeRegexpSupport),Names={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"};let _supportsTabSize=null;function supportsTabSize(){var _n;if(_supportsTabSize==null&&typeof document<"u"&&document.body){let ke=document.body.style;_supportsTabSize=((_n=ke.tabSize)!==null&&_n!==void 0?_n:ke.MozTabSize)!=null}return _supportsTabSize||!1}const specialCharConfig=Facet.define({combine(_n){let ke=combineConfig(_n,{render:null,specialChars:Specials,addSpecialChars:null});return(ke.replaceTabs=!supportsTabSize())&&(ke.specialChars=new RegExp(" |"+ke.specialChars.source,UnicodeRegexpSupport)),ke.addSpecialChars&&(ke.specialChars=new RegExp(ke.specialChars.source+"|"+ke.addSpecialChars.source,UnicodeRegexpSupport)),ke}});function highlightSpecialChars(_n={}){return[specialCharConfig.of(_n),specialCharPlugin()]}let _plugin=null;function specialCharPlugin(){return _plugin||(_plugin=ViewPlugin.fromClass(class{constructor(_n){this.view=_n,this.decorations=Decoration.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(_n.state.facet(specialCharConfig)),this.decorations=this.decorator.createDeco(_n)}makeDecorator(_n){return new MatchDecorator({regexp:_n.specialChars,decoration:(ke,Ce,$n)=>{let{doc:Mn}=Ce.state,Qn=codePointAt(ke[0],0);if(Qn==9){let Vn=Mn.lineAt($n),qn=Ce.state.tabSize,Zn=countColumn(Vn.text,qn,$n-Vn.from);return Decoration.replace({widget:new TabWidget((qn-Zn%qn)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[Qn]||(this.decorationCache[Qn]=Decoration.replace({widget:new SpecialCharWidget(_n,Qn)}))},boundary:_n.replaceTabs?void 0:/[^]/})}update(_n){let ke=_n.state.facet(specialCharConfig);_n.startState.facet(specialCharConfig)!=ke?(this.decorator=this.makeDecorator(ke),this.decorations=this.decorator.createDeco(_n.view)):this.decorations=this.decorator.updateDeco(_n,this.decorations)}},{decorations:_n=>_n.decorations}))}const DefaultPlaceholder="•";function placeholder$1(_n){return _n>=32?DefaultPlaceholder:_n==10?"␤":String.fromCharCode(9216+_n)}class SpecialCharWidget extends WidgetType{constructor(ke,Ce){super(),this.options=ke,this.code=Ce}eq(ke){return ke.code==this.code}toDOM(ke){let Ce=placeholder$1(this.code),$n=ke.state.phrase("Control character")+" "+(Names[this.code]||"0x"+this.code.toString(16)),Mn=this.options.render&&this.options.render(this.code,$n,Ce);if(Mn)return Mn;let Qn=document.createElement("span");return Qn.textContent=Ce,Qn.title=$n,Qn.setAttribute("aria-label",$n),Qn.className="cm-specialChar",Qn}ignoreEvent(){return!1}}class TabWidget extends WidgetType{constructor(ke){super(),this.width=ke}eq(ke){return ke.width==this.width}toDOM(){let ke=document.createElement("span");return ke.textContent=" ",ke.className="cm-tab",ke.style.width=this.width+"px",ke}ignoreEvent(){return!1}}function highlightActiveLine(){return activeLineHighlighter}const lineDeco=Decoration.line({class:"cm-activeLine"}),activeLineHighlighter=ViewPlugin.fromClass(class{constructor(_n){this.decorations=this.getDeco(_n)}update(_n){(_n.docChanged||_n.selectionSet)&&(this.decorations=this.getDeco(_n.view))}getDeco(_n){let ke=-1,Ce=[];for(let $n of _n.state.selection.ranges){let Mn=_n.lineBlockAt($n.head);Mn.from>ke&&(Ce.push(lineDeco.range(Mn.from)),ke=Mn.from)}return Decoration.set(Ce)}},{decorations:_n=>_n.decorations}),MaxOff=2e3;function rectangleFor(_n,ke,Ce){let $n=Math.min(ke.line,Ce.line),Mn=Math.max(ke.line,Ce.line),Qn=[];if(ke.off>MaxOff||Ce.off>MaxOff||ke.col<0||Ce.col<0){let Vn=Math.min(ke.off,Ce.off),qn=Math.max(ke.off,Ce.off);for(let Zn=$n;Zn<=Mn;Zn++){let jn=_n.doc.line(Zn);jn.length<=qn&&Qn.push(EditorSelection.range(jn.from+Vn,jn.to+qn))}}else{let Vn=Math.min(ke.col,Ce.col),qn=Math.max(ke.col,Ce.col);for(let Zn=$n;Zn<=Mn;Zn++){let jn=_n.doc.line(Zn),Xn=findColumn(jn.text,Vn,_n.tabSize,!0);if(Xn<0)Qn.push(EditorSelection.cursor(jn.to));else{let zn=findColumn(jn.text,qn,_n.tabSize);Qn.push(EditorSelection.range(jn.from+Xn,jn.from+zn))}}}return Qn}function absoluteColumn(_n,ke){let Ce=_n.coordsAtPos(_n.viewport.from);return Ce?Math.round(Math.abs((Ce.left-ke)/_n.defaultCharacterWidth)):-1}function getPos(_n,ke){let Ce=_n.posAtCoords({x:ke.clientX,y:ke.clientY},!1),$n=_n.state.doc.lineAt(Ce),Mn=Ce-$n.from,Qn=Mn>MaxOff?-1:Mn==$n.length?absoluteColumn(_n,ke.clientX):countColumn($n.text,_n.state.tabSize,Ce-$n.from);return{line:$n.number,col:Qn,off:Mn}}function rectangleSelectionStyle(_n,ke){let Ce=getPos(_n,ke),$n=_n.state.selection;return Ce?{update(Mn){if(Mn.docChanged){let Qn=Mn.changes.mapPos(Mn.startState.doc.line(Ce.line).from),Vn=Mn.state.doc.lineAt(Qn);Ce={line:Vn.number,col:Ce.col,off:Math.min(Ce.off,Vn.length)},$n=$n.map(Mn.changes)}},get(Mn,Qn,Vn){let qn=getPos(_n,Mn);if(!qn)return $n;let Zn=rectangleFor(_n.state,Ce,qn);return Zn.length?Vn?EditorSelection.create(Zn.concat($n.ranges)):EditorSelection.create(Zn):$n}}:null}function rectangularSelection(_n){let ke=Ce=>Ce.altKey&&Ce.button==0;return EditorView.mouseSelectionStyle.of((Ce,$n)=>ke($n)?rectangleSelectionStyle(Ce,$n):null)}const keys={Alt:[18,_n=>!!_n.altKey],Control:[17,_n=>!!_n.ctrlKey],Shift:[16,_n=>!!_n.shiftKey],Meta:[91,_n=>!!_n.metaKey]},showCrosshair={style:"cursor: crosshair"};function crosshairCursor(_n={}){let[ke,Ce]=keys[_n.key||"Alt"],$n=ViewPlugin.fromClass(class{constructor(Mn){this.view=Mn,this.isDown=!1}set(Mn){this.isDown!=Mn&&(this.isDown=Mn,this.view.update([]))}},{eventObservers:{keydown(Mn){this.set(Mn.keyCode==ke||Ce(Mn))},keyup(Mn){(Mn.keyCode==ke||!Ce(Mn))&&this.set(!1)},mousemove(Mn){this.set(Ce(Mn))}}});return[$n,EditorView.contentAttributes.of(Mn=>{var Qn;return!((Qn=Mn.plugin($n))===null||Qn===void 0)&&Qn.isDown?showCrosshair:null})]}const Outside="-10000px";class TooltipViewManager{constructor(ke,Ce,$n,Mn){this.facet=Ce,this.createTooltipView=$n,this.removeTooltipView=Mn,this.input=ke.state.facet(Ce),this.tooltips=this.input.filter(Vn=>Vn);let Qn=null;this.tooltipViews=this.tooltips.map(Vn=>Qn=$n(Vn,Qn))}update(ke,Ce){var $n;let Mn=ke.state.facet(this.facet),Qn=Mn.filter(Zn=>Zn);if(Mn===this.input){for(let Zn of this.tooltipViews)Zn.update&&Zn.update(ke);return!1}let Vn=[],qn=Ce?[]:null;for(let Zn=0;ZnCe[jn]=Zn),Ce.length=qn.length),this.input=Mn,this.tooltips=Qn,this.tooltipViews=Vn,!0}}function windowSpace(_n){let{win:ke}=_n;return{top:0,left:0,bottom:ke.innerHeight,right:ke.innerWidth}}const tooltipConfig=Facet.define({combine:_n=>{var ke,Ce,$n;return{position:browser.ios?"absolute":((ke=_n.find(Mn=>Mn.position))===null||ke===void 0?void 0:ke.position)||"fixed",parent:((Ce=_n.find(Mn=>Mn.parent))===null||Ce===void 0?void 0:Ce.parent)||null,tooltipSpace:(($n=_n.find(Mn=>Mn.tooltipSpace))===null||$n===void 0?void 0:$n.tooltipSpace)||windowSpace}}}),knownHeight=new WeakMap,tooltipPlugin=ViewPlugin.fromClass(class{constructor(_n){this.view=_n,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let ke=_n.state.facet(tooltipConfig);this.position=ke.position,this.parent=ke.parent,this.classes=_n.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.resizeObserver=typeof ResizeObserver=="function"?new ResizeObserver(()=>this.measureSoon()):null,this.manager=new TooltipViewManager(_n,showTooltip,(Ce,$n)=>this.createTooltip(Ce,$n),Ce=>{this.resizeObserver&&this.resizeObserver.unobserve(Ce.dom),Ce.dom.remove()}),this.above=this.manager.tooltips.map(Ce=>!!Ce.above),this.intersectionObserver=typeof IntersectionObserver=="function"?new IntersectionObserver(Ce=>{Date.now()>this.lastTransaction-50&&Ce.length>0&&Ce[Ce.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),_n.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let _n of this.manager.tooltipViews)this.intersectionObserver.observe(_n.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(_n){_n.transactions.length&&(this.lastTransaction=Date.now());let ke=this.manager.update(_n,this.above);ke&&this.observeIntersection();let Ce=ke||_n.geometryChanged,$n=_n.state.facet(tooltipConfig);if($n.position!=this.position&&!this.madeAbsolute){this.position=$n.position;for(let Mn of this.manager.tooltipViews)Mn.dom.style.position=this.position;Ce=!0}if($n.parent!=this.parent){this.parent&&this.container.remove(),this.parent=$n.parent,this.createContainer();for(let Mn of this.manager.tooltipViews)this.container.appendChild(Mn.dom);Ce=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);Ce&&this.maybeMeasure()}createTooltip(_n,ke){let Ce=_n.create(this.view),$n=ke?ke.dom:null;if(Ce.dom.classList.add("cm-tooltip"),_n.arrow&&!Ce.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let Mn=document.createElement("div");Mn.className="cm-tooltip-arrow",Ce.dom.appendChild(Mn)}return Ce.dom.style.position=this.position,Ce.dom.style.top=Outside,Ce.dom.style.left="0px",this.container.insertBefore(Ce.dom,$n),Ce.mount&&Ce.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(Ce.dom),Ce}destroy(){var _n,ke,Ce;this.view.win.removeEventListener("resize",this.measureSoon);for(let $n of this.manager.tooltipViews)$n.dom.remove(),(_n=$n.destroy)===null||_n===void 0||_n.call($n);this.parent&&this.container.remove(),(ke=this.resizeObserver)===null||ke===void 0||ke.disconnect(),(Ce=this.intersectionObserver)===null||Ce===void 0||Ce.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let _n=this.view.dom.getBoundingClientRect(),ke=1,Ce=1,$n=!1;if(this.position=="fixed"&&this.manager.tooltipViews.length){let{dom:Mn}=this.manager.tooltipViews[0];if(browser.gecko)$n=Mn.offsetParent!=this.container.ownerDocument.body;else if(Mn.style.top==Outside&&Mn.style.left=="0px"){let Qn=Mn.getBoundingClientRect();$n=Math.abs(Qn.top+1e4)>1||Math.abs(Qn.left)>1}}if($n||this.position=="absolute")if(this.parent){let Mn=this.parent.getBoundingClientRect();Mn.width&&Mn.height&&(ke=Mn.width/this.parent.offsetWidth,Ce=Mn.height/this.parent.offsetHeight)}else({scaleX:ke,scaleY:Ce}=this.view.viewState);return{editor:_n,parent:this.parent?this.container.getBoundingClientRect():_n,pos:this.manager.tooltips.map((Mn,Qn)=>{let Vn=this.manager.tooltipViews[Qn];return Vn.getCoords?Vn.getCoords(Mn.pos):this.view.coordsAtPos(Mn.pos)}),size:this.manager.tooltipViews.map(({dom:Mn})=>Mn.getBoundingClientRect()),space:this.view.state.facet(tooltipConfig).tooltipSpace(this.view),scaleX:ke,scaleY:Ce,makeAbsolute:$n}}writeMeasure(_n){var ke;if(_n.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let qn of this.manager.tooltipViews)qn.dom.style.position="absolute"}let{editor:Ce,space:$n,scaleX:Mn,scaleY:Qn}=_n,Vn=[];for(let qn=0;qn=Math.min(Ce.bottom,$n.bottom)||zn.rightMath.min(Ce.right,$n.right)+.1){Xn.style.top=Outside;continue}let Wn=Zn.arrow?jn.dom.querySelector(".cm-tooltip-arrow"):null,Yn=Wn?7:0,Un=Hn.right-Hn.left,Gn=(ke=knownHeight.get(jn))!==null&&ke!==void 0?ke:Hn.bottom-Hn.top,Kn=jn.offset||noOffset,Jn=this.view.textDirection==Direction.LTR,tr=Hn.width>$n.right-$n.left?Jn?$n.left:$n.right-Hn.width:Jn?Math.max($n.left,Math.min(zn.left-(Wn?14:0)+Kn.x,$n.right-Un)):Math.min(Math.max($n.left,zn.left-Un+(Wn?14:0)-Kn.x),$n.right-Un),nr=this.above[qn];!Zn.strictSide&&(nr?zn.top-(Hn.bottom-Hn.top)-Kn.y<$n.top:zn.bottom+(Hn.bottom-Hn.top)+Kn.y>$n.bottom)&&nr==$n.bottom-zn.bottom>zn.top-$n.top&&(nr=this.above[qn]=!nr);let er=(nr?zn.top-$n.top:$n.bottom-zn.bottom)-Yn;if(ertr&&ir.toprr&&(rr=nr?ir.top-Gn-2-Yn:ir.bottom+Yn+2);if(this.position=="absolute"?(Xn.style.top=(rr-_n.parent.top)/Qn+"px",Xn.style.left=(tr-_n.parent.left)/Mn+"px"):(Xn.style.top=rr/Qn+"px",Xn.style.left=tr/Mn+"px"),Wn){let ir=zn.left+(Jn?Kn.x:-Kn.x)-(tr+14-7);Wn.style.left=ir/Mn+"px"}jn.overlap!==!0&&Vn.push({left:tr,top:rr,right:or,bottom:rr+Gn}),Xn.classList.toggle("cm-tooltip-above",nr),Xn.classList.toggle("cm-tooltip-below",!nr),jn.positioned&&jn.positioned(_n.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let _n of this.manager.tooltipViews)_n.dom.style.top=Outside}},{eventObservers:{scroll(){this.maybeMeasure()}}}),baseTheme$4=EditorView.baseTheme({".cm-tooltip":{zIndex:100,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:`${7*2}px`,position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),noOffset={x:0,y:0},showTooltip=Facet.define({enables:[tooltipPlugin,baseTheme$4]}),showHoverTooltip=Facet.define({combine:_n=>_n.reduce((ke,Ce)=>ke.concat(Ce),[])});class HoverTooltipHost{static create(ke){return new HoverTooltipHost(ke)}constructor(ke){this.view=ke,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new TooltipViewManager(ke,showHoverTooltip,(Ce,$n)=>this.createHostedView(Ce,$n),Ce=>Ce.dom.remove())}createHostedView(ke,Ce){let $n=ke.create(this.view);return $n.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore($n.dom,Ce?Ce.dom.nextSibling:this.dom.firstChild),this.mounted&&$n.mount&&$n.mount(this.view),$n}mount(ke){for(let Ce of this.manager.tooltipViews)Ce.mount&&Ce.mount(ke);this.mounted=!0}positioned(ke){for(let Ce of this.manager.tooltipViews)Ce.positioned&&Ce.positioned(ke)}update(ke){this.manager.update(ke)}destroy(){var ke;for(let Ce of this.manager.tooltipViews)(ke=Ce.destroy)===null||ke===void 0||ke.call(Ce)}passProp(ke){let Ce;for(let $n of this.manager.tooltipViews){let Mn=$n[ke];if(Mn!==void 0){if(Ce===void 0)Ce=Mn;else if(Ce!==Mn)return}}return Ce}get offset(){return this.passProp("offset")}get getCoords(){return this.passProp("getCoords")}get overlap(){return this.passProp("overlap")}get resize(){return this.passProp("resize")}}const showHoverTooltipHost=showTooltip.compute([showHoverTooltip],_n=>{let ke=_n.facet(showHoverTooltip);return ke.length===0?null:{pos:Math.min(...ke.map(Ce=>Ce.pos)),end:Math.max(...ke.map(Ce=>{var $n;return($n=Ce.end)!==null&&$n!==void 0?$n:Ce.pos})),create:HoverTooltipHost.create,above:ke[0].above,arrow:ke.some(Ce=>Ce.arrow)}});class HoverPlugin{constructor(ke,Ce,$n,Mn,Qn){this.view=ke,this.source=Ce,this.field=$n,this.setHover=Mn,this.hoverTime=Qn,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:ke.dom,time:0},this.checkHover=this.checkHover.bind(this),ke.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),ke.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(){this.pending&&(this.pending=null,clearTimeout(this.restartTimeout),this.restartTimeout=setTimeout(()=>this.startHover(),20))}get active(){return this.view.state.field(this.field)}checkHover(){if(this.hoverTimeout=-1,this.active.length)return;let ke=Date.now()-this.lastMove.time;keqn.bottom||Ce.xqn.right+ke.defaultCharacterWidth)return;let Zn=ke.bidiSpans(ke.state.doc.lineAt(Mn)).find(Xn=>Xn.from<=Mn&&Xn.to>=Mn),jn=Zn&&Zn.dir==Direction.RTL?-1:1;Qn=Ce.x{this.pending==qn&&(this.pending=null,Zn&&!(Array.isArray(Zn)&&!Zn.length)&&ke.dispatch({effects:this.setHover.of(Array.isArray(Zn)?Zn:[Zn])}))},Zn=>logException(ke.state,Zn,"hover tooltip"))}else Vn&&!(Array.isArray(Vn)&&!Vn.length)&&ke.dispatch({effects:this.setHover.of(Array.isArray(Vn)?Vn:[Vn])})}get tooltip(){let ke=this.view.plugin(tooltipPlugin),Ce=ke?ke.manager.tooltips.findIndex($n=>$n.create==HoverTooltipHost.create):-1;return Ce>-1?ke.manager.tooltipViews[Ce]:null}mousemove(ke){var Ce,$n;this.lastMove={x:ke.clientX,y:ke.clientY,target:ke.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let{active:Mn,tooltip:Qn}=this;if(Mn.length&&Qn&&!isInTooltip(Qn.dom,ke)||this.pending){let{pos:Vn}=Mn[0]||this.pending,qn=($n=(Ce=Mn[0])===null||Ce===void 0?void 0:Ce.end)!==null&&$n!==void 0?$n:Vn;(Vn==qn?this.view.posAtCoords(this.lastMove)!=Vn:!isOverRange(this.view,Vn,qn,ke.clientX,ke.clientY))&&(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}}mouseleave(ke){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:Ce}=this;if(Ce.length){let{tooltip:$n}=this;$n&&$n.dom.contains(ke.relatedTarget)?this.watchTooltipLeave($n.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(ke){let Ce=$n=>{ke.removeEventListener("mouseleave",Ce),this.active.length&&!this.view.dom.contains($n.relatedTarget)&&this.view.dispatch({effects:this.setHover.of([])})};ke.addEventListener("mouseleave",Ce)}destroy(){clearTimeout(this.hoverTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}}const tooltipMargin=4;function isInTooltip(_n,ke){let{left:Ce,right:$n,top:Mn,bottom:Qn}=_n.getBoundingClientRect(),Vn;if(Vn=_n.querySelector(".cm-tooltip-arrow")){let qn=Vn.getBoundingClientRect();Mn=Math.min(qn.top,Mn),Qn=Math.max(qn.bottom,Qn)}return ke.clientX>=Ce-tooltipMargin&&ke.clientX<=$n+tooltipMargin&&ke.clientY>=Mn-tooltipMargin&&ke.clientY<=Qn+tooltipMargin}function isOverRange(_n,ke,Ce,$n,Mn,Qn){let Vn=_n.scrollDOM.getBoundingClientRect(),qn=_n.documentTop+_n.documentPadding.top+_n.contentHeight;if(Vn.left>$n||Vn.right<$n||Vn.top>Mn||Math.min(Vn.bottom,qn)=ke&&Zn<=Ce}function hoverTooltip(_n,ke={}){let Ce=StateEffect.define(),$n=StateField.define({create(){return[]},update(Mn,Qn){if(Mn.length&&(ke.hideOnChange&&(Qn.docChanged||Qn.selection)?Mn=[]:ke.hideOn&&(Mn=Mn.filter(Vn=>!ke.hideOn(Qn,Vn))),Qn.docChanged)){let Vn=[];for(let qn of Mn){let Zn=Qn.changes.mapPos(qn.pos,-1,MapMode.TrackDel);if(Zn!=null){let jn=Object.assign(Object.create(null),qn);jn.pos=Zn,jn.end!=null&&(jn.end=Qn.changes.mapPos(jn.end)),Vn.push(jn)}}Mn=Vn}for(let Vn of Qn.effects)Vn.is(Ce)&&(Mn=Vn.value),Vn.is(closeHoverTooltipEffect)&&(Mn=[]);return Mn},provide:Mn=>showHoverTooltip.from(Mn)});return{active:$n,extension:[$n,ViewPlugin.define(Mn=>new HoverPlugin(Mn,_n,$n,Ce,ke.hoverTime||300)),showHoverTooltipHost]}}function getTooltip(_n,ke){let Ce=_n.plugin(tooltipPlugin);if(!Ce)return null;let $n=Ce.manager.tooltips.indexOf(ke);return $n<0?null:Ce.manager.tooltipViews[$n]}const closeHoverTooltipEffect=StateEffect.define(),panelConfig=Facet.define({combine(_n){let ke,Ce;for(let $n of _n)ke=ke||$n.topContainer,Ce=Ce||$n.bottomContainer;return{topContainer:ke,bottomContainer:Ce}}});function getPanel(_n,ke){let Ce=_n.plugin(panelPlugin),$n=Ce?Ce.specs.indexOf(ke):-1;return $n>-1?Ce.panels[$n]:null}const panelPlugin=ViewPlugin.fromClass(class{constructor(_n){this.input=_n.state.facet(showPanel),this.specs=this.input.filter(Ce=>Ce),this.panels=this.specs.map(Ce=>Ce(_n));let ke=_n.state.facet(panelConfig);this.top=new PanelGroup(_n,!0,ke.topContainer),this.bottom=new PanelGroup(_n,!1,ke.bottomContainer),this.top.sync(this.panels.filter(Ce=>Ce.top)),this.bottom.sync(this.panels.filter(Ce=>!Ce.top));for(let Ce of this.panels)Ce.dom.classList.add("cm-panel"),Ce.mount&&Ce.mount()}update(_n){let ke=_n.state.facet(panelConfig);this.top.container!=ke.topContainer&&(this.top.sync([]),this.top=new PanelGroup(_n.view,!0,ke.topContainer)),this.bottom.container!=ke.bottomContainer&&(this.bottom.sync([]),this.bottom=new PanelGroup(_n.view,!1,ke.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let Ce=_n.state.facet(showPanel);if(Ce!=this.input){let $n=Ce.filter(Zn=>Zn),Mn=[],Qn=[],Vn=[],qn=[];for(let Zn of $n){let jn=this.specs.indexOf(Zn),Xn;jn<0?(Xn=Zn(_n.view),qn.push(Xn)):(Xn=this.panels[jn],Xn.update&&Xn.update(_n)),Mn.push(Xn),(Xn.top?Qn:Vn).push(Xn)}this.specs=$n,this.panels=Mn,this.top.sync(Qn),this.bottom.sync(Vn);for(let Zn of qn)Zn.dom.classList.add("cm-panel"),Zn.mount&&Zn.mount()}else for(let $n of this.panels)$n.update&&$n.update(_n)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:_n=>EditorView.scrollMargins.of(ke=>{let Ce=ke.plugin(_n);return Ce&&{top:Ce.top.scrollMargin(),bottom:Ce.bottom.scrollMargin()}})});class PanelGroup{constructor(ke,Ce,$n){this.view=ke,this.top=Ce,this.container=$n,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(ke){for(let Ce of this.panels)Ce.destroy&&ke.indexOf(Ce)<0&&Ce.destroy();this.panels=ke,this.syncDOM()}syncDOM(){if(this.panels.length==0){this.dom&&(this.dom.remove(),this.dom=void 0);return}if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom",this.dom.style[this.top?"top":"bottom"]="0";let Ce=this.container||this.view.dom;Ce.insertBefore(this.dom,this.top?Ce.firstChild:null)}let ke=this.dom.firstChild;for(let Ce of this.panels)if(Ce.dom.parentNode==this.dom){for(;ke!=Ce.dom;)ke=rm(ke);ke=ke.nextSibling}else this.dom.insertBefore(Ce.dom,ke);for(;ke;)ke=rm(ke)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(!(!this.container||this.classes==this.view.themeClasses)){for(let ke of this.classes.split(" "))ke&&this.container.classList.remove(ke);for(let ke of(this.classes=this.view.themeClasses).split(" "))ke&&this.container.classList.add(ke)}}}function rm(_n){let ke=_n.nextSibling;return _n.remove(),ke}const showPanel=Facet.define({enables:panelPlugin});class GutterMarker extends RangeValue{compare(ke){return this==ke||this.constructor==ke.constructor&&this.eq(ke)}eq(ke){return!1}destroy(ke){}}GutterMarker.prototype.elementClass="";GutterMarker.prototype.toDOM=void 0;GutterMarker.prototype.mapMode=MapMode.TrackBefore;GutterMarker.prototype.startSide=GutterMarker.prototype.endSide=-1;GutterMarker.prototype.point=!0;const gutterLineClass=Facet.define(),gutterWidgetClass=Facet.define(),defaults$1={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>RangeSet.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{}},activeGutters=Facet.define();function gutter(_n){return[gutters(),activeGutters.of(Object.assign(Object.assign({},defaults$1),_n))]}const unfixGutters=Facet.define({combine:_n=>_n.some(ke=>ke)});function gutters(_n){return[gutterView]}const gutterView=ViewPlugin.fromClass(class{constructor(_n){this.view=_n,this.prevViewport=_n.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=_n.state.facet(activeGutters).map(ke=>new SingleGutterView(_n,ke));for(let ke of this.gutters)this.dom.appendChild(ke.dom);this.fixed=!_n.state.facet(unfixGutters),this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),_n.scrollDOM.insertBefore(this.dom,_n.contentDOM)}update(_n){if(this.updateGutters(_n)){let ke=this.prevViewport,Ce=_n.view.viewport,$n=Math.min(ke.to,Ce.to)-Math.max(ke.from,Ce.from);this.syncGutters($n<(Ce.to-Ce.from)*.8)}_n.geometryChanged&&(this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px"),this.view.state.facet(unfixGutters)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":""),this.prevViewport=_n.view.viewport}syncGutters(_n){let ke=this.dom.nextSibling;_n&&this.dom.remove();let Ce=RangeSet.iter(this.view.state.facet(gutterLineClass),this.view.viewport.from),$n=[],Mn=this.gutters.map(Qn=>new UpdateContext(Qn,this.view.viewport,-this.view.documentPadding.top));for(let Qn of this.view.viewportLineBlocks)if($n.length&&($n=[]),Array.isArray(Qn.type)){let Vn=!0;for(let qn of Qn.type)if(qn.type==BlockType.Text&&Vn){advanceCursor(Ce,$n,qn.from);for(let Zn of Mn)Zn.line(this.view,qn,$n);Vn=!1}else if(qn.widget)for(let Zn of Mn)Zn.widget(this.view,qn)}else if(Qn.type==BlockType.Text){advanceCursor(Ce,$n,Qn.from);for(let Vn of Mn)Vn.line(this.view,Qn,$n)}else if(Qn.widget)for(let Vn of Mn)Vn.widget(this.view,Qn);for(let Qn of Mn)Qn.finish();_n&&this.view.scrollDOM.insertBefore(this.dom,ke)}updateGutters(_n){let ke=_n.startState.facet(activeGutters),Ce=_n.state.facet(activeGutters),$n=_n.docChanged||_n.heightChanged||_n.viewportChanged||!RangeSet.eq(_n.startState.facet(gutterLineClass),_n.state.facet(gutterLineClass),_n.view.viewport.from,_n.view.viewport.to);if(ke==Ce)for(let Mn of this.gutters)Mn.update(_n)&&($n=!0);else{$n=!0;let Mn=[];for(let Qn of Ce){let Vn=ke.indexOf(Qn);Vn<0?Mn.push(new SingleGutterView(this.view,Qn)):(this.gutters[Vn].update(_n),Mn.push(this.gutters[Vn]))}for(let Qn of this.gutters)Qn.dom.remove(),Mn.indexOf(Qn)<0&&Qn.destroy();for(let Qn of Mn)this.dom.appendChild(Qn.dom);this.gutters=Mn}return $n}destroy(){for(let _n of this.gutters)_n.destroy();this.dom.remove()}},{provide:_n=>EditorView.scrollMargins.of(ke=>{let Ce=ke.plugin(_n);return!Ce||Ce.gutters.length==0||!Ce.fixed?null:ke.textDirection==Direction.LTR?{left:Ce.dom.offsetWidth*ke.scaleX}:{right:Ce.dom.offsetWidth*ke.scaleX}})});function asArray(_n){return Array.isArray(_n)?_n:[_n]}function advanceCursor(_n,ke,Ce){for(;_n.value&&_n.from<=Ce;)_n.from==Ce&&ke.push(_n.value),_n.next()}class UpdateContext{constructor(ke,Ce,$n){this.gutter=ke,this.height=$n,this.i=0,this.cursor=RangeSet.iter(ke.markers,Ce.from)}addElement(ke,Ce,$n){let{gutter:Mn}=this,Qn=(Ce.top-this.height)/ke.scaleY,Vn=Ce.height/ke.scaleY;if(this.i==Mn.elements.length){let qn=new GutterElement(ke,Vn,Qn,$n);Mn.elements.push(qn),Mn.dom.appendChild(qn.dom)}else Mn.elements[this.i].update(ke,Vn,Qn,$n);this.height=Ce.bottom,this.i++}line(ke,Ce,$n){let Mn=[];advanceCursor(this.cursor,Mn,Ce.from),$n.length&&(Mn=Mn.concat($n));let Qn=this.gutter.config.lineMarker(ke,Ce,Mn);Qn&&Mn.unshift(Qn);let Vn=this.gutter;Mn.length==0&&!Vn.config.renderEmptyElements||this.addElement(ke,Ce,Mn)}widget(ke,Ce){let $n=this.gutter.config.widgetMarker(ke,Ce.widget,Ce),Mn=$n?[$n]:null;for(let Qn of ke.state.facet(gutterWidgetClass)){let Vn=Qn(ke,Ce.widget,Ce);Vn&&(Mn||(Mn=[])).push(Vn)}Mn&&this.addElement(ke,Ce,Mn)}finish(){let ke=this.gutter;for(;ke.elements.length>this.i;){let Ce=ke.elements.pop();ke.dom.removeChild(Ce.dom),Ce.destroy()}}}class SingleGutterView{constructor(ke,Ce){this.view=ke,this.config=Ce,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let $n in Ce.domEventHandlers)this.dom.addEventListener($n,Mn=>{let Qn=Mn.target,Vn;if(Qn!=this.dom&&this.dom.contains(Qn)){for(;Qn.parentNode!=this.dom;)Qn=Qn.parentNode;let Zn=Qn.getBoundingClientRect();Vn=(Zn.top+Zn.bottom)/2}else Vn=Mn.clientY;let qn=ke.lineBlockAtHeight(Vn-ke.documentTop);Ce.domEventHandlers[$n](ke,qn,Mn)&&Mn.preventDefault()});this.markers=asArray(Ce.markers(ke)),Ce.initialSpacer&&(this.spacer=new GutterElement(ke,0,0,[Ce.initialSpacer(ke)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(ke){let Ce=this.markers;if(this.markers=asArray(this.config.markers(ke.view)),this.spacer&&this.config.updateSpacer){let Mn=this.config.updateSpacer(this.spacer.markers[0],ke);Mn!=this.spacer.markers[0]&&this.spacer.update(ke.view,0,0,[Mn])}let $n=ke.view.viewport;return!RangeSet.eq(this.markers,Ce,$n.from,$n.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(ke):!1)}destroy(){for(let ke of this.elements)ke.destroy()}}class GutterElement{constructor(ke,Ce,$n,Mn){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(ke,Ce,$n,Mn)}update(ke,Ce,$n,Mn){this.height!=Ce&&(this.height=Ce,this.dom.style.height=Ce+"px"),this.above!=$n&&(this.dom.style.marginTop=(this.above=$n)?$n+"px":""),sameMarkers(this.markers,Mn)||this.setMarkers(ke,Mn)}setMarkers(ke,Ce){let $n="cm-gutterElement",Mn=this.dom.firstChild;for(let Qn=0,Vn=0;;){let qn=Vn,Zn=QnQn(qn,Zn,jn)||Vn(qn,Zn,jn):Vn}return $n}})}});class NumberMarker extends GutterMarker{constructor(ke){super(),this.number=ke}eq(ke){return this.number==ke.number}toDOM(){return document.createTextNode(this.number)}}function formatNumber(_n,ke){return _n.state.facet(lineNumberConfig).formatNumber(ke,_n.state)}const lineNumberGutter=activeGutters.compute([lineNumberConfig],_n=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(ke){return ke.state.facet(lineNumberMarkers)},lineMarker(ke,Ce,$n){return $n.some(Mn=>Mn.toDOM)?null:new NumberMarker(formatNumber(ke,ke.state.doc.lineAt(Ce.from).number))},widgetMarker:(ke,Ce,$n)=>{for(let Mn of ke.state.facet(lineNumberWidgetMarker)){let Qn=Mn(ke,Ce,$n);if(Qn)return Qn}return null},lineMarkerChange:ke=>ke.startState.facet(lineNumberConfig)!=ke.state.facet(lineNumberConfig),initialSpacer(ke){return new NumberMarker(formatNumber(ke,maxLineNumber(ke.state.doc.lines)))},updateSpacer(ke,Ce){let $n=formatNumber(Ce.view,maxLineNumber(Ce.view.state.doc.lines));return $n==ke.number?ke:new NumberMarker($n)},domEventHandlers:_n.facet(lineNumberConfig).domEventHandlers}));function lineNumbers(_n={}){return[lineNumberConfig.of(_n),gutters(),lineNumberGutter]}function maxLineNumber(_n){let ke=9;for(;ke<_n;)ke=ke*10+9;return ke}const activeLineGutterMarker=new class extends GutterMarker{constructor(){super(...arguments),this.elementClass="cm-activeLineGutter"}},activeLineGutterHighlighter=gutterLineClass.compute(["selection"],_n=>{let ke=[],Ce=-1;for(let $n of _n.selection.ranges){let Mn=_n.doc.lineAt($n.head).from;Mn>Ce&&(Ce=Mn,ke.push(activeLineGutterMarker.range(Mn)))}return RangeSet.of(ke)});function highlightActiveLineGutter(){return activeLineGutterHighlighter}const DefaultBufferLength=1024;let nextPropID=0;class Range{constructor(ke,Ce){this.from=ke,this.to=Ce}}class NodeProp{constructor(ke={}){this.id=nextPropID++,this.perNode=!!ke.perNode,this.deserialize=ke.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")})}add(ke){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof ke!="function"&&(ke=NodeType.match(ke)),Ce=>{let $n=ke(Ce);return $n===void 0?null:[this,$n]}}}NodeProp.closedBy=new NodeProp({deserialize:_n=>_n.split(" ")});NodeProp.openedBy=new NodeProp({deserialize:_n=>_n.split(" ")});NodeProp.group=new NodeProp({deserialize:_n=>_n.split(" ")});NodeProp.isolate=new NodeProp({deserialize:_n=>{if(_n&&_n!="rtl"&&_n!="ltr"&&_n!="auto")throw new RangeError("Invalid value for isolate: "+_n);return _n||"auto"}});NodeProp.contextHash=new NodeProp({perNode:!0});NodeProp.lookAhead=new NodeProp({perNode:!0});NodeProp.mounted=new NodeProp({perNode:!0});class MountedTree{constructor(ke,Ce,$n){this.tree=ke,this.overlay=Ce,this.parser=$n}static get(ke){return ke&&ke.props&&ke.props[NodeProp.mounted.id]}}const noProps=Object.create(null);class NodeType{constructor(ke,Ce,$n,Mn=0){this.name=ke,this.props=Ce,this.id=$n,this.flags=Mn}static define(ke){let Ce=ke.props&&ke.props.length?Object.create(null):noProps,$n=(ke.top?1:0)|(ke.skipped?2:0)|(ke.error?4:0)|(ke.name==null?8:0),Mn=new NodeType(ke.name||"",Ce,ke.id,$n);if(ke.props){for(let Qn of ke.props)if(Array.isArray(Qn)||(Qn=Qn(Mn)),Qn){if(Qn[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");Ce[Qn[0].id]=Qn[1]}}return Mn}prop(ke){return this.props[ke.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(ke){if(typeof ke=="string"){if(this.name==ke)return!0;let Ce=this.prop(NodeProp.group);return Ce?Ce.indexOf(ke)>-1:!1}return this.id==ke}static match(ke){let Ce=Object.create(null);for(let $n in ke)for(let Mn of $n.split(" "))Ce[Mn]=ke[$n];return $n=>{for(let Mn=$n.prop(NodeProp.group),Qn=-1;Qn<(Mn?Mn.length:0);Qn++){let Vn=Ce[Qn<0?$n.name:Mn[Qn]];if(Vn)return Vn}}}}NodeType.none=new NodeType("",Object.create(null),0,8);class NodeSet{constructor(ke){this.types=ke;for(let Ce=0;Ce0;for(let Zn=this.cursor(Vn|IterMode.IncludeAnonymous);;){let jn=!1;if(Zn.from<=Qn&&Zn.to>=Mn&&(!qn&&Zn.type.isAnonymous||Ce(Zn)!==!1)){if(Zn.firstChild())continue;jn=!0}for(;jn&&$n&&(qn||!Zn.type.isAnonymous)&&$n(Zn),!Zn.nextSibling();){if(!Zn.parent())return;jn=!0}}}prop(ke){return ke.perNode?this.props?this.props[ke.id]:void 0:this.type.prop(ke)}get propValues(){let ke=[];if(this.props)for(let Ce in this.props)ke.push([+Ce,this.props[Ce]]);return ke}balance(ke={}){return this.children.length<=8?this:balanceRange(NodeType.none,this.children,this.positions,0,this.children.length,0,this.length,(Ce,$n,Mn)=>new Tree(this.type,Ce,$n,Mn,this.propValues),ke.makeTree||((Ce,$n,Mn)=>new Tree(NodeType.none,Ce,$n,Mn)))}static build(ke){return buildTree(ke)}}Tree.empty=new Tree(NodeType.none,[],[],0);class FlatBufferCursor{constructor(ke,Ce){this.buffer=ke,this.index=Ce}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new FlatBufferCursor(this.buffer,this.index)}}class TreeBuffer{constructor(ke,Ce,$n){this.buffer=ke,this.length=Ce,this.set=$n}get type(){return NodeType.none}toString(){let ke=[];for(let Ce=0;Ce0));Zn=Vn[Zn+3]);return qn}slice(ke,Ce,$n){let Mn=this.buffer,Qn=new Uint16Array(Ce-ke),Vn=0;for(let qn=ke,Zn=0;qn=ke&&Ceke;case 1:return Ce<=ke&&$n>ke;case 2:return $n>ke;case 4:return!0}}function resolveNode(_n,ke,Ce,$n){for(var Mn;_n.from==_n.to||(Ce<1?_n.from>=ke:_n.from>ke)||(Ce>-1?_n.to<=ke:_n.to0?qn.length:-1;ke!=jn;ke+=Ce){let Xn=qn[ke],zn=Zn[ke]+Vn.from;if(checkSide(Mn,$n,zn,zn+Xn.length)){if(Xn instanceof TreeBuffer){if(Qn&IterMode.ExcludeBuffers)continue;let Hn=Xn.findChild(0,Xn.buffer.length,Ce,$n-zn,Mn);if(Hn>-1)return new BufferNode(new BufferContext(Vn,Xn,ke,zn),null,Hn)}else if(Qn&IterMode.IncludeAnonymous||!Xn.type.isAnonymous||hasChild(Xn)){let Hn;if(!(Qn&IterMode.IgnoreMounts)&&(Hn=MountedTree.get(Xn))&&!Hn.overlay)return new TreeNode(Hn.tree,zn,ke,Vn);let Wn=new TreeNode(Xn,zn,ke,Vn);return Qn&IterMode.IncludeAnonymous||!Wn.type.isAnonymous?Wn:Wn.nextChild(Ce<0?Xn.children.length-1:0,Ce,$n,Mn)}}}if(Qn&IterMode.IncludeAnonymous||!Vn.type.isAnonymous||(Vn.index>=0?ke=Vn.index+Ce:ke=Ce<0?-1:Vn._parent._tree.children.length,Vn=Vn._parent,!Vn))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(ke){return this.nextChild(0,1,ke,2)}childBefore(ke){return this.nextChild(this._tree.children.length-1,-1,ke,-2)}enter(ke,Ce,$n=0){let Mn;if(!($n&IterMode.IgnoreOverlays)&&(Mn=MountedTree.get(this._tree))&&Mn.overlay){let Qn=ke-this.from;for(let{from:Vn,to:qn}of Mn.overlay)if((Ce>0?Vn<=Qn:Vn=Qn:qn>Qn))return new TreeNode(Mn.tree,Mn.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,ke,Ce,$n)}nextSignificantParent(){let ke=this;for(;ke.type.isAnonymous&&ke._parent;)ke=ke._parent;return ke}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}}function getChildren(_n,ke,Ce,$n){let Mn=_n.cursor(),Qn=[];if(!Mn.firstChild())return Qn;if(Ce!=null){for(let Vn=!1;!Vn;)if(Vn=Mn.type.is(Ce),!Mn.nextSibling())return Qn}for(;;){if($n!=null&&Mn.type.is($n))return Qn;if(Mn.type.is(ke)&&Qn.push(Mn.node),!Mn.nextSibling())return $n==null?Qn:[]}}function matchNodeContext(_n,ke,Ce=ke.length-1){for(let $n=_n;Ce>=0;$n=$n.parent){if(!$n)return!1;if(!$n.type.isAnonymous){if(ke[Ce]&&ke[Ce]!=$n.name)return!1;Ce--}}return!0}class BufferContext{constructor(ke,Ce,$n,Mn){this.parent=ke,this.buffer=Ce,this.index=$n,this.start=Mn}}class BufferNode extends BaseNode{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(ke,Ce,$n){super(),this.context=ke,this._parent=Ce,this.index=$n,this.type=ke.buffer.set.types[ke.buffer.buffer[$n]]}child(ke,Ce,$n){let{buffer:Mn}=this.context,Qn=Mn.findChild(this.index+4,Mn.buffer[this.index+3],ke,Ce-this.context.start,$n);return Qn<0?null:new BufferNode(this.context,this,Qn)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(ke){return this.child(1,ke,2)}childBefore(ke){return this.child(-1,ke,-2)}enter(ke,Ce,$n=0){if($n&IterMode.ExcludeBuffers)return null;let{buffer:Mn}=this.context,Qn=Mn.findChild(this.index+4,Mn.buffer[this.index+3],Ce>0?1:-1,ke-this.context.start,Ce);return Qn<0?null:new BufferNode(this.context,this,Qn)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(ke){return this._parent?null:this.context.parent.nextChild(this.context.index+ke,ke,0,4)}get nextSibling(){let{buffer:ke}=this.context,Ce=ke.buffer[this.index+3];return Ce<(this._parent?ke.buffer[this._parent.index+3]:ke.buffer.length)?new BufferNode(this.context,this._parent,Ce):this.externalSibling(1)}get prevSibling(){let{buffer:ke}=this.context,Ce=this._parent?this._parent.index+4:0;return this.index==Ce?this.externalSibling(-1):new BufferNode(this.context,this._parent,ke.findChild(Ce,this.index,-1,0,4))}get tree(){return null}toTree(){let ke=[],Ce=[],{buffer:$n}=this.context,Mn=this.index+4,Qn=$n.buffer[this.index+3];if(Qn>Mn){let Vn=$n.buffer[this.index+1];ke.push($n.slice(Mn,Qn,Vn)),Ce.push(0)}return new Tree(this.type,ke,Ce,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function iterStack(_n){if(!_n.length)return null;let ke=0,Ce=_n[0];for(let Qn=1;Qn<_n.length;Qn++){let Vn=_n[Qn];(Vn.from>Ce.from||Vn.to=ke){let qn=new TreeNode(Vn.tree,Vn.overlay[0].from+Qn.from,-1,Qn);(Mn||(Mn=[$n])).push(resolveNode(qn,ke,Ce,!1))}}return Mn?iterStack(Mn):$n}class TreeCursor{get name(){return this.type.name}constructor(ke,Ce=0){if(this.mode=Ce,this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,ke instanceof TreeNode)this.yieldNode(ke);else{this._tree=ke.context.parent,this.buffer=ke.context;for(let $n=ke._parent;$n;$n=$n._parent)this.stack.unshift($n.index);this.bufferNode=ke,this.yieldBuf(ke.index)}}yieldNode(ke){return ke?(this._tree=ke,this.type=ke.type,this.from=ke.from,this.to=ke.to,!0):!1}yieldBuf(ke,Ce){this.index=ke;let{start:$n,buffer:Mn}=this.buffer;return this.type=Ce||Mn.set.types[Mn.buffer[ke]],this.from=$n+Mn.buffer[ke+1],this.to=$n+Mn.buffer[ke+2],!0}yield(ke){return ke?ke instanceof TreeNode?(this.buffer=null,this.yieldNode(ke)):(this.buffer=ke.context,this.yieldBuf(ke.index,ke.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(ke,Ce,$n){if(!this.buffer)return this.yield(this._tree.nextChild(ke<0?this._tree._tree.children.length-1:0,ke,Ce,$n,this.mode));let{buffer:Mn}=this.buffer,Qn=Mn.findChild(this.index+4,Mn.buffer[this.index+3],ke,Ce-this.buffer.start,$n);return Qn<0?!1:(this.stack.push(this.index),this.yieldBuf(Qn))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(ke){return this.enterChild(1,ke,2)}childBefore(ke){return this.enterChild(-1,ke,-2)}enter(ke,Ce,$n=this.mode){return this.buffer?$n&IterMode.ExcludeBuffers?!1:this.enterChild(1,ke,Ce):this.yield(this._tree.enter(ke,Ce,$n))}parent(){if(!this.buffer)return this.yieldNode(this.mode&IterMode.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let ke=this.mode&IterMode.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(ke)}sibling(ke){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+ke,ke,0,4,this.mode)):!1;let{buffer:Ce}=this.buffer,$n=this.stack.length-1;if(ke<0){let Mn=$n<0?0:this.stack[$n]+4;if(this.index!=Mn)return this.yieldBuf(Ce.findChild(Mn,this.index,-1,0,4))}else{let Mn=Ce.buffer[this.index+3];if(Mn<($n<0?Ce.buffer.length:Ce.buffer[this.stack[$n]+3]))return this.yieldBuf(Mn)}return $n<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+ke,ke,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(ke){let Ce,$n,{buffer:Mn}=this;if(Mn){if(ke>0){if(this.index-1)for(let Qn=Ce+ke,Vn=ke<0?-1:$n._tree.children.length;Qn!=Vn;Qn+=ke){let qn=$n._tree.children[Qn];if(this.mode&IterMode.IncludeAnonymous||qn instanceof TreeBuffer||!qn.type.isAnonymous||hasChild(qn))return!1}return!0}move(ke,Ce){if(Ce&&this.enterChild(ke,0,4))return!0;for(;;){if(this.sibling(ke))return!0;if(this.atLastNode(ke)||!this.parent())return!1}}next(ke=!0){return this.move(1,ke)}prev(ke=!0){return this.move(-1,ke)}moveTo(ke,Ce=0){for(;(this.from==this.to||(Ce<1?this.from>=ke:this.from>ke)||(Ce>-1?this.to<=ke:this.to=0;){for(let Vn=ke;Vn;Vn=Vn._parent)if(Vn.index==Mn){if(Mn==this.index)return Vn;Ce=Vn,$n=Qn+1;break e}Mn=this.stack[--Qn]}for(let Mn=$n;Mn=0;Qn--){if(Qn<0)return matchNodeContext(this._tree,ke,Mn);let Vn=$n[Ce.buffer[this.stack[Qn]]];if(!Vn.isAnonymous){if(ke[Mn]&&ke[Mn]!=Vn.name)return!1;Mn--}}return!0}}function hasChild(_n){return _n.children.some(ke=>ke instanceof TreeBuffer||!ke.type.isAnonymous||hasChild(ke))}function buildTree(_n){var ke;let{buffer:Ce,nodeSet:$n,maxBufferLength:Mn=DefaultBufferLength,reused:Qn=[],minRepeatType:Vn=$n.types.length}=_n,qn=Array.isArray(Ce)?new FlatBufferCursor(Ce,Ce.length):Ce,Zn=$n.types,jn=0,Xn=0;function zn(er,rr,or,ir,sr,cr){let{id:ur,start:fr,end:pr,size:mr}=qn,_r=Xn,vr=jn;for(;mr<0;)if(qn.next(),mr==-1){let Mr=Qn[ur];or.push(Mr),ir.push(fr-er);return}else if(mr==-3){jn=ur;return}else if(mr==-4){Xn=ur;return}else throw new RangeError(`Unrecognized record size: ${mr}`);let hr=Zn[ur],br,Er,Cr=fr-er;if(pr-fr<=Mn&&(Er=Gn(qn.pos-rr,sr))){let Mr=new Uint16Array(Er.size-Er.skip),yr=qn.pos-Er.size,Pr=Mr.length;for(;qn.pos>yr;)Pr=Kn(Er.start,Mr,Pr);br=new TreeBuffer(Mr,pr-Er.start,$n),Cr=Er.start-er}else{let Mr=qn.pos-mr;qn.next();let yr=[],Pr=[],Qr=ur>=Vn?ur:-1,Nr=0,Or=pr;for(;qn.pos>Mr;)Qr>=0&&qn.id==Qr&&qn.size>=0?(qn.end<=Or-Mn&&(Yn(yr,Pr,fr,Nr,qn.end,Or,Qr,_r,vr),Nr=yr.length,Or=qn.end),qn.next()):cr>2500?Hn(fr,Mr,yr,Pr):zn(fr,Mr,yr,Pr,Qr,cr+1);if(Qr>=0&&Nr>0&&Nr-1&&Nr>0){let kr=Wn(hr,vr);br=balanceRange(hr,yr,Pr,0,yr.length,0,pr-fr,kr,kr)}else br=Un(hr,yr,Pr,pr-fr,_r-pr,vr)}or.push(br),ir.push(Cr)}function Hn(er,rr,or,ir){let sr=[],cr=0,ur=-1;for(;qn.pos>rr;){let{id:fr,start:pr,end:mr,size:_r}=qn;if(_r>4)qn.next();else{if(ur>-1&&pr=0;mr-=3)fr[_r++]=sr[mr],fr[_r++]=sr[mr+1]-pr,fr[_r++]=sr[mr+2]-pr,fr[_r++]=_r;or.push(new TreeBuffer(fr,sr[2]-pr,$n)),ir.push(pr-er)}}function Wn(er,rr){return(or,ir,sr)=>{let cr=0,ur=or.length-1,fr,pr;if(ur>=0&&(fr=or[ur])instanceof Tree){if(!ur&&fr.type==er&&fr.length==sr)return fr;(pr=fr.prop(NodeProp.lookAhead))&&(cr=ir[ur]+fr.length+pr)}return Un(er,or,ir,sr,cr,rr)}}function Yn(er,rr,or,ir,sr,cr,ur,fr,pr){let mr=[],_r=[];for(;er.length>ir;)mr.push(er.pop()),_r.push(rr.pop()+or-sr);er.push(Un($n.types[ur],mr,_r,cr-sr,fr-cr,pr)),rr.push(sr-or)}function Un(er,rr,or,ir,sr,cr,ur){if(cr){let fr=[NodeProp.contextHash,cr];ur=ur?[fr].concat(ur):[fr]}if(sr>25){let fr=[NodeProp.lookAhead,sr];ur=ur?[fr].concat(ur):[fr]}return new Tree(er,rr,or,ir,ur)}function Gn(er,rr){let or=qn.fork(),ir=0,sr=0,cr=0,ur=or.end-Mn,fr={size:0,start:0,skip:0};e:for(let pr=or.pos-er;or.pos>pr;){let mr=or.size;if(or.id==rr&&mr>=0){fr.size=ir,fr.start=sr,fr.skip=cr,cr+=4,ir+=4,or.next();continue}let _r=or.pos-mr;if(mr<0||_r=Vn?4:0,hr=or.start;for(or.next();or.pos>_r;){if(or.size<0)if(or.size==-3)vr+=4;else break e;else or.id>=Vn&&(vr+=4);or.next()}sr=hr,ir+=mr,cr+=vr}return(rr<0||ir==er)&&(fr.size=ir,fr.start=sr,fr.skip=cr),fr.size>4?fr:void 0}function Kn(er,rr,or){let{id:ir,start:sr,end:cr,size:ur}=qn;if(qn.next(),ur>=0&&ir4){let pr=qn.pos-(ur-4);for(;qn.pos>pr;)or=Kn(er,rr,or)}rr[--or]=fr,rr[--or]=cr-er,rr[--or]=sr-er,rr[--or]=ir}else ur==-3?jn=ir:ur==-4&&(Xn=ir);return or}let Jn=[],tr=[];for(;qn.pos>0;)zn(_n.start||0,_n.bufferStart||0,Jn,tr,-1,0);let nr=(ke=_n.length)!==null&&ke!==void 0?ke:Jn.length?tr[0]+Jn[0].length:0;return new Tree(Zn[_n.topID],Jn.reverse(),tr.reverse(),nr)}const nodeSizeCache=new WeakMap;function nodeSize(_n,ke){if(!_n.isAnonymous||ke instanceof TreeBuffer||ke.type!=_n)return 1;let Ce=nodeSizeCache.get(ke);if(Ce==null){Ce=1;for(let $n of ke.children){if($n.type!=_n||!($n instanceof Tree)){Ce=1;break}Ce+=nodeSize(_n,$n)}nodeSizeCache.set(ke,Ce)}return Ce}function balanceRange(_n,ke,Ce,$n,Mn,Qn,Vn,qn,Zn){let jn=0;for(let Yn=$n;Yn=Xn)break;rr+=or}if(tr==nr+1){if(rr>Xn){let or=Yn[nr];Wn(or.children,or.positions,0,or.children.length,Un[nr]+Jn);continue}zn.push(Yn[nr])}else{let or=Un[tr-1]+Yn[tr-1].length-er;zn.push(balanceRange(_n,Yn,Un,nr,tr,er,or,null,Zn))}Hn.push(er+Jn-Qn)}}return Wn(ke,Ce,$n,Mn,0),(qn||Zn)(zn,Hn,Vn)}class NodeWeakMap{constructor(){this.map=new WeakMap}setBuffer(ke,Ce,$n){let Mn=this.map.get(ke);Mn||this.map.set(ke,Mn=new Map),Mn.set(Ce,$n)}getBuffer(ke,Ce){let $n=this.map.get(ke);return $n&&$n.get(Ce)}set(ke,Ce){ke instanceof BufferNode?this.setBuffer(ke.context.buffer,ke.index,Ce):ke instanceof TreeNode&&this.map.set(ke.tree,Ce)}get(ke){return ke instanceof BufferNode?this.getBuffer(ke.context.buffer,ke.index):ke instanceof TreeNode?this.map.get(ke.tree):void 0}cursorSet(ke,Ce){ke.buffer?this.setBuffer(ke.buffer.buffer,ke.index,Ce):this.map.set(ke.tree,Ce)}cursorGet(ke){return ke.buffer?this.getBuffer(ke.buffer.buffer,ke.index):this.map.get(ke.tree)}}class TreeFragment{constructor(ke,Ce,$n,Mn,Qn=!1,Vn=!1){this.from=ke,this.to=Ce,this.tree=$n,this.offset=Mn,this.open=(Qn?1:0)|(Vn?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(ke,Ce=[],$n=!1){let Mn=[new TreeFragment(0,ke.length,ke,0,!1,$n)];for(let Qn of Ce)Qn.to>ke.length&&Mn.push(Qn);return Mn}static applyChanges(ke,Ce,$n=128){if(!Ce.length)return ke;let Mn=[],Qn=1,Vn=ke.length?ke[0]:null;for(let qn=0,Zn=0,jn=0;;qn++){let Xn=qn=$n)for(;Vn&&Vn.from=Hn.from||zn<=Hn.to||jn){let Wn=Math.max(Hn.from,Zn)-jn,Yn=Math.min(Hn.to,zn)-jn;Hn=Wn>=Yn?null:new TreeFragment(Wn,Yn,Hn.tree,Hn.offset+jn,qn>0,!!Xn)}if(Hn&&Mn.push(Hn),Vn.to>zn)break;Vn=Qnnew Range(Mn.from,Mn.to)):[new Range(0,0)]:[new Range(0,ke.length)],this.createParse(ke,Ce||[],$n)}parse(ke,Ce,$n){let Mn=this.startParse(ke,Ce,$n);for(;;){let Qn=Mn.advance();if(Qn)return Qn}}}class StringInput{constructor(ke){this.string=ke}get length(){return this.string.length}chunk(ke){return this.string.slice(ke)}get lineChunks(){return!1}read(ke,Ce){return this.string.slice(ke,Ce)}}function parseMixed(_n){return(ke,Ce,$n,Mn)=>new MixedParse(ke,_n,Ce,$n,Mn)}class InnerParse{constructor(ke,Ce,$n,Mn,Qn){this.parser=ke,this.parse=Ce,this.overlay=$n,this.target=Mn,this.from=Qn}}function checkRanges(_n){if(!_n.length||_n.some(ke=>ke.from>=ke.to))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(_n))}class ActiveOverlay{constructor(ke,Ce,$n,Mn,Qn,Vn,qn){this.parser=ke,this.predicate=Ce,this.mounts=$n,this.index=Mn,this.start=Qn,this.target=Vn,this.prev=qn,this.depth=0,this.ranges=[]}}const stoppedInner=new NodeProp({perNode:!0});class MixedParse{constructor(ke,Ce,$n,Mn,Qn){this.nest=Ce,this.input=$n,this.fragments=Mn,this.ranges=Qn,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=ke}advance(){if(this.baseParse){let $n=this.baseParse.advance();if(!$n)return null;if(this.baseParse=null,this.baseTree=$n,this.startInner(),this.stoppedAt!=null)for(let Mn of this.inner)Mn.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let $n=this.baseTree;return this.stoppedAt!=null&&($n=new Tree($n.type,$n.children,$n.positions,$n.length,$n.propValues.concat([[stoppedInner,this.stoppedAt]]))),$n}let ke=this.inner[this.innerDone],Ce=ke.parse.advance();if(Ce){this.innerDone++;let $n=Object.assign(Object.create(null),ke.target.props);$n[NodeProp.mounted.id]=new MountedTree(Ce,ke.overlay,ke.parser),ke.target.props=$n}return null}get parsedPos(){if(this.baseParse)return 0;let ke=this.input.length;for(let Ce=this.innerDone;Ce=this.stoppedAt)qn=!1;else if(ke.hasNode(Mn)){if(Ce){let jn=Ce.mounts.find(Xn=>Xn.frag.from<=Mn.from&&Xn.frag.to>=Mn.to&&Xn.mount.overlay);if(jn)for(let Xn of jn.mount.overlay){let zn=Xn.from+jn.pos,Hn=Xn.to+jn.pos;zn>=Mn.from&&Hn<=Mn.to&&!Ce.ranges.some(Wn=>Wn.fromzn)&&Ce.ranges.push({from:zn,to:Hn})}}qn=!1}else if($n&&(Vn=checkCover($n.ranges,Mn.from,Mn.to)))qn=Vn!=2;else if(!Mn.type.isAnonymous&&(Qn=this.nest(Mn,this.input))&&(Mn.fromnew Range(zn.from-Mn.from,zn.to-Mn.from)):null,Mn.tree,Xn.length?Xn[0].from:Mn.from)),Qn.overlay?Xn.length&&($n={ranges:Xn,depth:0,prev:$n}):qn=!1}}else if(Ce&&(Zn=Ce.predicate(Mn))&&(Zn===!0&&(Zn=new Range(Mn.from,Mn.to)),Zn.from=0&&Ce.ranges[jn].to==Zn.from?Ce.ranges[jn]={from:Ce.ranges[jn].from,to:Zn.to}:Ce.ranges.push(Zn)}if(qn&&Mn.firstChild())Ce&&Ce.depth++,$n&&$n.depth++;else for(;!Mn.nextSibling();){if(!Mn.parent())break e;if(Ce&&!--Ce.depth){let jn=punchRanges(this.ranges,Ce.ranges);jn.length&&(checkRanges(jn),this.inner.splice(Ce.index,0,new InnerParse(Ce.parser,Ce.parser.startParse(this.input,enterFragments(Ce.mounts,jn),jn),Ce.ranges.map(Xn=>new Range(Xn.from-Ce.start,Xn.to-Ce.start)),Ce.target,jn[0].from))),Ce=Ce.prev}$n&&!--$n.depth&&($n=$n.prev)}}}}function checkCover(_n,ke,Ce){for(let $n of _n){if($n.from>=Ce)break;if($n.to>ke)return $n.from<=ke&&$n.to>=Ce?2:1}return 0}function sliceBuf(_n,ke,Ce,$n,Mn,Qn){if(ke=ke&&Ce.enter($n,1,IterMode.IgnoreOverlays|IterMode.ExcludeBuffers)||Ce.next(!1)||(this.done=!0)}hasNode(ke){if(this.moveTo(ke.from),!this.done&&this.cursor.from+this.offset==ke.from&&this.cursor.tree)for(let Ce=this.cursor.tree;;){if(Ce==ke.tree)return!0;if(Ce.children.length&&Ce.positions[0]==0&&Ce.children[0]instanceof Tree)Ce=Ce.children[0];else break}return!1}}let FragmentCursor$2=class{constructor(ke){var Ce;if(this.fragments=ke,this.curTo=0,this.fragI=0,ke.length){let $n=this.curFrag=ke[0];this.curTo=(Ce=$n.tree.prop(stoppedInner))!==null&&Ce!==void 0?Ce:$n.to,this.inner=new StructureCursor($n.tree,-$n.offset)}else this.curFrag=this.inner=null}hasNode(ke){for(;this.curFrag&&ke.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=ke.from&&this.curTo>=ke.to&&this.inner.hasNode(ke)}nextFrag(){var ke;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let Ce=this.curFrag=this.fragments[this.fragI];this.curTo=(ke=Ce.tree.prop(stoppedInner))!==null&&ke!==void 0?ke:Ce.to,this.inner=new StructureCursor(Ce.tree,-Ce.offset)}}findMounts(ke,Ce){var $n;let Mn=[];if(this.inner){this.inner.cursor.moveTo(ke,1);for(let Qn=this.inner.cursor.node;Qn;Qn=Qn.parent){let Vn=($n=Qn.tree)===null||$n===void 0?void 0:$n.prop(NodeProp.mounted);if(Vn&&Vn.parser==Ce)for(let qn=this.fragI;qn=Qn.to)break;Zn.tree==this.curFrag.tree&&Mn.push({frag:Zn,pos:Qn.from-Zn.offset,mount:Vn})}}}return Mn}};function punchRanges(_n,ke){let Ce=null,$n=ke;for(let Mn=1,Qn=0;Mn<_n.length;Mn++){let Vn=_n[Mn-1].to,qn=_n[Mn].from;for(;Qn<$n.length;Qn++){let Zn=$n[Qn];if(Zn.from>=qn)break;Zn.to<=Vn||(Ce||($n=Ce=ke.slice()),Zn.fromqn&&Ce.splice(Qn+1,0,new Range(qn,Zn.to))):Zn.to>qn?Ce[Qn--]=new Range(qn,Zn.to):Ce.splice(Qn--,1))}}return $n}function findCoverChanges(_n,ke,Ce,$n){let Mn=0,Qn=0,Vn=!1,qn=!1,Zn=-1e9,jn=[];for(;;){let Xn=Mn==_n.length?1e9:Vn?_n[Mn].to:_n[Mn].from,zn=Qn==ke.length?1e9:qn?ke[Qn].to:ke[Qn].from;if(Vn!=qn){let Hn=Math.max(Zn,Ce),Wn=Math.min(Xn,zn,$n);Hnnew Range(Hn.from+$n,Hn.to+$n)),zn=findCoverChanges(ke,Xn,Zn,jn);for(let Hn=0,Wn=Zn;;Hn++){let Yn=Hn==zn.length,Un=Yn?jn:zn[Hn].from;if(Un>Wn&&Ce.push(new TreeFragment(Wn,Un,Mn.tree,-Vn,Qn.from>=Wn||Qn.openStart,Qn.to<=Un||Qn.openEnd)),Yn)break;Wn=zn[Hn].to}}else Ce.push(new TreeFragment(Zn,jn,Mn.tree,-Vn,Qn.from>=Vn||Qn.openStart,Qn.to<=qn||Qn.openEnd))}return Ce}let nextTagID=0;class Tag{constructor(ke,Ce,$n,Mn){this.name=ke,this.set=Ce,this.base=$n,this.modified=Mn,this.id=nextTagID++}toString(){let{name:ke}=this;for(let Ce of this.modified)Ce.name&&(ke=`${Ce.name}(${ke})`);return ke}static define(ke,Ce){let $n=typeof ke=="string"?ke:"?";if(ke instanceof Tag&&(Ce=ke),Ce!=null&&Ce.base)throw new Error("Can not derive from a modified tag");let Mn=new Tag($n,[],null,[]);if(Mn.set.push(Mn),Ce)for(let Qn of Ce.set)Mn.set.push(Qn);return Mn}static defineModifier(ke){let Ce=new Modifier(ke);return $n=>$n.modified.indexOf(Ce)>-1?$n:Modifier.get($n.base||$n,$n.modified.concat(Ce).sort((Mn,Qn)=>Mn.id-Qn.id))}}let nextModifierID=0;class Modifier{constructor(ke){this.name=ke,this.instances=[],this.id=nextModifierID++}static get(ke,Ce){if(!Ce.length)return ke;let $n=Ce[0].instances.find(qn=>qn.base==ke&&sameArray(Ce,qn.modified));if($n)return $n;let Mn=[],Qn=new Tag(ke.name,Mn,ke,Ce);for(let qn of Ce)qn.instances.push(Qn);let Vn=powerSet(Ce);for(let qn of ke.set)if(!qn.modified.length)for(let Zn of Vn)Mn.push(Modifier.get(qn,Zn));return Qn}}function sameArray(_n,ke){return _n.length==ke.length&&_n.every((Ce,$n)=>Ce==ke[$n])}function powerSet(_n){let ke=[[]];for(let Ce=0;Ce<_n.length;Ce++)for(let $n=0,Mn=ke.length;$n$n.length-Ce.length)}function styleTags(_n){let ke=Object.create(null);for(let Ce in _n){let $n=_n[Ce];Array.isArray($n)||($n=[$n]);for(let Mn of Ce.split(" "))if(Mn){let Qn=[],Vn=2,qn=Mn;for(let zn=0;;){if(qn=="..."&&zn>0&&zn+3==Mn.length){Vn=1;break}let Hn=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(qn);if(!Hn)throw new RangeError("Invalid path: "+Mn);if(Qn.push(Hn[0]=="*"?"":Hn[0][0]=='"'?JSON.parse(Hn[0]):Hn[0]),zn+=Hn[0].length,zn==Mn.length)break;let Wn=Mn[zn++];if(zn==Mn.length&&Wn=="!"){Vn=0;break}if(Wn!="/")throw new RangeError("Invalid path: "+Mn);qn=Mn.slice(zn)}let Zn=Qn.length-1,jn=Qn[Zn];if(!jn)throw new RangeError("Invalid path: "+Mn);let Xn=new Rule($n,Vn,Zn>0?Qn.slice(0,Zn):null);ke[jn]=Xn.sort(ke[jn])}}return ruleNodeProp.add(ke)}const ruleNodeProp=new NodeProp;class Rule{constructor(ke,Ce,$n,Mn){this.tags=ke,this.mode=Ce,this.context=$n,this.next=Mn}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(ke){return!ke||ke.depth{let Vn=Mn;for(let qn of Qn)for(let Zn of qn.set){let jn=Ce[Zn.id];if(jn){Vn=Vn?Vn+" "+jn:jn;break}}return Vn},scope:$n}}function highlightTags(_n,ke){let Ce=null;for(let $n of _n){let Mn=$n.style(ke);Mn&&(Ce=Ce?Ce+" "+Mn:Mn)}return Ce}function highlightTree(_n,ke,Ce,$n=0,Mn=_n.length){let Qn=new HighlightBuilder($n,Array.isArray(ke)?ke:[ke],Ce);Qn.highlightRange(_n.cursor(),$n,Mn,"",Qn.highlighters),Qn.flush(Mn)}class HighlightBuilder{constructor(ke,Ce,$n){this.at=ke,this.highlighters=Ce,this.span=$n,this.class=""}startSpan(ke,Ce){Ce!=this.class&&(this.flush(ke),ke>this.at&&(this.at=ke),this.class=Ce)}flush(ke){ke>this.at&&this.class&&this.span(this.at,ke,this.class)}highlightRange(ke,Ce,$n,Mn,Qn){let{type:Vn,from:qn,to:Zn}=ke;if(qn>=$n||Zn<=Ce)return;Vn.isTop&&(Qn=this.highlighters.filter(Wn=>!Wn.scope||Wn.scope(Vn)));let jn=Mn,Xn=getStyleTags(ke)||Rule.empty,zn=highlightTags(Qn,Xn.tags);if(zn&&(jn&&(jn+=" "),jn+=zn,Xn.mode==1&&(Mn+=(Mn?" ":"")+zn)),this.startSpan(Math.max(Ce,qn),jn),Xn.opaque)return;let Hn=ke.tree&&ke.tree.prop(NodeProp.mounted);if(Hn&&Hn.overlay){let Wn=ke.node.enter(Hn.overlay[0].from+qn,1),Yn=this.highlighters.filter(Gn=>!Gn.scope||Gn.scope(Hn.tree.type)),Un=ke.firstChild();for(let Gn=0,Kn=qn;;Gn++){let Jn=Gn=tr||!ke.nextSibling())););if(!Jn||tr>$n)break;Kn=Jn.to+qn,Kn>Ce&&(this.highlightRange(Wn.cursor(),Math.max(Ce,Jn.from+qn),Math.min($n,Kn),"",Yn),this.startSpan(Math.min($n,Kn),jn))}Un&&ke.parent()}else if(ke.firstChild()){Hn&&(Mn="");do if(!(ke.to<=Ce)){if(ke.from>=$n)break;this.highlightRange(ke,Ce,$n,Mn,Qn),this.startSpan(Math.min($n,ke.to),jn)}while(ke.nextSibling());ke.parent()}}}function getStyleTags(_n){let ke=_n.type.prop(ruleNodeProp);for(;ke&&ke.context&&!_n.matchContext(ke.context);)ke=ke.next;return ke||null}const t=Tag.define,comment=t(),name=t(),typeName=t(name),propertyName=t(name),literal=t(),string=t(literal),number=t(literal),content=t(),heading=t(content),keyword=t(),operator=t(),punctuation=t(),bracket=t(punctuation),meta=t(),tags$1={comment,lineComment:t(comment),blockComment:t(comment),docComment:t(comment),name,variableName:t(name),typeName,tagName:t(typeName),propertyName,attributeName:t(propertyName),className:t(name),labelName:t(name),namespace:t(name),macroName:t(name),literal,string,docString:t(string),character:t(string),attributeValue:t(string),number,integer:t(number),float:t(number),bool:t(literal),regexp:t(literal),escape:t(literal),color:t(literal),url:t(literal),keyword,self:t(keyword),null:t(keyword),atom:t(keyword),unit:t(keyword),modifier:t(keyword),operatorKeyword:t(keyword),controlKeyword:t(keyword),definitionKeyword:t(keyword),moduleKeyword:t(keyword),operator,derefOperator:t(operator),arithmeticOperator:t(operator),logicOperator:t(operator),bitwiseOperator:t(operator),compareOperator:t(operator),updateOperator:t(operator),definitionOperator:t(operator),typeOperator:t(operator),controlOperator:t(operator),punctuation,separator:t(punctuation),bracket,angleBracket:t(bracket),squareBracket:t(bracket),paren:t(bracket),brace:t(bracket),content,heading,heading1:t(heading),heading2:t(heading),heading3:t(heading),heading4:t(heading),heading5:t(heading),heading6:t(heading),contentSeparator:t(content),list:t(content),quote:t(content),emphasis:t(content),strong:t(content),link:t(content),monospace:t(content),strikethrough:t(content),inserted:t(),deleted:t(),changed:t(),invalid:t(),meta,documentMeta:t(meta),annotation:t(meta),processingInstruction:t(meta),definition:Tag.defineModifier("definition"),constant:Tag.defineModifier("constant"),function:Tag.defineModifier("function"),standard:Tag.defineModifier("standard"),local:Tag.defineModifier("local"),special:Tag.defineModifier("special")};for(let _n in tags$1){let ke=tags$1[_n];ke instanceof Tag&&(ke.name=_n)}tagHighlighter([{tag:tags$1.link,class:"tok-link"},{tag:tags$1.heading,class:"tok-heading"},{tag:tags$1.emphasis,class:"tok-emphasis"},{tag:tags$1.strong,class:"tok-strong"},{tag:tags$1.keyword,class:"tok-keyword"},{tag:tags$1.atom,class:"tok-atom"},{tag:tags$1.bool,class:"tok-bool"},{tag:tags$1.url,class:"tok-url"},{tag:tags$1.labelName,class:"tok-labelName"},{tag:tags$1.inserted,class:"tok-inserted"},{tag:tags$1.deleted,class:"tok-deleted"},{tag:tags$1.literal,class:"tok-literal"},{tag:tags$1.string,class:"tok-string"},{tag:tags$1.number,class:"tok-number"},{tag:[tags$1.regexp,tags$1.escape,tags$1.special(tags$1.string)],class:"tok-string2"},{tag:tags$1.variableName,class:"tok-variableName"},{tag:tags$1.local(tags$1.variableName),class:"tok-variableName tok-local"},{tag:tags$1.definition(tags$1.variableName),class:"tok-variableName tok-definition"},{tag:tags$1.special(tags$1.variableName),class:"tok-variableName2"},{tag:tags$1.definition(tags$1.propertyName),class:"tok-propertyName tok-definition"},{tag:tags$1.typeName,class:"tok-typeName"},{tag:tags$1.namespace,class:"tok-namespace"},{tag:tags$1.className,class:"tok-className"},{tag:tags$1.macroName,class:"tok-macroName"},{tag:tags$1.propertyName,class:"tok-propertyName"},{tag:tags$1.operator,class:"tok-operator"},{tag:tags$1.comment,class:"tok-comment"},{tag:tags$1.meta,class:"tok-meta"},{tag:tags$1.invalid,class:"tok-invalid"},{tag:tags$1.punctuation,class:"tok-punctuation"}]);var _a;const languageDataProp=new NodeProp;function defineLanguageFacet(_n){return Facet.define({combine:_n?ke=>ke.concat(_n):void 0})}const sublanguageProp=new NodeProp;class Language{constructor(ke,Ce,$n=[],Mn=""){this.data=ke,this.name=Mn,EditorState.prototype.hasOwnProperty("tree")||Object.defineProperty(EditorState.prototype,"tree",{get(){return syntaxTree(this)}}),this.parser=Ce,this.extension=[language.of(this),EditorState.languageData.of((Qn,Vn,qn)=>{let Zn=topNodeAt(Qn,Vn,qn),jn=Zn.type.prop(languageDataProp);if(!jn)return[];let Xn=Qn.facet(jn),zn=Zn.type.prop(sublanguageProp);if(zn){let Hn=Zn.resolve(Vn-Zn.from,qn);for(let Wn of zn)if(Wn.test(Hn,Qn)){let Yn=Qn.facet(Wn.facet);return Wn.type=="replace"?Yn:Yn.concat(Xn)}}return Xn})].concat($n)}isActiveAt(ke,Ce,$n=-1){return topNodeAt(ke,Ce,$n).type.prop(languageDataProp)==this.data}findRegions(ke){let Ce=ke.facet(language);if((Ce==null?void 0:Ce.data)==this.data)return[{from:0,to:ke.doc.length}];if(!Ce||!Ce.allowsNesting)return[];let $n=[],Mn=(Qn,Vn)=>{if(Qn.prop(languageDataProp)==this.data){$n.push({from:Vn,to:Vn+Qn.length});return}let qn=Qn.prop(NodeProp.mounted);if(qn){if(qn.tree.prop(languageDataProp)==this.data){if(qn.overlay)for(let Zn of qn.overlay)$n.push({from:Zn.from+Vn,to:Zn.to+Vn});else $n.push({from:Vn,to:Vn+Qn.length});return}else if(qn.overlay){let Zn=$n.length;if(Mn(qn.tree,qn.overlay[0].from+Vn),$n.length>Zn)return}}for(let Zn=0;Zn$n.isTop?Ce:void 0)]}),ke.name)}configure(ke,Ce){return new LRLanguage(this.data,this.parser.configure(ke),Ce||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function syntaxTree(_n){let ke=_n.field(Language.state,!1);return ke?ke.tree:Tree.empty}class DocInput{constructor(ke){this.doc=ke,this.cursorPos=0,this.string="",this.cursor=ke.iter()}get length(){return this.doc.length}syncTo(ke){return this.string=this.cursor.next(ke-this.cursorPos).value,this.cursorPos=ke+this.string.length,this.cursorPos-this.string.length}chunk(ke){return this.syncTo(ke),this.string}get lineChunks(){return!0}read(ke,Ce){let $n=this.cursorPos-this.string.length;return ke<$n||Ce>=this.cursorPos?this.doc.sliceString(ke,Ce):this.string.slice(ke-$n,Ce-$n)}}let currentContext=null;class ParseContext{constructor(ke,Ce,$n=[],Mn,Qn,Vn,qn,Zn){this.parser=ke,this.state=Ce,this.fragments=$n,this.tree=Mn,this.treeLen=Qn,this.viewport=Vn,this.skipped=qn,this.scheduleOn=Zn,this.parse=null,this.tempSkipped=[]}static create(ke,Ce,$n){return new ParseContext(ke,Ce,[],Tree.empty,0,$n,[],null)}startParse(){return this.parser.startParse(new DocInput(this.state.doc),this.fragments)}work(ke,Ce){return Ce!=null&&Ce>=this.state.doc.length&&(Ce=void 0),this.tree!=Tree.empty&&this.isDone(Ce??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var $n;if(typeof ke=="number"){let Mn=Date.now()+ke;ke=()=>Date.now()>Mn}for(this.parse||(this.parse=this.startParse()),Ce!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>Ce)&&Ce=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>ke)&&this.parse.stopAt(ke),this.withContext(()=>{for(;!(Ce=this.parse.advance()););}),this.treeLen=ke,this.tree=Ce,this.fragments=this.withoutTempSkipped(TreeFragment.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(ke){let Ce=currentContext;currentContext=this;try{return ke()}finally{currentContext=Ce}}withoutTempSkipped(ke){for(let Ce;Ce=this.tempSkipped.pop();)ke=cutFragments(ke,Ce.from,Ce.to);return ke}changes(ke,Ce){let{fragments:$n,tree:Mn,treeLen:Qn,viewport:Vn,skipped:qn}=this;if(this.takeTree(),!ke.empty){let Zn=[];if(ke.iterChangedRanges((jn,Xn,zn,Hn)=>Zn.push({fromA:jn,toA:Xn,fromB:zn,toB:Hn})),$n=TreeFragment.applyChanges($n,Zn),Mn=Tree.empty,Qn=0,Vn={from:ke.mapPos(Vn.from,-1),to:ke.mapPos(Vn.to,1)},this.skipped.length){qn=[];for(let jn of this.skipped){let Xn=ke.mapPos(jn.from,1),zn=ke.mapPos(jn.to,-1);Xnke.from&&(this.fragments=cutFragments(this.fragments,Mn,Qn),this.skipped.splice($n--,1))}return this.skipped.length>=Ce?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(ke,Ce){this.skipped.push({from:ke,to:Ce})}static getSkippingParser(ke){return new class extends Parser{createParse(Ce,$n,Mn){let Qn=Mn[0].from,Vn=Mn[Mn.length-1].to;return{parsedPos:Qn,advance(){let Zn=currentContext;if(Zn){for(let jn of Mn)Zn.tempSkipped.push(jn);ke&&(Zn.scheduleOn=Zn.scheduleOn?Promise.all([Zn.scheduleOn,ke]):ke)}return this.parsedPos=Vn,new Tree(NodeType.none,[],[],Vn-Qn)},stoppedAt:null,stopAt(){}}}}}isDone(ke){ke=Math.min(ke,this.state.doc.length);let Ce=this.fragments;return this.treeLen>=ke&&Ce.length&&Ce[0].from==0&&Ce[0].to>=ke}static get(){return currentContext}}function cutFragments(_n,ke,Ce){return TreeFragment.applyChanges(_n,[{fromA:ke,toA:Ce,fromB:ke,toB:Ce}])}class LanguageState{constructor(ke){this.context=ke,this.tree=ke.tree}apply(ke){if(!ke.docChanged&&this.tree==this.context.tree)return this;let Ce=this.context.changes(ke.changes,ke.state),$n=this.context.treeLen==ke.startState.doc.length?void 0:Math.max(ke.changes.mapPos(this.context.treeLen),Ce.viewport.to);return Ce.work(20,$n)||Ce.takeTree(),new LanguageState(Ce)}static init(ke){let Ce=Math.min(3e3,ke.doc.length),$n=ParseContext.create(ke.facet(language).parser,ke,{from:0,to:Ce});return $n.work(20,Ce)||$n.takeTree(),new LanguageState($n)}}Language.state=StateField.define({create:LanguageState.init,update(_n,ke){for(let Ce of ke.effects)if(Ce.is(Language.setState))return Ce.value;return ke.startState.facet(language)!=ke.state.facet(language)?LanguageState.init(ke.state):_n.apply(ke)}});let requestIdle=_n=>{let ke=setTimeout(()=>_n(),500);return()=>clearTimeout(ke)};typeof requestIdleCallback<"u"&&(requestIdle=_n=>{let ke=-1,Ce=setTimeout(()=>{ke=requestIdleCallback(_n,{timeout:400})},100);return()=>ke<0?clearTimeout(Ce):cancelIdleCallback(ke)});const isInputPending=typeof navigator<"u"&&(!((_a=navigator.scheduling)===null||_a===void 0)&&_a.isInputPending)?()=>navigator.scheduling.isInputPending():null,parseWorker=ViewPlugin.fromClass(class{constructor(ke){this.view=ke,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(ke){let Ce=this.view.state.field(Language.state).context;(Ce.updateViewport(ke.view.viewport)||this.view.viewport.to>Ce.treeLen)&&this.scheduleWork(),(ke.docChanged||ke.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(Ce)}scheduleWork(){if(this.working)return;let{state:ke}=this.view,Ce=ke.field(Language.state);(Ce.tree!=Ce.context.tree||!Ce.context.isDone(ke.doc.length))&&(this.working=requestIdle(this.work))}work(ke){this.working=null;let Ce=Date.now();if(this.chunkEndMn+1e3,Zn=Qn.context.work(()=>isInputPending&&isInputPending()||Date.now()>Vn,Mn+(qn?0:1e5));this.chunkBudget-=Date.now()-Ce,(Zn||this.chunkBudget<=0)&&(Qn.context.takeTree(),this.view.dispatch({effects:Language.setState.of(new LanguageState(Qn.context))})),this.chunkBudget>0&&!(Zn&&!qn)&&this.scheduleWork(),this.checkAsyncSchedule(Qn.context)}checkAsyncSchedule(ke){ke.scheduleOn&&(this.workScheduled++,ke.scheduleOn.then(()=>this.scheduleWork()).catch(Ce=>logException(this.view.state,Ce)).then(()=>this.workScheduled--),ke.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),language=Facet.define({combine(_n){return _n.length?_n[0]:null},enables:_n=>[Language.state,parseWorker,EditorView.contentAttributes.compute([_n],ke=>{let Ce=ke.facet(_n);return Ce&&Ce.name?{"data-language":Ce.name}:{}})]});class LanguageSupport{constructor(ke,Ce=[]){this.language=ke,this.support=Ce,this.extension=[ke,Ce]}}class LanguageDescription{constructor(ke,Ce,$n,Mn,Qn,Vn=void 0){this.name=ke,this.alias=Ce,this.extensions=$n,this.filename=Mn,this.loadFunc=Qn,this.support=Vn,this.loading=null}load(){return this.loading||(this.loading=this.loadFunc().then(ke=>this.support=ke,ke=>{throw this.loading=null,ke}))}static of(ke){let{load:Ce,support:$n}=ke;if(!Ce){if(!$n)throw new RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");Ce=()=>Promise.resolve($n)}return new LanguageDescription(ke.name,(ke.alias||[]).concat(ke.name).map(Mn=>Mn.toLowerCase()),ke.extensions||[],ke.filename,Ce,$n)}static matchFilename(ke,Ce){for(let Mn of ke)if(Mn.filename&&Mn.filename.test(Ce))return Mn;let $n=/\.([^.]+)$/.exec(Ce);if($n){for(let Mn of ke)if(Mn.extensions.indexOf($n[1])>-1)return Mn}return null}static matchLanguageName(ke,Ce,$n=!0){Ce=Ce.toLowerCase();for(let Mn of ke)if(Mn.alias.some(Qn=>Qn==Ce))return Mn;if($n)for(let Mn of ke)for(let Qn of Mn.alias){let Vn=Ce.indexOf(Qn);if(Vn>-1&&(Qn.length>2||!/\w/.test(Ce[Vn-1])&&!/\w/.test(Ce[Vn+Qn.length])))return Mn}return null}}const indentService=Facet.define(),indentUnit=Facet.define({combine:_n=>{if(!_n.length)return" ";let ke=_n[0];if(!ke||/\S/.test(ke)||Array.from(ke).some(Ce=>Ce!=ke[0]))throw new Error("Invalid indent unit: "+JSON.stringify(_n[0]));return ke}});function getIndentUnit(_n){let ke=_n.facet(indentUnit);return ke.charCodeAt(0)==9?_n.tabSize*ke.length:ke.length}function indentString(_n,ke){let Ce="",$n=_n.tabSize,Mn=_n.facet(indentUnit)[0];if(Mn==" "){for(;ke>=$n;)Ce+=" ",ke-=$n;Mn=" "}for(let Qn=0;Qn=ke?syntaxIndentation(_n,Ce,ke):null}class IndentContext{constructor(ke,Ce={}){this.state=ke,this.options=Ce,this.unit=getIndentUnit(ke)}lineAt(ke,Ce=1){let $n=this.state.doc.lineAt(ke),{simulateBreak:Mn,simulateDoubleBreak:Qn}=this.options;return Mn!=null&&Mn>=$n.from&&Mn<=$n.to?Qn&&Mn==ke?{text:"",from:ke}:(Ce<0?Mn-1&&(Qn+=Vn-this.countColumn($n,$n.search(/\S|$/))),Qn}countColumn(ke,Ce=ke.length){return countColumn(ke,this.state.tabSize,Ce)}lineIndent(ke,Ce=1){let{text:$n,from:Mn}=this.lineAt(ke,Ce),Qn=this.options.overrideIndentation;if(Qn){let Vn=Qn(Mn);if(Vn>-1)return Vn}return this.countColumn($n,$n.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const indentNodeProp=new NodeProp;function syntaxIndentation(_n,ke,Ce){let $n=ke.resolveStack(Ce),Mn=$n.node.enterUnfinishedNodesBefore(Ce);if(Mn!=$n.node){let Qn=[];for(let Vn=Mn;Vn!=$n.node;Vn=Vn.parent)Qn.push(Vn);for(let Vn=Qn.length-1;Vn>=0;Vn--)$n={node:Qn[Vn],next:$n}}return indentFor($n,_n,Ce)}function indentFor(_n,ke,Ce){for(let $n=_n;$n;$n=$n.next){let Mn=indentStrategy($n.node);if(Mn)return Mn(TreeIndentContext.create(ke,Ce,$n))}return 0}function ignoreClosed(_n){return _n.pos==_n.options.simulateBreak&&_n.options.simulateDoubleBreak}function indentStrategy(_n){let ke=_n.type.prop(indentNodeProp);if(ke)return ke;let Ce=_n.firstChild,$n;if(Ce&&($n=Ce.type.prop(NodeProp.closedBy))){let Mn=_n.lastChild,Qn=Mn&&$n.indexOf(Mn.name)>-1;return Vn=>delimitedStrategy(Vn,!0,1,void 0,Qn&&!ignoreClosed(Vn)?Mn.from:void 0)}return _n.parent==null?topIndent:null}function topIndent(){return 0}class TreeIndentContext extends IndentContext{constructor(ke,Ce,$n){super(ke.state,ke.options),this.base=ke,this.pos=Ce,this.context=$n}get node(){return this.context.node}static create(ke,Ce,$n){return new TreeIndentContext(ke,Ce,$n)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(ke){let Ce=this.state.doc.lineAt(ke.from);for(;;){let $n=ke.resolve(Ce.from);for(;$n.parent&&$n.parent.from==$n.from;)$n=$n.parent;if(isParent($n,ke))break;Ce=this.state.doc.lineAt($n.from)}return this.lineIndent(Ce.from)}continue(){return indentFor(this.context.next,this.base,this.pos)}}function isParent(_n,ke){for(let Ce=ke;Ce;Ce=Ce.parent)if(_n==Ce)return!0;return!1}function bracketedAligned(_n){let ke=_n.node,Ce=ke.childAfter(ke.from),$n=ke.lastChild;if(!Ce)return null;let Mn=_n.options.simulateBreak,Qn=_n.state.doc.lineAt(Ce.from),Vn=Mn==null||Mn<=Qn.from?Qn.to:Math.min(Qn.to,Mn);for(let qn=Ce.to;;){let Zn=ke.childAfter(qn);if(!Zn||Zn==$n)return null;if(!Zn.type.isSkipped){if(Zn.from>=Vn)return null;let jn=/^ */.exec(Qn.text.slice(Ce.to-Qn.from))[0].length;return{from:Ce.from,to:Ce.to+jn}}qn=Zn.to}}function delimitedIndent({closing:_n,align:ke=!0,units:Ce=1}){return $n=>delimitedStrategy($n,ke,Ce,_n)}function delimitedStrategy(_n,ke,Ce,$n,Mn){let Qn=_n.textAfter,Vn=Qn.match(/^\s*/)[0].length,qn=$n&&Qn.slice(Vn,Vn+$n.length)==$n||Mn==_n.pos+Vn,Zn=ke?bracketedAligned(_n):null;return Zn?qn?_n.column(Zn.from):_n.column(Zn.to):_n.baseIndent+(qn?0:_n.unit*Ce)}const flatIndent=_n=>_n.baseIndent;function continuedIndent({except:_n,units:ke=1}={}){return Ce=>{let $n=_n&&_n.test(Ce.textAfter);return Ce.baseIndent+($n?0:ke*Ce.unit)}}const DontIndentBeyond=200;function indentOnInput(){return EditorState.transactionFilter.of(_n=>{if(!_n.docChanged||!_n.isUserEvent("input.type")&&!_n.isUserEvent("input.complete"))return _n;let ke=_n.startState.languageDataAt("indentOnInput",_n.startState.selection.main.head);if(!ke.length)return _n;let Ce=_n.newDoc,{head:$n}=_n.newSelection.main,Mn=Ce.lineAt($n);if($n>Mn.from+DontIndentBeyond)return _n;let Qn=Ce.sliceString(Mn.from,$n);if(!ke.some(jn=>jn.test(Qn)))return _n;let{state:Vn}=_n,qn=-1,Zn=[];for(let{head:jn}of Vn.selection.ranges){let Xn=Vn.doc.lineAt(jn);if(Xn.from==qn)continue;qn=Xn.from;let zn=getIndentation(Vn,Xn.from);if(zn==null)continue;let Hn=/^\s*/.exec(Xn.text)[0],Wn=indentString(Vn,zn);Hn!=Wn&&Zn.push({from:Xn.from,to:Xn.from+Hn.length,insert:Wn})}return Zn.length?[_n,{changes:Zn,sequential:!0}]:_n})}const foldService=Facet.define(),foldNodeProp=new NodeProp;function foldInside(_n){let ke=_n.firstChild,Ce=_n.lastChild;return ke&&ke.toCe)continue;if(Qn&&qn.from=ke&&jn.to>Ce&&(Qn=jn)}}return Qn}function isUnfinished(_n){let ke=_n.lastChild;return ke&&ke.to==_n.to&&ke.type.isError}function foldable(_n,ke,Ce){for(let $n of _n.facet(foldService)){let Mn=$n(_n,ke,Ce);if(Mn)return Mn}return syntaxFolding(_n,ke,Ce)}function mapRange(_n,ke){let Ce=ke.mapPos(_n.from,1),$n=ke.mapPos(_n.to,-1);return Ce>=$n?void 0:{from:Ce,to:$n}}const foldEffect=StateEffect.define({map:mapRange}),unfoldEffect=StateEffect.define({map:mapRange});function selectedLines(_n){let ke=[];for(let{head:Ce}of _n.state.selection.ranges)ke.some($n=>$n.from<=Ce&&$n.to>=Ce)||ke.push(_n.lineBlockAt(Ce));return ke}const foldState=StateField.define({create(){return Decoration.none},update(_n,ke){_n=_n.map(ke.changes);for(let Ce of ke.effects)if(Ce.is(foldEffect)&&!foldExists(_n,Ce.value.from,Ce.value.to)){let{preparePlaceholder:$n}=ke.state.facet(foldConfig),Mn=$n?Decoration.replace({widget:new PreparedFoldWidget($n(ke.state,Ce.value))}):foldWidget;_n=_n.update({add:[Mn.range(Ce.value.from,Ce.value.to)]})}else Ce.is(unfoldEffect)&&(_n=_n.update({filter:($n,Mn)=>Ce.value.from!=$n||Ce.value.to!=Mn,filterFrom:Ce.value.from,filterTo:Ce.value.to}));if(ke.selection){let Ce=!1,{head:$n}=ke.selection.main;_n.between($n,$n,(Mn,Qn)=>{Mn<$n&&Qn>$n&&(Ce=!0)}),Ce&&(_n=_n.update({filterFrom:$n,filterTo:$n,filter:(Mn,Qn)=>Qn<=$n||Mn>=$n}))}return _n},provide:_n=>EditorView.decorations.from(_n),toJSON(_n,ke){let Ce=[];return _n.between(0,ke.doc.length,($n,Mn)=>{Ce.push($n,Mn)}),Ce},fromJSON(_n){if(!Array.isArray(_n)||_n.length%2)throw new RangeError("Invalid JSON for fold state");let ke=[];for(let Ce=0;Ce<_n.length;){let $n=_n[Ce++],Mn=_n[Ce++];if(typeof $n!="number"||typeof Mn!="number")throw new RangeError("Invalid JSON for fold state");ke.push(foldWidget.range($n,Mn))}return Decoration.set(ke,!0)}});function findFold(_n,ke,Ce){var $n;let Mn=null;return($n=_n.field(foldState,!1))===null||$n===void 0||$n.between(ke,Ce,(Qn,Vn)=>{(!Mn||Mn.from>Qn)&&(Mn={from:Qn,to:Vn})}),Mn}function foldExists(_n,ke,Ce){let $n=!1;return _n.between(ke,ke,(Mn,Qn)=>{Mn==ke&&Qn==Ce&&($n=!0)}),$n}function maybeEnable(_n,ke){return _n.field(foldState,!1)?ke:ke.concat(StateEffect.appendConfig.of(codeFolding()))}const foldCode=_n=>{for(let ke of selectedLines(_n)){let Ce=foldable(_n.state,ke.from,ke.to);if(Ce)return _n.dispatch({effects:maybeEnable(_n.state,[foldEffect.of(Ce),announceFold(_n,Ce)])}),!0}return!1},unfoldCode=_n=>{if(!_n.state.field(foldState,!1))return!1;let ke=[];for(let Ce of selectedLines(_n)){let $n=findFold(_n.state,Ce.from,Ce.to);$n&&ke.push(unfoldEffect.of($n),announceFold(_n,$n,!1))}return ke.length&&_n.dispatch({effects:ke}),ke.length>0};function announceFold(_n,ke,Ce=!0){let $n=_n.state.doc.lineAt(ke.from).number,Mn=_n.state.doc.lineAt(ke.to).number;return EditorView.announce.of(`${_n.state.phrase(Ce?"Folded lines":"Unfolded lines")} ${$n} ${_n.state.phrase("to")} ${Mn}.`)}const foldAll=_n=>{let{state:ke}=_n,Ce=[];for(let $n=0;$n{let ke=_n.state.field(foldState,!1);if(!ke||!ke.size)return!1;let Ce=[];return ke.between(0,_n.state.doc.length,($n,Mn)=>{Ce.push(unfoldEffect.of({from:$n,to:Mn}))}),_n.dispatch({effects:Ce}),!0},foldKeymap=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:foldCode},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:unfoldCode},{key:"Ctrl-Alt-[",run:foldAll},{key:"Ctrl-Alt-]",run:unfoldAll}],defaultConfig={placeholderDOM:null,preparePlaceholder:null,placeholderText:"…"},foldConfig=Facet.define({combine(_n){return combineConfig(_n,defaultConfig)}});function codeFolding(_n){return[foldState,baseTheme$1$2]}function widgetToDOM(_n,ke){let{state:Ce}=_n,$n=Ce.facet(foldConfig),Mn=Vn=>{let qn=_n.lineBlockAt(_n.posAtDOM(Vn.target)),Zn=findFold(_n.state,qn.from,qn.to);Zn&&_n.dispatch({effects:unfoldEffect.of(Zn)}),Vn.preventDefault()};if($n.placeholderDOM)return $n.placeholderDOM(_n,Mn,ke);let Qn=document.createElement("span");return Qn.textContent=$n.placeholderText,Qn.setAttribute("aria-label",Ce.phrase("folded code")),Qn.title=Ce.phrase("unfold"),Qn.className="cm-foldPlaceholder",Qn.onclick=Mn,Qn}const foldWidget=Decoration.replace({widget:new class extends WidgetType{toDOM(_n){return widgetToDOM(_n,null)}}});class PreparedFoldWidget extends WidgetType{constructor(ke){super(),this.value=ke}eq(ke){return this.value==ke.value}toDOM(ke){return widgetToDOM(ke,this.value)}}const foldGutterDefaults={openText:"⌄",closedText:"›",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1};class FoldMarker extends GutterMarker{constructor(ke,Ce){super(),this.config=ke,this.open=Ce}eq(ke){return this.config==ke.config&&this.open==ke.open}toDOM(ke){if(this.config.markerDOM)return this.config.markerDOM(this.open);let Ce=document.createElement("span");return Ce.textContent=this.open?this.config.openText:this.config.closedText,Ce.title=ke.state.phrase(this.open?"Fold line":"Unfold line"),Ce}}function foldGutter(_n={}){let ke=Object.assign(Object.assign({},foldGutterDefaults),_n),Ce=new FoldMarker(ke,!0),$n=new FoldMarker(ke,!1),Mn=ViewPlugin.fromClass(class{constructor(Vn){this.from=Vn.viewport.from,this.markers=this.buildMarkers(Vn)}update(Vn){(Vn.docChanged||Vn.viewportChanged||Vn.startState.facet(language)!=Vn.state.facet(language)||Vn.startState.field(foldState,!1)!=Vn.state.field(foldState,!1)||syntaxTree(Vn.startState)!=syntaxTree(Vn.state)||ke.foldingChanged(Vn))&&(this.markers=this.buildMarkers(Vn.view))}buildMarkers(Vn){let qn=new RangeSetBuilder;for(let Zn of Vn.viewportLineBlocks){let jn=findFold(Vn.state,Zn.from,Zn.to)?$n:foldable(Vn.state,Zn.from,Zn.to)?Ce:null;jn&&qn.add(Zn.from,Zn.from,jn)}return qn.finish()}}),{domEventHandlers:Qn}=ke;return[Mn,gutter({class:"cm-foldGutter",markers(Vn){var qn;return((qn=Vn.plugin(Mn))===null||qn===void 0?void 0:qn.markers)||RangeSet.empty},initialSpacer(){return new FoldMarker(ke,!1)},domEventHandlers:Object.assign(Object.assign({},Qn),{click:(Vn,qn,Zn)=>{if(Qn.click&&Qn.click(Vn,qn,Zn))return!0;let jn=findFold(Vn.state,qn.from,qn.to);if(jn)return Vn.dispatch({effects:unfoldEffect.of(jn)}),!0;let Xn=foldable(Vn.state,qn.from,qn.to);return Xn?(Vn.dispatch({effects:foldEffect.of(Xn)}),!0):!1}})}),codeFolding()]}const baseTheme$1$2=EditorView.baseTheme({".cm-foldPlaceholder":{backgroundColor:"#eee",border:"1px solid #ddd",color:"#888",borderRadius:".2em",margin:"0 1px",padding:"0 1px",cursor:"pointer"},".cm-foldGutter span":{padding:"0 1px",cursor:"pointer"}});class HighlightStyle{constructor(ke,Ce){this.specs=ke;let $n;function Mn(qn){let Zn=StyleModule.newName();return($n||($n=Object.create(null)))["."+Zn]=qn,Zn}const Qn=typeof Ce.all=="string"?Ce.all:Ce.all?Mn(Ce.all):void 0,Vn=Ce.scope;this.scope=Vn instanceof Language?qn=>qn.prop(languageDataProp)==Vn.data:Vn?qn=>qn==Vn:void 0,this.style=tagHighlighter(ke.map(qn=>({tag:qn.tag,class:qn.class||Mn(Object.assign({},qn,{tag:null}))})),{all:Qn}).style,this.module=$n?new StyleModule($n):null,this.themeType=Ce.themeType}static define(ke,Ce){return new HighlightStyle(ke,Ce||{})}}const highlighterFacet=Facet.define(),fallbackHighlighter=Facet.define({combine(_n){return _n.length?[_n[0]]:null}});function getHighlighters(_n){let ke=_n.facet(highlighterFacet);return ke.length?ke:_n.facet(fallbackHighlighter)}function syntaxHighlighting(_n,ke){let Ce=[treeHighlighter],$n;return _n instanceof HighlightStyle&&(_n.module&&Ce.push(EditorView.styleModule.of(_n.module)),$n=_n.themeType),ke!=null&&ke.fallback?Ce.push(fallbackHighlighter.of(_n)):$n?Ce.push(highlighterFacet.computeN([EditorView.darkTheme],Mn=>Mn.facet(EditorView.darkTheme)==($n=="dark")?[_n]:[])):Ce.push(highlighterFacet.of(_n)),Ce}class TreeHighlighter{constructor(ke){this.markCache=Object.create(null),this.tree=syntaxTree(ke.state),this.decorations=this.buildDeco(ke,getHighlighters(ke.state)),this.decoratedTo=ke.viewport.to}update(ke){let Ce=syntaxTree(ke.state),$n=getHighlighters(ke.state),Mn=$n!=getHighlighters(ke.startState),{viewport:Qn}=ke.view,Vn=ke.changes.mapPos(this.decoratedTo,1);Ce.length=Qn.to?(this.decorations=this.decorations.map(ke.changes),this.decoratedTo=Vn):(Ce!=this.tree||ke.viewportChanged||Mn)&&(this.tree=Ce,this.decorations=this.buildDeco(ke.view,$n),this.decoratedTo=Qn.to)}buildDeco(ke,Ce){if(!Ce||!this.tree.length)return Decoration.none;let $n=new RangeSetBuilder;for(let{from:Mn,to:Qn}of ke.visibleRanges)highlightTree(this.tree,Ce,(Vn,qn,Zn)=>{$n.add(Vn,qn,this.markCache[Zn]||(this.markCache[Zn]=Decoration.mark({class:Zn})))},Mn,Qn);return $n.finish()}}const treeHighlighter=Prec.high(ViewPlugin.fromClass(TreeHighlighter,{decorations:_n=>_n.decorations})),defaultHighlightStyle=HighlightStyle.define([{tag:tags$1.meta,color:"#404740"},{tag:tags$1.link,textDecoration:"underline"},{tag:tags$1.heading,textDecoration:"underline",fontWeight:"bold"},{tag:tags$1.emphasis,fontStyle:"italic"},{tag:tags$1.strong,fontWeight:"bold"},{tag:tags$1.strikethrough,textDecoration:"line-through"},{tag:tags$1.keyword,color:"#708"},{tag:[tags$1.atom,tags$1.bool,tags$1.url,tags$1.contentSeparator,tags$1.labelName],color:"#219"},{tag:[tags$1.literal,tags$1.inserted],color:"#164"},{tag:[tags$1.string,tags$1.deleted],color:"#a11"},{tag:[tags$1.regexp,tags$1.escape,tags$1.special(tags$1.string)],color:"#e40"},{tag:tags$1.definition(tags$1.variableName),color:"#00f"},{tag:tags$1.local(tags$1.variableName),color:"#30a"},{tag:[tags$1.typeName,tags$1.namespace],color:"#085"},{tag:tags$1.className,color:"#167"},{tag:[tags$1.special(tags$1.variableName),tags$1.macroName],color:"#256"},{tag:tags$1.definition(tags$1.propertyName),color:"#00c"},{tag:tags$1.comment,color:"#940"},{tag:tags$1.invalid,color:"#f00"}]),baseTheme$3=EditorView.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),DefaultScanDist=1e4,DefaultBrackets="()[]{}",bracketMatchingConfig=Facet.define({combine(_n){return combineConfig(_n,{afterCursor:!0,brackets:DefaultBrackets,maxScanDistance:DefaultScanDist,renderMatch:defaultRenderMatch})}}),matchingMark=Decoration.mark({class:"cm-matchingBracket"}),nonmatchingMark=Decoration.mark({class:"cm-nonmatchingBracket"});function defaultRenderMatch(_n){let ke=[],Ce=_n.matched?matchingMark:nonmatchingMark;return ke.push(Ce.range(_n.start.from,_n.start.to)),_n.end&&ke.push(Ce.range(_n.end.from,_n.end.to)),ke}const bracketMatchingState=StateField.define({create(){return Decoration.none},update(_n,ke){if(!ke.docChanged&&!ke.selection)return _n;let Ce=[],$n=ke.state.facet(bracketMatchingConfig);for(let Mn of ke.state.selection.ranges){if(!Mn.empty)continue;let Qn=matchBrackets(ke.state,Mn.head,-1,$n)||Mn.head>0&&matchBrackets(ke.state,Mn.head-1,1,$n)||$n.afterCursor&&(matchBrackets(ke.state,Mn.head,1,$n)||Mn.headEditorView.decorations.from(_n)}),bracketMatchingUnique=[bracketMatchingState,baseTheme$3];function bracketMatching(_n={}){return[bracketMatchingConfig.of(_n),bracketMatchingUnique]}const bracketMatchingHandle=new NodeProp;function matchingNodes(_n,ke,Ce){let $n=_n.prop(ke<0?NodeProp.openedBy:NodeProp.closedBy);if($n)return $n;if(_n.name.length==1){let Mn=Ce.indexOf(_n.name);if(Mn>-1&&Mn%2==(ke<0?1:0))return[Ce[Mn+ke]]}return null}function findHandle(_n){let ke=_n.type.prop(bracketMatchingHandle);return ke?ke(_n.node):_n}function matchBrackets(_n,ke,Ce,$n={}){let Mn=$n.maxScanDistance||DefaultScanDist,Qn=$n.brackets||DefaultBrackets,Vn=syntaxTree(_n),qn=Vn.resolveInner(ke,Ce);for(let Zn=qn;Zn;Zn=Zn.parent){let jn=matchingNodes(Zn.type,Ce,Qn);if(jn&&Zn.from0?ke>=Xn.from&&keXn.from&&ke<=Xn.to))return matchMarkedBrackets(_n,ke,Ce,Zn,Xn,jn,Qn)}}return matchPlainBrackets(_n,ke,Ce,Vn,qn.type,Mn,Qn)}function matchMarkedBrackets(_n,ke,Ce,$n,Mn,Qn,Vn){let qn=$n.parent,Zn={from:Mn.from,to:Mn.to},jn=0,Xn=qn==null?void 0:qn.cursor();if(Xn&&(Ce<0?Xn.childBefore($n.from):Xn.childAfter($n.to)))do if(Ce<0?Xn.to<=$n.from:Xn.from>=$n.to){if(jn==0&&Qn.indexOf(Xn.type.name)>-1&&Xn.from0)return null;let jn={from:Ce<0?ke-1:ke,to:Ce>0?ke+1:ke},Xn=_n.doc.iterRange(ke,Ce>0?_n.doc.length:0),zn=0;for(let Hn=0;!Xn.next().done&&Hn<=Qn;){let Wn=Xn.value;Ce<0&&(Hn+=Wn.length);let Yn=ke+Hn*Ce;for(let Un=Ce>0?0:Wn.length-1,Gn=Ce>0?Wn.length:-1;Un!=Gn;Un+=Ce){let Kn=Vn.indexOf(Wn[Un]);if(!(Kn<0||$n.resolveInner(Yn+Un,1).type!=Mn))if(Kn%2==0==Ce>0)zn++;else{if(zn==1)return{start:jn,end:{from:Yn+Un,to:Yn+Un+1},matched:Kn>>1==Zn>>1};zn--}}Ce>0&&(Hn+=Wn.length)}return Xn.done?{start:jn,matched:!1}:null}const noTokens=Object.create(null),typeArray=[NodeType.none],warned=[],byTag=Object.create(null),defaultTable=Object.create(null);for(let[_n,ke]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])defaultTable[_n]=createTokenType(noTokens,ke);function warnForPart(_n,ke){warned.indexOf(_n)>-1||(warned.push(_n),console.warn(ke))}function createTokenType(_n,ke){let Ce=[];for(let qn of ke.split(" ")){let Zn=[];for(let jn of qn.split(".")){let Xn=_n[jn]||tags$1[jn];Xn?typeof Xn=="function"?Zn.length?Zn=Zn.map(Xn):warnForPart(jn,`Modifier ${jn} used at start of tag`):Zn.length?warnForPart(jn,`Tag ${jn} used as modifier`):Zn=Array.isArray(Xn)?Xn:[Xn]:warnForPart(jn,`Unknown highlighting tag ${jn}`)}for(let jn of Zn)Ce.push(jn)}if(!Ce.length)return 0;let $n=ke.replace(/ /g,"_"),Mn=$n+" "+Ce.map(qn=>qn.id),Qn=byTag[Mn];if(Qn)return Qn.id;let Vn=byTag[Mn]=NodeType.define({id:typeArray.length,name:$n,props:[styleTags({[$n]:Ce})]});return typeArray.push(Vn),Vn.id}Direction.RTL,Direction.LTR;const toggleComment=_n=>{let{state:ke}=_n,Ce=ke.doc.lineAt(ke.selection.main.from),$n=getConfig(_n.state,Ce.from);return $n.line?toggleLineComment(_n):$n.block?toggleBlockCommentByLine(_n):!1};function command(_n,ke){return({state:Ce,dispatch:$n})=>{if(Ce.readOnly)return!1;let Mn=_n(ke,Ce);return Mn?($n(Ce.update(Mn)),!0):!1}}const toggleLineComment=command(changeLineComment,0),toggleBlockComment=command(changeBlockComment,0),toggleBlockCommentByLine=command((_n,ke)=>changeBlockComment(_n,ke,selectedLineRanges(ke)),0);function getConfig(_n,ke){let Ce=_n.languageDataAt("commentTokens",ke);return Ce.length?Ce[0]:{}}const SearchMargin=50;function findBlockComment(_n,{open:ke,close:Ce},$n,Mn){let Qn=_n.sliceDoc($n-SearchMargin,$n),Vn=_n.sliceDoc(Mn,Mn+SearchMargin),qn=/\s*$/.exec(Qn)[0].length,Zn=/^\s*/.exec(Vn)[0].length,jn=Qn.length-qn;if(Qn.slice(jn-ke.length,jn)==ke&&Vn.slice(Zn,Zn+Ce.length)==Ce)return{open:{pos:$n-qn,margin:qn&&1},close:{pos:Mn+Zn,margin:Zn&&1}};let Xn,zn;Mn-$n<=2*SearchMargin?Xn=zn=_n.sliceDoc($n,Mn):(Xn=_n.sliceDoc($n,$n+SearchMargin),zn=_n.sliceDoc(Mn-SearchMargin,Mn));let Hn=/^\s*/.exec(Xn)[0].length,Wn=/\s*$/.exec(zn)[0].length,Yn=zn.length-Wn-Ce.length;return Xn.slice(Hn,Hn+ke.length)==ke&&zn.slice(Yn,Yn+Ce.length)==Ce?{open:{pos:$n+Hn+ke.length,margin:/\s/.test(Xn.charAt(Hn+ke.length))?1:0},close:{pos:Mn-Wn-Ce.length,margin:/\s/.test(zn.charAt(Yn-1))?1:0}}:null}function selectedLineRanges(_n){let ke=[];for(let Ce of _n.selection.ranges){let $n=_n.doc.lineAt(Ce.from),Mn=Ce.to<=$n.to?$n:_n.doc.lineAt(Ce.to),Qn=ke.length-1;Qn>=0&&ke[Qn].to>$n.from?ke[Qn].to=Mn.to:ke.push({from:$n.from+/^\s*/.exec($n.text)[0].length,to:Mn.to})}return ke}function changeBlockComment(_n,ke,Ce=ke.selection.ranges){let $n=Ce.map(Qn=>getConfig(ke,Qn.from).block);if(!$n.every(Qn=>Qn))return null;let Mn=Ce.map((Qn,Vn)=>findBlockComment(ke,$n[Vn],Qn.from,Qn.to));if(_n!=2&&!Mn.every(Qn=>Qn))return{changes:ke.changes(Ce.map((Qn,Vn)=>Mn[Vn]?[]:[{from:Qn.from,insert:$n[Vn].open+" "},{from:Qn.to,insert:" "+$n[Vn].close}]))};if(_n!=1&&Mn.some(Qn=>Qn)){let Qn=[];for(let Vn=0,qn;VnMn&&(Qn==Vn||Vn>zn.from)){Mn=zn.from;let Hn=/^\s*/.exec(zn.text)[0].length,Wn=Hn==zn.length,Yn=zn.text.slice(Hn,Hn+jn.length)==jn?Hn:-1;HnQn.comment<0&&(!Qn.empty||Qn.single))){let Qn=[];for(let{line:qn,token:Zn,indent:jn,empty:Xn,single:zn}of $n)(zn||!Xn)&&Qn.push({from:qn.from+jn,insert:Zn+" "});let Vn=ke.changes(Qn);return{changes:Vn,selection:ke.selection.map(Vn,1)}}else if(_n!=1&&$n.some(Qn=>Qn.comment>=0)){let Qn=[];for(let{line:Vn,comment:qn,token:Zn}of $n)if(qn>=0){let jn=Vn.from+qn,Xn=jn+Zn.length;Vn.text[Xn-Vn.from]==" "&&Xn++,Qn.push({from:jn,to:Xn})}return{changes:Qn}}return null}const fromHistory=Annotation.define(),isolateHistory=Annotation.define(),invertedEffects=Facet.define(),historyConfig=Facet.define({combine(_n){return combineConfig(_n,{minDepth:100,newGroupDelay:500,joinToEvent:(ke,Ce)=>Ce},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(ke,Ce)=>($n,Mn)=>ke($n,Mn)||Ce($n,Mn)})}}),historyField_=StateField.define({create(){return HistoryState.empty},update(_n,ke){let Ce=ke.state.facet(historyConfig),$n=ke.annotation(fromHistory);if($n){let Zn=HistEvent.fromTransaction(ke,$n.selection),jn=$n.side,Xn=jn==0?_n.undone:_n.done;return Zn?Xn=updateBranch(Xn,Xn.length,Ce.minDepth,Zn):Xn=addSelection(Xn,ke.startState.selection),new HistoryState(jn==0?$n.rest:Xn,jn==0?Xn:$n.rest)}let Mn=ke.annotation(isolateHistory);if((Mn=="full"||Mn=="before")&&(_n=_n.isolate()),ke.annotation(Transaction.addToHistory)===!1)return ke.changes.empty?_n:_n.addMapping(ke.changes.desc);let Qn=HistEvent.fromTransaction(ke),Vn=ke.annotation(Transaction.time),qn=ke.annotation(Transaction.userEvent);return Qn?_n=_n.addChanges(Qn,Vn,qn,Ce,ke):ke.selection&&(_n=_n.addSelection(ke.startState.selection,Vn,qn,Ce.newGroupDelay)),(Mn=="full"||Mn=="after")&&(_n=_n.isolate()),_n},toJSON(_n){return{done:_n.done.map(ke=>ke.toJSON()),undone:_n.undone.map(ke=>ke.toJSON())}},fromJSON(_n){return new HistoryState(_n.done.map(HistEvent.fromJSON),_n.undone.map(HistEvent.fromJSON))}});function history$1(_n={}){return[historyField_,historyConfig.of(_n),EditorView.domEventHandlers({beforeinput(ke,Ce){let $n=ke.inputType=="historyUndo"?undo:ke.inputType=="historyRedo"?redo:null;return $n?(ke.preventDefault(),$n(Ce)):!1}})]}function cmd(_n,ke){return function({state:Ce,dispatch:$n}){if(!ke&&Ce.readOnly)return!1;let Mn=Ce.field(historyField_,!1);if(!Mn)return!1;let Qn=Mn.pop(_n,Ce,ke);return Qn?($n(Qn),!0):!1}}const undo=cmd(0,!1),redo=cmd(1,!1),undoSelection=cmd(0,!0),redoSelection=cmd(1,!0);class HistEvent{constructor(ke,Ce,$n,Mn,Qn){this.changes=ke,this.effects=Ce,this.mapped=$n,this.startSelection=Mn,this.selectionsAfter=Qn}setSelAfter(ke){return new HistEvent(this.changes,this.effects,this.mapped,this.startSelection,ke)}toJSON(){var ke,Ce,$n;return{changes:(ke=this.changes)===null||ke===void 0?void 0:ke.toJSON(),mapped:(Ce=this.mapped)===null||Ce===void 0?void 0:Ce.toJSON(),startSelection:($n=this.startSelection)===null||$n===void 0?void 0:$n.toJSON(),selectionsAfter:this.selectionsAfter.map(Mn=>Mn.toJSON())}}static fromJSON(ke){return new HistEvent(ke.changes&&ChangeSet.fromJSON(ke.changes),[],ke.mapped&&ChangeDesc.fromJSON(ke.mapped),ke.startSelection&&EditorSelection.fromJSON(ke.startSelection),ke.selectionsAfter.map(EditorSelection.fromJSON))}static fromTransaction(ke,Ce){let $n=none$2;for(let Mn of ke.startState.facet(invertedEffects)){let Qn=Mn(ke);Qn.length&&($n=$n.concat(Qn))}return!$n.length&&ke.changes.empty?null:new HistEvent(ke.changes.invert(ke.startState.doc),$n,void 0,Ce||ke.startState.selection,none$2)}static selection(ke){return new HistEvent(void 0,none$2,void 0,void 0,ke)}}function updateBranch(_n,ke,Ce,$n){let Mn=ke+1>Ce+20?ke-Ce-1:0,Qn=_n.slice(Mn,ke);return Qn.push($n),Qn}function isAdjacent(_n,ke){let Ce=[],$n=!1;return _n.iterChangedRanges((Mn,Qn)=>Ce.push(Mn,Qn)),ke.iterChangedRanges((Mn,Qn,Vn,qn)=>{for(let Zn=0;Zn=jn&&Vn<=Xn&&($n=!0)}}),$n}function eqSelectionShape(_n,ke){return _n.ranges.length==ke.ranges.length&&_n.ranges.filter((Ce,$n)=>Ce.empty!=ke.ranges[$n].empty).length===0}function conc(_n,ke){return _n.length?ke.length?_n.concat(ke):_n:ke}const none$2=[],MaxSelectionsPerEvent=200;function addSelection(_n,ke){if(_n.length){let Ce=_n[_n.length-1],$n=Ce.selectionsAfter.slice(Math.max(0,Ce.selectionsAfter.length-MaxSelectionsPerEvent));return $n.length&&$n[$n.length-1].eq(ke)?_n:($n.push(ke),updateBranch(_n,_n.length-1,1e9,Ce.setSelAfter($n)))}else return[HistEvent.selection([ke])]}function popSelection(_n){let ke=_n[_n.length-1],Ce=_n.slice();return Ce[_n.length-1]=ke.setSelAfter(ke.selectionsAfter.slice(0,ke.selectionsAfter.length-1)),Ce}function addMappingToBranch(_n,ke){if(!_n.length)return _n;let Ce=_n.length,$n=none$2;for(;Ce;){let Mn=mapEvent(_n[Ce-1],ke,$n);if(Mn.changes&&!Mn.changes.empty||Mn.effects.length){let Qn=_n.slice(0,Ce);return Qn[Ce-1]=Mn,Qn}else ke=Mn.mapped,Ce--,$n=Mn.selectionsAfter}return $n.length?[HistEvent.selection($n)]:none$2}function mapEvent(_n,ke,Ce){let $n=conc(_n.selectionsAfter.length?_n.selectionsAfter.map(qn=>qn.map(ke)):none$2,Ce);if(!_n.changes)return HistEvent.selection($n);let Mn=_n.changes.map(ke),Qn=ke.mapDesc(_n.changes,!0),Vn=_n.mapped?_n.mapped.composeDesc(Qn):Qn;return new HistEvent(Mn,StateEffect.mapEffects(_n.effects,ke),Vn,_n.startSelection.map(Qn),$n)}const joinableUserEvent=/^(input\.type|delete)($|\.)/;class HistoryState{constructor(ke,Ce,$n=0,Mn=void 0){this.done=ke,this.undone=Ce,this.prevTime=$n,this.prevUserEvent=Mn}isolate(){return this.prevTime?new HistoryState(this.done,this.undone):this}addChanges(ke,Ce,$n,Mn,Qn){let Vn=this.done,qn=Vn[Vn.length-1];return qn&&qn.changes&&!qn.changes.empty&&ke.changes&&(!$n||joinableUserEvent.test($n))&&(!qn.selectionsAfter.length&&Ce-this.prevTime0&&Ce-this.prevTimeCe.empty?_n.moveByChar(Ce,ke):rangeEnd(Ce,ke))}function ltrAtCursor(_n){return _n.textDirectionAt(_n.state.selection.main.head)==Direction.LTR}const cursorCharLeft=_n=>cursorByChar(_n,!ltrAtCursor(_n)),cursorCharRight=_n=>cursorByChar(_n,ltrAtCursor(_n));function cursorByGroup(_n,ke){return moveSel(_n,Ce=>Ce.empty?_n.moveByGroup(Ce,ke):rangeEnd(Ce,ke))}const cursorGroupLeft=_n=>cursorByGroup(_n,!ltrAtCursor(_n)),cursorGroupRight=_n=>cursorByGroup(_n,ltrAtCursor(_n));function interestingNode(_n,ke,Ce){if(ke.type.prop(Ce))return!0;let $n=ke.to-ke.from;return $n&&($n>2||/[^\s,.;:]/.test(_n.sliceDoc(ke.from,ke.to)))||ke.firstChild}function moveBySyntax(_n,ke,Ce){let $n=syntaxTree(_n).resolveInner(ke.head),Mn=Ce?NodeProp.closedBy:NodeProp.openedBy;for(let Zn=ke.head;;){let jn=Ce?$n.childAfter(Zn):$n.childBefore(Zn);if(!jn)break;interestingNode(_n,jn,Mn)?$n=jn:Zn=Ce?jn.to:jn.from}let Qn=$n.type.prop(Mn),Vn,qn;return Qn&&(Vn=Ce?matchBrackets(_n,$n.from,1):matchBrackets(_n,$n.to,-1))&&Vn.matched?qn=Ce?Vn.end.to:Vn.end.from:qn=Ce?$n.to:$n.from,EditorSelection.cursor(qn,Ce?-1:1)}const cursorSyntaxLeft=_n=>moveSel(_n,ke=>moveBySyntax(_n.state,ke,!ltrAtCursor(_n))),cursorSyntaxRight=_n=>moveSel(_n,ke=>moveBySyntax(_n.state,ke,ltrAtCursor(_n)));function cursorByLine(_n,ke){return moveSel(_n,Ce=>{if(!Ce.empty)return rangeEnd(Ce,ke);let $n=_n.moveVertically(Ce,ke);return $n.head!=Ce.head?$n:_n.moveToLineBoundary(Ce,ke)})}const cursorLineUp=_n=>cursorByLine(_n,!1),cursorLineDown=_n=>cursorByLine(_n,!0);function pageInfo(_n){let ke=_n.scrollDOM.clientHeight<_n.scrollDOM.scrollHeight-2,Ce=0,$n=0,Mn;if(ke){for(let Qn of _n.state.facet(EditorView.scrollMargins)){let Vn=Qn(_n);Vn!=null&&Vn.top&&(Ce=Math.max(Vn==null?void 0:Vn.top,Ce)),Vn!=null&&Vn.bottom&&($n=Math.max(Vn==null?void 0:Vn.bottom,$n))}Mn=_n.scrollDOM.clientHeight-Ce-$n}else Mn=(_n.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:Ce,marginBottom:$n,selfScroll:ke,height:Math.max(_n.defaultLineHeight,Mn-5)}}function cursorByPage(_n,ke){let Ce=pageInfo(_n),{state:$n}=_n,Mn=updateSel($n.selection,Vn=>Vn.empty?_n.moveVertically(Vn,ke,Ce.height):rangeEnd(Vn,ke));if(Mn.eq($n.selection))return!1;let Qn;if(Ce.selfScroll){let Vn=_n.coordsAtPos($n.selection.main.head),qn=_n.scrollDOM.getBoundingClientRect(),Zn=qn.top+Ce.marginTop,jn=qn.bottom-Ce.marginBottom;Vn&&Vn.top>Zn&&Vn.bottomcursorByPage(_n,!1),cursorPageDown=_n=>cursorByPage(_n,!0);function moveByLineBoundary(_n,ke,Ce){let $n=_n.lineBlockAt(ke.head),Mn=_n.moveToLineBoundary(ke,Ce);if(Mn.head==ke.head&&Mn.head!=(Ce?$n.to:$n.from)&&(Mn=_n.moveToLineBoundary(ke,Ce,!1)),!Ce&&Mn.head==$n.from&&$n.length){let Qn=/^\s*/.exec(_n.state.sliceDoc($n.from,Math.min($n.from+100,$n.to)))[0].length;Qn&&ke.head!=$n.from+Qn&&(Mn=EditorSelection.cursor($n.from+Qn))}return Mn}const cursorLineBoundaryForward=_n=>moveSel(_n,ke=>moveByLineBoundary(_n,ke,!0)),cursorLineBoundaryBackward=_n=>moveSel(_n,ke=>moveByLineBoundary(_n,ke,!1)),cursorLineBoundaryLeft=_n=>moveSel(_n,ke=>moveByLineBoundary(_n,ke,!ltrAtCursor(_n))),cursorLineBoundaryRight=_n=>moveSel(_n,ke=>moveByLineBoundary(_n,ke,ltrAtCursor(_n))),cursorLineStart=_n=>moveSel(_n,ke=>EditorSelection.cursor(_n.lineBlockAt(ke.head).from,1)),cursorLineEnd=_n=>moveSel(_n,ke=>EditorSelection.cursor(_n.lineBlockAt(ke.head).to,-1));function toMatchingBracket(_n,ke,Ce){let $n=!1,Mn=updateSel(_n.selection,Qn=>{let Vn=matchBrackets(_n,Qn.head,-1)||matchBrackets(_n,Qn.head,1)||Qn.head>0&&matchBrackets(_n,Qn.head-1,1)||Qn.head<_n.doc.length&&matchBrackets(_n,Qn.head+1,-1);if(!Vn||!Vn.end)return Qn;$n=!0;let qn=Vn.start.from==Qn.head?Vn.end.to:Vn.end.from;return EditorSelection.cursor(qn)});return $n?(ke(setSel(_n,Mn)),!0):!1}const cursorMatchingBracket=({state:_n,dispatch:ke})=>toMatchingBracket(_n,ke);function extendSel(_n,ke){let Ce=updateSel(_n.state.selection,$n=>{let Mn=ke($n);return EditorSelection.range($n.anchor,Mn.head,Mn.goalColumn,Mn.bidiLevel||void 0)});return Ce.eq(_n.state.selection)?!1:(_n.dispatch(setSel(_n.state,Ce)),!0)}function selectByChar(_n,ke){return extendSel(_n,Ce=>_n.moveByChar(Ce,ke))}const selectCharLeft=_n=>selectByChar(_n,!ltrAtCursor(_n)),selectCharRight=_n=>selectByChar(_n,ltrAtCursor(_n));function selectByGroup(_n,ke){return extendSel(_n,Ce=>_n.moveByGroup(Ce,ke))}const selectGroupLeft=_n=>selectByGroup(_n,!ltrAtCursor(_n)),selectGroupRight=_n=>selectByGroup(_n,ltrAtCursor(_n)),selectSyntaxLeft=_n=>extendSel(_n,ke=>moveBySyntax(_n.state,ke,!ltrAtCursor(_n))),selectSyntaxRight=_n=>extendSel(_n,ke=>moveBySyntax(_n.state,ke,ltrAtCursor(_n)));function selectByLine(_n,ke){return extendSel(_n,Ce=>_n.moveVertically(Ce,ke))}const selectLineUp=_n=>selectByLine(_n,!1),selectLineDown=_n=>selectByLine(_n,!0);function selectByPage(_n,ke){return extendSel(_n,Ce=>_n.moveVertically(Ce,ke,pageInfo(_n).height))}const selectPageUp=_n=>selectByPage(_n,!1),selectPageDown=_n=>selectByPage(_n,!0),selectLineBoundaryForward=_n=>extendSel(_n,ke=>moveByLineBoundary(_n,ke,!0)),selectLineBoundaryBackward=_n=>extendSel(_n,ke=>moveByLineBoundary(_n,ke,!1)),selectLineBoundaryLeft=_n=>extendSel(_n,ke=>moveByLineBoundary(_n,ke,!ltrAtCursor(_n))),selectLineBoundaryRight=_n=>extendSel(_n,ke=>moveByLineBoundary(_n,ke,ltrAtCursor(_n))),selectLineStart=_n=>extendSel(_n,ke=>EditorSelection.cursor(_n.lineBlockAt(ke.head).from)),selectLineEnd=_n=>extendSel(_n,ke=>EditorSelection.cursor(_n.lineBlockAt(ke.head).to)),cursorDocStart=({state:_n,dispatch:ke})=>(ke(setSel(_n,{anchor:0})),!0),cursorDocEnd=({state:_n,dispatch:ke})=>(ke(setSel(_n,{anchor:_n.doc.length})),!0),selectDocStart=({state:_n,dispatch:ke})=>(ke(setSel(_n,{anchor:_n.selection.main.anchor,head:0})),!0),selectDocEnd=({state:_n,dispatch:ke})=>(ke(setSel(_n,{anchor:_n.selection.main.anchor,head:_n.doc.length})),!0),selectAll=({state:_n,dispatch:ke})=>(ke(_n.update({selection:{anchor:0,head:_n.doc.length},userEvent:"select"})),!0),selectLine=({state:_n,dispatch:ke})=>{let Ce=selectedLineBlocks(_n).map(({from:$n,to:Mn})=>EditorSelection.range($n,Math.min(Mn+1,_n.doc.length)));return ke(_n.update({selection:EditorSelection.create(Ce),userEvent:"select"})),!0},selectParentSyntax=({state:_n,dispatch:ke})=>{let Ce=updateSel(_n.selection,$n=>{let Mn=syntaxTree(_n),Qn=Mn.resolveStack($n.from,1);if($n.empty){let Vn=Mn.resolveStack($n.from,-1);Vn.node.from>=Qn.node.from&&Vn.node.to<=Qn.node.to&&(Qn=Vn)}for(let Vn=Qn;Vn;Vn=Vn.next){let{node:qn}=Vn;if((qn.from<$n.from&&qn.to>=$n.to||qn.to>$n.to&&qn.from<=$n.from)&&Vn.next)return EditorSelection.range(qn.to,qn.from)}return $n});return Ce.eq(_n.selection)?!1:(ke(setSel(_n,Ce)),!0)},simplifySelection=({state:_n,dispatch:ke})=>{let Ce=_n.selection,$n=null;return Ce.ranges.length>1?$n=EditorSelection.create([Ce.main]):Ce.main.empty||($n=EditorSelection.create([EditorSelection.cursor(Ce.main.head)])),$n?(ke(setSel(_n,$n)),!0):!1};function deleteBy(_n,ke){if(_n.state.readOnly)return!1;let Ce="delete.selection",{state:$n}=_n,Mn=$n.changeByRange(Qn=>{let{from:Vn,to:qn}=Qn;if(Vn==qn){let Zn=ke(Qn);ZnVn&&(Ce="delete.forward",Zn=skipAtomic(_n,Zn,!0)),Vn=Math.min(Vn,Zn),qn=Math.max(qn,Zn)}else Vn=skipAtomic(_n,Vn,!1),qn=skipAtomic(_n,qn,!0);return Vn==qn?{range:Qn}:{changes:{from:Vn,to:qn},range:EditorSelection.cursor(Vn,VnMn(_n)))$n.between(ke,ke,(Mn,Qn)=>{Mnke&&(ke=Ce?Qn:Mn)});return ke}const deleteByChar=(_n,ke,Ce)=>deleteBy(_n,$n=>{let Mn=$n.from,{state:Qn}=_n,Vn=Qn.doc.lineAt(Mn),qn,Zn;if(Ce&&!ke&&Mn>Vn.from&&MndeleteByChar(_n,!1,!0),deleteCharForward=_n=>deleteByChar(_n,!0,!1),deleteByGroup=(_n,ke)=>deleteBy(_n,Ce=>{let $n=Ce.head,{state:Mn}=_n,Qn=Mn.doc.lineAt($n),Vn=Mn.charCategorizer($n);for(let qn=null;;){if($n==(ke?Qn.to:Qn.from)){$n==Ce.head&&Qn.number!=(ke?Mn.doc.lines:1)&&($n+=ke?1:-1);break}let Zn=findClusterBreak(Qn.text,$n-Qn.from,ke)+Qn.from,jn=Qn.text.slice(Math.min($n,Zn)-Qn.from,Math.max($n,Zn)-Qn.from),Xn=Vn(jn);if(qn!=null&&Xn!=qn)break;(jn!=" "||$n!=Ce.head)&&(qn=Xn),$n=Zn}return $n}),deleteGroupBackward=_n=>deleteByGroup(_n,!1),deleteGroupForward=_n=>deleteByGroup(_n,!0),deleteToLineEnd=_n=>deleteBy(_n,ke=>{let Ce=_n.lineBlockAt(ke.head).to;return ke.headdeleteBy(_n,ke=>{let Ce=_n.moveToLineBoundary(ke,!1).head;return ke.head>Ce?Ce:Math.max(0,ke.head-1)}),deleteLineBoundaryForward=_n=>deleteBy(_n,ke=>{let Ce=_n.moveToLineBoundary(ke,!0).head;return ke.head{if(_n.readOnly)return!1;let Ce=_n.changeByRange($n=>({changes:{from:$n.from,to:$n.to,insert:Text.of(["",""])},range:EditorSelection.cursor($n.from)}));return ke(_n.update(Ce,{scrollIntoView:!0,userEvent:"input"})),!0},transposeChars=({state:_n,dispatch:ke})=>{if(_n.readOnly)return!1;let Ce=_n.changeByRange($n=>{if(!$n.empty||$n.from==0||$n.from==_n.doc.length)return{range:$n};let Mn=$n.from,Qn=_n.doc.lineAt(Mn),Vn=Mn==Qn.from?Mn-1:findClusterBreak(Qn.text,Mn-Qn.from,!1)+Qn.from,qn=Mn==Qn.to?Mn+1:findClusterBreak(Qn.text,Mn-Qn.from,!0)+Qn.from;return{changes:{from:Vn,to:qn,insert:_n.doc.slice(Mn,qn).append(_n.doc.slice(Vn,Mn))},range:EditorSelection.cursor(qn)}});return Ce.changes.empty?!1:(ke(_n.update(Ce,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function selectedLineBlocks(_n){let ke=[],Ce=-1;for(let $n of _n.selection.ranges){let Mn=_n.doc.lineAt($n.from),Qn=_n.doc.lineAt($n.to);if(!$n.empty&&$n.to==Qn.from&&(Qn=_n.doc.lineAt($n.to-1)),Ce>=Mn.number){let Vn=ke[ke.length-1];Vn.to=Qn.to,Vn.ranges.push($n)}else ke.push({from:Mn.from,to:Qn.to,ranges:[$n]});Ce=Qn.number+1}return ke}function moveLine(_n,ke,Ce){if(_n.readOnly)return!1;let $n=[],Mn=[];for(let Qn of selectedLineBlocks(_n)){if(Ce?Qn.to==_n.doc.length:Qn.from==0)continue;let Vn=_n.doc.lineAt(Ce?Qn.to+1:Qn.from-1),qn=Vn.length+1;if(Ce){$n.push({from:Qn.to,to:Vn.to},{from:Qn.from,insert:Vn.text+_n.lineBreak});for(let Zn of Qn.ranges)Mn.push(EditorSelection.range(Math.min(_n.doc.length,Zn.anchor+qn),Math.min(_n.doc.length,Zn.head+qn)))}else{$n.push({from:Vn.from,to:Qn.from},{from:Qn.to,insert:_n.lineBreak+Vn.text});for(let Zn of Qn.ranges)Mn.push(EditorSelection.range(Zn.anchor-qn,Zn.head-qn))}}return $n.length?(ke(_n.update({changes:$n,scrollIntoView:!0,selection:EditorSelection.create(Mn,_n.selection.mainIndex),userEvent:"move.line"})),!0):!1}const moveLineUp=({state:_n,dispatch:ke})=>moveLine(_n,ke,!1),moveLineDown=({state:_n,dispatch:ke})=>moveLine(_n,ke,!0);function copyLine(_n,ke,Ce){if(_n.readOnly)return!1;let $n=[];for(let Mn of selectedLineBlocks(_n))Ce?$n.push({from:Mn.from,insert:_n.doc.slice(Mn.from,Mn.to)+_n.lineBreak}):$n.push({from:Mn.to,insert:_n.lineBreak+_n.doc.slice(Mn.from,Mn.to)});return ke(_n.update({changes:$n,scrollIntoView:!0,userEvent:"input.copyline"})),!0}const copyLineUp=({state:_n,dispatch:ke})=>copyLine(_n,ke,!1),copyLineDown=({state:_n,dispatch:ke})=>copyLine(_n,ke,!0),deleteLine=_n=>{if(_n.state.readOnly)return!1;let{state:ke}=_n,Ce=ke.changes(selectedLineBlocks(ke).map(({from:Mn,to:Qn})=>(Mn>0?Mn--:Qn{let Qn;if(_n.lineWrapping){let Vn=_n.lineBlockAt(Mn.head),qn=_n.coordsAtPos(Mn.head,Mn.assoc||1);qn&&(Qn=Vn.bottom+_n.documentTop-qn.bottom+_n.defaultLineHeight/2)}return _n.moveVertically(Mn,!0,Qn)}).map(Ce);return _n.dispatch({changes:Ce,selection:$n,scrollIntoView:!0,userEvent:"delete.line"}),!0};function isBetweenBrackets(_n,ke){if(/\(\)|\[\]|\{\}/.test(_n.sliceDoc(ke-1,ke+1)))return{from:ke,to:ke};let Ce=syntaxTree(_n).resolveInner(ke),$n=Ce.childBefore(ke),Mn=Ce.childAfter(ke),Qn;return $n&&Mn&&$n.to<=ke&&Mn.from>=ke&&(Qn=$n.type.prop(NodeProp.closedBy))&&Qn.indexOf(Mn.name)>-1&&_n.doc.lineAt($n.to).from==_n.doc.lineAt(Mn.from).from&&!/\S/.test(_n.sliceDoc($n.to,Mn.from))?{from:$n.to,to:Mn.from}:null}const insertNewlineAndIndent=newlineAndIndent(!1),insertBlankLine=newlineAndIndent(!0);function newlineAndIndent(_n){return({state:ke,dispatch:Ce})=>{if(ke.readOnly)return!1;let $n=ke.changeByRange(Mn=>{let{from:Qn,to:Vn}=Mn,qn=ke.doc.lineAt(Qn),Zn=!_n&&Qn==Vn&&isBetweenBrackets(ke,Qn);_n&&(Qn=Vn=(Vn<=qn.to?qn:ke.doc.lineAt(Vn)).to);let jn=new IndentContext(ke,{simulateBreak:Qn,simulateDoubleBreak:!!Zn}),Xn=getIndentation(jn,Qn);for(Xn==null&&(Xn=countColumn(/^\s*/.exec(ke.doc.lineAt(Qn).text)[0],ke.tabSize));Vnqn.from&&Qn{let Mn=[];for(let Vn=$n.from;Vn<=$n.to;){let qn=_n.doc.lineAt(Vn);qn.number>Ce&&($n.empty||$n.to>qn.from)&&(ke(qn,Mn,$n),Ce=qn.number),Vn=qn.to+1}let Qn=_n.changes(Mn);return{changes:Mn,range:EditorSelection.range(Qn.mapPos($n.anchor,1),Qn.mapPos($n.head,1))}})}const indentSelection=({state:_n,dispatch:ke})=>{if(_n.readOnly)return!1;let Ce=Object.create(null),$n=new IndentContext(_n,{overrideIndentation:Qn=>{let Vn=Ce[Qn];return Vn??-1}}),Mn=changeBySelectedLine(_n,(Qn,Vn,qn)=>{let Zn=getIndentation($n,Qn.from);if(Zn==null)return;/\S/.test(Qn.text)||(Zn=0);let jn=/^\s*/.exec(Qn.text)[0],Xn=indentString(_n,Zn);(jn!=Xn||qn.from_n.readOnly?!1:(ke(_n.update(changeBySelectedLine(_n,(Ce,$n)=>{$n.push({from:Ce.from,insert:_n.facet(indentUnit)})}),{userEvent:"input.indent"})),!0),indentLess=({state:_n,dispatch:ke})=>_n.readOnly?!1:(ke(_n.update(changeBySelectedLine(_n,(Ce,$n)=>{let Mn=/^\s*/.exec(Ce.text)[0];if(!Mn)return;let Qn=countColumn(Mn,_n.tabSize),Vn=0,qn=indentString(_n,Math.max(0,Qn-getIndentUnit(_n)));for(;Vn(_n.setTabFocusMode(),!0),emacsStyleKeymap=[{key:"Ctrl-b",run:cursorCharLeft,shift:selectCharLeft,preventDefault:!0},{key:"Ctrl-f",run:cursorCharRight,shift:selectCharRight},{key:"Ctrl-p",run:cursorLineUp,shift:selectLineUp},{key:"Ctrl-n",run:cursorLineDown,shift:selectLineDown},{key:"Ctrl-a",run:cursorLineStart,shift:selectLineStart},{key:"Ctrl-e",run:cursorLineEnd,shift:selectLineEnd},{key:"Ctrl-d",run:deleteCharForward},{key:"Ctrl-h",run:deleteCharBackward},{key:"Ctrl-k",run:deleteToLineEnd},{key:"Ctrl-Alt-h",run:deleteGroupBackward},{key:"Ctrl-o",run:splitLine},{key:"Ctrl-t",run:transposeChars},{key:"Ctrl-v",run:cursorPageDown}],standardKeymap=[{key:"ArrowLeft",run:cursorCharLeft,shift:selectCharLeft,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:cursorGroupLeft,shift:selectGroupLeft,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:cursorLineBoundaryLeft,shift:selectLineBoundaryLeft,preventDefault:!0},{key:"ArrowRight",run:cursorCharRight,shift:selectCharRight,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:cursorGroupRight,shift:selectGroupRight,preventDefault:!0},{mac:"Cmd-ArrowRight",run:cursorLineBoundaryRight,shift:selectLineBoundaryRight,preventDefault:!0},{key:"ArrowUp",run:cursorLineUp,shift:selectLineUp,preventDefault:!0},{mac:"Cmd-ArrowUp",run:cursorDocStart,shift:selectDocStart},{mac:"Ctrl-ArrowUp",run:cursorPageUp,shift:selectPageUp},{key:"ArrowDown",run:cursorLineDown,shift:selectLineDown,preventDefault:!0},{mac:"Cmd-ArrowDown",run:cursorDocEnd,shift:selectDocEnd},{mac:"Ctrl-ArrowDown",run:cursorPageDown,shift:selectPageDown},{key:"PageUp",run:cursorPageUp,shift:selectPageUp},{key:"PageDown",run:cursorPageDown,shift:selectPageDown},{key:"Home",run:cursorLineBoundaryBackward,shift:selectLineBoundaryBackward,preventDefault:!0},{key:"Mod-Home",run:cursorDocStart,shift:selectDocStart},{key:"End",run:cursorLineBoundaryForward,shift:selectLineBoundaryForward,preventDefault:!0},{key:"Mod-End",run:cursorDocEnd,shift:selectDocEnd},{key:"Enter",run:insertNewlineAndIndent,shift:insertNewlineAndIndent},{key:"Mod-a",run:selectAll},{key:"Backspace",run:deleteCharBackward,shift:deleteCharBackward},{key:"Delete",run:deleteCharForward},{key:"Mod-Backspace",mac:"Alt-Backspace",run:deleteGroupBackward},{key:"Mod-Delete",mac:"Alt-Delete",run:deleteGroupForward},{mac:"Mod-Backspace",run:deleteLineBoundaryBackward},{mac:"Mod-Delete",run:deleteLineBoundaryForward}].concat(emacsStyleKeymap.map(_n=>({mac:_n.key,run:_n.run,shift:_n.shift}))),defaultKeymap=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:cursorSyntaxLeft,shift:selectSyntaxLeft},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:cursorSyntaxRight,shift:selectSyntaxRight},{key:"Alt-ArrowUp",run:moveLineUp},{key:"Shift-Alt-ArrowUp",run:copyLineUp},{key:"Alt-ArrowDown",run:moveLineDown},{key:"Shift-Alt-ArrowDown",run:copyLineDown},{key:"Escape",run:simplifySelection},{key:"Mod-Enter",run:insertBlankLine},{key:"Alt-l",mac:"Ctrl-l",run:selectLine},{key:"Mod-i",run:selectParentSyntax,preventDefault:!0},{key:"Mod-[",run:indentLess},{key:"Mod-]",run:indentMore},{key:"Mod-Alt-\\",run:indentSelection},{key:"Shift-Mod-k",run:deleteLine},{key:"Shift-Mod-\\",run:cursorMatchingBracket},{key:"Mod-/",run:toggleComment},{key:"Alt-A",run:toggleBlockComment},{key:"Ctrl-m",mac:"Shift-Alt-m",run:toggleTabFocusMode}].concat(standardKeymap),indentWithTab={key:"Tab",run:indentMore,shift:indentLess};function crelt(){var _n=arguments[0];typeof _n=="string"&&(_n=document.createElement(_n));var ke=1,Ce=arguments[1];if(Ce&&typeof Ce=="object"&&Ce.nodeType==null&&!Array.isArray(Ce)){for(var $n in Ce)if(Object.prototype.hasOwnProperty.call(Ce,$n)){var Mn=Ce[$n];typeof Mn=="string"?_n.setAttribute($n,Mn):Mn!=null&&(_n[$n]=Mn)}ke++}for(;ke_n.normalize("NFKD"):_n=>_n;class SearchCursor{constructor(ke,Ce,$n=0,Mn=ke.length,Qn,Vn){this.test=Vn,this.value={from:0,to:0},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=ke.iterRange($n,Mn),this.bufferStart=$n,this.normalize=Qn?qn=>Qn(basicNormalize(qn)):basicNormalize,this.query=this.normalize(Ce)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return codePointAt(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let ke=this.peek();if(ke<0)return this.done=!0,this;let Ce=fromCodePoint(ke),$n=this.bufferStart+this.bufferPos;this.bufferPos+=codePointSize(ke);let Mn=this.normalize(Ce);for(let Qn=0,Vn=$n;;Qn++){let qn=Mn.charCodeAt(Qn),Zn=this.match(qn,Vn,this.bufferPos+this.bufferStart);if(Qn==Mn.length-1){if(Zn)return this.value=Zn,this;break}Vn==$n&&Qnthis.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let ke=this.matchPos-this.curLineStart;;){this.re.lastIndex=ke;let Ce=this.matchPos<=this.to&&this.re.exec(this.curLine);if(Ce){let $n=this.curLineStart+Ce.index,Mn=$n+Ce[0].length;if(this.matchPos=toCharEnd(this.text,Mn+($n==Mn?1:0)),$n==this.curLineStart+this.curLine.length&&this.nextLine(),($nthis.value.to)&&(!this.test||this.test($n,Mn,Ce)))return this.value={from:$n,to:Mn,match:Ce},this;ke=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length=$n||Mn.to<=Ce){let qn=new FlattenedDoc(Ce,ke.sliceString(Ce,$n));return flattened.set(ke,qn),qn}if(Mn.from==Ce&&Mn.to==$n)return Mn;let{text:Qn,from:Vn}=Mn;return Vn>Ce&&(Qn=ke.sliceString(Ce,Vn)+Qn,Vn=Ce),Mn.to<$n&&(Qn+=ke.sliceString(Mn.to,$n)),flattened.set(ke,new FlattenedDoc(Vn,Qn)),new FlattenedDoc(Ce,Qn.slice(Ce-Vn,$n-Vn))}}class MultilineRegExpCursor{constructor(ke,Ce,$n,Mn,Qn){this.text=ke,this.to=Qn,this.done=!1,this.value=empty,this.matchPos=toCharEnd(ke,Mn),this.re=new RegExp(Ce,baseFlags+($n!=null&&$n.ignoreCase?"i":"")),this.test=$n==null?void 0:$n.test,this.flat=FlattenedDoc.get(ke,Mn,this.chunkEnd(Mn+5e3))}chunkEnd(ke){return ke>=this.to?this.to:this.text.lineAt(ke).to}next(){for(;;){let ke=this.re.lastIndex=this.matchPos-this.flat.from,Ce=this.re.exec(this.flat.text);if(Ce&&!Ce[0]&&Ce.index==ke&&(this.re.lastIndex=ke+1,Ce=this.re.exec(this.flat.text)),Ce){let $n=this.flat.from+Ce.index,Mn=$n+Ce[0].length;if((this.flat.to>=this.to||Ce.index+Ce[0].length<=this.flat.text.length-10)&&(!this.test||this.test($n,Mn,Ce)))return this.value={from:$n,to:Mn,match:Ce},this.matchPos=toCharEnd(this.text,Mn+($n==Mn?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=FlattenedDoc.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}}typeof Symbol<"u"&&(RegExpCursor.prototype[Symbol.iterator]=MultilineRegExpCursor.prototype[Symbol.iterator]=function(){return this});function validRegExp(_n){try{return new RegExp(_n,baseFlags),!0}catch{return!1}}function toCharEnd(_n,ke){if(ke>=_n.length)return ke;let Ce=_n.lineAt(ke),$n;for(;ke=56320&&$n<57344;)ke++;return ke}function createLineDialog(_n){let ke=String(_n.state.doc.lineAt(_n.state.selection.main.head).number),Ce=crelt("input",{class:"cm-textfield",name:"line",value:ke}),$n=crelt("form",{class:"cm-gotoLine",onkeydown:Qn=>{Qn.keyCode==27?(Qn.preventDefault(),_n.dispatch({effects:dialogEffect.of(!1)}),_n.focus()):Qn.keyCode==13&&(Qn.preventDefault(),Mn())},onsubmit:Qn=>{Qn.preventDefault(),Mn()}},crelt("label",_n.state.phrase("Go to line"),": ",Ce)," ",crelt("button",{class:"cm-button",type:"submit"},_n.state.phrase("go")));function Mn(){let Qn=/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(Ce.value);if(!Qn)return;let{state:Vn}=_n,qn=Vn.doc.lineAt(Vn.selection.main.head),[,Zn,jn,Xn,zn]=Qn,Hn=Xn?+Xn.slice(1):0,Wn=jn?+jn:qn.number;if(jn&&zn){let Gn=Wn/100;Zn&&(Gn=Gn*(Zn=="-"?-1:1)+qn.number/Vn.doc.lines),Wn=Math.round(Vn.doc.lines*Gn)}else jn&&Zn&&(Wn=Wn*(Zn=="-"?-1:1)+qn.number);let Yn=Vn.doc.line(Math.max(1,Math.min(Vn.doc.lines,Wn))),Un=EditorSelection.cursor(Yn.from+Math.max(0,Math.min(Hn,Yn.length)));_n.dispatch({effects:[dialogEffect.of(!1),EditorView.scrollIntoView(Un.from,{y:"center"})],selection:Un}),_n.focus()}return{dom:$n}}const dialogEffect=StateEffect.define(),dialogField=StateField.define({create(){return!0},update(_n,ke){for(let Ce of ke.effects)Ce.is(dialogEffect)&&(_n=Ce.value);return _n},provide:_n=>showPanel.from(_n,ke=>ke?createLineDialog:null)}),gotoLine=_n=>{let ke=getPanel(_n,createLineDialog);if(!ke){let Ce=[dialogEffect.of(!0)];_n.state.field(dialogField,!1)==null&&Ce.push(StateEffect.appendConfig.of([dialogField,baseTheme$1$1])),_n.dispatch({effects:Ce}),ke=getPanel(_n,createLineDialog)}return ke&&ke.dom.querySelector("input").select(),!0},baseTheme$1$1=EditorView.baseTheme({".cm-panel.cm-gotoLine":{padding:"2px 6px 4px","& label":{fontSize:"80%"}}}),defaultHighlightOptions={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},highlightConfig=Facet.define({combine(_n){return combineConfig(_n,defaultHighlightOptions,{highlightWordAroundCursor:(ke,Ce)=>ke||Ce,minSelectionLength:Math.min,maxMatches:Math.min})}});function highlightSelectionMatches(_n){return[defaultTheme,matchHighlighter]}const matchDeco=Decoration.mark({class:"cm-selectionMatch"}),mainMatchDeco=Decoration.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function insideWordBoundaries(_n,ke,Ce,$n){return(Ce==0||_n(ke.sliceDoc(Ce-1,Ce))!=CharCategory.Word)&&($n==ke.doc.length||_n(ke.sliceDoc($n,$n+1))!=CharCategory.Word)}function insideWord(_n,ke,Ce,$n){return _n(ke.sliceDoc(Ce,Ce+1))==CharCategory.Word&&_n(ke.sliceDoc($n-1,$n))==CharCategory.Word}const matchHighlighter=ViewPlugin.fromClass(class{constructor(_n){this.decorations=this.getDeco(_n)}update(_n){(_n.selectionSet||_n.docChanged||_n.viewportChanged)&&(this.decorations=this.getDeco(_n.view))}getDeco(_n){let ke=_n.state.facet(highlightConfig),{state:Ce}=_n,$n=Ce.selection;if($n.ranges.length>1)return Decoration.none;let Mn=$n.main,Qn,Vn=null;if(Mn.empty){if(!ke.highlightWordAroundCursor)return Decoration.none;let Zn=Ce.wordAt(Mn.head);if(!Zn)return Decoration.none;Vn=Ce.charCategorizer(Mn.head),Qn=Ce.sliceDoc(Zn.from,Zn.to)}else{let Zn=Mn.to-Mn.from;if(Zn200)return Decoration.none;if(ke.wholeWords){if(Qn=Ce.sliceDoc(Mn.from,Mn.to),Vn=Ce.charCategorizer(Mn.head),!(insideWordBoundaries(Vn,Ce,Mn.from,Mn.to)&&insideWord(Vn,Ce,Mn.from,Mn.to)))return Decoration.none}else if(Qn=Ce.sliceDoc(Mn.from,Mn.to),!Qn)return Decoration.none}let qn=[];for(let Zn of _n.visibleRanges){let jn=new SearchCursor(Ce.doc,Qn,Zn.from,Zn.to);for(;!jn.next().done;){let{from:Xn,to:zn}=jn.value;if((!Vn||insideWordBoundaries(Vn,Ce,Xn,zn))&&(Mn.empty&&Xn<=Mn.from&&zn>=Mn.to?qn.push(mainMatchDeco.range(Xn,zn)):(Xn>=Mn.to||zn<=Mn.from)&&qn.push(matchDeco.range(Xn,zn)),qn.length>ke.maxMatches))return Decoration.none}}return Decoration.set(qn)}},{decorations:_n=>_n.decorations}),defaultTheme=EditorView.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),selectWord=({state:_n,dispatch:ke})=>{let{selection:Ce}=_n,$n=EditorSelection.create(Ce.ranges.map(Mn=>_n.wordAt(Mn.head)||EditorSelection.cursor(Mn.head)),Ce.mainIndex);return $n.eq(Ce)?!1:(ke(_n.update({selection:$n})),!0)};function findNextOccurrence(_n,ke){let{main:Ce,ranges:$n}=_n.selection,Mn=_n.wordAt(Ce.head),Qn=Mn&&Mn.from==Ce.from&&Mn.to==Ce.to;for(let Vn=!1,qn=new SearchCursor(_n.doc,ke,$n[$n.length-1].to);;)if(qn.next(),qn.done){if(Vn)return null;qn=new SearchCursor(_n.doc,ke,0,Math.max(0,$n[$n.length-1].from-1)),Vn=!0}else{if(Vn&&$n.some(Zn=>Zn.from==qn.value.from))continue;if(Qn){let Zn=_n.wordAt(qn.value.from);if(!Zn||Zn.from!=qn.value.from||Zn.to!=qn.value.to)continue}return qn.value}}const selectNextOccurrence=({state:_n,dispatch:ke})=>{let{ranges:Ce}=_n.selection;if(Ce.some(Qn=>Qn.from===Qn.to))return selectWord({state:_n,dispatch:ke});let $n=_n.sliceDoc(Ce[0].from,Ce[0].to);if(_n.selection.ranges.some(Qn=>_n.sliceDoc(Qn.from,Qn.to)!=$n))return!1;let Mn=findNextOccurrence(_n,$n);return Mn?(ke(_n.update({selection:_n.selection.addRange(EditorSelection.range(Mn.from,Mn.to),!1),effects:EditorView.scrollIntoView(Mn.to)})),!0):!1},searchConfigFacet=Facet.define({combine(_n){return combineConfig(_n,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:ke=>new SearchPanel(ke),scrollToMatch:ke=>EditorView.scrollIntoView(ke)})}});class SearchQuery{constructor(ke){this.search=ke.search,this.caseSensitive=!!ke.caseSensitive,this.literal=!!ke.literal,this.regexp=!!ke.regexp,this.replace=ke.replace||"",this.valid=!!this.search&&(!this.regexp||validRegExp(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!ke.wholeWord}unquote(ke){return this.literal?ke:ke.replace(/\\([nrt\\])/g,(Ce,$n)=>$n=="n"?` `:$n=="r"?"\r":$n=="t"?" ":"\\")}eq(ke){return this.search==ke.search&&this.replace==ke.replace&&this.caseSensitive==ke.caseSensitive&&this.regexp==ke.regexp&&this.wholeWord==ke.wholeWord}create(){return this.regexp?new RegExpQuery(this):new StringQuery(this)}getCursor(ke,Ce=0,$n){let Mn=ke.doc?ke:EditorState.create({doc:ke});return $n==null&&($n=Mn.doc.length),this.regexp?regexpCursor(this,Mn,Ce,$n):stringCursor(this,Mn,Ce,$n)}}class QueryType{constructor(ke){this.spec=ke}}function stringCursor(_n,ke,Ce,$n){return new SearchCursor(ke.doc,_n.unquoted,Ce,$n,_n.caseSensitive?void 0:Mn=>Mn.toLowerCase(),_n.wholeWord?stringWordTest(ke.doc,ke.charCategorizer(ke.selection.main.head)):void 0)}function stringWordTest(_n,ke){return(Ce,$n,Mn,Qn)=>((Qn>Ce||Qn+Mn.length<$n)&&(Qn=Math.max(0,Ce-2),Mn=_n.sliceString(Qn,Math.min(_n.length,$n+2))),(ke(charBefore(Mn,Ce-Qn))!=CharCategory.Word||ke(charAfter(Mn,Ce-Qn))!=CharCategory.Word)&&(ke(charAfter(Mn,$n-Qn))!=CharCategory.Word||ke(charBefore(Mn,$n-Qn))!=CharCategory.Word))}class StringQuery extends QueryType{constructor(ke){super(ke)}nextMatch(ke,Ce,$n){let Mn=stringCursor(this.spec,ke,$n,ke.doc.length).nextOverlapping();return Mn.done&&(Mn=stringCursor(this.spec,ke,0,Ce).nextOverlapping()),Mn.done?null:Mn.value}prevMatchInRange(ke,Ce,$n){for(let Mn=$n;;){let Qn=Math.max(Ce,Mn-1e4-this.spec.unquoted.length),Vn=stringCursor(this.spec,ke,Qn,Mn),qn=null;for(;!Vn.nextOverlapping().done;)qn=Vn.value;if(qn)return qn;if(Qn==Ce)return null;Mn-=1e4}}prevMatch(ke,Ce,$n){return this.prevMatchInRange(ke,0,Ce)||this.prevMatchInRange(ke,$n,ke.doc.length)}getReplacement(ke){return this.spec.unquote(this.spec.replace)}matchAll(ke,Ce){let $n=stringCursor(this.spec,ke,0,ke.doc.length),Mn=[];for(;!$n.next().done;){if(Mn.length>=Ce)return null;Mn.push($n.value)}return Mn}highlight(ke,Ce,$n,Mn){let Qn=stringCursor(this.spec,ke,Math.max(0,Ce-this.spec.unquoted.length),Math.min($n+this.spec.unquoted.length,ke.doc.length));for(;!Qn.next().done;)Mn(Qn.value.from,Qn.value.to)}}function regexpCursor(_n,ke,Ce,$n){return new RegExpCursor(ke.doc,_n.search,{ignoreCase:!_n.caseSensitive,test:_n.wholeWord?regexpWordTest(ke.charCategorizer(ke.selection.main.head)):void 0},Ce,$n)}function charBefore(_n,ke){return _n.slice(findClusterBreak(_n,ke,!1),ke)}function charAfter(_n,ke){return _n.slice(ke,findClusterBreak(_n,ke))}function regexpWordTest(_n){return(ke,Ce,$n)=>!$n[0].length||(_n(charBefore($n.input,$n.index))!=CharCategory.Word||_n(charAfter($n.input,$n.index))!=CharCategory.Word)&&(_n(charAfter($n.input,$n.index+$n[0].length))!=CharCategory.Word||_n(charBefore($n.input,$n.index+$n[0].length))!=CharCategory.Word)}class RegExpQuery extends QueryType{nextMatch(ke,Ce,$n){let Mn=regexpCursor(this.spec,ke,$n,ke.doc.length).next();return Mn.done&&(Mn=regexpCursor(this.spec,ke,0,Ce).next()),Mn.done?null:Mn.value}prevMatchInRange(ke,Ce,$n){for(let Mn=1;;Mn++){let Qn=Math.max(Ce,$n-Mn*1e4),Vn=regexpCursor(this.spec,ke,Qn,$n),qn=null;for(;!Vn.next().done;)qn=Vn.value;if(qn&&(Qn==Ce||qn.from>Qn+10))return qn;if(Qn==Ce)return null}}prevMatch(ke,Ce,$n){return this.prevMatchInRange(ke,0,Ce)||this.prevMatchInRange(ke,$n,ke.doc.length)}getReplacement(ke){return this.spec.unquote(this.spec.replace).replace(/\$([$&\d+])/g,(Ce,$n)=>$n=="$"?"$":$n=="&"?ke.match[0]:$n!="0"&&+$n=Ce)return null;Mn.push($n.value)}return Mn}highlight(ke,Ce,$n,Mn){let Qn=regexpCursor(this.spec,ke,Math.max(0,Ce-250),Math.min($n+250,ke.doc.length));for(;!Qn.next().done;)Mn(Qn.value.from,Qn.value.to)}}const setSearchQuery=StateEffect.define(),togglePanel$1=StateEffect.define(),searchState=StateField.define({create(_n){return new SearchState(defaultQuery(_n).create(),null)},update(_n,ke){for(let Ce of ke.effects)Ce.is(setSearchQuery)?_n=new SearchState(Ce.value.create(),_n.panel):Ce.is(togglePanel$1)&&(_n=new SearchState(_n.query,Ce.value?createSearchPanel:null));return _n},provide:_n=>showPanel.from(_n,ke=>ke.panel)});class SearchState{constructor(ke,Ce){this.query=ke,this.panel=Ce}}const matchMark=Decoration.mark({class:"cm-searchMatch"}),selectedMatchMark=Decoration.mark({class:"cm-searchMatch cm-searchMatch-selected"}),searchHighlighter=ViewPlugin.fromClass(class{constructor(_n){this.view=_n,this.decorations=this.highlight(_n.state.field(searchState))}update(_n){let ke=_n.state.field(searchState);(ke!=_n.startState.field(searchState)||_n.docChanged||_n.selectionSet||_n.viewportChanged)&&(this.decorations=this.highlight(ke))}highlight({query:_n,panel:ke}){if(!ke||!_n.spec.valid)return Decoration.none;let{view:Ce}=this,$n=new RangeSetBuilder;for(let Mn=0,Qn=Ce.visibleRanges,Vn=Qn.length;MnQn[Mn+1].from-2*250;)Zn=Qn[++Mn].to;_n.highlight(Ce.state,qn,Zn,(jn,Xn)=>{let zn=Ce.state.selection.ranges.some(Hn=>Hn.from==jn&&Hn.to==Xn);$n.add(jn,Xn,zn?selectedMatchMark:matchMark)})}return $n.finish()}},{decorations:_n=>_n.decorations});function searchCommand(_n){return ke=>{let Ce=ke.state.field(searchState,!1);return Ce&&Ce.query.spec.valid?_n(ke,Ce):openSearchPanel(ke)}}const findNext=searchCommand((_n,{query:ke})=>{let{to:Ce}=_n.state.selection.main,$n=ke.nextMatch(_n.state,Ce,Ce);if(!$n)return!1;let Mn=EditorSelection.single($n.from,$n.to),Qn=_n.state.facet(searchConfigFacet);return _n.dispatch({selection:Mn,effects:[announceMatch(_n,$n),Qn.scrollToMatch(Mn.main,_n)],userEvent:"select.search"}),selectSearchInput(_n),!0}),findPrevious=searchCommand((_n,{query:ke})=>{let{state:Ce}=_n,{from:$n}=Ce.selection.main,Mn=ke.prevMatch(Ce,$n,$n);if(!Mn)return!1;let Qn=EditorSelection.single(Mn.from,Mn.to),Vn=_n.state.facet(searchConfigFacet);return _n.dispatch({selection:Qn,effects:[announceMatch(_n,Mn),Vn.scrollToMatch(Qn.main,_n)],userEvent:"select.search"}),selectSearchInput(_n),!0}),selectMatches=searchCommand((_n,{query:ke})=>{let Ce=ke.matchAll(_n.state,1e3);return!Ce||!Ce.length?!1:(_n.dispatch({selection:EditorSelection.create(Ce.map($n=>EditorSelection.range($n.from,$n.to))),userEvent:"select.search.matches"}),!0)}),selectSelectionMatches=({state:_n,dispatch:ke})=>{let Ce=_n.selection;if(Ce.ranges.length>1||Ce.main.empty)return!1;let{from:$n,to:Mn}=Ce.main,Qn=[],Vn=0;for(let qn=new SearchCursor(_n.doc,_n.sliceDoc($n,Mn));!qn.next().done;){if(Qn.length>1e3)return!1;qn.value.from==$n&&(Vn=Qn.length),Qn.push(EditorSelection.range(qn.value.from,qn.value.to))}return ke(_n.update({selection:EditorSelection.create(Qn,Vn),userEvent:"select.search.matches"})),!0},replaceNext=searchCommand((_n,{query:ke})=>{let{state:Ce}=_n,{from:$n,to:Mn}=Ce.selection.main;if(Ce.readOnly)return!1;let Qn=ke.nextMatch(Ce,$n,$n);if(!Qn)return!1;let Vn=[],qn,Zn,jn=[];if(Qn.from==$n&&Qn.to==Mn&&(Zn=Ce.toText(ke.getReplacement(Qn)),Vn.push({from:Qn.from,to:Qn.to,insert:Zn}),Qn=ke.nextMatch(Ce,Qn.from,Qn.to),jn.push(EditorView.announce.of(Ce.phrase("replaced match on line $",Ce.doc.lineAt($n).number)+"."))),Qn){let Xn=Vn.length==0||Vn[0].from>=Qn.to?0:Qn.to-Qn.from-Zn.length;qn=EditorSelection.single(Qn.from-Xn,Qn.to-Xn),jn.push(announceMatch(_n,Qn)),jn.push(Ce.facet(searchConfigFacet).scrollToMatch(qn.main,_n))}return _n.dispatch({changes:Vn,selection:qn,effects:jn,userEvent:"input.replace"}),!0}),replaceAll=searchCommand((_n,{query:ke})=>{if(_n.state.readOnly)return!1;let Ce=ke.matchAll(_n.state,1e9).map(Mn=>{let{from:Qn,to:Vn}=Mn;return{from:Qn,to:Vn,insert:ke.getReplacement(Mn)}});if(!Ce.length)return!1;let $n=_n.state.phrase("replaced $ matches",Ce.length)+".";return _n.dispatch({changes:Ce,effects:EditorView.announce.of($n),userEvent:"input.replace.all"}),!0});function createSearchPanel(_n){return _n.state.facet(searchConfigFacet).createPanel(_n)}function defaultQuery(_n,ke){var Ce,$n,Mn,Qn,Vn;let qn=_n.selection.main,Zn=qn.empty||qn.to>qn.from+100?"":_n.sliceDoc(qn.from,qn.to);if(ke&&!Zn)return ke;let jn=_n.facet(searchConfigFacet);return new SearchQuery({search:((Ce=ke==null?void 0:ke.literal)!==null&&Ce!==void 0?Ce:jn.literal)?Zn:Zn.replace(/\n/g,"\\n"),caseSensitive:($n=ke==null?void 0:ke.caseSensitive)!==null&&$n!==void 0?$n:jn.caseSensitive,literal:(Mn=ke==null?void 0:ke.literal)!==null&&Mn!==void 0?Mn:jn.literal,regexp:(Qn=ke==null?void 0:ke.regexp)!==null&&Qn!==void 0?Qn:jn.regexp,wholeWord:(Vn=ke==null?void 0:ke.wholeWord)!==null&&Vn!==void 0?Vn:jn.wholeWord})}function getSearchInput(_n){let ke=getPanel(_n,createSearchPanel);return ke&&ke.dom.querySelector("[main-field]")}function selectSearchInput(_n){let ke=getSearchInput(_n);ke&&ke==_n.root.activeElement&&ke.select()}const openSearchPanel=_n=>{let ke=_n.state.field(searchState,!1);if(ke&&ke.panel){let Ce=getSearchInput(_n);if(Ce&&Ce!=_n.root.activeElement){let $n=defaultQuery(_n.state,ke.query.spec);$n.valid&&_n.dispatch({effects:setSearchQuery.of($n)}),Ce.focus(),Ce.select()}}else _n.dispatch({effects:[togglePanel$1.of(!0),ke?setSearchQuery.of(defaultQuery(_n.state,ke.query.spec)):StateEffect.appendConfig.of(searchExtensions)]});return!0},closeSearchPanel=_n=>{let ke=_n.state.field(searchState,!1);if(!ke||!ke.panel)return!1;let Ce=getPanel(_n,createSearchPanel);return Ce&&Ce.dom.contains(_n.root.activeElement)&&_n.focus(),_n.dispatch({effects:togglePanel$1.of(!1)}),!0},searchKeymap=[{key:"Mod-f",run:openSearchPanel,scope:"editor search-panel"},{key:"F3",run:findNext,shift:findPrevious,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:findNext,shift:findPrevious,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:closeSearchPanel,scope:"editor search-panel"},{key:"Mod-Shift-l",run:selectSelectionMatches},{key:"Mod-Alt-g",run:gotoLine},{key:"Mod-d",run:selectNextOccurrence,preventDefault:!0}];class SearchPanel{constructor(ke){this.view=ke;let Ce=this.query=ke.state.field(searchState).query.spec;this.commit=this.commit.bind(this),this.searchField=crelt("input",{value:Ce.search,placeholder:phrase(ke,"Find"),"aria-label":phrase(ke,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=crelt("input",{value:Ce.replace,placeholder:phrase(ke,"Replace"),"aria-label":phrase(ke,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=crelt("input",{type:"checkbox",name:"case",form:"",checked:Ce.caseSensitive,onchange:this.commit}),this.reField=crelt("input",{type:"checkbox",name:"re",form:"",checked:Ce.regexp,onchange:this.commit}),this.wordField=crelt("input",{type:"checkbox",name:"word",form:"",checked:Ce.wholeWord,onchange:this.commit});function $n(Mn,Qn,Vn){return crelt("button",{class:"cm-button",name:Mn,onclick:Qn,type:"button"},Vn)}this.dom=crelt("div",{onkeydown:Mn=>this.keydown(Mn),class:"cm-search"},[this.searchField,$n("next",()=>findNext(ke),[phrase(ke,"next")]),$n("prev",()=>findPrevious(ke),[phrase(ke,"previous")]),$n("select",()=>selectMatches(ke),[phrase(ke,"all")]),crelt("label",null,[this.caseField,phrase(ke,"match case")]),crelt("label",null,[this.reField,phrase(ke,"regexp")]),crelt("label",null,[this.wordField,phrase(ke,"by word")]),...ke.state.readOnly?[]:[crelt("br"),this.replaceField,$n("replace",()=>replaceNext(ke),[phrase(ke,"replace")]),$n("replaceAll",()=>replaceAll(ke),[phrase(ke,"replace all")])],crelt("button",{name:"close",onclick:()=>closeSearchPanel(ke),"aria-label":phrase(ke,"close"),type:"button"},["×"])])}commit(){let ke=new SearchQuery({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});ke.eq(this.query)||(this.query=ke,this.view.dispatch({effects:setSearchQuery.of(ke)}))}keydown(ke){runScopeHandlers(this.view,ke,"search-panel")?ke.preventDefault():ke.keyCode==13&&ke.target==this.searchField?(ke.preventDefault(),(ke.shiftKey?findPrevious:findNext)(this.view)):ke.keyCode==13&&ke.target==this.replaceField&&(ke.preventDefault(),replaceNext(this.view))}update(ke){for(let Ce of ke.transactions)for(let $n of Ce.effects)$n.is(setSearchQuery)&&!$n.value.eq(this.query)&&this.setQuery($n.value)}setQuery(ke){this.query=ke,this.searchField.value=ke.search,this.replaceField.value=ke.replace,this.caseField.checked=ke.caseSensitive,this.reField.checked=ke.regexp,this.wordField.checked=ke.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(searchConfigFacet).top}}function phrase(_n,ke){return _n.state.phrase(ke)}const AnnounceMargin=30,Break=/[\s\.,:;?!]/;function announceMatch(_n,{from:ke,to:Ce}){let $n=_n.state.doc.lineAt(ke),Mn=_n.state.doc.lineAt(Ce).to,Qn=Math.max($n.from,ke-AnnounceMargin),Vn=Math.min(Mn,Ce+AnnounceMargin),qn=_n.state.sliceDoc(Qn,Vn);if(Qn!=$n.from){for(let Zn=0;Znqn.length-AnnounceMargin;Zn--)if(!Break.test(qn[Zn-1])&&Break.test(qn[Zn])){qn=qn.slice(0,Zn);break}}return EditorView.announce.of(`${_n.state.phrase("current match")}. ${qn} ${_n.state.phrase("on line")} ${$n.number}.`)}const baseTheme$2=EditorView.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),searchExtensions=[searchState,Prec.low(searchHighlighter),baseTheme$2];class CompletionContext{constructor(ke,Ce,$n,Mn){this.state=ke,this.pos=Ce,this.explicit=$n,this.view=Mn,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(ke){let Ce=syntaxTree(this.state).resolveInner(this.pos,-1);for(;Ce&&ke.indexOf(Ce.name)<0;)Ce=Ce.parent;return Ce?{from:Ce.from,to:this.pos,text:this.state.sliceDoc(Ce.from,this.pos),type:Ce.type}:null}matchBefore(ke){let Ce=this.state.doc.lineAt(this.pos),$n=Math.max(Ce.from,this.pos-250),Mn=Ce.text.slice($n-Ce.from,this.pos-Ce.from),Qn=Mn.search(ensureAnchor(ke,!1));return Qn<0?null:{from:$n+Qn,to:this.pos,text:Mn.slice(Qn)}}get aborted(){return this.abortListeners==null}addEventListener(ke,Ce,$n){ke=="abort"&&this.abortListeners&&(this.abortListeners.push(Ce),$n&&$n.onDocChange&&(this.abortOnDocChange=!0))}}function toSet(_n){let ke=Object.keys(_n).join(""),Ce=/\w/.test(ke);return Ce&&(ke=ke.replace(/\w/g,"")),`[${Ce?"\\w":""}${ke.replace(/[^\w\s]/g,"\\$&")}]`}function prefixMatch(_n){let ke=Object.create(null),Ce=Object.create(null);for(let{label:Mn}of _n){ke[Mn[0]]=!0;for(let Qn=1;Qntypeof Mn=="string"?{label:Mn}:Mn),[Ce,$n]=ke.every(Mn=>/^\w+$/.test(Mn.label))?[/\w*$/,/\w+$/]:prefixMatch(ke);return Mn=>{let Qn=Mn.matchBefore($n);return Qn||Mn.explicit?{from:Qn?Qn.from:Mn.pos,options:ke,validFor:Ce}:null}}function ifNotIn(_n,ke){return Ce=>{for(let $n=syntaxTree(Ce.state).resolveInner(Ce.pos,-1);$n;$n=$n.parent){if(_n.indexOf($n.name)>-1)return null;if($n.type.isTop)break}return ke(Ce)}}class Option{constructor(ke,Ce,$n,Mn){this.completion=ke,this.source=Ce,this.match=$n,this.score=Mn}}function cur(_n){return _n.selection.main.from}function ensureAnchor(_n,ke){var Ce;let{source:$n}=_n,Mn=ke&&$n[0]!="^",Qn=$n[$n.length-1]!="$";return!Mn&&!Qn?_n:new RegExp(`${Mn?"^":""}(?:${$n})${Qn?"$":""}`,(Ce=_n.flags)!==null&&Ce!==void 0?Ce:_n.ignoreCase?"i":"")}const pickedCompletion=Annotation.define();function insertCompletionText(_n,ke,Ce,$n){let{main:Mn}=_n.selection,Qn=Ce-Mn.from,Vn=$n-Mn.from;return Object.assign(Object.assign({},_n.changeByRange(qn=>{if(qn!=Mn&&Ce!=$n&&_n.sliceDoc(qn.from+Qn,qn.from+Vn)!=_n.sliceDoc(Ce,$n))return{range:qn};let Zn=_n.toText(ke);return{changes:{from:qn.from+Qn,to:$n==Mn.from?qn.to:qn.from+Vn,insert:Zn},range:EditorSelection.cursor(qn.from+Qn+Zn.length)}})),{scrollIntoView:!0,userEvent:"input.complete"})}const SourceCache=new WeakMap;function asSource(_n){if(!Array.isArray(_n))return _n;let ke=SourceCache.get(_n);return ke||SourceCache.set(_n,ke=completeFromList(_n)),ke}const startCompletionEffect=StateEffect.define(),closeCompletionEffect=StateEffect.define();class FuzzyMatcher{constructor(ke){this.pattern=ke,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let Ce=0;Ce=48&&er<=57||er>=97&&er<=122?2:er>=65&&er<=90?1:0:(rr=fromCodePoint(er))!=rr.toLowerCase()?1:rr!=rr.toUpperCase()?2:0;(!Jn||or==1&&Gn||nr==0&&or!=0)&&(Ce[zn]==er||$n[zn]==er&&(Hn=!0)?Vn[zn++]=Jn:Vn.length&&(Kn=!1)),nr=or,Jn+=codePointSize(er)}return zn==Zn&&Vn[0]==0&&Kn?this.result(-100+(Hn?-200:0),Vn,ke):Wn==Zn&&Yn==0?this.ret(-200-ke.length+(Un==ke.length?0:-100),[0,Un]):qn>-1?this.ret(-700-ke.length,[qn,qn+this.pattern.length]):Wn==Zn?this.ret(-900-ke.length,[Yn,Un]):zn==Zn?this.result(-100+(Hn?-200:0)+-700+(Kn?0:-1100),Vn,ke):Ce.length==2?null:this.result((Mn[0]?-700:0)+-200+-1100,Mn,ke)}result(ke,Ce,$n){let Mn=[],Qn=0;for(let Vn of Ce){let qn=Vn+(this.astral?codePointSize(codePointAt($n,Vn)):1);Qn&&Mn[Qn-1]==Vn?Mn[Qn-1]=qn:(Mn[Qn++]=Vn,Mn[Qn++]=qn)}return this.ret(ke-$n.length,Mn)}}class StrictMatcher{constructor(ke){this.pattern=ke,this.matched=[],this.score=0,this.folded=ke.toLowerCase()}match(ke){if(ke.length!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:defaultPositionInfo,filterStrict:!1,compareCompletions:(ke,Ce)=>ke.label.localeCompare(Ce.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(ke,Ce)=>ke&&Ce,closeOnBlur:(ke,Ce)=>ke&&Ce,icons:(ke,Ce)=>ke&&Ce,tooltipClass:(ke,Ce)=>$n=>joinClass(ke($n),Ce($n)),optionClass:(ke,Ce)=>$n=>joinClass(ke($n),Ce($n)),addToOptions:(ke,Ce)=>ke.concat(Ce),filterStrict:(ke,Ce)=>ke||Ce})}});function joinClass(_n,ke){return _n?ke?_n+" "+ke:_n:ke}function defaultPositionInfo(_n,ke,Ce,$n,Mn,Qn){let Vn=_n.textDirection==Direction.RTL,qn=Vn,Zn=!1,jn="top",Xn,zn,Hn=ke.left-Mn.left,Wn=Mn.right-ke.right,Yn=$n.right-$n.left,Un=$n.bottom-$n.top;if(qn&&Hn=Un||Jn>ke.top?Xn=Ce.bottom-ke.top:(jn="bottom",Xn=ke.bottom-Ce.top)}let Gn=(ke.bottom-ke.top)/Qn.offsetHeight,Kn=(ke.right-ke.left)/Qn.offsetWidth;return{style:`${jn}: ${Xn/Gn}px; max-width: ${zn/Kn}px`,class:"cm-completionInfo-"+(Zn?Vn?"left-narrow":"right-narrow":qn?"left":"right")}}function optionContent(_n){let ke=_n.addToOptions.slice();return _n.icons&&ke.push({render(Ce){let $n=document.createElement("div");return $n.classList.add("cm-completionIcon"),Ce.type&&$n.classList.add(...Ce.type.split(/\s+/g).map(Mn=>"cm-completionIcon-"+Mn)),$n.setAttribute("aria-hidden","true"),$n},position:20}),ke.push({render(Ce,$n,Mn,Qn){let Vn=document.createElement("span");Vn.className="cm-completionLabel";let qn=Ce.displayLabel||Ce.label,Zn=0;for(let jn=0;jnZn&&Vn.appendChild(document.createTextNode(qn.slice(Zn,Xn)));let Hn=Vn.appendChild(document.createElement("span"));Hn.appendChild(document.createTextNode(qn.slice(Xn,zn))),Hn.className="cm-completionMatchedText",Zn=zn}return ZnCe.position-$n.position).map(Ce=>Ce.render)}function rangeAroundSelected(_n,ke,Ce){if(_n<=Ce)return{from:0,to:_n};if(ke<0&&(ke=0),ke<=_n>>1){let Mn=Math.floor(ke/Ce);return{from:Mn*Ce,to:(Mn+1)*Ce}}let $n=Math.floor((_n-ke)/Ce);return{from:_n-($n+1)*Ce,to:_n-$n*Ce}}class CompletionTooltip{constructor(ke,Ce,$n){this.view=ke,this.stateField=Ce,this.applyCompletion=$n,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:Zn=>this.placeInfo(Zn),key:this},this.space=null,this.currentClass="";let Mn=ke.state.field(Ce),{options:Qn,selected:Vn}=Mn.open,qn=ke.state.facet(completionConfig);this.optionContent=optionContent(qn),this.optionClass=qn.optionClass,this.tooltipClass=qn.tooltipClass,this.range=rangeAroundSelected(Qn.length,Vn,qn.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(ke.state),this.dom.addEventListener("mousedown",Zn=>{let{options:jn}=ke.state.field(Ce).open;for(let Xn=Zn.target,zn;Xn&&Xn!=this.dom;Xn=Xn.parentNode)if(Xn.nodeName=="LI"&&(zn=/-(\d+)$/.exec(Xn.id))&&+zn[1]{let jn=ke.state.field(this.stateField,!1);jn&&jn.tooltip&&ke.state.facet(completionConfig).closeOnBlur&&Zn.relatedTarget!=ke.contentDOM&&ke.dispatch({effects:closeCompletionEffect.of(null)})}),this.showOptions(Qn,Mn.id)}mount(){this.updateSel()}showOptions(ke,Ce){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(ke,Ce,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}update(ke){var Ce;let $n=ke.state.field(this.stateField),Mn=ke.startState.field(this.stateField);if(this.updateTooltipClass(ke.state),$n!=Mn){let{options:Qn,selected:Vn,disabled:qn}=$n.open;(!Mn.open||Mn.open.options!=Qn)&&(this.range=rangeAroundSelected(Qn.length,Vn,ke.state.facet(completionConfig).maxRenderedOptions),this.showOptions(Qn,$n.id)),this.updateSel(),qn!=((Ce=Mn.open)===null||Ce===void 0?void 0:Ce.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!qn)}}updateTooltipClass(ke){let Ce=this.tooltipClass(ke);if(Ce!=this.currentClass){for(let $n of this.currentClass.split(" "))$n&&this.dom.classList.remove($n);for(let $n of Ce.split(" "))$n&&this.dom.classList.add($n);this.currentClass=Ce}}positioned(ke){this.space=ke,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let ke=this.view.state.field(this.stateField),Ce=ke.open;if((Ce.selected>-1&&Ce.selected=this.range.to)&&(this.range=rangeAroundSelected(Ce.options.length,Ce.selected,this.view.state.facet(completionConfig).maxRenderedOptions),this.showOptions(Ce.options,ke.id)),this.updateSelectedOption(Ce.selected)){this.destroyInfo();let{completion:$n}=Ce.options[Ce.selected],{info:Mn}=$n;if(!Mn)return;let Qn=typeof Mn=="string"?document.createTextNode(Mn):Mn($n);if(!Qn)return;"then"in Qn?Qn.then(Vn=>{Vn&&this.view.state.field(this.stateField,!1)==ke&&this.addInfoPane(Vn,$n)}).catch(Vn=>logException(this.view.state,Vn,"completion info")):this.addInfoPane(Qn,$n)}}addInfoPane(ke,Ce){this.destroyInfo();let $n=this.info=document.createElement("div");if($n.className="cm-tooltip cm-completionInfo",ke.nodeType!=null)$n.appendChild(ke),this.infoDestroy=null;else{let{dom:Mn,destroy:Qn}=ke;$n.appendChild(Mn),this.infoDestroy=Qn||null}this.dom.appendChild($n),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(ke){let Ce=null;for(let $n=this.list.firstChild,Mn=this.range.from;$n;$n=$n.nextSibling,Mn++)$n.nodeName!="LI"||!$n.id?Mn--:Mn==ke?$n.hasAttribute("aria-selected")||($n.setAttribute("aria-selected","true"),Ce=$n):$n.hasAttribute("aria-selected")&&$n.removeAttribute("aria-selected");return Ce&&scrollIntoView(this.list,Ce),Ce}measureInfo(){let ke=this.dom.querySelector("[aria-selected]");if(!ke||!this.info)return null;let Ce=this.dom.getBoundingClientRect(),$n=this.info.getBoundingClientRect(),Mn=ke.getBoundingClientRect(),Qn=this.space;if(!Qn){let Vn=this.dom.ownerDocument.defaultView||window;Qn={left:0,top:0,right:Vn.innerWidth,bottom:Vn.innerHeight}}return Mn.top>Math.min(Qn.bottom,Ce.bottom)-10||Mn.bottom$n.from||$n.from==0))if(Qn=Hn,typeof jn!="string"&&jn.header)Mn.appendChild(jn.header(jn));else{let Wn=Mn.appendChild(document.createElement("completion-section"));Wn.textContent=Hn}}const Xn=Mn.appendChild(document.createElement("li"));Xn.id=Ce+"-"+Vn,Xn.setAttribute("role","option");let zn=this.optionClass(qn);zn&&(Xn.className=zn);for(let Hn of this.optionContent){let Wn=Hn(qn,this.view.state,this.view,Zn);Wn&&Xn.appendChild(Wn)}}return $n.from&&Mn.classList.add("cm-completionListIncompleteTop"),$n.tonew CompletionTooltip(Ce,_n,ke)}function scrollIntoView(_n,ke){let Ce=_n.getBoundingClientRect(),$n=ke.getBoundingClientRect(),Mn=Ce.height/_n.offsetHeight;$n.topCe.bottom&&(_n.scrollTop+=($n.bottom-Ce.bottom)/Mn)}function score(_n){return(_n.boost||0)*100+(_n.apply?10:0)+(_n.info?5:0)+(_n.type?1:0)}function sortOptions(_n,ke){let Ce=[],$n=null,Mn=jn=>{Ce.push(jn);let{section:Xn}=jn.completion;if(Xn){$n||($n=[]);let zn=typeof Xn=="string"?Xn:Xn.name;$n.some(Hn=>Hn.name==zn)||$n.push(typeof Xn=="string"?{name:zn}:Xn)}},Qn=ke.facet(completionConfig);for(let jn of _n)if(jn.hasResult()){let Xn=jn.result.getMatch;if(jn.result.filter===!1)for(let zn of jn.result.options)Mn(new Option(zn,jn.source,Xn?Xn(zn):[],1e9-Ce.length));else{let zn=ke.sliceDoc(jn.from,jn.to),Hn,Wn=Qn.filterStrict?new StrictMatcher(zn):new FuzzyMatcher(zn);for(let Yn of jn.result.options)if(Hn=Wn.match(Yn.label)){let Un=Yn.displayLabel?Xn?Xn(Yn,Hn.matched):[]:Hn.matched;Mn(new Option(Yn,jn.source,Un,Hn.score+(Yn.boost||0)))}}}if($n){let jn=Object.create(null),Xn=0,zn=(Hn,Wn)=>{var Yn,Un;return((Yn=Hn.rank)!==null&&Yn!==void 0?Yn:1e9)-((Un=Wn.rank)!==null&&Un!==void 0?Un:1e9)||(Hn.namezn.score-Xn.score||Zn(Xn.completion,zn.completion))){let Xn=jn.completion;!qn||qn.label!=Xn.label||qn.detail!=Xn.detail||qn.type!=null&&Xn.type!=null&&qn.type!=Xn.type||qn.apply!=Xn.apply||qn.boost!=Xn.boost?Vn.push(jn):score(jn.completion)>score(qn)&&(Vn[Vn.length-1]=jn),qn=jn.completion}return Vn}class CompletionDialog{constructor(ke,Ce,$n,Mn,Qn,Vn){this.options=ke,this.attrs=Ce,this.tooltip=$n,this.timestamp=Mn,this.selected=Qn,this.disabled=Vn}setSelected(ke,Ce){return ke==this.selected||ke>=this.options.length?this:new CompletionDialog(this.options,makeAttrs(Ce,ke),this.tooltip,this.timestamp,ke,this.disabled)}static build(ke,Ce,$n,Mn,Qn){let Vn=sortOptions(ke,Ce);if(!Vn.length)return Mn&&ke.some(Zn=>Zn.state==1)?new CompletionDialog(Mn.options,Mn.attrs,Mn.tooltip,Mn.timestamp,Mn.selected,!0):null;let qn=Ce.facet(completionConfig).selectOnOpen?0:-1;if(Mn&&Mn.selected!=qn&&Mn.selected!=-1){let Zn=Mn.options[Mn.selected].completion;for(let jn=0;jnjn.hasResult()?Math.min(Zn,jn.from):Zn,1e8),create:createTooltip,above:Qn.aboveCursor},Mn?Mn.timestamp:Date.now(),qn,!1)}map(ke){return new CompletionDialog(this.options,this.attrs,Object.assign(Object.assign({},this.tooltip),{pos:ke.mapPos(this.tooltip.pos)}),this.timestamp,this.selected,this.disabled)}}class CompletionState{constructor(ke,Ce,$n){this.active=ke,this.id=Ce,this.open=$n}static start(){return new CompletionState(none$1,"cm-ac-"+Math.floor(Math.random()*2e6).toString(36),null)}update(ke){let{state:Ce}=ke,$n=Ce.facet(completionConfig),Qn=($n.override||Ce.languageDataAt("autocomplete",cur(Ce)).map(asSource)).map(qn=>(this.active.find(jn=>jn.source==qn)||new ActiveSource(qn,this.active.some(jn=>jn.state!=0)?1:0)).update(ke,$n));Qn.length==this.active.length&&Qn.every((qn,Zn)=>qn==this.active[Zn])&&(Qn=this.active);let Vn=this.open;Vn&&ke.docChanged&&(Vn=Vn.map(ke.changes)),ke.selection||Qn.some(qn=>qn.hasResult()&&ke.changes.touchesRange(qn.from,qn.to))||!sameResults(Qn,this.active)?Vn=CompletionDialog.build(Qn,Ce,this.id,Vn,$n):Vn&&Vn.disabled&&!Qn.some(qn=>qn.state==1)&&(Vn=null),!Vn&&Qn.every(qn=>qn.state!=1)&&Qn.some(qn=>qn.hasResult())&&(Qn=Qn.map(qn=>qn.hasResult()?new ActiveSource(qn.source,0):qn));for(let qn of ke.effects)qn.is(setSelectedEffect)&&(Vn=Vn&&Vn.setSelected(qn.value,this.id));return Qn==this.active&&Vn==this.open?this:new CompletionState(Qn,this.id,Vn)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?baseAttrs:noAttrs}}function sameResults(_n,ke){if(_n==ke)return!0;for(let Ce=0,$n=0;;){for(;Ce<_n.length&&!_n[Ce].hasResult;)Ce++;for(;$n-1&&(Ce["aria-activedescendant"]=_n+"-"+ke),Ce}const none$1=[];function getUpdateType(_n,ke){if(_n.isUserEvent("input.complete")){let $n=_n.annotation(pickedCompletion);if($n&&ke.activateOnCompletion($n))return 12}let Ce=_n.isUserEvent("input.type");return Ce&&ke.activateOnTyping?5:Ce?1:_n.isUserEvent("delete.backward")?2:_n.selection?8:_n.docChanged?16:0}class ActiveSource{constructor(ke,Ce,$n=-1){this.source=ke,this.state=Ce,this.explicitPos=$n}hasResult(){return!1}update(ke,Ce){let $n=getUpdateType(ke,Ce),Mn=this;($n&8||$n&16&&this.touches(ke))&&(Mn=new ActiveSource(Mn.source,0)),$n&4&&Mn.state==0&&(Mn=new ActiveSource(this.source,1)),Mn=Mn.updateFor(ke,$n);for(let Qn of ke.effects)if(Qn.is(startCompletionEffect))Mn=new ActiveSource(Mn.source,1,Qn.value?cur(ke.state):-1);else if(Qn.is(closeCompletionEffect))Mn=new ActiveSource(Mn.source,0);else if(Qn.is(setActiveEffect))for(let Vn of Qn.value)Vn.source==Mn.source&&(Mn=Vn);return Mn}updateFor(ke,Ce){return this.map(ke.changes)}map(ke){return ke.empty||this.explicitPos<0?this:new ActiveSource(this.source,this.state,ke.mapPos(this.explicitPos))}touches(ke){return ke.changes.touchesRange(cur(ke.state))}}class ActiveResult extends ActiveSource{constructor(ke,Ce,$n,Mn,Qn){super(ke,2,Ce),this.result=$n,this.from=Mn,this.to=Qn}hasResult(){return!0}updateFor(ke,Ce){var $n;if(!(Ce&3))return this.map(ke.changes);let Mn=this.result;Mn.map&&!ke.changes.empty&&(Mn=Mn.map(Mn,ke.changes));let Qn=ke.changes.mapPos(this.from),Vn=ke.changes.mapPos(this.to,1),qn=cur(ke.state);if((this.explicitPos<0?qn<=Qn:qnVn||!Mn||Ce&2&&cur(ke.startState)==this.from)return new ActiveSource(this.source,Ce&4?1:0);let Zn=this.explicitPos<0?-1:ke.changes.mapPos(this.explicitPos);return checkValid(Mn.validFor,ke.state,Qn,Vn)?new ActiveResult(this.source,Zn,Mn,Qn,Vn):Mn.update&&(Mn=Mn.update(Mn,Qn,Vn,new CompletionContext(ke.state,qn,Zn>=0)))?new ActiveResult(this.source,Zn,Mn,Mn.from,($n=Mn.to)!==null&&$n!==void 0?$n:cur(ke.state)):new ActiveSource(this.source,1,Zn)}map(ke){return ke.empty?this:(this.result.map?this.result.map(this.result,ke):this.result)?new ActiveResult(this.source,this.explicitPos<0?-1:ke.mapPos(this.explicitPos),this.result,ke.mapPos(this.from),ke.mapPos(this.to,1)):new ActiveSource(this.source,0)}touches(ke){return ke.changes.touchesRange(this.from,this.to)}}function checkValid(_n,ke,Ce,$n){if(!_n)return!1;let Mn=ke.sliceDoc(Ce,$n);return typeof _n=="function"?_n(Mn,Ce,$n,ke):ensureAnchor(_n,!0).test(Mn)}const setActiveEffect=StateEffect.define({map(_n,ke){return _n.map(Ce=>Ce.map(ke))}}),setSelectedEffect=StateEffect.define(),completionState=StateField.define({create(){return CompletionState.start()},update(_n,ke){return _n.update(ke)},provide:_n=>[showTooltip.from(_n,ke=>ke.tooltip),EditorView.contentAttributes.from(_n,ke=>ke.attrs)]});function applyCompletion(_n,ke){const Ce=ke.completion.apply||ke.completion.label;let $n=_n.state.field(completionState).active.find(Mn=>Mn.source==ke.source);return $n instanceof ActiveResult?(typeof Ce=="string"?_n.dispatch(Object.assign(Object.assign({},insertCompletionText(_n.state,Ce,$n.from,$n.to)),{annotations:pickedCompletion.of(ke.completion)})):Ce(_n,ke.completion,$n.from,$n.to),!0):!1}const createTooltip=completionTooltip(completionState,applyCompletion);function moveCompletionSelection(_n,ke="option"){return Ce=>{let $n=Ce.state.field(completionState,!1);if(!$n||!$n.open||$n.open.disabled||Date.now()-$n.open.timestamp-1?$n.open.selected+Mn*(_n?1:-1):_n?0:Vn-1;return qn<0?qn=ke=="page"?0:Vn-1:qn>=Vn&&(qn=ke=="page"?Vn-1:0),Ce.dispatch({effects:setSelectedEffect.of(qn)}),!0}}const acceptCompletion=_n=>{let ke=_n.state.field(completionState,!1);return _n.state.readOnly||!ke||!ke.open||ke.open.selected<0||ke.open.disabled||Date.now()-ke.open.timestamp<_n.state.facet(completionConfig).interactionDelay?!1:applyCompletion(_n,ke.open.options[ke.open.selected])},startCompletion=_n=>_n.state.field(completionState,!1)?(_n.dispatch({effects:startCompletionEffect.of(!0)}),!0):!1,closeCompletion=_n=>{let ke=_n.state.field(completionState,!1);return!ke||!ke.active.some(Ce=>Ce.state!=0)?!1:(_n.dispatch({effects:closeCompletionEffect.of(null)}),!0)};class RunningQuery{constructor(ke,Ce){this.active=ke,this.context=Ce,this.time=Date.now(),this.updates=[],this.done=void 0}}const MaxUpdateCount=50,MinAbortTime=1e3,completionPlugin=ViewPlugin.fromClass(class{constructor(_n){this.view=_n,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0;for(let ke of _n.state.field(completionState).active)ke.state==1&&this.startQuery(ke)}update(_n){let ke=_n.state.field(completionState),Ce=_n.state.facet(completionConfig);if(!_n.selectionSet&&!_n.docChanged&&_n.startState.field(completionState)==ke)return;let $n=_n.transactions.some(Qn=>{let Vn=getUpdateType(Qn,Ce);return Vn&8||(Qn.selection||Qn.docChanged)&&!(Vn&3)});for(let Qn=0;QnMaxUpdateCount&&Date.now()-Vn.time>MinAbortTime){for(let qn of Vn.context.abortListeners)try{qn()}catch(Zn){logException(this.view.state,Zn)}Vn.context.abortListeners=null,this.running.splice(Qn--,1)}else Vn.updates.push(..._n.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),_n.transactions.some(Qn=>Qn.effects.some(Vn=>Vn.is(startCompletionEffect)))&&(this.pendingStart=!0);let Mn=this.pendingStart?50:Ce.activateOnTypingDelay;if(this.debounceUpdate=ke.active.some(Qn=>Qn.state==1&&!this.running.some(Vn=>Vn.active.source==Qn.source))?setTimeout(()=>this.startUpdate(),Mn):-1,this.composing!=0)for(let Qn of _n.transactions)Qn.isUserEvent("input.type")?this.composing=2:this.composing==2&&Qn.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:_n}=this.view,ke=_n.field(completionState);for(let Ce of ke.active)Ce.state==1&&!this.running.some($n=>$n.active.source==Ce.source)&&this.startQuery(Ce)}startQuery(_n){let{state:ke}=this.view,Ce=cur(ke),$n=new CompletionContext(ke,Ce,_n.explicitPos==Ce,this.view),Mn=new RunningQuery(_n,$n);this.running.push(Mn),Promise.resolve(_n.source($n)).then(Qn=>{Mn.context.aborted||(Mn.done=Qn||null,this.scheduleAccept())},Qn=>{this.view.dispatch({effects:closeCompletionEffect.of(null)}),logException(this.view.state,Qn)})}scheduleAccept(){this.running.every(_n=>_n.done!==void 0)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(completionConfig).updateSyncTime))}accept(){var _n;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let ke=[],Ce=this.view.state.facet(completionConfig);for(let $n=0;$nVn.source==Mn.active.source);if(Qn&&Qn.state==1)if(Mn.done==null){let Vn=new ActiveSource(Mn.active.source,0);for(let qn of Mn.updates)Vn=Vn.update(qn,Ce);Vn.state!=1&&ke.push(Vn)}else this.startQuery(Qn)}ke.length&&this.view.dispatch({effects:setActiveEffect.of(ke)})}},{eventHandlers:{blur(_n){let ke=this.view.state.field(completionState,!1);if(ke&&ke.tooltip&&this.view.state.facet(completionConfig).closeOnBlur){let Ce=ke.open&&getTooltip(this.view,ke.open.tooltip);(!Ce||!Ce.dom.contains(_n.relatedTarget))&&setTimeout(()=>this.view.dispatch({effects:closeCompletionEffect.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){this.composing==3&&setTimeout(()=>this.view.dispatch({effects:startCompletionEffect.of(!1)}),20),this.composing=0}}}),windows=typeof navigator=="object"&&/Win/.test(navigator.platform),commitCharacters=Prec.highest(EditorView.domEventHandlers({keydown(_n,ke){let Ce=ke.state.field(completionState,!1);if(!Ce||!Ce.open||Ce.open.disabled||Ce.open.selected<0||_n.key.length>1||_n.ctrlKey&&!(windows&&_n.altKey)||_n.metaKey)return!1;let $n=Ce.open.options[Ce.open.selected],Mn=Ce.active.find(Vn=>Vn.source==$n.source),Qn=$n.completion.commitCharacters||Mn.result.commitCharacters;return Qn&&Qn.indexOf(_n.key)>-1&&applyCompletion(ke,$n),!1}})),baseTheme$1=EditorView.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"···"',opacity:.5,display:"block",textAlign:"center"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'ƒ'"}},".cm-completionIcon-class":{"&:after":{content:"'○'"}},".cm-completionIcon-interface":{"&:after":{content:"'◌'"}},".cm-completionIcon-variable":{"&:after":{content:"'𝑥'"}},".cm-completionIcon-constant":{"&:after":{content:"'𝐶'"}},".cm-completionIcon-type":{"&:after":{content:"'𝑡'"}},".cm-completionIcon-enum":{"&:after":{content:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'🔑︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});class FieldPos{constructor(ke,Ce,$n,Mn){this.field=ke,this.line=Ce,this.from=$n,this.to=Mn}}class FieldRange{constructor(ke,Ce,$n){this.field=ke,this.from=Ce,this.to=$n}map(ke){let Ce=ke.mapPos(this.from,-1,MapMode.TrackDel),$n=ke.mapPos(this.to,1,MapMode.TrackDel);return Ce==null||$n==null?null:new FieldRange(this.field,Ce,$n)}}class Snippet{constructor(ke,Ce){this.lines=ke,this.fieldPositions=Ce}instantiate(ke,Ce){let $n=[],Mn=[Ce],Qn=ke.doc.lineAt(Ce),Vn=/^\s*/.exec(Qn.text)[0];for(let Zn of this.lines){if($n.length){let jn=Vn,Xn=/^\t*/.exec(Zn)[0].length;for(let zn=0;znnew FieldRange(Zn.field,Mn[Zn.line]+Zn.from,Mn[Zn.line]+Zn.to));return{text:$n,ranges:qn}}static parse(ke){let Ce=[],$n=[],Mn=[],Qn;for(let Vn of ke.split(/\r\n?|\n/)){for(;Qn=/[#$]\{(?:(\d+)(?::([^}]*))?|((?:\\[{}]|[^}])*))\}/.exec(Vn);){let qn=Qn[1]?+Qn[1]:null,Zn=Qn[2]||Qn[3]||"",jn=-1,Xn=Zn.replace(/\\[{}]/g,zn=>zn[1]);for(let zn=0;zn=jn&&Hn.field++}Mn.push(new FieldPos(jn,$n.length,Qn.index,Qn.index+Xn.length)),Vn=Vn.slice(0,Qn.index)+Zn+Vn.slice(Qn.index+Qn[0].length)}Vn=Vn.replace(/\\([{}])/g,(qn,Zn,jn)=>{for(let Xn of Mn)Xn.line==$n.length&&Xn.from>jn&&(Xn.from--,Xn.to--);return Zn}),$n.push(Vn)}return new Snippet($n,Mn)}}let fieldMarker=Decoration.widget({widget:new class extends WidgetType{toDOM(){let _n=document.createElement("span");return _n.className="cm-snippetFieldPosition",_n}ignoreEvent(){return!1}}}),fieldRange=Decoration.mark({class:"cm-snippetField"});class ActiveSnippet{constructor(ke,Ce){this.ranges=ke,this.active=Ce,this.deco=Decoration.set(ke.map($n=>($n.from==$n.to?fieldMarker:fieldRange).range($n.from,$n.to)))}map(ke){let Ce=[];for(let $n of this.ranges){let Mn=$n.map(ke);if(!Mn)return null;Ce.push(Mn)}return new ActiveSnippet(Ce,this.active)}selectionInsideField(ke){return ke.ranges.every(Ce=>this.ranges.some($n=>$n.field==this.active&&$n.from<=Ce.from&&$n.to>=Ce.to))}}const setActive=StateEffect.define({map(_n,ke){return _n&&_n.map(ke)}}),moveToField=StateEffect.define(),snippetState=StateField.define({create(){return null},update(_n,ke){for(let Ce of ke.effects){if(Ce.is(setActive))return Ce.value;if(Ce.is(moveToField)&&_n)return new ActiveSnippet(_n.ranges,Ce.value)}return _n&&ke.docChanged&&(_n=_n.map(ke.changes)),_n&&ke.selection&&!_n.selectionInsideField(ke.selection)&&(_n=null),_n},provide:_n=>EditorView.decorations.from(_n,ke=>ke?ke.deco:Decoration.none)});function fieldSelection(_n,ke){return EditorSelection.create(_n.filter(Ce=>Ce.field==ke).map(Ce=>EditorSelection.range(Ce.from,Ce.to)))}function snippet(_n){let ke=Snippet.parse(_n);return(Ce,$n,Mn,Qn)=>{let{text:Vn,ranges:qn}=ke.instantiate(Ce.state,Mn),Zn={changes:{from:Mn,to:Qn,insert:Text.of(Vn)},scrollIntoView:!0,annotations:$n?[pickedCompletion.of($n),Transaction.userEvent.of("input.complete")]:void 0};if(qn.length&&(Zn.selection=fieldSelection(qn,0)),qn.some(jn=>jn.field>0)){let jn=new ActiveSnippet(qn,0),Xn=Zn.effects=[setActive.of(jn)];Ce.state.field(snippetState,!1)===void 0&&Xn.push(StateEffect.appendConfig.of([snippetState,addSnippetKeymap,snippetPointerHandler,baseTheme$1]))}Ce.dispatch(Ce.state.update(Zn))}}function moveField(_n){return({state:ke,dispatch:Ce})=>{let $n=ke.field(snippetState,!1);if(!$n||_n<0&&$n.active==0)return!1;let Mn=$n.active+_n,Qn=_n>0&&!$n.ranges.some(Vn=>Vn.field==Mn+_n);return Ce(ke.update({selection:fieldSelection($n.ranges,Mn),effects:setActive.of(Qn?null:new ActiveSnippet($n.ranges,Mn)),scrollIntoView:!0})),!0}}const clearSnippet=({state:_n,dispatch:ke})=>_n.field(snippetState,!1)?(ke(_n.update({effects:setActive.of(null)})),!0):!1,nextSnippetField=moveField(1),prevSnippetField=moveField(-1),defaultSnippetKeymap=[{key:"Tab",run:nextSnippetField,shift:prevSnippetField},{key:"Escape",run:clearSnippet}],snippetKeymap=Facet.define({combine(_n){return _n.length?_n[0]:defaultSnippetKeymap}}),addSnippetKeymap=Prec.highest(keymap.compute([snippetKeymap],_n=>_n.facet(snippetKeymap)));function snippetCompletion(_n,ke){return Object.assign(Object.assign({},ke),{apply:snippet(_n)})}const snippetPointerHandler=EditorView.domEventHandlers({mousedown(_n,ke){let Ce=ke.state.field(snippetState,!1),$n;if(!Ce||($n=ke.posAtCoords({x:_n.clientX,y:_n.clientY}))==null)return!1;let Mn=Ce.ranges.find(Qn=>Qn.from<=$n&&Qn.to>=$n);return!Mn||Mn.field==Ce.active?!1:(ke.dispatch({selection:fieldSelection(Ce.ranges,Mn.field),effects:setActive.of(Ce.ranges.some(Qn=>Qn.field>Mn.field)?new ActiveSnippet(Ce.ranges,Mn.field):null),scrollIntoView:!0}),!0)}}),defaults={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},closeBracketEffect=StateEffect.define({map(_n,ke){let Ce=ke.mapPos(_n,-1,MapMode.TrackAfter);return Ce??void 0}}),closedBracket=new class extends RangeValue{};closedBracket.startSide=1;closedBracket.endSide=-1;const bracketState=StateField.define({create(){return RangeSet.empty},update(_n,ke){if(_n=_n.map(ke.changes),ke.selection){let Ce=ke.state.doc.lineAt(ke.selection.main.head);_n=_n.update({filter:$n=>$n>=Ce.from&&$n<=Ce.to})}for(let Ce of ke.effects)Ce.is(closeBracketEffect)&&(_n=_n.update({add:[closedBracket.range(Ce.value,Ce.value+1)]}));return _n}});function closeBrackets(){return[inputHandler,bracketState]}const definedClosing="()[]{}<>";function closing(_n){for(let ke=0;ke{if((android$1?_n.composing:_n.compositionStarted)||_n.state.readOnly)return!1;let Mn=_n.state.selection.main;if($n.length>2||$n.length==2&&codePointSize(codePointAt($n,0))==1||ke!=Mn.from||Ce!=Mn.to)return!1;let Qn=insertBracket(_n.state,$n);return Qn?(_n.dispatch(Qn),!0):!1}),deleteBracketPair=({state:_n,dispatch:ke})=>{if(_n.readOnly)return!1;let $n=config(_n,_n.selection.main.head).brackets||defaults.brackets,Mn=null,Qn=_n.changeByRange(Vn=>{if(Vn.empty){let qn=prevChar(_n.doc,Vn.head);for(let Zn of $n)if(Zn==qn&&nextChar(_n.doc,Vn.head)==closing(codePointAt(Zn,0)))return{changes:{from:Vn.head-Zn.length,to:Vn.head+Zn.length},range:EditorSelection.cursor(Vn.head-Zn.length)}}return{range:Mn=Vn}});return Mn||ke(_n.update(Qn,{scrollIntoView:!0,userEvent:"delete.backward"})),!Mn},closeBracketsKeymap=[{key:"Backspace",run:deleteBracketPair}];function insertBracket(_n,ke){let Ce=config(_n,_n.selection.main.head),$n=Ce.brackets||defaults.brackets;for(let Mn of $n){let Qn=closing(codePointAt(Mn,0));if(ke==Mn)return Qn==Mn?handleSame(_n,Mn,$n.indexOf(Mn+Mn+Mn)>-1,Ce):handleOpen(_n,Mn,Qn,Ce.before||defaults.before);if(ke==Qn&&closedBracketAt(_n,_n.selection.main.from))return handleClose(_n,Mn,Qn)}return null}function closedBracketAt(_n,ke){let Ce=!1;return _n.field(bracketState).between(0,_n.doc.length,$n=>{$n==ke&&(Ce=!0)}),Ce}function nextChar(_n,ke){let Ce=_n.sliceString(ke,ke+2);return Ce.slice(0,codePointSize(codePointAt(Ce,0)))}function prevChar(_n,ke){let Ce=_n.sliceString(ke-2,ke);return codePointSize(codePointAt(Ce,0))==Ce.length?Ce:Ce.slice(1)}function handleOpen(_n,ke,Ce,$n){let Mn=null,Qn=_n.changeByRange(Vn=>{if(!Vn.empty)return{changes:[{insert:ke,from:Vn.from},{insert:Ce,from:Vn.to}],effects:closeBracketEffect.of(Vn.to+ke.length),range:EditorSelection.range(Vn.anchor+ke.length,Vn.head+ke.length)};let qn=nextChar(_n.doc,Vn.head);return!qn||/\s/.test(qn)||$n.indexOf(qn)>-1?{changes:{insert:ke+Ce,from:Vn.head},effects:closeBracketEffect.of(Vn.head+ke.length),range:EditorSelection.cursor(Vn.head+ke.length)}:{range:Mn=Vn}});return Mn?null:_n.update(Qn,{scrollIntoView:!0,userEvent:"input.type"})}function handleClose(_n,ke,Ce){let $n=null,Mn=_n.changeByRange(Qn=>Qn.empty&&nextChar(_n.doc,Qn.head)==Ce?{changes:{from:Qn.head,to:Qn.head+Ce.length,insert:Ce},range:EditorSelection.cursor(Qn.head+Ce.length)}:$n={range:Qn});return $n?null:_n.update(Mn,{scrollIntoView:!0,userEvent:"input.type"})}function handleSame(_n,ke,Ce,$n){let Mn=$n.stringPrefixes||defaults.stringPrefixes,Qn=null,Vn=_n.changeByRange(qn=>{if(!qn.empty)return{changes:[{insert:ke,from:qn.from},{insert:ke,from:qn.to}],effects:closeBracketEffect.of(qn.to+ke.length),range:EditorSelection.range(qn.anchor+ke.length,qn.head+ke.length)};let Zn=qn.head,jn=nextChar(_n.doc,Zn),Xn;if(jn==ke){if(nodeStart(_n,Zn))return{changes:{insert:ke+ke,from:Zn},effects:closeBracketEffect.of(Zn+ke.length),range:EditorSelection.cursor(Zn+ke.length)};if(closedBracketAt(_n,Zn)){let Hn=Ce&&_n.sliceDoc(Zn,Zn+ke.length*3)==ke+ke+ke?ke+ke+ke:ke;return{changes:{from:Zn,to:Zn+Hn.length,insert:Hn},range:EditorSelection.cursor(Zn+Hn.length)}}}else{if(Ce&&_n.sliceDoc(Zn-2*ke.length,Zn)==ke+ke&&(Xn=canStartStringAt(_n,Zn-2*ke.length,Mn))>-1&&nodeStart(_n,Xn))return{changes:{insert:ke+ke+ke+ke,from:Zn},effects:closeBracketEffect.of(Zn+ke.length),range:EditorSelection.cursor(Zn+ke.length)};if(_n.charCategorizer(Zn)(jn)!=CharCategory.Word&&canStartStringAt(_n,Zn,Mn)>-1&&!probablyInString(_n,Zn,ke,Mn))return{changes:{insert:ke+ke,from:Zn},effects:closeBracketEffect.of(Zn+ke.length),range:EditorSelection.cursor(Zn+ke.length)}}return{range:Qn=qn}});return Qn?null:_n.update(Vn,{scrollIntoView:!0,userEvent:"input.type"})}function nodeStart(_n,ke){let Ce=syntaxTree(_n).resolveInner(ke+1);return Ce.parent&&Ce.from==ke}function probablyInString(_n,ke,Ce,$n){let Mn=syntaxTree(_n).resolveInner(ke,-1),Qn=$n.reduce((Vn,qn)=>Math.max(Vn,qn.length),0);for(let Vn=0;Vn<5;Vn++){let qn=_n.sliceDoc(Mn.from,Math.min(Mn.to,Mn.from+Ce.length+Qn)),Zn=qn.indexOf(Ce);if(!Zn||Zn>-1&&$n.indexOf(qn.slice(0,Zn))>-1){let Xn=Mn.firstChild;for(;Xn&&Xn.from==Mn.from&&Xn.to-Xn.from>Ce.length+Zn;){if(_n.sliceDoc(Xn.to-Ce.length,Xn.to)==Ce)return!1;Xn=Xn.firstChild}return!0}let jn=Mn.to==ke&&Mn.parent;if(!jn)break;Mn=jn}return!1}function canStartStringAt(_n,ke,Ce){let $n=_n.charCategorizer(ke);if($n(_n.sliceDoc(ke-1,ke))!=CharCategory.Word)return ke;for(let Mn of Ce){let Qn=ke-Mn.length;if(_n.sliceDoc(Qn,ke)==Mn&&$n(_n.sliceDoc(Qn-1,Qn))!=CharCategory.Word)return Qn}return-1}function autocompletion(_n={}){return[commitCharacters,completionState,completionConfig.of(_n),completionPlugin,completionKeymapExt,baseTheme$1]}const completionKeymap=[{key:"Ctrl-Space",run:startCompletion},{mac:"Alt-`",run:startCompletion},{key:"Escape",run:closeCompletion},{key:"ArrowDown",run:moveCompletionSelection(!0)},{key:"ArrowUp",run:moveCompletionSelection(!1)},{key:"PageDown",run:moveCompletionSelection(!0,"page")},{key:"PageUp",run:moveCompletionSelection(!1,"page")},{key:"Enter",run:acceptCompletion}],completionKeymapExt=Prec.highest(keymap.computeN([completionConfig],_n=>_n.facet(completionConfig).defaultKeymap?[completionKeymap]:[]));class SelectedDiagnostic{constructor(ke,Ce,$n){this.from=ke,this.to=Ce,this.diagnostic=$n}}class LintState{constructor(ke,Ce,$n){this.diagnostics=ke,this.panel=Ce,this.selected=$n}static init(ke,Ce,$n){let Mn=ke,Qn=$n.facet(lintConfig).markerFilter;Qn&&(Mn=Qn(Mn,$n));let Vn=Decoration.set(Mn.map(qn=>qn.from==qn.to||qn.from==qn.to-1&&$n.doc.lineAt(qn.from).to==qn.from?Decoration.widget({widget:new DiagnosticWidget(qn),diagnostic:qn}).range(qn.from):Decoration.mark({attributes:{class:"cm-lintRange cm-lintRange-"+qn.severity+(qn.markClass?" "+qn.markClass:"")},diagnostic:qn}).range(qn.from,qn.to)),!0);return new LintState(Vn,Ce,findDiagnostic(Vn))}}function findDiagnostic(_n,ke=null,Ce=0){let $n=null;return _n.between(Ce,1e9,(Mn,Qn,{spec:Vn})=>{if(!(ke&&Vn.diagnostic!=ke))return $n=new SelectedDiagnostic(Mn,Qn,Vn.diagnostic),!1}),$n}function hideTooltip(_n,ke){let Ce=ke.pos,$n=ke.end||Ce,Mn=_n.state.facet(lintConfig).hideOn(_n,Ce,$n);if(Mn!=null)return Mn;let Qn=_n.startState.doc.lineAt(ke.pos);return!!(_n.effects.some(Vn=>Vn.is(setDiagnosticsEffect))||_n.changes.touchesRange(Qn.from,Math.max(Qn.to,$n)))}function maybeEnableLint(_n,ke){return _n.field(lintState,!1)?ke:ke.concat(StateEffect.appendConfig.of(lintExtensions))}function setDiagnostics(_n,ke){return{effects:maybeEnableLint(_n,[setDiagnosticsEffect.of(ke)])}}const setDiagnosticsEffect=StateEffect.define(),togglePanel=StateEffect.define(),movePanelSelection=StateEffect.define(),lintState=StateField.define({create(){return new LintState(Decoration.none,null,null)},update(_n,ke){if(ke.docChanged&&_n.diagnostics.size){let Ce=_n.diagnostics.map(ke.changes),$n=null,Mn=_n.panel;if(_n.selected){let Qn=ke.changes.mapPos(_n.selected.from,1);$n=findDiagnostic(Ce,_n.selected.diagnostic,Qn)||findDiagnostic(Ce,null,Qn)}!Ce.size&&Mn&&ke.state.facet(lintConfig).autoPanel&&(Mn=null),_n=new LintState(Ce,Mn,$n)}for(let Ce of ke.effects)if(Ce.is(setDiagnosticsEffect)){let $n=ke.state.facet(lintConfig).autoPanel?Ce.value.length?LintPanel.open:null:_n.panel;_n=LintState.init(Ce.value,$n,ke.state)}else Ce.is(togglePanel)?_n=new LintState(_n.diagnostics,Ce.value?LintPanel.open:null,_n.selected):Ce.is(movePanelSelection)&&(_n=new LintState(_n.diagnostics,_n.panel,Ce.value));return _n},provide:_n=>[showPanel.from(_n,ke=>ke.panel),EditorView.decorations.from(_n,ke=>ke.diagnostics)]}),activeMark=Decoration.mark({class:"cm-lintRange cm-lintRange-active"});function lintTooltip(_n,ke,Ce){let{diagnostics:$n}=_n.state.field(lintState),Mn=[],Qn=2e8,Vn=0;$n.between(ke-(Ce<0?1:0),ke+(Ce>0?1:0),(Zn,jn,{spec:Xn})=>{ke>=Zn&&ke<=jn&&(Zn==jn||(ke>Zn||Ce>0)&&(kerenderDiagnostic(_n,Ce,!1)))}const openLintPanel=_n=>{let ke=_n.state.field(lintState,!1);(!ke||!ke.panel)&&_n.dispatch({effects:maybeEnableLint(_n.state,[togglePanel.of(!0)])});let Ce=getPanel(_n,LintPanel.open);return Ce&&Ce.dom.querySelector(".cm-panel-lint ul").focus(),!0},closeLintPanel=_n=>{let ke=_n.state.field(lintState,!1);return!ke||!ke.panel?!1:(_n.dispatch({effects:togglePanel.of(!1)}),!0)},nextDiagnostic=_n=>{let ke=_n.state.field(lintState,!1);if(!ke)return!1;let Ce=_n.state.selection.main,$n=ke.diagnostics.iter(Ce.to+1);return!$n.value&&($n=ke.diagnostics.iter(0),!$n.value||$n.from==Ce.from&&$n.to==Ce.to)?!1:(_n.dispatch({selection:{anchor:$n.from,head:$n.to},scrollIntoView:!0}),!0)},lintKeymap=[{key:"Mod-Shift-m",run:openLintPanel,preventDefault:!0},{key:"F8",run:nextDiagnostic}],lintPlugin=ViewPlugin.fromClass(class{constructor(_n){this.view=_n,this.timeout=-1,this.set=!0;let{delay:ke}=_n.state.facet(lintConfig);this.lintTime=Date.now()+ke,this.run=this.run.bind(this),this.timeout=setTimeout(this.run,ke)}run(){clearTimeout(this.timeout);let _n=Date.now();if(_nPromise.resolve($n(this.view))),$n=>{this.view.state.doc==ke.doc&&this.view.dispatch(setDiagnostics(this.view.state,$n.reduce((Mn,Qn)=>Mn.concat(Qn))))},$n=>{logException(this.view.state,$n)})}}update(_n){let ke=_n.state.facet(lintConfig);(_n.docChanged||ke!=_n.startState.facet(lintConfig)||ke.needsRefresh&&ke.needsRefresh(_n))&&(this.lintTime=Date.now()+ke.delay,this.set||(this.set=!0,this.timeout=setTimeout(this.run,ke.delay)))}force(){this.set&&(this.lintTime=Date.now(),this.run())}destroy(){clearTimeout(this.timeout)}});function batchResults(_n,ke,Ce){let $n=[],Mn=-1;for(let Qn of _n)Qn.then(Vn=>{$n.push(Vn),clearTimeout(Mn),$n.length==_n.length?ke($n):setTimeout(()=>ke($n),200)},Ce)}const lintConfig=Facet.define({combine(_n){return Object.assign({sources:_n.map(ke=>ke.source).filter(ke=>ke!=null)},combineConfig(_n.map(ke=>ke.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{needsRefresh:(ke,Ce)=>ke?Ce?$n=>ke($n)||Ce($n):ke:Ce}))}});function linter(_n,ke={}){return[lintConfig.of({source:_n,config:ke}),lintPlugin,lintExtensions]}function assignKeys(_n){let ke=[];if(_n)e:for(let{name:Ce}of _n){for(let $n=0;$nQn.toLowerCase()==Mn.toLowerCase())){ke.push(Mn);continue e}}ke.push("")}return ke}function renderDiagnostic(_n,ke,Ce){var $n;let Mn=Ce?assignKeys(ke.actions):[];return crelt("li",{class:"cm-diagnostic cm-diagnostic-"+ke.severity},crelt("span",{class:"cm-diagnosticText"},ke.renderMessage?ke.renderMessage(_n):ke.message),($n=ke.actions)===null||$n===void 0?void 0:$n.map((Qn,Vn)=>{let qn=!1,Zn=Hn=>{if(Hn.preventDefault(),qn)return;qn=!0;let Wn=findDiagnostic(_n.state.field(lintState).diagnostics,ke);Wn&&Qn.apply(_n,Wn.from,Wn.to)},{name:jn}=Qn,Xn=Mn[Vn]?jn.indexOf(Mn[Vn]):-1,zn=Xn<0?jn:[jn.slice(0,Xn),crelt("u",jn.slice(Xn,Xn+1)),jn.slice(Xn+1)];return crelt("button",{type:"button",class:"cm-diagnosticAction",onclick:Zn,onmousedown:Zn,"aria-label":` Action: ${jn}${Xn<0?"":` (access key "${Mn[Vn]})"`}.`},zn)}),ke.source&&crelt("div",{class:"cm-diagnosticSource"},ke.source))}class DiagnosticWidget extends WidgetType{constructor(ke){super(),this.diagnostic=ke}eq(ke){return ke.diagnostic==this.diagnostic}toDOM(){return crelt("span",{class:"cm-lintPoint cm-lintPoint-"+this.diagnostic.severity})}}class PanelItem{constructor(ke,Ce){this.diagnostic=Ce,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=renderDiagnostic(ke,Ce,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class LintPanel{constructor(ke){this.view=ke,this.items=[];let Ce=Mn=>{if(Mn.keyCode==27)closeLintPanel(this.view),this.view.focus();else if(Mn.keyCode==38||Mn.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(Mn.keyCode==40||Mn.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(Mn.keyCode==36)this.moveSelection(0);else if(Mn.keyCode==35)this.moveSelection(this.items.length-1);else if(Mn.keyCode==13)this.view.focus();else if(Mn.keyCode>=65&&Mn.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:Qn}=this.items[this.selectedIndex],Vn=assignKeys(Qn.actions);for(let qn=0;qn{for(let Qn=0;QncloseLintPanel(this.view)},"×")),this.update()}get selectedIndex(){let ke=this.view.state.field(lintState).selected;if(!ke)return-1;for(let Ce=0;Ce{let jn=-1,Xn;for(let zn=$n;zn$n&&(this.items.splice($n,jn-$n),Mn=!0)),Ce&&Xn.diagnostic==Ce.diagnostic?Xn.dom.hasAttribute("aria-selected")||(Xn.dom.setAttribute("aria-selected","true"),Qn=Xn):Xn.dom.hasAttribute("aria-selected")&&Xn.dom.removeAttribute("aria-selected"),$n++});$n({sel:Qn.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:Vn,panel:qn})=>{let Zn=qn.height/this.list.offsetHeight;Vn.topqn.bottom&&(this.list.scrollTop+=(Vn.bottom-qn.bottom)/Zn)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),Mn&&this.sync()}sync(){let ke=this.list.firstChild;function Ce(){let $n=ke;ke=$n.nextSibling,$n.remove()}for(let $n of this.items)if($n.dom.parentNode==this.list){for(;ke!=$n.dom;)Ce();ke=$n.dom.nextSibling}else this.list.insertBefore($n.dom,ke);for(;ke;)Ce()}moveSelection(ke){if(this.selectedIndex<0)return;let Ce=this.view.state.field(lintState),$n=findDiagnostic(Ce.diagnostics,this.items[ke].diagnostic);$n&&this.view.dispatch({selection:{anchor:$n.from,head:$n.to},scrollIntoView:!0,effects:movePanelSelection.of($n)})}static open(ke){return new LintPanel(ke)}}function svg(_n,ke='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,${encodeURIComponent(_n)}')`}function underline(_n){return svg(``,'width="6" height="3"')}const baseTheme=EditorView.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:underline("#d11")},".cm-lintRange-warning":{backgroundImage:underline("orange")},".cm-lintRange-info":{backgroundImage:underline("#999")},".cm-lintRange-hint":{backgroundImage:underline("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}}});function severityWeight(_n){return _n=="error"?4:_n=="warning"?3:_n=="info"?2:1}class LintGutterMarker extends GutterMarker{constructor(ke){super(),this.diagnostics=ke,this.severity=ke.reduce((Ce,$n)=>severityWeight(Ce)gutterMarkerMouseOver(ke,Ce,$n)),Ce}}function trackHoverOn(_n,ke){let Ce=$n=>{let Mn=ke.getBoundingClientRect();if(!($n.clientX>Mn.left-10&&$n.clientXMn.top-10&&$n.clientYke.getBoundingClientRect()}}})}),ke.onmouseout=ke.onmousemove=null,trackHoverOn(_n,ke)}let{hoverTime:Mn}=_n.state.facet(lintGutterConfig),Qn=setTimeout($n,Mn);ke.onmouseout=()=>{clearTimeout(Qn),ke.onmouseout=ke.onmousemove=null},ke.onmousemove=()=>{clearTimeout(Qn),Qn=setTimeout($n,Mn)}}function markersForDiagnostics(_n,ke){let Ce=Object.create(null);for(let Mn of ke){let Qn=_n.lineAt(Mn.from);(Ce[Qn.from]||(Ce[Qn.from]=[])).push(Mn)}let $n=[];for(let Mn in Ce)$n.push(new LintGutterMarker(Ce[Mn]).range(+Mn));return RangeSet.of($n,!0)}const lintGutterExtension=gutter({class:"cm-gutter-lint",markers:_n=>_n.state.field(lintGutterMarkers),widgetMarker:(_n,ke,Ce)=>{let $n=[];return _n.state.field(lintGutterMarkers).between(Ce.from,Ce.to,(Mn,Qn,Vn)=>{$n.push(...Vn.diagnostics)}),$n.length?new LintGutterMarker($n):null}}),lintGutterMarkers=StateField.define({create(){return RangeSet.empty},update(_n,ke){_n=_n.map(ke.changes);let Ce=ke.state.facet(lintGutterConfig).markerFilter;for(let $n of ke.effects)if($n.is(setDiagnosticsEffect)){let Mn=$n.value;Ce&&(Mn=Ce(Mn||[],ke.state)),_n=markersForDiagnostics(ke.state.doc,Mn.slice(0))}return _n}}),setLintGutterTooltip=StateEffect.define(),lintGutterTooltip=StateField.define({create(){return null},update(_n,ke){return _n&&ke.docChanged&&(_n=hideTooltip(ke,_n)?null:Object.assign(Object.assign({},_n),{pos:ke.changes.mapPos(_n.pos)})),ke.effects.reduce((Ce,$n)=>$n.is(setLintGutterTooltip)?$n.value:Ce,_n)},provide:_n=>showTooltip.from(_n)}),lintGutterTheme=EditorView.baseTheme({".cm-gutter-lint":{width:"1.4em","& .cm-gutterElement":{padding:".2em"}},".cm-lint-marker":{width:"1em",height:"1em"},".cm-lint-marker-info":{content:svg('')},".cm-lint-marker-warning":{content:svg('')},".cm-lint-marker-error":{content:svg('')}}),lintExtensions=[lintState,EditorView.decorations.compute([lintState],_n=>{let{selected:ke,panel:Ce}=_n.field(lintState);return!ke||!Ce||ke.from==ke.to?Decoration.none:Decoration.set([activeMark.range(ke.from,ke.to)])}),hoverTooltip(lintTooltip,{hideOn:hideTooltip}),baseTheme],lintGutterConfig=Facet.define({combine(_n){return combineConfig(_n,{hoverTime:300,markerFilter:null,tooltipFilter:null})}});function lintGutter(_n={}){return[lintGutterConfig.of(_n),lintGutterMarkers,lintGutterExtension,lintGutterTheme,lintGutterTooltip]}const basicSetup=[lineNumbers(),highlightActiveLineGutter(),highlightSpecialChars(),history$1(),foldGutter(),drawSelection(),dropCursor(),EditorState.allowMultipleSelections.of(!0),indentOnInput(),syntaxHighlighting(defaultHighlightStyle,{fallback:!0}),bracketMatching(),closeBrackets(),autocompletion(),rectangularSelection(),crosshairCursor(),highlightActiveLine(),highlightSelectionMatches(),keymap.of([...closeBracketsKeymap,...defaultKeymap,...searchKeymap,...historyKeymap,...foldKeymap,...completionKeymap,...lintKeymap])];var define_process_env_default={};class Stack{constructor(ke,Ce,$n,Mn,Qn,Vn,qn,Zn,jn,Xn=0,zn){this.p=ke,this.stack=Ce,this.state=$n,this.reducePos=Mn,this.pos=Qn,this.score=Vn,this.buffer=qn,this.bufferBase=Zn,this.curContext=jn,this.lookAhead=Xn,this.parent=zn}toString(){return`[${this.stack.filter((ke,Ce)=>Ce%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(ke,Ce,$n=0){let Mn=ke.parser.context;return new Stack(ke,[],Ce,$n,$n,0,[],0,Mn?new StackContext(Mn,Mn.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(ke,Ce){this.stack.push(this.state,Ce,this.bufferBase+this.buffer.length),this.state=ke}reduce(ke){var Ce;let $n=ke>>19,Mn=ke&65535,{parser:Qn}=this.p,Vn=this.reducePos=2e3&&!(!((Ce=this.p.parser.nodeSet.types[Mn])===null||Ce===void 0)&&Ce.isAnonymous)&&(jn==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=Xn):this.p.lastBigReductionSizeZn;)this.stack.pop();this.reduceContext(Mn,jn)}storeNode(ke,Ce,$n,Mn=4,Qn=!1){if(ke==0&&(!this.stack.length||this.stack[this.stack.length-1]0&&Vn.buffer[qn-4]==0&&Vn.buffer[qn-1]>-1){if(Ce==$n)return;if(Vn.buffer[qn-2]>=Ce){Vn.buffer[qn-2]=$n;return}}}if(!Qn||this.pos==$n)this.buffer.push(ke,Ce,$n,Mn);else{let Vn=this.buffer.length;if(Vn>0&&this.buffer[Vn-4]!=0){let qn=!1;for(let Zn=Vn;Zn>0&&this.buffer[Zn-2]>$n;Zn-=4)if(this.buffer[Zn-1]>=0){qn=!0;break}if(qn)for(;Vn>0&&this.buffer[Vn-2]>$n;)this.buffer[Vn]=this.buffer[Vn-4],this.buffer[Vn+1]=this.buffer[Vn-3],this.buffer[Vn+2]=this.buffer[Vn-2],this.buffer[Vn+3]=this.buffer[Vn-1],Vn-=4,Mn>4&&(Mn-=4)}this.buffer[Vn]=ke,this.buffer[Vn+1]=Ce,this.buffer[Vn+2]=$n,this.buffer[Vn+3]=Mn}}shift(ke,Ce,$n,Mn){if(ke&131072)this.pushState(ke&65535,this.pos);else if(ke&262144)this.pos=Mn,this.shiftContext(Ce,$n),Ce<=this.p.parser.maxNode&&this.buffer.push(Ce,$n,Mn,4);else{let Qn=ke,{parser:Vn}=this.p;(Mn>this.pos||Ce<=Vn.maxNode)&&(this.pos=Mn,Vn.stateFlag(Qn,1)||(this.reducePos=Mn)),this.pushState(Qn,$n),this.shiftContext(Ce,$n),Ce<=Vn.maxNode&&this.buffer.push(Ce,$n,Mn,4)}}apply(ke,Ce,$n,Mn){ke&65536?this.reduce(ke):this.shift(ke,Ce,$n,Mn)}useNode(ke,Ce){let $n=this.p.reused.length-1;($n<0||this.p.reused[$n]!=ke)&&(this.p.reused.push(ke),$n++);let Mn=this.pos;this.reducePos=this.pos=Mn+ke.length,this.pushState(Ce,Mn),this.buffer.push($n,Mn,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,ke,this,this.p.stream.reset(this.pos-ke.length)))}split(){let ke=this,Ce=ke.buffer.length;for(;Ce>0&&ke.buffer[Ce-2]>ke.reducePos;)Ce-=4;let $n=ke.buffer.slice(Ce),Mn=ke.bufferBase+Ce;for(;ke&&Mn==ke.bufferBase;)ke=ke.parent;return new Stack(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,$n,Mn,this.curContext,this.lookAhead,ke)}recoverByDelete(ke,Ce){let $n=ke<=this.p.parser.maxNode;$n&&this.storeNode(ke,this.pos,Ce,4),this.storeNode(0,this.pos,Ce,$n?8:4),this.pos=this.reducePos=Ce,this.score-=190}canShift(ke){for(let Ce=new SimulatedStack(this);;){let $n=this.p.parser.stateSlot(Ce.state,4)||this.p.parser.hasAction(Ce.state,ke);if($n==0)return!1;if(!($n&65536))return!0;Ce.reduce($n)}}recoverByInsert(ke){if(this.stack.length>=300)return[];let Ce=this.p.parser.nextStates(this.state);if(Ce.length>8||this.stack.length>=120){let Mn=[];for(let Qn=0,Vn;QnZn&1&&qn==Vn)||Mn.push(Ce[Qn],Vn)}Ce=Mn}let $n=[];for(let Mn=0;Mn>19,Mn=Ce&65535,Qn=this.stack.length-$n*3;if(Qn<0||ke.getGoto(this.stack[Qn],Mn,!1)<0){let Vn=this.findForcedReduction();if(Vn==null)return!1;Ce=Vn}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(Ce),!0}findForcedReduction(){let{parser:ke}=this.p,Ce=[],$n=(Mn,Qn)=>{if(!Ce.includes(Mn))return Ce.push(Mn),ke.allActions(Mn,Vn=>{if(!(Vn&393216))if(Vn&65536){let qn=(Vn>>19)-Qn;if(qn>1){let Zn=Vn&65535,jn=this.stack.length-qn*3;if(jn>=0&&ke.getGoto(this.stack[jn],Zn,!1)>=0)return qn<<19|65536|Zn}}else{let qn=$n(Vn,Qn+1);if(qn!=null)return qn}})};return $n(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:ke}=this.p;return ke.data[ke.stateSlot(this.state,1)]==65535&&!ke.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(ke){if(this.state!=ke.state||this.stack.length!=ke.stack.length)return!1;for(let Ce=0;Cethis.lookAhead&&(this.emitLookAhead(),this.lookAhead=ke)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}}class StackContext{constructor(ke,Ce){this.tracker=ke,this.context=Ce,this.hash=ke.strict?ke.hash(Ce):0}}class SimulatedStack{constructor(ke){this.start=ke,this.state=ke.state,this.stack=ke.stack,this.base=this.stack.length}reduce(ke){let Ce=ke&65535,$n=ke>>19;$n==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=($n-1)*3;let Mn=this.start.p.parser.getGoto(this.stack[this.base-3],Ce,!0);this.state=Mn}}class StackBufferCursor{constructor(ke,Ce,$n){this.stack=ke,this.pos=Ce,this.index=$n,this.buffer=ke.buffer,this.index==0&&this.maybeNext()}static create(ke,Ce=ke.bufferBase+ke.buffer.length){return new StackBufferCursor(ke,Ce,Ce-ke.bufferBase)}maybeNext(){let ke=this.stack.parent;ke!=null&&(this.index=this.stack.bufferBase-ke.bufferBase,this.stack=ke,this.buffer=ke.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new StackBufferCursor(this.stack,this.pos,this.index)}}function decodeArray(_n,ke=Uint16Array){if(typeof _n!="string")return _n;let Ce=null;for(let $n=0,Mn=0;$n<_n.length;){let Qn=0;for(;;){let Vn=_n.charCodeAt($n++),qn=!1;if(Vn==126){Qn=65535;break}Vn>=92&&Vn--,Vn>=34&&Vn--;let Zn=Vn-32;if(Zn>=46&&(Zn-=46,qn=!0),Qn+=Zn,qn)break;Qn*=46}Ce?Ce[Mn++]=Qn:Ce=new ke(Qn)}return Ce}class CachedToken{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const nullToken=new CachedToken;class InputStream{constructor(ke,Ce){this.input=ke,this.ranges=Ce,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=nullToken,this.rangeIndex=0,this.pos=this.chunkPos=Ce[0].from,this.range=Ce[0],this.end=Ce[Ce.length-1].to,this.readNext()}resolveOffset(ke,Ce){let $n=this.range,Mn=this.rangeIndex,Qn=this.pos+ke;for(;Qn<$n.from;){if(!Mn)return null;let Vn=this.ranges[--Mn];Qn-=$n.from-Vn.to,$n=Vn}for(;Ce<0?Qn>$n.to:Qn>=$n.to;){if(Mn==this.ranges.length-1)return null;let Vn=this.ranges[++Mn];Qn+=Vn.from-$n.to,$n=Vn}return Qn}clipPos(ke){if(ke>=this.range.from&&keke)return Math.max(ke,Ce.from);return this.end}peek(ke){let Ce=this.chunkOff+ke,$n,Mn;if(Ce>=0&&Ce=this.chunk2Pos&&$nqn.to&&(this.chunk2=this.chunk2.slice(0,qn.to-$n)),Mn=this.chunk2.charCodeAt(0)}}return $n>=this.token.lookAhead&&(this.token.lookAhead=$n+1),Mn}acceptToken(ke,Ce=0){let $n=Ce?this.resolveOffset(Ce,-1):this.pos;if($n==null||$n=this.chunk2Pos&&this.posthis.range.to?ke.slice(0,this.range.to-this.pos):ke,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(ke=1){for(this.chunkOff+=ke;this.pos+ke>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();ke-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=ke,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(ke,Ce){if(Ce?(this.token=Ce,Ce.start=ke,Ce.lookAhead=ke+1,Ce.value=Ce.extended=-1):this.token=nullToken,this.pos!=ke){if(this.pos=ke,ke==this.end)return this.setDone(),this;for(;ke=this.range.to;)this.range=this.ranges[++this.rangeIndex];ke>=this.chunkPos&&ke=this.chunkPos&&Ce<=this.chunkPos+this.chunk.length)return this.chunk.slice(ke-this.chunkPos,Ce-this.chunkPos);if(ke>=this.chunk2Pos&&Ce<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(ke-this.chunk2Pos,Ce-this.chunk2Pos);if(ke>=this.range.from&&Ce<=this.range.to)return this.input.read(ke,Ce);let $n="";for(let Mn of this.ranges){if(Mn.from>=Ce)break;Mn.to>ke&&($n+=this.input.read(Math.max(Mn.from,ke),Math.min(Mn.to,Ce)))}return $n}}class TokenGroup{constructor(ke,Ce){this.data=ke,this.id=Ce}token(ke,Ce){let{parser:$n}=Ce.p;readToken(this.data,ke,Ce,this.id,$n.data,$n.tokenPrecTable)}}TokenGroup.prototype.contextual=TokenGroup.prototype.fallback=TokenGroup.prototype.extend=!1;class LocalTokenGroup{constructor(ke,Ce,$n){this.precTable=Ce,this.elseToken=$n,this.data=typeof ke=="string"?decodeArray(ke):ke}token(ke,Ce){let $n=ke.pos,Mn=0;for(;;){let Qn=ke.next<0,Vn=ke.resolveOffset(1,1);if(readToken(this.data,ke,Ce,0,this.data,this.precTable),ke.token.value>-1)break;if(this.elseToken==null)return;if(Qn||Mn++,Vn==null)break;ke.reset(Vn,ke.token)}Mn&&(ke.reset($n,ke.token),ke.acceptToken(this.elseToken,Mn))}}LocalTokenGroup.prototype.contextual=TokenGroup.prototype.fallback=TokenGroup.prototype.extend=!1;class ExternalTokenizer{constructor(ke,Ce={}){this.token=ke,this.contextual=!!Ce.contextual,this.fallback=!!Ce.fallback,this.extend=!!Ce.extend}}function readToken(_n,ke,Ce,$n,Mn,Qn){let Vn=0,qn=1<<$n,{dialect:Zn}=Ce.p.parser;e:for(;qn&_n[Vn];){let jn=_n[Vn+1];for(let Wn=Vn+3;Wn0){let Yn=_n[Wn];if(Zn.allows(Yn)&&(ke.token.value==-1||ke.token.value==Yn||overrides(Yn,ke.token.value,Mn,Qn))){ke.acceptToken(Yn);break}}let Xn=ke.next,zn=0,Hn=_n[Vn+2];if(ke.next<0&&Hn>zn&&_n[jn+Hn*3-3]==65535){Vn=_n[jn+Hn*3-1];continue e}for(;zn>1,Yn=jn+Wn+(Wn<<1),Un=_n[Yn],Gn=_n[Yn+1]||65536;if(Xn=Gn)zn=Wn+1;else{Vn=_n[Yn+2],ke.advance();continue e}}break}}function findOffset(_n,ke,Ce){for(let $n=ke,Mn;(Mn=_n[$n])!=65535;$n++)if(Mn==Ce)return $n-ke;return-1}function overrides(_n,ke,Ce,$n){let Mn=findOffset(Ce,$n,ke);return Mn<0||findOffset(Ce,$n,_n)ke)&&!$n.type.isError)return Ce<0?Math.max(0,Math.min($n.to-1,ke-25)):Math.min(_n.length,Math.max($n.from+1,ke+25));if(Ce<0?$n.prevSibling():$n.nextSibling())break;if(!$n.parent())return Ce<0?0:_n.length}}let FragmentCursor$1=class{constructor(ke,Ce){this.fragments=ke,this.nodeSet=Ce,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let ke=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(ke){for(this.safeFrom=ke.openStart?cutAt(ke.tree,ke.from+ke.offset,1)-ke.offset:ke.from,this.safeTo=ke.openEnd?cutAt(ke.tree,ke.to+ke.offset,-1)-ke.offset:ke.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(ke.tree),this.start.push(-ke.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(ke){if(keke)return this.nextStart=Vn,null;if(Qn instanceof Tree){if(Vn==ke){if(Vn=Math.max(this.safeFrom,ke)&&(this.trees.push(Qn),this.start.push(Vn),this.index.push(0))}else this.index[Ce]++,this.nextStart=Vn+Qn.length}}};class TokenCache{constructor(ke,Ce){this.stream=Ce,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=ke.tokenizers.map($n=>new CachedToken)}getActions(ke){let Ce=0,$n=null,{parser:Mn}=ke.p,{tokenizers:Qn}=Mn,Vn=Mn.stateSlot(ke.state,3),qn=ke.curContext?ke.curContext.hash:0,Zn=0;for(let jn=0;jnzn.end+25&&(Zn=Math.max(zn.lookAhead,Zn)),zn.value!=0)){let Hn=Ce;if(zn.extended>-1&&(Ce=this.addActions(ke,zn.extended,zn.end,Ce)),Ce=this.addActions(ke,zn.value,zn.end,Ce),!Xn.extend&&($n=zn,Ce>Hn))break}}for(;this.actions.length>Ce;)this.actions.pop();return Zn&&ke.setLookAhead(Zn),!$n&&ke.pos==this.stream.end&&($n=new CachedToken,$n.value=ke.p.parser.eofTerm,$n.start=$n.end=ke.pos,Ce=this.addActions(ke,$n.value,$n.end,Ce)),this.mainToken=$n,this.actions}getMainToken(ke){if(this.mainToken)return this.mainToken;let Ce=new CachedToken,{pos:$n,p:Mn}=ke;return Ce.start=$n,Ce.end=Math.min($n+1,Mn.stream.end),Ce.value=$n==Mn.stream.end?Mn.parser.eofTerm:0,Ce}updateCachedToken(ke,Ce,$n){let Mn=this.stream.clipPos($n.pos);if(Ce.token(this.stream.reset(Mn,ke),$n),ke.value>-1){let{parser:Qn}=$n.p;for(let Vn=0;Vn=0&&$n.p.parser.dialect.allows(qn>>1)){qn&1?ke.extended=qn>>1:ke.value=qn>>1;break}}}else ke.value=0,ke.end=this.stream.clipPos(Mn+1)}putAction(ke,Ce,$n,Mn){for(let Qn=0;Qnke.bufferLength*4?new FragmentCursor$1($n,ke.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let ke=this.stacks,Ce=this.minStackPos,$n=this.stacks=[],Mn,Qn;if(this.bigReductionCount>300&&ke.length==1){let[Vn]=ke;for(;Vn.forceReduce()&&Vn.stack.length&&Vn.stack[Vn.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let Vn=0;VnCe)$n.push(qn);else{if(this.advanceStack(qn,$n,ke))continue;{Mn||(Mn=[],Qn=[]),Mn.push(qn);let Zn=this.tokens.getMainToken(qn);Qn.push(Zn.value,Zn.end)}}break}}if(!$n.length){let Vn=Mn&&findFinished(Mn);if(Vn)return verbose&&console.log("Finish with "+this.stackID(Vn)),this.stackToTree(Vn);if(this.parser.strict)throw verbose&&Mn&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+Ce);this.recovering||(this.recovering=5)}if(this.recovering&&Mn){let Vn=this.stoppedAt!=null&&Mn[0].pos>this.stoppedAt?Mn[0]:this.runRecovery(Mn,Qn,$n);if(Vn)return verbose&&console.log("Force-finish "+this.stackID(Vn)),this.stackToTree(Vn.forceAll())}if(this.recovering){let Vn=this.recovering==1?1:this.recovering*3;if($n.length>Vn)for($n.sort((qn,Zn)=>Zn.score-qn.score);$n.length>Vn;)$n.pop();$n.some(qn=>qn.reducePos>Ce)&&this.recovering--}else if($n.length>1){e:for(let Vn=0;Vn<$n.length-1;Vn++){let qn=$n[Vn];for(let Zn=Vn+1;Zn<$n.length;Zn++){let jn=$n[Zn];if(qn.sameState(jn)||qn.buffer.length>500&&jn.buffer.length>500)if((qn.score-jn.score||qn.buffer.length-jn.buffer.length)>0)$n.splice(Zn--,1);else{$n.splice(Vn--,1);continue e}}}$n.length>12&&$n.splice(12,$n.length-12)}this.minStackPos=$n[0].pos;for(let Vn=1;Vn<$n.length;Vn++)$n[Vn].pos ":"";if(this.stoppedAt!=null&&Mn>this.stoppedAt)return ke.forceReduce()?ke:null;if(this.fragments){let jn=ke.curContext&&ke.curContext.tracker.strict,Xn=jn?ke.curContext.hash:0;for(let zn=this.fragments.nodeAt(Mn);zn;){let Hn=this.parser.nodeSet.types[zn.type.id]==zn.type?Qn.getGoto(ke.state,zn.type.id):-1;if(Hn>-1&&zn.length&&(!jn||(zn.prop(NodeProp.contextHash)||0)==Xn))return ke.useNode(zn,Hn),verbose&&console.log(Vn+this.stackID(ke)+` (via reuse of ${Qn.getName(zn.type.id)})`),!0;if(!(zn instanceof Tree)||zn.children.length==0||zn.positions[0]>0)break;let Wn=zn.children[0];if(Wn instanceof Tree&&zn.positions[0]==0)zn=Wn;else break}}let qn=Qn.stateSlot(ke.state,4);if(qn>0)return ke.reduce(qn),verbose&&console.log(Vn+this.stackID(ke)+` (via always-reduce ${Qn.getName(qn&65535)})`),!0;if(ke.stack.length>=8400)for(;ke.stack.length>6e3&&ke.forceReduce(););let Zn=this.tokens.getActions(ke);for(let jn=0;jnMn?Ce.push(Yn):$n.push(Yn)}return!1}advanceFully(ke,Ce){let $n=ke.pos;for(;;){if(!this.advanceStack(ke,null,null))return!1;if(ke.pos>$n)return pushStackDedup(ke,Ce),!0}}runRecovery(ke,Ce,$n){let Mn=null,Qn=!1;for(let Vn=0;Vn ":"";if(qn.deadEnd&&(Qn||(Qn=!0,qn.restart(),verbose&&console.log(Xn+this.stackID(qn)+" (restarted)"),this.advanceFully(qn,$n))))continue;let zn=qn.split(),Hn=Xn;for(let Wn=0;zn.forceReduce()&&Wn<10&&(verbose&&console.log(Hn+this.stackID(zn)+" (via force-reduce)"),!this.advanceFully(zn,$n));Wn++)verbose&&(Hn=this.stackID(zn)+" -> ");for(let Wn of qn.recoverByInsert(Zn))verbose&&console.log(Xn+this.stackID(Wn)+" (via recover-insert)"),this.advanceFully(Wn,$n);this.stream.end>qn.pos?(jn==qn.pos&&(jn++,Zn=0),qn.recoverByDelete(Zn,jn),verbose&&console.log(Xn+this.stackID(qn)+` (via recover-delete ${this.parser.getName(Zn)})`),pushStackDedup(qn,$n)):(!Mn||Mn.score_n;class ContextTracker{constructor(ke){this.start=ke.start,this.shift=ke.shift||id,this.reduce=ke.reduce||id,this.reuse=ke.reuse||id,this.hash=ke.hash||(()=>0),this.strict=ke.strict!==!1}}class LRParser extends Parser{constructor(ke){if(super(),this.wrappers=[],ke.version!=14)throw new RangeError(`Parser version (${ke.version}) doesn't match runtime version (14)`);let Ce=ke.nodeNames.split(" ");this.minRepeatTerm=Ce.length;for(let qn=0;qnke.topRules[qn][1]),Mn=[];for(let qn=0;qn=0)Qn(Xn,Zn,qn[jn++]);else{let zn=qn[jn+-Xn];for(let Hn=-Xn;Hn>0;Hn--)Qn(qn[jn++],Zn,zn);jn++}}}this.nodeSet=new NodeSet(Ce.map((qn,Zn)=>NodeType.define({name:Zn>=this.minRepeatTerm?void 0:qn,id:Zn,props:Mn[Zn],top:$n.indexOf(Zn)>-1,error:Zn==0,skipped:ke.skippedNodes&&ke.skippedNodes.indexOf(Zn)>-1}))),ke.propSources&&(this.nodeSet=this.nodeSet.extend(...ke.propSources)),this.strict=!1,this.bufferLength=DefaultBufferLength;let Vn=decodeArray(ke.tokenData);this.context=ke.context,this.specializerSpecs=ke.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let qn=0;qntypeof qn=="number"?new TokenGroup(Vn,qn):qn),this.topRules=ke.topRules,this.dialects=ke.dialects||{},this.dynamicPrecedences=ke.dynamicPrecedences||null,this.tokenPrecTable=ke.tokenPrec,this.termNames=ke.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(ke,Ce,$n){let Mn=new Parse(this,ke,Ce,$n);for(let Qn of this.wrappers)Mn=Qn(Mn,ke,Ce,$n);return Mn}getGoto(ke,Ce,$n=!1){let Mn=this.goto;if(Ce>=Mn[0])return-1;for(let Qn=Mn[Ce+1];;){let Vn=Mn[Qn++],qn=Vn&1,Zn=Mn[Qn++];if(qn&&$n)return Zn;for(let jn=Qn+(Vn>>1);Qn0}validAction(ke,Ce){return!!this.allActions(ke,$n=>$n==Ce?!0:null)}allActions(ke,Ce){let $n=this.stateSlot(ke,4),Mn=$n?Ce($n):void 0;for(let Qn=this.stateSlot(ke,1);Mn==null;Qn+=3){if(this.data[Qn]==65535)if(this.data[Qn+1]==1)Qn=pair(this.data,Qn+2);else break;Mn=Ce(pair(this.data,Qn+1))}return Mn}nextStates(ke){let Ce=[];for(let $n=this.stateSlot(ke,1);;$n+=3){if(this.data[$n]==65535)if(this.data[$n+1]==1)$n=pair(this.data,$n+2);else break;if(!(this.data[$n+2]&1)){let Mn=this.data[$n+1];Ce.some((Qn,Vn)=>Vn&1&&Qn==Mn)||Ce.push(this.data[$n],Mn)}}return Ce}configure(ke){let Ce=Object.assign(Object.create(LRParser.prototype),this);if(ke.props&&(Ce.nodeSet=this.nodeSet.extend(...ke.props)),ke.top){let $n=this.topRules[ke.top];if(!$n)throw new RangeError(`Invalid top rule name ${ke.top}`);Ce.top=$n}return ke.tokenizers&&(Ce.tokenizers=this.tokenizers.map($n=>{let Mn=ke.tokenizers.find(Qn=>Qn.from==$n);return Mn?Mn.to:$n})),ke.specializers&&(Ce.specializers=this.specializers.slice(),Ce.specializerSpecs=this.specializerSpecs.map(($n,Mn)=>{let Qn=ke.specializers.find(qn=>qn.from==$n.external);if(!Qn)return $n;let Vn=Object.assign(Object.assign({},$n),{external:Qn.to});return Ce.specializers[Mn]=getSpecializer(Vn),Vn})),ke.contextTracker&&(Ce.context=ke.contextTracker),ke.dialect&&(Ce.dialect=this.parseDialect(ke.dialect)),ke.strict!=null&&(Ce.strict=ke.strict),ke.wrap&&(Ce.wrappers=Ce.wrappers.concat(ke.wrap)),ke.bufferLength!=null&&(Ce.bufferLength=ke.bufferLength),Ce}hasWrappers(){return this.wrappers.length>0}getName(ke){return this.termNames?this.termNames[ke]:String(ke<=this.maxNode&&this.nodeSet.types[ke].name||ke)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(ke){let Ce=this.dynamicPrecedences;return Ce==null?0:Ce[ke]||0}parseDialect(ke){let Ce=Object.keys(this.dialects),$n=Ce.map(()=>!1);if(ke)for(let Qn of ke.split(" ")){let Vn=Ce.indexOf(Qn);Vn>=0&&($n[Vn]=!0)}let Mn=null;for(let Qn=0;Qn$n)&&Ce.p.parser.stateFlag(Ce.state,2)&&(!ke||ke.score_n.external(Ce,$n)<<1|ke}return _n.get}const jsonHighlighting=styleTags({String:tags$1.string,Number:tags$1.number,"True False":tags$1.bool,PropertyName:tags$1.propertyName,Null:tags$1.null,",":tags$1.separator,"[ ]":tags$1.squareBracket,"{ }":tags$1.brace}),parser$4=LRParser.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#CjOOQO'#Cp'#CpQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CrOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59U,59UO!iQPO,59UOVQPO,59QOqQPO'#CkO!nQPO,59^OOQO1G.k1G.kOVQPO'#ClO!vQPO,59aOOQO1G.p1G.pOOQO1G.l1G.lOOQO,59V,59VOOQO-E6i-E6iOOQO,59W,59WOOQO-E6j-E6j",stateData:"#O~OcOS~OQSORSOSSOTSOWQO]ROePO~OVXOeUO~O[[O~PVOg^O~Oh_OVfX~OVaO~OhbO[iX~O[dO~Oh_OVfa~OhbO[ia~O",goto:"!kjPPPPPPkPPkqwPPk{!RPPP!XP!ePP!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:"⚠ JsonText True False Null Number String } { Object Property PropertyName ] [ Array",maxTerm:25,nodeProps:[["isolate",-2,6,11,""],["openedBy",7,"{",12,"["],["closedBy",8,"}",13,"]"]],propSources:[jsonHighlighting],skippedNodes:[0],repeatNodeCount:2,tokenData:"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oc~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Oe~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zOh~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yOg~~'OO]~~'TO[~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0}),jsonParseLinter=()=>_n=>{try{JSON.parse(_n.state.doc.toString())}catch(ke){if(!(ke instanceof SyntaxError))throw ke;const Ce=getErrorPosition(ke,_n.state.doc);return[{from:Ce,message:ke.message,severity:"error",to:Ce}]}return[]};function getErrorPosition(_n,ke){let Ce;return(Ce=_n.message.match(/at position (\d+)/))?Math.min(+Ce[1],ke.length):(Ce=_n.message.match(/at line (\d+) column (\d+)/))?Math.min(ke.line(+Ce[1]).from+ +Ce[2]-1,ke.length):0}const jsonLanguage=LRLanguage.define({name:"json",parser:parser$4.configure({props:[indentNodeProp.add({Object:continuedIndent({except:/^\s*\}/}),Array:continuedIndent({except:/^\s*\]/})}),foldNodeProp.add({"Object Array":foldInside})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function json(){return new LanguageSupport(jsonLanguage)}function create_fragment$i(_n){let ke,Ce;return{c(){ke=element("div"),attr(ke,"class",Ce="is-editable-"+_n[0])},m($n,Mn){insert$1($n,ke,Mn),_n[3](ke)},p($n,[Mn]){Mn&1&&Ce!==(Ce="is-editable-"+$n[0])&&attr(ke,"class",Ce)},i:noop,o:noop,d($n){$n&&detach(ke),_n[3](null)}}}function instance$i(_n,ke,Ce){let $n,Mn,{value:Qn}=ke,{editable:Vn=!0}=ke;onMount(()=>{let Zn=new Compartment,jn=new Compartment,Xn=EditorState.create({doc:JSON.stringify(Qn,null,4),extensions:[basicSetup,keymap.of([indentWithTab]),Zn.of(json()),json(),jn.of(EditorState.tabSize.of(4)),lintGutter(),basicSetup,EditorView.editable.of(Vn),EditorView.updateListener.of(function(zn){zn.docChanged&&Ce(2,Qn=zn.state.doc.toString())}),linter(jsonParseLinter())]});Mn=new EditorView({state:Xn,parent:$n})}),onDestroy(()=>{Mn&&Mn.destroy()});function qn(Zn){binding_callbacks[Zn?"unshift":"push"](()=>{$n=Zn,Ce(1,$n)})}return _n.$$set=Zn=>{"value"in Zn&&Ce(2,Qn=Zn.value),"editable"in Zn&&Ce(0,Vn=Zn.editable)},[Vn,$n,Qn,qn]}class Codemirror extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$i,create_fragment$i,safe_not_equal,{value:2,editable:0})}}function create_if_block$c(_n){let ke,Ce;return{c(){ke=element("div"),Ce=text(_n[3]),attr(ke,"class","invalid-feedback d-block")},m($n,Mn){insert$1($n,ke,Mn),append(ke,Ce)},p($n,Mn){Mn&8&&set_data(Ce,$n[3])},d($n){$n&&detach(ke)}}}function create_fragment$h(_n){let ke,Ce,$n,Mn,Qn;function Vn(jn){_n[5](jn)}let qn={editable:!_n[1].readonly||_n[2]};_n[0]!==void 0&&(qn.value=_n[0]),Ce=new Codemirror({props:qn}),binding_callbacks.push(()=>bind(Ce,"value",Vn));let Zn=_n[3]&&create_if_block$c(_n);return{c(){ke=element("div"),create_component(Ce.$$.fragment),Mn=space$3(),Zn&&Zn.c(),attr(ke,"class","mb-3")},m(jn,Xn){insert$1(jn,ke,Xn),mount_component(Ce,ke,null),append(ke,Mn),Zn&&Zn.m(ke,null),Qn=!0},p(jn,[Xn]){const zn={};Xn&6&&(zn.editable=!jn[1].readonly||jn[2]),!$n&&Xn&1&&($n=!0,zn.value=jn[0],add_flush_callback(()=>$n=!1)),Ce.$set(zn),jn[3]?Zn?Zn.p(jn,Xn):(Zn=create_if_block$c(jn),Zn.c(),Zn.m(ke,null)):Zn&&(Zn.d(1),Zn=null)},i(jn){Qn||(transition_in(Ce.$$.fragment,jn),Qn=!0)},o(jn){transition_out(Ce.$$.fragment,jn),Qn=!1},d(jn){jn&&detach(ke),destroy_component(Ce),Zn&&Zn.d()}}}function instance$h(_n,ke,Ce){let $n,{value:Mn}=ke,{field:Qn}=ke,{isCreateMode:Vn}=ke,{validationErrors:qn}=ke;function Zn(jn){Mn=jn,Ce(0,Mn)}return _n.$$set=jn=>{"value"in jn&&Ce(0,Mn=jn.value),"field"in jn&&Ce(1,Qn=jn.field),"isCreateMode"in jn&&Ce(2,Vn=jn.isCreateMode),"validationErrors"in jn&&Ce(4,qn=jn.validationErrors)},_n.$$.update=()=>{_n.$$.dirty&18&&Ce(3,$n=getErrorMessage(qn,Qn.name))},[Mn,Qn,Vn,$n,qn,Zn]}let JSON$1=class extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$h,create_fragment$h,safe_not_equal,{value:0,field:1,isCreateMode:2,validationErrors:4})}};class CompositeBlock{static create(ke,Ce,$n,Mn,Qn){let Vn=Mn+(Mn<<8)+ke+(Ce<<4)|0;return new CompositeBlock(ke,Ce,$n,Vn,Qn,[],[])}constructor(ke,Ce,$n,Mn,Qn,Vn,qn){this.type=ke,this.value=Ce,this.from=$n,this.hash=Mn,this.end=Qn,this.children=Vn,this.positions=qn,this.hashProp=[[NodeProp.contextHash,Mn]]}addChild(ke,Ce){ke.prop(NodeProp.contextHash)!=this.hash&&(ke=new Tree(ke.type,ke.children,ke.positions,ke.length,this.hashProp)),this.children.push(ke),this.positions.push(Ce)}toTree(ke,Ce=this.end){let $n=this.children.length-1;return $n>=0&&(Ce=Math.max(Ce,this.positions[$n]+this.children[$n].length+this.from)),new Tree(ke.types[this.type],this.children,this.positions,Ce-this.from).balance({makeTree:(Mn,Qn,Vn)=>new Tree(NodeType.none,Mn,Qn,Vn,this.hashProp)})}}var Type;(function(_n){_n[_n.Document=1]="Document",_n[_n.CodeBlock=2]="CodeBlock",_n[_n.FencedCode=3]="FencedCode",_n[_n.Blockquote=4]="Blockquote",_n[_n.HorizontalRule=5]="HorizontalRule",_n[_n.BulletList=6]="BulletList",_n[_n.OrderedList=7]="OrderedList",_n[_n.ListItem=8]="ListItem",_n[_n.ATXHeading1=9]="ATXHeading1",_n[_n.ATXHeading2=10]="ATXHeading2",_n[_n.ATXHeading3=11]="ATXHeading3",_n[_n.ATXHeading4=12]="ATXHeading4",_n[_n.ATXHeading5=13]="ATXHeading5",_n[_n.ATXHeading6=14]="ATXHeading6",_n[_n.SetextHeading1=15]="SetextHeading1",_n[_n.SetextHeading2=16]="SetextHeading2",_n[_n.HTMLBlock=17]="HTMLBlock",_n[_n.LinkReference=18]="LinkReference",_n[_n.Paragraph=19]="Paragraph",_n[_n.CommentBlock=20]="CommentBlock",_n[_n.ProcessingInstructionBlock=21]="ProcessingInstructionBlock",_n[_n.Escape=22]="Escape",_n[_n.Entity=23]="Entity",_n[_n.HardBreak=24]="HardBreak",_n[_n.Emphasis=25]="Emphasis",_n[_n.StrongEmphasis=26]="StrongEmphasis",_n[_n.Link=27]="Link",_n[_n.Image=28]="Image",_n[_n.InlineCode=29]="InlineCode",_n[_n.HTMLTag=30]="HTMLTag",_n[_n.Comment=31]="Comment",_n[_n.ProcessingInstruction=32]="ProcessingInstruction",_n[_n.Autolink=33]="Autolink",_n[_n.HeaderMark=34]="HeaderMark",_n[_n.QuoteMark=35]="QuoteMark",_n[_n.ListMark=36]="ListMark",_n[_n.LinkMark=37]="LinkMark",_n[_n.EmphasisMark=38]="EmphasisMark",_n[_n.CodeMark=39]="CodeMark",_n[_n.CodeText=40]="CodeText",_n[_n.CodeInfo=41]="CodeInfo",_n[_n.LinkTitle=42]="LinkTitle",_n[_n.LinkLabel=43]="LinkLabel",_n[_n.URL=44]="URL"})(Type||(Type={}));class LeafBlock{constructor(ke,Ce){this.start=ke,this.content=Ce,this.marks=[],this.parsers=[]}}class Line{constructor(){this.text="",this.baseIndent=0,this.basePos=0,this.depth=0,this.markers=[],this.pos=0,this.indent=0,this.next=-1}forward(){this.basePos>this.pos&&this.forwardInner()}forwardInner(){let ke=this.skipSpace(this.basePos);this.indent=this.countIndent(ke,this.pos,this.indent),this.pos=ke,this.next=ke==this.text.length?-1:this.text.charCodeAt(ke)}skipSpace(ke){return skipSpace(this.text,ke)}reset(ke){for(this.text=ke,this.baseIndent=this.basePos=this.pos=this.indent=0,this.forwardInner(),this.depth=1;this.markers.length;)this.markers.pop()}moveBase(ke){this.basePos=ke,this.baseIndent=this.countIndent(ke,this.pos,this.indent)}moveBaseColumn(ke){this.baseIndent=ke,this.basePos=this.findColumn(ke)}addMarker(ke){this.markers.push(ke)}countIndent(ke,Ce=0,$n=0){for(let Mn=Ce;Mn=ke.stack[Ce.depth+1].value+Ce.baseIndent)return!0;if(Ce.indent>=Ce.baseIndent+4)return!1;let $n=(_n.type==Type.OrderedList?isOrderedList:isBulletList)(Ce,ke,!1);return $n>0&&(_n.type!=Type.BulletList||isHorizontalRule(Ce,ke,!1)<0)&&Ce.text.charCodeAt(Ce.pos+$n-1)==_n.value}const DefaultSkipMarkup={[Type.Blockquote](_n,ke,Ce){return Ce.next!=62?!1:(Ce.markers.push(elt(Type.QuoteMark,ke.lineStart+Ce.pos,ke.lineStart+Ce.pos+1)),Ce.moveBase(Ce.pos+(space$2(Ce.text.charCodeAt(Ce.pos+1))?2:1)),_n.end=ke.lineStart+Ce.text.length,!0)},[Type.ListItem](_n,ke,Ce){return Ce.indent-1?!1:(Ce.moveBaseColumn(Ce.baseIndent+_n.value),!0)},[Type.OrderedList]:skipForList,[Type.BulletList]:skipForList,[Type.Document](){return!0}};function space$2(_n){return _n==32||_n==9||_n==10||_n==13}function skipSpace(_n,ke=0){for(;ke<_n.length&&space$2(_n.charCodeAt(ke));)ke++;return ke}function skipSpaceBack(_n,ke,Ce){for(;ke>Ce&&space$2(_n.charCodeAt(ke-1));)ke--;return ke}function isFencedCode(_n){if(_n.next!=96&&_n.next!=126)return-1;let ke=_n.pos+1;for(;ke<_n.text.length&&_n.text.charCodeAt(ke)==_n.next;)ke++;if(ke<_n.pos+3)return-1;if(_n.next==96){for(let Ce=ke;Ce<_n.text.length;Ce++)if(_n.text.charCodeAt(Ce)==96)return-1}return ke}function isBlockquote(_n){return _n.next!=62?-1:_n.text.charCodeAt(_n.pos+1)==32?2:1}function isHorizontalRule(_n,ke,Ce){if(_n.next!=42&&_n.next!=45&&_n.next!=95)return-1;let $n=1;for(let Mn=_n.pos+1;Mn<_n.text.length;Mn++){let Qn=_n.text.charCodeAt(Mn);if(Qn==_n.next)$n++;else if(!space$2(Qn))return-1}return Ce&&_n.next==45&&isSetextUnderline(_n)>-1&&_n.depth==ke.stack.length&&ke.parser.leafBlockParsers.indexOf(DefaultLeafBlocks.SetextHeading)>-1||$n<3?-1:1}function inList(_n,ke){for(let Ce=_n.stack.length-1;Ce>=0;Ce--)if(_n.stack[Ce].type==ke)return!0;return!1}function isBulletList(_n,ke,Ce){return(_n.next==45||_n.next==43||_n.next==42)&&(_n.pos==_n.text.length-1||space$2(_n.text.charCodeAt(_n.pos+1)))&&(!Ce||inList(ke,Type.BulletList)||_n.skipSpace(_n.pos+2)<_n.text.length)?1:-1}function isOrderedList(_n,ke,Ce){let $n=_n.pos,Mn=_n.next;for(;Mn>=48&&Mn<=57;){$n++;if($n==_n.text.length)return-1;Mn=_n.text.charCodeAt($n)}return $n==_n.pos||$n>_n.pos+9||Mn!=46&&Mn!=41||$n<_n.text.length-1&&!space$2(_n.text.charCodeAt($n+1))||Ce&&!inList(ke,Type.OrderedList)&&(_n.skipSpace($n+1)==_n.text.length||$n>_n.pos+1||_n.next!=49)?-1:$n+1-_n.pos}function isAtxHeading(_n){if(_n.next!=35)return-1;let ke=_n.pos+1;for(;ke<_n.text.length&&_n.text.charCodeAt(ke)==35;)ke++;if(ke<_n.text.length&&_n.text.charCodeAt(ke)!=32)return-1;let Ce=ke-_n.pos;return Ce>6?-1:Ce}function isSetextUnderline(_n){if(_n.next!=45&&_n.next!=61||_n.indent>=_n.baseIndent+4)return-1;let ke=_n.pos+1;for(;ke<_n.text.length&&_n.text.charCodeAt(ke)==_n.next;)ke++;let Ce=ke;for(;ke<_n.text.length&&space$2(_n.text.charCodeAt(ke));)ke++;return ke==_n.text.length?Ce:-1}const EmptyLine=/^[ \t]*$/,CommentEnd=/-->/,ProcessingEnd=/\?>/,HTMLBlockStyle=[[/^<(?:script|pre|style)(?:\s|>|$)/i,/<\/(?:script|pre|style)>/i],[/^\s*/i.exec($n);if(Qn)return _n.append(elt(Type.Comment,Ce,Ce+1+Qn[0].length));let Vn=/^\?[^]*?\?>/.exec($n);if(Vn)return _n.append(elt(Type.ProcessingInstruction,Ce,Ce+1+Vn[0].length));let qn=/^(?:![A-Z][^]*?>|!\[CDATA\[[^]*?\]\]>|\/\s*[a-zA-Z][\w-]*\s*>|\s*[a-zA-Z][\w-]*(\s+[a-zA-Z:_][\w-.:]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*(\/\s*)?>)/.exec($n);return qn?_n.append(elt(Type.HTMLTag,Ce,Ce+1+qn[0].length)):-1},Emphasis(_n,ke,Ce){if(ke!=95&&ke!=42)return-1;let $n=Ce+1;for(;_n.char($n)==ke;)$n++;let Mn=_n.slice(Ce-1,Ce),Qn=_n.slice($n,$n+1),Vn=Punctuation.test(Mn),qn=Punctuation.test(Qn),Zn=/\s|^$/.test(Mn),jn=/\s|^$/.test(Qn),Xn=!jn&&(!qn||Zn||Vn),zn=!Zn&&(!Vn||jn||qn),Hn=Xn&&(ke==42||!zn||Vn),Wn=zn&&(ke==42||!Xn||qn);return _n.append(new InlineDelimiter(ke==95?EmphasisUnderscore:EmphasisAsterisk,Ce,$n,(Hn?1:0)|(Wn?2:0)))},HardBreak(_n,ke,Ce){if(ke==92&&_n.char(Ce+1)==10)return _n.append(elt(Type.HardBreak,Ce,Ce+2));if(ke==32){let $n=Ce+1;for(;_n.char($n)==32;)$n++;if(_n.char($n)==10&&$n>=Ce+2)return _n.append(elt(Type.HardBreak,Ce,$n+1))}return-1},Link(_n,ke,Ce){return ke==91?_n.append(new InlineDelimiter(LinkStart,Ce,Ce+1,1)):-1},Image(_n,ke,Ce){return ke==33&&_n.char(Ce+1)==91?_n.append(new InlineDelimiter(ImageStart,Ce,Ce+2,1)):-1},LinkEnd(_n,ke,Ce){if(ke!=93)return-1;for(let $n=_n.parts.length-1;$n>=0;$n--){let Mn=_n.parts[$n];if(Mn instanceof InlineDelimiter&&(Mn.type==LinkStart||Mn.type==ImageStart)){if(!Mn.side||_n.skipSpace(Mn.to)==Ce&&!/[(\[]/.test(_n.slice(Ce+1,Ce+2)))return _n.parts[$n]=null,-1;let Qn=_n.takeContent($n),Vn=_n.parts[$n]=finishLink(_n,Qn,Mn.type==LinkStart?Type.Link:Type.Image,Mn.from,Ce+1);if(Mn.type==LinkStart)for(let qn=0;qn<$n;qn++){let Zn=_n.parts[qn];Zn instanceof InlineDelimiter&&Zn.type==LinkStart&&(Zn.side=0)}return Vn.to}}return-1}};function finishLink(_n,ke,Ce,$n,Mn){let{text:Qn}=_n,Vn=_n.char(Mn),qn=Mn;if(ke.unshift(elt(Type.LinkMark,$n,$n+(Ce==Type.Image?2:1))),ke.push(elt(Type.LinkMark,Mn-1,Mn)),Vn==40){let Zn=_n.skipSpace(Mn+1),jn=parseURL(Qn,Zn-_n.offset,_n.offset),Xn;jn&&(Zn=_n.skipSpace(jn.to),Zn!=jn.to&&(Xn=parseLinkTitle(Qn,Zn-_n.offset,_n.offset),Xn&&(Zn=_n.skipSpace(Xn.to)))),_n.char(Zn)==41&&(ke.push(elt(Type.LinkMark,Mn,Mn+1)),qn=Zn+1,jn&&ke.push(jn),Xn&&ke.push(Xn),ke.push(elt(Type.LinkMark,Zn,qn)))}else if(Vn==91){let Zn=parseLinkLabel(Qn,Mn-_n.offset,_n.offset,!1);Zn&&(ke.push(Zn),qn=Zn.to)}return elt(Ce,$n,qn,ke)}function parseURL(_n,ke,Ce){if(_n.charCodeAt(ke)==60){for(let Mn=ke+1;Mn<_n.length;Mn++){let Qn=_n.charCodeAt(Mn);if(Qn==62)return elt(Type.URL,ke+Ce,Mn+1+Ce);if(Qn==60||Qn==10)return!1}return null}else{let Mn=0,Qn=ke;for(let Vn=!1;Qn<_n.length;Qn++){let qn=_n.charCodeAt(Qn);if(space$2(qn))break;if(Vn)Vn=!1;else if(qn==40)Mn++;else if(qn==41){if(!Mn)break;Mn--}else qn==92&&(Vn=!0)}return Qn>ke?elt(Type.URL,ke+Ce,Qn+Ce):Qn==_n.length?null:!1}}function parseLinkTitle(_n,ke,Ce){let $n=_n.charCodeAt(ke);if($n!=39&&$n!=34&&$n!=40)return!1;let Mn=$n==40?41:$n;for(let Qn=ke+1,Vn=!1;Qn<_n.length;Qn++){let qn=_n.charCodeAt(Qn);if(Vn)Vn=!1;else{if(qn==Mn)return elt(Type.LinkTitle,ke+Ce,Qn+1+Ce);qn==92&&(Vn=!0)}}return null}function parseLinkLabel(_n,ke,Ce,$n){for(let Mn=!1,Qn=ke+1,Vn=Math.min(_n.length,Qn+999);Qn=this.end?-1:this.text.charCodeAt(ke-this.offset)}get end(){return this.offset+this.text.length}slice(ke,Ce){return this.text.slice(ke-this.offset,Ce-this.offset)}append(ke){return this.parts.push(ke),ke.to}addDelimiter(ke,Ce,$n,Mn,Qn){return this.append(new InlineDelimiter(ke,Ce,$n,(Mn?1:0)|(Qn?2:0)))}get hasOpenLink(){for(let ke=this.parts.length-1;ke>=0;ke--){let Ce=this.parts[ke];if(Ce instanceof InlineDelimiter&&(Ce.type==LinkStart||Ce.type==ImageStart))return!0}return!1}addElement(ke){return this.append(ke)}resolveMarkers(ke){for(let $n=ke;$n=ke;Zn--){let Un=this.parts[Zn];if(Un instanceof InlineDelimiter&&Un.side&1&&Un.type==Mn.type&&!(Qn&&(Mn.side&1||Un.side&2)&&(Un.to-Un.from+Vn)%3==0&&((Un.to-Un.from)%3||Vn%3))){qn=Un;break}}if(!qn)continue;let jn=Mn.type.resolve,Xn=[],zn=qn.from,Hn=Mn.to;if(Qn){let Un=Math.min(2,qn.to-qn.from,Vn);zn=qn.to-Un,Hn=Mn.from+Un,jn=Un==1?"Emphasis":"StrongEmphasis"}qn.type.mark&&Xn.push(this.elt(qn.type.mark,zn,qn.to));for(let Un=Zn+1;Un<$n;Un++)this.parts[Un]instanceof Element$2&&Xn.push(this.parts[Un]),this.parts[Un]=null;Mn.type.mark&&Xn.push(this.elt(Mn.type.mark,Mn.from,Hn));let Wn=this.elt(jn,zn,Hn,Xn);this.parts[Zn]=Qn&&qn.from!=zn?new InlineDelimiter(qn.type,qn.from,zn,qn.side):null,(this.parts[$n]=Qn&&Mn.to!=Hn?new InlineDelimiter(Mn.type,Hn,Mn.to,Mn.side):null)?this.parts.splice($n,0,Wn):this.parts[$n]=Wn}let Ce=[];for(let $n=ke;$n=0;Ce--){let $n=this.parts[Ce];if($n instanceof InlineDelimiter&&$n.type==ke)return Ce}return null}takeContent(ke){let Ce=this.resolveMarkers(ke);return this.parts.length=ke,Ce}skipSpace(ke){return skipSpace(this.text,ke-this.offset)+this.offset}elt(ke,Ce,$n,Mn){return typeof ke=="string"?elt(this.parser.getNodeType(ke),Ce,$n,Mn):new TreeElement(ke,Ce)}}function injectMarks(_n,ke){if(!ke.length)return _n;if(!_n.length)return ke;let Ce=_n.slice(),$n=0;for(let Mn of ke){for(;$n(ke?ke-1:0))return!1;if(this.fragmentEnd<0){let Qn=this.fragment.to;for(;Qn>0&&this.input.read(Qn-1,Qn)!=` `;)Qn--;this.fragmentEnd=Qn?Qn-1:0}let $n=this.cursor;$n||($n=this.cursor=this.fragment.tree.cursor(),$n.firstChild());let Mn=ke+this.fragment.offset;for(;$n.to<=Mn;)if(!$n.parent())return!1;for(;;){if($n.from>=Mn)return this.fragment.from<=Ce;if(!$n.childAfter(Mn))return!1}}matches(ke){let Ce=this.cursor.tree;return Ce&&Ce.prop(NodeProp.contextHash)==ke}takeNodes(ke){let Ce=this.cursor,$n=this.fragment.offset,Mn=this.fragmentEnd-(this.fragment.openEnd?1:0),Qn=ke.absoluteLineStart,Vn=Qn,qn=ke.block.children.length,Zn=Vn,jn=qn;for(;;){if(Ce.to-$n>Mn){if(Ce.type.isAnonymous&&Ce.firstChild())continue;break}let Xn=toRelative(Ce.from-$n,ke.ranges);if(Ce.to-$n<=ke.ranges[ke.rangeI].to)ke.addNode(Ce.tree,Xn);else{let zn=new Tree(ke.parser.nodeSet.types[Type.Paragraph],[],[],0,ke.block.hashProp);ke.reusePlaceholders.set(zn,Ce.tree),ke.addNode(zn,Xn)}if(Ce.type.is("Block")&&(NotLast.indexOf(Ce.type.id)<0?(Vn=Ce.to-$n,qn=ke.block.children.length):(Vn=Zn,qn=jn,Zn=Ce.to-$n,jn=ke.block.children.length)),!Ce.nextSibling())break}for(;ke.block.children.length>qn;)ke.block.children.pop(),ke.block.positions.pop();return Vn-Qn}}function toRelative(_n,ke){let Ce=_n;for(let $n=1;$nDefaultBlockParsers[_n]),Object.keys(DefaultBlockParsers).map(_n=>DefaultLeafBlocks[_n]),Object.keys(DefaultBlockParsers),DefaultEndLeaf,DefaultSkipMarkup,Object.keys(DefaultInline).map(_n=>DefaultInline[_n]),Object.keys(DefaultInline),[]);function leftOverSpace(_n,ke,Ce){let $n=[];for(let Mn=_n.firstChild,Qn=ke;;Mn=Mn.nextSibling){let Vn=Mn?Mn.from:Ce;if(Vn>Qn&&$n.push({from:Qn,to:Vn}),!Mn)break;Qn=Mn.to}return $n}function parseCode(_n){let{codeParser:ke,htmlParser:Ce}=_n;return{wrap:parseMixed((Mn,Qn)=>{let Vn=Mn.type.id;if(ke&&(Vn==Type.CodeBlock||Vn==Type.FencedCode)){let qn="";if(Vn==Type.FencedCode){let jn=Mn.node.getChild(Type.CodeInfo);jn&&(qn=Qn.read(jn.from,jn.to))}let Zn=ke(qn);if(Zn)return{parser:Zn,overlay:jn=>jn.type.id==Type.CodeText}}else if(Ce&&(Vn==Type.HTMLBlock||Vn==Type.HTMLTag))return{parser:Ce,overlay:leftOverSpace(Mn.node,Mn.from,Mn.to)};return null})}}const StrikethroughDelim={resolve:"Strikethrough",mark:"StrikethroughMark"},Strikethrough={defineNodes:[{name:"Strikethrough",style:{"Strikethrough/...":tags$1.strikethrough}},{name:"StrikethroughMark",style:tags$1.processingInstruction}],parseInline:[{name:"Strikethrough",parse(_n,ke,Ce){if(ke!=126||_n.char(Ce+1)!=126||_n.char(Ce+2)==126)return-1;let $n=_n.slice(Ce-1,Ce),Mn=_n.slice(Ce+2,Ce+3),Qn=/\s|^$/.test($n),Vn=/\s|^$/.test(Mn),qn=Punctuation.test($n),Zn=Punctuation.test(Mn);return _n.addDelimiter(StrikethroughDelim,Ce,Ce+2,!Vn&&(!Zn||Qn||qn),!Qn&&(!qn||Vn||Zn))},after:"Emphasis"}]};function parseRow(_n,ke,Ce=0,$n,Mn=0){let Qn=0,Vn=!0,qn=-1,Zn=-1,jn=!1,Xn=()=>{$n.push(_n.elt("TableCell",Mn+qn,Mn+Zn,_n.parser.parseInline(ke.slice(qn,Zn),Mn+qn)))};for(let zn=Ce;zn-1)&&Qn++,Vn=!1,$n&&(qn>-1&&Xn(),$n.push(_n.elt("TableDelimiter",zn+Mn,zn+Mn+1))),qn=Zn=-1):(jn||Hn!=32&&Hn!=9)&&(qn<0&&(qn=zn),Zn=zn+1),jn=!jn&&Hn==92}return qn>-1&&(Qn++,$n&&Xn()),Qn}function hasPipe(_n,ke){for(let Ce=ke;Ce<_n.length;Ce++){let $n=_n.charCodeAt(Ce);if($n==124)return!0;$n==92&&Ce++}return!1}const delimiterLine=/^\|?(\s*:?-+:?\s*\|)+(\s*:?-+:?\s*)?$/;class TableParser{constructor(){this.rows=null}nextLine(ke,Ce,$n){if(this.rows==null){this.rows=!1;let Mn;if((Ce.next==45||Ce.next==58||Ce.next==124)&&delimiterLine.test(Mn=Ce.text.slice(Ce.pos))){let Qn=[];parseRow(ke,$n.content,0,Qn,$n.start)==parseRow(ke,Mn,Ce.pos)&&(this.rows=[ke.elt("TableHeader",$n.start,$n.start+$n.content.length,Qn),ke.elt("TableDelimiter",ke.lineStart+Ce.pos,ke.lineStart+Ce.text.length)])}}else if(this.rows){let Mn=[];parseRow(ke,Ce.text,Ce.pos,Mn,ke.lineStart),this.rows.push(ke.elt("TableRow",ke.lineStart+Ce.pos,ke.lineStart+Ce.text.length,Mn))}return!1}finish(ke,Ce){return this.rows?(ke.addLeafElement(Ce,ke.elt("Table",Ce.start,Ce.start+Ce.content.length,this.rows)),!0):!1}}const Table={defineNodes:[{name:"Table",block:!0},{name:"TableHeader",style:{"TableHeader/...":tags$1.heading}},"TableRow",{name:"TableCell",style:tags$1.content},{name:"TableDelimiter",style:tags$1.processingInstruction}],parseBlock:[{name:"Table",leaf(_n,ke){return hasPipe(ke.content,0)?new TableParser:null},endLeaf(_n,ke,Ce){if(Ce.parsers.some(Mn=>Mn instanceof TableParser)||!hasPipe(ke.text,ke.basePos))return!1;let $n=_n.scanLine(_n.absoluteLineEnd+1).text;return delimiterLine.test($n)&&parseRow(_n,ke.text,ke.basePos)==parseRow(_n,$n,ke.basePos)},before:"SetextHeading"}]};class TaskParser{nextLine(){return!1}finish(ke,Ce){return ke.addLeafElement(Ce,ke.elt("Task",Ce.start,Ce.start+Ce.content.length,[ke.elt("TaskMarker",Ce.start,Ce.start+3),...ke.parser.parseInline(Ce.content.slice(3),Ce.start+3)])),!0}}const TaskList={defineNodes:[{name:"Task",block:!0,style:tags$1.list},{name:"TaskMarker",style:tags$1.atom}],parseBlock:[{name:"TaskList",leaf(_n,ke){return/^\[[ xX]\][ \t]/.test(ke.content)&&_n.parentType().name=="ListItem"?new TaskParser:null},after:"SetextHeading"}]},autolinkRE=/(www\.)|(https?:\/\/)|([\w.+-]+@)|(mailto:|xmpp:)/gy,urlRE=/[\w-]+(\.[\w-]+)+(\/[^\s<]*)?/gy,lastTwoDomainWords=/[\w-]+\.[\w-]+($|\/)/,emailRE=/[\w.+-]+@[\w-]+(\.[\w.-]+)+/gy,xmppResourceRE=/\/[a-zA-Z\d@.]+/gy;function count(_n,ke,Ce,$n){let Mn=0;for(let Qn=ke;Qn-1)return-1;let $n=ke+Ce[0].length;for(;;){let Mn=_n[$n-1],Qn;if(/[?!.,:*_~]/.test(Mn)||Mn==")"&&count(_n,ke,$n,")")>count(_n,ke,$n,"("))$n--;else if(Mn==";"&&(Qn=/&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(_n.slice(ke,$n))))$n=ke+Qn.index;else break}return $n}function autolinkEmailEnd(_n,ke){emailRE.lastIndex=ke;let Ce=emailRE.exec(_n);if(!Ce)return-1;let $n=Ce[0][Ce[0].length-1];return $n=="_"||$n=="-"?-1:ke+Ce[0].length-($n=="."?1:0)}const Autolink={parseInline:[{name:"Autolink",parse(_n,ke,Ce){let $n=Ce-_n.offset;autolinkRE.lastIndex=$n;let Mn=autolinkRE.exec(_n.text),Qn=-1;if(!Mn)return-1;if(Mn[1]||Mn[2]){if(Qn=autolinkURLEnd(_n.text,$n+Mn[0].length),Qn>-1&&_n.hasOpenLink){let Vn=/([^\[\]]|\[[^\]]*\])*/.exec(_n.text.slice($n,Qn));Qn=$n+Vn[0].length}}else Mn[3]?Qn=autolinkEmailEnd(_n.text,$n):(Qn=autolinkEmailEnd(_n.text,$n+Mn[0].length),Qn>-1&&Mn[0]=="xmpp:"&&(xmppResourceRE.lastIndex=Qn,Mn=xmppResourceRE.exec(_n.text),Mn&&(Qn=Mn.index+Mn[0].length)));return Qn<0?-1:(_n.addElement(_n.elt("URL",Ce,Qn+_n.offset)),Qn+_n.offset)}}]},GFM=[Table,TaskList,Strikethrough,Autolink];function parseSubSuper(_n,ke,Ce){return($n,Mn,Qn)=>{if(Mn!=_n||$n.char(Qn+1)==_n)return-1;let Vn=[$n.elt(Ce,Qn,Qn+1)];for(let qn=Qn+1;qn<$n.end;qn++){let Zn=$n.char(qn);if(Zn==_n)return $n.addElement($n.elt(ke,Qn,qn+1,Vn.concat($n.elt(Ce,qn,qn+1))));if(Zn==92&&Vn.push($n.elt("Escape",qn,qn+++2)),space$2(Zn))break}return-1}}const Superscript={defineNodes:[{name:"Superscript",style:tags$1.special(tags$1.content)},{name:"SuperscriptMark",style:tags$1.processingInstruction}],parseInline:[{name:"Superscript",parse:parseSubSuper(94,"Superscript","SuperscriptMark")}]},Subscript={defineNodes:[{name:"Subscript",style:tags$1.special(tags$1.content)},{name:"SubscriptMark",style:tags$1.processingInstruction}],parseInline:[{name:"Subscript",parse:parseSubSuper(126,"Subscript","SubscriptMark")}]},Emoji={defineNodes:[{name:"Emoji",style:tags$1.character}],parseInline:[{name:"Emoji",parse(_n,ke,Ce){let $n;return ke!=58||!($n=/^[a-zA-Z_0-9]+:/.exec(_n.slice(Ce+1,_n.end)))?-1:_n.addElement(_n.elt("Emoji",Ce,Ce+1+$n[0].length))}}]},scriptText=54,StartCloseScriptTag=1,styleText=55,StartCloseStyleTag=2,textareaText=56,StartCloseTextareaTag=3,EndTag=4,SelfClosingEndTag=5,StartTag=6,StartScriptTag=7,StartStyleTag=8,StartTextareaTag=9,StartSelfClosingTag=10,StartCloseTag=11,NoMatchStartCloseTag=12,MismatchedStartCloseTag=13,missingCloseTag=57,IncompleteCloseTag=14,commentContent$1=58,Element$1=20,TagName=22,Attribute=23,AttributeName=24,AttributeValue=26,UnquotedAttributeValue=27,ScriptText=28,StyleText=31,TextareaText=34,OpenTag=36,CloseTag=37,Dialect_noMatch=0,Dialect_selfClosing=1,selfClosers$1={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},implicitlyClosed={dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},closeOnOpen={dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}};function nameChar(_n){return _n==45||_n==46||_n==58||_n>=65&&_n<=90||_n==95||_n>=97&&_n<=122||_n>=161}function isSpace(_n){return _n==9||_n==10||_n==13||_n==32}let cachedName=null,cachedInput=null,cachedPos=0;function tagNameAfter(_n,ke){let Ce=_n.pos+ke;if(cachedPos==Ce&&cachedInput==_n)return cachedName;let $n=_n.peek(ke);for(;isSpace($n);)$n=_n.peek(++ke);let Mn="";for(;nameChar($n);)Mn+=String.fromCharCode($n),$n=_n.peek(++ke);return cachedInput=_n,cachedPos=Ce,cachedName=Mn?Mn.toLowerCase():$n==question$1||$n==bang?void 0:null}const lessThan=60,greaterThan=62,slash$1=47,question$1=63,bang=33,dash$1=45;function ElementContext(_n,ke){this.name=_n,this.parent=ke}const startTagTerms=[StartTag,StartSelfClosingTag,StartScriptTag,StartStyleTag,StartTextareaTag],elementContext=new ContextTracker({start:null,shift(_n,ke,Ce,$n){return startTagTerms.indexOf(ke)>-1?new ElementContext(tagNameAfter($n,1)||"",_n):_n},reduce(_n,ke){return ke==Element$1&&_n?_n.parent:_n},reuse(_n,ke,Ce,$n){let Mn=ke.type.id;return Mn==StartTag||Mn==OpenTag?new ElementContext(tagNameAfter($n,1)||"",_n):_n},strict:!1}),tagStart=new ExternalTokenizer((_n,ke)=>{if(_n.next!=lessThan){_n.next<0&&ke.context&&_n.acceptToken(missingCloseTag);return}_n.advance();let Ce=_n.next==slash$1;Ce&&_n.advance();let $n=tagNameAfter(_n,0);if($n===void 0)return;if(!$n)return _n.acceptToken(Ce?IncompleteCloseTag:StartTag);let Mn=ke.context?ke.context.name:null;if(Ce){if($n==Mn)return _n.acceptToken(StartCloseTag);if(Mn&&implicitlyClosed[Mn])return _n.acceptToken(missingCloseTag,-2);if(ke.dialectEnabled(Dialect_noMatch))return _n.acceptToken(NoMatchStartCloseTag);for(let Qn=ke.context;Qn;Qn=Qn.parent)if(Qn.name==$n)return;_n.acceptToken(MismatchedStartCloseTag)}else{if($n=="script")return _n.acceptToken(StartScriptTag);if($n=="style")return _n.acceptToken(StartStyleTag);if($n=="textarea")return _n.acceptToken(StartTextareaTag);if(selfClosers$1.hasOwnProperty($n))return _n.acceptToken(StartSelfClosingTag);Mn&&closeOnOpen[Mn]&&closeOnOpen[Mn][$n]?_n.acceptToken(missingCloseTag,-1):_n.acceptToken(StartTag)}},{contextual:!0}),commentContent=new ExternalTokenizer(_n=>{for(let ke=0,Ce=0;;Ce++){if(_n.next<0){Ce&&_n.acceptToken(commentContent$1);break}if(_n.next==dash$1)ke++;else if(_n.next==greaterThan&&ke>=2){Ce>=3&&_n.acceptToken(commentContent$1,-2);break}else ke=0;_n.advance()}});function inForeignElement(_n){for(;_n;_n=_n.parent)if(_n.name=="svg"||_n.name=="math")return!0;return!1}const endTag=new ExternalTokenizer((_n,ke)=>{if(_n.next==slash$1&&_n.peek(1)==greaterThan){let Ce=ke.dialectEnabled(Dialect_selfClosing)||inForeignElement(ke.context);_n.acceptToken(Ce?SelfClosingEndTag:EndTag,2)}else _n.next==greaterThan&&_n.acceptToken(EndTag,1)});function contentTokenizer(_n,ke,Ce){let $n=2+_n.length;return new ExternalTokenizer(Mn=>{for(let Qn=0,Vn=0,qn=0;;qn++){if(Mn.next<0){qn&&Mn.acceptToken(ke);break}if(Qn==0&&Mn.next==lessThan||Qn==1&&Mn.next==slash$1||Qn>=2&&Qn<$n&&Mn.next==_n.charCodeAt(Qn-2))Qn++,Vn++;else if((Qn==2||Qn==$n)&&isSpace(Mn.next))Vn++;else if(Qn==$n&&Mn.next==greaterThan){qn>Vn?Mn.acceptToken(ke,-Vn):Mn.acceptToken(Ce,-(Vn-2));break}else if((Mn.next==10||Mn.next==13)&&qn){Mn.acceptToken(ke,1);break}else Qn=Vn=0;Mn.advance()}})}const scriptTokens=contentTokenizer("script",scriptText,StartCloseScriptTag),styleTokens=contentTokenizer("style",styleText,StartCloseStyleTag),textareaTokens=contentTokenizer("textarea",textareaText,StartCloseTextareaTag),htmlHighlighting=styleTags({"Text RawText":tags$1.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":tags$1.angleBracket,TagName:tags$1.tagName,"MismatchedCloseTag/TagName":[tags$1.tagName,tags$1.invalid],AttributeName:tags$1.attributeName,"AttributeValue UnquotedAttributeValue":tags$1.attributeValue,Is:tags$1.definitionOperator,"EntityReference CharacterReference":tags$1.character,Comment:tags$1.blockComment,ProcessingInst:tags$1.processingInstruction,DoctypeDecl:tags$1.documentMeta}),parser$2=LRParser.deserialize({version:14,states:",xOVO!rOOO!WQ#tO'#CqO!]Q#tO'#CzO!bQ#tO'#C}O!gQ#tO'#DQO!lQ#tO'#DSO!qOaO'#CpO!|ObO'#CpO#XOdO'#CpO$eO!rO'#CpOOO`'#Cp'#CpO$lO$fO'#DTO$tQ#tO'#DVO$yQ#tO'#DWOOO`'#Dk'#DkOOO`'#DY'#DYQVO!rOOO%OQ&rO,59]O%ZQ&rO,59fO%fQ&rO,59iO%qQ&rO,59lO%|Q&rO,59nOOOa'#D^'#D^O&XOaO'#CxO&dOaO,59[OOOb'#D_'#D_O&lObO'#C{O&wObO,59[OOOd'#D`'#D`O'POdO'#DOO'[OdO,59[OOO`'#Da'#DaO'dO!rO,59[O'kQ#tO'#DROOO`,59[,59[OOOp'#Db'#DbO'pO$fO,59oOOO`,59o,59oO'xQ#|O,59qO'}Q#|O,59rOOO`-E7W-E7WO(SQ&rO'#CsOOQW'#DZ'#DZO(bQ&rO1G.wOOOa1G.w1G.wOOO`1G/Y1G/YO(mQ&rO1G/QOOOb1G/Q1G/QO(xQ&rO1G/TOOOd1G/T1G/TO)TQ&rO1G/WOOO`1G/W1G/WO)`Q&rO1G/YOOOa-E7[-E7[O)kQ#tO'#CyOOO`1G.v1G.vOOOb-E7]-E7]O)pQ#tO'#C|OOOd-E7^-E7^O)uQ#tO'#DPOOO`-E7_-E7_O)zQ#|O,59mOOOp-E7`-E7`OOO`1G/Z1G/ZOOO`1G/]1G/]OOO`1G/^1G/^O*PQ,UO,59_OOQW-E7X-E7XOOOa7+$c7+$cOOO`7+$t7+$tOOOb7+$l7+$lOOOd7+$o7+$oOOO`7+$r7+$rO*[Q#|O,59eO*aQ#|O,59hO*fQ#|O,59kOOO`1G/X1G/XO*kO7[O'#CvO*|OMhO'#CvOOQW1G.y1G.yOOO`1G/P1G/POOO`1G/S1G/SOOO`1G/V1G/VOOOO'#D['#D[O+_O7[O,59bOOQW,59b,59bOOOO'#D]'#D]O+pOMhO,59bOOOO-E7Y-E7YOOQW1G.|1G.|OOOO-E7Z-E7Z",stateData:",]~O!^OS~OUSOVPOWQOXROYTO[]O][O^^O`^Oa^Ob^Oc^Ox^O{_O!dZO~OfaO~OfbO~OfcO~OfdO~OfeO~O!WfOPlP!ZlP~O!XiOQoP!ZoP~O!YlORrP!ZrP~OUSOVPOWQOXROYTOZqO[]O][O^^O`^Oa^Ob^Oc^Ox^O!dZO~O!ZrO~P#dO![sO!euO~OfvO~OfwO~OS|OT}OhyO~OS!POT}OhyO~OS!ROT}OhyO~OS!TOT}OhyO~OS}OT}OhyO~O!WfOPlX!ZlX~OP!WO!Z!XO~O!XiOQoX!ZoX~OQ!ZO!Z!XO~O!YlORrX!ZrX~OR!]O!Z!XO~O!Z!XO~P#dOf!_O~O![sO!e!aO~OS!bO~OS!cO~Oi!dOSgXTgXhgX~OS!fOT!gOhyO~OS!hOT!gOhyO~OS!iOT!gOhyO~OS!jOT!gOhyO~OS!gOT!gOhyO~Of!kO~Of!lO~Of!mO~OS!nO~Ok!qO!`!oO!b!pO~OS!rO~OS!sO~OS!tO~Oa!uOb!uOc!uO!`!wO!a!uO~Oa!xOb!xOc!xO!b!wO!c!xO~Oa!uOb!uOc!uO!`!{O!a!uO~Oa!xOb!xOc!xO!b!{O!c!xO~OT~bac!dx{!d~",goto:"%p!`PPPPPPPPPPPPPPPPPPPP!a!gP!mPP!yP!|#P#S#Y#]#`#f#i#l#r#x!aP!a!aP$O$U$l$r$x%O%U%[%bPPPPPPPP%hX^OX`pXUOX`pezabcde{!O!Q!S!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ!ObQ!QcQ!SdQ!UeZ!e{!O!Q!S!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",nodeNames:"⚠ StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",maxTerm:67,context:elementContext,nodeProps:[["closedBy",-10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,21,30,33,36,"CloseTag"],["openedBy",4,"StartTag StartCloseTag",5,"StartTag",-4,29,32,35,37,"OpenTag"],["group",-9,14,17,18,19,20,39,40,41,42,"Entity",16,"Entity TextContent",-3,28,31,34,"TextContent Entity"],["isolate",-11,21,29,30,32,33,35,36,37,38,41,42,"ltr",-3,26,27,39,""]],propSources:[htmlHighlighting],skippedNodes:[0],repeatNodeCount:9,tokenData:"!]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zbkWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOa!R!R7tP;=`<%l7S!Z8OYkWa!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{ihSkWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbhSkWa!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VP<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXhSa!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhhSkWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TakWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOb!R!RAwP;=`<%lAY!ZBRYkWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhhSkWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbhSkWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbhSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXhSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!bx`P!a`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYlhS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_khS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_X`P!a`!cp!eQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZhSfQ`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!a`!cpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!a`!cpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!a`!cpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!a`!cp!dPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!a`!cpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!a`!cpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!a`!cpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!a`!cpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!a`!cpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!a`!cpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!a`!cpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!cpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO{PP!-nP;=`<%l!-Sq!-xS!cp{POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!a`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!a`{POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!a`!cp{POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!a`!cpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!a`!cpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!a`!cpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!a`!cpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!a`!cpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!a`!cpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!a`!cpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!cpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOxPP!7TP;=`<%l!6Vq!7]V!cpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!cpxPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!a`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!a`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!a`xPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!a`!cpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!a`!cpxPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!{let jn=qn.type.id;if(jn==ScriptText)return maybeNest(qn,Zn,Ce);if(jn==StyleText)return maybeNest(qn,Zn,$n);if(jn==TextareaText)return maybeNest(qn,Zn,Mn);if(jn==Element$1&&Qn.length){let Xn=qn.node,zn=Xn.firstChild,Hn=zn&&findTagName(zn,Zn),Wn;if(Hn){for(let Yn of Qn)if(Yn.tag==Hn&&(!Yn.attrs||Yn.attrs(Wn||(Wn=getAttrs(zn,Zn))))){let Un=Xn.lastChild,Gn=Un.type.id==CloseTag?Un.from:Xn.to;if(Gn>zn.to)return{parser:Yn.parser,overlay:[{from:zn.to,to:Gn}]}}}}if(Vn&&jn==Attribute){let Xn=qn.node,zn;if(zn=Xn.firstChild){let Hn=Vn[Zn.read(zn.from,zn.to)];if(Hn)for(let Wn of Hn){if(Wn.tagName&&Wn.tagName!=findTagName(Xn.parent,Zn))continue;let Yn=Xn.lastChild;if(Yn.type.id==AttributeValue){let Un=Yn.from+1,Gn=Yn.lastChild,Kn=Yn.to-(Gn&&Gn.isError?0:1);if(Kn>Un)return{parser:Wn.parser,overlay:[{from:Un,to:Kn}]}}else if(Yn.type.id==UnquotedAttributeValue)return{parser:Wn.parser,overlay:[{from:Yn.from,to:Yn.to}]}}}}return null})}const descendantOp=99,Unit=1,callee=100,identifier$2=101,VariableName=2,space$1=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],colon=58,parenL=40,underscore=95,bracketL$1=91,dash=45,period=46,hash=35,percent=37,ampersand=38,backslash=92,newline$1=10;function isAlpha(_n){return _n>=65&&_n<=90||_n>=97&&_n<=122||_n>=161}function isDigit(_n){return _n>=48&&_n<=57}const identifiers=new ExternalTokenizer((_n,ke)=>{for(let Ce=!1,$n=0,Mn=0;;Mn++){let{next:Qn}=_n;if(isAlpha(Qn)||Qn==dash||Qn==underscore||Ce&&isDigit(Qn))!Ce&&(Qn!=dash||Mn>0)&&(Ce=!0),$n===Mn&&Qn==dash&&$n++,_n.advance();else if(Qn==backslash&&_n.peek(1)!=newline$1)_n.advance(),_n.next>-1&&_n.advance(),Ce=!0;else{Ce&&_n.acceptToken(Qn==parenL?callee:$n==2&&ke.canShift(VariableName)?VariableName:identifier$2);break}}}),descendant=new ExternalTokenizer(_n=>{if(space$1.includes(_n.peek(-1))){let{next:ke}=_n;(isAlpha(ke)||ke==underscore||ke==hash||ke==period||ke==bracketL$1||ke==colon&&isAlpha(_n.peek(1))||ke==dash||ke==ampersand)&&_n.acceptToken(descendantOp)}}),unitToken=new ExternalTokenizer(_n=>{if(!space$1.includes(_n.peek(-1))){let{next:ke}=_n;if(ke==percent&&(_n.advance(),_n.acceptToken(Unit)),isAlpha(ke)){do _n.advance();while(isAlpha(_n.next)||isDigit(_n.next));_n.acceptToken(Unit)}}}),cssHighlighting=styleTags({"AtKeyword import charset namespace keyframes media supports":tags$1.definitionKeyword,"from to selector":tags$1.keyword,NamespaceName:tags$1.namespace,KeyframeName:tags$1.labelName,KeyframeRangeName:tags$1.operatorKeyword,TagName:tags$1.tagName,ClassName:tags$1.className,PseudoClassName:tags$1.constant(tags$1.className),IdName:tags$1.labelName,"FeatureName PropertyName":tags$1.propertyName,AttributeName:tags$1.attributeName,NumberLiteral:tags$1.number,KeywordQuery:tags$1.keyword,UnaryQueryOp:tags$1.operatorKeyword,"CallTag ValueName":tags$1.atom,VariableName:tags$1.variableName,Callee:tags$1.operatorKeyword,Unit:tags$1.unit,"UniversalSelector NestingSelector":tags$1.definitionOperator,MatchOp:tags$1.compareOperator,"ChildOp SiblingOp, LogicOp":tags$1.logicOperator,BinOp:tags$1.arithmeticOperator,Important:tags$1.modifier,Comment:tags$1.blockComment,ColorLiteral:tags$1.color,"ParenthesizedContent StringLiteral":tags$1.string,":":tags$1.punctuation,"PseudoOp #":tags$1.derefOperator,"; ,":tags$1.separator,"( )":tags$1.paren,"[ ]":tags$1.squareBracket,"{ }":tags$1.brace}),spec_callee={__proto__:null,lang:32,"nth-child":32,"nth-last-child":32,"nth-of-type":32,"nth-last-of-type":32,dir:32,"host-context":32,url:60,"url-prefix":60,domain:60,regexp:60,selector:138},spec_AtKeyword={__proto__:null,"@import":118,"@media":142,"@charset":146,"@namespace":150,"@keyframes":156,"@supports":168},spec_identifier$1={__proto__:null,not:132,only:132},parser$1=LRParser.deserialize({version:14,states:":jQYQ[OOO#_Q[OOP#fOWOOOOQP'#Cd'#CdOOQP'#Cc'#CcO#kQ[O'#CfO$_QXO'#CaO$fQ[O'#ChO$qQ[O'#DTO$vQ[O'#DWOOQP'#Em'#EmO${QdO'#DgO%jQ[O'#DtO${QdO'#DvO%{Q[O'#DxO&WQ[O'#D{O&`Q[O'#ERO&nQ[O'#ETOOQS'#El'#ElOOQS'#EW'#EWQYQ[OOO&uQXO'#CdO'jQWO'#DcO'oQWO'#EsO'zQ[O'#EsQOQWOOP(UO#tO'#C_POOO)C@[)C@[OOQP'#Cg'#CgOOQP,59Q,59QO#kQ[O,59QO(aQ[O'#E[O({QWO,58{O)TQ[O,59SO$qQ[O,59oO$vQ[O,59rO(aQ[O,59uO(aQ[O,59wO(aQ[O,59xO)`Q[O'#DbOOQS,58{,58{OOQP'#Ck'#CkOOQO'#DR'#DROOQP,59S,59SO)gQWO,59SO)lQWO,59SOOQP'#DV'#DVOOQP,59o,59oOOQO'#DX'#DXO)qQ`O,59rOOQS'#Cp'#CpO${QdO'#CqO)yQvO'#CsO+ZQtO,5:ROOQO'#Cx'#CxO)lQWO'#CwO+oQWO'#CyO+tQ[O'#DOOOQS'#Ep'#EpOOQO'#Dj'#DjO+|Q[O'#DqO,[QWO'#EtO&`Q[O'#DoO,jQWO'#DrOOQO'#Eu'#EuO)OQWO,5:`O,oQpO,5:bOOQS'#Dz'#DzO,wQWO,5:dO,|Q[O,5:dOOQO'#D}'#D}O-UQWO,5:gO-ZQWO,5:mO-cQWO,5:oOOQS-E8U-E8UO-kQdO,59}O-{Q[O'#E^O.YQWO,5;_O.YQWO,5;_POOO'#EV'#EVP.eO#tO,58yPOOO,58y,58yOOQP1G.l1G.lO/[QXO,5:vOOQO-E8Y-E8YOOQS1G.g1G.gOOQP1G.n1G.nO)gQWO1G.nO)lQWO1G.nOOQP1G/Z1G/ZO/iQ`O1G/^O0SQXO1G/aO0jQXO1G/cO1QQXO1G/dO1hQWO,59|O1mQ[O'#DSO1tQdO'#CoOOQP1G/^1G/^O${QdO1G/^O1{QpO,59]OOQS,59_,59_O${QdO,59aO2TQWO1G/mOOQS,59c,59cO2YQ!bO,59eOOQS'#DP'#DPOOQS'#EY'#EYO2eQ[O,59jOOQS,59j,59jO2mQWO'#DjO2xQWO,5:VO2}QWO,5:]O&`Q[O,5:XO&`Q[O'#E_O3VQWO,5;`O3bQWO,5:ZO(aQ[O,5:^OOQS1G/z1G/zOOQS1G/|1G/|OOQS1G0O1G0OO3sQWO1G0OO3xQdO'#EOOOQS1G0R1G0ROOQS1G0X1G0XOOQS1G0Z1G0ZO4TQtO1G/iOOQO1G/i1G/iOOQO,5:x,5:xO4kQ[O,5:xOOQO-E8[-E8[O4xQWO1G0yPOOO-E8T-E8TPOOO1G.e1G.eOOQP7+$Y7+$YOOQP7+$x7+$xO${QdO7+$xOOQS1G/h1G/hO5TQXO'#ErO5[QWO,59nO5aQtO'#EXO6XQdO'#EoO6cQWO,59ZO6hQpO7+$xOOQS1G.w1G.wOOQS1G.{1G.{OOQS7+%X7+%XOOQS1G/P1G/PO6pQWO1G/POOQS-E8W-E8WOOQS1G/U1G/UO${QdO1G/qOOQO1G/w1G/wOOQO1G/s1G/sO6uQWO,5:yOOQO-E8]-E8]O7TQXO1G/xOOQS7+%j7+%jO7[QYO'#CsOOQO'#EQ'#EQO7gQ`O'#EPOOQO'#EP'#EPO7rQWO'#E`O7zQdO,5:jOOQS,5:j,5:jO8VQtO'#E]O${QdO'#E]O9WQdO7+%TOOQO7+%T7+%TOOQO1G0d1G0dO9kQpO<OAN>OO;]QdO,5:uOOQO-E8X-E8XOOQO<T![;'S%^;'S;=`%o<%lO%^l;TUo`Oy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^l;nYo`#e[Oy%^z!Q%^!Q![;g![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^l[[o`#e[Oy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^n?VSt^Oy%^z;'S%^;'S;=`%o<%lO%^l?hWjWOy%^z!O%^!O!P;O!P!Q%^!Q![>T![;'S%^;'S;=`%o<%lO%^n@VU#bQOy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^~@nTjWOy%^z{@}{;'S%^;'S;=`%o<%lO%^~AUSo`#[~Oy%^z;'S%^;'S;=`%o<%lO%^lAg[#e[Oy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^bBbU]QOy%^z![%^![!]Bt!];'S%^;'S;=`%o<%lO%^bB{S^Qo`Oy%^z;'S%^;'S;=`%o<%lO%^nC^S!Y^Oy%^z;'S%^;'S;=`%o<%lO%^dCoS|SOy%^z;'S%^;'S;=`%o<%lO%^bDQU!OQOy%^z!`%^!`!aDd!a;'S%^;'S;=`%o<%lO%^bDkS!OQo`Oy%^z;'S%^;'S;=`%o<%lO%^bDzWOy%^z!c%^!c!}Ed!}#T%^#T#oEd#o;'S%^;'S;=`%o<%lO%^bEk[![Qo`Oy%^z}%^}!OEd!O!Q%^!Q![Ed![!c%^!c!}Ed!}#T%^#T#oEd#o;'S%^;'S;=`%o<%lO%^nFfSq^Oy%^z;'S%^;'S;=`%o<%lO%^nFwSp^Oy%^z;'S%^;'S;=`%o<%lO%^bGWUOy%^z#b%^#b#cGj#c;'S%^;'S;=`%o<%lO%^bGoUo`Oy%^z#W%^#W#XHR#X;'S%^;'S;=`%o<%lO%^bHYS!bQo`Oy%^z;'S%^;'S;=`%o<%lO%^bHiUOy%^z#f%^#f#gHR#g;'S%^;'S;=`%o<%lO%^fIQS!TUOy%^z;'S%^;'S;=`%o<%lO%^nIcS!S^Oy%^z;'S%^;'S;=`%o<%lO%^fItU!RQOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^`JZP;=`<%l$}",tokenizers:[descendant,unitToken,identifiers,1,2,3,4,new LocalTokenGroup("m~RRYZ[z{a~~g~aO#^~~dP!P!Qg~lO#_~~",28,105)],topRules:{StyleSheet:[0,4],Styles:[1,86]},specialized:[{term:100,get:_n=>spec_callee[_n]||-1},{term:58,get:_n=>spec_AtKeyword[_n]||-1},{term:101,get:_n=>spec_identifier$1[_n]||-1}],tokenPrec:1219});let _properties=null;function properties(){if(!_properties&&typeof document=="object"&&document.body){let{style:_n}=document.body,ke=[],Ce=new Set;for(let $n in _n)$n!="cssText"&&$n!="cssFloat"&&typeof _n[$n]=="string"&&(/[A-Z]/.test($n)&&($n=$n.replace(/[A-Z]/g,Mn=>"-"+Mn.toLowerCase())),Ce.has($n)||(ke.push($n),Ce.add($n)));_properties=ke.sort().map($n=>({type:"property",label:$n}))}return _properties||[]}const pseudoClasses=["active","after","any-link","autofill","backdrop","before","checked","cue","default","defined","disabled","empty","enabled","file-selector-button","first","first-child","first-letter","first-line","first-of-type","focus","focus-visible","focus-within","fullscreen","has","host","host-context","hover","in-range","indeterminate","invalid","is","lang","last-child","last-of-type","left","link","marker","modal","not","nth-child","nth-last-child","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","part","placeholder","placeholder-shown","read-only","read-write","required","right","root","scope","selection","slotted","target","target-text","valid","visited","where"].map(_n=>({type:"class",label:_n})),values=["above","absolute","activeborder","additive","activecaption","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","antialiased","appworkspace","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic-abegede-gez","ethiopic-halehame-aa-er","ethiopic-halehame-gez","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","graytext","grid","groove","hand","hard-light","help","hidden","hide","higher","highlight","highlighttext","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","justify","keep-all","landscape","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-hexadecimal","lower-latin","lower-norwegian","lowercase","ltr","luminosity","manipulation","match","matrix","matrix3d","medium","menu","menutext","message-box","middle","min-intrinsic","mix","monospace","move","multiple","multiple_mask_images","multiply","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","opacity","open-quote","optimizeLegibility","optimizeSpeed","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","text","text-bottom","text-top","textarea","textfield","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","to","top","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-latin","uppercase","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"].map(_n=>({type:"keyword",label:_n})).concat(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"].map(_n=>({type:"constant",label:_n}))),tags=["a","abbr","address","article","aside","b","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dialog","div","dl","dt","em","figcaption","figure","footer","form","header","hgroup","h1","h2","h3","h4","h5","h6","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","main","meter","nav","ol","output","p","pre","ruby","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","tr","u","ul"].map(_n=>({type:"type",label:_n})),atRules=["@charset","@color-profile","@container","@counter-style","@font-face","@font-feature-values","@font-palette-values","@import","@keyframes","@layer","@media","@namespace","@page","@position-try","@property","@scope","@starting-style","@supports","@view-transition"].map(_n=>({type:"keyword",label:_n})),identifier$1=/^(\w[\w-]*|-\w[\w-]*|)$/,variable=/^-(-[\w-]*)?$/;function isVarArg(_n,ke){var Ce;if((_n.name=="("||_n.type.isError)&&(_n=_n.parent||_n),_n.name!="ArgList")return!1;let $n=(Ce=_n.parent)===null||Ce===void 0?void 0:Ce.firstChild;return($n==null?void 0:$n.name)!="Callee"?!1:ke.sliceString($n.from,$n.to)=="var"}const VariablesByNode=new NodeWeakMap,declSelector=["Declaration"];function astTop(_n){for(let ke=_n;;){if(ke.type.isTop)return ke;if(!(ke=ke.parent))return _n}}function variableNames(_n,ke,Ce){if(ke.to-ke.from>4096){let $n=VariablesByNode.get(ke);if($n)return $n;let Mn=[],Qn=new Set,Vn=ke.cursor(IterMode.IncludeAnonymous);if(Vn.firstChild())do for(let qn of variableNames(_n,Vn.node,Ce))Qn.has(qn.label)||(Qn.add(qn.label),Mn.push(qn));while(Vn.nextSibling());return VariablesByNode.set(ke,Mn),Mn}else{let $n=[],Mn=new Set;return ke.cursor().iterate(Qn=>{var Vn;if(Ce(Qn)&&Qn.matchContext(declSelector)&&((Vn=Qn.node.nextSibling)===null||Vn===void 0?void 0:Vn.name)==":"){let qn=_n.sliceString(Qn.from,Qn.to);Mn.has(qn)||(Mn.add(qn),$n.push({label:qn,type:"variable"}))}}),$n}}const defineCSSCompletionSource=_n=>ke=>{let{state:Ce,pos:$n}=ke,Mn=syntaxTree(Ce).resolveInner($n,-1),Qn=Mn.type.isError&&Mn.from==Mn.to-1&&Ce.doc.sliceString(Mn.from,Mn.to)=="-";if(Mn.name=="PropertyName"||(Qn||Mn.name=="TagName")&&/^(Block|Styles)$/.test(Mn.resolve(Mn.to).name))return{from:Mn.from,options:properties(),validFor:identifier$1};if(Mn.name=="ValueName")return{from:Mn.from,options:values,validFor:identifier$1};if(Mn.name=="PseudoClassName")return{from:Mn.from,options:pseudoClasses,validFor:identifier$1};if(_n(Mn)||(ke.explicit||Qn)&&isVarArg(Mn,Ce.doc))return{from:_n(Mn)||Qn?Mn.from:$n,options:variableNames(Ce.doc,astTop(Mn),_n),validFor:variable};if(Mn.name=="TagName"){for(let{parent:Zn}=Mn;Zn;Zn=Zn.parent)if(Zn.name=="Block")return{from:Mn.from,options:properties(),validFor:identifier$1};return{from:Mn.from,options:tags,validFor:identifier$1}}if(Mn.name=="AtKeyword")return{from:Mn.from,options:atRules,validFor:identifier$1};if(!ke.explicit)return null;let Vn=Mn.resolve($n),qn=Vn.childBefore($n);return qn&&qn.name==":"&&Vn.name=="PseudoClassSelector"?{from:$n,options:pseudoClasses,validFor:identifier$1}:qn&&qn.name==":"&&Vn.name=="Declaration"||Vn.name=="ArgList"?{from:$n,options:values,validFor:identifier$1}:Vn.name=="Block"||Vn.name=="Styles"?{from:$n,options:properties(),validFor:identifier$1}:null},cssCompletionSource=defineCSSCompletionSource(_n=>_n.name=="VariableName"),cssLanguage=LRLanguage.define({name:"css",parser:parser$1.configure({props:[indentNodeProp.add({Declaration:continuedIndent()}),foldNodeProp.add({"Block KeyframeList":foldInside})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function css(){return new LanguageSupport(cssLanguage,cssLanguage.data.of({autocomplete:cssCompletionSource}))}const noSemi=312,noSemiType=313,incdec=1,incdecPrefix=2,questionDot=3,JSXStartTag=4,insertSemi=314,spaces=316,newline=317,LineComment=5,BlockComment=6,Dialect_jsx=0,space=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],braceR=125,semicolon=59,slash=47,star=42,plus=43,minus=45,lt=60,comma=44,question=63,dot=46,bracketL=91,trackNewline=new ContextTracker({start:!1,shift(_n,ke){return ke==LineComment||ke==BlockComment||ke==spaces?_n:ke==newline},strict:!1}),insertSemicolon=new ExternalTokenizer((_n,ke)=>{let{next:Ce}=_n;(Ce==braceR||Ce==-1||ke.context)&&_n.acceptToken(insertSemi)},{contextual:!0,fallback:!0}),noSemicolon=new ExternalTokenizer((_n,ke)=>{let{next:Ce}=_n,$n;space.indexOf(Ce)>-1||Ce==slash&&(($n=_n.peek(1))==slash||$n==star)||Ce!=braceR&&Ce!=semicolon&&Ce!=-1&&!ke.context&&_n.acceptToken(noSemi)},{contextual:!0}),noSemicolonType=new ExternalTokenizer((_n,ke)=>{_n.next==bracketL&&!ke.context&&_n.acceptToken(noSemiType)},{contextual:!0}),operatorToken=new ExternalTokenizer((_n,ke)=>{let{next:Ce}=_n;if(Ce==plus||Ce==minus){if(_n.advance(),Ce==_n.next){_n.advance();let $n=!ke.context&&ke.canShift(incdec);_n.acceptToken($n?incdec:incdecPrefix)}}else Ce==question&&_n.peek(1)==dot&&(_n.advance(),_n.advance(),(_n.next<48||_n.next>57)&&_n.acceptToken(questionDot))},{contextual:!0});function identifierChar(_n,ke){return _n>=65&&_n<=90||_n>=97&&_n<=122||_n==95||_n>=192||!ke&&_n>=48&&_n<=57}const jsx=new ExternalTokenizer((_n,ke)=>{if(_n.next!=lt||!ke.dialectEnabled(Dialect_jsx)||(_n.advance(),_n.next==slash))return;let Ce=0;for(;space.indexOf(_n.next)>-1;)_n.advance(),Ce++;if(identifierChar(_n.next,!0)){for(_n.advance(),Ce++;identifierChar(_n.next,!1);)_n.advance(),Ce++;for(;space.indexOf(_n.next)>-1;)_n.advance(),Ce++;if(_n.next==comma)return;for(let $n=0;;$n++){if($n==7){if(!identifierChar(_n.next,!0))return;break}if(_n.next!="extends".charCodeAt($n))break;_n.advance(),Ce++}}_n.acceptToken(JSXStartTag,-Ce)}),jsHighlight=styleTags({"get set async static":tags$1.modifier,"for while do if else switch try catch finally return throw break continue default case":tags$1.controlKeyword,"in of await yield void typeof delete instanceof":tags$1.operatorKeyword,"let var const using function class extends":tags$1.definitionKeyword,"import export from":tags$1.moduleKeyword,"with debugger as new":tags$1.keyword,TemplateString:tags$1.special(tags$1.string),super:tags$1.atom,BooleanLiteral:tags$1.bool,this:tags$1.self,null:tags$1.null,Star:tags$1.modifier,VariableName:tags$1.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":tags$1.function(tags$1.variableName),VariableDefinition:tags$1.definition(tags$1.variableName),Label:tags$1.labelName,PropertyName:tags$1.propertyName,PrivatePropertyName:tags$1.special(tags$1.propertyName),"CallExpression/MemberExpression/PropertyName":tags$1.function(tags$1.propertyName),"FunctionDeclaration/VariableDefinition":tags$1.function(tags$1.definition(tags$1.variableName)),"ClassDeclaration/VariableDefinition":tags$1.definition(tags$1.className),PropertyDefinition:tags$1.definition(tags$1.propertyName),PrivatePropertyDefinition:tags$1.definition(tags$1.special(tags$1.propertyName)),UpdateOp:tags$1.updateOperator,"LineComment Hashbang":tags$1.lineComment,BlockComment:tags$1.blockComment,Number:tags$1.number,String:tags$1.string,Escape:tags$1.escape,ArithOp:tags$1.arithmeticOperator,LogicOp:tags$1.logicOperator,BitOp:tags$1.bitwiseOperator,CompareOp:tags$1.compareOperator,RegExp:tags$1.regexp,Equals:tags$1.definitionOperator,Arrow:tags$1.function(tags$1.punctuation),": Spread":tags$1.punctuation,"( )":tags$1.paren,"[ ]":tags$1.squareBracket,"{ }":tags$1.brace,"InterpolationStart InterpolationEnd":tags$1.special(tags$1.brace),".":tags$1.derefOperator,", ;":tags$1.separator,"@":tags$1.meta,TypeName:tags$1.typeName,TypeDefinition:tags$1.definition(tags$1.typeName),"type enum interface implements namespace module declare":tags$1.definitionKeyword,"abstract global Privacy readonly override":tags$1.modifier,"is keyof unique infer":tags$1.operatorKeyword,JSXAttributeValue:tags$1.attributeValue,JSXText:tags$1.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":tags$1.angleBracket,"JSXIdentifier JSXNameSpacedName":tags$1.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":tags$1.attributeName,"JSXBuiltin/JSXIdentifier":tags$1.standard(tags$1.tagName)}),spec_identifier={__proto__:null,export:20,as:25,from:33,default:36,async:41,function:42,extends:54,this:58,true:66,false:66,null:78,void:82,typeof:86,super:102,new:136,delete:148,yield:157,await:161,class:166,public:229,private:229,protected:229,readonly:231,instanceof:250,satisfies:253,in:254,const:256,import:290,keyof:345,unique:349,infer:355,is:391,abstract:411,implements:413,type:415,let:418,var:420,using:423,interface:429,enum:433,namespace:439,module:441,declare:445,global:449,for:468,of:477,while:480,with:484,do:488,if:492,else:494,switch:498,case:504,try:510,catch:514,finally:518,return:522,throw:526,break:530,continue:534,debugger:538},spec_word={__proto__:null,async:123,get:125,set:127,declare:189,public:191,private:191,protected:191,static:193,abstract:195,override:197,readonly:203,accessor:205,new:395},spec_LessThan={__proto__:null,"<":187},parser=LRParser.deserialize({version:14,states:"$CdQ%TQlOOO%[QlOOO'_QpOOP(lO`OOO*zQ!0MxO'#CiO+RO#tO'#CjO+aO&jO'#CjO+oO#@ItO'#D^O.QQlO'#DdO.bQlO'#DoO%[QlO'#DwO0fQlO'#EPOOQ!0Lf'#EX'#EXO1PQ`O'#EUOOQO'#Em'#EmOOQO'#Ih'#IhO1XQ`O'#GpO1dQ`O'#ElO1iQ`O'#ElO3hQ!0MxO'#JnO6[Q!0MxO'#JoO6uQ`O'#F[O6zQ,UO'#FsOOQ!0Lf'#Fe'#FeO7VO7dO'#FeO7eQMhO'#FzO9RQ`O'#FyOOQ!0Lf'#Jo'#JoOOQ!0Lb'#Jn'#JnO9WQ`O'#GtOOQ['#K['#K[O9cQ`O'#IUO9hQ!0LrO'#IVOOQ['#J['#J[OOQ['#IZ'#IZQ`QlOOQ`QlOOO9pQ!L^O'#DsO9wQlO'#D{O:OQlO'#D}O9^Q`O'#GpO:VQMhO'#CoO:eQ`O'#EkO:pQ`O'#EvO:uQMhO'#FdO;dQ`O'#GpOOQO'#K]'#K]O;iQ`O'#K]O;wQ`O'#GxO;wQ`O'#GyO;wQ`O'#G{O9^Q`O'#HOOVQ`O'#CeO>gQ`O'#H_O>oQ`O'#HeO>oQ`O'#HgO`QlO'#HiO>oQ`O'#HkO>oQ`O'#HnO>tQ`O'#HtO>yQ!0LsO'#HzO%[QlO'#H|O?UQ!0LsO'#IOO?aQ!0LsO'#IQO9hQ!0LrO'#ISO?lQ!0MxO'#CiO@nQpO'#DiQOQ`OOO%[QlO'#D}OAUQ`O'#EQO:VQMhO'#EkOAaQ`O'#EkOAlQ!bO'#FdOOQ['#Cg'#CgOOQ!0Lb'#Dn'#DnOOQ!0Lb'#Jr'#JrO%[QlO'#JrOOQO'#Ju'#JuOOQO'#Id'#IdOBlQpO'#EdOOQ!0Lb'#Ec'#EcOOQ!0Lb'#Jy'#JyOChQ!0MSO'#EdOCrQpO'#ETOOQO'#Jt'#JtODWQpO'#JuOEeQpO'#ETOCrQpO'#EdPErO&2DjO'#CbPOOO)CDy)CDyOOOO'#I['#I[OE}O#tO,59UOOQ!0Lh,59U,59UOOOO'#I]'#I]OF]O&jO,59UOFkQ!L^O'#D`OOOO'#I_'#I_OFrO#@ItO,59xOOQ!0Lf,59x,59xOGQQlO'#I`OGeQ`O'#JpOIdQ!fO'#JpO+}QlO'#JpOIkQ`O,5:OOJRQ`O'#EmOJ`Q`O'#KPOJkQ`O'#KOOJkQ`O'#KOOJsQ`O,5;ZOJxQ`O'#J}OOQ!0Ln,5:Z,5:ZOKPQlO,5:ZOL}Q!0MxO,5:cOMnQ`O,5:kONXQ!0LrO'#J|ON`Q`O'#J{O9WQ`O'#J{ONtQ`O'#J{ON|Q`O,5;YO! RQ`O'#J{O!#WQ!fO'#JoOOQ!0Lh'#Ci'#CiO%[QlO'#EPO!#vQ!fO,5:pOOQS'#Jv'#JvOOQO-EpOOQ['#Jd'#JdOOQ[,5>q,5>qOOQ[-E[Q!0MxO,5:gO%[QlO,5:gO!@rQ!0MxO,5:iOOQO,5@w,5@wO!AcQMhO,5=[O!AqQ!0LrO'#JeO9RQ`O'#JeO!BSQ!0LrO,59ZO!B_QpO,59ZO!BgQMhO,59ZO:VQMhO,59ZO!BrQ`O,5;WO!BzQ`O'#H^O!C`Q`O'#KaO%[QlO,5;|O!9fQpO,5tQ`O'#HTO9^Q`O'#HVO!DwQ`O'#HVO:VQMhO'#HXO!D|Q`O'#HXOOQ[,5=m,5=mO!ERQ`O'#HYO!EdQ`O'#CoO!EiQ`O,59PO!EsQ`O,59PO!GxQlO,59POOQ[,59P,59PO!HYQ!0LrO,59PO%[QlO,59PO!JeQlO'#HaOOQ['#Hb'#HbOOQ['#Hc'#HcO`QlO,5=yO!J{Q`O,5=yO`QlO,5>PO`QlO,5>RO!KQQ`O,5>TO`QlO,5>VO!KVQ`O,5>YO!K[QlO,5>`OOQ[,5>f,5>fO%[QlO,5>fO9hQ!0LrO,5>hOOQ[,5>j,5>jO# fQ`O,5>jOOQ[,5>l,5>lO# fQ`O,5>lOOQ[,5>n,5>nO#!SQpO'#D[O%[QlO'#JrO#!uQpO'#JrO##PQpO'#DjO##bQpO'#DjO#%sQlO'#DjO#%zQ`O'#JqO#&SQ`O,5:TO#&XQ`O'#EqO#&gQ`O'#KQO#&oQ`O,5;[O#&tQpO'#DjO#'RQpO'#ESOOQ!0Lf,5:l,5:lO%[QlO,5:lO#'YQ`O,5:lO>tQ`O,5;VO!B_QpO,5;VO!BgQMhO,5;VO:VQMhO,5;VO#'bQ`O,5@^O#'gQ07dO,5:pOOQO-EzO+}QlO,5>zOOQO,5?Q,5?QO#*oQlO'#I`OOQO-E<^-E<^O#*|Q`O,5@[O#+UQ!fO,5@[O#+]Q`O,5@jOOQ!0Lf1G/j1G/jO%[QlO,5@kO#+eQ`O'#IfOOQO-EoQ`O1G3oO$4WQlO1G3qO$8[QlO'#HpOOQ[1G3t1G3tO$8iQ`O'#HvO>tQ`O'#HxOOQ[1G3z1G3zO$8qQlO1G3zO9hQ!0LrO1G4QOOQ[1G4S1G4SOOQ!0Lb'#G]'#G]O9hQ!0LrO1G4UO9hQ!0LrO1G4WO$tQ`O,5:UO!(vQlO,5:UO!B_QpO,5:UO$<}Q?MtO,5:UOOQO,5;],5;]O$=XQpO'#IaO$=oQ`O,5@]OOQ!0Lf1G/o1G/oO$=wQpO'#IgO$>RQ`O,5@lOOQ!0Lb1G0v1G0vO##bQpO,5:UOOQO'#Ic'#IcO$>ZQpO,5:nOOQ!0Ln,5:n,5:nO#']Q`O1G0WOOQ!0Lf1G0W1G0WO%[QlO1G0WOOQ!0Lf1G0q1G0qO>tQ`O1G0qO!B_QpO1G0qO!BgQMhO1G0qOOQ!0Lb1G5x1G5xO!BSQ!0LrO1G0ZOOQO1G0j1G0jO%[QlO1G0jO$>bQ!0LrO1G0jO$>mQ!0LrO1G0jO!B_QpO1G0ZOCrQpO1G0ZO$>{Q!0LrO1G0jOOQO1G0Z1G0ZO$?aQ!0MxO1G0jPOOO-EzO$?}Q`O1G5vO$@VQ`O1G6UO$@_Q!fO1G6VO9WQ`O,5?QO$@iQ!0MxO1G6SO%[QlO1G6SO$@yQ!0LrO1G6SO$A[Q`O1G6RO$A[Q`O1G6RO9WQ`O1G6RO$AdQ`O,5?TO9WQ`O,5?TOOQO,5?T,5?TO$AxQ`O,5?TO$)QQ`O,5?TOOQO-E[OOQ[,5>[,5>[O%[QlO'#HqO%<{Q`O'#HsOOQ[,5>b,5>bO9WQ`O,5>bOOQ[,5>d,5>dOOQ[7+)f7+)fOOQ[7+)l7+)lOOQ[7+)p7+)pOOQ[7+)r7+)rO%=QQpO1G5xO%=lQ?MtO1G0wO%=vQ`O1G0wOOQO1G/p1G/pO%>RQ?MtO1G/pO>tQ`O1G/pO!(vQlO'#DjOOQO,5>{,5>{OOQO-E<_-E<_OOQO,5?R,5?ROOQO-EtQ`O7+&]O!B_QpO7+&]OOQO7+%u7+%uO$?aQ!0MxO7+&UOOQO7+&U7+&UO%[QlO7+&UO%>]Q!0LrO7+&UO!BSQ!0LrO7+%uO!B_QpO7+%uO%>hQ!0LrO7+&UO%>vQ!0MxO7++nO%[QlO7++nO%?WQ`O7++mO%?WQ`O7++mOOQO1G4o1G4oO9WQ`O1G4oO%?`Q`O1G4oOOQS7+%z7+%zO#']Q`O<|O%[QlO,5>|OOQO-E<`-E<`O%KlQ`O1G5yOOQ!0Lf<]OOQ[,5>_,5>_O&;hQ`O1G3|O9WQ`O7+&cO!(vQlO7+&cOOQO7+%[7+%[O&;mQ?MtO1G6VO>tQ`O7+%[OOQ!0Lf<tQ`O<tQ`O7+)hO'+dQ`O<{AN>{O%[QlOAN?[OOQO<{Oh%VOk+bO![']O%f+aO~O!d+dOa(XX![(XX'v(XX!Y(XX~Oa%lO![XO'v%lO~Oh%VO!i%cO~Oh%VO!i%cO(P%eO~O!d#vO#h(uO~Ob+oO%g+pO(P+lO(RTO(UUO!Z)UP~O!Y+qO`)TX~O[+uO~O`+vO~O![%}O(P%eO(Q!lO`)TP~Oh%VO#]+{O~Oh%VOk,OO![$|O~O![,QO~O},SO![XO~O%k%tO~O!u,XO~Oe,^O~Ob,_O(P#nO(RTO(UUO!Z)SP~Oe%{O~O%g!QO(P&WO~P=RO[,dO`,cO~OPYOQYOSfOdzOeyOmkOoYOpkOqkOwkOyYO{YO!PWO!TkO!UkO!fuO!iZO!lYO!mYO!nYO!pvO!uxO!y]O%e}O(RTO(UUO(]VO(k[O(ziO~O![!eO!r!gO$V!kO(P!dO~P!E{O`,cOa%lO'v%lO~OPYOQYOSfOd!jOe!iOmkOoYOpkOqkOwkOyYO{YO!PWO!TkO!UkO![!eO!fuO!iZO!lYO!mYO!nYO!pvO!u!hO$V!kO(P!dO(RTO(UUO(]VO(k[O(ziO~Oa,iO!rwO#t!OO%i!OO%j!OO%k!OO~P!HeO!i&lO~O&Y,oO~O![,qO~O&k,sO&m,tOP&haQ&haS&haY&haa&had&hae&ham&hao&hap&haq&haw&hay&ha{&ha!P&ha!T&ha!U&ha![&ha!f&ha!i&ha!l&ha!m&ha!n&ha!p&ha!r&ha!u&ha!y&ha#t&ha$V&ha%e&ha%g&ha%i&ha%j&ha%k&ha%n&ha%p&ha%s&ha%t&ha%v&ha&S&ha&Y&ha&[&ha&^&ha&`&ha&c&ha&i&ha&o&ha&q&ha&s&ha&u&ha&w&ha's&ha(P&ha(R&ha(U&ha(]&ha(k&ha(z&ha!Z&ha&a&hab&ha&f&ha~O(P,yO~Oh!bX!Y!OX!Z!OX!d!OX!d!bX!i!bX#]!OX~O!Y!bX!Z!bX~P# kO!d-OO#],}Oh(fX!Y#eX!Z#eX!d(fX!i(fX~O!Y(fX!Z(fX~P#!^Oh%VO!d-QO!i%cO!Y!^X!Z!^X~Op!nO!P!oO(RTO(UUO(a!mO~OP;jOQ;jOSfOd=fOe!iOmkOo;jOpkOqkOwkOy;jO{;jO!PWO!TkO!UkO![!eO!f;mO!iZO!l;jO!m;jO!n;jO!p;nO!r;qO!u!hO$V!kO(RTO(UUO(]VO(k[O(z=dO~O(P{Og'XX!Y'XX~P!+oO!Y.xOg(la~OSfO![3vO$c3wO~O!Z3{O~Os3|O~P#.uOa$lq!Y$lq'v$lq's$lq!V$lq!h$lqs$lq![$lq%f$lq!d$lq~P!9}O!V4OO~P!&fO!P4PO~O}){O'u)|O(v%POk'ea(u'ea!Y'ea#]'ea~Og'ea#}'ea~P%+ZO}){O'u)|Ok'ga(u'ga(v'ga!Y'ga#]'ga~Og'ga#}'ga~P%+|O(n$YO~P#.uO!VfX!V$xX!YfX!Y$xX!d%PX#]fX~P!/nO(PU#>[#>|#?`#?f#?l#?z#@a#BQ#B`#Bg#C}#D]#Ey#FX#F_#Fe#Fk#Fu#F{#GR#G]#Go#GuPPPPPPPPPPP#G{PPPPPPP#Hp#Kw#Ma#Mh#MpPPP$%OP$%X$(Q$.k$.n$.q$/p$/s$/z$0SP$0Y$0]P$0y$0}$1u$3T$3Y$3pPP$3u$3{$4PP$4S$4W$4[$5W$5o$6W$6[$6_$6b$6h$6k$6o$6sR!|RoqOXst!Z#d%k&o&q&r&t,l,q1}2QY!vQ']-^1b5iQ%rvQ%zyQ&R|Q&g!VS'T!e-UQ'c!iS'i!r!yU*g$|*W*kQ+j%{Q+w&TQ,]&aQ-['[Q-f'dQ-n'jQ0S*mQ1l,^R < TypeParamList TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewTarget new NewExpression ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression TypeArgList CompareOp < declare Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies in const CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression InstantiationExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast ArrowFunction TypeParamList SequenceExpression InstantiationExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var using TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem",maxTerm:377,context:trackNewline,nodeProps:[["isolate",-8,5,6,14,34,36,48,50,52,""],["group",-26,9,17,19,65,204,208,212,213,215,218,221,231,233,239,241,243,245,248,254,260,262,264,266,268,270,271,"Statement",-34,13,14,29,32,33,39,48,51,52,54,59,67,69,73,77,79,81,82,107,108,117,118,135,138,140,141,142,143,144,146,147,166,167,169,"Expression",-23,28,30,34,38,40,42,171,173,175,176,178,179,180,182,183,184,186,187,188,198,200,202,203,"Type",-3,85,100,106,"ClassItem"],["openedBy",23,"<",35,"InterpolationStart",53,"[",57,"{",70,"(",159,"JSXStartCloseTag"],["closedBy",24,">",37,"InterpolationEnd",47,"]",58,"}",71,")",164,"JSXEndTag"]],propSources:[jsHighlight],skippedNodes:[0,5,6,274],repeatNodeCount:37,tokenData:"$Fq07[R!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tuEruvJSvwLkwx! Yxy!'iyz!(sz{!)}{|!,q|}!.O}!O!,q!O!P!/Y!P!Q!9j!Q!R#:O!R![#<_![!]#I_!]!^#Jk!^!_#Ku!_!`$![!`!a$$v!a!b$*T!b!c$,r!c!}Er!}#O$-|#O#P$/W#P#Q$4o#Q#R$5y#R#SEr#S#T$7W#T#o$8b#o#p$x#r#s$@U#s$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$I|Er$I|$I}$Dk$I}$JO$Dk$JO$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr(n%d_$h&j(Sp(V!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$h&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$h&j(V!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU(V!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$h&j(SpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU(SpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX(Sp(V!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z07[+rq$h&j(Sp(V!b'x0/lOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z07[.ST(T#S$h&j'y0/lO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c07[.n_$h&j(Sp(V!b'y0/lOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)3p/x`$h&j!m),Q(Sp(V!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW1V`#u(Ch$h&j(Sp(V!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW2d_#u(Ch$h&j(Sp(V!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'At3l_(R':f$h&j(V!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k(^4r_$h&j(V!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k&z5vX$h&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q&z6jT$c`$h&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c`6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y`7bO$c``7eP;=`<%l6y&z7kP;=`<%l5q(^7w]$c`$h&j(V!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!r8uZ(V!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p!r9oU$c`(V!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!r:UP;=`<%l8p(^:[P;=`<%l4k%9[:hh$h&j(Sp(V!bOY%ZYZ&cZq%Zqr`#P#o`x!^=^!^!_?q!_#O=^#O#P>`#P#o=^#o#p?q#p;'S=^;'S;=`@h<%lO=^&n>gXWS$h&jOY>`YZ&cZ!^>`!^!_?S!_#o>`#o#p?S#p;'S>`;'S;=`?k<%lO>`S?XSWSOY?SZ;'S?S;'S;=`?e<%lO?SS?hP;=`<%l?S&n?nP;=`<%l>`!f?xWWS(V!bOY?qZw?qwx?Sx#O?q#O#P?S#P;'S?q;'S;=`@b<%lO?q!f@eP;=`<%l?q(Q@kP;=`<%l=^'`@w]WS$h&j(SpOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWWS(SpOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYWS(Sp(V!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%l^!Q^$h&j!U7`OY!=yYZ&cZ!P!=y!P!Q!>|!Q!^!=y!^!_!@c!_!}!=y!}#O!CW#O#P!Dy#P#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y|#X#Z&c#Z#[!>|#[#]&c#]#^!>|#^#a&c#a#b!>|#b#g&c#g#h!>|#h#i&c#i#j!>|#j#k!>|#k#m&c#m#n!>|#n#o&c#p;'S&c;'S;=`&w<%lO&c7`!@hX!U7`OY!@cZ!P!@c!P!Q!AT!Q!}!@c!}#O!Ar#O#P!Bq#P;'S!@c;'S;=`!CQ<%lO!@c7`!AYW!U7`#W#X!AT#Z#[!AT#]#^!AT#a#b!AT#g#h!AT#i#j!AT#j#k!AT#m#n!AT7`!AuVOY!ArZ#O!Ar#O#P!B[#P#Q!@c#Q;'S!Ar;'S;=`!Bk<%lO!Ar7`!B_SOY!ArZ;'S!Ar;'S;=`!Bk<%lO!Ar7`!BnP;=`<%l!Ar7`!BtSOY!@cZ;'S!@c;'S;=`!CQ<%lO!@c7`!CTP;=`<%l!@c^!Ezl$h&j(V!b!U7`OY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#W&}#W#X!Eq#X#Z&}#Z#[!Eq#[#]&}#]#^!Eq#^#a&}#a#b!Eq#b#g&}#g#h!Eq#h#i&}#i#j!Eq#j#k!Eq#k#m&}#m#n!Eq#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}8r!GyZ(V!b!U7`OY!GrZw!Grwx!@cx!P!Gr!P!Q!Hl!Q!}!Gr!}#O!JU#O#P!Bq#P;'S!Gr;'S;=`!J|<%lO!Gr8r!Hse(V!b!U7`OY'}Zw'}x#O'}#P#W'}#W#X!Hl#X#Z'}#Z#[!Hl#[#]'}#]#^!Hl#^#a'}#a#b!Hl#b#g'}#g#h!Hl#h#i'}#i#j!Hl#j#k!Hl#k#m'}#m#n!Hl#n;'S'};'S;=`(f<%lO'}8r!JZX(V!bOY!JUZw!JUwx!Arx#O!JU#O#P!B[#P#Q!Gr#Q;'S!JU;'S;=`!Jv<%lO!JU8r!JyP;=`<%l!JU8r!KPP;=`<%l!Gr>^!KZ^$h&j(V!bOY!KSYZ&cZw!KSwx!CWx!^!KS!^!_!JU!_#O!KS#O#P!DR#P#Q!^!LYP;=`<%l!KS>^!L`P;=`<%l!_#c#d#Bq#d#l%Z#l#m#Es#m#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#>j_$h&j(Sp(V!bp'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#?rd$h&j(Sp(V!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#A]f$h&j(Sp(V!bp'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Bzc$h&j(Sp(V!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Dbe$h&j(Sp(V!bp'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#E|g$h&j(Sp(V!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Gpi$h&j(Sp(V!bp'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z*)x#Il_!d$b$h&j#})Lv(Sp(V!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)[#Jv_al$h&j(Sp(V!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z04f#LS^h#)`#O-v$?V_!Z(CdsBr$h&j(Sp(V!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z?O$@a_!n7`$h&j(Sp(V!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[$Aq|$h&j(Sp(V!b'x0/l$[#t(P,2j(a$I[OX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr07[$D|k$h&j(Sp(V!b'y0/l$[#t(P,2j(a$I[OY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr",tokenizers:[noSemicolon,noSemicolonType,operatorToken,jsx,2,3,4,5,6,7,8,9,10,11,12,13,14,insertSemicolon,new LocalTokenGroup("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOu~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!R~~!XS!Q![!e!c!i!e#T#Z!e#o#p#Z~!hR!Q![!q!c!i!q#T#Z!q~!tR!Q![!}!c!i!}#T#Z!}~#QR!Q![!P!c!i!P#T#Z!P~#^R!Q![#g!c!i#g#T#Z#g~#jS!Q![#g!c!i#g#T#Z#g#q#r!P~#yP;=`<%l!P~$RO(_~~",141,336),new LocalTokenGroup("j~RQYZXz{^~^O'|~~aP!P!Qd~iO'}~~",25,319)],topRules:{Script:[0,7],SingleExpression:[1,272],SingleClassItem:[2,273]},dialects:{jsx:0,ts:14980},dynamicPrecedences:{77:1,79:1,91:1,167:1,196:1},specialized:[{term:323,get:_n=>spec_identifier[_n]||-1},{term:339,get:_n=>spec_word[_n]||-1},{term:92,get:_n=>spec_LessThan[_n]||-1}],tokenPrec:15004}),snippets=[snippetCompletion("function ${name}(${params}) {\n ${}\n}",{label:"function",detail:"definition",type:"keyword"}),snippetCompletion("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n ${}\n}",{label:"for",detail:"loop",type:"keyword"}),snippetCompletion("for (let ${name} of ${collection}) {\n ${}\n}",{label:"for",detail:"of loop",type:"keyword"}),snippetCompletion("do {\n ${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),snippetCompletion("while (${}) {\n ${}\n}",{label:"while",detail:"loop",type:"keyword"}),snippetCompletion(`try { \${} } catch (\${error}) { \${} }`,{label:"try",detail:"/ catch block",type:"keyword"}),snippetCompletion("if (${}) {\n ${}\n}",{label:"if",detail:"block",type:"keyword"}),snippetCompletion(`if (\${}) { \${} } else { \${} }`,{label:"if",detail:"/ else block",type:"keyword"}),snippetCompletion(`class \${name} { constructor(\${params}) { \${} } }`,{label:"class",detail:"definition",type:"keyword"}),snippetCompletion('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),snippetCompletion('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],typescriptSnippets=snippets.concat([snippetCompletion("interface ${name} {\n ${}\n}",{label:"interface",detail:"definition",type:"keyword"}),snippetCompletion("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),snippetCompletion("enum ${name} {\n ${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),cache=new NodeWeakMap,ScopeNodes=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function defID(_n){return(ke,Ce)=>{let $n=ke.node.getChild("VariableDefinition");return $n&&Ce($n,_n),!0}}const functionContext=["FunctionDeclaration"],gatherCompletions={FunctionDeclaration:defID("function"),ClassDeclaration:defID("class"),ClassExpression:()=>!0,EnumDeclaration:defID("constant"),TypeAliasDeclaration:defID("type"),NamespaceDeclaration:defID("namespace"),VariableDefinition(_n,ke){_n.matchContext(functionContext)||ke(_n,"variable")},TypeDefinition(_n,ke){ke(_n,"type")},__proto__:null};function getScope(_n,ke){let Ce=cache.get(ke);if(Ce)return Ce;let $n=[],Mn=!0;function Qn(Vn,qn){let Zn=_n.sliceString(Vn.from,Vn.to);$n.push({label:Zn,type:qn})}return ke.cursor(IterMode.IncludeAnonymous).iterate(Vn=>{if(Mn)Mn=!1;else if(Vn.name){let qn=gatherCompletions[Vn.name];if(qn&&qn(Vn,Qn)||ScopeNodes.has(Vn.name))return!1}else if(Vn.to-Vn.from>8192){for(let qn of getScope(_n,Vn.node))$n.push(qn);return!1}}),cache.set(ke,$n),$n}const Identifier=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,dontComplete=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName",".","?."];function localCompletionSource(_n){let ke=syntaxTree(_n.state).resolveInner(_n.pos,-1);if(dontComplete.indexOf(ke.name)>-1)return null;let Ce=ke.name=="VariableName"||ke.to-ke.from<20&&Identifier.test(_n.state.sliceDoc(ke.from,ke.to));if(!Ce&&!_n.explicit)return null;let $n=[];for(let Mn=ke;Mn;Mn=Mn.parent)ScopeNodes.has(Mn.name)&&($n=$n.concat(getScope(_n.state.doc,Mn)));return{options:$n,from:Ce?ke.from:_n.pos,validFor:Identifier}}const javascriptLanguage=LRLanguage.define({name:"javascript",parser:parser.configure({props:[indentNodeProp.add({IfStatement:continuedIndent({except:/^\s*({|else\b)/}),TryStatement:continuedIndent({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:flatIndent,SwitchBody:_n=>{let ke=_n.textAfter,Ce=/^\s*\}/.test(ke),$n=/^\s*(case|default)\b/.test(ke);return _n.baseIndent+(Ce?0:$n?1:2)*_n.unit},Block:delimitedIndent({closing:"}"}),ArrowFunction:_n=>_n.baseIndent+_n.unit,"TemplateString BlockComment":()=>null,"Statement Property":continuedIndent({except:/^{/}),JSXElement(_n){let ke=/^\s*<\//.test(_n.textAfter);return _n.lineIndent(_n.node.from)+(ke?0:_n.unit)},JSXEscape(_n){let ke=/\s*\}/.test(_n.textAfter);return _n.lineIndent(_n.node.from)+(ke?0:_n.unit)},"JSXOpenTag JSXSelfClosingTag"(_n){return _n.column(_n.node.from)+_n.unit}}),foldNodeProp.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":foldInside,BlockComment(_n){return{from:_n.from+2,to:_n.to-2}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),jsxSublanguage={test:_n=>/^JSX/.test(_n.name),facet:defineLanguageFacet({commentTokens:{block:{open:"{/*",close:"*/}"}}})},typescriptLanguage=javascriptLanguage.configure({dialect:"ts"},"typescript"),jsxLanguage=javascriptLanguage.configure({dialect:"jsx",props:[sublanguageProp.add(_n=>_n.isTop?[jsxSublanguage]:void 0)]}),tsxLanguage=javascriptLanguage.configure({dialect:"jsx ts",props:[sublanguageProp.add(_n=>_n.isTop?[jsxSublanguage]:void 0)]},"typescript");let kwCompletion=_n=>({label:_n,type:"keyword"});const keywords="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(kwCompletion),typescriptKeywords=keywords.concat(["declare","implements","private","protected","public"].map(kwCompletion));function javascript(_n={}){let ke=_n.jsx?_n.typescript?tsxLanguage:jsxLanguage:_n.typescript?typescriptLanguage:javascriptLanguage,Ce=_n.typescript?typescriptSnippets.concat(typescriptKeywords):snippets.concat(keywords);return new LanguageSupport(ke,[javascriptLanguage.data.of({autocomplete:ifNotIn(dontComplete,completeFromList(Ce))}),javascriptLanguage.data.of({autocomplete:localCompletionSource}),_n.jsx?autoCloseTags$1:[]])}function findOpenTag(_n){for(;;){if(_n.name=="JSXOpenTag"||_n.name=="JSXSelfClosingTag"||_n.name=="JSXFragmentTag")return _n;if(_n.name=="JSXEscape"||!_n.parent)return null;_n=_n.parent}}function elementName$1(_n,ke,Ce=_n.length){for(let $n=ke==null?void 0:ke.firstChild;$n;$n=$n.nextSibling)if($n.name=="JSXIdentifier"||$n.name=="JSXBuiltin"||$n.name=="JSXNamespacedName"||$n.name=="JSXMemberExpression")return _n.sliceString($n.from,Math.min($n.to,Ce));return""}const android=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),autoCloseTags$1=EditorView.inputHandler.of((_n,ke,Ce,$n,Mn)=>{if((android?_n.composing:_n.compositionStarted)||_n.state.readOnly||ke!=Ce||$n!=">"&&$n!="/"||!javascriptLanguage.isActiveAt(_n.state,ke,-1))return!1;let Qn=Mn(),{state:Vn}=Qn,qn=Vn.changeByRange(Zn=>{var jn;let{head:Xn}=Zn,zn=syntaxTree(Vn).resolveInner(Xn-1,-1),Hn;if(zn.name=="JSXStartTag"&&(zn=zn.parent),!(Vn.doc.sliceString(Xn-1,Xn)!=$n||zn.name=="JSXAttributeValue"&&zn.to>Xn)){if($n==">"&&zn.name=="JSXFragmentTag")return{range:Zn,changes:{from:Xn,insert:""}};if($n=="/"&&zn.name=="JSXStartCloseTag"){let Wn=zn.parent,Yn=Wn.parent;if(Yn&&Wn.from==Xn-2&&((Hn=elementName$1(Vn.doc,Yn.firstChild,Xn))||((jn=Yn.firstChild)===null||jn===void 0?void 0:jn.name)=="JSXFragmentTag")){let Un=`${Hn}>`;return{range:EditorSelection.cursor(Xn+Un.length,-1),changes:{from:Xn,insert:Un}}}}else if($n==">"){let Wn=findOpenTag(zn);if(Wn&&Wn.name=="JSXOpenTag"&&!/^\/?>|^<\//.test(Vn.doc.sliceString(Xn,Xn+2))&&(Hn=elementName$1(Vn.doc,Wn,Xn)))return{range:Zn,changes:{from:Xn,insert:``}}}}return{range:Zn}});return qn.changes.empty?!1:(_n.dispatch([Qn,Vn.update(qn,{userEvent:"input.complete",scrollIntoView:!0})]),!0)}),Targets=["_blank","_self","_top","_parent"],Charsets=["ascii","utf-8","utf-16","latin1","latin1"],Methods=["get","post","put","delete"],Encs=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],Bool=["true","false"],S={},Tags={a:{attrs:{href:null,ping:null,type:null,media:null,target:Targets,hreflang:null}},abbr:S,address:S,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:S,aside:S,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:S,base:{attrs:{href:null,target:Targets}},bdi:S,bdo:S,blockquote:{attrs:{cite:null}},body:S,br:S,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:Encs,formmethod:Methods,formnovalidate:["novalidate"],formtarget:Targets,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:S,center:S,cite:S,code:S,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:["command","checkbox","radio"],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:["disabled"],checked:["checked"]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:["disabled"],multiple:["multiple"]}},datalist:{attrs:{data:null}},dd:S,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:S,div:S,dl:S,dt:S,em:S,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:S,figure:S,footer:S,form:{attrs:{action:null,name:null,"accept-charset":Charsets,autocomplete:["on","off"],enctype:Encs,method:Methods,novalidate:["novalidate"],target:Targets}},h1:S,h2:S,h3:S,h4:S,h5:S,h6:S,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:S,hgroup:S,hr:S,html:{attrs:{manifest:null}},i:S,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:["allow-top-navigation","allow-same-origin","allow-forms","allow-scripts"],seamless:["seamless"]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:["anonymous","use-credentials"]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:["audio/*","video/*","image/*"],autocomplete:["on","off"],autofocus:["autofocus"],checked:["checked"],disabled:["disabled"],formenctype:Encs,formmethod:Methods,formnovalidate:["novalidate"],formtarget:Targets,multiple:["multiple"],readonly:["readonly"],required:["required"],type:["hidden","text","search","tel","url","email","password","datetime","date","month","week","time","datetime-local","number","range","color","checkbox","radio","file","submit","image","reset","button"]}},ins:{attrs:{cite:null,datetime:null}},kbd:S,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:S,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:null,media:null,sizes:["all","16x16","16x16 32x32","16x16 32x32 64x64"]}},map:{attrs:{name:null}},mark:S,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:Charsets,name:["viewport","application-name","author","description","generator","keywords"],"http-equiv":["content-language","content-type","default-style","refresh"]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:S,noscript:S,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:["typemustmatch"]}},ol:{attrs:{reversed:["reversed"],start:null,type:["1","a","A","i","I"]},children:["li","script","template","ul","ol"]},optgroup:{attrs:{disabled:["disabled"],label:null}},option:{attrs:{disabled:["disabled"],label:null,selected:["selected"],value:null}},output:{attrs:{for:null,form:null,name:null}},p:S,param:{attrs:{name:null,value:null}},pre:S,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:S,rt:S,ruby:S,samp:S,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:Charsets}},section:S,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:S,source:{attrs:{src:null,type:null,media:null}},span:S,strong:S,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:S,summary:S,sup:S,table:S,tbody:S,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:S,textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:["autofocus"],disabled:["disabled"],readonly:["readonly"],required:["required"],wrap:["soft","hard"]}},tfoot:S,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:S,time:{attrs:{datetime:null}},title:S,tr:S,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:S,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:["anonymous","use-credentials"],preload:["auto","metadata","none"],autoplay:["autoplay"],mediagroup:["movie"],muted:["muted"],controls:["controls"]}},wbr:S},GlobalAttrs={accesskey:null,class:null,contenteditable:Bool,contextmenu:null,dir:["ltr","rtl","auto"],draggable:["true","false","auto"],dropzone:["copy","move","link","string:","file:"],hidden:["hidden"],id:null,inert:["inert"],itemid:null,itemprop:null,itemref:null,itemscope:["itemscope"],itemtype:null,lang:["ar","bn","de","en-GB","en-US","es","fr","hi","id","ja","pa","pt","ru","tr","zh"],spellcheck:Bool,autocorrect:Bool,autocapitalize:Bool,style:null,tabindex:null,title:null,translate:["yes","no"],rel:["stylesheet","alternate","author","bookmark","help","license","next","nofollow","noreferrer","prefetch","prev","search","tag"],role:"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),"aria-activedescendant":null,"aria-atomic":Bool,"aria-autocomplete":["inline","list","both","none"],"aria-busy":Bool,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":Bool,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":Bool,"aria-hidden":Bool,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":Bool,"aria-multiselectable":Bool,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":Bool,"aria-relevant":null,"aria-required":Bool,"aria-selected":["true","false","undefined"],"aria-setsize":null,"aria-sort":["ascending","descending","none","other"],"aria-valuemax":null,"aria-valuemin":null,"aria-valuenow":null,"aria-valuetext":null},eventAttributes="beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map(_n=>"on"+_n);for(let _n of eventAttributes)GlobalAttrs[_n]=null;class Schema{constructor(ke,Ce){this.tags=Object.assign(Object.assign({},Tags),ke),this.globalAttrs=Object.assign(Object.assign({},GlobalAttrs),Ce),this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}}Schema.default=new Schema;function elementName(_n,ke,Ce=_n.length){if(!ke)return"";let $n=ke.firstChild,Mn=$n&&$n.getChild("TagName");return Mn?_n.sliceString(Mn.from,Math.min(Mn.to,Ce)):""}function findParentElement(_n,ke=!1){for(;_n;_n=_n.parent)if(_n.name=="Element")if(ke)ke=!1;else return _n;return null}function allowedChildren(_n,ke,Ce){let $n=Ce.tags[elementName(_n,findParentElement(ke))];return($n==null?void 0:$n.children)||Ce.allTags}function openTags(_n,ke){let Ce=[];for(let $n=findParentElement(ke);$n&&!$n.type.isTop;$n=findParentElement($n.parent)){let Mn=elementName(_n,$n);if(Mn&&$n.lastChild.name=="CloseTag")break;Mn&&Ce.indexOf(Mn)<0&&(ke.name=="EndTag"||ke.from>=$n.firstChild.to)&&Ce.push(Mn)}return Ce}const identifier=/^[:\-\.\w\u00b7-\uffff]*$/;function completeTag(_n,ke,Ce,$n,Mn){let Qn=/\s*>/.test(_n.sliceDoc(Mn,Mn+5))?"":">",Vn=findParentElement(Ce,!0);return{from:$n,to:Mn,options:allowedChildren(_n.doc,Vn,ke).map(qn=>({label:qn,type:"type"})).concat(openTags(_n.doc,Ce).map((qn,Zn)=>({label:"/"+qn,apply:"/"+qn+Qn,type:"type",boost:99-Zn}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function completeCloseTag(_n,ke,Ce,$n){let Mn=/\s*>/.test(_n.sliceDoc($n,$n+5))?"":">";return{from:Ce,to:$n,options:openTags(_n.doc,ke).map((Qn,Vn)=>({label:Qn,apply:Qn+Mn,type:"type",boost:99-Vn})),validFor:identifier}}function completeStartTag(_n,ke,Ce,$n){let Mn=[],Qn=0;for(let Vn of allowedChildren(_n.doc,Ce,ke))Mn.push({label:"<"+Vn,type:"type"});for(let Vn of openTags(_n.doc,Ce))Mn.push({label:"",type:"type",boost:99-Qn++});return{from:$n,to:$n,options:Mn,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}function completeAttrName(_n,ke,Ce,$n,Mn){let Qn=findParentElement(Ce),Vn=Qn?ke.tags[elementName(_n.doc,Qn)]:null,qn=Vn&&Vn.attrs?Object.keys(Vn.attrs):[],Zn=Vn&&Vn.globalAttrs===!1?qn:qn.length?qn.concat(ke.globalAttrNames):ke.globalAttrNames;return{from:$n,to:Mn,options:Zn.map(jn=>({label:jn,type:"property"})),validFor:identifier}}function completeAttrValue(_n,ke,Ce,$n,Mn){var Qn;let Vn=(Qn=Ce.parent)===null||Qn===void 0?void 0:Qn.getChild("AttributeName"),qn=[],Zn;if(Vn){let jn=_n.sliceDoc(Vn.from,Vn.to),Xn=ke.globalAttrs[jn];if(!Xn){let zn=findParentElement(Ce),Hn=zn?ke.tags[elementName(_n.doc,zn)]:null;Xn=(Hn==null?void 0:Hn.attrs)&&Hn.attrs[jn]}if(Xn){let zn=_n.sliceDoc($n,Mn).toLowerCase(),Hn='"',Wn='"';/^['"]/.test(zn)?(Zn=zn[0]=='"'?/^[^"]*$/:/^[^']*$/,Hn="",Wn=_n.sliceDoc(Mn,Mn+1)==zn[0]?"":zn[0],zn=zn.slice(1),$n++):Zn=/^[^\s<>='"]*$/;for(let Yn of Xn)qn.push({label:Yn,apply:Hn+Yn+Wn,type:"constant"})}}return{from:$n,to:Mn,options:qn,validFor:Zn}}function htmlCompletionFor(_n,ke){let{state:Ce,pos:$n}=ke,Mn=syntaxTree(Ce).resolveInner($n,-1),Qn=Mn.resolve($n);for(let Vn=$n,qn;Qn==Mn&&(qn=Mn.childBefore(Vn));){let Zn=qn.lastChild;if(!Zn||!Zn.type.isError||Zn.fromhtmlCompletionFor($n,Mn)}const jsonParser=javascriptLanguage.parser.configure({top:"SingleExpression"}),defaultNesting=[{tag:"script",attrs:_n=>_n.type=="text/typescript"||_n.lang=="ts",parser:typescriptLanguage.parser},{tag:"script",attrs:_n=>_n.type=="text/babel"||_n.type=="text/jsx",parser:jsxLanguage.parser},{tag:"script",attrs:_n=>_n.type=="text/typescript-jsx",parser:tsxLanguage.parser},{tag:"script",attrs(_n){return/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(_n.type)},parser:jsonParser},{tag:"script",attrs(_n){return!_n.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(_n.type)},parser:javascriptLanguage.parser},{tag:"style",attrs(_n){return(!_n.lang||_n.lang=="css")&&(!_n.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(_n.type))},parser:cssLanguage.parser}],defaultAttrs=[{name:"style",parser:cssLanguage.parser.configure({top:"Styles"})}].concat(eventAttributes.map(_n=>({name:_n,parser:javascriptLanguage.parser}))),htmlPlain=LRLanguage.define({name:"html",parser:parser$2.configure({props:[indentNodeProp.add({Element(_n){let ke=/^(\s*)(<\/)?/.exec(_n.textAfter);return _n.node.to<=_n.pos+ke[0].length?_n.continue():_n.lineIndent(_n.node.from)+(ke[2]?0:_n.unit)},"OpenTag CloseTag SelfClosingTag"(_n){return _n.column(_n.node.from)+_n.unit},Document(_n){if(_n.pos+/\s*/.exec(_n.textAfter)[0].length<_n.node.to)return _n.continue();let ke=null,Ce;for(let $n=_n.node;;){let Mn=$n.lastChild;if(!Mn||Mn.name!="Element"||Mn.to!=$n.to)break;ke=$n=Mn}return ke&&!((Ce=ke.lastChild)&&(Ce.name=="CloseTag"||Ce.name=="SelfClosingTag"))?_n.lineIndent(ke.from)+_n.unit:null}}),foldNodeProp.add({Element(_n){let ke=_n.firstChild,Ce=_n.lastChild;return!ke||ke.name!="OpenTag"?null:{from:ke.to,to:Ce.name=="CloseTag"?Ce.from:_n.to}}}),bracketMatchingHandle.add({"OpenTag CloseTag":_n=>_n.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:""}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-._"}}),htmlLanguage=htmlPlain.configure({wrap:configureNesting(defaultNesting,defaultAttrs)});function html(_n={}){let ke="",Ce;_n.matchClosingTags===!1&&(ke="noMatch"),_n.selfClosingTags===!0&&(ke=(ke?ke+" ":"")+"selfClosing"),(_n.nestedLanguages&&_n.nestedLanguages.length||_n.nestedAttributes&&_n.nestedAttributes.length)&&(Ce=configureNesting((_n.nestedLanguages||[]).concat(defaultNesting),(_n.nestedAttributes||[]).concat(defaultAttrs)));let $n=Ce?htmlPlain.configure({wrap:Ce,dialect:ke}):ke?htmlLanguage.configure({dialect:ke}):htmlLanguage;return new LanguageSupport($n,[htmlLanguage.data.of({autocomplete:htmlCompletionSourceWith(_n)}),_n.autoCloseTags!==!1?autoCloseTags:[],javascript().support,css().support])}const selfClosers=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),autoCloseTags=EditorView.inputHandler.of((_n,ke,Ce,$n,Mn)=>{if(_n.composing||_n.state.readOnly||ke!=Ce||$n!=">"&&$n!="/"||!htmlLanguage.isActiveAt(_n.state,ke,-1))return!1;let Qn=Mn(),{state:Vn}=Qn,qn=Vn.changeByRange(Zn=>{var jn,Xn,zn;let Hn=Vn.doc.sliceString(Zn.from-1,Zn.to)==$n,{head:Wn}=Zn,Yn=syntaxTree(Vn).resolveInner(Wn,-1),Un;if(Hn&&$n==">"&&Yn.name=="EndTag"){let Gn=Yn.parent;if(((Xn=(jn=Gn.parent)===null||jn===void 0?void 0:jn.lastChild)===null||Xn===void 0?void 0:Xn.name)!="CloseTag"&&(Un=elementName(Vn.doc,Gn.parent,Wn))&&!selfClosers.has(Un)){let Kn=Wn+(Vn.doc.sliceString(Wn,Wn+1)===">"?1:0),Jn=``;return{range:Zn,changes:{from:Wn,to:Kn,insert:Jn}}}}else if(Hn&&$n=="/"&&Yn.name=="IncompleteCloseTag"){let Gn=Yn.parent;if(Yn.from==Wn-2&&((zn=Gn.lastChild)===null||zn===void 0?void 0:zn.name)!="CloseTag"&&(Un=elementName(Vn.doc,Gn,Wn))&&!selfClosers.has(Un)){let Kn=Wn+(Vn.doc.sliceString(Wn,Wn+1)===">"?1:0),Jn=`${Un}>`;return{range:EditorSelection.cursor(Wn+Jn.length,-1),changes:{from:Wn,to:Kn,insert:Jn}}}}return{range:Zn}});return qn.changes.empty?!1:(_n.dispatch([Qn,Vn.update(qn,{userEvent:"input.complete",scrollIntoView:!0})]),!0)}),data=defineLanguageFacet({commentTokens:{block:{open:""}}}),headingProp=new NodeProp,commonmark=parser$3.configure({props:[foldNodeProp.add(_n=>!_n.is("Block")||_n.is("Document")||isHeading(_n)!=null||isList(_n)?void 0:(ke,Ce)=>({from:Ce.doc.lineAt(ke.from).to,to:ke.to})),headingProp.add(isHeading),indentNodeProp.add({Document:()=>null}),languageDataProp.add({Document:data})]});function isHeading(_n){let ke=/^(?:ATX|Setext)Heading(\d)$/.exec(_n.name);return ke?+ke[1]:void 0}function isList(_n){return _n.name=="OrderedList"||_n.name=="BulletList"}function findSectionEnd(_n,ke){let Ce=_n;for(;;){let $n=Ce.nextSibling,Mn;if(!$n||(Mn=isHeading($n.type))!=null&&Mn<=ke)break;Ce=$n}return Ce.to}const headerIndent=foldService.of((_n,ke,Ce)=>{for(let $n=syntaxTree(_n).resolveInner(Ce,-1);$n&&!($n.fromCe)return{from:Ce,to:Qn}}return null});function mkLang(_n){return new Language(data,_n,[headerIndent],"markdown")}const commonmarkLanguage=mkLang(commonmark),extended=commonmark.configure([GFM,Subscript,Superscript,Emoji,{props:[foldNodeProp.add({Table:(_n,ke)=>({from:ke.doc.lineAt(_n.from).to,to:_n.to})})]}]),markdownLanguage=mkLang(extended);function getCodeParser(_n,ke){return Ce=>{if(Ce&&_n){let $n=null;if(Ce=/\S*/.exec(Ce)[0],typeof _n=="function"?$n=_n(Ce):$n=LanguageDescription.matchLanguageName(_n,Ce,!0),$n instanceof LanguageDescription)return $n.support?$n.support.language.parser:ParseContext.getSkippingParser($n.load());if($n)return $n.parser}return ke?ke.parser:null}}class Context{constructor(ke,Ce,$n,Mn,Qn,Vn,qn){this.node=ke,this.from=Ce,this.to=$n,this.spaceBefore=Mn,this.spaceAfter=Qn,this.type=Vn,this.item=qn}blank(ke,Ce=!0){let $n=this.spaceBefore+(this.node.name=="Blockquote"?">":"");if(ke!=null){for(;$n.length0;Mn--)$n+=" ";return $n+(Ce?this.spaceAfter:"")}}marker(ke,Ce){let $n=this.node.name=="OrderedList"?String(+itemNumber(this.item,ke)[2]+Ce):"";return this.spaceBefore+$n+this.type+this.spaceAfter}}function getContext(_n,ke){let Ce=[];for(let Mn=_n;Mn&&Mn.name!="Document";Mn=Mn.parent)(Mn.name=="ListItem"||Mn.name=="Blockquote"||Mn.name=="FencedCode")&&Ce.push(Mn);let $n=[];for(let Mn=Ce.length-1;Mn>=0;Mn--){let Qn=Ce[Mn],Vn,qn=ke.lineAt(Qn.from),Zn=Qn.from-qn.from;if(Qn.name=="FencedCode")$n.push(new Context(Qn,Zn,Zn,"","","",null));else if(Qn.name=="Blockquote"&&(Vn=/^ *>( ?)/.exec(qn.text.slice(Zn))))$n.push(new Context(Qn,Zn,Zn+Vn[0].length,"",Vn[1],">",null));else if(Qn.name=="ListItem"&&Qn.parent.name=="OrderedList"&&(Vn=/^( *)\d+([.)])( *)/.exec(qn.text.slice(Zn)))){let jn=Vn[3],Xn=Vn[0].length;jn.length>=4&&(jn=jn.slice(0,jn.length-4),Xn-=4),$n.push(new Context(Qn.parent,Zn,Zn+Xn,Vn[1],jn,Vn[2],Qn))}else if(Qn.name=="ListItem"&&Qn.parent.name=="BulletList"&&(Vn=/^( *)([-+*])( {1,4}\[[ xX]\])?( +)/.exec(qn.text.slice(Zn)))){let jn=Vn[4],Xn=Vn[0].length;jn.length>4&&(jn=jn.slice(0,jn.length-4),Xn-=4);let zn=Vn[2];Vn[3]&&(zn+=Vn[3].replace(/[xX]/," ")),$n.push(new Context(Qn.parent,Zn,Zn+Xn,Vn[1],jn,zn,Qn))}}return $n}function itemNumber(_n,ke){return/^(\s*)(\d+)(?=[.)])/.exec(ke.sliceString(_n.from,_n.from+10))}function renumberList(_n,ke,Ce,$n=0){for(let Mn=-1,Qn=_n;;){if(Qn.name=="ListItem"){let qn=itemNumber(Qn,ke),Zn=+qn[2];if(Mn>=0){if(Zn!=Mn+1)return;Ce.push({from:Qn.from+qn[1].length,to:Qn.from+qn[0].length,insert:String(Mn+2+$n)})}Mn=Zn}let Vn=Qn.nextSibling;if(!Vn)break;Qn=Vn}}function normalizeIndent(_n,ke){let Ce=/^[ \t]*/.exec(_n)[0].length;if(!Ce||ke.facet(indentUnit)!=" ")return _n;let $n=countColumn(_n,4,Ce),Mn="";for(let Qn=$n;Qn>0;)Qn>=4?(Mn+=" ",Qn-=4):(Mn+=" ",Qn--);return Mn+_n.slice(Ce)}const insertNewlineContinueMarkup=({state:_n,dispatch:ke})=>{let Ce=syntaxTree(_n),{doc:$n}=_n,Mn=null,Qn=_n.changeByRange(Vn=>{if(!Vn.empty||!markdownLanguage.isActiveAt(_n,Vn.from))return Mn={range:Vn};let qn=Vn.from,Zn=$n.lineAt(qn),jn=getContext(Ce.resolveInner(qn,-1),$n);for(;jn.length&&jn[jn.length-1].from>qn-Zn.from;)jn.pop();if(!jn.length)return Mn={range:Vn};let Xn=jn[jn.length-1];if(Xn.to-Xn.spaceAfter.length>qn-Zn.from)return Mn={range:Vn};let zn=qn>=Xn.to-Xn.spaceAfter.length&&!/\S/.test(Zn.text.slice(Xn.to));if(Xn.item&&zn){let Gn=Xn.node.firstChild,Kn=Xn.node.getChild("ListItem","ListItem");if(Gn.to>=qn||Kn&&Kn.to0&&!/[^\s>]/.test($n.lineAt(Zn.from-1).text)){let Jn=jn.length>1?jn[jn.length-2]:null,tr,nr="";Jn&&Jn.item?(tr=Zn.from+Jn.from,nr=Jn.marker($n,1)):tr=Zn.from+(Jn?Jn.to:0);let er=[{from:tr,to:qn,insert:nr}];return Xn.node.name=="OrderedList"&&renumberList(Xn.item,$n,er,-2),Jn&&Jn.node.name=="OrderedList"&&renumberList(Jn.item,$n,er),{range:EditorSelection.cursor(tr+nr.length),changes:er}}else{let Jn=blankLine(jn,_n,Zn);return{range:EditorSelection.cursor(qn+Jn.length+1),changes:{from:Zn.from,insert:Jn+_n.lineBreak}}}}if(Xn.node.name=="Blockquote"&&zn&&Zn.from){let Gn=$n.lineAt(Zn.from-1),Kn=/>\s*$/.exec(Gn.text);if(Kn&&Kn.index==Xn.from){let Jn=_n.changes([{from:Gn.from+Kn.index,to:Gn.to},{from:Zn.from+Xn.from,to:Zn.to}]);return{range:Vn.map(Jn),changes:Jn}}}let Hn=[];Xn.node.name=="OrderedList"&&renumberList(Xn.item,$n,Hn);let Wn=Xn.item&&Xn.item.from]*/.exec(Zn.text)[0].length>=Xn.to)for(let Gn=0,Kn=jn.length-1;Gn<=Kn;Gn++)Yn+=Gn==Kn&&!Wn?jn[Gn].marker($n,1):jn[Gn].blank(GnZn.from&&/\s/.test(Zn.text.charAt(Un-Zn.from-1));)Un--;return Yn=normalizeIndent(Yn,_n),nonTightList(Xn.node,_n.doc)&&(Yn=blankLine(jn,_n,Zn)+_n.lineBreak+Yn),Hn.push({from:Un,to:qn,insert:_n.lineBreak+Yn}),{range:EditorSelection.cursor(Un+Yn.length+1),changes:Hn}});return Mn?!1:(ke(_n.update(Qn,{scrollIntoView:!0,userEvent:"input"})),!0)};function isMark(_n){return _n.name=="QuoteMark"||_n.name=="ListMark"}function nonTightList(_n,ke){if(_n.name!="OrderedList"&&_n.name!="BulletList")return!1;let Ce=_n.firstChild,$n=_n.getChild("ListItem","ListItem");if(!$n)return!1;let Mn=ke.lineAt(Ce.to),Qn=ke.lineAt($n.from),Vn=/^[\s>]*$/.test(Mn.text);return Mn.number+(Vn?0:1){let Ce=syntaxTree(_n),$n=null,Mn=_n.changeByRange(Qn=>{let Vn=Qn.from,{doc:qn}=_n;if(Qn.empty&&markdownLanguage.isActiveAt(_n,Qn.from)){let Zn=qn.lineAt(Vn),jn=getContext(contextNodeForDelete(Ce,Vn),qn);if(jn.length){let Xn=jn[jn.length-1],zn=Xn.to-Xn.spaceAfter.length+(Xn.spaceAfter?1:0);if(Vn-Zn.from>zn&&!/\S/.test(Zn.text.slice(zn,Vn-Zn.from)))return{range:EditorSelection.cursor(Zn.from+zn),changes:{from:Zn.from+zn,to:Vn}};if(Vn-Zn.from==zn&&(!Xn.item||Zn.from<=Xn.item.from||!/\S/.test(Zn.text.slice(0,Xn.to)))){let Hn=Zn.from+Xn.from;if(Xn.item&&Xn.node.from0?Xn=`![${jn.record._file.originalName}](${jn.url})`:Xn=`[${jn.record._file.originalName}](${jn.originalUrl})`;const zn=Mn.state.selection.main.head,Hn=Mn.state.update({changes:{from:zn,insert:Xn},selection:{anchor:zn+1},scrollIntoView:!0});Hn&&Mn.dispatch(Hn)}onMount(()=>{let jn=new Compartment,Xn=new Compartment,zn=EditorState.create({doc:Qn,extensions:[basicSetup,keymap.of([indentWithTab,...lintKeymap,...completionKeymap]),jn.of(markdown()),markdown(),autocompletion(),Xn.of(EditorState.tabSize.of(4)),basicSetup,EditorView.editable.of(Vn),EditorView.updateListener.of(function(Hn){Hn.docChanged&&Ce(2,Qn=Hn.state.doc.toString())}),EditorView.lineWrapping,EditorView.contentAttributes.of({spellcheck:"true"})]});Mn=new EditorView({state:zn,parent:$n})}),onDestroy(()=>{Mn&&Mn.destroy()});function Zn(jn){binding_callbacks[jn?"unshift":"push"](()=>{$n=jn,Ce(1,$n)})}return _n.$$set=jn=>{"value"in jn&&Ce(2,Qn=jn.value),"editable"in jn&&Ce(0,Vn=jn.editable)},[Vn,$n,Qn,qn,Zn]}class CodemirrorMarkdown extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$g,create_fragment$g,safe_not_equal,{value:2,editable:0,insertMedia:3})}get insertMedia(){return this.$$.ctx[3]}}function create_if_block_1$8(_n){let ke,Ce,$n;function Mn(Vn){_n[11](Vn)}let Qn={record:_n[3],field:_n[2],validationErrors:_n[5]};return _n[1]!==void 0&&(Qn.graph=_n[1]),ke=new RichEditorFiles({props:Qn}),binding_callbacks.push(()=>bind(ke,"graph",Mn)),ke.$on("editor-insert",_n[8]),{c(){create_component(ke.$$.fragment)},m(Vn,qn){mount_component(ke,Vn,qn),$n=!0},p(Vn,qn){const Zn={};qn&8&&(Zn.record=Vn[3]),qn&4&&(Zn.field=Vn[2]),qn&32&&(Zn.validationErrors=Vn[5]),!Ce&&qn&2&&(Ce=!0,Zn.graph=Vn[1],add_flush_callback(()=>Ce=!1)),ke.$set(Zn)},i(Vn){$n||(transition_in(ke.$$.fragment,Vn),$n=!0)},o(Vn){transition_out(ke.$$.fragment,Vn),$n=!1},d(Vn){destroy_component(ke,Vn)}}}function create_if_block$b(_n){let ke,Ce;return{c(){ke=element("div"),Ce=text(_n[7]),attr(ke,"class","invalid-feedback d-block")},m($n,Mn){insert$1($n,ke,Mn),append(ke,Ce)},p($n,Mn){Mn&128&&set_data(Ce,$n[7])},d($n){$n&&detach(ke)}}}function create_fragment$f(_n){let ke,Ce,$n,Mn,Qn,Vn;function qn(zn){_n[10](zn)}let Zn={editable:!_n[2].readonly||_n[4]};_n[0]!==void 0&&(Zn.value=_n[0]),Ce=new CodemirrorMarkdown({props:Zn}),_n[9](Ce),binding_callbacks.push(()=>bind(Ce,"value",qn));let jn=_n[2].collections.length>0&&create_if_block_1$8(_n),Xn=_n[7]&&create_if_block$b(_n);return{c(){ke=element("div"),create_component(Ce.$$.fragment),Mn=space$3(),jn&&jn.c(),Qn=space$3(),Xn&&Xn.c(),attr(ke,"class","mb-3")},m(zn,Hn){insert$1(zn,ke,Hn),mount_component(Ce,ke,null),append(ke,Mn),jn&&jn.m(ke,null),append(ke,Qn),Xn&&Xn.m(ke,null),Vn=!0},p(zn,[Hn]){const Wn={};Hn&20&&(Wn.editable=!zn[2].readonly||zn[4]),!$n&&Hn&1&&($n=!0,Wn.value=zn[0],add_flush_callback(()=>$n=!1)),Ce.$set(Wn),zn[2].collections.length>0?jn?(jn.p(zn,Hn),Hn&4&&transition_in(jn,1)):(jn=create_if_block_1$8(zn),jn.c(),transition_in(jn,1),jn.m(ke,Qn)):jn&&(group_outros(),transition_out(jn,1,1,()=>{jn=null}),check_outros()),zn[7]?Xn?Xn.p(zn,Hn):(Xn=create_if_block$b(zn),Xn.c(),Xn.m(ke,null)):Xn&&(Xn.d(1),Xn=null)},i(zn){Vn||(transition_in(Ce.$$.fragment,zn),transition_in(jn),Vn=!0)},o(zn){transition_out(Ce.$$.fragment,zn),transition_out(jn),Vn=!1},d(zn){zn&&detach(ke),_n[9](null),destroy_component(Ce),jn&&jn.d(),Xn&&Xn.d()}}}function instance$f(_n,ke,Ce){let $n,{value:Mn}=ke,{field:Qn}=ke,{graph:Vn}=ke,{record:qn}=ke,{isCreateMode:Zn}=ke,{validationErrors:jn}=ke,Xn;function zn(Un){Xn.insertMedia(Un.detail)}function Hn(Un){binding_callbacks[Un?"unshift":"push"](()=>{Xn=Un,Ce(6,Xn)})}function Wn(Un){Mn=Un,Ce(0,Mn)}function Yn(Un){Vn=Un,Ce(1,Vn)}return _n.$$set=Un=>{"value"in Un&&Ce(0,Mn=Un.value),"field"in Un&&Ce(2,Qn=Un.field),"graph"in Un&&Ce(1,Vn=Un.graph),"record"in Un&&Ce(3,qn=Un.record),"isCreateMode"in Un&&Ce(4,Zn=Un.isCreateMode),"validationErrors"in Un&&Ce(5,jn=Un.validationErrors)},_n.$$.update=()=>{_n.$$.dirty&36&&Ce(7,$n=getErrorMessage(jn,Qn.name))},[Mn,Vn,Qn,qn,Zn,jn,Xn,$n,zn,Hn,Wn,Yn]}class Markdown extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$f,create_fragment$f,safe_not_equal,{value:0,field:2,graph:1,record:3,isCreateMode:4,validationErrors:5})}}function create_if_block$a(_n){let ke,Ce=_n[0].help+"",$n;return{c(){ke=element("small"),$n=text(Ce),attr(ke,"class","help-text light-text")},m(Mn,Qn){insert$1(Mn,ke,Qn),append(ke,$n)},p(Mn,Qn){Qn&1&&Ce!==(Ce=Mn[0].help+"")&&set_data($n,Ce)},d(Mn){Mn&&detach(ke)}}}function create_fragment$e(_n){let ke,Ce,$n,Mn,Qn=_n[0].label+"",Vn,qn,Zn,jn,Xn,zn=_n[0].name+"",Hn,Wn=_n[0].help&&create_if_block$a(_n);return{c(){ke=element("div"),Ce=element("div"),$n=element("div"),Mn=element("label"),Vn=text(Qn),qn=space$3(),Wn&&Wn.c(),Zn=space$3(),jn=element("span"),Xn=element("code"),Hn=text(zn),attr(Mn,"for",_n[1]),attr($n,"class","label-and-help"),attr(Xn,"class","field-id"),attr(jn,"tabindex","-1"),attr(jn,"class","text-decoration-none"),attr(Ce,"class","labels"),attr(ke,"class","field-header")},m(Yn,Un){insert$1(Yn,ke,Un),append(ke,Ce),append(Ce,$n),append($n,Mn),append(Mn,Vn),append($n,qn),Wn&&Wn.m($n,null),append(Ce,Zn),append(Ce,jn),append(jn,Xn),append(Xn,Hn)},p(Yn,[Un]){Un&1&&Qn!==(Qn=Yn[0].label+"")&&set_data(Vn,Qn),Un&2&&attr(Mn,"for",Yn[1]),Yn[0].help?Wn?Wn.p(Yn,Un):(Wn=create_if_block$a(Yn),Wn.c(),Wn.m($n,null)):Wn&&(Wn.d(1),Wn=null),Un&1&&zn!==(zn=Yn[0].name+"")&&set_data(Hn,zn)},i:noop,o:noop,d(Yn){Yn&&detach(ke),Wn&&Wn.d()}}}function instance$e(_n,ke,Ce){let{field:$n}=ke,{id:Mn}=ke;return _n.$$set=Qn=>{"field"in Qn&&Ce(0,$n=Qn.field),"id"in Qn&&Ce(1,Mn=Qn.id)},[$n,Mn]}class FieldHeader extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$e,create_fragment$e,safe_not_equal,{field:0,id:1})}}function get_each_context$7(_n,ke,Ce){const $n=_n.slice();return $n[3]=ke[Ce],$n}function get_each_context_1$2(_n,ke,Ce){const $n=_n.slice();return $n[24]=ke[Ce],$n}function create_if_block_3$4(_n){let ke,Ce;return{c(){ke=element("div"),Ce=text(_n[8]),attr(ke,"class","invalid-feedback d-block mb-3")},m($n,Mn){insert$1($n,ke,Mn),append(ke,Ce)},p($n,Mn){Mn&256&&set_data(Ce,$n[8])},d($n){$n&&detach(ke)}}}function create_if_block_2$5(_n){let ke=[],Ce=new Map,$n,Mn=ensure_array_like(_n[6]);const Qn=qn=>qn[24].id;for(let qn=0;qnqn[3].id;for(let qn=0;qn0&&create_if_block$9(_n);return{c(){ke=element("div"),Wn&&Wn.c(),Ce=space$3(),$n=element("input"),Qn=space$3(),Vn=element("div"),Yn&&Yn.c(),qn=space$3(),Un&&Un.c(),Zn=space$3(),Gn&&Gn.c(),jn=empty$1(),attr($n,"type","search"),attr($n,"id",_n[2]),attr($n,"placeholder",Mn="Search for "+_n[1].label),attr($n,"autocomplete","off"),toggle_class($n,"is-invalid",_n[8]),attr(Vn,"class","reference-tags-results"),attr(ke,"class","reference-tags")},m(Kn,Jn){insert$1(Kn,ke,Jn),Wn&&Wn.m(ke,null),append(ke,Ce),append(ke,$n),_n[15]($n),set_input_value($n,_n[5]),append(ke,Qn),append(ke,Vn),Yn&&Yn.m(Vn,null),append(Vn,qn),Un&&Un.m(Vn,null),insert$1(Kn,Zn,Jn),Gn&&Gn.m(Kn,Jn),insert$1(Kn,jn,Jn),Xn=!0,zn||(Hn=[listen($n,"keyup",_n[13]),listen($n,"input",_n[16])],zn=!0)},p(Kn,[Jn]){Kn[8]?Wn?Wn.p(Kn,Jn):(Wn=create_if_block_3$4(Kn),Wn.c(),Wn.m(ke,Ce)):Wn&&(Wn.d(1),Wn=null),(!Xn||Jn&4)&&attr($n,"id",Kn[2]),(!Xn||Jn&2&&Mn!==(Mn="Search for "+Kn[1].label))&&attr($n,"placeholder",Mn),Jn&32&&$n.value!==Kn[5]&&set_input_value($n,Kn[5]),(!Xn||Jn&256)&&toggle_class($n,"is-invalid",Kn[8]),Kn[6]?Yn?Yn.p(Kn,Jn):(Yn=create_if_block_2$5(Kn),Yn.c(),Yn.m(Vn,qn)):Yn&&(Yn.d(1),Yn=null),Kn[5]?Un?Un.p(Kn,Jn):(Un=create_if_block_1$7(Kn),Un.c(),Un.m(Vn,null)):Un&&(Un.d(1),Un=null),Kn[7].length>0?Gn?(Gn.p(Kn,Jn),Jn&128&&transition_in(Gn,1)):(Gn=create_if_block$9(Kn),Gn.c(),transition_in(Gn,1),Gn.m(jn.parentNode,jn)):Gn&&(group_outros(),transition_out(Gn,1,1,()=>{Gn=null}),check_outros())},i(Kn){Xn||(transition_in(Gn),Xn=!0)},o(Kn){transition_out(Gn),Xn=!1},d(Kn){Kn&&(detach(ke),detach(Zn),detach(jn)),Wn&&Wn.d(),_n[15](null),Yn&&Yn.d(),Un&&Un.d(),Gn&&Gn.d(Kn),zn=!1,run_all(Hn)}}}function instance$d(_n,ke,Ce){let $n,Mn,Qn;const Vn=getContext$1("channel");let{field:qn}=ke,{id:Zn}=ke,{record:jn}=ke,{graph:Xn}=ke,zn,{validationErrors:Hn}=ke,Wn="";function Yn(sr,cr){sr.preventDefault(),Ce(0,Xn.edges=Xn.edges.filter(ur=>!(ur.target===cr&&ur.field===qn.name)),Xn)}function Un(sr,cr){sr.preventDefault(),axios$1.post(Vn.lucentUrl+"/records",{isCreateMode:!0,record:{schema:qn.collections[0],status:"published",data:{[qn.searchField]:cr}}}).then(ur=>{Ce(6,Qn=[]),Gn(sr,ur.data.records[0])}).catch(ur=>{Ce(6,Qn=[])})}function Gn(sr,cr){sr.preventDefault(),Ce(0,Xn=insertEdges(Xn,jn,[cr],qn.name,sr.detail.action)),Ce(5,Wn=""),zn.focus(),zn.blur()}const Kn=debounce$1(sr=>{axios$1.get(Vn.lucentUrl+"/records/suggestions",{params:{schema:qn.collections[0],field:qn.searchField,value:Wn,ui:"text"}}).then(cr=>{Ce(6,Qn=cr.data)}).catch(cr=>{Ce(6,Qn=[])})},500);function Jn(sr){binding_callbacks[sr?"unshift":"push"](()=>{zn=sr,Ce(4,zn)})}function tr(){Wn=this.value,Ce(5,Wn)}const nr=(sr,cr)=>Gn(cr,sr),er=(sr,cr)=>Gn(cr,sr),rr=sr=>Un(sr,Wn),or=sr=>Un(sr,Wn),ir=(sr,cr)=>Yn(cr,sr.id);return _n.$$set=sr=>{"field"in sr&&Ce(1,qn=sr.field),"id"in sr&&Ce(2,Zn=sr.id),"record"in sr&&Ce(3,jn=sr.record),"graph"in sr&&Ce(0,Xn=sr.graph),"validationErrors"in sr&&Ce(14,Hn=sr.validationErrors)},_n.$$.update=()=>{_n.$$.dirty&16386&&Ce(8,$n=getErrorMessage(Hn,qn.name)),_n.$$.dirty&11&&Ce(7,Mn=Xn.edges.filter(sr=>sr.field===qn.name).map(sr=>Xn.records.find(cr=>cr.id===sr.target&&jn.id===sr.source)).filter(sr=>!!(sr!=null&&sr.id))??[])},Ce(6,Qn=[]),[Xn,qn,Zn,jn,zn,Wn,Qn,Mn,$n,Vn,Yn,Un,Gn,Kn,Hn,Jn,tr,nr,er,rr,or,ir]}class ReferenceTags extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$d,create_fragment$d,safe_not_equal,{field:1,id:2,record:3,graph:0,validationErrors:14})}}function create_else_block$5(_n){let ke,Ce,$n,Mn;function Qn(Zn){_n[19](Zn)}var Vn=_n[7];function qn(Zn,jn){let Xn={schema:Zn[3],field:Zn[2],validationErrors:Zn[5],isCreateMode:Zn[6],id:Zn[8]};return Zn[0][Zn[2].name]!==void 0&&(Xn.value=Zn[0][Zn[2].name]),{props:Xn}}return Vn&&(ke=construct_svelte_component(Vn,qn(_n)),binding_callbacks.push(()=>bind(ke,"value",Qn))),{c(){ke&&create_component(ke.$$.fragment),$n=empty$1()},m(Zn,jn){ke&&mount_component(ke,Zn,jn),insert$1(Zn,$n,jn),Mn=!0},p(Zn,jn){if(Vn!==(Vn=Zn[7])){if(ke){group_outros();const Xn=ke;transition_out(Xn.$$.fragment,1,0,()=>{destroy_component(Xn,1)}),check_outros()}Vn?(ke=construct_svelte_component(Vn,qn(Zn)),binding_callbacks.push(()=>bind(ke,"value",Qn)),create_component(ke.$$.fragment),transition_in(ke.$$.fragment,1),mount_component(ke,$n.parentNode,$n)):ke=null}else if(Vn){const Xn={};jn&8&&(Xn.schema=Zn[3]),jn&4&&(Xn.field=Zn[2]),jn&32&&(Xn.validationErrors=Zn[5]),jn&64&&(Xn.isCreateMode=Zn[6]),!Ce&&jn&5&&(Ce=!0,Xn.value=Zn[0][Zn[2].name],add_flush_callback(()=>Ce=!1)),ke.$set(Xn)}},i(Zn){Mn||(ke&&transition_in(ke.$$.fragment,Zn),Mn=!0)},o(Zn){ke&&transition_out(ke.$$.fragment,Zn),Mn=!1},d(Zn){Zn&&detach($n),ke&&destroy_component(ke,Zn)}}}function create_if_block_7(_n){let ke,Ce,$n,Mn;function Qn(Zn){_n[17](Zn)}function Vn(Zn){_n[18](Zn)}let qn={schema:_n[3],field:_n[2],validationErrors:_n[5],isCreateMode:_n[6],record:_n[4]};return _n[0][_n[2].name]!==void 0&&(qn.value=_n[0][_n[2].name]),_n[1]!==void 0&&(qn.graph=_n[1]),ke=new Markdown({props:qn}),binding_callbacks.push(()=>bind(ke,"value",Qn)),binding_callbacks.push(()=>bind(ke,"graph",Vn)),{c(){create_component(ke.$$.fragment)},m(Zn,jn){mount_component(ke,Zn,jn),Mn=!0},p(Zn,jn){const Xn={};jn&8&&(Xn.schema=Zn[3]),jn&4&&(Xn.field=Zn[2]),jn&32&&(Xn.validationErrors=Zn[5]),jn&64&&(Xn.isCreateMode=Zn[6]),jn&16&&(Xn.record=Zn[4]),!Ce&&jn&5&&(Ce=!0,Xn.value=Zn[0][Zn[2].name],add_flush_callback(()=>Ce=!1)),!$n&&jn&2&&($n=!0,Xn.graph=Zn[1],add_flush_callback(()=>$n=!1)),ke.$set(Xn)},i(Zn){Mn||(transition_in(ke.$$.fragment,Zn),Mn=!0)},o(Zn){transition_out(ke.$$.fragment,Zn),Mn=!1},d(Zn){destroy_component(ke,Zn)}}}function create_if_block_6(_n){let ke,Ce,$n,Mn;function Qn(Zn){_n[15](Zn)}function Vn(Zn){_n[16](Zn)}let qn={schema:_n[3],field:_n[2],validationErrors:_n[5],isCreateMode:_n[6],record:_n[4]};return _n[0][_n[2].name]!==void 0&&(qn.value=_n[0][_n[2].name]),_n[1]!==void 0&&(qn.graph=_n[1]),ke=new RichEditor({props:qn}),binding_callbacks.push(()=>bind(ke,"value",Qn)),binding_callbacks.push(()=>bind(ke,"graph",Vn)),{c(){create_component(ke.$$.fragment)},m(Zn,jn){mount_component(ke,Zn,jn),Mn=!0},p(Zn,jn){const Xn={};jn&8&&(Xn.schema=Zn[3]),jn&4&&(Xn.field=Zn[2]),jn&32&&(Xn.validationErrors=Zn[5]),jn&64&&(Xn.isCreateMode=Zn[6]),jn&16&&(Xn.record=Zn[4]),!Ce&&jn&5&&(Ce=!0,Xn.value=Zn[0][Zn[2].name],add_flush_callback(()=>Ce=!1)),!$n&&jn&2&&($n=!0,Xn.graph=Zn[1],add_flush_callback(()=>$n=!1)),ke.$set(Xn)},i(Zn){Mn||(transition_in(ke.$$.fragment,Zn),Mn=!0)},o(Zn){transition_out(ke.$$.fragment,Zn),Mn=!1},d(Zn){destroy_component(ke,Zn)}}}function create_if_block_5$1(_n){let ke,Ce,$n;function Mn(Vn){_n[14](Vn)}let Qn={field:_n[2],validationErrors:_n[5],isCreateMode:_n[6],id:_n[8]};return _n[0][_n[2].name]!==void 0&&(Qn.value=_n[0][_n[2].name]),ke=new Textarea({props:Qn}),binding_callbacks.push(()=>bind(ke,"value",Mn)),{c(){create_component(ke.$$.fragment)},m(Vn,qn){mount_component(ke,Vn,qn),$n=!0},p(Vn,qn){const Zn={};qn&4&&(Zn.field=Vn[2]),qn&32&&(Zn.validationErrors=Vn[5]),qn&64&&(Zn.isCreateMode=Vn[6]),!Ce&&qn&5&&(Ce=!0,Zn.value=Vn[0][Vn[2].name],add_flush_callback(()=>Ce=!1)),ke.$set(Zn)},i(Vn){$n||(transition_in(ke.$$.fragment,Vn),$n=!0)},o(Vn){transition_out(ke.$$.fragment,Vn),$n=!1},d(Vn){destroy_component(ke,Vn)}}}function create_if_block_4$2(_n){let ke,Ce,$n;function Mn(Vn){_n[13](Vn)}let Qn={field:_n[2],id:_n[8],validationErrors:_n[5],isCreateMode:_n[6]};return _n[0][_n[2].name]!==void 0&&(Qn.value=_n[0][_n[2].name]),ke=new Slug({props:Qn}),binding_callbacks.push(()=>bind(ke,"value",Mn)),{c(){create_component(ke.$$.fragment)},m(Vn,qn){mount_component(ke,Vn,qn),$n=!0},p(Vn,qn){const Zn={};qn&4&&(Zn.field=Vn[2]),qn&32&&(Zn.validationErrors=Vn[5]),qn&64&&(Zn.isCreateMode=Vn[6]),!Ce&&qn&5&&(Ce=!0,Zn.value=Vn[0][Vn[2].name],add_flush_callback(()=>Ce=!1)),ke.$set(Zn)},i(Vn){$n||(transition_in(ke.$$.fragment,Vn),$n=!0)},o(Vn){transition_out(ke.$$.fragment,Vn),$n=!1},d(Vn){destroy_component(ke,Vn)}}}function create_if_block_3$3(_n){let ke,Ce,$n;function Mn(Vn){_n[12](Vn)}let Qn={field:_n[2],id:_n[8],validationErrors:_n[5],isCreateMode:_n[6]};return _n[0][_n[2].name]!==void 0&&(Qn.value=_n[0][_n[2].name]),ke=new Text$2({props:Qn}),binding_callbacks.push(()=>bind(ke,"value",Mn)),{c(){create_component(ke.$$.fragment)},m(Vn,qn){mount_component(ke,Vn,qn),$n=!0},p(Vn,qn){const Zn={};qn&4&&(Zn.field=Vn[2]),qn&32&&(Zn.validationErrors=Vn[5]),qn&64&&(Zn.isCreateMode=Vn[6]),!Ce&&qn&5&&(Ce=!0,Zn.value=Vn[0][Vn[2].name],add_flush_callback(()=>Ce=!1)),ke.$set(Zn)},i(Vn){$n||(transition_in(ke.$$.fragment,Vn),$n=!0)},o(Vn){transition_out(ke.$$.fragment,Vn),$n=!1},d(Vn){destroy_component(ke,Vn)}}}function create_if_block_2$4(_n){let ke,Ce,$n;function Mn(Vn){_n[11](Vn)}let Qn={record:_n[4],field:_n[2],validationErrors:_n[5]};return _n[1]!==void 0&&(Qn.graph=_n[1]),ke=new File$1({props:Qn}),binding_callbacks.push(()=>bind(ke,"graph",Mn)),{c(){create_component(ke.$$.fragment)},m(Vn,qn){mount_component(ke,Vn,qn),$n=!0},p(Vn,qn){const Zn={};qn&16&&(Zn.record=Vn[4]),qn&4&&(Zn.field=Vn[2]),qn&32&&(Zn.validationErrors=Vn[5]),!Ce&&qn&2&&(Ce=!0,Zn.graph=Vn[1],add_flush_callback(()=>Ce=!1)),ke.$set(Zn)},i(Vn){$n||(transition_in(ke.$$.fragment,Vn),$n=!0)},o(Vn){transition_out(ke.$$.fragment,Vn),$n=!1},d(Vn){destroy_component(ke,Vn)}}}function create_if_block_1$6(_n){let ke,Ce,$n;function Mn(Vn){_n[10](Vn)}let Qn={id:_n[8],record:_n[4],field:_n[2],validationErrors:_n[5]};return _n[1]!==void 0&&(Qn.graph=_n[1]),ke=new Reference({props:Qn}),binding_callbacks.push(()=>bind(ke,"graph",Mn)),{c(){create_component(ke.$$.fragment)},m(Vn,qn){mount_component(ke,Vn,qn),$n=!0},p(Vn,qn){const Zn={};qn&16&&(Zn.record=Vn[4]),qn&4&&(Zn.field=Vn[2]),qn&32&&(Zn.validationErrors=Vn[5]),!Ce&&qn&2&&(Ce=!0,Zn.graph=Vn[1],add_flush_callback(()=>Ce=!1)),ke.$set(Zn)},i(Vn){$n||(transition_in(ke.$$.fragment,Vn),$n=!0)},o(Vn){transition_out(ke.$$.fragment,Vn),$n=!1},d(Vn){destroy_component(ke,Vn)}}}function create_if_block$8(_n){let ke,Ce,$n;function Mn(Vn){_n[9](Vn)}let Qn={id:_n[8],record:_n[4],field:_n[2],validationErrors:_n[5]};return _n[1]!==void 0&&(Qn.graph=_n[1]),ke=new ReferenceTags({props:Qn}),binding_callbacks.push(()=>bind(ke,"graph",Mn)),{c(){create_component(ke.$$.fragment)},m(Vn,qn){mount_component(ke,Vn,qn),$n=!0},p(Vn,qn){const Zn={};qn&16&&(Zn.record=Vn[4]),qn&4&&(Zn.field=Vn[2]),qn&32&&(Zn.validationErrors=Vn[5]),!Ce&&qn&2&&(Ce=!0,Zn.graph=Vn[1],add_flush_callback(()=>Ce=!1)),ke.$set(Zn)},i(Vn){$n||(transition_in(ke.$$.fragment,Vn),$n=!0)},o(Vn){transition_out(ke.$$.fragment,Vn),$n=!1},d(Vn){destroy_component(ke,Vn)}}}function create_fragment$c(_n){let ke,Ce,$n,Mn,Qn,Vn;Ce=new FieldHeader({props:{field:_n[2],id:_n[8]}});const qn=[create_if_block$8,create_if_block_1$6,create_if_block_2$4,create_if_block_3$3,create_if_block_4$2,create_if_block_5$1,create_if_block_6,create_if_block_7,create_else_block$5],Zn=[];function jn(Xn,zn){return Xn[2].info.name==="reference"&&Xn[2].layout==="tags"?0:Xn[2].info.name==="reference"?1:Xn[2].info.name==="file"?2:Xn[2].info.name==="text"?3:Xn[2].info.name==="slug"?4:Xn[2].info.name==="textarea"?5:Xn[2].info.name==="rich"?6:Xn[2].info.name==="markdown"?7:8}return Mn=jn(_n),Qn=Zn[Mn]=qn[Mn](_n),{c(){ke=element("div"),create_component(Ce.$$.fragment),$n=space$3(),Qn.c(),attr(ke,"class","editor-field")},m(Xn,zn){insert$1(Xn,ke,zn),mount_component(Ce,ke,null),append(ke,$n),Zn[Mn].m(ke,null),Vn=!0},p(Xn,[zn]){const Hn={};zn&4&&(Hn.field=Xn[2]),Ce.$set(Hn);let Wn=Mn;Mn=jn(Xn),Mn===Wn?Zn[Mn].p(Xn,zn):(group_outros(),transition_out(Zn[Wn],1,1,()=>{Zn[Wn]=null}),check_outros(),Qn=Zn[Mn],Qn?Qn.p(Xn,zn):(Qn=Zn[Mn]=qn[Mn](Xn),Qn.c()),transition_in(Qn,1),Qn.m(ke,null))},i(Xn){Vn||(transition_in(Ce.$$.fragment,Xn),transition_in(Qn),Vn=!0)},o(Xn){transition_out(Ce.$$.fragment,Xn),transition_out(Qn),Vn=!1},d(Xn){Xn&&detach(ke),destroy_component(Ce),Zn[Mn].d()}}}function instance$c(_n,ke,Ce){const $n={text:Text$2,slug:Slug,textarea:Textarea,rich:RichEditor,color:Color,checkbox:Checkbox,number:Number$1,date:Date$1,datetime:Datetime,json:JSON$1,markdown:Markdown};let{field:Mn}=ke,{data:Qn}=ke,{schema:Vn}=ke,{record:qn}=ke,{graph:Zn}=ke,{validationErrors:jn}=ke,{isCreateMode:Xn}=ke,zn=$n[Mn.info.name];const Hn=`field-${Mn.name}-${qn.id}`;function Wn(ir){Zn=ir,Ce(1,Zn)}function Yn(ir){Zn=ir,Ce(1,Zn)}function Un(ir){Zn=ir,Ce(1,Zn)}function Gn(ir){_n.$$.not_equal(Qn[Mn.name],ir)&&(Qn[Mn.name]=ir,Ce(0,Qn))}function Kn(ir){_n.$$.not_equal(Qn[Mn.name],ir)&&(Qn[Mn.name]=ir,Ce(0,Qn))}function Jn(ir){_n.$$.not_equal(Qn[Mn.name],ir)&&(Qn[Mn.name]=ir,Ce(0,Qn))}function tr(ir){_n.$$.not_equal(Qn[Mn.name],ir)&&(Qn[Mn.name]=ir,Ce(0,Qn))}function nr(ir){Zn=ir,Ce(1,Zn)}function er(ir){_n.$$.not_equal(Qn[Mn.name],ir)&&(Qn[Mn.name]=ir,Ce(0,Qn))}function rr(ir){Zn=ir,Ce(1,Zn)}function or(ir){_n.$$.not_equal(Qn[Mn.name],ir)&&(Qn[Mn.name]=ir,Ce(0,Qn))}return _n.$$set=ir=>{"field"in ir&&Ce(2,Mn=ir.field),"data"in ir&&Ce(0,Qn=ir.data),"schema"in ir&&Ce(3,Vn=ir.schema),"record"in ir&&Ce(4,qn=ir.record),"graph"in ir&&Ce(1,Zn=ir.graph),"validationErrors"in ir&&Ce(5,jn=ir.validationErrors),"isCreateMode"in ir&&Ce(6,Xn=ir.isCreateMode)},[Qn,Zn,Mn,Vn,qn,jn,Xn,zn,Hn,Wn,Yn,Un,Gn,Kn,Jn,tr,nr,er,rr,or]}class FormField extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$c,create_fragment$c,safe_not_equal,{field:2,data:0,schema:3,record:4,graph:1,validationErrors:5,isCreateMode:6})}}function get_each_context$6(_n,ke,Ce){const $n=_n.slice();return $n[3]=ke[Ce],$n}function create_else_block$4(_n){let ke;return{c(){ke=text("Nothing links to this record")},m(Ce,$n){insert$1(Ce,ke,$n)},d(Ce){Ce&&detach(ke)}}}function create_each_block$6(_n){let ke,Ce,$n,Mn,Qn,Vn,qn,Zn,jn;return qn=new PreviewReference({props:{record:_n[3].record,hasDelete:!1,graph:_n[0]}}),{c(){ke=element("div"),Ce=element("span"),$n=text("In "),Mn=element("i"),Mn.textContent=`${_n[3].field}`,Qn=text(" of"),Vn=space$3(),create_component(qn.$$.fragment),Zn=space$3(),set_style(Ce,"font-size","14px"),set_style(Ce,"margin-bottom","5px"),set_style(Ce,"display","block"),set_style(ke,"margin","0 0 15px"),set_style(ke,"position","relative")},m(Xn,zn){insert$1(Xn,ke,zn),append(ke,Ce),append(Ce,$n),append(Ce,Mn),append(Ce,Qn),append(ke,Vn),mount_component(qn,ke,null),append(ke,Zn),jn=!0},p(Xn,zn){const Hn={};zn&1&&(Hn.graph=Xn[0]),qn.$set(Hn)},i(Xn){jn||(transition_in(qn.$$.fragment,Xn),jn=!0)},o(Xn){transition_out(qn.$$.fragment,Xn),jn=!1},d(Xn){Xn&&detach(ke),destroy_component(qn)}}}function create_fragment$b(_n){let ke,Ce,$n=ensure_array_like(_n[1]),Mn=[];for(let qn=0;qn<$n.length;qn+=1)Mn[qn]=create_each_block$6(get_each_context$6(_n,$n,qn));const Qn=qn=>transition_out(Mn[qn],1,1,()=>{Mn[qn]=null});let Vn=null;return $n.length||(Vn=create_else_block$4()),{c(){ke=element("div");for(let qn=0;qnCe.name===ke)}function instance$b(_n,ke,Ce){const $n=getContext$1("channel");let{graph:Mn}=ke,Qn=Mn.parentEdges.map(Vn=>{const qn=Mn.records.find(Xn=>Xn.id===Vn.source);let Zn=$n.schemas.find(Xn=>Xn.name===qn.schema),jn=findEdgeField(Zn,Vn.field);return jn?{field:jn.label,record:qn}:null}).filter(Vn=>!!Vn);return _n.$$set=Vn=>{"graph"in Vn&&Ce(0,Mn=Vn.graph)},[Mn,Qn]}class Graph extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$b,create_fragment$b,safe_not_equal,{graph:0})}}function get_each_context$5(_n,ke,Ce){const $n=_n.slice();return $n[4]=ke[Ce],$n}function create_else_block_1$1(_n){let ke,Ce=(JSON.stringify(_n[1])??"")+"",$n,Mn;return{c(){ke=element("div"),$n=text(Ce),attr(ke,"class",Mn=_n[3]+" field-content svelte-md34ba")},m(Qn,Vn){insert$1(Qn,ke,Vn),append(ke,$n)},p(Qn,Vn){Vn&2&&Ce!==(Ce=(JSON.stringify(Qn[1])??"")+"")&&set_data($n,Ce),Vn&8&&Mn!==(Mn=Qn[3]+" field-content svelte-md34ba")&&attr(ke,"class",Mn)},i:noop,o:noop,d(Qn){Qn&&detach(ke)}}}function create_if_block_3$2(_n){let ke,Ce=(_n[1]??"")+"",$n;return{c(){ke=element("div"),attr(ke,"class",$n=_n[3]+" field-content svelte-md34ba")},m(Mn,Qn){insert$1(Mn,ke,Qn),ke.innerHTML=Ce},p(Mn,Qn){Qn&2&&Ce!==(Ce=(Mn[1]??"")+"")&&(ke.innerHTML=Ce),Qn&8&&$n!==($n=Mn[3]+" field-content svelte-md34ba")&&attr(ke,"class",$n)},i:noop,o:noop,d(Mn){Mn&&detach(ke)}}}function create_if_block_2$3(_n){let ke,Ce=(JSON.stringify(_n[1],null,2)??"")+"",$n,Mn;return{c(){ke=element("div"),$n=text(Ce),attr(ke,"class",Mn=_n[3]+" field-content svelte-md34ba"),set_style(ke,"white-space","break-spaces")},m(Qn,Vn){insert$1(Qn,ke,Vn),append(ke,$n)},p(Qn,Vn){Vn&2&&Ce!==(Ce=(JSON.stringify(Qn[1],null,2)??"")+"")&&set_data($n,Ce),Vn&8&&Mn!==(Mn=Qn[3]+" field-content svelte-md34ba")&&attr(ke,"class",Mn)},i:noop,o:noop,d(Qn){Qn&&detach(ke)}}}function create_if_block$7(_n){let ke,Ce,$n,Mn,Qn=ensure_array_like(_n[2][_n[0].name]),Vn=[];for(let Zn=0;Zntransition_out(Vn[Zn],1,1,()=>{Vn[Zn]=null});return{c(){ke=element("div"),Ce=element("div");for(let Zn=0;Zn{Vn[Xn]=null}),check_outros(),Ce=Vn[ke],Ce?Ce.p(Zn,jn):(Ce=Vn[ke]=Qn[ke](Zn),Ce.c()),transition_in(Ce,1),Ce.m($n.parentNode,$n))},i(Zn){Mn||(transition_in(Ce),Mn=!0)},o(Zn){transition_out(Ce),Mn=!1},d(Zn){Zn&&detach($n),Vn[ke].d(Zn)}}}function create_fragment$a(_n){let ke,Ce,$n,Mn,Qn,Vn;const qn=[create_if_block$7,create_if_block_2$3,create_if_block_3$2,create_else_block_1$1],Zn=[];function jn(Xn,zn){return zn&1&&(ke=null),zn&1&&(Ce=null),ke==null&&(ke=!!["reference","file"].includes(Xn[0].info.name)),ke?0:(Ce==null&&(Ce=!!["json","block"].includes(Xn[0].info.name)),Ce?1:Xn[0].info.name==="rich"?2:3)}return $n=jn(_n,-1),Mn=Zn[$n]=qn[$n](_n),{c(){Mn.c(),Qn=empty$1()},m(Xn,zn){Zn[$n].m(Xn,zn),insert$1(Xn,Qn,zn),Vn=!0},p(Xn,[zn]){let Hn=$n;$n=jn(Xn,zn),$n===Hn?Zn[$n].p(Xn,zn):(group_outros(),transition_out(Zn[Hn],1,1,()=>{Zn[Hn]=null}),check_outros(),Mn=Zn[$n],Mn?Mn.p(Xn,zn):(Mn=Zn[$n]=qn[$n](Xn),Mn.c()),transition_in(Mn,1),Mn.m(Qn.parentNode,Qn))},i(Xn){Vn||(transition_in(Mn),Vn=!0)},o(Xn){transition_out(Mn),Vn=!1},d(Xn){Xn&&detach(Qn),Zn[$n].d(Xn)}}}function instance$a(_n,ke,Ce){let{field:$n}=ke,{side:Mn}=ke,{edges:Qn}=ke,{colorClass:Vn}=ke;return _n.$$set=qn=>{"field"in qn&&Ce(0,$n=qn.field),"side"in qn&&Ce(1,Mn=qn.side),"edges"in qn&&Ce(2,Qn=qn.edges),"colorClass"in qn&&Ce(3,Vn=qn.colorClass)},[$n,Mn,Qn,Vn]}class RevisionCell extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$a,create_fragment$a,safe_not_equal,{field:0,side:1,edges:2,colorClass:3})}}function create_fragment$9(_n){let ke,Ce,$n,Mn=_n[0].rank+"",Qn,Vn,qn,Zn,jn,Xn=_n[0].target+"",zn,Hn;return{c(){ke=element("div"),Ce=element("span"),$n=text("Rank: "),Qn=text(Mn),Vn=space$3(),qn=element("span"),qn.textContent="id:",Zn=space$3(),jn=element("a"),zn=text(Xn),attr(Ce,"class","me-3"),attr(jn,"href",Hn=_n[1].lucentUrl+"/records/"+_n[0].target),attr(jn,"target","_blank")},m(Wn,Yn){insert$1(Wn,ke,Yn),append(ke,Ce),append(Ce,$n),append(Ce,Qn),append(ke,Vn),append(ke,qn),append(ke,Zn),append(ke,jn),append(jn,zn)},p(Wn,[Yn]){Yn&1&&Mn!==(Mn=Wn[0].rank+"")&&set_data(Qn,Mn),Yn&1&&Xn!==(Xn=Wn[0].target+"")&&set_data(zn,Xn),Yn&1&&Hn!==(Hn=Wn[1].lucentUrl+"/records/"+Wn[0].target)&&attr(jn,"href",Hn)},i:noop,o:noop,d(Wn){Wn&&detach(ke)}}}function instance$9(_n,ke,Ce){const $n=getContext$1("channel");let{edge:Mn}=ke;return _n.$$set=Qn=>{"edge"in Qn&&Ce(0,Mn=Qn.edge)},[Mn,$n]}class RevisionEdgeRow extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$9,create_fragment$9,safe_not_equal,{edge:0})}}function get_each_context$4(_n,ke,Ce){const $n=_n.slice();return $n[16]=ke[Ce][0],$n[17]=ke[Ce][1],$n}function get_each_context_1$1(_n,ke,Ce){const $n=_n.slice();return $n[20]=ke[Ce],$n}function get_each_context_2(_n,ke,Ce){const $n=_n.slice();return $n[20]=ke[Ce],$n}function get_each_context_3(_n,ke,Ce){const $n=_n.slice();return $n[16]=ke[Ce],$n}function get_each_context_4(_n,ke,Ce){const $n=_n.slice();return $n[27]=ke[Ce],$n}function create_else_block_3(_n){let ke;return{c(){ke=element("div"),ke.innerHTML="Revisions are not enabled for this Schema",attr(ke,"class","card-body")},m(Ce,$n){insert$1(Ce,ke,$n)},p:noop,i:noop,o:noop,d(Ce){Ce&&detach(ke)}}}function create_if_block_3$1(_n){let ke,Ce,$n,Mn,Qn=ensure_array_like(_n[8]),Vn=[];for(let Zn=0;Zntransition_out(Vn[Zn],1,1,()=>{Vn[Zn]=null});return{c(){ke=element("div"),ke.textContent="Revisions",Ce=space$3();for(let Zn=0;Zn{$n=null}),check_outros())},i(Mn){Ce||(transition_in($n),Ce=!0)},o(Mn){transition_out($n),Ce=!1},d(Mn){Mn&&detach(ke),$n&&$n.d(Mn)}}}function create_if_block$6(_n){let ke,Ce,$n,Mn,Qn,Vn,qn,Zn;const jn=[create_if_block_1$4,create_else_block_2],Xn=[];function zn(Un,Gn){return Un[6].length>0?0:1}Ce=zn(_n),$n=Xn[Ce]=jn[Ce](_n);let Hn=ensure_array_like(Object.entries(_n[7])),Wn=[];for(let Un=0;Untransition_out(Wn[Un],1,1,()=>{Wn[Un]=null});return{c(){ke=element("div"),$n.c(),Mn=space$3(),Qn=element("div"),Vn=element("p"),Vn.textContent="Record References",qn=space$3();for(let Un=0;Un{Xn[Kn]=null}),check_outros(),$n=Xn[Ce],$n?$n.p(Un,Gn):($n=Xn[Ce]=jn[Ce](Un),$n.c()),transition_in($n,1),$n.m(ke,Mn)),Gn&128){Hn=ensure_array_like(Object.entries(Un[7]));let Jn;for(Jn=0;JnNothing will change",attr(ke,"class","lx-card text-center")},m(Ce,$n){insert$1(Ce,ke,$n)},p:noop,i:noop,o:noop,d(Ce){Ce&&detach(ke)}}}function create_if_block_1$4(_n){let ke,Ce,$n,Mn,Qn=_n[5]._sys.version+"",Vn,qn,Zn,jn,Xn,zn,Hn,Wn=_n[4]&&create_if_block_2$2(_n),Yn=ensure_array_like(_n[6]),Un=[];for(let Kn=0;Kntransition_out(Un[Kn],1,1,()=>{Un[Kn]=null});return{c(){ke=element("p"),ke.textContent="If you choose to rollback to this revision",Ce=space$3(),$n=element("button"),Mn=text("Rollback to version "),Vn=text(Qn),qn=space$3(),Wn&&Wn.c(),Zn=space$3(),jn=element("div");for(let Kn=0;Kntransition_out(Kn[ir],1,1,()=>{Kn[ir]=null});let tr=null;Gn.length||(tr=create_else_block_1());let nr=ensure_array_like(_n[17].revision),er=[];for(let ir=0;irtransition_out(er[ir],1,1,()=>{er[ir]=null});let or=null;return nr.length||(or=create_else_block$2()),{c(){ke=element("div"),Ce=element("div"),Mn=text($n),Qn=text(":"),Vn=space$3(),qn=element("div"),Zn=element("p"),Zn.textContent="Record",jn=space$3();for(let ir=0;ir0?0:1}kr=Hr(_n),Ar=Ir[kr]=Xr[kr](_n);let Vr=_n[5]&&create_if_block$6(_n);return{c(){ke=element("div"),Ce=element("div"),$n=element("div"),Mn=element("div"),Qn=element("span"),Qn.textContent="record id",Vn=space$3(),qn=element("small"),jn=text(Zn),Xn=space$3(),zn=element("div"),Hn=element("span"),Hn.textContent="current version",Wn=space$3(),Un=text(Yn),Gn=space$3(),Kn=element("div"),Jn=element("span"),Jn.textContent="created",tr=space$3(),create_component(nr.$$.fragment),er=space$3(),or=text(rr),ir=space$3(),sr=element("div"),cr=element("span"),cr.textContent="updated",ur=space$3(),create_component(fr.$$.fragment),pr=space$3(),_r=text(mr),vr=space$3(),hr=element("div"),br=element("span"),br.textContent="Rules for this schema",Er=space$3(),Cr=element("small"),Mr=text("Each record maintains the last "),Pr=text(yr),Qr=text(` versions`),Nr=space$3(),Or=element("div"),Ar.c(),jr=space$3(),qr=element("div"),Vr&&Vr.c(),attr(Qn,"class","label text-end text-muted"),attr(Hn,"class","label text-end text-muted"),attr(Jn,"class","label text-end text-muted"),attr(cr,"class","label text-end text-muted"),attr($n,"class","col-8"),attr(br,"class","label d-block text-muted "),attr(hr,"class","col-4"),attr(Ce,"class","row"),attr(ke,"class","lx-card "),attr(Or,"class","revisions")},m(Lr,zr){insert$1(Lr,ke,zr),append(ke,Ce),append(Ce,$n),append($n,Mn),append(Mn,Qn),append(Mn,Vn),append(Mn,qn),append(qn,jn),append($n,Xn),append($n,zn),append(zn,Hn),append(zn,Wn),append(zn,Un),append($n,Gn),append($n,Kn),append(Kn,Jn),append(Kn,tr),mount_component(nr,Kn,null),append(Kn,er),append(Kn,or),append($n,ir),append($n,sr),append(sr,cr),append(sr,ur),mount_component(fr,sr,null),append(sr,pr),append(sr,_r),append(Ce,vr),append(Ce,hr),append(hr,br),append(hr,Er),append(hr,Cr),append(Cr,Mr),append(Cr,Pr),append(Cr,Qr),insert$1(Lr,Nr,zr),insert$1(Lr,Or,zr),Ir[kr].m(Or,null),insert$1(Lr,jr,zr),insert$1(Lr,qr,zr),Vr&&Vr.m(qr,null),_n[13](qr),Fr=!0},p(Lr,[zr]){(!Fr||zr&1)&&Zn!==(Zn=Lr[0].id+"")&&set_data(jn,Zn),(!Fr||zr&1)&&Yn!==(Yn=Lr[0]._sys.version+"")&&set_data(Un,Yn);const Jr={};zr&3&&(Jr.name=usernameById(Lr[1],Lr[0]._sys.createdBy)),nr.$set(Jr),(!Fr||zr&1)&&rr!==(rr=friendlyDate(Lr[0]._sys.createdAt)+"")&&set_data(or,rr);const Gr={};zr&3&&(Gr.name=usernameById(Lr[1],Lr[0]._sys.updatedBy)),fr.$set(Gr),(!Fr||zr&1)&&mr!==(mr=friendlyDate(Lr[0]._sys.updatedAt)+"")&&set_data(_r,mr),(!Fr||zr&4)&&yr!==(yr=Lr[2].revisions+"")&&set_data(Pr,yr);let eo=kr;kr=Hr(Lr),kr===eo?Ir[kr].p(Lr,zr):(group_outros(),transition_out(Ir[eo],1,1,()=>{Ir[eo]=null}),check_outros(),Ar=Ir[kr],Ar?Ar.p(Lr,zr):(Ar=Ir[kr]=Xr[kr](Lr),Ar.c()),transition_in(Ar,1),Ar.m(Or,null)),Lr[5]?Vr?(Vr.p(Lr,zr),zr&32&&transition_in(Vr,1)):(Vr=create_if_block$6(Lr),Vr.c(),transition_in(Vr,1),Vr.m(qr,null)):Vr&&(group_outros(),transition_out(Vr,1,1,()=>{Vr=null}),check_outros())},i(Lr){Fr||(transition_in(nr.$$.fragment,Lr),transition_in(fr.$$.fragment,Lr),transition_in(Ar),transition_in(Vr),Fr=!0)},o(Lr){transition_out(nr.$$.fragment,Lr),transition_out(fr.$$.fragment,Lr),transition_out(Ar),transition_out(Vr),Fr=!1},d(Lr){Lr&&(detach(ke),detach(Nr),detach(Or),detach(jr),detach(qr)),destroy_component(nr),destroy_component(fr),Ir[kr].d(),Vr&&Vr.d(),_n[13](null)}}}function instance$8(_n,ke,Ce){let $n,Mn,Qn,Vn;const qn=getContext$1("channel");let{record:Zn}=ke,{graph:jn}=ke,{users:Xn}=ke,{schema:zn}=ke,Hn,Wn="";axios$1.get(`${qn.lucentUrl}/records/${Zn.id}/revisions`).then(tr=>{Ce(8,$n=tr.data)}).catch(tr=>{console.log(tr)});function Yn(tr,nr){Ce(7,Vn=jn.edges.filter(er=>er.depth===1).reduce((er,rr)=>(er[rr.field]||(er[rr.field]={record:[],revision:[]}),er[rr.field].record.push(rr),er),{})),Ce(7,Vn=nr._edges.reduce((er,rr)=>(er[rr.field]||(er[rr.field]={record:[],revision:[]}),er[rr.field].revision.push(rr),er),Vn))}function Un(tr,nr){tr.preventDefault(),Ce(5,Qn=nr),Ce(6,Mn=zn.fields.filter(er=>hasDataChanged(!1,Qn.data[er.name],Zn.data[er.name]))),Yn(Mn,nr),Hn.scrollIntoView()}function Gn(tr){tr.preventDefault(),Ce(4,Wn=""),axios$1.post(`${qn.lucentUrl}/records/${Zn.id}/rollback/${Qn._sys.version}`).then(nr=>{window.location.reload()}).catch(nr=>{const er=nr.response.data.error;Ce(4,Wn=er.fieldLabel+": "+er.message)})}const Kn=(tr,nr)=>Un(nr,tr);function Jn(tr){binding_callbacks[tr?"unshift":"push"](()=>{Hn=tr,Ce(3,Hn)})}return _n.$$set=tr=>{"record"in tr&&Ce(0,Zn=tr.record),"graph"in tr&&Ce(11,jn=tr.graph),"users"in tr&&Ce(1,Xn=tr.users),"schema"in tr&&Ce(2,zn=tr.schema)},Ce(8,$n=[]),Ce(6,Mn=[]),Ce(5,Qn=null),Ce(7,Vn={}),[Zn,Xn,zn,Hn,Wn,Qn,Mn,Vn,$n,Un,Gn,jn,Kn,Jn]}class Info extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$8,create_fragment$8,safe_not_equal,{record:0,graph:11,users:1,schema:2})}}const{window:window_1}=globals;function get_each_context$3(_n,ke,Ce){const $n=_n.slice();return $n[21]=ke[Ce],$n}function create_if_block_5(_n){let ke,Ce,$n;return{c(){ke=element("button"),ke.innerHTML=` Save`,attr(ke,"type","button"),attr(ke,"class","button primary ms-2 btn btn-primary btn-spinner")},m(Mn,Qn){insert$1(Mn,ke,Qn),Ce||($n=listen(ke,"click",_n[11]),Ce=!0)},p:noop,d(Mn){Mn&&detach(ke),Ce=!1,$n()}}}function create_if_block_4(_n){let ke,Ce,$n;return{c(){ke=element("button"),ke.innerHTML=` Create`,attr(ke,"class","button primary btn-spinner")},m(Mn,Qn){insert$1(Mn,ke,Qn),Ce||($n=listen(ke,"click",_n[11]),Ce=!0)},p:noop,d(Mn){Mn&&detach(ke),Ce=!1,$n()}}}function create_if_block_3(_n){let ke,Ce;return ke=new Info({props:{record:_n[0],graph:_n[1],users:_n[4],schema:_n[2]}}),{c(){create_component(ke.$$.fragment)},m($n,Mn){mount_component(ke,$n,Mn),Ce=!0},p($n,Mn){const Qn={};Mn&1&&(Qn.record=$n[0]),Mn&2&&(Qn.graph=$n[1]),Mn&16&&(Qn.users=$n[4]),Mn&4&&(Qn.schema=$n[2]),ke.$set(Qn)},i($n){Ce||(transition_in(ke.$$.fragment,$n),Ce=!0)},o($n){transition_out(ke.$$.fragment,$n),Ce=!1},d($n){destroy_component(ke,$n)}}}function create_if_block_2$1(_n){let ke,Ce;return ke=new Graph({props:{graph:_n[1],record:_n[0]}}),{c(){create_component(ke.$$.fragment)},m($n,Mn){mount_component(ke,$n,Mn),Ce=!0},p($n,Mn){const Qn={};Mn&2&&(Qn.graph=$n[1]),Mn&1&&(Qn.record=$n[0]),ke.$set(Qn)},i($n){Ce||(transition_in(ke.$$.fragment,$n),Ce=!0)},o($n){transition_out(ke.$$.fragment,$n),Ce=!1},d($n){destroy_component(ke,$n)}}}function create_if_block$5(_n){let ke,Ce,$n=[],Mn=new Map,Qn,Vn;ke=new FilePreview({props:{record:_n[0],schema:_n[2]}});let qn=ensure_array_like(_n[9]);const Zn=jn=>jn[21].name;for(let jn=0;jnbind(ke,"data",Qn)),binding_callbacks.push(()=>bind(ke,"graph",Vn)),{c(){create_component(ke.$$.fragment)},m(Zn,jn){mount_component(ke,Zn,jn),Mn=!0},p(Zn,jn){const Xn={};jn&4&&(Xn.schema=Zn[2]),jn&1&&(Xn.record=Zn[0]),jn&32&&(Xn.validationErrors=Zn[5]),jn&8&&(Xn.isCreateMode=Zn[3]),!Ce&&jn&1&&(Ce=!0,Xn.data=Zn[0].data,add_flush_callback(()=>Ce=!1)),!$n&&jn&2&&($n=!0,Xn.graph=Zn[1],add_flush_callback(()=>$n=!1)),ke.$set(Xn)},i(Zn){Mn||(transition_in(ke.$$.fragment,Zn),Mn=!0)},o(Zn){transition_out(ke.$$.fragment,Zn),Mn=!1},d(Zn){destroy_component(ke,Zn)}}}function create_each_block$3(_n,ke){let Ce,$n,Mn,Qn=ke[6]===ke[21].group&&create_if_block_1$3(ke);return{key:_n,first:null,c(){Ce=empty$1(),Qn&&Qn.c(),$n=empty$1(),this.first=Ce},m(Vn,qn){insert$1(Vn,Ce,qn),Qn&&Qn.m(Vn,qn),insert$1(Vn,$n,qn),Mn=!0},p(Vn,qn){ke=Vn,ke[6]===ke[21].group?Qn?(Qn.p(ke,qn),qn&64&&transition_in(Qn,1)):(Qn=create_if_block_1$3(ke),Qn.c(),transition_in(Qn,1),Qn.m($n.parentNode,$n)):Qn&&(group_outros(),transition_out(Qn,1,1,()=>{Qn=null}),check_outros())},i(Vn){Mn||(transition_in(Qn),Mn=!0)},o(Vn){transition_out(Qn),Mn=!1},d(Vn){Vn&&(detach(Ce),detach($n)),Qn&&Qn.d(Vn)}}}function create_fragment$7(_n){let ke,Ce,$n,Mn,Qn,Vn,qn,Zn,jn,Xn,zn,Hn,Wn,Yn,Un,Gn,Kn,Jn,tr,nr,er;function rr(hr){_n[12](hr)}function or(hr){_n[13](hr)}let ir={schema:_n[2],isCreateMode:_n[3]};_n[0]!==void 0&&(ir.record=_n[0]),_n[6]!==void 0&&(ir.activeContentTab=_n[6]),$n=new EditHeader({props:ir}),binding_callbacks.push(()=>bind($n,"record",rr)),binding_callbacks.push(()=>bind($n,"activeContentTab",or));function sr(hr,br){if(hr[3])return create_if_block_4;if(hr[8])return create_if_block_5}let cr=sr(_n),ur=cr&&cr(_n);Zn=new Title({props:{schema:_n[2],record:_n[0],isCreateMode:_n[3]}}),Xn=new ErrorAlert({props:{message:_n[7]}});function fr(hr){_n[14](hr)}let pr={schema:_n[2],isCreateMode:_n[3]};_n[6]!==void 0&&(pr.active=_n[6]),Wn=new ContentTabs({props:pr}),binding_callbacks.push(()=>bind(Wn,"active",fr));const mr=[create_if_block$5,create_if_block_2$1,create_if_block_3],_r=[];function vr(hr,br){return br&64&&(Gn=null),Gn==null&&(Gn=!["_graph","_info"].includes(hr[6])),Gn?0:hr[6]==="_graph"?1:hr[6]==="_info"?2:-1}return~(Kn=vr(_n,-1))&&(Jn=_r[Kn]=mr[Kn](_n)),{c(){ke=element("div"),Ce=element("div"),create_component($n.$$.fragment),Vn=space$3(),ur&&ur.c(),qn=space$3(),create_component(Zn.$$.fragment),jn=space$3(),create_component(Xn.$$.fragment),zn=space$3(),Hn=element("div"),create_component(Wn.$$.fragment),Un=space$3(),Jn&&Jn.c(),attr(Ce,"class","tools-header"),attr(Hn,"class","mt-4"),set_style(Hn,"margin-bottom","150px"),set_style(Hn,"position","relative"),attr(ke,"class","record-edit")},m(hr,br){insert$1(hr,ke,br),append(ke,Ce),mount_component($n,Ce,null),append(Ce,Vn),ur&&ur.m(Ce,null),append(ke,qn),mount_component(Zn,ke,null),append(ke,jn),mount_component(Xn,ke,null),append(ke,zn),append(ke,Hn),mount_component(Wn,Hn,null),append(Hn,Un),~Kn&&_r[Kn].m(Hn,null),tr=!0,nr||(er=listen(window_1,"beforeunload",_n[10]),nr=!0)},p(hr,[br]){const Er={};br&4&&(Er.schema=hr[2]),br&8&&(Er.isCreateMode=hr[3]),!Mn&&br&1&&(Mn=!0,Er.record=hr[0],add_flush_callback(()=>Mn=!1)),!Qn&&br&64&&(Qn=!0,Er.activeContentTab=hr[6],add_flush_callback(()=>Qn=!1)),$n.$set(Er),cr===(cr=sr(hr))&&ur?ur.p(hr,br):(ur&&ur.d(1),ur=cr&&cr(hr),ur&&(ur.c(),ur.m(Ce,null)));const Cr={};br&4&&(Cr.schema=hr[2]),br&1&&(Cr.record=hr[0]),br&8&&(Cr.isCreateMode=hr[3]),Zn.$set(Cr);const Mr={};br&128&&(Mr.message=hr[7]),Xn.$set(Mr);const yr={};br&4&&(yr.schema=hr[2]),br&8&&(yr.isCreateMode=hr[3]),!Yn&&br&64&&(Yn=!0,yr.active=hr[6],add_flush_callback(()=>Yn=!1)),Wn.$set(yr);let Pr=Kn;Kn=vr(hr,br),Kn===Pr?~Kn&&_r[Kn].p(hr,br):(Jn&&(group_outros(),transition_out(_r[Pr],1,1,()=>{_r[Pr]=null}),check_outros()),~Kn?(Jn=_r[Kn],Jn?Jn.p(hr,br):(Jn=_r[Kn]=mr[Kn](hr),Jn.c()),transition_in(Jn,1),Jn.m(Hn,null)):Jn=null)},i(hr){tr||(transition_in($n.$$.fragment,hr),transition_in(Zn.$$.fragment,hr),transition_in(Xn.$$.fragment,hr),transition_in(Wn.$$.fragment,hr),transition_in(Jn),tr=!0)},o(hr){transition_out($n.$$.fragment,hr),transition_out(Zn.$$.fragment,hr),transition_out(Xn.$$.fragment,hr),transition_out(Wn.$$.fragment,hr),transition_out(Jn),tr=!1},d(hr){hr&&detach(ke),destroy_component($n),ur&&ur.d(),destroy_component(Zn),destroy_component(Xn),destroy_component(Wn),~Kn&&_r[Kn].d(),nr=!1,er()}}}function instance$7(_n,ke,Ce){let $n,Mn,Qn;const Vn=getContext$1("channel");let{schema:qn}=ke,{record:Zn}=ke,{graph:jn={records:[],edges:[]}}=ke,{isCreateMode:Xn}=ke,{users:zn}=ke,Hn,Wn="",Yn=qn.fields.filter(ir=>ir.name!=="id");onMount(()=>{Un()});function Un(){Hn={data:JSON.parse(JSON.stringify(Zn.data)),schema:Zn.schema,status:Zn.status,_sys:JSON.parse(JSON.stringify(Zn._sys)),_file:JSON.parse(JSON.stringify(Zn._file)),edges:JSON.parse(JSON.stringify(jn.edges))}}afterUpdate(()=>{Ce(8,$n=Kn())});function Gn(ir){return $n?ir.returnValue="You have unsaved changes. Are you sure you want to exit?":(delete ir.returnValue,"...")}function Kn(){return hasDataChanged(Xn,Hn,{data:Zn.data,schema:Zn.schema,status:Zn.status,_sys:Zn._sys,_file:Zn._file,edges:jn.edges})}function Jn(ir){return ir.preventDefault(),console.log("SAVE: Attempt"),Ce(5,Mn=null),Ce(7,Qn=""),new Promise(function(sr,cr){var ur;if(!$n&&!Xn){sr(null);return}if(!Zn){sr(null);return}Ce(1,jn.edges=(ur=jn.edges)==null?void 0:ur.filter(fr=>!fr._isTrashed&&fr.source===Zn.id),jn),axios$1.post(Vn.lucentUrl+"/records",{record:Zn,edges:jn.edges,isCreateMode:Xn}).then(function(fr){if(console.log("SAVE: SAVED"),Xn)window.location=Vn.lucentUrl+"/records/"+Zn.id;else{if(Ce(0,Zn=fr.data.records[0]??null),!Zn){Ce(8,$n=!1),window.location=Vn.lucentUrl;return}Ce(1,jn=fr.data),Un()}sr(null)}).catch(function(fr){fr.response&&(typeof fr.response.data.error=="string"?Ce(7,Qn=fr.response.data.error):(Ce(5,Mn=fr.response.data.error),console.log(Mn))),sr(null)})})}function tr(ir){Zn=ir,Ce(0,Zn)}function nr(ir){Wn=ir,Ce(6,Wn)}function er(ir){Wn=ir,Ce(6,Wn)}function rr(ir){_n.$$.not_equal(Zn.data,ir)&&(Zn.data=ir,Ce(0,Zn))}function or(ir){jn=ir,Ce(1,jn)}return _n.$$set=ir=>{"schema"in ir&&Ce(2,qn=ir.schema),"record"in ir&&Ce(0,Zn=ir.record),"graph"in ir&&Ce(1,jn=ir.graph),"isCreateMode"in ir&&Ce(3,Xn=ir.isCreateMode),"users"in ir&&Ce(4,zn=ir.users)},_n.$$.update=()=>{_n.$$.dirty&32&&Ce(7,Qn=Mn?`Record submission failed. ${Object.entries(Mn).length} error(s)`:null)},Ce(8,$n=!1),Ce(5,Mn=null),[Zn,jn,qn,Xn,zn,Mn,Wn,Qn,$n,Yn,Gn,Jn,tr,nr,er,rr,or]}class Edit extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$7,create_fragment$7,safe_not_equal,{schema:2,record:0,graph:1,isCreateMode:3,users:4})}}function get_each_context$2(_n,ke,Ce){const $n=_n.slice();return $n[5]=ke[Ce],$n}function get_each_context_1(_n,ke,Ce){const $n=_n.slice();return $n[8]=ke[Ce],$n}function create_if_block_1$2(_n){let ke,Ce=(_n[1].name.replaceAll("_"," ")??"Main")+"",$n,Mn,Qn,Vn,qn,Zn,jn;const Xn=[create_if_block_2,create_else_block$1],zn=[];function Hn(Wn,Yn){return Wn[0]?0:1}return Qn=Hn(_n),Vn=zn[Qn]=Xn[Qn](_n),{c(){ke=element("button"),$n=text(Ce),Mn=space$3(),Vn.c(),attr(ke,"class","sidebar-header"),attr(ke,"tabindex","0")},m(Wn,Yn){insert$1(Wn,ke,Yn),append(ke,$n),append(ke,Mn),zn[Qn].m(ke,null),qn=!0,Zn||(jn=listen(ke,"click",_n[4]),Zn=!0)},p(Wn,Yn){(!qn||Yn&2)&&Ce!==(Ce=(Wn[1].name.replaceAll("_"," ")??"Main")+"")&&set_data($n,Ce);let Un=Qn;Qn=Hn(Wn),Qn!==Un&&(group_outros(),transition_out(zn[Un],1,1,()=>{zn[Un]=null}),check_outros(),Vn=zn[Qn],Vn||(Vn=zn[Qn]=Xn[Qn](Wn),Vn.c()),transition_in(Vn,1),Vn.m(ke,null))},i(Wn){qn||(transition_in(Vn),qn=!0)},o(Wn){transition_out(Vn),qn=!1},d(Wn){Wn&&detach(ke),zn[Qn].d(),Zn=!1,jn()}}}function create_else_block$1(_n){let ke,Ce;return ke=new Icon({props:{icon:"circle-chevron-down"}}),{c(){create_component(ke.$$.fragment)},m($n,Mn){mount_component(ke,$n,Mn),Ce=!0},i($n){Ce||(transition_in(ke.$$.fragment,$n),Ce=!0)},o($n){transition_out(ke.$$.fragment,$n),Ce=!1},d($n){destroy_component(ke,$n)}}}function create_if_block_2(_n){let ke,Ce;return ke=new Icon({props:{icon:"circle-chevron-up"}}),{c(){create_component(ke.$$.fragment)},m($n,Mn){mount_component(ke,$n,Mn),Ce=!0},i($n){Ce||(transition_in(ke.$$.fragment,$n),Ce=!0)},o($n){transition_out(ke.$$.fragment,$n),Ce=!1},d($n){destroy_component(ke,$n)}}}function create_if_block$4(_n){let ke,Ce,$n,Mn=ensure_array_like(_n[1].folders),Qn=[];for(let jn=0;jntransition_out(Qn[jn],1,1,()=>{Qn[jn]=null});let qn=ensure_array_like(_n[1].files),Zn=[];for(let jn=0;jn{Mn=null}),check_outros()),Vn[0]?Qn?(Qn.p(Vn,qn),qn&1&&transition_in(Qn,1)):(Qn=create_if_block$4(Vn),Qn.c(),transition_in(Qn,1),Qn.m(ke,null)):Qn&&(group_outros(),transition_out(Qn,1,1,()=>{Qn=null}),check_outros())},i(Vn){$n||(transition_in(Mn),transition_in(Qn),$n=!0)},o(Vn){transition_out(Mn),transition_out(Qn),$n=!1},d(Vn){Vn&&detach(ke),Mn&&Mn.d(),Qn&&Qn.d()}}}function instance$6(_n,ke,Ce){const $n=getContext$1("channel");let{folder:Mn}=ke,{schema:Qn}=ke,{expanded:Vn=Mn.shouldExpand}=ke;function qn(){Ce(0,Vn=!Vn)}return _n.$$set=Zn=>{"folder"in Zn&&Ce(1,Mn=Zn.folder),"schema"in Zn&&Ce(2,Qn=Zn.schema),"expanded"in Zn&&Ce(0,Vn=Zn.expanded)},[Vn,Mn,Qn,$n,qn]}class Folder_1 extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$6,create_fragment$6,safe_not_equal,{folder:1,schema:2,expanded:0})}}function create_fragment$5(_n){let ke,Ce,$n=_n[1].name+"",Mn,Qn,Vn,qn,Zn,jn,Xn;return jn=new Folder_1({props:{folder:_n[2],schema:_n[0]}}),{c(){ke=element("div"),Ce=element("a"),Mn=text($n),Qn=space$3(),Vn=element("a"),qn=space$3(),Zn=element("div"),create_component(jn.$$.fragment),attr(Ce,"class","logo"),attr(Ce,"href",_n[1].lucentUrl),attr(Vn,"class","nav-item"),attr(Vn,"href",_n[1].lucentUrl+"/profile"),attr(ke,"class","sidebar-top"),attr(Zn,"class","sidebar")},m(zn,Hn){insert$1(zn,ke,Hn),append(ke,Ce),append(Ce,Mn),append(ke,Qn),append(ke,Vn),insert$1(zn,qn,Hn),insert$1(zn,Zn,Hn),mount_component(jn,Zn,null),Xn=!0},p(zn,[Hn]){const Wn={};Hn&1&&(Wn.schema=zn[0]),jn.$set(Wn)},i(zn){Xn||(transition_in(jn.$$.fragment,zn),Xn=!0)},o(zn){transition_out(jn.$$.fragment,zn),Xn=!1},d(zn){zn&&(detach(ke),detach(qn),detach(Zn)),destroy_component(jn)}}}function instance$5(_n,ke,Ce){let{schema:$n}=ke;const Mn=getContext$1("channel"),Qn=getContext$1("readableSchemas");function Vn(Zn,jn,Xn){let zn=Xn.name===($n==null?void 0:$n.name);if(jn==="")return Zn.files.push(Xn),Zn;const Hn=jn.split(".");return Hn.forEach(Wn=>{let Yn=Zn.folders.find(Gn=>Gn.name===Wn);Yn||(Yn={name:Wn,files:[],folders:[],shouldExpand:zn}),Hn.shift();let Un=Hn.join(".");Yn=Vn(Yn,Un,Xn),Zn.folders=Zn.folders.filter(Gn=>Gn.name!==Yn.name),Zn.folders.push(Yn)}),Zn}const qn=Qn.reduce((Zn,jn)=>(Zn=Vn(Zn,jn.folder,jn),Zn),{name:"",files:[],folders:[],shouldExpand:!0});return _n.$$set=Zn=>{"schema"in Zn&&Ce(0,$n=Zn.schema)},[$n,Mn,qn]}class Navbar extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$5,create_fragment$5,safe_not_equal,{schema:0})}}function create_if_block_1$1(_n){let ke;return{c(){ke=element("span"),ke.textContent="DRAFT",attr(ke,"class","status")},m(Ce,$n){insert$1(Ce,ke,$n)},d(Ce){Ce&&detach(ke)}}}function create_else_block(_n){let ke,Ce=previewTitle(_n[3].schemas,_n[2],_n[1])+"",$n,Mn;return{c(){ke=element("a"),$n=text(Ce),attr(ke,"href",Mn=_n[3].lucentUrl+"/records/"+_n[2].id)},m(Qn,Vn){insert$1(Qn,ke,Vn),append(ke,$n)},p(Qn,Vn){Vn&6&&Ce!==(Ce=previewTitle(Qn[3].schemas,Qn[2],Qn[1])+"")&&set_data($n,Ce),Vn&4&&Mn!==(Mn=Qn[3].lucentUrl+"/records/"+Qn[2].id)&&attr(ke,"href",Mn)},i:noop,o:noop,d(Qn){Qn&&detach(ke)}}}function create_if_block$3(_n){let ke,Ce;return ke=new Preview({props:{record:_n[2],size:"tiny",showFilename:!0}}),{c(){create_component(ke.$$.fragment)},m($n,Mn){mount_component(ke,$n,Mn),Ce=!0},p($n,Mn){const Qn={};Mn&4&&(Qn.record=$n[2]),ke.$set(Qn)},i($n){Ce||(transition_in(ke.$$.fragment,$n),Ce=!0)},o($n){transition_out(ke.$$.fragment,$n),Ce=!1},d($n){destroy_component(ke,$n)}}}function create_fragment$4(_n){let ke,Ce,$n,Mn,Qn,Vn,qn,Zn,jn=_n[4].label+"",Xn,zn,Hn,Wn,Yn,Un,Gn,Kn,Jn=_n[2].status==="draft"&&create_if_block_1$1();const tr=[create_if_block$3,create_else_block],nr=[];function er(rr,or){return rr[4].type==="files"?0:1}return Mn=er(_n),Qn=nr[Mn]=tr[Mn](_n),Yn=new Avatar({props:{name:usernameById(_n[0],_n[2]._sys.updatedBy),side:24}}),{c(){ke=element("td"),Ce=element("div"),Jn&&Jn.c(),$n=space$3(),Qn.c(),Vn=space$3(),qn=element("td"),Zn=element("a"),Xn=text(jn),zn=space$3(),Hn=element("td"),Wn=element("div"),create_component(Yn.$$.fragment),Un=space$3(),Gn=element("div"),Gn.textContent=`${_n[5]}`,attr(Ce,"class","row-name"),attr(Zn,"href",_n[3].lucentUrl+"/content/"+_n[4].name),attr(Gn,"class","ms-2"),set_style(Wn,"display","flex"),set_style(Wn,"gap","14px")},m(rr,or){insert$1(rr,ke,or),append(ke,Ce),Jn&&Jn.m(Ce,null),append(Ce,$n),nr[Mn].m(Ce,null),insert$1(rr,Vn,or),insert$1(rr,qn,or),append(qn,Zn),append(Zn,Xn),insert$1(rr,zn,or),insert$1(rr,Hn,or),append(Hn,Wn),mount_component(Yn,Wn,null),append(Wn,Un),append(Wn,Gn),Kn=!0},p(rr,[or]){rr[2].status==="draft"?Jn||(Jn=create_if_block_1$1(),Jn.c(),Jn.m(Ce,$n)):Jn&&(Jn.d(1),Jn=null),Qn.p(rr,or);const ir={};or&5&&(ir.name=usernameById(rr[0],rr[2]._sys.updatedBy)),Yn.$set(ir)},i(rr){Kn||(transition_in(Qn),transition_in(Yn.$$.fragment,rr),Kn=!0)},o(rr){transition_out(Qn),transition_out(Yn.$$.fragment,rr),Kn=!1},d(rr){rr&&(detach(ke),detach(Vn),detach(qn),detach(zn),detach(Hn)),Jn&&Jn.d(),nr[Mn].d(),destroy_component(Yn)}}}function instance$4(_n,ke,Ce){const $n=getContext$1("channel");let{users:Mn}=ke,{graph:Qn}=ke,{record:Vn}=ke,qn=$n.schemas.find(jn=>jn.name===Vn.schema),Zn=formatDistanceToNow(parseJSON(Vn._sys.updatedAt),{addSuffix:!0});return _n.$$set=jn=>{"users"in jn&&Ce(0,Mn=jn.users),"graph"in jn&&Ce(1,Qn=jn.graph),"record"in jn&&Ce(2,Vn=jn.record)},[Mn,Qn,Vn,$n,qn,Zn]}class RecordRow extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$4,create_fragment$4,safe_not_equal,{users:0,graph:1,record:2})}}function get_each_context$1(_n,ke,Ce){const $n=_n.slice();return $n[4]=ke[Ce],$n}function create_if_block$2(_n){let ke,Ce,$n,Mn=[],Qn=new Map,Vn,qn=ensure_array_like(_n[0]);const Zn=jn=>jn[4].id;for(let jn=0;jn0&&create_if_block$2(_n);return{c(){ke=element("h3"),ke.textContent="Latest Content changes",Ce=space$3(),Qn&&Qn.c(),$n=empty$1(),attr(ke,"class","header-small mb-4 mt-5")},m(Vn,qn){insert$1(Vn,ke,qn),insert$1(Vn,Ce,qn),Qn&&Qn.m(Vn,qn),insert$1(Vn,$n,qn),Mn=!0},p(Vn,[qn]){Vn[0].length>0?Qn?(Qn.p(Vn,qn),qn&1&&transition_in(Qn,1)):(Qn=create_if_block$2(Vn),Qn.c(),transition_in(Qn,1),Qn.m($n.parentNode,$n)):Qn&&(group_outros(),transition_out(Qn,1,1,()=>{Qn=null}),check_outros())},i(Vn){Mn||(transition_in(Qn),Mn=!0)},o(Vn){transition_out(Qn),Mn=!1},d(Vn){Vn&&(detach(ke),detach(Ce),detach($n)),Qn&&Qn.d(Vn)}}}function instance$3(_n,ke,Ce){const $n=getContext$1("channel");let Mn=[],Qn=null,Vn=[];return onMount(()=>{axios.get($n.lucentUrl+"/home/records").then(qn=>{Ce(0,Mn=qn.data.records),Ce(1,Qn=qn.data.graph),Ce(2,Vn=qn.data.users)}).catch(qn=>{console.log(qn)})}),[Mn,Qn,Vn]}class Index extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$3,create_fragment$3,safe_not_equal,{})}}function create_if_block_1(_n){let ke;return{c(){ke=element("span"),ke.textContent="Action in progress",attr(ke,"class","badge text-bg-warning")},m(Ce,$n){insert$1(Ce,ke,$n)},d(Ce){Ce&&detach(ke)}}}function create_if_block$1(_n){let ke;return{c(){ke=element("span"),ke.textContent="Action completed",attr(ke,"class","badge text-bg-info")},m(Ce,$n){insert$1(Ce,ke,$n)},d(Ce){Ce&&detach(ke)}}}function create_fragment$2(_n){let ke,Ce,$n,Mn,Qn,Vn,qn,Zn,jn,Xn,zn,Hn,Wn,Yn,Un,Gn,Kn,Jn,tr=_n[2]&&create_if_block_1(),nr=!_n[2]&&_n[3]&&create_if_block$1();return{c(){ke=element("div"),Ce=element("div"),$n=element("h3"),Mn=text(_n[0]),Qn=space$3(),Vn=element("button"),qn=text("Start"),Zn=space$3(),jn=element("div"),tr&&tr.c(),Xn=space$3(),nr&&nr.c(),zn=space$3(),Hn=element("pre"),Wn=text(_n[3]),Yn=text(` `),Un=element("div"),Un.textContent=" ",Gn=text(` `),attr($n,"class","header-small mb-5"),attr(Vn,"class","button primary mb-3"),Vn.disabled=_n[2],attr(jn,"class","mb-3"),attr(Hn,"class","logs svelte-a3cwpi"),attr(Ce,"class","lx-card mt-5"),attr(ke,"class","common-wrapper")},m(er,rr){insert$1(er,ke,rr),append(ke,Ce),append(Ce,$n),append($n,Mn),append(Ce,Qn),append(Ce,Vn),append(Vn,qn),append(Ce,Zn),append(Ce,jn),tr&&tr.m(jn,null),append(jn,Xn),nr&&nr.m(jn,null),append(Ce,zn),append(Ce,Hn),append(Hn,Wn),append(Hn,Yn),append(Hn,Un),_n[6](Un),append(Hn,Gn),Kn||(Jn=listen(Vn,"click",_n[4]),Kn=!0)},p(er,[rr]){rr&1&&set_data(Mn,er[0]),rr&4&&(Vn.disabled=er[2]),er[2]?tr||(tr=create_if_block_1(),tr.c(),tr.m(jn,Xn)):tr&&(tr.d(1),tr=null),!er[2]&&er[3]?nr||(nr=create_if_block$1(),nr.c(),nr.m(jn,null)):nr&&(nr.d(1),nr=null),rr&8&&set_data(Wn,er[3])},i:noop,o:noop,d(er){er&&detach(ke),tr&&tr.d(),nr&&nr.d(),_n[6](null),Kn=!1,Jn()}}}function instance$2(_n,ke,Ce){let $n;const Mn=getContext$1("channel");let{title:Qn}=ke,{command:Vn}=ke,qn,Zn=!1;function jn(){const Hn=new EventSource(Mn.lucentUrl+"/command-report-source/"+Vn.signature);Hn.onmessage=function(Wn){Ce(2,Zn=!0);const Yn=JSON.parse(Wn.data);Yn.date,Ce(3,$n=Yn.logs),qn.scrollIntoView()},Hn.onerror=Wn=>{Hn.close(),Ce(2,Zn=!1)}}function Xn(Hn){Hn.preventDefault(),Ce(2,Zn=!0),axios$1.post(Mn.lucentUrl+"/command/"+Vn.signature).then(Wn=>{jn()})}onMount(()=>{jn()});function zn(Hn){binding_callbacks[Hn?"unshift":"push"](()=>{qn=Hn,Ce(1,qn)})}return _n.$$set=Hn=>{"title"in Hn&&Ce(0,Qn=Hn.title),"command"in Hn&&Ce(5,Vn=Hn.command)},Ce(3,$n=""),[Qn,qn,Zn,$n,Xn,Vn,zn]}class Report extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$2,create_fragment$2,safe_not_equal,{title:0,command:5})}}function get_each_context(_n,ke,Ce){const $n=_n.slice();return $n[2]=ke[Ce],$n}function create_if_block(_n){let ke,Ce;return ke=new Dropdown({props:{$$slots:{button:[create_button_slot],default:[create_default_slot]},$$scope:{ctx:_n}}}),{c(){create_component(ke.$$.fragment)},m($n,Mn){mount_component(ke,$n,Mn),Ce=!0},p($n,Mn){const Qn={};Mn&32&&(Qn.$$scope={dirty:Mn,ctx:$n}),ke.$set(Qn)},i($n){Ce||(transition_in(ke.$$.fragment,$n),Ce=!0)},o($n){transition_out(ke.$$.fragment,$n),Ce=!1},d($n){destroy_component(ke,$n)}}}function create_each_block(_n){let ke,Ce=_n[2].name+"",$n;return{c(){ke=element("a"),$n=text(Ce),attr(ke,"href",_n[0].lucentUrl+"/command-report/"+_n[2].signature),attr(ke,"class","top-nav-item")},m(Mn,Qn){insert$1(Mn,ke,Qn),append(ke,$n)},p:noop,d(Mn){Mn&&detach(ke)}}}function create_default_slot(_n){let ke,Ce=ensure_array_like(_n[0].commands),$n=[];for(let Mn=0;Mn0&&create_if_block(_n);return qn=new Avatar({props:{side:"28",name:_n[1].name}}),{c(){ke=element("div"),Ce=element("a"),$n=text("Members"),Mn=space$3(),jn&&jn.c(),Qn=space$3(),Vn=element("a"),create_component(qn.$$.fragment),attr(Ce,"class","top-nav-item"),attr(Ce,"href",_n[0].lucentUrl+"/members"),attr(Vn,"href",_n[0].lucentUrl+"/profile"),attr(ke,"class","top-nav ")},m(Xn,zn){insert$1(Xn,ke,zn),append(ke,Ce),append(Ce,$n),append(ke,Mn),jn&&jn.m(ke,null),append(ke,Qn),append(ke,Vn),mount_component(qn,Vn,null),Zn=!0},p(Xn,[zn]){Xn[0].commands.length>0&&jn.p(Xn,zn)},i(Xn){Zn||(transition_in(jn),transition_in(qn.$$.fragment,Xn),Zn=!0)},o(Xn){transition_out(jn),transition_out(qn.$$.fragment,Xn),Zn=!1},d(Xn){Xn&&detach(ke),jn&&jn.d(),destroy_component(qn)}}}function instance$1(_n){const ke=getContext$1("channel"),Ce=getContext$1("user");return[ke,Ce]}class Header extends SvelteComponent{constructor(ke){super(),init(this,ke,instance$1,create_fragment$1,safe_not_equal,{})}}function create_fragment(_n){let ke,Ce,$n,Mn,Qn,Vn,qn,Zn,jn;$n=new Navbar({props:{schema:_n[2].schema}}),Vn=new Header({});const Xn=[{title:_n[0]},_n[2]];var zn=_n[3][_n[1]];function Hn(Wn,Yn){let Un={};for(let Gn=0;Gn{destroy_component(Gn,1)}),check_outros()}zn?(Zn=construct_svelte_component(zn,Hn(Wn,Yn)),create_component(Zn.$$.fragment),transition_in(Zn.$$.fragment,1),mount_component(Zn,Qn,null)):Zn=null}else if(zn){const Gn=Yn&5?get_spread_update(Xn,[Yn&1&&{title:Wn[0]},Yn&4&&get_spread_object(Wn[2])]):{};Zn.$set(Gn)}},i(Wn){jn||(transition_in($n.$$.fragment,Wn),transition_in(Vn.$$.fragment,Wn),Zn&&transition_in(Zn.$$.fragment,Wn),jn=!0)},o(Wn){transition_out($n.$$.fragment,Wn),transition_out(Vn.$$.fragment,Wn),Zn&&transition_out(Zn.$$.fragment,Wn),jn=!1},d(Wn){Wn&&detach(ke),destroy_component($n),destroy_component(Vn),Zn&&destroy_component(Zn)}}}function instance(_n,ke,Ce){const $n={members:Members,recordEdit:Edit,recordNotFound:NotFound,contentIndex:Index$1,homeIndex:Index,buildReport:Report};let{title:Mn}=ke,{view:Qn}=ke,{user:Vn}=ke,{data:qn}=ke,{channel:Zn}=ke,{axios:jn}=ke,{readableSchemas:Xn}=ke;return setContext("axios",jn),setContext("channel",Zn),setContext("readableSchemas",Zn.schemas.filter(zn=>Xn.includes(zn.name))),setContext("user",Vn),_n.$$set=zn=>{"title"in zn&&Ce(0,Mn=zn.title),"view"in zn&&Ce(1,Qn=zn.view),"user"in zn&&Ce(4,Vn=zn.user),"data"in zn&&Ce(2,qn=zn.data),"channel"in zn&&Ce(5,Zn=zn.channel),"axios"in zn&&Ce(6,jn=zn.axios),"readableSchemas"in zn&&Ce(7,Xn=zn.readableSchemas)},[Mn,Qn,qn,$n,Vn,Zn,jn,Xn]}class Channel extends SvelteComponent{constructor(ke){super(),init(this,ke,instance,create_fragment,safe_not_equal,{title:0,view:1,user:4,data:2,channel:5,axios:6,readableSchemas:7})}}(function(){const htmx={onLoad:null,process:null,on:null,off:null,trigger:null,ajax:null,find:null,findAll:null,closest:null,values:function(_n,ke){return getInputValues(_n,ke||"post").values},remove:null,addClass:null,removeClass:null,toggleClass:null,takeClass:null,swap:null,defineExtension:null,removeExtension:null,logAll:null,logNone:null,logger:null,config:{historyEnabled:!0,historyCacheSize:10,refreshOnHistoryMiss:!1,defaultSwapStyle:"innerHTML",defaultSwapDelay:0,defaultSettleDelay:20,includeIndicatorStyles:!0,indicatorClass:"htmx-indicator",requestClass:"htmx-request",addedClass:"htmx-added",settlingClass:"htmx-settling",swappingClass:"htmx-swapping",allowEval:!0,allowScriptTags:!0,inlineScriptNonce:"",inlineStyleNonce:"",attributesToSettle:["class","style","width","height"],withCredentials:!1,timeout:0,wsReconnectDelay:"full-jitter",wsBinaryType:"blob",disableSelector:"[hx-disable], [data-hx-disable]",scrollBehavior:"instant",defaultFocusScroll:!1,getCacheBusterParam:!1,globalViewTransitions:!1,methodsThatUseUrlParams:["get","delete"],selfRequestsOnly:!0,ignoreTitle:!1,scrollIntoViewOnBoost:!0,triggerSpecsCache:null,disableInheritance:!1,responseHandling:[{code:"204",swap:!1},{code:"[23]..",swap:!0},{code:"[45]..",swap:!1,error:!0}],allowNestedOobSwaps:!0},parseInterval:null,_:null,version:"2.0.3"};htmx.onLoad=onLoadHelper,htmx.process=processNode,htmx.on=addEventListenerImpl,htmx.off=removeEventListenerImpl,htmx.trigger=triggerEvent,htmx.ajax=ajaxHelper,htmx.find=find,htmx.findAll=findAll,htmx.closest=closest,htmx.remove=removeElement,htmx.addClass=addClassToElement,htmx.removeClass=removeClassFromElement,htmx.toggleClass=toggleClassOnElement,htmx.takeClass=takeClassForElement,htmx.swap=swap,htmx.defineExtension=defineExtension,htmx.removeExtension=removeExtension,htmx.logAll=logAll,htmx.logNone=logNone,htmx.parseInterval=parseInterval,htmx._=internalEval;const internalAPI={addTriggerHandler,bodyContains,canAccessLocalStorage,findThisElement,filterValues,swap,hasAttribute,getAttributeValue,getClosestAttributeValue,getClosestMatch,getExpressionVars,getHeaders,getInputValues,getInternalData,getSwapSpecification,getTriggerSpecs,getTarget,makeFragment,mergeObjects,makeSettleInfo,oobSwap,querySelectorExt,settleImmediately,shouldCancel,triggerEvent,triggerErrorEvent,withExtensions},VERBS=["get","post","put","delete","patch"],VERB_SELECTOR=VERBS.map(function(_n){return"[hx-"+_n+"], [data-hx-"+_n+"]"}).join(", ");function parseInterval(_n){if(_n==null)return;let ke=NaN;return _n.slice(-2)=="ms"?ke=parseFloat(_n.slice(0,-2)):_n.slice(-1)=="s"?ke=parseFloat(_n.slice(0,-1))*1e3:_n.slice(-1)=="m"?ke=parseFloat(_n.slice(0,-1))*1e3*60:ke=parseFloat(_n),isNaN(ke)?void 0:ke}function getRawAttribute(_n,ke){return _n instanceof Element&&_n.getAttribute(ke)}function hasAttribute(_n,ke){return!!_n.hasAttribute&&(_n.hasAttribute(ke)||_n.hasAttribute("data-"+ke))}function getAttributeValue(_n,ke){return getRawAttribute(_n,ke)||getRawAttribute(_n,"data-"+ke)}function parentElt(_n){const ke=_n.parentElement;return!ke&&_n.parentNode instanceof ShadowRoot?_n.parentNode:ke}function getDocument(){return document}function getRootNode(_n,ke){return _n.getRootNode?_n.getRootNode({composed:ke}):getDocument()}function getClosestMatch(_n,ke){for(;_n&&!ke(_n);)_n=parentElt(_n);return _n||null}function getAttributeValueWithDisinheritance(_n,ke,Ce){const $n=getAttributeValue(ke,Ce),Mn=getAttributeValue(ke,"hx-disinherit");var Qn=getAttributeValue(ke,"hx-inherit");if(_n!==ke){if(htmx.config.disableInheritance)return Qn&&(Qn==="*"||Qn.split(" ").indexOf(Ce)>=0)?$n:null;if(Mn&&(Mn==="*"||Mn.split(" ").indexOf(Ce)>=0))return"unset"}return $n}function getClosestAttributeValue(_n,ke){let Ce=null;if(getClosestMatch(_n,function($n){return!!(Ce=getAttributeValueWithDisinheritance(_n,asElement($n),ke))}),Ce!=="unset")return Ce}function matches(_n,ke){const Ce=_n instanceof Element&&(_n.matches||_n.matchesSelector||_n.msMatchesSelector||_n.mozMatchesSelector||_n.webkitMatchesSelector||_n.oMatchesSelector);return!!Ce&&Ce.call(_n,ke)}function getStartTag(_n){const Ce=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i.exec(_n);return Ce?Ce[1].toLowerCase():""}function parseHTML(_n){return new DOMParser().parseFromString(_n,"text/html")}function takeChildrenFor(_n,ke){for(;ke.childNodes.length>0;)_n.append(ke.childNodes[0])}function duplicateScript(_n){const ke=getDocument().createElement("script");return forEach(_n.attributes,function(Ce){ke.setAttribute(Ce.name,Ce.value)}),ke.textContent=_n.textContent,ke.async=!1,htmx.config.inlineScriptNonce&&(ke.nonce=htmx.config.inlineScriptNonce),ke}function isJavaScriptScriptNode(_n){return _n.matches("script")&&(_n.type==="text/javascript"||_n.type==="module"||_n.type==="")}function normalizeScriptTags(_n){Array.from(_n.querySelectorAll("script")).forEach(ke=>{if(isJavaScriptScriptNode(ke)){const Ce=duplicateScript(ke),$n=ke.parentNode;try{$n.insertBefore(Ce,ke)}catch(Mn){logError(Mn)}finally{ke.remove()}}})}function makeFragment(_n){const ke=_n.replace(/]*)?>[\s\S]*?<\/head>/i,""),Ce=getStartTag(ke);let $n;if(Ce==="html"){$n=new DocumentFragment;const Qn=parseHTML(_n);takeChildrenFor($n,Qn.body),$n.title=Qn.title}else if(Ce==="body"){$n=new DocumentFragment;const Qn=parseHTML(ke);takeChildrenFor($n,Qn.body),$n.title=Qn.title}else{const Qn=parseHTML('");$n=Qn.querySelector("template").content,$n.title=Qn.title;var Mn=$n.querySelector("title");Mn&&Mn.parentNode===$n&&(Mn.remove(),$n.title=Mn.innerText)}return $n&&(htmx.config.allowScriptTags?normalizeScriptTags($n):$n.querySelectorAll("script").forEach(Qn=>Qn.remove())),$n}function maybeCall(_n){_n&&_n()}function isType(_n,ke){return Object.prototype.toString.call(_n)==="[object "+ke+"]"}function isFunction(_n){return typeof _n=="function"}function isRawObject(_n){return isType(_n,"Object")}function getInternalData(_n){const ke="htmx-internal-data";let Ce=_n[ke];return Ce||(Ce=_n[ke]={}),Ce}function toArray(_n){const ke=[];if(_n)for(let Ce=0;Ce<_n.length;Ce++)ke.push(_n[Ce]);return ke}function forEach(_n,ke){if(_n)for(let Ce=0;Ce<_n.length;Ce++)ke(_n[Ce])}function isScrolledIntoView(_n){const ke=_n.getBoundingClientRect(),Ce=ke.top,$n=ke.bottom;return Ce=0}function bodyContains(_n){const ke=_n.getRootNode&&_n.getRootNode();return ke&&ke instanceof window.ShadowRoot?getDocument().body.contains(ke.host):getDocument().body.contains(_n)}function splitOnWhitespace(_n){return _n.trim().split(/\s+/)}function mergeObjects(_n,ke){for(const Ce in ke)ke.hasOwnProperty(Ce)&&(_n[Ce]=ke[Ce]);return _n}function parseJSON(_n){try{return JSON.parse(_n)}catch(ke){return logError(ke),null}}function canAccessLocalStorage(){const _n="htmx:localStorageTest";try{return localStorage.setItem(_n,_n),localStorage.removeItem(_n),!0}catch{return!1}}function normalizePath(_n){try{const ke=new URL(_n);return ke&&(_n=ke.pathname+ke.search),/^\/$/.test(_n)||(_n=_n.replace(/\/+$/,"")),_n}catch{return _n}}function internalEval(str){return maybeEval(getDocument().body,function(){return eval(str)})}function onLoadHelper(_n){return htmx.on("htmx:load",function(Ce){_n(Ce.detail.elt)})}function logAll(){htmx.logger=function(_n,ke,Ce){console&&console.log(ke,_n,Ce)}}function logNone(){htmx.logger=null}function find(_n,ke){return typeof _n!="string"?_n.querySelector(ke):find(getDocument(),_n)}function findAll(_n,ke){return typeof _n!="string"?_n.querySelectorAll(ke):findAll(getDocument(),_n)}function getWindow(){return window}function removeElement(_n,ke){_n=resolveTarget(_n),ke?getWindow().setTimeout(function(){removeElement(_n),_n=null},ke):parentElt(_n).removeChild(_n)}function asElement(_n){return _n instanceof Element?_n:null}function asHtmlElement(_n){return _n instanceof HTMLElement?_n:null}function asString(_n){return typeof _n=="string"?_n:null}function asParentNode(_n){return _n instanceof Element||_n instanceof Document||_n instanceof DocumentFragment?_n:null}function addClassToElement(_n,ke,Ce){_n=asElement(resolveTarget(_n)),_n&&(Ce?getWindow().setTimeout(function(){addClassToElement(_n,ke),_n=null},Ce):_n.classList&&_n.classList.add(ke))}function removeClassFromElement(_n,ke,Ce){let $n=asElement(resolveTarget(_n));$n&&(Ce?getWindow().setTimeout(function(){removeClassFromElement($n,ke),$n=null},Ce):$n.classList&&($n.classList.remove(ke),$n.classList.length===0&&$n.removeAttribute("class")))}function toggleClassOnElement(_n,ke){_n=resolveTarget(_n),_n.classList.toggle(ke)}function takeClassForElement(_n,ke){_n=resolveTarget(_n),forEach(_n.parentElement.children,function(Ce){removeClassFromElement(Ce,ke)}),addClassToElement(asElement(_n),ke)}function closest(_n,ke){if(_n=asElement(resolveTarget(_n)),_n&&_n.closest)return _n.closest(ke);do if(_n==null||matches(_n,ke))return _n;while(_n=_n&&asElement(parentElt(_n)));return null}function startsWith(_n,ke){return _n.substring(0,ke.length)===ke}function endsWith(_n,ke){return _n.substring(_n.length-ke.length)===ke}function normalizeSelector(_n){const ke=_n.trim();return startsWith(ke,"<")&&endsWith(ke,"/>")?ke.substring(1,ke.length-2):ke}function querySelectorAllExt(_n,ke,Ce){return _n=resolveTarget(_n),ke.indexOf("closest ")===0?[closest(asElement(_n),normalizeSelector(ke.substr(8)))]:ke.indexOf("find ")===0?[find(asParentNode(_n),normalizeSelector(ke.substr(5)))]:ke==="next"?[asElement(_n).nextElementSibling]:ke.indexOf("next ")===0?[scanForwardQuery(_n,normalizeSelector(ke.substr(5)),!!Ce)]:ke==="previous"?[asElement(_n).previousElementSibling]:ke.indexOf("previous ")===0?[scanBackwardsQuery(_n,normalizeSelector(ke.substr(9)),!!Ce)]:ke==="document"?[document]:ke==="window"?[window]:ke==="body"?[document.body]:ke==="root"?[getRootNode(_n,!!Ce)]:ke==="host"?[_n.getRootNode().host]:ke.indexOf("global ")===0?querySelectorAllExt(_n,ke.slice(7),!0):toArray(asParentNode(getRootNode(_n,!!Ce)).querySelectorAll(normalizeSelector(ke)))}var scanForwardQuery=function(_n,ke,Ce){const $n=asParentNode(getRootNode(_n,Ce)).querySelectorAll(ke);for(let Mn=0;Mn<$n.length;Mn++){const Qn=$n[Mn];if(Qn.compareDocumentPosition(_n)===Node.DOCUMENT_POSITION_PRECEDING)return Qn}},scanBackwardsQuery=function(_n,ke,Ce){const $n=asParentNode(getRootNode(_n,Ce)).querySelectorAll(ke);for(let Mn=$n.length-1;Mn>=0;Mn--){const Qn=$n[Mn];if(Qn.compareDocumentPosition(_n)===Node.DOCUMENT_POSITION_FOLLOWING)return Qn}};function querySelectorExt(_n,ke){return typeof _n!="string"?querySelectorAllExt(_n,ke)[0]:querySelectorAllExt(getDocument().body,_n)[0]}function resolveTarget(_n,ke){return typeof _n=="string"?find(asParentNode(ke)||document,_n):_n}function processEventArgs(_n,ke,Ce,$n){return isFunction(ke)?{target:getDocument().body,event:asString(_n),listener:ke,options:Ce}:{target:resolveTarget(_n),event:asString(ke),listener:Ce,options:$n}}function addEventListenerImpl(_n,ke,Ce,$n){return ready(function(){const Qn=processEventArgs(_n,ke,Ce,$n);Qn.target.addEventListener(Qn.event,Qn.listener,Qn.options)}),isFunction(ke)?ke:Ce}function removeEventListenerImpl(_n,ke,Ce){return ready(function(){const $n=processEventArgs(_n,ke,Ce);$n.target.removeEventListener($n.event,$n.listener)}),isFunction(ke)?ke:Ce}const DUMMY_ELT=getDocument().createElement("output");function findAttributeTargets(_n,ke){const Ce=getClosestAttributeValue(_n,ke);if(Ce){if(Ce==="this")return[findThisElement(_n,ke)];{const $n=querySelectorAllExt(_n,Ce);return $n.length===0?(logError('The selector "'+Ce+'" on '+ke+" returned no matches!"),[DUMMY_ELT]):$n}}}function findThisElement(_n,ke){return asElement(getClosestMatch(_n,function(Ce){return getAttributeValue(asElement(Ce),ke)!=null}))}function getTarget(_n){const ke=getClosestAttributeValue(_n,"hx-target");return ke?ke==="this"?findThisElement(_n,"hx-target"):querySelectorExt(_n,ke):getInternalData(_n).boosted?getDocument().body:_n}function shouldSettleAttribute(_n){const ke=htmx.config.attributesToSettle;for(let Ce=0;Ce0?(Qn=_n.substr(0,_n.indexOf(":")),Mn=_n.substr(_n.indexOf(":")+1,_n.length)):Qn=_n),ke.removeAttribute("hx-swap-oob"),ke.removeAttribute("data-hx-swap-oob");const Vn=querySelectorAllExt($n,Mn,!1);return Vn?(forEach(Vn,function(qn){let Zn;const jn=ke.cloneNode(!0);Zn=getDocument().createDocumentFragment(),Zn.appendChild(jn),isInlineSwap(Qn,qn)||(Zn=asParentNode(jn));const Xn={shouldSwap:!0,target:qn,fragment:Zn};triggerEvent(qn,"htmx:oobBeforeSwap",Xn)&&(qn=Xn.target,Xn.shouldSwap&&(handlePreservedElements(Zn),swapWithStyle(Qn,qn,qn,Zn,Ce),restorePreservedElements()),forEach(Ce.elts,function(zn){triggerEvent(zn,"htmx:oobAfterSwap",Xn)}))}),ke.parentNode.removeChild(ke)):(ke.parentNode.removeChild(ke),triggerErrorEvent(getDocument().body,"htmx:oobErrorNoTarget",{content:ke})),_n}function restorePreservedElements(){const _n=find("#--htmx-preserve-pantry--");if(_n){for(const ke of[..._n.children]){const Ce=find("#"+ke.id);Ce.parentNode.moveBefore(ke,Ce),Ce.remove()}_n.remove()}}function handlePreservedElements(_n){forEach(findAll(_n,"[hx-preserve], [data-hx-preserve]"),function(ke){const Ce=getAttributeValue(ke,"id"),$n=getDocument().getElementById(Ce);if($n!=null)if(ke.moveBefore){let Mn=find("#--htmx-preserve-pantry--");Mn==null&&(getDocument().body.insertAdjacentHTML("afterend","
"),Mn=find("#--htmx-preserve-pantry--")),Mn.moveBefore($n,null)}else ke.parentNode.replaceChild($n,ke)})}function handleAttributes(_n,ke,Ce){forEach(ke.querySelectorAll("[id]"),function($n){const Mn=getRawAttribute($n,"id");if(Mn&&Mn.length>0){const Qn=Mn.replace("'","\\'"),Vn=$n.tagName.replace(":","\\:"),qn=asParentNode(_n),Zn=qn&&qn.querySelector(Vn+"[id='"+Qn+"']");if(Zn&&Zn!==qn){const jn=$n.cloneNode();cloneAttributes($n,Zn),Ce.tasks.push(function(){cloneAttributes($n,jn)})}}})}function makeAjaxLoadTask(_n){return function(){removeClassFromElement(_n,htmx.config.addedClass),processNode(asElement(_n)),processFocus(asParentNode(_n)),triggerEvent(_n,"htmx:load")}}function processFocus(_n){const ke="[autofocus]",Ce=asHtmlElement(matches(_n,ke)?_n:_n.querySelector(ke));Ce!=null&&Ce.focus()}function insertNodesBefore(_n,ke,Ce,$n){for(handleAttributes(_n,Ce,$n);Ce.childNodes.length>0;){const Mn=Ce.firstChild;addClassToElement(asElement(Mn),htmx.config.addedClass),_n.insertBefore(Mn,ke),Mn.nodeType!==Node.TEXT_NODE&&Mn.nodeType!==Node.COMMENT_NODE&&$n.tasks.push(makeAjaxLoadTask(Mn))}}function stringHash(_n,ke){let Ce=0;for(;Ce<_n.length;)ke=(ke<<5)-ke+_n.charCodeAt(Ce++)|0;return ke}function attributeHash(_n){let ke=0;if(_n.attributes)for(let Ce=0;Ce<_n.attributes.length;Ce++){const $n=_n.attributes[Ce];$n.value&&(ke=stringHash($n.name,ke),ke=stringHash($n.value,ke))}return ke}function deInitOnHandlers(_n){const ke=getInternalData(_n);if(ke.onHandlers){for(let Ce=0;Ce0}function swap(_n,ke,Ce,$n){$n||($n={}),_n=resolveTarget(_n);const Mn=$n.contextElement?getRootNode($n.contextElement,!1):getDocument(),Qn=document.activeElement;let Vn={};try{Vn={elt:Qn,start:Qn?Qn.selectionStart:null,end:Qn?Qn.selectionEnd:null}}catch{}const qn=makeSettleInfo(_n);if(Ce.swapStyle==="textContent")_n.textContent=ke;else{let jn=makeFragment(ke);if(qn.title=jn.title,$n.selectOOB){const Xn=$n.selectOOB.split(",");for(let zn=0;zn0?getWindow().setTimeout(Zn,Ce.settleDelay):Zn()}function handleTriggerHeader(_n,ke,Ce){const $n=_n.getResponseHeader(ke);if($n.indexOf("{")===0){const Mn=parseJSON($n);for(const Qn in Mn)if(Mn.hasOwnProperty(Qn)){let Vn=Mn[Qn];isRawObject(Vn)?Ce=Vn.target!==void 0?Vn.target:Ce:Vn={value:Vn},triggerEvent(Ce,Qn,Vn)}}else{const Mn=$n.split(",");for(let Qn=0;Qn0;){const Vn=ke[0];if(Vn==="]"){if($n--,$n===0){Qn===null&&(Mn=Mn+"true"),ke.shift(),Mn+=")})";try{const qn=maybeEval(_n,function(){return Function(Mn)()},function(){return!0});return qn.source=Mn,qn}catch(qn){return triggerErrorEvent(getDocument().body,"htmx:syntax:error",{error:qn,source:Mn}),null}}}else Vn==="["&&$n++;isPossibleRelativeReference(Vn,Qn,Ce)?Mn+="(("+Ce+"."+Vn+") ? ("+Ce+"."+Vn+") : (window."+Vn+"))":Mn=Mn+Vn,Qn=ke.shift()}}}function consumeUntil(_n,ke){let Ce="";for(;_n.length>0&&!ke.test(_n[0]);)Ce+=_n.shift();return Ce}function consumeCSSSelector(_n){let ke;return _n.length>0&&COMBINED_SELECTOR_START.test(_n[0])?(_n.shift(),ke=consumeUntil(_n,COMBINED_SELECTOR_END).trim(),_n.shift()):ke=consumeUntil(_n,WHITESPACE_OR_COMMA),ke}const INPUT_SELECTOR="input, textarea, select";function parseAndCacheTrigger(_n,ke,Ce){const $n=[],Mn=tokenizeString(ke);do{consumeUntil(Mn,NOT_WHITESPACE);const qn=Mn.length,Zn=consumeUntil(Mn,/[,\[\s]/);if(Zn!=="")if(Zn==="every"){const jn={trigger:"every"};consumeUntil(Mn,NOT_WHITESPACE),jn.pollInterval=parseInterval(consumeUntil(Mn,/[,\[\s]/)),consumeUntil(Mn,NOT_WHITESPACE);var Qn=maybeGenerateConditional(_n,Mn,"event");Qn&&(jn.eventFilter=Qn),$n.push(jn)}else{const jn={trigger:Zn};var Qn=maybeGenerateConditional(_n,Mn,"event");for(Qn&&(jn.eventFilter=Qn),consumeUntil(Mn,NOT_WHITESPACE);Mn.length>0&&Mn[0]!==",";){const zn=Mn.shift();if(zn==="changed")jn.changed=!0;else if(zn==="once")jn.once=!0;else if(zn==="consume")jn.consume=!0;else if(zn==="delay"&&Mn[0]===":")Mn.shift(),jn.delay=parseInterval(consumeUntil(Mn,WHITESPACE_OR_COMMA));else if(zn==="from"&&Mn[0]===":"){if(Mn.shift(),COMBINED_SELECTOR_START.test(Mn[0]))var Vn=consumeCSSSelector(Mn);else{var Vn=consumeUntil(Mn,WHITESPACE_OR_COMMA);if(Vn==="closest"||Vn==="find"||Vn==="next"||Vn==="previous"){Mn.shift();const Wn=consumeCSSSelector(Mn);Wn.length>0&&(Vn+=" "+Wn)}}jn.from=Vn}else zn==="target"&&Mn[0]===":"?(Mn.shift(),jn.target=consumeCSSSelector(Mn)):zn==="throttle"&&Mn[0]===":"?(Mn.shift(),jn.throttle=parseInterval(consumeUntil(Mn,WHITESPACE_OR_COMMA))):zn==="queue"&&Mn[0]===":"?(Mn.shift(),jn.queue=consumeUntil(Mn,WHITESPACE_OR_COMMA)):zn==="root"&&Mn[0]===":"?(Mn.shift(),jn[zn]=consumeCSSSelector(Mn)):zn==="threshold"&&Mn[0]===":"?(Mn.shift(),jn[zn]=consumeUntil(Mn,WHITESPACE_OR_COMMA)):triggerErrorEvent(_n,"htmx:syntax:error",{token:Mn.shift()});consumeUntil(Mn,NOT_WHITESPACE)}$n.push(jn)}Mn.length===qn&&triggerErrorEvent(_n,"htmx:syntax:error",{token:Mn.shift()}),consumeUntil(Mn,NOT_WHITESPACE)}while(Mn[0]===","&&Mn.shift());return Ce&&(Ce[ke]=$n),$n}function getTriggerSpecs(_n){const ke=getAttributeValue(_n,"hx-trigger");let Ce=[];if(ke){const $n=htmx.config.triggerSpecsCache;Ce=$n&&$n[ke]||parseAndCacheTrigger(_n,ke,$n)}return Ce.length>0?Ce:matches(_n,"form")?[{trigger:"submit"}]:matches(_n,'input[type="button"], input[type="submit"]')?[{trigger:"click"}]:matches(_n,INPUT_SELECTOR)?[{trigger:"change"}]:[{trigger:"click"}]}function cancelPolling(_n){getInternalData(_n).cancelled=!0}function processPolling(_n,ke,Ce){const $n=getInternalData(_n);$n.timeout=getWindow().setTimeout(function(){bodyContains(_n)&&$n.cancelled!==!0&&(maybeFilterEvent(Ce,_n,makeEvent("hx:poll:trigger",{triggerSpec:Ce,target:_n}))||ke(_n),processPolling(_n,ke,Ce))},Ce.pollInterval)}function isLocalLink(_n){return location.hostname===_n.hostname&&getRawAttribute(_n,"href")&&getRawAttribute(_n,"href").indexOf("#")!==0}function eltIsDisabled(_n){return closest(_n,htmx.config.disableSelector)}function boostElement(_n,ke,Ce){if(_n instanceof HTMLAnchorElement&&isLocalLink(_n)&&(_n.target===""||_n.target==="_self")||_n.tagName==="FORM"&&String(getRawAttribute(_n,"method")).toLowerCase()!=="dialog"){ke.boosted=!0;let $n,Mn;if(_n.tagName==="A")$n="get",Mn=getRawAttribute(_n,"href");else{const Qn=getRawAttribute(_n,"method");$n=Qn?Qn.toLowerCase():"get",Mn=getRawAttribute(_n,"action"),$n==="get"&&Mn.includes("?")&&(Mn=Mn.replace(/\?[^#]+/,""))}Ce.forEach(function(Qn){addEventListener(_n,function(Vn,qn){const Zn=asElement(Vn);if(eltIsDisabled(Zn)){cleanUpElement(Zn);return}issueAjaxRequest($n,Mn,Zn,qn)},ke,Qn,!0)})}}function shouldCancel(_n,ke){const Ce=asElement(ke);return Ce?!!((_n.type==="submit"||_n.type==="click")&&(Ce.tagName==="FORM"||matches(Ce,'input[type="submit"], button')&&closest(Ce,"form")!==null||Ce instanceof HTMLAnchorElement&&Ce.href&&(Ce.getAttribute("href")==="#"||Ce.getAttribute("href").indexOf("#")!==0))):!1}function ignoreBoostedAnchorCtrlClick(_n,ke){return getInternalData(_n).boosted&&_n instanceof HTMLAnchorElement&&ke.type==="click"&&(ke.ctrlKey||ke.metaKey)}function maybeFilterEvent(_n,ke,Ce){const $n=_n.eventFilter;if($n)try{return $n.call(ke,Ce)!==!0}catch(Mn){const Qn=$n.source;return triggerErrorEvent(getDocument().body,"htmx:eventFilter:error",{error:Mn,source:Qn}),!0}return!1}function addEventListener(_n,ke,Ce,$n,Mn){const Qn=getInternalData(_n);let Vn;$n.from?Vn=querySelectorAllExt(_n,$n.from):Vn=[_n],$n.changed&&("lastValue"in Qn||(Qn.lastValue=new WeakMap),Vn.forEach(function(qn){Qn.lastValue.has($n)||Qn.lastValue.set($n,new WeakMap),Qn.lastValue.get($n).set(qn,qn.value)})),forEach(Vn,function(qn){const Zn=function(jn){if(!bodyContains(_n)){qn.removeEventListener($n.trigger,Zn);return}if(ignoreBoostedAnchorCtrlClick(_n,jn)||((Mn||shouldCancel(jn,_n))&&jn.preventDefault(),maybeFilterEvent($n,_n,jn)))return;const Xn=getInternalData(jn);if(Xn.triggerSpec=$n,Xn.handledFor==null&&(Xn.handledFor=[]),Xn.handledFor.indexOf(_n)<0){if(Xn.handledFor.push(_n),$n.consume&&jn.stopPropagation(),$n.target&&jn.target&&!matches(asElement(jn.target),$n.target))return;if($n.once){if(Qn.triggeredOnce)return;Qn.triggeredOnce=!0}if($n.changed){const zn=event.target,Hn=zn.value,Wn=Qn.lastValue.get($n);if(Wn.has(zn)&&Wn.get(zn)===Hn)return;Wn.set(zn,Hn)}if(Qn.delayed&&clearTimeout(Qn.delayed),Qn.throttle)return;$n.throttle>0?Qn.throttle||(triggerEvent(_n,"htmx:trigger"),ke(_n,jn),Qn.throttle=getWindow().setTimeout(function(){Qn.throttle=null},$n.throttle)):$n.delay>0?Qn.delayed=getWindow().setTimeout(function(){triggerEvent(_n,"htmx:trigger"),ke(_n,jn)},$n.delay):(triggerEvent(_n,"htmx:trigger"),ke(_n,jn))}};Ce.listenerInfos==null&&(Ce.listenerInfos=[]),Ce.listenerInfos.push({trigger:$n.trigger,listener:Zn,on:qn}),qn.addEventListener($n.trigger,Zn)})}let windowIsScrolling=!1,scrollHandler=null;function initScrollHandler(){scrollHandler||(scrollHandler=function(){windowIsScrolling=!0},window.addEventListener("scroll",scrollHandler),window.addEventListener("resize",scrollHandler),setInterval(function(){windowIsScrolling&&(windowIsScrolling=!1,forEach(getDocument().querySelectorAll("[hx-trigger*='revealed'],[data-hx-trigger*='revealed']"),function(_n){maybeReveal(_n)}))},200))}function maybeReveal(_n){!hasAttribute(_n,"data-hx-revealed")&&isScrolledIntoView(_n)&&(_n.setAttribute("data-hx-revealed","true"),getInternalData(_n).initHash?triggerEvent(_n,"revealed"):_n.addEventListener("htmx:afterProcessNode",function(){triggerEvent(_n,"revealed")},{once:!0}))}function loadImmediately(_n,ke,Ce,$n){const Mn=function(){Ce.loaded||(Ce.loaded=!0,ke(_n))};$n>0?getWindow().setTimeout(Mn,$n):Mn()}function processVerbs(_n,ke,Ce){let $n=!1;return forEach(VERBS,function(Mn){if(hasAttribute(_n,"hx-"+Mn)){const Qn=getAttributeValue(_n,"hx-"+Mn);$n=!0,ke.path=Qn,ke.verb=Mn,Ce.forEach(function(Vn){addTriggerHandler(_n,Vn,ke,function(qn,Zn){const jn=asElement(qn);if(closest(jn,htmx.config.disableSelector)){cleanUpElement(jn);return}issueAjaxRequest(Mn,Qn,jn,Zn)})})}}),$n}function addTriggerHandler(_n,ke,Ce,$n){if(ke.trigger==="revealed")initScrollHandler(),addEventListener(_n,$n,Ce,ke),maybeReveal(asElement(_n));else if(ke.trigger==="intersect"){const Mn={};ke.root&&(Mn.root=querySelectorExt(_n,ke.root)),ke.threshold&&(Mn.threshold=parseFloat(ke.threshold)),new IntersectionObserver(function(Vn){for(let qn=0;qn0?(Ce.polling=!0,processPolling(asElement(_n),$n,ke)):addEventListener(_n,$n,Ce,ke)}function shouldProcessHxOn(_n){const ke=asElement(_n);if(!ke)return!1;const Ce=ke.attributes;for(let $n=0;$n", "+Qn).join(""))}else return[]}function maybeSetLastButtonClicked(_n){const ke=closest(asElement(_n.target),"button, input[type='submit']"),Ce=getRelatedFormData(_n);Ce&&(Ce.lastButtonClicked=ke)}function maybeUnsetLastButtonClicked(_n){const ke=getRelatedFormData(_n);ke&&(ke.lastButtonClicked=null)}function getRelatedFormData(_n){const ke=closest(asElement(_n.target),"button, input[type='submit']");if(!ke)return;const Ce=resolveTarget("#"+getRawAttribute(ke,"form"),ke.getRootNode())||closest(ke,"form");if(Ce)return getInternalData(Ce)}function initButtonTracking(_n){_n.addEventListener("click",maybeSetLastButtonClicked),_n.addEventListener("focusin",maybeSetLastButtonClicked),_n.addEventListener("focusout",maybeUnsetLastButtonClicked)}function addHxOnEventHandler(_n,ke,Ce){const $n=getInternalData(_n);Array.isArray($n.onHandlers)||($n.onHandlers=[]);let Mn;const Qn=function(Vn){maybeEval(_n,function(){eltIsDisabled(_n)||(Mn||(Mn=new Function("event",Ce)),Mn.call(_n,Vn))})};_n.addEventListener(ke,Qn),$n.onHandlers.push({event:ke,listener:Qn})}function processHxOnWildcard(_n){deInitOnHandlers(_n);for(let ke=0;ke<_n.attributes.length;ke++){const Ce=_n.attributes[ke].name,$n=_n.attributes[ke].value;if(startsWith(Ce,"hx-on")||startsWith(Ce,"data-hx-on")){const Mn=Ce.indexOf("-on")+3,Qn=Ce.slice(Mn,Mn+1);if(Qn==="-"||Qn===":"){let Vn=Ce.slice(Mn+1);startsWith(Vn,":")?Vn="htmx"+Vn:startsWith(Vn,"-")?Vn="htmx:"+Vn.slice(1):startsWith(Vn,"htmx-")&&(Vn="htmx:"+Vn.slice(5)),addHxOnEventHandler(_n,Vn,$n)}}}}function initNode(_n){if(closest(_n,htmx.config.disableSelector)){cleanUpElement(_n);return}const ke=getInternalData(_n);if(ke.initHash!==attributeHash(_n)){deInitNode(_n),ke.initHash=attributeHash(_n),triggerEvent(_n,"htmx:beforeProcessNode");const Ce=getTriggerSpecs(_n);processVerbs(_n,ke,Ce)||(getClosestAttributeValue(_n,"hx-boost")==="true"?boostElement(_n,ke,Ce):hasAttribute(_n,"hx-trigger")&&Ce.forEach(function(Mn){addTriggerHandler(_n,Mn,ke,function(){})})),(_n.tagName==="FORM"||getRawAttribute(_n,"type")==="submit"&&hasAttribute(_n,"form"))&&initButtonTracking(_n),triggerEvent(_n,"htmx:afterProcessNode")}}function processNode(_n){if(_n=resolveTarget(_n),closest(_n,htmx.config.disableSelector)){cleanUpElement(_n);return}initNode(_n),forEach(findElementsToProcess(_n),function(ke){initNode(ke)}),forEach(findHxOnWildcardElements(_n),processHxOnWildcard)}function kebabEventName(_n){return _n.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}function makeEvent(_n,ke){let Ce;return window.CustomEvent&&typeof window.CustomEvent=="function"?Ce=new CustomEvent(_n,{bubbles:!0,cancelable:!0,composed:!0,detail:ke}):(Ce=getDocument().createEvent("CustomEvent"),Ce.initCustomEvent(_n,!0,!0,ke)),Ce}function triggerErrorEvent(_n,ke,Ce){triggerEvent(_n,ke,mergeObjects({error:ke},Ce))}function ignoreEventForLogging(_n){return _n==="htmx:afterProcessNode"}function withExtensions(_n,ke){forEach(getExtensions(_n),function(Ce){try{ke(Ce)}catch($n){logError($n)}})}function logError(_n){console.error?console.error(_n):console.log&&console.log("ERROR: ",_n)}function triggerEvent(_n,ke,Ce){_n=resolveTarget(_n),Ce==null&&(Ce={}),Ce.elt=_n;const $n=makeEvent(ke,Ce);htmx.logger&&!ignoreEventForLogging(ke)&&htmx.logger(_n,ke,Ce),Ce.error&&(logError(Ce.error),triggerEvent(_n,"htmx:error",{errorInfo:Ce}));let Mn=_n.dispatchEvent($n);const Qn=kebabEventName(ke);if(Mn&&Qn!==ke){const Vn=makeEvent(Qn,$n.detail);Mn=Mn&&_n.dispatchEvent(Vn)}return withExtensions(asElement(_n),function(Vn){Mn=Mn&&Vn.onEvent(ke,$n)!==!1&&!$n.defaultPrevented}),Mn}let currentPathForHistory=location.pathname+location.search;function getHistoryElement(){return getDocument().querySelector("[hx-history-elt],[data-hx-history-elt]")||getDocument().body}function saveToHistoryCache(_n,ke){if(!canAccessLocalStorage())return;const Ce=cleanInnerHtmlForHistory(ke),$n=getDocument().title,Mn=window.scrollY;if(htmx.config.historyCacheSize<=0){localStorage.removeItem("htmx-history-cache");return}_n=normalizePath(_n);const Qn=parseJSON(localStorage.getItem("htmx-history-cache"))||[];for(let qn=0;qnhtmx.config.historyCacheSize;)Qn.shift();for(;Qn.length>0;)try{localStorage.setItem("htmx-history-cache",JSON.stringify(Qn));break}catch(qn){triggerErrorEvent(getDocument().body,"htmx:historyCacheError",{cause:qn,cache:Qn}),Qn.shift()}}function getCachedHistory(_n){if(!canAccessLocalStorage())return null;_n=normalizePath(_n);const ke=parseJSON(localStorage.getItem("htmx-history-cache"))||[];for(let Ce=0;Ce=200&&this.status<400){triggerEvent(getDocument().body,"htmx:historyCacheMissLoad",Ce);const $n=makeFragment(this.response),Mn=$n.querySelector("[hx-history-elt],[data-hx-history-elt]")||$n,Qn=getHistoryElement(),Vn=makeSettleInfo(Qn);handleTitle($n.title),handlePreservedElements($n),swapInnerHTML(Qn,Mn,Vn),restorePreservedElements(),settleImmediately(Vn.tasks),currentPathForHistory=_n,triggerEvent(getDocument().body,"htmx:historyRestore",{path:_n,cacheMiss:!0,serverResponse:this.response})}else triggerErrorEvent(getDocument().body,"htmx:historyCacheMissLoadError",Ce)},ke.send()}function restoreHistory(_n){saveCurrentPageToHistory(),_n=_n||location.pathname+location.search;const ke=getCachedHistory(_n);if(ke){const Ce=makeFragment(ke.content),$n=getHistoryElement(),Mn=makeSettleInfo($n);handleTitle(ke.title),handlePreservedElements(Ce),swapInnerHTML($n,Ce,Mn),restorePreservedElements(),settleImmediately(Mn.tasks),getWindow().setTimeout(function(){window.scrollTo(0,ke.scroll)},0),currentPathForHistory=_n,triggerEvent(getDocument().body,"htmx:historyRestore",{path:_n,item:ke})}else htmx.config.refreshOnHistoryMiss?window.location.reload(!0):loadHistoryFromServer(_n)}function addRequestIndicatorClasses(_n){let ke=findAttributeTargets(_n,"hx-indicator");return ke==null&&(ke=[_n]),forEach(ke,function(Ce){const $n=getInternalData(Ce);$n.requestCount=($n.requestCount||0)+1,Ce.classList.add.call(Ce.classList,htmx.config.requestClass)}),ke}function disableElements(_n){let ke=findAttributeTargets(_n,"hx-disabled-elt");return ke==null&&(ke=[]),forEach(ke,function(Ce){const $n=getInternalData(Ce);$n.requestCount=($n.requestCount||0)+1,Ce.setAttribute("disabled",""),Ce.setAttribute("data-disabled-by-htmx","")}),ke}function removeRequestIndicators(_n,ke){forEach(_n.concat(ke),function(Ce){const $n=getInternalData(Ce);$n.requestCount=($n.requestCount||1)-1}),forEach(_n,function(Ce){getInternalData(Ce).requestCount===0&&Ce.classList.remove.call(Ce.classList,htmx.config.requestClass)}),forEach(ke,function(Ce){getInternalData(Ce).requestCount===0&&(Ce.removeAttribute("disabled"),Ce.removeAttribute("data-disabled-by-htmx"))})}function haveSeenNode(_n,ke){for(let Ce=0;Ce<_n.length;Ce++)if(_n[Ce].isSameNode(ke))return!0;return!1}function shouldInclude(_n){const ke=_n;return ke.name===""||ke.name==null||ke.disabled||closest(ke,"fieldset[disabled]")||ke.type==="button"||ke.type==="submit"||ke.tagName==="image"||ke.tagName==="reset"||ke.tagName==="file"?!1:ke.type==="checkbox"||ke.type==="radio"?ke.checked:!0}function addValueToFormData(_n,ke,Ce){_n!=null&&ke!=null&&(Array.isArray(ke)?ke.forEach(function($n){Ce.append(_n,$n)}):Ce.append(_n,ke))}function removeValueFromFormData(_n,ke,Ce){if(_n!=null&&ke!=null){let $n=Ce.getAll(_n);Array.isArray(ke)?$n=$n.filter(Mn=>ke.indexOf(Mn)<0):$n=$n.filter(Mn=>Mn!==ke),Ce.delete(_n),forEach($n,Mn=>Ce.append(_n,Mn))}}function processInputValue(_n,ke,Ce,$n,Mn){if(!($n==null||haveSeenNode(_n,$n))){if(_n.push($n),shouldInclude($n)){const Qn=getRawAttribute($n,"name");let Vn=$n.value;$n instanceof HTMLSelectElement&&$n.multiple&&(Vn=toArray($n.querySelectorAll("option:checked")).map(function(qn){return qn.value})),$n instanceof HTMLInputElement&&$n.files&&(Vn=toArray($n.files)),addValueToFormData(Qn,Vn,ke),Mn&&validateElement($n,Ce)}$n instanceof HTMLFormElement&&(forEach($n.elements,function(Qn){_n.indexOf(Qn)>=0?removeValueFromFormData(Qn.name,Qn.value,ke):_n.push(Qn),Mn&&validateElement(Qn,Ce)}),new FormData($n).forEach(function(Qn,Vn){Qn instanceof File&&Qn.name===""||addValueToFormData(Vn,Qn,ke)}))}}function validateElement(_n,ke){const Ce=_n;Ce.willValidate&&(triggerEvent(Ce,"htmx:validation:validate"),Ce.checkValidity()||(ke.push({elt:Ce,message:Ce.validationMessage,validity:Ce.validity}),triggerEvent(Ce,"htmx:validation:failed",{message:Ce.validationMessage,validity:Ce.validity})))}function overrideFormData(_n,ke){for(const Ce of ke.keys())_n.delete(Ce);return ke.forEach(function(Ce,$n){_n.append($n,Ce)}),_n}function getInputValues(_n,ke){const Ce=[],$n=new FormData,Mn=new FormData,Qn=[],Vn=getInternalData(_n);Vn.lastButtonClicked&&!bodyContains(Vn.lastButtonClicked)&&(Vn.lastButtonClicked=null);let qn=_n instanceof HTMLFormElement&&_n.noValidate!==!0||getAttributeValue(_n,"hx-validate")==="true";if(Vn.lastButtonClicked&&(qn=qn&&Vn.lastButtonClicked.formNoValidate!==!0),ke!=="get"&&processInputValue(Ce,Mn,Qn,closest(_n,"form"),qn),processInputValue(Ce,$n,Qn,_n,qn),Vn.lastButtonClicked||_n.tagName==="BUTTON"||_n.tagName==="INPUT"&&getRawAttribute(_n,"type")==="submit"){const jn=Vn.lastButtonClicked||_n,Xn=getRawAttribute(jn,"name");addValueToFormData(Xn,jn.value,Mn)}const Zn=findAttributeTargets(_n,"hx-include");return forEach(Zn,function(jn){processInputValue(Ce,$n,Qn,asElement(jn),qn),matches(jn,"form")||forEach(asParentNode(jn).querySelectorAll(INPUT_SELECTOR),function(Xn){processInputValue(Ce,$n,Qn,Xn,qn)})}),overrideFormData($n,Mn),{errors:Qn,formData:$n,values:formDataProxy($n)}}function appendParam(_n,ke,Ce){_n!==""&&(_n+="&"),String(Ce)==="[object Object]"&&(Ce=JSON.stringify(Ce));const $n=encodeURIComponent(Ce);return _n+=encodeURIComponent(ke)+"="+$n,_n}function urlEncode(_n){_n=formDataFromObject(_n);let ke="";return _n.forEach(function(Ce,$n){ke=appendParam(ke,$n,Ce)}),ke}function getHeaders(_n,ke,Ce){const $n={"HX-Request":"true","HX-Trigger":getRawAttribute(_n,"id"),"HX-Trigger-Name":getRawAttribute(_n,"name"),"HX-Target":getAttributeValue(ke,"id"),"HX-Current-URL":getDocument().location.href};return getValuesForElement(_n,"hx-headers",!1,$n),Ce!==void 0&&($n["HX-Prompt"]=Ce),getInternalData(_n).boosted&&($n["HX-Boosted"]="true"),$n}function filterValues(_n,ke){const Ce=getClosestAttributeValue(ke,"hx-params");if(Ce){if(Ce==="none")return new FormData;if(Ce==="*")return _n;if(Ce.indexOf("not ")===0)return forEach(Ce.substr(4).split(","),function($n){$n=$n.trim(),_n.delete($n)}),_n;{const $n=new FormData;return forEach(Ce.split(","),function(Mn){Mn=Mn.trim(),_n.has(Mn)&&_n.getAll(Mn).forEach(function(Qn){$n.append(Mn,Qn)})}),$n}}else return _n}function isAnchorLink(_n){return!!getRawAttribute(_n,"href")&&getRawAttribute(_n,"href").indexOf("#")>=0}function getSwapSpecification(_n,ke){const Ce=ke||getClosestAttributeValue(_n,"hx-swap"),$n={swapStyle:getInternalData(_n).boosted?"innerHTML":htmx.config.defaultSwapStyle,swapDelay:htmx.config.defaultSwapDelay,settleDelay:htmx.config.defaultSettleDelay};if(htmx.config.scrollIntoViewOnBoost&&getInternalData(_n).boosted&&!isAnchorLink(_n)&&($n.show="top"),Ce){const Vn=splitOnWhitespace(Ce);if(Vn.length>0)for(let qn=0;qn0?Mn.join(":"):null;$n.scroll=Xn,$n.scrollTarget=Qn}else if(Zn.indexOf("show:")===0){var Mn=Zn.substr(5).split(":");const zn=Mn.pop();var Qn=Mn.length>0?Mn.join(":"):null;$n.show=zn,$n.showTarget=Qn}else if(Zn.indexOf("focus-scroll:")===0){const jn=Zn.substr(13);$n.focusScroll=jn=="true"}else qn==0?$n.swapStyle=Zn:logError("Unknown modifier in hx-swap: "+Zn)}}return $n}function usesFormData(_n){return getClosestAttributeValue(_n,"hx-encoding")==="multipart/form-data"||matches(_n,"form")&&getRawAttribute(_n,"enctype")==="multipart/form-data"}function encodeParamsForBody(_n,ke,Ce){let $n=null;return withExtensions(ke,function(Mn){$n==null&&($n=Mn.encodeParameters(_n,Ce,ke))}),$n??(usesFormData(ke)?overrideFormData(new FormData,formDataFromObject(Ce)):urlEncode(Ce))}function makeSettleInfo(_n){return{tasks:[],elts:[_n]}}function updateScrollState(_n,ke){const Ce=_n[0],$n=_n[_n.length-1];if(ke.scroll){var Mn=null;ke.scrollTarget&&(Mn=asElement(querySelectorExt(Ce,ke.scrollTarget))),ke.scroll==="top"&&(Ce||Mn)&&(Mn=Mn||Ce,Mn.scrollTop=0),ke.scroll==="bottom"&&($n||Mn)&&(Mn=Mn||$n,Mn.scrollTop=Mn.scrollHeight)}if(ke.show){var Mn=null;if(ke.showTarget){let Vn=ke.showTarget;ke.showTarget==="window"&&(Vn="body"),Mn=asElement(querySelectorExt(Ce,Vn))}ke.show==="top"&&(Ce||Mn)&&(Mn=Mn||Ce,Mn.scrollIntoView({block:"start",behavior:htmx.config.scrollBehavior})),ke.show==="bottom"&&($n||Mn)&&(Mn=Mn||$n,Mn.scrollIntoView({block:"end",behavior:htmx.config.scrollBehavior}))}}function getValuesForElement(_n,ke,Ce,$n){if($n==null&&($n={}),_n==null)return $n;const Mn=getAttributeValue(_n,ke);if(Mn){let Qn=Mn.trim(),Vn=Ce;if(Qn==="unset")return null;Qn.indexOf("javascript:")===0?(Qn=Qn.substr(11),Vn=!0):Qn.indexOf("js:")===0&&(Qn=Qn.substr(3),Vn=!0),Qn.indexOf("{")!==0&&(Qn="{"+Qn+"}");let qn;Vn?qn=maybeEval(_n,function(){return Function("return ("+Qn+")")()},{}):qn=parseJSON(Qn);for(const Zn in qn)qn.hasOwnProperty(Zn)&&$n[Zn]==null&&($n[Zn]=qn[Zn])}return getValuesForElement(asElement(parentElt(_n)),ke,Ce,$n)}function maybeEval(_n,ke,Ce){return htmx.config.allowEval?ke():(triggerErrorEvent(_n,"htmx:evalDisallowedError"),Ce)}function getHXVarsForElement(_n,ke){return getValuesForElement(_n,"hx-vars",!0,ke)}function getHXValsForElement(_n,ke){return getValuesForElement(_n,"hx-vals",!1,ke)}function getExpressionVars(_n){return mergeObjects(getHXVarsForElement(_n),getHXValsForElement(_n))}function safelySetHeaderValue(_n,ke,Ce){if(Ce!==null)try{_n.setRequestHeader(ke,Ce)}catch{_n.setRequestHeader(ke,encodeURIComponent(Ce)),_n.setRequestHeader(ke+"-URI-AutoEncoded","true")}}function getPathFromResponse(_n){if(_n.responseURL&&typeof URL<"u")try{const ke=new URL(_n.responseURL);return ke.pathname+ke.search}catch{triggerErrorEvent(getDocument().body,"htmx:badResponseUrl",{url:_n.responseURL})}}function hasHeader(_n,ke){return ke.test(_n.getAllResponseHeaders())}function ajaxHelper(_n,ke,Ce){if(_n=_n.toLowerCase(),Ce){if(Ce instanceof Element||typeof Ce=="string")return issueAjaxRequest(_n,ke,null,null,{targetOverride:resolveTarget(Ce)||DUMMY_ELT,returnPromise:!0});{let $n=resolveTarget(Ce.target);return(Ce.target&&!$n||!$n&&!resolveTarget(Ce.source))&&($n=DUMMY_ELT),issueAjaxRequest(_n,ke,resolveTarget(Ce.source),Ce.event,{handler:Ce.handler,headers:Ce.headers,values:Ce.values,targetOverride:$n,swapOverride:Ce.swap,select:Ce.select,returnPromise:!0})}}else return issueAjaxRequest(_n,ke,null,null,{returnPromise:!0})}function hierarchyForElt(_n){const ke=[];for(;_n;)ke.push(_n),_n=_n.parentElement;return ke}function verifyPath(_n,ke,Ce){let $n,Mn;return typeof URL=="function"?(Mn=new URL(ke,document.location.href),$n=document.location.origin===Mn.origin):(Mn=ke,$n=startsWith(ke,document.location.origin)),htmx.config.selfRequestsOnly&&!$n?!1:triggerEvent(_n,"htmx:validateUrl",mergeObjects({url:Mn,sameHost:$n},Ce))}function formDataFromObject(_n){if(_n instanceof FormData)return _n;const ke=new FormData;for(const Ce in _n)_n.hasOwnProperty(Ce)&&(_n[Ce]&&typeof _n[Ce].forEach=="function"?_n[Ce].forEach(function($n){ke.append(Ce,$n)}):typeof _n[Ce]=="object"&&!(_n[Ce]instanceof Blob)?ke.append(Ce,JSON.stringify(_n[Ce])):ke.append(Ce,_n[Ce]));return ke}function formDataArrayProxy(_n,ke,Ce){return new Proxy(Ce,{get:function($n,Mn){return typeof Mn=="number"?$n[Mn]:Mn==="length"?$n.length:Mn==="push"?function(Qn){$n.push(Qn),_n.append(ke,Qn)}:typeof $n[Mn]=="function"?function(){$n[Mn].apply($n,arguments),_n.delete(ke),$n.forEach(function(Qn){_n.append(ke,Qn)})}:$n[Mn]&&$n[Mn].length===1?$n[Mn][0]:$n[Mn]},set:function($n,Mn,Qn){return $n[Mn]=Qn,_n.delete(ke),$n.forEach(function(Vn){_n.append(ke,Vn)}),!0}})}function formDataProxy(_n){return new Proxy(_n,{get:function(ke,Ce){if(typeof Ce=="symbol")return Reflect.get(ke,Ce);if(Ce==="toJSON")return()=>Object.fromEntries(_n);if(Ce in ke)return typeof ke[Ce]=="function"?function(){return _n[Ce].apply(_n,arguments)}:ke[Ce];const $n=_n.getAll(Ce);if($n.length!==0)return $n.length===1?$n[0]:formDataArrayProxy(ke,Ce,$n)},set:function(ke,Ce,$n){return typeof Ce!="string"?!1:(ke.delete(Ce),$n&&typeof $n.forEach=="function"?$n.forEach(function(Mn){ke.append(Ce,Mn)}):typeof $n=="object"&&!($n instanceof Blob)?ke.append(Ce,JSON.stringify($n)):ke.append(Ce,$n),!0)},deleteProperty:function(ke,Ce){return typeof Ce=="string"&&ke.delete(Ce),!0},ownKeys:function(ke){return Reflect.ownKeys(Object.fromEntries(ke))},getOwnPropertyDescriptor:function(ke,Ce){return Reflect.getOwnPropertyDescriptor(Object.fromEntries(ke),Ce)}})}function issueAjaxRequest(_n,ke,Ce,$n,Mn,Qn){let Vn=null,qn=null;if(Mn=Mn??{},Mn.returnPromise&&typeof Promise<"u")var Zn=new Promise(function(Or,kr){Vn=Or,qn=kr});Ce==null&&(Ce=getDocument().body);const jn=Mn.handler||handleAjaxResponse,Xn=Mn.select||null;if(!bodyContains(Ce))return maybeCall(Vn),Zn;const zn=Mn.targetOverride||asElement(getTarget(Ce));if(zn==null||zn==DUMMY_ELT)return triggerErrorEvent(Ce,"htmx:targetError",{target:getAttributeValue(Ce,"hx-target")}),maybeCall(qn),Zn;let Hn=getInternalData(Ce);const Wn=Hn.lastButtonClicked;if(Wn){const Or=getRawAttribute(Wn,"formaction");Or!=null&&(ke=Or);const kr=getRawAttribute(Wn,"formmethod");kr!=null&&kr.toLowerCase()!=="dialog"&&(_n=kr)}const Yn=getClosestAttributeValue(Ce,"hx-confirm");if(Qn===void 0&&triggerEvent(Ce,"htmx:confirm",{target:zn,elt:Ce,path:ke,verb:_n,triggeringEvent:$n,etc:Mn,issueRequest:function(Ar){return issueAjaxRequest(_n,ke,Ce,$n,Mn,!!Ar)},question:Yn})===!1)return maybeCall(Vn),Zn;let Un=Ce,Gn=getClosestAttributeValue(Ce,"hx-sync"),Kn=null,Jn=!1;if(Gn){const Or=Gn.split(":"),kr=Or[0].trim();if(kr==="this"?Un=findThisElement(Ce,"hx-sync"):Un=asElement(querySelectorExt(Ce,kr)),Gn=(Or[1]||"drop").trim(),Hn=getInternalData(Un),Gn==="drop"&&Hn.xhr&&Hn.abortable!==!0)return maybeCall(Vn),Zn;if(Gn==="abort"){if(Hn.xhr)return maybeCall(Vn),Zn;Jn=!0}else Gn==="replace"?triggerEvent(Un,"htmx:abort"):Gn.indexOf("queue")===0&&(Kn=(Gn.split(" ")[1]||"last").trim())}if(Hn.xhr)if(Hn.abortable)triggerEvent(Un,"htmx:abort");else{if(Kn==null){if($n){const Or=getInternalData($n);Or&&Or.triggerSpec&&Or.triggerSpec.queue&&(Kn=Or.triggerSpec.queue)}Kn==null&&(Kn="last")}return Hn.queuedRequests==null&&(Hn.queuedRequests=[]),Kn==="first"&&Hn.queuedRequests.length===0?Hn.queuedRequests.push(function(){issueAjaxRequest(_n,ke,Ce,$n,Mn)}):Kn==="all"?Hn.queuedRequests.push(function(){issueAjaxRequest(_n,ke,Ce,$n,Mn)}):Kn==="last"&&(Hn.queuedRequests=[],Hn.queuedRequests.push(function(){issueAjaxRequest(_n,ke,Ce,$n,Mn)})),maybeCall(Vn),Zn}const tr=new XMLHttpRequest;Hn.xhr=tr,Hn.abortable=Jn;const nr=function(){Hn.xhr=null,Hn.abortable=!1,Hn.queuedRequests!=null&&Hn.queuedRequests.length>0&&Hn.queuedRequests.shift()()},er=getClosestAttributeValue(Ce,"hx-prompt");if(er){var rr=prompt(er);if(rr===null||!triggerEvent(Ce,"htmx:prompt",{prompt:rr,target:zn}))return maybeCall(Vn),nr(),Zn}if(Yn&&!Qn&&!confirm(Yn))return maybeCall(Vn),nr(),Zn;let or=getHeaders(Ce,zn,rr);_n!=="get"&&!usesFormData(Ce)&&(or["Content-Type"]="application/x-www-form-urlencoded"),Mn.headers&&(or=mergeObjects(or,Mn.headers));const ir=getInputValues(Ce,_n);let sr=ir.errors;const cr=ir.formData;Mn.values&&overrideFormData(cr,formDataFromObject(Mn.values));const ur=formDataFromObject(getExpressionVars(Ce)),fr=overrideFormData(cr,ur);let pr=filterValues(fr,Ce);htmx.config.getCacheBusterParam&&_n==="get"&&pr.set("org.htmx.cache-buster",getRawAttribute(zn,"id")||"true"),(ke==null||ke==="")&&(ke=getDocument().location.href);const mr=getValuesForElement(Ce,"hx-request"),_r=getInternalData(Ce).boosted;let vr=htmx.config.methodsThatUseUrlParams.indexOf(_n)>=0;const hr={boosted:_r,useUrlParams:vr,formData:pr,parameters:formDataProxy(pr),unfilteredFormData:fr,unfilteredParameters:formDataProxy(fr),headers:or,target:zn,verb:_n,errors:sr,withCredentials:Mn.credentials||mr.credentials||htmx.config.withCredentials,timeout:Mn.timeout||mr.timeout||htmx.config.timeout,path:ke,triggeringEvent:$n};if(!triggerEvent(Ce,"htmx:configRequest",hr))return maybeCall(Vn),nr(),Zn;if(ke=hr.path,_n=hr.verb,or=hr.headers,pr=formDataFromObject(hr.parameters),sr=hr.errors,vr=hr.useUrlParams,sr&&sr.length>0)return triggerEvent(Ce,"htmx:validation:halted",hr),maybeCall(Vn),nr(),Zn;const br=ke.split("#"),Er=br[0],Cr=br[1];let Mr=ke;if(vr&&(Mr=Er,!pr.keys().next().done&&(Mr.indexOf("?")<0?Mr+="?":Mr+="&",Mr+=urlEncode(pr),Cr&&(Mr+="#"+Cr))),!verifyPath(Ce,Mr,hr))return triggerErrorEvent(Ce,"htmx:invalidPath",hr),maybeCall(qn),Zn;if(tr.open(_n.toUpperCase(),Mr,!0),tr.overrideMimeType("text/html"),tr.withCredentials=hr.withCredentials,tr.timeout=hr.timeout,!mr.noHeaders){for(const Or in or)if(or.hasOwnProperty(Or)){const kr=or[Or];safelySetHeaderValue(tr,Or,kr)}}const yr={xhr:tr,target:zn,requestConfig:hr,etc:Mn,boosted:_r,select:Xn,pathInfo:{requestPath:ke,finalRequestPath:Mr,responsePath:null,anchor:Cr}};if(tr.onload=function(){try{const Or=hierarchyForElt(Ce);if(yr.pathInfo.responsePath=getPathFromResponse(tr),jn(Ce,yr),yr.keepIndicators!==!0&&removeRequestIndicators(Pr,Qr),triggerEvent(Ce,"htmx:afterRequest",yr),triggerEvent(Ce,"htmx:afterOnLoad",yr),!bodyContains(Ce)){let kr=null;for(;Or.length>0&&kr==null;){const Ar=Or.shift();bodyContains(Ar)&&(kr=Ar)}kr&&(triggerEvent(kr,"htmx:afterRequest",yr),triggerEvent(kr,"htmx:afterOnLoad",yr))}maybeCall(Vn),nr()}catch(Or){throw triggerErrorEvent(Ce,"htmx:onLoadError",mergeObjects({error:Or},yr)),Or}},tr.onerror=function(){removeRequestIndicators(Pr,Qr),triggerErrorEvent(Ce,"htmx:afterRequest",yr),triggerErrorEvent(Ce,"htmx:sendError",yr),maybeCall(qn),nr()},tr.onabort=function(){removeRequestIndicators(Pr,Qr),triggerErrorEvent(Ce,"htmx:afterRequest",yr),triggerErrorEvent(Ce,"htmx:sendAbort",yr),maybeCall(qn),nr()},tr.ontimeout=function(){removeRequestIndicators(Pr,Qr),triggerErrorEvent(Ce,"htmx:afterRequest",yr),triggerErrorEvent(Ce,"htmx:timeout",yr),maybeCall(qn),nr()},!triggerEvent(Ce,"htmx:beforeRequest",yr))return maybeCall(Vn),nr(),Zn;var Pr=addRequestIndicatorClasses(Ce),Qr=disableElements(Ce);forEach(["loadstart","loadend","progress","abort"],function(Or){forEach([tr,tr.upload],function(kr){kr.addEventListener(Or,function(Ar){triggerEvent(Ce,"htmx:xhr:"+Or,{lengthComputable:Ar.lengthComputable,loaded:Ar.loaded,total:Ar.total})})})}),triggerEvent(Ce,"htmx:beforeSend",yr);const Nr=vr?null:encodeParamsForBody(tr,Ce,pr);return tr.send(Nr),Zn}function determineHistoryUpdates(_n,ke){const Ce=ke.xhr;let $n=null,Mn=null;if(hasHeader(Ce,/HX-Push:/i)?($n=Ce.getResponseHeader("HX-Push"),Mn="push"):hasHeader(Ce,/HX-Push-Url:/i)?($n=Ce.getResponseHeader("HX-Push-Url"),Mn="push"):hasHeader(Ce,/HX-Replace-Url:/i)&&($n=Ce.getResponseHeader("HX-Replace-Url"),Mn="replace"),$n)return $n==="false"?{}:{type:Mn,path:$n};const Qn=ke.pathInfo.finalRequestPath,Vn=ke.pathInfo.responsePath,qn=getClosestAttributeValue(_n,"hx-push-url"),Zn=getClosestAttributeValue(_n,"hx-replace-url"),jn=getInternalData(_n).boosted;let Xn=null,zn=null;return qn?(Xn="push",zn=qn):Zn?(Xn="replace",zn=Zn):jn&&(Xn="push",zn=Vn||Qn),zn?zn==="false"?{}:(zn==="true"&&(zn=Vn||Qn),ke.pathInfo.anchor&&zn.indexOf("#")===-1&&(zn=zn+"#"+ke.pathInfo.anchor),{type:Xn,path:zn}):{}}function codeMatches(_n,ke){var Ce=new RegExp(_n.code);return Ce.test(ke.toString(10))}function resolveResponseHandling(_n){for(var ke=0;ke0?getWindow().setTimeout(rr,Kn.swapDelay):rr()}zn&&triggerErrorEvent(_n,"htmx:responseError",mergeObjects({error:"Response Status Error Code "+Ce.status+" from "+ke.pathInfo.requestPath},ke))}}const extensions={};function extensionBase(){return{init:function(_n){return null},getSelectors:function(){return null},onEvent:function(_n,ke){return!0},transformResponse:function(_n,ke,Ce){return _n},isInlineSwap:function(_n){return!1},handleSwap:function(_n,ke,Ce,$n){return!1},encodeParameters:function(_n,ke,Ce){return null}}}function defineExtension(_n,ke){ke.init&&ke.init(internalAPI),extensions[_n]=mergeObjects(extensionBase(),ke)}function removeExtension(_n){delete extensions[_n]}function getExtensions(_n,ke,Ce){if(ke==null&&(ke=[]),_n==null)return ke;Ce==null&&(Ce=[]);const $n=getAttributeValue(_n,"hx-ext");return $n&&forEach($n.split(","),function(Mn){if(Mn=Mn.replace(/ /g,""),Mn.slice(0,7)=="ignore:"){Ce.push(Mn.slice(7));return}if(Ce.indexOf(Mn)<0){const Qn=extensions[Mn];Qn&&ke.indexOf(Qn)<0&&ke.push(Qn)}}),getExtensions(asElement(parentElt(_n)),ke,Ce)}var isReady=!1;getDocument().addEventListener("DOMContentLoaded",function(){isReady=!0});function ready(_n){isReady||getDocument().readyState==="complete"?_n():getDocument().addEventListener("DOMContentLoaded",_n)}function insertIndicatorStyles(){if(htmx.config.includeIndicatorStyles!==!1){const _n=htmx.config.inlineStyleNonce?` nonce="${htmx.config.inlineStyleNonce}"`:"";getDocument().head.insertAdjacentHTML("beforeend"," ."+htmx.config.indicatorClass+"{opacity:0} ."+htmx.config.requestClass+" ."+htmx.config.indicatorClass+"{opacity:1; transition: opacity 200ms ease-in;} ."+htmx.config.requestClass+"."+htmx.config.indicatorClass+"{opacity:1; transition: opacity 200ms ease-in;} ")}}function getMetaConfig(){const _n=getDocument().querySelector('meta[name="htmx-config"]');return _n?parseJSON(_n.content):null}function mergeMetaConfig(){const _n=getMetaConfig();_n&&(htmx.config=mergeObjects(htmx.config,_n))}return ready(function(){mergeMetaConfig(),insertIndicatorStyles();let _n=getDocument().body;processNode(_n);const ke=getDocument().querySelectorAll("[hx-trigger='restored'],[data-hx-trigger='restored']");_n.addEventListener("htmx:abort",function($n){const Mn=$n.target,Qn=getInternalData(Mn);Qn&&Qn.xhr&&Qn.xhr.abort()});const Ce=window.onpopstate?window.onpopstate.bind(window):null;window.onpopstate=function($n){$n.state&&$n.state.htmx?(restoreHistory(),forEach(ke,function(Mn){triggerEvent(Mn,"htmx:restored",{document:getDocument(),triggerEvent})})):Ce&&Ce($n)},getWindow().setTimeout(function(){triggerEvent(_n,"htmx:load",{}),_n=null},0)}),htmx})();mustache.escape=function(_n){return _n};const entryComponents={account:Account,channel:Channel};let loadedComponents=[],loadSvelte=function(){loadedComponents.map(Ce=>Ce.$destroy()),loadedComponents=[];const _n=document.body.querySelectorAll(".lucent-component");if(_n.length===0)return;const ke=function(Ce){const $n=Ce.attributes["data-layout"].value,[Mn,Qn]=Object.entries(entryComponents).find(([jn,Xn])=>$n===jn);if(!Qn)return[];const Vn=document.getElementById("json-"+$n).innerHTML,qn=JSON.parse(Vn);qn.axios=axiosInstance;const Zn={target:Ce,props:qn};loadedComponents=[...loadedComponents,new Qn(Zn)]};Array.from(_n).map(ke)};document.addEventListener("DOMContentLoaded",loadSvelte);