From 268e35343160705bd024c2b9c5b2eb05f047bc6f Mon Sep 17 00:00:00 2001 From: Dan Brown <ssddanbrown@googlemail.com> Date: Wed, 26 Feb 2025 14:30:52 +0000 Subject: [PATCH] Updated version and assets for release v25.02 --- public/dist/app.js | 14 ++++++------ public/dist/code.js | 38 ++++++++++++++++----------------- public/dist/export-styles.css | 2 +- public/dist/legacy-modes.js | 2 +- public/dist/styles.css | 2 +- public/dist/wysiwyg.js | 40 ++++++++++++++++++++++------------- 6 files changed, 54 insertions(+), 44 deletions(-) diff --git a/public/dist/app.js b/public/dist/app.js index 75fc6108b..9f80f6ffb 100644 --- a/public/dist/app.js +++ b/public/dist/app.js @@ -1,12 +1,12 @@ // See the "/licenses" URI for full package license details -var qn=Object.defineProperty;var Un=i=>{throw TypeError(i)};var fs=(i,t,e)=>t in i?qn(i,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[t]=e;var gs=(i,t)=>{for(var e in t)qn(i,e,{get:t[e],enumerable:!0})};var U=(i,t,e)=>fs(i,typeof t!="symbol"?t+"":t,e),vs=(i,t,e)=>t.has(i)||Un("Cannot "+e);var Vn=(i,t,e)=>t.has(i)?Un("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(i):t.set(i,e);var Kt=(i,t,e)=>(vs(i,t,"access private method"),e);var pe=class{constructor(){this.listeners={};this.stack=[]}emit(t,e={}){this.stack.push({name:t,data:e});let n=this.listeners[t]||[];for(let o of n)o(e)}listen(t,e){typeof this.listeners[t]>"u"&&(this.listeners[t]=[]),this.listeners[t].push(e)}emitPublic(t,e,n){let o=new CustomEvent(e,{detail:n,bubbles:!0});t.dispatchEvent(o)}success(t){this.emit("success",t)}error(t){this.emit("error",t)}showValidationErrors(t){if(t.status&&t.status===422&&t.data){let e=Object.values(t.data).flat().join(` -`);this.error(e)}}showResponseError(t){t.status&&t.status>=400&&typeof t.data=="object"&&t.data.message&&this.error(t.data.message)}};var Xt=class extends Error{constructor(t,e){super(t.statusText),this.data=e,this.headers=t.headers,this.redirected=t.redirected,this.status=t.status,this.statusText=t.statusText,this.url=t.url,this.original=t}},me=class{async getResponseContent(t){if(t.status===204)return null;let n=(t.headers.get("Content-Type")||"").split(";")[0].split("/").pop();return n==="javascript"||n==="json"?t.json():t.text()}createXMLHttpRequest(t,e,n={}){let o=document.querySelector("meta[name=token]")?.getAttribute("content"),s=new XMLHttpRequest;for(let[r,a]of Object.entries(n))s.addEventListener(r,a.bind(s));return s.open(t,e),s.withCredentials=!0,s.setRequestHeader("X-CSRF-TOKEN",o||""),s}async request(t,e={}){let n=t;if(n.startsWith("http")||(n=window.baseUrl(n)),e.params){let c=new URL(n);for(let u of Object.keys(e.params)){let h=e.params[u];typeof h<"u"&&h!==null&&c.searchParams.set(u,h)}n=c.toString()}let o=document.querySelector("meta[name=token]")?.getAttribute("content")||"",s={...e,credentials:"same-origin"};s.headers={...s.headers||{},baseURL:window.baseUrl(""),"X-CSRF-TOKEN":o};let r=await fetch(n,s),a=await this.getResponseContent(r)||"",l={data:a,headers:r.headers,redirected:r.redirected,status:r.status,statusText:r.statusText,url:r.url,original:r};if(!r.ok)throw new Xt(r,a);return l}async dataRequest(t,e,n){let o={method:t,body:n};return typeof n=="object"&&!(n instanceof FormData)&&(o.headers={"Content-Type":"application/json","X-Requested-With":"XMLHttpRequest"},o.body=JSON.stringify(n)),n instanceof FormData&&t!=="post"&&(n.append("_method",t),o.method="post"),this.request(e,o)}async get(t,e={}){return this.request(t,{method:"GET",params:e})}async post(t,e=null){return this.dataRequest("POST",t,e)}async put(t,e=null){return this.dataRequest("PUT",t,e)}async patch(t,e=null){return this.dataRequest("PATCH",t,e)}async delete(t,e=null){return this.dataRequest("DELETE",t,e)}formatErrorResponseText(t){let e=t.startsWith("{")?JSON.parse(t):{message:t};if(!e)return t;if(e.message||e.error)return e.message||e.error;let n=Object.values(e);return n.every(s=>Array.isArray(s)&&s.every(r=>typeof r=="string"))?n.flat().join(" "):t}};var fe=class{choice(t,e,n={}){let o=t.split("|"),s=/^{([0-9]+)}/,r=/^\[([0-9]+),([0-9*]+)]/,a=null;for(let l of o){let c=l.match(s);if(c!==null&&Number(c[1])===e){a=l.replace(s,"").trim();break}let u=l.match(r);if(u!==null&&Number(u[1])<=e&&(u[2]==="*"||Number(u[2])>=e)){a=l.replace(r,"").trim();break}}return a===null&&o.length>1&&(a=e===1?o[0]:o[1]),a===null&&(a=o[0]),this.performReplacements(a,n)}performReplacements(t,e){let n=t.match(/:(\S+)/g);if(n===null)return t;let o=t;for(let s of n){let r=s.substring(1);typeof e[r]>"u"||(o=o.replace(s,e[r]))}return o}};var Hn={};gs(Hn,{AddRemoveRows:()=>ve,AjaxDeleteRow:()=>we,AjaxForm:()=>be,Attachments:()=>ye,AttachmentsList:()=>Ee,AutoSubmit:()=>xe,AutoSuggest:()=>Ce,BackToTop:()=>Se,BookSort:()=>Ue,ChapterContents:()=>je,CodeEditor:()=>ze,CodeHighlighter:()=>We,CodeTextarea:()=>Ke,Collapsible:()=>Xe,ConfirmDialog:()=>Ge,CustomCheckbox:()=>Ye,DetailsHighlighter:()=>Je,Dropdown:()=>Ze,DropdownSearch:()=>Qe,Dropzone:()=>ti,EditorToolbox:()=>ei,EntityPermissions:()=>ii,EntitySearch:()=>ni,EntitySelector:()=>oi,EntitySelectorPopup:()=>si,EventEmitSelect:()=>ri,ExpandToggle:()=>ai,GlobalSearch:()=>li,HeaderMobileToggle:()=>ci,ImageManager:()=>di,ImagePicker:()=>hi,ListSortControl:()=>ui,LoadingButton:()=>pi,MarkdownEditor:()=>mi,NewUserPassword:()=>fi,Notification:()=>gi,OptionalInput:()=>vi,PageComment:()=>xi,PageComments:()=>Si,PageDisplay:()=>Li,PageEditor:()=>ki,PagePicker:()=>$i,PermissionsTable:()=>Di,Pointer:()=>Ai,Popup:()=>Ii,SettingAppColorScheme:()=>Mi,SettingColorPicker:()=>Bi,SettingHomepageControl:()=>Pi,ShelfSort:()=>Oi,ShortcutInput:()=>_i,Shortcuts:()=>Ri,SortableList:()=>Hi,SubmitOnChange:()=>Fi,Tabs:()=>Ni,TagManager:()=>qi,TemplateManager:()=>Ui,ToggleSwitch:()=>Vi,TriLayout:()=>ji,UserSelect:()=>zi,WebhookEvents:()=>Wi,WysiwygEditor:()=>Ki,WysiwygEditorTinymce:()=>Xi,WysiwygInput:()=>Gi});function ut(i){return i instanceof HTMLElement}function it(i,t={},e=[]){let n=document.createElement(i);for(let[o,s]of Object.entries(t))s===null?n.removeAttribute(o):n.setAttribute(o,s);for(let o of e)typeof o=="string"?n.append(document.createTextNode(o)):n.append(o);return n}function Ji(i,t){let e=document.querySelectorAll(i);for(let n of e)t(n)}function ge(i,t,e){for(let n of t)i.addEventListener(n,e)}function S(i,t){Array.isArray(i)||(i=[i]);for(let e of i)e.addEventListener("click",t),e.addEventListener("keydown",n=>{(n.key==="Enter"||n.key===" ")&&(n.preventDefault(),t(n))})}function jn(i,t,e){Array.isArray(t)||(t=[t]);let n=o=>{o.key===i&&e(o)};t.forEach(o=>o.addEventListener("keydown",n))}function Dt(i,t){jn("Enter",i,t)}function zn(i,t){jn("Escape",i,t)}function I(i,t,e,n){i.addEventListener(e,o=>{let s=o.target?.closest(t);s&&n.call(s,o,s)})}function Wn(i,t){let e=document.querySelectorAll(i);t=t.toLowerCase();for(let n of e)if((n.textContent||"").toLowerCase().includes(t)&&ut(n))return n;return null}function yt(i){i.innerHTML='<div class="loading-container"><div></div><div></div><div></div></div>'}function At(){let i=document.createElement("div");return i.classList.add("loading-container"),i.innerHTML="<div></div><div></div><div></div>",i}function Gt(i){let t=i.querySelectorAll(".loading-container");for(let e of t)e.remove()}function nt(i){let t=document.createElement("div");t.innerHTML=i,window.$components.init(t);let e=t.children[0];if(!ut(e))throw new Error("Could not find child HTMLElement when creating DOM element from HTML");return e}function It(i,t,e){let n=null;return function(...s){let r=this,a=function(){n=null,e||i.apply(r,s)},l=e&&!n;n&&clearTimeout(n),n=window.setTimeout(a,t),l&&i.apply(r,s)}}function ws(i){return i.nodeName==="DETAILS"}function Qi(i){if(!i)return;let t=i;for(;t.parentElement;)t=t.parentElement,ws(t)&&!t.open&&(t.open=!0);i.scrollIntoView({behavior:"smooth"});let e=getComputedStyle(document.body).getPropertyValue("--color-link");i.style.outline=`2px dashed ${e}`,i.style.outlineOffset="5px",i.style.removeProperty("transition"),setTimeout(()=>{i.style.transition="outline linear 3s",i.style.outline="2px dashed rgba(0, 0, 0, 0)";let n=()=>{i.removeEventListener("transitionend",n),i.style.removeProperty("transition"),i.style.removeProperty("outline"),i.style.removeProperty("outlineOffset")};i.addEventListener("transitionend",n)},1e3)}function Kn(i){return i.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function Xn(){let i=()=>((1+Math.random())*65536|0).toString(16).substring(1);return`${i()+i()}-${i()}-${i()}-${i()}-${i()}${i()}${i()}`}function Gn(i){return new Promise(t=>{setTimeout(t,i)})}function Yn(i){let t=i,e=document.querySelector('meta[name="base-url"]');if(!e)throw new Error("Could not find expected base-url meta tag in document");let n=e.getAttribute("content")||"";return n[n.length-1]==="/"&&(n=n.slice(0,n.length-1)),t[0]==="/"&&(t=t.slice(1)),`${n}/${t}`}function bs(){let i=document.querySelector('link[href*="/dist/styles.css?version="]');if(!i)throw new Error("Could not find expected style link in document for version use");return(i.getAttribute("href")||"").split("?version=").pop()||""}function Jn(i){return import(window.baseUrl(`dist/${i}.js?version=${bs()}`))}var d=class{constructor(){U(this,"$name","");U(this,"$el",null);U(this,"$refs",{});U(this,"$manyRefs",{});U(this,"$opts",{})}setup(){}$emit(t,e={}){e.from=this;let n=this.$name,o=new CustomEvent(`${n}-${t}`,{bubbles:!0,detail:e});this.$el.dispatchEvent(o)}};var ve=class extends d{setup(){this.modelRow=this.$refs.model,this.addButton=this.$refs.add,this.removeSelector=this.$opts.removeSelector,this.rowSelector=this.$opts.rowSelector,this.setupListeners()}setupListeners(){this.addButton.addEventListener("click",this.add.bind(this)),I(this.$el,this.removeSelector,"click",t=>{t.target.closest(this.rowSelector).remove()})}add(){let t=this.modelRow.cloneNode(!0);t.classList.remove("hidden"),this.setClonedInputNames(t),this.modelRow.parentNode.insertBefore(t,this.modelRow),window.$components.init(t)}setClonedInputNames(t){let e=Xn(),n=t.querySelectorAll('[name*="randrowid"]');for(let o of n)o.name=o.name.split("randrowid").join(e)}};var we=class extends d{constructor(){super(...arguments);this.deleteButtons=[]}setup(){this.row=this.$el,this.url=this.$opts.url,this.deleteButtons=this.$manyRefs.delete||[],S(this.deleteButtons,this.runDelete.bind(this))}runDelete(){this.row.style.opacity="0.7",this.row.style.pointerEvents="none",window.$http.delete(this.url).then(e=>{typeof e.data=="object"&&e.data.message&&window.$events.emit("success",e.data.message),this.row.remove()}).catch(()=>{this.row.style.removeProperty("opacity"),this.row.style.removeProperty("pointer-events")})}};var be=class extends d{setup(){this.container=this.$el,this.responseContainer=this.container,this.url=this.$opts.url,this.method=this.$opts.method||"post",this.successMessage=this.$opts.successMessage,this.submitButtons=this.$manyRefs.submit||[],this.$opts.responseContainer&&(this.responseContainer=this.container.closest(this.$opts.responseContainer)),this.setupListeners()}setupListeners(){if(this.container.tagName==="FORM"){this.container.addEventListener("submit",this.submitRealForm.bind(this));return}Dt(this.container,t=>{this.submitFakeForm(),t.preventDefault()}),this.submitButtons.forEach(t=>S(t,this.submitFakeForm.bind(this)))}submitFakeForm(){let t=new FormData,e=this.container.querySelectorAll("[name]");for(let n of e)t.append(n.getAttribute("name"),n.value);this.submit(t)}submitRealForm(t){t.preventDefault();let e=new FormData(this.container);this.submit(e)}async submit(t){this.responseContainer.style.opacity="0.7",this.responseContainer.style.pointerEvents="none";try{let e=await window.$http[this.method.toLowerCase()](this.url,t);this.$emit("success",{formData:t}),this.responseContainer.innerHTML=e.data,this.successMessage&&window.$events.emit("success",this.successMessage)}catch(e){this.responseContainer.innerHTML=e.data}window.$components.init(this.responseContainer),this.responseContainer.style.opacity=null,this.responseContainer.style.pointerEvents=null}};var ye=class extends d{setup(){this.container=this.$el,this.pageId=this.$opts.pageId,this.editContainer=this.$refs.editContainer,this.listContainer=this.$refs.listContainer,this.linksContainer=this.$refs.linksContainer,this.listPanel=this.$refs.listPanel,this.attachLinkButton=this.$refs.attachLinkButton,this.setupListeners()}setupListeners(){let t=this.reloadList.bind(this);this.container.addEventListener("dropzone-upload-success",t),this.container.addEventListener("ajax-form-success",t),this.container.addEventListener("sortable-list-sort",e=>{this.updateOrder(e.detail.ids)}),this.container.addEventListener("event-emit-select-edit",e=>{this.startEdit(e.detail.id)}),this.container.addEventListener("event-emit-select-edit-back",()=>{this.stopEdit()}),this.container.addEventListener("event-emit-select-insert",e=>{let n=e.target.closest("[data-drag-content]").getAttribute("data-drag-content"),o=JSON.parse(n);window.$events.emit("editor::insert",{html:o["text/html"],markdown:o["text/plain"]})}),this.attachLinkButton.addEventListener("click",()=>{this.showSection("links")})}showSection(t){let e={links:this.linksContainer,edit:this.editContainer,list:this.listContainer};for(let[n,o]of Object.entries(e))o.toggleAttribute("hidden",n!==t)}reloadList(){this.stopEdit(),window.$http.get(`/attachments/get/page/${this.pageId}`).then(t=>{this.listPanel.innerHTML=t.data,window.$components.init(this.listPanel)})}updateOrder(t){window.$http.put(`/attachments/sort/page/${this.pageId}`,{order:t}).then(e=>{window.$events.emit("success",e.data.message)})}async startEdit(t){this.showSection("edit"),yt(this.editContainer);let e=await window.$http.get(`/attachments/edit/${t}`);this.editContainer.innerHTML=e.data,window.$components.init(this.editContainer)}stopEdit(){this.showSection("list")}};var Ee=class extends d{setup(){this.container=this.$el,this.fileLinks=this.$manyRefs.linkTypeFile,this.setupListeners()}setupListeners(){let t=e=>e.key==="Control"||e.key==="Meta";window.addEventListener("keydown",e=>{t(e)&&this.addOpenQueryToLinks()},{passive:!0}),window.addEventListener("keyup",e=>{t(e)&&this.removeOpenQueryFromLinks()},{passive:!0})}addOpenQueryToLinks(){for(let t of this.fileLinks)t.href.split("?")[1]!=="open=true"&&(t.href+="?open=true",t.setAttribute("target","_blank"))}removeOpenQueryFromLinks(){for(let t of this.fileLinks)t.href=t.href.split("?")[0],t.removeAttribute("target")}};var mt,tn,en,pt=class{constructor(t,e=null,n=null){Vn(this,mt);this.containers=[t],this.onEscape=e,this.onEnter=n,t.addEventListener("keydown",Kt(this,mt,tn).bind(this))}shareHandlingToEl(t){this.containers.push(t),t.addEventListener("keydown",Kt(this,mt,tn).bind(this))}focusNext(){let t=Kt(this,mt,en).call(this),e=document.activeElement,o=(ut(e)?t.indexOf(e):-1)+1;o>=t.length&&(o=0),t[o].focus()}focusPrevious(){let t=Kt(this,mt,en).call(this),e=document.activeElement,o=(ut(e)?t.indexOf(e):-1)-1;o<0&&(o=t.length-1),t[o].focus()}};mt=new WeakSet,tn=function(t){ut(t.target)&&t.target.matches("input")&&(t.key==="ArrowRight"||t.key==="ArrowLeft")||(t.key==="ArrowDown"||t.key==="ArrowRight"?(this.focusNext(),t.preventDefault()):t.key==="ArrowUp"||t.key==="ArrowLeft"?(this.focusPrevious(),t.preventDefault()):t.key==="Escape"?this.onEscape?this.onEscape(t):ut(document.activeElement)&&document.activeElement.blur():t.key==="Enter"&&this.onEnter&&this.onEnter(t))},en=function(){let t=[],e='[tabindex]:not([tabindex="-1"]),[href],button:not([tabindex="-1"],[disabled]),input:not([type=hidden])';for(let n of this.containers){let o=[...n.querySelectorAll(e)].filter(s=>ut(s));t.push(...o)}return t};var nn={},Ce=class extends d{setup(){this.parent=this.$el.parentElement,this.container=this.$el,this.type=this.$opts.type,this.url=this.$opts.url,this.input=this.$refs.input,this.list=this.$refs.list,this.lastPopulated=0,this.setupListeners()}setupListeners(){new pt(this.list,()=>{this.input.focus(),setTimeout(()=>this.hideSuggestions(),1)},e=>{e.preventDefault();let n=e.target.textContent;n&&this.selectSuggestion(n)}).shareHandlingToEl(this.input),I(this.list,".text-item","click",(e,n)=>{this.selectSuggestion(n.textContent)}),this.input.addEventListener("input",this.requestSuggestions.bind(this)),this.input.addEventListener("focus",this.requestSuggestions.bind(this)),this.input.addEventListener("blur",this.hideSuggestionsIfFocusedLost.bind(this)),this.input.addEventListener("keydown",e=>{e.key==="Tab"&&this.hideSuggestions()})}selectSuggestion(t){this.input.value=t,this.lastPopulated=Date.now(),this.input.focus(),this.input.dispatchEvent(new Event("input",{bubbles:!0})),this.input.dispatchEvent(new Event("change",{bubbles:!0})),this.hideSuggestions()}async requestSuggestions(){if(Date.now()-this.lastPopulated<50)return;let t=this.getNameFilterIfNeeded(),e=this.input.value.toLowerCase(),o=(await this.loadSuggestions(e,t)).filter(s=>e===""||s.toLowerCase().startsWith(e)).slice(0,10);this.displaySuggestions(o)}getNameFilterIfNeeded(){return this.type!=="value"?null:this.parent.querySelector("input").value}async loadSuggestions(t,e=null){t=t.slice(0,4);let n={search:t,name:e},o=`${this.url}:${JSON.stringify(n)}`;if(nn[o])return nn[o];let s=await window.$http.get(this.url,n);return nn[o]=s.data,s.data}displaySuggestions(t){if(t.length===0){this.hideSuggestions();return}this.list.innerHTML=t.map(e=>`<li><div tabindex="0" class="text-item">${Kn(e)}</div></li>`).join(""),this.list.style.display="block";for(let e of this.list.querySelectorAll(".text-item"))e.addEventListener("blur",this.hideSuggestionsIfFocusedLost.bind(this))}hideSuggestions(){this.list.style.display="none"}hideSuggestionsIfFocusedLost(t){this.container.contains(t.relatedTarget)||this.hideSuggestions()}};var xe=class extends d{setup(){this.form=this.$el,this.form.submit()}};var Se=class extends d{setup(){if(this.button=this.$el,this.targetElem=document.getElementById("header"),this.showing=!1,this.breakPoint=1200,document.body.classList.contains("flexbox")){this.button.style.display="none";return}this.button.addEventListener("click",this.scrollToTop.bind(this)),window.addEventListener("scroll",this.onPageScroll.bind(this))}onPageScroll(){let t=document.documentElement.scrollTop||document.body.scrollTop||0;!this.showing&&t>this.breakPoint?(this.button.style.display="block",this.showing=!0,setTimeout(()=>{this.button.style.opacity=.4},1)):this.showing&&t<this.breakPoint&&(this.button.style.opacity=0,this.showing=!1,setTimeout(()=>{this.button.style.display="none"},500))}scrollToTop(){let t=this.targetElem.getBoundingClientRect().top,e=document.documentElement.scrollTop?document.documentElement:document.body,n=300,o=Date.now(),s=this.targetElem.getBoundingClientRect().top;function r(){let a=1-(Date.now()-o)/n,l=Math.abs(a*s);a>0?(e.scrollTop=l,requestAnimationFrame(r.bind(this))):e.scrollTop=t}requestAnimationFrame(r.bind(this))}};function Zn(i,t){var e=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(i,o).enumerable})),e.push.apply(e,n)}return e}function st(i){for(var t=1;t<arguments.length;t++){var e=arguments[t]!=null?arguments[t]:{};t%2?Zn(Object(e),!0).forEach(function(n){ys(i,n,e[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(e)):Zn(Object(e)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(e,n))})}return i}function Ie(i){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Ie=function(t){return typeof t}:Ie=function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ie(i)}function ys(i,t,e){return t in i?Object.defineProperty(i,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):i[t]=e,i}function tt(){return tt=Object.assign||function(i){for(var t=1;t<arguments.length;t++){var e=arguments[t];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(i[n]=e[n])}return i},tt.apply(this,arguments)}function Es(i,t){if(i==null)return{};var e={},n=Object.keys(i),o,s;for(s=0;s<n.length;s++)o=n[s],!(t.indexOf(o)>=0)&&(e[o]=i[o]);return e}function Cs(i,t){if(i==null)return{};var e=Es(i,t),n,o;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(i);for(o=0;o<s.length;o++)n=s[o],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(i,n)&&(e[n]=i[n])}return e}function xs(i){return Ss(i)||Ls(i)||ks(i)||Ts()}function Ss(i){if(Array.isArray(i))return mn(i)}function Ls(i){if(typeof Symbol<"u"&&i[Symbol.iterator]!=null||i["@@iterator"]!=null)return Array.from(i)}function ks(i,t){if(i){if(typeof i=="string")return mn(i,t);var e=Object.prototype.toString.call(i).slice(8,-1);if(e==="Object"&&i.constructor&&(e=i.constructor.name),e==="Map"||e==="Set")return Array.from(i);if(e==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return mn(i,t)}}function mn(i,t){(t==null||t>i.length)&&(t=i.length);for(var e=0,n=new Array(t);e<t;e++)n[e]=i[e];return n}function Ts(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var $s="1.15.6";function lt(i){if(typeof window<"u"&&window.navigator)return!!navigator.userAgent.match(i)}var ct=lt(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),le=lt(/Edge/i),Qn=lt(/firefox/i),ne=lt(/safari/i)&&!lt(/chrome/i)&&!lt(/android/i),bn=lt(/iP(ad|od|hone)/i),co=lt(/chrome/i)&<(/android/i),ho={capture:!1,passive:!1};function y(i,t,e){i.addEventListener(t,e,!ct&&ho)}function b(i,t,e){i.removeEventListener(t,e,!ct&&ho)}function Re(i,t){if(t){if(t[0]===">"&&(t=t.substring(1)),i)try{if(i.matches)return i.matches(t);if(i.msMatchesSelector)return i.msMatchesSelector(t);if(i.webkitMatchesSelector)return i.webkitMatchesSelector(t)}catch{return!1}return!1}}function uo(i){return i.host&&i!==document&&i.host.nodeType?i.host:i.parentNode}function z(i,t,e,n){if(i){e=e||document;do{if(t!=null&&(t[0]===">"?i.parentNode===e&&Re(i,t):Re(i,t))||n&&i===e)return i;if(i===e)break}while(i=uo(i))}return null}var to=/\s+/g;function P(i,t,e){if(i&&t)if(i.classList)i.classList[e?"add":"remove"](t);else{var n=(" "+i.className+" ").replace(to," ").replace(" "+t+" "," ");i.className=(n+(e?" "+t:"")).replace(to," ")}}function m(i,t,e){var n=i&&i.style;if(n){if(e===void 0)return document.defaultView&&document.defaultView.getComputedStyle?e=document.defaultView.getComputedStyle(i,""):i.currentStyle&&(e=i.currentStyle),t===void 0?e:e[t];!(t in n)&&t.indexOf("webkit")===-1&&(t="-webkit-"+t),n[t]=e+(typeof e=="string"?"":"px")}}function St(i,t){var e="";if(typeof i=="string")e=i;else do{var n=m(i,"transform");n&&n!=="none"&&(e=n+" "+e)}while(!t&&(i=i.parentNode));var o=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return o&&new o(e)}function po(i,t,e){if(i){var n=i.getElementsByTagName(t),o=0,s=n.length;if(e)for(;o<s;o++)e(n[o],o);return n}return[]}function ot(){var i=document.scrollingElement;return i||document.documentElement}function $(i,t,e,n,o){if(!(!i.getBoundingClientRect&&i!==window)){var s,r,a,l,c,u,h;if(i!==window&&i.parentNode&&i!==ot()?(s=i.getBoundingClientRect(),r=s.top,a=s.left,l=s.bottom,c=s.right,u=s.height,h=s.width):(r=0,a=0,l=window.innerHeight,c=window.innerWidth,u=window.innerHeight,h=window.innerWidth),(t||e)&&i!==window&&(o=o||i.parentNode,!ct))do if(o&&o.getBoundingClientRect&&(m(o,"transform")!=="none"||e&&m(o,"position")!=="static")){var f=o.getBoundingClientRect();r-=f.top+parseInt(m(o,"border-top-width")),a-=f.left+parseInt(m(o,"border-left-width")),l=r+s.height,c=a+s.width;break}while(o=o.parentNode);if(n&&i!==window){var x=St(o||i),E=x&&x.a,L=x&&x.d;x&&(r/=L,a/=E,h/=E,u/=L,l=r+u,c=a+h)}return{top:r,left:a,bottom:l,right:c,width:h,height:u}}}function eo(i,t,e){for(var n=vt(i,!0),o=$(i)[t];n;){var s=$(n)[e],r=void 0;if(e==="top"||e==="left"?r=o>=s:r=o<=s,!r)return n;if(n===ot())break;n=vt(n,!1)}return!1}function _t(i,t,e,n){for(var o=0,s=0,r=i.children;s<r.length;){if(r[s].style.display!=="none"&&r[s]!==g.ghost&&(n||r[s]!==g.dragged)&&z(r[s],e.draggable,i,!1)){if(o===t)return r[s];o++}s++}return null}function yn(i,t){for(var e=i.lastElementChild;e&&(e===g.ghost||m(e,"display")==="none"||t&&!Re(e,t));)e=e.previousElementSibling;return e||null}function O(i,t){var e=0;if(!i||!i.parentNode)return-1;for(;i=i.previousElementSibling;)i.nodeName.toUpperCase()!=="TEMPLATE"&&i!==g.clone&&(!t||Re(i,t))&&e++;return e}function io(i){var t=0,e=0,n=ot();if(i)do{var o=St(i),s=o.a,r=o.d;t+=i.scrollLeft*s,e+=i.scrollTop*r}while(i!==n&&(i=i.parentNode));return[t,e]}function Ds(i,t){for(var e in i)if(i.hasOwnProperty(e)){for(var n in t)if(t.hasOwnProperty(n)&&t[n]===i[e][n])return Number(e)}return-1}function vt(i,t){if(!i||!i.getBoundingClientRect)return ot();var e=i,n=!1;do if(e.clientWidth<e.scrollWidth||e.clientHeight<e.scrollHeight){var o=m(e);if(e.clientWidth<e.scrollWidth&&(o.overflowX=="auto"||o.overflowX=="scroll")||e.clientHeight<e.scrollHeight&&(o.overflowY=="auto"||o.overflowY=="scroll")){if(!e.getBoundingClientRect||e===document.body)return ot();if(n||t)return e;n=!0}}while(e=e.parentNode);return ot()}function As(i,t){if(i&&t)for(var e in t)t.hasOwnProperty(e)&&(i[e]=t[e]);return i}function on(i,t){return Math.round(i.top)===Math.round(t.top)&&Math.round(i.left)===Math.round(t.left)&&Math.round(i.height)===Math.round(t.height)&&Math.round(i.width)===Math.round(t.width)}var oe;function mo(i,t){return function(){if(!oe){var e=arguments,n=this;e.length===1?i.call(n,e[0]):i.apply(n,e),oe=setTimeout(function(){oe=void 0},t)}}}function Is(){clearTimeout(oe),oe=void 0}function fo(i,t,e){i.scrollLeft+=t,i.scrollTop+=e}function En(i){var t=window.Polymer,e=window.jQuery||window.Zepto;return t&&t.dom?t.dom(i).cloneNode(!0):e?e(i).clone(!0)[0]:i.cloneNode(!0)}function no(i,t){m(i,"position","absolute"),m(i,"top",t.top),m(i,"left",t.left),m(i,"width",t.width),m(i,"height",t.height)}function sn(i){m(i,"position",""),m(i,"top",""),m(i,"left",""),m(i,"width",""),m(i,"height","")}function go(i,t,e){var n={};return Array.from(i.children).forEach(function(o){var s,r,a,l;if(!(!z(o,t.draggable,i,!1)||o.animated||o===e)){var c=$(o);n.left=Math.min((s=n.left)!==null&&s!==void 0?s:1/0,c.left),n.top=Math.min((r=n.top)!==null&&r!==void 0?r:1/0,c.top),n.right=Math.max((a=n.right)!==null&&a!==void 0?a:-1/0,c.right),n.bottom=Math.max((l=n.bottom)!==null&&l!==void 0?l:-1/0,c.bottom)}}),n.width=n.right-n.left,n.height=n.bottom-n.top,n.x=n.left,n.y=n.top,n}var H="Sortable"+new Date().getTime();function Ms(){var i=[],t;return{captureAnimationState:function(){if(i=[],!!this.options.animation){var n=[].slice.call(this.el.children);n.forEach(function(o){if(!(m(o,"display")==="none"||o===g.ghost)){i.push({target:o,rect:$(o)});var s=st({},i[i.length-1].rect);if(o.thisAnimationDuration){var r=St(o,!0);r&&(s.top-=r.f,s.left-=r.e)}o.fromRect=s}})}},addAnimationState:function(n){i.push(n)},removeAnimationState:function(n){i.splice(Ds(i,{target:n}),1)},animateAll:function(n){var o=this;if(!this.options.animation){clearTimeout(t),typeof n=="function"&&n();return}var s=!1,r=0;i.forEach(function(a){var l=0,c=a.target,u=c.fromRect,h=$(c),f=c.prevFromRect,x=c.prevToRect,E=a.rect,L=St(c,!0);L&&(h.top-=L.f,h.left-=L.e),c.toRect=h,c.thisAnimationDuration&&on(f,h)&&!on(u,h)&&(E.top-h.top)/(E.left-h.left)===(u.top-h.top)/(u.left-h.left)&&(l=Ps(E,f,x,o.options)),on(h,u)||(c.prevFromRect=u,c.prevToRect=h,l||(l=o.options.animation),o.animate(c,E,h,l)),l&&(s=!0,r=Math.max(r,l),clearTimeout(c.animationResetTimer),c.animationResetTimer=setTimeout(function(){c.animationTime=0,c.prevFromRect=null,c.fromRect=null,c.prevToRect=null,c.thisAnimationDuration=null},l),c.thisAnimationDuration=l)}),clearTimeout(t),s?t=setTimeout(function(){typeof n=="function"&&n()},r):typeof n=="function"&&n(),i=[]},animate:function(n,o,s,r){if(r){m(n,"transition",""),m(n,"transform","");var a=St(this.el),l=a&&a.a,c=a&&a.d,u=(o.left-s.left)/(l||1),h=(o.top-s.top)/(c||1);n.animatingX=!!u,n.animatingY=!!h,m(n,"transform","translate3d("+u+"px,"+h+"px,0)"),this.forRepaintDummy=Bs(n),m(n,"transition","transform "+r+"ms"+(this.options.easing?" "+this.options.easing:"")),m(n,"transform","translate3d(0,0,0)"),typeof n.animated=="number"&&clearTimeout(n.animated),n.animated=setTimeout(function(){m(n,"transition",""),m(n,"transform",""),n.animated=!1,n.animatingX=!1,n.animatingY=!1},r)}}}}function Bs(i){return i.offsetWidth}function Ps(i,t,e,n){return Math.sqrt(Math.pow(t.top-i.top,2)+Math.pow(t.left-i.left,2))/Math.sqrt(Math.pow(t.top-e.top,2)+Math.pow(t.left-e.left,2))*n.animation}var Mt=[],rn={initializeByDefault:!0},ce={mount:function(t){for(var e in rn)rn.hasOwnProperty(e)&&!(e in t)&&(t[e]=rn[e]);Mt.forEach(function(n){if(n.pluginName===t.pluginName)throw"Sortable: Cannot mount plugin ".concat(t.pluginName," more than once")}),Mt.push(t)},pluginEvent:function(t,e,n){var o=this;this.eventCanceled=!1,n.cancel=function(){o.eventCanceled=!0};var s=t+"Global";Mt.forEach(function(r){e[r.pluginName]&&(e[r.pluginName][s]&&e[r.pluginName][s](st({sortable:e},n)),e.options[r.pluginName]&&e[r.pluginName][t]&&e[r.pluginName][t](st({sortable:e},n)))})},initializePlugins:function(t,e,n,o){Mt.forEach(function(a){var l=a.pluginName;if(!(!t.options[l]&&!a.initializeByDefault)){var c=new a(t,e,t.options);c.sortable=t,c.options=t.options,t[l]=c,tt(n,c.defaults)}});for(var s in t.options)if(t.options.hasOwnProperty(s)){var r=this.modifyOption(t,s,t.options[s]);typeof r<"u"&&(t.options[s]=r)}},getEventProperties:function(t,e){var n={};return Mt.forEach(function(o){typeof o.eventProperties=="function"&&tt(n,o.eventProperties.call(e[o.pluginName],t))}),n},modifyOption:function(t,e,n){var o;return Mt.forEach(function(s){t[s.pluginName]&&s.optionListeners&&typeof s.optionListeners[e]=="function"&&(o=s.optionListeners[e].call(t[s.pluginName],n))}),o}};function Qt(i){var t=i.sortable,e=i.rootEl,n=i.name,o=i.targetEl,s=i.cloneEl,r=i.toEl,a=i.fromEl,l=i.oldIndex,c=i.newIndex,u=i.oldDraggableIndex,h=i.newDraggableIndex,f=i.originalEvent,x=i.putSortable,E=i.extraEventProperties;if(t=t||e&&e[H],!!t){var L,N=t.options,Y="on"+n.charAt(0).toUpperCase()+n.substr(1);window.CustomEvent&&!ct&&!le?L=new CustomEvent(n,{bubbles:!0,cancelable:!0}):(L=document.createEvent("Event"),L.initEvent(n,!0,!0)),L.to=r||e,L.from=a||e,L.item=o||e,L.clone=s,L.oldIndex=l,L.newIndex=c,L.oldDraggableIndex=u,L.newDraggableIndex=h,L.originalEvent=f,L.pullMode=x?x.lastPutMode:void 0;var C=st(st({},E),ce.getEventProperties(n,t));for(var k in C)L[k]=C[k];e&&e.dispatchEvent(L),N[Y]&&N[Y].call(t,L)}}var Os=["evt"],V=function(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=n.evt,s=Cs(n,Os);ce.pluginEvent.bind(g)(t,e,st({dragEl:p,parentEl:M,ghostEl:w,rootEl:D,nextEl:xt,lastDownEl:Me,cloneEl:A,cloneHidden:gt,dragStarted:te,putSortable:_,activeSortable:g.active,originalEvent:o,oldIndex:Rt,oldDraggableIndex:se,newIndex:G,newDraggableIndex:ft,hideGhostForTarget:yo,unhideGhostForTarget:Eo,cloneNowHidden:function(){gt=!0},cloneNowShown:function(){gt=!1},dispatchSortableEvent:function(a){q({sortable:e,name:a,originalEvent:o})}},s))};function q(i){Qt(st({putSortable:_,cloneEl:A,targetEl:p,rootEl:D,oldIndex:Rt,oldDraggableIndex:se,newIndex:G,newDraggableIndex:ft},i))}var p,M,w,D,xt,Me,A,gt,Rt,G,se,ft,Le,_,Ot=!1,_e=!1,He=[],Et,Z,an,ln,oo,so,te,Bt,re,ae=!1,ke=!1,Be,F,cn=[],fn=!1,Fe=[],qe=typeof document<"u",Te=bn,ro=le||ct?"cssFloat":"float",Rs=qe&&!co&&!bn&&"draggable"in document.createElement("div"),vo=function(){if(qe){if(ct)return!1;var i=document.createElement("x");return i.style.cssText="pointer-events:auto",i.style.pointerEvents==="auto"}}(),wo=function(t,e){var n=m(t),o=parseInt(n.width)-parseInt(n.paddingLeft)-parseInt(n.paddingRight)-parseInt(n.borderLeftWidth)-parseInt(n.borderRightWidth),s=_t(t,0,e),r=_t(t,1,e),a=s&&m(s),l=r&&m(r),c=a&&parseInt(a.marginLeft)+parseInt(a.marginRight)+$(s).width,u=l&&parseInt(l.marginLeft)+parseInt(l.marginRight)+$(r).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(s&&a.float&&a.float!=="none"){var h=a.float==="left"?"left":"right";return r&&(l.clear==="both"||l.clear===h)?"vertical":"horizontal"}return s&&(a.display==="block"||a.display==="flex"||a.display==="table"||a.display==="grid"||c>=o&&n[ro]==="none"||r&&n[ro]==="none"&&c+u>o)?"vertical":"horizontal"},_s=function(t,e,n){var o=n?t.left:t.top,s=n?t.right:t.bottom,r=n?t.width:t.height,a=n?e.left:e.top,l=n?e.right:e.bottom,c=n?e.width:e.height;return o===a||s===l||o+r/2===a+c/2},Hs=function(t,e){var n;return He.some(function(o){var s=o[H].options.emptyInsertThreshold;if(!(!s||yn(o))){var r=$(o),a=t>=r.left-s&&t<=r.right+s,l=e>=r.top-s&&e<=r.bottom+s;if(a&&l)return n=o}}),n},bo=function(t){function e(s,r){return function(a,l,c,u){var h=a.options.group.name&&l.options.group.name&&a.options.group.name===l.options.group.name;if(s==null&&(r||h))return!0;if(s==null||s===!1)return!1;if(r&&s==="clone")return s;if(typeof s=="function")return e(s(a,l,c,u),r)(a,l,c,u);var f=(r?a:l).options.group.name;return s===!0||typeof s=="string"&&s===f||s.join&&s.indexOf(f)>-1}}var n={},o=t.group;(!o||Ie(o)!="object")&&(o={name:o}),n.name=o.name,n.checkPull=e(o.pull,!0),n.checkPut=e(o.put),n.revertClone=o.revertClone,t.group=n},yo=function(){!vo&&w&&m(w,"display","none")},Eo=function(){!vo&&w&&m(w,"display","")};qe&&!co&&document.addEventListener("click",function(i){if(_e)return i.preventDefault(),i.stopPropagation&&i.stopPropagation(),i.stopImmediatePropagation&&i.stopImmediatePropagation(),_e=!1,!1},!0);var Ct=function(t){if(p){t=t.touches?t.touches[0]:t;var e=Hs(t.clientX,t.clientY);if(e){var n={};for(var o in t)t.hasOwnProperty(o)&&(n[o]=t[o]);n.target=n.rootEl=e,n.preventDefault=void 0,n.stopPropagation=void 0,e[H]._onDragOver(n)}}},Fs=function(t){p&&p.parentNode[H]._isOutsideThisEl(t.target)};function g(i,t){if(!(i&&i.nodeType&&i.nodeType===1))throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(i));this.el=i,this.options=t=tt({},t),i[H]=this;var e={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(i.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return wo(i,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(r,a){r.setData("Text",a.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:g.supportPointer!==!1&&"PointerEvent"in window&&(!ne||bn),emptyInsertThreshold:5};ce.initializePlugins(this,i,e);for(var n in e)!(n in t)&&(t[n]=e[n]);bo(t);for(var o in this)o.charAt(0)==="_"&&typeof this[o]=="function"&&(this[o]=this[o].bind(this));this.nativeDraggable=t.forceFallback?!1:Rs,this.nativeDraggable&&(this.options.touchStartThreshold=1),t.supportPointer?y(i,"pointerdown",this._onTapStart):(y(i,"mousedown",this._onTapStart),y(i,"touchstart",this._onTapStart)),this.nativeDraggable&&(y(i,"dragover",this),y(i,"dragenter",this)),He.push(this.el),t.store&&t.store.get&&this.sort(t.store.get(this)||[]),tt(this,Ms())}g.prototype={constructor:g,_isOutsideThisEl:function(t){!this.el.contains(t)&&t!==this.el&&(Bt=null)},_getDirection:function(t,e){return typeof this.options.direction=="function"?this.options.direction.call(this,t,e,p):this.options.direction},_onTapStart:function(t){if(t.cancelable){var e=this,n=this.el,o=this.options,s=o.preventOnFilter,r=t.type,a=t.touches&&t.touches[0]||t.pointerType&&t.pointerType==="touch"&&t,l=(a||t).target,c=t.target.shadowRoot&&(t.path&&t.path[0]||t.composedPath&&t.composedPath()[0])||l,u=o.filter;if(Ks(n),!p&&!(/mousedown|pointerdown/.test(r)&&t.button!==0||o.disabled)&&!c.isContentEditable&&!(!this.nativeDraggable&&ne&&l&&l.tagName.toUpperCase()==="SELECT")&&(l=z(l,o.draggable,n,!1),!(l&&l.animated)&&Me!==l)){if(Rt=O(l),se=O(l,o.draggable),typeof u=="function"){if(u.call(this,t,l,this)){q({sortable:e,rootEl:c,name:"filter",targetEl:l,toEl:n,fromEl:n}),V("filter",e,{evt:t}),s&&t.preventDefault();return}}else if(u&&(u=u.split(",").some(function(h){if(h=z(c,h.trim(),n,!1),h)return q({sortable:e,rootEl:h,name:"filter",targetEl:l,fromEl:n,toEl:n}),V("filter",e,{evt:t}),!0}),u)){s&&t.preventDefault();return}o.handle&&!z(c,o.handle,n,!1)||this._prepareDragStart(t,a,l)}}},_prepareDragStart:function(t,e,n){var o=this,s=o.el,r=o.options,a=s.ownerDocument,l;if(n&&!p&&n.parentNode===s){var c=$(n);if(D=s,p=n,M=p.parentNode,xt=p.nextSibling,Me=n,Le=r.group,g.dragged=p,Et={target:p,clientX:(e||t).clientX,clientY:(e||t).clientY},oo=Et.clientX-c.left,so=Et.clientY-c.top,this._lastX=(e||t).clientX,this._lastY=(e||t).clientY,p.style["will-change"]="all",l=function(){if(V("delayEnded",o,{evt:t}),g.eventCanceled){o._onDrop();return}o._disableDelayedDragEvents(),!Qn&&o.nativeDraggable&&(p.draggable=!0),o._triggerDragStart(t,e),q({sortable:o,name:"choose",originalEvent:t}),P(p,r.chosenClass,!0)},r.ignore.split(",").forEach(function(u){po(p,u.trim(),dn)}),y(a,"dragover",Ct),y(a,"mousemove",Ct),y(a,"touchmove",Ct),r.supportPointer?(y(a,"pointerup",o._onDrop),!this.nativeDraggable&&y(a,"pointercancel",o._onDrop)):(y(a,"mouseup",o._onDrop),y(a,"touchend",o._onDrop),y(a,"touchcancel",o._onDrop)),Qn&&this.nativeDraggable&&(this.options.touchStartThreshold=4,p.draggable=!0),V("delayStart",this,{evt:t}),r.delay&&(!r.delayOnTouchOnly||e)&&(!this.nativeDraggable||!(le||ct))){if(g.eventCanceled){this._onDrop();return}r.supportPointer?(y(a,"pointerup",o._disableDelayedDrag),y(a,"pointercancel",o._disableDelayedDrag)):(y(a,"mouseup",o._disableDelayedDrag),y(a,"touchend",o._disableDelayedDrag),y(a,"touchcancel",o._disableDelayedDrag)),y(a,"mousemove",o._delayedDragTouchMoveHandler),y(a,"touchmove",o._delayedDragTouchMoveHandler),r.supportPointer&&y(a,"pointermove",o._delayedDragTouchMoveHandler),o._dragStartTimer=setTimeout(l,r.delay)}else l()}},_delayedDragTouchMoveHandler:function(t){var e=t.touches?t.touches[0]:t;Math.max(Math.abs(e.clientX-this._lastX),Math.abs(e.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){p&&dn(p),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var t=this.el.ownerDocument;b(t,"mouseup",this._disableDelayedDrag),b(t,"touchend",this._disableDelayedDrag),b(t,"touchcancel",this._disableDelayedDrag),b(t,"pointerup",this._disableDelayedDrag),b(t,"pointercancel",this._disableDelayedDrag),b(t,"mousemove",this._delayedDragTouchMoveHandler),b(t,"touchmove",this._delayedDragTouchMoveHandler),b(t,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(t,e){e=e||t.pointerType=="touch"&&t,!this.nativeDraggable||e?this.options.supportPointer?y(document,"pointermove",this._onTouchMove):e?y(document,"touchmove",this._onTouchMove):y(document,"mousemove",this._onTouchMove):(y(p,"dragend",this),y(D,"dragstart",this._onDragStart));try{document.selection?Pe(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch{}},_dragStarted:function(t,e){if(Ot=!1,D&&p){V("dragStarted",this,{evt:e}),this.nativeDraggable&&y(document,"dragover",Fs);var n=this.options;!t&&P(p,n.dragClass,!1),P(p,n.ghostClass,!0),g.active=this,t&&this._appendGhost(),q({sortable:this,name:"start",originalEvent:e})}else this._nulling()},_emulateDragOver:function(){if(Z){this._lastX=Z.clientX,this._lastY=Z.clientY,yo();for(var t=document.elementFromPoint(Z.clientX,Z.clientY),e=t;t&&t.shadowRoot&&(t=t.shadowRoot.elementFromPoint(Z.clientX,Z.clientY),t!==e);)e=t;if(p.parentNode[H]._isOutsideThisEl(t),e)do{if(e[H]){var n=void 0;if(n=e[H]._onDragOver({clientX:Z.clientX,clientY:Z.clientY,target:t,rootEl:e}),n&&!this.options.dragoverBubble)break}t=e}while(e=uo(e));Eo()}},_onTouchMove:function(t){if(Et){var e=this.options,n=e.fallbackTolerance,o=e.fallbackOffset,s=t.touches?t.touches[0]:t,r=w&&St(w,!0),a=w&&r&&r.a,l=w&&r&&r.d,c=Te&&F&&io(F),u=(s.clientX-Et.clientX+o.x)/(a||1)+(c?c[0]-cn[0]:0)/(a||1),h=(s.clientY-Et.clientY+o.y)/(l||1)+(c?c[1]-cn[1]:0)/(l||1);if(!g.active&&!Ot){if(n&&Math.max(Math.abs(s.clientX-this._lastX),Math.abs(s.clientY-this._lastY))<n)return;this._onDragStart(t,!0)}if(w){r?(r.e+=u-(an||0),r.f+=h-(ln||0)):r={a:1,b:0,c:0,d:1,e:u,f:h};var f="matrix(".concat(r.a,",").concat(r.b,",").concat(r.c,",").concat(r.d,",").concat(r.e,",").concat(r.f,")");m(w,"webkitTransform",f),m(w,"mozTransform",f),m(w,"msTransform",f),m(w,"transform",f),an=u,ln=h,Z=s}t.cancelable&&t.preventDefault()}},_appendGhost:function(){if(!w){var t=this.options.fallbackOnBody?document.body:D,e=$(p,!0,Te,!0,t),n=this.options;if(Te){for(F=t;m(F,"position")==="static"&&m(F,"transform")==="none"&&F!==document;)F=F.parentNode;F!==document.body&&F!==document.documentElement?(F===document&&(F=ot()),e.top+=F.scrollTop,e.left+=F.scrollLeft):F=ot(),cn=io(F)}w=p.cloneNode(!0),P(w,n.ghostClass,!1),P(w,n.fallbackClass,!0),P(w,n.dragClass,!0),m(w,"transition",""),m(w,"transform",""),m(w,"box-sizing","border-box"),m(w,"margin",0),m(w,"top",e.top),m(w,"left",e.left),m(w,"width",e.width),m(w,"height",e.height),m(w,"opacity","0.8"),m(w,"position",Te?"absolute":"fixed"),m(w,"zIndex","100000"),m(w,"pointerEvents","none"),g.ghost=w,t.appendChild(w),m(w,"transform-origin",oo/parseInt(w.style.width)*100+"% "+so/parseInt(w.style.height)*100+"%")}},_onDragStart:function(t,e){var n=this,o=t.dataTransfer,s=n.options;if(V("dragStart",this,{evt:t}),g.eventCanceled){this._onDrop();return}V("setupClone",this),g.eventCanceled||(A=En(p),A.removeAttribute("id"),A.draggable=!1,A.style["will-change"]="",this._hideClone(),P(A,this.options.chosenClass,!1),g.clone=A),n.cloneId=Pe(function(){V("clone",n),!g.eventCanceled&&(n.options.removeCloneOnHide||D.insertBefore(A,p),n._hideClone(),q({sortable:n,name:"clone"}))}),!e&&P(p,s.dragClass,!0),e?(_e=!0,n._loopId=setInterval(n._emulateDragOver,50)):(b(document,"mouseup",n._onDrop),b(document,"touchend",n._onDrop),b(document,"touchcancel",n._onDrop),o&&(o.effectAllowed="move",s.setData&&s.setData.call(n,o,p)),y(document,"drop",n),m(p,"transform","translateZ(0)")),Ot=!0,n._dragStartId=Pe(n._dragStarted.bind(n,e,t)),y(document,"selectstart",n),te=!0,window.getSelection().removeAllRanges(),ne&&m(document.body,"user-select","none")},_onDragOver:function(t){var e=this.el,n=t.target,o,s,r,a=this.options,l=a.group,c=g.active,u=Le===l,h=a.sort,f=_||c,x,E=this,L=!1;if(fn)return;function N(Wt,ps){V(Wt,E,st({evt:t,isOwner:u,axis:x?"vertical":"horizontal",revert:r,dragRect:o,targetRect:s,canSort:h,fromSortable:f,target:n,completed:C,onMove:function(Nn,ms){return $e(D,e,p,o,Nn,$(Nn),t,ms)},changed:k},ps))}function Y(){N("dragOverAnimationCapture"),E.captureAnimationState(),E!==f&&f.captureAnimationState()}function C(Wt){return N("dragOverCompleted",{insertion:Wt}),Wt&&(u?c._hideClone():c._showClone(E),E!==f&&(P(p,_?_.options.ghostClass:c.options.ghostClass,!1),P(p,a.ghostClass,!0)),_!==E&&E!==g.active?_=E:E===g.active&&_&&(_=null),f===E&&(E._ignoreWhileAnimating=n),E.animateAll(function(){N("dragOverAnimationComplete"),E._ignoreWhileAnimating=null}),E!==f&&(f.animateAll(),f._ignoreWhileAnimating=null)),(n===p&&!p.animated||n===e&&!n.animated)&&(Bt=null),!a.dragoverBubble&&!t.rootEl&&n!==document&&(p.parentNode[H]._isOutsideThisEl(t.target),!Wt&&Ct(t)),!a.dragoverBubble&&t.stopPropagation&&t.stopPropagation(),L=!0}function k(){G=O(p),ft=O(p,a.draggable),q({sortable:E,name:"change",toEl:e,newIndex:G,newDraggableIndex:ft,originalEvent:t})}if(t.preventDefault!==void 0&&t.cancelable&&t.preventDefault(),n=z(n,a.draggable,e,!0),N("dragOver"),g.eventCanceled)return L;if(p.contains(t.target)||n.animated&&n.animatingX&&n.animatingY||E._ignoreWhileAnimating===n)return C(!1);if(_e=!1,c&&!a.disabled&&(u?h||(r=M!==D):_===this||(this.lastPutMode=Le.checkPull(this,c,p,t))&&l.checkPut(this,c,p,t))){if(x=this._getDirection(t,n)==="vertical",o=$(p),N("dragOverValid"),g.eventCanceled)return L;if(r)return M=D,Y(),this._hideClone(),N("revert"),g.eventCanceled||(xt?D.insertBefore(p,xt):D.appendChild(p)),C(!0);var R=yn(e,a.draggable);if(!R||Vs(t,x,this)&&!R.animated){if(R===p)return C(!1);if(R&&e===t.target&&(n=R),n&&(s=$(n)),$e(D,e,p,o,n,s,t,!!n)!==!1)return Y(),R&&R.nextSibling?e.insertBefore(p,R.nextSibling):e.appendChild(p),M=e,k(),C(!0)}else if(R&&Us(t,x,this)){var rt=_t(e,0,a,!0);if(rt===p)return C(!1);if(n=rt,s=$(n),$e(D,e,p,o,n,s,t,!1)!==!1)return Y(),e.insertBefore(p,rt),M=e,k(),C(!0)}else if(n.parentNode===e){s=$(n);var J=0,wt,Ut=p.parentNode!==e,K=!_s(p.animated&&p.toRect||o,n.animated&&n.toRect||s,x),Vt=x?"top":"left",dt=eo(n,"top","top")||eo(p,"top","top"),jt=dt?dt.scrollTop:void 0;Bt!==n&&(wt=s[Vt],ae=!1,ke=!K&&a.invertSwap||Ut),J=js(t,n,s,x,K?1:a.swapThreshold,a.invertedSwapThreshold==null?a.swapThreshold:a.invertedSwapThreshold,ke,Bt===n);var at;if(J!==0){var bt=O(p);do bt-=J,at=M.children[bt];while(at&&(m(at,"display")==="none"||at===w))}if(J===0||at===n)return C(!1);Bt=n,re=J;var zt=n.nextElementSibling,ht=!1;ht=J===1;var ue=$e(D,e,p,o,n,s,t,ht);if(ue!==!1)return(ue===1||ue===-1)&&(ht=ue===1),fn=!0,setTimeout(qs,30),Y(),ht&&!zt?e.appendChild(p):n.parentNode.insertBefore(p,ht?zt:n),dt&&fo(dt,0,jt-dt.scrollTop),M=p.parentNode,wt!==void 0&&!ke&&(Be=Math.abs(wt-$(n)[Vt])),k(),C(!0)}if(e.contains(p))return C(!1)}return!1},_ignoreWhileAnimating:null,_offMoveEvents:function(){b(document,"mousemove",this._onTouchMove),b(document,"touchmove",this._onTouchMove),b(document,"pointermove",this._onTouchMove),b(document,"dragover",Ct),b(document,"mousemove",Ct),b(document,"touchmove",Ct)},_offUpEvents:function(){var t=this.el.ownerDocument;b(t,"mouseup",this._onDrop),b(t,"touchend",this._onDrop),b(t,"pointerup",this._onDrop),b(t,"pointercancel",this._onDrop),b(t,"touchcancel",this._onDrop),b(document,"selectstart",this)},_onDrop:function(t){var e=this.el,n=this.options;if(G=O(p),ft=O(p,n.draggable),V("drop",this,{evt:t}),M=p&&p.parentNode,G=O(p),ft=O(p,n.draggable),g.eventCanceled){this._nulling();return}Ot=!1,ke=!1,ae=!1,clearInterval(this._loopId),clearTimeout(this._dragStartTimer),gn(this.cloneId),gn(this._dragStartId),this.nativeDraggable&&(b(document,"drop",this),b(e,"dragstart",this._onDragStart)),this._offMoveEvents(),this._offUpEvents(),ne&&m(document.body,"user-select",""),m(p,"transform",""),t&&(te&&(t.cancelable&&t.preventDefault(),!n.dropBubble&&t.stopPropagation()),w&&w.parentNode&&w.parentNode.removeChild(w),(D===M||_&&_.lastPutMode!=="clone")&&A&&A.parentNode&&A.parentNode.removeChild(A),p&&(this.nativeDraggable&&b(p,"dragend",this),dn(p),p.style["will-change"]="",te&&!Ot&&P(p,_?_.options.ghostClass:this.options.ghostClass,!1),P(p,this.options.chosenClass,!1),q({sortable:this,name:"unchoose",toEl:M,newIndex:null,newDraggableIndex:null,originalEvent:t}),D!==M?(G>=0&&(q({rootEl:M,name:"add",toEl:M,fromEl:D,originalEvent:t}),q({sortable:this,name:"remove",toEl:M,originalEvent:t}),q({rootEl:M,name:"sort",toEl:M,fromEl:D,originalEvent:t}),q({sortable:this,name:"sort",toEl:M,originalEvent:t})),_&&_.save()):G!==Rt&&G>=0&&(q({sortable:this,name:"update",toEl:M,originalEvent:t}),q({sortable:this,name:"sort",toEl:M,originalEvent:t})),g.active&&((G==null||G===-1)&&(G=Rt,ft=se),q({sortable:this,name:"end",toEl:M,originalEvent:t}),this.save()))),this._nulling()},_nulling:function(){V("nulling",this),D=p=M=w=xt=A=Me=gt=Et=Z=te=G=ft=Rt=se=Bt=re=_=Le=g.dragged=g.ghost=g.clone=g.active=null,Fe.forEach(function(t){t.checked=!0}),Fe.length=an=ln=0},handleEvent:function(t){switch(t.type){case"drop":case"dragend":this._onDrop(t);break;case"dragenter":case"dragover":p&&(this._onDragOver(t),Ns(t));break;case"selectstart":t.preventDefault();break}},toArray:function(){for(var t=[],e,n=this.el.children,o=0,s=n.length,r=this.options;o<s;o++)e=n[o],z(e,r.draggable,this.el,!1)&&t.push(e.getAttribute(r.dataIdAttr)||Ws(e));return t},sort:function(t,e){var n={},o=this.el;this.toArray().forEach(function(s,r){var a=o.children[r];z(a,this.options.draggable,o,!1)&&(n[s]=a)},this),e&&this.captureAnimationState(),t.forEach(function(s){n[s]&&(o.removeChild(n[s]),o.appendChild(n[s]))}),e&&this.animateAll()},save:function(){var t=this.options.store;t&&t.set&&t.set(this)},closest:function(t,e){return z(t,e||this.options.draggable,this.el,!1)},option:function(t,e){var n=this.options;if(e===void 0)return n[t];var o=ce.modifyOption(this,t,e);typeof o<"u"?n[t]=o:n[t]=e,t==="group"&&bo(n)},destroy:function(){V("destroy",this);var t=this.el;t[H]=null,b(t,"mousedown",this._onTapStart),b(t,"touchstart",this._onTapStart),b(t,"pointerdown",this._onTapStart),this.nativeDraggable&&(b(t,"dragover",this),b(t,"dragenter",this)),Array.prototype.forEach.call(t.querySelectorAll("[draggable]"),function(e){e.removeAttribute("draggable")}),this._onDrop(),this._disableDelayedDragEvents(),He.splice(He.indexOf(this.el),1),this.el=t=null},_hideClone:function(){if(!gt){if(V("hideClone",this),g.eventCanceled)return;m(A,"display","none"),this.options.removeCloneOnHide&&A.parentNode&&A.parentNode.removeChild(A),gt=!0}},_showClone:function(t){if(t.lastPutMode!=="clone"){this._hideClone();return}if(gt){if(V("showClone",this),g.eventCanceled)return;p.parentNode==D&&!this.options.group.revertClone?D.insertBefore(A,p):xt?D.insertBefore(A,xt):D.appendChild(A),this.options.group.revertClone&&this.animate(p,A),m(A,"display",""),gt=!1}}};function Ns(i){i.dataTransfer&&(i.dataTransfer.dropEffect="move"),i.cancelable&&i.preventDefault()}function $e(i,t,e,n,o,s,r,a){var l,c=i[H],u=c.options.onMove,h;return window.CustomEvent&&!ct&&!le?l=new CustomEvent("move",{bubbles:!0,cancelable:!0}):(l=document.createEvent("Event"),l.initEvent("move",!0,!0)),l.to=t,l.from=i,l.dragged=e,l.draggedRect=n,l.related=o||t,l.relatedRect=s||$(t),l.willInsertAfter=a,l.originalEvent=r,i.dispatchEvent(l),u&&(h=u.call(c,l,r)),h}function dn(i){i.draggable=!1}function qs(){fn=!1}function Us(i,t,e){var n=$(_t(e.el,0,e.options,!0)),o=go(e.el,e.options,w),s=10;return t?i.clientX<o.left-s||i.clientY<n.top&&i.clientX<n.right:i.clientY<o.top-s||i.clientY<n.bottom&&i.clientX<n.left}function Vs(i,t,e){var n=$(yn(e.el,e.options.draggable)),o=go(e.el,e.options,w),s=10;return t?i.clientX>o.right+s||i.clientY>n.bottom&&i.clientX>n.left:i.clientY>o.bottom+s||i.clientX>n.right&&i.clientY>n.top}function js(i,t,e,n,o,s,r,a){var l=n?i.clientY:i.clientX,c=n?e.height:e.width,u=n?e.top:e.left,h=n?e.bottom:e.right,f=!1;if(!r){if(a&&Be<c*o){if(!ae&&(re===1?l>u+c*s/2:l<h-c*s/2)&&(ae=!0),ae)f=!0;else if(re===1?l<u+Be:l>h-Be)return-re}else if(l>u+c*(1-o)/2&&l<h-c*(1-o)/2)return zs(t)}return f=f||r,f&&(l<u+c*s/2||l>h-c*s/2)?l>u+c/2?1:-1:0}function zs(i){return O(p)<O(i)?1:-1}function Ws(i){for(var t=i.tagName+i.className+i.src+i.href+i.textContent,e=t.length,n=0;e--;)n+=t.charCodeAt(e);return n.toString(36)}function Ks(i){Fe.length=0;for(var t=i.getElementsByTagName("input"),e=t.length;e--;){var n=t[e];n.checked&&Fe.push(n)}}function Pe(i){return setTimeout(i,0)}function gn(i){return clearTimeout(i)}qe&&y(document,"touchmove",function(i){(g.active||Ot)&&i.cancelable&&i.preventDefault()});g.utils={on:y,off:b,css:m,find:po,is:function(t,e){return!!z(t,e,t,!1)},extend:As,throttle:mo,closest:z,toggleClass:P,clone:En,index:O,nextTick:Pe,cancelNextTick:gn,detectDirection:wo,getChild:_t,expando:H};g.get=function(i){return i[H]};g.mount=function(){for(var i=arguments.length,t=new Array(i),e=0;e<i;e++)t[e]=arguments[e];t[0].constructor===Array&&(t=t[0]),t.forEach(function(n){if(!n.prototype||!n.prototype.constructor)throw"Sortable: Mounted plugin must be a constructor function, not ".concat({}.toString.call(n));n.utils&&(g.utils=st(st({},g.utils),n.utils)),ce.mount(n)})};g.create=function(i,t){return new g(i,t)};g.version=$s;var B=[],ee,vn,wn=!1,hn,un,Ne,ie;function Xs(){function i(){this.defaults={scroll:!0,forceAutoScrollFallback:!1,scrollSensitivity:30,scrollSpeed:10,bubbleScroll:!0};for(var t in this)t.charAt(0)==="_"&&typeof this[t]=="function"&&(this[t]=this[t].bind(this))}return i.prototype={dragStarted:function(e){var n=e.originalEvent;this.sortable.nativeDraggable?y(document,"dragover",this._handleAutoScroll):this.options.supportPointer?y(document,"pointermove",this._handleFallbackAutoScroll):n.touches?y(document,"touchmove",this._handleFallbackAutoScroll):y(document,"mousemove",this._handleFallbackAutoScroll)},dragOverCompleted:function(e){var n=e.originalEvent;!this.options.dragOverBubble&&!n.rootEl&&this._handleAutoScroll(n)},drop:function(){this.sortable.nativeDraggable?b(document,"dragover",this._handleAutoScroll):(b(document,"pointermove",this._handleFallbackAutoScroll),b(document,"touchmove",this._handleFallbackAutoScroll),b(document,"mousemove",this._handleFallbackAutoScroll)),ao(),Oe(),Is()},nulling:function(){Ne=vn=ee=wn=ie=hn=un=null,B.length=0},_handleFallbackAutoScroll:function(e){this._handleAutoScroll(e,!0)},_handleAutoScroll:function(e,n){var o=this,s=(e.touches?e.touches[0]:e).clientX,r=(e.touches?e.touches[0]:e).clientY,a=document.elementFromPoint(s,r);if(Ne=e,n||this.options.forceAutoScrollFallback||le||ct||ne){pn(e,this.options,a,n);var l=vt(a,!0);wn&&(!ie||s!==hn||r!==un)&&(ie&&ao(),ie=setInterval(function(){var c=vt(document.elementFromPoint(s,r),!0);c!==l&&(l=c,Oe()),pn(e,o.options,c,n)},10),hn=s,un=r)}else{if(!this.options.bubbleScroll||vt(a,!0)===ot()){Oe();return}pn(e,this.options,vt(a,!1),!1)}}},tt(i,{pluginName:"scroll",initializeByDefault:!0})}function Oe(){B.forEach(function(i){clearInterval(i.pid)}),B=[]}function ao(){clearInterval(ie)}var pn=mo(function(i,t,e,n){if(t.scroll){var o=(i.touches?i.touches[0]:i).clientX,s=(i.touches?i.touches[0]:i).clientY,r=t.scrollSensitivity,a=t.scrollSpeed,l=ot(),c=!1,u;vn!==e&&(vn=e,Oe(),ee=t.scroll,u=t.scrollFn,ee===!0&&(ee=vt(e,!0)));var h=0,f=ee;do{var x=f,E=$(x),L=E.top,N=E.bottom,Y=E.left,C=E.right,k=E.width,R=E.height,rt=void 0,J=void 0,wt=x.scrollWidth,Ut=x.scrollHeight,K=m(x),Vt=x.scrollLeft,dt=x.scrollTop;x===l?(rt=k<wt&&(K.overflowX==="auto"||K.overflowX==="scroll"||K.overflowX==="visible"),J=R<Ut&&(K.overflowY==="auto"||K.overflowY==="scroll"||K.overflowY==="visible")):(rt=k<wt&&(K.overflowX==="auto"||K.overflowX==="scroll"),J=R<Ut&&(K.overflowY==="auto"||K.overflowY==="scroll"));var jt=rt&&(Math.abs(C-o)<=r&&Vt+k<wt)-(Math.abs(Y-o)<=r&&!!Vt),at=J&&(Math.abs(N-s)<=r&&dt+R<Ut)-(Math.abs(L-s)<=r&&!!dt);if(!B[h])for(var bt=0;bt<=h;bt++)B[bt]||(B[bt]={});(B[h].vx!=jt||B[h].vy!=at||B[h].el!==x)&&(B[h].el=x,B[h].vx=jt,B[h].vy=at,clearInterval(B[h].pid),(jt!=0||at!=0)&&(c=!0,B[h].pid=setInterval(function(){n&&this.layer===0&&g.active._onTouchMove(Ne);var zt=B[this.layer].vy?B[this.layer].vy*a:0,ht=B[this.layer].vx?B[this.layer].vx*a:0;typeof u=="function"&&u.call(g.dragged.parentNode[H],ht,zt,i,Ne,B[this.layer].el)!=="continue"||fo(B[this.layer].el,ht,zt)}.bind({layer:h}),24))),h++}while(t.bubbleScroll&&f!==l&&(f=vt(f,!1)));wn=c}},30),Co=function(t){var e=t.originalEvent,n=t.putSortable,o=t.dragEl,s=t.activeSortable,r=t.dispatchSortableEvent,a=t.hideGhostForTarget,l=t.unhideGhostForTarget;if(e){var c=n||s;a();var u=e.changedTouches&&e.changedTouches.length?e.changedTouches[0]:e,h=document.elementFromPoint(u.clientX,u.clientY);l(),c&&!c.el.contains(h)&&(r("spill"),this.onSpill({dragEl:o,putSortable:n}))}};function Cn(){}Cn.prototype={startIndex:null,dragStart:function(t){var e=t.oldDraggableIndex;this.startIndex=e},onSpill:function(t){var e=t.dragEl,n=t.putSortable;this.sortable.captureAnimationState(),n&&n.captureAnimationState();var o=_t(this.sortable.el,this.startIndex,this.options);o?this.sortable.el.insertBefore(e,o):this.sortable.el.appendChild(e),this.sortable.animateAll(),n&&n.animateAll()},drop:Co};tt(Cn,{pluginName:"revertOnSpill"});function xn(){}xn.prototype={onSpill:function(t){var e=t.dragEl,n=t.putSortable,o=n||this.sortable;o.captureAnimationState(),e.parentNode&&e.parentNode.removeChild(e),o.animateAll()},drop:Co};tt(xn,{pluginName:"removeOnSpill"});var v=[],X=[],Yt,Q,Jt=!1,j=!1,Pt=!1,T,Zt,De;function xo(){function i(t){for(var e in this)e.charAt(0)==="_"&&typeof this[e]=="function"&&(this[e]=this[e].bind(this));t.options.avoidImplicitDeselect||(t.options.supportPointer?y(document,"pointerup",this._deselectMultiDrag):(y(document,"mouseup",this._deselectMultiDrag),y(document,"touchend",this._deselectMultiDrag))),y(document,"keydown",this._checkKeyDown),y(document,"keyup",this._checkKeyUp),this.defaults={selectedClass:"sortable-selected",multiDragKey:null,avoidImplicitDeselect:!1,setData:function(o,s){var r="";v.length&&Q===t?v.forEach(function(a,l){r+=(l?", ":"")+a.textContent}):r=s.textContent,o.setData("Text",r)}}}return i.prototype={multiDragKeyDown:!1,isMultiDrag:!1,delayStartGlobal:function(e){var n=e.dragEl;T=n},delayEnded:function(){this.isMultiDrag=~v.indexOf(T)},setupClone:function(e){var n=e.sortable,o=e.cancel;if(this.isMultiDrag){for(var s=0;s<v.length;s++)X.push(En(v[s])),X[s].sortableIndex=v[s].sortableIndex,X[s].draggable=!1,X[s].style["will-change"]="",P(X[s],this.options.selectedClass,!1),v[s]===T&&P(X[s],this.options.chosenClass,!1);n._hideClone(),o()}},clone:function(e){var n=e.sortable,o=e.rootEl,s=e.dispatchSortableEvent,r=e.cancel;this.isMultiDrag&&(this.options.removeCloneOnHide||v.length&&Q===n&&(lo(!0,o),s("clone"),r()))},showClone:function(e){var n=e.cloneNowShown,o=e.rootEl,s=e.cancel;this.isMultiDrag&&(lo(!1,o),X.forEach(function(r){m(r,"display","")}),n(),De=!1,s())},hideClone:function(e){var n=this,o=e.sortable,s=e.cloneNowHidden,r=e.cancel;this.isMultiDrag&&(X.forEach(function(a){m(a,"display","none"),n.options.removeCloneOnHide&&a.parentNode&&a.parentNode.removeChild(a)}),s(),De=!0,r())},dragStartGlobal:function(e){var n=e.sortable;!this.isMultiDrag&&Q&&Q.multiDrag._deselectMultiDrag(),v.forEach(function(o){o.sortableIndex=O(o)}),v=v.sort(function(o,s){return o.sortableIndex-s.sortableIndex}),Pt=!0},dragStarted:function(e){var n=this,o=e.sortable;if(this.isMultiDrag){if(this.options.sort&&(o.captureAnimationState(),this.options.animation)){v.forEach(function(r){r!==T&&m(r,"position","absolute")});var s=$(T,!1,!0,!0);v.forEach(function(r){r!==T&&no(r,s)}),j=!0,Jt=!0}o.animateAll(function(){j=!1,Jt=!1,n.options.animation&&v.forEach(function(r){sn(r)}),n.options.sort&&Ae()})}},dragOver:function(e){var n=e.target,o=e.completed,s=e.cancel;j&&~v.indexOf(n)&&(o(!1),s())},revert:function(e){var n=e.fromSortable,o=e.rootEl,s=e.sortable,r=e.dragRect;v.length>1&&(v.forEach(function(a){s.addAnimationState({target:a,rect:j?$(a):r}),sn(a),a.fromRect=r,n.removeAnimationState(a)}),j=!1,Gs(!this.options.removeCloneOnHide,o))},dragOverCompleted:function(e){var n=e.sortable,o=e.isOwner,s=e.insertion,r=e.activeSortable,a=e.parentEl,l=e.putSortable,c=this.options;if(s){if(o&&r._hideClone(),Jt=!1,c.animation&&v.length>1&&(j||!o&&!r.options.sort&&!l)){var u=$(T,!1,!0,!0);v.forEach(function(f){f!==T&&(no(f,u),a.appendChild(f))}),j=!0}if(!o)if(j||Ae(),v.length>1){var h=De;r._showClone(n),r.options.animation&&!De&&h&&X.forEach(function(f){r.addAnimationState({target:f,rect:Zt}),f.fromRect=Zt,f.thisAnimationDuration=null})}else r._showClone(n)}},dragOverAnimationCapture:function(e){var n=e.dragRect,o=e.isOwner,s=e.activeSortable;if(v.forEach(function(a){a.thisAnimationDuration=null}),s.options.animation&&!o&&s.multiDrag.isMultiDrag){Zt=tt({},n);var r=St(T,!0);Zt.top-=r.f,Zt.left-=r.e}},dragOverAnimationComplete:function(){j&&(j=!1,Ae())},drop:function(e){var n=e.originalEvent,o=e.rootEl,s=e.parentEl,r=e.sortable,a=e.dispatchSortableEvent,l=e.oldIndex,c=e.putSortable,u=c||this.sortable;if(n){var h=this.options,f=s.children;if(!Pt)if(h.multiDragKey&&!this.multiDragKeyDown&&this._deselectMultiDrag(),P(T,h.selectedClass,!~v.indexOf(T)),~v.indexOf(T))v.splice(v.indexOf(T),1),Yt=null,Qt({sortable:r,rootEl:o,name:"deselect",targetEl:T,originalEvent:n});else{if(v.push(T),Qt({sortable:r,rootEl:o,name:"select",targetEl:T,originalEvent:n}),n.shiftKey&&Yt&&r.el.contains(Yt)){var x=O(Yt),E=O(T);~x&&~E&&x!==E&&function(){var C,k;E>x?(k=x,C=E):(k=E,C=x+1);for(var R=h.filter;k<C;k++)if(!~v.indexOf(f[k])&&z(f[k],h.draggable,s,!1)){var rt=R&&(typeof R=="function"?R.call(r,n,f[k],r):R.split(",").some(function(J){return z(f[k],J.trim(),s,!1)}));rt||(P(f[k],h.selectedClass,!0),v.push(f[k]),Qt({sortable:r,rootEl:o,name:"select",targetEl:f[k],originalEvent:n}))}}()}else Yt=T;Q=u}if(Pt&&this.isMultiDrag){if(j=!1,(s[H].options.sort||s!==o)&&v.length>1){var L=$(T),N=O(T,":not(."+this.options.selectedClass+")");if(!Jt&&h.animation&&(T.thisAnimationDuration=null),u.captureAnimationState(),!Jt&&(h.animation&&(T.fromRect=L,v.forEach(function(C){if(C.thisAnimationDuration=null,C!==T){var k=j?$(C):L;C.fromRect=k,u.addAnimationState({target:C,rect:k})}})),Ae(),v.forEach(function(C){f[N]?s.insertBefore(C,f[N]):s.appendChild(C),N++}),l===O(T))){var Y=!1;v.forEach(function(C){if(C.sortableIndex!==O(C)){Y=!0;return}}),Y&&(a("update"),a("sort"))}v.forEach(function(C){sn(C)}),u.animateAll()}Q=u}(o===s||c&&c.lastPutMode!=="clone")&&X.forEach(function(C){C.parentNode&&C.parentNode.removeChild(C)})}},nullingGlobal:function(){this.isMultiDrag=Pt=!1,X.length=0},destroyGlobal:function(){this._deselectMultiDrag(),b(document,"pointerup",this._deselectMultiDrag),b(document,"mouseup",this._deselectMultiDrag),b(document,"touchend",this._deselectMultiDrag),b(document,"keydown",this._checkKeyDown),b(document,"keyup",this._checkKeyUp)},_deselectMultiDrag:function(e){if(!(typeof Pt<"u"&&Pt)&&Q===this.sortable&&!(e&&z(e.target,this.options.draggable,this.sortable.el,!1))&&!(e&&e.button!==0))for(;v.length;){var n=v[0];P(n,this.options.selectedClass,!1),v.shift(),Qt({sortable:this.sortable,rootEl:this.sortable.el,name:"deselect",targetEl:n,originalEvent:e})}},_checkKeyDown:function(e){e.key===this.options.multiDragKey&&(this.multiDragKeyDown=!0)},_checkKeyUp:function(e){e.key===this.options.multiDragKey&&(this.multiDragKeyDown=!1)}},tt(i,{pluginName:"multiDrag",utils:{select:function(e){var n=e.parentNode[H];!n||!n.options.multiDrag||~v.indexOf(e)||(Q&&Q!==n&&(Q.multiDrag._deselectMultiDrag(),Q=n),P(e,n.options.selectedClass,!0),v.push(e))},deselect:function(e){var n=e.parentNode[H],o=v.indexOf(e);!n||!n.options.multiDrag||!~o||(P(e,n.options.selectedClass,!1),v.splice(o,1))}},eventProperties:function(){var e=this,n=[],o=[];return v.forEach(function(s){n.push({multiDragElement:s,index:s.sortableIndex});var r;j&&s!==T?r=-1:j?r=O(s,":not(."+e.options.selectedClass+")"):r=O(s),o.push({multiDragElement:s,index:r})}),{items:xs(v),clones:[].concat(X),oldIndicies:n,newIndicies:o}},optionListeners:{multiDragKey:function(e){return e=e.toLowerCase(),e==="ctrl"?e="Control":e.length>1&&(e=e.charAt(0).toUpperCase()+e.substr(1)),e}}})}function Gs(i,t){v.forEach(function(e,n){var o=t.children[e.sortableIndex+(i?Number(n):0)];o?t.insertBefore(e,o):t.appendChild(e)})}function lo(i,t){X.forEach(function(e,n){var o=t.children[e.sortableIndex+(i?Number(n):0)];o?t.insertBefore(e,o):t.appendChild(e)})}function Ae(){v.forEach(function(i){i!==T&&i.parentNode&&i.parentNode.removeChild(i)})}g.mount(new Xs);g.mount(xn,Cn);var Lt=g;var So={name(i,t){let e=i.getAttribute("data-name").trim().toLowerCase(),n=t.getAttribute("data-name").trim().toLowerCase();return e.localeCompare(n)},created(i,t){let e=Number(i.getAttribute("data-created"));return Number(t.getAttribute("data-created"))-e},updated(i,t){let e=Number(i.getAttribute("data-updated"));return Number(t.getAttribute("data-updated"))-e},chaptersFirst(i,t){let e=i.getAttribute("data-type"),n=t.getAttribute("data-type");return e===n?0:e==="chapter"?-1:1},chaptersLast(i,t){let e=i.getAttribute("data-type"),n=t.getAttribute("data-type");return e===n?0:e==="chapter"?1:-1}},Lo={up:{active(i,t){return!(i.previousElementSibling===null&&!t)},run(i,t){(i.previousElementSibling||t).insertAdjacentElement("beforebegin",i)}},down:{active(i,t){return!(i.nextElementSibling===null&&!t)},run(i,t){(i.nextElementSibling||t).insertAdjacentElement("afterend",i)}},next_book:{active(i,t,e){return e.nextElementSibling!==null},run(i,t,e){e.nextElementSibling.querySelector("ul").prepend(i)}},prev_book:{active(i,t,e){return e.previousElementSibling!==null},run(i,t,e){e.previousElementSibling.querySelector("ul").appendChild(i)}},next_chapter:{active(i,t){return i.dataset.type==="page"&&this.getNextChapter(i,t)},run(i,t){this.getNextChapter(i,t).querySelector("ul").prepend(i)},getNextChapter(i,t){let e=t||i,n=Array.from(e.parentElement.children),o=n.indexOf(e);return n.slice(o+1).find(s=>s.dataset.type==="chapter")}},prev_chapter:{active(i,t){return i.dataset.type==="page"&&this.getPrevChapter(i,t)},run(i,t){this.getPrevChapter(i,t).querySelector("ul").append(i)},getPrevChapter(i,t){let e=t||i,n=Array.from(e.parentElement.children),o=n.indexOf(e);return n.slice(0,o).reverse().find(s=>s.dataset.type==="chapter")}},book_end:{active(i,t){return t||t===null&&i.nextElementSibling},run(i,t,e){e.querySelector("ul").append(i)}},book_start:{active(i,t){return t||t===null&&i.previousElementSibling},run(i,t,e){e.querySelector("ul").prepend(i)}},before_chapter:{active(i,t){return t},run(i,t){t.insertAdjacentElement("beforebegin",i)}},after_chapter:{active(i,t){return t},run(i,t){t.insertAdjacentElement("afterend",i)}}},Ue=class extends d{setup(){this.container=this.$el,this.sortContainer=this.$refs.sortContainer,this.input=this.$refs.input,Lt.mount(new xo);let t=this.container.querySelector(".sort-box");this.setupBookSortable(t),this.setupSortPresets(),this.setupMoveActions(),window.$events.listen("entity-select-change",this.bookSelect.bind(this))}setupMoveActions(){this.container.addEventListener("click",t=>{if(t.target.matches("[data-move]")){let e=t.target.getAttribute("data-move"),n=t.target.closest("[data-id]");this.runSortAction(n,e)}}),this.updateMoveActionStateForAll()}setupSortPresets(){let t="",e=!1,n=["name","created","updated"];this.sortContainer.addEventListener("click",o=>{let s=o.target.closest(".sort-box-options [data-sort]");if(!s)return;o.preventDefault();let r=s.closest(".sort-box").querySelectorAll("ul"),a=s.getAttribute("data-sort");e=t===a?!e:!1;let l=So[a];e&&n.includes(a)&&(l=function(u,h){return 0-So[a](u,h)});for(let c of r)Array.from(c.children).filter(h=>h.matches("li")).sort(l).forEach(h=>{c.appendChild(h)});t=a,this.updateMapInput()})}bookSelect(t){if(this.container.querySelector(`[data-type="book"][data-id="${t.id}"]`)!==null)return;let n=`${t.link}/sort-item`;window.$http.get(n).then(o=>{let s=nt(o.data);this.sortContainer.append(s),this.setupBookSortable(s),this.updateMoveActionStateForAll(),s.querySelector("summary").focus()})}setupBookSortable(t){let e=Array.from(t.querySelectorAll(".sort-list, .sortable-page-sublist")),n={name:"book",pull:["book","chapter"],put:["book","chapter"]},o={name:"chapter",pull:["book","chapter"],put(s,r,a){return a.getAttribute("data-type")==="page"}};for(let s of e)Lt.create(s,{group:s.classList.contains("sort-list")?n:o,animation:150,fallbackOnBody:!0,swapThreshold:.65,onSort:()=>{this.ensureNoNestedChapters(),this.updateMapInput(),this.updateMoveActionStateForAll()},dragClass:"bg-white",ghostClass:"primary-background-light",multiDrag:!0,multiDragKey:"Control",selectedClass:"sortable-selected"})}ensureNoNestedChapters(){let t=this.container.querySelectorAll('[data-type="chapter"] [data-type="chapter"]');for(let e of t)e.parentElement.closest('[data-type="chapter"]').insertAdjacentElement("afterend",e)}updateMapInput(){let t=this.buildEntityMap();this.input.value=JSON.stringify(t)}buildEntityMap(){let t=[],e=this.container.querySelectorAll(".sort-list");for(let n of e){let o=n.closest('[data-type="book"]').getAttribute("data-id"),s=Array.from(n.children).filter(r=>r.matches('[data-type="page"], [data-type="chapter"]'));for(let r=0;r<s.length;r++)this.addBookChildToMap(s[r],r,o,t)}return t}addBookChildToMap(t,e,n,o){let s=t.getAttribute("data-type"),r=!1,a=t.getAttribute("data-id");o.push({id:a,sort:e,parentChapter:r,type:s,book:n});let l=t.querySelectorAll('[data-type="page"]');for(let c=0;c<l.length;c++)o.push({id:l[c].getAttribute("data-id"),sort:c,parentChapter:a,type:"page",book:n})}runSortAction(t,e){let n=t.parentElement.closest("li[data-id]"),o=t.parentElement.closest('[data-type="book"]');Lo[e].run(t,n,o),this.updateMapInput(),this.updateMoveActionStateForAll(),t.scrollIntoView({behavior:"smooth",block:"nearest"}),t.focus()}updateMoveActionState(t){let e=t.parentElement.closest("li[data-id]"),n=t.parentElement.closest('[data-type="book"]');for(let[o,s]of Object.entries(Lo)){let r=t.querySelector(`[data-move="${o}"]`);r.disabled=!s.active(t,e,n)}}updateMoveActionStateForAll(){let t=this.container.querySelectorAll('[data-type="chapter"],[data-type="page"]');for(let e of t)this.updateMoveActionState(e)}};var Ve=new WeakMap;function de(i,t,e=400,n=null){let o=Object.keys(t);for(let r of o)i.style.setProperty(r,t[r][0]);let s=()=>{for(let r of o)i.style.removeProperty(r);i.style.removeProperty("transition"),i.removeEventListener("transitionend",s),Ve.delete(i),n&&n()};setTimeout(()=>{i.style.transition=`all ease-in-out ${e}ms`;for(let r of o)i.style.setProperty(r,t[r][1]);i.addEventListener("transitionend",s),Ve.set(i,s)},15)}function he(i){Ve.has(i)&&Ve.get(i)()}function ko(i,t=400,e=null){he(i),i.style.display="block",de(i,{opacity:["0","1"]},t,()=>{e&&e()})}function To(i,t=400,e=null){he(i),de(i,{opacity:["1","0"]},t,()=>{i.style.display="none",e&&e()})}function Ht(i,t=400){he(i);let e=i.getBoundingClientRect().height,n=getComputedStyle(i),o=n.getPropertyValue("padding-top"),s=n.getPropertyValue("padding-bottom"),r={"max-height":[`${e}px`,"0px"],overflow:["hidden","hidden"],"padding-top":[o,"0px"],"padding-bottom":[s,"0px"]};de(i,r,t,()=>{i.style.display="none"})}function Ft(i,t=400){he(i),i.style.display="block";let e=i.getBoundingClientRect().height,n=getComputedStyle(i),o=n.getPropertyValue("padding-top"),s=n.getPropertyValue("padding-bottom"),r={"max-height":["0px",`${e}px`],overflow:["hidden","hidden"],"padding-top":["0px",o],"padding-bottom":["0px",s]};de(i,r,t)}function $o(i,t=400){let e=i.getBoundingClientRect().height,n=getComputedStyle(i),o=n.getPropertyValue("padding-top"),s=n.getPropertyValue("padding-bottom");return()=>{he(i);let r=i.getBoundingClientRect().height,a=getComputedStyle(i),l=a.getPropertyValue("padding-top"),c=a.getPropertyValue("padding-bottom"),u={height:[`${e}px`,`${r}px`],overflow:["hidden","hidden"],"padding-top":[o,l],"padding-bottom":[s,c]};de(i,u,t)}}var je=class extends d{setup(){this.list=this.$refs.list,this.toggle=this.$refs.toggle,this.isOpen=this.toggle.classList.contains("open"),this.toggle.addEventListener("click",this.click.bind(this))}open(){this.toggle.classList.add("open"),this.toggle.setAttribute("aria-expanded","true"),Ft(this.list,180),this.isOpen=!0}close(){this.toggle.classList.remove("open"),this.toggle.setAttribute("aria-expanded","false"),Ht(this.list,180),this.isOpen=!1}click(t){t.preventDefault(),this.isOpen?this.close():this.open()}};var ze=class extends d{constructor(){super(...arguments);U(this,"editor",null);U(this,"saveCallback",null);U(this,"cancelCallback",null);U(this,"history",{});U(this,"historyKey","code_history")}setup(){this.container=this.$refs.container,this.popup=this.$el,this.editorInput=this.$refs.editor,this.languageButtons=this.$manyRefs.languageButton,this.languageOptionsContainer=this.$refs.languageOptionsContainer,this.saveButton=this.$refs.saveButton,this.languageInput=this.$refs.languageInput,this.historyDropDown=this.$refs.historyDropDown,this.historyList=this.$refs.historyList,this.favourites=new Set(this.$opts.favourites.split(",")),this.setupListeners(),this.setupFavourites()}setupListeners(){this.container.addEventListener("keydown",e=>{e.ctrlKey&&e.key==="Enter"&&this.save()}),S(this.languageButtons,e=>{let n=e.target.dataset.lang;this.languageInput.value=n,this.languageInputChange(n)}),Dt(this.languageInput,()=>this.save()),this.languageInput.addEventListener("input",()=>this.languageInputChange(this.languageInput.value)),S(this.saveButton,()=>this.save()),I(this.historyList,"button","click",(e,n)=>{e.preventDefault();let o=n.dataset.time;this.editor&&this.editor.setContent(this.history[o])})}setupFavourites(){for(let e of this.languageButtons)this.setupFavouritesForButton(e);this.sortLanguageList()}setupFavouritesForButton(e){let n=e.dataset.lang,o=this.favourites.has(n);e.setAttribute("data-favourite",o?"true":"false"),I(e.parentElement,".lang-option-favorite-toggle","click",()=>{o=!o,o?this.favourites.add(n):this.favourites.delete(n),e.setAttribute("data-favourite",o?"true":"false"),window.$http.patch("/preferences/update-code-language-favourite",{language:n,active:o}),this.sortLanguageList(),o&&e.scrollIntoView({block:"center",behavior:"smooth"})})}sortLanguageList(){let e=this.languageButtons.sort((n,o)=>{let s=n.dataset.favourite==="true",r=o.dataset.favourite==="true";return s&&!r?-1:r&&!s||n.dataset.lang>o.dataset.lang?1:-1}).map(n=>n.parentElement);for(let n of e)this.languageOptionsContainer.append(n)}save(){this.saveCallback&&this.saveCallback(this.editor.getContent(),this.languageInput.value),this.hide()}async open(e,n,o,s,r){this.languageInput.value=n,this.saveCallback=s,this.cancelCallback=r,await this.show(),this.languageInputChange(n),this.editor.setContent(e),this.setDirection(o)}async show(){let e=await window.importVersioned("code");this.editor||(this.editor=e.popupEditor(this.editorInput,this.languageInput.value)),this.loadHistory(),this.getPopup().show(()=>{this.editor.focus()},()=>{this.addHistory(),this.cancelCallback&&this.cancelCallback()})}setDirection(e){let n=this.editorInput.parentElement;e?n.setAttribute("dir",e):n.removeAttribute("dir")}hide(){this.getPopup().hide(),this.addHistory()}getPopup(){return window.$components.firstOnElement(this.popup,"popup")}async updateEditorMode(e){this.editor.setMode(e,this.editor.getContent())}languageInputChange(e){this.updateEditorMode(e);let n=e.toLowerCase();for(let o of this.languageButtons){let s=o.dataset.lang.toLowerCase().trim(),r=n===s;o.classList.toggle("active",r),r&&o.scrollIntoView({block:"center",behavior:"smooth"})}}loadHistory(){this.history=JSON.parse(window.sessionStorage.getItem(this.historyKey)||"{}");let e=Object.keys(this.history).reverse();this.historyDropDown.classList.toggle("hidden",e.length===0),this.historyList.innerHTML=e.map(n=>{let o=new Date(parseInt(n,10)).toLocaleTimeString();return`<li><button type="button" data-time="${n}" class="text-item">${o}</button></li>`}).join("")}addHistory(){if(!this.editor)return;let e=this.editor.getContent();if(!e)return;let n=Object.keys(this.history).pop();if(this.history[n]===e)return;this.history[String(Date.now())]=e;let o=JSON.stringify(this.history);window.sessionStorage.setItem(this.historyKey,o)}};var We=class extends d{setup(){let t=this.$el;t.querySelectorAll("pre").length>0&&window.importVersioned("code").then(n=>{n.highlightWithin(t)})}};var Ke=class extends d{async setup(){let{mode:t}=this.$opts;(await window.importVersioned("code")).inlineEditor(this.$el,t)}};var Xe=class extends d{setup(){this.container=this.$el,this.trigger=this.$refs.trigger,this.content=this.$refs.content,this.trigger&&(this.trigger.addEventListener("click",this.toggle.bind(this)),this.openIfContainsError())}open(){this.container.classList.add("open"),this.trigger.setAttribute("aria-expanded","true"),Ft(this.content,300)}close(){this.container.classList.remove("open"),this.trigger.setAttribute("aria-expanded","false"),Ht(this.content,300)}toggle(){this.container.classList.contains("open")?this.close():this.open()}openIfContainsError(){this.content.querySelector(".text-neg.text-small")&&this.open()}};var Ge=class extends d{setup(){this.container=this.$el,this.confirmButton=this.$refs.confirm,this.res=null,S(this.confirmButton,()=>{this.sendResult(!0),this.getPopup().hide()})}show(){return this.getPopup().show(null,()=>{this.sendResult(!1)}),new Promise(t=>{this.res=t})}getPopup(){return window.$components.firstOnElement(this.container,"popup")}sendResult(t){this.res&&(this.res(t),this.res=null)}};var Ye=class extends d{setup(){this.container=this.$el,this.checkbox=this.container.querySelector("input[type=checkbox]"),this.display=this.container.querySelector('[role="checkbox"]'),this.checkbox.addEventListener("change",this.stateChange.bind(this)),this.container.addEventListener("keydown",this.onKeyDown.bind(this))}onKeyDown(t){(t.key===" "||t.key==="Enter")&&(t.preventDefault(),this.toggle())}toggle(){this.checkbox.checked=!this.checkbox.checked,this.checkbox.dispatchEvent(new Event("change")),this.stateChange()}stateChange(){let t=this.checkbox.checked?"true":"false";this.display.setAttribute("aria-checked",t)}};var Je=class extends d{setup(){this.container=this.$el,this.dealtWith=!1,this.container.addEventListener("toggle",this.onToggle.bind(this))}onToggle(){this.dealtWith||(this.container.querySelector("pre")&&window.importVersioned("code").then(t=>{t.highlightWithin(this.container)}),this.dealtWith=!0)}};var Ze=class extends d{setup(){this.container=this.$el,this.menu=this.$refs.menu,this.toggle=this.$refs.toggle,this.moveMenu=this.$opts.moveMenu,this.bubbleEscapes=this.$opts.bubbleEscapes==="true",this.direction=document.dir==="rtl"?"right":"left",this.body=document.body,this.showing=!1,this.hide=this.hide.bind(this),this.setupListeners()}show(t=null){this.hideAll(),this.menu.style.display="block",this.menu.classList.add("anim","menuIn"),this.toggle.setAttribute("aria-expanded","true");let e=this.menu.getBoundingClientRect(),n=0,o=this.toggle.getBoundingClientRect().height,s=e.bottom>window.innerHeight,r=this.container.getBoundingClientRect();if(this.moveMenu&&(this.body.appendChild(this.menu),this.menu.style.position="fixed",this.menu.style.width=`${e.width}px`,this.menu.style.left=`${e.left}px`,s?n=window.innerHeight-e.top-o/2:n=e.top),s){this.menu.style.top="initial",this.menu.style.bottom=`${n}px`;let c=window.innerHeight-40-(window.innerHeight-r.bottom);this.menu.style.maxHeight=`${Math.floor(c)}px`}else{this.menu.style.top=`${n}px`,this.menu.style.bottom="initial";let c=window.innerHeight-40-r.top;this.menu.style.maxHeight=`${Math.floor(c)}px`}this.menu.addEventListener("mouseleave",this.hide),window.addEventListener("click",c=>{this.menu.contains(c.target)||this.hide()});let a=this.menu.querySelector("input");a!==null&&a.focus(),this.showing=!0;let l=new Event("show");this.container.dispatchEvent(l),t&&t.stopPropagation()}hideAll(){for(let t of window.$components.get("dropdown"))t.hide()}hide(){this.menu.style.display="none",this.menu.classList.remove("anim","menuIn"),this.toggle.setAttribute("aria-expanded","false"),this.menu.style.top="",this.menu.style.bottom="",this.menu.style.maxHeight="",this.moveMenu&&(this.menu.style.position="",this.menu.style[this.direction]="",this.menu.style.width="",this.menu.style.left="",this.container.appendChild(this.menu)),this.showing=!1}setupListeners(){let t=new pt(this.container,e=>{this.hide(),this.toggle.focus(),this.bubbleEscapes||e.stopPropagation()},e=>{e.target.nodeName==="INPUT"&&(e.preventDefault(),e.stopPropagation()),this.hide()});this.moveMenu&&t.shareHandlingToEl(this.menu),this.container.addEventListener("click",e=>{Array.from(this.menu.querySelectorAll("a")).includes(e.target)&&this.hide()}),S(this.toggle,e=>{e.stopPropagation(),e.preventDefault(),this.show(e),e instanceof KeyboardEvent&&t.focusNext()})}};var Qe=class extends d{setup(){this.elem=this.$el,this.searchInput=this.$refs.searchInput,this.loadingElem=this.$refs.loading,this.listContainerElem=this.$refs.listContainer,this.localSearchSelector=this.$opts.localSearchSelector,this.url=this.$opts.url,this.elem.addEventListener("show",this.onShow.bind(this)),this.searchInput.addEventListener("input",this.onSearch.bind(this)),this.runAjaxSearch=It(this.runAjaxSearch,300,!1)}onShow(){this.loadList()}onSearch(){let t=this.searchInput.value.toLowerCase().trim();this.localSearchSelector?this.runLocalSearch(t):(this.toggleLoading(!0),this.listContainerElem.innerHTML="",this.runAjaxSearch(t))}runAjaxSearch(t){this.loadList(t)}runLocalSearch(t){let e=this.listContainerElem.querySelectorAll(this.localSearchSelector);for(let n of e){let o=!t||n.textContent.toLowerCase().includes(t);n.style.display=o?"flex":"none",n.classList.toggle("hidden",!o)}}async loadList(t=""){this.listContainerElem.innerHTML="",this.toggleLoading(!0);try{let e=await window.$http.get(this.getAjaxUrl(t)),n=$o(this.listContainerElem,80);this.listContainerElem.innerHTML=e.data,n()}catch(e){console.error(e)}this.toggleLoading(!1),this.localSearchSelector&&this.onSearch()}getAjaxUrl(t=null){if(!t)return this.url;let e=this.url.includes("?")?"&":"?";return`${this.url}${e}search=${encodeURIComponent(t)}`}toggleLoading(t=!1){this.loadingElem.style.display=t?"block":"none"}};var Nt=class{constructor(t){this.data=t}hasItems(){return!!this.data&&!!this.data.types&&this.data.types.length>0}containsTabularData(){let t=this.data.getData("text/rtf");return!!t&&t.includes("\\trowd")}getImages(){return this.getFiles().filter(t=>t.type.includes("image"))}getFiles(){let{files:t}=this.data;return[...t]}};async function Sn(i){if(window.isSecureContext&&navigator.clipboard){await navigator.clipboard.writeText(i);return}let t=document.createElement("textarea");t.setAttribute("style","position: absolute; left: -1000px; top: -1000px;"),t.value=i,document.body.appendChild(t),t.select(),document.execCommand("copy"),document.body.removeChild(t)}var ti=class extends d{setup(){this.container=this.$el,this.statusArea=this.$refs.statusArea,this.dropTarget=this.$refs.dropTarget,this.selectButtons=this.$manyRefs.selectButton||[],this.isActive=!0,this.url=this.$opts.url,this.method=(this.$opts.method||"post").toUpperCase(),this.successMessage=this.$opts.successMessage,this.errorMessage=this.$opts.errorMessage,this.uploadLimitMb=Number(this.$opts.uploadLimit),this.uploadLimitMessage=this.$opts.uploadLimitMessage,this.zoneText=this.$opts.zoneText,this.fileAcceptTypes=this.$opts.fileAccept,this.allowMultiple=this.$opts.allowMultiple==="true",this.setupListeners()}toggleActive(t){this.isActive=t}setupListeners(){S(this.selectButtons,this.manualSelectHandler.bind(this)),this.setupDropTargetHandlers()}setupDropTargetHandlers(){let t=0,e=()=>{this.hideOverlay(),t=0};this.dropTarget.addEventListener("dragenter",n=>{n.preventDefault(),t+=1,t===1&&this.isActive&&this.showOverlay()}),this.dropTarget.addEventListener("dragover",n=>{n.preventDefault()}),this.dropTarget.addEventListener("dragend",e),this.dropTarget.addEventListener("dragleave",()=>{t-=1,t===0&&e()}),this.dropTarget.addEventListener("drop",n=>{if(n.preventDefault(),e(),!this.isActive)return;let s=new Nt(n.dataTransfer).getFiles();for(let r of s)this.createUploadFromFile(r)})}manualSelectHandler(){let t=it("input",{type:"file",style:"left: -400px; visibility: hidden; position: fixed;",accept:this.fileAcceptTypes,multiple:this.allowMultiple?"":null});this.container.append(t),t.click(),t.addEventListener("change",()=>{for(let e of t.files)this.createUploadFromFile(e);t.remove()})}showOverlay(){if(!this.dropTarget.querySelector(".dropzone-overlay")){let e=it("div",{class:"dropzone-overlay"},[this.zoneText]);this.dropTarget.append(e)}}hideOverlay(){let t=this.dropTarget.querySelector(".dropzone-overlay");t&&t.remove()}createUploadFromFile(t){let{dom:e,status:n,progress:o,dismiss:s}=this.createDomForFile(t);this.statusArea.append(e);let r=this,a={file:t,dom:e,updateProgress(l){o.textContent=`${l}%`,o.style.width=`${l}%`},markError(l){n.setAttribute("data-status","error"),n.textContent=l,Gt(e),this.updateProgress(100)},markSuccess(l){n.setAttribute("data-status","success"),n.textContent=l,Gt(e),setTimeout(s,2400),r.$emit("upload-success",{name:t.name})}};return t.size>this.uploadLimitMb*1e6?(a.markError(this.uploadLimitMessage),a):(this.startXhrForUpload(a),a)}startXhrForUpload(t){let e=new FormData;e.append("file",t.file,t.file.name),this.method!=="POST"&&e.append("_method",this.method);let n=this,o=window.$http.createXMLHttpRequest("POST",this.url,{error(){t.markError(n.errorMessage)},readystatechange(){this.readyState===XMLHttpRequest.DONE&&this.status===200?t.markSuccess(n.successMessage):this.readyState===XMLHttpRequest.DONE&&this.status>=400&&t.markError(window.$http.formatErrorResponseText(this.responseText))}});o.upload.addEventListener("progress",s=>{let r=Math.min(Math.ceil(s.loaded/s.total*100),100);t.updateProgress(r)}),o.setRequestHeader("Accept","application/json"),o.send(e)}createDomForFile(t){let e=it("img",{src:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9.224 7.373a.924.924 0 0 0-.92.925l-.006 7.404c0 .509.412.925.921.925h5.557a.928.928 0 0 0 .926-.925v-5.553l-2.777-2.776Zm3.239 3.239V8.067l2.545 2.545z' style='fill:%23000;fill-opacity:.75'/%3E%3C/svg%3E"}),n=it("div",{class:"dropzone-file-item-status"},[]),o=it("div",{class:"dropzone-file-item-progress"}),s=it("div",{class:"dropzone-file-item-image-wrap"},[e]),r=it("div",{class:"dropzone-file-item"},[s,it("div",{class:"dropzone-file-item-text-wrap"},[it("div",{class:"dropzone-file-item-label"},[t.name]),At(),n]),o]);t.type.startsWith("image/")&&(e.src=URL.createObjectURL(t));let a=()=>{r.classList.add("dismiss"),r.addEventListener("animationend",()=>{r.remove()})};return r.addEventListener("click",a),{dom:r,progress:o,status:n,dismiss:a}}};var ei=class extends d{setup(){this.container=this.$el,this.buttons=this.$manyRefs.tabButton,this.contentElements=this.$manyRefs.tabContent,this.toggleButton=this.$refs.toggle,this.editorWrapEl=this.container.closest(".page-editor"),this.setupListeners(),this.setActiveTab(this.contentElements[0].dataset.tabContent)}setupListeners(){this.toggleButton.addEventListener("click",()=>this.toggle()),this.container.addEventListener("click",t=>{let e=t.target.closest("button");if(this.buttons.includes(e)){let n=e.dataset.tab;this.setActiveTab(n,!0)}})}toggle(){this.container.classList.toggle("open");let t=this.container.classList.contains("open");this.toggleButton.setAttribute("aria-expanded",t?"true":"false"),this.editorWrapEl.classList.toggle("toolbox-open",t)}setActiveTab(t,e=!1){for(let n of this.buttons)n.classList.remove("active"),n.dataset.tab===t&&n.classList.add("active");for(let n of this.contentElements)n.style.display="none",n.dataset.tabContent===t&&(n.style.display="block");e&&!this.container.classList.contains("open")&&this.toggle()}};var ii=class extends d{setup(){this.container=this.$el,this.entityType=this.$opts.entityType,this.everyoneInheritToggle=this.$refs.everyoneInherit,this.roleSelect=this.$refs.roleSelect,this.roleContainer=this.$refs.roleContainer,this.setupListeners()}setupListeners(){this.everyoneInheritToggle.addEventListener("change",t=>{let e=t.target.checked,n=document.querySelectorAll('input[name^="permissions[0]["]');for(let o of n)o.disabled=e,o.checked=!1}),this.container.addEventListener("click",t=>{let e=t.target.closest("button");e&&e.dataset.roleId&&this.removeRowOnButtonClick(e)}),this.roleSelect.addEventListener("change",()=>{let t=this.roleSelect.value;t&&this.addRoleRow(t)})}async addRoleRow(t){this.roleSelect.disabled=!0;let e=this.roleSelect.querySelector(`option[value="${t}"]`);e&&e.remove();let n=await window.$http.get(`/permissions/form-row/${this.entityType}/${t}`),o=nt(n.data);this.roleContainer.append(o),this.roleSelect.disabled=!1}removeRowOnButtonClick(t){let e=t.closest(".item-list-row"),{roleId:n}=t.dataset,{roleName:o}=t.dataset,s=document.createElement("option");s.value=n,s.textContent=o,this.roleSelect.append(s),e.remove()}};var ni=class extends d{setup(){this.entityId=this.$opts.entityId,this.entityType=this.$opts.entityType,this.contentView=this.$refs.contentView,this.searchView=this.$refs.searchView,this.searchResults=this.$refs.searchResults,this.searchInput=this.$refs.searchInput,this.searchForm=this.$refs.searchForm,this.clearButton=this.$refs.clearButton,this.loadingBlock=this.$refs.loadingBlock,this.setupListeners()}setupListeners(){this.searchInput.addEventListener("change",this.runSearch.bind(this)),this.searchForm.addEventListener("submit",t=>{t.preventDefault(),this.runSearch()}),S(this.clearButton,this.clearSearch.bind(this))}runSearch(){let t=this.searchInput.value.trim();if(t.length===0){this.clearSearch();return}this.searchView.classList.remove("hidden"),this.contentView.classList.add("hidden"),this.loadingBlock.classList.remove("hidden");let e=window.baseUrl(`/search/${this.entityType}/${this.entityId}`);window.$http.get(e,{term:t}).then(n=>{this.searchResults.innerHTML=n.data}).catch(console.error).then(()=>{this.loadingBlock.classList.add("hidden")})}clearSearch(){this.searchView.classList.add("hidden"),this.contentView.classList.remove("hidden"),this.loadingBlock.classList.add("hidden"),this.searchInput.value=""}};var oi=class extends d{setup(){this.elem=this.$el,this.input=this.$refs.input,this.searchInput=this.$refs.search,this.loading=this.$refs.loading,this.resultsContainer=this.$refs.results,this.searchOptions={entityTypes:this.$opts.entityTypes||"page,book,chapter",entityPermission:this.$opts.entityPermission||"view",searchEndpoint:this.$opts.searchEndpoint||"",initialValue:this.searchInput.value||""},this.search="",this.lastClick=0,this.setupListeners(),this.showLoading(),this.searchOptions.searchEndpoint&&this.initialLoad()}configureSearchOptions(t){Object.assign(this.searchOptions,t),this.reset(),this.searchInput.value=this.searchOptions.initialValue}setupListeners(){this.elem.addEventListener("click",this.onClick.bind(this));let t=0;this.searchInput.addEventListener("input",()=>{t=Date.now(),this.showLoading(),setTimeout(()=>{Date.now()-t<199||this.searchEntities(this.searchInput.value)},200)}),this.searchInput.addEventListener("keydown",e=>{e.keyCode===13&&e.preventDefault()}),I(this.$el,"[data-entity-type]","keydown",e=>{if(e.ctrlKey&&e.code==="Enter"){let n=this.$el.closest("form");if(n){n.submit(),e.preventDefault();return}}e.code==="ArrowDown"&&this.focusAdjacent(!0),e.code==="ArrowUp"&&this.focusAdjacent(!1)}),this.searchInput.addEventListener("keydown",e=>{e.code==="ArrowDown"&&this.focusAdjacent(!0)})}focusAdjacent(t=!0){let e=Array.from(this.resultsContainer.querySelectorAll("[data-entity-type]")),n=e.indexOf(document.activeElement),o=e[n+(t?1:-1)]||e[0];o&&o.focus()}reset(){this.searchInput.value="",this.showLoading(),this.initialLoad()}focusSearch(){this.searchInput.focus()}showLoading(){this.loading.style.display="block",this.resultsContainer.style.display="none"}hideLoading(){this.loading.style.display="none",this.resultsContainer.style.display="block"}initialLoad(){if(!this.searchOptions.searchEndpoint)throw new Error("Search endpoint not set for entity-selector load");if(this.searchOptions.initialValue){this.searchEntities(this.searchOptions.initialValue);return}window.$http.get(this.searchUrl()).then(t=>{this.resultsContainer.innerHTML=t.data,this.hideLoading()})}searchUrl(){let t=`types=${encodeURIComponent(this.searchOptions.entityTypes)}&permission=${encodeURIComponent(this.searchOptions.entityPermission)}`;return`${this.searchOptions.searchEndpoint}?${t}`}searchEntities(t){if(!this.searchOptions.searchEndpoint)throw new Error("Search endpoint not set for entity-selector load");this.input.value="";let e=`${this.searchUrl()}&term=${encodeURIComponent(t)}`;window.$http.get(e).then(n=>{this.resultsContainer.innerHTML=n.data,this.hideLoading()})}isDoubleClick(){let t=Date.now(),e=t-this.lastClick<300;return this.lastClick=t,e}onClick(t){let e=t.target.closest("[data-entity-type]");e&&(t.preventDefault(),t.stopPropagation(),this.selectItem(e))}selectItem(t){let e=this.isDoubleClick(),n=t.getAttribute("data-entity-type"),o=t.getAttribute("data-entity-id"),s=!t.classList.contains("selected")||e;this.unselectAll(),this.input.value=s?`${n}:${o}`:"";let r=t.getAttribute("href"),a=t.querySelector(".entity-list-item-name").textContent,l={id:Number(o),name:a,link:r};s?t.classList.add("selected"):window.$events.emit("entity-select-change",null),!(!e&&!s)&&(e&&this.confirmSelection(l),s&&window.$events.emit("entity-select-change",l))}confirmSelection(t){window.$events.emit("entity-select-confirm",t)}unselectAll(){let t=this.elem.querySelectorAll(".selected");for(let e of t)e.classList.remove("selected","primary-background")}};var si=class extends d{setup(){this.container=this.$el,this.selectButton=this.$refs.select,this.selectorEl=this.$refs.selector,this.callback=null,this.selection=null,this.selectButton.addEventListener("click",this.onSelectButtonClick.bind(this)),window.$events.listen("entity-select-change",this.onSelectionChange.bind(this)),window.$events.listen("entity-select-confirm",this.handleConfirmedSelection.bind(this))}show(t,e={}){this.callback=t,this.getSelector().configureSearchOptions(e),this.getPopup().show(),this.getSelector().focusSearch()}hide(){this.getPopup().hide()}getPopup(){return window.$components.firstOnElement(this.container,"popup")}getSelector(){return window.$components.firstOnElement(this.selectorEl,"entity-selector")}onSelectButtonClick(){this.handleConfirmedSelection(this.selection)}onSelectionChange(t){this.selection=t,t===null?this.selectButton.setAttribute("disabled","true"):this.selectButton.removeAttribute("disabled")}handleConfirmedSelection(t){this.hide(),this.getSelector().reset(),this.callback&&t&&this.callback(t)}};var ri=class extends d{setup(){this.container=this.$el,this.name=this.$opts.name,S(this.$el,()=>{this.$emit(this.name,this.$opts)})}};var ai=class extends d{setup(){this.targetSelector=this.$opts.targetSelector,this.isOpen=this.$opts.isOpen==="true",this.updateEndpoint=this.$opts.updateEndpoint,this.$el.addEventListener("click",this.click.bind(this))}open(t){Ft(t,200)}close(t){Ht(t,200)}click(t){t.preventDefault();let e=document.querySelectorAll(this.targetSelector);for(let n of e)(this.isOpen?this.close:this.open)(n);this.isOpen=!this.isOpen,this.updateSystemAjax(this.isOpen)}updateSystemAjax(t){window.$http.patch(this.updateEndpoint,{expand:t?"true":"false"})}};var li=class extends d{setup(){this.container=this.$el,this.input=this.$refs.input,this.suggestions=this.$refs.suggestions,this.suggestionResultsWrap=this.$refs.suggestionResults,this.loadingWrap=this.$refs.loading,this.button=this.$refs.button,this.setupListeners()}setupListeners(){let t=It(this.updateSuggestions.bind(this),200,!1);this.input.addEventListener("input",()=>{let{value:e}=this.input;e.length>0?(this.loadingWrap.style.display="block",this.suggestionResultsWrap.style.opacity="0.5",t(e)):this.hideSuggestions()}),this.input.addEventListener("dblclick",()=>{this.input.setAttribute("autocomplete","on"),this.button.focus(),this.input.focus()}),new pt(this.container,()=>{this.hideSuggestions()})}async updateSuggestions(t){let{data:e}=await window.$http.get("/search/suggest",{term:t});if(!this.input.value)return;let n=nt(e);this.suggestionResultsWrap.innerHTML="",this.suggestionResultsWrap.style.opacity="1",this.loadingWrap.style.display="none",this.suggestionResultsWrap.append(n),this.container.classList.contains("search-active")||this.showSuggestions()}showSuggestions(){this.container.classList.add("search-active"),window.requestAnimationFrame(()=>{this.suggestions.classList.add("search-suggestions-animation")})}hideSuggestions(){this.container.classList.remove("search-active"),this.suggestions.classList.remove("search-suggestions-animation"),this.suggestionResultsWrap.innerHTML=""}};var ci=class extends d{setup(){this.elem=this.$el,this.toggleButton=this.$refs.toggle,this.menu=this.$refs.menu,this.open=!1,this.toggleButton.addEventListener("click",this.onToggle.bind(this)),this.onWindowClick=this.onWindowClick.bind(this),this.onKeyDown=this.onKeyDown.bind(this)}onToggle(t){this.open=!this.open,this.menu.classList.toggle("show",this.open),this.toggleButton.setAttribute("aria-expanded",this.open?"true":"false"),this.open?(this.elem.addEventListener("keydown",this.onKeyDown),window.addEventListener("click",this.onWindowClick)):(this.elem.removeEventListener("keydown",this.onKeyDown),window.removeEventListener("click",this.onWindowClick)),t.stopPropagation()}onKeyDown(t){t.code==="Escape"&&this.onToggle(t)}onWindowClick(t){this.onToggle(t)}};var di=class extends d{setup(){this.uploadedTo=this.$opts.uploadedTo,this.container=this.$el,this.popupEl=this.$refs.popup,this.searchForm=this.$refs.searchForm,this.searchInput=this.$refs.searchInput,this.cancelSearch=this.$refs.cancelSearch,this.listContainer=this.$refs.listContainer,this.filterTabs=this.$manyRefs.filterTabs,this.selectButton=this.$refs.selectButton,this.uploadButton=this.$refs.uploadButton,this.uploadHint=this.$refs.uploadHint,this.formContainer=this.$refs.formContainer,this.formContainerPlaceholder=this.$refs.formContainerPlaceholder,this.dropzoneContainer=this.$refs.dropzoneContainer,this.loadMore=this.$refs.loadMore,this.type="gallery",this.lastSelected={},this.lastSelectedTime=0,this.callback=null,this.resetState=()=>{this.hasData=!1,this.page=1,this.filter="all"},this.resetState(),this.setupListeners()}setupListeners(){S(this.filterTabs,n=>{this.resetAll(),this.filter=n.target.dataset.filter,this.setActiveFilterTab(this.filter),this.loadGallery()}),this.searchForm.addEventListener("submit",n=>{this.resetListView(),this.loadGallery(),this.cancelSearch.toggleAttribute("hidden",!this.searchInput.value),n.preventDefault()}),S(this.cancelSearch,()=>{this.resetListView(),this.resetSearchView(),this.loadGallery()}),I(this.container,".load-more button","click",this.runLoadMore.bind(this)),this.listContainer.addEventListener("event-emit-select-image",this.onImageSelectEvent.bind(this)),this.listContainer.addEventListener("error",n=>{n.target.src=window.baseUrl("loading_error.png")},!0),S(this.selectButton,()=>{this.callback&&this.callback(this.lastSelected),this.hide()}),I(this.formContainer,"#image-manager-delete","click",()=>{this.lastSelected&&this.loadImageEditForm(this.lastSelected.id,!0)}),I(this.formContainer,"#image-manager-rebuild-thumbs","click",async(n,o)=>{o.disabled=!0,this.lastSelected&&await this.rebuildThumbnails(this.lastSelected.id),o.disabled=!1}),this.formContainer.addEventListener("ajax-form-success",()=>{this.refreshGallery(),this.resetEditForm()}),this.container.addEventListener("dropzone-upload-success",this.refreshGallery.bind(this));let t=this.listContainer.parentElement,e=[];t.addEventListener("wheel",n=>{if(!(Math.ceil(t.scrollHeight-t.scrollTop)===t.clientHeight)||n.deltaY<1)return;let r=Date.now()-1e3;e.push(Date.now()),e=e.filter(a=>a>=r),e.length>5&&this.canLoadMore()&&this.runLoadMore()})}show(t,e="gallery"){this.resetAll(),this.callback=t,this.type=e,this.getPopup().show();let n=e!=="gallery";this.dropzoneContainer.classList.toggle("hidden",n),this.uploadButton.classList.toggle("hidden",n),this.uploadHint.classList.toggle("hidden",n),window.$components.firstOnElement(this.container,"dropzone").toggleActive(!n),this.hasData||(this.loadGallery(),this.hasData=!0)}hide(){this.getPopup().hide()}getPopup(){return window.$components.firstOnElement(this.popupEl,"popup")}async loadGallery(){let t={page:this.page,search:this.searchInput.value||null,uploaded_to:this.uploadedTo,filter_type:this.filter==="all"?null:this.filter},{data:e}=await window.$http.get(`images/${this.type}`,t);t.page===1&&(this.listContainer.innerHTML=""),this.addReturnedHtmlElementsToList(e),Gt(this.listContainer)}addReturnedHtmlElementsToList(t){let e=document.createElement("div");e.innerHTML=t;let n=e.querySelector(".load-more");n&&(n.remove(),this.loadMore.innerHTML=n.innerHTML),this.loadMore.toggleAttribute("hidden",!n),window.$components.init(e);for(let o of[...e.children])this.listContainer.appendChild(o)}setActiveFilterTab(t){for(let e of this.filterTabs){let n=e.dataset.filter===t;e.setAttribute("aria-selected",n?"true":"false")}}resetAll(){this.resetState(),this.resetListView(),this.resetSearchView(),this.resetEditForm(),this.setActiveFilterTab("all"),this.selectButton.classList.add("hidden")}resetSearchView(){this.searchInput.value="",this.cancelSearch.toggleAttribute("hidden",!0)}resetEditForm(){this.formContainer.innerHTML="",this.formContainerPlaceholder.removeAttribute("hidden")}resetListView(){yt(this.listContainer),this.page=1}refreshGallery(){this.resetListView(),this.loadGallery()}async onImageSelectEvent(t){let e=JSON.parse(t.detail.data),n=e&&e.id===this.lastSelected.id&&Date.now()-this.lastSelectedTime<400,o=t.target.classList.contains("selected");[...this.listContainer.querySelectorAll(".selected")].forEach(s=>{s.classList.remove("selected")}),!o&&!n?(t.target.classList.add("selected"),e=await this.loadImageEditForm(e.id)):n?n&&(e=this.lastSelected):this.resetEditForm(),this.selectButton.classList.toggle("hidden",o),n&&this.callback&&(this.callback(e),this.hide()),this.lastSelected=e,this.lastSelectedTime=Date.now()}async loadImageEditForm(t,e=!1){e||(this.formContainer.innerHTML="");let n=e?{delete:!0}:{},{data:o}=await window.$http.get(`/images/edit/${t}`,n);this.formContainer.innerHTML=o,this.formContainerPlaceholder.setAttribute("hidden",""),window.$components.init(this.formContainer);let s=this.formContainer.querySelector("#image-manager-form-image-data");return JSON.parse(s.text)}runLoadMore(){yt(this.loadMore),this.page+=1,this.loadGallery()}canLoadMore(){return this.loadMore.querySelector("button")&&!this.loadMore.hasAttribute("hidden")}async rebuildThumbnails(t){try{let e=await window.$http.put(`/images/${t}/rebuild-thumbnails`);window.$events.success(e.data),this.refreshGallery()}catch(e){window.$events.showResponseError(e)}}};var hi=class extends d{setup(){this.imageElem=this.$refs.image,this.imageInput=this.$refs.imageInput,this.resetInput=this.$refs.resetInput,this.removeInput=this.$refs.removeInput,this.resetButton=this.$refs.resetButton,this.removeButton=this.$refs.removeButton||null,this.defaultImage=this.$opts.defaultImage,this.setupListeners()}setupListeners(){this.resetButton.addEventListener("click",this.reset.bind(this)),this.removeButton&&this.removeButton.addEventListener("click",this.removeImage.bind(this)),this.imageInput.addEventListener("change",this.fileInputChange.bind(this))}fileInputChange(){this.resetInput.setAttribute("disabled","disabled"),this.removeInput&&this.removeInput.setAttribute("disabled","disabled");for(let t of this.imageInput.files)this.imageElem.src=window.URL.createObjectURL(t);this.imageElem.classList.remove("none")}reset(){this.imageInput.value="",this.imageElem.src=this.defaultImage,this.resetInput.removeAttribute("disabled"),this.removeInput&&this.removeInput.setAttribute("disabled","disabled"),this.imageElem.classList.remove("none")}removeImage(){this.imageInput.value="",this.imageElem.classList.add("none"),this.removeInput.removeAttribute("disabled"),this.resetInput.setAttribute("disabled","disabled")}};var ui=class extends d{setup(){this.elem=this.$el,this.menu=this.$refs.menu,this.sortInput=this.$refs.sort,this.orderInput=this.$refs.order,this.form=this.$refs.form,this.setupListeners()}setupListeners(){this.menu.addEventListener("click",t=>{t.target.closest("[data-sort-value]")!==null&&this.sortOptionClick(t)}),this.elem.addEventListener("click",t=>{t.target.closest("[data-sort-dir]")!==null&&this.sortDirectionClick(t)})}sortOptionClick(t){let e=t.target.closest("[data-sort-value]");this.sortInput.value=e.getAttribute("data-sort-value"),t.preventDefault(),this.form.submit()}sortDirectionClick(t){let e=this.orderInput.value;this.orderInput.value=e==="asc"?"desc":"asc",t.preventDefault(),this.form.submit()}};function Do(i,t={},e=[]){let n=document.createElement(i),o=Object.keys(t);for(let s of o)t[s]!==null&&n.setAttribute(s,t[s]);for(let s of e)typeof s=="string"?n.append(document.createTextNode(s)):n.append(s);return n}var pi=class extends d{constructor(){super(...arguments);this.loadingEl=null}setup(){this.button=this.$el;let e=this.button.form,n=()=>{setTimeout(()=>this.showLoadingState(),10)};this.button.addEventListener("click",n),e&&e.addEventListener("submit",n)}showLoadingState(){this.button.disabled=!0,this.loadingEl||(this.loadingEl=Do("div",{class:"inline block"}),yt(this.loadingEl),this.button.after(this.loadingEl))}};var mi=class extends d{setup(){this.elem=this.$el,this.pageId=this.$opts.pageId,this.textDirection=this.$opts.textDirection,this.imageUploadErrorText=this.$opts.imageUploadErrorText,this.serverUploadLimitText=this.$opts.serverUploadLimitText,this.display=this.$refs.display,this.input=this.$refs.input,this.divider=this.$refs.divider,this.displayWrap=this.$refs.displayWrap;let{settingContainer:t}=this.$refs,e=t.querySelectorAll('input[type="checkbox"]');this.editor=null,window.importVersioned("markdown").then(n=>n.init({pageId:this.pageId,container:this.elem,displayEl:this.display,inputEl:this.input,drawioUrl:this.getDrawioUrl(),settingInputs:Array.from(e),text:{serverUploadLimit:this.serverUploadLimitText,imageUploadError:this.imageUploadErrorText}})).then(n=>{this.editor=n,this.setupListeners(),this.emitEditorEvents(),this.scrollToTextIfNeeded(),this.editor.actions.updateAndRender()})}emitEditorEvents(){window.$events.emitPublic(this.elem,"editor-markdown::setup",{markdownIt:this.editor.markdown.getRenderer(),displayEl:this.display,cmEditorView:this.editor.cm})}setupListeners(){this.elem.addEventListener("click",t=>{let e=t.target.closest("button[data-action]");if(e===null)return;let n=e.getAttribute("data-action");if(n==="insertImage"&&this.editor.actions.showImageInsert(),n==="insertLink"&&this.editor.actions.showLinkSelector(),n==="insertDrawing"&&(t.ctrlKey||t.metaKey)){this.editor.actions.showImageManager();return}n==="insertDrawing"&&this.editor.actions.startDrawing(),n==="fullscreen"&&this.editor.actions.fullScreen()}),this.elem.addEventListener("click",t=>{let e=t.target.closest(".editor-toolbar-label");if(!e)return;let n=this.elem.querySelectorAll(".markdown-editor-wrap");for(let o of n)o.classList.remove("active");e.closest(".markdown-editor-wrap").classList.add("active")}),this.handleDividerDrag()}handleDividerDrag(){this.divider.addEventListener("pointerdown",()=>{let e=this.elem.getBoundingClientRect(),n=s=>{let r=s.pageX-e.left,a=Math.min(Math.max(20,Math.floor(r/e.width*100)),80);this.displayWrap.style.flexBasis=`${100-a}%`,this.editor.settings.set("editorWidth",a)},o=()=>{window.removeEventListener("pointermove",n),window.removeEventListener("pointerup",o),this.display.style.pointerEvents=null,document.body.style.userSelect=null};this.display.style.pointerEvents="none",document.body.style.userSelect="none",window.addEventListener("pointermove",n),window.addEventListener("pointerup",o)});let t=this.editor.settings.get("editorWidth");t&&(this.displayWrap.style.flexBasis=`${100-t}%`)}scrollToTextIfNeeded(){let e=new URL(window.location).searchParams.get("content-text");e&&this.editor.actions.scrollToText(e)}getDrawioUrl(){let t=document.querySelector("[drawio-url]");return t&&t.getAttribute("drawio-url")||""}async getContent(){return this.editor.actions.getContent()}};var fi=class extends d{setup(){this.container=this.$el,this.inputContainer=this.$refs.inputContainer,this.inviteOption=this.container.querySelector("input[name=send_invite]"),this.inviteOption&&(this.inviteOption.addEventListener("change",this.inviteOptionChange.bind(this)),this.inviteOptionChange())}inviteOptionChange(){let t=this.inviteOption.value==="true",e=this.container.querySelectorAll("input[type=password]");for(let n of e)n.disabled=t;this.inputContainer.style.display=t?"none":"block"}};var gi=class extends d{setup(){this.container=this.$el,this.type=this.$opts.type,this.textElem=this.container.querySelector("span"),this.autoHide=this.$opts.autoHide==="true",this.initialShow=this.$opts.show==="true",this.container.style.display="grid",window.$events.listen(this.type,t=>{this.show(t)}),this.container.addEventListener("click",this.hide.bind(this)),this.initialShow&&setTimeout(()=>this.show(this.textElem.textContent),100),this.hideCleanup=this.hideCleanup.bind(this)}show(t=""){if(this.container.removeEventListener("transitionend",this.hideCleanup),this.textElem.textContent=t,this.container.style.display="grid",setTimeout(()=>{this.container.classList.add("showing")},1),this.autoHide){let e=t.split(" ").length,n=Math.max(2e3,1e3+250*e);setTimeout(this.hide.bind(this),n)}}hide(){this.container.classList.remove("showing"),this.container.addEventListener("transitionend",this.hideCleanup)}hideCleanup(){this.container.style.display="none",this.container.removeEventListener("transitionend",this.hideCleanup)}};var vi=class extends d{setup(){this.removeButton=this.$refs.remove,this.showButton=this.$refs.show,this.input=this.$refs.input,this.setupListeners()}setupListeners(){S(this.removeButton,()=>{this.input.value="",this.input.classList.add("hidden"),this.removeButton.classList.add("hidden"),this.showButton.classList.remove("hidden")}),S(this.showButton,()=>{this.input.classList.remove("hidden"),this.removeButton.classList.remove("hidden"),this.showButton.classList.add("hidden")})}};function Ao(i){for(let t=1;t<5;t++)i.shortcuts.add(`meta+${t}`,"",["FormatBlock",!1,`h${t+1}`]);i.shortcuts.add("meta+5","",["FormatBlock",!1,"p"]),i.shortcuts.add("meta+d","",["FormatBlock",!1,"p"]),i.shortcuts.add("meta+6","",["FormatBlock",!1,"blockquote"]),i.shortcuts.add("meta+q","",["FormatBlock",!1,"blockquote"]),i.shortcuts.add("meta+7","",["codeeditor",!1,"pre"]),i.shortcuts.add("meta+e","",["codeeditor",!1,"pre"]),i.shortcuts.add("meta+8","",["FormatBlock",!1,"code"]),i.shortcuts.add("meta+shift+E","",["FormatBlock",!1,"code"]),i.shortcuts.add("meta+o","","InsertOrderedList"),i.shortcuts.add("meta+p","","InsertUnorderedList"),i.shortcuts.add("meta+S","",()=>{window.$events.emit("editor-save-draft")}),i.shortcuts.add("meta+13","",()=>{window.$events.emit("editor-save-page")}),i.shortcuts.add("meta+9","",()=>{let t=i.selection.getNode(),e=t?t.closest(".callout"):null,n=["info","success","warning","danger"],s=(n.findIndex(a=>e&&e.classList.contains(a))+1)%n.length,r=n[s];i.formatter.apply(`callout${r}`)}),i.shortcuts.add("meta+shift+K","",()=>{let t=window.$components.first("entity-selector-popup"),e=i.selection.getContent({format:"text"}).trim();t.show(n=>{i.selection.isCollapsed()?i.insertContent(i.dom.createHTML("a",{href:n.link},i.dom.encode(n.name))):i.formatter.apply("link",{href:n.link}),i.selection.collapse(!1),i.focus()},{initialValue:e,searchEndpoint:"/search/entity-selector",entityTypes:"page,book,chapter,bookshelf",entityPermission:"view"})})}function Io(i){window.$events.listen("editor::replace",({html:t})=>{i.setContent(t)}),window.$events.listen("editor::append",({html:t})=>{let e=i.getContent()+t;i.setContent(e)}),window.$events.listen("editor::prepend",({html:t})=>{let e=t+i.getContent();i.setContent(e)}),window.$events.listen("editor::insert",({html:t})=>{i.insertContent(t)}),window.$events.listen("editor::focus",()=>{i.initialized&&i.focus()})}function Ys(i,t){let e=i.dom.get(encodeURIComponent(t).replace(/!/g,"%21"));e&&(e.scrollIntoView(),i.selection.select(e,!0),i.selection.collapse(!1),i.focus())}function Mo(i){let e=new URL(window.location).searchParams.get("content-id");e&&Ys(i,e)}var kt,wi;function Js(i){return i&&!!(i.textContent||i.innerText)}async function Zs(i,t){if(i===null||i.type.indexOf("image")!==0)throw new Error("Not an image file");let e=i.name||`image-${Date.now()}.png`,n=new FormData;return n.append("file",i,e),n.append("uploaded_to",t),(await window.$http.post(window.baseUrl("/images/gallery"),n)).data}function Bo(i,t,e){let n=new Nt(e.clipboardData||e.dataTransfer);if(!n.hasItems()||n.containsTabularData())return;let o=n.getImages();for(let s of o){let r=`image-${Math.random().toString(16).slice(2)}`,a=window.baseUrl("/loading.gif");e.preventDefault(),setTimeout(()=>{i.insertContent(`<p><img src="${a}" id="${r}"></p>`),Zs(s,t.pageId).then(l=>{let c=l.name.replace(/"/g,""),u=`<img src="${l.thumbs.display}" alt="${c}" />`,h=i.dom.create("a",{target:"_blank",href:l.url},u);i.dom.replace(h,r)}).catch(l=>{i.dom.remove(r),window.$events.error(l?.data?.message||t.translations.imageUploadErrorText),console.error(l)})},10)}}function Qs(i){let t=i.selection.getNode();t.nodeName==="IMG"&&(kt=i.dom.getParent(t,".mceTemp"),!kt&&t.parentNode.nodeName==="A"&&!Js(t.parentNode)&&(kt=t.parentNode)),t.hasAttribute("contenteditable")&&t.getAttribute("contenteditable")==="false"&&(wi=t)}function tr(i,t,e){let{dom:n}=i,o=window.tinymce.dom.RangeUtils.getCaretRangeFromPoint(e.clientX,e.clientY,i.getDoc()),s=e.dataTransfer&&e.dataTransfer.getData("bookstack/template");s&&(e.preventDefault(),window.$http.get(`/templates/${s}`).then(r=>{i.selection.setRng(o),i.undoManager.transact(()=>{i.execCommand("mceInsertContent",!1,r.data.html)})})),n.getParent(o.startContainer,".mceTemp")?e.preventDefault():kt&&(e.preventDefault(),i.undoManager.transact(()=>{i.selection.setRng(o),i.selection.setNode(kt),n.remove(kt)})),!e.isDefaultPrevented()&&wi&&(e.preventDefault(),i.undoManager.transact(()=>{let r=i.selection.getNode(),a=i.selection.getRng(),l=r.closest("body > *");a.startOffset>a.startContainer.length/2?l.after(wi):l.before(wi)})),e.isDefaultPrevented()||Bo(i,t,e),kt=null}function er(i,t){t.preventDefault(),i.focus();let n=window.tinymce.dom.RangeUtils.getCaretRangeFromPoint(t.clientX??0,t.clientY??0,i.getDoc());i.selection.setRng(n)}function Po(i,t){i.on("dragover",e=>er(i,e)),i.on("dragstart",()=>Qs(i)),i.on("drop",e=>tr(i,t,e)),i.on("paste",e=>Bo(i,t,e))}function Oo(i){return["undo redo","styles","bold italic underline forecolor backcolor formatoverflow","alignleft aligncenter alignright alignjustify","bullist numlist listoverflow",i.textDirection==="rtl"?"ltr rtl":"","link customtable imagemanager-insert insertoverflow","code about fullscreen"].filter(n=>!!n).join(" | ")}function ir(i){i.ui.registry.addGroupToolbarButton("formatoverflow",{icon:"more-drawer",tooltip:"More",items:"strikethrough superscript subscript inlinecode removeformat"}),i.ui.registry.addGroupToolbarButton("listoverflow",{icon:"more-drawer",tooltip:"More",items:"tasklist outdent indent"}),i.ui.registry.addGroupToolbarButton("insertoverflow",{icon:"more-drawer",tooltip:"More",items:"customhr codeeditor drawio media details"})}function nr(i){i.ui.registry.addContextToolbar("linkcontexttoolbar",{predicate(t){return t.closest("a")!==null},position:"node",scope:"node",items:"link unlink openlink"})}function or(i){i.ui.registry.addContextToolbar("imagecontexttoolbar",{predicate(t){return t.closest("img")!==null&&!t.hasAttribute("data-mce-object")},position:"node",scope:"node",items:"image"})}function sr(i){i.ui.registry.addContextToolbar("objectcontexttoolbar",{predicate(t){return t.closest("img")!==null&&t.hasAttribute("data-mce-object")},position:"node",scope:"node",items:"media"})}function Ro(i){ir(i),nr(i),or(i),sr(i)}var rr={"table-delete-column":'<svg width="24" height="24"><path d="M21 19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14c1.1 0 2 .9 2 2zm-2 0V5h-4v2.2h-2V5h-2v2.2H9V5H5v14h4v-2.1h2V19h2v-2.1h2V19Z"/><path d="M14.829 10.585 13.415 12l1.414 1.414c.943.943-.472 2.357-1.414 1.414L12 13.414l-1.414 1.414c-.944.944-2.358-.47-1.414-1.414L10.586 12l-1.414-1.415c-.943-.942.471-2.357 1.414-1.414L12 10.585l1.344-1.343c1.111-1.112 2.2.627 1.485 1.343z" style="fill-rule:nonzero"/></svg>',"table-delete-row":'<svg width="24" height="24"><path d="M5 21a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14c0 1.1-.9 2-2 2zm0-2h14v-4h-2.2v-2H19v-2h-2.2V9H19V5H5v4h2.1v2H5v2h2.1v2H5Z"/><path d="M13.415 14.829 12 13.415l-1.414 1.414c-.943.943-2.357-.472-1.414-1.414L10.586 12l-1.414-1.414c-.944-.944.47-2.358 1.414-1.414L12 10.586l1.415-1.414c.942-.943 2.357.471 1.414 1.414L13.415 12l1.343 1.344c1.112 1.111-.627 2.2-1.343 1.485z" style="fill-rule:nonzero"/></svg>',"table-insert-column-after":'<svg width="24" height="24"><path d="M16 5h-5v14h5c1.235 0 1.234 2 0 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11c1.229 0 1.236 2 0 2zm-7 6V5H5v6zm0 8v-6H5v6zm11.076-6h-2v2c0 1.333-2 1.333-2 0v-2h-2c-1.335 0-1.335-2 0-2h2V9c0-1.333 2-1.333 2 0v2h1.9c1.572 0 1.113 2 .1 2z"/></svg>',"table-insert-column-before":'<svg width="24" height="24"><path d="M8 19h5V5H8C6.764 5 6.766 3 8 3h11a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H8c-1.229 0-1.236-2 0-2zm7-6v6h4v-6zm0-8v6h4V5ZM3.924 11h2V9c0-1.333 2-1.333 2 0v2h2c1.335 0 1.335 2 0 2h-2v2c0 1.333-2 1.333-2 0v-2h-1.9c-1.572 0-1.113-2-.1-2z"/></svg>',"table-insert-row-above":'<svg width="24" height="24"><path d="M5 8v5h14V8c0-1.235 2-1.234 2 0v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8C3 6.77 5 6.764 5 8zm6 7H5v4h6zm8 0h-6v4h6zM13 3.924v2h2c1.333 0 1.333 2 0 2h-2v2c0 1.335-2 1.335-2 0v-2H9c-1.333 0-1.333-2 0-2h2v-1.9c0-1.572 2-1.113 2-.1z"/></svg>',"table-insert-row-after":'<svg width="24" height="24"><path d="M19 16v-5H5v5c0 1.235-2 1.234-2 0V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v11c0 1.229-2 1.236-2 0zm-6-7h6V5h-6zM5 9h6V5H5Zm6 11.076v-2H9c-1.333 0-1.333-2 0-2h2v-2c0-1.335 2-1.335 2 0v2h2c1.333 0 1.333 2 0 2h-2v1.9c0 1.572-2 1.113-2 .1z"/></svg>',table:'<svg width="24" height="24" xmlns="http://www.w3.org/2000/svg"><path d="M19 3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5c0-1.1.9-2 2-2ZM5 14v5h6v-5zm14 0h-6v5h6zm0-7h-6v5h6zM5 12h6V7H5Z"/></svg>',"table-delete-table":'<svg width="24" height="24"><path d="M5 21a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14c0 1.1-.9 2-2 2zm0-2h14V5H5v14z"/><path d="m13.711 15.423-1.71-1.712-1.712 1.712c-1.14 1.14-2.852-.57-1.71-1.712l1.71-1.71-1.71-1.712c-1.143-1.142.568-2.853 1.71-1.71L12 10.288l1.711-1.71c1.141-1.142 2.852.57 1.712 1.71L13.71 12l1.626 1.626c1.345 1.345-.76 2.663-1.626 1.797z" style="fill-rule:nonzero;stroke-width:1.20992"/></svg>'};function _o(i){for(let[t,e]of Object.entries(rr))i.ui.registry.addIcon(t,e)}function ar(i){i.serializer.addNodeFilter("br",t=>{for(let e of t)if(e.parent&&e.parent.name==="code"){let n=window.tinymce.html.Node.create("#text");n.value=` -`,e.replace(n)}})}function lr(i){i.parser.addNodeFilter("div",t=>{for(let e of t){let n=e.attr("id")||"",o=e.attr("class")||"";(n==="pointer"||o.includes("pointer"))&&e.remove()}})}function Ho(i){ar(i),lr(i)}function Fo(i){return i.tagName.toLowerCase()==="code-block"}function qo(i,t,e,n,o){let s=window.$components.first("code-editor"),r=i.selection.getBookmark();s.open(t,e,n,(a,l)=>{o(a,l),i.focus(),i.selection.moveToBookmark(r)},()=>{i.focus(),i.selection.moveToBookmark(r)})}function No(i,t){let e=t.getAttribute("dir")||"";qo(i,t.getContent(),t.getLanguage(),e,(n,o)=>{t.setContent(n,o)})}function cr(i){let t=i.getDoc(),e=t.defaultView;class n extends e.HTMLElement{constructor(){super();U(this,"editor",null);this.attachShadow({mode:"open"});let r=document.head.querySelectorAll('link[rel="stylesheet"]:not([media="print"]),style'),a=Array.from(r).map(c=>c.cloneNode(!0)),l=document.createElement("div");l.style.pointerEvents="none",l.contentEditable="false",l.classList.add("CodeMirrorContainer"),l.classList.toggle("dark-mode",document.documentElement.classList.contains("dark-mode")),this.shadowRoot.append(...a,l)}getLanguage(){let r=c=>(c.split(" ").filter(h=>h.startsWith("language-"))[0]||"").replace("language-",""),a=this.querySelector("code"),l=this.querySelector("pre");return r(l.className)||a&&r(a.className)||""}setContent(r,a){this.editor&&(this.editor.setContent(r),this.editor.setMode(a,r));let l=this.querySelector("pre");l||(l=t.createElement("pre"),this.append(l)),l.innerHTML="";let c=t.createElement("code");l.append(c),c.innerText=r,c.className=`language-${a}`}getContent(){let r=this.querySelector("code")||this.querySelector("pre"),a=document.createElement("pre");a.innerHTML=r.innerHTML.replace(/\ufeff/g,"");let l=a.querySelectorAll("br");for(let c of l)c.replaceWith(` +var jn=Object.defineProperty;var zn=i=>{throw TypeError(i)};var bs=(i,t,e)=>t in i?jn(i,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[t]=e;var ws=(i,t)=>{for(var e in t)jn(i,e,{get:t[e],enumerable:!0})};var U=(i,t,e)=>bs(i,typeof t!="symbol"?t+"":t,e),ys=(i,t,e)=>t.has(i)||zn("Cannot "+e);var Wn=(i,t,e)=>t.has(i)?zn("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(i):t.set(i,e);var Kt=(i,t,e)=>(ys(i,t,"access private method"),e);var pe=class{constructor(){this.listeners={};this.stack=[]}emit(t,e={}){this.stack.push({name:t,data:e});let n=this.listeners[t]||[];for(let o of n)o(e)}listen(t,e){typeof this.listeners[t]>"u"&&(this.listeners[t]=[]),this.listeners[t].push(e)}emitPublic(t,e,n){let o=new CustomEvent(e,{detail:n,bubbles:!0});t.dispatchEvent(o)}success(t){this.emit("success",t)}error(t){this.emit("error",t)}showValidationErrors(t){if(t.status&&t.status===422&&t.data){let e=Object.values(t.data).flat().join(` +`);this.error(e)}}showResponseError(t){t.status&&t.status>=400&&typeof t.data=="object"&&t.data.message&&this.error(t.data.message)}};var Xt=class extends Error{constructor(t,e){super(t.statusText),this.data=e,this.headers=t.headers,this.redirected=t.redirected,this.status=t.status,this.statusText=t.statusText,this.url=t.url,this.original=t}},me=class{async getResponseContent(t){if(t.status===204)return null;let n=(t.headers.get("Content-Type")||"").split(";")[0].split("/").pop();return n==="javascript"||n==="json"?t.json():t.text()}createXMLHttpRequest(t,e,n={}){let o=document.querySelector("meta[name=token]")?.getAttribute("content"),s=new XMLHttpRequest;for(let[r,a]of Object.entries(n))s.addEventListener(r,a.bind(s));return s.open(t,e),s.withCredentials=!0,s.setRequestHeader("X-CSRF-TOKEN",o||""),s}async request(t,e={}){let n=t;if(n.startsWith("http")||(n=window.baseUrl(n)),e.params){let c=new URL(n);for(let u of Object.keys(e.params)){let h=e.params[u];typeof h<"u"&&h!==null&&c.searchParams.set(u,h)}n=c.toString()}let o=document.querySelector("meta[name=token]")?.getAttribute("content")||"",s={...e,credentials:"same-origin"};s.headers={...s.headers||{},baseURL:window.baseUrl(""),"X-CSRF-TOKEN":o};let r=await fetch(n,s),a=await this.getResponseContent(r)||"",l={data:a,headers:r.headers,redirected:r.redirected,status:r.status,statusText:r.statusText,url:r.url,original:r};if(!r.ok)throw new Xt(r,a);return l}async dataRequest(t,e,n){let o={method:t,body:n};return typeof n=="object"&&!(n instanceof FormData)&&(o.headers={"Content-Type":"application/json","X-Requested-With":"XMLHttpRequest"},o.body=JSON.stringify(n)),n instanceof FormData&&t!=="post"&&(n.append("_method",t),o.method="post"),this.request(e,o)}async get(t,e={}){return this.request(t,{method:"GET",params:e})}async post(t,e=null){return this.dataRequest("POST",t,e)}async put(t,e=null){return this.dataRequest("PUT",t,e)}async patch(t,e=null){return this.dataRequest("PATCH",t,e)}async delete(t,e=null){return this.dataRequest("DELETE",t,e)}formatErrorResponseText(t){let e=t.startsWith("{")?JSON.parse(t):{message:t};if(!e)return t;if(e.message||e.error)return e.message||e.error;let n=Object.values(e);return n.every(s=>Array.isArray(s)&&s.every(r=>typeof r=="string"))?n.flat().join(" "):t}};var fe=class{choice(t,e,n={}){let o=t.split("|"),s=/^{([0-9]+)}/,r=/^\[([0-9]+),([0-9*]+)]/,a=null;for(let l of o){let c=l.match(s);if(c!==null&&Number(c[1])===e){a=l.replace(s,"").trim();break}let u=l.match(r);if(u!==null&&Number(u[1])<=e&&(u[2]==="*"||Number(u[2])>=e)){a=l.replace(r,"").trim();break}}return a===null&&o.length>1&&(a=e===1?o[0]:o[1]),a===null&&(a=o[0]),this.performReplacements(a,n)}performReplacements(t,e){let n=t.match(/:(\S+)/g);if(n===null)return t;let o=t;for(let s of n){let r=s.substring(1);typeof e[r]>"u"||(o=o.replace(s,e[r]))}return o}};var qn={};ws(qn,{AddRemoveRows:()=>ve,AjaxDeleteRow:()=>be,AjaxForm:()=>we,Attachments:()=>ye,AttachmentsList:()=>Ee,AutoSubmit:()=>xe,AutoSuggest:()=>Ce,BackToTop:()=>Se,BookSort:()=>Ue,ChapterContents:()=>je,CodeEditor:()=>ze,CodeHighlighter:()=>We,CodeTextarea:()=>Ke,Collapsible:()=>Xe,ConfirmDialog:()=>Ge,CustomCheckbox:()=>Ye,DetailsHighlighter:()=>Je,Dropdown:()=>Ze,DropdownSearch:()=>Qe,Dropzone:()=>ti,EditorToolbox:()=>ei,EntityPermissions:()=>ii,EntitySearch:()=>ni,EntitySelector:()=>oi,EntitySelectorPopup:()=>si,EventEmitSelect:()=>ri,ExpandToggle:()=>ai,GlobalSearch:()=>li,HeaderMobileToggle:()=>ci,ImageManager:()=>di,ImagePicker:()=>hi,ListSortControl:()=>ui,LoadingButton:()=>pi,MarkdownEditor:()=>mi,NewUserPassword:()=>fi,Notification:()=>gi,OptionalInput:()=>vi,PageComment:()=>xi,PageComments:()=>Si,PageDisplay:()=>Li,PageEditor:()=>ki,PagePicker:()=>$i,PermissionsTable:()=>Di,Pointer:()=>Ai,Popup:()=>Ii,SettingAppColorScheme:()=>Mi,SettingColorPicker:()=>Bi,SettingHomepageControl:()=>Pi,ShelfSort:()=>Hi,ShortcutInput:()=>Fi,Shortcuts:()=>_i,SortRuleManager:()=>qi,SortableList:()=>Ni,SubmitOnChange:()=>Ui,Tabs:()=>Vi,TagManager:()=>ji,TemplateManager:()=>zi,ToggleSwitch:()=>Wi,TriLayout:()=>Ki,UserSelect:()=>Xi,WebhookEvents:()=>Gi,WysiwygEditor:()=>Yi,WysiwygEditorTinymce:()=>Ji,WysiwygInput:()=>Zi});function pt(i){return i instanceof HTMLElement}function it(i,t={},e=[]){let n=document.createElement(i);for(let[o,s]of Object.entries(t))s===null?n.removeAttribute(o):n.setAttribute(o,s);for(let o of e)typeof o=="string"?n.append(document.createTextNode(o)):n.append(o);return n}function tn(i,t){let e=document.querySelectorAll(i);for(let n of e)t(n)}function ge(i,t,e){for(let n of t)i.addEventListener(n,e)}function S(i,t){Array.isArray(i)||(i=[i]);for(let e of i)e.addEventListener("click",t),e.addEventListener("keydown",n=>{(n.key==="Enter"||n.key===" ")&&(n.preventDefault(),t(n))})}function Kn(i,t,e){Array.isArray(t)||(t=[t]);let n=o=>{o.key===i&&e(o)};t.forEach(o=>o.addEventListener("keydown",n))}function Dt(i,t){Kn("Enter",i,t)}function Xn(i,t){Kn("Escape",i,t)}function I(i,t,e,n){i.addEventListener(e,o=>{let s=o.target?.closest(t);s&&n.call(s,o,s)})}function Gn(i,t){let e=document.querySelectorAll(i);t=t.toLowerCase();for(let n of e)if((n.textContent||"").toLowerCase().includes(t)&&pt(n))return n;return null}function Et(i){i.innerHTML='<div class="loading-container"><div></div><div></div><div></div></div>'}function At(){let i=document.createElement("div");return i.classList.add("loading-container"),i.innerHTML="<div></div><div></div><div></div>",i}function Gt(i){let t=i.querySelectorAll(".loading-container");for(let e of t)e.remove()}function nt(i){let t=document.createElement("div");t.innerHTML=i,window.$components.init(t);let e=t.children[0];if(!pt(e))throw new Error("Could not find child HTMLElement when creating DOM element from HTML");return e}function It(i,t,e){let n=null;return function(...s){let r=this,a=function(){n=null,e||i.apply(r,s)},l=e&&!n;n&&clearTimeout(n),n=window.setTimeout(a,t),l&&i.apply(r,s)}}function Es(i){return i.nodeName==="DETAILS"}function nn(i){if(!i)return;let t=i;for(;t.parentElement;)t=t.parentElement,Es(t)&&!t.open&&(t.open=!0);i.scrollIntoView({behavior:"smooth"});let e=getComputedStyle(document.body).getPropertyValue("--color-link");i.style.outline=`2px dashed ${e}`,i.style.outlineOffset="5px",i.style.removeProperty("transition"),setTimeout(()=>{i.style.transition="outline linear 3s",i.style.outline="2px dashed rgba(0, 0, 0, 0)";let n=()=>{i.removeEventListener("transitionend",n),i.style.removeProperty("transition"),i.style.removeProperty("outline"),i.style.removeProperty("outlineOffset")};i.addEventListener("transitionend",n)},1e3)}function Yn(i){return i.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function Jn(){let i=()=>((1+Math.random())*65536|0).toString(16).substring(1);return`${i()+i()}-${i()}-${i()}-${i()}-${i()}${i()}${i()}`}function Zn(i){return new Promise(t=>{setTimeout(t,i)})}function Qn(i){let t=i,e=document.querySelector('meta[name="base-url"]');if(!e)throw new Error("Could not find expected base-url meta tag in document");let n=e.getAttribute("content")||"";return n[n.length-1]==="/"&&(n=n.slice(0,n.length-1)),t[0]==="/"&&(t=t.slice(1)),`${n}/${t}`}function Cs(){let i=document.querySelector('link[href*="/dist/styles.css?version="]');if(!i)throw new Error("Could not find expected style link in document for version use");return(i.getAttribute("href")||"").split("?version=").pop()||""}function to(i){return import(window.baseUrl(`dist/${i}.js?version=${Cs()}`))}var d=class{constructor(){U(this,"$name","");U(this,"$el",null);U(this,"$refs",{});U(this,"$manyRefs",{});U(this,"$opts",{})}setup(){}$emit(t,e={}){e.from=this;let n=this.$name,o=new CustomEvent(`${n}-${t}`,{bubbles:!0,detail:e});this.$el.dispatchEvent(o)}};var ve=class extends d{setup(){this.modelRow=this.$refs.model,this.addButton=this.$refs.add,this.removeSelector=this.$opts.removeSelector,this.rowSelector=this.$opts.rowSelector,this.setupListeners()}setupListeners(){this.addButton.addEventListener("click",this.add.bind(this)),I(this.$el,this.removeSelector,"click",t=>{t.target.closest(this.rowSelector).remove()})}add(){let t=this.modelRow.cloneNode(!0);t.classList.remove("hidden"),this.setClonedInputNames(t),this.modelRow.parentNode.insertBefore(t,this.modelRow),window.$components.init(t)}setClonedInputNames(t){let e=Jn(),n=t.querySelectorAll('[name*="randrowid"]');for(let o of n)o.name=o.name.split("randrowid").join(e)}};var be=class extends d{constructor(){super(...arguments);this.deleteButtons=[]}setup(){this.row=this.$el,this.url=this.$opts.url,this.deleteButtons=this.$manyRefs.delete||[],S(this.deleteButtons,this.runDelete.bind(this))}runDelete(){this.row.style.opacity="0.7",this.row.style.pointerEvents="none",window.$http.delete(this.url).then(e=>{typeof e.data=="object"&&e.data.message&&window.$events.emit("success",e.data.message),this.row.remove()}).catch(()=>{this.row.style.removeProperty("opacity"),this.row.style.removeProperty("pointer-events")})}};var we=class extends d{setup(){this.container=this.$el,this.responseContainer=this.container,this.url=this.$opts.url,this.method=this.$opts.method||"post",this.successMessage=this.$opts.successMessage,this.submitButtons=this.$manyRefs.submit||[],this.$opts.responseContainer&&(this.responseContainer=this.container.closest(this.$opts.responseContainer)),this.setupListeners()}setupListeners(){if(this.container.tagName==="FORM"){this.container.addEventListener("submit",this.submitRealForm.bind(this));return}Dt(this.container,t=>{this.submitFakeForm(),t.preventDefault()}),this.submitButtons.forEach(t=>S(t,this.submitFakeForm.bind(this)))}submitFakeForm(){let t=new FormData,e=this.container.querySelectorAll("[name]");for(let n of e)t.append(n.getAttribute("name"),n.value);this.submit(t)}submitRealForm(t){t.preventDefault();let e=new FormData(this.container);this.submit(e)}async submit(t){this.responseContainer.style.opacity="0.7",this.responseContainer.style.pointerEvents="none";try{let e=await window.$http[this.method.toLowerCase()](this.url,t);this.$emit("success",{formData:t}),this.responseContainer.innerHTML=e.data,this.successMessage&&window.$events.emit("success",this.successMessage)}catch(e){this.responseContainer.innerHTML=e.data}window.$components.init(this.responseContainer),this.responseContainer.style.opacity=null,this.responseContainer.style.pointerEvents=null}};var ye=class extends d{setup(){this.container=this.$el,this.pageId=this.$opts.pageId,this.editContainer=this.$refs.editContainer,this.listContainer=this.$refs.listContainer,this.linksContainer=this.$refs.linksContainer,this.listPanel=this.$refs.listPanel,this.attachLinkButton=this.$refs.attachLinkButton,this.setupListeners()}setupListeners(){let t=this.reloadList.bind(this);this.container.addEventListener("dropzone-upload-success",t),this.container.addEventListener("ajax-form-success",t),this.container.addEventListener("sortable-list-sort",e=>{this.updateOrder(e.detail.ids)}),this.container.addEventListener("event-emit-select-edit",e=>{this.startEdit(e.detail.id)}),this.container.addEventListener("event-emit-select-edit-back",()=>{this.stopEdit()}),this.container.addEventListener("event-emit-select-insert",e=>{let n=e.target.closest("[data-drag-content]").getAttribute("data-drag-content"),o=JSON.parse(n);window.$events.emit("editor::insert",{html:o["text/html"],markdown:o["text/plain"]})}),this.attachLinkButton.addEventListener("click",()=>{this.showSection("links")})}showSection(t){let e={links:this.linksContainer,edit:this.editContainer,list:this.listContainer};for(let[n,o]of Object.entries(e))o.toggleAttribute("hidden",n!==t)}reloadList(){this.stopEdit(),window.$http.get(`/attachments/get/page/${this.pageId}`).then(t=>{this.listPanel.innerHTML=t.data,window.$components.init(this.listPanel)})}updateOrder(t){window.$http.put(`/attachments/sort/page/${this.pageId}`,{order:t}).then(e=>{window.$events.emit("success",e.data.message)})}async startEdit(t){this.showSection("edit"),Et(this.editContainer);let e=await window.$http.get(`/attachments/edit/${t}`);this.editContainer.innerHTML=e.data,window.$components.init(this.editContainer)}stopEdit(){this.showSection("list")}};var Ee=class extends d{setup(){this.container=this.$el,this.fileLinks=this.$manyRefs.linkTypeFile,this.setupListeners()}setupListeners(){let t=e=>e.key==="Control"||e.key==="Meta";window.addEventListener("keydown",e=>{t(e)&&this.addOpenQueryToLinks()},{passive:!0}),window.addEventListener("keyup",e=>{t(e)&&this.removeOpenQueryFromLinks()},{passive:!0})}addOpenQueryToLinks(){for(let t of this.fileLinks)t.href.split("?")[1]!=="open=true"&&(t.href+="?open=true",t.setAttribute("target","_blank"))}removeOpenQueryFromLinks(){for(let t of this.fileLinks)t.href=t.href.split("?")[0],t.removeAttribute("target")}};var ft,on,sn,mt=class{constructor(t,e=null,n=null){Wn(this,ft);this.containers=[t],this.onEscape=e,this.onEnter=n,t.addEventListener("keydown",Kt(this,ft,on).bind(this))}shareHandlingToEl(t){this.containers.push(t),t.addEventListener("keydown",Kt(this,ft,on).bind(this))}focusNext(){let t=Kt(this,ft,sn).call(this),e=document.activeElement,o=(pt(e)?t.indexOf(e):-1)+1;o>=t.length&&(o=0),t[o].focus()}focusPrevious(){let t=Kt(this,ft,sn).call(this),e=document.activeElement,o=(pt(e)?t.indexOf(e):-1)-1;o<0&&(o=t.length-1),t[o].focus()}};ft=new WeakSet,on=function(t){pt(t.target)&&t.target.matches("input")&&(t.key==="ArrowRight"||t.key==="ArrowLeft")||(t.key==="ArrowDown"||t.key==="ArrowRight"?(this.focusNext(),t.preventDefault()):t.key==="ArrowUp"||t.key==="ArrowLeft"?(this.focusPrevious(),t.preventDefault()):t.key==="Escape"?this.onEscape?this.onEscape(t):pt(document.activeElement)&&document.activeElement.blur():t.key==="Enter"&&this.onEnter&&this.onEnter(t))},sn=function(){let t=[],e='[tabindex]:not([tabindex="-1"]),[href],button:not([tabindex="-1"],[disabled]),input:not([type=hidden])';for(let n of this.containers){let o=[...n.querySelectorAll(e)].filter(s=>pt(s));t.push(...o)}return t};var rn={},Ce=class extends d{setup(){this.parent=this.$el.parentElement,this.container=this.$el,this.type=this.$opts.type,this.url=this.$opts.url,this.input=this.$refs.input,this.list=this.$refs.list,this.lastPopulated=0,this.setupListeners()}setupListeners(){new mt(this.list,()=>{this.input.focus(),setTimeout(()=>this.hideSuggestions(),1)},e=>{e.preventDefault();let n=e.target.textContent;n&&this.selectSuggestion(n)}).shareHandlingToEl(this.input),I(this.list,".text-item","click",(e,n)=>{this.selectSuggestion(n.textContent)}),this.input.addEventListener("input",this.requestSuggestions.bind(this)),this.input.addEventListener("focus",this.requestSuggestions.bind(this)),this.input.addEventListener("blur",this.hideSuggestionsIfFocusedLost.bind(this)),this.input.addEventListener("keydown",e=>{e.key==="Tab"&&this.hideSuggestions()})}selectSuggestion(t){this.input.value=t,this.lastPopulated=Date.now(),this.input.focus(),this.input.dispatchEvent(new Event("input",{bubbles:!0})),this.input.dispatchEvent(new Event("change",{bubbles:!0})),this.hideSuggestions()}async requestSuggestions(){if(Date.now()-this.lastPopulated<50)return;let t=this.getNameFilterIfNeeded(),e=this.input.value.toLowerCase(),o=(await this.loadSuggestions(e,t)).filter(s=>e===""||s.toLowerCase().startsWith(e)).slice(0,10);this.displaySuggestions(o)}getNameFilterIfNeeded(){return this.type!=="value"?null:this.parent.querySelector("input").value}async loadSuggestions(t,e=null){t=t.slice(0,4);let n={search:t,name:e},o=`${this.url}:${JSON.stringify(n)}`;if(rn[o])return rn[o];let s=await window.$http.get(this.url,n);return rn[o]=s.data,s.data}displaySuggestions(t){if(t.length===0){this.hideSuggestions();return}this.list.innerHTML=t.map(e=>`<li><div tabindex="0" class="text-item">${Yn(e)}</div></li>`).join(""),this.list.style.display="block";for(let e of this.list.querySelectorAll(".text-item"))e.addEventListener("blur",this.hideSuggestionsIfFocusedLost.bind(this))}hideSuggestions(){this.list.style.display="none"}hideSuggestionsIfFocusedLost(t){this.container.contains(t.relatedTarget)||this.hideSuggestions()}};var xe=class extends d{setup(){this.form=this.$el,this.form.submit()}};var Se=class extends d{setup(){if(this.button=this.$el,this.targetElem=document.getElementById("header"),this.showing=!1,this.breakPoint=1200,document.body.classList.contains("flexbox")){this.button.style.display="none";return}this.button.addEventListener("click",this.scrollToTop.bind(this)),window.addEventListener("scroll",this.onPageScroll.bind(this))}onPageScroll(){let t=document.documentElement.scrollTop||document.body.scrollTop||0;!this.showing&&t>this.breakPoint?(this.button.style.display="block",this.showing=!0,setTimeout(()=>{this.button.style.opacity=.4},1)):this.showing&&t<this.breakPoint&&(this.button.style.opacity=0,this.showing=!1,setTimeout(()=>{this.button.style.display="none"},500))}scrollToTop(){let t=this.targetElem.getBoundingClientRect().top,e=document.documentElement.scrollTop?document.documentElement:document.body,n=300,o=Date.now(),s=this.targetElem.getBoundingClientRect().top;function r(){let a=1-(Date.now()-o)/n,l=Math.abs(a*s);a>0?(e.scrollTop=l,requestAnimationFrame(r.bind(this))):e.scrollTop=t}requestAnimationFrame(r.bind(this))}};function eo(i,t){var e=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(i,o).enumerable})),e.push.apply(e,n)}return e}function st(i){for(var t=1;t<arguments.length;t++){var e=arguments[t]!=null?arguments[t]:{};t%2?eo(Object(e),!0).forEach(function(n){xs(i,n,e[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(e)):eo(Object(e)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(e,n))})}return i}function Ie(i){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Ie=function(t){return typeof t}:Ie=function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ie(i)}function xs(i,t,e){return t in i?Object.defineProperty(i,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):i[t]=e,i}function tt(){return tt=Object.assign||function(i){for(var t=1;t<arguments.length;t++){var e=arguments[t];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(i[n]=e[n])}return i},tt.apply(this,arguments)}function Ss(i,t){if(i==null)return{};var e={},n=Object.keys(i),o,s;for(s=0;s<n.length;s++)o=n[s],!(t.indexOf(o)>=0)&&(e[o]=i[o]);return e}function Ls(i,t){if(i==null)return{};var e=Ss(i,t),n,o;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(i);for(o=0;o<s.length;o++)n=s[o],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(i,n)&&(e[n]=i[n])}return e}function ks(i){return Ts(i)||$s(i)||Ds(i)||As()}function Ts(i){if(Array.isArray(i))return vn(i)}function $s(i){if(typeof Symbol<"u"&&i[Symbol.iterator]!=null||i["@@iterator"]!=null)return Array.from(i)}function Ds(i,t){if(i){if(typeof i=="string")return vn(i,t);var e=Object.prototype.toString.call(i).slice(8,-1);if(e==="Object"&&i.constructor&&(e=i.constructor.name),e==="Map"||e==="Set")return Array.from(i);if(e==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return vn(i,t)}}function vn(i,t){(t==null||t>i.length)&&(t=i.length);for(var e=0,n=new Array(t);e<t;e++)n[e]=i[e];return n}function As(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var Is="1.15.6";function lt(i){if(typeof window<"u"&&window.navigator)return!!navigator.userAgent.match(i)}var ct=lt(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),le=lt(/Edge/i),io=lt(/firefox/i),ne=lt(/safari/i)&&!lt(/chrome/i)&&!lt(/android/i),Cn=lt(/iP(ad|od|hone)/i),po=lt(/chrome/i)&<(/android/i),mo={capture:!1,passive:!1};function y(i,t,e){i.addEventListener(t,e,!ct&&mo)}function w(i,t,e){i.removeEventListener(t,e,!ct&&mo)}function Re(i,t){if(t){if(t[0]===">"&&(t=t.substring(1)),i)try{if(i.matches)return i.matches(t);if(i.msMatchesSelector)return i.msMatchesSelector(t);if(i.webkitMatchesSelector)return i.webkitMatchesSelector(t)}catch{return!1}return!1}}function fo(i){return i.host&&i!==document&&i.host.nodeType?i.host:i.parentNode}function z(i,t,e,n){if(i){e=e||document;do{if(t!=null&&(t[0]===">"?i.parentNode===e&&Re(i,t):Re(i,t))||n&&i===e)return i;if(i===e)break}while(i=fo(i))}return null}var no=/\s+/g;function P(i,t,e){if(i&&t)if(i.classList)i.classList[e?"add":"remove"](t);else{var n=(" "+i.className+" ").replace(no," ").replace(" "+t+" "," ");i.className=(n+(e?" "+t:"")).replace(no," ")}}function m(i,t,e){var n=i&&i.style;if(n){if(e===void 0)return document.defaultView&&document.defaultView.getComputedStyle?e=document.defaultView.getComputedStyle(i,""):i.currentStyle&&(e=i.currentStyle),t===void 0?e:e[t];!(t in n)&&t.indexOf("webkit")===-1&&(t="-webkit-"+t),n[t]=e+(typeof e=="string"?"":"px")}}function Lt(i,t){var e="";if(typeof i=="string")e=i;else do{var n=m(i,"transform");n&&n!=="none"&&(e=n+" "+e)}while(!t&&(i=i.parentNode));var o=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return o&&new o(e)}function go(i,t,e){if(i){var n=i.getElementsByTagName(t),o=0,s=n.length;if(e)for(;o<s;o++)e(n[o],o);return n}return[]}function ot(){var i=document.scrollingElement;return i||document.documentElement}function $(i,t,e,n,o){if(!(!i.getBoundingClientRect&&i!==window)){var s,r,a,l,c,u,h;if(i!==window&&i.parentNode&&i!==ot()?(s=i.getBoundingClientRect(),r=s.top,a=s.left,l=s.bottom,c=s.right,u=s.height,h=s.width):(r=0,a=0,l=window.innerHeight,c=window.innerWidth,u=window.innerHeight,h=window.innerWidth),(t||e)&&i!==window&&(o=o||i.parentNode,!ct))do if(o&&o.getBoundingClientRect&&(m(o,"transform")!=="none"||e&&m(o,"position")!=="static")){var f=o.getBoundingClientRect();r-=f.top+parseInt(m(o,"border-top-width")),a-=f.left+parseInt(m(o,"border-left-width")),l=r+s.height,c=a+s.width;break}while(o=o.parentNode);if(n&&i!==window){var x=Lt(o||i),E=x&&x.a,L=x&&x.d;x&&(r/=L,a/=E,h/=E,u/=L,l=r+u,c=a+h)}return{top:r,left:a,bottom:l,right:c,width:h,height:u}}}function oo(i,t,e){for(var n=bt(i,!0),o=$(i)[t];n;){var s=$(n)[e],r=void 0;if(e==="top"||e==="left"?r=o>=s:r=o<=s,!r)return n;if(n===ot())break;n=bt(n,!1)}return!1}function Ht(i,t,e,n){for(var o=0,s=0,r=i.children;s<r.length;){if(r[s].style.display!=="none"&&r[s]!==g.ghost&&(n||r[s]!==g.dragged)&&z(r[s],e.draggable,i,!1)){if(o===t)return r[s];o++}s++}return null}function xn(i,t){for(var e=i.lastElementChild;e&&(e===g.ghost||m(e,"display")==="none"||t&&!Re(e,t));)e=e.previousElementSibling;return e||null}function O(i,t){var e=0;if(!i||!i.parentNode)return-1;for(;i=i.previousElementSibling;)i.nodeName.toUpperCase()!=="TEMPLATE"&&i!==g.clone&&(!t||Re(i,t))&&e++;return e}function so(i){var t=0,e=0,n=ot();if(i)do{var o=Lt(i),s=o.a,r=o.d;t+=i.scrollLeft*s,e+=i.scrollTop*r}while(i!==n&&(i=i.parentNode));return[t,e]}function Ms(i,t){for(var e in i)if(i.hasOwnProperty(e)){for(var n in t)if(t.hasOwnProperty(n)&&t[n]===i[e][n])return Number(e)}return-1}function bt(i,t){if(!i||!i.getBoundingClientRect)return ot();var e=i,n=!1;do if(e.clientWidth<e.scrollWidth||e.clientHeight<e.scrollHeight){var o=m(e);if(e.clientWidth<e.scrollWidth&&(o.overflowX=="auto"||o.overflowX=="scroll")||e.clientHeight<e.scrollHeight&&(o.overflowY=="auto"||o.overflowY=="scroll")){if(!e.getBoundingClientRect||e===document.body)return ot();if(n||t)return e;n=!0}}while(e=e.parentNode);return ot()}function Bs(i,t){if(i&&t)for(var e in t)t.hasOwnProperty(e)&&(i[e]=t[e]);return i}function an(i,t){return Math.round(i.top)===Math.round(t.top)&&Math.round(i.left)===Math.round(t.left)&&Math.round(i.height)===Math.round(t.height)&&Math.round(i.width)===Math.round(t.width)}var oe;function vo(i,t){return function(){if(!oe){var e=arguments,n=this;e.length===1?i.call(n,e[0]):i.apply(n,e),oe=setTimeout(function(){oe=void 0},t)}}}function Ps(){clearTimeout(oe),oe=void 0}function bo(i,t,e){i.scrollLeft+=t,i.scrollTop+=e}function Sn(i){var t=window.Polymer,e=window.jQuery||window.Zepto;return t&&t.dom?t.dom(i).cloneNode(!0):e?e(i).clone(!0)[0]:i.cloneNode(!0)}function ro(i,t){m(i,"position","absolute"),m(i,"top",t.top),m(i,"left",t.left),m(i,"width",t.width),m(i,"height",t.height)}function ln(i){m(i,"position",""),m(i,"top",""),m(i,"left",""),m(i,"width",""),m(i,"height","")}function wo(i,t,e){var n={};return Array.from(i.children).forEach(function(o){var s,r,a,l;if(!(!z(o,t.draggable,i,!1)||o.animated||o===e)){var c=$(o);n.left=Math.min((s=n.left)!==null&&s!==void 0?s:1/0,c.left),n.top=Math.min((r=n.top)!==null&&r!==void 0?r:1/0,c.top),n.right=Math.max((a=n.right)!==null&&a!==void 0?a:-1/0,c.right),n.bottom=Math.max((l=n.bottom)!==null&&l!==void 0?l:-1/0,c.bottom)}}),n.width=n.right-n.left,n.height=n.bottom-n.top,n.x=n.left,n.y=n.top,n}var _="Sortable"+new Date().getTime();function Os(){var i=[],t;return{captureAnimationState:function(){if(i=[],!!this.options.animation){var n=[].slice.call(this.el.children);n.forEach(function(o){if(!(m(o,"display")==="none"||o===g.ghost)){i.push({target:o,rect:$(o)});var s=st({},i[i.length-1].rect);if(o.thisAnimationDuration){var r=Lt(o,!0);r&&(s.top-=r.f,s.left-=r.e)}o.fromRect=s}})}},addAnimationState:function(n){i.push(n)},removeAnimationState:function(n){i.splice(Ms(i,{target:n}),1)},animateAll:function(n){var o=this;if(!this.options.animation){clearTimeout(t),typeof n=="function"&&n();return}var s=!1,r=0;i.forEach(function(a){var l=0,c=a.target,u=c.fromRect,h=$(c),f=c.prevFromRect,x=c.prevToRect,E=a.rect,L=Lt(c,!0);L&&(h.top-=L.f,h.left-=L.e),c.toRect=h,c.thisAnimationDuration&&an(f,h)&&!an(u,h)&&(E.top-h.top)/(E.left-h.left)===(u.top-h.top)/(u.left-h.left)&&(l=Hs(E,f,x,o.options)),an(h,u)||(c.prevFromRect=u,c.prevToRect=h,l||(l=o.options.animation),o.animate(c,E,h,l)),l&&(s=!0,r=Math.max(r,l),clearTimeout(c.animationResetTimer),c.animationResetTimer=setTimeout(function(){c.animationTime=0,c.prevFromRect=null,c.fromRect=null,c.prevToRect=null,c.thisAnimationDuration=null},l),c.thisAnimationDuration=l)}),clearTimeout(t),s?t=setTimeout(function(){typeof n=="function"&&n()},r):typeof n=="function"&&n(),i=[]},animate:function(n,o,s,r){if(r){m(n,"transition",""),m(n,"transform","");var a=Lt(this.el),l=a&&a.a,c=a&&a.d,u=(o.left-s.left)/(l||1),h=(o.top-s.top)/(c||1);n.animatingX=!!u,n.animatingY=!!h,m(n,"transform","translate3d("+u+"px,"+h+"px,0)"),this.forRepaintDummy=Rs(n),m(n,"transition","transform "+r+"ms"+(this.options.easing?" "+this.options.easing:"")),m(n,"transform","translate3d(0,0,0)"),typeof n.animated=="number"&&clearTimeout(n.animated),n.animated=setTimeout(function(){m(n,"transition",""),m(n,"transform",""),n.animated=!1,n.animatingX=!1,n.animatingY=!1},r)}}}}function Rs(i){return i.offsetWidth}function Hs(i,t,e,n){return Math.sqrt(Math.pow(t.top-i.top,2)+Math.pow(t.left-i.left,2))/Math.sqrt(Math.pow(t.top-e.top,2)+Math.pow(t.left-e.left,2))*n.animation}var Mt=[],cn={initializeByDefault:!0},ce={mount:function(t){for(var e in cn)cn.hasOwnProperty(e)&&!(e in t)&&(t[e]=cn[e]);Mt.forEach(function(n){if(n.pluginName===t.pluginName)throw"Sortable: Cannot mount plugin ".concat(t.pluginName," more than once")}),Mt.push(t)},pluginEvent:function(t,e,n){var o=this;this.eventCanceled=!1,n.cancel=function(){o.eventCanceled=!0};var s=t+"Global";Mt.forEach(function(r){e[r.pluginName]&&(e[r.pluginName][s]&&e[r.pluginName][s](st({sortable:e},n)),e.options[r.pluginName]&&e[r.pluginName][t]&&e[r.pluginName][t](st({sortable:e},n)))})},initializePlugins:function(t,e,n,o){Mt.forEach(function(a){var l=a.pluginName;if(!(!t.options[l]&&!a.initializeByDefault)){var c=new a(t,e,t.options);c.sortable=t,c.options=t.options,t[l]=c,tt(n,c.defaults)}});for(var s in t.options)if(t.options.hasOwnProperty(s)){var r=this.modifyOption(t,s,t.options[s]);typeof r<"u"&&(t.options[s]=r)}},getEventProperties:function(t,e){var n={};return Mt.forEach(function(o){typeof o.eventProperties=="function"&&tt(n,o.eventProperties.call(e[o.pluginName],t))}),n},modifyOption:function(t,e,n){var o;return Mt.forEach(function(s){t[s.pluginName]&&s.optionListeners&&typeof s.optionListeners[e]=="function"&&(o=s.optionListeners[e].call(t[s.pluginName],n))}),o}};function Qt(i){var t=i.sortable,e=i.rootEl,n=i.name,o=i.targetEl,s=i.cloneEl,r=i.toEl,a=i.fromEl,l=i.oldIndex,c=i.newIndex,u=i.oldDraggableIndex,h=i.newDraggableIndex,f=i.originalEvent,x=i.putSortable,E=i.extraEventProperties;if(t=t||e&&e[_],!!t){var L,N=t.options,Y="on"+n.charAt(0).toUpperCase()+n.substr(1);window.CustomEvent&&!ct&&!le?L=new CustomEvent(n,{bubbles:!0,cancelable:!0}):(L=document.createEvent("Event"),L.initEvent(n,!0,!0)),L.to=r||e,L.from=a||e,L.item=o||e,L.clone=s,L.oldIndex=l,L.newIndex=c,L.oldDraggableIndex=u,L.newDraggableIndex=h,L.originalEvent=f,L.pullMode=x?x.lastPutMode:void 0;var C=st(st({},E),ce.getEventProperties(n,t));for(var k in C)L[k]=C[k];e&&e.dispatchEvent(L),N[Y]&&N[Y].call(t,L)}}var _s=["evt"],V=function(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=n.evt,s=Ls(n,_s);ce.pluginEvent.bind(g)(t,e,st({dragEl:p,parentEl:M,ghostEl:b,rootEl:D,nextEl:St,lastDownEl:Me,cloneEl:A,cloneHidden:vt,dragStarted:te,putSortable:H,activeSortable:g.active,originalEvent:o,oldIndex:Rt,oldDraggableIndex:se,newIndex:G,newDraggableIndex:gt,hideGhostForTarget:xo,unhideGhostForTarget:So,cloneNowHidden:function(){vt=!0},cloneNowShown:function(){vt=!1},dispatchSortableEvent:function(a){q({sortable:e,name:a,originalEvent:o})}},s))};function q(i){Qt(st({putSortable:H,cloneEl:A,targetEl:p,rootEl:D,oldIndex:Rt,oldDraggableIndex:se,newIndex:G,newDraggableIndex:gt},i))}var p,M,b,D,St,Me,A,vt,Rt,G,se,gt,Le,H,Ot=!1,He=!1,_e=[],Ct,Z,dn,hn,ao,lo,te,Bt,re,ae=!1,ke=!1,Be,F,un=[],bn=!1,Fe=[],qe=typeof document<"u",Te=Cn,co=le||ct?"cssFloat":"float",Fs=qe&&!po&&!Cn&&"draggable"in document.createElement("div"),yo=function(){if(qe){if(ct)return!1;var i=document.createElement("x");return i.style.cssText="pointer-events:auto",i.style.pointerEvents==="auto"}}(),Eo=function(t,e){var n=m(t),o=parseInt(n.width)-parseInt(n.paddingLeft)-parseInt(n.paddingRight)-parseInt(n.borderLeftWidth)-parseInt(n.borderRightWidth),s=Ht(t,0,e),r=Ht(t,1,e),a=s&&m(s),l=r&&m(r),c=a&&parseInt(a.marginLeft)+parseInt(a.marginRight)+$(s).width,u=l&&parseInt(l.marginLeft)+parseInt(l.marginRight)+$(r).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(s&&a.float&&a.float!=="none"){var h=a.float==="left"?"left":"right";return r&&(l.clear==="both"||l.clear===h)?"vertical":"horizontal"}return s&&(a.display==="block"||a.display==="flex"||a.display==="table"||a.display==="grid"||c>=o&&n[co]==="none"||r&&n[co]==="none"&&c+u>o)?"vertical":"horizontal"},Ns=function(t,e,n){var o=n?t.left:t.top,s=n?t.right:t.bottom,r=n?t.width:t.height,a=n?e.left:e.top,l=n?e.right:e.bottom,c=n?e.width:e.height;return o===a||s===l||o+r/2===a+c/2},qs=function(t,e){var n;return _e.some(function(o){var s=o[_].options.emptyInsertThreshold;if(!(!s||xn(o))){var r=$(o),a=t>=r.left-s&&t<=r.right+s,l=e>=r.top-s&&e<=r.bottom+s;if(a&&l)return n=o}}),n},Co=function(t){function e(s,r){return function(a,l,c,u){var h=a.options.group.name&&l.options.group.name&&a.options.group.name===l.options.group.name;if(s==null&&(r||h))return!0;if(s==null||s===!1)return!1;if(r&&s==="clone")return s;if(typeof s=="function")return e(s(a,l,c,u),r)(a,l,c,u);var f=(r?a:l).options.group.name;return s===!0||typeof s=="string"&&s===f||s.join&&s.indexOf(f)>-1}}var n={},o=t.group;(!o||Ie(o)!="object")&&(o={name:o}),n.name=o.name,n.checkPull=e(o.pull,!0),n.checkPut=e(o.put),n.revertClone=o.revertClone,t.group=n},xo=function(){!yo&&b&&m(b,"display","none")},So=function(){!yo&&b&&m(b,"display","")};qe&&!po&&document.addEventListener("click",function(i){if(He)return i.preventDefault(),i.stopPropagation&&i.stopPropagation(),i.stopImmediatePropagation&&i.stopImmediatePropagation(),He=!1,!1},!0);var xt=function(t){if(p){t=t.touches?t.touches[0]:t;var e=qs(t.clientX,t.clientY);if(e){var n={};for(var o in t)t.hasOwnProperty(o)&&(n[o]=t[o]);n.target=n.rootEl=e,n.preventDefault=void 0,n.stopPropagation=void 0,e[_]._onDragOver(n)}}},Us=function(t){p&&p.parentNode[_]._isOutsideThisEl(t.target)};function g(i,t){if(!(i&&i.nodeType&&i.nodeType===1))throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(i));this.el=i,this.options=t=tt({},t),i[_]=this;var e={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(i.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return Eo(i,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(r,a){r.setData("Text",a.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:g.supportPointer!==!1&&"PointerEvent"in window&&(!ne||Cn),emptyInsertThreshold:5};ce.initializePlugins(this,i,e);for(var n in e)!(n in t)&&(t[n]=e[n]);Co(t);for(var o in this)o.charAt(0)==="_"&&typeof this[o]=="function"&&(this[o]=this[o].bind(this));this.nativeDraggable=t.forceFallback?!1:Fs,this.nativeDraggable&&(this.options.touchStartThreshold=1),t.supportPointer?y(i,"pointerdown",this._onTapStart):(y(i,"mousedown",this._onTapStart),y(i,"touchstart",this._onTapStart)),this.nativeDraggable&&(y(i,"dragover",this),y(i,"dragenter",this)),_e.push(this.el),t.store&&t.store.get&&this.sort(t.store.get(this)||[]),tt(this,Os())}g.prototype={constructor:g,_isOutsideThisEl:function(t){!this.el.contains(t)&&t!==this.el&&(Bt=null)},_getDirection:function(t,e){return typeof this.options.direction=="function"?this.options.direction.call(this,t,e,p):this.options.direction},_onTapStart:function(t){if(t.cancelable){var e=this,n=this.el,o=this.options,s=o.preventOnFilter,r=t.type,a=t.touches&&t.touches[0]||t.pointerType&&t.pointerType==="touch"&&t,l=(a||t).target,c=t.target.shadowRoot&&(t.path&&t.path[0]||t.composedPath&&t.composedPath()[0])||l,u=o.filter;if(Ys(n),!p&&!(/mousedown|pointerdown/.test(r)&&t.button!==0||o.disabled)&&!c.isContentEditable&&!(!this.nativeDraggable&&ne&&l&&l.tagName.toUpperCase()==="SELECT")&&(l=z(l,o.draggable,n,!1),!(l&&l.animated)&&Me!==l)){if(Rt=O(l),se=O(l,o.draggable),typeof u=="function"){if(u.call(this,t,l,this)){q({sortable:e,rootEl:c,name:"filter",targetEl:l,toEl:n,fromEl:n}),V("filter",e,{evt:t}),s&&t.preventDefault();return}}else if(u&&(u=u.split(",").some(function(h){if(h=z(c,h.trim(),n,!1),h)return q({sortable:e,rootEl:h,name:"filter",targetEl:l,fromEl:n,toEl:n}),V("filter",e,{evt:t}),!0}),u)){s&&t.preventDefault();return}o.handle&&!z(c,o.handle,n,!1)||this._prepareDragStart(t,a,l)}}},_prepareDragStart:function(t,e,n){var o=this,s=o.el,r=o.options,a=s.ownerDocument,l;if(n&&!p&&n.parentNode===s){var c=$(n);if(D=s,p=n,M=p.parentNode,St=p.nextSibling,Me=n,Le=r.group,g.dragged=p,Ct={target:p,clientX:(e||t).clientX,clientY:(e||t).clientY},ao=Ct.clientX-c.left,lo=Ct.clientY-c.top,this._lastX=(e||t).clientX,this._lastY=(e||t).clientY,p.style["will-change"]="all",l=function(){if(V("delayEnded",o,{evt:t}),g.eventCanceled){o._onDrop();return}o._disableDelayedDragEvents(),!io&&o.nativeDraggable&&(p.draggable=!0),o._triggerDragStart(t,e),q({sortable:o,name:"choose",originalEvent:t}),P(p,r.chosenClass,!0)},r.ignore.split(",").forEach(function(u){go(p,u.trim(),pn)}),y(a,"dragover",xt),y(a,"mousemove",xt),y(a,"touchmove",xt),r.supportPointer?(y(a,"pointerup",o._onDrop),!this.nativeDraggable&&y(a,"pointercancel",o._onDrop)):(y(a,"mouseup",o._onDrop),y(a,"touchend",o._onDrop),y(a,"touchcancel",o._onDrop)),io&&this.nativeDraggable&&(this.options.touchStartThreshold=4,p.draggable=!0),V("delayStart",this,{evt:t}),r.delay&&(!r.delayOnTouchOnly||e)&&(!this.nativeDraggable||!(le||ct))){if(g.eventCanceled){this._onDrop();return}r.supportPointer?(y(a,"pointerup",o._disableDelayedDrag),y(a,"pointercancel",o._disableDelayedDrag)):(y(a,"mouseup",o._disableDelayedDrag),y(a,"touchend",o._disableDelayedDrag),y(a,"touchcancel",o._disableDelayedDrag)),y(a,"mousemove",o._delayedDragTouchMoveHandler),y(a,"touchmove",o._delayedDragTouchMoveHandler),r.supportPointer&&y(a,"pointermove",o._delayedDragTouchMoveHandler),o._dragStartTimer=setTimeout(l,r.delay)}else l()}},_delayedDragTouchMoveHandler:function(t){var e=t.touches?t.touches[0]:t;Math.max(Math.abs(e.clientX-this._lastX),Math.abs(e.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){p&&pn(p),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var t=this.el.ownerDocument;w(t,"mouseup",this._disableDelayedDrag),w(t,"touchend",this._disableDelayedDrag),w(t,"touchcancel",this._disableDelayedDrag),w(t,"pointerup",this._disableDelayedDrag),w(t,"pointercancel",this._disableDelayedDrag),w(t,"mousemove",this._delayedDragTouchMoveHandler),w(t,"touchmove",this._delayedDragTouchMoveHandler),w(t,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(t,e){e=e||t.pointerType=="touch"&&t,!this.nativeDraggable||e?this.options.supportPointer?y(document,"pointermove",this._onTouchMove):e?y(document,"touchmove",this._onTouchMove):y(document,"mousemove",this._onTouchMove):(y(p,"dragend",this),y(D,"dragstart",this._onDragStart));try{document.selection?Pe(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch{}},_dragStarted:function(t,e){if(Ot=!1,D&&p){V("dragStarted",this,{evt:e}),this.nativeDraggable&&y(document,"dragover",Us);var n=this.options;!t&&P(p,n.dragClass,!1),P(p,n.ghostClass,!0),g.active=this,t&&this._appendGhost(),q({sortable:this,name:"start",originalEvent:e})}else this._nulling()},_emulateDragOver:function(){if(Z){this._lastX=Z.clientX,this._lastY=Z.clientY,xo();for(var t=document.elementFromPoint(Z.clientX,Z.clientY),e=t;t&&t.shadowRoot&&(t=t.shadowRoot.elementFromPoint(Z.clientX,Z.clientY),t!==e);)e=t;if(p.parentNode[_]._isOutsideThisEl(t),e)do{if(e[_]){var n=void 0;if(n=e[_]._onDragOver({clientX:Z.clientX,clientY:Z.clientY,target:t,rootEl:e}),n&&!this.options.dragoverBubble)break}t=e}while(e=fo(e));So()}},_onTouchMove:function(t){if(Ct){var e=this.options,n=e.fallbackTolerance,o=e.fallbackOffset,s=t.touches?t.touches[0]:t,r=b&&Lt(b,!0),a=b&&r&&r.a,l=b&&r&&r.d,c=Te&&F&&so(F),u=(s.clientX-Ct.clientX+o.x)/(a||1)+(c?c[0]-un[0]:0)/(a||1),h=(s.clientY-Ct.clientY+o.y)/(l||1)+(c?c[1]-un[1]:0)/(l||1);if(!g.active&&!Ot){if(n&&Math.max(Math.abs(s.clientX-this._lastX),Math.abs(s.clientY-this._lastY))<n)return;this._onDragStart(t,!0)}if(b){r?(r.e+=u-(dn||0),r.f+=h-(hn||0)):r={a:1,b:0,c:0,d:1,e:u,f:h};var f="matrix(".concat(r.a,",").concat(r.b,",").concat(r.c,",").concat(r.d,",").concat(r.e,",").concat(r.f,")");m(b,"webkitTransform",f),m(b,"mozTransform",f),m(b,"msTransform",f),m(b,"transform",f),dn=u,hn=h,Z=s}t.cancelable&&t.preventDefault()}},_appendGhost:function(){if(!b){var t=this.options.fallbackOnBody?document.body:D,e=$(p,!0,Te,!0,t),n=this.options;if(Te){for(F=t;m(F,"position")==="static"&&m(F,"transform")==="none"&&F!==document;)F=F.parentNode;F!==document.body&&F!==document.documentElement?(F===document&&(F=ot()),e.top+=F.scrollTop,e.left+=F.scrollLeft):F=ot(),un=so(F)}b=p.cloneNode(!0),P(b,n.ghostClass,!1),P(b,n.fallbackClass,!0),P(b,n.dragClass,!0),m(b,"transition",""),m(b,"transform",""),m(b,"box-sizing","border-box"),m(b,"margin",0),m(b,"top",e.top),m(b,"left",e.left),m(b,"width",e.width),m(b,"height",e.height),m(b,"opacity","0.8"),m(b,"position",Te?"absolute":"fixed"),m(b,"zIndex","100000"),m(b,"pointerEvents","none"),g.ghost=b,t.appendChild(b),m(b,"transform-origin",ao/parseInt(b.style.width)*100+"% "+lo/parseInt(b.style.height)*100+"%")}},_onDragStart:function(t,e){var n=this,o=t.dataTransfer,s=n.options;if(V("dragStart",this,{evt:t}),g.eventCanceled){this._onDrop();return}V("setupClone",this),g.eventCanceled||(A=Sn(p),A.removeAttribute("id"),A.draggable=!1,A.style["will-change"]="",this._hideClone(),P(A,this.options.chosenClass,!1),g.clone=A),n.cloneId=Pe(function(){V("clone",n),!g.eventCanceled&&(n.options.removeCloneOnHide||D.insertBefore(A,p),n._hideClone(),q({sortable:n,name:"clone"}))}),!e&&P(p,s.dragClass,!0),e?(He=!0,n._loopId=setInterval(n._emulateDragOver,50)):(w(document,"mouseup",n._onDrop),w(document,"touchend",n._onDrop),w(document,"touchcancel",n._onDrop),o&&(o.effectAllowed="move",s.setData&&s.setData.call(n,o,p)),y(document,"drop",n),m(p,"transform","translateZ(0)")),Ot=!0,n._dragStartId=Pe(n._dragStarted.bind(n,e,t)),y(document,"selectstart",n),te=!0,window.getSelection().removeAllRanges(),ne&&m(document.body,"user-select","none")},_onDragOver:function(t){var e=this.el,n=t.target,o,s,r,a=this.options,l=a.group,c=g.active,u=Le===l,h=a.sort,f=H||c,x,E=this,L=!1;if(bn)return;function N(Wt,gs){V(Wt,E,st({evt:t,isOwner:u,axis:x?"vertical":"horizontal",revert:r,dragRect:o,targetRect:s,canSort:h,fromSortable:f,target:n,completed:C,onMove:function(Vn,vs){return $e(D,e,p,o,Vn,$(Vn),t,vs)},changed:k},gs))}function Y(){N("dragOverAnimationCapture"),E.captureAnimationState(),E!==f&&f.captureAnimationState()}function C(Wt){return N("dragOverCompleted",{insertion:Wt}),Wt&&(u?c._hideClone():c._showClone(E),E!==f&&(P(p,H?H.options.ghostClass:c.options.ghostClass,!1),P(p,a.ghostClass,!0)),H!==E&&E!==g.active?H=E:E===g.active&&H&&(H=null),f===E&&(E._ignoreWhileAnimating=n),E.animateAll(function(){N("dragOverAnimationComplete"),E._ignoreWhileAnimating=null}),E!==f&&(f.animateAll(),f._ignoreWhileAnimating=null)),(n===p&&!p.animated||n===e&&!n.animated)&&(Bt=null),!a.dragoverBubble&&!t.rootEl&&n!==document&&(p.parentNode[_]._isOutsideThisEl(t.target),!Wt&&xt(t)),!a.dragoverBubble&&t.stopPropagation&&t.stopPropagation(),L=!0}function k(){G=O(p),gt=O(p,a.draggable),q({sortable:E,name:"change",toEl:e,newIndex:G,newDraggableIndex:gt,originalEvent:t})}if(t.preventDefault!==void 0&&t.cancelable&&t.preventDefault(),n=z(n,a.draggable,e,!0),N("dragOver"),g.eventCanceled)return L;if(p.contains(t.target)||n.animated&&n.animatingX&&n.animatingY||E._ignoreWhileAnimating===n)return C(!1);if(He=!1,c&&!a.disabled&&(u?h||(r=M!==D):H===this||(this.lastPutMode=Le.checkPull(this,c,p,t))&&l.checkPut(this,c,p,t))){if(x=this._getDirection(t,n)==="vertical",o=$(p),N("dragOverValid"),g.eventCanceled)return L;if(r)return M=D,Y(),this._hideClone(),N("revert"),g.eventCanceled||(St?D.insertBefore(p,St):D.appendChild(p)),C(!0);var R=xn(e,a.draggable);if(!R||Ws(t,x,this)&&!R.animated){if(R===p)return C(!1);if(R&&e===t.target&&(n=R),n&&(s=$(n)),$e(D,e,p,o,n,s,t,!!n)!==!1)return Y(),R&&R.nextSibling?e.insertBefore(p,R.nextSibling):e.appendChild(p),M=e,k(),C(!0)}else if(R&&zs(t,x,this)){var rt=Ht(e,0,a,!0);if(rt===p)return C(!1);if(n=rt,s=$(n),$e(D,e,p,o,n,s,t,!1)!==!1)return Y(),e.insertBefore(p,rt),M=e,k(),C(!0)}else if(n.parentNode===e){s=$(n);var J=0,wt,Ut=p.parentNode!==e,K=!Ns(p.animated&&p.toRect||o,n.animated&&n.toRect||s,x),Vt=x?"top":"left",ht=oo(n,"top","top")||oo(p,"top","top"),jt=ht?ht.scrollTop:void 0;Bt!==n&&(wt=s[Vt],ae=!1,ke=!K&&a.invertSwap||Ut),J=Ks(t,n,s,x,K?1:a.swapThreshold,a.invertedSwapThreshold==null?a.swapThreshold:a.invertedSwapThreshold,ke,Bt===n);var at;if(J!==0){var yt=O(p);do yt-=J,at=M.children[yt];while(at&&(m(at,"display")==="none"||at===b))}if(J===0||at===n)return C(!1);Bt=n,re=J;var zt=n.nextElementSibling,ut=!1;ut=J===1;var ue=$e(D,e,p,o,n,s,t,ut);if(ue!==!1)return(ue===1||ue===-1)&&(ut=ue===1),bn=!0,setTimeout(js,30),Y(),ut&&!zt?e.appendChild(p):n.parentNode.insertBefore(p,ut?zt:n),ht&&bo(ht,0,jt-ht.scrollTop),M=p.parentNode,wt!==void 0&&!ke&&(Be=Math.abs(wt-$(n)[Vt])),k(),C(!0)}if(e.contains(p))return C(!1)}return!1},_ignoreWhileAnimating:null,_offMoveEvents:function(){w(document,"mousemove",this._onTouchMove),w(document,"touchmove",this._onTouchMove),w(document,"pointermove",this._onTouchMove),w(document,"dragover",xt),w(document,"mousemove",xt),w(document,"touchmove",xt)},_offUpEvents:function(){var t=this.el.ownerDocument;w(t,"mouseup",this._onDrop),w(t,"touchend",this._onDrop),w(t,"pointerup",this._onDrop),w(t,"pointercancel",this._onDrop),w(t,"touchcancel",this._onDrop),w(document,"selectstart",this)},_onDrop:function(t){var e=this.el,n=this.options;if(G=O(p),gt=O(p,n.draggable),V("drop",this,{evt:t}),M=p&&p.parentNode,G=O(p),gt=O(p,n.draggable),g.eventCanceled){this._nulling();return}Ot=!1,ke=!1,ae=!1,clearInterval(this._loopId),clearTimeout(this._dragStartTimer),wn(this.cloneId),wn(this._dragStartId),this.nativeDraggable&&(w(document,"drop",this),w(e,"dragstart",this._onDragStart)),this._offMoveEvents(),this._offUpEvents(),ne&&m(document.body,"user-select",""),m(p,"transform",""),t&&(te&&(t.cancelable&&t.preventDefault(),!n.dropBubble&&t.stopPropagation()),b&&b.parentNode&&b.parentNode.removeChild(b),(D===M||H&&H.lastPutMode!=="clone")&&A&&A.parentNode&&A.parentNode.removeChild(A),p&&(this.nativeDraggable&&w(p,"dragend",this),pn(p),p.style["will-change"]="",te&&!Ot&&P(p,H?H.options.ghostClass:this.options.ghostClass,!1),P(p,this.options.chosenClass,!1),q({sortable:this,name:"unchoose",toEl:M,newIndex:null,newDraggableIndex:null,originalEvent:t}),D!==M?(G>=0&&(q({rootEl:M,name:"add",toEl:M,fromEl:D,originalEvent:t}),q({sortable:this,name:"remove",toEl:M,originalEvent:t}),q({rootEl:M,name:"sort",toEl:M,fromEl:D,originalEvent:t}),q({sortable:this,name:"sort",toEl:M,originalEvent:t})),H&&H.save()):G!==Rt&&G>=0&&(q({sortable:this,name:"update",toEl:M,originalEvent:t}),q({sortable:this,name:"sort",toEl:M,originalEvent:t})),g.active&&((G==null||G===-1)&&(G=Rt,gt=se),q({sortable:this,name:"end",toEl:M,originalEvent:t}),this.save()))),this._nulling()},_nulling:function(){V("nulling",this),D=p=M=b=St=A=Me=vt=Ct=Z=te=G=gt=Rt=se=Bt=re=H=Le=g.dragged=g.ghost=g.clone=g.active=null,Fe.forEach(function(t){t.checked=!0}),Fe.length=dn=hn=0},handleEvent:function(t){switch(t.type){case"drop":case"dragend":this._onDrop(t);break;case"dragenter":case"dragover":p&&(this._onDragOver(t),Vs(t));break;case"selectstart":t.preventDefault();break}},toArray:function(){for(var t=[],e,n=this.el.children,o=0,s=n.length,r=this.options;o<s;o++)e=n[o],z(e,r.draggable,this.el,!1)&&t.push(e.getAttribute(r.dataIdAttr)||Gs(e));return t},sort:function(t,e){var n={},o=this.el;this.toArray().forEach(function(s,r){var a=o.children[r];z(a,this.options.draggable,o,!1)&&(n[s]=a)},this),e&&this.captureAnimationState(),t.forEach(function(s){n[s]&&(o.removeChild(n[s]),o.appendChild(n[s]))}),e&&this.animateAll()},save:function(){var t=this.options.store;t&&t.set&&t.set(this)},closest:function(t,e){return z(t,e||this.options.draggable,this.el,!1)},option:function(t,e){var n=this.options;if(e===void 0)return n[t];var o=ce.modifyOption(this,t,e);typeof o<"u"?n[t]=o:n[t]=e,t==="group"&&Co(n)},destroy:function(){V("destroy",this);var t=this.el;t[_]=null,w(t,"mousedown",this._onTapStart),w(t,"touchstart",this._onTapStart),w(t,"pointerdown",this._onTapStart),this.nativeDraggable&&(w(t,"dragover",this),w(t,"dragenter",this)),Array.prototype.forEach.call(t.querySelectorAll("[draggable]"),function(e){e.removeAttribute("draggable")}),this._onDrop(),this._disableDelayedDragEvents(),_e.splice(_e.indexOf(this.el),1),this.el=t=null},_hideClone:function(){if(!vt){if(V("hideClone",this),g.eventCanceled)return;m(A,"display","none"),this.options.removeCloneOnHide&&A.parentNode&&A.parentNode.removeChild(A),vt=!0}},_showClone:function(t){if(t.lastPutMode!=="clone"){this._hideClone();return}if(vt){if(V("showClone",this),g.eventCanceled)return;p.parentNode==D&&!this.options.group.revertClone?D.insertBefore(A,p):St?D.insertBefore(A,St):D.appendChild(A),this.options.group.revertClone&&this.animate(p,A),m(A,"display",""),vt=!1}}};function Vs(i){i.dataTransfer&&(i.dataTransfer.dropEffect="move"),i.cancelable&&i.preventDefault()}function $e(i,t,e,n,o,s,r,a){var l,c=i[_],u=c.options.onMove,h;return window.CustomEvent&&!ct&&!le?l=new CustomEvent("move",{bubbles:!0,cancelable:!0}):(l=document.createEvent("Event"),l.initEvent("move",!0,!0)),l.to=t,l.from=i,l.dragged=e,l.draggedRect=n,l.related=o||t,l.relatedRect=s||$(t),l.willInsertAfter=a,l.originalEvent=r,i.dispatchEvent(l),u&&(h=u.call(c,l,r)),h}function pn(i){i.draggable=!1}function js(){bn=!1}function zs(i,t,e){var n=$(Ht(e.el,0,e.options,!0)),o=wo(e.el,e.options,b),s=10;return t?i.clientX<o.left-s||i.clientY<n.top&&i.clientX<n.right:i.clientY<o.top-s||i.clientY<n.bottom&&i.clientX<n.left}function Ws(i,t,e){var n=$(xn(e.el,e.options.draggable)),o=wo(e.el,e.options,b),s=10;return t?i.clientX>o.right+s||i.clientY>n.bottom&&i.clientX>n.left:i.clientY>o.bottom+s||i.clientX>n.right&&i.clientY>n.top}function Ks(i,t,e,n,o,s,r,a){var l=n?i.clientY:i.clientX,c=n?e.height:e.width,u=n?e.top:e.left,h=n?e.bottom:e.right,f=!1;if(!r){if(a&&Be<c*o){if(!ae&&(re===1?l>u+c*s/2:l<h-c*s/2)&&(ae=!0),ae)f=!0;else if(re===1?l<u+Be:l>h-Be)return-re}else if(l>u+c*(1-o)/2&&l<h-c*(1-o)/2)return Xs(t)}return f=f||r,f&&(l<u+c*s/2||l>h-c*s/2)?l>u+c/2?1:-1:0}function Xs(i){return O(p)<O(i)?1:-1}function Gs(i){for(var t=i.tagName+i.className+i.src+i.href+i.textContent,e=t.length,n=0;e--;)n+=t.charCodeAt(e);return n.toString(36)}function Ys(i){Fe.length=0;for(var t=i.getElementsByTagName("input"),e=t.length;e--;){var n=t[e];n.checked&&Fe.push(n)}}function Pe(i){return setTimeout(i,0)}function wn(i){return clearTimeout(i)}qe&&y(document,"touchmove",function(i){(g.active||Ot)&&i.cancelable&&i.preventDefault()});g.utils={on:y,off:w,css:m,find:go,is:function(t,e){return!!z(t,e,t,!1)},extend:Bs,throttle:vo,closest:z,toggleClass:P,clone:Sn,index:O,nextTick:Pe,cancelNextTick:wn,detectDirection:Eo,getChild:Ht,expando:_};g.get=function(i){return i[_]};g.mount=function(){for(var i=arguments.length,t=new Array(i),e=0;e<i;e++)t[e]=arguments[e];t[0].constructor===Array&&(t=t[0]),t.forEach(function(n){if(!n.prototype||!n.prototype.constructor)throw"Sortable: Mounted plugin must be a constructor function, not ".concat({}.toString.call(n));n.utils&&(g.utils=st(st({},g.utils),n.utils)),ce.mount(n)})};g.create=function(i,t){return new g(i,t)};g.version=Is;var B=[],ee,yn,En=!1,mn,fn,Ne,ie;function Js(){function i(){this.defaults={scroll:!0,forceAutoScrollFallback:!1,scrollSensitivity:30,scrollSpeed:10,bubbleScroll:!0};for(var t in this)t.charAt(0)==="_"&&typeof this[t]=="function"&&(this[t]=this[t].bind(this))}return i.prototype={dragStarted:function(e){var n=e.originalEvent;this.sortable.nativeDraggable?y(document,"dragover",this._handleAutoScroll):this.options.supportPointer?y(document,"pointermove",this._handleFallbackAutoScroll):n.touches?y(document,"touchmove",this._handleFallbackAutoScroll):y(document,"mousemove",this._handleFallbackAutoScroll)},dragOverCompleted:function(e){var n=e.originalEvent;!this.options.dragOverBubble&&!n.rootEl&&this._handleAutoScroll(n)},drop:function(){this.sortable.nativeDraggable?w(document,"dragover",this._handleAutoScroll):(w(document,"pointermove",this._handleFallbackAutoScroll),w(document,"touchmove",this._handleFallbackAutoScroll),w(document,"mousemove",this._handleFallbackAutoScroll)),ho(),Oe(),Ps()},nulling:function(){Ne=yn=ee=En=ie=mn=fn=null,B.length=0},_handleFallbackAutoScroll:function(e){this._handleAutoScroll(e,!0)},_handleAutoScroll:function(e,n){var o=this,s=(e.touches?e.touches[0]:e).clientX,r=(e.touches?e.touches[0]:e).clientY,a=document.elementFromPoint(s,r);if(Ne=e,n||this.options.forceAutoScrollFallback||le||ct||ne){gn(e,this.options,a,n);var l=bt(a,!0);En&&(!ie||s!==mn||r!==fn)&&(ie&&ho(),ie=setInterval(function(){var c=bt(document.elementFromPoint(s,r),!0);c!==l&&(l=c,Oe()),gn(e,o.options,c,n)},10),mn=s,fn=r)}else{if(!this.options.bubbleScroll||bt(a,!0)===ot()){Oe();return}gn(e,this.options,bt(a,!1),!1)}}},tt(i,{pluginName:"scroll",initializeByDefault:!0})}function Oe(){B.forEach(function(i){clearInterval(i.pid)}),B=[]}function ho(){clearInterval(ie)}var gn=vo(function(i,t,e,n){if(t.scroll){var o=(i.touches?i.touches[0]:i).clientX,s=(i.touches?i.touches[0]:i).clientY,r=t.scrollSensitivity,a=t.scrollSpeed,l=ot(),c=!1,u;yn!==e&&(yn=e,Oe(),ee=t.scroll,u=t.scrollFn,ee===!0&&(ee=bt(e,!0)));var h=0,f=ee;do{var x=f,E=$(x),L=E.top,N=E.bottom,Y=E.left,C=E.right,k=E.width,R=E.height,rt=void 0,J=void 0,wt=x.scrollWidth,Ut=x.scrollHeight,K=m(x),Vt=x.scrollLeft,ht=x.scrollTop;x===l?(rt=k<wt&&(K.overflowX==="auto"||K.overflowX==="scroll"||K.overflowX==="visible"),J=R<Ut&&(K.overflowY==="auto"||K.overflowY==="scroll"||K.overflowY==="visible")):(rt=k<wt&&(K.overflowX==="auto"||K.overflowX==="scroll"),J=R<Ut&&(K.overflowY==="auto"||K.overflowY==="scroll"));var jt=rt&&(Math.abs(C-o)<=r&&Vt+k<wt)-(Math.abs(Y-o)<=r&&!!Vt),at=J&&(Math.abs(N-s)<=r&&ht+R<Ut)-(Math.abs(L-s)<=r&&!!ht);if(!B[h])for(var yt=0;yt<=h;yt++)B[yt]||(B[yt]={});(B[h].vx!=jt||B[h].vy!=at||B[h].el!==x)&&(B[h].el=x,B[h].vx=jt,B[h].vy=at,clearInterval(B[h].pid),(jt!=0||at!=0)&&(c=!0,B[h].pid=setInterval(function(){n&&this.layer===0&&g.active._onTouchMove(Ne);var zt=B[this.layer].vy?B[this.layer].vy*a:0,ut=B[this.layer].vx?B[this.layer].vx*a:0;typeof u=="function"&&u.call(g.dragged.parentNode[_],ut,zt,i,Ne,B[this.layer].el)!=="continue"||bo(B[this.layer].el,ut,zt)}.bind({layer:h}),24))),h++}while(t.bubbleScroll&&f!==l&&(f=bt(f,!1)));En=c}},30),Lo=function(t){var e=t.originalEvent,n=t.putSortable,o=t.dragEl,s=t.activeSortable,r=t.dispatchSortableEvent,a=t.hideGhostForTarget,l=t.unhideGhostForTarget;if(e){var c=n||s;a();var u=e.changedTouches&&e.changedTouches.length?e.changedTouches[0]:e,h=document.elementFromPoint(u.clientX,u.clientY);l(),c&&!c.el.contains(h)&&(r("spill"),this.onSpill({dragEl:o,putSortable:n}))}};function Ln(){}Ln.prototype={startIndex:null,dragStart:function(t){var e=t.oldDraggableIndex;this.startIndex=e},onSpill:function(t){var e=t.dragEl,n=t.putSortable;this.sortable.captureAnimationState(),n&&n.captureAnimationState();var o=Ht(this.sortable.el,this.startIndex,this.options);o?this.sortable.el.insertBefore(e,o):this.sortable.el.appendChild(e),this.sortable.animateAll(),n&&n.animateAll()},drop:Lo};tt(Ln,{pluginName:"revertOnSpill"});function kn(){}kn.prototype={onSpill:function(t){var e=t.dragEl,n=t.putSortable,o=n||this.sortable;o.captureAnimationState(),e.parentNode&&e.parentNode.removeChild(e),o.animateAll()},drop:Lo};tt(kn,{pluginName:"removeOnSpill"});var v=[],X=[],Yt,Q,Jt=!1,j=!1,Pt=!1,T,Zt,De;function ko(){function i(t){for(var e in this)e.charAt(0)==="_"&&typeof this[e]=="function"&&(this[e]=this[e].bind(this));t.options.avoidImplicitDeselect||(t.options.supportPointer?y(document,"pointerup",this._deselectMultiDrag):(y(document,"mouseup",this._deselectMultiDrag),y(document,"touchend",this._deselectMultiDrag))),y(document,"keydown",this._checkKeyDown),y(document,"keyup",this._checkKeyUp),this.defaults={selectedClass:"sortable-selected",multiDragKey:null,avoidImplicitDeselect:!1,setData:function(o,s){var r="";v.length&&Q===t?v.forEach(function(a,l){r+=(l?", ":"")+a.textContent}):r=s.textContent,o.setData("Text",r)}}}return i.prototype={multiDragKeyDown:!1,isMultiDrag:!1,delayStartGlobal:function(e){var n=e.dragEl;T=n},delayEnded:function(){this.isMultiDrag=~v.indexOf(T)},setupClone:function(e){var n=e.sortable,o=e.cancel;if(this.isMultiDrag){for(var s=0;s<v.length;s++)X.push(Sn(v[s])),X[s].sortableIndex=v[s].sortableIndex,X[s].draggable=!1,X[s].style["will-change"]="",P(X[s],this.options.selectedClass,!1),v[s]===T&&P(X[s],this.options.chosenClass,!1);n._hideClone(),o()}},clone:function(e){var n=e.sortable,o=e.rootEl,s=e.dispatchSortableEvent,r=e.cancel;this.isMultiDrag&&(this.options.removeCloneOnHide||v.length&&Q===n&&(uo(!0,o),s("clone"),r()))},showClone:function(e){var n=e.cloneNowShown,o=e.rootEl,s=e.cancel;this.isMultiDrag&&(uo(!1,o),X.forEach(function(r){m(r,"display","")}),n(),De=!1,s())},hideClone:function(e){var n=this,o=e.sortable,s=e.cloneNowHidden,r=e.cancel;this.isMultiDrag&&(X.forEach(function(a){m(a,"display","none"),n.options.removeCloneOnHide&&a.parentNode&&a.parentNode.removeChild(a)}),s(),De=!0,r())},dragStartGlobal:function(e){var n=e.sortable;!this.isMultiDrag&&Q&&Q.multiDrag._deselectMultiDrag(),v.forEach(function(o){o.sortableIndex=O(o)}),v=v.sort(function(o,s){return o.sortableIndex-s.sortableIndex}),Pt=!0},dragStarted:function(e){var n=this,o=e.sortable;if(this.isMultiDrag){if(this.options.sort&&(o.captureAnimationState(),this.options.animation)){v.forEach(function(r){r!==T&&m(r,"position","absolute")});var s=$(T,!1,!0,!0);v.forEach(function(r){r!==T&&ro(r,s)}),j=!0,Jt=!0}o.animateAll(function(){j=!1,Jt=!1,n.options.animation&&v.forEach(function(r){ln(r)}),n.options.sort&&Ae()})}},dragOver:function(e){var n=e.target,o=e.completed,s=e.cancel;j&&~v.indexOf(n)&&(o(!1),s())},revert:function(e){var n=e.fromSortable,o=e.rootEl,s=e.sortable,r=e.dragRect;v.length>1&&(v.forEach(function(a){s.addAnimationState({target:a,rect:j?$(a):r}),ln(a),a.fromRect=r,n.removeAnimationState(a)}),j=!1,Zs(!this.options.removeCloneOnHide,o))},dragOverCompleted:function(e){var n=e.sortable,o=e.isOwner,s=e.insertion,r=e.activeSortable,a=e.parentEl,l=e.putSortable,c=this.options;if(s){if(o&&r._hideClone(),Jt=!1,c.animation&&v.length>1&&(j||!o&&!r.options.sort&&!l)){var u=$(T,!1,!0,!0);v.forEach(function(f){f!==T&&(ro(f,u),a.appendChild(f))}),j=!0}if(!o)if(j||Ae(),v.length>1){var h=De;r._showClone(n),r.options.animation&&!De&&h&&X.forEach(function(f){r.addAnimationState({target:f,rect:Zt}),f.fromRect=Zt,f.thisAnimationDuration=null})}else r._showClone(n)}},dragOverAnimationCapture:function(e){var n=e.dragRect,o=e.isOwner,s=e.activeSortable;if(v.forEach(function(a){a.thisAnimationDuration=null}),s.options.animation&&!o&&s.multiDrag.isMultiDrag){Zt=tt({},n);var r=Lt(T,!0);Zt.top-=r.f,Zt.left-=r.e}},dragOverAnimationComplete:function(){j&&(j=!1,Ae())},drop:function(e){var n=e.originalEvent,o=e.rootEl,s=e.parentEl,r=e.sortable,a=e.dispatchSortableEvent,l=e.oldIndex,c=e.putSortable,u=c||this.sortable;if(n){var h=this.options,f=s.children;if(!Pt)if(h.multiDragKey&&!this.multiDragKeyDown&&this._deselectMultiDrag(),P(T,h.selectedClass,!~v.indexOf(T)),~v.indexOf(T))v.splice(v.indexOf(T),1),Yt=null,Qt({sortable:r,rootEl:o,name:"deselect",targetEl:T,originalEvent:n});else{if(v.push(T),Qt({sortable:r,rootEl:o,name:"select",targetEl:T,originalEvent:n}),n.shiftKey&&Yt&&r.el.contains(Yt)){var x=O(Yt),E=O(T);~x&&~E&&x!==E&&function(){var C,k;E>x?(k=x,C=E):(k=E,C=x+1);for(var R=h.filter;k<C;k++)if(!~v.indexOf(f[k])&&z(f[k],h.draggable,s,!1)){var rt=R&&(typeof R=="function"?R.call(r,n,f[k],r):R.split(",").some(function(J){return z(f[k],J.trim(),s,!1)}));rt||(P(f[k],h.selectedClass,!0),v.push(f[k]),Qt({sortable:r,rootEl:o,name:"select",targetEl:f[k],originalEvent:n}))}}()}else Yt=T;Q=u}if(Pt&&this.isMultiDrag){if(j=!1,(s[_].options.sort||s!==o)&&v.length>1){var L=$(T),N=O(T,":not(."+this.options.selectedClass+")");if(!Jt&&h.animation&&(T.thisAnimationDuration=null),u.captureAnimationState(),!Jt&&(h.animation&&(T.fromRect=L,v.forEach(function(C){if(C.thisAnimationDuration=null,C!==T){var k=j?$(C):L;C.fromRect=k,u.addAnimationState({target:C,rect:k})}})),Ae(),v.forEach(function(C){f[N]?s.insertBefore(C,f[N]):s.appendChild(C),N++}),l===O(T))){var Y=!1;v.forEach(function(C){if(C.sortableIndex!==O(C)){Y=!0;return}}),Y&&(a("update"),a("sort"))}v.forEach(function(C){ln(C)}),u.animateAll()}Q=u}(o===s||c&&c.lastPutMode!=="clone")&&X.forEach(function(C){C.parentNode&&C.parentNode.removeChild(C)})}},nullingGlobal:function(){this.isMultiDrag=Pt=!1,X.length=0},destroyGlobal:function(){this._deselectMultiDrag(),w(document,"pointerup",this._deselectMultiDrag),w(document,"mouseup",this._deselectMultiDrag),w(document,"touchend",this._deselectMultiDrag),w(document,"keydown",this._checkKeyDown),w(document,"keyup",this._checkKeyUp)},_deselectMultiDrag:function(e){if(!(typeof Pt<"u"&&Pt)&&Q===this.sortable&&!(e&&z(e.target,this.options.draggable,this.sortable.el,!1))&&!(e&&e.button!==0))for(;v.length;){var n=v[0];P(n,this.options.selectedClass,!1),v.shift(),Qt({sortable:this.sortable,rootEl:this.sortable.el,name:"deselect",targetEl:n,originalEvent:e})}},_checkKeyDown:function(e){e.key===this.options.multiDragKey&&(this.multiDragKeyDown=!0)},_checkKeyUp:function(e){e.key===this.options.multiDragKey&&(this.multiDragKeyDown=!1)}},tt(i,{pluginName:"multiDrag",utils:{select:function(e){var n=e.parentNode[_];!n||!n.options.multiDrag||~v.indexOf(e)||(Q&&Q!==n&&(Q.multiDrag._deselectMultiDrag(),Q=n),P(e,n.options.selectedClass,!0),v.push(e))},deselect:function(e){var n=e.parentNode[_],o=v.indexOf(e);!n||!n.options.multiDrag||!~o||(P(e,n.options.selectedClass,!1),v.splice(o,1))}},eventProperties:function(){var e=this,n=[],o=[];return v.forEach(function(s){n.push({multiDragElement:s,index:s.sortableIndex});var r;j&&s!==T?r=-1:j?r=O(s,":not(."+e.options.selectedClass+")"):r=O(s),o.push({multiDragElement:s,index:r})}),{items:ks(v),clones:[].concat(X),oldIndicies:n,newIndicies:o}},optionListeners:{multiDragKey:function(e){return e=e.toLowerCase(),e==="ctrl"?e="Control":e.length>1&&(e=e.charAt(0).toUpperCase()+e.substr(1)),e}}})}function Zs(i,t){v.forEach(function(e,n){var o=t.children[e.sortableIndex+(i?Number(n):0)];o?t.insertBefore(e,o):t.appendChild(e)})}function uo(i,t){X.forEach(function(e,n){var o=t.children[e.sortableIndex+(i?Number(n):0)];o?t.insertBefore(e,o):t.appendChild(e)})}function Ae(){v.forEach(function(i){i!==T&&i.parentNode&&i.parentNode.removeChild(i)})}g.mount(new Js);g.mount(kn,Ln);var dt=g;var To={name(i,t){let e=i.getAttribute("data-name").trim().toLowerCase(),n=t.getAttribute("data-name").trim().toLowerCase();return e.localeCompare(n)},created(i,t){let e=Number(i.getAttribute("data-created"));return Number(t.getAttribute("data-created"))-e},updated(i,t){let e=Number(i.getAttribute("data-updated"));return Number(t.getAttribute("data-updated"))-e},chaptersFirst(i,t){let e=i.getAttribute("data-type"),n=t.getAttribute("data-type");return e===n?0:e==="chapter"?-1:1},chaptersLast(i,t){let e=i.getAttribute("data-type"),n=t.getAttribute("data-type");return e===n?0:e==="chapter"?1:-1}},$o={up:{active(i,t){return!(i.previousElementSibling===null&&!t)},run(i,t){(i.previousElementSibling||t).insertAdjacentElement("beforebegin",i)}},down:{active(i,t){return!(i.nextElementSibling===null&&!t)},run(i,t){(i.nextElementSibling||t).insertAdjacentElement("afterend",i)}},next_book:{active(i,t,e){return e.nextElementSibling!==null},run(i,t,e){e.nextElementSibling.querySelector("ul").prepend(i)}},prev_book:{active(i,t,e){return e.previousElementSibling!==null},run(i,t,e){e.previousElementSibling.querySelector("ul").appendChild(i)}},next_chapter:{active(i,t){return i.dataset.type==="page"&&this.getNextChapter(i,t)},run(i,t){this.getNextChapter(i,t).querySelector("ul").prepend(i)},getNextChapter(i,t){let e=t||i,n=Array.from(e.parentElement.children),o=n.indexOf(e);return n.slice(o+1).find(s=>s.dataset.type==="chapter")}},prev_chapter:{active(i,t){return i.dataset.type==="page"&&this.getPrevChapter(i,t)},run(i,t){this.getPrevChapter(i,t).querySelector("ul").append(i)},getPrevChapter(i,t){let e=t||i,n=Array.from(e.parentElement.children),o=n.indexOf(e);return n.slice(0,o).reverse().find(s=>s.dataset.type==="chapter")}},book_end:{active(i,t){return t||t===null&&i.nextElementSibling},run(i,t,e){e.querySelector("ul").append(i)}},book_start:{active(i,t){return t||t===null&&i.previousElementSibling},run(i,t,e){e.querySelector("ul").prepend(i)}},before_chapter:{active(i,t){return t},run(i,t){t.insertAdjacentElement("beforebegin",i)}},after_chapter:{active(i,t){return t},run(i,t){t.insertAdjacentElement("afterend",i)}}},Ue=class extends d{setup(){this.container=this.$el,this.sortContainer=this.$refs.sortContainer,this.input=this.$refs.input,dt.mount(new ko);let t=this.container.querySelector(".sort-box");this.setupBookSortable(t),this.setupSortPresets(),this.setupMoveActions(),window.$events.listen("entity-select-change",this.bookSelect.bind(this))}setupMoveActions(){this.container.addEventListener("click",t=>{if(t.target.matches("[data-move]")){let e=t.target.getAttribute("data-move"),n=t.target.closest("[data-id]");this.runSortAction(n,e)}}),this.updateMoveActionStateForAll()}setupSortPresets(){let t="",e=!1,n=["name","created","updated"];this.sortContainer.addEventListener("click",o=>{let s=o.target.closest(".sort-box-options [data-sort]");if(!s)return;o.preventDefault();let r=s.closest(".sort-box").querySelectorAll("ul"),a=s.getAttribute("data-sort");e=t===a?!e:!1;let l=To[a];e&&n.includes(a)&&(l=function(u,h){return 0-To[a](u,h)});for(let c of r)Array.from(c.children).filter(h=>h.matches("li")).sort(l).forEach(h=>{c.appendChild(h)});t=a,this.updateMapInput()})}bookSelect(t){if(this.container.querySelector(`[data-type="book"][data-id="${t.id}"]`)!==null)return;let n=`${t.link}/sort-item`;window.$http.get(n).then(o=>{let s=nt(o.data);this.sortContainer.append(s),this.setupBookSortable(s),this.updateMoveActionStateForAll(),s.querySelector("summary").focus()})}setupBookSortable(t){let e=Array.from(t.querySelectorAll(".sort-list, .sortable-page-sublist")),n={name:"book",pull:["book","chapter"],put:["book","chapter"]},o={name:"chapter",pull:["book","chapter"],put(s,r,a){return a.getAttribute("data-type")==="page"}};for(let s of e)dt.create(s,{group:s.classList.contains("sort-list")?n:o,animation:150,fallbackOnBody:!0,swapThreshold:.65,onSort:()=>{this.ensureNoNestedChapters(),this.updateMapInput(),this.updateMoveActionStateForAll()},dragClass:"bg-white",ghostClass:"primary-background-light",multiDrag:!0,multiDragKey:"Control",selectedClass:"sortable-selected"})}ensureNoNestedChapters(){let t=this.container.querySelectorAll('[data-type="chapter"] [data-type="chapter"]');for(let e of t)e.parentElement.closest('[data-type="chapter"]').insertAdjacentElement("afterend",e)}updateMapInput(){let t=this.buildEntityMap();this.input.value=JSON.stringify(t)}buildEntityMap(){let t=[],e=this.container.querySelectorAll(".sort-list");for(let n of e){let o=n.closest('[data-type="book"]').getAttribute("data-id"),s=Array.from(n.children).filter(r=>r.matches('[data-type="page"], [data-type="chapter"]'));for(let r=0;r<s.length;r++)this.addBookChildToMap(s[r],r,o,t)}return t}addBookChildToMap(t,e,n,o){let s=t.getAttribute("data-type"),r=!1,a=t.getAttribute("data-id");o.push({id:a,sort:e,parentChapter:r,type:s,book:n});let l=t.querySelectorAll('[data-type="page"]');for(let c=0;c<l.length;c++)o.push({id:l[c].getAttribute("data-id"),sort:c,parentChapter:a,type:"page",book:n})}runSortAction(t,e){let n=t.parentElement.closest("li[data-id]"),o=t.parentElement.closest('[data-type="book"]');$o[e].run(t,n,o),this.updateMapInput(),this.updateMoveActionStateForAll(),t.scrollIntoView({behavior:"smooth",block:"nearest"}),t.focus()}updateMoveActionState(t){let e=t.parentElement.closest("li[data-id]"),n=t.parentElement.closest('[data-type="book"]');for(let[o,s]of Object.entries($o)){let r=t.querySelector(`[data-move="${o}"]`);r.disabled=!s.active(t,e,n)}}updateMoveActionStateForAll(){let t=this.container.querySelectorAll('[data-type="chapter"],[data-type="page"]');for(let e of t)this.updateMoveActionState(e)}};var Ve=new WeakMap;function de(i,t,e=400,n=null){let o=Object.keys(t);for(let r of o)i.style.setProperty(r,t[r][0]);let s=()=>{for(let r of o)i.style.removeProperty(r);i.style.removeProperty("transition"),i.removeEventListener("transitionend",s),Ve.delete(i),n&&n()};setTimeout(()=>{i.style.transition=`all ease-in-out ${e}ms`;for(let r of o)i.style.setProperty(r,t[r][1]);i.addEventListener("transitionend",s),Ve.set(i,s)},15)}function he(i){Ve.has(i)&&Ve.get(i)()}function Do(i,t=400,e=null){he(i),i.style.display="block",de(i,{opacity:["0","1"]},t,()=>{e&&e()})}function Ao(i,t=400,e=null){he(i),de(i,{opacity:["1","0"]},t,()=>{i.style.display="none",e&&e()})}function _t(i,t=400){he(i);let e=i.getBoundingClientRect().height,n=getComputedStyle(i),o=n.getPropertyValue("padding-top"),s=n.getPropertyValue("padding-bottom"),r={"max-height":[`${e}px`,"0px"],overflow:["hidden","hidden"],"padding-top":[o,"0px"],"padding-bottom":[s,"0px"]};de(i,r,t,()=>{i.style.display="none"})}function Ft(i,t=400){he(i),i.style.display="block";let e=i.getBoundingClientRect().height,n=getComputedStyle(i),o=n.getPropertyValue("padding-top"),s=n.getPropertyValue("padding-bottom"),r={"max-height":["0px",`${e}px`],overflow:["hidden","hidden"],"padding-top":["0px",o],"padding-bottom":["0px",s]};de(i,r,t)}function Io(i,t=400){let e=i.getBoundingClientRect().height,n=getComputedStyle(i),o=n.getPropertyValue("padding-top"),s=n.getPropertyValue("padding-bottom");return()=>{he(i);let r=i.getBoundingClientRect().height,a=getComputedStyle(i),l=a.getPropertyValue("padding-top"),c=a.getPropertyValue("padding-bottom"),u={height:[`${e}px`,`${r}px`],overflow:["hidden","hidden"],"padding-top":[o,l],"padding-bottom":[s,c]};de(i,u,t)}}var je=class extends d{setup(){this.list=this.$refs.list,this.toggle=this.$refs.toggle,this.isOpen=this.toggle.classList.contains("open"),this.toggle.addEventListener("click",this.click.bind(this))}open(){this.toggle.classList.add("open"),this.toggle.setAttribute("aria-expanded","true"),Ft(this.list,180),this.isOpen=!0}close(){this.toggle.classList.remove("open"),this.toggle.setAttribute("aria-expanded","false"),_t(this.list,180),this.isOpen=!1}click(t){t.preventDefault(),this.isOpen?this.close():this.open()}};var ze=class extends d{constructor(){super(...arguments);U(this,"editor",null);U(this,"saveCallback",null);U(this,"cancelCallback",null);U(this,"history",{});U(this,"historyKey","code_history")}setup(){this.container=this.$refs.container,this.popup=this.$el,this.editorInput=this.$refs.editor,this.languageButtons=this.$manyRefs.languageButton,this.languageOptionsContainer=this.$refs.languageOptionsContainer,this.saveButton=this.$refs.saveButton,this.languageInput=this.$refs.languageInput,this.historyDropDown=this.$refs.historyDropDown,this.historyList=this.$refs.historyList,this.favourites=new Set(this.$opts.favourites.split(",")),this.setupListeners(),this.setupFavourites()}setupListeners(){this.container.addEventListener("keydown",e=>{e.ctrlKey&&e.key==="Enter"&&this.save()}),S(this.languageButtons,e=>{let n=e.target.dataset.lang;this.languageInput.value=n,this.languageInputChange(n)}),Dt(this.languageInput,()=>this.save()),this.languageInput.addEventListener("input",()=>this.languageInputChange(this.languageInput.value)),S(this.saveButton,()=>this.save()),I(this.historyList,"button","click",(e,n)=>{e.preventDefault();let o=n.dataset.time;this.editor&&this.editor.setContent(this.history[o])})}setupFavourites(){for(let e of this.languageButtons)this.setupFavouritesForButton(e);this.sortLanguageList()}setupFavouritesForButton(e){let n=e.dataset.lang,o=this.favourites.has(n);e.setAttribute("data-favourite",o?"true":"false"),I(e.parentElement,".lang-option-favorite-toggle","click",()=>{o=!o,o?this.favourites.add(n):this.favourites.delete(n),e.setAttribute("data-favourite",o?"true":"false"),window.$http.patch("/preferences/update-code-language-favourite",{language:n,active:o}),this.sortLanguageList(),o&&e.scrollIntoView({block:"center",behavior:"smooth"})})}sortLanguageList(){let e=this.languageButtons.sort((n,o)=>{let s=n.dataset.favourite==="true",r=o.dataset.favourite==="true";return s&&!r?-1:r&&!s||n.dataset.lang>o.dataset.lang?1:-1}).map(n=>n.parentElement);for(let n of e)this.languageOptionsContainer.append(n)}save(){this.saveCallback&&this.saveCallback(this.editor.getContent(),this.languageInput.value),this.hide()}async open(e,n,o,s,r){this.languageInput.value=n,this.saveCallback=s,this.cancelCallback=r,await this.show(),this.languageInputChange(n),this.editor.setContent(e),this.setDirection(o)}async show(){let e=await window.importVersioned("code");this.editor||(this.editor=e.popupEditor(this.editorInput,this.languageInput.value)),this.loadHistory(),this.getPopup().show(()=>{this.editor.focus()},()=>{this.addHistory(),this.cancelCallback&&this.cancelCallback()})}setDirection(e){let n=this.editorInput.parentElement;e?n.setAttribute("dir",e):n.removeAttribute("dir")}hide(){this.getPopup().hide(),this.addHistory()}getPopup(){return window.$components.firstOnElement(this.popup,"popup")}async updateEditorMode(e){this.editor.setMode(e,this.editor.getContent())}languageInputChange(e){this.updateEditorMode(e);let n=e.toLowerCase();for(let o of this.languageButtons){let s=o.dataset.lang.toLowerCase().trim(),r=n===s;o.classList.toggle("active",r),r&&o.scrollIntoView({block:"center",behavior:"smooth"})}}loadHistory(){this.history=JSON.parse(window.sessionStorage.getItem(this.historyKey)||"{}");let e=Object.keys(this.history).reverse();this.historyDropDown.classList.toggle("hidden",e.length===0),this.historyList.innerHTML=e.map(n=>{let o=new Date(parseInt(n,10)).toLocaleTimeString();return`<li><button type="button" data-time="${n}" class="text-item">${o}</button></li>`}).join("")}addHistory(){if(!this.editor)return;let e=this.editor.getContent();if(!e)return;let n=Object.keys(this.history).pop();if(this.history[n]===e)return;this.history[String(Date.now())]=e;let o=JSON.stringify(this.history);window.sessionStorage.setItem(this.historyKey,o)}};var We=class extends d{setup(){let t=this.$el;t.querySelectorAll("pre").length>0&&window.importVersioned("code").then(n=>{n.highlightWithin(t)})}};var Ke=class extends d{async setup(){let{mode:t}=this.$opts;(await window.importVersioned("code")).inlineEditor(this.$el,t)}};var Xe=class extends d{setup(){this.container=this.$el,this.trigger=this.$refs.trigger,this.content=this.$refs.content,this.trigger&&(this.trigger.addEventListener("click",this.toggle.bind(this)),this.openIfContainsError())}open(){this.container.classList.add("open"),this.trigger.setAttribute("aria-expanded","true"),Ft(this.content,300)}close(){this.container.classList.remove("open"),this.trigger.setAttribute("aria-expanded","false"),_t(this.content,300)}toggle(){this.container.classList.contains("open")?this.close():this.open()}openIfContainsError(){this.content.querySelector(".text-neg.text-small")&&this.open()}};var Ge=class extends d{setup(){this.container=this.$el,this.confirmButton=this.$refs.confirm,this.res=null,S(this.confirmButton,()=>{this.sendResult(!0),this.getPopup().hide()})}show(){return this.getPopup().show(null,()=>{this.sendResult(!1)}),new Promise(t=>{this.res=t})}getPopup(){return window.$components.firstOnElement(this.container,"popup")}sendResult(t){this.res&&(this.res(t),this.res=null)}};var Ye=class extends d{setup(){this.container=this.$el,this.checkbox=this.container.querySelector("input[type=checkbox]"),this.display=this.container.querySelector('[role="checkbox"]'),this.checkbox.addEventListener("change",this.stateChange.bind(this)),this.container.addEventListener("keydown",this.onKeyDown.bind(this))}onKeyDown(t){(t.key===" "||t.key==="Enter")&&(t.preventDefault(),this.toggle())}toggle(){this.checkbox.checked=!this.checkbox.checked,this.checkbox.dispatchEvent(new Event("change")),this.stateChange()}stateChange(){let t=this.checkbox.checked?"true":"false";this.display.setAttribute("aria-checked",t)}};var Je=class extends d{setup(){this.container=this.$el,this.dealtWith=!1,this.container.addEventListener("toggle",this.onToggle.bind(this))}onToggle(){this.dealtWith||(this.container.querySelector("pre")&&window.importVersioned("code").then(t=>{t.highlightWithin(this.container)}),this.dealtWith=!0)}};var Ze=class extends d{setup(){this.container=this.$el,this.menu=this.$refs.menu,this.toggle=this.$refs.toggle,this.moveMenu=this.$opts.moveMenu,this.bubbleEscapes=this.$opts.bubbleEscapes==="true",this.direction=document.dir==="rtl"?"right":"left",this.body=document.body,this.showing=!1,this.hide=this.hide.bind(this),this.setupListeners()}show(t=null){this.hideAll(),this.menu.style.display="block",this.menu.classList.add("anim","menuIn"),this.toggle.setAttribute("aria-expanded","true");let e=this.menu.getBoundingClientRect(),n=0,o=this.toggle.getBoundingClientRect().height,s=e.bottom>window.innerHeight,r=this.container.getBoundingClientRect();if(this.moveMenu&&(this.body.appendChild(this.menu),this.menu.style.position="fixed",this.menu.style.width=`${e.width}px`,this.menu.style.left=`${e.left}px`,s?n=window.innerHeight-e.top-o/2:n=e.top),s){this.menu.style.top="initial",this.menu.style.bottom=`${n}px`;let c=window.innerHeight-40-(window.innerHeight-r.bottom);this.menu.style.maxHeight=`${Math.floor(c)}px`}else{this.menu.style.top=`${n}px`,this.menu.style.bottom="initial";let c=window.innerHeight-40-r.top;this.menu.style.maxHeight=`${Math.floor(c)}px`}this.menu.addEventListener("mouseleave",this.hide),window.addEventListener("click",c=>{this.menu.contains(c.target)||this.hide()});let a=this.menu.querySelector("input");a!==null&&a.focus(),this.showing=!0;let l=new Event("show");this.container.dispatchEvent(l),t&&t.stopPropagation()}hideAll(){for(let t of window.$components.get("dropdown"))t.hide()}hide(){this.menu.style.display="none",this.menu.classList.remove("anim","menuIn"),this.toggle.setAttribute("aria-expanded","false"),this.menu.style.top="",this.menu.style.bottom="",this.menu.style.maxHeight="",this.moveMenu&&(this.menu.style.position="",this.menu.style[this.direction]="",this.menu.style.width="",this.menu.style.left="",this.container.appendChild(this.menu)),this.showing=!1}setupListeners(){let t=new mt(this.container,e=>{this.hide(),this.toggle.focus(),this.bubbleEscapes||e.stopPropagation()},e=>{e.target.nodeName==="INPUT"&&(e.preventDefault(),e.stopPropagation()),this.hide()});this.moveMenu&&t.shareHandlingToEl(this.menu),this.container.addEventListener("click",e=>{Array.from(this.menu.querySelectorAll("a")).includes(e.target)&&this.hide()}),S(this.toggle,e=>{e.stopPropagation(),e.preventDefault(),this.show(e),e instanceof KeyboardEvent&&t.focusNext()})}};var Qe=class extends d{setup(){this.elem=this.$el,this.searchInput=this.$refs.searchInput,this.loadingElem=this.$refs.loading,this.listContainerElem=this.$refs.listContainer,this.localSearchSelector=this.$opts.localSearchSelector,this.url=this.$opts.url,this.elem.addEventListener("show",this.onShow.bind(this)),this.searchInput.addEventListener("input",this.onSearch.bind(this)),this.runAjaxSearch=It(this.runAjaxSearch,300,!1)}onShow(){this.loadList()}onSearch(){let t=this.searchInput.value.toLowerCase().trim();this.localSearchSelector?this.runLocalSearch(t):(this.toggleLoading(!0),this.listContainerElem.innerHTML="",this.runAjaxSearch(t))}runAjaxSearch(t){this.loadList(t)}runLocalSearch(t){let e=this.listContainerElem.querySelectorAll(this.localSearchSelector);for(let n of e){let o=!t||n.textContent.toLowerCase().includes(t);n.style.display=o?"flex":"none",n.classList.toggle("hidden",!o)}}async loadList(t=""){this.listContainerElem.innerHTML="",this.toggleLoading(!0);try{let e=await window.$http.get(this.getAjaxUrl(t)),n=Io(this.listContainerElem,80);this.listContainerElem.innerHTML=e.data,n()}catch(e){console.error(e)}this.toggleLoading(!1),this.localSearchSelector&&this.onSearch()}getAjaxUrl(t=null){if(!t)return this.url;let e=this.url.includes("?")?"&":"?";return`${this.url}${e}search=${encodeURIComponent(t)}`}toggleLoading(t=!1){this.loadingElem.style.display=t?"block":"none"}};var Nt=class{constructor(t){this.data=t}hasItems(){return!!this.data&&!!this.data.types&&this.data.types.length>0}containsTabularData(){let t=this.data.getData("text/rtf");return!!t&&t.includes("\\trowd")}getImages(){return this.getFiles().filter(t=>t.type.includes("image"))}getFiles(){let{files:t}=this.data;return[...t]}};async function Tn(i){if(window.isSecureContext&&navigator.clipboard){await navigator.clipboard.writeText(i);return}let t=document.createElement("textarea");t.setAttribute("style","position: absolute; left: -1000px; top: -1000px;"),t.value=i,document.body.appendChild(t),t.select(),document.execCommand("copy"),document.body.removeChild(t)}var ti=class extends d{setup(){this.container=this.$el,this.statusArea=this.$refs.statusArea,this.dropTarget=this.$refs.dropTarget,this.selectButtons=this.$manyRefs.selectButton||[],this.isActive=!0,this.url=this.$opts.url,this.method=(this.$opts.method||"post").toUpperCase(),this.successMessage=this.$opts.successMessage,this.errorMessage=this.$opts.errorMessage,this.uploadLimitMb=Number(this.$opts.uploadLimit),this.uploadLimitMessage=this.$opts.uploadLimitMessage,this.zoneText=this.$opts.zoneText,this.fileAcceptTypes=this.$opts.fileAccept,this.allowMultiple=this.$opts.allowMultiple==="true",this.setupListeners()}toggleActive(t){this.isActive=t}setupListeners(){S(this.selectButtons,this.manualSelectHandler.bind(this)),this.setupDropTargetHandlers()}setupDropTargetHandlers(){let t=0,e=()=>{this.hideOverlay(),t=0};this.dropTarget.addEventListener("dragenter",n=>{n.preventDefault(),t+=1,t===1&&this.isActive&&this.showOverlay()}),this.dropTarget.addEventListener("dragover",n=>{n.preventDefault()}),this.dropTarget.addEventListener("dragend",e),this.dropTarget.addEventListener("dragleave",()=>{t-=1,t===0&&e()}),this.dropTarget.addEventListener("drop",n=>{if(n.preventDefault(),e(),!this.isActive)return;let s=new Nt(n.dataTransfer).getFiles();for(let r of s)this.createUploadFromFile(r)})}manualSelectHandler(){let t=it("input",{type:"file",style:"left: -400px; visibility: hidden; position: fixed;",accept:this.fileAcceptTypes,multiple:this.allowMultiple?"":null});this.container.append(t),t.click(),t.addEventListener("change",()=>{for(let e of t.files)this.createUploadFromFile(e);t.remove()})}showOverlay(){if(!this.dropTarget.querySelector(".dropzone-overlay")){let e=it("div",{class:"dropzone-overlay"},[this.zoneText]);this.dropTarget.append(e)}}hideOverlay(){let t=this.dropTarget.querySelector(".dropzone-overlay");t&&t.remove()}createUploadFromFile(t){let{dom:e,status:n,progress:o,dismiss:s}=this.createDomForFile(t);this.statusArea.append(e);let r=this,a={file:t,dom:e,updateProgress(l){o.textContent=`${l}%`,o.style.width=`${l}%`},markError(l){n.setAttribute("data-status","error"),n.textContent=l,Gt(e),this.updateProgress(100)},markSuccess(l){n.setAttribute("data-status","success"),n.textContent=l,Gt(e),setTimeout(s,2400),r.$emit("upload-success",{name:t.name})}};return t.size>this.uploadLimitMb*1e6?(a.markError(this.uploadLimitMessage),a):(this.startXhrForUpload(a),a)}startXhrForUpload(t){let e=new FormData;e.append("file",t.file,t.file.name),this.method!=="POST"&&e.append("_method",this.method);let n=this,o=window.$http.createXMLHttpRequest("POST",this.url,{error(){t.markError(n.errorMessage)},readystatechange(){this.readyState===XMLHttpRequest.DONE&&this.status===200?t.markSuccess(n.successMessage):this.readyState===XMLHttpRequest.DONE&&this.status>=400&&t.markError(window.$http.formatErrorResponseText(this.responseText))}});o.upload.addEventListener("progress",s=>{let r=Math.min(Math.ceil(s.loaded/s.total*100),100);t.updateProgress(r)}),o.setRequestHeader("Accept","application/json"),o.send(e)}createDomForFile(t){let e=it("img",{src:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9.224 7.373a.924.924 0 0 0-.92.925l-.006 7.404c0 .509.412.925.921.925h5.557a.928.928 0 0 0 .926-.925v-5.553l-2.777-2.776Zm3.239 3.239V8.067l2.545 2.545z' style='fill:%23000;fill-opacity:.75'/%3E%3C/svg%3E"}),n=it("div",{class:"dropzone-file-item-status"},[]),o=it("div",{class:"dropzone-file-item-progress"}),s=it("div",{class:"dropzone-file-item-image-wrap"},[e]),r=it("div",{class:"dropzone-file-item"},[s,it("div",{class:"dropzone-file-item-text-wrap"},[it("div",{class:"dropzone-file-item-label"},[t.name]),At(),n]),o]);t.type.startsWith("image/")&&(e.src=URL.createObjectURL(t));let a=()=>{r.classList.add("dismiss"),r.addEventListener("animationend",()=>{r.remove()})};return r.addEventListener("click",a),{dom:r,progress:o,status:n,dismiss:a}}};var ei=class extends d{setup(){this.container=this.$el,this.buttons=this.$manyRefs.tabButton,this.contentElements=this.$manyRefs.tabContent,this.toggleButton=this.$refs.toggle,this.editorWrapEl=this.container.closest(".page-editor"),this.setupListeners(),this.setActiveTab(this.contentElements[0].dataset.tabContent)}setupListeners(){this.toggleButton.addEventListener("click",()=>this.toggle()),this.container.addEventListener("click",t=>{let e=t.target.closest("button");if(this.buttons.includes(e)){let n=e.dataset.tab;this.setActiveTab(n,!0)}})}toggle(){this.container.classList.toggle("open");let t=this.container.classList.contains("open");this.toggleButton.setAttribute("aria-expanded",t?"true":"false"),this.editorWrapEl.classList.toggle("toolbox-open",t)}setActiveTab(t,e=!1){for(let n of this.buttons)n.classList.remove("active"),n.dataset.tab===t&&n.classList.add("active");for(let n of this.contentElements)n.style.display="none",n.dataset.tabContent===t&&(n.style.display="block");e&&!this.container.classList.contains("open")&&this.toggle()}};var ii=class extends d{setup(){this.container=this.$el,this.entityType=this.$opts.entityType,this.everyoneInheritToggle=this.$refs.everyoneInherit,this.roleSelect=this.$refs.roleSelect,this.roleContainer=this.$refs.roleContainer,this.setupListeners()}setupListeners(){this.everyoneInheritToggle.addEventListener("change",t=>{let e=t.target.checked,n=document.querySelectorAll('input[name^="permissions[0]["]');for(let o of n)o.disabled=e,o.checked=!1}),this.container.addEventListener("click",t=>{let e=t.target.closest("button");e&&e.dataset.roleId&&this.removeRowOnButtonClick(e)}),this.roleSelect.addEventListener("change",()=>{let t=this.roleSelect.value;t&&this.addRoleRow(t)})}async addRoleRow(t){this.roleSelect.disabled=!0;let e=this.roleSelect.querySelector(`option[value="${t}"]`);e&&e.remove();let n=await window.$http.get(`/permissions/form-row/${this.entityType}/${t}`),o=nt(n.data);this.roleContainer.append(o),this.roleSelect.disabled=!1}removeRowOnButtonClick(t){let e=t.closest(".item-list-row"),{roleId:n}=t.dataset,{roleName:o}=t.dataset,s=document.createElement("option");s.value=n,s.textContent=o,this.roleSelect.append(s),e.remove()}};var ni=class extends d{setup(){this.entityId=this.$opts.entityId,this.entityType=this.$opts.entityType,this.contentView=this.$refs.contentView,this.searchView=this.$refs.searchView,this.searchResults=this.$refs.searchResults,this.searchInput=this.$refs.searchInput,this.searchForm=this.$refs.searchForm,this.clearButton=this.$refs.clearButton,this.loadingBlock=this.$refs.loadingBlock,this.setupListeners()}setupListeners(){this.searchInput.addEventListener("change",this.runSearch.bind(this)),this.searchForm.addEventListener("submit",t=>{t.preventDefault(),this.runSearch()}),S(this.clearButton,this.clearSearch.bind(this))}runSearch(){let t=this.searchInput.value.trim();if(t.length===0){this.clearSearch();return}this.searchView.classList.remove("hidden"),this.contentView.classList.add("hidden"),this.loadingBlock.classList.remove("hidden");let e=window.baseUrl(`/search/${this.entityType}/${this.entityId}`);window.$http.get(e,{term:t}).then(n=>{this.searchResults.innerHTML=n.data}).catch(console.error).then(()=>{this.loadingBlock.classList.add("hidden")})}clearSearch(){this.searchView.classList.add("hidden"),this.contentView.classList.remove("hidden"),this.loadingBlock.classList.add("hidden"),this.searchInput.value=""}};var oi=class extends d{setup(){this.elem=this.$el,this.input=this.$refs.input,this.searchInput=this.$refs.search,this.loading=this.$refs.loading,this.resultsContainer=this.$refs.results,this.searchOptions={entityTypes:this.$opts.entityTypes||"page,book,chapter",entityPermission:this.$opts.entityPermission||"view",searchEndpoint:this.$opts.searchEndpoint||"",initialValue:this.searchInput.value||""},this.search="",this.lastClick=0,this.setupListeners(),this.showLoading(),this.searchOptions.searchEndpoint&&this.initialLoad()}configureSearchOptions(t){Object.assign(this.searchOptions,t),this.reset(),this.searchInput.value=this.searchOptions.initialValue}setupListeners(){this.elem.addEventListener("click",this.onClick.bind(this));let t=0;this.searchInput.addEventListener("input",()=>{t=Date.now(),this.showLoading(),setTimeout(()=>{Date.now()-t<199||this.searchEntities(this.searchInput.value)},200)}),this.searchInput.addEventListener("keydown",e=>{e.keyCode===13&&e.preventDefault()}),I(this.$el,"[data-entity-type]","keydown",e=>{if(e.ctrlKey&&e.code==="Enter"){let n=this.$el.closest("form");if(n){n.submit(),e.preventDefault();return}}e.code==="ArrowDown"&&this.focusAdjacent(!0),e.code==="ArrowUp"&&this.focusAdjacent(!1)}),this.searchInput.addEventListener("keydown",e=>{e.code==="ArrowDown"&&this.focusAdjacent(!0)})}focusAdjacent(t=!0){let e=Array.from(this.resultsContainer.querySelectorAll("[data-entity-type]")),n=e.indexOf(document.activeElement),o=e[n+(t?1:-1)]||e[0];o&&o.focus()}reset(){this.searchInput.value="",this.showLoading(),this.initialLoad()}focusSearch(){this.searchInput.focus()}showLoading(){this.loading.style.display="block",this.resultsContainer.style.display="none"}hideLoading(){this.loading.style.display="none",this.resultsContainer.style.display="block"}initialLoad(){if(!this.searchOptions.searchEndpoint)throw new Error("Search endpoint not set for entity-selector load");if(this.searchOptions.initialValue){this.searchEntities(this.searchOptions.initialValue);return}window.$http.get(this.searchUrl()).then(t=>{this.resultsContainer.innerHTML=t.data,this.hideLoading()})}searchUrl(){let t=`types=${encodeURIComponent(this.searchOptions.entityTypes)}&permission=${encodeURIComponent(this.searchOptions.entityPermission)}`;return`${this.searchOptions.searchEndpoint}?${t}`}searchEntities(t){if(!this.searchOptions.searchEndpoint)throw new Error("Search endpoint not set for entity-selector load");this.input.value="";let e=`${this.searchUrl()}&term=${encodeURIComponent(t)}`;window.$http.get(e).then(n=>{this.resultsContainer.innerHTML=n.data,this.hideLoading()})}isDoubleClick(){let t=Date.now(),e=t-this.lastClick<300;return this.lastClick=t,e}onClick(t){let e=t.target.closest("[data-entity-type]");e&&(t.preventDefault(),t.stopPropagation(),this.selectItem(e))}selectItem(t){let e=this.isDoubleClick(),n=t.getAttribute("data-entity-type"),o=t.getAttribute("data-entity-id"),s=!t.classList.contains("selected")||e;this.unselectAll(),this.input.value=s?`${n}:${o}`:"";let r=t.getAttribute("href"),a=t.querySelector(".entity-list-item-name").textContent,l={id:Number(o),name:a,link:r};s?t.classList.add("selected"):window.$events.emit("entity-select-change",null),!(!e&&!s)&&(e&&this.confirmSelection(l),s&&window.$events.emit("entity-select-change",l))}confirmSelection(t){window.$events.emit("entity-select-confirm",t)}unselectAll(){let t=this.elem.querySelectorAll(".selected");for(let e of t)e.classList.remove("selected","primary-background")}};var si=class extends d{setup(){this.container=this.$el,this.selectButton=this.$refs.select,this.selectorEl=this.$refs.selector,this.callback=null,this.selection=null,this.selectButton.addEventListener("click",this.onSelectButtonClick.bind(this)),window.$events.listen("entity-select-change",this.onSelectionChange.bind(this)),window.$events.listen("entity-select-confirm",this.handleConfirmedSelection.bind(this))}show(t,e={}){this.callback=t,this.getSelector().configureSearchOptions(e),this.getPopup().show(),this.getSelector().focusSearch()}hide(){this.getPopup().hide()}getPopup(){return window.$components.firstOnElement(this.container,"popup")}getSelector(){return window.$components.firstOnElement(this.selectorEl,"entity-selector")}onSelectButtonClick(){this.handleConfirmedSelection(this.selection)}onSelectionChange(t){this.selection=t,t===null?this.selectButton.setAttribute("disabled","true"):this.selectButton.removeAttribute("disabled")}handleConfirmedSelection(t){this.hide(),this.getSelector().reset(),this.callback&&t&&this.callback(t)}};var ri=class extends d{setup(){this.container=this.$el,this.name=this.$opts.name,S(this.$el,()=>{this.$emit(this.name,this.$opts)})}};var ai=class extends d{setup(){this.targetSelector=this.$opts.targetSelector,this.isOpen=this.$opts.isOpen==="true",this.updateEndpoint=this.$opts.updateEndpoint,this.$el.addEventListener("click",this.click.bind(this))}open(t){Ft(t,200)}close(t){_t(t,200)}click(t){t.preventDefault();let e=document.querySelectorAll(this.targetSelector);for(let n of e)(this.isOpen?this.close:this.open)(n);this.isOpen=!this.isOpen,this.updateSystemAjax(this.isOpen)}updateSystemAjax(t){window.$http.patch(this.updateEndpoint,{expand:t?"true":"false"})}};var li=class extends d{setup(){this.container=this.$el,this.input=this.$refs.input,this.suggestions=this.$refs.suggestions,this.suggestionResultsWrap=this.$refs.suggestionResults,this.loadingWrap=this.$refs.loading,this.button=this.$refs.button,this.setupListeners()}setupListeners(){let t=It(this.updateSuggestions.bind(this),200,!1);this.input.addEventListener("input",()=>{let{value:e}=this.input;e.length>0?(this.loadingWrap.style.display="block",this.suggestionResultsWrap.style.opacity="0.5",t(e)):this.hideSuggestions()}),this.input.addEventListener("dblclick",()=>{this.input.setAttribute("autocomplete","on"),this.button.focus(),this.input.focus()}),new mt(this.container,()=>{this.hideSuggestions()})}async updateSuggestions(t){let{data:e}=await window.$http.get("/search/suggest",{term:t});if(!this.input.value)return;let n=nt(e);this.suggestionResultsWrap.innerHTML="",this.suggestionResultsWrap.style.opacity="1",this.loadingWrap.style.display="none",this.suggestionResultsWrap.append(n),this.container.classList.contains("search-active")||this.showSuggestions()}showSuggestions(){this.container.classList.add("search-active"),window.requestAnimationFrame(()=>{this.suggestions.classList.add("search-suggestions-animation")})}hideSuggestions(){this.container.classList.remove("search-active"),this.suggestions.classList.remove("search-suggestions-animation"),this.suggestionResultsWrap.innerHTML=""}};var ci=class extends d{setup(){this.elem=this.$el,this.toggleButton=this.$refs.toggle,this.menu=this.$refs.menu,this.open=!1,this.toggleButton.addEventListener("click",this.onToggle.bind(this)),this.onWindowClick=this.onWindowClick.bind(this),this.onKeyDown=this.onKeyDown.bind(this)}onToggle(t){this.open=!this.open,this.menu.classList.toggle("show",this.open),this.toggleButton.setAttribute("aria-expanded",this.open?"true":"false"),this.open?(this.elem.addEventListener("keydown",this.onKeyDown),window.addEventListener("click",this.onWindowClick)):(this.elem.removeEventListener("keydown",this.onKeyDown),window.removeEventListener("click",this.onWindowClick)),t.stopPropagation()}onKeyDown(t){t.code==="Escape"&&this.onToggle(t)}onWindowClick(t){this.onToggle(t)}};var di=class extends d{setup(){this.uploadedTo=this.$opts.uploadedTo,this.container=this.$el,this.popupEl=this.$refs.popup,this.searchForm=this.$refs.searchForm,this.searchInput=this.$refs.searchInput,this.cancelSearch=this.$refs.cancelSearch,this.listContainer=this.$refs.listContainer,this.filterTabs=this.$manyRefs.filterTabs,this.selectButton=this.$refs.selectButton,this.uploadButton=this.$refs.uploadButton,this.uploadHint=this.$refs.uploadHint,this.formContainer=this.$refs.formContainer,this.formContainerPlaceholder=this.$refs.formContainerPlaceholder,this.dropzoneContainer=this.$refs.dropzoneContainer,this.loadMore=this.$refs.loadMore,this.type="gallery",this.lastSelected={},this.lastSelectedTime=0,this.callback=null,this.resetState=()=>{this.hasData=!1,this.page=1,this.filter="all"},this.resetState(),this.setupListeners()}setupListeners(){S(this.filterTabs,n=>{this.resetAll(),this.filter=n.target.dataset.filter,this.setActiveFilterTab(this.filter),this.loadGallery()}),this.searchForm.addEventListener("submit",n=>{this.resetListView(),this.loadGallery(),this.cancelSearch.toggleAttribute("hidden",!this.searchInput.value),n.preventDefault()}),S(this.cancelSearch,()=>{this.resetListView(),this.resetSearchView(),this.loadGallery()}),I(this.container,".load-more button","click",this.runLoadMore.bind(this)),this.listContainer.addEventListener("event-emit-select-image",this.onImageSelectEvent.bind(this)),this.listContainer.addEventListener("error",n=>{n.target.src=window.baseUrl("loading_error.png")},!0),S(this.selectButton,()=>{this.callback&&this.callback(this.lastSelected),this.hide()}),I(this.formContainer,"#image-manager-delete","click",()=>{this.lastSelected&&this.loadImageEditForm(this.lastSelected.id,!0)}),I(this.formContainer,"#image-manager-rebuild-thumbs","click",async(n,o)=>{o.disabled=!0,this.lastSelected&&await this.rebuildThumbnails(this.lastSelected.id),o.disabled=!1}),this.formContainer.addEventListener("ajax-form-success",()=>{this.refreshGallery(),this.resetEditForm()}),this.container.addEventListener("dropzone-upload-success",this.refreshGallery.bind(this));let t=this.listContainer.parentElement,e=[];t.addEventListener("wheel",n=>{if(!(Math.ceil(t.scrollHeight-t.scrollTop)===t.clientHeight)||n.deltaY<1)return;let r=Date.now()-1e3;e.push(Date.now()),e=e.filter(a=>a>=r),e.length>5&&this.canLoadMore()&&this.runLoadMore()})}show(t,e="gallery"){this.resetAll(),this.callback=t,this.type=e,this.getPopup().show();let n=e!=="gallery";this.dropzoneContainer.classList.toggle("hidden",n),this.uploadButton.classList.toggle("hidden",n),this.uploadHint.classList.toggle("hidden",n),window.$components.firstOnElement(this.container,"dropzone").toggleActive(!n),this.hasData||(this.loadGallery(),this.hasData=!0)}hide(){this.getPopup().hide()}getPopup(){return window.$components.firstOnElement(this.popupEl,"popup")}async loadGallery(){let t={page:this.page,search:this.searchInput.value||null,uploaded_to:this.uploadedTo,filter_type:this.filter==="all"?null:this.filter},{data:e}=await window.$http.get(`images/${this.type}`,t);t.page===1&&(this.listContainer.innerHTML=""),this.addReturnedHtmlElementsToList(e),Gt(this.listContainer)}addReturnedHtmlElementsToList(t){let e=document.createElement("div");e.innerHTML=t;let n=e.querySelector(".load-more");n&&(n.remove(),this.loadMore.innerHTML=n.innerHTML),this.loadMore.toggleAttribute("hidden",!n),window.$components.init(e);for(let o of[...e.children])this.listContainer.appendChild(o)}setActiveFilterTab(t){for(let e of this.filterTabs){let n=e.dataset.filter===t;e.setAttribute("aria-selected",n?"true":"false")}}resetAll(){this.resetState(),this.resetListView(),this.resetSearchView(),this.resetEditForm(),this.setActiveFilterTab("all"),this.selectButton.classList.add("hidden")}resetSearchView(){this.searchInput.value="",this.cancelSearch.toggleAttribute("hidden",!0)}resetEditForm(){this.formContainer.innerHTML="",this.formContainerPlaceholder.removeAttribute("hidden")}resetListView(){Et(this.listContainer),this.page=1}refreshGallery(){this.resetListView(),this.loadGallery()}async onImageSelectEvent(t){let e=JSON.parse(t.detail.data),n=e&&e.id===this.lastSelected.id&&Date.now()-this.lastSelectedTime<400,o=t.target.classList.contains("selected");[...this.listContainer.querySelectorAll(".selected")].forEach(s=>{s.classList.remove("selected")}),!o&&!n?(t.target.classList.add("selected"),e=await this.loadImageEditForm(e.id)):n?n&&(e=this.lastSelected):this.resetEditForm(),this.selectButton.classList.toggle("hidden",o),n&&this.callback&&(this.callback(e),this.hide()),this.lastSelected=e,this.lastSelectedTime=Date.now()}async loadImageEditForm(t,e=!1){e||(this.formContainer.innerHTML="");let n=e?{delete:!0}:{},{data:o}=await window.$http.get(`/images/edit/${t}`,n);this.formContainer.innerHTML=o,this.formContainerPlaceholder.setAttribute("hidden",""),window.$components.init(this.formContainer);let s=this.formContainer.querySelector("#image-manager-form-image-data");return JSON.parse(s.text)}runLoadMore(){Et(this.loadMore),this.page+=1,this.loadGallery()}canLoadMore(){return this.loadMore.querySelector("button")&&!this.loadMore.hasAttribute("hidden")}async rebuildThumbnails(t){try{let e=await window.$http.put(`/images/${t}/rebuild-thumbnails`);window.$events.success(e.data),this.refreshGallery()}catch(e){window.$events.showResponseError(e)}}};var hi=class extends d{setup(){this.imageElem=this.$refs.image,this.imageInput=this.$refs.imageInput,this.resetInput=this.$refs.resetInput,this.removeInput=this.$refs.removeInput,this.resetButton=this.$refs.resetButton,this.removeButton=this.$refs.removeButton||null,this.defaultImage=this.$opts.defaultImage,this.setupListeners()}setupListeners(){this.resetButton.addEventListener("click",this.reset.bind(this)),this.removeButton&&this.removeButton.addEventListener("click",this.removeImage.bind(this)),this.imageInput.addEventListener("change",this.fileInputChange.bind(this))}fileInputChange(){this.resetInput.setAttribute("disabled","disabled"),this.removeInput&&this.removeInput.setAttribute("disabled","disabled");for(let t of this.imageInput.files)this.imageElem.src=window.URL.createObjectURL(t);this.imageElem.classList.remove("none")}reset(){this.imageInput.value="",this.imageElem.src=this.defaultImage,this.resetInput.removeAttribute("disabled"),this.removeInput&&this.removeInput.setAttribute("disabled","disabled"),this.imageElem.classList.remove("none")}removeImage(){this.imageInput.value="",this.imageElem.classList.add("none"),this.removeInput.removeAttribute("disabled"),this.resetInput.setAttribute("disabled","disabled")}};var ui=class extends d{setup(){this.elem=this.$el,this.menu=this.$refs.menu,this.sortInput=this.$refs.sort,this.orderInput=this.$refs.order,this.form=this.$refs.form,this.setupListeners()}setupListeners(){this.menu.addEventListener("click",t=>{t.target.closest("[data-sort-value]")!==null&&this.sortOptionClick(t)}),this.elem.addEventListener("click",t=>{t.target.closest("[data-sort-dir]")!==null&&this.sortDirectionClick(t)})}sortOptionClick(t){let e=t.target.closest("[data-sort-value]");this.sortInput.value=e.getAttribute("data-sort-value"),t.preventDefault(),this.form.submit()}sortDirectionClick(t){let e=this.orderInput.value;this.orderInput.value=e==="asc"?"desc":"asc",t.preventDefault(),this.form.submit()}};function Mo(i,t={},e=[]){let n=document.createElement(i),o=Object.keys(t);for(let s of o)t[s]!==null&&n.setAttribute(s,t[s]);for(let s of e)typeof s=="string"?n.append(document.createTextNode(s)):n.append(s);return n}var pi=class extends d{constructor(){super(...arguments);this.loadingEl=null}setup(){this.button=this.$el;let e=this.button.form,n=()=>{setTimeout(()=>this.showLoadingState(),10)};this.button.addEventListener("click",n),e&&e.addEventListener("submit",n)}showLoadingState(){this.button.disabled=!0,this.loadingEl||(this.loadingEl=Mo("div",{class:"inline block"}),Et(this.loadingEl),this.button.after(this.loadingEl))}};var mi=class extends d{setup(){this.elem=this.$el,this.pageId=this.$opts.pageId,this.textDirection=this.$opts.textDirection,this.imageUploadErrorText=this.$opts.imageUploadErrorText,this.serverUploadLimitText=this.$opts.serverUploadLimitText,this.display=this.$refs.display,this.input=this.$refs.input,this.divider=this.$refs.divider,this.displayWrap=this.$refs.displayWrap;let{settingContainer:t}=this.$refs,e=t.querySelectorAll('input[type="checkbox"]');this.editor=null,window.importVersioned("markdown").then(n=>n.init({pageId:this.pageId,container:this.elem,displayEl:this.display,inputEl:this.input,drawioUrl:this.getDrawioUrl(),settingInputs:Array.from(e),text:{serverUploadLimit:this.serverUploadLimitText,imageUploadError:this.imageUploadErrorText}})).then(n=>{this.editor=n,this.setupListeners(),this.emitEditorEvents(),this.scrollToTextIfNeeded(),this.editor.actions.updateAndRender()})}emitEditorEvents(){window.$events.emitPublic(this.elem,"editor-markdown::setup",{markdownIt:this.editor.markdown.getRenderer(),displayEl:this.display,cmEditorView:this.editor.cm})}setupListeners(){this.elem.addEventListener("click",t=>{let e=t.target.closest("button[data-action]");if(e===null)return;let n=e.getAttribute("data-action");if(n==="insertImage"&&this.editor.actions.showImageInsert(),n==="insertLink"&&this.editor.actions.showLinkSelector(),n==="insertDrawing"&&(t.ctrlKey||t.metaKey)){this.editor.actions.showImageManager();return}n==="insertDrawing"&&this.editor.actions.startDrawing(),n==="fullscreen"&&this.editor.actions.fullScreen()}),this.elem.addEventListener("click",t=>{let e=t.target.closest(".editor-toolbar-label");if(!e)return;let n=this.elem.querySelectorAll(".markdown-editor-wrap");for(let o of n)o.classList.remove("active");e.closest(".markdown-editor-wrap").classList.add("active")}),this.handleDividerDrag()}handleDividerDrag(){this.divider.addEventListener("pointerdown",()=>{let e=this.elem.getBoundingClientRect(),n=s=>{let r=s.pageX-e.left,a=Math.min(Math.max(20,Math.floor(r/e.width*100)),80);this.displayWrap.style.flexBasis=`${100-a}%`,this.editor.settings.set("editorWidth",a)},o=()=>{window.removeEventListener("pointermove",n),window.removeEventListener("pointerup",o),this.display.style.pointerEvents=null,document.body.style.userSelect=null};this.display.style.pointerEvents="none",document.body.style.userSelect="none",window.addEventListener("pointermove",n),window.addEventListener("pointerup",o)});let t=this.editor.settings.get("editorWidth");t&&(this.displayWrap.style.flexBasis=`${100-t}%`)}scrollToTextIfNeeded(){let e=new URL(window.location).searchParams.get("content-text");e&&this.editor.actions.scrollToText(e)}getDrawioUrl(){let t=document.querySelector("[drawio-url]");return t&&t.getAttribute("drawio-url")||""}async getContent(){return this.editor.actions.getContent()}};var fi=class extends d{setup(){this.container=this.$el,this.inputContainer=this.$refs.inputContainer,this.inviteOption=this.container.querySelector("input[name=send_invite]"),this.inviteOption&&(this.inviteOption.addEventListener("change",this.inviteOptionChange.bind(this)),this.inviteOptionChange())}inviteOptionChange(){let t=this.inviteOption.value==="true",e=this.container.querySelectorAll("input[type=password]");for(let n of e)n.disabled=t;this.inputContainer.style.display=t?"none":"block"}};var gi=class extends d{setup(){this.container=this.$el,this.type=this.$opts.type,this.textElem=this.container.querySelector("span"),this.autoHide=this.$opts.autoHide==="true",this.initialShow=this.$opts.show==="true",this.container.style.display="grid",window.$events.listen(this.type,t=>{this.show(t)}),this.container.addEventListener("click",this.hide.bind(this)),this.initialShow&&setTimeout(()=>this.show(this.textElem.textContent),100),this.hideCleanup=this.hideCleanup.bind(this)}show(t=""){if(this.container.removeEventListener("transitionend",this.hideCleanup),this.textElem.textContent=t,this.container.style.display="grid",setTimeout(()=>{this.container.classList.add("showing")},1),this.autoHide){let e=t.split(" ").length,n=Math.max(2e3,1e3+250*e);setTimeout(this.hide.bind(this),n)}}hide(){this.container.classList.remove("showing"),this.container.addEventListener("transitionend",this.hideCleanup)}hideCleanup(){this.container.style.display="none",this.container.removeEventListener("transitionend",this.hideCleanup)}};var vi=class extends d{setup(){this.removeButton=this.$refs.remove,this.showButton=this.$refs.show,this.input=this.$refs.input,this.setupListeners()}setupListeners(){S(this.removeButton,()=>{this.input.value="",this.input.classList.add("hidden"),this.removeButton.classList.add("hidden"),this.showButton.classList.remove("hidden")}),S(this.showButton,()=>{this.input.classList.remove("hidden"),this.removeButton.classList.remove("hidden"),this.showButton.classList.add("hidden")})}};function Bo(i){for(let t=1;t<5;t++)i.shortcuts.add(`meta+${t}`,"",["FormatBlock",!1,`h${t+1}`]);i.shortcuts.add("meta+5","",["FormatBlock",!1,"p"]),i.shortcuts.add("meta+d","",["FormatBlock",!1,"p"]),i.shortcuts.add("meta+6","",["FormatBlock",!1,"blockquote"]),i.shortcuts.add("meta+q","",["FormatBlock",!1,"blockquote"]),i.shortcuts.add("meta+7","",["codeeditor",!1,"pre"]),i.shortcuts.add("meta+e","",["codeeditor",!1,"pre"]),i.shortcuts.add("meta+8","",["FormatBlock",!1,"code"]),i.shortcuts.add("meta+shift+E","",["FormatBlock",!1,"code"]),i.shortcuts.add("meta+o","","InsertOrderedList"),i.shortcuts.add("meta+p","","InsertUnorderedList"),i.shortcuts.add("meta+S","",()=>{window.$events.emit("editor-save-draft")}),i.shortcuts.add("meta+13","",()=>{window.$events.emit("editor-save-page")}),i.shortcuts.add("meta+9","",()=>{let t=i.selection.getNode(),e=t?t.closest(".callout"):null,n=["info","success","warning","danger"],s=(n.findIndex(a=>e&&e.classList.contains(a))+1)%n.length,r=n[s];i.formatter.apply(`callout${r}`)}),i.shortcuts.add("meta+shift+K","",()=>{let t=window.$components.first("entity-selector-popup"),e=i.selection.getContent({format:"text"}).trim();t.show(n=>{i.selection.isCollapsed()?i.insertContent(i.dom.createHTML("a",{href:n.link},i.dom.encode(n.name))):i.formatter.apply("link",{href:n.link}),i.selection.collapse(!1),i.focus()},{initialValue:e,searchEndpoint:"/search/entity-selector",entityTypes:"page,book,chapter,bookshelf",entityPermission:"view"})})}function Po(i){window.$events.listen("editor::replace",({html:t})=>{i.setContent(t)}),window.$events.listen("editor::append",({html:t})=>{let e=i.getContent()+t;i.setContent(e)}),window.$events.listen("editor::prepend",({html:t})=>{let e=t+i.getContent();i.setContent(e)}),window.$events.listen("editor::insert",({html:t})=>{i.insertContent(t)}),window.$events.listen("editor::focus",()=>{i.initialized&&i.focus()})}function Qs(i,t){let e=i.dom.get(encodeURIComponent(t).replace(/!/g,"%21"));e&&(e.scrollIntoView(),i.selection.select(e,!0),i.selection.collapse(!1),i.focus())}function Oo(i){let e=new URL(window.location).searchParams.get("content-id");e&&Qs(i,e)}var kt,bi;function tr(i){return i&&!!(i.textContent||i.innerText)}async function er(i,t){if(i===null||i.type.indexOf("image")!==0)throw new Error("Not an image file");let e=i.name||`image-${Date.now()}.png`,n=new FormData;return n.append("file",i,e),n.append("uploaded_to",t),(await window.$http.post(window.baseUrl("/images/gallery"),n)).data}function Ro(i,t,e){let n=new Nt(e.clipboardData||e.dataTransfer);if(!n.hasItems()||n.containsTabularData())return;let o=n.getImages();for(let s of o){let r=`image-${Math.random().toString(16).slice(2)}`,a=window.baseUrl("/loading.gif");e.preventDefault(),setTimeout(()=>{i.insertContent(`<p><img src="${a}" id="${r}"></p>`),er(s,t.pageId).then(l=>{let c=l.name.replace(/"/g,""),u=`<img src="${l.thumbs.display}" alt="${c}" />`,h=i.dom.create("a",{target:"_blank",href:l.url},u);i.dom.replace(h,r)}).catch(l=>{i.dom.remove(r),window.$events.error(l?.data?.message||t.translations.imageUploadErrorText),console.error(l)})},10)}}function ir(i){let t=i.selection.getNode();t.nodeName==="IMG"&&(kt=i.dom.getParent(t,".mceTemp"),!kt&&t.parentNode.nodeName==="A"&&!tr(t.parentNode)&&(kt=t.parentNode)),t.hasAttribute("contenteditable")&&t.getAttribute("contenteditable")==="false"&&(bi=t)}function nr(i,t,e){let{dom:n}=i,o=window.tinymce.dom.RangeUtils.getCaretRangeFromPoint(e.clientX,e.clientY,i.getDoc()),s=e.dataTransfer&&e.dataTransfer.getData("bookstack/template");s&&(e.preventDefault(),window.$http.get(`/templates/${s}`).then(r=>{i.selection.setRng(o),i.undoManager.transact(()=>{i.execCommand("mceInsertContent",!1,r.data.html)})})),n.getParent(o.startContainer,".mceTemp")?e.preventDefault():kt&&(e.preventDefault(),i.undoManager.transact(()=>{i.selection.setRng(o),i.selection.setNode(kt),n.remove(kt)})),!e.isDefaultPrevented()&&bi&&(e.preventDefault(),i.undoManager.transact(()=>{let r=i.selection.getNode(),a=i.selection.getRng(),l=r.closest("body > *");a.startOffset>a.startContainer.length/2?l.after(bi):l.before(bi)})),e.isDefaultPrevented()||Ro(i,t,e),kt=null}function or(i,t){t.preventDefault(),i.focus();let n=window.tinymce.dom.RangeUtils.getCaretRangeFromPoint(t.clientX??0,t.clientY??0,i.getDoc());i.selection.setRng(n)}function Ho(i,t){i.on("dragover",e=>or(i,e)),i.on("dragstart",()=>ir(i)),i.on("drop",e=>nr(i,t,e)),i.on("paste",e=>Ro(i,t,e))}function _o(i){return["undo redo","styles","bold italic underline forecolor backcolor formatoverflow","alignleft aligncenter alignright alignjustify","bullist numlist listoverflow",i.textDirection==="rtl"?"ltr rtl":"","link customtable imagemanager-insert insertoverflow","code about fullscreen"].filter(n=>!!n).join(" | ")}function sr(i){i.ui.registry.addGroupToolbarButton("formatoverflow",{icon:"more-drawer",tooltip:"More",items:"strikethrough superscript subscript inlinecode removeformat"}),i.ui.registry.addGroupToolbarButton("listoverflow",{icon:"more-drawer",tooltip:"More",items:"tasklist outdent indent"}),i.ui.registry.addGroupToolbarButton("insertoverflow",{icon:"more-drawer",tooltip:"More",items:"customhr codeeditor drawio media details"})}function rr(i){i.ui.registry.addContextToolbar("linkcontexttoolbar",{predicate(t){return t.closest("a")!==null},position:"node",scope:"node",items:"link unlink openlink"})}function ar(i){i.ui.registry.addContextToolbar("imagecontexttoolbar",{predicate(t){return t.closest("img")!==null&&!t.hasAttribute("data-mce-object")},position:"node",scope:"node",items:"image"})}function lr(i){i.ui.registry.addContextToolbar("objectcontexttoolbar",{predicate(t){return t.closest("img")!==null&&t.hasAttribute("data-mce-object")},position:"node",scope:"node",items:"media"})}function Fo(i){sr(i),rr(i),ar(i),lr(i)}var cr={"table-delete-column":'<svg width="24" height="24"><path d="M21 19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14c1.1 0 2 .9 2 2zm-2 0V5h-4v2.2h-2V5h-2v2.2H9V5H5v14h4v-2.1h2V19h2v-2.1h2V19Z"/><path d="M14.829 10.585 13.415 12l1.414 1.414c.943.943-.472 2.357-1.414 1.414L12 13.414l-1.414 1.414c-.944.944-2.358-.47-1.414-1.414L10.586 12l-1.414-1.415c-.943-.942.471-2.357 1.414-1.414L12 10.585l1.344-1.343c1.111-1.112 2.2.627 1.485 1.343z" style="fill-rule:nonzero"/></svg>',"table-delete-row":'<svg width="24" height="24"><path d="M5 21a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14c0 1.1-.9 2-2 2zm0-2h14v-4h-2.2v-2H19v-2h-2.2V9H19V5H5v4h2.1v2H5v2h2.1v2H5Z"/><path d="M13.415 14.829 12 13.415l-1.414 1.414c-.943.943-2.357-.472-1.414-1.414L10.586 12l-1.414-1.414c-.944-.944.47-2.358 1.414-1.414L12 10.586l1.415-1.414c.942-.943 2.357.471 1.414 1.414L13.415 12l1.343 1.344c1.112 1.111-.627 2.2-1.343 1.485z" style="fill-rule:nonzero"/></svg>',"table-insert-column-after":'<svg width="24" height="24"><path d="M16 5h-5v14h5c1.235 0 1.234 2 0 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11c1.229 0 1.236 2 0 2zm-7 6V5H5v6zm0 8v-6H5v6zm11.076-6h-2v2c0 1.333-2 1.333-2 0v-2h-2c-1.335 0-1.335-2 0-2h2V9c0-1.333 2-1.333 2 0v2h1.9c1.572 0 1.113 2 .1 2z"/></svg>',"table-insert-column-before":'<svg width="24" height="24"><path d="M8 19h5V5H8C6.764 5 6.766 3 8 3h11a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H8c-1.229 0-1.236-2 0-2zm7-6v6h4v-6zm0-8v6h4V5ZM3.924 11h2V9c0-1.333 2-1.333 2 0v2h2c1.335 0 1.335 2 0 2h-2v2c0 1.333-2 1.333-2 0v-2h-1.9c-1.572 0-1.113-2-.1-2z"/></svg>',"table-insert-row-above":'<svg width="24" height="24"><path d="M5 8v5h14V8c0-1.235 2-1.234 2 0v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8C3 6.77 5 6.764 5 8zm6 7H5v4h6zm8 0h-6v4h6zM13 3.924v2h2c1.333 0 1.333 2 0 2h-2v2c0 1.335-2 1.335-2 0v-2H9c-1.333 0-1.333-2 0-2h2v-1.9c0-1.572 2-1.113 2-.1z"/></svg>',"table-insert-row-after":'<svg width="24" height="24"><path d="M19 16v-5H5v5c0 1.235-2 1.234-2 0V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v11c0 1.229-2 1.236-2 0zm-6-7h6V5h-6zM5 9h6V5H5Zm6 11.076v-2H9c-1.333 0-1.333-2 0-2h2v-2c0-1.335 2-1.335 2 0v2h2c1.333 0 1.333 2 0 2h-2v1.9c0 1.572-2 1.113-2 .1z"/></svg>',table:'<svg width="24" height="24" xmlns="http://www.w3.org/2000/svg"><path d="M19 3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5c0-1.1.9-2 2-2ZM5 14v5h6v-5zm14 0h-6v5h6zm0-7h-6v5h6zM5 12h6V7H5Z"/></svg>',"table-delete-table":'<svg width="24" height="24"><path d="M5 21a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14c0 1.1-.9 2-2 2zm0-2h14V5H5v14z"/><path d="m13.711 15.423-1.71-1.712-1.712 1.712c-1.14 1.14-2.852-.57-1.71-1.712l1.71-1.71-1.71-1.712c-1.143-1.142.568-2.853 1.71-1.71L12 10.288l1.711-1.71c1.141-1.142 2.852.57 1.712 1.71L13.71 12l1.626 1.626c1.345 1.345-.76 2.663-1.626 1.797z" style="fill-rule:nonzero;stroke-width:1.20992"/></svg>'};function No(i){for(let[t,e]of Object.entries(cr))i.ui.registry.addIcon(t,e)}function dr(i){i.serializer.addNodeFilter("br",t=>{for(let e of t)if(e.parent&&e.parent.name==="code"){let n=window.tinymce.html.Node.create("#text");n.value=` +`,e.replace(n)}})}function hr(i){i.parser.addNodeFilter("div",t=>{for(let e of t){let n=e.attr("id")||"",o=e.attr("class")||"";(n==="pointer"||o.includes("pointer"))&&e.remove()}})}function qo(i){dr(i),hr(i)}function Uo(i){return i.tagName.toLowerCase()==="code-block"}function jo(i,t,e,n,o){let s=window.$components.first("code-editor"),r=i.selection.getBookmark();s.open(t,e,n,(a,l)=>{o(a,l),i.focus(),i.selection.moveToBookmark(r)},()=>{i.focus(),i.selection.moveToBookmark(r)})}function Vo(i,t){let e=t.getAttribute("dir")||"";jo(i,t.getContent(),t.getLanguage(),e,(n,o)=>{t.setContent(n,o)})}function ur(i){let t=i.getDoc(),e=t.defaultView;class n extends e.HTMLElement{constructor(){super();U(this,"editor",null);this.attachShadow({mode:"open"});let r=document.head.querySelectorAll('link[rel="stylesheet"]:not([media="print"]),style'),a=Array.from(r).map(c=>c.cloneNode(!0)),l=document.createElement("div");l.style.pointerEvents="none",l.contentEditable="false",l.classList.add("CodeMirrorContainer"),l.classList.toggle("dark-mode",document.documentElement.classList.contains("dark-mode")),this.shadowRoot.append(...a,l)}getLanguage(){let r=c=>(c.split(" ").filter(h=>h.startsWith("language-"))[0]||"").replace("language-",""),a=this.querySelector("code"),l=this.querySelector("pre");return r(l.className)||a&&r(a.className)||""}setContent(r,a){this.editor&&(this.editor.setContent(r),this.editor.setMode(a,r));let l=this.querySelector("pre");l||(l=t.createElement("pre"),this.append(l)),l.innerHTML="";let c=t.createElement("code");l.append(c),c.innerText=r,c.className=`language-${a}`}getContent(){let r=this.querySelector("code")||this.querySelector("pre"),a=document.createElement("pre");a.innerHTML=r.innerHTML.replace(/\ufeff/g,"");let l=a.querySelectorAll("br");for(let c of l)c.replaceWith(` `);return a.textContent}connectedCallback(){let r=Date.now();if(this.editor)return;this.cleanChildContent();let a=this.getContent(),c=a.split(` -`).length*19.2+18+24;this.style.height=`${c}px`;let u=this.shadowRoot.querySelector(".CodeMirrorContainer"),h=f=>{this.editor=f.wysiwygView(u,this.shadowRoot,a,this.getLanguage()),setTimeout(()=>{this.style.height=null},12)};window.importVersioned("code").then(f=>{let x=Date.now()-r<20?20:0;setTimeout(()=>h(f),x)})}cleanChildContent(){let r=this.querySelector("pre");if(r)for(let a of r.childNodes)a.nodeName==="#text"&&a.textContent==="\uFEFF"&&a.remove()}}e.customElements.define("code-block",n)}function dr(i){i.ui.registry.addIcon("codeblock",'<svg width="24" height="24"><path d="M4 3h16c.6 0 1 .4 1 1v16c0 .6-.4 1-1 1H4a1 1 0 0 1-1-1V4c0-.6.4-1 1-1Zm1 2v14h14V5Z"/><path d="M11.103 15.423c.277.277.277.738 0 .922a.692.692 0 0 1-1.106 0l-4.057-3.78a.738.738 0 0 1 0-1.107l4.057-3.872c.276-.277.83-.277 1.106 0a.724.724 0 0 1 0 1.014L7.6 12.012ZM12.897 8.577c-.245-.312-.2-.675.08-.955.28-.281.727-.27 1.027.033l4.057 3.78a.738.738 0 0 1 0 1.107l-4.057 3.872c-.277.277-.83.277-1.107 0a.724.724 0 0 1 0-1.014l3.504-3.412z"/></svg>'),i.ui.registry.addButton("codeeditor",{tooltip:"Insert code block",icon:"codeblock",onAction(){i.execCommand("codeeditor")}}),i.ui.registry.addButton("editcodeeditor",{tooltip:"Edit code block",icon:"edit-block",onAction(){i.execCommand("codeeditor")}}),i.addCommand("codeeditor",()=>{let t=i.selection.getNode(),e=t.ownerDocument;if(Fo(t))No(i,t);else{let n=i.selection.getContent({format:"text"}),o=document.dir==="rtl"?"ltr":"";qo(i,n,"",o,(s,r)=>{let a=e.createElement("pre"),l=e.createElement("code");l.classList.add(`language-${r}`),l.innerText=s,o&&a.setAttribute("dir",o),a.append(l),i.insertContent(a.outerHTML)})}}),i.on("dblclick",()=>{let t=i.selection.getNode();Fo(t)&&No(i,t)}),i.on("PreInit",()=>{i.parser.addNodeFilter("pre",t=>{for(let e of t){let n=window.tinymce.html.Node.create("code-block",{contenteditable:"false"}),o=e.children().filter(a=>a.name==="code")[0]||null,s=e.attr("dir")||o&&o.attr("dir")||"";s&&n.attr("dir",s);let r=e.getAll("span");for(let a of r)a.unwrap();e.attr("style",null),e.wrap(n)}}),i.parser.addNodeFilter("code-block",t=>{for(let e of t)e.attr("contenteditable","false")}),i.serializer.addNodeFilter("code-block",t=>{for(let e of t){let n=e.attr("dir");n&&e.firstChild?e.firstChild.attr("dir",n):e.firstChild&&e.firstChild.attr("dir",null),e.unwrap()}})}),i.ui.registry.addContextToolbar("codeeditor",{predicate(t){return t.nodeName.toLowerCase()==="code-block"},items:"editcodeeditor",position:"node",scope:"node"}),i.on("PreInit",()=>{cr(i)})}function Uo(){return dr}function bi(i){return new Promise((t,e)=>{i.oncomplete=i.onsuccess=()=>t(i.result),i.onabort=i.onerror=()=>e(i.error)})}function hr(i,t){let e=indexedDB.open(i);e.onupgradeneeded=()=>e.result.createObjectStore(t);let n=bi(e);return(o,s)=>n.then(r=>s(r.transaction(t,o).objectStore(t)))}var Ln;function kn(){return Ln||(Ln=hr("keyval-store","keyval")),Ln}function Tn(i,t=kn()){return t("readonly",e=>bi(e.get(i)))}function $n(i,t,e=kn()){return e("readwrite",n=>(n.put(t,i),bi(n.transaction)))}function Dn(i,t=kn()){return t("readwrite",e=>(e.delete(i),bi(e.transaction)))}var et=null,Mn,yi,An,In="last-drawing-save";function Bn(i){et?.contentWindow?.postMessage(JSON.stringify(i),Mn)}function pr(i){$n(In,i.data),An&&An(i.data).then(()=>{Dn(In)})}function mr(i){Bn({action:"export",format:"xmlpng",xml:i.xml,spin:"Updating drawing"})}function fr(){yi&&yi().then(i=>{Bn({action:"load",autosave:1,xml:i})})}function gr(){let i={};et&&(window.$events.emitPublic(et,"editor-drawio::configure",{config:i}),Bn({action:"configure",config:i}))}function Vo(){window.removeEventListener("message",jo),et&&document.body.removeChild(et)}function jo(i){if(!i.data||i.data.length<1||i.origin!==Mn)return;let t=JSON.parse(i.data);t.event==="init"?fr():t.event==="exit"?Vo():t.event==="save"?mr(t):t.event==="export"?pr(t):t.event==="configure"&&gr()}async function vr(){let i=await Tn(In),t=document.getElementById("unsaved-drawing-dialog");t||console.error("Missing expected unsaved-drawing dialog"),i&&t&&await window.$components.firstOnElement(t,"confirm-dialog").show()&&(yi=async()=>i)}async function zo(i,t,e){yi=t,An=e,await vr(),et=document.createElement("iframe"),et.setAttribute("frameborder","0"),window.addEventListener("message",jo),et.setAttribute("src",i),et.setAttribute("class","fullscreen"),et.style.backgroundColor="#FFFFFF",document.body.appendChild(et),Mn=new URL(i).origin}async function Pn(i,t){let e={image:i,uploaded_to:t};return(await window.$http.post(window.baseUrl("/images/drawio"),e)).data}function Ei(){Vo()}async function Wo(i){try{return`data:image/png;base64,${(await window.$http.get(window.baseUrl(`/images/drawio/base64/${i}`))).data.content}`}catch(t){throw t instanceof Xt&&window.$events.showResponseError(t),Ei(),t}}var W=null,$t=null,Tt={};function On(i){return i.hasAttribute("drawio-diagram")}function br(i,t=null){W=i,$t=t,window.$components.first("image-manager").show(n=>{if(t){let o=t.querySelector("img");W.undoManager.transact(()=>{W.dom.setAttrib(o,"src",n.url),W.dom.setAttrib(t,"drawio-diagram",n.id)})}else{let o=`<div drawio-diagram="${n.id}" contenteditable="false"><img src="${n.url}"></div>`;W.insertContent(o)}},"drawio")}async function yr(i){let t=window.baseUrl("/loading.gif"),e=s=>{s.status===413?window.$events.emit("error",Tt.translations.serverUploadLimitText):window.$events.emit("error",Tt.translations.imageUploadErrorText),console.error(s)};if($t){Ei();let s=$t.querySelector("img");try{let r=await Pn(i,Tt.pageId);W.undoManager.transact(()=>{W.dom.setAttrib(s,"src",r.url),W.dom.setAttrib($t,"drawio-diagram",r.id)})}catch(r){throw e(r),new Error(`Failed to save image with error: ${r}`)}return}await Gn(5);let n=`drawing-${Math.random().toString(16).slice(2)}`,o=`drawing-wrap-${Math.random().toString(16).slice(2)}`;W.insertContent(`<div drawio-diagram contenteditable="false" id="${o}"><img src="${t}" id="${n}"></div>`),Ei();try{let s=await Pn(i,Tt.pageId);W.undoManager.transact(()=>{W.dom.setAttrib(n,"src",s.url),W.dom.setAttrib(o,"drawio-diagram",s.id)})}catch(s){throw W.dom.remove(o),e(s),new Error(`Failed to save image with error: ${s}`)}}function Er(){if(!$t)return Promise.resolve("");let i=$t.getAttribute("drawio-diagram");return Wo(i)}function Ko(i,t=null){W=i,$t=t,zo(Tt.drawioUrl,Er,yr)}function Cr(i){i.addCommand("drawio",()=>{let t=i.selection.getNode();Ko(i,On(t)?t:null)}),i.ui.registry.addIcon("diagram",`<svg width="24" height="24" fill="${Tt.darkMode?"#BBB":"#000000"}" xmlns="http://www.w3.org/2000/svg"><path d="M20.716 7.639V2.845h-4.794v1.598h-7.99V2.845H3.138v4.794h1.598v7.99H3.138v4.794h4.794v-1.598h7.99v1.598h4.794v-4.794h-1.598v-7.99zM4.736 4.443h1.598V6.04H4.736zm1.598 14.382H4.736v-1.598h1.598zm9.588-1.598h-7.99v-1.598H6.334v-7.99h1.598V6.04h7.99v1.598h1.598v7.99h-1.598zm3.196 1.598H17.52v-1.598h1.598zM17.52 6.04V4.443h1.598V6.04zm-4.21 7.19h-2.79l-.582 1.599H8.643l2.717-7.191h1.119l2.724 7.19h-1.302zm-2.43-1.006h2.086l-1.039-3.06z"/></svg>`),i.ui.registry.addSplitButton("drawio",{tooltip:"Insert/edit drawing",icon:"diagram",onAction(){i.execCommand("drawio"),window.document.body.dispatchEvent(new Event("mousedown",{bubbles:!0}))},fetch(t){t([{type:"choiceitem",text:"Drawing manager",value:"drawing-manager"}])},onItemAction(t,e){if(e==="drawing-manager"){let n=i.selection.getNode();br(i,On(n)?n:null)}}}),i.on("dblclick",()=>{let t=i.selection.getNode();On(t)&&Ko(i,t)}),i.on("SetContent",()=>{let t=i.dom.select("body > div[drawio-diagram]");t.length&&i.undoManager.transact(()=>{for(let e of t)e.setAttribute("contenteditable","false")})})}function Xo(i){return Tt=i,Cr}function xr(i){i.addCommand("InsertHorizontalRule",()=>{let t=document.createElement("hr"),e=i.selection.getNode(),{parentNode:n}=e;n.insertBefore(t,e)}),i.ui.registry.addButton("customhr",{icon:"horizontal-rule",tooltip:"Insert horizontal line",onAction(){i.execCommand("InsertHorizontalRule")}})}function Go(){return xr}function Sr(i){i.ui.registry.addButton("imagemanager-insert",{title:"Insert image",icon:"image",tooltip:"Insert image",onAction(){window.$components.first("image-manager").show(e=>{let n=e.thumbs?.display||e.url,o=`<a href="${e.url}" target="_blank">`;o+=`<img src="${n}" alt="${e.name}">`,o+="</a>",i.execCommand("mceInsertContent",!1,o)},"gallery")}})}function Yo(){return Sr}function Lr(i){let t={title:"About the WYSIWYG Editor",url:window.baseUrl("/help/tinymce")};i.ui.registry.addButton("about",{icon:"help",tooltip:"About the editor",onAction(){window.tinymce.activeEditor.windowManager.openUrl(t)}})}function Jo(){return Lr}var Zo=["p","h1","h2","h3","h4","h5","h6","div","blockquote","pre","code-block","details","ul","ol","table","hr"];function Ci(i){return i.selection.getNode().closest("details")}function kr(i,t){let e=Ci(i);e&&i.undoManager.transact(()=>{let n=e.querySelector("summary");n||(n=document.createElement("summary"),e.prepend(n)),n.textContent=t})}function Tr(i){return{title:"Edit collapsible block",body:{type:"panel",items:[{type:"input",name:"summary",label:"Toggle label"}]},buttons:[{type:"cancel",text:"Cancel"},{type:"submit",text:"Save",primary:!0}],onSubmit(t){let{summary:e}=t.getData();kr(i,e),t.close()}}}function $r(i){let t=i.querySelector("summary");return t?t.textContent:""}function Qo(i){let t=Ci(i);i.windowManager.open(Tr(i)).setData({summary:$r(t)})}function Dr(i){let t=i.selection.getNode().closest("details"),e=i.selection.getBookmark();if(t){let n=t.querySelectorAll("details > *:not(summary, doc-root), doc-root > *");i.undoManager.transact(()=>{for(let o of n)t.parentNode.insertBefore(o,t);t.remove()})}i.focus(),i.selection.moveToBookmark(e)}function Rn(i){i.attr("contenteditable",null);let t=!1;for(let e of i.children())e.name==="doc-root"&&(e.unwrap(),t=!0);t&&Rn(i)}function Ar(i){Rn(i),i.attr("contenteditable","false");let t=window.tinymce.html.Node.create("doc-root",{contenteditable:"true"}),e=null;for(let n of i.children()){if(n.name==="summary")continue;Zo.includes(n.name)?(t.append(n),e=null):(e||(e=window.tinymce.html.Node.create("p"),t.append(e)),e.append(n))}i.append(t)}function Ir(i){i.parser.addNodeFilter("details",t=>{for(let e of t)Ar(e)}),i.serializer.addNodeFilter("details",t=>{for(let e of t)Rn(e),e.attr("open",null)}),i.serializer.addNodeFilter("doc-root",t=>{for(let e of t)e.unwrap()})}function Mr(i){i.ui.registry.addIcon("details",'<svg width="24" height="24"><path d="M8.2 9a.5.5 0 0 0-.4.8l4 5.6a.5.5 0 0 0 .8 0l4-5.6a.5.5 0 0 0-.4-.8ZM20.122 18.151h-16c-.964 0-.934 2.7 0 2.7h16c1.139 0 1.173-2.7 0-2.7zM20.122 3.042h-16c-.964 0-.934 2.7 0 2.7h16c1.139 0 1.173-2.7 0-2.7z"/></svg>'),i.ui.registry.addIcon("togglefold",'<svg height="24" width="24"><path d="M8.12 19.3c.39.39 1.02.39 1.41 0L12 16.83l2.47 2.47c.39.39 1.02.39 1.41 0 .39-.39.39-1.02 0-1.41l-3.17-3.17c-.39-.39-1.02-.39-1.41 0l-3.17 3.17c-.4.38-.4 1.02-.01 1.41zm7.76-14.6c-.39-.39-1.02-.39-1.41 0L12 7.17 9.53 4.7c-.39-.39-1.02-.39-1.41 0-.39.39-.39 1.03 0 1.42l3.17 3.17c.39.39 1.02.39 1.41 0l3.17-3.17c.4-.39.4-1.03.01-1.42z"/></svg>'),i.ui.registry.addIcon("togglelabel",'<svg height="18" width="18" viewBox="0 0 24 24"><path d="M21.41,11.41l-8.83-8.83C12.21,2.21,11.7,2,11.17,2H4C2.9,2,2,2.9,2,4v7.17c0,0.53,0.21,1.04,0.59,1.41l8.83,8.83 c0.78,0.78,2.05,0.78,2.83,0l7.17-7.17C22.2,13.46,22.2,12.2,21.41,11.41z M6.5,8C5.67,8,5,7.33,5,6.5S5.67,5,6.5,5S8,5.67,8,6.5 S7.33,8,6.5,8z"/></svg>'),i.ui.registry.addButton("details",{icon:"details",tooltip:"Insert collapsible block",onAction(){i.execCommand("InsertDetailsBlock")}}),i.ui.registry.addButton("removedetails",{icon:"table-delete-table",tooltip:"Unwrap",onAction(){Dr(i)}}),i.ui.registry.addButton("editdetials",{icon:"togglelabel",tooltip:"Edit label",onAction(){Qo(i)}}),i.on("dblclick",t=>{!Ci(i)||t.target.closest("doc-root")||Qo(i)}),i.ui.registry.addButton("toggledetails",{icon:"togglefold",tooltip:"Toggle open/closed",onAction(){Ci(i).toggleAttribute("open"),i.focus()}}),i.addCommand("InsertDetailsBlock",()=>{let t=i.selection.getContent({format:"html"}),e=document.createElement("details"),n=document.createElement("summary"),o=`details-${Date.now()}`;e.setAttribute("data-id",o),e.appendChild(n),t||(t="<p><br></p>"),e.innerHTML+=t,i.insertContent(e.outerHTML),i.focus();let s=i.dom.select(`[data-id="${o}"]`)[0]||null;if(s){let r=s.querySelector("doc-root > *");r&&r.focus(),s.removeAttribute("data-id")}}),i.ui.registry.addContextToolbar("details",{predicate(t){return t.nodeName.toLowerCase()==="details"},items:"editdetials toggledetails removedetails",position:"node",scope:"node"}),i.on("PreInit",()=>{Ir(i)})}function ts(){return Mr}function Br(i){i.ui.registry.addIcon("tableclearformatting",'<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" viewBox="0 0 24 24"><path d="M15.53088 4.64727v-.82364c0-.453-.37063-.82363-.82363-.82363H4.82363C4.37063 3 4 3.37064 4 3.82363v3.29454c0 .453.37064.82364.82363.82364h9.88362c.453 0 .82363-.37064.82363-.82364v-.82363h.82364v3.29454H8.11817v7.4127c0 .453.37064.82364.82364.82364h1.64727c.453 0 .82363-.37064.82363-.82364v-5.76544h6.58907V4.64727Z"/><path d="m18.42672 19.51563-1.54687-1.54688-1.54688 1.54688c-.26751.2675-.70124.2675-.96875 0-.26751-.26752-.26751-.70124 0-.96876L15.9111 17l-1.54688-1.54688c-.26751-.2675-.26751-.70123 0-.96875.26751-.2675.70124-.2675.96875 0l1.54688 1.54688 1.54687-1.54688c.26751-.2675.70124-.2675.96875 0 .26751.26752.26751.70124 0 .96875L17.8486 17l1.54687 1.54688c.26751.2675.26751.70123 0 .96874-.26751.26752-.70124.26752-.96875 0z"/></svg>');let t={items:" | tablerowheader",predicate(n){let o=n.nodeName.toLowerCase()==="table",s=i.selection.getNode(),r=s.closest("table");return!o||!r?!1:r.querySelector("tr").contains(s)},position:"node",scope:"node"};i.ui.registry.addContextToolbar("customtabletoolbarfirstrow",t),i.addCommand("tableclearformatting",()=>{let n=i.dom.getParent(i.selection.getStart(),"table");if(!n)return;let o=["class","style","width","height"],s=[n,...n.querySelectorAll(o.map(r=>`[${r}]`).join(","))];for(let r of s)for(let a of o)r.removeAttribute(a)}),i.addCommand("tableclearsizes",()=>{let n=i.dom.getParent(i.selection.getStart(),"table");if(!n)return;let o=[n,...n.querySelectorAll("tr,td,th,tbody,thead,tfoot,th>*,td>*")];for(let s of o)s.removeAttribute("width"),s.removeAttribute("height"),s.style.height=null,s.style.width=null});let e=()=>{let n=i.ui.registry.getAll().buttons;i.ui.registry.addMenuButton("customtable",{...n.table,fetch:o=>o("inserttable | cell row column | advtablesort | tableprops tableclearformatting tableclearsizes deletetable")}),i.ui.registry.addMenuItem("tableclearformatting",{icon:"tableclearformatting",text:"Clear table formatting",onSetup:n.tableprops.onSetup,onAction(){i.execCommand("tableclearformatting")}}),i.ui.registry.addMenuItem("tableclearsizes",{icon:"resize",text:"Resize to contents",onSetup:n.tableprops.onSetup,onAction(){i.execCommand("tableclearsizes")}}),i.off("PreInit",e)};i.on("PreInit",e)}function es(){return Br}function Pr(i){let t=i.closest("li");return t&&t.parentNode.nodeName==="UL"&&t.classList.contains("task-list-item")}function Or(i,t,e){let n=t.getBoundingClientRect();i.clientX<=n.right&&i.clientX>=n.left&&i.clientY>=n.top&&i.clientY<=n.bottom||e.undoManager.transact(()=>{t.hasAttribute("checked")?t.removeAttribute("checked"):t.setAttribute("checked","checked")})}function Rr(i){i.attr("class","task-list-item");for(let t of i.children())t.name==="input"&&(t.attr("checked")==="checked"&&i.attr("checked","checked"),t.remove())}function _r(i){let t=i.attr("checked")==="checked";i.attr("checked",null);let e={type:"checkbox",disabled:"disabled"};t&&(e.checked="checked");let n=window.tinymce.html.Node.create("input",e);n.shortEnded=!0,i.firstChild?i.insert(n,i.firstChild,!0):i.append(n)}function Hr(i){i.ui.registry.addIcon("tasklist",'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M22,8c0-0.55-0.45-1-1-1h-7c-0.55,0-1,0.45-1,1s0.45,1,1,1h7C21.55,9,22,8.55,22,8z M13,16c0,0.55,0.45,1,1,1h7 c0.55,0,1-0.45,1-1c0-0.55-0.45-1-1-1h-7C13.45,15,13,15.45,13,16z M10.47,4.63c0.39,0.39,0.39,1.02,0,1.41l-4.23,4.25 c-0.39,0.39-1.02,0.39-1.42,0L2.7,8.16c-0.39-0.39-0.39-1.02,0-1.41c0.39-0.39,1.02-0.39,1.41,0l1.42,1.42l3.54-3.54 C9.45,4.25,10.09,4.25,10.47,4.63z M10.48,12.64c0.39,0.39,0.39,1.02,0,1.41l-4.23,4.25c-0.39,0.39-1.02,0.39-1.42,0L2.7,16.16 c-0.39-0.39-0.39-1.02,0-1.41s1.02-0.39,1.41,0l1.42,1.42l3.54-3.54C9.45,12.25,10.09,12.25,10.48,12.64L10.48,12.64z"/></svg>'),i.ui.registry.addToggleButton("tasklist",{tooltip:"Task list",icon:"tasklist",active:!1,onAction(n){n.isActive()?i.execCommand("RemoveList"):i.execCommand("InsertUnorderedList",null,{"list-item-attributes":{class:"task-list-item"},"list-style-type":"tasklist"})},onSetup(n){i.on("NodeChange",o=>{let s=o.parents.find(a=>a.nodeName==="LI"),r=s&&s.classList.contains("task-list-item");n.setActive(!!r)})}});let t=i.ui.registry.getAll().buttons.bullist;t.onSetup=function(o){i.on("NodeChange",s=>{let r=s.parents.find(c=>c.nodeName==="LI"),a=r&&r.classList.contains("task-list-item"),l=r&&r.parentNode.nodeName==="UL";o.setActive(!!(l&&!a))})},t.onAction=function(){Pr(i.selection.getNode())&&i.execCommand("InsertOrderedList",null,{"list-item-attributes":{class:null}}),i.execCommand("InsertUnorderedList",null,{"list-item-attributes":{class:null}})};let e=i.ui.registry.getAll().buttons.numlist;e.onAction=function(){i.execCommand("InsertOrderedList",null,{"list-item-attributes":{class:null}})},i.on("PreInit",()=>{i.parser.addNodeFilter("li",n=>{for(let o of n)o.attributes.map.class==="task-list-item"&&Rr(o)}),i.serializer.addNodeFilter("li",n=>{for(let o of n)o.attributes.map.class==="task-list-item"&&_r(o)})}),i.on("click",n=>{let o=n.target;o.nodeName==="LI"&&o.classList.contains("task-list-item")&&(Or(n,o,i),n.preventDefault())})}function is(){return Hr}function ns(i){function t(e){let n=e.querySelector("iframe, video");if(!n)return;let o=[...n.classList.values()].filter(r=>r.startsWith("align-")),s=[...e.classList.values()].filter(r=>r.startsWith("align-"));e.classList.remove(...s),e.classList.add(...o)}i.on("SetContent",()=>{let e=i.dom.select("span.mce-preview-object");for(let n of e)t(n)}),i.on("FormatApply",e=>{let n=e.format.startsWith("align");if(!(e.node instanceof i.dom.doc.defaultView.HTMLElement)||!n||!e.node.matches(".mce-preview-object"))return;let s=e.node.querySelector("iframe, video");if(s){let r=(i.formatter.get(e.format)[0]?.classes||[])[0],a=!s.classList.contains(r),c=(e.node.getAttribute("data-mce-p-class")||"").split(" ").filter(h=>!h.startsWith("align-"));a&&c.push(r);let u=c.join(" ");e.node.setAttribute("data-mce-p-class",u),s.setAttribute("class",u),i.formatter.apply(e.format,{},s),t(e.node)}})}function os(i){let t=i.querySelectorAll('[align],[style*="text-align"],.align-center,.align-left,.align-right');for(let e of t)e.removeAttribute("align"),e.style.textAlign=null,e.classList.remove("align-center","align-right","align-left")}function _n(i){let t=i.querySelectorAll('[dir],[style*="direction"]');for(let e of t)e.removeAttribute("dir"),e.style.direction=null;os(i),i.style.direction=null,i.style.textAlign=null,i.removeAttribute("align")}function ss(i){let t=[];i.on("TableSelectionChange",n=>{t=(n.cells||[]).map(o=>o.dom)}),i.on("TableSelectionClear",()=>{t=[]});let e={RemoveFormat:n=>{let o=["class","style","width","height","align"];for(let s of o)n.removeAttribute(s)},mceDirectionLTR:n=>{n.setAttribute("dir","ltr"),_n(n)},mceDirectionRTL:n=>{n.setAttribute("dir","rtl"),_n(n)},JustifyLeft:n=>{n.removeAttribute("align"),os(n)}};e.JustifyRight=e.JustifyLeft,e.JustifyCenter=e.JustifyLeft,e.JustifyFull=e.JustifyLeft,i.on("ExecCommand",n=>{let o=e[n.command];if(o)for(let s of t)o(s)})}function rs(i){i.on("ExecCommand",t=>{let e=t.command;if(e!=="mceDirectionLTR"&&e!=="mceDirectionRTL")return;let n=i.selection.getSelectedBlocks();for(let o of n)_n(o)})}var Fr=[{title:"Large Header",format:"h2",preview:"color: blue;"},{title:"Medium Header",format:"h3"},{title:"Small Header",format:"h4"},{title:"Tiny Header",format:"h5"},{title:"Paragraph",format:"p",exact:!0,classes:""},{title:"Blockquote",format:"blockquote"},{title:"Callouts",items:[{title:"Information",format:"calloutinfo"},{title:"Success",format:"calloutsuccess"},{title:"Warning",format:"calloutwarning"},{title:"Danger",format:"calloutdanger"}]}],Nr={alignleft:{selector:"p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li,table,img,iframe,video",classes:"align-left"},aligncenter:{selector:"p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li,table,img,iframe,video",classes:"align-center"},alignright:{selector:"p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li,table,img,iframe,video",classes:"align-right"},calloutsuccess:{block:"p",exact:!0,attributes:{class:"callout success"}},calloutinfo:{block:"p",exact:!0,attributes:{class:"callout info"}},calloutwarning:{block:"p",exact:!0,attributes:{class:"callout warning"}},calloutdanger:{block:"p",exact:!0,attributes:{class:"callout danger"}}},qr=["#BFEDD2","","#FBEEB8","","#F8CAC6","","#ECCAFA","","#C2E0F4","","#2DC26B","","#F1C40F","","#E03E2D","","#B96AD9","","#3598DB","","#169179","","#E67E23","","#BA372A","","#843FA1","","#236FA1","","#ECF0F1","","#CED4D9","","#95A5A6","","#7E8C8D","","#34495E","","#000000","","#ffffff",""];function as(i,t,e){if(e.filetype==="file"){let n=window.$components.first("entity-selector-popup"),o=this.selection.getContent({format:"text"}).trim();n.show(s=>{i(s.link,{text:s.name,title:s.name})},{initialValue:o,searchEndpoint:"/search/entity-selector",entityTypes:"page,book,chapter,bookshelf",entityPermission:"view"})}e.filetype==="image"&&window.$components.first("image-manager").show(o=>{i(o.url,{alt:o.name})},"gallery")}function Ur(i){let t=["image","table","link","autolink","fullscreen","code","customhr","autosave","lists","codeeditor","media","imagemanager","about","details","tasklist","tableadditions",i.textDirection==="rtl"?"directionality":""];return window.tinymce.PluginManager.add("codeeditor",Uo()),window.tinymce.PluginManager.add("customhr",Go()),window.tinymce.PluginManager.add("imagemanager",Yo()),window.tinymce.PluginManager.add("about",Jo()),window.tinymce.PluginManager.add("details",ts()),window.tinymce.PluginManager.add("tasklist",is()),window.tinymce.PluginManager.add("tableadditions",es()),i.drawioUrl&&(window.tinymce.PluginManager.add("drawio",Xo(i)),t.push("drawio")),t.filter(e=>!!e)}function ls(i){let t=document.head.innerHTML.split(` +`).length*19.2+18+24;this.style.height=`${c}px`;let u=this.shadowRoot.querySelector(".CodeMirrorContainer"),h=f=>{this.editor=f.wysiwygView(u,this.shadowRoot,a,this.getLanguage()),setTimeout(()=>{this.style.height=null},12)};window.importVersioned("code").then(f=>{let x=Date.now()-r<20?20:0;setTimeout(()=>h(f),x)})}cleanChildContent(){let r=this.querySelector("pre");if(r)for(let a of r.childNodes)a.nodeName==="#text"&&a.textContent==="\uFEFF"&&a.remove()}}e.customElements.define("code-block",n)}function pr(i){i.ui.registry.addIcon("codeblock",'<svg width="24" height="24"><path d="M4 3h16c.6 0 1 .4 1 1v16c0 .6-.4 1-1 1H4a1 1 0 0 1-1-1V4c0-.6.4-1 1-1Zm1 2v14h14V5Z"/><path d="M11.103 15.423c.277.277.277.738 0 .922a.692.692 0 0 1-1.106 0l-4.057-3.78a.738.738 0 0 1 0-1.107l4.057-3.872c.276-.277.83-.277 1.106 0a.724.724 0 0 1 0 1.014L7.6 12.012ZM12.897 8.577c-.245-.312-.2-.675.08-.955.28-.281.727-.27 1.027.033l4.057 3.78a.738.738 0 0 1 0 1.107l-4.057 3.872c-.277.277-.83.277-1.107 0a.724.724 0 0 1 0-1.014l3.504-3.412z"/></svg>'),i.ui.registry.addButton("codeeditor",{tooltip:"Insert code block",icon:"codeblock",onAction(){i.execCommand("codeeditor")}}),i.ui.registry.addButton("editcodeeditor",{tooltip:"Edit code block",icon:"edit-block",onAction(){i.execCommand("codeeditor")}}),i.addCommand("codeeditor",()=>{let t=i.selection.getNode(),e=t.ownerDocument;if(Uo(t))Vo(i,t);else{let n=i.selection.getContent({format:"text"}),o=document.dir==="rtl"?"ltr":"";jo(i,n,"",o,(s,r)=>{let a=e.createElement("pre"),l=e.createElement("code");l.classList.add(`language-${r}`),l.innerText=s,o&&a.setAttribute("dir",o),a.append(l),i.insertContent(a.outerHTML)})}}),i.on("dblclick",()=>{let t=i.selection.getNode();Uo(t)&&Vo(i,t)}),i.on("PreInit",()=>{i.parser.addNodeFilter("pre",t=>{for(let e of t){let n=window.tinymce.html.Node.create("code-block",{contenteditable:"false"}),o=e.children().filter(a=>a.name==="code")[0]||null,s=e.attr("dir")||o&&o.attr("dir")||"";s&&n.attr("dir",s);let r=e.getAll("span");for(let a of r)a.unwrap();e.attr("style",null),e.wrap(n)}}),i.parser.addNodeFilter("code-block",t=>{for(let e of t)e.attr("contenteditable","false")}),i.serializer.addNodeFilter("code-block",t=>{for(let e of t){let n=e.attr("dir");n&&e.firstChild?e.firstChild.attr("dir",n):e.firstChild&&e.firstChild.attr("dir",null),e.unwrap()}})}),i.ui.registry.addContextToolbar("codeeditor",{predicate(t){return t.nodeName.toLowerCase()==="code-block"},items:"editcodeeditor",position:"node",scope:"node"}),i.on("PreInit",()=>{ur(i)})}function zo(){return pr}function wi(i){return new Promise((t,e)=>{i.oncomplete=i.onsuccess=()=>t(i.result),i.onabort=i.onerror=()=>e(i.error)})}function mr(i,t){let e=indexedDB.open(i);e.onupgradeneeded=()=>e.result.createObjectStore(t);let n=wi(e);return(o,s)=>n.then(r=>s(r.transaction(t,o).objectStore(t)))}var $n;function Dn(){return $n||($n=mr("keyval-store","keyval")),$n}function An(i,t=Dn()){return t("readonly",e=>wi(e.get(i)))}function In(i,t,e=Dn()){return e("readwrite",n=>(n.put(t,i),wi(n.transaction)))}function Mn(i,t=Dn()){return t("readwrite",e=>(e.delete(i),wi(e.transaction)))}var et=null,On,yi,Bn,Pn="last-drawing-save";function Rn(i){et?.contentWindow?.postMessage(JSON.stringify(i),On)}function gr(i){In(Pn,i.data),Bn&&Bn(i.data).then(()=>{Mn(Pn)})}function vr(i){Rn({action:"export",format:"xmlpng",xml:i.xml,spin:"Updating drawing"})}function br(){yi&&yi().then(i=>{Rn({action:"load",autosave:1,xml:i})})}function wr(){let i={};et&&(window.$events.emitPublic(et,"editor-drawio::configure",{config:i}),Rn({action:"configure",config:i}))}function Wo(){window.removeEventListener("message",Ko),et&&document.body.removeChild(et)}function Ko(i){if(!i.data||i.data.length<1||i.origin!==On)return;let t=JSON.parse(i.data);t.event==="init"?br():t.event==="exit"?Wo():t.event==="save"?vr(t):t.event==="export"?gr(t):t.event==="configure"&&wr()}async function yr(){let i=await An(Pn),t=document.getElementById("unsaved-drawing-dialog");t||console.error("Missing expected unsaved-drawing dialog"),i&&t&&await window.$components.firstOnElement(t,"confirm-dialog").show()&&(yi=async()=>i)}async function Xo(i,t,e){yi=t,Bn=e,await yr(),et=document.createElement("iframe"),et.setAttribute("frameborder","0"),window.addEventListener("message",Ko),et.setAttribute("src",i),et.setAttribute("class","fullscreen"),et.style.backgroundColor="#FFFFFF",document.body.appendChild(et),On=new URL(i).origin}async function Hn(i,t){let e={image:i,uploaded_to:t};return(await window.$http.post(window.baseUrl("/images/drawio"),e)).data}function Ei(){Wo()}async function Go(i){try{return`data:image/png;base64,${(await window.$http.get(window.baseUrl(`/images/drawio/base64/${i}`))).data.content}`}catch(t){throw t instanceof Xt&&window.$events.showResponseError(t),Ei(),t}}var W=null,$t=null,Tt={};function _n(i){return i.hasAttribute("drawio-diagram")}function Cr(i,t=null){W=i,$t=t,window.$components.first("image-manager").show(n=>{if(t){let o=t.querySelector("img");W.undoManager.transact(()=>{W.dom.setAttrib(o,"src",n.url),W.dom.setAttrib(t,"drawio-diagram",n.id)})}else{let o=`<div drawio-diagram="${n.id}" contenteditable="false"><img src="${n.url}"></div>`;W.insertContent(o)}},"drawio")}async function xr(i){let t=window.baseUrl("/loading.gif"),e=s=>{s.status===413?window.$events.emit("error",Tt.translations.serverUploadLimitText):window.$events.emit("error",Tt.translations.imageUploadErrorText),console.error(s)};if($t){Ei();let s=$t.querySelector("img");try{let r=await Hn(i,Tt.pageId);W.undoManager.transact(()=>{W.dom.setAttrib(s,"src",r.url),W.dom.setAttrib($t,"drawio-diagram",r.id)})}catch(r){throw e(r),new Error(`Failed to save image with error: ${r}`)}return}await Zn(5);let n=`drawing-${Math.random().toString(16).slice(2)}`,o=`drawing-wrap-${Math.random().toString(16).slice(2)}`;W.insertContent(`<div drawio-diagram contenteditable="false" id="${o}"><img src="${t}" id="${n}"></div>`),Ei();try{let s=await Hn(i,Tt.pageId);W.undoManager.transact(()=>{W.dom.setAttrib(n,"src",s.url),W.dom.setAttrib(o,"drawio-diagram",s.id)})}catch(s){throw W.dom.remove(o),e(s),new Error(`Failed to save image with error: ${s}`)}}function Sr(){if(!$t)return Promise.resolve("");let i=$t.getAttribute("drawio-diagram");return Go(i)}function Yo(i,t=null){W=i,$t=t,Xo(Tt.drawioUrl,Sr,xr)}function Lr(i){i.addCommand("drawio",()=>{let t=i.selection.getNode();Yo(i,_n(t)?t:null)}),i.ui.registry.addIcon("diagram",`<svg width="24" height="24" fill="${Tt.darkMode?"#BBB":"#000000"}" xmlns="http://www.w3.org/2000/svg"><path d="M20.716 7.639V2.845h-4.794v1.598h-7.99V2.845H3.138v4.794h1.598v7.99H3.138v4.794h4.794v-1.598h7.99v1.598h4.794v-4.794h-1.598v-7.99zM4.736 4.443h1.598V6.04H4.736zm1.598 14.382H4.736v-1.598h1.598zm9.588-1.598h-7.99v-1.598H6.334v-7.99h1.598V6.04h7.99v1.598h1.598v7.99h-1.598zm3.196 1.598H17.52v-1.598h1.598zM17.52 6.04V4.443h1.598V6.04zm-4.21 7.19h-2.79l-.582 1.599H8.643l2.717-7.191h1.119l2.724 7.19h-1.302zm-2.43-1.006h2.086l-1.039-3.06z"/></svg>`),i.ui.registry.addSplitButton("drawio",{tooltip:"Insert/edit drawing",icon:"diagram",onAction(){i.execCommand("drawio"),window.document.body.dispatchEvent(new Event("mousedown",{bubbles:!0}))},fetch(t){t([{type:"choiceitem",text:"Drawing manager",value:"drawing-manager"}])},onItemAction(t,e){if(e==="drawing-manager"){let n=i.selection.getNode();Cr(i,_n(n)?n:null)}}}),i.on("dblclick",()=>{let t=i.selection.getNode();_n(t)&&Yo(i,t)}),i.on("SetContent",()=>{let t=i.dom.select("body > div[drawio-diagram]");t.length&&i.undoManager.transact(()=>{for(let e of t)e.setAttribute("contenteditable","false")})})}function Jo(i){return Tt=i,Lr}function kr(i){i.addCommand("InsertHorizontalRule",()=>{let t=document.createElement("hr"),e=i.selection.getNode(),{parentNode:n}=e;n.insertBefore(t,e)}),i.ui.registry.addButton("customhr",{icon:"horizontal-rule",tooltip:"Insert horizontal line",onAction(){i.execCommand("InsertHorizontalRule")}})}function Zo(){return kr}function Tr(i){i.ui.registry.addButton("imagemanager-insert",{title:"Insert image",icon:"image",tooltip:"Insert image",onAction(){window.$components.first("image-manager").show(e=>{let n=e.thumbs?.display||e.url,o=`<a href="${e.url}" target="_blank">`;o+=`<img src="${n}" alt="${e.name}">`,o+="</a>",i.execCommand("mceInsertContent",!1,o)},"gallery")}})}function Qo(){return Tr}function $r(i){let t={title:"About the WYSIWYG Editor",url:window.baseUrl("/help/tinymce")};i.ui.registry.addButton("about",{icon:"help",tooltip:"About the editor",onAction(){window.tinymce.activeEditor.windowManager.openUrl(t)}})}function ts(){return $r}var es=["p","h1","h2","h3","h4","h5","h6","div","blockquote","pre","code-block","details","ul","ol","table","hr"];function Ci(i){return i.selection.getNode().closest("details")}function Dr(i,t){let e=Ci(i);e&&i.undoManager.transact(()=>{let n=e.querySelector("summary");n||(n=document.createElement("summary"),e.prepend(n)),n.textContent=t})}function Ar(i){return{title:"Edit collapsible block",body:{type:"panel",items:[{type:"input",name:"summary",label:"Toggle label"}]},buttons:[{type:"cancel",text:"Cancel"},{type:"submit",text:"Save",primary:!0}],onSubmit(t){let{summary:e}=t.getData();Dr(i,e),t.close()}}}function Ir(i){let t=i.querySelector("summary");return t?t.textContent:""}function is(i){let t=Ci(i);i.windowManager.open(Ar(i)).setData({summary:Ir(t)})}function Mr(i){let t=i.selection.getNode().closest("details"),e=i.selection.getBookmark();if(t){let n=t.querySelectorAll("details > *:not(summary, doc-root), doc-root > *");i.undoManager.transact(()=>{for(let o of n)t.parentNode.insertBefore(o,t);t.remove()})}i.focus(),i.selection.moveToBookmark(e)}function Fn(i){i.attr("contenteditable",null);let t=!1;for(let e of i.children())e.name==="doc-root"&&(e.unwrap(),t=!0);t&&Fn(i)}function Br(i){Fn(i),i.attr("contenteditable","false");let t=window.tinymce.html.Node.create("doc-root",{contenteditable:"true"}),e=null;for(let n of i.children()){if(n.name==="summary")continue;es.includes(n.name)?(t.append(n),e=null):(e||(e=window.tinymce.html.Node.create("p"),t.append(e)),e.append(n))}i.append(t)}function Pr(i){i.parser.addNodeFilter("details",t=>{for(let e of t)Br(e)}),i.serializer.addNodeFilter("details",t=>{for(let e of t)Fn(e),e.attr("open",null)}),i.serializer.addNodeFilter("doc-root",t=>{for(let e of t)e.unwrap()})}function Or(i){i.ui.registry.addIcon("details",'<svg width="24" height="24"><path d="M8.2 9a.5.5 0 0 0-.4.8l4 5.6a.5.5 0 0 0 .8 0l4-5.6a.5.5 0 0 0-.4-.8ZM20.122 18.151h-16c-.964 0-.934 2.7 0 2.7h16c1.139 0 1.173-2.7 0-2.7zM20.122 3.042h-16c-.964 0-.934 2.7 0 2.7h16c1.139 0 1.173-2.7 0-2.7z"/></svg>'),i.ui.registry.addIcon("togglefold",'<svg height="24" width="24"><path d="M8.12 19.3c.39.39 1.02.39 1.41 0L12 16.83l2.47 2.47c.39.39 1.02.39 1.41 0 .39-.39.39-1.02 0-1.41l-3.17-3.17c-.39-.39-1.02-.39-1.41 0l-3.17 3.17c-.4.38-.4 1.02-.01 1.41zm7.76-14.6c-.39-.39-1.02-.39-1.41 0L12 7.17 9.53 4.7c-.39-.39-1.02-.39-1.41 0-.39.39-.39 1.03 0 1.42l3.17 3.17c.39.39 1.02.39 1.41 0l3.17-3.17c.4-.39.4-1.03.01-1.42z"/></svg>'),i.ui.registry.addIcon("togglelabel",'<svg height="18" width="18" viewBox="0 0 24 24"><path d="M21.41,11.41l-8.83-8.83C12.21,2.21,11.7,2,11.17,2H4C2.9,2,2,2.9,2,4v7.17c0,0.53,0.21,1.04,0.59,1.41l8.83,8.83 c0.78,0.78,2.05,0.78,2.83,0l7.17-7.17C22.2,13.46,22.2,12.2,21.41,11.41z M6.5,8C5.67,8,5,7.33,5,6.5S5.67,5,6.5,5S8,5.67,8,6.5 S7.33,8,6.5,8z"/></svg>'),i.ui.registry.addButton("details",{icon:"details",tooltip:"Insert collapsible block",onAction(){i.execCommand("InsertDetailsBlock")}}),i.ui.registry.addButton("removedetails",{icon:"table-delete-table",tooltip:"Unwrap",onAction(){Mr(i)}}),i.ui.registry.addButton("editdetials",{icon:"togglelabel",tooltip:"Edit label",onAction(){is(i)}}),i.on("dblclick",t=>{!Ci(i)||t.target.closest("doc-root")||is(i)}),i.ui.registry.addButton("toggledetails",{icon:"togglefold",tooltip:"Toggle open/closed",onAction(){Ci(i).toggleAttribute("open"),i.focus()}}),i.addCommand("InsertDetailsBlock",()=>{let t=i.selection.getContent({format:"html"}),e=document.createElement("details"),n=document.createElement("summary"),o=`details-${Date.now()}`;e.setAttribute("data-id",o),e.appendChild(n),t||(t="<p><br></p>"),e.innerHTML+=t,i.insertContent(e.outerHTML),i.focus();let s=i.dom.select(`[data-id="${o}"]`)[0]||null;if(s){let r=s.querySelector("doc-root > *");r&&r.focus(),s.removeAttribute("data-id")}}),i.ui.registry.addContextToolbar("details",{predicate(t){return t.nodeName.toLowerCase()==="details"},items:"editdetials toggledetails removedetails",position:"node",scope:"node"}),i.on("PreInit",()=>{Pr(i)})}function ns(){return Or}function Rr(i){i.ui.registry.addIcon("tableclearformatting",'<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" viewBox="0 0 24 24"><path d="M15.53088 4.64727v-.82364c0-.453-.37063-.82363-.82363-.82363H4.82363C4.37063 3 4 3.37064 4 3.82363v3.29454c0 .453.37064.82364.82363.82364h9.88362c.453 0 .82363-.37064.82363-.82364v-.82363h.82364v3.29454H8.11817v7.4127c0 .453.37064.82364.82364.82364h1.64727c.453 0 .82363-.37064.82363-.82364v-5.76544h6.58907V4.64727Z"/><path d="m18.42672 19.51563-1.54687-1.54688-1.54688 1.54688c-.26751.2675-.70124.2675-.96875 0-.26751-.26752-.26751-.70124 0-.96876L15.9111 17l-1.54688-1.54688c-.26751-.2675-.26751-.70123 0-.96875.26751-.2675.70124-.2675.96875 0l1.54688 1.54688 1.54687-1.54688c.26751-.2675.70124-.2675.96875 0 .26751.26752.26751.70124 0 .96875L17.8486 17l1.54687 1.54688c.26751.2675.26751.70123 0 .96874-.26751.26752-.70124.26752-.96875 0z"/></svg>');let t={items:" | tablerowheader",predicate(n){let o=n.nodeName.toLowerCase()==="table",s=i.selection.getNode(),r=s.closest("table");return!o||!r?!1:r.querySelector("tr").contains(s)},position:"node",scope:"node"};i.ui.registry.addContextToolbar("customtabletoolbarfirstrow",t),i.addCommand("tableclearformatting",()=>{let n=i.dom.getParent(i.selection.getStart(),"table");if(!n)return;let o=["class","style","width","height"],s=[n,...n.querySelectorAll(o.map(r=>`[${r}]`).join(","))];for(let r of s)for(let a of o)r.removeAttribute(a)}),i.addCommand("tableclearsizes",()=>{let n=i.dom.getParent(i.selection.getStart(),"table");if(!n)return;let o=[n,...n.querySelectorAll("tr,td,th,tbody,thead,tfoot,th>*,td>*")];for(let s of o)s.removeAttribute("width"),s.removeAttribute("height"),s.style.height=null,s.style.width=null});let e=()=>{let n=i.ui.registry.getAll().buttons;i.ui.registry.addMenuButton("customtable",{...n.table,fetch:o=>o("inserttable | cell row column | advtablesort | tableprops tableclearformatting tableclearsizes deletetable")}),i.ui.registry.addMenuItem("tableclearformatting",{icon:"tableclearformatting",text:"Clear table formatting",onSetup:n.tableprops.onSetup,onAction(){i.execCommand("tableclearformatting")}}),i.ui.registry.addMenuItem("tableclearsizes",{icon:"resize",text:"Resize to contents",onSetup:n.tableprops.onSetup,onAction(){i.execCommand("tableclearsizes")}}),i.off("PreInit",e)};i.on("PreInit",e)}function os(){return Rr}function Hr(i){let t=i.closest("li");return t&&t.parentNode.nodeName==="UL"&&t.classList.contains("task-list-item")}function _r(i,t,e){let n=t.getBoundingClientRect();i.clientX<=n.right&&i.clientX>=n.left&&i.clientY>=n.top&&i.clientY<=n.bottom||e.undoManager.transact(()=>{t.hasAttribute("checked")?t.removeAttribute("checked"):t.setAttribute("checked","checked")})}function Fr(i){i.attr("class","task-list-item");for(let t of i.children())t.name==="input"&&(t.attr("checked")==="checked"&&i.attr("checked","checked"),t.remove())}function Nr(i){let t=i.attr("checked")==="checked";i.attr("checked",null);let e={type:"checkbox",disabled:"disabled"};t&&(e.checked="checked");let n=window.tinymce.html.Node.create("input",e);n.shortEnded=!0,i.firstChild?i.insert(n,i.firstChild,!0):i.append(n)}function qr(i){i.ui.registry.addIcon("tasklist",'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M22,8c0-0.55-0.45-1-1-1h-7c-0.55,0-1,0.45-1,1s0.45,1,1,1h7C21.55,9,22,8.55,22,8z M13,16c0,0.55,0.45,1,1,1h7 c0.55,0,1-0.45,1-1c0-0.55-0.45-1-1-1h-7C13.45,15,13,15.45,13,16z M10.47,4.63c0.39,0.39,0.39,1.02,0,1.41l-4.23,4.25 c-0.39,0.39-1.02,0.39-1.42,0L2.7,8.16c-0.39-0.39-0.39-1.02,0-1.41c0.39-0.39,1.02-0.39,1.41,0l1.42,1.42l3.54-3.54 C9.45,4.25,10.09,4.25,10.47,4.63z M10.48,12.64c0.39,0.39,0.39,1.02,0,1.41l-4.23,4.25c-0.39,0.39-1.02,0.39-1.42,0L2.7,16.16 c-0.39-0.39-0.39-1.02,0-1.41s1.02-0.39,1.41,0l1.42,1.42l3.54-3.54C9.45,12.25,10.09,12.25,10.48,12.64L10.48,12.64z"/></svg>'),i.ui.registry.addToggleButton("tasklist",{tooltip:"Task list",icon:"tasklist",active:!1,onAction(n){n.isActive()?i.execCommand("RemoveList"):i.execCommand("InsertUnorderedList",null,{"list-item-attributes":{class:"task-list-item"},"list-style-type":"tasklist"})},onSetup(n){i.on("NodeChange",o=>{let s=o.parents.find(a=>a.nodeName==="LI"),r=s&&s.classList.contains("task-list-item");n.setActive(!!r)})}});let t=i.ui.registry.getAll().buttons.bullist;t.onSetup=function(o){i.on("NodeChange",s=>{let r=s.parents.find(c=>c.nodeName==="LI"),a=r&&r.classList.contains("task-list-item"),l=r&&r.parentNode.nodeName==="UL";o.setActive(!!(l&&!a))})},t.onAction=function(){Hr(i.selection.getNode())&&i.execCommand("InsertOrderedList",null,{"list-item-attributes":{class:null}}),i.execCommand("InsertUnorderedList",null,{"list-item-attributes":{class:null}})};let e=i.ui.registry.getAll().buttons.numlist;e.onAction=function(){i.execCommand("InsertOrderedList",null,{"list-item-attributes":{class:null}})},i.on("PreInit",()=>{i.parser.addNodeFilter("li",n=>{for(let o of n)o.attributes.map.class==="task-list-item"&&Fr(o)}),i.serializer.addNodeFilter("li",n=>{for(let o of n)o.attributes.map.class==="task-list-item"&&Nr(o)})}),i.on("click",n=>{let o=n.target;o.nodeName==="LI"&&o.classList.contains("task-list-item")&&(_r(n,o,i),n.preventDefault())})}function ss(){return qr}function rs(i){function t(e){let n=e.querySelector("iframe, video");if(!n)return;let o=[...n.classList.values()].filter(r=>r.startsWith("align-")),s=[...e.classList.values()].filter(r=>r.startsWith("align-"));e.classList.remove(...s),e.classList.add(...o)}i.on("SetContent",()=>{let e=i.dom.select("span.mce-preview-object");for(let n of e)t(n)}),i.on("FormatApply",e=>{let n=e.format.startsWith("align");if(!(e.node instanceof i.dom.doc.defaultView.HTMLElement)||!n||!e.node.matches(".mce-preview-object"))return;let s=e.node.querySelector("iframe, video");if(s){let r=(i.formatter.get(e.format)[0]?.classes||[])[0],a=!s.classList.contains(r),c=(e.node.getAttribute("data-mce-p-class")||"").split(" ").filter(h=>!h.startsWith("align-"));a&&c.push(r);let u=c.join(" ");e.node.setAttribute("data-mce-p-class",u),s.setAttribute("class",u),i.formatter.apply(e.format,{},s),t(e.node)}})}function as(i){let t=i.querySelectorAll('[align],[style*="text-align"],.align-center,.align-left,.align-right');for(let e of t)e.removeAttribute("align"),e.style.textAlign=null,e.classList.remove("align-center","align-right","align-left")}function Nn(i){let t=i.querySelectorAll('[dir],[style*="direction"]');for(let e of t)e.removeAttribute("dir"),e.style.direction=null;as(i),i.style.direction=null,i.style.textAlign=null,i.removeAttribute("align")}function ls(i){let t=[];i.on("TableSelectionChange",n=>{t=(n.cells||[]).map(o=>o.dom)}),i.on("TableSelectionClear",()=>{t=[]});let e={RemoveFormat:n=>{let o=["class","style","width","height","align"];for(let s of o)n.removeAttribute(s)},mceDirectionLTR:n=>{n.setAttribute("dir","ltr"),Nn(n)},mceDirectionRTL:n=>{n.setAttribute("dir","rtl"),Nn(n)},JustifyLeft:n=>{n.removeAttribute("align"),as(n)}};e.JustifyRight=e.JustifyLeft,e.JustifyCenter=e.JustifyLeft,e.JustifyFull=e.JustifyLeft,i.on("ExecCommand",n=>{let o=e[n.command];if(o)for(let s of t)o(s)})}function cs(i){i.on("ExecCommand",t=>{let e=t.command;if(e!=="mceDirectionLTR"&&e!=="mceDirectionRTL")return;let n=i.selection.getSelectedBlocks();for(let o of n)Nn(o)})}var Ur=[{title:"Large Header",format:"h2",preview:"color: blue;"},{title:"Medium Header",format:"h3"},{title:"Small Header",format:"h4"},{title:"Tiny Header",format:"h5"},{title:"Paragraph",format:"p",exact:!0,classes:""},{title:"Blockquote",format:"blockquote"},{title:"Callouts",items:[{title:"Information",format:"calloutinfo"},{title:"Success",format:"calloutsuccess"},{title:"Warning",format:"calloutwarning"},{title:"Danger",format:"calloutdanger"}]}],Vr={alignleft:{selector:"p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li,table,img,iframe,video",classes:"align-left"},aligncenter:{selector:"p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li,table,img,iframe,video",classes:"align-center"},alignright:{selector:"p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li,table,img,iframe,video",classes:"align-right"},calloutsuccess:{block:"p",exact:!0,attributes:{class:"callout success"}},calloutinfo:{block:"p",exact:!0,attributes:{class:"callout info"}},calloutwarning:{block:"p",exact:!0,attributes:{class:"callout warning"}},calloutdanger:{block:"p",exact:!0,attributes:{class:"callout danger"}}},jr=["#BFEDD2","","#FBEEB8","","#F8CAC6","","#ECCAFA","","#C2E0F4","","#2DC26B","","#F1C40F","","#E03E2D","","#B96AD9","","#3598DB","","#169179","","#E67E23","","#BA372A","","#843FA1","","#236FA1","","#ECF0F1","","#CED4D9","","#95A5A6","","#7E8C8D","","#34495E","","#000000","","#ffffff",""];function ds(i,t,e){if(e.filetype==="file"){let n=window.$components.first("entity-selector-popup"),o=this.selection.getContent({format:"text"}).trim();n.show(s=>{i(s.link,{text:s.name,title:s.name})},{initialValue:o,searchEndpoint:"/search/entity-selector",entityTypes:"page,book,chapter,bookshelf",entityPermission:"view"})}e.filetype==="image"&&window.$components.first("image-manager").show(o=>{i(o.url,{alt:o.name})},"gallery")}function zr(i){let t=["image","table","link","autolink","fullscreen","code","customhr","autosave","lists","codeeditor","media","imagemanager","about","details","tasklist","tableadditions",i.textDirection==="rtl"?"directionality":""];return window.tinymce.PluginManager.add("codeeditor",zo()),window.tinymce.PluginManager.add("customhr",Zo()),window.tinymce.PluginManager.add("imagemanager",Qo()),window.tinymce.PluginManager.add("about",ts()),window.tinymce.PluginManager.add("details",ns()),window.tinymce.PluginManager.add("tasklist",ss()),window.tinymce.PluginManager.add("tableadditions",os()),i.drawioUrl&&(window.tinymce.PluginManager.add("drawio",Jo(i)),t.push("drawio")),t.filter(e=>!!e)}function hs(i){let t=document.head.innerHTML.split(` `),e=t.findIndex(r=>r.trim()==="<!-- Start: custom user content -->"),n=t.findIndex(r=>r.trim()==="<!-- End: custom user content -->");if(e===-1||n===-1)return;let o=t.slice(e+1,n).join(` -`),s=i.createElement("div");s.innerHTML=o,i.head.append(...s.children)}function Vr(i){return function(e){function n(){i.darkMode&&e.contentDocument.documentElement.classList.add("dark-mode"),window.$events.emit("editor-html-change","")}e.on("ExecCommand change input NodeChange ObjectResized",n),Io(e),Po(e,i),e.on("init",()=>{n(),Mo(e),window.editor=e,Ao(e)}),e.on("PreInit",()=>{Ho(e)}),ns(e),ss(e),rs(e),window.$events.emitPublic(i.containerElement,"editor-tinymce::setup",{editor:e}),e.ui.registry.addButton("inlinecode",{tooltip:"Inline code",icon:"sourcecode",onAction(){e.execCommand("mceToggleFormat",!1,"code")}})}}function cs(i){return` +`),s=i.createElement("div");s.innerHTML=o,i.head.append(...s.children)}function Wr(i){return function(e){function n(){i.darkMode&&e.contentDocument.documentElement.classList.add("dark-mode"),window.$events.emit("editor-html-change","")}e.on("ExecCommand change input NodeChange ObjectResized",n),Po(e),Ho(e,i),e.on("init",()=>{n(),Oo(e),window.editor=e,Bo(e)}),e.on("PreInit",()=>{qo(e)}),rs(e),ls(e),cs(e),window.$events.emitPublic(i.containerElement,"editor-tinymce::setup",{editor:e}),e.ui.registry.addButton("inlinecode",{tooltip:"Inline code",icon:"sourcecode",onAction(){e.execCommand("mceToggleFormat",!1,"code")}})}}function us(i){return` html, body, html.dark-mode { background: ${i.darkMode?"#222":"#fff"}; } @@ -19,7 +19,7 @@ body { margin-right: auto !important; overflow-y: hidden !important; }`.trim().replace(` -`,"")}function ds(i){return window.tinymce.addI18n(i.language,i.translationMap),{width:"100%",height:"100%",selector:"#html-editor",cache_suffix:`?version=${document.querySelector('script[src*="/dist/app.js"]').getAttribute("src").split("?version=")[1]}`,content_css:[window.baseUrl("/dist/styles.css")],branding:!1,skin:i.darkMode?"tinymce-5-dark":"tinymce-5",body_class:"page-content",browser_spellcheck:!0,relative_urls:!1,language:i.language,directionality:i.textDirection,remove_script_host:!1,document_base_url:window.baseUrl("/"),end_container_on_empty_block:!0,remove_trailing_brs:!1,statusbar:!1,menubar:!1,paste_data_images:!1,extended_valid_elements:"pre[*],svg[*],div[drawio-diagram],details[*],summary[*],div[*],li[class|checked|style]",automatic_uploads:!1,custom_elements:"doc-root,code-block",valid_children:["-div[p|h1|h2|h3|h4|h5|h6|blockquote|code-block]","+div[pre|img]","-doc-root[doc-root|#text]","-li[details]","+code-block[pre]","+doc-root[p|h1|h2|h3|h4|h5|h6|blockquote|code-block|div|hr]"].join(","),plugins:Ur(i),contextmenu:!1,toolbar:Oo(i),content_style:cs(i),style_formats:Fr,style_formats_merge:!1,media_alt_source:!1,media_poster:!1,formats:Nr,table_style_by_css:!0,table_use_colgroups:!0,file_picker_types:"file image",color_map:qr,file_picker_callback:as,paste_preprocess(e,n){let{content:o}=n;o.indexOf('<img src="file://')!==-1&&(n.content="")},init_instance_callback(e){ls(e.getDoc())},setup(e){_o(e),Ro(e),Vr(i)(e)}}}function qt(i){window.tinymce.addI18n(i.language,i.translationMap);let t=document.querySelector('script[src*="/dist/app.js"]').getAttribute("src").split("?version=")[1];return{width:"100%",height:"185px",target:i.containerElement,cache_suffix:`?version=${t}`,content_css:[window.baseUrl("/dist/styles.css")],branding:!1,skin:i.darkMode?"tinymce-5-dark":"tinymce-5",body_class:"wysiwyg-input",browser_spellcheck:!0,relative_urls:!1,language:i.language,directionality:i.textDirection,remove_script_host:!1,document_base_url:window.baseUrl("/"),end_container_on_empty_block:!0,remove_trailing_brs:!1,statusbar:!1,menubar:!1,plugins:"link autolink lists",contextmenu:!1,toolbar:"bold italic link bullist numlist",content_style:cs(i),file_picker_types:"file",valid_elements:"p,a[href|title|target],ol,ul,li,strong,em,br",file_picker_callback:as,init_instance_callback(e){ls(e.getDoc()),e.contentDocument.documentElement.classList.toggle("dark-mode",i.darkMode)}}}var xi=class extends d{setup(){this.commentId=this.$opts.commentId,this.commentLocalId=this.$opts.commentLocalId,this.commentParentId=this.$opts.commentParentId,this.deletedText=this.$opts.deletedText,this.updatedText=this.$opts.updatedText,this.wysiwygEditor=null,this.wysiwygLanguage=this.$opts.wysiwygLanguage,this.wysiwygTextDirection=this.$opts.wysiwygTextDirection,this.container=this.$el,this.contentContainer=this.$refs.contentContainer,this.form=this.$refs.form,this.formCancel=this.$refs.formCancel,this.editButton=this.$refs.editButton,this.deleteButton=this.$refs.deleteButton,this.replyButton=this.$refs.replyButton,this.input=this.$refs.input,this.setupListeners()}setupListeners(){this.replyButton&&this.replyButton.addEventListener("click",()=>this.$emit("reply",{id:this.commentLocalId,element:this.container})),this.editButton&&(this.editButton.addEventListener("click",this.startEdit.bind(this)),this.form.addEventListener("submit",this.update.bind(this)),this.formCancel.addEventListener("click",()=>this.toggleEditMode(!1))),this.deleteButton&&this.deleteButton.addEventListener("click",this.delete.bind(this))}toggleEditMode(t){this.contentContainer.toggleAttribute("hidden",t),this.form.toggleAttribute("hidden",!t)}startEdit(){if(this.toggleEditMode(!0),this.wysiwygEditor){this.wysiwygEditor.focus();return}let t=qt({language:this.wysiwygLanguage,containerElement:this.input,darkMode:document.documentElement.classList.contains("dark-mode"),textDirection:this.wysiwygTextDirection,translations:{},translationMap:window.editor_translations});window.tinymce.init(t).then(e=>{this.wysiwygEditor=e[0],setTimeout(()=>this.wysiwygEditor.focus(),50)})}async update(t){t.preventDefault();let e=this.showLoading();this.form.toggleAttribute("hidden",!0);let n={html:this.wysiwygEditor.getContent(),parent_id:this.parentId||null};try{let o=await window.$http.put(`/comment/${this.commentId}`,n),s=nt(o.data);this.container.replaceWith(s),window.$events.success(this.updatedText)}catch(o){console.error(o),window.$events.showValidationErrors(o),this.form.toggleAttribute("hidden",!1),e.remove()}}async delete(){this.showLoading(),await window.$http.delete(`/comment/${this.commentId}`),this.$emit("delete"),this.container.closest(".comment-branch").remove(),window.$events.success(this.deletedText)}showLoading(){let t=At();return t.classList.add("px-l"),this.container.append(t),t}};var Si=class extends d{setup(){this.elem=this.$el,this.pageId=Number(this.$opts.pageId),this.container=this.$refs.commentContainer,this.commentCountBar=this.$refs.commentCountBar,this.commentsTitle=this.$refs.commentsTitle,this.addButtonContainer=this.$refs.addButtonContainer,this.replyToRow=this.$refs.replyToRow,this.formContainer=this.$refs.formContainer,this.form=this.$refs.form,this.formInput=this.$refs.formInput,this.formReplyLink=this.$refs.formReplyLink,this.addCommentButton=this.$refs.addCommentButton,this.hideFormButton=this.$refs.hideFormButton,this.removeReplyToButton=this.$refs.removeReplyToButton,this.wysiwygLanguage=this.$opts.wysiwygLanguage,this.wysiwygTextDirection=this.$opts.wysiwygTextDirection,this.wysiwygEditor=null,this.createdText=this.$opts.createdText,this.countText=this.$opts.countText,this.parentId=null,this.formReplyText=this.formReplyLink?.textContent||"",this.setupListeners()}setupListeners(){this.elem.addEventListener("page-comment-delete",()=>{setTimeout(()=>this.updateCount(),1),this.hideForm()}),this.elem.addEventListener("page-comment-reply",t=>{this.setReply(t.detail.id,t.detail.element)}),this.form&&(this.removeReplyToButton.addEventListener("click",this.removeReplyTo.bind(this)),this.hideFormButton.addEventListener("click",this.hideForm.bind(this)),this.addCommentButton.addEventListener("click",this.showForm.bind(this)),this.form.addEventListener("submit",this.saveComment.bind(this)))}saveComment(t){t.preventDefault(),t.stopPropagation();let e=At();e.classList.add("px-l"),this.form.after(e),this.form.toggleAttribute("hidden",!0);let n={html:this.wysiwygEditor.getContent(),parent_id:this.parentId||null};window.$http.post(`/comment/${this.pageId}`,n).then(o=>{let s=nt(o.data);n.parent_id?this.formContainer.after(s):this.container.append(s),window.$events.success(this.createdText),this.hideForm(),this.updateCount()}).catch(o=>{this.form.toggleAttribute("hidden",!1),window.$events.showValidationErrors(o)}),this.form.toggleAttribute("hidden",!1),e.remove()}updateCount(){let t=this.getCommentCount();this.commentsTitle.textContent=window.$trans.choice(this.countText,t,{count:t})}resetForm(){this.removeEditor(),this.formInput.value="",this.parentId=null,this.replyToRow.toggleAttribute("hidden",!0),this.container.append(this.formContainer)}showForm(){this.removeEditor(),this.formContainer.toggleAttribute("hidden",!1),this.addButtonContainer.toggleAttribute("hidden",!0),this.formContainer.scrollIntoView({behavior:"smooth",block:"nearest"}),this.loadEditor()}hideForm(){this.resetForm(),this.formContainer.toggleAttribute("hidden",!0),this.getCommentCount()>0?this.elem.append(this.addButtonContainer):this.commentCountBar.append(this.addButtonContainer),this.addButtonContainer.toggleAttribute("hidden",!1)}loadEditor(){if(this.wysiwygEditor){this.wysiwygEditor.focus();return}let t=qt({language:this.wysiwygLanguage,containerElement:this.formInput,darkMode:document.documentElement.classList.contains("dark-mode"),textDirection:this.wysiwygTextDirection,translations:{},translationMap:window.editor_translations});window.tinymce.init(t).then(e=>{this.wysiwygEditor=e[0],setTimeout(()=>this.wysiwygEditor.focus(),50)})}removeEditor(){this.wysiwygEditor&&(this.wysiwygEditor.remove(),this.wysiwygEditor=null)}getCommentCount(){return this.container.querySelectorAll('[component="page-comment"]').length}setReply(t,e){e.closest(".comment-branch").querySelector(".comment-branch-children").append(this.formContainer),this.showForm(),this.parentId=t,this.replyToRow.toggleAttribute("hidden",!1),this.formReplyLink.textContent=this.formReplyText.replace("1234",this.parentId),this.formReplyLink.href=`#comment${this.parentId}`}removeReplyTo(){this.parentId=null,this.replyToRow.toggleAttribute("hidden",!0),this.container.append(this.formContainer),this.showForm()}};function jr(i,t){Ji(`#page-navigation a[href="#${i}"]`,e=>{e.closest("li").classList.toggle("current-heading",t)})}function zr(i){for(let t of i){let e=t.intersectionRatio===1;jr(t.target.id,e)}}function Wr(i){let t={rootMargin:"0px 0px 0px 0px",threshold:1},e=new IntersectionObserver(zr,t);for(let n of i)e.observe(n)}var Li=class extends d{setup(){if(this.container=this.$el,this.pageId=this.$opts.pageId,window.importVersioned("code").then(e=>e.highlight()),this.setupNavHighlighting(),window.location.hash){let e=window.location.hash.replace(/%20/g," ").substring(1);this.goToText(e)}let t=document.querySelector(".sidebar-page-nav");t&&I(t,"a","click",(e,n)=>{e.preventDefault(),window.$components.first("tri-layout").showContent();let o=n.getAttribute("href").substr(1);this.goToText(o),window.history.pushState(null,null,`#${o}`)})}goToText(t){let e=document.getElementById(t);if(Ji(".page-content [data-highlighted]",n=>{n.removeAttribute("data-highlighted"),n.style.backgroundColor=null}),e!==null)Qi(e);else{let n=Wn(".page-content > div > *",t);n&&Qi(n)}}setupNavHighlighting(){let t=document.querySelector(".sidebar-page-nav"),e=document.querySelector(".page-content").querySelectorAll("h1, h2, h3, h4, h5, h6");e.length>0&&t!==null&&Wr(e)}};function hs(i){let t=new Date(i*1e3),e=t.getHours(),n=t.getMinutes();return`${(e>9?"":"0")+e}:${(n>9?"":"0")+n}`}var ki=class extends d{setup(){this.draftsEnabled=this.$opts.draftsEnabled==="true",this.editorType=this.$opts.editorType,this.pageId=Number(this.$opts.pageId),this.isNewDraft=this.$opts.pageNewDraft==="true",this.hasDefaultTitle=this.$opts.hasDefaultTitle||!1,this.container=this.$el,this.titleElem=this.$refs.titleContainer.querySelector("input"),this.saveDraftButton=this.$refs.saveDraft,this.discardDraftButton=this.$refs.discardDraft,this.discardDraftWrap=this.$refs.discardDraftWrap,this.deleteDraftButton=this.$refs.deleteDraft,this.deleteDraftWrap=this.$refs.deleteDraftWrap,this.draftDisplay=this.$refs.draftDisplay,this.draftDisplayIcon=this.$refs.draftDisplayIcon,this.changelogInput=this.$refs.changelogInput,this.changelogDisplay=this.$refs.changelogDisplay,this.changeEditorButtons=this.$manyRefs.changeEditor||[],this.switchDialogContainer=this.$refs.switchDialog,this.deleteDraftDialogContainer=this.$refs.deleteDraftDialog,this.draftText=this.$opts.draftText,this.autosaveFailText=this.$opts.autosaveFailText,this.editingPageText=this.$opts.editingPageText,this.draftDiscardedText=this.$opts.draftDiscardedText,this.draftDeleteText=this.$opts.draftDeleteText,this.draftDeleteFailText=this.$opts.draftDeleteFailText,this.setChangelogText=this.$opts.setChangelogText,this.autoSave={interval:null,frequency:3e4,last:0,pendingChange:!1},this.shownWarningsCache=new Set,this.pageId!==0&&this.draftsEnabled&&window.setTimeout(()=>{this.startAutoSave()},1e3),this.draftDisplay.innerHTML=this.draftText,this.setupListeners(),this.setInitialFocus()}setupListeners(){window.$events.listen("editor-save-draft",this.saveDraft.bind(this)),window.$events.listen("editor-save-page",this.savePage.bind(this));let t=()=>{this.autoSave.pendingChange=!0};window.$events.listen("editor-html-change",t),window.$events.listen("editor-markdown-change",t),this.titleElem.addEventListener("input",t);let e=It(this.updateChangelogDisplay.bind(this),300,!1);this.changelogInput.addEventListener("input",e),S(this.saveDraftButton,this.saveDraft.bind(this)),S(this.discardDraftButton,this.discardDraft.bind(this)),S(this.deleteDraftButton,this.deleteDraft.bind(this)),S(this.changeEditorButtons,this.changeEditor.bind(this))}setInitialFocus(){if(this.hasDefaultTitle){this.titleElem.select();return}window.setTimeout(()=>{window.$events.emit("editor::focus","")},500)}startAutoSave(){this.autoSave.interval=window.setInterval(this.runAutoSave.bind(this),this.autoSave.frequency)}runAutoSave(){Date.now()-this.autoSave.last<this.autoSave.frequency/2||!this.autoSave.pendingChange||this.saveDraft()}savePage(){this.container.closest("form").submit()}async saveDraft(){let t={name:this.titleElem.value.trim()},e=await this.getEditorComponent().getContent();Object.assign(t,e);let n=!1;try{let o=await window.$http.put(`/ajax/page/${this.pageId}/save-draft`,t);this.isNewDraft||(this.discardDraftWrap.toggleAttribute("hidden",!1),this.deleteDraftWrap.toggleAttribute("hidden",!1)),this.draftNotifyChange(`${o.data.message} ${hs(o.data.timestamp)}`),this.autoSave.last=Date.now(),o.data.warning&&!this.shownWarningsCache.has(o.data.warning)&&(window.$events.emit("warning",o.data.warning),this.shownWarningsCache.add(o.data.warning)),n=!0,this.autoSave.pendingChange=!1}catch{try{let s=`draft-save-fail-${new Date().toISOString()}`;window.localStorage.setItem(s,JSON.stringify(t))}catch(s){console.error(s)}window.$events.emit("error",this.autosaveFailText)}return n}draftNotifyChange(t){this.draftDisplay.innerText=t,this.draftDisplayIcon.classList.add("visible"),window.setTimeout(()=>{this.draftDisplayIcon.classList.remove("visible")},2e3)}async discardDraft(t=!0){let e;try{e=await window.$http.get(`/ajax/page/${this.pageId}`)}catch(n){console.error(n);return}this.autoSave.interval&&window.clearInterval(this.autoSave.interval),this.draftDisplay.innerText=this.editingPageText,this.discardDraftWrap.toggleAttribute("hidden",!0),window.$events.emit("editor::replace",{html:e.data.html,markdown:e.data.markdown}),this.titleElem.value=e.data.name,window.setTimeout(()=>{this.startAutoSave()},1e3),t&&window.$events.success(this.draftDiscardedText)}async deleteDraft(){if(await window.$components.firstOnElement(this.deleteDraftDialogContainer,"confirm-dialog").show())try{let n=this.discardDraft(!1),o=window.$http.delete(`/page-revisions/user-drafts/${this.pageId}`);await Promise.all([n,o]),window.$events.success(this.draftDeleteText),this.deleteDraftWrap.toggleAttribute("hidden",!0)}catch(n){console.error(n),window.$events.error(this.draftDeleteFailText)}}updateChangelogDisplay(){let t=this.changelogInput.value.trim();t.length===0?t=this.setChangelogText:t.length>16&&(t=`${t.slice(0,16)}...`),this.changelogDisplay.innerText=t}async changeEditor(t){t.preventDefault();let e=t.target.closest("a").href,n=window.$components.firstOnElement(this.switchDialogContainer,"confirm-dialog"),[o,s]=await Promise.all([this.saveDraft(),n.show()]);o&&s&&(window.location=e)}getEditorComponent(){return window.$components.first("markdown-editor")||window.$components.first("wysiwyg-editor")||window.$components.first("wysiwyg-editor-tinymce")}};function Ti(i,t){i.toggleAttribute("hidden",!t)}var $i=class extends d{setup(){this.input=this.$refs.input,this.resetButton=this.$refs.resetButton,this.selectButton=this.$refs.selectButton,this.display=this.$refs.display,this.defaultDisplay=this.$refs.defaultDisplay,this.buttonSep=this.$refs.buttonSeperator,this.selectorEndpoint=this.$opts.selectorEndpoint,this.value=this.input.value,this.setupListeners()}setupListeners(){this.selectButton.addEventListener("click",this.showPopup.bind(this)),this.display.parentElement.addEventListener("click",this.showPopup.bind(this)),this.display.addEventListener("click",t=>t.stopPropagation()),this.resetButton.addEventListener("click",()=>{this.setValue("","")})}showPopup(){window.$components.first("entity-selector-popup").show(e=>{this.setValue(e.id,e.name)},{initialValue:"",searchEndpoint:this.selectorEndpoint,entityTypes:"page",entityPermission:"view"})}setValue(t,e){this.value=t,this.input.value=t,this.controlView(e)}controlView(t){let e=this.value&&this.value!==0;if(Ti(this.resetButton,e),Ti(this.buttonSep,e),Ti(this.defaultDisplay,!e),Ti(this.display,e),e){let n=this.getAssetIdFromVal();this.display.textContent=`#${n}, ${t}`,this.display.href=window.baseUrl(`/link/${n}`)}}getAssetIdFromVal(){return Number(this.value)}};var Di=class extends d{setup(){this.container=this.$el,this.cellSelector=this.$opts.cellSelector||"td,th",this.rowSelector=this.$opts.rowSelector||"tr";for(let t of this.$manyRefs.toggleAll||[])t.addEventListener("click",this.toggleAllClick.bind(this));for(let t of this.$manyRefs.toggleRow||[])t.addEventListener("click",this.toggleRowClick.bind(this));for(let t of this.$manyRefs.toggleColumn||[])t.addEventListener("click",this.toggleColumnClick.bind(this))}toggleAllClick(t){t.preventDefault(),this.toggleAllInElement(this.container)}toggleRowClick(t){t.preventDefault(),this.toggleAllInElement(t.target.closest(this.rowSelector))}toggleColumnClick(t){t.preventDefault();let e=t.target.closest(this.cellSelector),n=Array.from(e.parentElement.children).indexOf(e),o=this.container.querySelectorAll(this.rowSelector),s=[];for(let r of o){let a=r.children[n];a&&s.push(...a.querySelectorAll("input[type=checkbox]"))}this.toggleAllInputs(s)}toggleAllInElement(t){let e=t.querySelectorAll("input[type=checkbox]");this.toggleAllInputs(e)}toggleAllInputs(t){let e=t.length>0?t[0].checked:!1;for(let n of t)n.checked=!e,n.dispatchEvent(new Event("change"))}};var Ai=class extends d{setup(){this.container=this.$el,this.pointer=this.$refs.pointer,this.linkInput=this.$refs.linkInput,this.linkButton=this.$refs.linkButton,this.includeInput=this.$refs.includeInput,this.includeButton=this.$refs.includeButton,this.sectionModeButton=this.$refs.sectionModeButton,this.modeToggles=this.$manyRefs.modeToggle,this.modeSections=this.$manyRefs.modeSection,this.pageId=this.$opts.pageId,this.showing=!1,this.isSelection=!1,this.setupListeners()}setupListeners(){this.includeButton.addEventListener("click",()=>Sn(this.includeInput.value)),this.linkButton.addEventListener("click",()=>Sn(this.linkInput.value)),S([this.includeInput,this.linkInput],e=>{e.target.select(),e.stopPropagation()}),ge(this.pointer,["click","focus"],e=>{e.stopPropagation()}),ge(document.body,["click","focus"],()=>{!this.showing||this.isSelection||this.hidePointer()}),zn(this.pointer,this.hidePointer.bind(this));let t=document.querySelector(".page-content");ge(t,["mouseup","keyup"],e=>{e.stopPropagation();let n=e.target.closest('[id^="bkmrk"]');n&&window.getSelection().toString().length>0&&this.showPointerAtTarget(n,e.pageX,!1)}),S(this.sectionModeButton,this.enterSectionSelectMode.bind(this)),S(this.modeToggles,e=>{for(let n of this.modeSections){let o=!n.contains(e.target);n.toggleAttribute("hidden",!o)}this.modeToggles.find(n=>n!==e.target).focus()})}hidePointer(){this.pointer.style.display=null,this.showing=!1}showPointerAtTarget(t,e,n){this.updateForTarget(t),this.pointer.style.display="block";let o=t.getBoundingClientRect(),s=this.pointer.getBoundingClientRect(),a=Math.min(Math.max(e,o.left),o.right)-s.width/2,l=o.top-s.height-16;this.pointer.style.left=`${a}px`,this.pointer.style.top=`${l}px`,this.showing=!0,this.isSelection=!0,setTimeout(()=>{this.isSelection=!1},100);let c=()=>{this.hidePointer(),window.removeEventListener("scroll",c,{passive:!0})};t.parentElement.insertBefore(this.pointer,t),n||window.addEventListener("scroll",c,{passive:!0})}updateForTarget(t){let e=window.baseUrl(`/link/${this.pageId}#${t.id}`),n=`{{@${this.pageId}#${t.id}}}`;this.linkInput.value=e,this.includeInput.value=n;let o=this.pointer.querySelector("#pointer-edit");if(o&&t){let{editHref:s}=o.dataset,r=t.id,a=t.textContent&&t.textContent.substring(0,50);o.href=`${s}?content-id=${r}&content-text=${encodeURIComponent(a)}`}}enterSectionSelectMode(){let t=Array.from(document.querySelectorAll('.page-content [id^="bkmrk"]'));for(let e of t)e.setAttribute("tabindex","0");t[0].focus(),Dt(t,e=>{this.showPointerAtTarget(e.target,0,!0),this.pointer.focus()})}};var Ii=class extends d{setup(){this.container=this.$el,this.hideButtons=this.$manyRefs.hide||[],this.onkeyup=null,this.onHide=null,this.setupListeners()}setupListeners(){let t=null;this.container.addEventListener("mousedown",e=>{t=e.target}),this.container.addEventListener("click",e=>{e.target===this.container&&t===this.container&&this.hide()}),S(this.hideButtons,()=>this.hide())}hide(t=null){To(this.container,120,t),this.onkeyup&&(window.removeEventListener("keyup",this.onkeyup),this.onkeyup=null),this.onHide&&this.onHide()}show(t=null,e=null){ko(this.container,120,t),this.onkeyup=n=>{n.key==="Escape"&&this.hide()},window.addEventListener("keyup",this.onkeyup),this.onHide=e}};var Mi=class extends d{setup(){this.container=this.$el,this.mode=this.$opts.mode,this.lightContainer=this.$refs.lightContainer,this.darkContainer=this.$refs.darkContainer,this.container.addEventListener("tabs-change",e=>{let o=e.detail.showing==="color-scheme-panel-light"?"light":"dark";this.handleModeChange(o)});let t=e=>{this.updateAppColorsFromInputs(),e.target.name.startsWith("setting-app-color")&&this.updateLightForInput(e.target)};this.container.addEventListener("change",t),this.container.addEventListener("input",t)}handleModeChange(t){this.mode=t;let e=t==="dark";document.documentElement.classList.toggle("dark-mode",e),this.updateAppColorsFromInputs()}updateAppColorsFromInputs(){let e=(this.mode==="dark"?this.darkContainer:this.lightContainer).querySelectorAll('input[type="color"]');for(let n of e){let o=n.name.split("-"),s=o.indexOf("color"),r=o.slice(1,s).join("-");r==="app"&&(r="primary");let a=`--color-${r}`;document.body.style.setProperty(a,n.value)}}updateLightForInput(t){let e=t.name.replace("-color","-color-light"),n=t.value,o=this.hexToRgb(n),s=`rgba(${[o.r,o.g,o.b,"0.15"].join(",")})`,r=this.container.querySelector(`input[name="${e}"][type="hidden"]`);r.value=s}hexToRgb(t){let e=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return{r:e?parseInt(e[1],16):0,g:e?parseInt(e[2],16):0,b:e?parseInt(e[3],16):0}}};var Bi=class extends d{setup(){this.colorInput=this.$refs.input,this.resetButton=this.$refs.resetButton,this.defaultButton=this.$refs.defaultButton,this.currentColor=this.$opts.current,this.defaultColor=this.$opts.default,this.resetButton.addEventListener("click",()=>this.setValue(this.currentColor)),this.defaultButton.addEventListener("click",()=>this.setValue(this.defaultColor))}setValue(t){this.colorInput.value=t,this.colorInput.dispatchEvent(new Event("change",{bubbles:!0}))}};var Pi=class extends d{setup(){this.typeControl=this.$refs.typeControl,this.pagePickerContainer=this.$refs.pagePickerContainer,this.typeControl.addEventListener("change",this.controlPagePickerVisibility.bind(this)),this.controlPagePickerVisibility()}controlPagePickerVisibility(){let t=this.typeControl.value==="page";this.pagePickerContainer.style.display=t?"block":"none"}};var Kr={move_up(i){let t=i.parentNode,e=Array.from(t.children).indexOf(i),n=Math.max(e-1,0);t.insertBefore(i,t.children[n]||null)},move_down(i){let t=i.parentNode,e=Array.from(t.children).indexOf(i),n=Math.min(e+2,t.children.length);t.insertBefore(i,t.children[n]||null)},remove(i,t,e){e.appendChild(i)},add(i,t){t.appendChild(i)}},Oi=class extends d{setup(){this.elem=this.$el,this.input=this.$refs.input,this.shelfBookList=this.$refs.shelfBookList,this.allBookList=this.$refs.allBookList,this.bookSearchInput=this.$refs.bookSearch,this.sortButtonContainer=this.$refs.sortButtonContainer,this.lastSort=null,this.initSortable(),this.setupListeners()}initSortable(){let t=this.elem.querySelectorAll(".scroll-box");for(let e of t)new Lt(e,{group:"shelf-books",ghostClass:"primary-background-light",handle:".handle",animation:150,onSort:this.onChange.bind(this)})}setupListeners(){this.elem.addEventListener("click",t=>{let e=t.target.closest(".scroll-box-item button[data-action]");e&&this.sortItemActionClick(e)}),this.bookSearchInput.addEventListener("input",()=>{this.filterBooksByName(this.bookSearchInput.value)}),this.sortButtonContainer.addEventListener("click",t=>{let e=t.target.closest("button[data-sort]");e&&this.sortShelfBooks(e.dataset.sort)})}filterBooksByName(t){this.allBookList.style.height||(this.allBookList.style.height=`${this.allBookList.getBoundingClientRect().height}px`);let e=this.allBookList.children,n=t.trim().toLowerCase();for(let o of e){let s=!t||o.textContent.toLowerCase().includes(n);o.style.display=s?null:"none"}}sortItemActionClick(t){let e=t.closest(".scroll-box-item"),{action:n}=t.dataset,o=Kr[n];o(e,this.shelfBookList,this.allBookList),this.onChange()}onChange(){let t=Array.from(this.shelfBookList.querySelectorAll("[data-id]"));this.input.value=t.map(e=>e.getAttribute("data-id")).join(",")}sortShelfBooks(t){let e=Array.from(this.shelfBookList.children),n=t===this.lastSort;e.sort((o,s)=>{let r=o.dataset[t].toLowerCase(),a=s.dataset[t].toLowerCase();return n?a.localeCompare(r):r.localeCompare(a)});for(let o of e)this.shelfBookList.append(o);this.lastSort=this.lastSort===t?null:t,this.onChange()}};function Xr(i){let t={};for(let[e,n]of Object.entries(i))t[n]=e;return t}var Ri=class extends d{setup(){this.container=this.$el,this.mapById=JSON.parse(this.$opts.keyMap),this.mapByShortcut=Xr(this.mapById),this.hintsShowing=!1,this.hideHints=this.hideHints.bind(this),this.hintAbortController=null,this.setupListeners()}setupListeners(){window.addEventListener("keydown",t=>{if(!t.target.closest("input, select, textarea, .cm-editor, .editor-container")){if(t.key==="?"){this.hintsShowing?this.hideHints():this.showHints();return}this.handleShortcutPress(t)}})}handleShortcutPress(t){let n=[t.ctrlKey?"Ctrl":"",t.metaKey?"Cmd":"",t.key].filter(s=>!!s).join(" + "),o=this.mapByShortcut[n];o&&this.runShortcut(o)&&t.preventDefault()}runShortcut(t){let e=this.container.querySelector(`[data-shortcut="${t}"]`);return e?e.matches("input, textarea, select")?(e.focus(),!0):e.matches("a, button")?(e.click(),!0):e.matches("div[tabindex]")?(e.click(),e.focus(),!0):(console.error("Shortcut attempted to be ran for element type that does not have handling setup",e),!1):!1}showHints(){let t=document.createElement("div");t.classList.add("shortcut-container"),this.container.append(t);let e=this.container.querySelectorAll("[data-shortcut]"),n=new Set;for(let s of e){let r=s.getAttribute("data-shortcut");if(n.has(r))continue;let a=this.mapById[r];this.showHintLabel(s,a,t),n.add(r)}this.hintAbortController=new AbortController;let o=this.hintAbortController.signal;window.addEventListener("scroll",this.hideHints,{signal:o}),window.addEventListener("focus",this.hideHints,{signal:o}),window.addEventListener("blur",this.hideHints,{signal:o}),window.addEventListener("click",this.hideHints,{signal:o}),this.hintsShowing=!0}showHintLabel(t,e,n){let o=t.getBoundingClientRect(),s=document.createElement("div");s.classList.add("shortcut-hint"),s.textContent=e;let r=document.createElement("div");r.classList.add("shortcut-linkage"),r.style.left=`${o.x}px`,r.style.top=`${o.y}px`,r.style.width=`${o.width}px`,r.style.height=`${o.height}px`,n.append(s,r);let a=s.getBoundingClientRect();s.style.insetInlineStart=`${o.x+o.width-(a.width+6)}px`,s.style.insetBlockStart=`${o.y+(o.height-a.height)/2}px`}hideHints(){this.container.querySelector(".shortcut-container").remove(),this.hintAbortController?.abort(),this.hintsShowing=!1}};var Gr=["Control","Alt","Shift","Meta","Super"," ","+","Tab","Escape"],_i=class extends d{setup(){this.input=this.$el,this.setupListeners()}setupListeners(){this.listenerRecordKey=this.listenerRecordKey.bind(this),this.input.addEventListener("focus",()=>{this.startListeningForInput()}),this.input.addEventListener("blur",()=>{this.stopListeningForInput()})}startListeningForInput(){this.input.addEventListener("keydown",this.listenerRecordKey)}listenerRecordKey(t){if(Gr.includes(t.key))return;let e=[t.ctrlKey?"Ctrl":"",t.metaKey?"Cmd":"",t.key];this.input.value=e.filter(n=>!!n).join(" + ")}stopListeningForInput(){this.input.removeEventListener("keydown",this.listenerRecordKey)}};var Hi=class extends d{setup(){this.container=this.$el,this.handleSelector=this.$opts.handleSelector;let t=new Lt(this.container,{handle:this.handleSelector,animation:150,onSort:()=>{this.$emit("sort",{ids:t.toArray()})},setData(e,n){let o=n.getAttribute("data-drag-content");if(o){let s=JSON.parse(o);for(let[r,a]of Object.entries(s))e.setData(r,a)}},revertOnSpill:!0,dropBubble:!0,dragoverBubble:!1})}};var Fi=class extends d{setup(){this.filter=this.$opts.filter,this.$el.addEventListener("change",t=>{if(this.filter&&!t.target.matches(this.filter))return;let e=this.$el.closest("form");e&&e.submit()})}};var Ni=class extends d{setup(){this.container=this.$el,this.tabList=this.container.querySelector('[role="tablist"]'),this.tabs=Array.from(this.tabList.querySelectorAll('[role="tab"]')),this.panels=Array.from(this.container.querySelectorAll(':scope > [role="tabpanel"], :scope > * > [role="tabpanel"]')),this.activeUnder=this.$opts.activeUnder?Number(this.$opts.activeUnder):1e4,this.active=null,this.container.addEventListener("click",t=>{let e=t.target.closest('[role="tab"]');e&&this.tabs.includes(e)&&this.show(e.getAttribute("aria-controls"))}),window.addEventListener("resize",this.updateActiveState.bind(this),{passive:!0}),this.updateActiveState()}show(t){for(let e of this.panels)e.toggleAttribute("hidden",e.id!==t);for(let e of this.tabs){let o=e.getAttribute("aria-controls")===t;e.setAttribute("aria-selected",o?"true":"false")}this.$emit("change",{showing:t})}updateActiveState(){let t=window.innerWidth<this.activeUnder;t!==this.active&&(t?this.activate():this.deactivate(),this.active=t)}activate(){let t=this.panels.find(e=>!e.hasAttribute("hidden"))||this.panels[0];this.show(t.id),this.tabList.toggleAttribute("hidden",!1)}deactivate(){for(let t of this.panels)t.removeAttribute("hidden");for(let t of this.tabs)t.setAttribute("aria-selected","false");this.tabList.toggleAttribute("hidden",!0)}};var qi=class extends d{setup(){this.addRemoveComponentEl=this.$refs.addRemove,this.container=this.$el,this.rowSelector=this.$opts.rowSelector,this.setupListeners()}setupListeners(){this.container.addEventListener("input",t=>{let e=window.$components.firstOnElement(this.addRemoveComponentEl,"add-remove-rows");!this.hasEmptyRows()&&t.target.value&&e.add()})}hasEmptyRows(){return[...this.container.querySelectorAll(this.rowSelector)].find(n=>[...n.querySelectorAll("input")].filter(o=>o.value).length===0)!==void 0}};var Ui=class extends d{setup(){this.container=this.$el,this.list=this.$refs.list,this.searchInput=this.$refs.searchInput,this.searchButton=this.$refs.searchButton,this.searchCancel=this.$refs.searchCancel,this.setupListeners()}setupListeners(){I(this.container,"[template-action]","click",this.handleTemplateActionClick.bind(this)),I(this.container,".pagination a","click",this.handlePaginationClick.bind(this)),I(this.container,".template-item-content","click",this.handleTemplateItemClick.bind(this)),I(this.container,".template-item","dragstart",this.handleTemplateItemDragStart.bind(this)),this.searchInput.addEventListener("keypress",t=>{t.key==="Enter"&&(t.preventDefault(),this.performSearch())}),this.searchButton.addEventListener("click",()=>this.performSearch()),this.searchCancel.addEventListener("click",()=>{this.searchInput.value="",this.performSearch()})}handleTemplateItemClick(t,e){let n=e.closest("[template-id]").getAttribute("template-id");this.insertTemplate(n,"replace")}handleTemplateItemDragStart(t,e){let n=e.closest("[template-id]").getAttribute("template-id");t.dataTransfer.setData("bookstack/template",n),t.dataTransfer.setData("text/plain",n)}handleTemplateActionClick(t,e){t.stopPropagation();let n=e.getAttribute("template-action"),o=e.closest("[template-id]").getAttribute("template-id");this.insertTemplate(o,n)}async insertTemplate(t,e="replace"){let n=await window.$http.get(`/templates/${t}`),o=`editor::${e}`;window.$events.emit(o,n.data)}async handlePaginationClick(t,e){t.preventDefault();let n=e.getAttribute("href"),o=await window.$http.get(n);this.list.innerHTML=o.data}async performSearch(){let t=this.searchInput.value,e=await window.$http.get("/templates",{search:t});this.searchCancel.style.display=t?"block":"none",this.list.innerHTML=e.data}};var Vi=class extends d{setup(){this.input=this.$el.querySelector("input[type=hidden]"),this.checkbox=this.$el.querySelector("input[type=checkbox]"),this.checkbox.addEventListener("change",this.stateChange.bind(this))}stateChange(){this.input.value=this.checkbox.checked?"true":"false";let t=new Event("change");this.input.dispatchEvent(t)}};var ji=class extends d{setup(){this.container=this.$refs.container,this.tabs=this.$manyRefs.tab,this.lastLayoutType="none",this.onDestroy=null,this.scrollCache={content:0,info:0},this.lastTabShown="content",this.mobileTabClick=this.mobileTabClick.bind(this),this.updateLayout(),window.addEventListener("resize",()=>{this.updateLayout()},{passive:!0})}updateLayout(){let t="tablet";window.innerWidth<=1e3&&(t="mobile"),window.innerWidth>=1400&&(t="desktop"),t!==this.lastLayoutType&&(this.onDestroy&&(this.onDestroy(),this.onDestroy=null),t==="desktop"?this.setupDesktop():t==="mobile"&&this.setupMobile(),this.lastLayoutType=t)}setupMobile(){for(let t of this.tabs)t.addEventListener("click",this.mobileTabClick);this.onDestroy=()=>{for(let t of this.tabs)t.removeEventListener("click",this.mobileTabClick)}}setupDesktop(){}mobileTabClick(t){let{tab:e}=t.target.dataset;this.showTab(e)}showContent(){this.showTab("content",!1)}showTab(t,e=!0){this.scrollCache[this.lastTabShown]=document.documentElement.scrollTop;for(let o of this.tabs){let s=o.dataset.tab===t;o.setAttribute("aria-selected",s?"true":"false")}let n=t==="info";if(this.container.classList.toggle("show-info",n),e){let s=document.querySelector("header").getBoundingClientRect().bottom;document.documentElement.scrollTop=this.scrollCache[t]||s,setTimeout(()=>{document.documentElement.scrollTop=this.scrollCache[t]||s},50)}this.lastTabShown=t}};var zi=class extends d{setup(){this.container=this.$el,this.input=this.$refs.input,this.userInfoContainer=this.$refs.userInfo,I(this.container,"a.dropdown-search-item","click",this.selectUser.bind(this))}selectUser(t,e){t.preventDefault(),this.input.value=e.getAttribute("data-id"),this.userInfoContainer.innerHTML=e.innerHTML,this.input.dispatchEvent(new Event("change",{bubbles:!0})),this.hide()}hide(){window.$components.firstOnElement(this.container,"dropdown").hide()}};var Wi=class extends d{setup(){this.checkboxes=this.$el.querySelectorAll('input[type="checkbox"]'),this.allCheckbox=this.$el.querySelector('input[type="checkbox"][value="all"]'),this.$el.addEventListener("change",t=>{t.target.checked&&t.target===this.allCheckbox?this.deselectIndividualEvents():t.target.checked&&(this.allCheckbox.checked=!1)})}deselectIndividualEvents(){for(let t of this.checkboxes)t!==this.allCheckbox&&(t.checked=!1)}};var Ki=class extends d{setup(){this.elem=this.$el,this.editContainer=this.$refs.editContainer,this.input=this.$refs.input,this.editor=null;let t={...window.editor_translations,imageUploadErrorText:this.$opts.imageUploadErrorText,serverUploadLimitText:this.$opts.serverUploadLimitText};window.importVersioned("wysiwyg").then(n=>{let o=this.input.value;this.editor=n.createPageEditorInstance(this.editContainer,o,{drawioUrl:this.getDrawIoUrl(),pageId:Number(this.$opts.pageId),darkMode:document.documentElement.classList.contains("dark-mode"),textDirection:this.$opts.textDirection,translations:t})});let e=!1;this.input.form.addEventListener("submit",n=>{this.editor&&(e?e=!1:(n.preventDefault(),e=!0,this.editor.getContentAsHtml().then(o=>{this.input.value=o,this.input.form.submit()})))})}getDrawIoUrl(){let t=document.querySelector("[drawio-url]");return t?t.getAttribute("drawio-url"):""}async getContent(){return{html:await this.editor.getContentAsHtml()}}};var Xi=class extends d{setup(){this.elem=this.$el,this.tinyMceConfig=ds({language:this.$opts.language,containerElement:this.elem,darkMode:document.documentElement.classList.contains("dark-mode"),textDirection:this.$opts.textDirection,drawioUrl:this.getDrawIoUrl(),pageId:Number(this.$opts.pageId),translations:{imageUploadErrorText:this.$opts.imageUploadErrorText,serverUploadLimitText:this.$opts.serverUploadLimitText},translationMap:window.editor_translations}),window.$events.emitPublic(this.elem,"editor-tinymce::pre-init",{config:this.tinyMceConfig}),window.tinymce.init(this.tinyMceConfig).then(t=>{this.editor=t[0]})}getDrawIoUrl(){let t=document.querySelector("[drawio-url]");return t?t.getAttribute("drawio-url"):""}async getContent(){return{html:this.editor.getContent()}}};var Gi=class extends d{setup(){this.elem=this.$el;let t=qt({language:this.$opts.language,containerElement:this.elem,darkMode:document.documentElement.classList.contains("dark-mode"),textDirection:this.$opts.textDirection,translations:{},translationMap:window.editor_translations});window.tinymce.init(t).then(e=>{this.editor=e[0]})}};function Fn(i){let t=n=>n.slice(0,1).toUpperCase()+n.slice(1),e=i.split("-");return e[0]+e.slice(1).map(t).join("")}function us(i){return i.replace(/[A-Z]/g,(t,e)=>(e>0?"-":"")+t.toLowerCase())}function Yr(i,t){let e={},n={},o=`${i}@`,s=`[refs*="${o}"]`,r=[...t.querySelectorAll(s)];t.matches(s)&&r.push(t);for(let a of r){let l=(a.getAttribute("refs")||"").split(" ").filter(c=>c.startsWith(o)).map(c=>c.replace(o,"")).map(Fn);for(let c of l)e[c]=a,typeof n[c]>"u"&&(n[c]=[]),n[c].push(a)}return{refs:e,manyRefs:n}}function Jr(i,t){let e={},n=`option:${i}:`;for(let{name:o,value:s}of t.attributes)if(o.startsWith(n)){let r=o.replace(n,"");e[Fn(r)]=s||""}return e}var Yi=class{constructor(){this.components={};this.componentModelMap={};this.elementComponentMap=new WeakMap}initComponent(t,e){let n=this.componentModelMap[t];if(n===void 0)return;let o=null;try{o=new n,o.$name=t,o.$el=e;let r=Yr(t,e);o.$refs=r.refs,o.$manyRefs=r.manyRefs,o.$opts=Jr(t,e),o.setup()}catch(r){console.error("Failed to create component",r,t,e)}if(!o)return;typeof this.components[t]>"u"&&(this.components[t]=[]),this.components[t].push(o);let s=this.elementComponentMap.get(e)||{};s[t]=o,this.elementComponentMap.set(e,s)}init(t=document){let e=t.querySelectorAll("[component],[components]");for(let n of e){let o=`${n.getAttribute("component")||""} ${n.getAttribute("components")}`.toLowerCase().split(" ").filter(Boolean);for(let s of o)this.initComponent(s,n)}}register(t){let e=Object.keys(t);for(let n of e)this.componentModelMap[us(n)]=t[n]}first(t){return(this.components[t]||[null])[0]}get(t){return this.components[t]||[]}firstOnElement(t,e){return(this.elementComponentMap.get(t)||{})[e]||null}};window.__DEV__=!1;window.baseUrl=Yn;window.importVersioned=Jn;window.$http=new me;window.$events=new pe;window.$trans=new fe;window.$components=new Yi;window.$components.register(Hn);window.$components.init(); +`,"")}function ps(i){return window.tinymce.addI18n(i.language,i.translationMap),{width:"100%",height:"100%",selector:"#html-editor",cache_suffix:`?version=${document.querySelector('script[src*="/dist/app.js"]').getAttribute("src").split("?version=")[1]}`,content_css:[window.baseUrl("/dist/styles.css")],branding:!1,skin:i.darkMode?"tinymce-5-dark":"tinymce-5",body_class:"page-content",browser_spellcheck:!0,relative_urls:!1,language:i.language,directionality:i.textDirection,remove_script_host:!1,document_base_url:window.baseUrl("/"),end_container_on_empty_block:!0,remove_trailing_brs:!1,statusbar:!1,menubar:!1,paste_data_images:!1,extended_valid_elements:"pre[*],svg[*],div[drawio-diagram],details[*],summary[*],div[*],li[class|checked|style]",automatic_uploads:!1,custom_elements:"doc-root,code-block",valid_children:["-div[p|h1|h2|h3|h4|h5|h6|blockquote|code-block]","+div[pre|img]","-doc-root[doc-root|#text]","-li[details]","+code-block[pre]","+doc-root[p|h1|h2|h3|h4|h5|h6|blockquote|code-block|div|hr]"].join(","),plugins:zr(i),contextmenu:!1,toolbar:_o(i),content_style:us(i),style_formats:Ur,style_formats_merge:!1,media_alt_source:!1,media_poster:!1,formats:Vr,table_style_by_css:!0,table_use_colgroups:!0,file_picker_types:"file image",color_map:jr,file_picker_callback:ds,paste_preprocess(e,n){let{content:o}=n;o.indexOf('<img src="file://')!==-1&&(n.content="")},init_instance_callback(e){hs(e.getDoc())},setup(e){No(e),Fo(e),Wr(i)(e)}}}function qt(i){window.tinymce.addI18n(i.language,i.translationMap);let t=document.querySelector('script[src*="/dist/app.js"]').getAttribute("src").split("?version=")[1];return{width:"100%",height:"185px",target:i.containerElement,cache_suffix:`?version=${t}`,content_css:[window.baseUrl("/dist/styles.css")],branding:!1,skin:i.darkMode?"tinymce-5-dark":"tinymce-5",body_class:"wysiwyg-input",browser_spellcheck:!0,relative_urls:!1,language:i.language,directionality:i.textDirection,remove_script_host:!1,document_base_url:window.baseUrl("/"),end_container_on_empty_block:!0,remove_trailing_brs:!1,statusbar:!1,menubar:!1,plugins:"link autolink lists",contextmenu:!1,toolbar:"bold italic link bullist numlist",content_style:us(i),file_picker_types:"file",valid_elements:"p,a[href|title|target],ol,ul,li,strong,em,br",file_picker_callback:ds,init_instance_callback(e){hs(e.getDoc()),e.contentDocument.documentElement.classList.toggle("dark-mode",i.darkMode)}}}var xi=class extends d{setup(){this.commentId=this.$opts.commentId,this.commentLocalId=this.$opts.commentLocalId,this.commentParentId=this.$opts.commentParentId,this.deletedText=this.$opts.deletedText,this.updatedText=this.$opts.updatedText,this.wysiwygEditor=null,this.wysiwygLanguage=this.$opts.wysiwygLanguage,this.wysiwygTextDirection=this.$opts.wysiwygTextDirection,this.container=this.$el,this.contentContainer=this.$refs.contentContainer,this.form=this.$refs.form,this.formCancel=this.$refs.formCancel,this.editButton=this.$refs.editButton,this.deleteButton=this.$refs.deleteButton,this.replyButton=this.$refs.replyButton,this.input=this.$refs.input,this.setupListeners()}setupListeners(){this.replyButton&&this.replyButton.addEventListener("click",()=>this.$emit("reply",{id:this.commentLocalId,element:this.container})),this.editButton&&(this.editButton.addEventListener("click",this.startEdit.bind(this)),this.form.addEventListener("submit",this.update.bind(this)),this.formCancel.addEventListener("click",()=>this.toggleEditMode(!1))),this.deleteButton&&this.deleteButton.addEventListener("click",this.delete.bind(this))}toggleEditMode(t){this.contentContainer.toggleAttribute("hidden",t),this.form.toggleAttribute("hidden",!t)}startEdit(){if(this.toggleEditMode(!0),this.wysiwygEditor){this.wysiwygEditor.focus();return}let t=qt({language:this.wysiwygLanguage,containerElement:this.input,darkMode:document.documentElement.classList.contains("dark-mode"),textDirection:this.wysiwygTextDirection,translations:{},translationMap:window.editor_translations});window.tinymce.init(t).then(e=>{this.wysiwygEditor=e[0],setTimeout(()=>this.wysiwygEditor.focus(),50)})}async update(t){t.preventDefault();let e=this.showLoading();this.form.toggleAttribute("hidden",!0);let n={html:this.wysiwygEditor.getContent(),parent_id:this.parentId||null};try{let o=await window.$http.put(`/comment/${this.commentId}`,n),s=nt(o.data);this.container.replaceWith(s),window.$events.success(this.updatedText)}catch(o){console.error(o),window.$events.showValidationErrors(o),this.form.toggleAttribute("hidden",!1),e.remove()}}async delete(){this.showLoading(),await window.$http.delete(`/comment/${this.commentId}`),this.$emit("delete"),this.container.closest(".comment-branch").remove(),window.$events.success(this.deletedText)}showLoading(){let t=At();return t.classList.add("px-l"),this.container.append(t),t}};var Si=class extends d{setup(){this.elem=this.$el,this.pageId=Number(this.$opts.pageId),this.container=this.$refs.commentContainer,this.commentCountBar=this.$refs.commentCountBar,this.commentsTitle=this.$refs.commentsTitle,this.addButtonContainer=this.$refs.addButtonContainer,this.replyToRow=this.$refs.replyToRow,this.formContainer=this.$refs.formContainer,this.form=this.$refs.form,this.formInput=this.$refs.formInput,this.formReplyLink=this.$refs.formReplyLink,this.addCommentButton=this.$refs.addCommentButton,this.hideFormButton=this.$refs.hideFormButton,this.removeReplyToButton=this.$refs.removeReplyToButton,this.wysiwygLanguage=this.$opts.wysiwygLanguage,this.wysiwygTextDirection=this.$opts.wysiwygTextDirection,this.wysiwygEditor=null,this.createdText=this.$opts.createdText,this.countText=this.$opts.countText,this.parentId=null,this.formReplyText=this.formReplyLink?.textContent||"",this.setupListeners()}setupListeners(){this.elem.addEventListener("page-comment-delete",()=>{setTimeout(()=>this.updateCount(),1),this.hideForm()}),this.elem.addEventListener("page-comment-reply",t=>{this.setReply(t.detail.id,t.detail.element)}),this.form&&(this.removeReplyToButton.addEventListener("click",this.removeReplyTo.bind(this)),this.hideFormButton.addEventListener("click",this.hideForm.bind(this)),this.addCommentButton.addEventListener("click",this.showForm.bind(this)),this.form.addEventListener("submit",this.saveComment.bind(this)))}saveComment(t){t.preventDefault(),t.stopPropagation();let e=At();e.classList.add("px-l"),this.form.after(e),this.form.toggleAttribute("hidden",!0);let n={html:this.wysiwygEditor.getContent(),parent_id:this.parentId||null};window.$http.post(`/comment/${this.pageId}`,n).then(o=>{let s=nt(o.data);n.parent_id?this.formContainer.after(s):this.container.append(s),window.$events.success(this.createdText),this.hideForm(),this.updateCount()}).catch(o=>{this.form.toggleAttribute("hidden",!1),window.$events.showValidationErrors(o)}),this.form.toggleAttribute("hidden",!1),e.remove()}updateCount(){let t=this.getCommentCount();this.commentsTitle.textContent=window.$trans.choice(this.countText,t,{count:t})}resetForm(){this.removeEditor(),this.formInput.value="",this.parentId=null,this.replyToRow.toggleAttribute("hidden",!0),this.container.append(this.formContainer)}showForm(){this.removeEditor(),this.formContainer.toggleAttribute("hidden",!1),this.addButtonContainer.toggleAttribute("hidden",!0),this.formContainer.scrollIntoView({behavior:"smooth",block:"nearest"}),this.loadEditor()}hideForm(){this.resetForm(),this.formContainer.toggleAttribute("hidden",!0),this.getCommentCount()>0?this.elem.append(this.addButtonContainer):this.commentCountBar.append(this.addButtonContainer),this.addButtonContainer.toggleAttribute("hidden",!1)}loadEditor(){if(this.wysiwygEditor){this.wysiwygEditor.focus();return}let t=qt({language:this.wysiwygLanguage,containerElement:this.formInput,darkMode:document.documentElement.classList.contains("dark-mode"),textDirection:this.wysiwygTextDirection,translations:{},translationMap:window.editor_translations});window.tinymce.init(t).then(e=>{this.wysiwygEditor=e[0],setTimeout(()=>this.wysiwygEditor.focus(),50)})}removeEditor(){this.wysiwygEditor&&(this.wysiwygEditor.remove(),this.wysiwygEditor=null)}getCommentCount(){return this.container.querySelectorAll('[component="page-comment"]').length}setReply(t,e){e.closest(".comment-branch").querySelector(".comment-branch-children").append(this.formContainer),this.showForm(),this.parentId=t,this.replyToRow.toggleAttribute("hidden",!1),this.formReplyLink.textContent=this.formReplyText.replace("1234",this.parentId),this.formReplyLink.href=`#comment${this.parentId}`}removeReplyTo(){this.parentId=null,this.replyToRow.toggleAttribute("hidden",!0),this.container.append(this.formContainer),this.showForm()}};function Kr(i,t){tn(`#page-navigation a[href="#${i}"]`,e=>{e.closest("li").classList.toggle("current-heading",t)})}function Xr(i){for(let t of i){let e=t.intersectionRatio===1;Kr(t.target.id,e)}}function Gr(i){let t={rootMargin:"0px 0px 0px 0px",threshold:1},e=new IntersectionObserver(Xr,t);for(let n of i)e.observe(n)}var Li=class extends d{setup(){if(this.container=this.$el,this.pageId=this.$opts.pageId,window.importVersioned("code").then(e=>e.highlight()),this.setupNavHighlighting(),window.location.hash){let e=window.location.hash.replace(/%20/g," ").substring(1);this.goToText(e)}let t=document.querySelector(".sidebar-page-nav");t&&I(t,"a","click",(e,n)=>{e.preventDefault(),window.$components.first("tri-layout").showContent();let o=n.getAttribute("href").substr(1);this.goToText(o),window.history.pushState(null,null,`#${o}`)})}goToText(t){let e=document.getElementById(t);if(tn(".page-content [data-highlighted]",n=>{n.removeAttribute("data-highlighted"),n.style.backgroundColor=null}),e!==null)nn(e);else{let n=Gn(".page-content > div > *",t);n&&nn(n)}}setupNavHighlighting(){let t=document.querySelector(".sidebar-page-nav"),e=document.querySelector(".page-content").querySelectorAll("h1, h2, h3, h4, h5, h6");e.length>0&&t!==null&&Gr(e)}};function ms(i){let t=new Date(i*1e3),e=t.getHours(),n=t.getMinutes();return`${(e>9?"":"0")+e}:${(n>9?"":"0")+n}`}var ki=class extends d{setup(){this.draftsEnabled=this.$opts.draftsEnabled==="true",this.editorType=this.$opts.editorType,this.pageId=Number(this.$opts.pageId),this.isNewDraft=this.$opts.pageNewDraft==="true",this.hasDefaultTitle=this.$opts.hasDefaultTitle||!1,this.container=this.$el,this.titleElem=this.$refs.titleContainer.querySelector("input"),this.saveDraftButton=this.$refs.saveDraft,this.discardDraftButton=this.$refs.discardDraft,this.discardDraftWrap=this.$refs.discardDraftWrap,this.deleteDraftButton=this.$refs.deleteDraft,this.deleteDraftWrap=this.$refs.deleteDraftWrap,this.draftDisplay=this.$refs.draftDisplay,this.draftDisplayIcon=this.$refs.draftDisplayIcon,this.changelogInput=this.$refs.changelogInput,this.changelogDisplay=this.$refs.changelogDisplay,this.changeEditorButtons=this.$manyRefs.changeEditor||[],this.switchDialogContainer=this.$refs.switchDialog,this.deleteDraftDialogContainer=this.$refs.deleteDraftDialog,this.draftText=this.$opts.draftText,this.autosaveFailText=this.$opts.autosaveFailText,this.editingPageText=this.$opts.editingPageText,this.draftDiscardedText=this.$opts.draftDiscardedText,this.draftDeleteText=this.$opts.draftDeleteText,this.draftDeleteFailText=this.$opts.draftDeleteFailText,this.setChangelogText=this.$opts.setChangelogText,this.autoSave={interval:null,frequency:3e4,last:0,pendingChange:!1},this.shownWarningsCache=new Set,this.pageId!==0&&this.draftsEnabled&&window.setTimeout(()=>{this.startAutoSave()},1e3),this.draftDisplay.innerHTML=this.draftText,this.setupListeners(),this.setInitialFocus()}setupListeners(){window.$events.listen("editor-save-draft",this.saveDraft.bind(this)),window.$events.listen("editor-save-page",this.savePage.bind(this));let t=()=>{this.autoSave.pendingChange=!0};window.$events.listen("editor-html-change",t),window.$events.listen("editor-markdown-change",t),this.titleElem.addEventListener("input",t);let e=It(this.updateChangelogDisplay.bind(this),300,!1);this.changelogInput.addEventListener("input",e),S(this.saveDraftButton,this.saveDraft.bind(this)),S(this.discardDraftButton,this.discardDraft.bind(this)),S(this.deleteDraftButton,this.deleteDraft.bind(this)),S(this.changeEditorButtons,this.changeEditor.bind(this))}setInitialFocus(){if(this.hasDefaultTitle){this.titleElem.select();return}window.setTimeout(()=>{window.$events.emit("editor::focus","")},500)}startAutoSave(){this.autoSave.interval=window.setInterval(this.runAutoSave.bind(this),this.autoSave.frequency)}runAutoSave(){Date.now()-this.autoSave.last<this.autoSave.frequency/2||!this.autoSave.pendingChange||this.saveDraft()}savePage(){this.container.closest("form").submit()}async saveDraft(){let t={name:this.titleElem.value.trim()},e=await this.getEditorComponent().getContent();Object.assign(t,e);let n=!1;try{let o=await window.$http.put(`/ajax/page/${this.pageId}/save-draft`,t);this.isNewDraft||(this.discardDraftWrap.toggleAttribute("hidden",!1),this.deleteDraftWrap.toggleAttribute("hidden",!1)),this.draftNotifyChange(`${o.data.message} ${ms(o.data.timestamp)}`),this.autoSave.last=Date.now(),o.data.warning&&!this.shownWarningsCache.has(o.data.warning)&&(window.$events.emit("warning",o.data.warning),this.shownWarningsCache.add(o.data.warning)),n=!0,this.autoSave.pendingChange=!1}catch{try{let o=`draft-save-fail-${new Date().toISOString()}`;window.localStorage.setItem(o,JSON.stringify(t))}catch(o){console.error(o)}window.$events.emit("error",this.autosaveFailText)}return n}draftNotifyChange(t){this.draftDisplay.innerText=t,this.draftDisplayIcon.classList.add("visible"),window.setTimeout(()=>{this.draftDisplayIcon.classList.remove("visible")},2e3)}async discardDraft(t=!0){let e;try{e=await window.$http.get(`/ajax/page/${this.pageId}`)}catch(n){console.error(n);return}this.autoSave.interval&&window.clearInterval(this.autoSave.interval),this.draftDisplay.innerText=this.editingPageText,this.discardDraftWrap.toggleAttribute("hidden",!0),window.$events.emit("editor::replace",{html:e.data.html,markdown:e.data.markdown}),this.titleElem.value=e.data.name,window.setTimeout(()=>{this.startAutoSave()},1e3),t&&window.$events.success(this.draftDiscardedText)}async deleteDraft(){if(await window.$components.firstOnElement(this.deleteDraftDialogContainer,"confirm-dialog").show())try{let n=this.discardDraft(!1),o=window.$http.delete(`/page-revisions/user-drafts/${this.pageId}`);await Promise.all([n,o]),window.$events.success(this.draftDeleteText),this.deleteDraftWrap.toggleAttribute("hidden",!0)}catch(n){console.error(n),window.$events.error(this.draftDeleteFailText)}}updateChangelogDisplay(){let t=this.changelogInput.value.trim();t.length===0?t=this.setChangelogText:t.length>16&&(t=`${t.slice(0,16)}...`),this.changelogDisplay.innerText=t}async changeEditor(t){t.preventDefault();let e=t.target.closest("a").href,n=window.$components.firstOnElement(this.switchDialogContainer,"confirm-dialog"),[o,s]=await Promise.all([this.saveDraft(),n.show()]);o&&s&&(window.location=e)}getEditorComponent(){return window.$components.first("markdown-editor")||window.$components.first("wysiwyg-editor")||window.$components.first("wysiwyg-editor-tinymce")}};function Ti(i,t){i.toggleAttribute("hidden",!t)}var $i=class extends d{setup(){this.input=this.$refs.input,this.resetButton=this.$refs.resetButton,this.selectButton=this.$refs.selectButton,this.display=this.$refs.display,this.defaultDisplay=this.$refs.defaultDisplay,this.buttonSep=this.$refs.buttonSeperator,this.selectorEndpoint=this.$opts.selectorEndpoint,this.value=this.input.value,this.setupListeners()}setupListeners(){this.selectButton.addEventListener("click",this.showPopup.bind(this)),this.display.parentElement.addEventListener("click",this.showPopup.bind(this)),this.display.addEventListener("click",t=>t.stopPropagation()),this.resetButton.addEventListener("click",()=>{this.setValue("","")})}showPopup(){window.$components.first("entity-selector-popup").show(e=>{this.setValue(e.id,e.name)},{initialValue:"",searchEndpoint:this.selectorEndpoint,entityTypes:"page",entityPermission:"view"})}setValue(t,e){this.value=t,this.input.value=t,this.controlView(e)}controlView(t){let e=this.value&&this.value!==0;if(Ti(this.resetButton,e),Ti(this.buttonSep,e),Ti(this.defaultDisplay,!e),Ti(this.display,e),e){let n=this.getAssetIdFromVal();this.display.textContent=`#${n}, ${t}`,this.display.href=window.baseUrl(`/link/${n}`)}}getAssetIdFromVal(){return Number(this.value)}};var Di=class extends d{setup(){this.container=this.$el,this.cellSelector=this.$opts.cellSelector||"td,th",this.rowSelector=this.$opts.rowSelector||"tr";for(let t of this.$manyRefs.toggleAll||[])t.addEventListener("click",this.toggleAllClick.bind(this));for(let t of this.$manyRefs.toggleRow||[])t.addEventListener("click",this.toggleRowClick.bind(this));for(let t of this.$manyRefs.toggleColumn||[])t.addEventListener("click",this.toggleColumnClick.bind(this))}toggleAllClick(t){t.preventDefault(),this.toggleAllInElement(this.container)}toggleRowClick(t){t.preventDefault(),this.toggleAllInElement(t.target.closest(this.rowSelector))}toggleColumnClick(t){t.preventDefault();let e=t.target.closest(this.cellSelector),n=Array.from(e.parentElement.children).indexOf(e),o=this.container.querySelectorAll(this.rowSelector),s=[];for(let r of o){let a=r.children[n];a&&s.push(...a.querySelectorAll("input[type=checkbox]"))}this.toggleAllInputs(s)}toggleAllInElement(t){let e=t.querySelectorAll("input[type=checkbox]");this.toggleAllInputs(e)}toggleAllInputs(t){let e=t.length>0?t[0].checked:!1;for(let n of t)n.checked=!e,n.dispatchEvent(new Event("change"))}};var Ai=class extends d{setup(){this.container=this.$el,this.pointer=this.$refs.pointer,this.linkInput=this.$refs.linkInput,this.linkButton=this.$refs.linkButton,this.includeInput=this.$refs.includeInput,this.includeButton=this.$refs.includeButton,this.sectionModeButton=this.$refs.sectionModeButton,this.modeToggles=this.$manyRefs.modeToggle,this.modeSections=this.$manyRefs.modeSection,this.pageId=this.$opts.pageId,this.showing=!1,this.isSelection=!1,this.setupListeners()}setupListeners(){this.includeButton.addEventListener("click",()=>Tn(this.includeInput.value)),this.linkButton.addEventListener("click",()=>Tn(this.linkInput.value)),S([this.includeInput,this.linkInput],e=>{e.target.select(),e.stopPropagation()}),ge(this.pointer,["click","focus"],e=>{e.stopPropagation()}),ge(document.body,["click","focus"],()=>{!this.showing||this.isSelection||this.hidePointer()}),Xn(this.pointer,this.hidePointer.bind(this));let t=document.querySelector(".page-content");ge(t,["mouseup","keyup"],e=>{e.stopPropagation();let n=e.target.closest('[id^="bkmrk"]');n&&window.getSelection().toString().length>0&&this.showPointerAtTarget(n,e.pageX,!1)}),S(this.sectionModeButton,this.enterSectionSelectMode.bind(this)),S(this.modeToggles,e=>{for(let n of this.modeSections){let o=!n.contains(e.target);n.toggleAttribute("hidden",!o)}this.modeToggles.find(n=>n!==e.target).focus()})}hidePointer(){this.pointer.style.display=null,this.showing=!1}showPointerAtTarget(t,e,n){this.updateForTarget(t),this.pointer.style.display="block";let o=t.getBoundingClientRect(),s=this.pointer.getBoundingClientRect(),a=Math.min(Math.max(e,o.left),o.right)-s.width/2,l=o.top-s.height-16;this.pointer.style.left=`${a}px`,this.pointer.style.top=`${l}px`,this.showing=!0,this.isSelection=!0,setTimeout(()=>{this.isSelection=!1},100);let c=()=>{this.hidePointer(),window.removeEventListener("scroll",c,{passive:!0})};t.parentElement.insertBefore(this.pointer,t),n||window.addEventListener("scroll",c,{passive:!0})}updateForTarget(t){let e=window.baseUrl(`/link/${this.pageId}#${t.id}`),n=`{{@${this.pageId}#${t.id}}}`;this.linkInput.value=e,this.includeInput.value=n;let o=this.pointer.querySelector("#pointer-edit");if(o&&t){let{editHref:s}=o.dataset,r=t.id,a=t.textContent&&t.textContent.substring(0,50);o.href=`${s}?content-id=${r}&content-text=${encodeURIComponent(a)}`}}enterSectionSelectMode(){let t=Array.from(document.querySelectorAll('.page-content [id^="bkmrk"]'));for(let e of t)e.setAttribute("tabindex","0");t[0].focus(),Dt(t,e=>{this.showPointerAtTarget(e.target,0,!0),this.pointer.focus()})}};var Ii=class extends d{setup(){this.container=this.$el,this.hideButtons=this.$manyRefs.hide||[],this.onkeyup=null,this.onHide=null,this.setupListeners()}setupListeners(){let t=null;this.container.addEventListener("mousedown",e=>{t=e.target}),this.container.addEventListener("click",e=>{e.target===this.container&&t===this.container&&this.hide()}),S(this.hideButtons,()=>this.hide())}hide(t=null){Ao(this.container,120,t),this.onkeyup&&(window.removeEventListener("keyup",this.onkeyup),this.onkeyup=null),this.onHide&&this.onHide()}show(t=null,e=null){Do(this.container,120,t),this.onkeyup=n=>{n.key==="Escape"&&this.hide()},window.addEventListener("keyup",this.onkeyup),this.onHide=e}};var Mi=class extends d{setup(){this.container=this.$el,this.mode=this.$opts.mode,this.lightContainer=this.$refs.lightContainer,this.darkContainer=this.$refs.darkContainer,this.container.addEventListener("tabs-change",e=>{let o=e.detail.showing==="color-scheme-panel-light"?"light":"dark";this.handleModeChange(o)});let t=e=>{this.updateAppColorsFromInputs(),e.target.name.startsWith("setting-app-color")&&this.updateLightForInput(e.target)};this.container.addEventListener("change",t),this.container.addEventListener("input",t)}handleModeChange(t){this.mode=t;let e=t==="dark";document.documentElement.classList.toggle("dark-mode",e),this.updateAppColorsFromInputs()}updateAppColorsFromInputs(){let e=(this.mode==="dark"?this.darkContainer:this.lightContainer).querySelectorAll('input[type="color"]');for(let n of e){let o=n.name.split("-"),s=o.indexOf("color"),r=o.slice(1,s).join("-");r==="app"&&(r="primary");let a=`--color-${r}`;document.body.style.setProperty(a,n.value)}}updateLightForInput(t){let e=t.name.replace("-color","-color-light"),n=t.value,o=this.hexToRgb(n),s=`rgba(${[o.r,o.g,o.b,"0.15"].join(",")})`,r=this.container.querySelector(`input[name="${e}"][type="hidden"]`);r.value=s}hexToRgb(t){let e=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return{r:e?parseInt(e[1],16):0,g:e?parseInt(e[2],16):0,b:e?parseInt(e[3],16):0}}};var Bi=class extends d{setup(){this.colorInput=this.$refs.input,this.resetButton=this.$refs.resetButton,this.defaultButton=this.$refs.defaultButton,this.currentColor=this.$opts.current,this.defaultColor=this.$opts.default,this.resetButton.addEventListener("click",()=>this.setValue(this.currentColor)),this.defaultButton.addEventListener("click",()=>this.setValue(this.defaultColor))}setValue(t){this.colorInput.value=t,this.colorInput.dispatchEvent(new Event("change",{bubbles:!0}))}};var Pi=class extends d{setup(){this.typeControl=this.$refs.typeControl,this.pagePickerContainer=this.$refs.pagePickerContainer,this.typeControl.addEventListener("change",this.controlPagePickerVisibility.bind(this)),this.controlPagePickerVisibility()}controlPagePickerVisibility(){let t=this.typeControl.value==="page";this.pagePickerContainer.style.display=t?"block":"none"}};function Oi(i,t){return{move_up(e){let n=e.parentNode,o=Array.from(n.children).indexOf(e),s=Math.max(o-1,0);n.insertBefore(e,n.children[s]||null)},move_down(e){let n=e.parentNode,o=Array.from(n.children).indexOf(e),s=Math.min(o+2,n.children.length);n.insertBefore(e,n.children[s]||null)},remove(e){i.appendChild(e)},add(e){t.appendChild(e)}}}function Ri(i,t){return e=>{let n=e.target.closest(".scroll-box-item button[data-action]");if(n){let o=n.closest(".scroll-box-item"),s=n.dataset.action;if(!s)throw new Error("No action defined for clicked button");let r=i[s];r(o),t()}}}var Hi=class extends d{setup(){this.elem=this.$el,this.input=this.$refs.input,this.shelfBookList=this.$refs.shelfBookList,this.allBookList=this.$refs.allBookList,this.bookSearchInput=this.$refs.bookSearch,this.sortButtonContainer=this.$refs.sortButtonContainer,this.lastSort=null,this.initSortable(),this.setupListeners()}initSortable(){let t=this.elem.querySelectorAll(".scroll-box");for(let e of t)new dt(e,{group:"shelf-books",ghostClass:"primary-background-light",handle:".handle",animation:150,onSort:this.onChange.bind(this)})}setupListeners(){let t=Oi(this.allBookList,this.shelfBookList),e=Ri(t,this.onChange.bind(this));this.elem.addEventListener("click",e),this.bookSearchInput.addEventListener("input",()=>{this.filterBooksByName(this.bookSearchInput.value)}),this.sortButtonContainer.addEventListener("click",n=>{let o=n.target.closest("button[data-sort]");o&&this.sortShelfBooks(o.dataset.sort)})}filterBooksByName(t){this.allBookList.style.height||(this.allBookList.style.height=`${this.allBookList.getBoundingClientRect().height}px`);let e=this.allBookList.children,n=t.trim().toLowerCase();for(let o of e){let s=!t||o.textContent.toLowerCase().includes(n);o.style.display=s?null:"none"}}onChange(){let t=Array.from(this.shelfBookList.querySelectorAll("[data-id]"));this.input.value=t.map(e=>e.getAttribute("data-id")).join(",")}sortShelfBooks(t){let e=Array.from(this.shelfBookList.children),n=t===this.lastSort;e.sort((o,s)=>{let r=o.dataset[t].toLowerCase(),a=s.dataset[t].toLowerCase();return n?a.localeCompare(r):r.localeCompare(a)});for(let o of e)this.shelfBookList.append(o);this.lastSort=this.lastSort===t?null:t,this.onChange()}};function Yr(i){let t={};for(let[e,n]of Object.entries(i))t[n]=e;return t}var _i=class extends d{setup(){this.container=this.$el,this.mapById=JSON.parse(this.$opts.keyMap),this.mapByShortcut=Yr(this.mapById),this.hintsShowing=!1,this.hideHints=this.hideHints.bind(this),this.hintAbortController=null,this.setupListeners()}setupListeners(){window.addEventListener("keydown",t=>{if(!t.target.closest("input, select, textarea, .cm-editor, .editor-container")){if(t.key==="?"){this.hintsShowing?this.hideHints():this.showHints();return}this.handleShortcutPress(t)}})}handleShortcutPress(t){let n=[t.ctrlKey?"Ctrl":"",t.metaKey?"Cmd":"",t.key].filter(s=>!!s).join(" + "),o=this.mapByShortcut[n];o&&this.runShortcut(o)&&t.preventDefault()}runShortcut(t){let e=this.container.querySelector(`[data-shortcut="${t}"]`);return e?e.matches("input, textarea, select")?(e.focus(),!0):e.matches("a, button")?(e.click(),!0):e.matches("div[tabindex]")?(e.click(),e.focus(),!0):(console.error("Shortcut attempted to be ran for element type that does not have handling setup",e),!1):!1}showHints(){let t=document.createElement("div");t.classList.add("shortcut-container"),this.container.append(t);let e=this.container.querySelectorAll("[data-shortcut]"),n=new Set;for(let s of e){let r=s.getAttribute("data-shortcut");if(n.has(r))continue;let a=this.mapById[r];this.showHintLabel(s,a,t),n.add(r)}this.hintAbortController=new AbortController;let o=this.hintAbortController.signal;window.addEventListener("scroll",this.hideHints,{signal:o}),window.addEventListener("focus",this.hideHints,{signal:o}),window.addEventListener("blur",this.hideHints,{signal:o}),window.addEventListener("click",this.hideHints,{signal:o}),this.hintsShowing=!0}showHintLabel(t,e,n){let o=t.getBoundingClientRect(),s=document.createElement("div");s.classList.add("shortcut-hint"),s.textContent=e;let r=document.createElement("div");r.classList.add("shortcut-linkage"),r.style.left=`${o.x}px`,r.style.top=`${o.y}px`,r.style.width=`${o.width}px`,r.style.height=`${o.height}px`,n.append(s,r);let a=s.getBoundingClientRect();s.style.insetInlineStart=`${o.x+o.width-(a.width+6)}px`,s.style.insetBlockStart=`${o.y+(o.height-a.height)/2}px`}hideHints(){this.container.querySelector(".shortcut-container").remove(),this.hintAbortController?.abort(),this.hintsShowing=!1}};var Jr=["Control","Alt","Shift","Meta","Super"," ","+","Tab","Escape"],Fi=class extends d{setup(){this.input=this.$el,this.setupListeners()}setupListeners(){this.listenerRecordKey=this.listenerRecordKey.bind(this),this.input.addEventListener("focus",()=>{this.startListeningForInput()}),this.input.addEventListener("blur",()=>{this.stopListeningForInput()})}startListeningForInput(){this.input.addEventListener("keydown",this.listenerRecordKey)}listenerRecordKey(t){if(Jr.includes(t.key))return;let e=[t.ctrlKey?"Ctrl":"",t.metaKey?"Cmd":"",t.key];this.input.value=e.filter(n=>!!n).join(" + ")}stopListeningForInput(){this.input.removeEventListener("keydown",this.listenerRecordKey)}};var Ni=class extends d{setup(){this.container=this.$el,this.handleSelector=this.$opts.handleSelector;let t=new dt(this.container,{handle:this.handleSelector,animation:150,onSort:()=>{this.$emit("sort",{ids:t.toArray()})},setData(e,n){let o=n.getAttribute("data-drag-content");if(o){let s=JSON.parse(o);for(let[r,a]of Object.entries(s))e.setData(r,a)}},revertOnSpill:!0,dropBubble:!0,dragoverBubble:!1})}};var qi=class extends d{setup(){this.input=this.$refs.input,this.configuredList=this.$refs.configuredOperationsList,this.availableList=this.$refs.availableOperationsList,this.initSortable();let t=Oi(this.availableList,this.configuredList),e=Ri(t,this.onChange.bind(this));this.$el.addEventListener("click",e)}initSortable(){let t=[this.configuredList,this.availableList];for(let e of t)new dt(e,{group:"sort-rule-operations",ghostClass:"primary-background-light",handle:".handle",animation:150,onSort:this.onChange.bind(this)})}onChange(){let t=Array.from(this.configuredList.querySelectorAll("[data-id]"));this.input.value=t.map(e=>e.getAttribute("data-id")).join(",")}};var Ui=class extends d{setup(){this.filter=this.$opts.filter,this.$el.addEventListener("change",t=>{if(this.filter&&!t.target.matches(this.filter))return;let e=this.$el.closest("form");e&&e.submit()})}};var Vi=class extends d{setup(){this.container=this.$el,this.tabList=this.container.querySelector('[role="tablist"]'),this.tabs=Array.from(this.tabList.querySelectorAll('[role="tab"]')),this.panels=Array.from(this.container.querySelectorAll(':scope > [role="tabpanel"], :scope > * > [role="tabpanel"]')),this.activeUnder=this.$opts.activeUnder?Number(this.$opts.activeUnder):1e4,this.active=null,this.container.addEventListener("click",t=>{let e=t.target.closest('[role="tab"]');e&&this.tabs.includes(e)&&this.show(e.getAttribute("aria-controls"))}),window.addEventListener("resize",this.updateActiveState.bind(this),{passive:!0}),this.updateActiveState()}show(t){for(let e of this.panels)e.toggleAttribute("hidden",e.id!==t);for(let e of this.tabs){let o=e.getAttribute("aria-controls")===t;e.setAttribute("aria-selected",o?"true":"false")}this.$emit("change",{showing:t})}updateActiveState(){let t=window.innerWidth<this.activeUnder;t!==this.active&&(t?this.activate():this.deactivate(),this.active=t)}activate(){let t=this.panels.find(e=>!e.hasAttribute("hidden"))||this.panels[0];this.show(t.id),this.tabList.toggleAttribute("hidden",!1)}deactivate(){for(let t of this.panels)t.removeAttribute("hidden");for(let t of this.tabs)t.setAttribute("aria-selected","false");this.tabList.toggleAttribute("hidden",!0)}};var ji=class extends d{setup(){this.addRemoveComponentEl=this.$refs.addRemove,this.container=this.$el,this.rowSelector=this.$opts.rowSelector,this.setupListeners()}setupListeners(){this.container.addEventListener("input",t=>{let e=window.$components.firstOnElement(this.addRemoveComponentEl,"add-remove-rows");!this.hasEmptyRows()&&t.target.value&&e.add()})}hasEmptyRows(){return[...this.container.querySelectorAll(this.rowSelector)].find(n=>[...n.querySelectorAll("input")].filter(o=>o.value).length===0)!==void 0}};var zi=class extends d{setup(){this.container=this.$el,this.list=this.$refs.list,this.searchInput=this.$refs.searchInput,this.searchButton=this.$refs.searchButton,this.searchCancel=this.$refs.searchCancel,this.setupListeners()}setupListeners(){I(this.container,"[template-action]","click",this.handleTemplateActionClick.bind(this)),I(this.container,".pagination a","click",this.handlePaginationClick.bind(this)),I(this.container,".template-item-content","click",this.handleTemplateItemClick.bind(this)),I(this.container,".template-item","dragstart",this.handleTemplateItemDragStart.bind(this)),this.searchInput.addEventListener("keypress",t=>{t.key==="Enter"&&(t.preventDefault(),this.performSearch())}),this.searchButton.addEventListener("click",()=>this.performSearch()),this.searchCancel.addEventListener("click",()=>{this.searchInput.value="",this.performSearch()})}handleTemplateItemClick(t,e){let n=e.closest("[template-id]").getAttribute("template-id");this.insertTemplate(n,"replace")}handleTemplateItemDragStart(t,e){let n=e.closest("[template-id]").getAttribute("template-id");t.dataTransfer.setData("bookstack/template",n),t.dataTransfer.setData("text/plain",n)}handleTemplateActionClick(t,e){t.stopPropagation();let n=e.getAttribute("template-action"),o=e.closest("[template-id]").getAttribute("template-id");this.insertTemplate(o,n)}async insertTemplate(t,e="replace"){let n=await window.$http.get(`/templates/${t}`),o=`editor::${e}`;window.$events.emit(o,n.data)}async handlePaginationClick(t,e){t.preventDefault();let n=e.getAttribute("href"),o=await window.$http.get(n);this.list.innerHTML=o.data}async performSearch(){let t=this.searchInput.value,e=await window.$http.get("/templates",{search:t});this.searchCancel.style.display=t?"block":"none",this.list.innerHTML=e.data}};var Wi=class extends d{setup(){this.input=this.$el.querySelector("input[type=hidden]"),this.checkbox=this.$el.querySelector("input[type=checkbox]"),this.checkbox.addEventListener("change",this.stateChange.bind(this))}stateChange(){this.input.value=this.checkbox.checked?"true":"false";let t=new Event("change");this.input.dispatchEvent(t)}};var Ki=class extends d{setup(){this.container=this.$refs.container,this.tabs=this.$manyRefs.tab,this.lastLayoutType="none",this.onDestroy=null,this.scrollCache={content:0,info:0},this.lastTabShown="content",this.mobileTabClick=this.mobileTabClick.bind(this),this.updateLayout(),window.addEventListener("resize",()=>{this.updateLayout()},{passive:!0})}updateLayout(){let t="tablet";window.innerWidth<=1e3&&(t="mobile"),window.innerWidth>1400&&(t="desktop"),t!==this.lastLayoutType&&(this.onDestroy&&(this.onDestroy(),this.onDestroy=null),t==="desktop"?this.setupDesktop():t==="mobile"&&this.setupMobile(),this.lastLayoutType=t)}setupMobile(){for(let t of this.tabs)t.addEventListener("click",this.mobileTabClick);this.onDestroy=()=>{for(let t of this.tabs)t.removeEventListener("click",this.mobileTabClick)}}setupDesktop(){}mobileTabClick(t){let{tab:e}=t.target.dataset;this.showTab(e)}showContent(){this.showTab("content",!1)}showTab(t,e=!0){this.scrollCache[this.lastTabShown]=document.documentElement.scrollTop;for(let o of this.tabs){let s=o.dataset.tab===t;o.setAttribute("aria-selected",s?"true":"false")}let n=t==="info";if(this.container.classList.toggle("show-info",n),e){let s=document.querySelector("header").getBoundingClientRect().bottom;document.documentElement.scrollTop=this.scrollCache[t]||s,setTimeout(()=>{document.documentElement.scrollTop=this.scrollCache[t]||s},50)}this.lastTabShown=t}};var Xi=class extends d{setup(){this.container=this.$el,this.input=this.$refs.input,this.userInfoContainer=this.$refs.userInfo,I(this.container,"a.dropdown-search-item","click",this.selectUser.bind(this))}selectUser(t,e){t.preventDefault(),this.input.value=e.getAttribute("data-id"),this.userInfoContainer.innerHTML=e.innerHTML,this.input.dispatchEvent(new Event("change",{bubbles:!0})),this.hide()}hide(){window.$components.firstOnElement(this.container,"dropdown").hide()}};var Gi=class extends d{setup(){this.checkboxes=this.$el.querySelectorAll('input[type="checkbox"]'),this.allCheckbox=this.$el.querySelector('input[type="checkbox"][value="all"]'),this.$el.addEventListener("change",t=>{t.target.checked&&t.target===this.allCheckbox?this.deselectIndividualEvents():t.target.checked&&(this.allCheckbox.checked=!1)})}deselectIndividualEvents(){for(let t of this.checkboxes)t!==this.allCheckbox&&(t.checked=!1)}};var Yi=class extends d{setup(){this.elem=this.$el,this.editContainer=this.$refs.editContainer,this.input=this.$refs.input,this.editor=null;let t={...window.editor_translations,imageUploadErrorText:this.$opts.imageUploadErrorText,serverUploadLimitText:this.$opts.serverUploadLimitText};window.importVersioned("wysiwyg").then(n=>{let o=this.input.value;this.editor=n.createPageEditorInstance(this.editContainer,o,{drawioUrl:this.getDrawIoUrl(),pageId:Number(this.$opts.pageId),darkMode:document.documentElement.classList.contains("dark-mode"),textDirection:this.$opts.textDirection,translations:t})});let e=!1;this.input.form.addEventListener("submit",n=>{this.editor&&(e?e=!1:(n.preventDefault(),e=!0,this.editor.getContentAsHtml().then(o=>{this.input.value=o,this.input.form.submit()})))})}getDrawIoUrl(){let t=document.querySelector("[drawio-url]");return t?t.getAttribute("drawio-url"):""}async getContent(){return{html:await this.editor.getContentAsHtml()}}};var Ji=class extends d{setup(){this.elem=this.$el,this.tinyMceConfig=ps({language:this.$opts.language,containerElement:this.elem,darkMode:document.documentElement.classList.contains("dark-mode"),textDirection:this.$opts.textDirection,drawioUrl:this.getDrawIoUrl(),pageId:Number(this.$opts.pageId),translations:{imageUploadErrorText:this.$opts.imageUploadErrorText,serverUploadLimitText:this.$opts.serverUploadLimitText},translationMap:window.editor_translations}),window.$events.emitPublic(this.elem,"editor-tinymce::pre-init",{config:this.tinyMceConfig}),window.tinymce.init(this.tinyMceConfig).then(t=>{this.editor=t[0]})}getDrawIoUrl(){let t=document.querySelector("[drawio-url]");return t?t.getAttribute("drawio-url"):""}async getContent(){return{html:this.editor.getContent()}}};var Zi=class extends d{setup(){this.elem=this.$el;let t=qt({language:this.$opts.language,containerElement:this.elem,darkMode:document.documentElement.classList.contains("dark-mode"),textDirection:this.$opts.textDirection,translations:{},translationMap:window.editor_translations});window.tinymce.init(t).then(e=>{this.editor=e[0]})}};function Un(i){let t=n=>n.slice(0,1).toUpperCase()+n.slice(1),e=i.split("-");return e[0]+e.slice(1).map(t).join("")}function fs(i){return i.replace(/[A-Z]/g,(t,e)=>(e>0?"-":"")+t.toLowerCase())}function Zr(i,t){let e={},n={},o=`${i}@`,s=`[refs*="${o}"]`,r=[...t.querySelectorAll(s)];t.matches(s)&&r.push(t);for(let a of r){let l=(a.getAttribute("refs")||"").split(" ").filter(c=>c.startsWith(o)).map(c=>c.replace(o,"")).map(Un);for(let c of l)e[c]=a,typeof n[c]>"u"&&(n[c]=[]),n[c].push(a)}return{refs:e,manyRefs:n}}function Qr(i,t){let e={},n=`option:${i}:`;for(let{name:o,value:s}of t.attributes)if(o.startsWith(n)){let r=o.replace(n,"");e[Un(r)]=s||""}return e}var Qi=class{constructor(){this.components={};this.componentModelMap={};this.elementComponentMap=new WeakMap}initComponent(t,e){let n=this.componentModelMap[t];if(n===void 0)return;let o=null;try{o=new n,o.$name=t,o.$el=e;let r=Zr(t,e);o.$refs=r.refs,o.$manyRefs=r.manyRefs,o.$opts=Qr(t,e),o.setup()}catch(r){console.error("Failed to create component",r,t,e)}if(!o)return;typeof this.components[t]>"u"&&(this.components[t]=[]),this.components[t].push(o);let s=this.elementComponentMap.get(e)||{};s[t]=o,this.elementComponentMap.set(e,s)}init(t=document){let e=t.querySelectorAll("[component],[components]");for(let n of e){let o=`${n.getAttribute("component")||""} ${n.getAttribute("components")}`.toLowerCase().split(" ").filter(Boolean);for(let s of o)this.initComponent(s,n)}}register(t){let e=Object.keys(t);for(let n of e)this.componentModelMap[fs(n)]=t[n]}first(t){return(this.components[t]||[null])[0]}get(t){return this.components[t]||[]}firstOnElement(t,e){return(this.elementComponentMap.get(t)||{})[e]||null}};window.__DEV__=!1;window.baseUrl=Qn;window.importVersioned=to;window.$http=new me;window.$events=new pe;window.$trans=new fe;window.$components=new Qi;window.$components.register(qn);window.$components.init(); /*! Bundled license information: sortablejs/modular/sortable.esm.js: diff --git a/public/dist/code.js b/public/dist/code.js index 16a27160d..4a0f39222 100644 --- a/public/dist/code.js +++ b/public/dist/code.js @@ -1,32 +1,32 @@ // See the "/licenses" URI for full package license details -var os=[],Wa=[];(()=>{let i="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,t=0;e<i.length;e++)(e%2?Wa:os).push(t=t+i[e])})();function Id(i){if(i<768)return!1;for(let e=0,t=os.length;;){let n=e+t>>1;if(i<os[n])t=n;else if(i>=Wa[n])e=n+1;else return!0;if(e==t)return!1}}function va(i){return i>=127462&&i<=127487}var za=8205;function Xa(i,e,t=!0,n=!0){return(t?Za:Bd)(i,e,n)}function Za(i,e,t){if(e==i.length)return e;e&&qa(i.charCodeAt(e))&&Va(i.charCodeAt(e-1))&&e--;let n=ss(i,e);for(e+=Ra(n);e<i.length;){let r=ss(i,e);if(n==za||r==za||t&&Id(r))e+=Ra(r),n=r;else if(va(r)){let s=0,o=e-2;for(;o>=0&&va(ss(i,o));)s++,o-=2;if(s%2==0)break;e+=2}else break}return e}function Bd(i,e,t){for(;e>0;){let n=Za(i,e-2,t);if(n<e)return n;e--}return 0}function ss(i,e){let t=i.charCodeAt(e);if(!Va(t)||e+1==i.length)return t;let n=i.charCodeAt(e+1);return qa(n)?(t-55296<<10)+(n-56320)+65536:t}function qa(i){return i>=56320&&i<57344}function Va(i){return i>=55296&&i<56320}function Ra(i){return i<65536?1:2}var Y=class i{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,n){[e,t]=mi(this,e,t);let r=[];return this.decompose(0,e,r,2),n.length&&n.decompose(0,n.length,r,3),this.decompose(t,this.length,r,1),ui.from(r,this.length-(t-e)+n.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=mi(this,e,t);let n=[];return this.decompose(e,t,n,0),ui.from(n,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),n=this.length-this.scanIdentical(e,-1),r=new Bt(this),s=new Bt(e);for(let o=t,O=t;;){if(r.next(o),s.next(o),o=0,r.lineBreak!=s.lineBreak||r.done!=s.done||r.value!=s.value)return!1;if(O+=r.value.length,r.done||O>=n)return!0}}iter(e=1){return new Bt(this,e)}iterRange(e,t=this.length){return new Un(this,e,t)}iterLines(e,t){let n;if(e==null)n=this.iter();else{t==null&&(t=this.lines+1);let r=this.line(e).from;n=this.iterRange(r,Math.max(r,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new An(n)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?i.empty:e.length<=32?new Xe(e):ui.from(Xe.split(e,[]))}},Xe=class i extends Y{constructor(e,t=Nd(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,n,r){for(let s=0;;s++){let o=this.text[s],O=r+o.length;if((t?n:O)>=e)return new as(r,O,n,o);r=O+1,n++}}decompose(e,t,n,r){let s=e<=0&&t>=this.length?this:new i(Ca(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(r&1){let o=n.pop(),O=Yn(s.text,o.text.slice(),0,s.length);if(O.length<=32)n.push(new i(O,o.length+s.length));else{let a=O.length>>1;n.push(new i(O.slice(0,a)),new i(O.slice(a)))}}else n.push(s)}replace(e,t,n){if(!(n instanceof i))return super.replace(e,t,n);[e,t]=mi(this,e,t);let r=Yn(this.text,Yn(n.text,Ca(this.text,0,e)),t),s=this.length+n.length-(t-e);return r.length<=32?new i(r,s):ui.from(i.split(r,[]),s)}sliceString(e,t=this.length,n=` -`){[e,t]=mi(this,e,t);let r="";for(let s=0,o=0;s<=t&&o<this.text.length;o++){let O=this.text[o],a=s+O.length;s>e&&o&&(r+=n),e<a&&t>s&&(r+=O.slice(Math.max(0,e-s),t-s)),s=a+1}return r}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let n=[],r=-1;for(let s of e)n.push(s),r+=s.length+1,n.length==32&&(t.push(new i(n,r)),n=[],r=-1);return r>-1&&t.push(new i(n,r)),t}},ui=class i extends Y{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let n of e)this.lines+=n.lines}lineInner(e,t,n,r){for(let s=0;;s++){let o=this.children[s],O=r+o.length,a=n+o.lines-1;if((t?a:O)>=e)return o.lineInner(e,t,n,r);r=O+1,n=a+1}}decompose(e,t,n,r){for(let s=0,o=0;o<=t&&s<this.children.length;s++){let O=this.children[s],a=o+O.length;if(e<=a&&t>=o){let l=r&((o<=e?1:0)|(a>=t?2:0));o>=e&&a<=t&&!l?n.push(O):O.decompose(e-o,t-o,n,l)}o=a+1}}replace(e,t,n){if([e,t]=mi(this,e,t),n.lines<this.lines)for(let r=0,s=0;r<this.children.length;r++){let o=this.children[r],O=s+o.length;if(e>=s&&t<=O){let a=o.replace(e-s,t-s,n),l=this.lines-o.lines+a.lines;if(a.lines<l>>4&&a.lines>l>>6){let h=this.children.slice();return h[r]=a,new i(h,this.length-(t-e)+n.length)}return super.replace(s,O,a)}s=O+1}return super.replace(e,t,n)}sliceString(e,t=this.length,n=` -`){[e,t]=mi(this,e,t);let r="";for(let s=0,o=0;s<this.children.length&&o<=t;s++){let O=this.children[s],a=o+O.length;o>e&&s&&(r+=n),e<a&&t>o&&(r+=O.sliceString(e-o,t-o,n)),o=a+1}return r}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof i))return 0;let n=0,[r,s,o,O]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;r+=t,s+=t){if(r==o||s==O)return n;let a=this.children[r],l=e.children[s];if(a!=l)return n+a.scanIdentical(l,t);n+=a.length+1}}static from(e,t=e.reduce((n,r)=>n+r.length+1,-1)){let n=0;for(let d of e)n+=d.lines;if(n<32){let d=[];for(let p of e)p.flatten(d);return new Xe(d,t)}let r=Math.max(32,n>>5),s=r<<1,o=r>>1,O=[],a=0,l=-1,h=[];function c(d){let p;if(d.lines>s&&d instanceof i)for(let m of d.children)c(m);else d.lines>o&&(a>o||!a)?(f(),O.push(d)):d instanceof Xe&&a&&(p=h[h.length-1])instanceof Xe&&d.lines+p.lines<=32?(a+=d.lines,l+=d.length+1,h[h.length-1]=new Xe(p.text.concat(d.text),p.length+1+d.length)):(a+d.lines>r&&f(),a+=d.lines,l+=d.length+1,h.push(d))}function f(){a!=0&&(O.push(h.length==1?h[0]:i.from(h,l)),l=-1,a=h.length=0)}for(let d of e)c(d);return f(),O.length==1?O[0]:new i(O,t)}};Y.empty=new Xe([""],0);function Nd(i){let e=-1;for(let t of i)e+=t.length+1;return e}function Yn(i,e,t=0,n=1e9){for(let r=0,s=0,o=!0;s<i.length&&r<=n;s++){let O=i[s],a=r+O.length;a>=t&&(a>n&&(O=O.slice(0,n-r)),r<t&&(O=O.slice(t-r)),o?(e[e.length-1]+=O,o=!1):e.push(O)),r=a+1}return e}function Ca(i,e,t){return Yn(i,[""],e,t)}var Bt=class{constructor(e,t=1){this.dir=t,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[e],this.offsets=[t>0?1:(e instanceof Xe?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let n=this.nodes.length-1,r=this.nodes[n],s=this.offsets[n],o=s>>1,O=r instanceof Xe?r.text.length:r.children.length;if(o==(t>0?O:0)){if(n==0)return this.done=!0,this.value="",this;t>0&&this.offsets[n-1]++,this.nodes.pop(),this.offsets.pop()}else if((s&1)==(t>0?0:1)){if(this.offsets[n]+=t,e==0)return this.lineBreak=!0,this.value=` -`,this;e--}else if(r instanceof Xe){let a=r.text[o+(t<0?-1:0)];if(this.offsets[n]+=t,a.length>Math.max(0,e))return this.value=e==0?a:t>0?a.slice(e):a.slice(0,a.length-e),this;e-=a.length}else{let a=r.children[o+(t<0?-1:0)];e>a.length?(e-=a.length,this.offsets[n]+=t):(t<0&&this.offsets[n]--,this.nodes.push(a),this.offsets.push(t>0?1:(a instanceof Xe?a.text.length:a.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}},Un=class{constructor(e,t,n){this.value="",this.done=!1,this.cursor=new Bt(e,t>n?-1:1),this.pos=t>n?e.length:0,this.from=Math.min(t,n),this.to=Math.max(t,n)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let n=t<0?this.pos-this.from:this.to-this.pos;e>n&&(e=n),n-=e;let{value:r}=this.cursor.next(e);return this.pos+=(r.length+e)*t,this.value=r.length<=n?r:t<0?r.slice(r.length-n):r.slice(0,n),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}},An=class{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:n,value:r}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):n?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=r,this.afterBreak=!1),this}get lineBreak(){return!1}};typeof Symbol<"u"&&(Y.prototype[Symbol.iterator]=function(){return this.iter()},Bt.prototype[Symbol.iterator]=Un.prototype[Symbol.iterator]=An.prototype[Symbol.iterator]=function(){return this});var as=class{constructor(e,t,n,r){this.from=e,this.to=t,this.number=n,this.text=r}get length(){return this.to-this.from}};function mi(i,e,t){return e=Math.max(0,Math.min(i.length,e)),[e,Math.max(e,Math.min(i.length,t))]}function le(i,e,t=!0,n=!0){return Xa(i,e,t,n)}function Fd(i){return i>=56320&&i<57344}function Hd(i){return i>=55296&&i<56320}function ys(i,e){let t=i.charCodeAt(e);if(!Hd(t)||e+1==i.length)return t;let n=i.charCodeAt(e+1);return Fd(n)?(t-55296<<10)+(n-56320)+65536:t}function Ps(i){return i<65536?1:2}var ls=/\r\n?|\n/,ae=function(i){return i[i.Simple=0]="Simple",i[i.TrackDel=1]="TrackDel",i[i.TrackBefore=2]="TrackBefore",i[i.TrackAfter=3]="TrackAfter",i}(ae||(ae={})),pt=class i{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;t<this.sections.length;t+=2)e+=this.sections[t];return e}get newLength(){let e=0;for(let t=0;t<this.sections.length;t+=2){let n=this.sections[t+1];e+=n<0?this.sections[t]:n}return e}get empty(){return this.sections.length==0||this.sections.length==2&&this.sections[1]<0}iterGaps(e){for(let t=0,n=0,r=0;t<this.sections.length;){let s=this.sections[t++],o=this.sections[t++];o<0?(e(n,r,s),r+=s):r+=o,n+=s}}iterChangedRanges(e,t=!1){hs(this,e,t)}get invertedDesc(){let e=[];for(let t=0;t<this.sections.length;){let n=this.sections[t++],r=this.sections[t++];r<0?e.push(n,r):e.push(r,n)}return new i(e)}composeDesc(e){return this.empty?e:e.empty?this:Ea(this,e)}mapDesc(e,t=!1){return e.empty?this:cs(this,e,t)}mapPos(e,t=-1,n=ae.Simple){let r=0,s=0;for(let o=0;o<this.sections.length;){let O=this.sections[o++],a=this.sections[o++],l=r+O;if(a<0){if(l>e)return s+(e-r);s+=O}else{if(n!=ae.Simple&&l>=e&&(n==ae.TrackDel&&r<e&&l>e||n==ae.TrackBefore&&r<e||n==ae.TrackAfter&&l>e))return null;if(l>e||l==e&&t<0&&!O)return e==r||t<0?s:s+a;s+=a}r=l}if(e>r)throw new RangeError(`Position ${e} is out of range for changeset of length ${r}`);return s}touchesRange(e,t=e){for(let n=0,r=0;n<this.sections.length&&r<=t;){let s=this.sections[n++],o=this.sections[n++],O=r+s;if(o>=0&&r<=t&&O>=e)return r<e&&O>t?"cover":!0;r=O}return!1}toString(){let e="";for(let t=0;t<this.sections.length;){let n=this.sections[t++],r=this.sections[t++];e+=(e?" ":"")+n+(r>=0?":"+r:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(t=>typeof t!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new i(e)}static create(e){return new i(e)}},ge=class i extends pt{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return hs(this,(t,n,r,s,o)=>e=e.replace(r,r+(n-t),o),!1),e}mapDesc(e,t=!1){return cs(this,e,t,!0)}invert(e){let t=this.sections.slice(),n=[];for(let r=0,s=0;r<t.length;r+=2){let o=t[r],O=t[r+1];if(O>=0){t[r]=O,t[r+1]=o;let a=r>>1;for(;n.length<a;)n.push(Y.empty);n.push(o?e.slice(s,s+o):Y.empty)}s+=o}return new i(t,n)}compose(e){return this.empty?e:e.empty?this:Ea(this,e,!0)}map(e,t=!1){return e.empty?this:cs(this,e,t,!0)}iterChanges(e,t=!1){hs(this,e,t)}get desc(){return pt.create(this.sections)}filter(e){let t=[],n=[],r=[],s=new Nt(this);e:for(let o=0,O=0;;){let a=o==e.length?1e9:e[o++];for(;O<a||O==a&&s.len==0;){if(s.done)break e;let h=Math.min(s.len,a-O);ce(r,h,-1);let c=s.ins==-1?-1:s.off==0?s.ins:0;ce(t,h,c),c>0&&kt(n,t,s.text),s.forward(h),O+=h}let l=e[o++];for(;O<l;){if(s.done)break e;let h=Math.min(s.len,l-O);ce(t,h,-1),ce(r,h,s.ins==-1?-1:s.off==0?s.ins:0),s.forward(h),O+=h}}return{changes:new i(t,n),filtered:pt.create(r)}}toJSON(){let e=[];for(let t=0;t<this.sections.length;t+=2){let n=this.sections[t],r=this.sections[t+1];r<0?e.push(n):r==0?e.push([n]):e.push([n].concat(this.inserted[t>>1].toJSON()))}return e}static of(e,t,n){let r=[],s=[],o=0,O=null;function a(h=!1){if(!h&&!r.length)return;o<t&&ce(r,t-o,-1);let c=new i(r,s);O=O?O.compose(c.map(O)):c,r=[],s=[],o=0}function l(h){if(Array.isArray(h))for(let c of h)l(c);else if(h instanceof i){if(h.length!=t)throw new RangeError(`Mismatched change set length (got ${h.length}, expected ${t})`);a(),O=O?O.compose(h.map(O)):h}else{let{from:c,to:f=c,insert:d}=h;if(c>f||c<0||f>t)throw new RangeError(`Invalid change range ${c} to ${f} (in doc of length ${t})`);let p=d?typeof d=="string"?Y.of(d.split(n||ls)):d:Y.empty,m=p.length;if(c==f&&m==0)return;c<o&&a(),c>o&&ce(r,c-o,-1),ce(r,f-c,m),kt(s,r,p),o=f}}return l(e),a(!O),O}static empty(e){return new i(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],n=[];for(let r=0;r<e.length;r++){let s=e[r];if(typeof s=="number")t.push(s,-1);else{if(!Array.isArray(s)||typeof s[0]!="number"||s.some((o,O)=>O&&typeof o!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(s.length==1)t.push(s[0],0);else{for(;n.length<r;)n.push(Y.empty);n[r]=Y.of(s.slice(1)),t.push(s[0],n[r].length)}}}return new i(t,n)}static createSet(e,t){return new i(e,t)}};function ce(i,e,t,n=!1){if(e==0&&t<=0)return;let r=i.length-2;r>=0&&t<=0&&t==i[r+1]?i[r]+=e:r>=0&&e==0&&i[r]==0?i[r+1]+=t:n?(i[r]+=e,i[r+1]+=t):i.push(e,t)}function kt(i,e,t){if(t.length==0)return;let n=e.length-2>>1;if(n<i.length)i[i.length-1]=i[i.length-1].append(t);else{for(;i.length<n;)i.push(Y.empty);i.push(t)}}function hs(i,e,t){let n=i.inserted;for(let r=0,s=0,o=0;o<i.sections.length;){let O=i.sections[o++],a=i.sections[o++];if(a<0)r+=O,s+=O;else{let l=r,h=s,c=Y.empty;for(;l+=O,h+=a,a&&n&&(c=c.append(n[o-2>>1])),!(t||o==i.sections.length||i.sections[o+1]<0);)O=i.sections[o++],a=i.sections[o++];e(r,l,s,h,c),r=l,s=h}}}function cs(i,e,t,n=!1){let r=[],s=n?[]:null,o=new Nt(i),O=new Nt(e);for(let a=-1;;){if(o.done&&O.len||O.done&&o.len)throw new Error("Mismatched change set lengths");if(o.ins==-1&&O.ins==-1){let l=Math.min(o.len,O.len);ce(r,l,-1),o.forward(l),O.forward(l)}else if(O.ins>=0&&(o.ins<0||a==o.i||o.off==0&&(O.len<o.len||O.len==o.len&&!t))){let l=O.len;for(ce(r,O.ins,-1);l;){let h=Math.min(o.len,l);o.ins>=0&&a<o.i&&o.len<=h&&(ce(r,0,o.ins),s&&kt(s,r,o.text),a=o.i),o.forward(h),l-=h}O.next()}else if(o.ins>=0){let l=0,h=o.len;for(;h;)if(O.ins==-1){let c=Math.min(h,O.len);l+=c,h-=c,O.forward(c)}else if(O.ins==0&&O.len<h)h-=O.len,O.next();else break;ce(r,l,a<o.i?o.ins:0),s&&a<o.i&&kt(s,r,o.text),a=o.i,o.forward(o.len-h)}else{if(o.done&&O.done)return s?ge.createSet(r,s):pt.create(r);throw new Error("Mismatched change set lengths")}}}function Ea(i,e,t=!1){let n=[],r=t?[]:null,s=new Nt(i),o=new Nt(e);for(let O=!1;;){if(s.done&&o.done)return r?ge.createSet(n,r):pt.create(n);if(s.ins==0)ce(n,s.len,0,O),s.next();else if(o.len==0&&!o.done)ce(n,0,o.ins,O),r&&kt(r,n,o.text),o.next();else{if(s.done||o.done)throw new Error("Mismatched change set lengths");{let a=Math.min(s.len2,o.len),l=n.length;if(s.ins==-1){let h=o.ins==-1?-1:o.off?0:o.ins;ce(n,a,h,O),r&&h&&kt(r,n,o.text)}else o.ins==-1?(ce(n,s.off?0:s.len,a,O),r&&kt(r,n,s.textBit(a))):(ce(n,s.off?0:s.len,o.off?0:o.ins,O),r&&!o.off&&kt(r,n,o.text));O=(s.ins>a||o.ins>=0&&o.len>a)&&(O||n.length>l),s.forward2(a),o.forward(a)}}}}var Nt=class{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i<e.length?(this.len=e[this.i++],this.ins=e[this.i++]):(this.len=0,this.ins=-2),this.off=0}get done(){return this.ins==-2}get len2(){return this.ins<0?this.len:this.ins}get text(){let{inserted:e}=this.set,t=this.i-2>>1;return t>=e.length?Y.empty:e[t]}textBit(e){let{inserted:t}=this.set,n=this.i-2>>1;return n>=t.length&&!e?Y.empty:t[n].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}},fi=class i{constructor(e,t,n){this.from=e,this.to=t,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 e=this.flags&7;return e==7?null:e}get goalColumn(){let e=this.flags>>6;return e==16777215?void 0:e}map(e,t=-1){let n,r;return this.empty?n=r=e.mapPos(this.from,t):(n=e.mapPos(this.from,1),r=e.mapPos(this.to,-1)),n==this.from&&r==this.to?this:new i(n,r,this.flags)}extend(e,t=e){if(e<=this.anchor&&t>=this.anchor)return S.range(e,t);let n=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return S.range(this.anchor,n)}eq(e,t=!1){return this.anchor==e.anchor&&this.head==e.head&&(!t||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return S.range(e.anchor,e.head)}static create(e,t,n){return new i(e,t,n)}},S=class i{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:i.create(this.ranges.map(n=>n.map(e,t)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let n=0;n<this.ranges.length;n++)if(!this.ranges[n].eq(e.ranges[n],t))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return this.ranges.length==1?this:new i([this.main],0)}addRange(e,t=!0){return i.create([e].concat(this.ranges),t?0:this.mainIndex+1)}replaceRange(e,t=this.mainIndex){let n=this.ranges.slice();return n[t]=e,i.create(n,this.mainIndex)}toJSON(){return{ranges:this.ranges.map(e=>e.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new i(e.ranges.map(t=>fi.fromJSON(t)),e.main)}static single(e,t=e){return new i([i.range(e,t)],0)}static create(e,t=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let n=0,r=0;r<e.length;r++){let s=e[r];if(s.empty?s.from<=n:s.from<n)return i.normalized(e.slice(),t);n=s.to}return new i(e,t)}static cursor(e,t=0,n,r){return fi.create(e,e,(t==0?0:t<0?8:16)|(n==null?7:Math.min(6,n))|(r??16777215)<<6)}static range(e,t,n,r){let s=(n??16777215)<<6|(r==null?7:Math.min(6,r));return t<e?fi.create(t,e,48|s):fi.create(e,t,(t>e?8:0)|s)}static normalized(e,t=0){let n=e[t];e.sort((r,s)=>r.from-s.from),t=e.indexOf(n);for(let r=1;r<e.length;r++){let s=e[r],o=e[r-1];if(s.empty?s.from<=o.to:s.from<o.to){let O=o.from,a=Math.max(s.to,o.to);r<=t&&t--,e.splice(--r,2,s.anchor>s.head?i.range(a,O):i.range(O,a))}}return new i(e,t)}};function Ma(i,e){for(let t of i.ranges)if(t.to>e)throw new RangeError("Selection points outside of document")}var bs=0,R=class i{constructor(e,t,n,r,s){this.combine=e,this.compareInput=t,this.compare=n,this.isStatic=r,this.id=bs++,this.default=e([]),this.extensions=typeof s=="function"?s(this):s}get reader(){return this}static define(e={}){return new i(e.combine||(t=>t),e.compareInput||((t,n)=>t===n),e.compare||(e.combine?(t,n)=>t===n:xs),!!e.static,e.enables)}of(e){return new di([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new di(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new di(e,this,2,t)}from(e,t){return t||(t=n=>n),this.compute([e],n=>t(n.field(e)))}};function xs(i,e){return i==e||i.length==e.length&&i.every((t,n)=>t===e[n])}var di=class{constructor(e,t,n,r){this.dependencies=e,this.facet=t,this.type=n,this.value=r,this.id=bs++}dynamicSlot(e){var t;let n=this.value,r=this.facet.compareInput,s=this.id,o=e[s]>>1,O=this.type==2,a=!1,l=!1,h=[];for(let c of this.dependencies)c=="doc"?a=!0:c=="selection"?l=!0:((t=e[c.id])!==null&&t!==void 0?t:1)&1||h.push(e[c.id]);return{create(c){return c.values[o]=n(c),1},update(c,f){if(a&&f.docChanged||l&&(f.docChanged||f.selection)||fs(c,h)){let d=n(c);if(O?!Ya(d,c.values[o],r):!r(d,c.values[o]))return c.values[o]=d,1}return 0},reconfigure:(c,f)=>{let d,p=f.config.address[s];if(p!=null){let m=En(f,p);if(this.dependencies.every(g=>g instanceof R?f.facet(g)===c.facet(g):g instanceof $e?f.field(g,!1)==c.field(g,!1):!0)||(O?Ya(d=n(c),m,r):r(d=n(c),m)))return c.values[o]=m,0}else d=n(c);return c.values[o]=d,1}}}};function Ya(i,e,t){if(i.length!=e.length)return!1;for(let n=0;n<i.length;n++)if(!t(i[n],e[n]))return!1;return!0}function fs(i,e){let t=!1;for(let n of e)_i(i,n)&1&&(t=!0);return t}function Kd(i,e,t){let n=t.map(a=>i[a.id]),r=t.map(a=>a.type),s=n.filter(a=>!(a&1)),o=i[e.id]>>1;function O(a){let l=[];for(let h=0;h<n.length;h++){let c=En(a,n[h]);if(r[h]==2)for(let f of c)l.push(f);else l.push(c)}return e.combine(l)}return{create(a){for(let l of n)_i(a,l);return a.values[o]=O(a),1},update(a,l){if(!fs(a,s))return 0;let h=O(a);return e.compare(h,a.values[o])?0:(a.values[o]=h,1)},reconfigure(a,l){let h=fs(a,n),c=l.config.facets[e.id],f=l.facet(e);if(c&&!h&&xs(t,c))return a.values[o]=f,0;let d=O(a);return e.compare(d,f)?(a.values[o]=f,0):(a.values[o]=d,1)}}}var Ua=R.define({static:!0}),$e=class i{constructor(e,t,n,r,s){this.id=e,this.createF=t,this.updateF=n,this.compareF=r,this.spec=s,this.provides=void 0}static define(e){let t=new i(bs++,e.create,e.update,e.compare||((n,r)=>n===r),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(Ua).find(n=>n.field==this);return(t?.create||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:n=>(n.values[t]=this.create(n),1),update:(n,r)=>{let s=n.values[t],o=this.updateF(s,r);return this.compareF(s,o)?0:(n.values[t]=o,1)},reconfigure:(n,r)=>r.config.address[this.id]!=null?(n.values[t]=r.field(this),0):(n.values[t]=this.create(n),1)}}init(e){return[this,Ua.of({field:this,create:e})]}get extension(){return this}},Dt={lowest:4,low:3,default:2,high:1,highest:0};function Ai(i){return e=>new _n(e,i)}var nt={highest:Ai(Dt.highest),high:Ai(Dt.high),default:Ai(Dt.default),low:Ai(Dt.low),lowest:Ai(Dt.lowest)},_n=class{constructor(e,t){this.inner=e,this.prec=t}},mt=class i{of(e){return new ji(this,e)}reconfigure(e){return i.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}},ji=class{constructor(e,t){this.compartment=e,this.inner=t}},jn=class i{constructor(e,t,n,r,s,o){for(this.base=e,this.compartments=t,this.dynamicSlots=n,this.address=r,this.staticValues=s,this.facets=o,this.statusTemplate=[];this.statusTemplate.length<n.length;)this.statusTemplate.push(0)}staticFacet(e){let t=this.address[e.id];return t==null?e.default:this.staticValues[t>>1]}static resolve(e,t,n){let r=[],s=Object.create(null),o=new Map;for(let f of Jd(e,t,o))f instanceof $e?r.push(f):(s[f.facet.id]||(s[f.facet.id]=[])).push(f);let O=Object.create(null),a=[],l=[];for(let f of r)O[f.id]=l.length<<1,l.push(d=>f.slot(d));let h=n?.config.facets;for(let f in s){let d=s[f],p=d[0].facet,m=h&&h[f]||[];if(d.every(g=>g.type==0))if(O[p.id]=a.length<<1|1,xs(m,d))a.push(n.facet(p));else{let g=p.combine(d.map($=>$.value));a.push(n&&p.compare(g,n.facet(p))?n.facet(p):g)}else{for(let g of d)g.type==0?(O[g.id]=a.length<<1|1,a.push(g.value)):(O[g.id]=l.length<<1,l.push($=>g.dynamicSlot($)));O[p.id]=l.length<<1,l.push(g=>Kd(g,p,d))}}let c=l.map(f=>f(O));return new i(e,o,c,O,a,s)}};function Jd(i,e,t){let n=[[],[],[],[],[]],r=new Map;function s(o,O){let a=r.get(o);if(a!=null){if(a<=O)return;let l=n[a].indexOf(o);l>-1&&n[a].splice(l,1),o instanceof ji&&t.delete(o.compartment)}if(r.set(o,O),Array.isArray(o))for(let l of o)s(l,O);else if(o instanceof ji){if(t.has(o.compartment))throw new RangeError("Duplicate use of compartment in extensions");let l=e.get(o.compartment)||o.inner;t.set(o.compartment,l),s(l,O)}else if(o instanceof _n)s(o.inner,o.prec);else if(o instanceof $e)n[O].push(o),o.provides&&s(o.provides,O);else if(o instanceof di)n[O].push(o),o.facet.extensions&&s(o.facet.extensions,Dt.default);else{let l=o.extension;if(!l)throw new Error(`Unrecognized extension value in extension set (${o}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);s(l,O)}}return s(i,Dt.default),n.reduce((o,O)=>o.concat(O))}function _i(i,e){if(e&1)return 2;let t=e>>1,n=i.status[t];if(n==4)throw new Error("Cyclic dependency between fields and/or facets");if(n&2)return n;i.status[t]=4;let r=i.computeSlot(i,i.config.dynamicSlots[t]);return i.status[t]=2|r}function En(i,e){return e&1?i.config.staticValues[e>>1]:i.values[e>>1]}var Ga=R.define(),us=R.define({combine:i=>i.some(e=>e),static:!0}),La=R.define({combine:i=>i.length?i[0]:void 0,static:!0}),Da=R.define(),Ia=R.define(),Ba=R.define(),Na=R.define({combine:i=>i.length?i[0]:!1}),ke=class{constructor(e,t){this.type=e,this.value=t}static define(){return new ds}},ds=class{of(e){return new ke(this,e)}},ps=class{constructor(e){this.map=e}of(e){return new D(this,e)}},D=class i{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return t===void 0?void 0:t==this.value?this:new i(this.type,t)}is(e){return this.type==e}static define(e={}){return new ps(e.map||(t=>t))}static mapEffects(e,t){if(!e.length)return e;let n=[];for(let r of e){let s=r.map(t);s&&n.push(s)}return n}};D.reconfigure=D.define();D.appendConfig=D.define();var ne=class i{constructor(e,t,n,r,s,o){this.startState=e,this.changes=t,this.selection=n,this.effects=r,this.annotations=s,this.scrollIntoView=o,this._doc=null,this._state=null,n&&Ma(n,t.newLength),s.some(O=>O.type==i.time)||(this.annotations=s.concat(i.time.of(Date.now())))}static create(e,t,n,r,s,o){return new i(e,t,n,r,s,o)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let t=this.annotation(i.userEvent);return!!(t&&(t==e||t.length>e.length&&t.slice(0,e.length)==e&&t[e.length]=="."))}};ne.time=ke.define();ne.userEvent=ke.define();ne.addToHistory=ke.define();ne.remote=ke.define();function ep(i,e){let t=[];for(let n=0,r=0;;){let s,o;if(n<i.length&&(r==e.length||e[r]>=i[n]))s=i[n++],o=i[n++];else if(r<e.length)s=e[r++],o=e[r++];else return t;!t.length||t[t.length-1]<s?t.push(s,o):t[t.length-1]<o&&(t[t.length-1]=o)}}function Fa(i,e,t){var n;let r,s,o;return t?(r=e.changes,s=ge.empty(e.changes.length),o=i.changes.compose(e.changes)):(r=e.changes.map(i.changes),s=i.changes.mapDesc(e.changes,!0),o=i.changes.compose(r)),{changes:o,selection:e.selection?e.selection.map(s):(n=i.selection)===null||n===void 0?void 0:n.map(r),effects:D.mapEffects(i.effects,r).concat(D.mapEffects(e.effects,s)),annotations:i.annotations.length?i.annotations.concat(e.annotations):e.annotations,scrollIntoView:i.scrollIntoView||e.scrollIntoView}}function ms(i,e,t){let n=e.selection,r=pi(e.annotations);return e.userEvent&&(r=r.concat(ne.userEvent.of(e.userEvent))),{changes:e.changes instanceof ge?e.changes:ge.of(e.changes||[],t,i.facet(La)),selection:n&&(n instanceof S?n:S.single(n.anchor,n.head)),effects:pi(e.effects),annotations:r,scrollIntoView:!!e.scrollIntoView}}function Ha(i,e,t){let n=ms(i,e.length?e[0]:{},i.doc.length);e.length&&e[0].filter===!1&&(t=!1);for(let s=1;s<e.length;s++){e[s].filter===!1&&(t=!1);let o=!!e[s].sequential;n=Fa(n,ms(i,e[s],o?n.changes.newLength:i.doc.length),o)}let r=ne.create(i,n.changes,n.selection,n.effects,n.annotations,n.scrollIntoView);return ip(t?tp(r):r)}function tp(i){let e=i.startState,t=!0;for(let r of e.facet(Da)){let s=r(i);if(s===!1){t=!1;break}Array.isArray(s)&&(t=t===!0?s:ep(t,s))}if(t!==!0){let r,s;if(t===!1)s=i.changes.invertedDesc,r=ge.empty(e.doc.length);else{let o=i.changes.filter(t);r=o.changes,s=o.filtered.mapDesc(o.changes).invertedDesc}i=ne.create(e,r,i.selection&&i.selection.map(s),D.mapEffects(i.effects,s),i.annotations,i.scrollIntoView)}let n=e.facet(Ia);for(let r=n.length-1;r>=0;r--){let s=n[r](i);s instanceof ne?i=s:Array.isArray(s)&&s.length==1&&s[0]instanceof ne?i=s[0]:i=Ha(e,pi(s),!1)}return i}function ip(i){let e=i.startState,t=e.facet(Ba),n=i;for(let r=t.length-1;r>=0;r--){let s=t[r](i);s&&Object.keys(s).length&&(n=Fa(n,ms(e,s,i.changes.newLength),!0))}return n==i?i:ne.create(e,i.changes,i.selection,n.effects,n.annotations,n.scrollIntoView)}var np=[];function pi(i){return i==null?np:Array.isArray(i)?i:[i]}var _e=function(i){return i[i.Word=0]="Word",i[i.Space=1]="Space",i[i.Other=2]="Other",i}(_e||(_e={})),rp=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,gs;try{gs=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function sp(i){if(gs)return gs.test(i);for(let e=0;e<i.length;e++){let t=i[e];if(/\w/.test(t)||t>"\x80"&&(t.toUpperCase()!=t.toLowerCase()||rp.test(t)))return!0}return!1}function op(i){return e=>{if(!/\S/.test(e))return _e.Space;if(sp(e))return _e.Word;for(let t=0;t<i.length;t++)if(e.indexOf(i[t])>-1)return _e.Word;return _e.Other}}var I=class i{constructor(e,t,n,r,s,o){this.config=e,this.doc=t,this.selection=n,this.values=r,this.status=e.statusTemplate.slice(),this.computeSlot=s,o&&(o._state=this);for(let O=0;O<this.config.dynamicSlots.length;O++)_i(this,O<<1);this.computeSlot=null}field(e,t=!0){let n=this.config.address[e.id];if(n==null){if(t)throw new RangeError("Field is not present in this state");return}return _i(this,n),En(this,n)}update(...e){return Ha(this,e,!0)}applyTransaction(e){let t=this.config,{base:n,compartments:r}=t;for(let O of e.effects)O.is(mt.reconfigure)?(t&&(r=new Map,t.compartments.forEach((a,l)=>r.set(l,a)),t=null),r.set(O.value.compartment,O.value.extension)):O.is(D.reconfigure)?(t=null,n=O.value):O.is(D.appendConfig)&&(t=null,n=pi(n).concat(O.value));let s;t?s=e.startState.values.slice():(t=jn.resolve(n,r,this),s=new i(t,this.doc,this.selection,t.dynamicSlots.map(()=>null),(a,l)=>l.reconfigure(a,this),null).values);let o=e.startState.facet(us)?e.newSelection:e.newSelection.asSingle();new i(t,e.newDoc,o,s,(O,a)=>a.update(O,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:S.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,n=e(t.ranges[0]),r=this.changes(n.changes),s=[n.range],o=pi(n.effects);for(let O=1;O<t.ranges.length;O++){let a=e(t.ranges[O]),l=this.changes(a.changes),h=l.map(r);for(let f=0;f<O;f++)s[f]=s[f].map(h);let c=r.mapDesc(l,!0);s.push(a.range.map(c)),r=r.compose(h),o=D.mapEffects(o,h).concat(D.mapEffects(pi(a.effects),c))}return{changes:r,selection:S.create(s,t.mainIndex),effects:o}}changes(e=[]){return e instanceof ge?e:ge.of(e,this.doc.length,this.facet(i.lineSeparator))}toText(e){return Y.of(e.split(this.facet(i.lineSeparator)||ls))}sliceDoc(e=0,t=this.doc.length){return this.doc.sliceString(e,t,this.lineBreak)}facet(e){let t=this.config.address[e.id];return t==null?e.default:(_i(this,t),En(this,t))}toJSON(e){let t={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(e)for(let n in e){let r=e[n];r instanceof $e&&this.config.address[r.id]!=null&&(t[n]=r.spec.toJSON(this.field(e[n]),this))}return t}static fromJSON(e,t={},n){if(!e||typeof e.doc!="string")throw new RangeError("Invalid JSON representation for EditorState");let r=[];if(n){for(let s in n)if(Object.prototype.hasOwnProperty.call(e,s)){let o=n[s],O=e[s];r.push(o.init(a=>o.spec.fromJSON(O,a)))}}return i.create({doc:e.doc,selection:S.fromJSON(e.selection),extensions:t.extensions?r.concat([t.extensions]):r})}static create(e={}){let t=jn.resolve(e.extensions||[],new Map),n=e.doc instanceof Y?e.doc:Y.of((e.doc||"").split(t.staticFacet(i.lineSeparator)||ls)),r=e.selection?e.selection instanceof S?e.selection:S.single(e.selection.anchor,e.selection.head):S.single(0);return Ma(r,n.length),t.staticFacet(us)||(r=r.asSingle()),new i(t,n,r,t.dynamicSlots.map(()=>null),(s,o)=>o.create(s),null)}get tabSize(){return this.facet(i.tabSize)}get lineBreak(){return this.facet(i.lineSeparator)||` -`}get readOnly(){return this.facet(Na)}phrase(e,...t){for(let n of this.facet(i.phrases))if(Object.prototype.hasOwnProperty.call(n,e)){e=n[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(n,r)=>{if(r=="$")return"$";let s=+(r||1);return!s||s>t.length?n:t[s-1]})),e}languageDataAt(e,t,n=-1){let r=[];for(let s of this.facet(Ga))for(let o of s(this,t,n))Object.prototype.hasOwnProperty.call(o,e)&&r.push(o[e]);return r}charCategorizer(e){return op(this.languageDataAt("wordChars",e).join(""))}wordAt(e){let{text:t,from:n,length:r}=this.doc.lineAt(e),s=this.charCategorizer(e),o=e-n,O=e-n;for(;o>0;){let a=le(t,o,!1);if(s(t.slice(a,o))!=_e.Word)break;o=a}for(;O<r;){let a=le(t,O);if(s(t.slice(O,a))!=_e.Word)break;O=a}return o==O?null:S.range(o+n,O+n)}};I.allowMultipleSelections=us;I.tabSize=R.define({combine:i=>i.length?i[0]:4});I.lineSeparator=La;I.readOnly=Na;I.phrases=R.define({compare(i,e){let t=Object.keys(i),n=Object.keys(e);return t.length==n.length&&t.every(r=>i[r]==e[r])}});I.languageData=Ga;I.changeFilter=Da;I.transactionFilter=Ia;I.transactionExtender=Ba;mt.reconfigure=D.define();function wt(i,e,t={}){let n={};for(let r of i)for(let s of Object.keys(r)){let o=r[s],O=n[s];if(O===void 0)n[s]=o;else if(!(O===o||o===void 0))if(Object.hasOwnProperty.call(t,s))n[s]=t[s](O,o);else throw new Error("Config merge conflict for field "+s)}for(let r in e)n[r]===void 0&&(n[r]=e[r]);return n}var Ne=class{eq(e){return this==e}range(e,t=e){return Ei.create(e,t,this)}};Ne.prototype.startSide=Ne.prototype.endSide=0;Ne.prototype.point=!1;Ne.prototype.mapMode=ae.TrackDel;var Ei=class i{constructor(e,t,n){this.from=e,this.to=t,this.value=n}static create(e,t,n){return new i(e,t,n)}};function $s(i,e){return i.from-e.from||i.value.startSide-e.value.startSide}var Qs=class i{constructor(e,t,n,r){this.from=e,this.to=t,this.value=n,this.maxPoint=r}get length(){return this.to[this.to.length-1]}findIndex(e,t,n,r=0){let s=n?this.to:this.from;for(let o=r,O=s.length;;){if(o==O)return o;let a=o+O>>1,l=s[a]-e||(n?this.value[a].endSide:this.value[a].startSide)-t;if(a==o)return l>=0?o:O;l>=0?O=a:o=a+1}}between(e,t,n,r){for(let s=this.findIndex(t,-1e9,!0),o=this.findIndex(n,1e9,!1,s);s<o;s++)if(r(this.from[s]+e,this.to[s]+e,this.value[s])===!1)return!1}map(e,t){let n=[],r=[],s=[],o=-1,O=-1;for(let a=0;a<this.value.length;a++){let l=this.value[a],h=this.from[a]+e,c=this.to[a]+e,f,d;if(h==c){let p=t.mapPos(h,l.startSide,l.mapMode);if(p==null||(f=d=p,l.startSide!=l.endSide&&(d=t.mapPos(h,l.endSide),d<f)))continue}else if(f=t.mapPos(h,l.startSide),d=t.mapPos(c,l.endSide),f>d||f==d&&l.startSide>0&&l.endSide<=0)continue;(d-f||l.endSide-l.startSide)<0||(o<0&&(o=f),l.point&&(O=Math.max(O,d-f)),n.push(l),r.push(f-o),s.push(d-o))}return{mapped:n.length?new i(r,s,n,O):null,pos:o}}},F=class i{constructor(e,t,n,r){this.chunkPos=e,this.chunk=t,this.nextLayer=n,this.maxPoint=r}static create(e,t,n,r){return new i(e,t,n,r)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:n=!1,filterFrom:r=0,filterTo:s=this.length}=e,o=e.filter;if(t.length==0&&!o)return this;if(n&&(t=t.slice().sort($s)),this.isEmpty)return t.length?i.of(t):this;let O=new Mn(this,null,-1).goto(0),a=0,l=[],h=new Ft;for(;O.value||a<t.length;)if(a<t.length&&(O.from-t[a].from||O.startSide-t[a].value.startSide)>=0){let c=t[a++];h.addInner(c.from,c.to,c.value)||l.push(c)}else O.rangeIndex==1&&O.chunkIndex<this.chunk.length&&(a==t.length||this.chunkEnd(O.chunkIndex)<t[a].from)&&(!o||r>this.chunkEnd(O.chunkIndex)||s<this.chunkPos[O.chunkIndex])&&h.addChunk(this.chunkPos[O.chunkIndex],this.chunk[O.chunkIndex])?O.nextChunk():((!o||r>O.to||s<O.from||o(O.from,O.to,O.value))&&(h.addInner(O.from,O.to,O.value)||l.push(Ei.create(O.from,O.to,O.value))),O.next());return h.finishInner(this.nextLayer.isEmpty&&!l.length?i.empty:this.nextLayer.update({add:l,filter:o,filterFrom:r,filterTo:s}))}map(e){if(e.empty||this.isEmpty)return this;let t=[],n=[],r=-1;for(let o=0;o<this.chunk.length;o++){let O=this.chunkPos[o],a=this.chunk[o],l=e.touchesRange(O,O+a.length);if(l===!1)r=Math.max(r,a.maxPoint),t.push(a),n.push(e.mapPos(O));else if(l===!0){let{mapped:h,pos:c}=a.map(O,e);h&&(r=Math.max(r,h.maxPoint),t.push(h),n.push(c))}}let s=this.nextLayer.map(e);return t.length==0?s:new i(n,t,s||i.empty,r)}between(e,t,n){if(!this.isEmpty){for(let r=0;r<this.chunk.length;r++){let s=this.chunkPos[r],o=this.chunk[r];if(t>=s&&e<=s+o.length&&o.between(s,e-s,t-s,n)===!1)return}this.nextLayer.between(e,t,n)}}iter(e=0){return Mi.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return Mi.from(e).goto(t)}static compare(e,t,n,r,s=-1){let o=e.filter(c=>c.maxPoint>0||!c.isEmpty&&c.maxPoint>=s),O=t.filter(c=>c.maxPoint>0||!c.isEmpty&&c.maxPoint>=s),a=Aa(o,O,n),l=new It(o,a,s),h=new It(O,a,s);n.iterGaps((c,f,d)=>_a(l,c,h,f,d,r)),n.empty&&n.length==0&&_a(l,0,h,0,0,r)}static eq(e,t,n=0,r){r==null&&(r=999999999);let s=e.filter(h=>!h.isEmpty&&t.indexOf(h)<0),o=t.filter(h=>!h.isEmpty&&e.indexOf(h)<0);if(s.length!=o.length)return!1;if(!s.length)return!0;let O=Aa(s,o),a=new It(s,O,0).goto(n),l=new It(o,O,0).goto(n);for(;;){if(a.to!=l.to||!Ss(a.active,l.active)||a.point&&(!l.point||!a.point.eq(l.point)))return!1;if(a.to>r)return!0;a.next(),l.next()}}static spans(e,t,n,r,s=-1){let o=new It(e,null,s).goto(t),O=t,a=o.openStart;for(;;){let l=Math.min(o.to,n);if(o.point){let h=o.activeForPoint(o.to),c=o.pointFrom<t?h.length+1:o.point.startSide<0?h.length:Math.min(h.length,a);r.point(O,l,o.point,h,c,o.pointRank),a=Math.min(o.openEnd(l),h.length)}else l>O&&(r.span(O,l,o.active,a),a=o.openEnd(l));if(o.to>n)return a+(o.point&&o.to>n?1:0);O=o.to,o.next()}}static of(e,t=!1){let n=new Ft;for(let r of e instanceof Ei?[e]:t?Op(e):e)n.add(r.from,r.to,r.value);return n.finish()}static join(e){if(!e.length)return i.empty;let t=e[e.length-1];for(let n=e.length-2;n>=0;n--)for(let r=e[n];r!=i.empty;r=r.nextLayer)t=new i(r.chunkPos,r.chunk,t,Math.max(r.maxPoint,t.maxPoint));return t}};F.empty=new F([],[],null,-1);function Op(i){if(i.length>1)for(let e=i[0],t=1;t<i.length;t++){let n=i[t];if($s(e,n)>0)return i.slice().sort($s);e=n}return i}F.empty.nextLayer=F.empty;var Ft=class i{finishChunk(e){this.chunks.push(new Qs(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,t,n){this.addInner(e,t,n)||(this.nextLayer||(this.nextLayer=new i)).add(e,t,n)}addInner(e,t,n){let r=e-this.lastTo||n.startSide-this.last.endSide;if(r<=0&&(e-this.lastFrom||n.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return r<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=n,this.lastFrom=e,this.lastTo=t,this.value.push(n),n.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),!0)}addChunk(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let n=t.value.length-1;return this.last=t.value[n],this.lastFrom=t.from[n]+e,this.lastTo=t.to[n]+e,!0}finish(){return this.finishInner(F.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let t=F.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}};function Aa(i,e,t){let n=new Map;for(let s of i)for(let o=0;o<s.chunk.length;o++)s.chunk[o].maxPoint<=0&&n.set(s.chunk[o],s.chunkPos[o]);let r=new Set;for(let s of e)for(let o=0;o<s.chunk.length;o++){let O=n.get(s.chunk[o]);O!=null&&(t?t.mapPos(O):O)==s.chunkPos[o]&&!t?.touchesRange(O,O+s.chunk[o].length)&&r.add(s.chunk[o])}return r}var Mn=class{constructor(e,t,n,r=0){this.layer=e,this.skip=t,this.minPoint=n,this.rank=r}get startSide(){return this.value?this.value.startSide:0}get endSide(){return this.value?this.value.endSide:0}goto(e,t=-1e9){return this.chunkIndex=this.rangeIndex=0,this.gotoInner(e,t,!1),this}gotoInner(e,t,n){for(;this.chunkIndex<this.layer.chunk.length;){let r=this.layer.chunk[this.chunkIndex];if(!(this.skip&&this.skip.has(r)||this.layer.chunkEnd(this.chunkIndex)<e||r.maxPoint<this.minPoint))break;this.chunkIndex++,n=!1}if(this.chunkIndex<this.layer.chunk.length){let r=this.layer.chunk[this.chunkIndex].findIndex(e-this.layer.chunkPos[this.chunkIndex],t,!0);(!n||this.rangeIndex<r)&&this.setRangeIndex(r)}this.next()}forward(e,t){(this.to-e||this.endSide-t)<0&&this.gotoInner(e,t,!0)}next(){for(;;)if(this.chunkIndex==this.layer.chunk.length){this.from=this.to=1e9,this.value=null;break}else{let e=this.layer.chunkPos[this.chunkIndex],t=this.layer.chunk[this.chunkIndex],n=e+t.from[this.rangeIndex];if(this.from=n,this.to=e+t.to[this.rangeIndex],this.value=t.value[this.rangeIndex],this.setRangeIndex(this.rangeIndex+1),this.minPoint<0||this.value.point&&this.to-this.from>=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex<this.layer.chunk.length&&this.skip.has(this.layer.chunk[this.chunkIndex]);)this.chunkIndex++;this.rangeIndex=0}else this.rangeIndex=e}nextChunk(){this.chunkIndex++,this.rangeIndex=0,this.next()}compare(e){return this.from-e.from||this.startSide-e.startSide||this.rank-e.rank||this.to-e.to||this.endSide-e.endSide}},Mi=class i{constructor(e){this.heap=e}static from(e,t=null,n=-1){let r=[];for(let s=0;s<e.length;s++)for(let o=e[s];!o.isEmpty;o=o.nextLayer)o.maxPoint>=n&&r.push(new Mn(o,t,n,s));return r.length==1?r[0]:new i(r)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let n of this.heap)n.goto(e,t);for(let n=this.heap.length>>1;n>=0;n--)Os(this.heap,n);return this.next(),this}forward(e,t){for(let n of this.heap)n.forward(e,t);for(let n=this.heap.length>>1;n>=0;n--)Os(this.heap,n);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),Os(this.heap,0)}}};function Os(i,e){for(let t=i[e];;){let n=(e<<1)+1;if(n>=i.length)break;let r=i[n];if(n+1<i.length&&r.compare(i[n+1])>=0&&(r=i[n+1],n++),t.compare(r)<0)break;i[n]=t,i[e]=r,e=n}}var It=class{constructor(e,t,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=Mi.from(e,t,n)}goto(e,t=-1e9){return this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this}forward(e,t){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t)<0;)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){Vn(this.active,e),Vn(this.activeTo,e),Vn(this.activeRank,e),this.minActive=ja(this.active,this.activeTo)}addActive(e){let t=0,{value:n,to:r,rank:s}=this.cursor;for(;t<this.activeRank.length&&(s-this.activeRank[t]||r-this.activeTo[t])>0;)t++;Cn(this.active,t,n),Cn(this.activeTo,t,r),Cn(this.activeRank,t,s),e&&Cn(e,t,this.cursor.from),this.minActive=ja(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let n=this.openStart<0?[]:null;for(;;){let r=this.minActive;if(r>-1&&(this.activeTo[r]-this.cursor.from||this.active[r].endSide-this.cursor.startSide)<0){if(this.activeTo[r]>e){this.to=this.activeTo[r],this.endSide=this.active[r].endSide;break}this.removeActive(r),n&&Vn(n,r)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let s=this.cursor.value;if(!s.point)this.addActive(n),this.cursor.next();else if(t&&this.cursor.to==this.to&&this.cursor.from<this.cursor.to)this.cursor.next();else{this.point=s,this.pointFrom=this.cursor.from,this.pointRank=this.cursor.rank,this.to=this.cursor.to,this.endSide=s.endSide,this.cursor.next(),this.forward(this.to,this.endSide);break}}else{this.to=this.endSide=1e9;break}}if(n){this.openStart=0;for(let r=n.length-1;r>=0&&n[r]<e;r--)this.openStart++}}activeForPoint(e){if(!this.active.length)return this.active;let t=[];for(let n=this.active.length-1;n>=0&&!(this.activeRank[n]<this.pointRank);n--)(this.activeTo[n]>e||this.activeTo[n]==e&&this.active[n].endSide>=this.point.endSide)&&t.push(this.active[n]);return t.reverse()}openEnd(e){let t=0;for(let n=this.activeTo.length-1;n>=0&&this.activeTo[n]>e;n--)t++;return t}};function _a(i,e,t,n,r,s){i.goto(e),t.goto(n);let o=n+r,O=n,a=n-e;for(;;){let l=i.to+a-t.to,h=l||i.endSide-t.endSide,c=h<0?i.to+a:t.to,f=Math.min(c,o);if(i.point||t.point?i.point&&t.point&&(i.point==t.point||i.point.eq(t.point))&&Ss(i.activeForPoint(i.to),t.activeForPoint(t.to))||s.comparePoint(O,f,i.point,t.point):f>O&&!Ss(i.active,t.active)&&s.compareRange(O,f,i.active,t.active),c>o)break;(l||i.openEnd!=t.openEnd)&&s.boundChange&&s.boundChange(c),O=c,h<=0&&i.next(),h>=0&&t.next()}}function Ss(i,e){if(i.length!=e.length)return!1;for(let t=0;t<i.length;t++)if(i[t]!=e[t]&&!i[t].eq(e[t]))return!1;return!0}function Vn(i,e){for(let t=e,n=i.length-1;t<n;t++)i[t]=i[t+1];i.pop()}function Cn(i,e,t){for(let n=i.length-1;n>=e;n--)i[n+1]=i[n];i[e]=t}function ja(i,e){let t=-1,n=1e9;for(let r=0;r<e.length;r++)(e[r]-n||i[r].endSide-i[t].endSide)<0&&(t=r,n=e[r]);return t}function we(i,e,t=i.length){let n=0;for(let r=0;r<t;)i.charCodeAt(r)==9?(n+=e-n%e,r++):(n++,r=le(i,r));return n}function Gn(i,e,t,n){for(let r=0,s=0;;){if(s>=e)return r;if(r==i.length)break;s+=i.charCodeAt(r)==9?t-s%t:1,r=le(i,r)}return n===!0?-1:i.length}var ks="\u037C",Ka=typeof Symbol>"u"?"__"+ks:Symbol.for(ks),ws=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),Ja=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{},je=class{constructor(e,t){this.rules=[];let{finish:n}=t||{};function r(o){return/^@/.test(o)?[o]:o.split(/,\s*/)}function s(o,O,a,l){let h=[],c=/^@(\w+)\b/.exec(o[0]),f=c&&c[1]=="keyframes";if(c&&O==null)return a.push(o[0]+";");for(let d in O){let p=O[d];if(/&/.test(d))s(d.split(/,\s*/).map(m=>o.map(g=>m.replace(/&/,g))).reduce((m,g)=>m.concat(g)),p,a);else if(p&&typeof p=="object"){if(!c)throw new RangeError("The value of a property ("+d+") should be a primitive value.");s(r(d),p,h,f)}else p!=null&&h.push(d.replace(/_.*/,"").replace(/[A-Z]/g,m=>"-"+m.toLowerCase())+": "+p+";")}(h.length||f)&&a.push((n&&!c&&!l?o.map(n):o).join(", ")+" {"+h.join(" ")+"}")}for(let o in e)s(r(o),e[o],this.rules)}getRules(){return this.rules.join(` -`)}static newName(){let e=Ja[Ka]||1;return Ja[Ka]=e+1,ks+e.toString(36)}static mount(e,t,n){let r=e[ws],s=n&&n.nonce;r?s&&r.setNonce(s):r=new Ts(e,s),r.mount(Array.isArray(t)?t:[t],e)}},el=new Map,Ts=class{constructor(e,t){let n=e.ownerDocument||e,r=n.defaultView;if(!e.head&&e.adoptedStyleSheets&&r.CSSStyleSheet){let s=el.get(n);if(s)return e[ws]=s;this.sheet=new r.CSSStyleSheet,el.set(n,this)}else this.styleTag=n.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[ws]=this}mount(e,t){let n=this.sheet,r=0,s=0;for(let o=0;o<e.length;o++){let O=e[o],a=this.modules.indexOf(O);if(a<s&&a>-1&&(this.modules.splice(a,1),s--,a=-1),a==-1){if(this.modules.splice(s++,0,O),n)for(let l=0;l<O.rules.length;l++)n.insertRule(O.rules[l],r++)}else{for(;s<a;)r+=this.modules[s++].rules.length;r+=O.rules.length,s++}}if(n)t.adoptedStyleSheets.indexOf(this.sheet)<0&&(t.adoptedStyleSheets=[this.sheet,...t.adoptedStyleSheets]);else{let o="";for(let a=0;a<this.modules.length;a++)o+=this.modules[a].getRules()+` -`;this.styleTag.textContent=o;let O=t.head||t;this.styleTag.parentNode!=O&&O.insertBefore(this.styleTag,O.firstChild)}}setNonce(e){this.styleTag&&this.styleTag.getAttribute("nonce")!=e&&this.styleTag.setAttribute("nonce",e)}};var gt={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},gi={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},ap=typeof navigator<"u"&&/Mac/.test(navigator.platform),lp=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(re=0;re<10;re++)gt[48+re]=gt[96+re]=String(re);var re;for(re=1;re<=24;re++)gt[re+111]="F"+re;var re;for(re=65;re<=90;re++)gt[re]=String.fromCharCode(re+32),gi[re]=String.fromCharCode(re);var re;for(Ln in gt)gi.hasOwnProperty(Ln)||(gi[Ln]=gt[Ln]);var Ln;function tl(i){var e=ap&&i.metaKey&&i.shiftKey&&!i.ctrlKey&&!i.altKey||lp&&i.shiftKey&&i.key&&i.key.length==1||i.key=="Unidentified",t=!e&&i.key||(i.shiftKey?gi:gt)[i.keyCode]||i.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}function tn(i){let e;return i.nodeType==11?e=i.getSelection?i:i.ownerDocument:e=i,e.getSelection()}function Zs(i,e){return e?i==e||i.contains(e.nodeType!=1?e.parentNode:e):!1}function er(i,e){if(!e.anchorNode)return!1;try{return Zs(i,e.anchorNode)}catch{return!1}}function nn(i){return i.nodeType==3?Jt(i,0,i.nodeValue.length).getClientRects():i.nodeType==1?i.getClientRects():[]}function Ni(i,e,t,n){return t?il(i,e,t,n,-1)||il(i,e,t,n,1):!1}function Kt(i){for(var e=0;;e++)if(i=i.previousSibling,!i)return e}function or(i){return i.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(i.nodeName)}function il(i,e,t,n,r){for(;;){if(i==t&&e==n)return!0;if(e==(r<0?0:at(i))){if(i.nodeName=="DIV")return!1;let s=i.parentNode;if(!s||s.nodeType!=1)return!1;e=Kt(i)+(r<0?0:1),i=s}else if(i.nodeType==1){if(i=i.childNodes[e+(r<0?-1:0)],i.nodeType==1&&i.contentEditable=="false")return!1;e=r<0?at(i):0}else return!1}}function at(i){return i.nodeType==3?i.nodeValue.length:i.childNodes.length}function Qr(i,e){let t=e?i.left:i.right;return{left:t,right:t,top:i.top,bottom:i.bottom}}function hp(i){let e=i.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:i.innerWidth,top:0,bottom:i.innerHeight}}function Ul(i,e){let t=e.width/i.offsetWidth,n=e.height/i.offsetHeight;return(t>.995&&t<1.005||!isFinite(t)||Math.abs(e.width-i.offsetWidth)<1)&&(t=1),(n>.995&&n<1.005||!isFinite(n)||Math.abs(e.height-i.offsetHeight)<1)&&(n=1),{scaleX:t,scaleY:n}}function cp(i,e,t,n,r,s,o,O){let a=i.ownerDocument,l=a.defaultView||window;for(let h=i,c=!1;h&&!c;)if(h.nodeType==1){let f,d=h==a.body,p=1,m=1;if(d)f=hp(l);else{if(/^(fixed|sticky)$/.test(getComputedStyle(h).position)&&(c=!0),h.scrollHeight<=h.clientHeight&&h.scrollWidth<=h.clientWidth){h=h.assignedSlot||h.parentNode;continue}let Q=h.getBoundingClientRect();({scaleX:p,scaleY:m}=Ul(h,Q)),f={left:Q.left,right:Q.left+h.clientWidth*p,top:Q.top,bottom:Q.top+h.clientHeight*m}}let g=0,$=0;if(r=="nearest")e.top<f.top?($=-(f.top-e.top+o),t>0&&e.bottom>f.bottom+$&&($=e.bottom-f.bottom+$+o)):e.bottom>f.bottom&&($=e.bottom-f.bottom+o,t<0&&e.top-$<f.top&&($=-(f.top+$-e.top+o)));else{let Q=e.bottom-e.top,b=f.bottom-f.top;$=(r=="center"&&Q<=b?e.top+Q/2-b/2:r=="start"||r=="center"&&t<0?e.top-o:e.bottom-b+o)-f.top}if(n=="nearest"?e.left<f.left?(g=-(f.left-e.left+s),t>0&&e.right>f.right+g&&(g=e.right-f.right+g+s)):e.right>f.right&&(g=e.right-f.right+s,t<0&&e.left<f.left+g&&(g=-(f.left+g-e.left+s))):g=(n=="center"?e.left+(e.right-e.left)/2-(f.right-f.left)/2:n=="start"==O?e.left-s:e.right-(f.right-f.left)+s)-f.left,g||$)if(d)l.scrollBy(g,$);else{let Q=0,b=0;if($){let k=h.scrollTop;h.scrollTop+=$/m,b=(h.scrollTop-k)*m}if(g){let k=h.scrollLeft;h.scrollLeft+=g/p,Q=(h.scrollLeft-k)*p}e={left:e.left-Q,top:e.top-b,right:e.right-Q,bottom:e.bottom-b},Q&&Math.abs(Q-g)<1&&(n="nearest"),b&&Math.abs(b-$)<1&&(r="nearest")}if(d)break;h=h.assignedSlot||h.parentNode}else if(h.nodeType==11)h=h.host;else break}function fp(i){let e=i.ownerDocument,t,n;for(let r=i.parentNode;r&&!(r==e.body||t&&n);)if(r.nodeType==1)!n&&r.scrollHeight>r.clientHeight&&(n=r),!t&&r.scrollWidth>r.clientWidth&&(t=r),r=r.assignedSlot||r.parentNode;else if(r.nodeType==11)r=r.host;else break;return{x:t,y:n}}var qs=class{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:t,focusNode:n}=e;this.set(t,Math.min(e.anchorOffset,t?at(t):0),n,Math.min(e.focusOffset,n?at(n):0))}set(e,t,n,r){this.anchorNode=e,this.anchorOffset=t,this.focusNode=n,this.focusOffset=r}},$i=null;function Al(i){if(i.setActive)return i.setActive();if($i)return i.focus($i);let e=[];for(let t=i;t&&(e.push(t,t.scrollTop,t.scrollLeft),t!=t.ownerDocument);t=t.parentNode);if(i.focus($i==null?{get preventScroll(){return $i={preventScroll:!0},!0}}:void 0),!$i){$i=!1;for(let t=0;t<e.length;){let n=e[t++],r=e[t++],s=e[t++];n.scrollTop!=r&&(n.scrollTop=r),n.scrollLeft!=s&&(n.scrollLeft=s)}}}var nl;function Jt(i,e,t=e){let n=nl||(nl=document.createRange());return n.setEnd(i,t),n.setStart(i,e),n}function yi(i,e,t,n){let r={key:e,code:e,keyCode:t,which:t,cancelable:!0};n&&({altKey:r.altKey,ctrlKey:r.ctrlKey,shiftKey:r.shiftKey,metaKey:r.metaKey}=n);let s=new KeyboardEvent("keydown",r);s.synthetic=!0,i.dispatchEvent(s);let o=new KeyboardEvent("keyup",r);return o.synthetic=!0,i.dispatchEvent(o),s.defaultPrevented||o.defaultPrevented}function up(i){for(;i;){if(i&&(i.nodeType==9||i.nodeType==11&&i.host))return i;i=i.assignedSlot||i.parentNode}return null}function _l(i){for(;i.attributes.length;)i.removeAttributeNode(i.attributes[0])}function dp(i,e){let t=e.focusNode,n=e.focusOffset;if(!t||e.anchorNode!=t||e.anchorOffset!=n)return!1;for(n=Math.min(n,at(t));;)if(n){if(t.nodeType!=1)return!1;let r=t.childNodes[n-1];r.contentEditable=="false"?n--:(t=r,n=at(t))}else{if(t==i)return!0;n=Kt(t),t=t.parentNode}}function jl(i){return i.scrollTop>Math.max(1,i.scrollHeight-i.clientHeight-4)}function El(i,e){for(let t=i,n=e;;){if(t.nodeType==3&&n>0)return{node:t,offset:n};if(t.nodeType==1&&n>0){if(t.contentEditable=="false")return null;t=t.childNodes[n-1],n=at(t)}else if(t.parentNode&&!or(t))n=Kt(t),t=t.parentNode;else return null}}function Ml(i,e){for(let t=i,n=e;;){if(t.nodeType==3&&n<t.nodeValue.length)return{node:t,offset:n};if(t.nodeType==1&&n<t.childNodes.length){if(t.contentEditable=="false")return null;t=t.childNodes[n],n=0}else if(t.parentNode&&!or(t))n=Kt(t)+1,t=t.parentNode;else return null}}var Qe=class i{constructor(e,t,n=!0){this.node=e,this.offset=t,this.precise=n}static before(e,t){return new i(e.parentNode,Kt(e),t)}static after(e,t){return new i(e.parentNode,Kt(e)+1,t)}},$o=[],H=class i{constructor(){this.parent=null,this.dom=null,this.flags=2}get overrideDOMText(){return null}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e){let t=this.posAtStart;for(let n of this.children){if(n==e)return t;t+=n.length+n.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}sync(e,t){if(this.flags&2){let n=this.dom,r=null,s;for(let o of this.children){if(o.flags&7){if(!o.dom&&(s=r?r.nextSibling:n.firstChild)){let O=i.get(s);(!O||!O.parent&&O.canReuseDOM(o))&&o.reuseDOM(s)}o.sync(e,t),o.flags&=-8}if(s=r?r.nextSibling:n.firstChild,t&&!t.written&&t.node==n&&s!=o.dom&&(t.written=!0),o.dom.parentNode==n)for(;s&&s!=o.dom;)s=rl(s);else n.insertBefore(o.dom,s);r=o.dom}for(s=r?r.nextSibling:n.firstChild,s&&t&&t.node==n&&(t.written=!0);s;)s=rl(s)}else if(this.flags&1)for(let n of this.children)n.flags&7&&(n.sync(e,t),n.flags&=-8)}reuseDOM(e){}localPosFromDOM(e,t){let n;if(e==this.dom)n=this.dom.childNodes[t];else{let r=at(e)==0?0:t==0?-1:1;for(;;){let s=e.parentNode;if(s==this.dom)break;r==0&&s.firstChild!=s.lastChild&&(e==s.firstChild?r=-1:r=1),e=s}r<0?n=e:n=e.nextSibling}if(n==this.dom.firstChild)return 0;for(;n&&!i.get(n);)n=n.nextSibling;if(!n)return this.length;for(let r=0,s=0;;r++){let o=this.children[r];if(o.dom==n)return s;s+=o.length+o.breakAfter}}domBoundsAround(e,t,n=0){let r=-1,s=-1,o=-1,O=-1;for(let a=0,l=n,h=n;a<this.children.length;a++){let c=this.children[a],f=l+c.length;if(l<e&&f>t)return c.domBoundsAround(e,t,l);if(f>=e&&r==-1&&(r=a,s=l),l>t&&c.dom.parentNode==this.dom){o=a,O=h;break}h=f,l=f+c.breakAfter}return{from:s,to:O<0?n+this.length:O,startDOM:(r?this.children[r-1].dom.nextSibling:null)||this.dom.firstChild,endDOM:o<this.children.length&&o>=0?this.children[o].dom:null}}markDirty(e=!1){this.flags|=2,this.markParentsDirty(e)}markParentsDirty(e){for(let t=this.parent;t;t=t.parent){if(e&&(t.flags|=2),t.flags&1)return;t.flags|=1,e=!1}}setParent(e){this.parent!=e&&(this.parent=e,this.flags&7&&this.markParentsDirty(!0))}setDOM(e){this.dom!=e&&(this.dom&&(this.dom.cmView=null),this.dom=e,e.cmView=this)}get rootView(){for(let e=this;;){let t=e.parent;if(!t)return e;e=t}}replaceChildren(e,t,n=$o){this.markDirty();for(let r=e;r<t;r++){let s=this.children[r];s.parent==this&&n.indexOf(s)<0&&s.destroy()}n.length<250?this.children.splice(e,t-e,...n):this.children=[].concat(this.children.slice(0,e),n,this.children.slice(t));for(let r=0;r<n.length;r++)n[r].setParent(this)}ignoreMutation(e){return!1}ignoreEvent(e){return!1}childCursor(e=this.length){return new Or(this.children,e,this.children.length)}childPos(e,t=1){return this.childCursor().findPos(e,t)}toString(){let e=this.constructor.name.replace("View","");return e+(this.children.length?"("+this.children.join()+")":this.length?"["+(e=="Text"?this.text:this.length)+"]":"")+(this.breakAfter?"#":"")}static get(e){return e.cmView}get isEditable(){return!0}get isWidget(){return!1}get isHidden(){return!1}merge(e,t,n,r,s,o){return!1}become(e){return!1}canReuseDOM(e){return e.constructor==this.constructor&&!((this.flags|e.flags)&8)}getSide(){return 0}destroy(){for(let e of this.children)e.parent==this&&e.destroy();this.parent=null}};H.prototype.breakAfter=0;function rl(i){let e=i.nextSibling;return i.parentNode.removeChild(i),e}var Or=class{constructor(e,t,n){this.children=e,this.pos=t,this.i=n,this.off=0}findPos(e,t=1){for(;;){if(e>this.pos||e==this.pos&&(t>0||this.i==0||this.children[this.i-1].breakAfter))return this.off=e-this.pos,this;let n=this.children[--this.i];this.pos-=n.length+n.breakAfter}}};function Gl(i,e,t,n,r,s,o,O,a){let{children:l}=i,h=l.length?l[e]:null,c=s.length?s[s.length-1]:null,f=c?c.breakAfter:o;if(!(e==n&&h&&!o&&!f&&s.length<2&&h.merge(t,r,s.length?c:null,t==0,O,a))){if(n<l.length){let d=l[n];d&&(r<d.length||d.breakAfter&&c?.breakAfter)?(e==n&&(d=d.split(r),r=0),!f&&c&&d.merge(0,r,c,!0,0,a)?s[s.length-1]=d:((r||d.children.length&&!d.children[0].length)&&d.merge(0,r,null,!1,0,a),s.push(d))):d?.breakAfter&&(c?c.breakAfter=1:o=1),n++}for(h&&(h.breakAfter=o,t>0&&(!o&&s.length&&h.merge(t,h.length,s[0],!1,O,0)?h.breakAfter=s.shift().breakAfter:(t<h.length||h.children.length&&h.children[h.children.length-1].length==0)&&h.merge(t,h.length,null,!1,O,0),e++));e<n&&s.length;)if(l[n-1].become(s[s.length-1]))n--,s.pop(),a=s.length?0:O;else if(l[e].become(s[0]))e++,s.shift(),O=s.length?0:a;else break;!s.length&&e&&n<l.length&&!l[e-1].breakAfter&&l[n].merge(0,0,l[e-1],!1,O,a)&&e--,(e<n||s.length)&&i.replaceChildren(e,n,s)}}function Ll(i,e,t,n,r,s){let o=i.childCursor(),{i:O,off:a}=o.findPos(t,1),{i:l,off:h}=o.findPos(e,-1),c=e-t;for(let f of n)c+=f.length;i.length+=c,Gl(i,l,h,O,a,n,0,r,s)}var Te=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},Vs=typeof document<"u"?document:{documentElement:{style:{}}},Cs=/Edge\/(\d+)/.exec(Te.userAgent),Dl=/MSIE \d/.test(Te.userAgent),Ys=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Te.userAgent),Sr=!!(Dl||Ys||Cs),sl=!Sr&&/gecko\/(\d+)/i.test(Te.userAgent),vs=!Sr&&/Chrome\/(\d+)/.exec(Te.userAgent),ol="webkitFontSmoothing"in Vs.documentElement.style,Il=!Sr&&/Apple Computer/.test(Te.vendor),Ol=Il&&(/Mobile\/\w+/.test(Te.userAgent)||Te.maxTouchPoints>2),z={mac:Ol||/Mac/.test(Te.platform),windows:/Win/.test(Te.platform),linux:/Linux|X11/.test(Te.platform),ie:Sr,ie_version:Dl?Vs.documentMode||6:Ys?+Ys[1]:Cs?+Cs[1]:0,gecko:sl,gecko_version:sl?+(/Firefox\/(\d+)/.exec(Te.userAgent)||[0,0])[1]:0,chrome:!!vs,chrome_version:vs?+vs[1]:0,ios:Ol,android:/Android\b/.test(Te.userAgent),webkit:ol,safari:Il,webkit_version:ol?+(/\bAppleWebKit\/(\d+)/.exec(Te.userAgent)||[0,0])[1]:0,tabSize:Vs.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"},pp=256,lt=class i extends H{constructor(e){super(),this.text=e}get length(){return this.text.length}createDOM(e){this.setDOM(e||document.createTextNode(this.text))}sync(e,t){this.dom||this.createDOM(),this.dom.nodeValue!=this.text&&(t&&t.node==this.dom&&(t.written=!0),this.dom.nodeValue=this.text)}reuseDOM(e){e.nodeType==3&&this.createDOM(e)}merge(e,t,n){return this.flags&8||n&&(!(n instanceof i)||this.length-(t-e)+n.length>pp||n.flags&8)?!1:(this.text=this.text.slice(0,e)+(n?n.text:"")+this.text.slice(t),this.markDirty(),!0)}split(e){let t=new i(this.text.slice(e));return this.text=this.text.slice(0,e),this.markDirty(),t.flags|=this.flags&8,t}localPosFromDOM(e,t){return e==this.dom?t:t?this.text.length:0}domAtPos(e){return new Qe(this.dom,e)}domBoundsAround(e,t,n){return{from:n,to:n+this.length,startDOM:this.dom,endDOM:this.dom.nextSibling}}coordsAt(e,t){return mp(this.dom,e,t)}},Rt=class i extends H{constructor(e,t=[],n=0){super(),this.mark=e,this.children=t,this.length=n;for(let r of t)r.setParent(this)}setAttrs(e){if(_l(e),this.mark.class&&(e.className=this.mark.class),this.mark.attrs)for(let t in this.mark.attrs)e.setAttribute(t,this.mark.attrs[t]);return e}canReuseDOM(e){return super.canReuseDOM(e)&&!((this.flags|e.flags)&8)}reuseDOM(e){e.nodeName==this.mark.tagName.toUpperCase()&&(this.setDOM(e),this.flags|=6)}sync(e,t){this.dom?this.flags&4&&this.setAttrs(this.dom):this.setDOM(this.setAttrs(document.createElement(this.mark.tagName))),super.sync(e,t)}merge(e,t,n,r,s,o){return n&&(!(n instanceof i&&n.mark.eq(this.mark))||e&&s<=0||t<this.length&&o<=0)?!1:(Ll(this,e,t,n?n.children.slice():[],s-1,o-1),this.markDirty(),!0)}split(e){let t=[],n=0,r=-1,s=0;for(let O of this.children){let a=n+O.length;a>e&&t.push(n<e?O.split(e-n):O),r<0&&n>=e&&(r=s),n=a,s++}let o=this.length-e;return this.length=e,r>-1&&(this.children.length=r,this.markDirty()),new i(this.mark,t,o)}domAtPos(e){return Bl(this,e)}coordsAt(e,t){return Fl(this,e,t)}};function mp(i,e,t){let n=i.nodeValue.length;e>n&&(e=n);let r=e,s=e,o=0;e==0&&t<0||e==n&&t>=0?z.chrome||z.gecko||(e?(r--,o=1):s<n&&(s++,o=-1)):t<0?r--:s<n&&s++;let O=Jt(i,r,s).getClientRects();if(!O.length)return null;let a=O[(o?o<0:t>=0)?0:O.length-1];return z.safari&&!o&&a.width==0&&(a=Array.prototype.find.call(O,l=>l.width)||a),o?Qr(a,o<0):a||null}var ar=class i extends H{static create(e,t,n){return new i(e,t,n)}constructor(e,t,n){super(),this.widget=e,this.length=t,this.side=n,this.prevWidget=null}split(e){let t=i.create(this.widget,this.length-e,this.side);return this.length-=e,t}sync(e){(!this.dom||!this.widget.updateDOM(this.dom,e))&&(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(e)),this.widget.editable||(this.dom.contentEditable="false"))}getSide(){return this.side}merge(e,t,n,r,s,o){return n&&(!(n instanceof i)||!this.widget.compare(n.widget)||e>0&&s<=0||t<this.length&&o<=0)?!1:(this.length=e+(n?n.length:0)+(this.length-t),!0)}become(e){return e instanceof i&&e.side==this.side&&this.widget.constructor==e.widget.constructor?(this.widget.compare(e.widget)||this.markDirty(!0),this.dom&&!this.prevWidget&&(this.prevWidget=this.widget),this.widget=e.widget,this.length=e.length,!0):!1}ignoreMutation(){return!0}ignoreEvent(e){return this.widget.ignoreEvent(e)}get overrideDOMText(){if(this.length==0)return Y.empty;let e=this;for(;e.parent;)e=e.parent;let{view:t}=e,n=t&&t.state.doc,r=this.posAtStart;return n?n.slice(r,r+this.length):Y.empty}domAtPos(e){return(this.length?e==0:this.side>0)?Qe.before(this.dom):Qe.after(this.dom,e==this.length)}domBoundsAround(){return null}coordsAt(e,t){let n=this.widget.coordsAt(this.dom,e,t);if(n)return n;let r=this.dom.getClientRects(),s=null;if(!r.length)return null;let o=this.side?this.side<0:e>0;for(let O=o?r.length-1:0;s=r[O],!(e>0?O==0:O==r.length-1||s.top<s.bottom);O+=o?-1:1);return Qr(s,!o)}get isEditable(){return!1}get isWidget(){return!0}get isHidden(){return this.widget.isHidden}destroy(){super.destroy(),this.dom&&this.widget.destroy(this.dom)}},rn=class i extends H{constructor(e){super(),this.side=e}get length(){return 0}merge(){return!1}become(e){return e instanceof i&&e.side==this.side}split(){return new i(this.side)}sync(){if(!this.dom){let e=document.createElement("img");e.className="cm-widgetBuffer",e.setAttribute("aria-hidden","true"),this.setDOM(e)}}getSide(){return this.side}domAtPos(e){return this.side>0?Qe.before(this.dom):Qe.after(this.dom)}localPosFromDOM(){return 0}domBoundsAround(){return null}coordsAt(e){return this.dom.getBoundingClientRect()}get overrideDOMText(){return Y.empty}get isHidden(){return!0}};lt.prototype.children=ar.prototype.children=rn.prototype.children=$o;function Bl(i,e){let t=i.dom,{children:n}=i,r=0;for(let s=0;r<n.length;r++){let o=n[r],O=s+o.length;if(!(O==s&&o.getSide()<=0)){if(e>s&&e<O&&o.dom.parentNode==t)return o.domAtPos(e-s);if(e<=s)break;s=O}}for(let s=r;s>0;s--){let o=n[s-1];if(o.dom.parentNode==t)return o.domAtPos(o.length)}for(let s=r;s<n.length;s++){let o=n[s];if(o.dom.parentNode==t)return o.domAtPos(0)}return new Qe(t,0)}function Nl(i,e,t){let n,{children:r}=i;t>0&&e instanceof Rt&&r.length&&(n=r[r.length-1])instanceof Rt&&n.mark.eq(e.mark)?Nl(n,e.children[0],t-1):(r.push(e),e.setParent(i)),i.length+=e.length}function Fl(i,e,t){let n=null,r=-1,s=null,o=-1;function O(l,h){for(let c=0,f=0;c<l.children.length&&f<=h;c++){let d=l.children[c],p=f+d.length;p>=h&&(d.children.length?O(d,h-f):(!s||s.isHidden&&t>0)&&(p>h||f==p&&d.getSide()>0)?(s=d,o=h-f):(f<h||f==p&&d.getSide()<0&&!d.isHidden)&&(n=d,r=h-f)),f=p}}O(i,e);let a=(t<0?n:s)||n||s;return a?a.coordsAt(Math.max(0,a==n?r:o),t):gp(i)}function gp(i){let e=i.dom.lastChild;if(!e)return i.dom.getBoundingClientRect();let t=nn(e);return t[t.length-1]||null}function Us(i,e){for(let t in i)t=="class"&&e.class?e.class+=" "+i.class:t=="style"&&e.style?e.style+=";"+i.style:e[t]=i[t];return e}var al=Object.create(null);function lr(i,e,t){if(i==e)return!0;i||(i=al),e||(e=al);let n=Object.keys(i),r=Object.keys(e);if(n.length-(t&&n.indexOf(t)>-1?1:0)!=r.length-(t&&r.indexOf(t)>-1?1:0))return!1;for(let s of n)if(s!=t&&(r.indexOf(s)==-1||i[s]!==e[s]))return!1;return!0}function As(i,e,t){let n=!1;if(e)for(let r in e)t&&r in t||(n=!0,r=="style"?i.style.cssText="":i.removeAttribute(r));if(t)for(let r in t)e&&e[r]==t[r]||(n=!0,r=="style"?i.style.cssText=t[r]:i.setAttribute(r,t[r]));return n}function $p(i){let e=Object.create(null);for(let t=0;t<i.attributes.length;t++){let n=i.attributes[t];e[n.name]=n.value}return e}var Wt=class{eq(e){return!1}updateDOM(e,t){return!1}compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}get estimatedHeight(){return-1}get lineBreaks(){return 0}ignoreEvent(e){return!0}coordsAt(e,t,n){return null}get isHidden(){return!1}get editable(){return!1}destroy(e){}},Se=function(i){return i[i.Text=0]="Text",i[i.WidgetBefore=1]="WidgetBefore",i[i.WidgetAfter=2]="WidgetAfter",i[i.WidgetRange=3]="WidgetRange",i}(Se||(Se={})),j=class extends Ne{constructor(e,t,n,r){super(),this.startSide=e,this.endSide=t,this.widget=n,this.spec=r}get heightRelevant(){return!1}static mark(e){return new sn(e)}static widget(e){let t=Math.max(-1e4,Math.min(1e4,e.side||0)),n=!!e.block;return t+=n&&!e.inlineOrder?t>0?3e8:-4e8:t>0?1e8:-1e8,new Xt(e,t,t,n,e.widget||null,!1)}static replace(e){let t=!!e.block,n,r;if(e.isBlockGap)n=-5e8,r=4e8;else{let{start:s,end:o}=Hl(e,t);n=(s?t?-3e8:-1:5e8)-1,r=(o?t?2e8:1:-6e8)+1}return new Xt(e,n,r,t,e.widget||null,!0)}static line(e){return new on(e)}static set(e,t=!1){return F.of(e,t)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}};j.none=F.empty;var sn=class i extends j{constructor(e){let{start:t,end:n}=Hl(e);super(t?-1:5e8,n?1:-6e8,null,e),this.tagName=e.tagName||"span",this.class=e.class||"",this.attrs=e.attributes||null}eq(e){var t,n;return this==e||e instanceof i&&this.tagName==e.tagName&&(this.class||((t=this.attrs)===null||t===void 0?void 0:t.class))==(e.class||((n=e.attrs)===null||n===void 0?void 0:n.class))&&lr(this.attrs,e.attrs,"class")}range(e,t=e){if(e>=t)throw new RangeError("Mark decorations may not be empty");return super.range(e,t)}};sn.prototype.point=!1;var on=class i extends j{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof i&&this.spec.class==e.spec.class&&lr(this.spec.attributes,e.spec.attributes)}range(e,t=e){if(t!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}};on.prototype.mapMode=ae.TrackBefore;on.prototype.point=!0;var Xt=class i extends j{constructor(e,t,n,r,s,o){super(t,n,s,e),this.block=r,this.isReplace=o,this.mapMode=r?t<=0?ae.TrackBefore:ae.TrackAfter:ae.TrackDel}get type(){return this.startSide!=this.endSide?Se.WidgetRange:this.startSide<=0?Se.WidgetBefore:Se.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof i&&Qp(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}};Xt.prototype.point=!0;function Hl(i,e=!1){let{inclusiveStart:t,inclusiveEnd:n}=i;return t==null&&(t=i.inclusive),n==null&&(n=i.inclusive),{start:t??e,end:n??e}}function Qp(i,e){return i==e||!!(i&&e&&i.compare(e))}function _s(i,e,t,n=0){let r=t.length-1;r>=0&&t[r]+n>=i?t[r]=Math.max(t[r],e):t.push(i,e)}var he=class i extends H{constructor(){super(...arguments),this.children=[],this.length=0,this.prevAttrs=void 0,this.attrs=null,this.breakAfter=0}merge(e,t,n,r,s,o){if(n){if(!(n instanceof i))return!1;this.dom||n.transferDOM(this)}return r&&this.setDeco(n?n.attrs:null),Ll(this,e,t,n?n.children.slice():[],s,o),!0}split(e){let t=new i;if(t.breakAfter=this.breakAfter,this.length==0)return t;let{i:n,off:r}=this.childPos(e);r&&(t.append(this.children[n].split(r),0),this.children[n].merge(r,this.children[n].length,null,!1,0,0),n++);for(let s=n;s<this.children.length;s++)t.append(this.children[s],0);for(;n>0&&this.children[n-1].length==0;)this.children[--n].destroy();return this.children.length=n,this.markDirty(),this.length=e,t}transferDOM(e){this.dom&&(this.markDirty(),e.setDOM(this.dom),e.prevAttrs=this.prevAttrs===void 0?this.attrs:this.prevAttrs,this.prevAttrs=void 0,this.dom=null)}setDeco(e){lr(this.attrs,e)||(this.dom&&(this.prevAttrs=this.attrs,this.markDirty()),this.attrs=e)}append(e,t){Nl(this,e,t)}addLineDeco(e){let t=e.spec.attributes,n=e.spec.class;t&&(this.attrs=Us(t,this.attrs||{})),n&&(this.attrs=Us({class:n},this.attrs||{}))}domAtPos(e){return Bl(this,e)}reuseDOM(e){e.nodeName=="DIV"&&(this.setDOM(e),this.flags|=6)}sync(e,t){var n;this.dom?this.flags&4&&(_l(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&&(As(this.dom,this.prevAttrs,this.attrs),this.dom.classList.add("cm-line"),this.prevAttrs=void 0),super.sync(e,t);let r=this.dom.lastChild;for(;r&&H.get(r)instanceof Rt;)r=r.lastChild;if(!r||!this.length||r.nodeName!="BR"&&((n=H.get(r))===null||n===void 0?void 0:n.isEditable)==!1&&(!z.ios||!this.children.some(s=>s instanceof lt))){let s=document.createElement("BR");s.cmIgnore=!0,this.dom.appendChild(s)}}measureTextSize(){if(this.children.length==0||this.length>20)return null;let e=0,t;for(let n of this.children){if(!(n instanceof lt)||/[^ -~]/.test(n.text))return null;let r=nn(n.dom);if(r.length!=1)return null;e+=r[0].width,t=r[0].height}return e?{lineHeight:this.dom.getBoundingClientRect().height,charWidth:e/this.length,textHeight:t}:null}coordsAt(e,t){let n=Fl(this,e,t);if(!this.children.length&&n&&this.parent){let{heightOracle:r}=this.parent.view.viewState,s=n.bottom-n.top;if(Math.abs(s-r.lineHeight)<2&&r.textHeight<s){let o=(s-r.textHeight)/2;return{top:n.top+o,bottom:n.bottom-o,left:n.left,right:n.left}}}return n}become(e){return e instanceof i&&this.children.length==0&&e.children.length==0&&lr(this.attrs,e.attrs)&&this.breakAfter==e.breakAfter}covers(){return!0}static find(e,t){for(let n=0,r=0;n<e.children.length;n++){let s=e.children[n],o=r+s.length;if(o>=t){if(s instanceof i)return s;if(o>t)break}r=o+s.breakAfter}return null}},Ht=class i extends H{constructor(e,t,n){super(),this.widget=e,this.length=t,this.deco=n,this.breakAfter=0,this.prevWidget=null}merge(e,t,n,r,s,o){return n&&(!(n instanceof i)||!this.widget.compare(n.widget)||e>0&&s<=0||t<this.length&&o<=0)?!1:(this.length=e+(n?n.length:0)+(this.length-t),!0)}domAtPos(e){return e==0?Qe.before(this.dom):Qe.after(this.dom,e==this.length)}split(e){let t=this.length-e;this.length=e;let n=new i(this.widget,t,this.deco);return n.breakAfter=this.breakAfter,n}get children(){return $o}sync(e){(!this.dom||!this.widget.updateDOM(this.dom,e))&&(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(e)),this.widget.editable||(this.dom.contentEditable="false"))}get overrideDOMText(){return this.parent?this.parent.view.state.doc.slice(this.posAtStart,this.posAtEnd):Y.empty}domBoundsAround(){return null}become(e){return e instanceof i&&e.widget.constructor==this.widget.constructor?(e.widget.compare(this.widget)||this.markDirty(!0),this.dom&&!this.prevWidget&&(this.prevWidget=this.widget),this.widget=e.widget,this.length=e.length,this.deco=e.deco,this.breakAfter=e.breakAfter,!0):!1}ignoreMutation(){return!0}ignoreEvent(e){return this.widget.ignoreEvent(e)}get isEditable(){return!1}get isWidget(){return!0}coordsAt(e,t){let n=this.widget.coordsAt(this.dom,e,t);return n||(this.widget instanceof On?null:Qr(this.dom.getBoundingClientRect(),this.length?e==0:t<=0))}destroy(){super.destroy(),this.dom&&this.widget.destroy(this.dom)}covers(e){let{startSide:t,endSide:n}=this.deco;return t==n?!1:e<0?t<0:n>0}},On=class extends Wt{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}},Fi=class i{constructor(e,t,n,r){this.doc=e,this.pos=t,this.end=n,this.disallowBlockEffectsFor=r,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=e.iter(),this.skip=t}posCovered(){if(this.content.length==0)return!this.breakAtStart&&this.doc.lineAt(this.pos).from!=this.pos;let e=this.content[this.content.length-1];return!(e.breakAfter||e instanceof Ht&&e.deco.endSide<0)}getLine(){return this.curLine||(this.content.push(this.curLine=new he),this.atCursorPos=!0),this.curLine}flushBuffer(e=this.bufferMarks){this.pendingBuffer&&(this.curLine.append(Dn(new rn(-1),e),e.length),this.pendingBuffer=0)}addBlockWidget(e){this.flushBuffer(),this.curLine=null,this.content.push(e)}finish(e){this.pendingBuffer&&e<=this.bufferMarks.length?this.flushBuffer():this.pendingBuffer=0,!this.posCovered()&&!(e&&this.content.length&&this.content[this.content.length-1]instanceof Ht)&&this.getLine()}buildText(e,t,n){for(;e>0;){if(this.textOff==this.text.length){let{value:s,lineBreak:o,done:O}=this.cursor.next(this.skip);if(this.skip=0,O)throw new Error("Ran out of text content when drawing inline views");if(o){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,e--;continue}else this.text=s,this.textOff=0}let r=Math.min(this.text.length-this.textOff,e,512);this.flushBuffer(t.slice(t.length-n)),this.getLine().append(Dn(new lt(this.text.slice(this.textOff,this.textOff+r)),t),n),this.atCursorPos=!0,this.textOff+=r,e-=r,n=0}}span(e,t,n,r){this.buildText(t-e,n,r),this.pos=t,this.openStart<0&&(this.openStart=r)}point(e,t,n,r,s,o){if(this.disallowBlockEffectsFor[o]&&n instanceof Xt){if(n.block)throw new RangeError("Block decorations may not be specified via plugins");if(t>this.doc.lineAt(this.pos).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}let O=t-e;if(n instanceof Xt)if(n.block)n.startSide>0&&!this.posCovered()&&this.getLine(),this.addBlockWidget(new Ht(n.widget||Zt.block,O,n));else{let a=ar.create(n.widget||Zt.inline,O,O?0:n.startSide),l=this.atCursorPos&&!a.isEditable&&s<=r.length&&(e<t||n.startSide>0),h=!a.isEditable&&(e<t||s>r.length||n.startSide<=0),c=this.getLine();this.pendingBuffer==2&&!l&&!a.isEditable&&(this.pendingBuffer=0),this.flushBuffer(r),l&&(c.append(Dn(new rn(1),r),s),s=r.length+Math.max(0,s-r.length)),c.append(Dn(a,r),s),this.atCursorPos=h,this.pendingBuffer=h?e<t||s>r.length?1:2:0,this.pendingBuffer&&(this.bufferMarks=r.slice())}else this.doc.lineAt(this.pos).from==this.pos&&this.getLine().addLineDeco(n);O&&(this.textOff+O<=this.text.length?this.textOff+=O:(this.skip+=O-(this.text.length-this.textOff),this.text="",this.textOff=0),this.pos=t),this.openStart<0&&(this.openStart=s)}static build(e,t,n,r,s){let o=new i(e,t,n,s);return o.openEnd=F.spans(r,t,n,o),o.openStart<0&&(o.openStart=o.openEnd),o.finish(o.openEnd),o}};function Dn(i,e){for(let t of e)i=new Rt(t,[i],i.length);return i}var Zt=class extends Wt{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}};Zt.inline=new Zt("span");Zt.block=new Zt("div");var J=function(i){return i[i.LTR=0]="LTR",i[i.RTL=1]="RTL",i}(J||(J={})),ei=J.LTR,Qo=J.RTL;function Kl(i){let e=[];for(let t=0;t<i.length;t++)e.push(1<<+i[t]);return e}var Sp=Kl("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),yp=Kl("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),js=Object.create(null),rt=[];for(let i of["()","[]","{}"]){let e=i.charCodeAt(0),t=i.charCodeAt(1);js[e]=t,js[t]=-e}function Jl(i){return i<=247?Sp[i]:1424<=i&&i<=1524?2:1536<=i&&i<=1785?yp[i-1536]:1774<=i&&i<=2220?4:8192<=i&&i<=8204?256:64336<=i&&i<=65023?4:1}var Pp=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/,ot=class{get dir(){return this.level%2?Qo:ei}constructor(e,t,n){this.from=e,this.to=t,this.level=n}side(e,t){return this.dir==t==e?this.to:this.from}forward(e,t){return e==(this.dir==t)}static find(e,t,n,r){let s=-1;for(let o=0;o<e.length;o++){let O=e[o];if(O.from<=t&&O.to>=t){if(O.level==n)return o;(s<0||(r!=0?r<0?O.from<t:O.to>t:e[s].level>O.level))&&(s=o)}}if(s<0)throw new RangeError("Index out of range");return s}};function eh(i,e){if(i.length!=e.length)return!1;for(let t=0;t<i.length;t++){let n=i[t],r=e[t];if(n.from!=r.from||n.to!=r.to||n.direction!=r.direction||!eh(n.inner,r.inner))return!1}return!0}var N=[];function bp(i,e,t,n,r){for(let s=0;s<=n.length;s++){let o=s?n[s-1].to:e,O=s<n.length?n[s].from:t,a=s?256:r;for(let l=o,h=a,c=a;l<O;l++){let f=Jl(i.charCodeAt(l));f==512?f=h:f==8&&c==4&&(f=16),N[l]=f==4?2:f,f&7&&(c=f),h=f}for(let l=o,h=a,c=a;l<O;l++){let f=N[l];if(f==128)l<O-1&&h==N[l+1]&&h&24?f=N[l]=h:N[l]=256;else if(f==64){let d=l+1;for(;d<O&&N[d]==64;)d++;let p=l&&h==8||d<t&&N[d]==8?c==1?1:8:256;for(let m=l;m<d;m++)N[m]=p;l=d-1}else f==8&&c==1&&(N[l]=1);h=f,f&7&&(c=f)}}}function xp(i,e,t,n,r){let s=r==1?2:1;for(let o=0,O=0,a=0;o<=n.length;o++){let l=o?n[o-1].to:e,h=o<n.length?n[o].from:t;for(let c=l,f,d,p;c<h;c++)if(d=js[f=i.charCodeAt(c)])if(d<0){for(let m=O-3;m>=0;m-=3)if(rt[m+1]==-d){let g=rt[m+2],$=g&2?r:g&4?g&1?s:r:0;$&&(N[c]=N[rt[m]]=$),O=m;break}}else{if(rt.length==189)break;rt[O++]=c,rt[O++]=f,rt[O++]=a}else if((p=N[c])==2||p==1){let m=p==r;a=m?0:1;for(let g=O-3;g>=0;g-=3){let $=rt[g+2];if($&2)break;if(m)rt[g+2]|=2;else{if($&4)break;rt[g+2]|=4}}}}}function kp(i,e,t,n){for(let r=0,s=n;r<=t.length;r++){let o=r?t[r-1].to:i,O=r<t.length?t[r].from:e;for(let a=o;a<O;){let l=N[a];if(l==256){let h=a+1;for(;;)if(h==O){if(r==t.length)break;h=t[r++].to,O=r<t.length?t[r].from:e}else if(N[h]==256)h++;else break;let c=s==1,f=(h<e?N[h]:n)==1,d=c==f?c?1:2:n;for(let p=h,m=r,g=m?t[m-1].to:i;p>a;)p==g&&(p=t[--m].from,g=m?t[m-1].to:i),N[--p]=d;a=h}else s=l,a++}}}function Es(i,e,t,n,r,s,o){let O=n%2?2:1;if(n%2==r%2)for(let a=e,l=0;a<t;){let h=!0,c=!1;if(l==s.length||a<s[l].from){let m=N[a];m!=O&&(h=!1,c=m==16)}let f=!h&&O==1?[]:null,d=h?n:n+1,p=a;e:for(;;)if(l<s.length&&p==s[l].from){if(c)break e;let m=s[l];if(!h)for(let g=m.to,$=l+1;;){if(g==t)break e;if($<s.length&&s[$].from==g)g=s[$++].to;else{if(N[g]==O)break e;break}}if(l++,f)f.push(m);else{m.from>a&&o.push(new ot(a,m.from,d));let g=m.direction==ei!=!(d%2);Ms(i,g?n+1:n,r,m.inner,m.from,m.to,o),a=m.to}p=m.to}else{if(p==t||(h?N[p]!=O:N[p]==O))break;p++}f?Es(i,a,p,n+1,r,f,o):a<p&&o.push(new ot(a,p,d)),a=p}else for(let a=t,l=s.length;a>e;){let h=!0,c=!1;if(!l||a>s[l-1].to){let m=N[a-1];m!=O&&(h=!1,c=m==16)}let f=!h&&O==1?[]:null,d=h?n:n+1,p=a;e:for(;;)if(l&&p==s[l-1].to){if(c)break e;let m=s[--l];if(!h)for(let g=m.from,$=l;;){if(g==e)break e;if($&&s[$-1].to==g)g=s[--$].from;else{if(N[g-1]==O)break e;break}}if(f)f.push(m);else{m.to<a&&o.push(new ot(m.to,a,d));let g=m.direction==ei!=!(d%2);Ms(i,g?n+1:n,r,m.inner,m.from,m.to,o),a=m.from}p=m.from}else{if(p==e||(h?N[p-1]!=O:N[p-1]==O))break;p--}f?Es(i,p,a,n+1,r,f,o):p<a&&o.push(new ot(p,a,d)),a=p}}function Ms(i,e,t,n,r,s,o){let O=e%2?2:1;bp(i,r,s,n,O),xp(i,r,s,n,O),kp(r,s,n,O),Es(i,r,s,e,t,n,o)}function wp(i,e,t){if(!i)return[new ot(0,0,e==Qo?1:0)];if(e==ei&&!t.length&&!Pp.test(i))return th(i.length);if(t.length)for(;i.length>N.length;)N[N.length]=256;let n=[],r=e==ei?0:1;return Ms(i,r,r,t,0,i.length,n),n}function th(i){return[new ot(0,i,0)]}var ih="";function Tp(i,e,t,n,r){var s;let o=n.head-i.from,O=ot.find(e,o,(s=n.bidiLevel)!==null&&s!==void 0?s:-1,n.assoc),a=e[O],l=a.side(r,t);if(o==l){let f=O+=r?1:-1;if(f<0||f>=e.length)return null;a=e[O=f],o=a.side(!r,t),l=a.side(r,t)}let h=le(i.text,o,a.forward(r,t));(h<a.from||h>a.to)&&(h=l),ih=i.text.slice(Math.min(o,h),Math.max(o,h));let c=O==(r?e.length-1:0)?null:e[O+(r?1:-1)];return c&&h==l&&c.level+(r?0:1)<a.level?S.cursor(c.side(!r,t)+i.from,c.forward(r,t)?1:-1,c.level):S.cursor(h+i.from,a.forward(r,t)?-1:1,a.level)}function vp(i,e,t){for(let n=e;n<t;n++){let r=Jl(i.charCodeAt(n));if(r==1)return ei;if(r==2||r==4)return Qo}return ei}var nh=R.define(),rh=R.define(),sh=R.define(),oh=R.define(),Gs=R.define(),Oh=R.define(),ah=R.define(),So=R.define(),yo=R.define(),lh=R.define({combine:i=>i.some(e=>e)}),hh=R.define({combine:i=>i.some(e=>e)}),ch=R.define(),Hi=class i{constructor(e,t="nearest",n="nearest",r=5,s=5,o=!1){this.range=e,this.y=t,this.x=n,this.yMargin=r,this.xMargin=s,this.isSnapshot=o}map(e){return e.empty?this:new i(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new i(S.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}},In=D.define({map:(i,e)=>i.map(e)}),fh=D.define();function Me(i,e,t){let n=i.facet(oh);n.length?n[0](e):window.onerror?window.onerror(String(e),t,void 0,void 0,e):t?console.error(t+":",e):console.error(e)}var Tt=R.define({combine:i=>i.length?i[0]:!0}),zp=0,Gi=R.define(),Ge=class i{constructor(e,t,n,r,s){this.id=e,this.create=t,this.domEventHandlers=n,this.domEventObservers=r,this.extension=s(this)}static define(e,t){let{eventHandlers:n,eventObservers:r,provide:s,decorations:o}=t||{};return new i(zp++,e,n,r,O=>{let a=[Gi.of(O)];return o&&a.push(an.of(l=>{let h=l.plugin(O);return h?o(h):j.none})),s&&a.push(s(O)),a})}static fromClass(e,t){return i.define(n=>new e(n),t)}},Ki=class{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}update(e){if(this.value){if(this.mustUpdate){let t=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(t)}catch(n){if(Me(t.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(e)}catch(t){Me(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(!((t=this.value)===null||t===void 0)&&t.destroy)try{this.value.destroy()}catch(n){Me(e.state,n,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}},uh=R.define(),Po=R.define(),an=R.define(),dh=R.define(),bo=R.define(),ph=R.define();function ll(i,e){let t=i.state.facet(ph);if(!t.length)return t;let n=t.map(s=>s instanceof Function?s(i):s),r=[];return F.spans(n,e.from,e.to,{point(){},span(s,o,O,a){let l=s-e.from,h=o-e.from,c=r;for(let f=O.length-1;f>=0;f--,a--){let d=O[f].spec.bidiIsolate,p;if(d==null&&(d=vp(e.text,l,h)),a>0&&c.length&&(p=c[c.length-1]).to==l&&p.direction==d)p.to=h,c=p.inner;else{let m={from:l,to:h,direction:d,inner:[]};c.push(m),c=m.inner}}}}),r}var mh=R.define();function gh(i){let e=0,t=0,n=0,r=0;for(let s of i.state.facet(mh)){let o=s(i);o&&(o.left!=null&&(e=Math.max(e,o.left)),o.right!=null&&(t=Math.max(t,o.right)),o.top!=null&&(n=Math.max(n,o.top)),o.bottom!=null&&(r=Math.max(r,o.bottom)))}return{left:e,right:t,top:n,bottom:r}}var Li=R.define(),Ot=class i{constructor(e,t,n,r){this.fromA=e,this.toA=t,this.fromB=n,this.toB=r}join(e){return new i(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let t=e.length,n=this;for(;t>0;t--){let r=e[t-1];if(!(r.fromA>n.toA)){if(r.toA<n.fromA)break;n=n.join(r),e.splice(t-1,1)}}return e.splice(t,0,n),e}static extendWithRanges(e,t){if(t.length==0)return e;let n=[];for(let r=0,s=0,o=0,O=0;;r++){let a=r==e.length?null:e[r],l=o-O,h=a?a.fromB:1e9;for(;s<t.length&&t[s]<h;){let c=t[s],f=t[s+1],d=Math.max(O,c),p=Math.min(h,f);if(d<=p&&new i(d+l,p+l,d,p).addToSet(n),f>h)break;s+=2}if(!a)return n;new i(a.fromA,a.toA,a.fromB,a.toB).addToSet(n),o=a.toA,O=a.toB}}},hr=class i{constructor(e,t,n){this.view=e,this.state=t,this.transactions=n,this.flags=0,this.startState=e.state,this.changes=ge.empty(this.startState.doc.length);for(let s of n)this.changes=this.changes.compose(s.changes);let r=[];this.changes.iterChangedRanges((s,o,O,a)=>r.push(new Ot(s,o,O,a))),this.changedRanges=r}static create(e,t,n){return new i(e,t,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(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}},cr=class extends H{get length(){return this.view.state.doc.length}constructor(e){super(),this.view=e,this.decorations=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.markedForComposition=new Set,this.editContextFormatting=j.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(e.contentDOM),this.children=[new he],this.children[0].setParent(this),this.updateDeco(),this.updateInner([new Ot(0,0,0,e.state.doc.length)],0,null)}update(e){var t;let n=e.changedRanges;this.minWidth>0&&n.length&&(n.every(({fromA:l,toA:h})=>h<this.minWidthFrom||l>this.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let r=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((t=this.domChanged)===null||t===void 0)&&t.newSel?r=this.domChanged.newSel.head:!Cp(e.changes,this.hasComposition)&&!e.selectionSet&&(r=e.state.selection.main.head));let s=r>-1?Wp(this.view,e.changes,r):null;if(this.domChanged=null,this.hasComposition){this.markedForComposition.clear();let{from:l,to:h}=this.hasComposition;n=new Ot(l,h,e.changes.mapPos(l,-1),e.changes.mapPos(h,1)).addToSet(n.slice())}this.hasComposition=s?{from:s.range.fromB,to:s.range.toB}:null,(z.ie||z.chrome)&&!s&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let o=this.decorations,O=this.updateDeco(),a=qp(o,O,e.changes);return n=Ot.extendWithRanges(n,a),!(this.flags&7)&&n.length==0?!1:(this.updateInner(n,e.startState.doc.length,s),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t,n){this.view.viewState.mustMeasureContent=!0,this.updateChildren(e,t,n);let{observer:r}=this.view;r.ignore(()=>{this.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let o=z.chrome||z.ios?{node:r.selectionRange.focusNode,written:!1}:void 0;this.sync(this.view,o),this.flags&=-8,o&&(o.written||r.selectionRange.focusNode!=o.node)&&(this.forceSelection=!0),this.dom.style.height=""}),this.markedForComposition.forEach(o=>o.flags&=-9);let s=[];if(this.view.viewport.from||this.view.viewport.to<this.view.state.doc.length)for(let o of this.children)o instanceof Ht&&o.widget instanceof On&&s.push(o.dom);r.updateGaps(s)}updateChildren(e,t,n){let r=n?n.range.addToSet(e.slice()):e,s=this.childCursor(t);for(let o=r.length-1;;o--){let O=o>=0?r[o]:null;if(!O)break;let{fromA:a,toA:l,fromB:h,toB:c}=O,f,d,p,m;if(n&&n.range.fromB<c&&n.range.toB>h){let k=Fi.build(this.view.state.doc,h,n.range.fromB,this.decorations,this.dynamicDecorationMap),y=Fi.build(this.view.state.doc,n.range.toB,c,this.decorations,this.dynamicDecorationMap);d=k.breakAtStart,p=k.openStart,m=y.openEnd;let w=this.compositionView(n);y.breakAtStart?w.breakAfter=1:y.content.length&&w.merge(w.length,w.length,y.content[0],!1,y.openStart,0)&&(w.breakAfter=y.content[0].breakAfter,y.content.shift()),k.content.length&&w.merge(0,0,k.content[k.content.length-1],!0,0,k.openEnd)&&k.content.pop(),f=k.content.concat(w).concat(y.content)}else({content:f,breakAtStart:d,openStart:p,openEnd:m}=Fi.build(this.view.state.doc,h,c,this.decorations,this.dynamicDecorationMap));let{i:g,off:$}=s.findPos(l,1),{i:Q,off:b}=s.findPos(a,-1);Gl(this,Q,b,g,$,f,d,p,m)}n&&this.fixCompositionDOM(n)}updateEditContextFormatting(e){this.editContextFormatting=this.editContextFormatting.map(e.changes);for(let t of e.transactions)for(let n of t.effects)n.is(fh)&&(this.editContextFormatting=n.value)}compositionView(e){let t=new lt(e.text.nodeValue);t.flags|=8;for(let{deco:r}of e.marks)t=new Rt(r,[t],t.length);let n=new he;return n.append(t,0),n}fixCompositionDOM(e){let t=(s,o)=>{o.flags|=8|(o.children.some(a=>a.flags&7)?1:0),this.markedForComposition.add(o);let O=H.get(s);O&&O!=o&&(O.dom=null),o.setDOM(s)},n=this.childPos(e.range.fromB,1),r=this.children[n.i];t(e.line,r);for(let s=e.marks.length-1;s>=-1;s--)n=r.childPos(n.off,1),r=r.children[n.i],t(s>=0?e.marks[s].node:e.text,r)}updateSelection(e=!1,t=!1){(e||!this.view.observer.selectionRange.focusNode)&&this.view.observer.readSelectionRange();let n=this.view.root.activeElement,r=n==this.dom,s=!r&&er(this.dom,this.view.observer.selectionRange)&&!(n&&this.dom.contains(n));if(!(r||t||s))return;let o=this.forceSelection;this.forceSelection=!1;let O=this.view.state.selection.main,a=this.moveToLine(this.domAtPos(O.anchor)),l=O.empty?a:this.moveToLine(this.domAtPos(O.head));if(z.gecko&&O.empty&&!this.hasComposition&&Rp(a)){let c=document.createTextNode("");this.view.observer.ignore(()=>a.node.insertBefore(c,a.node.childNodes[a.offset]||null)),a=l=new Qe(c,0),o=!0}let h=this.view.observer.selectionRange;(o||!h.focusNode||(!Ni(a.node,a.offset,h.anchorNode,h.anchorOffset)||!Ni(l.node,l.offset,h.focusNode,h.focusOffset))&&!this.suppressWidgetCursorChange(h,O))&&(this.view.observer.ignore(()=>{z.android&&z.chrome&&this.dom.contains(h.focusNode)&&Vp(h.focusNode,this.dom)&&(this.dom.blur(),this.dom.focus({preventScroll:!0}));let c=tn(this.view.root);if(c)if(O.empty){if(z.gecko){let f=Xp(a.node,a.offset);if(f&&f!=3){let d=(f==1?El:Ml)(a.node,a.offset);d&&(a=new Qe(d.node,d.offset))}}c.collapse(a.node,a.offset),O.bidiLevel!=null&&c.caretBidiLevel!==void 0&&(c.caretBidiLevel=O.bidiLevel)}else if(c.extend){c.collapse(a.node,a.offset);try{c.extend(l.node,l.offset)}catch{}}else{let f=document.createRange();O.anchor>O.head&&([a,l]=[l,a]),f.setEnd(l.node,l.offset),f.setStart(a.node,a.offset),c.removeAllRanges(),c.addRange(f)}s&&this.view.root.activeElement==this.dom&&(this.dom.blur(),n&&n.focus())}),this.view.observer.setSelectionRange(a,l)),this.impreciseAnchor=a.precise?null:new Qe(h.anchorNode,h.anchorOffset),this.impreciseHead=l.precise?null:new Qe(h.focusNode,h.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&Ni(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==t.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,n=tn(e.root),{anchorNode:r,anchorOffset:s}=e.observer.selectionRange;if(!n||!t.empty||!t.assoc||!n.modify)return;let o=he.find(this,t.head);if(!o)return;let O=o.posAtStart;if(t.head==O||t.head==O+o.length)return;let a=this.coordsAt(t.head,-1),l=this.coordsAt(t.head,1);if(!a||!l||a.bottom>l.top)return;let h=this.domAtPos(t.head+t.assoc);n.collapse(h.node,h.offset),n.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let c=e.observer.selectionRange;e.docView.posFromDOM(c.anchorNode,c.anchorOffset)!=t.from&&n.collapse(r,s)}moveToLine(e){let t=this.dom,n;if(e.node!=t)return e;for(let r=e.offset;!n&&r<t.childNodes.length;r++){let s=H.get(t.childNodes[r]);s instanceof he&&(n=s.domAtPos(0))}for(let r=e.offset-1;!n&&r>=0;r--){let s=H.get(t.childNodes[r]);s instanceof he&&(n=s.domAtPos(s.length))}return n?new Qe(n.node,n.offset,!0):e}nearest(e){for(let t=e;t;){let n=H.get(t);if(n&&n.rootView==this)return n;t=t.parentNode}return null}posFromDOM(e,t){let n=this.nearest(e);if(!n)throw new RangeError("Trying to find position for a DOM position outside of the document");return n.localPosFromDOM(e,t)+n.posAtStart}domAtPos(e){let{i:t,off:n}=this.childCursor().findPos(e,-1);for(;t<this.children.length-1;){let r=this.children[t];if(n<r.length||r instanceof he)break;t++,n=0}return this.children[t].domAtPos(n)}coordsAt(e,t){let n=null,r=0;for(let s=this.length,o=this.children.length-1;o>=0;o--){let O=this.children[o],a=s-O.breakAfter,l=a-O.length;if(a<e)break;if(l<=e&&(l<e||O.covers(-1))&&(a>e||O.covers(1))&&(!n||O instanceof he&&!(n instanceof he&&t>=0)))n=O,r=l;else if(n&&l==e&&a==e&&O instanceof Ht&&Math.abs(t)<2){if(O.deco.startSide<0)break;o&&(n=null)}s=l}return n?n.coordsAt(e-r,t):null}coordsForChar(e){let{i:t,off:n}=this.childPos(e,1),r=this.children[t];if(!(r instanceof he))return null;for(;r.children.length;){let{i:O,off:a}=r.childPos(n,1);for(;;O++){if(O==r.children.length)return null;if((r=r.children[O]).length)break}n=a}if(!(r instanceof lt))return null;let s=le(r.text,n);if(s==n)return null;let o=Jt(r.dom,n,s).getClientRects();for(let O=0;O<o.length;O++){let a=o[O];if(O==o.length-1||a.top<a.bottom&&a.left<a.right)return a}return null}measureVisibleLineHeights(e){let t=[],{from:n,to:r}=e,s=this.view.contentDOM.clientWidth,o=s>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,O=-1,a=this.view.textDirection==J.LTR;for(let l=0,h=0;h<this.children.length;h++){let c=this.children[h],f=l+c.length;if(f>r)break;if(l>=n){let d=c.dom.getBoundingClientRect();if(t.push(d.height),o){let p=c.dom.lastChild,m=p?nn(p):[];if(m.length){let g=m[m.length-1],$=a?g.right-d.left:d.right-g.left;$>O&&(O=$,this.minWidth=s,this.minWidthFrom=l,this.minWidthTo=f)}}}l=f+c.breakAfter}return t}textDirectionAt(e){let{i:t}=this.childPos(e,1);return getComputedStyle(this.children[t].dom).direction=="rtl"?J.RTL:J.LTR}measureTextSize(){for(let s of this.children)if(s instanceof he){let o=s.measureTextSize();if(o)return o}let e=document.createElement("div"),t,n,r;return e.className="cm-line",e.style.width="99999px",e.style.position="absolute",e.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.dom.appendChild(e);let s=nn(e.firstChild)[0];t=e.getBoundingClientRect().height,n=s?s.width/27:7,r=s?s.height:t,e.remove()}),{lineHeight:t,charWidth:n,textHeight:r}}childCursor(e=this.length){let t=this.children.length;return t&&(e-=this.children[--t].length),new Or(this.children,e,t)}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let n=0,r=0;;r++){let s=r==t.viewports.length?null:t.viewports[r],o=s?s.from-1:this.length;if(o>n){let O=(t.lineBlockAt(o).bottom-t.lineBlockAt(n).top)/this.view.scaleY;e.push(j.replace({widget:new On(O),block:!0,inclusive:!0,isBlockGap:!0}).range(n,o))}if(!s)break;n=s.to+1}return j.set(e)}updateDeco(){let e=1,t=this.view.state.facet(an).map(s=>(this.dynamicDecorationMap[e++]=typeof s=="function")?s(this.view):s),n=!1,r=this.view.state.facet(dh).map((s,o)=>{let O=typeof s=="function";return O&&(n=!0),O?s(this.view):s});for(r.length&&(this.dynamicDecorationMap[e++]=n,t.push(F.join(r))),this.decorations=[this.editContextFormatting,...t,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];e<this.decorations.length;)this.dynamicDecorationMap[e++]=!1;return this.decorations}scrollIntoView(e){if(e.isSnapshot){let l=this.view.viewState.lineBlockAt(e.range.head);this.view.scrollDOM.scrollTop=l.top-e.yMargin,this.view.scrollDOM.scrollLeft=e.xMargin;return}for(let l of this.view.state.facet(ch))try{if(l(this.view,e.range,e))return!0}catch(h){Me(this.view.state,h,"scroll handler")}let{range:t}=e,n=this.coordsAt(t.head,t.empty?t.assoc:t.head>t.anchor?-1:1),r;if(!n)return;!t.empty&&(r=this.coordsAt(t.anchor,t.anchor>t.head?-1:1))&&(n={left:Math.min(n.left,r.left),top:Math.min(n.top,r.top),right:Math.max(n.right,r.right),bottom:Math.max(n.bottom,r.bottom)});let s=gh(this.view),o={left:n.left-s.left,top:n.top-s.top,right:n.right+s.right,bottom:n.bottom+s.bottom},{offsetWidth:O,offsetHeight:a}=this.view.scrollDOM;cp(this.view.scrollDOM,o,t.head<t.anchor?-1:1,e.x,e.y,Math.max(Math.min(e.xMargin,O),-O),Math.max(Math.min(e.yMargin,a),-a),this.view.textDirection==J.LTR)}};function Rp(i){return i.node.nodeType==1&&i.node.firstChild&&(i.offset==0||i.node.childNodes[i.offset-1].contentEditable=="false")&&(i.offset==i.node.childNodes.length||i.node.childNodes[i.offset].contentEditable=="false")}function $h(i,e){let t=i.observer.selectionRange;if(!t.focusNode)return null;let n=El(t.focusNode,t.focusOffset),r=Ml(t.focusNode,t.focusOffset),s=n||r;if(r&&n&&r.node!=n.node){let O=H.get(r.node);if(!O||O instanceof lt&&O.text!=r.node.nodeValue)s=r;else if(i.docView.lastCompositionAfterCursor){let a=H.get(n.node);!a||a instanceof lt&&a.text!=n.node.nodeValue||(s=r)}}if(i.docView.lastCompositionAfterCursor=s!=n,!s)return null;let o=e-s.offset;return{from:o,to:o+s.node.nodeValue.length,node:s.node}}function Wp(i,e,t){let n=$h(i,t);if(!n)return null;let{node:r,from:s,to:o}=n,O=r.nodeValue;if(/[\n\r]/.test(O)||i.state.doc.sliceString(n.from,n.to)!=O)return null;let a=e.invertedDesc,l=new Ot(a.mapPos(s),a.mapPos(o),s,o),h=[];for(let c=r.parentNode;;c=c.parentNode){let f=H.get(c);if(f instanceof Rt)h.push({node:c,deco:f.mark});else{if(f instanceof he||c.nodeName=="DIV"&&c.parentNode==i.contentDOM)return{range:l,text:r,marks:h,line:c};if(c!=i.contentDOM)h.push({node:c,deco:new sn({inclusive:!0,attributes:$p(c),tagName:c.tagName.toLowerCase()})});else return null}}}function Xp(i,e){return i.nodeType!=1?0:(e&&i.childNodes[e-1].contentEditable=="false"?1:0)|(e<i.childNodes.length&&i.childNodes[e].contentEditable=="false"?2:0)}var Zp=class{constructor(){this.changes=[]}compareRange(e,t){_s(e,t,this.changes)}comparePoint(e,t){_s(e,t,this.changes)}};function qp(i,e,t){let n=new Zp;return F.compare(i,e,t,n),n.changes}function Vp(i,e){for(let t=i;t&&t!=e;t=t.assignedSlot||t.parentNode)if(t.nodeType==1&&t.contentEditable=="false")return!0;return!1}function Cp(i,e){let t=!1;return e&&i.iterChangedRanges((n,r)=>{n<e.to&&r>e.from&&(t=!0)}),t}function Yp(i,e,t=1){let n=i.charCategorizer(e),r=i.doc.lineAt(e),s=e-r.from;if(r.length==0)return S.cursor(e);s==0?t=1:s==r.length&&(t=-1);let o=s,O=s;t<0?o=le(r.text,s,!1):O=le(r.text,s);let a=n(r.text.slice(o,O));for(;o>0;){let l=le(r.text,o,!1);if(n(r.text.slice(l,o))!=a)break;o=l}for(;O<r.length;){let l=le(r.text,O);if(n(r.text.slice(O,l))!=a)break;O=l}return S.range(o+r.from,O+r.from)}function Up(i,e){return e.left>i?e.left-i:Math.max(0,i-e.right)}function Ap(i,e){return e.top>i?e.top-i:Math.max(0,i-e.bottom)}function zs(i,e){return i.top<e.bottom-1&&i.bottom>e.top+1}function hl(i,e){return e<i.top?{top:e,left:i.left,right:i.right,bottom:i.bottom}:i}function cl(i,e){return e>i.bottom?{top:i.top,left:i.left,right:i.right,bottom:e}:i}function Ls(i,e,t){let n,r,s,o,O=!1,a,l,h,c;for(let p=i.firstChild;p;p=p.nextSibling){let m=nn(p);for(let g=0;g<m.length;g++){let $=m[g];r&&zs(r,$)&&($=hl(cl($,r.bottom),r.top));let Q=Up(e,$),b=Ap(t,$);if(Q==0&&b==0)return p.nodeType==3?fl(p,e,t):Ls(p,e,t);if(!n||o>b||o==b&&s>Q){n=p,r=$,s=Q,o=b;let k=b?t<$.top?-1:1:Q?e<$.left?-1:1:0;O=!k||(k>0?g<m.length-1:g>0)}Q==0?t>$.bottom&&(!h||h.bottom<$.bottom)?(a=p,h=$):t<$.top&&(!c||c.top>$.top)&&(l=p,c=$):h&&zs(h,$)?h=cl(h,$.bottom):c&&zs(c,$)&&(c=hl(c,$.top))}}if(h&&h.bottom>=t?(n=a,r=h):c&&c.top<=t&&(n=l,r=c),!n)return{node:i,offset:0};let f=Math.max(r.left,Math.min(r.right,e));if(n.nodeType==3)return fl(n,f,t);if(O&&n.contentEditable!="false")return Ls(n,f,t);let d=Array.prototype.indexOf.call(i.childNodes,n)+(e>=(r.left+r.right)/2?1:0);return{node:i,offset:d}}function fl(i,e,t){let n=i.nodeValue.length,r=-1,s=1e9,o=0;for(let O=0;O<n;O++){let a=Jt(i,O,O+1).getClientRects();for(let l=0;l<a.length;l++){let h=a[l];if(h.top==h.bottom)continue;o||(o=e-h.left);let c=(h.top>t?h.top-t:t-h.bottom)-1;if(h.left-1<=e&&h.right+1>=e&&c<s){let f=e>=(h.left+h.right)/2,d=f;if((z.chrome||z.gecko)&&Jt(i,O).getBoundingClientRect().left==h.right&&(d=!f),c<=0)return{node:i,offset:O+(d?1:0)};r=O+(d?1:0),s=c}}}return{node:i,offset:r>-1?r:o>0?i.nodeValue.length:0}}function Qh(i,e,t,n=-1){var r,s;let o=i.contentDOM.getBoundingClientRect(),O=o.top+i.viewState.paddingTop,a,{docHeight:l}=i.viewState,{x:h,y:c}=e,f=c-O;if(f<0)return 0;if(f>l)return i.state.doc.length;for(let k=i.viewState.heightOracle.textHeight/2,y=!1;a=i.elementAtHeight(f),a.type!=Se.Text;)for(;f=n>0?a.bottom+k:a.top-k,!(f>=0&&f<=l);){if(y)return t?null:0;y=!0,n=-n}c=O+f;let d=a.from;if(d<i.viewport.from)return i.viewport.from==0?0:t?null:ul(i,o,a,h,c);if(d>i.viewport.to)return i.viewport.to==i.state.doc.length?i.state.doc.length:t?null:ul(i,o,a,h,c);let p=i.dom.ownerDocument,m=i.root.elementFromPoint?i.root:p,g=m.elementFromPoint(h,c);g&&!i.contentDOM.contains(g)&&(g=null),g||(h=Math.max(o.left+1,Math.min(o.right-1,h)),g=m.elementFromPoint(h,c),g&&!i.contentDOM.contains(g)&&(g=null));let $,Q=-1;if(g&&((r=i.docView.nearest(g))===null||r===void 0?void 0:r.isEditable)!=!1){if(p.caretPositionFromPoint){let k=p.caretPositionFromPoint(h,c);k&&({offsetNode:$,offset:Q}=k)}else if(p.caretRangeFromPoint){let k=p.caretRangeFromPoint(h,c);k&&({startContainer:$,startOffset:Q}=k,(!i.contentDOM.contains($)||z.safari&&_p($,Q,h)||z.chrome&&jp($,Q,h))&&($=void 0))}$&&(Q=Math.min(at($),Q))}if(!$||!i.docView.dom.contains($)){let k=he.find(i.docView,d);if(!k)return f>a.top+a.height/2?a.to:a.from;({node:$,offset:Q}=Ls(k.dom,h,c))}let b=i.docView.nearest($);if(!b)return null;if(b.isWidget&&((s=b.dom)===null||s===void 0?void 0:s.nodeType)==1){let k=b.dom.getBoundingClientRect();return e.y<k.top||e.y<=k.bottom&&e.x<=(k.left+k.right)/2?b.posAtStart:b.posAtEnd}else return b.localPosFromDOM($,Q)+b.posAtStart}function ul(i,e,t,n,r){let s=Math.round((n-e.left)*i.defaultCharacterWidth);if(i.lineWrapping&&t.height>i.defaultLineHeight*1.5){let O=i.viewState.heightOracle.textHeight,a=Math.floor((r-t.top-(i.defaultLineHeight-O)*.5)/O);s+=a*i.viewState.heightOracle.lineLength}let o=i.state.sliceDoc(t.from,t.to);return t.from+Gn(o,s,i.state.tabSize)}function _p(i,e,t){let n;if(i.nodeType!=3||e!=(n=i.nodeValue.length))return!1;for(let r=i.nextSibling;r;r=r.nextSibling)if(r.nodeType!=1||r.nodeName!="BR")return!1;return Jt(i,n-1,n).getBoundingClientRect().left>t}function jp(i,e,t){if(e!=0)return!1;for(let r=i;;){let s=r.parentNode;if(!s||s.nodeType!=1||s.firstChild!=r)return!1;if(s.classList.contains("cm-line"))break;r=s}let n=i.nodeType==1?i.getBoundingClientRect():Jt(i,0,Math.max(i.nodeValue.length,1)).getBoundingClientRect();return t-n.left>5}function Ds(i,e){let t=i.lineBlockAt(e);if(Array.isArray(t.type)){for(let n of t.type)if(n.to>e||n.to==e&&(n.to==t.to||n.type==Se.Text))return n}return t}function Ep(i,e,t,n){let r=Ds(i,e.head),s=!n||r.type!=Se.Text||!(i.lineWrapping||r.widgetLineBreaks)?null:i.coordsAtPos(e.assoc<0&&e.head>r.from?e.head-1:e.head);if(s){let o=i.dom.getBoundingClientRect(),O=i.textDirectionAt(r.from),a=i.posAtCoords({x:t==(O==J.LTR)?o.right-1:o.left+1,y:(s.top+s.bottom)/2});if(a!=null)return S.cursor(a,t?-1:1)}return S.cursor(t?r.to:r.from,t?-1:1)}function dl(i,e,t,n){let r=i.state.doc.lineAt(e.head),s=i.bidiSpans(r),o=i.textDirectionAt(r.from);for(let O=e,a=null;;){let l=Tp(r,s,o,O,t),h=ih;if(!l){if(r.number==(t?i.state.doc.lines:1))return O;h=` -`,r=i.state.doc.line(r.number+(t?1:-1)),s=i.bidiSpans(r),l=i.visualLineSide(r,!t)}if(a){if(!a(h))return O}else{if(!n)return l;a=n(h)}O=l}}function Mp(i,e,t){let n=i.state.charCategorizer(e),r=n(t);return s=>{let o=n(s);return r==_e.Space&&(r=o),r==o}}function Gp(i,e,t,n){let r=e.head,s=t?1:-1;if(r==(t?i.state.doc.length:0))return S.cursor(r,e.assoc);let o=e.goalColumn,O,a=i.contentDOM.getBoundingClientRect(),l=i.coordsAtPos(r,e.assoc||-1),h=i.documentTop;if(l)o==null&&(o=l.left-a.left),O=s<0?l.top:l.bottom;else{let d=i.viewState.lineBlockAt(r);o==null&&(o=Math.min(a.right-a.left,i.defaultCharacterWidth*(r-d.from))),O=(s<0?d.top:d.bottom)+h}let c=a.left+o,f=n??i.viewState.heightOracle.textHeight>>1;for(let d=0;;d+=10){let p=O+(f+d)*s,m=Qh(i,{x:c,y:p},!1,s);if(p<a.top||p>a.bottom||(s<0?m<r:m>r)){let g=i.docView.coordsForChar(m),$=!g||p<g.top?-1:1;return S.cursor(m,$,void 0,o)}}}function tr(i,e,t){for(;;){let n=0;for(let r of i)r.between(e-1,e+1,(s,o,O)=>{if(e>s&&e<o){let a=n||t||(e-s<o-e?-1:1);e=a<0?s:o,n=a}});if(!n)return e}}function Rs(i,e,t){let n=tr(i.state.facet(bo).map(r=>r(i)),t.from,e.head>t.from?-1:1);return n==t.from?t:S.cursor(n,n<t.from?1:-1)}var Di="\uFFFF",Is=class{constructor(e,t){this.points=e,this.text="",this.lineSeparator=t.facet(I.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=Di}readRange(e,t){if(!e)return this;let n=e.parentNode;for(let r=e;;){this.findPointBefore(n,r);let s=this.text.length;this.readNode(r);let o=r.nextSibling;if(o==t)break;let O=H.get(r),a=H.get(o);(O&&a?O.breakAfter:(O?O.breakAfter:or(r))||or(o)&&(r.nodeName!="BR"||r.cmIgnore)&&this.text.length>s)&&this.lineBreak(),r=o}return this.findPointBefore(n,t),this}readTextNode(e){let t=e.nodeValue;for(let n of this.points)n.node==e&&(n.pos=this.text.length+Math.min(n.offset,t.length));for(let n=0,r=this.lineSeparator?null:/\r\n?|\n/g;;){let s=-1,o=1,O;if(this.lineSeparator?(s=t.indexOf(this.lineSeparator,n),o=this.lineSeparator.length):(O=r.exec(t))&&(s=O.index,o=O[0].length),this.append(t.slice(n,s<0?t.length:s)),s<0)break;if(this.lineBreak(),o>1)for(let a of this.points)a.node==e&&a.pos>this.text.length&&(a.pos-=o-1);n=s+o}}readNode(e){if(e.cmIgnore)return;let t=H.get(e),n=t&&t.overrideDOMText;if(n!=null){this.findPointInside(e,n.length);for(let r=n.iter();!r.next().done;)r.lineBreak?this.lineBreak():this.append(r.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let n of this.points)n.node==e&&e.childNodes[n.offset]==t&&(n.pos=this.text.length)}findPointInside(e,t){for(let n of this.points)(e.nodeType==3?n.node==e:e.contains(n.node))&&(n.pos=this.text.length+(Lp(e,n.node,n.offset)?t:0))}};function Lp(i,e,t){for(;;){if(!e||t<at(e))return!1;if(e==i)return!0;t=Kt(e)+1,e=e.parentNode}}var fr=class{constructor(e,t){this.node=e,this.offset=t,this.pos=-1}},Bs=class{constructor(e,t,n,r){this.typeOver=r,this.bounds=null,this.text="",this.domChanged=t>-1;let{impreciseHead:s,impreciseAnchor:o}=e.docView;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=e.docView.domBoundsAround(t,n,0))){let O=s||o?[]:Bp(e),a=new Is(O,e.state);a.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=a.text,this.newSel=Np(O,this.bounds.from)}else{let O=e.observer.selectionRange,a=s&&s.node==O.focusNode&&s.offset==O.focusOffset||!Zs(e.contentDOM,O.focusNode)?e.state.selection.main.head:e.docView.posFromDOM(O.focusNode,O.focusOffset),l=o&&o.node==O.anchorNode&&o.offset==O.anchorOffset||!Zs(e.contentDOM,O.anchorNode)?e.state.selection.main.anchor:e.docView.posFromDOM(O.anchorNode,O.anchorOffset),h=e.viewport;if((z.ios||z.chrome)&&e.state.selection.main.empty&&a!=l&&(h.from>0||h.to<e.state.doc.length)){let c=Math.min(a,l),f=Math.max(a,l),d=h.from-c,p=h.to-f;(d==0||d==1||c==0)&&(p==0||p==-1||f==e.state.doc.length)&&(a=0,l=e.state.doc.length)}this.newSel=S.single(l,a)}}};function Sh(i,e){let t,{newSel:n}=e,r=i.state.selection.main,s=i.inputState.lastKeyTime>Date.now()-100?i.inputState.lastKeyCode:-1;if(e.bounds){let{from:o,to:O}=e.bounds,a=r.from,l=null;(s===8||z.android&&e.text.length<O-o)&&(a=r.to,l="end");let h=Ip(i.state.doc.sliceString(o,O,Di),e.text,a-o,l);h&&(z.chrome&&s==13&&h.toB==h.from+2&&e.text.slice(h.from,h.toB)==Di+Di&&h.toB--,t={from:o+h.from,to:o+h.toA,insert:Y.of(e.text.slice(h.from,h.toB).split(Di))})}else n&&(!i.hasFocus&&i.state.facet(Tt)||n.main.eq(r))&&(n=null);if(!t&&!n)return!1;if(!t&&e.typeOver&&!r.empty&&n&&n.main.empty?t={from:r.from,to:r.to,insert:i.state.doc.slice(r.from,r.to)}:t&&t.from>=r.from&&t.to<=r.to&&(t.from!=r.from||t.to!=r.to)&&r.to-r.from-(t.to-t.from)<=4?t={from:r.from,to:r.to,insert:i.state.doc.slice(r.from,t.from).append(t.insert).append(i.state.doc.slice(t.to,r.to))}:(z.mac||z.android)&&t&&t.from==t.to&&t.from==r.head-1&&/^\. ?$/.test(t.insert.toString())&&i.contentDOM.getAttribute("autocorrect")=="off"?(n&&t.insert.length==2&&(n=S.single(n.main.anchor-1,n.main.head-1)),t={from:r.from,to:r.to,insert:Y.of([" "])}):z.chrome&&t&&t.from==t.to&&t.from==r.head&&t.insert.toString()==` - `&&i.lineWrapping&&(n&&(n=S.single(n.main.anchor-1,n.main.head-1)),t={from:r.from,to:r.to,insert:Y.of([" "])}),t)return xo(i,t,n,s);if(n&&!n.main.eq(r)){let o=!1,O="select";return i.inputState.lastSelectionTime>Date.now()-50&&(i.inputState.lastSelectionOrigin=="select"&&(o=!0),O=i.inputState.lastSelectionOrigin),i.dispatch({selection:n,scrollIntoView:o,userEvent:O}),!0}else return!1}function xo(i,e,t,n=-1){if(z.ios&&i.inputState.flushIOSKey(e))return!0;let r=i.state.selection.main;if(z.android&&(e.to==r.to&&(e.from==r.from||e.from==r.from-1&&i.state.sliceDoc(e.from,r.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&yi(i.contentDOM,"Enter",13)||(e.from==r.from-1&&e.to==r.to&&e.insert.length==0||n==8&&e.insert.length<e.to-e.from&&e.to>r.head)&&yi(i.contentDOM,"Backspace",8)||e.from==r.from&&e.to==r.to+1&&e.insert.length==0&&yi(i.contentDOM,"Delete",46)))return!0;let s=e.insert.toString();i.inputState.composing>=0&&i.inputState.composing++;let o,O=()=>o||(o=Dp(i,e,t));return i.state.facet(Oh).some(a=>a(i,e.from,e.to,s,O))||i.dispatch(O()),!0}function Dp(i,e,t){let n,r=i.state,s=r.selection.main;if(e.from>=s.from&&e.to<=s.to&&e.to-e.from>=(s.to-s.from)/3&&(!t||t.main.empty&&t.main.from==e.from+e.insert.length)&&i.inputState.composing<0){let O=s.from<e.from?r.sliceDoc(s.from,e.from):"",a=s.to>e.to?r.sliceDoc(e.to,s.to):"";n=r.replaceSelection(i.state.toText(O+e.insert.sliceString(0,void 0,i.state.lineBreak)+a))}else{let O=r.changes(e),a=t&&t.main.to<=O.newLength?t.main:void 0;if(r.selection.ranges.length>1&&i.inputState.composing>=0&&e.to<=s.to&&e.to>=s.to-10){let l=i.state.sliceDoc(e.from,e.to),h,c=t&&$h(i,t.main.head);if(c){let p=e.insert.length-(e.to-e.from);h={from:c.from,to:c.to-p}}else h=i.state.doc.lineAt(s.head);let f=s.to-e.to,d=s.to-s.from;n=r.changeByRange(p=>{if(p.from==s.from&&p.to==s.to)return{changes:O,range:a||p.map(O)};let m=p.to-f,g=m-l.length;if(p.to-p.from!=d||i.state.sliceDoc(g,m)!=l||p.to>=h.from&&p.from<=h.to)return{range:p};let $=r.changes({from:g,to:m,insert:e.insert}),Q=p.to-s.to;return{changes:$,range:a?S.range(Math.max(0,a.anchor+Q),Math.max(0,a.head+Q)):p.map($)}})}else n={changes:O,selection:a&&r.selection.replaceRange(a)}}let o="input.type";return(i.composing||i.inputState.compositionPendingChange&&i.inputState.compositionEndedAt>Date.now()-50)&&(i.inputState.compositionPendingChange=!1,o+=".compose",i.inputState.compositionFirstChange&&(o+=".start",i.inputState.compositionFirstChange=!1)),r.update(n,{userEvent:o,scrollIntoView:!0})}function Ip(i,e,t,n){let r=Math.min(i.length,e.length),s=0;for(;s<r&&i.charCodeAt(s)==e.charCodeAt(s);)s++;if(s==r&&i.length==e.length)return null;let o=i.length,O=e.length;for(;o>0&&O>0&&i.charCodeAt(o-1)==e.charCodeAt(O-1);)o--,O--;if(n=="end"){let a=Math.max(0,s-Math.min(o,O));t-=o+a-s}if(o<s&&i.length<e.length){let a=t<=s&&t>=o?s-t:0;s-=a,O=s+(O-o),o=s}else if(O<s){let a=t<=s&&t>=O?s-t:0;s-=a,o=s+(o-O),O=s}return{from:s,toA:o,toB:O}}function Bp(i){let e=[];if(i.root.activeElement!=i.contentDOM)return e;let{anchorNode:t,anchorOffset:n,focusNode:r,focusOffset:s}=i.observer.selectionRange;return t&&(e.push(new fr(t,n)),(r!=t||s!=n)&&e.push(new fr(r,s))),e}function Np(i,e){if(i.length==0)return null;let t=i[0].pos,n=i.length==2?i[1].pos:t;return t>-1&&n>-1?S.single(t+e,n+e):null}var Ns=class{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,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=e.hasFocus,z.safari&&e.contentDOM.addEventListener("input",()=>null),z.gecko&&hm(e.contentDOM.ownerDocument)}handleEvent(e){!im(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||this.runHandlers(e.type,e)}runHandlers(e,t){let n=this.handlers[e];if(n){for(let r of n.observers)r(this.view,t);for(let r of n.handlers){if(t.defaultPrevented)break;if(r(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=Fp(e),n=this.handlers,r=this.view.contentDOM;for(let s in t)if(s!="scroll"){let o=!t[s].handlers.length,O=n[s];O&&o!=!O.handlers.length&&(r.removeEventListener(s,this.handleEvent),O=null),O||r.addEventListener(s,this.handleEvent,{passive:o})}for(let s in n)s!="scroll"&&!t[s]&&r.removeEventListener(s,this.handleEvent);this.handlers=t}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),e.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&e.keyCode!=27&&Ph.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),z.android&&z.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;let t;return z.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&((t=yh.find(n=>n.keyCode==e.keyCode))&&!e.ctrlKey||Hp.indexOf(e.key)>-1&&e.ctrlKey&&!e.shiftKey)?(this.pendingIOSKey=t||e,setTimeout(()=>this.flushIOSKey(),250),!0):(e.keyCode!=229&&this.view.observer.forceFlush(),!1)}flushIOSKey(e){let t=this.pendingIOSKey;return!t||t.key=="Enter"&&e&&e.from<e.to&&/^\S+$/.test(e.insert.toString())?!1:(this.pendingIOSKey=void 0,yi(this.view.contentDOM,t.key,t.keyCode,t instanceof KeyboardEvent?t:void 0))}ignoreDuringComposition(e){return/^key/.test(e.type)?this.composing>0?!0:z.safari&&!z.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1:!1}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}};function pl(i,e){return(t,n)=>{try{return e.call(i,n,t)}catch(r){Me(t.state,r)}}}function Fp(i){let e=Object.create(null);function t(n){return e[n]||(e[n]={observers:[],handlers:[]})}for(let n of i){let r=n.spec;if(r&&r.domEventHandlers)for(let s in r.domEventHandlers){let o=r.domEventHandlers[s];o&&t(s).handlers.push(pl(n.value,o))}if(r&&r.domEventObservers)for(let s in r.domEventObservers){let o=r.domEventObservers[s];o&&t(s).observers.push(pl(n.value,o))}}for(let n in Fe)t(n).handlers.push(Fe[n]);for(let n in Le)t(n).observers.push(Le[n]);return e}var yh=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],Hp="dthko",Ph=[16,17,18,20,91,92,224,225],Bn=6;function Nn(i){return Math.max(0,i)*.7+8}function Kp(i,e){return Math.max(Math.abs(i.clientX-e.clientX),Math.abs(i.clientY-e.clientY))}var Fs=class{constructor(e,t,n,r){this.view=e,this.startEvent=t,this.style=n,this.mustSelect=r,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParents=fp(e.contentDOM),this.atoms=e.state.facet(bo).map(o=>o(e));let s=e.contentDOM.ownerDocument;s.addEventListener("mousemove",this.move=this.move.bind(this)),s.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(I.allowMultipleSelections)&&Jp(e,t),this.dragging=tm(e,t)&&kh(t)==1?null:!1}start(e){this.dragging===!1&&this.select(e)}move(e){if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&Kp(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let t=0,n=0,r=0,s=0,o=this.view.win.innerWidth,O=this.view.win.innerHeight;this.scrollParents.x&&({left:r,right:o}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:s,bottom:O}=this.scrollParents.y.getBoundingClientRect());let a=gh(this.view);e.clientX-a.left<=r+Bn?t=-Nn(r-e.clientX):e.clientX+a.right>=o-Bn&&(t=Nn(e.clientX-o)),e.clientY-a.top<=s+Bn?n=-Nn(s-e.clientY):e.clientY+a.bottom>=O-Bn&&(n=Nn(e.clientY-O)),this.setScrollSpeed(t,n)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:t}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),t&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=t,t=0),(e||t)&&this.view.win.scrollBy(e,t),this.dragging===!1&&this.select(this.lastEvent)}skipAtoms(e){let t=null;for(let n=0;n<e.ranges.length;n++){let r=e.ranges[n],s=null;if(r.empty){let o=tr(this.atoms,r.from,0);o!=r.from&&(s=S.cursor(o,-1))}else{let o=tr(this.atoms,r.from,-1),O=tr(this.atoms,r.to,1);(o!=r.from||O!=r.to)&&(s=S.range(r.from==r.anchor?o:O,r.from==r.head?o:O))}s&&(t||(t=e.ranges.slice()),t[n]=s)}return t?S.create(t,e.mainIndex):e}select(e){let{view:t}=this,n=this.skipAtoms(this.style.get(e,this.extend,this.multiple));(this.mustSelect||!n.eq(t.state.selection,this.dragging===!1))&&this.view.dispatch({selection:n,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(t=>t.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}};function Jp(i,e){let t=i.state.facet(nh);return t.length?t[0](e):z.mac?e.metaKey:e.ctrlKey}function em(i,e){let t=i.state.facet(rh);return t.length?t[0](e):z.mac?!e.altKey:!e.ctrlKey}function tm(i,e){let{main:t}=i.state.selection;if(t.empty)return!1;let n=tn(i.root);if(!n||n.rangeCount==0)return!0;let r=n.getRangeAt(0).getClientRects();for(let s=0;s<r.length;s++){let o=r[s];if(o.left<=e.clientX&&o.right>=e.clientX&&o.top<=e.clientY&&o.bottom>=e.clientY)return!0}return!1}function im(i,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let t=e.target,n;t!=i.contentDOM;t=t.parentNode)if(!t||t.nodeType==11||(n=H.get(t))&&n.ignoreEvent(e))return!1;return!0}var Fe=Object.create(null),Le=Object.create(null),bh=z.ie&&z.ie_version<15||z.ios&&z.webkit_version<604;function nm(i){let e=i.dom.parentNode;if(!e)return;let t=e.appendChild(document.createElement("textarea"));t.style.cssText="position: fixed; left: -10000px; top: 10px",t.focus(),setTimeout(()=>{i.focus(),t.remove(),xh(i,t.value)},50)}function yr(i,e,t){for(let n of i.facet(e))t=n(t,i);return t}function xh(i,e){e=yr(i.state,So,e);let{state:t}=i,n,r=1,s=t.toText(e),o=s.lines==t.selection.ranges.length;if(Hs!=null&&t.selection.ranges.every(a=>a.empty)&&Hs==s.toString()){let a=-1;n=t.changeByRange(l=>{let h=t.doc.lineAt(l.from);if(h.from==a)return{range:l};a=h.from;let c=t.toText((o?s.line(r++).text:e)+t.lineBreak);return{changes:{from:h.from,insert:c},range:S.cursor(l.from+c.length)}})}else o?n=t.changeByRange(a=>{let l=s.line(r++);return{changes:{from:a.from,to:a.to,insert:l.text},range:S.cursor(a.from+l.length)}}):n=t.replaceSelection(s);i.dispatch(n,{userEvent:"input.paste",scrollIntoView:!0})}Le.scroll=i=>{i.inputState.lastScrollTop=i.scrollDOM.scrollTop,i.inputState.lastScrollLeft=i.scrollDOM.scrollLeft};Fe.keydown=(i,e)=>(i.inputState.setSelectionOrigin("select"),e.keyCode==27&&i.inputState.tabFocusMode!=0&&(i.inputState.tabFocusMode=Date.now()+2e3),!1);Le.touchstart=(i,e)=>{i.inputState.lastTouchTime=Date.now(),i.inputState.setSelectionOrigin("select.pointer")};Le.touchmove=i=>{i.inputState.setSelectionOrigin("select.pointer")};Fe.mousedown=(i,e)=>{if(i.observer.flush(),i.inputState.lastTouchTime>Date.now()-2e3)return!1;let t=null;for(let n of i.state.facet(sh))if(t=n(i,e),t)break;if(!t&&e.button==0&&(t=om(i,e)),t){let n=!i.hasFocus;i.inputState.startMouseSelection(new Fs(i,e,t,n)),n&&i.observer.ignore(()=>{Al(i.contentDOM);let s=i.root.activeElement;s&&!s.contains(i.contentDOM)&&s.blur()});let r=i.inputState.mouseSelection;if(r)return r.start(e),r.dragging===!1}return!1};function ml(i,e,t,n){if(n==1)return S.cursor(e,t);if(n==2)return Yp(i.state,e,t);{let r=he.find(i.docView,e),s=i.state.doc.lineAt(r?r.posAtEnd:e),o=r?r.posAtStart:s.from,O=r?r.posAtEnd:s.to;return O<i.state.doc.length&&O==s.to&&O++,S.range(o,O)}}var gl=(i,e,t)=>e>=t.top&&e<=t.bottom&&i>=t.left&&i<=t.right;function rm(i,e,t,n){let r=he.find(i.docView,e);if(!r)return 1;let s=e-r.posAtStart;if(s==0)return 1;if(s==r.length)return-1;let o=r.coordsAt(s,-1);if(o&&gl(t,n,o))return-1;let O=r.coordsAt(s,1);return O&&gl(t,n,O)?1:o&&o.bottom>=n?-1:1}function $l(i,e){let t=i.posAtCoords({x:e.clientX,y:e.clientY},!1);return{pos:t,bias:rm(i,t,e.clientX,e.clientY)}}var sm=z.ie&&z.ie_version<=11,Ql=null,Sl=0,yl=0;function kh(i){if(!sm)return i.detail;let e=Ql,t=yl;return Ql=i,yl=Date.now(),Sl=!e||t>Date.now()-400&&Math.abs(e.clientX-i.clientX)<2&&Math.abs(e.clientY-i.clientY)<2?(Sl+1)%3:1}function om(i,e){let t=$l(i,e),n=kh(e),r=i.state.selection;return{update(s){s.docChanged&&(t.pos=s.changes.mapPos(t.pos),r=r.map(s.changes))},get(s,o,O){let a=$l(i,s),l,h=ml(i,a.pos,a.bias,n);if(t.pos!=a.pos&&!o){let c=ml(i,t.pos,t.bias,n),f=Math.min(c.from,h.from),d=Math.max(c.to,h.to);h=f<h.from?S.range(f,d):S.range(d,f)}return o?r.replaceRange(r.main.extend(h.from,h.to)):O&&n==1&&r.ranges.length>1&&(l=Om(r,a.pos))?l:O?r.addRange(h):S.create([h])}}}function Om(i,e){for(let t=0;t<i.ranges.length;t++){let{from:n,to:r}=i.ranges[t];if(n<=e&&r>=e)return S.create(i.ranges.slice(0,t).concat(i.ranges.slice(t+1)),i.mainIndex==t?0:i.mainIndex-(i.mainIndex>t?1:0))}return null}Fe.dragstart=(i,e)=>{let{selection:{main:t}}=i.state;if(e.target.draggable){let r=i.docView.nearest(e.target);if(r&&r.isWidget){let s=r.posAtStart,o=s+r.length;(s>=t.to||o<=t.from)&&(t=S.range(s,o))}}let{inputState:n}=i;return n.mouseSelection&&(n.mouseSelection.dragging=!0),n.draggedContent=t,e.dataTransfer&&(e.dataTransfer.setData("Text",yr(i.state,yo,i.state.sliceDoc(t.from,t.to))),e.dataTransfer.effectAllowed="copyMove"),!1};Fe.dragend=i=>(i.inputState.draggedContent=null,!1);function Pl(i,e,t,n){if(t=yr(i.state,So,t),!t)return;let r=i.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:s}=i.inputState,o=n&&s&&em(i,e)?{from:s.from,to:s.to}:null,O={from:r,insert:t},a=i.state.changes(o?[o,O]:O);i.focus(),i.dispatch({changes:a,selection:{anchor:a.mapPos(r,-1),head:a.mapPos(r,1)},userEvent:o?"move.drop":"input.drop"}),i.inputState.draggedContent=null}Fe.drop=(i,e)=>{if(!e.dataTransfer)return!1;if(i.state.readOnly)return!0;let t=e.dataTransfer.files;if(t&&t.length){let n=Array(t.length),r=0,s=()=>{++r==t.length&&Pl(i,e,n.filter(o=>o!=null).join(i.state.lineBreak),!1)};for(let o=0;o<t.length;o++){let O=new FileReader;O.onerror=s,O.onload=()=>{/[\x00-\x08\x0e-\x1f]{2}/.test(O.result)||(n[o]=O.result),s()},O.readAsText(t[o])}return!0}else{let n=e.dataTransfer.getData("Text");if(n)return Pl(i,e,n,!0),!0}return!1};Fe.paste=(i,e)=>{if(i.state.readOnly)return!0;i.observer.flush();let t=bh?null:e.clipboardData;return t?(xh(i,t.getData("text/plain")||t.getData("text/uri-list")),!0):(nm(i),!1)};function am(i,e){let t=i.dom.parentNode;if(!t)return;let n=t.appendChild(document.createElement("textarea"));n.style.cssText="position: fixed; left: -10000px; top: 10px",n.value=e,n.focus(),n.selectionEnd=e.length,n.selectionStart=0,setTimeout(()=>{n.remove(),i.focus()},50)}function lm(i){let e=[],t=[],n=!1;for(let r of i.selection.ranges)r.empty||(e.push(i.sliceDoc(r.from,r.to)),t.push(r));if(!e.length){let r=-1;for(let{from:s}of i.selection.ranges){let o=i.doc.lineAt(s);o.number>r&&(e.push(o.text),t.push({from:o.from,to:Math.min(i.doc.length,o.to+1)})),r=o.number}n=!0}return{text:yr(i,yo,e.join(i.lineBreak)),ranges:t,linewise:n}}var Hs=null;Fe.copy=Fe.cut=(i,e)=>{let{text:t,ranges:n,linewise:r}=lm(i.state);if(!t&&!r)return!1;Hs=r?t:null,e.type=="cut"&&!i.state.readOnly&&i.dispatch({changes:n,scrollIntoView:!0,userEvent:"delete.cut"});let s=bh?null:e.clipboardData;return s?(s.clearData(),s.setData("text/plain",t),!0):(am(i,t),!1)};var wh=ke.define();function Th(i,e){let t=[];for(let n of i.facet(ah)){let r=n(i,e);r&&t.push(r)}return t?i.update({effects:t,annotations:wh.of(!0)}):null}function vh(i){setTimeout(()=>{let e=i.hasFocus;if(e!=i.inputState.notifiedFocused){let t=Th(i.state,e);t?i.dispatch(t):i.update([])}},10)}Le.focus=i=>{i.inputState.lastFocusTime=Date.now(),!i.scrollDOM.scrollTop&&(i.inputState.lastScrollTop||i.inputState.lastScrollLeft)&&(i.scrollDOM.scrollTop=i.inputState.lastScrollTop,i.scrollDOM.scrollLeft=i.inputState.lastScrollLeft),vh(i)};Le.blur=i=>{i.observer.clearSelectionRange(),vh(i)};Le.compositionstart=Le.compositionupdate=i=>{i.observer.editContext||(i.inputState.compositionFirstChange==null&&(i.inputState.compositionFirstChange=!0),i.inputState.composing<0&&(i.inputState.composing=0))};Le.compositionend=i=>{i.observer.editContext||(i.inputState.composing=-1,i.inputState.compositionEndedAt=Date.now(),i.inputState.compositionPendingKey=!0,i.inputState.compositionPendingChange=i.observer.pendingRecords().length>0,i.inputState.compositionFirstChange=null,z.chrome&&z.android?i.observer.flushSoon():i.inputState.compositionPendingChange?Promise.resolve().then(()=>i.observer.flush()):setTimeout(()=>{i.inputState.composing<0&&i.docView.hasComposition&&i.update([])},50))};Le.contextmenu=i=>{i.inputState.lastContextMenu=Date.now()};Fe.beforeinput=(i,e)=>{var t,n;if(e.inputType=="insertReplacementText"&&i.observer.editContext){let s=(t=e.dataTransfer)===null||t===void 0?void 0:t.getData("text/plain"),o=e.getTargetRanges();if(s&&o.length){let O=o[0],a=i.posAtDOM(O.startContainer,O.startOffset),l=i.posAtDOM(O.endContainer,O.endOffset);return xo(i,{from:a,to:l,insert:i.state.toText(s)},null),!0}}let r;if(z.chrome&&z.android&&(r=yh.find(s=>s.inputType==e.inputType))&&(i.observer.delayAndroidKey(r.key,r.keyCode),r.key=="Backspace"||r.key=="Delete")){let s=((n=window.visualViewport)===null||n===void 0?void 0:n.height)||0;setTimeout(()=>{var o;(((o=window.visualViewport)===null||o===void 0?void 0:o.height)||0)>s+10&&i.hasFocus&&(i.contentDOM.blur(),i.focus())},100)}return z.ios&&e.inputType=="deleteContentForward"&&i.observer.flushSoon(),z.safari&&e.inputType=="insertText"&&i.inputState.composing>=0&&setTimeout(()=>Le.compositionend(i,e),20),!1};var bl=new Set;function hm(i){bl.has(i)||(bl.add(i),i.addEventListener("copy",()=>{}),i.addEventListener("cut",()=>{}))}var xl=["pre-wrap","normal","pre-line","break-spaces"],Pi=!1;function kl(){Pi=!1}var Ks=class{constructor(e){this.lineWrapping=e,this.doc=Y.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,t){let n=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(n+=Math.max(0,Math.ceil((t-e-n*this.lineLength*.5)/this.lineLength))),this.lineHeight*n}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/(this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return xl.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let n=0;n<e.length;n++){let r=e[n];r<0?n++:this.heightSamples[Math.floor(r*10)]||(t=!0,this.heightSamples[Math.floor(r*10)]=!0)}return t}refresh(e,t,n,r,s,o){let O=xl.indexOf(e)>-1,a=Math.round(t)!=Math.round(this.lineHeight)||this.lineWrapping!=O;if(this.lineWrapping=O,this.lineHeight=t,this.charWidth=n,this.textHeight=r,this.lineLength=s,a){this.heightSamples={};for(let l=0;l<o.length;l++){let h=o[l];h<0?l++:this.heightSamples[Math.floor(h*10)]=!0}}return a}},Js=class{constructor(e,t){this.from=e,this.heights=t,this.index=0}get more(){return this.index<this.heights.length}},st=class i{constructor(e,t,n,r,s){this.from=e,this.length=t,this.top=n,this.height=r,this._content=s}get type(){return typeof this._content=="number"?Se.Text:Array.isArray(this._content)?this._content:this._content.type}get to(){return this.from+this.length}get bottom(){return this.top+this.height}get widget(){return this._content instanceof Xt?this._content.widget:null}get widgetLineBreaks(){return typeof this._content=="number"?this._content:0}join(e){let t=(Array.isArray(this._content)?this._content:[this]).concat(Array.isArray(e._content)?e._content:[e]);return new i(this.from,this.length+e.length,this.top,this.height+e.height,t)}},K=function(i){return i[i.ByPos=0]="ByPos",i[i.ByHeight=1]="ByHeight",i[i.ByPosNoHeight=2]="ByPosNoHeight",i}(K||(K={})),ir=.001,Ze=class i{constructor(e,t,n=2){this.length=e,this.height=t,this.flags=n}get outdated(){return(this.flags&2)>0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>ir&&(Pi=!0),this.height=e)}replace(e,t,n){return i.of(n)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,n,r){let s=this,o=n.doc;for(let O=r.length-1;O>=0;O--){let{fromA:a,toA:l,fromB:h,toB:c}=r[O],f=s.lineAt(a,K.ByPosNoHeight,n.setDoc(t),0,0),d=f.to>=l?f:s.lineAt(l,K.ByPosNoHeight,n,0,0);for(c+=d.to-l,l=d.to;O>0&&f.from<=r[O-1].toA;)a=r[O-1].fromA,h=r[O-1].fromB,O--,a<f.from&&(f=s.lineAt(a,K.ByPosNoHeight,n,0,0));h+=f.from-a,a=f.from;let p=to.build(n.setDoc(o),e,h,c);s=ur(s,s.replace(a,l,p))}return s.updateHeight(n,0)}static empty(){return new Ee(0,0)}static of(e){if(e.length==1)return e[0];let t=0,n=e.length,r=0,s=0;for(;;)if(t==n)if(r>s*2){let O=e[t-1];O.break?e.splice(--t,1,O.left,null,O.right):e.splice(--t,1,O.left,O.right),n+=1+O.break,r-=O.size}else if(s>r*2){let O=e[n];O.break?e.splice(n,1,O.left,null,O.right):e.splice(n,1,O.left,O.right),n+=2+O.break,s-=O.size}else break;else if(r<s){let O=e[t++];O&&(r+=O.size)}else{let O=e[--n];O&&(s+=O.size)}let o=0;return e[t-1]==null?(o=1,t--):e[t]==null&&(o=1,n++),new eo(i.of(e.slice(0,t)),o,i.of(e.slice(n)))}};function ur(i,e){return i==e?i:(i.constructor!=e.constructor&&(Pi=!0),e)}Ze.prototype.size=1;var dr=class extends Ze{constructor(e,t,n){super(e,t),this.deco=n}blockAt(e,t,n,r){return new st(r,this.length,n,this.height,this.deco||0)}lineAt(e,t,n,r,s){return this.blockAt(0,n,r,s)}forEachLine(e,t,n,r,s,o){e<=s+this.length&&t>=s&&o(this.blockAt(0,n,r,s))}updateHeight(e,t=0,n=!1,r){return r&&r.from<=t&&r.more&&this.setHeight(r.heights[r.index++]),this.outdated=!1,this}toString(){return`block(${this.length})`}},Ee=class i extends dr{constructor(e,t){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0}blockAt(e,t,n,r){return new st(r,this.length,n,this.height,this.breaks)}replace(e,t,n){let r=n[0];return n.length==1&&(r instanceof i||r instanceof zt&&r.flags&4)&&Math.abs(this.length-r.length)<10?(r instanceof zt?r=new i(r.length,this.height):r.height=this.height,this.outdated||(r.outdated=!1),r):Ze.of(n)}updateHeight(e,t=0,n=!1,r){return r&&r.from<=t&&r.more?this.setHeight(r.heights[r.index++]):(n||this.outdated)&&this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}},zt=class i extends Ze{constructor(e){super(e,0)}heightMetrics(e,t){let n=e.doc.lineAt(t).number,r=e.doc.lineAt(t+this.length).number,s=r-n+1,o,O=0;if(e.lineWrapping){let a=Math.min(this.height,e.lineHeight*s);o=a/s,this.length>s+1&&(O=(this.height-a)/(this.length-s-1))}else o=this.height/s;return{firstLine:n,lastLine:r,perLine:o,perChar:O}}blockAt(e,t,n,r){let{firstLine:s,lastLine:o,perLine:O,perChar:a}=this.heightMetrics(t,r);if(t.lineWrapping){let l=r+(e<t.lineHeight?0:Math.round(Math.max(0,Math.min(1,(e-n)/this.height))*this.length)),h=t.doc.lineAt(l),c=O+h.length*a,f=Math.max(n,e-c/2);return new st(h.from,h.length,f,c,0)}else{let l=Math.max(0,Math.min(o-s,Math.floor((e-n)/O))),{from:h,length:c}=t.doc.line(s+l);return new st(h,c,n+O*l,O,0)}}lineAt(e,t,n,r,s){if(t==K.ByHeight)return this.blockAt(e,n,r,s);if(t==K.ByPosNoHeight){let{from:d,to:p}=n.doc.lineAt(e);return new st(d,p-d,0,0,0)}let{firstLine:o,perLine:O,perChar:a}=this.heightMetrics(n,s),l=n.doc.lineAt(e),h=O+l.length*a,c=l.number-o,f=r+O*c+a*(l.from-s-c);return new st(l.from,l.length,Math.max(r,Math.min(f,r+this.height-h)),h,0)}forEachLine(e,t,n,r,s,o){e=Math.max(e,s),t=Math.min(t,s+this.length);let{firstLine:O,perLine:a,perChar:l}=this.heightMetrics(n,s);for(let h=e,c=r;h<=t;){let f=n.doc.lineAt(h);if(h==e){let p=f.number-O;c+=a*p+l*(e-s-p)}let d=a+l*f.length;o(new st(f.from,f.length,c,d,0)),c+=d,h=f.to+1}}replace(e,t,n){let r=this.length-t;if(r>0){let s=n[n.length-1];s instanceof i?n[n.length-1]=new i(s.length+r):n.push(null,new i(r-1))}if(e>0){let s=n[0];s instanceof i?n[0]=new i(e+s.length):n.unshift(new i(e-1),null)}return Ze.of(n)}decomposeLeft(e,t){t.push(new i(e-1),null)}decomposeRight(e,t){t.push(null,new i(this.length-e-1))}updateHeight(e,t=0,n=!1,r){let s=t+this.length;if(r&&r.from<=t+this.length&&r.more){let o=[],O=Math.max(t,r.from),a=-1;for(r.from>t&&o.push(new i(r.from-t-1).updateHeight(e,t));O<=s&&r.more;){let h=e.doc.lineAt(O).length;o.length&&o.push(null);let c=r.heights[r.index++];a==-1?a=c:Math.abs(c-a)>=ir&&(a=-2);let f=new Ee(h,c);f.outdated=!1,o.push(f),O+=h+1}O<=s&&o.push(null,new i(s-O).updateHeight(e,O));let l=Ze.of(o);return(a<0||Math.abs(l.height-this.height)>=ir||Math.abs(a-this.heightMetrics(e,t).perLine)>=ir)&&(Pi=!0),ur(this,l)}else(n||this.outdated)&&(this.setHeight(e.heightForGap(t,t+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}},eo=class extends Ze{constructor(e,t,n){super(e.length+t+n.length,e.height+n.height,t|(e.outdated||n.outdated?2:0)),this.left=e,this.right=n,this.size=e.size+n.size}get break(){return this.flags&1}blockAt(e,t,n,r){let s=n+this.left.height;return e<s?this.left.blockAt(e,t,n,r):this.right.blockAt(e,t,s,r+this.left.length+this.break)}lineAt(e,t,n,r,s){let o=r+this.left.height,O=s+this.left.length+this.break,a=t==K.ByHeight?e<o:e<O,l=a?this.left.lineAt(e,t,n,r,s):this.right.lineAt(e,t,n,o,O);if(this.break||(a?l.to<O:l.from>O))return l;let h=t==K.ByPosNoHeight?K.ByPosNoHeight:K.ByPos;return a?l.join(this.right.lineAt(O,h,n,o,O)):this.left.lineAt(O,h,n,r,s).join(l)}forEachLine(e,t,n,r,s,o){let O=r+this.left.height,a=s+this.left.length+this.break;if(this.break)e<a&&this.left.forEachLine(e,t,n,r,s,o),t>=a&&this.right.forEachLine(e,t,n,O,a,o);else{let l=this.lineAt(a,K.ByPos,n,r,s);e<l.from&&this.left.forEachLine(e,l.from-1,n,r,s,o),l.to>=e&&l.from<=t&&o(l),t>l.to&&this.right.forEachLine(l.to+1,t,n,O,a,o)}}replace(e,t,n){let r=this.left.length+this.break;if(t<r)return this.balanced(this.left.replace(e,t,n),this.right);if(e>this.left.length)return this.balanced(this.left,this.right.replace(e-r,t-r,n));let s=[];e>0&&this.decomposeLeft(e,s);let o=s.length;for(let O of n)s.push(O);if(e>0&&wl(s,o-1),t<this.length){let O=s.length;this.decomposeRight(t,s),wl(s,O)}return Ze.of(s)}decomposeLeft(e,t){let n=this.left.length;if(e<=n)return this.left.decomposeLeft(e,t);t.push(this.left),this.break&&(n++,e>=n&&t.push(null)),e>n&&this.right.decomposeLeft(e-n,t)}decomposeRight(e,t){let n=this.left.length,r=n+this.break;if(e>=r)return this.right.decomposeRight(e-r,t);e<n&&this.left.decomposeRight(e,t),this.break&&e<r&&t.push(null),t.push(this.right)}balanced(e,t){return e.size>2*t.size||t.size>2*e.size?Ze.of(this.break?[e,null,t]:[e,t]):(this.left=ur(this.left,e),this.right=ur(this.right,t),this.setHeight(e.height+t.height),this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,n=!1,r){let{left:s,right:o}=this,O=t+s.length+this.break,a=null;return r&&r.from<=t+s.length&&r.more?a=s=s.updateHeight(e,t,n,r):s.updateHeight(e,t,n),r&&r.from<=O+o.length&&r.more?a=o=o.updateHeight(e,O,n,r):o.updateHeight(e,O,n),a?this.balanced(s,o):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}};function wl(i,e){let t,n;i[e]==null&&(t=i[e-1])instanceof zt&&(n=i[e+1])instanceof zt&&i.splice(e-1,3,new zt(t.length+1+n.length))}var cm=5,to=class i{constructor(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,t){if(this.lineStart>-1){let n=Math.min(t,this.lineEnd),r=this.nodes[this.nodes.length-1];r instanceof Ee?r.length+=n-this.pos:(n>this.pos||!this.isCovered)&&this.nodes.push(new Ee(n-this.pos,-1)),this.writtenTo=n,t>n&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,n){if(e<t||n.heightRelevant){let r=n.widget?n.widget.estimatedHeight:0,s=n.widget?n.widget.lineBreaks:0;r<0&&(r=this.oracle.lineHeight);let o=t-e;n.block?this.addBlock(new dr(o,r,n)):(o||s||r>=cm)&&this.addLineDeco(r,s,o)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd<this.pos&&(this.lineEnd=this.oracle.doc.lineAt(this.pos).to)}enterLine(){if(this.lineStart>-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenTo<e&&((this.writtenTo<e-1||this.nodes[this.nodes.length-1]==null)&&this.nodes.push(this.blankContent(this.writtenTo,e-1)),this.nodes.push(null)),this.pos>e&&this.nodes.push(new Ee(this.pos-e,-1)),this.writtenTo=this.pos}blankContent(e,t){let n=new zt(t-e);return this.oracle.doc.lineAt(e).to==t&&(n.flags|=4),n}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof Ee)return e;let t=new Ee(0,-1);return this.nodes.push(t),t}addBlock(e){this.enterLine();let t=e.deco;t&&t.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,t&&t.endSide>0&&(this.covering=e)}addLineDeco(e,t,n){let r=this.ensureLine();r.length+=n,r.collapsed+=n,r.widgetHeight=Math.max(r.widgetHeight,e),r.breaks+=t,this.writtenTo=this.pos=this.pos+n}finish(e){let t=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(t instanceof Ee)&&!this.isCovered?this.nodes.push(new Ee(0,-1)):(this.writtenTo<this.pos||t==null)&&this.nodes.push(this.blankContent(this.writtenTo,this.pos));let n=e;for(let r of this.nodes)r instanceof Ee&&r.updateHeight(this.oracle,n),n+=r?r.length:1;return this.nodes}static build(e,t,n,r){let s=new i(n,e);return F.spans(t,n,r,s,0),s.finish(n)}};function fm(i,e,t){let n=new io;return F.compare(i,e,t,n,0),n.changes}var io=class{constructor(){this.changes=[]}compareRange(){}comparePoint(e,t,n,r){(e<t||n&&n.heightRelevant||r&&r.heightRelevant)&&_s(e,t,this.changes,5)}};function um(i,e){let t=i.getBoundingClientRect(),n=i.ownerDocument,r=n.defaultView||window,s=Math.max(0,t.left),o=Math.min(r.innerWidth,t.right),O=Math.max(0,t.top),a=Math.min(r.innerHeight,t.bottom);for(let l=i.parentNode;l&&l!=n.body;)if(l.nodeType==1){let h=l,c=window.getComputedStyle(h);if((h.scrollHeight>h.clientHeight||h.scrollWidth>h.clientWidth)&&c.overflow!="visible"){let f=h.getBoundingClientRect();s=Math.max(s,f.left),o=Math.min(o,f.right),O=Math.max(O,f.top),a=Math.min(l==i.parentNode?r.innerHeight:a,f.bottom)}l=c.position=="absolute"||c.position=="fixed"?h.offsetParent:h.parentNode}else if(l.nodeType==11)l=l.host;else break;return{left:s-t.left,right:Math.max(s,o)-t.left,top:O-(t.top+e),bottom:Math.max(O,a)-(t.top+e)}}function dm(i,e){let t=i.getBoundingClientRect();return{left:0,right:t.right-t.left,top:e,bottom:t.bottom-(t.top+e)}}var Ji=class{constructor(e,t,n,r){this.from=e,this.to=t,this.size=n,this.displaySize=r}static same(e,t){if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++){let r=e[n],s=t[n];if(r.from!=s.from||r.to!=s.to||r.size!=s.size)return!1}return!0}draw(e,t){return j.replace({widget:new no(this.displaySize*(t?e.scaleY:e.scaleX),t)}).range(this.from,this.to)}},no=class extends Wt{constructor(e,t){super(),this.size=e,this.vertical=t}eq(e){return e.size==this.size&&e.vertical==this.vertical}toDOM(){let e=document.createElement("div");return this.vertical?e.style.height=this.size+"px":(e.style.width=this.size+"px",e.style.height="2px",e.style.display="inline-block"),e}get estimatedHeight(){return this.vertical?this.size:-1}},pr=class{constructor(e){this.state=e,this.pixelViewport={left:0,right:window.innerWidth,top:0,bottom:0},this.inView=!0,this.paddingTop=0,this.paddingBottom=0,this.contentDOMWidth=0,this.contentDOMHeight=0,this.editorHeight=0,this.editorWidth=0,this.scrollTop=0,this.scrolledToBottom=!1,this.scaleX=1,this.scaleY=1,this.scrollAnchorPos=0,this.scrollAnchorHeight=-1,this.scaler=Tl,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=J.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let t=e.facet(Po).some(n=>typeof n!="function"&&n.class=="cm-lineWrapping");this.heightOracle=new Ks(t),this.stateDeco=e.facet(an).filter(n=>typeof n!="function"),this.heightMap=Ze.empty().applyChanges(this.stateDeco,Y.empty,this.heightOracle.setDoc(e.doc),[new Ot(0,0,0,e.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=j.set(this.lineGaps.map(n=>n.draw(this,!1))),this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let n=0;n<=1;n++){let r=n?t.head:t.anchor;if(!e.some(({from:s,to:o})=>r>=s&&r<=o)){let{from:s,to:o}=this.lineBlockAt(r);e.push(new Qi(s,o))}}return this.viewports=e.sort((n,r)=>n.from-r.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?Tl:new ro(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(Ii(e,this.scaler))})}update(e,t=null){this.state=e.state;let n=this.stateDeco;this.stateDeco=this.state.facet(an).filter(h=>typeof h!="function");let r=e.changedRanges,s=Ot.extendWithRanges(r,fm(n,this.stateDeco,e?e.changes:ge.empty(this.state.doc.length))),o=this.heightMap.height,O=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollTop);kl(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),s),(this.heightMap.height!=o||Pi)&&(e.flags|=2),O?(this.scrollAnchorPos=e.changes.mapPos(O.from,-1),this.scrollAnchorHeight=O.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=this.heightMap.height);let a=s.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.head<a.from||t.range.head>a.to)||!this.viewportIsAppropriate(a))&&(a=this.getViewport(0,t));let l=a.from!=this.viewport.from||a.to!=this.viewport.to;this.viewport=a,e.flags|=this.updateForViewport(),(l||!e.changes.empty||e.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&e.selectionSet&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(hh)&&(this.mustEnforceCursorAssoc=!0)}measure(e){let t=e.contentDOM,n=window.getComputedStyle(t),r=this.heightOracle,s=n.whiteSpace;this.defaultTextDirection=n.direction=="rtl"?J.RTL:J.LTR;let o=this.heightOracle.mustRefreshForWrapping(s),O=t.getBoundingClientRect(),a=o||this.mustMeasureContent||this.contentDOMHeight!=O.height;this.contentDOMHeight=O.height,this.mustMeasureContent=!1;let l=0,h=0;if(O.width&&O.height){let{scaleX:k,scaleY:y}=Ul(t,O);(k>.005&&Math.abs(this.scaleX-k)>.005||y>.005&&Math.abs(this.scaleY-y)>.005)&&(this.scaleX=k,this.scaleY=y,l|=8,o=a=!0)}let c=(parseInt(n.paddingTop)||0)*this.scaleY,f=(parseInt(n.paddingBottom)||0)*this.scaleY;(this.paddingTop!=c||this.paddingBottom!=f)&&(this.paddingTop=c,this.paddingBottom=f,l|=10),this.editorWidth!=e.scrollDOM.clientWidth&&(r.lineWrapping&&(a=!0),this.editorWidth=e.scrollDOM.clientWidth,l|=8);let d=e.scrollDOM.scrollTop*this.scaleY;this.scrollTop!=d&&(this.scrollAnchorHeight=-1,this.scrollTop=d),this.scrolledToBottom=jl(e.scrollDOM);let p=(this.printing?dm:um)(t,this.paddingTop),m=p.top-this.pixelViewport.top,g=p.bottom-this.pixelViewport.bottom;this.pixelViewport=p;let $=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if($!=this.inView&&(this.inView=$,$&&(a=!0)),!this.inView&&!this.scrollTarget)return 0;let Q=O.width;if((this.contentDOMWidth!=Q||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=O.width,this.editorHeight=e.scrollDOM.clientHeight,l|=8),a){let k=e.docView.measureVisibleLineHeights(this.viewport);if(r.mustRefreshForHeights(k)&&(o=!0),o||r.lineWrapping&&Math.abs(Q-this.contentDOMWidth)>r.charWidth){let{lineHeight:y,charWidth:w,textHeight:T}=e.docView.measureTextSize();o=y>0&&r.refresh(s,y,w,T,Q/w,k),o&&(e.docView.minWidth=0,l|=8)}m>0&&g>0?h=Math.max(m,g):m<0&&g<0&&(h=Math.min(m,g)),kl();for(let y of this.viewports){let w=y.from==this.viewport.from?k:e.docView.measureVisibleLineHeights(y);this.heightMap=(o?Ze.empty().applyChanges(this.stateDeco,Y.empty,this.heightOracle,[new Ot(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(r,0,o,new Js(y.from,w))}Pi&&(l|=2)}let b=!this.viewportIsAppropriate(this.viewport,h)||this.scrollTarget&&(this.scrollTarget.range.head<this.viewport.from||this.scrollTarget.range.head>this.viewport.to);return b&&(l&2&&(l|=this.updateScaler()),this.viewport=this.getViewport(h,this.scrollTarget),l|=this.updateForViewport()),(l&2||b)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(o?[]:this.lineGaps,e)),l|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),l}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let n=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),r=this.heightMap,s=this.heightOracle,{visibleTop:o,visibleBottom:O}=this,a=new Qi(r.lineAt(o-n*1e3,K.ByHeight,s,0,0).from,r.lineAt(O+(1-n)*1e3,K.ByHeight,s,0,0).to);if(t){let{head:l}=t.range;if(l<a.from||l>a.to){let h=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),c=r.lineAt(l,K.ByPos,s,0,0),f;t.y=="center"?f=(c.top+c.bottom)/2-h/2:t.y=="start"||t.y=="nearest"&&l<a.from?f=c.top:f=c.bottom-h,a=new Qi(r.lineAt(f-1e3/2,K.ByHeight,s,0,0).from,r.lineAt(f+h+1e3/2,K.ByHeight,s,0,0).to)}}return a}mapViewport(e,t){let n=t.mapPos(e.from,-1),r=t.mapPos(e.to,1);return new Qi(this.heightMap.lineAt(n,K.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(r,K.ByPos,this.heightOracle,0,0).to)}viewportIsAppropriate({from:e,to:t},n=0){if(!this.inView)return!0;let{top:r}=this.heightMap.lineAt(e,K.ByPos,this.heightOracle,0,0),{bottom:s}=this.heightMap.lineAt(t,K.ByPos,this.heightOracle,0,0),{visibleTop:o,visibleBottom:O}=this;return(e==0||r<=o-Math.max(10,Math.min(-n,250)))&&(t==this.state.doc.length||s>=O+Math.max(10,Math.min(n,250)))&&r>o-2*1e3&&s<O+2*1e3}mapLineGaps(e,t){if(!e.length||t.empty)return e;let n=[];for(let r of e)t.touchesRange(r.from,r.to)||n.push(new Ji(t.mapPos(r.from),t.mapPos(r.to),r.size,r.displaySize));return n}ensureLineGaps(e,t){let n=this.heightOracle.lineWrapping,r=n?1e4:2e3,s=r>>1,o=r<<1;if(this.defaultTextDirection!=J.LTR&&!n)return[];let O=[],a=(h,c,f,d)=>{if(c-h<s)return;let p=this.state.selection.main,m=[p.from];p.empty||m.push(p.to);for(let $ of m)if($>h&&$<c){a(h,$-10,f,d),a($+10,c,f,d);return}let g=mm(e,$=>$.from>=f.from&&$.to<=f.to&&Math.abs($.from-h)<s&&Math.abs($.to-c)<s&&!m.some(Q=>$.from<Q&&$.to>Q));if(!g){if(c<f.to&&t&&n&&t.visibleRanges.some(b=>b.from<=c&&b.to>=c)){let b=t.moveToLineBoundary(S.cursor(c),!1,!0).head;b>h&&(c=b)}let $=this.gapSize(f,h,c,d),Q=n||$<2e6?$:2e6;g=new Ji(h,c,$,Q)}O.push(g)},l=h=>{if(h.length<o||h.type!=Se.Text)return;let c=pm(h.from,h.to,this.stateDeco);if(c.total<o)return;let f=this.scrollTarget?this.scrollTarget.range.head:null,d,p;if(n){let m=r/this.heightOracle.lineLength*this.heightOracle.lineHeight,g,$;if(f!=null){let Q=Hn(c,f),b=((this.visibleBottom-this.visibleTop)/2+m)/h.height;g=Q-b,$=Q+b}else g=(this.visibleTop-h.top-m)/h.height,$=(this.visibleBottom-h.top+m)/h.height;d=Fn(c,g),p=Fn(c,$)}else{let m=c.total*this.heightOracle.charWidth,g=r*this.heightOracle.charWidth,$=0;if(m>2e6)for(let w of e)w.from>=h.from&&w.from<h.to&&w.size!=w.displaySize&&w.from*this.heightOracle.charWidth+$<this.pixelViewport.left&&($=w.size-w.displaySize);let Q=this.pixelViewport.left+$,b=this.pixelViewport.right+$,k,y;if(f!=null){let w=Hn(c,f),T=((b-Q)/2+g)/m;k=w-T,y=w+T}else k=(Q-g)/m,y=(b+g)/m;d=Fn(c,k),p=Fn(c,y)}d>h.from&&a(h.from,d,h,c),p<h.to&&a(p,h.to,h,c)};for(let h of this.viewportLines)Array.isArray(h.type)?h.type.forEach(l):l(h);return O}gapSize(e,t,n,r){let s=Hn(r,n)-Hn(r,t);return this.heightOracle.lineWrapping?e.height*s:r.total*this.heightOracle.charWidth*s}updateLineGaps(e){Ji.same(e,this.lineGaps)||(this.lineGaps=e,this.lineGapDeco=j.set(e.map(t=>t.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(){let e=this.stateDeco;this.lineGaps.length&&(e=e.concat(this.lineGapDeco));let t=[];F.spans(e,this.viewport.from,this.viewport.to,{span(r,s){t.push({from:r,to:s})},point(){}},20);let n=t.length!=this.visibleRanges.length||this.visibleRanges.some((r,s)=>r.from!=t[s].from||r.to!=t[s].to);return this.visibleRanges=t,n?4:0}lineBlockAt(e){return e>=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||Ii(this.heightMap.lineAt(e,K.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(t=>t.top<=e&&t.bottom>=e)||Ii(this.heightMap.lineAt(this.scaler.fromDOM(e),K.ByHeight,this.heightOracle,0,0),this.scaler)}scrollAnchorAt(e){let t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||this.viewportLines[0].top-e>200?t:this.viewportLines[0]}elementAtHeight(e){return Ii(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}},Qi=class{constructor(e,t){this.from=e,this.to=t}};function pm(i,e,t){let n=[],r=i,s=0;return F.spans(t,i,e,{span(){},point(o,O){o>r&&(n.push({from:r,to:o}),s+=o-r),r=O}},20),r<e&&(n.push({from:r,to:e}),s+=e-r),{total:s,ranges:n}}function Fn({total:i,ranges:e},t){if(t<=0)return e[0].from;if(t>=1)return e[e.length-1].to;let n=Math.floor(i*t);for(let r=0;;r++){let{from:s,to:o}=e[r],O=o-s;if(n<=O)return s+n;n-=O}}function Hn(i,e){let t=0;for(let{from:n,to:r}of i.ranges){if(e<=r){t+=e-n;break}t+=r-n}return t/i.total}function mm(i,e){for(let t of i)if(e(t))return t}var Tl={toDOM(i){return i},fromDOM(i){return i},scale:1,eq(i){return i==this}},ro=class i{constructor(e,t,n){let r=0,s=0,o=0;this.viewports=n.map(({from:O,to:a})=>{let l=t.lineAt(O,K.ByPos,e,0,0).top,h=t.lineAt(a,K.ByPos,e,0,0).bottom;return r+=h-l,{from:O,to:a,top:l,bottom:h,domTop:0,domBottom:0}}),this.scale=(7e6-r)/(t.height-r);for(let O of this.viewports)O.domTop=o+(O.top-s)*this.scale,o=O.domBottom=O.domTop+(O.bottom-O.top),s=O.bottom}toDOM(e){for(let t=0,n=0,r=0;;t++){let s=t<this.viewports.length?this.viewports[t]:null;if(!s||e<s.top)return r+(e-n)*this.scale;if(e<=s.bottom)return s.domTop+(e-s.top);n=s.bottom,r=s.domBottom}}fromDOM(e){for(let t=0,n=0,r=0;;t++){let s=t<this.viewports.length?this.viewports[t]:null;if(!s||e<s.domTop)return n+(e-r)/this.scale;if(e<=s.domBottom)return s.top+(e-s.domTop);n=s.bottom,r=s.domBottom}}eq(e){return e instanceof i?this.scale==e.scale&&this.viewports.length==e.viewports.length&&this.viewports.every((t,n)=>t.from==e.viewports[n].from&&t.to==e.viewports[n].to):!1}};function Ii(i,e){if(e.scale==1)return i;let t=e.toDOM(i.top),n=e.toDOM(i.bottom);return new st(i.from,i.length,t,n-t,Array.isArray(i._content)?i._content.map(r=>Ii(r,e)):i._content)}var Kn=R.define({combine:i=>i.join(" ")}),so=R.define({combine:i=>i.indexOf(!0)>-1}),oo=je.newName(),zh=je.newName(),Rh=je.newName(),Wh={"&light":"."+zh,"&dark":"."+Rh};function Oo(i,e,t){return new je(e,{finish(n){return/&/.test(n)?n.replace(/&\w*/,r=>{if(r=="&")return i;if(!t||!t[r])throw new RangeError(`Unsupported selector: ${r}`);return t[r]}):i+" "+n}})}var gm=Oo("."+oo,{"&":{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:"#ddd"},".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,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="20"><path stroke="%23888" stroke-width="1" fill="none" d="M1 10H196L190 5M190 15L196 10M197 4L197 16"/></svg>')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},Wh),$m={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},Ws=z.ie&&z.ie_version<=11,ao=class{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new qs,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(t=>{for(let n of t)this.queue.push(n);(z.ie&&z.ie_version<=11||z.ios&&e.composing)&&t.some(n=>n.type=="childList"&&n.removedNodes.length||n.type=="characterData"&&n.oldValue.length>n.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&e.constructor.EDIT_CONTEXT!==!1&&!(z.chrome&&z.chrome_version<126)&&(this.editContext=new lo(e),e.state.facet(Tt)&&(e.contentDOM.editContext=this.editContext.editContext)),Ws&&(this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var t;((t=this.view.docView)===null||t===void 0?void 0:t.lastUpdate)<Date.now()-75&&this.onResize()}),this.resizeScroll.observe(e.scrollDOM)),this.addWindowListeners(this.win=e.win),this.start(),typeof IntersectionObserver=="function"&&(this.intersection=new IntersectionObserver(t=>{this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),t.length>0&&t[t.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(t=>{t.length>0&&t[t.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){(e.type=="change"||!e.type)&&!e.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((t,n)=>t!=e[n]))){this.gapIntersection.disconnect();for(let t of e)this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:n}=this,r=this.selectionRange;if(n.state.facet(Tt)?n.root.activeElement!=this.dom:!er(this.dom,r))return;let s=r.anchorNode&&n.docView.nearest(r.anchorNode);if(s&&s.ignoreEvent(e)){t||(this.selectionChanged=!1);return}(z.ie&&z.ie_version<=11||z.android&&z.chrome)&&!n.state.selection.main.empty&&r.focusNode&&Ni(r.focusNode,r.focusOffset,r.anchorNode,r.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=tn(e.root);if(!t)return!1;let n=z.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&Qm(this.view,t)||t;if(!n||this.selectionRange.eq(n))return!1;let r=er(this.dom,n);return r&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime<Date.now()-300&&dp(this.dom,n)?(this.view.inputState.lastFocusTime=0,e.docView.updateSelection(),!1):(this.selectionRange.setRange(n),r&&(this.selectionChanged=!0),!0)}setSelectionRange(e,t){this.selectionRange.set(e.node,e.offset,t.node,t.offset),this.selectionChanged=!1}clearSelectionRange(){this.selectionRange.set(null,0,null,0)}listenForScroll(){this.parentCheck=-1;let e=0,t=null;for(let n=this.dom;n;)if(n.nodeType==1)!t&&e<this.scrollTargets.length&&this.scrollTargets[e]==n?e++:t||(t=this.scrollTargets.slice(0,e)),t&&t.push(n),n=n.assignedSlot||n.parentNode;else if(n.nodeType==11)n=n.host;else break;if(e<this.scrollTargets.length&&!t&&(t=this.scrollTargets.slice(0,e)),t){for(let n of this.scrollTargets)n.removeEventListener("scroll",this.onScroll);for(let n of this.scrollTargets=t)n.addEventListener("scroll",this.onScroll)}}ignore(e){if(!this.active)return e();try{return this.stop(),e()}finally{this.start(),this.clear()}}start(){this.active||(this.observer.observe(this.dom,$m),Ws&&this.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),Ws&&this.dom.removeEventListener("DOMCharacterDataModified",this.onCharData))}clear(){this.processRecords(),this.queue.length=0,this.selectionChanged=!1}delayAndroidKey(e,t){var n;if(!this.delayedAndroidKey){let r=()=>{let s=this.delayedAndroidKey;s&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=s.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&s.force&&yi(this.dom,s.key,s.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(r)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange<Date.now()-50||!!(!((n=this.delayedAndroidKey)===null||n===void 0)&&n.force)})}clearDelayedAndroidKey(){this.win.cancelAnimationFrame(this.flushingAndroidKey),this.delayedAndroidKey=null,this.flushingAndroidKey=-1}flushSoon(){this.delayedFlush<0&&(this.delayedFlush=this.view.win.requestAnimationFrame(()=>{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let t=-1,n=-1,r=!1;for(let s of e){let o=this.readMutation(s);o&&(o.typeOver&&(r=!0),t==-1?{from:t,to:n}=o:(t=Math.min(o.from,t),n=Math.max(o.to,n)))}return{from:t,to:n,typeOver:r}}readChange(){let{from:e,to:t,typeOver:n}=this.processRecords(),r=this.selectionChanged&&er(this.dom,this.selectionRange);if(e<0&&!r)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let s=new Bs(this.view,e,t,n);return this.view.docView.domChanged={newSel:s.newSel?s.newSel.main:null},s}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return this.view.requestMeasure(),!1;let n=this.view.state,r=Sh(this.view,t);return this.view.state==n&&(t.domChanged||t.newSel&&!t.newSel.main.eq(this.view.state.selection.main))&&this.view.update([]),r}readMutation(e){let t=this.view.docView.nearest(e.target);if(!t||t.ignoreMutation(e))return null;if(t.markDirty(e.type=="attributes"),e.type=="attributes"&&(t.flags|=4),e.type=="childList"){let n=vl(t,e.previousSibling||e.target.previousSibling,-1),r=vl(t,e.nextSibling||e.target.nextSibling,1);return{from:n?t.posAfter(n):t.posAtStart,to:r?t.posBefore(r):t.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(Tt)!=e.state.facet(Tt)&&(e.view.contentDOM.editContext=e.state.facet(Tt)?this.editContext.editContext:null))}destroy(){var e,t,n;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(t=this.gapIntersection)===null||t===void 0||t.disconnect(),(n=this.resizeScroll)===null||n===void 0||n.disconnect();for(let r of this.scrollTargets)r.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 vl(i,e,t){for(;e;){let n=H.get(e);if(n&&n.parent==i)return n;let r=e.parentNode;e=r!=i.dom?r:t>0?e.nextSibling:e.previousSibling}return null}function zl(i,e){let t=e.startContainer,n=e.startOffset,r=e.endContainer,s=e.endOffset,o=i.docView.domAtPos(i.state.selection.main.anchor);return Ni(o.node,o.offset,r,s)&&([t,n,r,s]=[r,s,t,n]),{anchorNode:t,anchorOffset:n,focusNode:r,focusOffset:s}}function Qm(i,e){if(e.getComposedRanges){let r=e.getComposedRanges(i.root)[0];if(r)return zl(i,r)}let t=null;function n(r){r.preventDefault(),r.stopImmediatePropagation(),t=r.getTargetRanges()[0]}return i.contentDOM.addEventListener("beforeinput",n,!0),i.dom.ownerDocument.execCommand("indent"),i.contentDOM.removeEventListener("beforeinput",n,!0),t?zl(i,t):null}var lo=class{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let t=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=n=>{let{anchor:r}=e.state.selection.main,s=this.toEditorPos(n.updateRangeStart),o=this.toEditorPos(n.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:n.updateRangeStart,editorBase:s,drifted:!1});let O={from:s,to:o,insert:Y.of(n.text.split(` -`))};if(O.from==this.from&&r<this.from?O.from=r:O.to==this.to&&r>this.to&&(O.to=r),!(O.from==O.to&&!O.insert.length)){if(this.pendingContextChange=O,!e.state.readOnly){let a=this.to-this.from+(O.to-O.from+O.insert.length);xo(e,O,S.single(this.toEditorPos(n.selectionStart,a),this.toEditorPos(n.selectionEnd,a)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state))}},this.handlers.characterboundsupdate=n=>{let r=[],s=null;for(let o=this.toEditorPos(n.rangeStart),O=this.toEditorPos(n.rangeEnd);o<O;o++){let a=e.coordsForChar(o);s=a&&new DOMRect(a.left,a.top,a.right-a.left,a.bottom-a.top)||s||new DOMRect,r.push(s)}t.updateCharacterBounds(n.rangeStart,r)},this.handlers.textformatupdate=n=>{let r=[];for(let s of n.getTextFormats()){let o=s.underlineStyle,O=s.underlineThickness;if(o!="None"&&O!="None"){let a=this.toEditorPos(s.rangeStart),l=this.toEditorPos(s.rangeEnd);if(a<l){let h=`text-decoration: underline ${o=="Dashed"?"dashed ":o=="Squiggle"?"wavy ":""}${O=="Thin"?1:2}px`;r.push(j.mark({attributes:{style:h}}).range(a,l))}}}e.dispatch({effects:fh.of(j.set(r))})},this.handlers.compositionstart=()=>{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:n}=this.composing;this.composing=null,n&&this.reset(e.state)}};for(let n in this.handlers)t.addEventListener(n,this.handlers[n]);this.measureReq={read:n=>{this.editContext.updateControlBounds(n.contentDOM.getBoundingClientRect());let r=tn(n.root);r&&r.rangeCount&&this.editContext.updateSelectionBounds(r.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,n=!1,r=this.pendingContextChange;return e.changes.iterChanges((s,o,O,a,l)=>{if(n)return;let h=l.length-(o-s);if(r&&o>=r.to)if(r.from==s&&r.to==o&&r.insert.eq(l)){r=this.pendingContextChange=null,t+=h,this.to+=h;return}else r=null,this.revertPending(e.state);if(s+=t,o+=t,o<=this.from)this.from+=h,this.to+=h;else if(s<this.to){if(s<this.from||o>this.to||this.to-this.from+l.length>3e4){n=!0;return}this.editContext.updateText(this.toContextPos(s),this.toContextPos(o),l.toString()),this.to+=h}t+=h}),r&&!n&&this.revertPending(e.state),!n}update(e){let t=this.pendingContextChange;this.composing&&(this.composing.drifted||e.transactions.some(n=>!n.isUserEvent("input.type")&&n.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||t)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,n=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),r=this.toContextPos(t.head);(this.editContext.selectionStart!=n||this.editContext.selectionEnd!=r)&&this.editContext.updateSelection(n,r)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to<e.doc.length&&this.to-t<500||this.to-this.from>1e4*3)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let n=this.composing;return n&&n.drifted?n.editorBase+(e-n.contextBase):e+this.from}toContextPos(e){let t=this.composing;return t&&t.drifted?t.contextBase+(e-t.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}},v=class i{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(e={}){var t;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);let{dispatch:n}=e;this.dispatchTransactions=e.dispatchTransactions||n&&(r=>r.forEach(s=>n(s,this)))||(r=>this.update(r)),this.dispatch=this.dispatch.bind(this),this._root=e.root||up(e.parent)||document,this.viewState=new pr(e.state||I.create(e)),e.scrollTo&&e.scrollTo.is(In)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(Gi).map(r=>new Ki(r));for(let r of this.plugins)r.update(this);this.observer=new ao(this),this.inputState=new Ns(this),this.inputState.ensureHandlers(this.plugins),this.docView=new cr(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((t=document.fonts)===null||t===void 0)&&t.ready&&document.fonts.ready.then(()=>this.requestMeasure())}dispatch(...e){let t=e.length==1&&e[0]instanceof ne?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(t,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t=!1,n=!1,r,s=this.state;for(let f of e){if(f.startState!=s)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");s=f.state}if(this.destroyed){this.viewState.state=s;return}let o=this.hasFocus,O=0,a=null;e.some(f=>f.annotation(wh))?(this.inputState.notifiedFocused=o,O=1):o!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=o,a=Th(s,o),a||(O=1));let l=this.observer.delayedAndroidKey,h=null;if(l?(this.observer.clearDelayedAndroidKey(),h=this.observer.readChange(),(h&&!this.state.doc.eq(s.doc)||!this.state.selection.eq(s.selection))&&(h=null)):this.observer.clear(),s.facet(I.phrases)!=this.state.facet(I.phrases))return this.setState(s);r=hr.create(this,s,e),r.flags|=O;let c=this.viewState.scrollTarget;try{this.updateState=2;for(let f of e){if(c&&(c=c.map(f.changes)),f.scrollIntoView){let{main:d}=f.state.selection;c=new Hi(d.empty?d:S.cursor(d.head,d.head>d.anchor?-1:1))}for(let d of f.effects)d.is(In)&&(c=d.value.clip(this.state))}this.viewState.update(r,c),this.bidiCache=mr.update(this.bidiCache,r.changes),r.empty||(this.updatePlugins(r),this.inputState.update(r)),t=this.docView.update(r),this.state.facet(Li)!=this.styleModules&&this.mountStyles(),n=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(t,e.some(f=>f.isUserEvent("select.pointer")))}finally{this.updateState=0}if(r.startState.facet(Kn)!=r.state.facet(Kn)&&(this.viewState.mustMeasureContent=!0),(t||n||c||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),t&&this.docViewUpdate(),!r.empty)for(let f of this.state.facet(Gs))try{f(r)}catch(d){Me(this.state,d,"update listener")}(a||h)&&Promise.resolve().then(()=>{a&&this.state==a.startState&&this.dispatch(a),h&&!Sh(this,h)&&l.force&&yi(this.contentDOM,l.key,l.keyCode)})}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let t=this.hasFocus;try{for(let n of this.plugins)n.destroy(this);this.viewState=new pr(e),this.plugins=e.facet(Gi).map(n=>new Ki(n)),this.pluginMap.clear();for(let n of this.plugins)n.update(this);this.docView.destroy(),this.docView=new cr(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(Gi),n=e.state.facet(Gi);if(t!=n){let r=[];for(let s of n){let o=t.indexOf(s);if(o<0)r.push(new Ki(s));else{let O=this.plugins[o];O.mustUpdate=e,r.push(O)}}for(let s of this.plugins)s.mustUpdate!=e&&s.destroy(this);this.plugins=r,this.pluginMap.clear()}else for(let r of this.plugins)r.mustUpdate=e;for(let r=0;r<this.plugins.length;r++)this.plugins[r].update(this);t!=n&&this.inputState.ensureHandlers(this.plugins)}docViewUpdate(){for(let e of this.plugins){let t=e.value;if(t&&t.docViewUpdate)try{t.docViewUpdate(this)}catch(n){Me(this.state,n,"doc view update listener")}}}measure(e=!0){if(this.destroyed)return;if(this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,n=this.scrollDOM,r=n.scrollTop*this.scaleY,{scrollAnchorPos:s,scrollAnchorHeight:o}=this.viewState;Math.abs(r-this.viewState.scrollTop)>1&&(o=-1),this.viewState.scrollAnchorHeight=-1;try{for(let O=0;;O++){if(o<0)if(jl(n))s=-1,o=this.viewState.heightMap.height;else{let d=this.viewState.scrollAnchorAt(r);s=d.from,o=d.top}this.updateState=1;let a=this.viewState.measure(this);if(!a&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(O>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let l=[];a&4||([this.measureRequests,l]=[l,this.measureRequests]);let h=l.map(d=>{try{return d.read(this)}catch(p){return Me(this.state,p),Rl}}),c=hr.create(this,this.state,[]),f=!1;c.flags|=a,t?t.flags|=a:t=c,this.updateState=2,c.empty||(this.updatePlugins(c),this.inputState.update(c),this.updateAttrs(),f=this.docView.update(c),f&&this.docViewUpdate());for(let d=0;d<l.length;d++)if(h[d]!=Rl)try{let p=l[d];p.write&&p.write(h[d],this)}catch(p){Me(this.state,p)}if(f&&this.docView.updateSelection(!0),!c.viewportChanged&&this.measureRequests.length==0){if(this.viewState.editorHeight)if(this.viewState.scrollTarget){this.docView.scrollIntoView(this.viewState.scrollTarget),this.viewState.scrollTarget=null,o=-1;continue}else{let p=(s<0?this.viewState.heightMap.height:this.viewState.lineBlockAt(s).top)-o;if(p>1||p<-1){r=r+p,n.scrollTop=r/this.scaleY,o=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let O of this.state.facet(Gs))O(t)}get themeClasses(){return oo+" "+(this.state.facet(so)?Rh:zh)+" "+this.state.facet(Kn)}updateAttrs(){let e=Wl(this,uh,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",translate:"no",contenteditable:this.state.facet(Tt)?"true":"false",class:"cm-content",style:`${z.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),Wl(this,Po,t);let n=this.observer.ignore(()=>{let r=As(this.contentDOM,this.contentAttrs,t),s=As(this.dom,this.editorAttrs,e);return r||s});return this.editorAttrs=e,this.contentAttrs=t,n}showAnnouncements(e){let t=!0;for(let n of e)for(let r of n.effects)if(r.is(i.announce)){t&&(this.announceDOM.textContent=""),t=!1;let s=this.announceDOM.appendChild(document.createElement("div"));s.textContent=r.value}}mountStyles(){this.styleModules=this.state.facet(Li);let e=this.state.facet(i.cspNonce);je.mount(this.root,this.styleModules.concat(gm).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let t=0;t<this.measureRequests.length;t++)if(this.measureRequests[t].key===e.key){this.measureRequests[t]=e;return}}this.measureRequests.push(e)}}plugin(e){let t=this.pluginMap.get(e);return(t===void 0||t&&t.spec!=e)&&this.pluginMap.set(e,t=this.plugins.find(n=>n.spec==e)||null),t&&t.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,t,n){return Rs(this,e,dl(this,e,t,n))}moveByGroup(e,t){return Rs(this,e,dl(this,e,t,n=>Mp(this,e.head,n)))}visualLineSide(e,t){let n=this.bidiSpans(e),r=this.textDirectionAt(e.from),s=n[t?n.length-1:0];return S.cursor(s.side(t,r)+e.from,s.forward(!t,r)?1:-1)}moveToLineBoundary(e,t,n=!0){return Ep(this,e,t,n)}moveVertically(e,t,n){return Rs(this,e,Gp(this,e,t,n))}domAtPos(e){return this.docView.domAtPos(e)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){return this.readMeasured(),Qh(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let n=this.docView.coordsAt(e,t);if(!n||n.left==n.right)return n;let r=this.state.doc.lineAt(e),s=this.bidiSpans(r),o=s[ot.find(s,e-r.from,-1,t)];return Qr(n,o.dir==J.LTR==t>0)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(lh)||e<this.viewport.from||e>this.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>Sm)return th(e.length);let t=this.textDirectionAt(e.from),n;for(let s of this.bidiCache)if(s.from==e.from&&s.dir==t&&(s.fresh||eh(s.isolates,n=ll(this,e))))return s.order;n||(n=ll(this,e));let r=wp(e.text,t,n);return this.bidiCache.push(new mr(e.from,e.to,t,n,!0,r)),r}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||z.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{Al(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,t={}){return In.of(new Hi(typeof e=="number"?S.cursor(e):e,t.y,t.x,t.yMargin,t.xMargin))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,n=this.viewState.scrollAnchorAt(e);return In.of(new Hi(S.cursor(n.from),"start","start",n.top-e,t,!0))}setTabFocusMode(e){e==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof e=="boolean"?this.inputState.tabFocusMode=e?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return Ge.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return Ge.define(()=>({}),{eventObservers:e})}static theme(e,t){let n=je.newName(),r=[Kn.of(n),Li.of(Oo(`.${n}`,e))];return t&&t.dark&&r.push(so.of(!0)),r}static baseTheme(e){return nt.lowest(Li.of(Oo("."+oo,e,Wh)))}static findFromDOM(e){var t;let n=e.querySelector(".cm-content"),r=n&&H.get(n)||H.get(e);return((t=r?.rootView)===null||t===void 0?void 0:t.view)||null}};v.styleModule=Li;v.inputHandler=Oh;v.clipboardInputFilter=So;v.clipboardOutputFilter=yo;v.scrollHandler=ch;v.focusChangeEffect=ah;v.perLineTextDirection=lh;v.exceptionSink=oh;v.updateListener=Gs;v.editable=Tt;v.mouseSelectionStyle=sh;v.dragMovesSelection=rh;v.clickAddsSelectionRange=nh;v.decorations=an;v.outerDecorations=dh;v.atomicRanges=bo;v.bidiIsolatedRanges=ph;v.scrollMargins=mh;v.darkTheme=so;v.cspNonce=R.define({combine:i=>i.length?i[0]:""});v.contentAttributes=Po;v.editorAttributes=uh;v.lineWrapping=v.contentAttributes.of({class:"cm-lineWrapping"});v.announce=D.define();var Sm=4096,Rl={},mr=class i{constructor(e,t,n,r,s,o){this.from=e,this.to=t,this.dir=n,this.isolates=r,this.fresh=s,this.order=o}static update(e,t){if(t.empty&&!e.some(s=>s.fresh))return e;let n=[],r=e.length?e[e.length-1].dir:J.LTR;for(let s=Math.max(0,e.length-10);s<e.length;s++){let o=e[s];o.dir==r&&!t.touchesRange(o.from,o.to)&&n.push(new i(t.mapPos(o.from,1),t.mapPos(o.to,-1),o.dir,o.isolates,!1,o.order))}return n}};function Wl(i,e,t){for(let n=i.state.facet(e),r=n.length-1;r>=0;r--){let s=n[r],o=typeof s=="function"?s(i):s;o&&Us(o,t)}return t}var ym=z.mac?"mac":z.windows?"win":z.linux?"linux":"key";function Pm(i,e){let t=i.split(/-(?!$)/),n=t[t.length-1];n=="Space"&&(n=" ");let r,s,o,O;for(let a=0;a<t.length-1;++a){let l=t[a];if(/^(cmd|meta|m)$/i.test(l))O=!0;else if(/^a(lt)?$/i.test(l))r=!0;else if(/^(c|ctrl|control)$/i.test(l))s=!0;else if(/^s(hift)?$/i.test(l))o=!0;else if(/^mod$/i.test(l))e=="mac"?O=!0:s=!0;else throw new Error("Unrecognized modifier name: "+l)}return r&&(n="Alt-"+n),s&&(n="Ctrl-"+n),O&&(n="Meta-"+n),o&&(n="Shift-"+n),n}function Jn(i,e,t){return e.altKey&&(i="Alt-"+i),e.ctrlKey&&(i="Ctrl-"+i),e.metaKey&&(i="Meta-"+i),t!==!1&&e.shiftKey&&(i="Shift-"+i),i}var bm=nt.default(v.domEventHandlers({keydown(i,e){return Tm(xm(e.state),i,e,"editor")}})),ht=R.define({enables:bm}),Xl=new WeakMap;function xm(i){let e=i.facet(ht),t=Xl.get(e);return t||Xl.set(e,t=wm(e.reduce((n,r)=>n.concat(r),[]))),t}var vt=null,km=4e3;function wm(i,e=ym){let t=Object.create(null),n=Object.create(null),r=(o,O)=>{let a=n[o];if(a==null)n[o]=O;else if(a!=O)throw new Error("Key binding "+o+" is used both as a regular binding and as a multi-stroke prefix")},s=(o,O,a,l,h)=>{var c,f;let d=t[o]||(t[o]=Object.create(null)),p=O.split(/ (?!$)/).map($=>Pm($,e));for(let $=1;$<p.length;$++){let Q=p.slice(0,$).join(" ");r(Q,!0),d[Q]||(d[Q]={preventDefault:!0,stopPropagation:!1,run:[b=>{let k=vt={view:b,prefix:Q,scope:o};return setTimeout(()=>{vt==k&&(vt=null)},km),!0}]})}let m=p.join(" ");r(m,!1);let g=d[m]||(d[m]={preventDefault:!1,stopPropagation:!1,run:((f=(c=d._any)===null||c===void 0?void 0:c.run)===null||f===void 0?void 0:f.slice())||[]});a&&g.run.push(a),l&&(g.preventDefault=!0),h&&(g.stopPropagation=!0)};for(let o of i){let O=o.scope?o.scope.split(" "):["editor"];if(o.any)for(let l of O){let h=t[l]||(t[l]=Object.create(null));h._any||(h._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:c}=o;for(let f in h)h[f].run.push(d=>c(d,ho))}let a=o[e]||o.key;if(a)for(let l of O)s(l,a,o.run,o.preventDefault,o.stopPropagation),o.shift&&s(l,"Shift-"+a,o.shift,o.preventDefault,o.stopPropagation)}return t}var ho=null;function Tm(i,e,t,n){ho=e;let r=tl(e),s=ys(r,0),o=Ps(s)==r.length&&r!=" ",O="",a=!1,l=!1,h=!1;vt&&vt.view==t&&vt.scope==n&&(O=vt.prefix+" ",Ph.indexOf(e.keyCode)<0&&(l=!0,vt=null));let c=new Set,f=g=>{if(g){for(let $ of g.run)if(!c.has($)&&(c.add($),$(t)))return g.stopPropagation&&(h=!0),!0;g.preventDefault&&(g.stopPropagation&&(h=!0),l=!0)}return!1},d=i[n],p,m;return d&&(f(d[O+Jn(r,e,!o)])?a=!0:o&&(e.altKey||e.metaKey||e.ctrlKey)&&!(z.windows&&e.ctrlKey&&e.altKey)&&(p=gt[e.keyCode])&&p!=r?(f(d[O+Jn(p,e,!0)])||e.shiftKey&&(m=gi[e.keyCode])!=r&&m!=p&&f(d[O+Jn(m,e,!1)]))&&(a=!0):o&&e.shiftKey&&f(d[O+Jn(r,e,!0)])&&(a=!0),!a&&f(d._any)&&(a=!0)),l&&(a=!0),a&&h&&e.stopPropagation(),ho=null,a}var ln=class i{constructor(e,t,n,r,s){this.className=e,this.left=t,this.top=n,this.width=r,this.height=s}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,t){return t.className!=this.className?!1:(this.adjust(e),!0)}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",this.width!=null&&(e.style.width=this.width+"px"),e.style.height=this.height+"px"}eq(e){return this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height&&this.className==e.className}static forRange(e,t,n){if(n.empty){let r=e.coordsAtPos(n.head,n.assoc||1);if(!r)return[];let s=Xh(e);return[new i(t,r.left-s.left,r.top-s.top,null,r.bottom-r.top)]}else return vm(e,t,n)}};function Xh(i){let e=i.scrollDOM.getBoundingClientRect();return{left:(i.textDirection==J.LTR?e.left:e.right-i.scrollDOM.clientWidth*i.scaleX)-i.scrollDOM.scrollLeft*i.scaleX,top:e.top-i.scrollDOM.scrollTop*i.scaleY}}function Zl(i,e,t,n){let r=i.coordsAtPos(e,t*2);if(!r)return n;let s=i.dom.getBoundingClientRect(),o=(r.top+r.bottom)/2,O=i.posAtCoords({x:s.left+1,y:o}),a=i.posAtCoords({x:s.right-1,y:o});return O==null||a==null?n:{from:Math.max(n.from,Math.min(O,a)),to:Math.min(n.to,Math.max(O,a))}}function vm(i,e,t){if(t.to<=i.viewport.from||t.from>=i.viewport.to)return[];let n=Math.max(t.from,i.viewport.from),r=Math.min(t.to,i.viewport.to),s=i.textDirection==J.LTR,o=i.contentDOM,O=o.getBoundingClientRect(),a=Xh(i),l=o.querySelector(".cm-line"),h=l&&window.getComputedStyle(l),c=O.left+(h?parseInt(h.paddingLeft)+Math.min(0,parseInt(h.textIndent)):0),f=O.right-(h?parseInt(h.paddingRight):0),d=Ds(i,n),p=Ds(i,r),m=d.type==Se.Text?d:null,g=p.type==Se.Text?p:null;if(m&&(i.lineWrapping||d.widgetLineBreaks)&&(m=Zl(i,n,1,m)),g&&(i.lineWrapping||p.widgetLineBreaks)&&(g=Zl(i,r,-1,g)),m&&g&&m.from==g.from&&m.to==g.to)return Q(b(t.from,t.to,m));{let y=m?b(t.from,null,m):k(d,!1),w=g?b(null,t.to,g):k(p,!0),T=[];return(m||d).to<(g||p).from-(m&&g?1:0)||d.widgetLineBreaks>1&&y.bottom+i.defaultLineHeight/2<w.top?T.push($(c,y.bottom,f,w.top)):y.bottom<w.top&&i.elementAtHeight((y.bottom+w.top)/2).type==Se.Text&&(y.bottom=w.top=(y.bottom+w.top)/2),Q(y).concat(T).concat(Q(w))}function $(y,w,T,E){return new ln(e,y-a.left,w-a.top-.01,T-y,E-w+.01)}function Q({top:y,bottom:w,horizontal:T}){let E=[];for(let U=0;U<T.length;U+=2)E.push($(T[U],y,T[U+1],w));return E}function b(y,w,T){let E=1e9,U=-1e9,A=[];function C(M,te,be,xe,We){let Ue=i.coordsAtPos(M,M==T.to?-2:2),se=i.coordsAtPos(be,be==T.from?2:-2);!Ue||!se||(E=Math.min(Ue.top,se.top,E),U=Math.max(Ue.bottom,se.bottom,U),We==J.LTR?A.push(s&&te?c:Ue.left,s&&xe?f:se.right):A.push(!s&&xe?c:se.left,!s&&te?f:Ue.right))}let q=y??T.from,B=w??T.to;for(let M of i.visibleRanges)if(M.to>q&&M.from<B)for(let te=Math.max(M.from,q),be=Math.min(M.to,B);;){let xe=i.state.doc.lineAt(te);for(let We of i.bidiSpans(xe)){let Ue=We.from+xe.from,se=We.to+xe.from;if(Ue>=be)break;se>te&&C(Math.max(Ue,te),y==null&&Ue<=q,Math.min(se,be),w==null&&se>=B,We.dir)}if(te=xe.to+1,te>=be)break}return A.length==0&&C(q,y==null,B,w==null,i.textDirection),{top:E,bottom:U,horizontal:A}}function k(y,w){let T=O.top+(w?y.top:y.bottom);return{top:T,bottom:T,horizontal:[]}}}function zm(i,e){return i.constructor==e.constructor&&i.eq(e)}var co=class{constructor(e,t){this.view=e,this.layer=t,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=e.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),t.above&&this.dom.classList.add("cm-layer-above"),t.class&&this.dom.classList.add(t.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),t.mount&&t.mount(this.dom,e)}update(e){e.startState.facet(nr)!=e.state.facet(nr)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&(this.scale(),e.view.requestMeasure(this.measureReq))}docViewUpdate(e){this.layer.updateOnDocViewUpdate!==!1&&e.requestMeasure(this.measureReq)}setOrder(e){let t=0,n=e.facet(nr);for(;t<n.length&&n[t]!=this.layer;)t++;this.dom.style.zIndex=String((this.layer.above?150:-1)-t)}measure(){return this.layer.markers(this.view)}scale(){let{scaleX:e,scaleY:t}=this.view;(e!=this.scaleX||t!=this.scaleY)&&(this.scaleX=e,this.scaleY=t,this.dom.style.transform=`scale(${1/e}, ${1/t})`)}draw(e){if(e.length!=this.drawn.length||e.some((t,n)=>!zm(t,this.drawn[n]))){let t=this.dom.firstChild,n=0;for(let r of e)r.update&&t&&r.constructor&&this.drawn[n].constructor&&r.update(t,this.drawn[n])?(t=t.nextSibling,n++):this.dom.insertBefore(r.draw(),t);for(;t;){let r=t.nextSibling;t.remove(),t=r}this.drawn=e}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}},nr=R.define();function Zh(i){return[Ge.define(e=>new co(e,i)),nr.of(i)]}var qh=!(z.ios&&z.webkit&&z.webkit_version<534),hn=R.define({combine(i){return wt(i,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(e,t)=>Math.min(e,t),drawRangeCursor:(e,t)=>e||t})}});function Vh(i={}){return[hn.of(i),Rm,Wm,Xm,hh.of(!0)]}function Ch(i){return i.startState.facet(hn)!=i.state.facet(hn)}var Rm=Zh({above:!0,markers(i){let{state:e}=i,t=e.facet(hn),n=[];for(let r of e.selection.ranges){let s=r==e.selection.main;if(r.empty?!s||qh:t.drawRangeCursor){let o=s?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",O=r.empty?r:S.cursor(r.head,r.head>r.anchor?-1:1);for(let a of ln.forRange(i,o,O))n.push(a)}}return n},update(i,e){i.transactions.some(n=>n.selection)&&(e.style.animationName=e.style.animationName=="cm-blink"?"cm-blink2":"cm-blink");let t=Ch(i);return t&&ql(i.state,e),i.docChanged||i.selectionSet||t},mount(i,e){ql(e.state,i)},class:"cm-cursorLayer"});function ql(i,e){e.style.animationDuration=i.facet(hn).cursorBlinkRate+"ms"}var Wm=Zh({above:!1,markers(i){return i.state.selection.ranges.map(e=>e.empty?[]:ln.forRange(i,"cm-selectionBackground",e)).reduce((e,t)=>e.concat(t))},update(i,e){return i.docChanged||i.selectionSet||i.viewportChanged||Ch(i)},class:"cm-selectionLayer"}),fo={".cm-line":{"& ::selection, &::selection":{backgroundColor:"transparent !important"}},".cm-content":{"& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}};qh&&(fo[".cm-line"].caretColor=fo[".cm-content"].caretColor="transparent !important");var Xm=nt.highest(v.theme(fo)),Yh=D.define({map(i,e){return i==null?null:e.mapPos(i)}}),Bi=$e.define({create(){return null},update(i,e){return i!=null&&(i=e.changes.mapPos(i)),e.effects.reduce((t,n)=>n.is(Yh)?n.value:t,i)}}),Zm=Ge.fromClass(class{constructor(i){this.view=i,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(i){var e;let t=i.state.field(Bi);t==null?this.cursor!=null&&((e=this.cursor)===null||e===void 0||e.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(i.startState.field(Bi)!=t||i.docChanged||i.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:i}=this,e=i.state.field(Bi),t=e!=null&&i.coordsAtPos(e);if(!t)return null;let n=i.scrollDOM.getBoundingClientRect();return{left:t.left-n.left+i.scrollDOM.scrollLeft*i.scaleX,top:t.top-n.top+i.scrollDOM.scrollTop*i.scaleY,height:t.bottom-t.top}}drawCursor(i){if(this.cursor){let{scaleX:e,scaleY:t}=this.view;i?(this.cursor.style.left=i.left/e+"px",this.cursor.style.top=i.top/t+"px",this.cursor.style.height=i.height/t+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(i){this.view.state.field(Bi)!=i&&this.view.dispatch({effects:Yh.of(i)})}},{eventObservers:{dragover(i){this.setDropPos(this.view.posAtCoords({x:i.clientX,y:i.clientY}))},dragleave(i){(i.target==this.view.contentDOM||!this.view.contentDOM.contains(i.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function Uh(){return[Bi,Zm]}var AP=/x/.unicode!=null?"gu":"g";function ko(){return Vm}var qm=j.line({class:"cm-activeLine"}),Vm=Ge.fromClass(class{constructor(i){this.decorations=this.getDeco(i)}update(i){(i.docChanged||i.selectionSet)&&(this.decorations=this.getDeco(i.view))}getDeco(i){let e=-1,t=[];for(let n of i.state.selection.ranges){let r=i.lineBlockAt(n.head);r.from>e&&(t.push(qm.range(r.from)),e=r.from)}return j.set(t)}},{decorations:i=>i.decorations});var uo=2e3;function Cm(i,e,t){let n=Math.min(e.line,t.line),r=Math.max(e.line,t.line),s=[];if(e.off>uo||t.off>uo||e.col<0||t.col<0){let o=Math.min(e.off,t.off),O=Math.max(e.off,t.off);for(let a=n;a<=r;a++){let l=i.doc.line(a);l.length<=O&&s.push(S.range(l.from+o,l.to+O))}}else{let o=Math.min(e.col,t.col),O=Math.max(e.col,t.col);for(let a=n;a<=r;a++){let l=i.doc.line(a),h=Gn(l.text,o,i.tabSize,!0);if(h<0)s.push(S.cursor(l.to));else{let c=Gn(l.text,O,i.tabSize);s.push(S.range(l.from+h,l.from+c))}}}return s}function Ym(i,e){let t=i.coordsAtPos(i.viewport.from);return t?Math.round(Math.abs((t.left-e)/i.defaultCharacterWidth)):-1}function Vl(i,e){let t=i.posAtCoords({x:e.clientX,y:e.clientY},!1),n=i.state.doc.lineAt(t),r=t-n.from,s=r>uo?-1:r==n.length?Ym(i,e.clientX):we(n.text,i.state.tabSize,t-n.from);return{line:n.number,col:s,off:r}}function Um(i,e){let t=Vl(i,e),n=i.state.selection;return t?{update(r){if(r.docChanged){let s=r.changes.mapPos(r.startState.doc.line(t.line).from),o=r.state.doc.lineAt(s);t={line:o.number,col:t.col,off:Math.min(t.off,o.length)},n=n.map(r.changes)}},get(r,s,o){let O=Vl(i,r);if(!O)return n;let a=Cm(i.state,t,O);return a.length?o?S.create(a.concat(n.ranges)):S.create(a):n}}:null}function Ah(i){let e=i?.eventFilter||(t=>t.altKey&&t.button==0);return v.mouseSelectionStyle.of((t,n)=>e(n)?Um(t,n):null)}var _P=v.baseTheme({".cm-tooltip":{zIndex:500,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:`${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"}}});var He=class extends Ne{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}};He.prototype.elementClass="";He.prototype.toDOM=void 0;He.prototype.mapMode=ae.TrackBefore;He.prototype.startSide=He.prototype.endSide=-1;He.prototype.point=!0;var rr=R.define(),Am=R.define();var sr=R.define();var po=R.define({combine:i=>i.some(e=>e)});function _m(i){let e=[jm];return i&&i.fixed===!1&&e.push(po.of(!0)),e}var jm=Ge.fromClass(class{constructor(i){this.view=i,this.prevViewport=i.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=i.state.facet(sr).map(e=>new gr(i,e));for(let e of this.gutters)this.dom.appendChild(e.dom);this.fixed=!i.state.facet(po),this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),i.scrollDOM.insertBefore(this.dom,i.contentDOM)}update(i){if(this.updateGutters(i)){let e=this.prevViewport,t=i.view.viewport,n=Math.min(e.to,t.to)-Math.max(e.from,t.from);this.syncGutters(n<(t.to-t.from)*.8)}i.geometryChanged&&(this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px"),this.view.state.facet(po)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":""),this.prevViewport=i.view.viewport}syncGutters(i){let e=this.dom.nextSibling;i&&this.dom.remove();let t=F.iter(this.view.state.facet(rr),this.view.viewport.from),n=[],r=this.gutters.map(s=>new go(s,this.view.viewport,-this.view.documentPadding.top));for(let s of this.view.viewportLineBlocks)if(n.length&&(n=[]),Array.isArray(s.type)){let o=!0;for(let O of s.type)if(O.type==Se.Text&&o){mo(t,n,O.from);for(let a of r)a.line(this.view,O,n);o=!1}else if(O.widget)for(let a of r)a.widget(this.view,O)}else if(s.type==Se.Text){mo(t,n,s.from);for(let o of r)o.line(this.view,s,n)}else if(s.widget)for(let o of r)o.widget(this.view,s);for(let s of r)s.finish();i&&this.view.scrollDOM.insertBefore(this.dom,e)}updateGutters(i){let e=i.startState.facet(sr),t=i.state.facet(sr),n=i.docChanged||i.heightChanged||i.viewportChanged||!F.eq(i.startState.facet(rr),i.state.facet(rr),i.view.viewport.from,i.view.viewport.to);if(e==t)for(let r of this.gutters)r.update(i)&&(n=!0);else{n=!0;let r=[];for(let s of t){let o=e.indexOf(s);o<0?r.push(new gr(this.view,s)):(this.gutters[o].update(i),r.push(this.gutters[o]))}for(let s of this.gutters)s.dom.remove(),r.indexOf(s)<0&&s.destroy();for(let s of r)this.dom.appendChild(s.dom);this.gutters=r}return n}destroy(){for(let i of this.gutters)i.destroy();this.dom.remove()}},{provide:i=>v.scrollMargins.of(e=>{let t=e.plugin(i);return!t||t.gutters.length==0||!t.fixed?null:e.textDirection==J.LTR?{left:t.dom.offsetWidth*e.scaleX}:{right:t.dom.offsetWidth*e.scaleX}})});function Cl(i){return Array.isArray(i)?i:[i]}function mo(i,e,t){for(;i.value&&i.from<=t;)i.from==t&&e.push(i.value),i.next()}var go=class{constructor(e,t,n){this.gutter=e,this.height=n,this.i=0,this.cursor=F.iter(e.markers,t.from)}addElement(e,t,n){let{gutter:r}=this,s=(t.top-this.height)/e.scaleY,o=t.height/e.scaleY;if(this.i==r.elements.length){let O=new $r(e,o,s,n);r.elements.push(O),r.dom.appendChild(O.dom)}else r.elements[this.i].update(e,o,s,n);this.height=t.bottom,this.i++}line(e,t,n){let r=[];mo(this.cursor,r,t.from),n.length&&(r=r.concat(n));let s=this.gutter.config.lineMarker(e,t,r);s&&r.unshift(s);let o=this.gutter;r.length==0&&!o.config.renderEmptyElements||this.addElement(e,t,r)}widget(e,t){let n=this.gutter.config.widgetMarker(e,t.widget,t),r=n?[n]:null;for(let s of e.state.facet(Am)){let o=s(e,t.widget,t);o&&(r||(r=[])).push(o)}r&&this.addElement(e,t,r)}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let t=e.elements.pop();e.dom.removeChild(t.dom),t.destroy()}}},gr=class{constructor(e,t){this.view=e,this.config=t,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let n in t.domEventHandlers)this.dom.addEventListener(n,r=>{let s=r.target,o;if(s!=this.dom&&this.dom.contains(s)){for(;s.parentNode!=this.dom;)s=s.parentNode;let a=s.getBoundingClientRect();o=(a.top+a.bottom)/2}else o=r.clientY;let O=e.lineBlockAtHeight(o-e.documentTop);t.domEventHandlers[n](e,O,r)&&r.preventDefault()});this.markers=Cl(t.markers(e)),t.initialSpacer&&(this.spacer=new $r(e,0,0,[t.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let t=this.markers;if(this.markers=Cl(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let r=this.config.updateSpacer(this.spacer.markers[0],e);r!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[r])}let n=e.view.viewport;return!F.eq(this.markers,t,n.from,n.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(e):!1)}destroy(){for(let e of this.elements)e.destroy()}},$r=class{constructor(e,t,n,r){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,t,n,r)}update(e,t,n,r){this.height!=t&&(this.height=t,this.dom.style.height=t+"px"),this.above!=n&&(this.dom.style.marginTop=(this.above=n)?n+"px":""),Em(this.markers,r)||this.setMarkers(e,r)}setMarkers(e,t){let n="cm-gutterElement",r=this.dom.firstChild;for(let s=0,o=0;;){let O=o,a=s<t.length?t[s++]:null,l=!1;if(a){let h=a.elementClass;h&&(n+=" "+h);for(let c=o;c<this.markers.length;c++)if(this.markers[c].compare(a)){O=c,l=!0;break}}else O=this.markers.length;for(;o<O;){let h=this.markers[o++];if(h.toDOM){h.destroy(r);let c=r.nextSibling;r.remove(),r=c}}if(!a)break;a.toDOM&&(l?r=r.nextSibling:this.dom.insertBefore(a.toDOM(e),r)),l&&o++}this.dom.className=n,this.markers=t}destroy(){this.setMarkers(null,[])}};function Em(i,e){if(i.length!=e.length)return!1;for(let t=0;t<i.length;t++)if(!i[t].compare(e[t]))return!1;return!0}var Mm=R.define(),Gm=R.define(),Si=R.define({combine(i){return wt(i,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(e,t){let n=Object.assign({},e);for(let r in t){let s=n[r],o=t[r];n[r]=s?(O,a,l)=>s(O,a,l)||o(O,a,l):o}return n}})}}),en=class extends He{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}};function Xs(i,e){return i.state.facet(Si).formatNumber(e,i.state)}var Lm=sr.compute([Si],i=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(e){return e.state.facet(Mm)},lineMarker(e,t,n){return n.some(r=>r.toDOM)?null:new en(Xs(e,e.state.doc.lineAt(t.from).number))},widgetMarker:(e,t,n)=>{for(let r of e.state.facet(Gm)){let s=r(e,t,n);if(s)return s}return null},lineMarkerChange:e=>e.startState.facet(Si)!=e.state.facet(Si),initialSpacer(e){return new en(Xs(e,Yl(e.state.doc.lines)))},updateSpacer(e,t){let n=Xs(t.view,Yl(t.view.state.doc.lines));return n==e.number?e:new en(n)},domEventHandlers:i.facet(Si).domEventHandlers}));function _h(i={}){return[Si.of(i),_m(),Lm]}function Yl(i){let e=9;for(;e<i;)e=e*10+9;return e}var Dm=new class extends He{constructor(){super(...arguments),this.elementClass="cm-activeLineGutter"}},Im=rr.compute(["selection"],i=>{let e=[],t=-1;for(let n of i.selection.ranges){let r=i.doc.lineAt(n.head).from;r>t&&(t=r,e.push(Dm.range(r)))}return F.of(e)});function wo(){return Im}async function jh(i){if(window.isSecureContext&&navigator.clipboard){await navigator.clipboard.writeText(i);return}let e=document.createElement("textarea");e.setAttribute("style","position: absolute; left: -1000px; top: -1000px;"),e.value=i,document.body.appendChild(e),e.select(),document.execCommand("copy"),document.body.removeChild(e)}var Bm=0,ve=class{constructor(e,t){this.from=e,this.to=t}},Z=class{constructor(e={}){this.id=Bm++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")})}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=ie.match(e)),t=>{let n=e(t);return n===void 0?null:[this,n]}}};Z.closedBy=new Z({deserialize:i=>i.split(" ")});Z.openedBy=new Z({deserialize:i=>i.split(" ")});Z.group=new Z({deserialize:i=>i.split(" ")});Z.isolate=new Z({deserialize:i=>{if(i&&i!="rtl"&&i!="ltr"&&i!="auto")throw new RangeError("Invalid value for isolate: "+i);return i||"auto"}});Z.contextHash=new Z({perNode:!0});Z.lookAhead=new Z({perNode:!0});Z.mounted=new Z({perNode:!0});var ti=class{constructor(e,t,n){this.tree=e,this.overlay=t,this.parser=n}static get(e){return e&&e.props&&e.props[Z.mounted.id]}},Nm=Object.create(null),ie=class i{constructor(e,t,n,r=0){this.name=e,this.props=t,this.id=n,this.flags=r}static define(e){let t=e.props&&e.props.length?Object.create(null):Nm,n=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),r=new i(e.name||"",t,e.id,n);if(e.props){for(let s of e.props)if(Array.isArray(s)||(s=s(r)),s){if(s[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[s[0].id]=s[1]}}return r}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let t=this.prop(Z.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let n in e)for(let r of n.split(" "))t[r]=e[n];return n=>{for(let r=n.prop(Z.group),s=-1;s<(r?r.length:0);s++){let o=t[s<0?n.name:r[s]];if(o)return o}}}};ie.none=new ie("",Object.create(null),0,8);var $t=class i{constructor(e){this.types=e;for(let t=0;t<e.length;t++)if(e[t].id!=t)throw new RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...e){let t=[];for(let n of this.types){let r=null;for(let s of e){let o=s(n);o&&(r||(r=Object.assign({},n.props)),r[o[0].id]=o[1])}t.push(r?new ie(n.name,r,n.id,n.flags):n)}return new i(t)}},Pr=new WeakMap,Eh=new WeakMap,G;(function(i){i[i.ExcludeBuffers=1]="ExcludeBuffers",i[i.IncludeAnonymous=2]="IncludeAnonymous",i[i.IgnoreMounts=4]="IgnoreMounts",i[i.IgnoreOverlays=8]="IgnoreOverlays"})(G||(G={}));var V=class i{constructor(e,t,n,r,s){if(this.type=e,this.children=t,this.positions=n,this.length=r,this.props=null,s&&s.length){this.props=Object.create(null);for(let[o,O]of s)this.props[typeof o=="number"?o:o.id]=O}}toString(){let e=ti.get(this);if(e&&!e.overlay)return e.tree.toString();let t="";for(let n of this.children){let r=n.toString();r&&(t&&(t+=","),t+=r)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(t.length?"("+t+")":""):t}cursor(e=0){return new bi(this.topNode,e)}cursorAt(e,t=0,n=0){let r=Pr.get(this)||this.topNode,s=new bi(r);return s.moveTo(e,t),Pr.set(this,s._tree),s}get topNode(){return new ze(this,0,0,null)}resolve(e,t=0){let n=cn(Pr.get(this)||this.topNode,e,t,!1);return Pr.set(this,n),n}resolveInner(e,t=0){let n=cn(Eh.get(this)||this.topNode,e,t,!0);return Eh.set(this,n),n}resolveStack(e,t=0){return Fm(this,e,t)}iterate(e){let{enter:t,leave:n,from:r=0,to:s=this.length}=e,o=e.mode||0,O=(o&G.IncludeAnonymous)>0;for(let a=this.cursor(o|G.IncludeAnonymous);;){let l=!1;if(a.from<=s&&a.to>=r&&(!O&&a.type.isAnonymous||t(a)!==!1)){if(a.firstChild())continue;l=!0}for(;l&&n&&(O||!a.type.isAnonymous)&&n(a),!a.nextSibling();){if(!a.parent())return;l=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:Yo(ie.none,this.children,this.positions,0,this.children.length,0,this.length,(t,n,r)=>new i(this.type,t,n,r,this.propValues),e.makeTree||((t,n,r)=>new i(ie.none,t,n,r)))}static build(e){return Hm(e)}};V.empty=new V(ie.none,[],[],0);var To=class i{constructor(e,t){this.buffer=e,this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new i(this.buffer,this.index)}},qt=class i{constructor(e,t,n){this.buffer=e,this.length=t,this.set=n}get type(){return ie.none}toString(){let e=[];for(let t=0;t<this.buffer.length;)e.push(this.childString(t)),t=this.buffer[t+3];return e.join(",")}childString(e){let t=this.buffer[e],n=this.buffer[e+3],r=this.set.types[t],s=r.name;if(/\W/.test(s)&&!r.isError&&(s=JSON.stringify(s)),e+=4,n==e)return s;let o=[];for(;e<n;)o.push(this.childString(e)),e=this.buffer[e+3];return s+"("+o.join(",")+")"}findChild(e,t,n,r,s){let{buffer:o}=this,O=-1;for(let a=e;a!=t&&!(Nh(s,r,o[a+1],o[a+2])&&(O=a,n>0));a=o[a+3]);return O}slice(e,t,n){let r=this.buffer,s=new Uint16Array(t-e),o=0;for(let O=e,a=0;O<t;){s[a++]=r[O++],s[a++]=r[O++]-n;let l=s[a++]=r[O++]-n;s[a++]=r[O++]-e,o=Math.max(o,l)}return new i(s,o,this.set)}};function Nh(i,e,t,n){switch(i){case-2:return t<e;case-1:return n>=e&&t<e;case 0:return t<e&&n>e;case 1:return t<=e&&n>e;case 2:return n>e;case 4:return!0}}function cn(i,e,t,n){for(var r;i.from==i.to||(t<1?i.from>=e:i.from>e)||(t>-1?i.to<=e:i.to<e);){let o=!n&&i instanceof ze&&i.index<0?null:i.parent;if(!o)return i;i=o}let s=n?0:G.IgnoreOverlays;if(n)for(let o=i,O=o.parent;O;o=O,O=o.parent)o instanceof ze&&o.index<0&&((r=O.enter(e,t,s))===null||r===void 0?void 0:r.from)!=o.from&&(i=O);for(;;){let o=i.enter(e,t,s);if(!o)return i;i=o}}var xr=class{cursor(e=0){return new bi(this,e)}getChild(e,t=null,n=null){let r=Mh(this,e,t,n);return r.length?r[0]:null}getChildren(e,t=null,n=null){return Mh(this,e,t,n)}resolve(e,t=0){return cn(this,e,t,!1)}resolveInner(e,t=0){return cn(this,e,t,!0)}matchContext(e){return vo(this,e)}enterUnfinishedNodesBefore(e){let t=this.childBefore(e),n=this;for(;t;){let r=t.lastChild;if(!r||r.to!=t.to)break;r.type.isError&&r.from==r.to?(n=t,t=r.prevSibling):t=r}return n}get node(){return this}get next(){return this.parent}},ze=class i extends xr{constructor(e,t,n,r){super(),this._tree=e,this.from=t,this.index=n,this._parent=r}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(e,t,n,r,s=0){for(let o=this;;){for(let{children:O,positions:a}=o._tree,l=t>0?O.length:-1;e!=l;e+=t){let h=O[e],c=a[e]+o.from;if(Nh(r,n,c,c+h.length)){if(h instanceof qt){if(s&G.ExcludeBuffers)continue;let f=h.findChild(0,h.buffer.length,t,n-c,r);if(f>-1)return new ii(new zo(o,h,e,c),null,f)}else if(s&G.IncludeAnonymous||!h.type.isAnonymous||Co(h)){let f;if(!(s&G.IgnoreMounts)&&(f=ti.get(h))&&!f.overlay)return new i(f.tree,c,e,o);let d=new i(h,c,e,o);return s&G.IncludeAnonymous||!d.type.isAnonymous?d:d.nextChild(t<0?h.children.length-1:0,t,n,r)}}}if(s&G.IncludeAnonymous||!o.type.isAnonymous||(o.index>=0?e=o.index+t:e=t<0?-1:o._parent._tree.children.length,o=o._parent,!o))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}enter(e,t,n=0){let r;if(!(n&G.IgnoreOverlays)&&(r=ti.get(this._tree))&&r.overlay){let s=e-this.from;for(let{from:o,to:O}of r.overlay)if((t>0?o<=s:o<s)&&(t<0?O>=s:O>s))return new i(r.tree,r.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,n)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}};function Mh(i,e,t,n){let r=i.cursor(),s=[];if(!r.firstChild())return s;if(t!=null){for(let o=!1;!o;)if(o=r.type.is(t),!r.nextSibling())return s}for(;;){if(n!=null&&r.type.is(n))return s;if(r.type.is(e)&&s.push(r.node),!r.nextSibling())return n==null?s:[]}}function vo(i,e,t=e.length-1){for(let n=i.parent;t>=0;n=n.parent){if(!n)return!1;if(!n.type.isAnonymous){if(e[t]&&e[t]!=n.name)return!1;t--}}return!0}var zo=class{constructor(e,t,n,r){this.parent=e,this.buffer=t,this.index=n,this.start=r}},ii=class i extends xr{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,n){super(),this.context=e,this._parent=t,this.index=n,this.type=e.buffer.set.types[e.buffer.buffer[n]]}child(e,t,n){let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.context.start,n);return s<0?null:new i(this.context,this,s)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}enter(e,t,n=0){if(n&G.ExcludeBuffers)return null;let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return s<0?null:new i(this.context,this,s)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new i(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new i(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:n}=this.context,r=this.index+4,s=n.buffer[this.index+3];if(s>r){let o=n.buffer[this.index+1];e.push(n.slice(r,s,o)),t.push(0)}return new V(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}};function Fh(i){if(!i.length)return null;let e=0,t=i[0];for(let s=1;s<i.length;s++){let o=i[s];(o.from>t.from||o.to<t.to)&&(t=o,e=s)}let n=t instanceof ze&&t.index<0?null:t.parent,r=i.slice();return n?r[e]=n:r.splice(e,1),new Ro(r,t)}var Ro=class{constructor(e,t){this.heads=e,this.node=t}get next(){return Fh(this.heads)}};function Fm(i,e,t){let n=i.resolveInner(e,t),r=null;for(let s=n instanceof ze?n:n.context.parent;s;s=s.parent)if(s.index<0){let o=s.parent;(r||(r=[n])).push(o.resolve(e,t)),s=o}else{let o=ti.get(s.tree);if(o&&o.overlay&&o.overlay[0].from<=e&&o.overlay[o.overlay.length-1].to>=e){let O=new ze(o.tree,o.overlay[0].from+s.from,-1,s);(r||(r=[n])).push(cn(O,e,t,!1))}}return r?Fh(r):n}var bi=class{get name(){return this.type.name}constructor(e,t=0){if(this.mode=t,this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,e instanceof ze)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let n=e._parent;n;n=n._parent)this.stack.unshift(n.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,t){this.index=e;let{start:n,buffer:r}=this.buffer;return this.type=t||r.set.types[r.buffer[e]],this.from=n+r.buffer[e+1],this.to=n+r.buffer[e+2],!0}yield(e){return e?e instanceof ze?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,n){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,n,this.mode));let{buffer:r}=this.buffer,s=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.buffer.start,n);return s<0?!1:(this.stack.push(this.index),this.yieldBuf(s))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,n=this.mode){return this.buffer?n&G.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,n))}parent(){if(!this.buffer)return this.yieldNode(this.mode&G.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&G.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:t}=this.buffer,n=this.stack.length-1;if(e<0){let r=n<0?0:this.stack[n]+4;if(this.index!=r)return this.yieldBuf(t.findChild(r,this.index,-1,0,4))}else{let r=t.buffer[this.index+3];if(r<(n<0?t.buffer.length:t.buffer[this.stack[n]+3]))return this.yieldBuf(r)}return n<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,n,{buffer:r}=this;if(r){if(e>0){if(this.index<r.buffer.buffer.length)return!1}else for(let s=0;s<this.index;s++)if(r.buffer.buffer[s+3]<this.index)return!1;({index:t,parent:n}=r)}else({index:t,_parent:n}=this._tree);for(;n;{index:t,_parent:n}=n)if(t>-1)for(let s=t+e,o=e<0?-1:n._tree.children.length;s!=o;s+=e){let O=n._tree.children[s];if(this.mode&G.IncludeAnonymous||O instanceof qt||!O.type.isAnonymous||Co(O))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to<e))&&this.parent(););for(;this.enterChild(1,e,t););return this}get node(){if(!this.buffer)return this._tree;let e=this.bufferNode,t=null,n=0;if(e&&e.context==this.buffer)e:for(let r=this.index,s=this.stack.length;s>=0;){for(let o=e;o;o=o._parent)if(o.index==r){if(r==this.index)return o;t=o,n=s+1;break e}r=this.stack[--s]}for(let r=n;r<this.stack.length;r++)t=new ii(this.buffer,t,this.stack[r]);return this.bufferNode=new ii(this.buffer,t,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(e,t){for(let n=0;;){let r=!1;if(this.type.isAnonymous||e(this)!==!1){if(this.firstChild()){n++;continue}this.type.isAnonymous||(r=!0)}for(;r&&t&&t(this),r=this.type.isAnonymous,!this.nextSibling();){if(!n)return;this.parent(),n--,r=!0}}}matchContext(e){if(!this.buffer)return vo(this.node,e);let{buffer:t}=this.buffer,{types:n}=t.set;for(let r=e.length-1,s=this.stack.length-1;r>=0;s--){if(s<0)return vo(this.node,e,r);let o=n[t.buffer[this.stack[s]]];if(!o.isAnonymous){if(e[r]&&e[r]!=o.name)return!1;r--}}return!0}};function Co(i){return i.children.some(e=>e instanceof qt||!e.type.isAnonymous||Co(e))}function Hm(i){var e;let{buffer:t,nodeSet:n,maxBufferLength:r=1024,reused:s=[],minRepeatType:o=n.types.length}=i,O=Array.isArray(t)?new To(t,t.length):t,a=n.types,l=0,h=0;function c(y,w,T,E,U,A){let{id:C,start:q,end:B,size:M}=O,te=h;for(;M<0;)if(O.next(),M==-1){let se=s[C];T.push(se),E.push(q-y);return}else if(M==-3){l=C;return}else if(M==-4){h=C;return}else throw new RangeError(`Unrecognized record size: ${M}`);let be=a[C],xe,We,Ue=q-y;if(B-q<=r&&(We=g(O.pos-w,U))){let se=new Uint16Array(We.size-We.skip),Ae=O.pos-We.size,it=se.length;for(;O.pos>Ae;)it=$(We.start,se,it);xe=new qt(se,B-We.start,n),Ue=We.start-y}else{let se=O.pos-M;O.next();let Ae=[],it=[],Lt=C>=o?C:-1,ci=0,qn=B;for(;O.pos>se;)Lt>=0&&O.id==Lt&&O.size>=0?(O.end<=qn-r&&(p(Ae,it,q,ci,O.end,qn,Lt,te),ci=Ae.length,qn=O.end),O.next()):A>2500?f(q,se,Ae,it):c(q,se,Ae,it,Lt,A+1);if(Lt>=0&&ci>0&&ci<Ae.length&&p(Ae,it,q,ci,q,qn,Lt,te),Ae.reverse(),it.reverse(),Lt>-1&&ci>0){let Ta=d(be);xe=Yo(be,Ae,it,0,Ae.length,0,B-q,Ta,Ta)}else xe=m(be,Ae,it,B-q,te-B)}T.push(xe),E.push(Ue)}function f(y,w,T,E){let U=[],A=0,C=-1;for(;O.pos>w;){let{id:q,start:B,end:M,size:te}=O;if(te>4)O.next();else{if(C>-1&&B<C)break;C<0&&(C=M-r),U.push(q,B,M),A++,O.next()}}if(A){let q=new Uint16Array(A*4),B=U[U.length-2];for(let M=U.length-3,te=0;M>=0;M-=3)q[te++]=U[M],q[te++]=U[M+1]-B,q[te++]=U[M+2]-B,q[te++]=te;T.push(new qt(q,U[2]-B,n)),E.push(B-y)}}function d(y){return(w,T,E)=>{let U=0,A=w.length-1,C,q;if(A>=0&&(C=w[A])instanceof V){if(!A&&C.type==y&&C.length==E)return C;(q=C.prop(Z.lookAhead))&&(U=T[A]+C.length+q)}return m(y,w,T,E,U)}}function p(y,w,T,E,U,A,C,q){let B=[],M=[];for(;y.length>E;)B.push(y.pop()),M.push(w.pop()+T-U);y.push(m(n.types[C],B,M,A-U,q-A)),w.push(U-T)}function m(y,w,T,E,U=0,A){if(l){let C=[Z.contextHash,l];A=A?[C].concat(A):[C]}if(U>25){let C=[Z.lookAhead,U];A=A?[C].concat(A):[C]}return new V(y,w,T,E,A)}function g(y,w){let T=O.fork(),E=0,U=0,A=0,C=T.end-r,q={size:0,start:0,skip:0};e:for(let B=T.pos-y;T.pos>B;){let M=T.size;if(T.id==w&&M>=0){q.size=E,q.start=U,q.skip=A,A+=4,E+=4,T.next();continue}let te=T.pos-M;if(M<0||te<B||T.start<C)break;let be=T.id>=o?4:0,xe=T.start;for(T.next();T.pos>te;){if(T.size<0)if(T.size==-3)be+=4;else break e;else T.id>=o&&(be+=4);T.next()}U=xe,E+=M,A+=be}return(w<0||E==y)&&(q.size=E,q.start=U,q.skip=A),q.size>4?q:void 0}function $(y,w,T){let{id:E,start:U,end:A,size:C}=O;if(O.next(),C>=0&&E<o){let q=T;if(C>4){let B=O.pos-(C-4);for(;O.pos>B;)T=$(y,w,T)}w[--T]=q,w[--T]=A-y,w[--T]=U-y,w[--T]=E}else C==-3?l=E:C==-4&&(h=E);return T}let Q=[],b=[];for(;O.pos>0;)c(i.start||0,i.bufferStart||0,Q,b,-1,0);let k=(e=i.length)!==null&&e!==void 0?e:Q.length?b[0]+Q[0].length:0;return new V(a[i.topID],Q.reverse(),b.reverse(),k)}var Gh=new WeakMap;function br(i,e){if(!i.isAnonymous||e instanceof qt||e.type!=i)return 1;let t=Gh.get(e);if(t==null){t=1;for(let n of e.children){if(n.type!=i||!(n instanceof V)){t=1;break}t+=br(i,n)}Gh.set(e,t)}return t}function Yo(i,e,t,n,r,s,o,O,a){let l=0;for(let p=n;p<r;p++)l+=br(i,e[p]);let h=Math.ceil(l*1.5/8),c=[],f=[];function d(p,m,g,$,Q){for(let b=g;b<$;){let k=b,y=m[b],w=br(i,p[b]);for(b++;b<$;b++){let T=br(i,p[b]);if(w+T>=h)break;w+=T}if(b==k+1){if(w>h){let T=p[k];d(T.children,T.positions,0,T.children.length,m[k]+Q);continue}c.push(p[k])}else{let T=m[b-1]+p[b-1].length-y;c.push(Yo(i,p,m,k,b,y,T,null,a))}f.push(y+Q-s)}}return d(e,t,n,r,0),(O||a)(c,f,o)}var xi=class{constructor(){this.map=new WeakMap}setBuffer(e,t,n){let r=this.map.get(e);r||this.map.set(e,r=new Map),r.set(t,n)}getBuffer(e,t){let n=this.map.get(e);return n&&n.get(t)}set(e,t){e instanceof ii?this.setBuffer(e.context.buffer,e.index,t):e instanceof ze&&this.map.set(e.tree,t)}get(e){return e instanceof ii?this.getBuffer(e.context.buffer,e.index):e instanceof ze?this.map.get(e.tree):void 0}cursorSet(e,t){e.buffer?this.setBuffer(e.buffer.buffer,e.index,t):this.map.set(e.tree,t)}cursorGet(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}},Qt=class i{constructor(e,t,n,r,s=!1,o=!1){this.from=e,this.to=t,this.tree=n,this.offset=r,this.open=(s?1:0)|(o?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,t=[],n=!1){let r=[new i(0,e.length,e,0,!1,n)];for(let s of t)s.to>e.length&&r.push(s);return r}static applyChanges(e,t,n=128){if(!t.length)return e;let r=[],s=1,o=e.length?e[0]:null;for(let O=0,a=0,l=0;;O++){let h=O<t.length?t[O]:null,c=h?h.fromA:1e9;if(c-a>=n)for(;o&&o.from<c;){let f=o;if(a>=f.from||c<=f.to||l){let d=Math.max(f.from,a)-l,p=Math.min(f.to,c)-l;f=d>=p?null:new i(d,p,f.tree,f.offset+l,O>0,!!h)}if(f&&r.push(f),o.to>c)break;o=s<e.length?e[s++]:null}if(!h)break;a=h.toA,l=h.toA-h.toB}return r}},St=class{startParse(e,t,n){return typeof e=="string"&&(e=new Wo(e)),n=n?n.length?n.map(r=>new ve(r.from,r.to)):[new ve(0,0)]:[new ve(0,e.length)],this.createParse(e,t||[],n)}parse(e,t,n){let r=this.startParse(e,t,n);for(;;){let s=r.advance();if(s)return s}}},Wo=class{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}};function ki(i){return(e,t,n,r)=>new qo(e,i,t,n,r)}var kr=class{constructor(e,t,n,r,s){this.parser=e,this.parse=t,this.overlay=n,this.target=r,this.from=s}};function Lh(i){if(!i.length||i.some(e=>e.from>=e.to))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(i))}var Xo=class{constructor(e,t,n,r,s,o,O){this.parser=e,this.predicate=t,this.mounts=n,this.index=r,this.start=s,this.target=o,this.prev=O,this.depth=0,this.ranges=[]}},Zo=new Z({perNode:!0}),qo=class{constructor(e,t,n,r,s){this.nest=t,this.input=n,this.fragments=r,this.ranges=s,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=e}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 r of this.inner)r.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let n=this.baseTree;return this.stoppedAt!=null&&(n=new V(n.type,n.children,n.positions,n.length,n.propValues.concat([[Zo,this.stoppedAt]]))),n}let e=this.inner[this.innerDone],t=e.parse.advance();if(t){this.innerDone++;let n=Object.assign(Object.create(null),e.target.props);n[Z.mounted.id]=new ti(t,e.overlay,e.parser),e.target.props=n}return null}get parsedPos(){if(this.baseParse)return 0;let e=this.input.length;for(let t=this.innerDone;t<this.inner.length;t++)this.inner[t].from<e&&(e=Math.min(e,this.inner[t].parse.parsedPos));return e}stopAt(e){if(this.stoppedAt=e,this.baseParse)this.baseParse.stopAt(e);else for(let t=this.innerDone;t<this.inner.length;t++)this.inner[t].parse.stopAt(e)}startInner(){let e=new Vo(this.fragments),t=null,n=null,r=new bi(new ze(this.baseTree,this.ranges[0].from,0,null),G.IncludeAnonymous|G.IgnoreMounts);e:for(let s,o;;){let O=!0,a;if(this.stoppedAt!=null&&r.from>=this.stoppedAt)O=!1;else if(e.hasNode(r)){if(t){let l=t.mounts.find(h=>h.frag.from<=r.from&&h.frag.to>=r.to&&h.mount.overlay);if(l)for(let h of l.mount.overlay){let c=h.from+l.pos,f=h.to+l.pos;c>=r.from&&f<=r.to&&!t.ranges.some(d=>d.from<f&&d.to>c)&&t.ranges.push({from:c,to:f})}}O=!1}else if(n&&(o=Km(n.ranges,r.from,r.to)))O=o!=2;else if(!r.type.isAnonymous&&(s=this.nest(r,this.input))&&(r.from<r.to||!s.overlay)){r.tree||Jm(r);let l=e.findMounts(r.from,s.parser);if(typeof s.overlay=="function")t=new Xo(s.parser,s.overlay,l,this.inner.length,r.from,r.tree,t);else{let h=Ih(this.ranges,s.overlay||(r.from<r.to?[new ve(r.from,r.to)]:[]));h.length&&Lh(h),(h.length||!s.overlay)&&this.inner.push(new kr(s.parser,h.length?s.parser.startParse(this.input,Bh(l,h),h):s.parser.startParse(""),s.overlay?s.overlay.map(c=>new ve(c.from-r.from,c.to-r.from)):null,r.tree,h.length?h[0].from:r.from)),s.overlay?h.length&&(n={ranges:h,depth:0,prev:n}):O=!1}}else t&&(a=t.predicate(r))&&(a===!0&&(a=new ve(r.from,r.to)),a.from<a.to&&t.ranges.push(a));if(O&&r.firstChild())t&&t.depth++,n&&n.depth++;else for(;!r.nextSibling();){if(!r.parent())break e;if(t&&!--t.depth){let l=Ih(this.ranges,t.ranges);l.length&&(Lh(l),this.inner.splice(t.index,0,new kr(t.parser,t.parser.startParse(this.input,Bh(t.mounts,l),l),t.ranges.map(h=>new ve(h.from-t.start,h.to-t.start)),t.target,l[0].from))),t=t.prev}n&&!--n.depth&&(n=n.prev)}}}};function Km(i,e,t){for(let n of i){if(n.from>=t)break;if(n.to>e)return n.from<=e&&n.to>=t?2:1}return 0}function Dh(i,e,t,n,r,s){if(e<t){let o=i.buffer[e+1];n.push(i.slice(e,t,o)),r.push(o-s)}}function Jm(i){let{node:e}=i,t=[],n=e.context.buffer;do t.push(i.index),i.parent();while(!i.tree);let r=i.tree,s=r.children.indexOf(n),o=r.children[s],O=o.buffer,a=[s];function l(h,c,f,d,p,m){let g=t[m],$=[],Q=[];Dh(o,h,g,$,Q,d);let b=O[g+1],k=O[g+2];a.push($.length);let y=m?l(g+4,O[g+3],o.set.types[O[g]],b,k-b,m-1):e.toTree();return $.push(y),Q.push(b-d),Dh(o,O[g+3],c,$,Q,d),new V(f,$,Q,p)}r.children[s]=l(0,O.length,ie.none,0,o.length,t.length-1);for(let h of a){let c=i.tree.children[h],f=i.tree.positions[h];i.yield(new ze(c,f+i.from,h,i._tree))}}var wr=class{constructor(e,t){this.offset=t,this.done=!1,this.cursor=e.cursor(G.IncludeAnonymous|G.IgnoreMounts)}moveTo(e){let{cursor:t}=this,n=e-this.offset;for(;!this.done&&t.from<n;)t.to>=e&&t.enter(n,1,G.IgnoreOverlays|G.ExcludeBuffers)||t.next(!1)||(this.done=!0)}hasNode(e){if(this.moveTo(e.from),!this.done&&this.cursor.from+this.offset==e.from&&this.cursor.tree)for(let t=this.cursor.tree;;){if(t==e.tree)return!0;if(t.children.length&&t.positions[0]==0&&t.children[0]instanceof V)t=t.children[0];else break}return!1}},Vo=class{constructor(e){var t;if(this.fragments=e,this.curTo=0,this.fragI=0,e.length){let n=this.curFrag=e[0];this.curTo=(t=n.tree.prop(Zo))!==null&&t!==void 0?t:n.to,this.inner=new wr(n.tree,-n.offset)}else this.curFrag=this.inner=null}hasNode(e){for(;this.curFrag&&e.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=e.from&&this.curTo>=e.to&&this.inner.hasNode(e)}nextFrag(){var e;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let t=this.curFrag=this.fragments[this.fragI];this.curTo=(e=t.tree.prop(Zo))!==null&&e!==void 0?e:t.to,this.inner=new wr(t.tree,-t.offset)}}findMounts(e,t){var n;let r=[];if(this.inner){this.inner.cursor.moveTo(e,1);for(let s=this.inner.cursor.node;s;s=s.parent){let o=(n=s.tree)===null||n===void 0?void 0:n.prop(Z.mounted);if(o&&o.parser==t)for(let O=this.fragI;O<this.fragments.length;O++){let a=this.fragments[O];if(a.from>=s.to)break;a.tree==this.curFrag.tree&&r.push({frag:a,pos:s.from-a.offset,mount:o})}}}return r}};function Ih(i,e){let t=null,n=e;for(let r=1,s=0;r<i.length;r++){let o=i[r-1].to,O=i[r].from;for(;s<n.length;s++){let a=n[s];if(a.from>=O)break;a.to<=o||(t||(n=t=e.slice()),a.from<o?(t[s]=new ve(a.from,o),a.to>O&&t.splice(s+1,0,new ve(O,a.to))):a.to>O?t[s--]=new ve(O,a.to):t.splice(s--,1))}}return n}function eg(i,e,t,n){let r=0,s=0,o=!1,O=!1,a=-1e9,l=[];for(;;){let h=r==i.length?1e9:o?i[r].to:i[r].from,c=s==e.length?1e9:O?e[s].to:e[s].from;if(o!=O){let f=Math.max(a,t),d=Math.min(h,c,n);f<d&&l.push(new ve(f,d))}if(a=Math.min(h,c),a==1e9)break;h==a&&(o?(o=!1,r++):o=!0),c==a&&(O?(O=!1,s++):O=!0)}return l}function Bh(i,e){let t=[];for(let{pos:n,mount:r,frag:s}of i){let o=n+(r.overlay?r.overlay[0].from:0),O=o+r.tree.length,a=Math.max(s.from,o),l=Math.min(s.to,O);if(r.overlay){let h=r.overlay.map(f=>new ve(f.from+n,f.to+n)),c=eg(e,h,a,l);for(let f=0,d=a;;f++){let p=f==c.length,m=p?l:c[f].from;if(m>d&&t.push(new Qt(d,m,r.tree,-o,s.from>=d||s.openStart,s.to<=m||s.openEnd)),p)break;d=c[f].to}}else t.push(new Qt(a,l,r.tree,-o,s.from>=o||s.openStart,s.to<=O||s.openEnd))}return t}var tg=0,qe=class i{constructor(e,t,n,r){this.name=e,this.set=t,this.base=n,this.modified=r,this.id=tg++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(e,t){let n=typeof e=="string"?e:"?";if(e instanceof i&&(t=e),t?.base)throw new Error("Can not derive from a modified tag");let r=new i(n,[],null,[]);if(r.set.push(r),t)for(let s of t.set)r.set.push(s);return r}static defineModifier(e){let t=new Rr(e);return n=>n.modified.indexOf(t)>-1?n:Rr.get(n.base||n,n.modified.concat(t).sort((r,s)=>r.id-s.id))}},ig=0,Rr=class i{constructor(e){this.name=e,this.instances=[],this.id=ig++}static get(e,t){if(!t.length)return e;let n=t[0].instances.find(O=>O.base==e&&ng(t,O.modified));if(n)return n;let r=[],s=new qe(e.name,r,e,t);for(let O of t)O.instances.push(s);let o=rg(t);for(let O of e.set)if(!O.modified.length)for(let a of o)r.push(i.get(O,a));return s}};function ng(i,e){return i.length==e.length&&i.every((t,n)=>t==e[n])}function rg(i){let e=[[]];for(let t=0;t<i.length;t++)for(let n=0,r=e.length;n<r;n++)e.push(e[n].concat(i[t]));return e.sort((t,n)=>n.length-t.length)}function oe(i){let e=Object.create(null);for(let t in i){let n=i[t];Array.isArray(n)||(n=[n]);for(let r of t.split(" "))if(r){let s=[],o=2,O=r;for(let c=0;;){if(O=="..."&&c>0&&c+3==r.length){o=1;break}let f=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(O);if(!f)throw new RangeError("Invalid path: "+r);if(s.push(f[0]=="*"?"":f[0][0]=='"'?JSON.parse(f[0]):f[0]),c+=f[0].length,c==r.length)break;let d=r[c++];if(c==r.length&&d=="!"){o=0;break}if(d!="/")throw new RangeError("Invalid path: "+r);O=r.slice(c)}let a=s.length-1,l=s[a];if(!l)throw new RangeError("Invalid path: "+r);let h=new wi(n,o,a>0?s.slice(0,a):null);e[l]=h.sort(e[l])}}return Jh.add(e)}var Jh=new Z,wi=class{constructor(e,t,n,r){this.tags=e,this.mode=t,this.context=n,this.next=r}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth<this.depth?(this.next=e,this):(e.next=this.sort(e.next),e)}get depth(){return this.context?this.context.length:0}};wi.empty=new wi([],2,null);function jo(i,e){let t=Object.create(null);for(let s of i)if(!Array.isArray(s.tag))t[s.tag.id]=s.class;else for(let o of s.tag)t[o.id]=s.class;let{scope:n,all:r=null}=e||{};return{style:s=>{let o=r;for(let O of s)for(let a of O.set){let l=t[a.id];if(l){o=o?o+" "+l:l;break}}return o},scope:n}}function sg(i,e){let t=null;for(let n of i){let r=n.style(e);r&&(t=t?t+" "+r:r)}return t}function ec(i,e,t,n=0,r=i.length){let s=new Ao(n,Array.isArray(e)?e:[e],t);s.highlightRange(i.cursor(),n,r,"",s.highlighters),s.flush(r)}var Ao=class{constructor(e,t,n){this.at=e,this.highlighters=t,this.span=n,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,n,r,s){let{type:o,from:O,to:a}=e;if(O>=n||a<=t)return;o.isTop&&(s=this.highlighters.filter(d=>!d.scope||d.scope(o)));let l=r,h=og(e)||wi.empty,c=sg(s,h.tags);if(c&&(l&&(l+=" "),l+=c,h.mode==1&&(r+=(r?" ":"")+c)),this.startSpan(Math.max(t,O),l),h.opaque)return;let f=e.tree&&e.tree.prop(Z.mounted);if(f&&f.overlay){let d=e.node.enter(f.overlay[0].from+O,1),p=this.highlighters.filter(g=>!g.scope||g.scope(f.tree.type)),m=e.firstChild();for(let g=0,$=O;;g++){let Q=g<f.overlay.length?f.overlay[g]:null,b=Q?Q.from+O:a,k=Math.max(t,$),y=Math.min(n,b);if(k<y&&m)for(;e.from<y&&(this.highlightRange(e,k,y,r,s),this.startSpan(Math.min(y,e.to),l),!(e.to>=b||!e.nextSibling())););if(!Q||b>n)break;$=Q.to+O,$>t&&(this.highlightRange(d.cursor(),Math.max(t,Q.from+O),Math.min(n,$),"",p),this.startSpan(Math.min(n,$),l))}m&&e.parent()}else if(e.firstChild()){f&&(r="");do if(!(e.to<=t)){if(e.from>=n)break;this.highlightRange(e,t,n,r,s),this.startSpan(Math.min(n,e.to),l)}while(e.nextSibling());e.parent()}}};function og(i){let e=i.type.prop(Jh);for(;e&&e.context&&!i.matchContext(e.context);)e=e.next;return e||null}var x=qe.define,Tr=x(),Vt=x(),Hh=x(Vt),Kh=x(Vt),Ct=x(),vr=x(Ct),Uo=x(Ct),ut=x(),ni=x(ut),ct=x(),ft=x(),_o=x(),fn=x(_o),zr=x(),u={comment:Tr,lineComment:x(Tr),blockComment:x(Tr),docComment:x(Tr),name:Vt,variableName:x(Vt),typeName:Hh,tagName:x(Hh),propertyName:Kh,attributeName:x(Kh),className:x(Vt),labelName:x(Vt),namespace:x(Vt),macroName:x(Vt),literal:Ct,string:vr,docString:x(vr),character:x(vr),attributeValue:x(vr),number:Uo,integer:x(Uo),float:x(Uo),bool:x(Ct),regexp:x(Ct),escape:x(Ct),color:x(Ct),url:x(Ct),keyword:ct,self:x(ct),null:x(ct),atom:x(ct),unit:x(ct),modifier:x(ct),operatorKeyword:x(ct),controlKeyword:x(ct),definitionKeyword:x(ct),moduleKeyword:x(ct),operator:ft,derefOperator:x(ft),arithmeticOperator:x(ft),logicOperator:x(ft),bitwiseOperator:x(ft),compareOperator:x(ft),updateOperator:x(ft),definitionOperator:x(ft),typeOperator:x(ft),controlOperator:x(ft),punctuation:_o,separator:x(_o),bracket:fn,angleBracket:x(fn),squareBracket:x(fn),paren:x(fn),brace:x(fn),content:ut,heading:ni,heading1:x(ni),heading2:x(ni),heading3:x(ni),heading4:x(ni),heading5:x(ni),heading6:x(ni),contentSeparator:x(ut),list:x(ut),quote:x(ut),emphasis:x(ut),strong:x(ut),link:x(ut),monospace:x(ut),strikethrough:x(ut),inserted:x(),deleted:x(),changed:x(),invalid:x(),meta:zr,documentMeta:x(zr),annotation:x(zr),processingInstruction:x(zr),definition:qe.defineModifier("definition"),constant:qe.defineModifier("constant"),function:qe.defineModifier("function"),standard:qe.defineModifier("standard"),local:qe.defineModifier("local"),special:qe.defineModifier("special")};for(let i in u){let e=u[i];e instanceof qe&&(e.name=i)}var NP=jo([{tag:u.link,class:"tok-link"},{tag:u.heading,class:"tok-heading"},{tag:u.emphasis,class:"tok-emphasis"},{tag:u.strong,class:"tok-strong"},{tag:u.keyword,class:"tok-keyword"},{tag:u.atom,class:"tok-atom"},{tag:u.bool,class:"tok-bool"},{tag:u.url,class:"tok-url"},{tag:u.labelName,class:"tok-labelName"},{tag:u.inserted,class:"tok-inserted"},{tag:u.deleted,class:"tok-deleted"},{tag:u.literal,class:"tok-literal"},{tag:u.string,class:"tok-string"},{tag:u.number,class:"tok-number"},{tag:[u.regexp,u.escape,u.special(u.string)],class:"tok-string2"},{tag:u.variableName,class:"tok-variableName"},{tag:u.local(u.variableName),class:"tok-variableName tok-local"},{tag:u.definition(u.variableName),class:"tok-variableName tok-definition"},{tag:u.special(u.variableName),class:"tok-variableName2"},{tag:u.definition(u.propertyName),class:"tok-propertyName tok-definition"},{tag:u.typeName,class:"tok-typeName"},{tag:u.namespace,class:"tok-namespace"},{tag:u.className,class:"tok-className"},{tag:u.macroName,class:"tok-macroName"},{tag:u.propertyName,class:"tok-propertyName"},{tag:u.operator,class:"tok-operator"},{tag:u.comment,class:"tok-comment"},{tag:u.meta,class:"tok-meta"},{tag:u.invalid,class:"tok-invalid"},{tag:u.punctuation,class:"tok-punctuation"}]);var Eo,yt=new Z;function vi(i){return R.define({combine:i?e=>e.concat(i):void 0})}var qr=new Z,fe=class{constructor(e,t,n=[],r=""){this.data=e,this.name=r,I.prototype.hasOwnProperty("tree")||Object.defineProperty(I.prototype,"tree",{get(){return L(this)}}),this.parser=t,this.extension=[Ti.of(this),I.languageData.of((s,o,O)=>{let a=tc(s,o,O),l=a.type.prop(yt);if(!l)return[];let h=s.facet(l),c=a.type.prop(qr);if(c){let f=a.resolve(o-a.from,O);for(let d of c)if(d.test(f,s)){let p=s.facet(d.facet);return d.type=="replace"?p:p.concat(h)}}return h})].concat(n)}isActiveAt(e,t,n=-1){return tc(e,t,n).type.prop(yt)==this.data}findRegions(e){let t=e.facet(Ti);if(t?.data==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let n=[],r=(s,o)=>{if(s.prop(yt)==this.data){n.push({from:o,to:o+s.length});return}let O=s.prop(Z.mounted);if(O){if(O.tree.prop(yt)==this.data){if(O.overlay)for(let a of O.overlay)n.push({from:a.from+o,to:a.to+o});else n.push({from:o,to:o+s.length});return}else if(O.overlay){let a=n.length;if(r(O.tree,O.overlay[0].from+o),n.length>a)return}}for(let a=0;a<s.children.length;a++){let l=s.children[a];l instanceof V&&r(l,s.positions[a]+o)}};return r(L(e),0),n}get allowsNesting(){return!0}};fe.setState=D.define();function tc(i,e,t){let n=i.facet(Ti),r=L(i).topNode;if(!n||n.allowsNesting)for(let s=r;s;s=s.enter(e,t,G.ExcludeBuffers))s.type.isTop&&(r=s);return r}var ue=class i extends fe{constructor(e,t,n){super(e,t,[],n),this.parser=t}static define(e){let t=vi(e.languageData);return new i(t,e.parser.configure({props:[yt.add(n=>n.isTop?t:void 0)]}),e.name)}configure(e,t){return new i(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}};function L(i){let e=i.field(fe.state,!1);return e?e.tree:V.empty}var Do=class{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let n=this.cursorPos-this.string.length;return e<n||t>=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-n,t-n)}},un=null,ri=class i{constructor(e,t,n=[],r,s,o,O,a){this.parser=e,this.state=t,this.fragments=n,this.tree=r,this.treeLen=s,this.viewport=o,this.skipped=O,this.scheduleOn=a,this.parse=null,this.tempSkipped=[]}static create(e,t,n){return new i(e,t,[],V.empty,0,n,[],null)}startParse(){return this.parser.startParse(new Do(this.state.doc),this.fragments)}work(e,t){return t!=null&&t>=this.state.doc.length&&(t=void 0),this.tree!=V.empty&&this.isDone(t??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var n;if(typeof e=="number"){let r=Date.now()+e;e=()=>Date.now()>r}for(this.parse||(this.parse=this.startParse()),t!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>t)&&t<this.state.doc.length&&this.parse.stopAt(t);;){let r=this.parse.advance();if(r)if(this.fragments=this.withoutTempSkipped(Qt.addTree(r,this.fragments,this.parse.stoppedAt!=null)),this.treeLen=(n=this.parse.stoppedAt)!==null&&n!==void 0?n:this.state.doc.length,this.tree=r,this.parse=null,this.treeLen<(t??this.state.doc.length))this.parse=this.startParse();else return!0;if(e())return!1}})}takeTree(){let e,t;this.parse&&(e=this.parse.parsedPos)>=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(Qt.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=un;un=this;try{return e()}finally{un=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=ic(e,t.from,t.to);return e}changes(e,t){let{fragments:n,tree:r,treeLen:s,viewport:o,skipped:O}=this;if(this.takeTree(),!e.empty){let a=[];if(e.iterChangedRanges((l,h,c,f)=>a.push({fromA:l,toA:h,fromB:c,toB:f})),n=Qt.applyChanges(n,a),r=V.empty,s=0,o={from:e.mapPos(o.from,-1),to:e.mapPos(o.to,1)},this.skipped.length){O=[];for(let l of this.skipped){let h=e.mapPos(l.from,1),c=e.mapPos(l.to,-1);h<c&&O.push({from:h,to:c})}}}return new i(this.parser,t,n,r,s,o,O,this.scheduleOn)}updateViewport(e){if(this.viewport.from==e.from&&this.viewport.to==e.to)return!1;this.viewport=e;let t=this.skipped.length;for(let n=0;n<this.skipped.length;n++){let{from:r,to:s}=this.skipped[n];r<e.to&&s>e.from&&(this.fragments=ic(this.fragments,r,s),this.skipped.splice(n--,1))}return this.skipped.length>=t?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends St{createParse(t,n,r){let s=r[0].from,o=r[r.length-1].to;return{parsedPos:s,advance(){let a=un;if(a){for(let l of r)a.tempSkipped.push(l);e&&(a.scheduleOn=a.scheduleOn?Promise.all([a.scheduleOn,e]):e)}return this.parsedPos=o,new V(ie.none,[],[],o-s)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&t[0].from==0&&t[0].to>=e}static get(){return un}};function ic(i,e,t){return Qt.applyChanges(i,[{fromA:e,toA:t,fromB:e,toB:t}])}var dn=class i{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),n=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,n)||t.takeTree(),new i(t)}static init(e){let t=Math.min(3e3,e.doc.length),n=ri.create(e.facet(Ti).parser,e,{from:0,to:t});return n.work(20,t)||n.takeTree(),new i(n)}};fe.state=$e.define({create:dn.init,update(i,e){for(let t of e.effects)if(t.is(fe.setState))return t.value;return e.startState.facet(Ti)!=e.state.facet(Ti)?dn.init(e.state):i.apply(e)}});var Oc=i=>{let e=setTimeout(()=>i(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(Oc=i=>{let e=-1,t=setTimeout(()=>{e=requestIdleCallback(i,{timeout:400})},100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});var Mo=typeof navigator<"u"&&(!((Eo=navigator.scheduling)===null||Eo===void 0)&&Eo.isInputPending)?()=>navigator.scheduling.isInputPending():null,Og=Ge.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let t=this.view.state.field(fe.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field(fe.state);(t.tree!=t.context.tree||!t.context.isDone(e.doc.length))&&(this.working=Oc(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEnd<t&&(this.chunkEnd<0||this.view.hasFocus)&&(this.chunkEnd=t+3e4,this.chunkBudget=3e3),this.chunkBudget<=0)return;let{state:n,viewport:{to:r}}=this.view,s=n.field(fe.state);if(s.tree==s.context.tree&&s.context.isDone(r+1e5))return;let o=Date.now()+Math.min(this.chunkBudget,100,e&&!Mo?Math.max(25,e.timeRemaining()-5):1e9),O=s.context.treeLen<r&&n.doc.length>r+1e3,a=s.context.work(()=>Mo&&Mo()||Date.now()>o,r+(O?0:1e5));this.chunkBudget-=Date.now()-t,(a||this.chunkBudget<=0)&&(s.context.takeTree(),this.view.dispatch({effects:fe.setState.of(new dn(s.context))})),this.chunkBudget>0&&!(a&&!O)&&this.scheduleWork(),this.checkAsyncSchedule(s.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(t=>Me(this.view.state,t)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),Ti=R.define({combine(i){return i.length?i[0]:null},enables:i=>[fe.state,Og,v.contentAttributes.compute([i],e=>{let t=e.facet(i);return t&&t.name?{"data-language":t.name}:{}})]}),Oe=class{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}},pn=class i{constructor(e,t,n,r,s,o=void 0){this.name=e,this.alias=t,this.extensions=n,this.filename=r,this.loadFunc=s,this.support=o,this.loading=null}load(){return this.loading||(this.loading=this.loadFunc().then(e=>this.support=e,e=>{throw this.loading=null,e}))}static of(e){let{load:t,support:n}=e;if(!t){if(!n)throw new RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");t=()=>Promise.resolve(n)}return new i(e.name,(e.alias||[]).concat(e.name).map(r=>r.toLowerCase()),e.extensions||[],e.filename,t,n)}static matchFilename(e,t){for(let r of e)if(r.filename&&r.filename.test(t))return r;let n=/\.([^.]+)$/.exec(t);if(n){for(let r of e)if(r.extensions.indexOf(n[1])>-1)return r}return null}static matchLanguageName(e,t,n=!0){t=t.toLowerCase();for(let r of e)if(r.alias.some(s=>s==t))return r;if(n)for(let r of e)for(let s of r.alias){let o=t.indexOf(s);if(o>-1&&(s.length>2||!/\w/.test(t[o-1])&&!/\w/.test(t[o+s.length])))return r}return null}},ag=R.define(),Ut=R.define({combine:i=>{if(!i.length)return" ";let e=i[0];if(!e||/\S/.test(e)||Array.from(e).some(t=>t!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(i[0]));return e}});function Yt(i){let e=i.facet(Ut);return e.charCodeAt(0)==9?i.tabSize*e.length:e.length}function gn(i,e){let t="",n=i.tabSize,r=i.facet(Ut)[0];if(r==" "){for(;e>=n;)t+=" ",e-=n;r=" "}for(let s=0;s<e;s++)t+=r;return t}function Jo(i,e){i instanceof I&&(i=new si(i));for(let n of i.state.facet(ag)){let r=n(i,e);if(r!==void 0)return r}let t=L(i.state);return t.length>=e?lg(i,t,e):null}var si=class{constructor(e,t={}){this.state=e,this.options=t,this.unit=Yt(e)}lineAt(e,t=1){let n=this.state.doc.lineAt(e),{simulateBreak:r,simulateDoubleBreak:s}=this.options;return r!=null&&r>=n.from&&r<=n.to?s&&r==e?{text:"",from:e}:(t<0?r<e:r<=e)?{text:n.text.slice(r-n.from),from:r}:{text:n.text.slice(0,r-n.from),from:n.from}:n}textAfterPos(e,t=1){if(this.options.simulateDoubleBreak&&e==this.options.simulateBreak)return"";let{text:n,from:r}=this.lineAt(e,t);return n.slice(e-r,Math.min(n.length,e+100-r))}column(e,t=1){let{text:n,from:r}=this.lineAt(e,t),s=this.countColumn(n,e-r),o=this.options.overrideIndentation?this.options.overrideIndentation(r):-1;return o>-1&&(s+=o-this.countColumn(n,n.search(/\S|$/))),s}countColumn(e,t=e.length){return we(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:n,from:r}=this.lineAt(e,t),s=this.options.overrideIndentation;if(s){let o=s(r);if(o>-1)return o}return this.countColumn(n,n.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}},de=new Z;function lg(i,e,t){let n=e.resolveStack(t),r=n.node.enterUnfinishedNodesBefore(t);if(r!=n.node){let s=[];for(let o=r;o!=n.node;o=o.parent)s.push(o);for(let o=s.length-1;o>=0;o--)n={node:s[o],next:n}}return ac(n,i,t)}function ac(i,e,t){for(let n=i;n;n=n.next){let r=cg(n.node);if(r)return r(Io.create(e,t,n))}return 0}function hg(i){return i.pos==i.options.simulateBreak&&i.options.simulateDoubleBreak}function cg(i){let e=i.type.prop(de);if(e)return e;let t=i.firstChild,n;if(t&&(n=t.type.prop(Z.closedBy))){let r=i.lastChild,s=r&&n.indexOf(r.name)>-1;return o=>lc(o,!0,1,void 0,s&&!hg(o)?r.from:void 0)}return i.parent==null?fg:null}function fg(){return 0}var Io=class i extends si{constructor(e,t,n){super(e.state,e.options),this.base=e,this.pos=t,this.context=n}get node(){return this.context.node}static create(e,t,n){return new i(e,t,n)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let n=e.resolve(t.from);for(;n.parent&&n.parent.from==n.from;)n=n.parent;if(ug(n,e))break;t=this.state.doc.lineAt(n.from)}return this.lineIndent(t.from)}continue(){return ac(this.context.next,this.base,this.pos)}};function ug(i,e){for(let t=e;t;t=t.parent)if(i==t)return!0;return!1}function dg(i){let e=i.node,t=e.childAfter(e.from),n=e.lastChild;if(!t)return null;let r=i.options.simulateBreak,s=i.state.doc.lineAt(t.from),o=r==null||r<=s.from?s.to:Math.min(s.to,r);for(let O=t.to;;){let a=e.childAfter(O);if(!a||a==n)return null;if(!a.type.isSkipped){if(a.from>=o)return null;let l=/^ */.exec(s.text.slice(t.to-s.from))[0].length;return{from:t.from,to:t.to+l}}O=a.to}}function Vr({closing:i,align:e=!0,units:t=1}){return n=>lc(n,e,t,i)}function lc(i,e,t,n,r){let s=i.textAfter,o=s.match(/^\s*/)[0].length,O=n&&s.slice(o,o+n.length)==n||r==i.pos+o,a=e?dg(i):null;return a?O?i.column(a.from):i.column(a.to):i.baseIndent+(O?0:i.unit*t)}var hc=i=>i.baseIndent;function Ve({except:i,units:e=1}={}){return t=>{let n=i&&i.test(t.textAfter);return t.baseIndent+(n?0:e*t.unit)}}var cc=R.define(),ye=new Z;function At(i){let e=i.firstChild,t=i.lastChild;return e&&e.to<t.from?{from:e.to,to:t.type.isError?i.to:t.from}:null}var Pt=class i{constructor(e,t){this.specs=e;let n;function r(O){let a=je.newName();return(n||(n=Object.create(null)))["."+a]=O,a}let s=typeof t.all=="string"?t.all:t.all?r(t.all):void 0,o=t.scope;this.scope=o instanceof fe?O=>O.prop(yt)==o.data:o?O=>O==o:void 0,this.style=jo(e.map(O=>({tag:O.tag,class:O.class||r(Object.assign({},O,{tag:null}))})),{all:s}).style,this.module=n?new je(n):null,this.themeType=t.themeType}static define(e,t){return new i(e,t||{})}},Bo=R.define(),fc=R.define({combine(i){return i.length?[i[0]]:null}});function Go(i){let e=i.facet(Bo);return e.length?e:i.facet(fc)}function eO(i,e){let t=[pg],n;return i instanceof Pt&&(i.module&&t.push(v.styleModule.of(i.module)),n=i.themeType),e?.fallback?t.push(fc.of(i)):n?t.push(Bo.computeN([v.darkTheme],r=>r.facet(v.darkTheme)==(n=="dark")?[i]:[])):t.push(Bo.of(i)),t}var No=class{constructor(e){this.markCache=Object.create(null),this.tree=L(e.state),this.decorations=this.buildDeco(e,Go(e.state)),this.decoratedTo=e.viewport.to}update(e){let t=L(e.state),n=Go(e.state),r=n!=Go(e.startState),{viewport:s}=e.view,o=e.changes.mapPos(this.decoratedTo,1);t.length<s.to&&!r&&t.type==this.tree.type&&o>=s.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=o):(t!=this.tree||e.viewportChanged||r)&&(this.tree=t,this.decorations=this.buildDeco(e.view,n),this.decoratedTo=s.to)}buildDeco(e,t){if(!t||!this.tree.length)return j.none;let n=new Ft;for(let{from:r,to:s}of e.visibleRanges)ec(this.tree,t,(o,O,a)=>{n.add(o,O,this.markCache[a]||(this.markCache[a]=j.mark({class:a})))},r,s);return n.finish()}},pg=nt.high(Ge.fromClass(No,{decorations:i=>i.decorations})),rb=Pt.define([{tag:u.meta,color:"#404740"},{tag:u.link,textDecoration:"underline"},{tag:u.heading,textDecoration:"underline",fontWeight:"bold"},{tag:u.emphasis,fontStyle:"italic"},{tag:u.strong,fontWeight:"bold"},{tag:u.strikethrough,textDecoration:"line-through"},{tag:u.keyword,color:"#708"},{tag:[u.atom,u.bool,u.url,u.contentSeparator,u.labelName],color:"#219"},{tag:[u.literal,u.inserted],color:"#164"},{tag:[u.string,u.deleted],color:"#a11"},{tag:[u.regexp,u.escape,u.special(u.string)],color:"#e40"},{tag:u.definition(u.variableName),color:"#00f"},{tag:u.local(u.variableName),color:"#30a"},{tag:[u.typeName,u.namespace],color:"#085"},{tag:u.className,color:"#167"},{tag:[u.special(u.variableName),u.macroName],color:"#256"},{tag:u.definition(u.propertyName),color:"#00c"},{tag:u.comment,color:"#940"},{tag:u.invalid,color:"#f00"}]),mg=v.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),uc=1e4,dc="()[]{}",pc=R.define({combine(i){return wt(i,{afterCursor:!0,brackets:dc,maxScanDistance:uc,renderMatch:Qg})}}),gg=j.mark({class:"cm-matchingBracket"}),$g=j.mark({class:"cm-nonmatchingBracket"});function Qg(i){let e=[],t=i.matched?gg:$g;return e.push(t.range(i.start.from,i.start.to)),i.end&&e.push(t.range(i.end.from,i.end.to)),e}var Sg=$e.define({create(){return j.none},update(i,e){if(!e.docChanged&&!e.selection)return i;let t=[],n=e.state.facet(pc);for(let r of e.state.selection.ranges){if(!r.empty)continue;let s=Ke(e.state,r.head,-1,n)||r.head>0&&Ke(e.state,r.head-1,1,n)||n.afterCursor&&(Ke(e.state,r.head,1,n)||r.head<e.state.doc.length&&Ke(e.state,r.head+1,-1,n));s&&(t=t.concat(n.renderMatch(s,e.state)))}return j.set(t,!0)},provide:i=>v.decorations.from(i)}),yg=[Sg,mg];function mc(i={}){return[pc.of(i),yg]}var $n=new Z;function Fo(i,e,t){let n=i.prop(e<0?Z.openedBy:Z.closedBy);if(n)return n;if(i.name.length==1){let r=t.indexOf(i.name);if(r>-1&&r%2==(e<0?1:0))return[t[r+e]]}return null}function Ho(i){let e=i.type.prop($n);return e?e(i.node):i}function Ke(i,e,t,n={}){let r=n.maxScanDistance||uc,s=n.brackets||dc,o=L(i),O=o.resolveInner(e,t);for(let a=O;a;a=a.parent){let l=Fo(a.type,t,s);if(l&&a.from<a.to){let h=Ho(a);if(h&&(t>0?e>=h.from&&e<h.to:e>h.from&&e<=h.to))return Pg(i,e,t,a,h,l,s)}}return bg(i,e,t,o,O.type,r,s)}function Pg(i,e,t,n,r,s,o){let O=n.parent,a={from:r.from,to:r.to},l=0,h=O?.cursor();if(h&&(t<0?h.childBefore(n.from):h.childAfter(n.to)))do if(t<0?h.to<=n.from:h.from>=n.to){if(l==0&&s.indexOf(h.type.name)>-1&&h.from<h.to){let c=Ho(h);return{start:a,end:c?{from:c.from,to:c.to}:void 0,matched:!0}}else if(Fo(h.type,t,o))l++;else if(Fo(h.type,-t,o)){if(l==0){let c=Ho(h);return{start:a,end:c&&c.from<c.to?{from:c.from,to:c.to}:void 0,matched:!1}}l--}}while(t<0?h.prevSibling():h.nextSibling());return{start:a,matched:!1}}function bg(i,e,t,n,r,s,o){let O=t<0?i.sliceDoc(e-1,e):i.sliceDoc(e,e+1),a=o.indexOf(O);if(a<0||a%2==0!=t>0)return null;let l={from:t<0?e-1:e,to:t>0?e+1:e},h=i.doc.iterRange(e,t>0?i.doc.length:0),c=0;for(let f=0;!h.next().done&&f<=s;){let d=h.value;t<0&&(f+=d.length);let p=e+f*t;for(let m=t>0?0:d.length-1,g=t>0?d.length:-1;m!=g;m+=t){let $=o.indexOf(d[m]);if(!($<0||n.resolveInner(p+m,1).type!=r))if($%2==0==t>0)c++;else{if(c==1)return{start:l,end:{from:p+m,to:p+m+1},matched:$>>1==a>>1};c--}}t>0&&(f+=d.length)}return h.done?{start:l,matched:!1}:null}function nc(i,e,t,n=0,r=0){e==null&&(e=i.search(/[^\s\u00a0]/),e==-1&&(e=i.length));let s=r;for(let o=n;o<e;o++)i.charCodeAt(o)==9?s+=t-s%t:s++;return s}var Wr=class{constructor(e,t,n,r){this.string=e,this.tabSize=t,this.indentUnit=n,this.overrideIndent=r,this.pos=0,this.start=0,this.lastColumnPos=0,this.lastColumnValue=0}eol(){return this.pos>=this.string.length}sol(){return this.pos==0}peek(){return this.string.charAt(this.pos)||void 0}next(){if(this.pos<this.string.length)return this.string.charAt(this.pos++)}eat(e){let t=this.string.charAt(this.pos),n;if(typeof e=="string"?n=t==e:n=t&&(e instanceof RegExp?e.test(t):e(t)),n)return++this.pos,t}eatWhile(e){let t=this.pos;for(;this.eat(e););return this.pos>t}eatSpace(){let e=this.pos;for(;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e}skipToEnd(){this.pos=this.string.length}skipTo(e){let t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0}backUp(e){this.pos-=e}column(){return this.lastColumnPos<this.start&&(this.lastColumnValue=nc(this.string,this.start,this.tabSize,this.lastColumnPos,this.lastColumnValue),this.lastColumnPos=this.start),this.lastColumnValue}indentation(){var e;return(e=this.overrideIndent)!==null&&e!==void 0?e:nc(this.string,null,this.tabSize)}match(e,t,n){if(typeof e=="string"){let r=o=>n?o.toLowerCase():o,s=this.string.substr(this.pos,e.length);return r(s)==r(e)?(t!==!1&&(this.pos+=e.length),!0):null}else{let r=this.string.slice(this.pos).match(e);return r&&r.index>0?null:(r&&t!==!1&&(this.pos+=r[0].length),r)}}current(){return this.string.slice(this.start,this.pos)}};function xg(i){return{name:i.name||"",token:i.token,blankLine:i.blankLine||(()=>{}),startState:i.startState||(()=>!0),copyState:i.copyState||kg,indent:i.indent||(()=>null),languageData:i.languageData||{},tokenTable:i.tokenTable||iO}}function kg(i){if(typeof i!="object")return i;let e={};for(let t in i){let n=i[t];e[t]=n instanceof Array?n.slice():n}return e}var rc=new WeakMap,Xr=class i extends fe{constructor(e){let t=vi(e.languageData),n=xg(e),r,s=new class extends St{createParse(o,O,a){return new Ko(r,o,O,a)}};super(t,s,[],e.name),this.topNode=zg(t,this),r=this,this.streamParser=n,this.stateAfter=new Z({perNode:!0}),this.tokenTable=e.tokenTable?new Zr(n.tokenTable):vg}static define(e){return new i(e)}getIndent(e){let t,{overrideIndentation:n}=e.options;n&&(t=rc.get(e.state),t!=null&&t<e.pos-1e4&&(t=void 0));let r=tO(this,e.node.tree,0,e.node.from,t??e.pos),s,o;if(r?(o=r.state,s=r.pos+1):(o=this.streamParser.startState(e.unit),s=0),e.pos-s>1e4)return null;for(;s<e.pos;){let a=e.state.doc.lineAt(s),l=Math.min(e.pos,a.to);if(a.length){let h=n?n(a.from):-1,c=new Wr(a.text,e.state.tabSize,e.unit,h<0?void 0:h);for(;c.pos<l-a.from;)$c(this.streamParser.token,c,o)}else this.streamParser.blankLine(o,e.unit);if(l==e.pos)break;s=a.to+1}let O=e.lineAt(e.pos);return n&&t==null&&rc.set(e.state,O.from),this.streamParser.indent(o,/^\s*(.*)/.exec(O.text)[1],e)}get allowsNesting(){return!1}};function tO(i,e,t,n,r){let s=t>=n&&t+e.length<=r&&e.prop(i.stateAfter);if(s)return{state:i.streamParser.copyState(s),pos:t+e.length};for(let o=e.children.length-1;o>=0;o--){let O=e.children[o],a=t+e.positions[o],l=O instanceof V&&a<r&&tO(i,O,a,n,r);if(l)return l}return null}function gc(i,e,t,n,r){if(r&&t<=0&&n>=e.length)return e;!r&&t==0&&e.type==i.topNode&&(r=!0);for(let s=e.children.length-1;s>=0;s--){let o=e.positions[s],O=e.children[s],a;if(o<n&&O instanceof V){if(!(a=gc(i,O,t-o,n-o,r)))break;return r?new V(e.type,e.children.slice(0,s).concat(a),e.positions.slice(0,s+1),o+a.length):a}}return null}function wg(i,e,t,n,r){for(let s of e){let o=s.from+(s.openStart?25:0),O=s.to-(s.openEnd?25:0),a=o<=t&&O>t&&tO(i,s.tree,0-s.offset,t,O),l;if(a&&a.pos<=n&&(l=gc(i,s.tree,t+s.offset,a.pos+s.offset,!1)))return{state:a.state,tree:l}}return{state:i.streamParser.startState(r?Yt(r):4),tree:V.empty}}var Ko=class{constructor(e,t,n,r){this.lang=e,this.input=t,this.fragments=n,this.ranges=r,this.stoppedAt=null,this.chunks=[],this.chunkPos=[],this.chunk=[],this.chunkReused=void 0,this.rangeIndex=0,this.to=r[r.length-1].to;let s=ri.get(),o=r[0].from,{state:O,tree:a}=wg(e,n,o,this.to,s?.state);this.state=O,this.parsedPos=this.chunkStart=o+a.length;for(let l=0;l<a.children.length;l++)this.chunks.push(a.children[l]),this.chunkPos.push(a.positions[l]);s&&this.parsedPos<s.viewport.from-1e5&&r.some(l=>l.from<=s.viewport.from&&l.to>=s.viewport.from)&&(this.state=this.lang.streamParser.startState(Yt(s.state)),s.skipUntilInView(this.parsedPos,s.viewport.from),this.parsedPos=s.viewport.from),this.moveRangeIndex()}advance(){let e=ri.get(),t=this.stoppedAt==null?this.to:Math.min(this.to,this.stoppedAt),n=Math.min(t,this.chunkStart+2048);for(e&&(n=Math.min(n,e.viewport.to));this.parsedPos<n;)this.parseLine(e);return this.chunkStart<this.parsedPos&&this.finishChunk(),this.parsedPos>=t?this.finish():e&&this.parsedPos>=e.viewport.to?(e.skipUntilInView(this.parsedPos,t),this.finish()):null}stopAt(e){this.stoppedAt=e}lineAfter(e){let t=this.input.chunk(e);if(this.input.lineChunks)t==` +var as=[],Wl=[];(()=>{let i="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,t=0;e<i.length;e++)(e%2?Wl:as).push(t=t+i[e])})();function Id(i){if(i<768)return!1;for(let e=0,t=as.length;;){let n=e+t>>1;if(i<as[n])t=n;else if(i>=Wl[n])e=n+1;else return!0;if(e==t)return!1}}function Xl(i){return i>=127462&&i<=127487}var Rl=8205;function ql(i,e,t=!0,n=!0){return(t?Vl:Nd)(i,e,n)}function Vl(i,e,t){if(e==i.length)return e;e&&Cl(i.charCodeAt(e))&&Ul(i.charCodeAt(e-1))&&e--;let n=ls(i,e);for(e+=Zl(n);e<i.length;){let r=ls(i,e);if(n==Rl||r==Rl||t&&Id(r))e+=Zl(r),n=r;else if(Xl(r)){let s=0,o=e-2;for(;o>=0&&Xl(ls(i,o));)s++,o-=2;if(s%2==0)break;e+=2}else break}return e}function Nd(i,e,t){for(;e>0;){let n=Vl(i,e-2,t);if(n<e)return n;e--}return 0}function ls(i,e){let t=i.charCodeAt(e);if(!Ul(t)||e+1==i.length)return t;let n=i.charCodeAt(e+1);return Cl(n)?(t-55296<<10)+(n-56320)+65536:t}function Cl(i){return i>=56320&&i<57344}function Ul(i){return i>=55296&&i<56320}function Zl(i){return i<65536?1:2}var U=class i{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,n){[e,t]=gi(this,e,t);let r=[];return this.decompose(0,e,r,2),n.length&&n.decompose(0,n.length,r,3),this.decompose(t,this.length,r,1),di.from(r,this.length-(t-e)+n.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=gi(this,e,t);let n=[];return this.decompose(e,t,n,0),di.from(n,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),n=this.length-this.scanIdentical(e,-1),r=new Nt(this),s=new Nt(e);for(let o=t,O=t;;){if(r.next(o),s.next(o),o=0,r.lineBreak!=s.lineBreak||r.done!=s.done||r.value!=s.value)return!1;if(O+=r.value.length,r.done||O>=n)return!0}}iter(e=1){return new Nt(this,e)}iterRange(e,t=this.length){return new _n(this,e,t)}iterLines(e,t){let n;if(e==null)n=this.iter();else{t==null&&(t=this.lines+1);let r=this.line(e).from;n=this.iterRange(r,Math.max(r,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new jn(n)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?i.empty:e.length<=32?new Re(e):di.from(Re.split(e,[]))}},Re=class i extends U{constructor(e,t=Hd(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,n,r){for(let s=0;;s++){let o=this.text[s],O=r+o.length;if((t?n:O)>=e)return new cs(r,O,n,o);r=O+1,n++}}decompose(e,t,n,r){let s=e<=0&&t>=this.length?this:new i(Al(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(r&1){let o=n.pop(),O=Yn(s.text,o.text.slice(),0,s.length);if(O.length<=32)n.push(new i(O,o.length+s.length));else{let l=O.length>>1;n.push(new i(O.slice(0,l)),new i(O.slice(l)))}}else n.push(s)}replace(e,t,n){if(!(n instanceof i))return super.replace(e,t,n);[e,t]=gi(this,e,t);let r=Yn(this.text,Yn(n.text,Al(this.text,0,e)),t),s=this.length+n.length-(t-e);return r.length<=32?new i(r,s):di.from(i.split(r,[]),s)}sliceString(e,t=this.length,n=` +`){[e,t]=gi(this,e,t);let r="";for(let s=0,o=0;s<=t&&o<this.text.length;o++){let O=this.text[o],l=s+O.length;s>e&&o&&(r+=n),e<l&&t>s&&(r+=O.slice(Math.max(0,e-s),t-s)),s=l+1}return r}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let n=[],r=-1;for(let s of e)n.push(s),r+=s.length+1,n.length==32&&(t.push(new i(n,r)),n=[],r=-1);return r>-1&&t.push(new i(n,r)),t}},di=class i extends U{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let n of e)this.lines+=n.lines}lineInner(e,t,n,r){for(let s=0;;s++){let o=this.children[s],O=r+o.length,l=n+o.lines-1;if((t?l:O)>=e)return o.lineInner(e,t,n,r);r=O+1,n=l+1}}decompose(e,t,n,r){for(let s=0,o=0;o<=t&&s<this.children.length;s++){let O=this.children[s],l=o+O.length;if(e<=l&&t>=o){let a=r&((o<=e?1:0)|(l>=t?2:0));o>=e&&l<=t&&!a?n.push(O):O.decompose(e-o,t-o,n,a)}o=l+1}}replace(e,t,n){if([e,t]=gi(this,e,t),n.lines<this.lines)for(let r=0,s=0;r<this.children.length;r++){let o=this.children[r],O=s+o.length;if(e>=s&&t<=O){let l=o.replace(e-s,t-s,n),a=this.lines-o.lines+l.lines;if(l.lines<a>>4&&l.lines>a>>6){let h=this.children.slice();return h[r]=l,new i(h,this.length-(t-e)+n.length)}return super.replace(s,O,l)}s=O+1}return super.replace(e,t,n)}sliceString(e,t=this.length,n=` +`){[e,t]=gi(this,e,t);let r="";for(let s=0,o=0;s<this.children.length&&o<=t;s++){let O=this.children[s],l=o+O.length;o>e&&s&&(r+=n),e<l&&t>o&&(r+=O.sliceString(e-o,t-o,n)),o=l+1}return r}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof i))return 0;let n=0,[r,s,o,O]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;r+=t,s+=t){if(r==o||s==O)return n;let l=this.children[r],a=e.children[s];if(l!=a)return n+l.scanIdentical(a,t);n+=l.length+1}}static from(e,t=e.reduce((n,r)=>n+r.length+1,-1)){let n=0;for(let d of e)n+=d.lines;if(n<32){let d=[];for(let p of e)p.flatten(d);return new Re(d,t)}let r=Math.max(32,n>>5),s=r<<1,o=r>>1,O=[],l=0,a=-1,h=[];function c(d){let p;if(d.lines>s&&d instanceof i)for(let m of d.children)c(m);else d.lines>o&&(l>o||!l)?(f(),O.push(d)):d instanceof Re&&l&&(p=h[h.length-1])instanceof Re&&d.lines+p.lines<=32?(l+=d.lines,a+=d.length+1,h[h.length-1]=new Re(p.text.concat(d.text),p.length+1+d.length)):(l+d.lines>r&&f(),l+=d.lines,a+=d.length+1,h.push(d))}function f(){l!=0&&(O.push(h.length==1?h[0]:i.from(h,a)),a=-1,l=h.length=0)}for(let d of e)c(d);return f(),O.length==1?O[0]:new i(O,t)}};U.empty=new Re([""],0);function Hd(i){let e=-1;for(let t of i)e+=t.length+1;return e}function Yn(i,e,t=0,n=1e9){for(let r=0,s=0,o=!0;s<i.length&&r<=n;s++){let O=i[s],l=r+O.length;l>=t&&(l>n&&(O=O.slice(0,n-r)),r<t&&(O=O.slice(t-r)),o?(e[e.length-1]+=O,o=!1):e.push(O)),r=l+1}return e}function Al(i,e,t){return Yn(i,[""],e,t)}var Nt=class{constructor(e,t=1){this.dir=t,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[e],this.offsets=[t>0?1:(e instanceof Re?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let n=this.nodes.length-1,r=this.nodes[n],s=this.offsets[n],o=s>>1,O=r instanceof Re?r.text.length:r.children.length;if(o==(t>0?O:0)){if(n==0)return this.done=!0,this.value="",this;t>0&&this.offsets[n-1]++,this.nodes.pop(),this.offsets.pop()}else if((s&1)==(t>0?0:1)){if(this.offsets[n]+=t,e==0)return this.lineBreak=!0,this.value=` +`,this;e--}else if(r instanceof Re){let l=r.text[o+(t<0?-1:0)];if(this.offsets[n]+=t,l.length>Math.max(0,e))return this.value=e==0?l:t>0?l.slice(e):l.slice(0,l.length-e),this;e-=l.length}else{let l=r.children[o+(t<0?-1:0)];e>l.length?(e-=l.length,this.offsets[n]+=t):(t<0&&this.offsets[n]--,this.nodes.push(l),this.offsets.push(t>0?1:(l instanceof Re?l.text.length:l.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}},_n=class{constructor(e,t,n){this.value="",this.done=!1,this.cursor=new Nt(e,t>n?-1:1),this.pos=t>n?e.length:0,this.from=Math.min(t,n),this.to=Math.max(t,n)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let n=t<0?this.pos-this.from:this.to-this.pos;e>n&&(e=n),n-=e;let{value:r}=this.cursor.next(e);return this.pos+=(r.length+e)*t,this.value=r.length<=n?r:t<0?r.slice(r.length-n):r.slice(0,n),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}},jn=class{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:n,value:r}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):n?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=r,this.afterBreak=!1),this}get lineBreak(){return!1}};typeof Symbol<"u"&&(U.prototype[Symbol.iterator]=function(){return this.iter()},Nt.prototype[Symbol.iterator]=_n.prototype[Symbol.iterator]=jn.prototype[Symbol.iterator]=function(){return this});var cs=class{constructor(e,t,n,r){this.from=e,this.to=t,this.number=n,this.text=r}get length(){return this.to-this.from}};function gi(i,e,t){return e=Math.max(0,Math.min(i.length,e)),[e,Math.max(e,Math.min(i.length,t))]}function ae(i,e,t=!0,n=!0){return ql(i,e,t,n)}function Fd(i){return i>=56320&&i<57344}function Kd(i){return i>=55296&&i<56320}function xs(i,e){let t=i.charCodeAt(e);if(!Kd(t)||e+1==i.length)return t;let n=i.charCodeAt(e+1);return Fd(n)?(t-55296<<10)+(n-56320)+65536:t}function ks(i){return i<65536?1:2}var fs=/\r\n?|\n/,le=function(i){return i[i.Simple=0]="Simple",i[i.TrackDel=1]="TrackDel",i[i.TrackBefore=2]="TrackBefore",i[i.TrackAfter=3]="TrackAfter",i}(le||(le={})),mt=class i{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;t<this.sections.length;t+=2)e+=this.sections[t];return e}get newLength(){let e=0;for(let t=0;t<this.sections.length;t+=2){let n=this.sections[t+1];e+=n<0?this.sections[t]:n}return e}get empty(){return this.sections.length==0||this.sections.length==2&&this.sections[1]<0}iterGaps(e){for(let t=0,n=0,r=0;t<this.sections.length;){let s=this.sections[t++],o=this.sections[t++];o<0?(e(n,r,s),r+=s):r+=o,n+=s}}iterChangedRanges(e,t=!1){us(this,e,t)}get invertedDesc(){let e=[];for(let t=0;t<this.sections.length;){let n=this.sections[t++],r=this.sections[t++];r<0?e.push(n,r):e.push(r,n)}return new i(e)}composeDesc(e){return this.empty?e:e.empty?this:El(this,e)}mapDesc(e,t=!1){return e.empty?this:ds(this,e,t)}mapPos(e,t=-1,n=le.Simple){let r=0,s=0;for(let o=0;o<this.sections.length;){let O=this.sections[o++],l=this.sections[o++],a=r+O;if(l<0){if(a>e)return s+(e-r);s+=O}else{if(n!=le.Simple&&a>=e&&(n==le.TrackDel&&r<e&&a>e||n==le.TrackBefore&&r<e||n==le.TrackAfter&&a>e))return null;if(a>e||a==e&&t<0&&!O)return e==r||t<0?s:s+l;s+=l}r=a}if(e>r)throw new RangeError(`Position ${e} is out of range for changeset of length ${r}`);return s}touchesRange(e,t=e){for(let n=0,r=0;n<this.sections.length&&r<=t;){let s=this.sections[n++],o=this.sections[n++],O=r+s;if(o>=0&&r<=t&&O>=e)return r<e&&O>t?"cover":!0;r=O}return!1}toString(){let e="";for(let t=0;t<this.sections.length;){let n=this.sections[t++],r=this.sections[t++];e+=(e?" ":"")+n+(r>=0?":"+r:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(t=>typeof t!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new i(e)}static create(e){return new i(e)}},$e=class i extends mt{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return us(this,(t,n,r,s,o)=>e=e.replace(r,r+(n-t),o),!1),e}mapDesc(e,t=!1){return ds(this,e,t,!0)}invert(e){let t=this.sections.slice(),n=[];for(let r=0,s=0;r<t.length;r+=2){let o=t[r],O=t[r+1];if(O>=0){t[r]=O,t[r+1]=o;let l=r>>1;for(;n.length<l;)n.push(U.empty);n.push(o?e.slice(s,s+o):U.empty)}s+=o}return new i(t,n)}compose(e){return this.empty?e:e.empty?this:El(this,e,!0)}map(e,t=!1){return e.empty?this:ds(this,e,t,!0)}iterChanges(e,t=!1){us(this,e,t)}get desc(){return mt.create(this.sections)}filter(e){let t=[],n=[],r=[],s=new Ht(this);e:for(let o=0,O=0;;){let l=o==e.length?1e9:e[o++];for(;O<l||O==l&&s.len==0;){if(s.done)break e;let h=Math.min(s.len,l-O);ce(r,h,-1);let c=s.ins==-1?-1:s.off==0?s.ins:0;ce(t,h,c),c>0&&vt(n,t,s.text),s.forward(h),O+=h}let a=e[o++];for(;O<a;){if(s.done)break e;let h=Math.min(s.len,a-O);ce(t,h,-1),ce(r,h,s.ins==-1?-1:s.off==0?s.ins:0),s.forward(h),O+=h}}return{changes:new i(t,n),filtered:mt.create(r)}}toJSON(){let e=[];for(let t=0;t<this.sections.length;t+=2){let n=this.sections[t],r=this.sections[t+1];r<0?e.push(n):r==0?e.push([n]):e.push([n].concat(this.inserted[t>>1].toJSON()))}return e}static of(e,t,n){let r=[],s=[],o=0,O=null;function l(h=!1){if(!h&&!r.length)return;o<t&&ce(r,t-o,-1);let c=new i(r,s);O=O?O.compose(c.map(O)):c,r=[],s=[],o=0}function a(h){if(Array.isArray(h))for(let c of h)a(c);else if(h instanceof i){if(h.length!=t)throw new RangeError(`Mismatched change set length (got ${h.length}, expected ${t})`);l(),O=O?O.compose(h.map(O)):h}else{let{from:c,to:f=c,insert:d}=h;if(c>f||c<0||f>t)throw new RangeError(`Invalid change range ${c} to ${f} (in doc of length ${t})`);let p=d?typeof d=="string"?U.of(d.split(n||fs)):d:U.empty,m=p.length;if(c==f&&m==0)return;c<o&&l(),c>o&&ce(r,c-o,-1),ce(r,f-c,m),vt(s,r,p),o=f}}return a(e),l(!O),O}static empty(e){return new i(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],n=[];for(let r=0;r<e.length;r++){let s=e[r];if(typeof s=="number")t.push(s,-1);else{if(!Array.isArray(s)||typeof s[0]!="number"||s.some((o,O)=>O&&typeof o!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(s.length==1)t.push(s[0],0);else{for(;n.length<r;)n.push(U.empty);n[r]=U.of(s.slice(1)),t.push(s[0],n[r].length)}}}return new i(t,n)}static createSet(e,t){return new i(e,t)}};function ce(i,e,t,n=!1){if(e==0&&t<=0)return;let r=i.length-2;r>=0&&t<=0&&t==i[r+1]?i[r]+=e:r>=0&&e==0&&i[r]==0?i[r+1]+=t:n?(i[r]+=e,i[r+1]+=t):i.push(e,t)}function vt(i,e,t){if(t.length==0)return;let n=e.length-2>>1;if(n<i.length)i[i.length-1]=i[i.length-1].append(t);else{for(;i.length<n;)i.push(U.empty);i.push(t)}}function us(i,e,t){let n=i.inserted;for(let r=0,s=0,o=0;o<i.sections.length;){let O=i.sections[o++],l=i.sections[o++];if(l<0)r+=O,s+=O;else{let a=r,h=s,c=U.empty;for(;a+=O,h+=l,l&&n&&(c=c.append(n[o-2>>1])),!(t||o==i.sections.length||i.sections[o+1]<0);)O=i.sections[o++],l=i.sections[o++];e(r,a,s,h,c),r=a,s=h}}}function ds(i,e,t,n=!1){let r=[],s=n?[]:null,o=new Ht(i),O=new Ht(e);for(let l=-1;;){if(o.done&&O.len||O.done&&o.len)throw new Error("Mismatched change set lengths");if(o.ins==-1&&O.ins==-1){let a=Math.min(o.len,O.len);ce(r,a,-1),o.forward(a),O.forward(a)}else if(O.ins>=0&&(o.ins<0||l==o.i||o.off==0&&(O.len<o.len||O.len==o.len&&!t))){let a=O.len;for(ce(r,O.ins,-1);a;){let h=Math.min(o.len,a);o.ins>=0&&l<o.i&&o.len<=h&&(ce(r,0,o.ins),s&&vt(s,r,o.text),l=o.i),o.forward(h),a-=h}O.next()}else if(o.ins>=0){let a=0,h=o.len;for(;h;)if(O.ins==-1){let c=Math.min(h,O.len);a+=c,h-=c,O.forward(c)}else if(O.ins==0&&O.len<h)h-=O.len,O.next();else break;ce(r,a,l<o.i?o.ins:0),s&&l<o.i&&vt(s,r,o.text),l=o.i,o.forward(o.len-h)}else{if(o.done&&O.done)return s?$e.createSet(r,s):mt.create(r);throw new Error("Mismatched change set lengths")}}}function El(i,e,t=!1){let n=[],r=t?[]:null,s=new Ht(i),o=new Ht(e);for(let O=!1;;){if(s.done&&o.done)return r?$e.createSet(n,r):mt.create(n);if(s.ins==0)ce(n,s.len,0,O),s.next();else if(o.len==0&&!o.done)ce(n,0,o.ins,O),r&&vt(r,n,o.text),o.next();else{if(s.done||o.done)throw new Error("Mismatched change set lengths");{let l=Math.min(s.len2,o.len),a=n.length;if(s.ins==-1){let h=o.ins==-1?-1:o.off?0:o.ins;ce(n,l,h,O),r&&h&&vt(r,n,o.text)}else o.ins==-1?(ce(n,s.off?0:s.len,l,O),r&&vt(r,n,s.textBit(l))):(ce(n,s.off?0:s.len,o.off?0:o.ins,O),r&&!o.off&&vt(r,n,o.text));O=(s.ins>l||o.ins>=0&&o.len>l)&&(O||n.length>a),s.forward2(l),o.forward(l)}}}}var Ht=class{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i<e.length?(this.len=e[this.i++],this.ins=e[this.i++]):(this.len=0,this.ins=-2),this.off=0}get done(){return this.ins==-2}get len2(){return this.ins<0?this.len:this.ins}get text(){let{inserted:e}=this.set,t=this.i-2>>1;return t>=e.length?U.empty:e[t]}textBit(e){let{inserted:t}=this.set,n=this.i-2>>1;return n>=t.length&&!e?U.empty:t[n].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}},ui=class i{constructor(e,t,n){this.from=e,this.to=t,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 e=this.flags&7;return e==7?null:e}get goalColumn(){let e=this.flags>>6;return e==16777215?void 0:e}map(e,t=-1){let n,r;return this.empty?n=r=e.mapPos(this.from,t):(n=e.mapPos(this.from,1),r=e.mapPos(this.to,-1)),n==this.from&&r==this.to?this:new i(n,r,this.flags)}extend(e,t=e){if(e<=this.anchor&&t>=this.anchor)return S.range(e,t);let n=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return S.range(this.anchor,n)}eq(e,t=!1){return this.anchor==e.anchor&&this.head==e.head&&(!t||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return S.range(e.anchor,e.head)}static create(e,t,n){return new i(e,t,n)}},S=class i{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:i.create(this.ranges.map(n=>n.map(e,t)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let n=0;n<this.ranges.length;n++)if(!this.ranges[n].eq(e.ranges[n],t))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return this.ranges.length==1?this:new i([this.main],0)}addRange(e,t=!0){return i.create([e].concat(this.ranges),t?0:this.mainIndex+1)}replaceRange(e,t=this.mainIndex){let n=this.ranges.slice();return n[t]=e,i.create(n,this.mainIndex)}toJSON(){return{ranges:this.ranges.map(e=>e.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new i(e.ranges.map(t=>ui.fromJSON(t)),e.main)}static single(e,t=e){return new i([i.range(e,t)],0)}static create(e,t=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let n=0,r=0;r<e.length;r++){let s=e[r];if(s.empty?s.from<=n:s.from<n)return i.normalized(e.slice(),t);n=s.to}return new i(e,t)}static cursor(e,t=0,n,r){return ui.create(e,e,(t==0?0:t<0?8:16)|(n==null?7:Math.min(6,n))|(r??16777215)<<6)}static range(e,t,n,r){let s=(n??16777215)<<6|(r==null?7:Math.min(6,r));return t<e?ui.create(t,e,48|s):ui.create(e,t,(t>e?8:0)|s)}static normalized(e,t=0){let n=e[t];e.sort((r,s)=>r.from-s.from),t=e.indexOf(n);for(let r=1;r<e.length;r++){let s=e[r],o=e[r-1];if(s.empty?s.from<=o.to:s.from<o.to){let O=o.from,l=Math.max(s.to,o.to);r<=t&&t--,e.splice(--r,2,s.anchor>s.head?i.range(l,O):i.range(O,l))}}return new i(e,t)}};function Ll(i,e){for(let t of i.ranges)if(t.to>e)throw new RangeError("Selection points outside of document")}var ws=0,X=class i{constructor(e,t,n,r,s){this.combine=e,this.compareInput=t,this.compare=n,this.isStatic=r,this.id=ws++,this.default=e([]),this.extensions=typeof s=="function"?s(this):s}get reader(){return this}static define(e={}){return new i(e.combine||(t=>t),e.compareInput||((t,n)=>t===n),e.compare||(e.combine?(t,n)=>t===n:vs),!!e.static,e.enables)}of(e){return new pi([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new pi(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new pi(e,this,2,t)}from(e,t){return t||(t=n=>n),this.compute([e],n=>t(n.field(e)))}};function vs(i,e){return i==e||i.length==e.length&&i.every((t,n)=>t===e[n])}var pi=class{constructor(e,t,n,r){this.dependencies=e,this.facet=t,this.type=n,this.value=r,this.id=ws++}dynamicSlot(e){var t;let n=this.value,r=this.facet.compareInput,s=this.id,o=e[s]>>1,O=this.type==2,l=!1,a=!1,h=[];for(let c of this.dependencies)c=="doc"?l=!0:c=="selection"?a=!0:(((t=e[c.id])!==null&&t!==void 0?t:1)&1)==0&&h.push(e[c.id]);return{create(c){return c.values[o]=n(c),1},update(c,f){if(l&&f.docChanged||a&&(f.docChanged||f.selection)||ps(c,h)){let d=n(c);if(O?!Yl(d,c.values[o],r):!r(d,c.values[o]))return c.values[o]=d,1}return 0},reconfigure:(c,f)=>{let d,p=f.config.address[s];if(p!=null){let m=Ln(f,p);if(this.dependencies.every(g=>g instanceof X?f.facet(g)===c.facet(g):g instanceof Qe?f.field(g,!1)==c.field(g,!1):!0)||(O?Yl(d=n(c),m,r):r(d=n(c),m)))return c.values[o]=m,0}else d=n(c);return c.values[o]=d,1}}}};function Yl(i,e,t){if(i.length!=e.length)return!1;for(let n=0;n<i.length;n++)if(!t(i[n],e[n]))return!1;return!0}function ps(i,e){let t=!1;for(let n of e)_i(i,n)&1&&(t=!0);return t}function Jd(i,e,t){let n=t.map(l=>i[l.id]),r=t.map(l=>l.type),s=n.filter(l=>!(l&1)),o=i[e.id]>>1;function O(l){let a=[];for(let h=0;h<n.length;h++){let c=Ln(l,n[h]);if(r[h]==2)for(let f of c)a.push(f);else a.push(c)}return e.combine(a)}return{create(l){for(let a of n)_i(l,a);return l.values[o]=O(l),1},update(l,a){if(!ps(l,s))return 0;let h=O(l);return e.compare(h,l.values[o])?0:(l.values[o]=h,1)},reconfigure(l,a){let h=ps(l,n),c=a.config.facets[e.id],f=a.facet(e);if(c&&!h&&vs(t,c))return l.values[o]=f,0;let d=O(l);return e.compare(d,f)?(l.values[o]=f,0):(l.values[o]=d,1)}}}var Cn=X.define({static:!0}),Qe=class i{constructor(e,t,n,r,s){this.id=e,this.createF=t,this.updateF=n,this.compareF=r,this.spec=s,this.provides=void 0}static define(e){let t=new i(ws++,e.create,e.update,e.compare||((n,r)=>n===r),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(Cn).find(n=>n.field==this);return(t?.create||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:n=>(n.values[t]=this.create(n),1),update:(n,r)=>{let s=n.values[t],o=this.updateF(s,r);return this.compareF(s,o)?0:(n.values[t]=o,1)},reconfigure:(n,r)=>{let s=n.facet(Cn),o=r.facet(Cn),O;return(O=s.find(l=>l.field==this))&&O!=o.find(l=>l.field==this)?(n.values[t]=O.create(n),1):r.config.address[this.id]!=null?(n.values[t]=r.field(this),0):(n.values[t]=this.create(n),1)}}}init(e){return[this,Cn.of({field:this,create:e})]}get extension(){return this}},Dt={lowest:4,low:3,default:2,high:1,highest:0};function Yi(i){return e=>new Mn(e,i)}var nt={highest:Yi(Dt.highest),high:Yi(Dt.high),default:Yi(Dt.default),low:Yi(Dt.low),lowest:Yi(Dt.lowest)},Mn=class{constructor(e,t){this.inner=e,this.prec=t}},gt=class i{of(e){return new ji(this,e)}reconfigure(e){return i.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}},ji=class{constructor(e,t){this.compartment=e,this.inner=t}},En=class i{constructor(e,t,n,r,s,o){for(this.base=e,this.compartments=t,this.dynamicSlots=n,this.address=r,this.staticValues=s,this.facets=o,this.statusTemplate=[];this.statusTemplate.length<n.length;)this.statusTemplate.push(0)}staticFacet(e){let t=this.address[e.id];return t==null?e.default:this.staticValues[t>>1]}static resolve(e,t,n){let r=[],s=Object.create(null),o=new Map;for(let f of ep(e,t,o))f instanceof Qe?r.push(f):(s[f.facet.id]||(s[f.facet.id]=[])).push(f);let O=Object.create(null),l=[],a=[];for(let f of r)O[f.id]=a.length<<1,a.push(d=>f.slot(d));let h=n?.config.facets;for(let f in s){let d=s[f],p=d[0].facet,m=h&&h[f]||[];if(d.every(g=>g.type==0))if(O[p.id]=l.length<<1|1,vs(m,d))l.push(n.facet(p));else{let g=p.combine(d.map($=>$.value));l.push(n&&p.compare(g,n.facet(p))?n.facet(p):g)}else{for(let g of d)g.type==0?(O[g.id]=l.length<<1|1,l.push(g.value)):(O[g.id]=a.length<<1,a.push($=>g.dynamicSlot($)));O[p.id]=a.length<<1,a.push(g=>Jd(g,p,d))}}let c=a.map(f=>f(O));return new i(e,o,c,O,l,s)}};function ep(i,e,t){let n=[[],[],[],[],[]],r=new Map;function s(o,O){let l=r.get(o);if(l!=null){if(l<=O)return;let a=n[l].indexOf(o);a>-1&&n[l].splice(a,1),o instanceof ji&&t.delete(o.compartment)}if(r.set(o,O),Array.isArray(o))for(let a of o)s(a,O);else if(o instanceof ji){if(t.has(o.compartment))throw new RangeError("Duplicate use of compartment in extensions");let a=e.get(o.compartment)||o.inner;t.set(o.compartment,a),s(a,O)}else if(o instanceof Mn)s(o.inner,o.prec);else if(o instanceof Qe)n[O].push(o),o.provides&&s(o.provides,O);else if(o instanceof pi)n[O].push(o),o.facet.extensions&&s(o.facet.extensions,Dt.default);else{let a=o.extension;if(!a)throw new Error(`Unrecognized extension value in extension set (${o}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);s(a,O)}}return s(i,Dt.default),n.reduce((o,O)=>o.concat(O))}function _i(i,e){if(e&1)return 2;let t=e>>1,n=i.status[t];if(n==4)throw new Error("Cyclic dependency between fields and/or facets");if(n&2)return n;i.status[t]=4;let r=i.computeSlot(i,i.config.dynamicSlots[t]);return i.status[t]=2|r}function Ln(i,e){return e&1?i.config.staticValues[e>>1]:i.values[e>>1]}var Gl=X.define(),ms=X.define({combine:i=>i.some(e=>e),static:!0}),Bl=X.define({combine:i=>i.length?i[0]:void 0,static:!0}),Dl=X.define(),Il=X.define(),Nl=X.define(),Hl=X.define({combine:i=>i.length?i[0]:!1}),xe=class{constructor(e,t){this.type=e,this.value=t}static define(){return new gs}},gs=class{of(e){return new xe(this,e)}},$s=class{constructor(e){this.map=e}of(e){return new B(this,e)}},B=class i{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return t===void 0?void 0:t==this.value?this:new i(this.type,t)}is(e){return this.type==e}static define(e={}){return new $s(e.map||(t=>t))}static mapEffects(e,t){if(!e.length)return e;let n=[];for(let r of e){let s=r.map(t);s&&n.push(s)}return n}};B.reconfigure=B.define();B.appendConfig=B.define();var ne=class i{constructor(e,t,n,r,s,o){this.startState=e,this.changes=t,this.selection=n,this.effects=r,this.annotations=s,this.scrollIntoView=o,this._doc=null,this._state=null,n&&Ll(n,t.newLength),s.some(O=>O.type==i.time)||(this.annotations=s.concat(i.time.of(Date.now())))}static create(e,t,n,r,s,o){return new i(e,t,n,r,s,o)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let t=this.annotation(i.userEvent);return!!(t&&(t==e||t.length>e.length&&t.slice(0,e.length)==e&&t[e.length]=="."))}};ne.time=xe.define();ne.userEvent=xe.define();ne.addToHistory=xe.define();ne.remote=xe.define();function tp(i,e){let t=[];for(let n=0,r=0;;){let s,o;if(n<i.length&&(r==e.length||e[r]>=i[n]))s=i[n++],o=i[n++];else if(r<e.length)s=e[r++],o=e[r++];else return t;!t.length||t[t.length-1]<s?t.push(s,o):t[t.length-1]<o&&(t[t.length-1]=o)}}function Fl(i,e,t){var n;let r,s,o;return t?(r=e.changes,s=$e.empty(e.changes.length),o=i.changes.compose(e.changes)):(r=e.changes.map(i.changes),s=i.changes.mapDesc(e.changes,!0),o=i.changes.compose(r)),{changes:o,selection:e.selection?e.selection.map(s):(n=i.selection)===null||n===void 0?void 0:n.map(r),effects:B.mapEffects(i.effects,r).concat(B.mapEffects(e.effects,s)),annotations:i.annotations.length?i.annotations.concat(e.annotations):e.annotations,scrollIntoView:i.scrollIntoView||e.scrollIntoView}}function Qs(i,e,t){let n=e.selection,r=mi(e.annotations);return e.userEvent&&(r=r.concat(ne.userEvent.of(e.userEvent))),{changes:e.changes instanceof $e?e.changes:$e.of(e.changes||[],t,i.facet(Bl)),selection:n&&(n instanceof S?n:S.single(n.anchor,n.head)),effects:mi(e.effects),annotations:r,scrollIntoView:!!e.scrollIntoView}}function Kl(i,e,t){let n=Qs(i,e.length?e[0]:{},i.doc.length);e.length&&e[0].filter===!1&&(t=!1);for(let s=1;s<e.length;s++){e[s].filter===!1&&(t=!1);let o=!!e[s].sequential;n=Fl(n,Qs(i,e[s],o?n.changes.newLength:i.doc.length),o)}let r=ne.create(i,n.changes,n.selection,n.effects,n.annotations,n.scrollIntoView);return np(t?ip(r):r)}function ip(i){let e=i.startState,t=!0;for(let r of e.facet(Dl)){let s=r(i);if(s===!1){t=!1;break}Array.isArray(s)&&(t=t===!0?s:tp(t,s))}if(t!==!0){let r,s;if(t===!1)s=i.changes.invertedDesc,r=$e.empty(e.doc.length);else{let o=i.changes.filter(t);r=o.changes,s=o.filtered.mapDesc(o.changes).invertedDesc}i=ne.create(e,r,i.selection&&i.selection.map(s),B.mapEffects(i.effects,s),i.annotations,i.scrollIntoView)}let n=e.facet(Il);for(let r=n.length-1;r>=0;r--){let s=n[r](i);s instanceof ne?i=s:Array.isArray(s)&&s.length==1&&s[0]instanceof ne?i=s[0]:i=Kl(e,mi(s),!1)}return i}function np(i){let e=i.startState,t=e.facet(Nl),n=i;for(let r=t.length-1;r>=0;r--){let s=t[r](i);s&&Object.keys(s).length&&(n=Fl(n,Qs(e,s,i.changes.newLength),!0))}return n==i?i:ne.create(e,i.changes,i.selection,n.effects,n.annotations,n.scrollIntoView)}var rp=[];function mi(i){return i==null?rp:Array.isArray(i)?i:[i]}var Ye=function(i){return i[i.Word=0]="Word",i[i.Space=1]="Space",i[i.Other=2]="Other",i}(Ye||(Ye={})),sp=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,Ss;try{Ss=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function op(i){if(Ss)return Ss.test(i);for(let e=0;e<i.length;e++){let t=i[e];if(/\w/.test(t)||t>"\x80"&&(t.toUpperCase()!=t.toLowerCase()||sp.test(t)))return!0}return!1}function Op(i){return e=>{if(!/\S/.test(e))return Ye.Space;if(op(e))return Ye.Word;for(let t=0;t<i.length;t++)if(e.indexOf(i[t])>-1)return Ye.Word;return Ye.Other}}var D=class i{constructor(e,t,n,r,s,o){this.config=e,this.doc=t,this.selection=n,this.values=r,this.status=e.statusTemplate.slice(),this.computeSlot=s,o&&(o._state=this);for(let O=0;O<this.config.dynamicSlots.length;O++)_i(this,O<<1);this.computeSlot=null}field(e,t=!0){let n=this.config.address[e.id];if(n==null){if(t)throw new RangeError("Field is not present in this state");return}return _i(this,n),Ln(this,n)}update(...e){return Kl(this,e,!0)}applyTransaction(e){let t=this.config,{base:n,compartments:r}=t;for(let O of e.effects)O.is(gt.reconfigure)?(t&&(r=new Map,t.compartments.forEach((l,a)=>r.set(a,l)),t=null),r.set(O.value.compartment,O.value.extension)):O.is(B.reconfigure)?(t=null,n=O.value):O.is(B.appendConfig)&&(t=null,n=mi(n).concat(O.value));let s;t?s=e.startState.values.slice():(t=En.resolve(n,r,this),s=new i(t,this.doc,this.selection,t.dynamicSlots.map(()=>null),(l,a)=>a.reconfigure(l,this),null).values);let o=e.startState.facet(ms)?e.newSelection:e.newSelection.asSingle();new i(t,e.newDoc,o,s,(O,l)=>l.update(O,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:S.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,n=e(t.ranges[0]),r=this.changes(n.changes),s=[n.range],o=mi(n.effects);for(let O=1;O<t.ranges.length;O++){let l=e(t.ranges[O]),a=this.changes(l.changes),h=a.map(r);for(let f=0;f<O;f++)s[f]=s[f].map(h);let c=r.mapDesc(a,!0);s.push(l.range.map(c)),r=r.compose(h),o=B.mapEffects(o,h).concat(B.mapEffects(mi(l.effects),c))}return{changes:r,selection:S.create(s,t.mainIndex),effects:o}}changes(e=[]){return e instanceof $e?e:$e.of(e,this.doc.length,this.facet(i.lineSeparator))}toText(e){return U.of(e.split(this.facet(i.lineSeparator)||fs))}sliceDoc(e=0,t=this.doc.length){return this.doc.sliceString(e,t,this.lineBreak)}facet(e){let t=this.config.address[e.id];return t==null?e.default:(_i(this,t),Ln(this,t))}toJSON(e){let t={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(e)for(let n in e){let r=e[n];r instanceof Qe&&this.config.address[r.id]!=null&&(t[n]=r.spec.toJSON(this.field(e[n]),this))}return t}static fromJSON(e,t={},n){if(!e||typeof e.doc!="string")throw new RangeError("Invalid JSON representation for EditorState");let r=[];if(n){for(let s in n)if(Object.prototype.hasOwnProperty.call(e,s)){let o=n[s],O=e[s];r.push(o.init(l=>o.spec.fromJSON(O,l)))}}return i.create({doc:e.doc,selection:S.fromJSON(e.selection),extensions:t.extensions?r.concat([t.extensions]):r})}static create(e={}){let t=En.resolve(e.extensions||[],new Map),n=e.doc instanceof U?e.doc:U.of((e.doc||"").split(t.staticFacet(i.lineSeparator)||fs)),r=e.selection?e.selection instanceof S?e.selection:S.single(e.selection.anchor,e.selection.head):S.single(0);return Ll(r,n.length),t.staticFacet(ms)||(r=r.asSingle()),new i(t,n,r,t.dynamicSlots.map(()=>null),(s,o)=>o.create(s),null)}get tabSize(){return this.facet(i.tabSize)}get lineBreak(){return this.facet(i.lineSeparator)||` +`}get readOnly(){return this.facet(Hl)}phrase(e,...t){for(let n of this.facet(i.phrases))if(Object.prototype.hasOwnProperty.call(n,e)){e=n[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(n,r)=>{if(r=="$")return"$";let s=+(r||1);return!s||s>t.length?n:t[s-1]})),e}languageDataAt(e,t,n=-1){let r=[];for(let s of this.facet(Gl))for(let o of s(this,t,n))Object.prototype.hasOwnProperty.call(o,e)&&r.push(o[e]);return r}charCategorizer(e){return Op(this.languageDataAt("wordChars",e).join(""))}wordAt(e){let{text:t,from:n,length:r}=this.doc.lineAt(e),s=this.charCategorizer(e),o=e-n,O=e-n;for(;o>0;){let l=ae(t,o,!1);if(s(t.slice(l,o))!=Ye.Word)break;o=l}for(;O<r;){let l=ae(t,O);if(s(t.slice(O,l))!=Ye.Word)break;O=l}return o==O?null:S.range(o+n,O+n)}};D.allowMultipleSelections=ms;D.tabSize=X.define({combine:i=>i.length?i[0]:4});D.lineSeparator=Bl;D.readOnly=Hl;D.phrases=X.define({compare(i,e){let t=Object.keys(i),n=Object.keys(e);return t.length==n.length&&t.every(r=>i[r]==e[r])}});D.languageData=Gl;D.changeFilter=Dl;D.transactionFilter=Il;D.transactionExtender=Nl;gt.reconfigure=B.define();function Tt(i,e,t={}){let n={};for(let r of i)for(let s of Object.keys(r)){let o=r[s],O=n[s];if(O===void 0)n[s]=o;else if(!(O===o||o===void 0))if(Object.hasOwnProperty.call(t,s))n[s]=t[s](O,o);else throw new Error("Config merge conflict for field "+s)}for(let r in e)n[r]===void 0&&(n[r]=e[r]);return n}var Ie=class{eq(e){return this==e}range(e,t=e){return Mi.create(e,t,this)}};Ie.prototype.startSide=Ie.prototype.endSide=0;Ie.prototype.point=!1;Ie.prototype.mapMode=le.TrackDel;var Mi=class i{constructor(e,t,n){this.from=e,this.to=t,this.value=n}static create(e,t,n){return new i(e,t,n)}};function ys(i,e){return i.from-e.from||i.value.startSide-e.value.startSide}var Ps=class i{constructor(e,t,n,r){this.from=e,this.to=t,this.value=n,this.maxPoint=r}get length(){return this.to[this.to.length-1]}findIndex(e,t,n,r=0){let s=n?this.to:this.from;for(let o=r,O=s.length;;){if(o==O)return o;let l=o+O>>1,a=s[l]-e||(n?this.value[l].endSide:this.value[l].startSide)-t;if(l==o)return a>=0?o:O;a>=0?O=l:o=l+1}}between(e,t,n,r){for(let s=this.findIndex(t,-1e9,!0),o=this.findIndex(n,1e9,!1,s);s<o;s++)if(r(this.from[s]+e,this.to[s]+e,this.value[s])===!1)return!1}map(e,t){let n=[],r=[],s=[],o=-1,O=-1;for(let l=0;l<this.value.length;l++){let a=this.value[l],h=this.from[l]+e,c=this.to[l]+e,f,d;if(h==c){let p=t.mapPos(h,a.startSide,a.mapMode);if(p==null||(f=d=p,a.startSide!=a.endSide&&(d=t.mapPos(h,a.endSide),d<f)))continue}else if(f=t.mapPos(h,a.startSide),d=t.mapPos(c,a.endSide),f>d||f==d&&a.startSide>0&&a.endSide<=0)continue;(d-f||a.endSide-a.startSide)<0||(o<0&&(o=f),a.point&&(O=Math.max(O,d-f)),n.push(a),r.push(f-o),s.push(d-o))}return{mapped:n.length?new i(r,s,n,O):null,pos:o}}},F=class i{constructor(e,t,n,r){this.chunkPos=e,this.chunk=t,this.nextLayer=n,this.maxPoint=r}static create(e,t,n,r){return new i(e,t,n,r)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:n=!1,filterFrom:r=0,filterTo:s=this.length}=e,o=e.filter;if(t.length==0&&!o)return this;if(n&&(t=t.slice().sort(ys)),this.isEmpty)return t.length?i.of(t):this;let O=new Gn(this,null,-1).goto(0),l=0,a=[],h=new Ft;for(;O.value||l<t.length;)if(l<t.length&&(O.from-t[l].from||O.startSide-t[l].value.startSide)>=0){let c=t[l++];h.addInner(c.from,c.to,c.value)||a.push(c)}else O.rangeIndex==1&&O.chunkIndex<this.chunk.length&&(l==t.length||this.chunkEnd(O.chunkIndex)<t[l].from)&&(!o||r>this.chunkEnd(O.chunkIndex)||s<this.chunkPos[O.chunkIndex])&&h.addChunk(this.chunkPos[O.chunkIndex],this.chunk[O.chunkIndex])?O.nextChunk():((!o||r>O.to||s<O.from||o(O.from,O.to,O.value))&&(h.addInner(O.from,O.to,O.value)||a.push(Mi.create(O.from,O.to,O.value))),O.next());return h.finishInner(this.nextLayer.isEmpty&&!a.length?i.empty:this.nextLayer.update({add:a,filter:o,filterFrom:r,filterTo:s}))}map(e){if(e.empty||this.isEmpty)return this;let t=[],n=[],r=-1;for(let o=0;o<this.chunk.length;o++){let O=this.chunkPos[o],l=this.chunk[o],a=e.touchesRange(O,O+l.length);if(a===!1)r=Math.max(r,l.maxPoint),t.push(l),n.push(e.mapPos(O));else if(a===!0){let{mapped:h,pos:c}=l.map(O,e);h&&(r=Math.max(r,h.maxPoint),t.push(h),n.push(c))}}let s=this.nextLayer.map(e);return t.length==0?s:new i(n,t,s||i.empty,r)}between(e,t,n){if(!this.isEmpty){for(let r=0;r<this.chunk.length;r++){let s=this.chunkPos[r],o=this.chunk[r];if(t>=s&&e<=s+o.length&&o.between(s,e-s,t-s,n)===!1)return}this.nextLayer.between(e,t,n)}}iter(e=0){return Ei.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return Ei.from(e).goto(t)}static compare(e,t,n,r,s=-1){let o=e.filter(c=>c.maxPoint>0||!c.isEmpty&&c.maxPoint>=s),O=t.filter(c=>c.maxPoint>0||!c.isEmpty&&c.maxPoint>=s),l=_l(o,O,n),a=new It(o,l,s),h=new It(O,l,s);n.iterGaps((c,f,d)=>jl(a,c,h,f,d,r)),n.empty&&n.length==0&&jl(a,0,h,0,0,r)}static eq(e,t,n=0,r){r==null&&(r=999999999);let s=e.filter(h=>!h.isEmpty&&t.indexOf(h)<0),o=t.filter(h=>!h.isEmpty&&e.indexOf(h)<0);if(s.length!=o.length)return!1;if(!s.length)return!0;let O=_l(s,o),l=new It(s,O,0).goto(n),a=new It(o,O,0).goto(n);for(;;){if(l.to!=a.to||!bs(l.active,a.active)||l.point&&(!a.point||!l.point.eq(a.point)))return!1;if(l.to>r)return!0;l.next(),a.next()}}static spans(e,t,n,r,s=-1){let o=new It(e,null,s).goto(t),O=t,l=o.openStart;for(;;){let a=Math.min(o.to,n);if(o.point){let h=o.activeForPoint(o.to),c=o.pointFrom<t?h.length+1:o.point.startSide<0?h.length:Math.min(h.length,l);r.point(O,a,o.point,h,c,o.pointRank),l=Math.min(o.openEnd(a),h.length)}else a>O&&(r.span(O,a,o.active,l),l=o.openEnd(a));if(o.to>n)return l+(o.point&&o.to>n?1:0);O=o.to,o.next()}}static of(e,t=!1){let n=new Ft;for(let r of e instanceof Mi?[e]:t?lp(e):e)n.add(r.from,r.to,r.value);return n.finish()}static join(e){if(!e.length)return i.empty;let t=e[e.length-1];for(let n=e.length-2;n>=0;n--)for(let r=e[n];r!=i.empty;r=r.nextLayer)t=new i(r.chunkPos,r.chunk,t,Math.max(r.maxPoint,t.maxPoint));return t}};F.empty=new F([],[],null,-1);function lp(i){if(i.length>1)for(let e=i[0],t=1;t<i.length;t++){let n=i[t];if(ys(e,n)>0)return i.slice().sort(ys);e=n}return i}F.empty.nextLayer=F.empty;var Ft=class i{finishChunk(e){this.chunks.push(new Ps(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,t,n){this.addInner(e,t,n)||(this.nextLayer||(this.nextLayer=new i)).add(e,t,n)}addInner(e,t,n){let r=e-this.lastTo||n.startSide-this.last.endSide;if(r<=0&&(e-this.lastFrom||n.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return r<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=n,this.lastFrom=e,this.lastTo=t,this.value.push(n),n.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),!0)}addChunk(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let n=t.value.length-1;return this.last=t.value[n],this.lastFrom=t.from[n]+e,this.lastTo=t.to[n]+e,!0}finish(){return this.finishInner(F.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let t=F.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}};function _l(i,e,t){let n=new Map;for(let s of i)for(let o=0;o<s.chunk.length;o++)s.chunk[o].maxPoint<=0&&n.set(s.chunk[o],s.chunkPos[o]);let r=new Set;for(let s of e)for(let o=0;o<s.chunk.length;o++){let O=n.get(s.chunk[o]);O!=null&&(t?t.mapPos(O):O)==s.chunkPos[o]&&!t?.touchesRange(O,O+s.chunk[o].length)&&r.add(s.chunk[o])}return r}var Gn=class{constructor(e,t,n,r=0){this.layer=e,this.skip=t,this.minPoint=n,this.rank=r}get startSide(){return this.value?this.value.startSide:0}get endSide(){return this.value?this.value.endSide:0}goto(e,t=-1e9){return this.chunkIndex=this.rangeIndex=0,this.gotoInner(e,t,!1),this}gotoInner(e,t,n){for(;this.chunkIndex<this.layer.chunk.length;){let r=this.layer.chunk[this.chunkIndex];if(!(this.skip&&this.skip.has(r)||this.layer.chunkEnd(this.chunkIndex)<e||r.maxPoint<this.minPoint))break;this.chunkIndex++,n=!1}if(this.chunkIndex<this.layer.chunk.length){let r=this.layer.chunk[this.chunkIndex].findIndex(e-this.layer.chunkPos[this.chunkIndex],t,!0);(!n||this.rangeIndex<r)&&this.setRangeIndex(r)}this.next()}forward(e,t){(this.to-e||this.endSide-t)<0&&this.gotoInner(e,t,!0)}next(){for(;;)if(this.chunkIndex==this.layer.chunk.length){this.from=this.to=1e9,this.value=null;break}else{let e=this.layer.chunkPos[this.chunkIndex],t=this.layer.chunk[this.chunkIndex],n=e+t.from[this.rangeIndex];if(this.from=n,this.to=e+t.to[this.rangeIndex],this.value=t.value[this.rangeIndex],this.setRangeIndex(this.rangeIndex+1),this.minPoint<0||this.value.point&&this.to-this.from>=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex<this.layer.chunk.length&&this.skip.has(this.layer.chunk[this.chunkIndex]);)this.chunkIndex++;this.rangeIndex=0}else this.rangeIndex=e}nextChunk(){this.chunkIndex++,this.rangeIndex=0,this.next()}compare(e){return this.from-e.from||this.startSide-e.startSide||this.rank-e.rank||this.to-e.to||this.endSide-e.endSide}},Ei=class i{constructor(e){this.heap=e}static from(e,t=null,n=-1){let r=[];for(let s=0;s<e.length;s++)for(let o=e[s];!o.isEmpty;o=o.nextLayer)o.maxPoint>=n&&r.push(new Gn(o,t,n,s));return r.length==1?r[0]:new i(r)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let n of this.heap)n.goto(e,t);for(let n=this.heap.length>>1;n>=0;n--)hs(this.heap,n);return this.next(),this}forward(e,t){for(let n of this.heap)n.forward(e,t);for(let n=this.heap.length>>1;n>=0;n--)hs(this.heap,n);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),hs(this.heap,0)}}};function hs(i,e){for(let t=i[e];;){let n=(e<<1)+1;if(n>=i.length)break;let r=i[n];if(n+1<i.length&&r.compare(i[n+1])>=0&&(r=i[n+1],n++),t.compare(r)<0)break;i[n]=t,i[e]=r,e=n}}var It=class{constructor(e,t,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=Ei.from(e,t,n)}goto(e,t=-1e9){return this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this}forward(e,t){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t)<0;)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){Un(this.active,e),Un(this.activeTo,e),Un(this.activeRank,e),this.minActive=Ml(this.active,this.activeTo)}addActive(e){let t=0,{value:n,to:r,rank:s}=this.cursor;for(;t<this.activeRank.length&&(s-this.activeRank[t]||r-this.activeTo[t])>0;)t++;An(this.active,t,n),An(this.activeTo,t,r),An(this.activeRank,t,s),e&&An(e,t,this.cursor.from),this.minActive=Ml(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let n=this.openStart<0?[]:null;for(;;){let r=this.minActive;if(r>-1&&(this.activeTo[r]-this.cursor.from||this.active[r].endSide-this.cursor.startSide)<0){if(this.activeTo[r]>e){this.to=this.activeTo[r],this.endSide=this.active[r].endSide;break}this.removeActive(r),n&&Un(n,r)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let s=this.cursor.value;if(!s.point)this.addActive(n),this.cursor.next();else if(t&&this.cursor.to==this.to&&this.cursor.from<this.cursor.to)this.cursor.next();else{this.point=s,this.pointFrom=this.cursor.from,this.pointRank=this.cursor.rank,this.to=this.cursor.to,this.endSide=s.endSide,this.cursor.next(),this.forward(this.to,this.endSide);break}}else{this.to=this.endSide=1e9;break}}if(n){this.openStart=0;for(let r=n.length-1;r>=0&&n[r]<e;r--)this.openStart++}}activeForPoint(e){if(!this.active.length)return this.active;let t=[];for(let n=this.active.length-1;n>=0&&!(this.activeRank[n]<this.pointRank);n--)(this.activeTo[n]>e||this.activeTo[n]==e&&this.active[n].endSide>=this.point.endSide)&&t.push(this.active[n]);return t.reverse()}openEnd(e){let t=0;for(let n=this.activeTo.length-1;n>=0&&this.activeTo[n]>e;n--)t++;return t}};function jl(i,e,t,n,r,s){i.goto(e),t.goto(n);let o=n+r,O=n,l=n-e;for(;;){let a=i.to+l-t.to,h=a||i.endSide-t.endSide,c=h<0?i.to+l:t.to,f=Math.min(c,o);if(i.point||t.point?i.point&&t.point&&(i.point==t.point||i.point.eq(t.point))&&bs(i.activeForPoint(i.to),t.activeForPoint(t.to))||s.comparePoint(O,f,i.point,t.point):f>O&&!bs(i.active,t.active)&&s.compareRange(O,f,i.active,t.active),c>o)break;(a||i.openEnd!=t.openEnd)&&s.boundChange&&s.boundChange(c),O=c,h<=0&&i.next(),h>=0&&t.next()}}function bs(i,e){if(i.length!=e.length)return!1;for(let t=0;t<i.length;t++)if(i[t]!=e[t]&&!i[t].eq(e[t]))return!1;return!0}function Un(i,e){for(let t=e,n=i.length-1;t<n;t++)i[t]=i[t+1];i.pop()}function An(i,e,t){for(let n=i.length-1;n>=e;n--)i[n+1]=i[n];i[e]=t}function Ml(i,e){let t=-1,n=1e9;for(let r=0;r<e.length;r++)(e[r]-n||i[r].endSide-i[t].endSide)<0&&(t=r,n=e[r]);return t}function ke(i,e,t=i.length){let n=0;for(let r=0;r<t&&r<i.length;)i.charCodeAt(r)==9?(n+=e-n%e,r++):(n++,r=ae(i,r));return n}function Bn(i,e,t,n){for(let r=0,s=0;;){if(s>=e)return r;if(r==i.length)break;s+=i.charCodeAt(r)==9?t-s%t:1,r=ae(i,r)}return n===!0?-1:i.length}var Ts="\u037C",Jl=typeof Symbol>"u"?"__"+Ts:Symbol.for(Ts),zs=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),ea=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{},_e=class{constructor(e,t){this.rules=[];let{finish:n}=t||{};function r(o){return/^@/.test(o)?[o]:o.split(/,\s*/)}function s(o,O,l,a){let h=[],c=/^@(\w+)\b/.exec(o[0]),f=c&&c[1]=="keyframes";if(c&&O==null)return l.push(o[0]+";");for(let d in O){let p=O[d];if(/&/.test(d))s(d.split(/,\s*/).map(m=>o.map(g=>m.replace(/&/,g))).reduce((m,g)=>m.concat(g)),p,l);else if(p&&typeof p=="object"){if(!c)throw new RangeError("The value of a property ("+d+") should be a primitive value.");s(r(d),p,h,f)}else p!=null&&h.push(d.replace(/_.*/,"").replace(/[A-Z]/g,m=>"-"+m.toLowerCase())+": "+p+";")}(h.length||f)&&l.push((n&&!c&&!a?o.map(n):o).join(", ")+" {"+h.join(" ")+"}")}for(let o in e)s(r(o),e[o],this.rules)}getRules(){return this.rules.join(` +`)}static newName(){let e=ea[Jl]||1;return ea[Jl]=e+1,Ts+e.toString(36)}static mount(e,t,n){let r=e[zs],s=n&&n.nonce;r?s&&r.setNonce(s):r=new Xs(e,s),r.mount(Array.isArray(t)?t:[t],e)}},ta=new Map,Xs=class{constructor(e,t){let n=e.ownerDocument||e,r=n.defaultView;if(!e.head&&e.adoptedStyleSheets&&r.CSSStyleSheet){let s=ta.get(n);if(s)return e[zs]=s;this.sheet=new r.CSSStyleSheet,ta.set(n,this)}else this.styleTag=n.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[zs]=this}mount(e,t){let n=this.sheet,r=0,s=0;for(let o=0;o<e.length;o++){let O=e[o],l=this.modules.indexOf(O);if(l<s&&l>-1&&(this.modules.splice(l,1),s--,l=-1),l==-1){if(this.modules.splice(s++,0,O),n)for(let a=0;a<O.rules.length;a++)n.insertRule(O.rules[a],r++)}else{for(;s<l;)r+=this.modules[s++].rules.length;r+=O.rules.length,s++}}if(n)t.adoptedStyleSheets.indexOf(this.sheet)<0&&(t.adoptedStyleSheets=[this.sheet,...t.adoptedStyleSheets]);else{let o="";for(let l=0;l<this.modules.length;l++)o+=this.modules[l].getRules()+` +`;this.styleTag.textContent=o;let O=t.head||t;this.styleTag.parentNode!=O&&O.insertBefore(this.styleTag,O.firstChild)}}setNonce(e){this.styleTag&&this.styleTag.getAttribute("nonce")!=e&&this.styleTag.setAttribute("nonce",e)}};var $t={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},$i={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},ap=typeof navigator<"u"&&/Mac/.test(navigator.platform),hp=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(re=0;re<10;re++)$t[48+re]=$t[96+re]=String(re);var re;for(re=1;re<=24;re++)$t[re+111]="F"+re;var re;for(re=65;re<=90;re++)$t[re]=String.fromCharCode(re+32),$i[re]=String.fromCharCode(re);var re;for(Dn in $t)$i.hasOwnProperty(Dn)||($i[Dn]=$t[Dn]);var Dn;function ia(i){var e=ap&&i.metaKey&&i.shiftKey&&!i.ctrlKey&&!i.altKey||hp&&i.shiftKey&&i.key&&i.key.length==1||i.key=="Unidentified",t=!e&&i.key||(i.shiftKey?$i:$t)[i.keyCode]||i.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}function tn(i){let e;return i.nodeType==11?e=i.getSelection?i:i.ownerDocument:e=i,e.getSelection()}function Cs(i,e){return e?i==e||i.contains(e.nodeType!=1?e.parentNode:e):!1}function ir(i,e){if(!e.anchorNode)return!1;try{return Cs(i,e.anchorNode)}catch{return!1}}function nn(i){return i.nodeType==3?ei(i,0,i.nodeValue.length).getClientRects():i.nodeType==1?i.getClientRects():[]}function Ni(i,e,t,n){return t?na(i,e,t,n,-1)||na(i,e,t,n,1):!1}function Jt(i){for(var e=0;;e++)if(i=i.previousSibling,!i)return e}function ar(i){return i.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(i.nodeName)}function na(i,e,t,n,r){for(;;){if(i==t&&e==n)return!0;if(e==(r<0?0:lt(i))){if(i.nodeName=="DIV")return!1;let s=i.parentNode;if(!s||s.nodeType!=1)return!1;e=Jt(i)+(r<0?0:1),i=s}else if(i.nodeType==1){if(i=i.childNodes[e+(r<0?-1:0)],i.nodeType==1&&i.contentEditable=="false")return!1;e=r<0?lt(i):0}else return!1}}function lt(i){return i.nodeType==3?i.nodeValue.length:i.childNodes.length}function Pr(i,e){let t=e?i.left:i.right;return{left:t,right:t,top:i.top,bottom:i.bottom}}function cp(i){let e=i.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:i.innerWidth,top:0,bottom:i.innerHeight}}function Ya(i,e){let t=e.width/i.offsetWidth,n=e.height/i.offsetHeight;return(t>.995&&t<1.005||!isFinite(t)||Math.abs(e.width-i.offsetWidth)<1)&&(t=1),(n>.995&&n<1.005||!isFinite(n)||Math.abs(e.height-i.offsetHeight)<1)&&(n=1),{scaleX:t,scaleY:n}}function fp(i,e,t,n,r,s,o,O){let l=i.ownerDocument,a=l.defaultView||window;for(let h=i,c=!1;h&&!c;)if(h.nodeType==1){let f,d=h==l.body,p=1,m=1;if(d)f=cp(a);else{if(/^(fixed|sticky)$/.test(getComputedStyle(h).position)&&(c=!0),h.scrollHeight<=h.clientHeight&&h.scrollWidth<=h.clientWidth){h=h.assignedSlot||h.parentNode;continue}let Q=h.getBoundingClientRect();({scaleX:p,scaleY:m}=Ya(h,Q)),f={left:Q.left,right:Q.left+h.clientWidth*p,top:Q.top,bottom:Q.top+h.clientHeight*m}}let g=0,$=0;if(r=="nearest")e.top<f.top?($=-(f.top-e.top+o),t>0&&e.bottom>f.bottom+$&&($=e.bottom-f.bottom+$+o)):e.bottom>f.bottom&&($=e.bottom-f.bottom+o,t<0&&e.top-$<f.top&&($=-(f.top+$-e.top+o)));else{let Q=e.bottom-e.top,b=f.bottom-f.top;$=(r=="center"&&Q<=b?e.top+Q/2-b/2:r=="start"||r=="center"&&t<0?e.top-o:e.bottom-b+o)-f.top}if(n=="nearest"?e.left<f.left?(g=-(f.left-e.left+s),t>0&&e.right>f.right+g&&(g=e.right-f.right+g+s)):e.right>f.right&&(g=e.right-f.right+s,t<0&&e.left<f.left+g&&(g=-(f.left+g-e.left+s))):g=(n=="center"?e.left+(e.right-e.left)/2-(f.right-f.left)/2:n=="start"==O?e.left-s:e.right-(f.right-f.left)+s)-f.left,g||$)if(d)a.scrollBy(g,$);else{let Q=0,b=0;if($){let k=h.scrollTop;h.scrollTop+=$/m,b=(h.scrollTop-k)*m}if(g){let k=h.scrollLeft;h.scrollLeft+=g/p,Q=(h.scrollLeft-k)*p}e={left:e.left-Q,top:e.top-b,right:e.right-Q,bottom:e.bottom-b},Q&&Math.abs(Q-g)<1&&(n="nearest"),b&&Math.abs(b-$)<1&&(r="nearest")}if(d)break;h=h.assignedSlot||h.parentNode}else if(h.nodeType==11)h=h.host;else break}function up(i){let e=i.ownerDocument,t,n;for(let r=i.parentNode;r&&!(r==e.body||t&&n);)if(r.nodeType==1)!n&&r.scrollHeight>r.clientHeight&&(n=r),!t&&r.scrollWidth>r.clientWidth&&(t=r),r=r.assignedSlot||r.parentNode;else if(r.nodeType==11)r=r.host;else break;return{x:t,y:n}}var Us=class{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:t,focusNode:n}=e;this.set(t,Math.min(e.anchorOffset,t?lt(t):0),n,Math.min(e.focusOffset,n?lt(n):0))}set(e,t,n,r){this.anchorNode=e,this.anchorOffset=t,this.focusNode=n,this.focusOffset=r}},Qi=null;function _a(i){if(i.setActive)return i.setActive();if(Qi)return i.focus(Qi);let e=[];for(let t=i;t&&(e.push(t,t.scrollTop,t.scrollLeft),t!=t.ownerDocument);t=t.parentNode);if(i.focus(Qi==null?{get preventScroll(){return Qi={preventScroll:!0},!0}}:void 0),!Qi){Qi=!1;for(let t=0;t<e.length;){let n=e[t++],r=e[t++],s=e[t++];n.scrollTop!=r&&(n.scrollTop=r),n.scrollLeft!=s&&(n.scrollLeft=s)}}}var ra;function ei(i,e,t=e){let n=ra||(ra=document.createRange());return n.setEnd(i,t),n.setStart(i,e),n}function Pi(i,e,t,n){let r={key:e,code:e,keyCode:t,which:t,cancelable:!0};n&&({altKey:r.altKey,ctrlKey:r.ctrlKey,shiftKey:r.shiftKey,metaKey:r.metaKey}=n);let s=new KeyboardEvent("keydown",r);s.synthetic=!0,i.dispatchEvent(s);let o=new KeyboardEvent("keyup",r);return o.synthetic=!0,i.dispatchEvent(o),s.defaultPrevented||o.defaultPrevented}function dp(i){for(;i;){if(i&&(i.nodeType==9||i.nodeType==11&&i.host))return i;i=i.assignedSlot||i.parentNode}return null}function ja(i){for(;i.attributes.length;)i.removeAttributeNode(i.attributes[0])}function pp(i,e){let t=e.focusNode,n=e.focusOffset;if(!t||e.anchorNode!=t||e.anchorOffset!=n)return!1;for(n=Math.min(n,lt(t));;)if(n){if(t.nodeType!=1)return!1;let r=t.childNodes[n-1];r.contentEditable=="false"?n--:(t=r,n=lt(t))}else{if(t==i)return!0;n=Jt(t),t=t.parentNode}}function Ma(i){return i.scrollTop>Math.max(1,i.scrollHeight-i.clientHeight-4)}function Ea(i,e){for(let t=i,n=e;;){if(t.nodeType==3&&n>0)return{node:t,offset:n};if(t.nodeType==1&&n>0){if(t.contentEditable=="false")return null;t=t.childNodes[n-1],n=lt(t)}else if(t.parentNode&&!ar(t))n=Jt(t),t=t.parentNode;else return null}}function La(i,e){for(let t=i,n=e;;){if(t.nodeType==3&&n<t.nodeValue.length)return{node:t,offset:n};if(t.nodeType==1&&n<t.childNodes.length){if(t.contentEditable=="false")return null;t=t.childNodes[n],n=0}else if(t.parentNode&&!ar(t))n=Jt(t)+1,t=t.parentNode;else return null}}var Se=class i{constructor(e,t,n=!0){this.node=e,this.offset=t,this.precise=n}static before(e,t){return new i(e.parentNode,Jt(e),t)}static after(e,t){return new i(e.parentNode,Jt(e)+1,t)}},So=[],K=class i{constructor(){this.parent=null,this.dom=null,this.flags=2}get overrideDOMText(){return null}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e){let t=this.posAtStart;for(let n of this.children){if(n==e)return t;t+=n.length+n.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}sync(e,t){if(this.flags&2){let n=this.dom,r=null,s;for(let o of this.children){if(o.flags&7){if(!o.dom&&(s=r?r.nextSibling:n.firstChild)){let O=i.get(s);(!O||!O.parent&&O.canReuseDOM(o))&&o.reuseDOM(s)}o.sync(e,t),o.flags&=-8}if(s=r?r.nextSibling:n.firstChild,t&&!t.written&&t.node==n&&s!=o.dom&&(t.written=!0),o.dom.parentNode==n)for(;s&&s!=o.dom;)s=sa(s);else n.insertBefore(o.dom,s);r=o.dom}for(s=r?r.nextSibling:n.firstChild,s&&t&&t.node==n&&(t.written=!0);s;)s=sa(s)}else if(this.flags&1)for(let n of this.children)n.flags&7&&(n.sync(e,t),n.flags&=-8)}reuseDOM(e){}localPosFromDOM(e,t){let n;if(e==this.dom)n=this.dom.childNodes[t];else{let r=lt(e)==0?0:t==0?-1:1;for(;;){let s=e.parentNode;if(s==this.dom)break;r==0&&s.firstChild!=s.lastChild&&(e==s.firstChild?r=-1:r=1),e=s}r<0?n=e:n=e.nextSibling}if(n==this.dom.firstChild)return 0;for(;n&&!i.get(n);)n=n.nextSibling;if(!n)return this.length;for(let r=0,s=0;;r++){let o=this.children[r];if(o.dom==n)return s;s+=o.length+o.breakAfter}}domBoundsAround(e,t,n=0){let r=-1,s=-1,o=-1,O=-1;for(let l=0,a=n,h=n;l<this.children.length;l++){let c=this.children[l],f=a+c.length;if(a<e&&f>t)return c.domBoundsAround(e,t,a);if(f>=e&&r==-1&&(r=l,s=a),a>t&&c.dom.parentNode==this.dom){o=l,O=h;break}h=f,a=f+c.breakAfter}return{from:s,to:O<0?n+this.length:O,startDOM:(r?this.children[r-1].dom.nextSibling:null)||this.dom.firstChild,endDOM:o<this.children.length&&o>=0?this.children[o].dom:null}}markDirty(e=!1){this.flags|=2,this.markParentsDirty(e)}markParentsDirty(e){for(let t=this.parent;t;t=t.parent){if(e&&(t.flags|=2),t.flags&1)return;t.flags|=1,e=!1}}setParent(e){this.parent!=e&&(this.parent=e,this.flags&7&&this.markParentsDirty(!0))}setDOM(e){this.dom!=e&&(this.dom&&(this.dom.cmView=null),this.dom=e,e.cmView=this)}get rootView(){for(let e=this;;){let t=e.parent;if(!t)return e;e=t}}replaceChildren(e,t,n=So){this.markDirty();for(let r=e;r<t;r++){let s=this.children[r];s.parent==this&&n.indexOf(s)<0&&s.destroy()}n.length<250?this.children.splice(e,t-e,...n):this.children=[].concat(this.children.slice(0,e),n,this.children.slice(t));for(let r=0;r<n.length;r++)n[r].setParent(this)}ignoreMutation(e){return!1}ignoreEvent(e){return!1}childCursor(e=this.length){return new hr(this.children,e,this.children.length)}childPos(e,t=1){return this.childCursor().findPos(e,t)}toString(){let e=this.constructor.name.replace("View","");return e+(this.children.length?"("+this.children.join()+")":this.length?"["+(e=="Text"?this.text:this.length)+"]":"")+(this.breakAfter?"#":"")}static get(e){return e.cmView}get isEditable(){return!0}get isWidget(){return!1}get isHidden(){return!1}merge(e,t,n,r,s,o){return!1}become(e){return!1}canReuseDOM(e){return e.constructor==this.constructor&&!((this.flags|e.flags)&8)}getSide(){return 0}destroy(){for(let e of this.children)e.parent==this&&e.destroy();this.parent=null}};K.prototype.breakAfter=0;function sa(i){let e=i.nextSibling;return i.parentNode.removeChild(i),e}var hr=class{constructor(e,t,n){this.children=e,this.pos=t,this.i=n,this.off=0}findPos(e,t=1){for(;;){if(e>this.pos||e==this.pos&&(t>0||this.i==0||this.children[this.i-1].breakAfter))return this.off=e-this.pos,this;let n=this.children[--this.i];this.pos-=n.length+n.breakAfter}}};function Ga(i,e,t,n,r,s,o,O,l){let{children:a}=i,h=a.length?a[e]:null,c=s.length?s[s.length-1]:null,f=c?c.breakAfter:o;if(!(e==n&&h&&!o&&!f&&s.length<2&&h.merge(t,r,s.length?c:null,t==0,O,l))){if(n<a.length){let d=a[n];d&&(r<d.length||d.breakAfter&&c?.breakAfter)?(e==n&&(d=d.split(r),r=0),!f&&c&&d.merge(0,r,c,!0,0,l)?s[s.length-1]=d:((r||d.children.length&&!d.children[0].length)&&d.merge(0,r,null,!1,0,l),s.push(d))):d?.breakAfter&&(c?c.breakAfter=1:o=1),n++}for(h&&(h.breakAfter=o,t>0&&(!o&&s.length&&h.merge(t,h.length,s[0],!1,O,0)?h.breakAfter=s.shift().breakAfter:(t<h.length||h.children.length&&h.children[h.children.length-1].length==0)&&h.merge(t,h.length,null,!1,O,0),e++));e<n&&s.length;)if(a[n-1].become(s[s.length-1]))n--,s.pop(),l=s.length?0:O;else if(a[e].become(s[0]))e++,s.shift(),O=s.length?0:l;else break;!s.length&&e&&n<a.length&&!a[e-1].breakAfter&&a[n].merge(0,0,a[e-1],!1,O,l)&&e--,(e<n||s.length)&&i.replaceChildren(e,n,s)}}function Ba(i,e,t,n,r,s){let o=i.childCursor(),{i:O,off:l}=o.findPos(t,1),{i:a,off:h}=o.findPos(e,-1),c=e-t;for(let f of n)c+=f.length;i.length+=c,Ga(i,a,h,O,l,n,0,r,s)}var we=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},As=typeof document<"u"?document:{documentElement:{style:{}}},Ys=/Edge\/(\d+)/.exec(we.userAgent),Da=/MSIE \d/.test(we.userAgent),_s=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(we.userAgent),br=!!(Da||_s||Ys),oa=!br&&/gecko\/(\d+)/i.test(we.userAgent),Rs=!br&&/Chrome\/(\d+)/.exec(we.userAgent),Oa="webkitFontSmoothing"in As.documentElement.style,Ia=!br&&/Apple Computer/.test(we.vendor),la=Ia&&(/Mobile\/\w+/.test(we.userAgent)||we.maxTouchPoints>2),z={mac:la||/Mac/.test(we.platform),windows:/Win/.test(we.platform),linux:/Linux|X11/.test(we.platform),ie:br,ie_version:Da?As.documentMode||6:_s?+_s[1]:Ys?+Ys[1]:0,gecko:oa,gecko_version:oa?+(/Firefox\/(\d+)/.exec(we.userAgent)||[0,0])[1]:0,chrome:!!Rs,chrome_version:Rs?+Rs[1]:0,ios:la,android:/Android\b/.test(we.userAgent),webkit:Oa,safari:Ia,webkit_version:Oa?+(/\bAppleWebKit\/(\d+)/.exec(we.userAgent)||[0,0])[1]:0,tabSize:As.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"},mp=256,at=class i extends K{constructor(e){super(),this.text=e}get length(){return this.text.length}createDOM(e){this.setDOM(e||document.createTextNode(this.text))}sync(e,t){this.dom||this.createDOM(),this.dom.nodeValue!=this.text&&(t&&t.node==this.dom&&(t.written=!0),this.dom.nodeValue=this.text)}reuseDOM(e){e.nodeType==3&&this.createDOM(e)}merge(e,t,n){return this.flags&8||n&&(!(n instanceof i)||this.length-(t-e)+n.length>mp||n.flags&8)?!1:(this.text=this.text.slice(0,e)+(n?n.text:"")+this.text.slice(t),this.markDirty(),!0)}split(e){let t=new i(this.text.slice(e));return this.text=this.text.slice(0,e),this.markDirty(),t.flags|=this.flags&8,t}localPosFromDOM(e,t){return e==this.dom?t:t?this.text.length:0}domAtPos(e){return new Se(this.dom,e)}domBoundsAround(e,t,n){return{from:n,to:n+this.length,startDOM:this.dom,endDOM:this.dom.nextSibling}}coordsAt(e,t){return gp(this.dom,e,t)}},Rt=class i extends K{constructor(e,t=[],n=0){super(),this.mark=e,this.children=t,this.length=n;for(let r of t)r.setParent(this)}setAttrs(e){if(ja(e),this.mark.class&&(e.className=this.mark.class),this.mark.attrs)for(let t in this.mark.attrs)e.setAttribute(t,this.mark.attrs[t]);return e}canReuseDOM(e){return super.canReuseDOM(e)&&!((this.flags|e.flags)&8)}reuseDOM(e){e.nodeName==this.mark.tagName.toUpperCase()&&(this.setDOM(e),this.flags|=6)}sync(e,t){this.dom?this.flags&4&&this.setAttrs(this.dom):this.setDOM(this.setAttrs(document.createElement(this.mark.tagName))),super.sync(e,t)}merge(e,t,n,r,s,o){return n&&(!(n instanceof i&&n.mark.eq(this.mark))||e&&s<=0||t<this.length&&o<=0)?!1:(Ba(this,e,t,n?n.children.slice():[],s-1,o-1),this.markDirty(),!0)}split(e){let t=[],n=0,r=-1,s=0;for(let O of this.children){let l=n+O.length;l>e&&t.push(n<e?O.split(e-n):O),r<0&&n>=e&&(r=s),n=l,s++}let o=this.length-e;return this.length=e,r>-1&&(this.children.length=r,this.markDirty()),new i(this.mark,t,o)}domAtPos(e){return Na(this,e)}coordsAt(e,t){return Fa(this,e,t)}};function gp(i,e,t){let n=i.nodeValue.length;e>n&&(e=n);let r=e,s=e,o=0;e==0&&t<0||e==n&&t>=0?z.chrome||z.gecko||(e?(r--,o=1):s<n&&(s++,o=-1)):t<0?r--:s<n&&s++;let O=ei(i,r,s).getClientRects();if(!O.length)return null;let l=O[(o?o<0:t>=0)?0:O.length-1];return z.safari&&!o&&l.width==0&&(l=Array.prototype.find.call(O,a=>a.width)||l),o?Pr(l,o<0):l||null}var cr=class i extends K{static create(e,t,n){return new i(e,t,n)}constructor(e,t,n){super(),this.widget=e,this.length=t,this.side=n,this.prevWidget=null}split(e){let t=i.create(this.widget,this.length-e,this.side);return this.length-=e,t}sync(e){(!this.dom||!this.widget.updateDOM(this.dom,e))&&(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(e)),this.widget.editable||(this.dom.contentEditable="false"))}getSide(){return this.side}merge(e,t,n,r,s,o){return n&&(!(n instanceof i)||!this.widget.compare(n.widget)||e>0&&s<=0||t<this.length&&o<=0)?!1:(this.length=e+(n?n.length:0)+(this.length-t),!0)}become(e){return e instanceof i&&e.side==this.side&&this.widget.constructor==e.widget.constructor?(this.widget.compare(e.widget)||this.markDirty(!0),this.dom&&!this.prevWidget&&(this.prevWidget=this.widget),this.widget=e.widget,this.length=e.length,!0):!1}ignoreMutation(){return!0}ignoreEvent(e){return this.widget.ignoreEvent(e)}get overrideDOMText(){if(this.length==0)return U.empty;let e=this;for(;e.parent;)e=e.parent;let{view:t}=e,n=t&&t.state.doc,r=this.posAtStart;return n?n.slice(r,r+this.length):U.empty}domAtPos(e){return(this.length?e==0:this.side>0)?Se.before(this.dom):Se.after(this.dom,e==this.length)}domBoundsAround(){return null}coordsAt(e,t){let n=this.widget.coordsAt(this.dom,e,t);if(n)return n;let r=this.dom.getClientRects(),s=null;if(!r.length)return null;let o=this.side?this.side<0:e>0;for(let O=o?r.length-1:0;s=r[O],!(e>0?O==0:O==r.length-1||s.top<s.bottom);O+=o?-1:1);return Pr(s,!o)}get isEditable(){return!1}get isWidget(){return!0}get isHidden(){return this.widget.isHidden}destroy(){super.destroy(),this.dom&&this.widget.destroy(this.dom)}},rn=class i extends K{constructor(e){super(),this.side=e}get length(){return 0}merge(){return!1}become(e){return e instanceof i&&e.side==this.side}split(){return new i(this.side)}sync(){if(!this.dom){let e=document.createElement("img");e.className="cm-widgetBuffer",e.setAttribute("aria-hidden","true"),this.setDOM(e)}}getSide(){return this.side}domAtPos(e){return this.side>0?Se.before(this.dom):Se.after(this.dom)}localPosFromDOM(){return 0}domBoundsAround(){return null}coordsAt(e){return this.dom.getBoundingClientRect()}get overrideDOMText(){return U.empty}get isHidden(){return!0}};at.prototype.children=cr.prototype.children=rn.prototype.children=So;function Na(i,e){let t=i.dom,{children:n}=i,r=0;for(let s=0;r<n.length;r++){let o=n[r],O=s+o.length;if(!(O==s&&o.getSide()<=0)){if(e>s&&e<O&&o.dom.parentNode==t)return o.domAtPos(e-s);if(e<=s)break;s=O}}for(let s=r;s>0;s--){let o=n[s-1];if(o.dom.parentNode==t)return o.domAtPos(o.length)}for(let s=r;s<n.length;s++){let o=n[s];if(o.dom.parentNode==t)return o.domAtPos(0)}return new Se(t,0)}function Ha(i,e,t){let n,{children:r}=i;t>0&&e instanceof Rt&&r.length&&(n=r[r.length-1])instanceof Rt&&n.mark.eq(e.mark)?Ha(n,e.children[0],t-1):(r.push(e),e.setParent(i)),i.length+=e.length}function Fa(i,e,t){let n=null,r=-1,s=null,o=-1;function O(a,h){for(let c=0,f=0;c<a.children.length&&f<=h;c++){let d=a.children[c],p=f+d.length;p>=h&&(d.children.length?O(d,h-f):(!s||s.isHidden&&t>0)&&(p>h||f==p&&d.getSide()>0)?(s=d,o=h-f):(f<h||f==p&&d.getSide()<0&&!d.isHidden)&&(n=d,r=h-f)),f=p}}O(i,e);let l=(t<0?n:s)||n||s;return l?l.coordsAt(Math.max(0,l==n?r:o),t):$p(i)}function $p(i){let e=i.dom.lastChild;if(!e)return i.dom.getBoundingClientRect();let t=nn(e);return t[t.length-1]||null}function js(i,e){for(let t in i)t=="class"&&e.class?e.class+=" "+i.class:t=="style"&&e.style?e.style+=";"+i.style:e[t]=i[t];return e}var aa=Object.create(null);function fr(i,e,t){if(i==e)return!0;i||(i=aa),e||(e=aa);let n=Object.keys(i),r=Object.keys(e);if(n.length-(t&&n.indexOf(t)>-1?1:0)!=r.length-(t&&r.indexOf(t)>-1?1:0))return!1;for(let s of n)if(s!=t&&(r.indexOf(s)==-1||i[s]!==e[s]))return!1;return!0}function Ms(i,e,t){let n=!1;if(e)for(let r in e)t&&r in t||(n=!0,r=="style"?i.style.cssText="":i.removeAttribute(r));if(t)for(let r in t)e&&e[r]==t[r]||(n=!0,r=="style"?i.style.cssText=t[r]:i.setAttribute(r,t[r]));return n}function Qp(i){let e=Object.create(null);for(let t=0;t<i.attributes.length;t++){let n=i.attributes[t];e[n.name]=n.value}return e}var Zt=class{eq(e){return!1}updateDOM(e,t){return!1}compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}get estimatedHeight(){return-1}get lineBreaks(){return 0}ignoreEvent(e){return!0}coordsAt(e,t,n){return null}get isHidden(){return!1}get editable(){return!1}destroy(e){}},ye=function(i){return i[i.Text=0]="Text",i[i.WidgetBefore=1]="WidgetBefore",i[i.WidgetAfter=2]="WidgetAfter",i[i.WidgetRange=3]="WidgetRange",i}(ye||(ye={})),_=class extends Ie{constructor(e,t,n,r){super(),this.startSide=e,this.endSide=t,this.widget=n,this.spec=r}get heightRelevant(){return!1}static mark(e){return new sn(e)}static widget(e){let t=Math.max(-1e4,Math.min(1e4,e.side||0)),n=!!e.block;return t+=n&&!e.inlineOrder?t>0?3e8:-4e8:t>0?1e8:-1e8,new Wt(e,t,t,n,e.widget||null,!1)}static replace(e){let t=!!e.block,n,r;if(e.isBlockGap)n=-5e8,r=4e8;else{let{start:s,end:o}=Ka(e,t);n=(s?t?-3e8:-1:5e8)-1,r=(o?t?2e8:1:-6e8)+1}return new Wt(e,n,r,t,e.widget||null,!0)}static line(e){return new on(e)}static set(e,t=!1){return F.of(e,t)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}};_.none=F.empty;var sn=class i extends _{constructor(e){let{start:t,end:n}=Ka(e);super(t?-1:5e8,n?1:-6e8,null,e),this.tagName=e.tagName||"span",this.class=e.class||"",this.attrs=e.attributes||null}eq(e){var t,n;return this==e||e instanceof i&&this.tagName==e.tagName&&(this.class||((t=this.attrs)===null||t===void 0?void 0:t.class))==(e.class||((n=e.attrs)===null||n===void 0?void 0:n.class))&&fr(this.attrs,e.attrs,"class")}range(e,t=e){if(e>=t)throw new RangeError("Mark decorations may not be empty");return super.range(e,t)}};sn.prototype.point=!1;var on=class i extends _{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof i&&this.spec.class==e.spec.class&&fr(this.spec.attributes,e.spec.attributes)}range(e,t=e){if(t!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}};on.prototype.mapMode=le.TrackBefore;on.prototype.point=!0;var Wt=class i extends _{constructor(e,t,n,r,s,o){super(t,n,s,e),this.block=r,this.isReplace=o,this.mapMode=r?t<=0?le.TrackBefore:le.TrackAfter:le.TrackDel}get type(){return this.startSide!=this.endSide?ye.WidgetRange:this.startSide<=0?ye.WidgetBefore:ye.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof i&&Sp(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}};Wt.prototype.point=!0;function Ka(i,e=!1){let{inclusiveStart:t,inclusiveEnd:n}=i;return t==null&&(t=i.inclusive),n==null&&(n=i.inclusive),{start:t??e,end:n??e}}function Sp(i,e){return i==e||!!(i&&e&&i.compare(e))}function nr(i,e,t,n=0){let r=t.length-1;r>=0&&t[r]+n>=i?t[r]=Math.max(t[r],e):t.push(i,e)}var he=class i extends K{constructor(){super(...arguments),this.children=[],this.length=0,this.prevAttrs=void 0,this.attrs=null,this.breakAfter=0}merge(e,t,n,r,s,o){if(n){if(!(n instanceof i))return!1;this.dom||n.transferDOM(this)}return r&&this.setDeco(n?n.attrs:null),Ba(this,e,t,n?n.children.slice():[],s,o),!0}split(e){let t=new i;if(t.breakAfter=this.breakAfter,this.length==0)return t;let{i:n,off:r}=this.childPos(e);r&&(t.append(this.children[n].split(r),0),this.children[n].merge(r,this.children[n].length,null,!1,0,0),n++);for(let s=n;s<this.children.length;s++)t.append(this.children[s],0);for(;n>0&&this.children[n-1].length==0;)this.children[--n].destroy();return this.children.length=n,this.markDirty(),this.length=e,t}transferDOM(e){this.dom&&(this.markDirty(),e.setDOM(this.dom),e.prevAttrs=this.prevAttrs===void 0?this.attrs:this.prevAttrs,this.prevAttrs=void 0,this.dom=null)}setDeco(e){fr(this.attrs,e)||(this.dom&&(this.prevAttrs=this.attrs,this.markDirty()),this.attrs=e)}append(e,t){Ha(this,e,t)}addLineDeco(e){let t=e.spec.attributes,n=e.spec.class;t&&(this.attrs=js(t,this.attrs||{})),n&&(this.attrs=js({class:n},this.attrs||{}))}domAtPos(e){return Na(this,e)}reuseDOM(e){e.nodeName=="DIV"&&(this.setDOM(e),this.flags|=6)}sync(e,t){var n;this.dom?this.flags&4&&(ja(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&&(Ms(this.dom,this.prevAttrs,this.attrs),this.dom.classList.add("cm-line"),this.prevAttrs=void 0),super.sync(e,t);let r=this.dom.lastChild;for(;r&&K.get(r)instanceof Rt;)r=r.lastChild;if(!r||!this.length||r.nodeName!="BR"&&((n=K.get(r))===null||n===void 0?void 0:n.isEditable)==!1&&(!z.ios||!this.children.some(s=>s instanceof at))){let s=document.createElement("BR");s.cmIgnore=!0,this.dom.appendChild(s)}}measureTextSize(){if(this.children.length==0||this.length>20)return null;let e=0,t;for(let n of this.children){if(!(n instanceof at)||/[^ -~]/.test(n.text))return null;let r=nn(n.dom);if(r.length!=1)return null;e+=r[0].width,t=r[0].height}return e?{lineHeight:this.dom.getBoundingClientRect().height,charWidth:e/this.length,textHeight:t}:null}coordsAt(e,t){let n=Fa(this,e,t);if(!this.children.length&&n&&this.parent){let{heightOracle:r}=this.parent.view.viewState,s=n.bottom-n.top;if(Math.abs(s-r.lineHeight)<2&&r.textHeight<s){let o=(s-r.textHeight)/2;return{top:n.top+o,bottom:n.bottom-o,left:n.left,right:n.left}}}return n}become(e){return e instanceof i&&this.children.length==0&&e.children.length==0&&fr(this.attrs,e.attrs)&&this.breakAfter==e.breakAfter}covers(){return!0}static find(e,t){for(let n=0,r=0;n<e.children.length;n++){let s=e.children[n],o=r+s.length;if(o>=t){if(s instanceof i)return s;if(o>t)break}r=o+s.breakAfter}return null}},Kt=class i extends K{constructor(e,t,n){super(),this.widget=e,this.length=t,this.deco=n,this.breakAfter=0,this.prevWidget=null}merge(e,t,n,r,s,o){return n&&(!(n instanceof i)||!this.widget.compare(n.widget)||e>0&&s<=0||t<this.length&&o<=0)?!1:(this.length=e+(n?n.length:0)+(this.length-t),!0)}domAtPos(e){return e==0?Se.before(this.dom):Se.after(this.dom,e==this.length)}split(e){let t=this.length-e;this.length=e;let n=new i(this.widget,t,this.deco);return n.breakAfter=this.breakAfter,n}get children(){return So}sync(e){(!this.dom||!this.widget.updateDOM(this.dom,e))&&(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(e)),this.widget.editable||(this.dom.contentEditable="false"))}get overrideDOMText(){return this.parent?this.parent.view.state.doc.slice(this.posAtStart,this.posAtEnd):U.empty}domBoundsAround(){return null}become(e){return e instanceof i&&e.widget.constructor==this.widget.constructor?(e.widget.compare(this.widget)||this.markDirty(!0),this.dom&&!this.prevWidget&&(this.prevWidget=this.widget),this.widget=e.widget,this.length=e.length,this.deco=e.deco,this.breakAfter=e.breakAfter,!0):!1}ignoreMutation(){return!0}ignoreEvent(e){return this.widget.ignoreEvent(e)}get isEditable(){return!1}get isWidget(){return!0}coordsAt(e,t){let n=this.widget.coordsAt(this.dom,e,t);return n||(this.widget instanceof On?null:Pr(this.dom.getBoundingClientRect(),this.length?e==0:t<=0))}destroy(){super.destroy(),this.dom&&this.widget.destroy(this.dom)}covers(e){let{startSide:t,endSide:n}=this.deco;return t==n?!1:e<0?t<0:n>0}},On=class extends Zt{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}},Hi=class i{constructor(e,t,n,r){this.doc=e,this.pos=t,this.end=n,this.disallowBlockEffectsFor=r,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=e.iter(),this.skip=t}posCovered(){if(this.content.length==0)return!this.breakAtStart&&this.doc.lineAt(this.pos).from!=this.pos;let e=this.content[this.content.length-1];return!(e.breakAfter||e instanceof Kt&&e.deco.endSide<0)}getLine(){return this.curLine||(this.content.push(this.curLine=new he),this.atCursorPos=!0),this.curLine}flushBuffer(e=this.bufferMarks){this.pendingBuffer&&(this.curLine.append(In(new rn(-1),e),e.length),this.pendingBuffer=0)}addBlockWidget(e){this.flushBuffer(),this.curLine=null,this.content.push(e)}finish(e){this.pendingBuffer&&e<=this.bufferMarks.length?this.flushBuffer():this.pendingBuffer=0,!this.posCovered()&&!(e&&this.content.length&&this.content[this.content.length-1]instanceof Kt)&&this.getLine()}buildText(e,t,n){for(;e>0;){if(this.textOff==this.text.length){let{value:s,lineBreak:o,done:O}=this.cursor.next(this.skip);if(this.skip=0,O)throw new Error("Ran out of text content when drawing inline views");if(o){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,e--;continue}else this.text=s,this.textOff=0}let r=Math.min(this.text.length-this.textOff,e,512);this.flushBuffer(t.slice(t.length-n)),this.getLine().append(In(new at(this.text.slice(this.textOff,this.textOff+r)),t),n),this.atCursorPos=!0,this.textOff+=r,e-=r,n=0}}span(e,t,n,r){this.buildText(t-e,n,r),this.pos=t,this.openStart<0&&(this.openStart=r)}point(e,t,n,r,s,o){if(this.disallowBlockEffectsFor[o]&&n instanceof Wt){if(n.block)throw new RangeError("Block decorations may not be specified via plugins");if(t>this.doc.lineAt(this.pos).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}let O=t-e;if(n instanceof Wt)if(n.block)n.startSide>0&&!this.posCovered()&&this.getLine(),this.addBlockWidget(new Kt(n.widget||qt.block,O,n));else{let l=cr.create(n.widget||qt.inline,O,O?0:n.startSide),a=this.atCursorPos&&!l.isEditable&&s<=r.length&&(e<t||n.startSide>0),h=!l.isEditable&&(e<t||s>r.length||n.startSide<=0),c=this.getLine();this.pendingBuffer==2&&!a&&!l.isEditable&&(this.pendingBuffer=0),this.flushBuffer(r),a&&(c.append(In(new rn(1),r),s),s=r.length+Math.max(0,s-r.length)),c.append(In(l,r),s),this.atCursorPos=h,this.pendingBuffer=h?e<t||s>r.length?1:2:0,this.pendingBuffer&&(this.bufferMarks=r.slice())}else this.doc.lineAt(this.pos).from==this.pos&&this.getLine().addLineDeco(n);O&&(this.textOff+O<=this.text.length?this.textOff+=O:(this.skip+=O-(this.text.length-this.textOff),this.text="",this.textOff=0),this.pos=t),this.openStart<0&&(this.openStart=s)}static build(e,t,n,r,s){let o=new i(e,t,n,s);return o.openEnd=F.spans(r,t,n,o),o.openStart<0&&(o.openStart=o.openEnd),o.finish(o.openEnd),o}};function In(i,e){for(let t of e)i=new Rt(t,[i],i.length);return i}var qt=class extends Zt{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}};qt.inline=new qt("span");qt.block=new qt("div");var ee=function(i){return i[i.LTR=0]="LTR",i[i.RTL=1]="RTL",i}(ee||(ee={})),ti=ee.LTR,yo=ee.RTL;function Ja(i){let e=[];for(let t=0;t<i.length;t++)e.push(1<<+i[t]);return e}var yp=Ja("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),Pp=Ja("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),Es=Object.create(null),rt=[];for(let i of["()","[]","{}"]){let e=i.charCodeAt(0),t=i.charCodeAt(1);Es[e]=t,Es[t]=-e}function eh(i){return i<=247?yp[i]:1424<=i&&i<=1524?2:1536<=i&&i<=1785?Pp[i-1536]:1774<=i&&i<=2220?4:8192<=i&&i<=8204?256:64336<=i&&i<=65023?4:1}var bp=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/,ot=class{get dir(){return this.level%2?yo:ti}constructor(e,t,n){this.from=e,this.to=t,this.level=n}side(e,t){return this.dir==t==e?this.to:this.from}forward(e,t){return e==(this.dir==t)}static find(e,t,n,r){let s=-1;for(let o=0;o<e.length;o++){let O=e[o];if(O.from<=t&&O.to>=t){if(O.level==n)return o;(s<0||(r!=0?r<0?O.from<t:O.to>t:e[s].level>O.level))&&(s=o)}}if(s<0)throw new RangeError("Index out of range");return s}};function th(i,e){if(i.length!=e.length)return!1;for(let t=0;t<i.length;t++){let n=i[t],r=e[t];if(n.from!=r.from||n.to!=r.to||n.direction!=r.direction||!th(n.inner,r.inner))return!1}return!0}var N=[];function xp(i,e,t,n,r){for(let s=0;s<=n.length;s++){let o=s?n[s-1].to:e,O=s<n.length?n[s].from:t,l=s?256:r;for(let a=o,h=l,c=l;a<O;a++){let f=eh(i.charCodeAt(a));f==512?f=h:f==8&&c==4&&(f=16),N[a]=f==4?2:f,f&7&&(c=f),h=f}for(let a=o,h=l,c=l;a<O;a++){let f=N[a];if(f==128)a<O-1&&h==N[a+1]&&h&24?f=N[a]=h:N[a]=256;else if(f==64){let d=a+1;for(;d<O&&N[d]==64;)d++;let p=a&&h==8||d<t&&N[d]==8?c==1?1:8:256;for(let m=a;m<d;m++)N[m]=p;a=d-1}else f==8&&c==1&&(N[a]=1);h=f,f&7&&(c=f)}}}function kp(i,e,t,n,r){let s=r==1?2:1;for(let o=0,O=0,l=0;o<=n.length;o++){let a=o?n[o-1].to:e,h=o<n.length?n[o].from:t;for(let c=a,f,d,p;c<h;c++)if(d=Es[f=i.charCodeAt(c)])if(d<0){for(let m=O-3;m>=0;m-=3)if(rt[m+1]==-d){let g=rt[m+2],$=g&2?r:g&4?g&1?s:r:0;$&&(N[c]=N[rt[m]]=$),O=m;break}}else{if(rt.length==189)break;rt[O++]=c,rt[O++]=f,rt[O++]=l}else if((p=N[c])==2||p==1){let m=p==r;l=m?0:1;for(let g=O-3;g>=0;g-=3){let $=rt[g+2];if($&2)break;if(m)rt[g+2]|=2;else{if($&4)break;rt[g+2]|=4}}}}}function wp(i,e,t,n){for(let r=0,s=n;r<=t.length;r++){let o=r?t[r-1].to:i,O=r<t.length?t[r].from:e;for(let l=o;l<O;){let a=N[l];if(a==256){let h=l+1;for(;;)if(h==O){if(r==t.length)break;h=t[r++].to,O=r<t.length?t[r].from:e}else if(N[h]==256)h++;else break;let c=s==1,f=(h<e?N[h]:n)==1,d=c==f?c?1:2:n;for(let p=h,m=r,g=m?t[m-1].to:i;p>l;)p==g&&(p=t[--m].from,g=m?t[m-1].to:i),N[--p]=d;l=h}else s=a,l++}}}function Ls(i,e,t,n,r,s,o){let O=n%2?2:1;if(n%2==r%2)for(let l=e,a=0;l<t;){let h=!0,c=!1;if(a==s.length||l<s[a].from){let m=N[l];m!=O&&(h=!1,c=m==16)}let f=!h&&O==1?[]:null,d=h?n:n+1,p=l;e:for(;;)if(a<s.length&&p==s[a].from){if(c)break e;let m=s[a];if(!h)for(let g=m.to,$=a+1;;){if(g==t)break e;if($<s.length&&s[$].from==g)g=s[$++].to;else{if(N[g]==O)break e;break}}if(a++,f)f.push(m);else{m.from>l&&o.push(new ot(l,m.from,d));let g=m.direction==ti!=!(d%2);Gs(i,g?n+1:n,r,m.inner,m.from,m.to,o),l=m.to}p=m.to}else{if(p==t||(h?N[p]!=O:N[p]==O))break;p++}f?Ls(i,l,p,n+1,r,f,o):l<p&&o.push(new ot(l,p,d)),l=p}else for(let l=t,a=s.length;l>e;){let h=!0,c=!1;if(!a||l>s[a-1].to){let m=N[l-1];m!=O&&(h=!1,c=m==16)}let f=!h&&O==1?[]:null,d=h?n:n+1,p=l;e:for(;;)if(a&&p==s[a-1].to){if(c)break e;let m=s[--a];if(!h)for(let g=m.from,$=a;;){if(g==e)break e;if($&&s[$-1].to==g)g=s[--$].from;else{if(N[g-1]==O)break e;break}}if(f)f.push(m);else{m.to<l&&o.push(new ot(m.to,l,d));let g=m.direction==ti!=!(d%2);Gs(i,g?n+1:n,r,m.inner,m.from,m.to,o),l=m.from}p=m.from}else{if(p==e||(h?N[p-1]!=O:N[p-1]==O))break;p--}f?Ls(i,p,l,n+1,r,f,o):p<l&&o.push(new ot(p,l,d)),l=p}}function Gs(i,e,t,n,r,s,o){let O=e%2?2:1;xp(i,r,s,n,O),kp(i,r,s,n,O),wp(r,s,n,O),Ls(i,r,s,e,t,n,o)}function vp(i,e,t){if(!i)return[new ot(0,0,e==yo?1:0)];if(e==ti&&!t.length&&!bp.test(i))return ih(i.length);if(t.length)for(;i.length>N.length;)N[N.length]=256;let n=[],r=e==ti?0:1;return Gs(i,r,r,t,0,i.length,n),n}function ih(i){return[new ot(0,i,0)]}var nh="";function Tp(i,e,t,n,r){var s;let o=n.head-i.from,O=ot.find(e,o,(s=n.bidiLevel)!==null&&s!==void 0?s:-1,n.assoc),l=e[O],a=l.side(r,t);if(o==a){let f=O+=r?1:-1;if(f<0||f>=e.length)return null;l=e[O=f],o=l.side(!r,t),a=l.side(r,t)}let h=ae(i.text,o,l.forward(r,t));(h<l.from||h>l.to)&&(h=a),nh=i.text.slice(Math.min(o,h),Math.max(o,h));let c=O==(r?e.length-1:0)?null:e[O+(r?1:-1)];return c&&h==a&&c.level+(r?0:1)<l.level?S.cursor(c.side(!r,t)+i.from,c.forward(r,t)?1:-1,c.level):S.cursor(h+i.from,l.forward(r,t)?-1:1,l.level)}function zp(i,e,t){for(let n=e;n<t;n++){let r=eh(i.charCodeAt(n));if(r==1)return ti;if(r==2||r==4)return yo}return ti}var rh=X.define(),sh=X.define(),oh=X.define(),Oh=X.define(),Bs=X.define(),lh=X.define(),ah=X.define(),Po=X.define(),bo=X.define(),hh=X.define({combine:i=>i.some(e=>e)}),ch=X.define({combine:i=>i.some(e=>e)}),fh=X.define(),Fi=class i{constructor(e,t="nearest",n="nearest",r=5,s=5,o=!1){this.range=e,this.y=t,this.x=n,this.yMargin=r,this.xMargin=s,this.isSnapshot=o}map(e){return e.empty?this:new i(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new i(S.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}},Nn=B.define({map:(i,e)=>i.map(e)}),uh=B.define();function Me(i,e,t){let n=i.facet(Oh);n.length?n[0](e):window.onerror?window.onerror(String(e),t,void 0,void 0,e):t?console.error(t+":",e):console.error(e)}var Qt=X.define({combine:i=>i.length?i[0]:!0}),Xp=0,Li=X.define(),Ee=class i{constructor(e,t,n,r,s){this.id=e,this.create=t,this.domEventHandlers=n,this.domEventObservers=r,this.extension=s(this)}static define(e,t){let{eventHandlers:n,eventObservers:r,provide:s,decorations:o}=t||{};return new i(Xp++,e,n,r,O=>{let l=[Li.of(O)];return o&&l.push(ln.of(a=>{let h=a.plugin(O);return h?o(h):_.none})),s&&l.push(s(O)),l})}static fromClass(e,t){return i.define(n=>new e(n),t)}},Ki=class{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}update(e){if(this.value){if(this.mustUpdate){let t=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(t)}catch(n){if(Me(t.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(e)}catch(t){Me(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(!((t=this.value)===null||t===void 0)&&t.destroy)try{this.value.destroy()}catch(n){Me(e.state,n,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}},dh=X.define(),xo=X.define(),ln=X.define(),ph=X.define(),ko=X.define(),mh=X.define();function ha(i,e){let t=i.state.facet(mh);if(!t.length)return t;let n=t.map(s=>s instanceof Function?s(i):s),r=[];return F.spans(n,e.from,e.to,{point(){},span(s,o,O,l){let a=s-e.from,h=o-e.from,c=r;for(let f=O.length-1;f>=0;f--,l--){let d=O[f].spec.bidiIsolate,p;if(d==null&&(d=zp(e.text,a,h)),l>0&&c.length&&(p=c[c.length-1]).to==a&&p.direction==d)p.to=h,c=p.inner;else{let m={from:a,to:h,direction:d,inner:[]};c.push(m),c=m.inner}}}}),r}var gh=X.define();function $h(i){let e=0,t=0,n=0,r=0;for(let s of i.state.facet(gh)){let o=s(i);o&&(o.left!=null&&(e=Math.max(e,o.left)),o.right!=null&&(t=Math.max(t,o.right)),o.top!=null&&(n=Math.max(n,o.top)),o.bottom!=null&&(r=Math.max(r,o.bottom)))}return{left:e,right:t,top:n,bottom:r}}var Gi=X.define(),Ot=class i{constructor(e,t,n,r){this.fromA=e,this.toA=t,this.fromB=n,this.toB=r}join(e){return new i(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let t=e.length,n=this;for(;t>0;t--){let r=e[t-1];if(!(r.fromA>n.toA)){if(r.toA<n.fromA)break;n=n.join(r),e.splice(t-1,1)}}return e.splice(t,0,n),e}static extendWithRanges(e,t){if(t.length==0)return e;let n=[];for(let r=0,s=0,o=0,O=0;;r++){let l=r==e.length?null:e[r],a=o-O,h=l?l.fromB:1e9;for(;s<t.length&&t[s]<h;){let c=t[s],f=t[s+1],d=Math.max(O,c),p=Math.min(h,f);if(d<=p&&new i(d+a,p+a,d,p).addToSet(n),f>h)break;s+=2}if(!l)return n;new i(l.fromA,l.toA,l.fromB,l.toB).addToSet(n),o=l.toA,O=l.toB}}},ur=class i{constructor(e,t,n){this.view=e,this.state=t,this.transactions=n,this.flags=0,this.startState=e.state,this.changes=$e.empty(this.startState.doc.length);for(let s of n)this.changes=this.changes.compose(s.changes);let r=[];this.changes.iterChangedRanges((s,o,O,l)=>r.push(new Ot(s,o,O,l))),this.changedRanges=r}static create(e,t,n){return new i(e,t,n)}get viewportChanged(){return(this.flags&4)>0}get viewportMoved(){return(this.flags&8)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&18)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}},dr=class extends K{get length(){return this.view.state.doc.length}constructor(e){super(),this.view=e,this.decorations=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.markedForComposition=new Set,this.editContextFormatting=_.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(e.contentDOM),this.children=[new he],this.children[0].setParent(this),this.updateDeco(),this.updateInner([new Ot(0,0,0,e.state.doc.length)],0,null)}update(e){var t;let n=e.changedRanges;this.minWidth>0&&n.length&&(n.every(({fromA:a,toA:h})=>h<this.minWidthFrom||a>this.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let r=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((t=this.domChanged)===null||t===void 0)&&t.newSel?r=this.domChanged.newSel.head:!Up(e.changes,this.hasComposition)&&!e.selectionSet&&(r=e.state.selection.main.head));let s=r>-1?Zp(this.view,e.changes,r):null;if(this.domChanged=null,this.hasComposition){this.markedForComposition.clear();let{from:a,to:h}=this.hasComposition;n=new Ot(a,h,e.changes.mapPos(a,-1),e.changes.mapPos(h,1)).addToSet(n.slice())}this.hasComposition=s?{from:s.range.fromB,to:s.range.toB}:null,(z.ie||z.chrome)&&!s&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let o=this.decorations,O=this.updateDeco(),l=Vp(o,O,e.changes);return n=Ot.extendWithRanges(n,l),!(this.flags&7)&&n.length==0?!1:(this.updateInner(n,e.startState.doc.length,s),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t,n){this.view.viewState.mustMeasureContent=!0,this.updateChildren(e,t,n);let{observer:r}=this.view;r.ignore(()=>{this.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let o=z.chrome||z.ios?{node:r.selectionRange.focusNode,written:!1}:void 0;this.sync(this.view,o),this.flags&=-8,o&&(o.written||r.selectionRange.focusNode!=o.node)&&(this.forceSelection=!0),this.dom.style.height=""}),this.markedForComposition.forEach(o=>o.flags&=-9);let s=[];if(this.view.viewport.from||this.view.viewport.to<this.view.state.doc.length)for(let o of this.children)o instanceof Kt&&o.widget instanceof On&&s.push(o.dom);r.updateGaps(s)}updateChildren(e,t,n){let r=n?n.range.addToSet(e.slice()):e,s=this.childCursor(t);for(let o=r.length-1;;o--){let O=o>=0?r[o]:null;if(!O)break;let{fromA:l,toA:a,fromB:h,toB:c}=O,f,d,p,m;if(n&&n.range.fromB<c&&n.range.toB>h){let k=Hi.build(this.view.state.doc,h,n.range.fromB,this.decorations,this.dynamicDecorationMap),y=Hi.build(this.view.state.doc,n.range.toB,c,this.decorations,this.dynamicDecorationMap);d=k.breakAtStart,p=k.openStart,m=y.openEnd;let T=this.compositionView(n);y.breakAtStart?T.breakAfter=1:y.content.length&&T.merge(T.length,T.length,y.content[0],!1,y.openStart,0)&&(T.breakAfter=y.content[0].breakAfter,y.content.shift()),k.content.length&&T.merge(0,0,k.content[k.content.length-1],!0,0,k.openEnd)&&k.content.pop(),f=k.content.concat(T).concat(y.content)}else({content:f,breakAtStart:d,openStart:p,openEnd:m}=Hi.build(this.view.state.doc,h,c,this.decorations,this.dynamicDecorationMap));let{i:g,off:$}=s.findPos(a,1),{i:Q,off:b}=s.findPos(l,-1);Ga(this,Q,b,g,$,f,d,p,m)}n&&this.fixCompositionDOM(n)}updateEditContextFormatting(e){this.editContextFormatting=this.editContextFormatting.map(e.changes);for(let t of e.transactions)for(let n of t.effects)n.is(uh)&&(this.editContextFormatting=n.value)}compositionView(e){let t=new at(e.text.nodeValue);t.flags|=8;for(let{deco:r}of e.marks)t=new Rt(r,[t],t.length);let n=new he;return n.append(t,0),n}fixCompositionDOM(e){let t=(s,o)=>{o.flags|=8|(o.children.some(l=>l.flags&7)?1:0),this.markedForComposition.add(o);let O=K.get(s);O&&O!=o&&(O.dom=null),o.setDOM(s)},n=this.childPos(e.range.fromB,1),r=this.children[n.i];t(e.line,r);for(let s=e.marks.length-1;s>=-1;s--)n=r.childPos(n.off,1),r=r.children[n.i],t(s>=0?e.marks[s].node:e.text,r)}updateSelection(e=!1,t=!1){(e||!this.view.observer.selectionRange.focusNode)&&this.view.observer.readSelectionRange();let n=this.view.root.activeElement,r=n==this.dom,s=!r&&!(this.view.state.facet(Qt)||this.dom.tabIndex>-1)&&ir(this.dom,this.view.observer.selectionRange)&&!(n&&this.dom.contains(n));if(!(r||t||s))return;let o=this.forceSelection;this.forceSelection=!1;let O=this.view.state.selection.main,l=this.moveToLine(this.domAtPos(O.anchor)),a=O.empty?l:this.moveToLine(this.domAtPos(O.head));if(z.gecko&&O.empty&&!this.hasComposition&&Rp(l)){let c=document.createTextNode("");this.view.observer.ignore(()=>l.node.insertBefore(c,l.node.childNodes[l.offset]||null)),l=a=new Se(c,0),o=!0}let h=this.view.observer.selectionRange;(o||!h.focusNode||(!Ni(l.node,l.offset,h.anchorNode,h.anchorOffset)||!Ni(a.node,a.offset,h.focusNode,h.focusOffset))&&!this.suppressWidgetCursorChange(h,O))&&(this.view.observer.ignore(()=>{z.android&&z.chrome&&this.dom.contains(h.focusNode)&&Cp(h.focusNode,this.dom)&&(this.dom.blur(),this.dom.focus({preventScroll:!0}));let c=tn(this.view.root);if(c)if(O.empty){if(z.gecko){let f=Wp(l.node,l.offset);if(f&&f!=3){let d=(f==1?Ea:La)(l.node,l.offset);d&&(l=new Se(d.node,d.offset))}}c.collapse(l.node,l.offset),O.bidiLevel!=null&&c.caretBidiLevel!==void 0&&(c.caretBidiLevel=O.bidiLevel)}else if(c.extend){c.collapse(l.node,l.offset);try{c.extend(a.node,a.offset)}catch{}}else{let f=document.createRange();O.anchor>O.head&&([l,a]=[a,l]),f.setEnd(a.node,a.offset),f.setStart(l.node,l.offset),c.removeAllRanges(),c.addRange(f)}s&&this.view.root.activeElement==this.dom&&(this.dom.blur(),n&&n.focus())}),this.view.observer.setSelectionRange(l,a)),this.impreciseAnchor=l.precise?null:new Se(h.anchorNode,h.anchorOffset),this.impreciseHead=a.precise?null:new Se(h.focusNode,h.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&Ni(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==t.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,n=tn(e.root),{anchorNode:r,anchorOffset:s}=e.observer.selectionRange;if(!n||!t.empty||!t.assoc||!n.modify)return;let o=he.find(this,t.head);if(!o)return;let O=o.posAtStart;if(t.head==O||t.head==O+o.length)return;let l=this.coordsAt(t.head,-1),a=this.coordsAt(t.head,1);if(!l||!a||l.bottom>a.top)return;let h=this.domAtPos(t.head+t.assoc);n.collapse(h.node,h.offset),n.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let c=e.observer.selectionRange;e.docView.posFromDOM(c.anchorNode,c.anchorOffset)!=t.from&&n.collapse(r,s)}moveToLine(e){let t=this.dom,n;if(e.node!=t)return e;for(let r=e.offset;!n&&r<t.childNodes.length;r++){let s=K.get(t.childNodes[r]);s instanceof he&&(n=s.domAtPos(0))}for(let r=e.offset-1;!n&&r>=0;r--){let s=K.get(t.childNodes[r]);s instanceof he&&(n=s.domAtPos(s.length))}return n?new Se(n.node,n.offset,!0):e}nearest(e){for(let t=e;t;){let n=K.get(t);if(n&&n.rootView==this)return n;t=t.parentNode}return null}posFromDOM(e,t){let n=this.nearest(e);if(!n)throw new RangeError("Trying to find position for a DOM position outside of the document");return n.localPosFromDOM(e,t)+n.posAtStart}domAtPos(e){let{i:t,off:n}=this.childCursor().findPos(e,-1);for(;t<this.children.length-1;){let r=this.children[t];if(n<r.length||r instanceof he)break;t++,n=0}return this.children[t].domAtPos(n)}coordsAt(e,t){let n=null,r=0;for(let s=this.length,o=this.children.length-1;o>=0;o--){let O=this.children[o],l=s-O.breakAfter,a=l-O.length;if(l<e)break;if(a<=e&&(a<e||O.covers(-1))&&(l>e||O.covers(1))&&(!n||O instanceof he&&!(n instanceof he&&t>=0)))n=O,r=a;else if(n&&a==e&&l==e&&O instanceof Kt&&Math.abs(t)<2){if(O.deco.startSide<0)break;o&&(n=null)}s=a}return n?n.coordsAt(e-r,t):null}coordsForChar(e){let{i:t,off:n}=this.childPos(e,1),r=this.children[t];if(!(r instanceof he))return null;for(;r.children.length;){let{i:O,off:l}=r.childPos(n,1);for(;;O++){if(O==r.children.length)return null;if((r=r.children[O]).length)break}n=l}if(!(r instanceof at))return null;let s=ae(r.text,n);if(s==n)return null;let o=ei(r.dom,n,s).getClientRects();for(let O=0;O<o.length;O++){let l=o[O];if(O==o.length-1||l.top<l.bottom&&l.left<l.right)return l}return null}measureVisibleLineHeights(e){let t=[],{from:n,to:r}=e,s=this.view.contentDOM.clientWidth,o=s>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,O=-1,l=this.view.textDirection==ee.LTR;for(let a=0,h=0;h<this.children.length;h++){let c=this.children[h],f=a+c.length;if(f>r)break;if(a>=n){let d=c.dom.getBoundingClientRect();if(t.push(d.height),o){let p=c.dom.lastChild,m=p?nn(p):[];if(m.length){let g=m[m.length-1],$=l?g.right-d.left:d.right-g.left;$>O&&(O=$,this.minWidth=s,this.minWidthFrom=a,this.minWidthTo=f)}}}a=f+c.breakAfter}return t}textDirectionAt(e){let{i:t}=this.childPos(e,1);return getComputedStyle(this.children[t].dom).direction=="rtl"?ee.RTL:ee.LTR}measureTextSize(){for(let s of this.children)if(s instanceof he){let o=s.measureTextSize();if(o)return o}let e=document.createElement("div"),t,n,r;return e.className="cm-line",e.style.width="99999px",e.style.position="absolute",e.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.dom.appendChild(e);let s=nn(e.firstChild)[0];t=e.getBoundingClientRect().height,n=s?s.width/27:7,r=s?s.height:t,e.remove()}),{lineHeight:t,charWidth:n,textHeight:r}}childCursor(e=this.length){let t=this.children.length;return t&&(e-=this.children[--t].length),new hr(this.children,e,t)}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let n=0,r=0;;r++){let s=r==t.viewports.length?null:t.viewports[r],o=s?s.from-1:this.length;if(o>n){let O=(t.lineBlockAt(o).bottom-t.lineBlockAt(n).top)/this.view.scaleY;e.push(_.replace({widget:new On(O),block:!0,inclusive:!0,isBlockGap:!0}).range(n,o))}if(!s)break;n=s.to+1}return _.set(e)}updateDeco(){let e=1,t=this.view.state.facet(ln).map(s=>(this.dynamicDecorationMap[e++]=typeof s=="function")?s(this.view):s),n=!1,r=this.view.state.facet(ph).map((s,o)=>{let O=typeof s=="function";return O&&(n=!0),O?s(this.view):s});for(r.length&&(this.dynamicDecorationMap[e++]=n,t.push(F.join(r))),this.decorations=[this.editContextFormatting,...t,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];e<this.decorations.length;)this.dynamicDecorationMap[e++]=!1;return this.decorations}scrollIntoView(e){if(e.isSnapshot){let a=this.view.viewState.lineBlockAt(e.range.head);this.view.scrollDOM.scrollTop=a.top-e.yMargin,this.view.scrollDOM.scrollLeft=e.xMargin;return}for(let a of this.view.state.facet(fh))try{if(a(this.view,e.range,e))return!0}catch(h){Me(this.view.state,h,"scroll handler")}let{range:t}=e,n=this.coordsAt(t.head,t.empty?t.assoc:t.head>t.anchor?-1:1),r;if(!n)return;!t.empty&&(r=this.coordsAt(t.anchor,t.anchor>t.head?-1:1))&&(n={left:Math.min(n.left,r.left),top:Math.min(n.top,r.top),right:Math.max(n.right,r.right),bottom:Math.max(n.bottom,r.bottom)});let s=$h(this.view),o={left:n.left-s.left,top:n.top-s.top,right:n.right+s.right,bottom:n.bottom+s.bottom},{offsetWidth:O,offsetHeight:l}=this.view.scrollDOM;fp(this.view.scrollDOM,o,t.head<t.anchor?-1:1,e.x,e.y,Math.max(Math.min(e.xMargin,O),-O),Math.max(Math.min(e.yMargin,l),-l),this.view.textDirection==ee.LTR)}};function Rp(i){return i.node.nodeType==1&&i.node.firstChild&&(i.offset==0||i.node.childNodes[i.offset-1].contentEditable=="false")&&(i.offset==i.node.childNodes.length||i.node.childNodes[i.offset].contentEditable=="false")}function Qh(i,e){let t=i.observer.selectionRange;if(!t.focusNode)return null;let n=Ea(t.focusNode,t.focusOffset),r=La(t.focusNode,t.focusOffset),s=n||r;if(r&&n&&r.node!=n.node){let O=K.get(r.node);if(!O||O instanceof at&&O.text!=r.node.nodeValue)s=r;else if(i.docView.lastCompositionAfterCursor){let l=K.get(n.node);!l||l instanceof at&&l.text!=n.node.nodeValue||(s=r)}}if(i.docView.lastCompositionAfterCursor=s!=n,!s)return null;let o=e-s.offset;return{from:o,to:o+s.node.nodeValue.length,node:s.node}}function Zp(i,e,t){let n=Qh(i,t);if(!n)return null;let{node:r,from:s,to:o}=n,O=r.nodeValue;if(/[\n\r]/.test(O)||i.state.doc.sliceString(n.from,n.to)!=O)return null;let l=e.invertedDesc,a=new Ot(l.mapPos(s),l.mapPos(o),s,o),h=[];for(let c=r.parentNode;;c=c.parentNode){let f=K.get(c);if(f instanceof Rt)h.push({node:c,deco:f.mark});else{if(f instanceof he||c.nodeName=="DIV"&&c.parentNode==i.contentDOM)return{range:a,text:r,marks:h,line:c};if(c!=i.contentDOM)h.push({node:c,deco:new sn({inclusive:!0,attributes:Qp(c),tagName:c.tagName.toLowerCase()})});else return null}}}function Wp(i,e){return i.nodeType!=1?0:(e&&i.childNodes[e-1].contentEditable=="false"?1:0)|(e<i.childNodes.length&&i.childNodes[e].contentEditable=="false"?2:0)}var qp=class{constructor(){this.changes=[]}compareRange(e,t){nr(e,t,this.changes)}comparePoint(e,t){nr(e,t,this.changes)}boundChange(e){nr(e,e,this.changes)}};function Vp(i,e,t){let n=new qp;return F.compare(i,e,t,n),n.changes}function Cp(i,e){for(let t=i;t&&t!=e;t=t.assignedSlot||t.parentNode)if(t.nodeType==1&&t.contentEditable=="false")return!0;return!1}function Up(i,e){let t=!1;return e&&i.iterChangedRanges((n,r)=>{n<e.to&&r>e.from&&(t=!0)}),t}function Ap(i,e,t=1){let n=i.charCategorizer(e),r=i.doc.lineAt(e),s=e-r.from;if(r.length==0)return S.cursor(e);s==0?t=1:s==r.length&&(t=-1);let o=s,O=s;t<0?o=ae(r.text,s,!1):O=ae(r.text,s);let l=n(r.text.slice(o,O));for(;o>0;){let a=ae(r.text,o,!1);if(n(r.text.slice(a,o))!=l)break;o=a}for(;O<r.length;){let a=ae(r.text,O);if(n(r.text.slice(O,a))!=l)break;O=a}return S.range(o+r.from,O+r.from)}function Yp(i,e){return e.left>i?e.left-i:Math.max(0,i-e.right)}function _p(i,e){return e.top>i?e.top-i:Math.max(0,i-e.bottom)}function Zs(i,e){return i.top<e.bottom-1&&i.bottom>e.top+1}function ca(i,e){return e<i.top?{top:e,left:i.left,right:i.right,bottom:i.bottom}:i}function fa(i,e){return e>i.bottom?{top:i.top,left:i.left,right:i.right,bottom:e}:i}function Ds(i,e,t){let n,r,s,o,O=!1,l,a,h,c;for(let p=i.firstChild;p;p=p.nextSibling){let m=nn(p);for(let g=0;g<m.length;g++){let $=m[g];r&&Zs(r,$)&&($=ca(fa($,r.bottom),r.top));let Q=Yp(e,$),b=_p(t,$);if(Q==0&&b==0)return p.nodeType==3?ua(p,e,t):Ds(p,e,t);if(!n||o>b||o==b&&s>Q){n=p,r=$,s=Q,o=b;let k=b?t<$.top?-1:1:Q?e<$.left?-1:1:0;O=!k||(k>0?g<m.length-1:g>0)}Q==0?t>$.bottom&&(!h||h.bottom<$.bottom)?(l=p,h=$):t<$.top&&(!c||c.top>$.top)&&(a=p,c=$):h&&Zs(h,$)?h=fa(h,$.bottom):c&&Zs(c,$)&&(c=ca(c,$.top))}}if(h&&h.bottom>=t?(n=l,r=h):c&&c.top<=t&&(n=a,r=c),!n)return{node:i,offset:0};let f=Math.max(r.left,Math.min(r.right,e));if(n.nodeType==3)return ua(n,f,t);if(O&&n.contentEditable!="false")return Ds(n,f,t);let d=Array.prototype.indexOf.call(i.childNodes,n)+(e>=(r.left+r.right)/2?1:0);return{node:i,offset:d}}function ua(i,e,t){let n=i.nodeValue.length,r=-1,s=1e9,o=0;for(let O=0;O<n;O++){let l=ei(i,O,O+1).getClientRects();for(let a=0;a<l.length;a++){let h=l[a];if(h.top==h.bottom)continue;o||(o=e-h.left);let c=(h.top>t?h.top-t:t-h.bottom)-1;if(h.left-1<=e&&h.right+1>=e&&c<s){let f=e>=(h.left+h.right)/2,d=f;if((z.chrome||z.gecko)&&ei(i,O).getBoundingClientRect().left==h.right&&(d=!f),c<=0)return{node:i,offset:O+(d?1:0)};r=O+(d?1:0),s=c}}}return{node:i,offset:r>-1?r:o>0?i.nodeValue.length:0}}function Sh(i,e,t,n=-1){var r,s;let o=i.contentDOM.getBoundingClientRect(),O=o.top+i.viewState.paddingTop,l,{docHeight:a}=i.viewState,{x:h,y:c}=e,f=c-O;if(f<0)return 0;if(f>a)return i.state.doc.length;for(let k=i.viewState.heightOracle.textHeight/2,y=!1;l=i.elementAtHeight(f),l.type!=ye.Text;)for(;f=n>0?l.bottom+k:l.top-k,!(f>=0&&f<=a);){if(y)return t?null:0;y=!0,n=-n}c=O+f;let d=l.from;if(d<i.viewport.from)return i.viewport.from==0?0:t?null:da(i,o,l,h,c);if(d>i.viewport.to)return i.viewport.to==i.state.doc.length?i.state.doc.length:t?null:da(i,o,l,h,c);let p=i.dom.ownerDocument,m=i.root.elementFromPoint?i.root:p,g=m.elementFromPoint(h,c);g&&!i.contentDOM.contains(g)&&(g=null),g||(h=Math.max(o.left+1,Math.min(o.right-1,h)),g=m.elementFromPoint(h,c),g&&!i.contentDOM.contains(g)&&(g=null));let $,Q=-1;if(g&&((r=i.docView.nearest(g))===null||r===void 0?void 0:r.isEditable)!=!1){if(p.caretPositionFromPoint){let k=p.caretPositionFromPoint(h,c);k&&({offsetNode:$,offset:Q}=k)}else if(p.caretRangeFromPoint){let k=p.caretRangeFromPoint(h,c);k&&({startContainer:$,startOffset:Q}=k,(!i.contentDOM.contains($)||z.safari&&jp($,Q,h)||z.chrome&&Mp($,Q,h))&&($=void 0))}$&&(Q=Math.min(lt($),Q))}if(!$||!i.docView.dom.contains($)){let k=he.find(i.docView,d);if(!k)return f>l.top+l.height/2?l.to:l.from;({node:$,offset:Q}=Ds(k.dom,h,c))}let b=i.docView.nearest($);if(!b)return null;if(b.isWidget&&((s=b.dom)===null||s===void 0?void 0:s.nodeType)==1){let k=b.dom.getBoundingClientRect();return e.y<k.top||e.y<=k.bottom&&e.x<=(k.left+k.right)/2?b.posAtStart:b.posAtEnd}else return b.localPosFromDOM($,Q)+b.posAtStart}function da(i,e,t,n,r){let s=Math.round((n-e.left)*i.defaultCharacterWidth);if(i.lineWrapping&&t.height>i.defaultLineHeight*1.5){let O=i.viewState.heightOracle.textHeight,l=Math.floor((r-t.top-(i.defaultLineHeight-O)*.5)/O);s+=l*i.viewState.heightOracle.lineLength}let o=i.state.sliceDoc(t.from,t.to);return t.from+Bn(o,s,i.state.tabSize)}function jp(i,e,t){let n;if(i.nodeType!=3||e!=(n=i.nodeValue.length))return!1;for(let r=i.nextSibling;r;r=r.nextSibling)if(r.nodeType!=1||r.nodeName!="BR")return!1;return ei(i,n-1,n).getBoundingClientRect().left>t}function Mp(i,e,t){if(e!=0)return!1;for(let r=i;;){let s=r.parentNode;if(!s||s.nodeType!=1||s.firstChild!=r)return!1;if(s.classList.contains("cm-line"))break;r=s}let n=i.nodeType==1?i.getBoundingClientRect():ei(i,0,Math.max(i.nodeValue.length,1)).getBoundingClientRect();return t-n.left>5}function Is(i,e){let t=i.lineBlockAt(e);if(Array.isArray(t.type)){for(let n of t.type)if(n.to>e||n.to==e&&(n.to==t.to||n.type==ye.Text))return n}return t}function Ep(i,e,t,n){let r=Is(i,e.head),s=!n||r.type!=ye.Text||!(i.lineWrapping||r.widgetLineBreaks)?null:i.coordsAtPos(e.assoc<0&&e.head>r.from?e.head-1:e.head);if(s){let o=i.dom.getBoundingClientRect(),O=i.textDirectionAt(r.from),l=i.posAtCoords({x:t==(O==ee.LTR)?o.right-1:o.left+1,y:(s.top+s.bottom)/2});if(l!=null)return S.cursor(l,t?-1:1)}return S.cursor(t?r.to:r.from,t?-1:1)}function pa(i,e,t,n){let r=i.state.doc.lineAt(e.head),s=i.bidiSpans(r),o=i.textDirectionAt(r.from);for(let O=e,l=null;;){let a=Tp(r,s,o,O,t),h=nh;if(!a){if(r.number==(t?i.state.doc.lines:1))return O;h=` +`,r=i.state.doc.line(r.number+(t?1:-1)),s=i.bidiSpans(r),a=i.visualLineSide(r,!t)}if(l){if(!l(h))return O}else{if(!n)return a;l=n(h)}O=a}}function Lp(i,e,t){let n=i.state.charCategorizer(e),r=n(t);return s=>{let o=n(s);return r==Ye.Space&&(r=o),r==o}}function Gp(i,e,t,n){let r=e.head,s=t?1:-1;if(r==(t?i.state.doc.length:0))return S.cursor(r,e.assoc);let o=e.goalColumn,O,l=i.contentDOM.getBoundingClientRect(),a=i.coordsAtPos(r,e.assoc||-1),h=i.documentTop;if(a)o==null&&(o=a.left-l.left),O=s<0?a.top:a.bottom;else{let d=i.viewState.lineBlockAt(r);o==null&&(o=Math.min(l.right-l.left,i.defaultCharacterWidth*(r-d.from))),O=(s<0?d.top:d.bottom)+h}let c=l.left+o,f=n??i.viewState.heightOracle.textHeight>>1;for(let d=0;;d+=10){let p=O+(f+d)*s,m=Sh(i,{x:c,y:p},!1,s);if(p<l.top||p>l.bottom||(s<0?m<r:m>r)){let g=i.docView.coordsForChar(m),$=!g||p<g.top?-1:1;return S.cursor(m,$,void 0,o)}}}function rr(i,e,t){for(;;){let n=0;for(let r of i)r.between(e-1,e+1,(s,o,O)=>{if(e>s&&e<o){let l=n||t||(e-s<o-e?-1:1);e=l<0?s:o,n=l}});if(!n)return e}}function Ws(i,e,t){let n=rr(i.state.facet(ko).map(r=>r(i)),t.from,e.head>t.from?-1:1);return n==t.from?t:S.cursor(n,n<t.from?1:-1)}var Bi="\uFFFF",Ns=class{constructor(e,t){this.points=e,this.text="",this.lineSeparator=t.facet(D.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=Bi}readRange(e,t){if(!e)return this;let n=e.parentNode;for(let r=e;;){this.findPointBefore(n,r);let s=this.text.length;this.readNode(r);let o=r.nextSibling;if(o==t)break;let O=K.get(r),l=K.get(o);(O&&l?O.breakAfter:(O?O.breakAfter:ar(r))||ar(o)&&(r.nodeName!="BR"||r.cmIgnore)&&this.text.length>s)&&this.lineBreak(),r=o}return this.findPointBefore(n,t),this}readTextNode(e){let t=e.nodeValue;for(let n of this.points)n.node==e&&(n.pos=this.text.length+Math.min(n.offset,t.length));for(let n=0,r=this.lineSeparator?null:/\r\n?|\n/g;;){let s=-1,o=1,O;if(this.lineSeparator?(s=t.indexOf(this.lineSeparator,n),o=this.lineSeparator.length):(O=r.exec(t))&&(s=O.index,o=O[0].length),this.append(t.slice(n,s<0?t.length:s)),s<0)break;if(this.lineBreak(),o>1)for(let l of this.points)l.node==e&&l.pos>this.text.length&&(l.pos-=o-1);n=s+o}}readNode(e){if(e.cmIgnore)return;let t=K.get(e),n=t&&t.overrideDOMText;if(n!=null){this.findPointInside(e,n.length);for(let r=n.iter();!r.next().done;)r.lineBreak?this.lineBreak():this.append(r.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let n of this.points)n.node==e&&e.childNodes[n.offset]==t&&(n.pos=this.text.length)}findPointInside(e,t){for(let n of this.points)(e.nodeType==3?n.node==e:e.contains(n.node))&&(n.pos=this.text.length+(Bp(e,n.node,n.offset)?t:0))}};function Bp(i,e,t){for(;;){if(!e||t<lt(e))return!1;if(e==i)return!0;t=Jt(e)+1,e=e.parentNode}}var pr=class{constructor(e,t){this.node=e,this.offset=t,this.pos=-1}},Hs=class{constructor(e,t,n,r){this.typeOver=r,this.bounds=null,this.text="",this.domChanged=t>-1;let{impreciseHead:s,impreciseAnchor:o}=e.docView;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=e.docView.domBoundsAround(t,n,0))){let O=s||o?[]:Np(e),l=new Ns(O,e.state);l.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=l.text,this.newSel=Hp(O,this.bounds.from)}else{let O=e.observer.selectionRange,l=s&&s.node==O.focusNode&&s.offset==O.focusOffset||!Cs(e.contentDOM,O.focusNode)?e.state.selection.main.head:e.docView.posFromDOM(O.focusNode,O.focusOffset),a=o&&o.node==O.anchorNode&&o.offset==O.anchorOffset||!Cs(e.contentDOM,O.anchorNode)?e.state.selection.main.anchor:e.docView.posFromDOM(O.anchorNode,O.anchorOffset),h=e.viewport;if((z.ios||z.chrome)&&e.state.selection.main.empty&&l!=a&&(h.from>0||h.to<e.state.doc.length)){let c=Math.min(l,a),f=Math.max(l,a),d=h.from-c,p=h.to-f;(d==0||d==1||c==0)&&(p==0||p==-1||f==e.state.doc.length)&&(l=0,a=e.state.doc.length)}this.newSel=S.single(a,l)}}};function yh(i,e){let t,{newSel:n}=e,r=i.state.selection.main,s=i.inputState.lastKeyTime>Date.now()-100?i.inputState.lastKeyCode:-1;if(e.bounds){let{from:o,to:O}=e.bounds,l=r.from,a=null;(s===8||z.android&&e.text.length<O-o)&&(l=r.to,a="end");let h=Ip(i.state.doc.sliceString(o,O,Bi),e.text,l-o,a);h&&(z.chrome&&s==13&&h.toB==h.from+2&&e.text.slice(h.from,h.toB)==Bi+Bi&&h.toB--,t={from:o+h.from,to:o+h.toA,insert:U.of(e.text.slice(h.from,h.toB).split(Bi))})}else n&&(!i.hasFocus&&i.state.facet(Qt)||n.main.eq(r))&&(n=null);if(!t&&!n)return!1;if(!t&&e.typeOver&&!r.empty&&n&&n.main.empty?t={from:r.from,to:r.to,insert:i.state.doc.slice(r.from,r.to)}:(z.mac||z.android)&&t&&t.from==t.to&&t.from==r.head-1&&/^\. ?$/.test(t.insert.toString())&&i.contentDOM.getAttribute("autocorrect")=="off"?(n&&t.insert.length==2&&(n=S.single(n.main.anchor-1,n.main.head-1)),t={from:t.from,to:t.to,insert:U.of([t.insert.toString().replace("."," ")])}):t&&t.from>=r.from&&t.to<=r.to&&(t.from!=r.from||t.to!=r.to)&&r.to-r.from-(t.to-t.from)<=4?t={from:r.from,to:r.to,insert:i.state.doc.slice(r.from,t.from).append(t.insert).append(i.state.doc.slice(t.to,r.to))}:z.chrome&&t&&t.from==t.to&&t.from==r.head&&t.insert.toString()==` + `&&i.lineWrapping&&(n&&(n=S.single(n.main.anchor-1,n.main.head-1)),t={from:r.from,to:r.to,insert:U.of([" "])}),t)return wo(i,t,n,s);if(n&&!n.main.eq(r)){let o=!1,O="select";return i.inputState.lastSelectionTime>Date.now()-50&&(i.inputState.lastSelectionOrigin=="select"&&(o=!0),O=i.inputState.lastSelectionOrigin),i.dispatch({selection:n,scrollIntoView:o,userEvent:O}),!0}else return!1}function wo(i,e,t,n=-1){if(z.ios&&i.inputState.flushIOSKey(e))return!0;let r=i.state.selection.main;if(z.android&&(e.to==r.to&&(e.from==r.from||e.from==r.from-1&&i.state.sliceDoc(e.from,r.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&Pi(i.contentDOM,"Enter",13)||(e.from==r.from-1&&e.to==r.to&&e.insert.length==0||n==8&&e.insert.length<e.to-e.from&&e.to>r.head)&&Pi(i.contentDOM,"Backspace",8)||e.from==r.from&&e.to==r.to+1&&e.insert.length==0&&Pi(i.contentDOM,"Delete",46)))return!0;let s=e.insert.toString();i.inputState.composing>=0&&i.inputState.composing++;let o,O=()=>o||(o=Dp(i,e,t));return i.state.facet(lh).some(l=>l(i,e.from,e.to,s,O))||i.dispatch(O()),!0}function Dp(i,e,t){let n,r=i.state,s=r.selection.main;if(e.from>=s.from&&e.to<=s.to&&e.to-e.from>=(s.to-s.from)/3&&(!t||t.main.empty&&t.main.from==e.from+e.insert.length)&&i.inputState.composing<0){let O=s.from<e.from?r.sliceDoc(s.from,e.from):"",l=s.to>e.to?r.sliceDoc(e.to,s.to):"";n=r.replaceSelection(i.state.toText(O+e.insert.sliceString(0,void 0,i.state.lineBreak)+l))}else{let O=r.changes(e),l=t&&t.main.to<=O.newLength?t.main:void 0;if(r.selection.ranges.length>1&&i.inputState.composing>=0&&e.to<=s.to&&e.to>=s.to-10){let a=i.state.sliceDoc(e.from,e.to),h,c=t&&Qh(i,t.main.head);if(c){let p=e.insert.length-(e.to-e.from);h={from:c.from,to:c.to-p}}else h=i.state.doc.lineAt(s.head);let f=s.to-e.to,d=s.to-s.from;n=r.changeByRange(p=>{if(p.from==s.from&&p.to==s.to)return{changes:O,range:l||p.map(O)};let m=p.to-f,g=m-a.length;if(p.to-p.from!=d||i.state.sliceDoc(g,m)!=a||p.to>=h.from&&p.from<=h.to)return{range:p};let $=r.changes({from:g,to:m,insert:e.insert}),Q=p.to-s.to;return{changes:$,range:l?S.range(Math.max(0,l.anchor+Q),Math.max(0,l.head+Q)):p.map($)}})}else n={changes:O,selection:l&&r.selection.replaceRange(l)}}let o="input.type";return(i.composing||i.inputState.compositionPendingChange&&i.inputState.compositionEndedAt>Date.now()-50)&&(i.inputState.compositionPendingChange=!1,o+=".compose",i.inputState.compositionFirstChange&&(o+=".start",i.inputState.compositionFirstChange=!1)),r.update(n,{userEvent:o,scrollIntoView:!0})}function Ip(i,e,t,n){let r=Math.min(i.length,e.length),s=0;for(;s<r&&i.charCodeAt(s)==e.charCodeAt(s);)s++;if(s==r&&i.length==e.length)return null;let o=i.length,O=e.length;for(;o>0&&O>0&&i.charCodeAt(o-1)==e.charCodeAt(O-1);)o--,O--;if(n=="end"){let l=Math.max(0,s-Math.min(o,O));t-=o+l-s}if(o<s&&i.length<e.length){let l=t<=s&&t>=o?s-t:0;s-=l,O=s+(O-o),o=s}else if(O<s){let l=t<=s&&t>=O?s-t:0;s-=l,o=s+(o-O),O=s}return{from:s,toA:o,toB:O}}function Np(i){let e=[];if(i.root.activeElement!=i.contentDOM)return e;let{anchorNode:t,anchorOffset:n,focusNode:r,focusOffset:s}=i.observer.selectionRange;return t&&(e.push(new pr(t,n)),(r!=t||s!=n)&&e.push(new pr(r,s))),e}function Hp(i,e){if(i.length==0)return null;let t=i[0].pos,n=i.length==2?i[1].pos:t;return t>-1&&n>-1?S.single(t+e,n+e):null}var Fs=class{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,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=e.hasFocus,z.safari&&e.contentDOM.addEventListener("input",()=>null),z.gecko&&cm(e.contentDOM.ownerDocument)}handleEvent(e){!nm(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,t){let n=this.handlers[e];if(n){for(let r of n.observers)r(this.view,t);for(let r of n.handlers){if(t.defaultPrevented)break;if(r(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=Fp(e),n=this.handlers,r=this.view.contentDOM;for(let s in t)if(s!="scroll"){let o=!t[s].handlers.length,O=n[s];O&&o!=!O.handlers.length&&(r.removeEventListener(s,this.handleEvent),O=null),O||r.addEventListener(s,this.handleEvent,{passive:o})}for(let s in n)s!="scroll"&&!t[s]&&r.removeEventListener(s,this.handleEvent);this.handlers=t}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),e.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&e.keyCode!=27&&bh.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),z.android&&z.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;let t;return z.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&((t=Ph.find(n=>n.keyCode==e.keyCode))&&!e.ctrlKey||Kp.indexOf(e.key)>-1&&e.ctrlKey&&!e.shiftKey)?(this.pendingIOSKey=t||e,setTimeout(()=>this.flushIOSKey(),250),!0):(e.keyCode!=229&&this.view.observer.forceFlush(),!1)}flushIOSKey(e){let t=this.pendingIOSKey;return!t||t.key=="Enter"&&e&&e.from<e.to&&/^\S+$/.test(e.insert.toString())?!1:(this.pendingIOSKey=void 0,Pi(this.view.contentDOM,t.key,t.keyCode,t instanceof KeyboardEvent?t:void 0))}ignoreDuringComposition(e){return/^key/.test(e.type)?this.composing>0?!0:z.safari&&!z.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1:!1}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}};function ma(i,e){return(t,n)=>{try{return e.call(i,n,t)}catch(r){Me(t.state,r)}}}function Fp(i){let e=Object.create(null);function t(n){return e[n]||(e[n]={observers:[],handlers:[]})}for(let n of i){let r=n.spec;if(r&&r.domEventHandlers)for(let s in r.domEventHandlers){let o=r.domEventHandlers[s];o&&t(s).handlers.push(ma(n.value,o))}if(r&&r.domEventObservers)for(let s in r.domEventObservers){let o=r.domEventObservers[s];o&&t(s).observers.push(ma(n.value,o))}}for(let n in Ne)t(n).handlers.push(Ne[n]);for(let n in Le)t(n).observers.push(Le[n]);return e}var Ph=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],Kp="dthko",bh=[16,17,18,20,91,92,224,225],Hn=6;function Fn(i){return Math.max(0,i)*.7+8}function Jp(i,e){return Math.max(Math.abs(i.clientX-e.clientX),Math.abs(i.clientY-e.clientY))}var Ks=class{constructor(e,t,n,r){this.view=e,this.startEvent=t,this.style=n,this.mustSelect=r,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParents=up(e.contentDOM),this.atoms=e.state.facet(ko).map(o=>o(e));let s=e.contentDOM.ownerDocument;s.addEventListener("mousemove",this.move=this.move.bind(this)),s.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(D.allowMultipleSelections)&&em(e,t),this.dragging=im(e,t)&&wh(t)==1?null:!1}start(e){this.dragging===!1&&this.select(e)}move(e){if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&Jp(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let t=0,n=0,r=0,s=0,o=this.view.win.innerWidth,O=this.view.win.innerHeight;this.scrollParents.x&&({left:r,right:o}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:s,bottom:O}=this.scrollParents.y.getBoundingClientRect());let l=$h(this.view);e.clientX-l.left<=r+Hn?t=-Fn(r-e.clientX):e.clientX+l.right>=o-Hn&&(t=Fn(e.clientX-o)),e.clientY-l.top<=s+Hn?n=-Fn(s-e.clientY):e.clientY+l.bottom>=O-Hn&&(n=Fn(e.clientY-O)),this.setScrollSpeed(t,n)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:t}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),t&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=t,t=0),(e||t)&&this.view.win.scrollBy(e,t),this.dragging===!1&&this.select(this.lastEvent)}skipAtoms(e){let t=null;for(let n=0;n<e.ranges.length;n++){let r=e.ranges[n],s=null;if(r.empty){let o=rr(this.atoms,r.from,0);o!=r.from&&(s=S.cursor(o,-1))}else{let o=rr(this.atoms,r.from,-1),O=rr(this.atoms,r.to,1);(o!=r.from||O!=r.to)&&(s=S.range(r.from==r.anchor?o:O,r.from==r.head?o:O))}s&&(t||(t=e.ranges.slice()),t[n]=s)}return t?S.create(t,e.mainIndex):e}select(e){let{view:t}=this,n=this.skipAtoms(this.style.get(e,this.extend,this.multiple));(this.mustSelect||!n.eq(t.state.selection,this.dragging===!1))&&this.view.dispatch({selection:n,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(t=>t.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}};function em(i,e){let t=i.state.facet(rh);return t.length?t[0](e):z.mac?e.metaKey:e.ctrlKey}function tm(i,e){let t=i.state.facet(sh);return t.length?t[0](e):z.mac?!e.altKey:!e.ctrlKey}function im(i,e){let{main:t}=i.state.selection;if(t.empty)return!1;let n=tn(i.root);if(!n||n.rangeCount==0)return!0;let r=n.getRangeAt(0).getClientRects();for(let s=0;s<r.length;s++){let o=r[s];if(o.left<=e.clientX&&o.right>=e.clientX&&o.top<=e.clientY&&o.bottom>=e.clientY)return!0}return!1}function nm(i,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let t=e.target,n;t!=i.contentDOM;t=t.parentNode)if(!t||t.nodeType==11||(n=K.get(t))&&n.ignoreEvent(e))return!1;return!0}var Ne=Object.create(null),Le=Object.create(null),xh=z.ie&&z.ie_version<15||z.ios&&z.webkit_version<604;function rm(i){let e=i.dom.parentNode;if(!e)return;let t=e.appendChild(document.createElement("textarea"));t.style.cssText="position: fixed; left: -10000px; top: 10px",t.focus(),setTimeout(()=>{i.focus(),t.remove(),kh(i,t.value)},50)}function xr(i,e,t){for(let n of i.facet(e))t=n(t,i);return t}function kh(i,e){e=xr(i.state,Po,e);let{state:t}=i,n,r=1,s=t.toText(e),o=s.lines==t.selection.ranges.length;if(Js!=null&&t.selection.ranges.every(l=>l.empty)&&Js==s.toString()){let l=-1;n=t.changeByRange(a=>{let h=t.doc.lineAt(a.from);if(h.from==l)return{range:a};l=h.from;let c=t.toText((o?s.line(r++).text:e)+t.lineBreak);return{changes:{from:h.from,insert:c},range:S.cursor(a.from+c.length)}})}else o?n=t.changeByRange(l=>{let a=s.line(r++);return{changes:{from:l.from,to:l.to,insert:a.text},range:S.cursor(l.from+a.length)}}):n=t.replaceSelection(s);i.dispatch(n,{userEvent:"input.paste",scrollIntoView:!0})}Le.scroll=i=>{i.inputState.lastScrollTop=i.scrollDOM.scrollTop,i.inputState.lastScrollLeft=i.scrollDOM.scrollLeft};Ne.keydown=(i,e)=>(i.inputState.setSelectionOrigin("select"),e.keyCode==27&&i.inputState.tabFocusMode!=0&&(i.inputState.tabFocusMode=Date.now()+2e3),!1);Le.touchstart=(i,e)=>{i.inputState.lastTouchTime=Date.now(),i.inputState.setSelectionOrigin("select.pointer")};Le.touchmove=i=>{i.inputState.setSelectionOrigin("select.pointer")};Ne.mousedown=(i,e)=>{if(i.observer.flush(),i.inputState.lastTouchTime>Date.now()-2e3)return!1;let t=null;for(let n of i.state.facet(oh))if(t=n(i,e),t)break;if(!t&&e.button==0&&(t=Om(i,e)),t){let n=!i.hasFocus;i.inputState.startMouseSelection(new Ks(i,e,t,n)),n&&i.observer.ignore(()=>{_a(i.contentDOM);let s=i.root.activeElement;s&&!s.contains(i.contentDOM)&&s.blur()});let r=i.inputState.mouseSelection;if(r)return r.start(e),r.dragging===!1}return!1};function ga(i,e,t,n){if(n==1)return S.cursor(e,t);if(n==2)return Ap(i.state,e,t);{let r=he.find(i.docView,e),s=i.state.doc.lineAt(r?r.posAtEnd:e),o=r?r.posAtStart:s.from,O=r?r.posAtEnd:s.to;return O<i.state.doc.length&&O==s.to&&O++,S.range(o,O)}}var $a=(i,e,t)=>e>=t.top&&e<=t.bottom&&i>=t.left&&i<=t.right;function sm(i,e,t,n){let r=he.find(i.docView,e);if(!r)return 1;let s=e-r.posAtStart;if(s==0)return 1;if(s==r.length)return-1;let o=r.coordsAt(s,-1);if(o&&$a(t,n,o))return-1;let O=r.coordsAt(s,1);return O&&$a(t,n,O)?1:o&&o.bottom>=n?-1:1}function Qa(i,e){let t=i.posAtCoords({x:e.clientX,y:e.clientY},!1);return{pos:t,bias:sm(i,t,e.clientX,e.clientY)}}var om=z.ie&&z.ie_version<=11,Sa=null,ya=0,Pa=0;function wh(i){if(!om)return i.detail;let e=Sa,t=Pa;return Sa=i,Pa=Date.now(),ya=!e||t>Date.now()-400&&Math.abs(e.clientX-i.clientX)<2&&Math.abs(e.clientY-i.clientY)<2?(ya+1)%3:1}function Om(i,e){let t=Qa(i,e),n=wh(e),r=i.state.selection;return{update(s){s.docChanged&&(t.pos=s.changes.mapPos(t.pos),r=r.map(s.changes))},get(s,o,O){let l=Qa(i,s),a,h=ga(i,l.pos,l.bias,n);if(t.pos!=l.pos&&!o){let c=ga(i,t.pos,t.bias,n),f=Math.min(c.from,h.from),d=Math.max(c.to,h.to);h=f<h.from?S.range(f,d):S.range(d,f)}return o?r.replaceRange(r.main.extend(h.from,h.to)):O&&n==1&&r.ranges.length>1&&(a=lm(r,l.pos))?a:O?r.addRange(h):S.create([h])}}}function lm(i,e){for(let t=0;t<i.ranges.length;t++){let{from:n,to:r}=i.ranges[t];if(n<=e&&r>=e)return S.create(i.ranges.slice(0,t).concat(i.ranges.slice(t+1)),i.mainIndex==t?0:i.mainIndex-(i.mainIndex>t?1:0))}return null}Ne.dragstart=(i,e)=>{let{selection:{main:t}}=i.state;if(e.target.draggable){let r=i.docView.nearest(e.target);if(r&&r.isWidget){let s=r.posAtStart,o=s+r.length;(s>=t.to||o<=t.from)&&(t=S.range(s,o))}}let{inputState:n}=i;return n.mouseSelection&&(n.mouseSelection.dragging=!0),n.draggedContent=t,e.dataTransfer&&(e.dataTransfer.setData("Text",xr(i.state,bo,i.state.sliceDoc(t.from,t.to))),e.dataTransfer.effectAllowed="copyMove"),!1};Ne.dragend=i=>(i.inputState.draggedContent=null,!1);function ba(i,e,t,n){if(t=xr(i.state,Po,t),!t)return;let r=i.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:s}=i.inputState,o=n&&s&&tm(i,e)?{from:s.from,to:s.to}:null,O={from:r,insert:t},l=i.state.changes(o?[o,O]:O);i.focus(),i.dispatch({changes:l,selection:{anchor:l.mapPos(r,-1),head:l.mapPos(r,1)},userEvent:o?"move.drop":"input.drop"}),i.inputState.draggedContent=null}Ne.drop=(i,e)=>{if(!e.dataTransfer)return!1;if(i.state.readOnly)return!0;let t=e.dataTransfer.files;if(t&&t.length){let n=Array(t.length),r=0,s=()=>{++r==t.length&&ba(i,e,n.filter(o=>o!=null).join(i.state.lineBreak),!1)};for(let o=0;o<t.length;o++){let O=new FileReader;O.onerror=s,O.onload=()=>{/[\x00-\x08\x0e-\x1f]{2}/.test(O.result)||(n[o]=O.result),s()},O.readAsText(t[o])}return!0}else{let n=e.dataTransfer.getData("Text");if(n)return ba(i,e,n,!0),!0}return!1};Ne.paste=(i,e)=>{if(i.state.readOnly)return!0;i.observer.flush();let t=xh?null:e.clipboardData;return t?(kh(i,t.getData("text/plain")||t.getData("text/uri-list")),!0):(rm(i),!1)};function am(i,e){let t=i.dom.parentNode;if(!t)return;let n=t.appendChild(document.createElement("textarea"));n.style.cssText="position: fixed; left: -10000px; top: 10px",n.value=e,n.focus(),n.selectionEnd=e.length,n.selectionStart=0,setTimeout(()=>{n.remove(),i.focus()},50)}function hm(i){let e=[],t=[],n=!1;for(let r of i.selection.ranges)r.empty||(e.push(i.sliceDoc(r.from,r.to)),t.push(r));if(!e.length){let r=-1;for(let{from:s}of i.selection.ranges){let o=i.doc.lineAt(s);o.number>r&&(e.push(o.text),t.push({from:o.from,to:Math.min(i.doc.length,o.to+1)})),r=o.number}n=!0}return{text:xr(i,bo,e.join(i.lineBreak)),ranges:t,linewise:n}}var Js=null;Ne.copy=Ne.cut=(i,e)=>{let{text:t,ranges:n,linewise:r}=hm(i.state);if(!t&&!r)return!1;Js=r?t:null,e.type=="cut"&&!i.state.readOnly&&i.dispatch({changes:n,scrollIntoView:!0,userEvent:"delete.cut"});let s=xh?null:e.clipboardData;return s?(s.clearData(),s.setData("text/plain",t),!0):(am(i,t),!1)};var vh=xe.define();function Th(i,e){let t=[];for(let n of i.facet(ah)){let r=n(i,e);r&&t.push(r)}return t?i.update({effects:t,annotations:vh.of(!0)}):null}function zh(i){setTimeout(()=>{let e=i.hasFocus;if(e!=i.inputState.notifiedFocused){let t=Th(i.state,e);t?i.dispatch(t):i.update([])}},10)}Le.focus=i=>{i.inputState.lastFocusTime=Date.now(),!i.scrollDOM.scrollTop&&(i.inputState.lastScrollTop||i.inputState.lastScrollLeft)&&(i.scrollDOM.scrollTop=i.inputState.lastScrollTop,i.scrollDOM.scrollLeft=i.inputState.lastScrollLeft),zh(i)};Le.blur=i=>{i.observer.clearSelectionRange(),zh(i)};Le.compositionstart=Le.compositionupdate=i=>{i.observer.editContext||(i.inputState.compositionFirstChange==null&&(i.inputState.compositionFirstChange=!0),i.inputState.composing<0&&(i.inputState.composing=0))};Le.compositionend=i=>{i.observer.editContext||(i.inputState.composing=-1,i.inputState.compositionEndedAt=Date.now(),i.inputState.compositionPendingKey=!0,i.inputState.compositionPendingChange=i.observer.pendingRecords().length>0,i.inputState.compositionFirstChange=null,z.chrome&&z.android?i.observer.flushSoon():i.inputState.compositionPendingChange?Promise.resolve().then(()=>i.observer.flush()):setTimeout(()=>{i.inputState.composing<0&&i.docView.hasComposition&&i.update([])},50))};Le.contextmenu=i=>{i.inputState.lastContextMenu=Date.now()};Ne.beforeinput=(i,e)=>{var t,n;if(e.inputType=="insertReplacementText"&&i.observer.editContext){let s=(t=e.dataTransfer)===null||t===void 0?void 0:t.getData("text/plain"),o=e.getTargetRanges();if(s&&o.length){let O=o[0],l=i.posAtDOM(O.startContainer,O.startOffset),a=i.posAtDOM(O.endContainer,O.endOffset);return wo(i,{from:l,to:a,insert:i.state.toText(s)},null),!0}}let r;if(z.chrome&&z.android&&(r=Ph.find(s=>s.inputType==e.inputType))&&(i.observer.delayAndroidKey(r.key,r.keyCode),r.key=="Backspace"||r.key=="Delete")){let s=((n=window.visualViewport)===null||n===void 0?void 0:n.height)||0;setTimeout(()=>{var o;(((o=window.visualViewport)===null||o===void 0?void 0:o.height)||0)>s+10&&i.hasFocus&&(i.contentDOM.blur(),i.focus())},100)}return z.ios&&e.inputType=="deleteContentForward"&&i.observer.flushSoon(),z.safari&&e.inputType=="insertText"&&i.inputState.composing>=0&&setTimeout(()=>Le.compositionend(i,e),20),!1};var xa=new Set;function cm(i){xa.has(i)||(xa.add(i),i.addEventListener("copy",()=>{}),i.addEventListener("cut",()=>{}))}var ka=["pre-wrap","normal","pre-line","break-spaces"],bi=!1;function wa(){bi=!1}var eo=class{constructor(e){this.lineWrapping=e,this.doc=U.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,t){let n=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(n+=Math.max(0,Math.ceil((t-e-n*this.lineLength*.5)/this.lineLength))),this.lineHeight*n}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/(this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return ka.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let n=0;n<e.length;n++){let r=e[n];r<0?n++:this.heightSamples[Math.floor(r*10)]||(t=!0,this.heightSamples[Math.floor(r*10)]=!0)}return t}refresh(e,t,n,r,s,o){let O=ka.indexOf(e)>-1,l=Math.round(t)!=Math.round(this.lineHeight)||this.lineWrapping!=O;if(this.lineWrapping=O,this.lineHeight=t,this.charWidth=n,this.textHeight=r,this.lineLength=s,l){this.heightSamples={};for(let a=0;a<o.length;a++){let h=o[a];h<0?a++:this.heightSamples[Math.floor(h*10)]=!0}}return l}},to=class{constructor(e,t){this.from=e,this.heights=t,this.index=0}get more(){return this.index<this.heights.length}},st=class i{constructor(e,t,n,r,s){this.from=e,this.length=t,this.top=n,this.height=r,this._content=s}get type(){return typeof this._content=="number"?ye.Text:Array.isArray(this._content)?this._content:this._content.type}get to(){return this.from+this.length}get bottom(){return this.top+this.height}get widget(){return this._content instanceof Wt?this._content.widget:null}get widgetLineBreaks(){return typeof this._content=="number"?this._content:0}join(e){let t=(Array.isArray(this._content)?this._content:[this]).concat(Array.isArray(e._content)?e._content:[e]);return new i(this.from,this.length+e.length,this.top,this.height+e.height,t)}},J=function(i){return i[i.ByPos=0]="ByPos",i[i.ByHeight=1]="ByHeight",i[i.ByPosNoHeight=2]="ByPosNoHeight",i}(J||(J={})),sr=.001,Ze=class i{constructor(e,t,n=2){this.length=e,this.height=t,this.flags=n}get outdated(){return(this.flags&2)>0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>sr&&(bi=!0),this.height=e)}replace(e,t,n){return i.of(n)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,n,r){let s=this,o=n.doc;for(let O=r.length-1;O>=0;O--){let{fromA:l,toA:a,fromB:h,toB:c}=r[O],f=s.lineAt(l,J.ByPosNoHeight,n.setDoc(t),0,0),d=f.to>=a?f:s.lineAt(a,J.ByPosNoHeight,n,0,0);for(c+=d.to-a,a=d.to;O>0&&f.from<=r[O-1].toA;)l=r[O-1].fromA,h=r[O-1].fromB,O--,l<f.from&&(f=s.lineAt(l,J.ByPosNoHeight,n,0,0));h+=f.from-l,l=f.from;let p=no.build(n.setDoc(o),e,h,c);s=mr(s,s.replace(l,a,p))}return s.updateHeight(n,0)}static empty(){return new je(0,0)}static of(e){if(e.length==1)return e[0];let t=0,n=e.length,r=0,s=0;for(;;)if(t==n)if(r>s*2){let O=e[t-1];O.break?e.splice(--t,1,O.left,null,O.right):e.splice(--t,1,O.left,O.right),n+=1+O.break,r-=O.size}else if(s>r*2){let O=e[n];O.break?e.splice(n,1,O.left,null,O.right):e.splice(n,1,O.left,O.right),n+=2+O.break,s-=O.size}else break;else if(r<s){let O=e[t++];O&&(r+=O.size)}else{let O=e[--n];O&&(s+=O.size)}let o=0;return e[t-1]==null?(o=1,t--):e[t]==null&&(o=1,n++),new io(i.of(e.slice(0,t)),o,i.of(e.slice(n)))}};function mr(i,e){return i==e?i:(i.constructor!=e.constructor&&(bi=!0),e)}Ze.prototype.size=1;var gr=class extends Ze{constructor(e,t,n){super(e,t),this.deco=n}blockAt(e,t,n,r){return new st(r,this.length,n,this.height,this.deco||0)}lineAt(e,t,n,r,s){return this.blockAt(0,n,r,s)}forEachLine(e,t,n,r,s,o){e<=s+this.length&&t>=s&&o(this.blockAt(0,n,r,s))}updateHeight(e,t=0,n=!1,r){return r&&r.from<=t&&r.more&&this.setHeight(r.heights[r.index++]),this.outdated=!1,this}toString(){return`block(${this.length})`}},je=class i extends gr{constructor(e,t){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0}blockAt(e,t,n,r){return new st(r,this.length,n,this.height,this.breaks)}replace(e,t,n){let r=n[0];return n.length==1&&(r instanceof i||r instanceof Xt&&r.flags&4)&&Math.abs(this.length-r.length)<10?(r instanceof Xt?r=new i(r.length,this.height):r.height=this.height,this.outdated||(r.outdated=!1),r):Ze.of(n)}updateHeight(e,t=0,n=!1,r){return r&&r.from<=t&&r.more?this.setHeight(r.heights[r.index++]):(n||this.outdated)&&this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}},Xt=class i extends Ze{constructor(e){super(e,0)}heightMetrics(e,t){let n=e.doc.lineAt(t).number,r=e.doc.lineAt(t+this.length).number,s=r-n+1,o,O=0;if(e.lineWrapping){let l=Math.min(this.height,e.lineHeight*s);o=l/s,this.length>s+1&&(O=(this.height-l)/(this.length-s-1))}else o=this.height/s;return{firstLine:n,lastLine:r,perLine:o,perChar:O}}blockAt(e,t,n,r){let{firstLine:s,lastLine:o,perLine:O,perChar:l}=this.heightMetrics(t,r);if(t.lineWrapping){let a=r+(e<t.lineHeight?0:Math.round(Math.max(0,Math.min(1,(e-n)/this.height))*this.length)),h=t.doc.lineAt(a),c=O+h.length*l,f=Math.max(n,e-c/2);return new st(h.from,h.length,f,c,0)}else{let a=Math.max(0,Math.min(o-s,Math.floor((e-n)/O))),{from:h,length:c}=t.doc.line(s+a);return new st(h,c,n+O*a,O,0)}}lineAt(e,t,n,r,s){if(t==J.ByHeight)return this.blockAt(e,n,r,s);if(t==J.ByPosNoHeight){let{from:d,to:p}=n.doc.lineAt(e);return new st(d,p-d,0,0,0)}let{firstLine:o,perLine:O,perChar:l}=this.heightMetrics(n,s),a=n.doc.lineAt(e),h=O+a.length*l,c=a.number-o,f=r+O*c+l*(a.from-s-c);return new st(a.from,a.length,Math.max(r,Math.min(f,r+this.height-h)),h,0)}forEachLine(e,t,n,r,s,o){e=Math.max(e,s),t=Math.min(t,s+this.length);let{firstLine:O,perLine:l,perChar:a}=this.heightMetrics(n,s);for(let h=e,c=r;h<=t;){let f=n.doc.lineAt(h);if(h==e){let p=f.number-O;c+=l*p+a*(e-s-p)}let d=l+a*f.length;o(new st(f.from,f.length,c,d,0)),c+=d,h=f.to+1}}replace(e,t,n){let r=this.length-t;if(r>0){let s=n[n.length-1];s instanceof i?n[n.length-1]=new i(s.length+r):n.push(null,new i(r-1))}if(e>0){let s=n[0];s instanceof i?n[0]=new i(e+s.length):n.unshift(new i(e-1),null)}return Ze.of(n)}decomposeLeft(e,t){t.push(new i(e-1),null)}decomposeRight(e,t){t.push(null,new i(this.length-e-1))}updateHeight(e,t=0,n=!1,r){let s=t+this.length;if(r&&r.from<=t+this.length&&r.more){let o=[],O=Math.max(t,r.from),l=-1;for(r.from>t&&o.push(new i(r.from-t-1).updateHeight(e,t));O<=s&&r.more;){let h=e.doc.lineAt(O).length;o.length&&o.push(null);let c=r.heights[r.index++];l==-1?l=c:Math.abs(c-l)>=sr&&(l=-2);let f=new je(h,c);f.outdated=!1,o.push(f),O+=h+1}O<=s&&o.push(null,new i(s-O).updateHeight(e,O));let a=Ze.of(o);return(l<0||Math.abs(a.height-this.height)>=sr||Math.abs(l-this.heightMetrics(e,t).perLine)>=sr)&&(bi=!0),mr(this,a)}else(n||this.outdated)&&(this.setHeight(e.heightForGap(t,t+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}},io=class extends Ze{constructor(e,t,n){super(e.length+t+n.length,e.height+n.height,t|(e.outdated||n.outdated?2:0)),this.left=e,this.right=n,this.size=e.size+n.size}get break(){return this.flags&1}blockAt(e,t,n,r){let s=n+this.left.height;return e<s?this.left.blockAt(e,t,n,r):this.right.blockAt(e,t,s,r+this.left.length+this.break)}lineAt(e,t,n,r,s){let o=r+this.left.height,O=s+this.left.length+this.break,l=t==J.ByHeight?e<o:e<O,a=l?this.left.lineAt(e,t,n,r,s):this.right.lineAt(e,t,n,o,O);if(this.break||(l?a.to<O:a.from>O))return a;let h=t==J.ByPosNoHeight?J.ByPosNoHeight:J.ByPos;return l?a.join(this.right.lineAt(O,h,n,o,O)):this.left.lineAt(O,h,n,r,s).join(a)}forEachLine(e,t,n,r,s,o){let O=r+this.left.height,l=s+this.left.length+this.break;if(this.break)e<l&&this.left.forEachLine(e,t,n,r,s,o),t>=l&&this.right.forEachLine(e,t,n,O,l,o);else{let a=this.lineAt(l,J.ByPos,n,r,s);e<a.from&&this.left.forEachLine(e,a.from-1,n,r,s,o),a.to>=e&&a.from<=t&&o(a),t>a.to&&this.right.forEachLine(a.to+1,t,n,O,l,o)}}replace(e,t,n){let r=this.left.length+this.break;if(t<r)return this.balanced(this.left.replace(e,t,n),this.right);if(e>this.left.length)return this.balanced(this.left,this.right.replace(e-r,t-r,n));let s=[];e>0&&this.decomposeLeft(e,s);let o=s.length;for(let O of n)s.push(O);if(e>0&&va(s,o-1),t<this.length){let O=s.length;this.decomposeRight(t,s),va(s,O)}return Ze.of(s)}decomposeLeft(e,t){let n=this.left.length;if(e<=n)return this.left.decomposeLeft(e,t);t.push(this.left),this.break&&(n++,e>=n&&t.push(null)),e>n&&this.right.decomposeLeft(e-n,t)}decomposeRight(e,t){let n=this.left.length,r=n+this.break;if(e>=r)return this.right.decomposeRight(e-r,t);e<n&&this.left.decomposeRight(e,t),this.break&&e<r&&t.push(null),t.push(this.right)}balanced(e,t){return e.size>2*t.size||t.size>2*e.size?Ze.of(this.break?[e,null,t]:[e,t]):(this.left=mr(this.left,e),this.right=mr(this.right,t),this.setHeight(e.height+t.height),this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,n=!1,r){let{left:s,right:o}=this,O=t+s.length+this.break,l=null;return r&&r.from<=t+s.length&&r.more?l=s=s.updateHeight(e,t,n,r):s.updateHeight(e,t,n),r&&r.from<=O+o.length&&r.more?l=o=o.updateHeight(e,O,n,r):o.updateHeight(e,O,n),l?this.balanced(s,o):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}};function va(i,e){let t,n;i[e]==null&&(t=i[e-1])instanceof Xt&&(n=i[e+1])instanceof Xt&&i.splice(e-1,3,new Xt(t.length+1+n.length))}var fm=5,no=class i{constructor(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,t){if(this.lineStart>-1){let n=Math.min(t,this.lineEnd),r=this.nodes[this.nodes.length-1];r instanceof je?r.length+=n-this.pos:(n>this.pos||!this.isCovered)&&this.nodes.push(new je(n-this.pos,-1)),this.writtenTo=n,t>n&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,n){if(e<t||n.heightRelevant){let r=n.widget?n.widget.estimatedHeight:0,s=n.widget?n.widget.lineBreaks:0;r<0&&(r=this.oracle.lineHeight);let o=t-e;n.block?this.addBlock(new gr(o,r,n)):(o||s||r>=fm)&&this.addLineDeco(r,s,o)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd<this.pos&&(this.lineEnd=this.oracle.doc.lineAt(this.pos).to)}enterLine(){if(this.lineStart>-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenTo<e&&((this.writtenTo<e-1||this.nodes[this.nodes.length-1]==null)&&this.nodes.push(this.blankContent(this.writtenTo,e-1)),this.nodes.push(null)),this.pos>e&&this.nodes.push(new je(this.pos-e,-1)),this.writtenTo=this.pos}blankContent(e,t){let n=new Xt(t-e);return this.oracle.doc.lineAt(e).to==t&&(n.flags|=4),n}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof je)return e;let t=new je(0,-1);return this.nodes.push(t),t}addBlock(e){this.enterLine();let t=e.deco;t&&t.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,t&&t.endSide>0&&(this.covering=e)}addLineDeco(e,t,n){let r=this.ensureLine();r.length+=n,r.collapsed+=n,r.widgetHeight=Math.max(r.widgetHeight,e),r.breaks+=t,this.writtenTo=this.pos=this.pos+n}finish(e){let t=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(t instanceof je)&&!this.isCovered?this.nodes.push(new je(0,-1)):(this.writtenTo<this.pos||t==null)&&this.nodes.push(this.blankContent(this.writtenTo,this.pos));let n=e;for(let r of this.nodes)r instanceof je&&r.updateHeight(this.oracle,n),n+=r?r.length:1;return this.nodes}static build(e,t,n,r){let s=new i(n,e);return F.spans(t,n,r,s,0),s.finish(n)}};function um(i,e,t){let n=new ro;return F.compare(i,e,t,n,0),n.changes}var ro=class{constructor(){this.changes=[]}compareRange(){}comparePoint(e,t,n,r){(e<t||n&&n.heightRelevant||r&&r.heightRelevant)&&nr(e,t,this.changes,5)}};function dm(i,e){let t=i.getBoundingClientRect(),n=i.ownerDocument,r=n.defaultView||window,s=Math.max(0,t.left),o=Math.min(r.innerWidth,t.right),O=Math.max(0,t.top),l=Math.min(r.innerHeight,t.bottom);for(let a=i.parentNode;a&&a!=n.body;)if(a.nodeType==1){let h=a,c=window.getComputedStyle(h);if((h.scrollHeight>h.clientHeight||h.scrollWidth>h.clientWidth)&&c.overflow!="visible"){let f=h.getBoundingClientRect();s=Math.max(s,f.left),o=Math.min(o,f.right),O=Math.max(O,f.top),l=Math.min(a==i.parentNode?r.innerHeight:l,f.bottom)}a=c.position=="absolute"||c.position=="fixed"?h.offsetParent:h.parentNode}else if(a.nodeType==11)a=a.host;else break;return{left:s-t.left,right:Math.max(s,o)-t.left,top:O-(t.top+e),bottom:Math.max(O,l)-(t.top+e)}}function pm(i){let e=i.getBoundingClientRect(),t=i.ownerDocument.defaultView||window;return e.left<t.innerWidth&&e.right>0&&e.top<t.innerHeight&&e.bottom>0}function mm(i,e){let t=i.getBoundingClientRect();return{left:0,right:t.right-t.left,top:e,bottom:t.bottom-(t.top+e)}}var Ji=class{constructor(e,t,n,r){this.from=e,this.to=t,this.size=n,this.displaySize=r}static same(e,t){if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++){let r=e[n],s=t[n];if(r.from!=s.from||r.to!=s.to||r.size!=s.size)return!1}return!0}draw(e,t){return _.replace({widget:new so(this.displaySize*(t?e.scaleY:e.scaleX),t)}).range(this.from,this.to)}},so=class extends Zt{constructor(e,t){super(),this.size=e,this.vertical=t}eq(e){return e.size==this.size&&e.vertical==this.vertical}toDOM(){let e=document.createElement("div");return this.vertical?e.style.height=this.size+"px":(e.style.width=this.size+"px",e.style.height="2px",e.style.display="inline-block"),e}get estimatedHeight(){return this.vertical?this.size:-1}},$r=class{constructor(e){this.state=e,this.pixelViewport={left:0,right:window.innerWidth,top:0,bottom:0},this.inView=!0,this.paddingTop=0,this.paddingBottom=0,this.contentDOMWidth=0,this.contentDOMHeight=0,this.editorHeight=0,this.editorWidth=0,this.scrollTop=0,this.scrolledToBottom=!1,this.scaleX=1,this.scaleY=1,this.scrollAnchorPos=0,this.scrollAnchorHeight=-1,this.scaler=Ta,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=ee.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let t=e.facet(xo).some(n=>typeof n!="function"&&n.class=="cm-lineWrapping");this.heightOracle=new eo(t),this.stateDeco=e.facet(ln).filter(n=>typeof n!="function"),this.heightMap=Ze.empty().applyChanges(this.stateDeco,U.empty,this.heightOracle.setDoc(e.doc),[new Ot(0,0,0,e.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=_.set(this.lineGaps.map(n=>n.draw(this,!1))),this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let n=0;n<=1;n++){let r=n?t.head:t.anchor;if(!e.some(({from:s,to:o})=>r>=s&&r<=o)){let{from:s,to:o}=this.lineBlockAt(r);e.push(new Si(s,o))}}return this.viewports=e.sort((n,r)=>n.from-r.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?Ta:new oo(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(Di(e,this.scaler))})}update(e,t=null){this.state=e.state;let n=this.stateDeco;this.stateDeco=this.state.facet(ln).filter(h=>typeof h!="function");let r=e.changedRanges,s=Ot.extendWithRanges(r,um(n,this.stateDeco,e?e.changes:$e.empty(this.state.doc.length))),o=this.heightMap.height,O=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollTop);wa(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),s),(this.heightMap.height!=o||bi)&&(e.flags|=2),O?(this.scrollAnchorPos=e.changes.mapPos(O.from,-1),this.scrollAnchorHeight=O.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=this.heightMap.height);let l=s.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.head<l.from||t.range.head>l.to)||!this.viewportIsAppropriate(l))&&(l=this.getViewport(0,t));let a=l.from!=this.viewport.from||l.to!=this.viewport.to;this.viewport=l,e.flags|=this.updateForViewport(),(a||!e.changes.empty||e.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&e.selectionSet&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(ch)&&(this.mustEnforceCursorAssoc=!0)}measure(e){let t=e.contentDOM,n=window.getComputedStyle(t),r=this.heightOracle,s=n.whiteSpace;this.defaultTextDirection=n.direction=="rtl"?ee.RTL:ee.LTR;let o=this.heightOracle.mustRefreshForWrapping(s),O=t.getBoundingClientRect(),l=o||this.mustMeasureContent||this.contentDOMHeight!=O.height;this.contentDOMHeight=O.height,this.mustMeasureContent=!1;let a=0,h=0;if(O.width&&O.height){let{scaleX:k,scaleY:y}=Ya(t,O);(k>.005&&Math.abs(this.scaleX-k)>.005||y>.005&&Math.abs(this.scaleY-y)>.005)&&(this.scaleX=k,this.scaleY=y,a|=16,o=l=!0)}let c=(parseInt(n.paddingTop)||0)*this.scaleY,f=(parseInt(n.paddingBottom)||0)*this.scaleY;(this.paddingTop!=c||this.paddingBottom!=f)&&(this.paddingTop=c,this.paddingBottom=f,a|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(r.lineWrapping&&(l=!0),this.editorWidth=e.scrollDOM.clientWidth,a|=16);let d=e.scrollDOM.scrollTop*this.scaleY;this.scrollTop!=d&&(this.scrollAnchorHeight=-1,this.scrollTop=d),this.scrolledToBottom=Ma(e.scrollDOM);let p=(this.printing?mm:dm)(t,this.paddingTop),m=p.top-this.pixelViewport.top,g=p.bottom-this.pixelViewport.bottom;this.pixelViewport=p;let $=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if($!=this.inView&&(this.inView=$,$&&(l=!0)),!this.inView&&!this.scrollTarget&&!pm(e.dom))return 0;let Q=O.width;if((this.contentDOMWidth!=Q||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=O.width,this.editorHeight=e.scrollDOM.clientHeight,a|=16),l){let k=e.docView.measureVisibleLineHeights(this.viewport);if(r.mustRefreshForHeights(k)&&(o=!0),o||r.lineWrapping&&Math.abs(Q-this.contentDOMWidth)>r.charWidth){let{lineHeight:y,charWidth:T,textHeight:w}=e.docView.measureTextSize();o=y>0&&r.refresh(s,y,T,w,Q/T,k),o&&(e.docView.minWidth=0,a|=16)}m>0&&g>0?h=Math.max(m,g):m<0&&g<0&&(h=Math.min(m,g)),wa();for(let y of this.viewports){let T=y.from==this.viewport.from?k:e.docView.measureVisibleLineHeights(y);this.heightMap=(o?Ze.empty().applyChanges(this.stateDeco,U.empty,this.heightOracle,[new Ot(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(r,0,o,new to(y.from,T))}bi&&(a|=2)}let b=!this.viewportIsAppropriate(this.viewport,h)||this.scrollTarget&&(this.scrollTarget.range.head<this.viewport.from||this.scrollTarget.range.head>this.viewport.to);return b&&(a&2&&(a|=this.updateScaler()),this.viewport=this.getViewport(h,this.scrollTarget),a|=this.updateForViewport()),(a&2||b)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(o?[]:this.lineGaps,e)),a|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),a}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let n=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),r=this.heightMap,s=this.heightOracle,{visibleTop:o,visibleBottom:O}=this,l=new Si(r.lineAt(o-n*1e3,J.ByHeight,s,0,0).from,r.lineAt(O+(1-n)*1e3,J.ByHeight,s,0,0).to);if(t){let{head:a}=t.range;if(a<l.from||a>l.to){let h=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),c=r.lineAt(a,J.ByPos,s,0,0),f;t.y=="center"?f=(c.top+c.bottom)/2-h/2:t.y=="start"||t.y=="nearest"&&a<l.from?f=c.top:f=c.bottom-h,l=new Si(r.lineAt(f-1e3/2,J.ByHeight,s,0,0).from,r.lineAt(f+h+1e3/2,J.ByHeight,s,0,0).to)}}return l}mapViewport(e,t){let n=t.mapPos(e.from,-1),r=t.mapPos(e.to,1);return new Si(this.heightMap.lineAt(n,J.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(r,J.ByPos,this.heightOracle,0,0).to)}viewportIsAppropriate({from:e,to:t},n=0){if(!this.inView)return!0;let{top:r}=this.heightMap.lineAt(e,J.ByPos,this.heightOracle,0,0),{bottom:s}=this.heightMap.lineAt(t,J.ByPos,this.heightOracle,0,0),{visibleTop:o,visibleBottom:O}=this;return(e==0||r<=o-Math.max(10,Math.min(-n,250)))&&(t==this.state.doc.length||s>=O+Math.max(10,Math.min(n,250)))&&r>o-2*1e3&&s<O+2*1e3}mapLineGaps(e,t){if(!e.length||t.empty)return e;let n=[];for(let r of e)t.touchesRange(r.from,r.to)||n.push(new Ji(t.mapPos(r.from),t.mapPos(r.to),r.size,r.displaySize));return n}ensureLineGaps(e,t){let n=this.heightOracle.lineWrapping,r=n?1e4:2e3,s=r>>1,o=r<<1;if(this.defaultTextDirection!=ee.LTR&&!n)return[];let O=[],l=(h,c,f,d)=>{if(c-h<s)return;let p=this.state.selection.main,m=[p.from];p.empty||m.push(p.to);for(let $ of m)if($>h&&$<c){l(h,$-10,f,d),l($+10,c,f,d);return}let g=$m(e,$=>$.from>=f.from&&$.to<=f.to&&Math.abs($.from-h)<s&&Math.abs($.to-c)<s&&!m.some(Q=>$.from<Q&&$.to>Q));if(!g){if(c<f.to&&t&&n&&t.visibleRanges.some(b=>b.from<=c&&b.to>=c)){let b=t.moveToLineBoundary(S.cursor(c),!1,!0).head;b>h&&(c=b)}let $=this.gapSize(f,h,c,d),Q=n||$<2e6?$:2e6;g=new Ji(h,c,$,Q)}O.push(g)},a=h=>{if(h.length<o||h.type!=ye.Text)return;let c=gm(h.from,h.to,this.stateDeco);if(c.total<o)return;let f=this.scrollTarget?this.scrollTarget.range.head:null,d,p;if(n){let m=r/this.heightOracle.lineLength*this.heightOracle.lineHeight,g,$;if(f!=null){let Q=Jn(c,f),b=((this.visibleBottom-this.visibleTop)/2+m)/h.height;g=Q-b,$=Q+b}else g=(this.visibleTop-h.top-m)/h.height,$=(this.visibleBottom-h.top+m)/h.height;d=Kn(c,g),p=Kn(c,$)}else{let m=c.total*this.heightOracle.charWidth,g=r*this.heightOracle.charWidth,$=0;if(m>2e6)for(let T of e)T.from>=h.from&&T.from<h.to&&T.size!=T.displaySize&&T.from*this.heightOracle.charWidth+$<this.pixelViewport.left&&($=T.size-T.displaySize);let Q=this.pixelViewport.left+$,b=this.pixelViewport.right+$,k,y;if(f!=null){let T=Jn(c,f),w=((b-Q)/2+g)/m;k=T-w,y=T+w}else k=(Q-g)/m,y=(b+g)/m;d=Kn(c,k),p=Kn(c,y)}d>h.from&&l(h.from,d,h,c),p<h.to&&l(p,h.to,h,c)};for(let h of this.viewportLines)Array.isArray(h.type)?h.type.forEach(a):a(h);return O}gapSize(e,t,n,r){let s=Jn(r,n)-Jn(r,t);return this.heightOracle.lineWrapping?e.height*s:r.total*this.heightOracle.charWidth*s}updateLineGaps(e){Ji.same(e,this.lineGaps)||(this.lineGaps=e,this.lineGapDeco=_.set(e.map(t=>t.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let t=this.stateDeco;this.lineGaps.length&&(t=t.concat(this.lineGapDeco));let n=[];F.spans(t,this.viewport.from,this.viewport.to,{span(s,o){n.push({from:s,to:o})},point(){}},20);let r=0;if(n.length!=this.visibleRanges.length)r=12;else for(let s=0;s<n.length&&!(r&8);s++){let o=this.visibleRanges[s],O=n[s];(o.from!=O.from||o.to!=O.to)&&(r|=4,e&&e.mapPos(o.from,-1)==O.from&&e.mapPos(o.to,1)==O.to||(r|=8))}return this.visibleRanges=n,r}lineBlockAt(e){return e>=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||Di(this.heightMap.lineAt(e,J.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(t=>t.top<=e&&t.bottom>=e)||Di(this.heightMap.lineAt(this.scaler.fromDOM(e),J.ByHeight,this.heightOracle,0,0),this.scaler)}scrollAnchorAt(e){let t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||this.viewportLines[0].top-e>200?t:this.viewportLines[0]}elementAtHeight(e){return Di(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}},Si=class{constructor(e,t){this.from=e,this.to=t}};function gm(i,e,t){let n=[],r=i,s=0;return F.spans(t,i,e,{span(){},point(o,O){o>r&&(n.push({from:r,to:o}),s+=o-r),r=O}},20),r<e&&(n.push({from:r,to:e}),s+=e-r),{total:s,ranges:n}}function Kn({total:i,ranges:e},t){if(t<=0)return e[0].from;if(t>=1)return e[e.length-1].to;let n=Math.floor(i*t);for(let r=0;;r++){let{from:s,to:o}=e[r],O=o-s;if(n<=O)return s+n;n-=O}}function Jn(i,e){let t=0;for(let{from:n,to:r}of i.ranges){if(e<=r){t+=e-n;break}t+=r-n}return t/i.total}function $m(i,e){for(let t of i)if(e(t))return t}var Ta={toDOM(i){return i},fromDOM(i){return i},scale:1,eq(i){return i==this}},oo=class i{constructor(e,t,n){let r=0,s=0,o=0;this.viewports=n.map(({from:O,to:l})=>{let a=t.lineAt(O,J.ByPos,e,0,0).top,h=t.lineAt(l,J.ByPos,e,0,0).bottom;return r+=h-a,{from:O,to:l,top:a,bottom:h,domTop:0,domBottom:0}}),this.scale=(7e6-r)/(t.height-r);for(let O of this.viewports)O.domTop=o+(O.top-s)*this.scale,o=O.domBottom=O.domTop+(O.bottom-O.top),s=O.bottom}toDOM(e){for(let t=0,n=0,r=0;;t++){let s=t<this.viewports.length?this.viewports[t]:null;if(!s||e<s.top)return r+(e-n)*this.scale;if(e<=s.bottom)return s.domTop+(e-s.top);n=s.bottom,r=s.domBottom}}fromDOM(e){for(let t=0,n=0,r=0;;t++){let s=t<this.viewports.length?this.viewports[t]:null;if(!s||e<s.domTop)return n+(e-r)/this.scale;if(e<=s.domBottom)return s.top+(e-s.domTop);n=s.bottom,r=s.domBottom}}eq(e){return e instanceof i?this.scale==e.scale&&this.viewports.length==e.viewports.length&&this.viewports.every((t,n)=>t.from==e.viewports[n].from&&t.to==e.viewports[n].to):!1}};function Di(i,e){if(e.scale==1)return i;let t=e.toDOM(i.top),n=e.toDOM(i.bottom);return new st(i.from,i.length,t,n-t,Array.isArray(i._content)?i._content.map(r=>Di(r,e)):i._content)}var er=X.define({combine:i=>i.join(" ")}),Oo=X.define({combine:i=>i.indexOf(!0)>-1}),lo=_e.newName(),Xh=_e.newName(),Rh=_e.newName(),Zh={"&light":"."+Xh,"&dark":"."+Rh};function ao(i,e,t){return new _e(e,{finish(n){return/&/.test(n)?n.replace(/&\w*/,r=>{if(r=="&")return i;if(!t||!t[r])throw new RangeError(`Unsupported selector: ${r}`);return t[r]}):i+" "+n}})}var Qm=ao("."+lo,{"&":{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:"#ddd"},".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,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="20"><path stroke="%23888" stroke-width="1" fill="none" d="M1 10H196L190 5M190 15L196 10M197 4L197 16"/></svg>')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},Zh),Sm={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},qs=z.ie&&z.ie_version<=11,ho=class{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new Us,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(t=>{for(let n of t)this.queue.push(n);(z.ie&&z.ie_version<=11||z.ios&&e.composing)&&t.some(n=>n.type=="childList"&&n.removedNodes.length||n.type=="characterData"&&n.oldValue.length>n.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&e.constructor.EDIT_CONTEXT!==!1&&!(z.chrome&&z.chrome_version<126)&&(this.editContext=new co(e),e.state.facet(Qt)&&(e.contentDOM.editContext=this.editContext.editContext)),qs&&(this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var t;((t=this.view.docView)===null||t===void 0?void 0:t.lastUpdate)<Date.now()-75&&this.onResize()}),this.resizeScroll.observe(e.scrollDOM)),this.addWindowListeners(this.win=e.win),this.start(),typeof IntersectionObserver=="function"&&(this.intersection=new IntersectionObserver(t=>{this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),t.length>0&&t[t.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(t=>{t.length>0&&t[t.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){(e.type=="change"||!e.type)&&!e.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((t,n)=>t!=e[n]))){this.gapIntersection.disconnect();for(let t of e)this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:n}=this,r=this.selectionRange;if(n.state.facet(Qt)?n.root.activeElement!=this.dom:!ir(this.dom,r))return;let s=r.anchorNode&&n.docView.nearest(r.anchorNode);if(s&&s.ignoreEvent(e)){t||(this.selectionChanged=!1);return}(z.ie&&z.ie_version<=11||z.android&&z.chrome)&&!n.state.selection.main.empty&&r.focusNode&&Ni(r.focusNode,r.focusOffset,r.anchorNode,r.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=tn(e.root);if(!t)return!1;let n=z.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&ym(this.view,t)||t;if(!n||this.selectionRange.eq(n))return!1;let r=ir(this.dom,n);return r&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime<Date.now()-300&&pp(this.dom,n)?(this.view.inputState.lastFocusTime=0,e.docView.updateSelection(),!1):(this.selectionRange.setRange(n),r&&(this.selectionChanged=!0),!0)}setSelectionRange(e,t){this.selectionRange.set(e.node,e.offset,t.node,t.offset),this.selectionChanged=!1}clearSelectionRange(){this.selectionRange.set(null,0,null,0)}listenForScroll(){this.parentCheck=-1;let e=0,t=null;for(let n=this.dom;n;)if(n.nodeType==1)!t&&e<this.scrollTargets.length&&this.scrollTargets[e]==n?e++:t||(t=this.scrollTargets.slice(0,e)),t&&t.push(n),n=n.assignedSlot||n.parentNode;else if(n.nodeType==11)n=n.host;else break;if(e<this.scrollTargets.length&&!t&&(t=this.scrollTargets.slice(0,e)),t){for(let n of this.scrollTargets)n.removeEventListener("scroll",this.onScroll);for(let n of this.scrollTargets=t)n.addEventListener("scroll",this.onScroll)}}ignore(e){if(!this.active)return e();try{return this.stop(),e()}finally{this.start(),this.clear()}}start(){this.active||(this.observer.observe(this.dom,Sm),qs&&this.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),qs&&this.dom.removeEventListener("DOMCharacterDataModified",this.onCharData))}clear(){this.processRecords(),this.queue.length=0,this.selectionChanged=!1}delayAndroidKey(e,t){var n;if(!this.delayedAndroidKey){let r=()=>{let s=this.delayedAndroidKey;s&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=s.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&s.force&&Pi(this.dom,s.key,s.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(r)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange<Date.now()-50||!!(!((n=this.delayedAndroidKey)===null||n===void 0)&&n.force)})}clearDelayedAndroidKey(){this.win.cancelAnimationFrame(this.flushingAndroidKey),this.delayedAndroidKey=null,this.flushingAndroidKey=-1}flushSoon(){this.delayedFlush<0&&(this.delayedFlush=this.view.win.requestAnimationFrame(()=>{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let t=-1,n=-1,r=!1;for(let s of e){let o=this.readMutation(s);o&&(o.typeOver&&(r=!0),t==-1?{from:t,to:n}=o:(t=Math.min(o.from,t),n=Math.max(o.to,n)))}return{from:t,to:n,typeOver:r}}readChange(){let{from:e,to:t,typeOver:n}=this.processRecords(),r=this.selectionChanged&&ir(this.dom,this.selectionRange);if(e<0&&!r)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let s=new Hs(this.view,e,t,n);return this.view.docView.domChanged={newSel:s.newSel?s.newSel.main:null},s}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return this.view.requestMeasure(),!1;let n=this.view.state,r=yh(this.view,t);return this.view.state==n&&(t.domChanged||t.newSel&&!t.newSel.main.eq(this.view.state.selection.main))&&this.view.update([]),r}readMutation(e){let t=this.view.docView.nearest(e.target);if(!t||t.ignoreMutation(e))return null;if(t.markDirty(e.type=="attributes"),e.type=="attributes"&&(t.flags|=4),e.type=="childList"){let n=za(t,e.previousSibling||e.target.previousSibling,-1),r=za(t,e.nextSibling||e.target.nextSibling,1);return{from:n?t.posAfter(n):t.posAtStart,to:r?t.posBefore(r):t.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(Qt)!=e.state.facet(Qt)&&(e.view.contentDOM.editContext=e.state.facet(Qt)?this.editContext.editContext:null))}destroy(){var e,t,n;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(t=this.gapIntersection)===null||t===void 0||t.disconnect(),(n=this.resizeScroll)===null||n===void 0||n.disconnect();for(let r of this.scrollTargets)r.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 za(i,e,t){for(;e;){let n=K.get(e);if(n&&n.parent==i)return n;let r=e.parentNode;e=r!=i.dom?r:t>0?e.nextSibling:e.previousSibling}return null}function Xa(i,e){let t=e.startContainer,n=e.startOffset,r=e.endContainer,s=e.endOffset,o=i.docView.domAtPos(i.state.selection.main.anchor);return Ni(o.node,o.offset,r,s)&&([t,n,r,s]=[r,s,t,n]),{anchorNode:t,anchorOffset:n,focusNode:r,focusOffset:s}}function ym(i,e){if(e.getComposedRanges){let r=e.getComposedRanges(i.root)[0];if(r)return Xa(i,r)}let t=null;function n(r){r.preventDefault(),r.stopImmediatePropagation(),t=r.getTargetRanges()[0]}return i.contentDOM.addEventListener("beforeinput",n,!0),i.dom.ownerDocument.execCommand("indent"),i.contentDOM.removeEventListener("beforeinput",n,!0),t?Xa(i,t):null}var co=class{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let t=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=n=>{let r=e.state.selection.main,{anchor:s,head:o}=r,O=this.toEditorPos(n.updateRangeStart),l=this.toEditorPos(n.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:n.updateRangeStart,editorBase:O,drifted:!1});let a={from:O,to:l,insert:U.of(n.text.split(` +`))};if(a.from==this.from&&s<this.from?a.from=s:a.to==this.to&&s>this.to&&(a.to=s),a.from==a.to&&!a.insert.length){let h=S.single(this.toEditorPos(n.selectionStart),this.toEditorPos(n.selectionEnd));h.main.eq(r)||e.dispatch({selection:h,userEvent:"select"});return}if((z.mac||z.android)&&a.from==o-1&&/^\. ?$/.test(n.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(a={from:O,to:l,insert:U.of([n.text.replace("."," ")])}),this.pendingContextChange=a,!e.state.readOnly){let h=this.to-this.from+(a.to-a.from+a.insert.length);wo(e,a,S.single(this.toEditorPos(n.selectionStart,h),this.toEditorPos(n.selectionEnd,h)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state))},this.handlers.characterboundsupdate=n=>{let r=[],s=null;for(let o=this.toEditorPos(n.rangeStart),O=this.toEditorPos(n.rangeEnd);o<O;o++){let l=e.coordsForChar(o);s=l&&new DOMRect(l.left,l.top,l.right-l.left,l.bottom-l.top)||s||new DOMRect,r.push(s)}t.updateCharacterBounds(n.rangeStart,r)},this.handlers.textformatupdate=n=>{let r=[];for(let s of n.getTextFormats()){let o=s.underlineStyle,O=s.underlineThickness;if(o!="None"&&O!="None"){let l=this.toEditorPos(s.rangeStart),a=this.toEditorPos(s.rangeEnd);if(l<a){let h=`text-decoration: underline ${o=="Dashed"?"dashed ":o=="Squiggle"?"wavy ":""}${O=="Thin"?1:2}px`;r.push(_.mark({attributes:{style:h}}).range(l,a))}}}e.dispatch({effects:uh.of(_.set(r))})},this.handlers.compositionstart=()=>{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:n}=this.composing;this.composing=null,n&&this.reset(e.state)}};for(let n in this.handlers)t.addEventListener(n,this.handlers[n]);this.measureReq={read:n=>{this.editContext.updateControlBounds(n.contentDOM.getBoundingClientRect());let r=tn(n.root);r&&r.rangeCount&&this.editContext.updateSelectionBounds(r.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,n=!1,r=this.pendingContextChange;return e.changes.iterChanges((s,o,O,l,a)=>{if(n)return;let h=a.length-(o-s);if(r&&o>=r.to)if(r.from==s&&r.to==o&&r.insert.eq(a)){r=this.pendingContextChange=null,t+=h,this.to+=h;return}else r=null,this.revertPending(e.state);if(s+=t,o+=t,o<=this.from)this.from+=h,this.to+=h;else if(s<this.to){if(s<this.from||o>this.to||this.to-this.from+a.length>3e4){n=!0;return}this.editContext.updateText(this.toContextPos(s),this.toContextPos(o),a.toString()),this.to+=h}t+=h}),r&&!n&&this.revertPending(e.state),!n}update(e){let t=this.pendingContextChange,n=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(n.from,n.to)&&e.transactions.some(r=>!r.isUserEvent("input.type")&&r.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||t)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,n=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),r=this.toContextPos(t.head);(this.editContext.selectionStart!=n||this.editContext.selectionEnd!=r)&&this.editContext.updateSelection(n,r)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to<e.doc.length&&this.to-t<500||this.to-this.from>1e4*3)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let n=this.composing;return n&&n.drifted?n.editorBase+(e-n.contextBase):e+this.from}toContextPos(e){let t=this.composing;return t&&t.drifted?t.contextBase+(e-t.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}},v=class i{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(e={}){var t;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);let{dispatch:n}=e;this.dispatchTransactions=e.dispatchTransactions||n&&(r=>r.forEach(s=>n(s,this)))||(r=>this.update(r)),this.dispatch=this.dispatch.bind(this),this._root=e.root||dp(e.parent)||document,this.viewState=new $r(e.state||D.create(e)),e.scrollTo&&e.scrollTo.is(Nn)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(Li).map(r=>new Ki(r));for(let r of this.plugins)r.update(this);this.observer=new ho(this),this.inputState=new Fs(this),this.inputState.ensureHandlers(this.plugins),this.docView=new dr(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((t=document.fonts)===null||t===void 0)&&t.ready&&document.fonts.ready.then(()=>this.requestMeasure())}dispatch(...e){let t=e.length==1&&e[0]instanceof ne?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(t,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t=!1,n=!1,r,s=this.state;for(let f of e){if(f.startState!=s)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");s=f.state}if(this.destroyed){this.viewState.state=s;return}let o=this.hasFocus,O=0,l=null;e.some(f=>f.annotation(vh))?(this.inputState.notifiedFocused=o,O=1):o!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=o,l=Th(s,o),l||(O=1));let a=this.observer.delayedAndroidKey,h=null;if(a?(this.observer.clearDelayedAndroidKey(),h=this.observer.readChange(),(h&&!this.state.doc.eq(s.doc)||!this.state.selection.eq(s.selection))&&(h=null)):this.observer.clear(),s.facet(D.phrases)!=this.state.facet(D.phrases))return this.setState(s);r=ur.create(this,s,e),r.flags|=O;let c=this.viewState.scrollTarget;try{this.updateState=2;for(let f of e){if(c&&(c=c.map(f.changes)),f.scrollIntoView){let{main:d}=f.state.selection;c=new Fi(d.empty?d:S.cursor(d.head,d.head>d.anchor?-1:1))}for(let d of f.effects)d.is(Nn)&&(c=d.value.clip(this.state))}this.viewState.update(r,c),this.bidiCache=Qr.update(this.bidiCache,r.changes),r.empty||(this.updatePlugins(r),this.inputState.update(r)),t=this.docView.update(r),this.state.facet(Gi)!=this.styleModules&&this.mountStyles(),n=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(t,e.some(f=>f.isUserEvent("select.pointer")))}finally{this.updateState=0}if(r.startState.facet(er)!=r.state.facet(er)&&(this.viewState.mustMeasureContent=!0),(t||n||c||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),t&&this.docViewUpdate(),!r.empty)for(let f of this.state.facet(Bs))try{f(r)}catch(d){Me(this.state,d,"update listener")}(l||h)&&Promise.resolve().then(()=>{l&&this.state==l.startState&&this.dispatch(l),h&&!yh(this,h)&&a.force&&Pi(this.contentDOM,a.key,a.keyCode)})}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let t=this.hasFocus;try{for(let n of this.plugins)n.destroy(this);this.viewState=new $r(e),this.plugins=e.facet(Li).map(n=>new Ki(n)),this.pluginMap.clear();for(let n of this.plugins)n.update(this);this.docView.destroy(),this.docView=new dr(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(Li),n=e.state.facet(Li);if(t!=n){let r=[];for(let s of n){let o=t.indexOf(s);if(o<0)r.push(new Ki(s));else{let O=this.plugins[o];O.mustUpdate=e,r.push(O)}}for(let s of this.plugins)s.mustUpdate!=e&&s.destroy(this);this.plugins=r,this.pluginMap.clear()}else for(let r of this.plugins)r.mustUpdate=e;for(let r=0;r<this.plugins.length;r++)this.plugins[r].update(this);t!=n&&this.inputState.ensureHandlers(this.plugins)}docViewUpdate(){for(let e of this.plugins){let t=e.value;if(t&&t.docViewUpdate)try{t.docViewUpdate(this)}catch(n){Me(this.state,n,"doc view update listener")}}}measure(e=!0){if(this.destroyed)return;if(this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,n=this.scrollDOM,r=n.scrollTop*this.scaleY,{scrollAnchorPos:s,scrollAnchorHeight:o}=this.viewState;Math.abs(r-this.viewState.scrollTop)>1&&(o=-1),this.viewState.scrollAnchorHeight=-1;try{for(let O=0;;O++){if(o<0)if(Ma(n))s=-1,o=this.viewState.heightMap.height;else{let d=this.viewState.scrollAnchorAt(r);s=d.from,o=d.top}this.updateState=1;let l=this.viewState.measure(this);if(!l&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(O>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let a=[];l&4||([this.measureRequests,a]=[a,this.measureRequests]);let h=a.map(d=>{try{return d.read(this)}catch(p){return Me(this.state,p),Ra}}),c=ur.create(this,this.state,[]),f=!1;c.flags|=l,t?t.flags|=l:t=c,this.updateState=2,c.empty||(this.updatePlugins(c),this.inputState.update(c),this.updateAttrs(),f=this.docView.update(c),f&&this.docViewUpdate());for(let d=0;d<a.length;d++)if(h[d]!=Ra)try{let p=a[d];p.write&&p.write(h[d],this)}catch(p){Me(this.state,p)}if(f&&this.docView.updateSelection(!0),!c.viewportChanged&&this.measureRequests.length==0){if(this.viewState.editorHeight)if(this.viewState.scrollTarget){this.docView.scrollIntoView(this.viewState.scrollTarget),this.viewState.scrollTarget=null,o=-1;continue}else{let p=(s<0?this.viewState.heightMap.height:this.viewState.lineBlockAt(s).top)-o;if(p>1||p<-1){r=r+p,n.scrollTop=r/this.scaleY,o=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let O of this.state.facet(Bs))O(t)}get themeClasses(){return lo+" "+(this.state.facet(Oo)?Rh:Xh)+" "+this.state.facet(er)}updateAttrs(){let e=Za(this,dh,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(Qt)?"true":"false",class:"cm-content",style:`${z.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),Za(this,xo,t);let n=this.observer.ignore(()=>{let r=Ms(this.contentDOM,this.contentAttrs,t),s=Ms(this.dom,this.editorAttrs,e);return r||s});return this.editorAttrs=e,this.contentAttrs=t,n}showAnnouncements(e){let t=!0;for(let n of e)for(let r of n.effects)if(r.is(i.announce)){t&&(this.announceDOM.textContent=""),t=!1;let s=this.announceDOM.appendChild(document.createElement("div"));s.textContent=r.value}}mountStyles(){this.styleModules=this.state.facet(Gi);let e=this.state.facet(i.cspNonce);_e.mount(this.root,this.styleModules.concat(Qm).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let t=0;t<this.measureRequests.length;t++)if(this.measureRequests[t].key===e.key){this.measureRequests[t]=e;return}}this.measureRequests.push(e)}}plugin(e){let t=this.pluginMap.get(e);return(t===void 0||t&&t.spec!=e)&&this.pluginMap.set(e,t=this.plugins.find(n=>n.spec==e)||null),t&&t.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,t,n){return Ws(this,e,pa(this,e,t,n))}moveByGroup(e,t){return Ws(this,e,pa(this,e,t,n=>Lp(this,e.head,n)))}visualLineSide(e,t){let n=this.bidiSpans(e),r=this.textDirectionAt(e.from),s=n[t?n.length-1:0];return S.cursor(s.side(t,r)+e.from,s.forward(!t,r)?1:-1)}moveToLineBoundary(e,t,n=!0){return Ep(this,e,t,n)}moveVertically(e,t,n){return Ws(this,e,Gp(this,e,t,n))}domAtPos(e){return this.docView.domAtPos(e)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){return this.readMeasured(),Sh(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let n=this.docView.coordsAt(e,t);if(!n||n.left==n.right)return n;let r=this.state.doc.lineAt(e),s=this.bidiSpans(r),o=s[ot.find(s,e-r.from,-1,t)];return Pr(n,o.dir==ee.LTR==t>0)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(hh)||e<this.viewport.from||e>this.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>Pm)return ih(e.length);let t=this.textDirectionAt(e.from),n;for(let s of this.bidiCache)if(s.from==e.from&&s.dir==t&&(s.fresh||th(s.isolates,n=ha(this,e))))return s.order;n||(n=ha(this,e));let r=vp(e.text,t,n);return this.bidiCache.push(new Qr(e.from,e.to,t,n,!0,r)),r}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||z.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{_a(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,t={}){return Nn.of(new Fi(typeof e=="number"?S.cursor(e):e,t.y,t.x,t.yMargin,t.xMargin))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,n=this.viewState.scrollAnchorAt(e);return Nn.of(new Fi(S.cursor(n.from),"start","start",n.top-e,t,!0))}setTabFocusMode(e){e==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof e=="boolean"?this.inputState.tabFocusMode=e?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return Ee.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return Ee.define(()=>({}),{eventObservers:e})}static theme(e,t){let n=_e.newName(),r=[er.of(n),Gi.of(ao(`.${n}`,e))];return t&&t.dark&&r.push(Oo.of(!0)),r}static baseTheme(e){return nt.lowest(Gi.of(ao("."+lo,e,Zh)))}static findFromDOM(e){var t;let n=e.querySelector(".cm-content"),r=n&&K.get(n)||K.get(e);return((t=r?.rootView)===null||t===void 0?void 0:t.view)||null}};v.styleModule=Gi;v.inputHandler=lh;v.clipboardInputFilter=Po;v.clipboardOutputFilter=bo;v.scrollHandler=fh;v.focusChangeEffect=ah;v.perLineTextDirection=hh;v.exceptionSink=Oh;v.updateListener=Bs;v.editable=Qt;v.mouseSelectionStyle=oh;v.dragMovesSelection=sh;v.clickAddsSelectionRange=rh;v.decorations=ln;v.outerDecorations=ph;v.atomicRanges=ko;v.bidiIsolatedRanges=mh;v.scrollMargins=gh;v.darkTheme=Oo;v.cspNonce=X.define({combine:i=>i.length?i[0]:""});v.contentAttributes=xo;v.editorAttributes=dh;v.lineWrapping=v.contentAttributes.of({class:"cm-lineWrapping"});v.announce=B.define();var Pm=4096,Ra={},Qr=class i{constructor(e,t,n,r,s,o){this.from=e,this.to=t,this.dir=n,this.isolates=r,this.fresh=s,this.order=o}static update(e,t){if(t.empty&&!e.some(s=>s.fresh))return e;let n=[],r=e.length?e[e.length-1].dir:ee.LTR;for(let s=Math.max(0,e.length-10);s<e.length;s++){let o=e[s];o.dir==r&&!t.touchesRange(o.from,o.to)&&n.push(new i(t.mapPos(o.from,1),t.mapPos(o.to,-1),o.dir,o.isolates,!1,o.order))}return n}};function Za(i,e,t){for(let n=i.state.facet(e),r=n.length-1;r>=0;r--){let s=n[r],o=typeof s=="function"?s(i):s;o&&js(o,t)}return t}var bm=z.mac?"mac":z.windows?"win":z.linux?"linux":"key";function xm(i,e){let t=i.split(/-(?!$)/),n=t[t.length-1];n=="Space"&&(n=" ");let r,s,o,O;for(let l=0;l<t.length-1;++l){let a=t[l];if(/^(cmd|meta|m)$/i.test(a))O=!0;else if(/^a(lt)?$/i.test(a))r=!0;else if(/^(c|ctrl|control)$/i.test(a))s=!0;else if(/^s(hift)?$/i.test(a))o=!0;else if(/^mod$/i.test(a))e=="mac"?O=!0:s=!0;else throw new Error("Unrecognized modifier name: "+a)}return r&&(n="Alt-"+n),s&&(n="Ctrl-"+n),O&&(n="Meta-"+n),o&&(n="Shift-"+n),n}function tr(i,e,t){return e.altKey&&(i="Alt-"+i),e.ctrlKey&&(i="Ctrl-"+i),e.metaKey&&(i="Meta-"+i),t!==!1&&e.shiftKey&&(i="Shift-"+i),i}var km=nt.default(v.domEventHandlers({keydown(i,e){return zm(wm(e.state),i,e,"editor")}})),ht=X.define({enables:km}),Wa=new WeakMap;function wm(i){let e=i.facet(ht),t=Wa.get(e);return t||Wa.set(e,t=Tm(e.reduce((n,r)=>n.concat(r),[]))),t}var zt=null,vm=4e3;function Tm(i,e=bm){let t=Object.create(null),n=Object.create(null),r=(o,O)=>{let l=n[o];if(l==null)n[o]=O;else if(l!=O)throw new Error("Key binding "+o+" is used both as a regular binding and as a multi-stroke prefix")},s=(o,O,l,a,h)=>{var c,f;let d=t[o]||(t[o]=Object.create(null)),p=O.split(/ (?!$)/).map($=>xm($,e));for(let $=1;$<p.length;$++){let Q=p.slice(0,$).join(" ");r(Q,!0),d[Q]||(d[Q]={preventDefault:!0,stopPropagation:!1,run:[b=>{let k=zt={view:b,prefix:Q,scope:o};return setTimeout(()=>{zt==k&&(zt=null)},vm),!0}]})}let m=p.join(" ");r(m,!1);let g=d[m]||(d[m]={preventDefault:!1,stopPropagation:!1,run:((f=(c=d._any)===null||c===void 0?void 0:c.run)===null||f===void 0?void 0:f.slice())||[]});l&&g.run.push(l),a&&(g.preventDefault=!0),h&&(g.stopPropagation=!0)};for(let o of i){let O=o.scope?o.scope.split(" "):["editor"];if(o.any)for(let a of O){let h=t[a]||(t[a]=Object.create(null));h._any||(h._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:c}=o;for(let f in h)h[f].run.push(d=>c(d,fo))}let l=o[e]||o.key;if(l)for(let a of O)s(a,l,o.run,o.preventDefault,o.stopPropagation),o.shift&&s(a,"Shift-"+l,o.shift,o.preventDefault,o.stopPropagation)}return t}var fo=null;function zm(i,e,t,n){fo=e;let r=ia(e),s=xs(r,0),o=ks(s)==r.length&&r!=" ",O="",l=!1,a=!1,h=!1;zt&&zt.view==t&&zt.scope==n&&(O=zt.prefix+" ",bh.indexOf(e.keyCode)<0&&(a=!0,zt=null));let c=new Set,f=g=>{if(g){for(let $ of g.run)if(!c.has($)&&(c.add($),$(t)))return g.stopPropagation&&(h=!0),!0;g.preventDefault&&(g.stopPropagation&&(h=!0),a=!0)}return!1},d=i[n],p,m;return d&&(f(d[O+tr(r,e,!o)])?l=!0:o&&(e.altKey||e.metaKey||e.ctrlKey)&&!(z.windows&&e.ctrlKey&&e.altKey)&&(p=$t[e.keyCode])&&p!=r?(f(d[O+tr(p,e,!0)])||e.shiftKey&&(m=$i[e.keyCode])!=r&&m!=p&&f(d[O+tr(m,e,!1)]))&&(l=!0):o&&e.shiftKey&&f(d[O+tr(r,e,!0)])&&(l=!0),!l&&f(d._any)&&(l=!0)),a&&(l=!0),l&&h&&e.stopPropagation(),fo=null,l}var an=class i{constructor(e,t,n,r,s){this.className=e,this.left=t,this.top=n,this.width=r,this.height=s}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,t){return t.className!=this.className?!1:(this.adjust(e),!0)}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",this.width!=null&&(e.style.width=this.width+"px"),e.style.height=this.height+"px"}eq(e){return this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height&&this.className==e.className}static forRange(e,t,n){if(n.empty){let r=e.coordsAtPos(n.head,n.assoc||1);if(!r)return[];let s=Wh(e);return[new i(t,r.left-s.left,r.top-s.top,null,r.bottom-r.top)]}else return Xm(e,t,n)}};function Wh(i){let e=i.scrollDOM.getBoundingClientRect();return{left:(i.textDirection==ee.LTR?e.left:e.right-i.scrollDOM.clientWidth*i.scaleX)-i.scrollDOM.scrollLeft*i.scaleX,top:e.top-i.scrollDOM.scrollTop*i.scaleY}}function qa(i,e,t,n){let r=i.coordsAtPos(e,t*2);if(!r)return n;let s=i.dom.getBoundingClientRect(),o=(r.top+r.bottom)/2,O=i.posAtCoords({x:s.left+1,y:o}),l=i.posAtCoords({x:s.right-1,y:o});return O==null||l==null?n:{from:Math.max(n.from,Math.min(O,l)),to:Math.min(n.to,Math.max(O,l))}}function Xm(i,e,t){if(t.to<=i.viewport.from||t.from>=i.viewport.to)return[];let n=Math.max(t.from,i.viewport.from),r=Math.min(t.to,i.viewport.to),s=i.textDirection==ee.LTR,o=i.contentDOM,O=o.getBoundingClientRect(),l=Wh(i),a=o.querySelector(".cm-line"),h=a&&window.getComputedStyle(a),c=O.left+(h?parseInt(h.paddingLeft)+Math.min(0,parseInt(h.textIndent)):0),f=O.right-(h?parseInt(h.paddingRight):0),d=Is(i,n),p=Is(i,r),m=d.type==ye.Text?d:null,g=p.type==ye.Text?p:null;if(m&&(i.lineWrapping||d.widgetLineBreaks)&&(m=qa(i,n,1,m)),g&&(i.lineWrapping||p.widgetLineBreaks)&&(g=qa(i,r,-1,g)),m&&g&&m.from==g.from&&m.to==g.to)return Q(b(t.from,t.to,m));{let y=m?b(t.from,null,m):k(d,!1),T=g?b(null,t.to,g):k(p,!0),w=[];return(m||d).to<(g||p).from-(m&&g?1:0)||d.widgetLineBreaks>1&&y.bottom+i.defaultLineHeight/2<T.top?w.push($(c,y.bottom,f,T.top)):y.bottom<T.top&&i.elementAtHeight((y.bottom+T.top)/2).type==ye.Text&&(y.bottom=T.top=(y.bottom+T.top)/2),Q(y).concat(w).concat(Q(T))}function $(y,T,w,j){return new an(e,y-l.left,T-l.top,w-y,j-T)}function Q({top:y,bottom:T,horizontal:w}){let j=[];for(let A=0;A<w.length;A+=2)j.push($(w[A],y,w[A+1],T));return j}function b(y,T,w){let j=1e9,A=-1e9,I=[];function C(M,H,ge,Xe,tt){let Oe=i.coordsAtPos(M,M==w.to?-2:2),Ue=i.coordsAtPos(ge,ge==w.from?2:-2);!Oe||!Ue||(j=Math.min(Oe.top,Ue.top,j),A=Math.max(Oe.bottom,Ue.bottom,A),tt==ee.LTR?I.push(s&&H?c:Oe.left,s&&Xe?f:Ue.right):I.push(!s&&Xe?c:Ue.left,!s&&H?f:Oe.right))}let q=y??w.from,G=T??w.to;for(let M of i.visibleRanges)if(M.to>q&&M.from<G)for(let H=Math.max(M.from,q),ge=Math.min(M.to,G);;){let Xe=i.state.doc.lineAt(H);for(let tt of i.bidiSpans(Xe)){let Oe=tt.from+Xe.from,Ue=tt.to+Xe.from;if(Oe>=ge)break;Ue>H&&C(Math.max(Oe,H),y==null&&Oe<=q,Math.min(Ue,ge),T==null&&Ue>=G,tt.dir)}if(H=Xe.to+1,H>=ge)break}return I.length==0&&C(q,y==null,G,T==null,i.textDirection),{top:j,bottom:A,horizontal:I}}function k(y,T){let w=O.top+(T?y.top:y.bottom);return{top:w,bottom:w,horizontal:[]}}}function Rm(i,e){return i.constructor==e.constructor&&i.eq(e)}var uo=class{constructor(e,t){this.view=e,this.layer=t,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=e.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),t.above&&this.dom.classList.add("cm-layer-above"),t.class&&this.dom.classList.add(t.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),t.mount&&t.mount(this.dom,e)}update(e){e.startState.facet(or)!=e.state.facet(or)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&(this.scale(),e.view.requestMeasure(this.measureReq))}docViewUpdate(e){this.layer.updateOnDocViewUpdate!==!1&&e.requestMeasure(this.measureReq)}setOrder(e){let t=0,n=e.facet(or);for(;t<n.length&&n[t]!=this.layer;)t++;this.dom.style.zIndex=String((this.layer.above?150:-1)-t)}measure(){return this.layer.markers(this.view)}scale(){let{scaleX:e,scaleY:t}=this.view;(e!=this.scaleX||t!=this.scaleY)&&(this.scaleX=e,this.scaleY=t,this.dom.style.transform=`scale(${1/e}, ${1/t})`)}draw(e){if(e.length!=this.drawn.length||e.some((t,n)=>!Rm(t,this.drawn[n]))){let t=this.dom.firstChild,n=0;for(let r of e)r.update&&t&&r.constructor&&this.drawn[n].constructor&&r.update(t,this.drawn[n])?(t=t.nextSibling,n++):this.dom.insertBefore(r.draw(),t);for(;t;){let r=t.nextSibling;t.remove(),t=r}this.drawn=e}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}},or=X.define();function qh(i){return[Ee.define(e=>new uo(e,i)),or.of(i)]}var Vh=!(z.ios&&z.webkit&&z.webkit_version<534),hn=X.define({combine(i){return Tt(i,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(e,t)=>Math.min(e,t),drawRangeCursor:(e,t)=>e||t})}});function Ch(i={}){return[hn.of(i),Zm,Wm,qm,ch.of(!0)]}function Uh(i){return i.startState.facet(hn)!=i.state.facet(hn)}var Zm=qh({above:!0,markers(i){let{state:e}=i,t=e.facet(hn),n=[];for(let r of e.selection.ranges){let s=r==e.selection.main;if(r.empty?!s||Vh:t.drawRangeCursor){let o=s?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",O=r.empty?r:S.cursor(r.head,r.head>r.anchor?-1:1);for(let l of an.forRange(i,o,O))n.push(l)}}return n},update(i,e){i.transactions.some(n=>n.selection)&&(e.style.animationName=e.style.animationName=="cm-blink"?"cm-blink2":"cm-blink");let t=Uh(i);return t&&Va(i.state,e),i.docChanged||i.selectionSet||t},mount(i,e){Va(e.state,i)},class:"cm-cursorLayer"});function Va(i,e){e.style.animationDuration=i.facet(hn).cursorBlinkRate+"ms"}var Wm=qh({above:!1,markers(i){return i.state.selection.ranges.map(e=>e.empty?[]:an.forRange(i,"cm-selectionBackground",e)).reduce((e,t)=>e.concat(t))},update(i,e){return i.docChanged||i.selectionSet||i.viewportChanged||Uh(i)},class:"cm-selectionLayer"}),po={".cm-line":{"& ::selection, &::selection":{backgroundColor:"transparent !important"}},".cm-content":{"& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}};Vh&&(po[".cm-line"].caretColor=po[".cm-content"].caretColor="transparent !important");var qm=nt.highest(v.theme(po)),Ah=B.define({map(i,e){return i==null?null:e.mapPos(i)}}),Ii=Qe.define({create(){return null},update(i,e){return i!=null&&(i=e.changes.mapPos(i)),e.effects.reduce((t,n)=>n.is(Ah)?n.value:t,i)}}),Vm=Ee.fromClass(class{constructor(i){this.view=i,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(i){var e;let t=i.state.field(Ii);t==null?this.cursor!=null&&((e=this.cursor)===null||e===void 0||e.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(i.startState.field(Ii)!=t||i.docChanged||i.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:i}=this,e=i.state.field(Ii),t=e!=null&&i.coordsAtPos(e);if(!t)return null;let n=i.scrollDOM.getBoundingClientRect();return{left:t.left-n.left+i.scrollDOM.scrollLeft*i.scaleX,top:t.top-n.top+i.scrollDOM.scrollTop*i.scaleY,height:t.bottom-t.top}}drawCursor(i){if(this.cursor){let{scaleX:e,scaleY:t}=this.view;i?(this.cursor.style.left=i.left/e+"px",this.cursor.style.top=i.top/t+"px",this.cursor.style.height=i.height/t+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(i){this.view.state.field(Ii)!=i&&this.view.dispatch({effects:Ah.of(i)})}},{eventObservers:{dragover(i){this.setDropPos(this.view.posAtCoords({x:i.clientX,y:i.clientY}))},dragleave(i){(i.target==this.view.contentDOM||!this.view.contentDOM.contains(i.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function Yh(){return[Ii,Vm]}var LP=/x/.unicode!=null?"gu":"g";function vo(){return Um}var Cm=_.line({class:"cm-activeLine"}),Um=Ee.fromClass(class{constructor(i){this.decorations=this.getDeco(i)}update(i){(i.docChanged||i.selectionSet)&&(this.decorations=this.getDeco(i.view))}getDeco(i){let e=-1,t=[];for(let n of i.state.selection.ranges){let r=i.lineBlockAt(n.head);r.from>e&&(t.push(Cm.range(r.from)),e=r.from)}return _.set(t)}},{decorations:i=>i.decorations});var mo=2e3;function Am(i,e,t){let n=Math.min(e.line,t.line),r=Math.max(e.line,t.line),s=[];if(e.off>mo||t.off>mo||e.col<0||t.col<0){let o=Math.min(e.off,t.off),O=Math.max(e.off,t.off);for(let l=n;l<=r;l++){let a=i.doc.line(l);a.length<=O&&s.push(S.range(a.from+o,a.to+O))}}else{let o=Math.min(e.col,t.col),O=Math.max(e.col,t.col);for(let l=n;l<=r;l++){let a=i.doc.line(l),h=Bn(a.text,o,i.tabSize,!0);if(h<0)s.push(S.cursor(a.to));else{let c=Bn(a.text,O,i.tabSize);s.push(S.range(a.from+h,a.from+c))}}}return s}function Ym(i,e){let t=i.coordsAtPos(i.viewport.from);return t?Math.round(Math.abs((t.left-e)/i.defaultCharacterWidth)):-1}function Ca(i,e){let t=i.posAtCoords({x:e.clientX,y:e.clientY},!1),n=i.state.doc.lineAt(t),r=t-n.from,s=r>mo?-1:r==n.length?Ym(i,e.clientX):ke(n.text,i.state.tabSize,t-n.from);return{line:n.number,col:s,off:r}}function _m(i,e){let t=Ca(i,e),n=i.state.selection;return t?{update(r){if(r.docChanged){let s=r.changes.mapPos(r.startState.doc.line(t.line).from),o=r.state.doc.lineAt(s);t={line:o.number,col:t.col,off:Math.min(t.off,o.length)},n=n.map(r.changes)}},get(r,s,o){let O=Ca(i,r);if(!O)return n;let l=Am(i.state,t,O);return l.length?o?S.create(l.concat(n.ranges)):S.create(l):n}}:null}function _h(i){let e=i?.eventFilter||(t=>t.altKey&&t.button==0);return v.mouseSelectionStyle.of((t,n)=>e(n)?_m(t,n):null)}var GP=v.baseTheme({".cm-tooltip":{zIndex:500,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:`${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"}}});var He=class extends Ie{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}};He.prototype.elementClass="";He.prototype.toDOM=void 0;He.prototype.mapMode=le.TrackBefore;He.prototype.startSide=He.prototype.endSide=-1;He.prototype.point=!0;var Or=X.define(),jm=X.define();var lr=X.define();var go=X.define({combine:i=>i.some(e=>e)});function Mm(i){let e=[Em];return i&&i.fixed===!1&&e.push(go.of(!0)),e}var Em=Ee.fromClass(class{constructor(i){this.view=i,this.prevViewport=i.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=i.state.facet(lr).map(e=>new Sr(i,e));for(let e of this.gutters)this.dom.appendChild(e.dom);this.fixed=!i.state.facet(go),this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),i.scrollDOM.insertBefore(this.dom,i.contentDOM)}update(i){if(this.updateGutters(i)){let e=this.prevViewport,t=i.view.viewport,n=Math.min(e.to,t.to)-Math.max(e.from,t.from);this.syncGutters(n<(t.to-t.from)*.8)}i.geometryChanged&&(this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px"),this.view.state.facet(go)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":""),this.prevViewport=i.view.viewport}syncGutters(i){let e=this.dom.nextSibling;i&&this.dom.remove();let t=F.iter(this.view.state.facet(Or),this.view.viewport.from),n=[],r=this.gutters.map(s=>new Qo(s,this.view.viewport,-this.view.documentPadding.top));for(let s of this.view.viewportLineBlocks)if(n.length&&(n=[]),Array.isArray(s.type)){let o=!0;for(let O of s.type)if(O.type==ye.Text&&o){$o(t,n,O.from);for(let l of r)l.line(this.view,O,n);o=!1}else if(O.widget)for(let l of r)l.widget(this.view,O)}else if(s.type==ye.Text){$o(t,n,s.from);for(let o of r)o.line(this.view,s,n)}else if(s.widget)for(let o of r)o.widget(this.view,s);for(let s of r)s.finish();i&&this.view.scrollDOM.insertBefore(this.dom,e)}updateGutters(i){let e=i.startState.facet(lr),t=i.state.facet(lr),n=i.docChanged||i.heightChanged||i.viewportChanged||!F.eq(i.startState.facet(Or),i.state.facet(Or),i.view.viewport.from,i.view.viewport.to);if(e==t)for(let r of this.gutters)r.update(i)&&(n=!0);else{n=!0;let r=[];for(let s of t){let o=e.indexOf(s);o<0?r.push(new Sr(this.view,s)):(this.gutters[o].update(i),r.push(this.gutters[o]))}for(let s of this.gutters)s.dom.remove(),r.indexOf(s)<0&&s.destroy();for(let s of r)this.dom.appendChild(s.dom);this.gutters=r}return n}destroy(){for(let i of this.gutters)i.destroy();this.dom.remove()}},{provide:i=>v.scrollMargins.of(e=>{let t=e.plugin(i);return!t||t.gutters.length==0||!t.fixed?null:e.textDirection==ee.LTR?{left:t.dom.offsetWidth*e.scaleX}:{right:t.dom.offsetWidth*e.scaleX}})});function Ua(i){return Array.isArray(i)?i:[i]}function $o(i,e,t){for(;i.value&&i.from<=t;)i.from==t&&e.push(i.value),i.next()}var Qo=class{constructor(e,t,n){this.gutter=e,this.height=n,this.i=0,this.cursor=F.iter(e.markers,t.from)}addElement(e,t,n){let{gutter:r}=this,s=(t.top-this.height)/e.scaleY,o=t.height/e.scaleY;if(this.i==r.elements.length){let O=new yr(e,o,s,n);r.elements.push(O),r.dom.appendChild(O.dom)}else r.elements[this.i].update(e,o,s,n);this.height=t.bottom,this.i++}line(e,t,n){let r=[];$o(this.cursor,r,t.from),n.length&&(r=r.concat(n));let s=this.gutter.config.lineMarker(e,t,r);s&&r.unshift(s);let o=this.gutter;r.length==0&&!o.config.renderEmptyElements||this.addElement(e,t,r)}widget(e,t){let n=this.gutter.config.widgetMarker(e,t.widget,t),r=n?[n]:null;for(let s of e.state.facet(jm)){let o=s(e,t.widget,t);o&&(r||(r=[])).push(o)}r&&this.addElement(e,t,r)}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let t=e.elements.pop();e.dom.removeChild(t.dom),t.destroy()}}},Sr=class{constructor(e,t){this.view=e,this.config=t,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let n in t.domEventHandlers)this.dom.addEventListener(n,r=>{let s=r.target,o;if(s!=this.dom&&this.dom.contains(s)){for(;s.parentNode!=this.dom;)s=s.parentNode;let l=s.getBoundingClientRect();o=(l.top+l.bottom)/2}else o=r.clientY;let O=e.lineBlockAtHeight(o-e.documentTop);t.domEventHandlers[n](e,O,r)&&r.preventDefault()});this.markers=Ua(t.markers(e)),t.initialSpacer&&(this.spacer=new yr(e,0,0,[t.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let t=this.markers;if(this.markers=Ua(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let r=this.config.updateSpacer(this.spacer.markers[0],e);r!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[r])}let n=e.view.viewport;return!F.eq(this.markers,t,n.from,n.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(e):!1)}destroy(){for(let e of this.elements)e.destroy()}},yr=class{constructor(e,t,n,r){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,t,n,r)}update(e,t,n,r){this.height!=t&&(this.height=t,this.dom.style.height=t+"px"),this.above!=n&&(this.dom.style.marginTop=(this.above=n)?n+"px":""),Lm(this.markers,r)||this.setMarkers(e,r)}setMarkers(e,t){let n="cm-gutterElement",r=this.dom.firstChild;for(let s=0,o=0;;){let O=o,l=s<t.length?t[s++]:null,a=!1;if(l){let h=l.elementClass;h&&(n+=" "+h);for(let c=o;c<this.markers.length;c++)if(this.markers[c].compare(l)){O=c,a=!0;break}}else O=this.markers.length;for(;o<O;){let h=this.markers[o++];if(h.toDOM){h.destroy(r);let c=r.nextSibling;r.remove(),r=c}}if(!l)break;l.toDOM&&(a?r=r.nextSibling:this.dom.insertBefore(l.toDOM(e),r)),a&&o++}this.dom.className=n,this.markers=t}destroy(){this.setMarkers(null,[])}};function Lm(i,e){if(i.length!=e.length)return!1;for(let t=0;t<i.length;t++)if(!i[t].compare(e[t]))return!1;return!0}var Gm=X.define(),Bm=X.define(),yi=X.define({combine(i){return Tt(i,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(e,t){let n=Object.assign({},e);for(let r in t){let s=n[r],o=t[r];n[r]=s?(O,l,a)=>s(O,l,a)||o(O,l,a):o}return n}})}}),en=class extends He{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}};function Vs(i,e){return i.state.facet(yi).formatNumber(e,i.state)}var Dm=lr.compute([yi],i=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(e){return e.state.facet(Gm)},lineMarker(e,t,n){return n.some(r=>r.toDOM)?null:new en(Vs(e,e.state.doc.lineAt(t.from).number))},widgetMarker:(e,t,n)=>{for(let r of e.state.facet(Bm)){let s=r(e,t,n);if(s)return s}return null},lineMarkerChange:e=>e.startState.facet(yi)!=e.state.facet(yi),initialSpacer(e){return new en(Vs(e,Aa(e.state.doc.lines)))},updateSpacer(e,t){let n=Vs(t.view,Aa(t.view.state.doc.lines));return n==e.number?e:new en(n)},domEventHandlers:i.facet(yi).domEventHandlers}));function jh(i={}){return[yi.of(i),Mm(),Dm]}function Aa(i){let e=9;for(;e<i;)e=e*10+9;return e}var Im=new class extends He{constructor(){super(...arguments),this.elementClass="cm-activeLineGutter"}},Nm=Or.compute(["selection"],i=>{let e=[],t=-1;for(let n of i.selection.ranges){let r=i.doc.lineAt(n.head).from;r>t&&(t=r,e.push(Im.range(r)))}return F.of(e)});function To(){return Nm}async function Mh(i){if(window.isSecureContext&&navigator.clipboard){await navigator.clipboard.writeText(i);return}let e=document.createElement("textarea");e.setAttribute("style","position: absolute; left: -1000px; top: -1000px;"),e.value=i,document.body.appendChild(e),e.select(),document.execCommand("copy"),document.body.removeChild(e)}var Hm=0,ve=class{constructor(e,t){this.from=e,this.to=t}},W=class{constructor(e={}){this.id=Hm++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")})}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=ie.match(e)),t=>{let n=e(t);return n===void 0?null:[this,n]}}};W.closedBy=new W({deserialize:i=>i.split(" ")});W.openedBy=new W({deserialize:i=>i.split(" ")});W.group=new W({deserialize:i=>i.split(" ")});W.isolate=new W({deserialize:i=>{if(i&&i!="rtl"&&i!="ltr"&&i!="auto")throw new RangeError("Invalid value for isolate: "+i);return i||"auto"}});W.contextHash=new W({perNode:!0});W.lookAhead=new W({perNode:!0});W.mounted=new W({perNode:!0});var ii=class{constructor(e,t,n){this.tree=e,this.overlay=t,this.parser=n}static get(e){return e&&e.props&&e.props[W.mounted.id]}},Fm=Object.create(null),ie=class i{constructor(e,t,n,r=0){this.name=e,this.props=t,this.id=n,this.flags=r}static define(e){let t=e.props&&e.props.length?Object.create(null):Fm,n=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),r=new i(e.name||"",t,e.id,n);if(e.props){for(let s of e.props)if(Array.isArray(s)||(s=s(r)),s){if(s[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[s[0].id]=s[1]}}return r}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let t=this.prop(W.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let n in e)for(let r of n.split(" "))t[r]=e[n];return n=>{for(let r=n.prop(W.group),s=-1;s<(r?r.length:0);s++){let o=t[s<0?n.name:r[s]];if(o)return o}}}};ie.none=new ie("",Object.create(null),0,8);var St=class i{constructor(e){this.types=e;for(let t=0;t<e.length;t++)if(e[t].id!=t)throw new RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...e){let t=[];for(let n of this.types){let r=null;for(let s of e){let o=s(n);o&&(r||(r=Object.assign({},n.props)),r[o[0].id]=o[1])}t.push(r?new ie(n.name,r,n.id,n.flags):n)}return new i(t)}},kr=new WeakMap,Eh=new WeakMap,E;(function(i){i[i.ExcludeBuffers=1]="ExcludeBuffers",i[i.IncludeAnonymous=2]="IncludeAnonymous",i[i.IgnoreMounts=4]="IgnoreMounts",i[i.IgnoreOverlays=8]="IgnoreOverlays"})(E||(E={}));var V=class i{constructor(e,t,n,r,s){if(this.type=e,this.children=t,this.positions=n,this.length=r,this.props=null,s&&s.length){this.props=Object.create(null);for(let[o,O]of s)this.props[typeof o=="number"?o:o.id]=O}}toString(){let e=ii.get(this);if(e&&!e.overlay)return e.tree.toString();let t="";for(let n of this.children){let r=n.toString();r&&(t&&(t+=","),t+=r)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(t.length?"("+t+")":""):t}cursor(e=0){return new xi(this.topNode,e)}cursorAt(e,t=0,n=0){let r=kr.get(this)||this.topNode,s=new xi(r);return s.moveTo(e,t),kr.set(this,s._tree),s}get topNode(){return new Te(this,0,0,null)}resolve(e,t=0){let n=cn(kr.get(this)||this.topNode,e,t,!1);return kr.set(this,n),n}resolveInner(e,t=0){let n=cn(Eh.get(this)||this.topNode,e,t,!0);return Eh.set(this,n),n}resolveStack(e,t=0){return Km(this,e,t)}iterate(e){let{enter:t,leave:n,from:r=0,to:s=this.length}=e,o=e.mode||0,O=(o&E.IncludeAnonymous)>0;for(let l=this.cursor(o|E.IncludeAnonymous);;){let a=!1;if(l.from<=s&&l.to>=r&&(!O&&l.type.isAnonymous||t(l)!==!1)){if(l.firstChild())continue;a=!0}for(;a&&n&&(O||!l.type.isAnonymous)&&n(l),!l.nextSibling();){if(!l.parent())return;a=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:Yo(ie.none,this.children,this.positions,0,this.children.length,0,this.length,(t,n,r)=>new i(this.type,t,n,r,this.propValues),e.makeTree||((t,n,r)=>new i(ie.none,t,n,r)))}static build(e){return Jm(e)}};V.empty=new V(ie.none,[],[],0);var zo=class i{constructor(e,t){this.buffer=e,this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new i(this.buffer,this.index)}},Vt=class i{constructor(e,t,n){this.buffer=e,this.length=t,this.set=n}get type(){return ie.none}toString(){let e=[];for(let t=0;t<this.buffer.length;)e.push(this.childString(t)),t=this.buffer[t+3];return e.join(",")}childString(e){let t=this.buffer[e],n=this.buffer[e+3],r=this.set.types[t],s=r.name;if(/\W/.test(s)&&!r.isError&&(s=JSON.stringify(s)),e+=4,n==e)return s;let o=[];for(;e<n;)o.push(this.childString(e)),e=this.buffer[e+3];return s+"("+o.join(",")+")"}findChild(e,t,n,r,s){let{buffer:o}=this,O=-1;for(let l=e;l!=t&&!(Hh(s,r,o[l+1],o[l+2])&&(O=l,n>0));l=o[l+3]);return O}slice(e,t,n){let r=this.buffer,s=new Uint16Array(t-e),o=0;for(let O=e,l=0;O<t;){s[l++]=r[O++],s[l++]=r[O++]-n;let a=s[l++]=r[O++]-n;s[l++]=r[O++]-e,o=Math.max(o,a)}return new i(s,o,this.set)}};function Hh(i,e,t,n){switch(i){case-2:return t<e;case-1:return n>=e&&t<e;case 0:return t<e&&n>e;case 1:return t<=e&&n>e;case 2:return n>e;case 4:return!0}}function cn(i,e,t,n){for(var r;i.from==i.to||(t<1?i.from>=e:i.from>e)||(t>-1?i.to<=e:i.to<e);){let o=!n&&i instanceof Te&&i.index<0?null:i.parent;if(!o)return i;i=o}let s=n?0:E.IgnoreOverlays;if(n)for(let o=i,O=o.parent;O;o=O,O=o.parent)o instanceof Te&&o.index<0&&((r=O.enter(e,t,s))===null||r===void 0?void 0:r.from)!=o.from&&(i=O);for(;;){let o=i.enter(e,t,s);if(!o)return i;i=o}}var vr=class{cursor(e=0){return new xi(this,e)}getChild(e,t=null,n=null){let r=Lh(this,e,t,n);return r.length?r[0]:null}getChildren(e,t=null,n=null){return Lh(this,e,t,n)}resolve(e,t=0){return cn(this,e,t,!1)}resolveInner(e,t=0){return cn(this,e,t,!0)}matchContext(e){return Xo(this.parent,e)}enterUnfinishedNodesBefore(e){let t=this.childBefore(e),n=this;for(;t;){let r=t.lastChild;if(!r||r.to!=t.to)break;r.type.isError&&r.from==r.to?(n=t,t=r.prevSibling):t=r}return n}get node(){return this}get next(){return this.parent}},Te=class i extends vr{constructor(e,t,n,r){super(),this._tree=e,this.from=t,this.index=n,this._parent=r}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(e,t,n,r,s=0){for(let o=this;;){for(let{children:O,positions:l}=o._tree,a=t>0?O.length:-1;e!=a;e+=t){let h=O[e],c=l[e]+o.from;if(Hh(r,n,c,c+h.length)){if(h instanceof Vt){if(s&E.ExcludeBuffers)continue;let f=h.findChild(0,h.buffer.length,t,n-c,r);if(f>-1)return new ni(new Ro(o,h,e,c),null,f)}else if(s&E.IncludeAnonymous||!h.type.isAnonymous||Ao(h)){let f;if(!(s&E.IgnoreMounts)&&(f=ii.get(h))&&!f.overlay)return new i(f.tree,c,e,o);let d=new i(h,c,e,o);return s&E.IncludeAnonymous||!d.type.isAnonymous?d:d.nextChild(t<0?h.children.length-1:0,t,n,r)}}}if(s&E.IncludeAnonymous||!o.type.isAnonymous||(o.index>=0?e=o.index+t:e=t<0?-1:o._parent._tree.children.length,o=o._parent,!o))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}enter(e,t,n=0){let r;if(!(n&E.IgnoreOverlays)&&(r=ii.get(this._tree))&&r.overlay){let s=e-this.from;for(let{from:o,to:O}of r.overlay)if((t>0?o<=s:o<s)&&(t<0?O>=s:O>s))return new i(r.tree,r.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,n)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}};function Lh(i,e,t,n){let r=i.cursor(),s=[];if(!r.firstChild())return s;if(t!=null){for(let o=!1;!o;)if(o=r.type.is(t),!r.nextSibling())return s}for(;;){if(n!=null&&r.type.is(n))return s;if(r.type.is(e)&&s.push(r.node),!r.nextSibling())return n==null?s:[]}}function Xo(i,e,t=e.length-1){for(let n=i;t>=0;n=n.parent){if(!n)return!1;if(!n.type.isAnonymous){if(e[t]&&e[t]!=n.name)return!1;t--}}return!0}var Ro=class{constructor(e,t,n,r){this.parent=e,this.buffer=t,this.index=n,this.start=r}},ni=class i extends vr{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,n){super(),this.context=e,this._parent=t,this.index=n,this.type=e.buffer.set.types[e.buffer.buffer[n]]}child(e,t,n){let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.context.start,n);return s<0?null:new i(this.context,this,s)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}enter(e,t,n=0){if(n&E.ExcludeBuffers)return null;let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return s<0?null:new i(this.context,this,s)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new i(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new i(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:n}=this.context,r=this.index+4,s=n.buffer[this.index+3];if(s>r){let o=n.buffer[this.index+1];e.push(n.slice(r,s,o)),t.push(0)}return new V(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}};function Fh(i){if(!i.length)return null;let e=0,t=i[0];for(let s=1;s<i.length;s++){let o=i[s];(o.from>t.from||o.to<t.to)&&(t=o,e=s)}let n=t instanceof Te&&t.index<0?null:t.parent,r=i.slice();return n?r[e]=n:r.splice(e,1),new Zo(r,t)}var Zo=class{constructor(e,t){this.heads=e,this.node=t}get next(){return Fh(this.heads)}};function Km(i,e,t){let n=i.resolveInner(e,t),r=null;for(let s=n instanceof Te?n:n.context.parent;s;s=s.parent)if(s.index<0){let o=s.parent;(r||(r=[n])).push(o.resolve(e,t)),s=o}else{let o=ii.get(s.tree);if(o&&o.overlay&&o.overlay[0].from<=e&&o.overlay[o.overlay.length-1].to>=e){let O=new Te(o.tree,o.overlay[0].from+s.from,-1,s);(r||(r=[n])).push(cn(O,e,t,!1))}}return r?Fh(r):n}var xi=class{get name(){return this.type.name}constructor(e,t=0){if(this.mode=t,this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,e instanceof Te)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let n=e._parent;n;n=n._parent)this.stack.unshift(n.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,t){this.index=e;let{start:n,buffer:r}=this.buffer;return this.type=t||r.set.types[r.buffer[e]],this.from=n+r.buffer[e+1],this.to=n+r.buffer[e+2],!0}yield(e){return e?e instanceof Te?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,n){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,n,this.mode));let{buffer:r}=this.buffer,s=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.buffer.start,n);return s<0?!1:(this.stack.push(this.index),this.yieldBuf(s))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,n=this.mode){return this.buffer?n&E.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,n))}parent(){if(!this.buffer)return this.yieldNode(this.mode&E.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&E.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:t}=this.buffer,n=this.stack.length-1;if(e<0){let r=n<0?0:this.stack[n]+4;if(this.index!=r)return this.yieldBuf(t.findChild(r,this.index,-1,0,4))}else{let r=t.buffer[this.index+3];if(r<(n<0?t.buffer.length:t.buffer[this.stack[n]+3]))return this.yieldBuf(r)}return n<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,n,{buffer:r}=this;if(r){if(e>0){if(this.index<r.buffer.buffer.length)return!1}else for(let s=0;s<this.index;s++)if(r.buffer.buffer[s+3]<this.index)return!1;({index:t,parent:n}=r)}else({index:t,_parent:n}=this._tree);for(;n;{index:t,_parent:n}=n)if(t>-1)for(let s=t+e,o=e<0?-1:n._tree.children.length;s!=o;s+=e){let O=n._tree.children[s];if(this.mode&E.IncludeAnonymous||O instanceof Vt||!O.type.isAnonymous||Ao(O))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to<e))&&this.parent(););for(;this.enterChild(1,e,t););return this}get node(){if(!this.buffer)return this._tree;let e=this.bufferNode,t=null,n=0;if(e&&e.context==this.buffer)e:for(let r=this.index,s=this.stack.length;s>=0;){for(let o=e;o;o=o._parent)if(o.index==r){if(r==this.index)return o;t=o,n=s+1;break e}r=this.stack[--s]}for(let r=n;r<this.stack.length;r++)t=new ni(this.buffer,t,this.stack[r]);return this.bufferNode=new ni(this.buffer,t,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(e,t){for(let n=0;;){let r=!1;if(this.type.isAnonymous||e(this)!==!1){if(this.firstChild()){n++;continue}this.type.isAnonymous||(r=!0)}for(;;){if(r&&t&&t(this),r=this.type.isAnonymous,!n)return;if(this.nextSibling())break;this.parent(),n--,r=!0}}}matchContext(e){if(!this.buffer)return Xo(this.node.parent,e);let{buffer:t}=this.buffer,{types:n}=t.set;for(let r=e.length-1,s=this.stack.length-1;r>=0;s--){if(s<0)return Xo(this._tree,e,r);let o=n[t.buffer[this.stack[s]]];if(!o.isAnonymous){if(e[r]&&e[r]!=o.name)return!1;r--}}return!0}};function Ao(i){return i.children.some(e=>e instanceof Vt||!e.type.isAnonymous||Ao(e))}function Jm(i){var e;let{buffer:t,nodeSet:n,maxBufferLength:r=1024,reused:s=[],minRepeatType:o=n.types.length}=i,O=Array.isArray(t)?new zo(t,t.length):t,l=n.types,a=0,h=0;function c(y,T,w,j,A,I){let{id:C,start:q,end:G,size:M}=O,H=h,ge=a;for(;M<0;)if(O.next(),M==-1){let pt=s[C];w.push(pt),j.push(q-y);return}else if(M==-3){a=C;return}else if(M==-4){h=C;return}else throw new RangeError(`Unrecognized record size: ${M}`);let Xe=l[C],tt,Oe,Ue=q-y;if(G-q<=r&&(Oe=g(O.pos-T,A))){let pt=new Uint16Array(Oe.size-Oe.skip),Ae=O.pos-Oe.size,it=pt.length;for(;O.pos>Ae;)it=$(Oe.start,pt,it);tt=new Vt(pt,G-Oe.start,n),Ue=Oe.start-y}else{let pt=O.pos-M;O.next();let Ae=[],it=[],Bt=C>=o?C:-1,fi=0,Vn=G;for(;O.pos>pt;)Bt>=0&&O.id==Bt&&O.size>=0?(O.end<=Vn-r&&(p(Ae,it,q,fi,O.end,Vn,Bt,H,ge),fi=Ae.length,Vn=O.end),O.next()):I>2500?f(q,pt,Ae,it):c(q,pt,Ae,it,Bt,I+1);if(Bt>=0&&fi>0&&fi<Ae.length&&p(Ae,it,q,fi,q,Vn,Bt,H,ge),Ae.reverse(),it.reverse(),Bt>-1&&fi>0){let zl=d(Xe,ge);tt=Yo(Xe,Ae,it,0,Ae.length,0,G-q,zl,zl)}else tt=m(Xe,Ae,it,G-q,H-G,ge)}w.push(tt),j.push(Ue)}function f(y,T,w,j){let A=[],I=0,C=-1;for(;O.pos>T;){let{id:q,start:G,end:M,size:H}=O;if(H>4)O.next();else{if(C>-1&&G<C)break;C<0&&(C=M-r),A.push(q,G,M),I++,O.next()}}if(I){let q=new Uint16Array(I*4),G=A[A.length-2];for(let M=A.length-3,H=0;M>=0;M-=3)q[H++]=A[M],q[H++]=A[M+1]-G,q[H++]=A[M+2]-G,q[H++]=H;w.push(new Vt(q,A[2]-G,n)),j.push(G-y)}}function d(y,T){return(w,j,A)=>{let I=0,C=w.length-1,q,G;if(C>=0&&(q=w[C])instanceof V){if(!C&&q.type==y&&q.length==A)return q;(G=q.prop(W.lookAhead))&&(I=j[C]+q.length+G)}return m(y,w,j,A,I,T)}}function p(y,T,w,j,A,I,C,q,G){let M=[],H=[];for(;y.length>j;)M.push(y.pop()),H.push(T.pop()+w-A);y.push(m(n.types[C],M,H,I-A,q-I,G)),T.push(A-w)}function m(y,T,w,j,A,I,C){if(I){let q=[W.contextHash,I];C=C?[q].concat(C):[q]}if(A>25){let q=[W.lookAhead,A];C=C?[q].concat(C):[q]}return new V(y,T,w,j,C)}function g(y,T){let w=O.fork(),j=0,A=0,I=0,C=w.end-r,q={size:0,start:0,skip:0};e:for(let G=w.pos-y;w.pos>G;){let M=w.size;if(w.id==T&&M>=0){q.size=j,q.start=A,q.skip=I,I+=4,j+=4,w.next();continue}let H=w.pos-M;if(M<0||H<G||w.start<C)break;let ge=w.id>=o?4:0,Xe=w.start;for(w.next();w.pos>H;){if(w.size<0)if(w.size==-3)ge+=4;else break e;else w.id>=o&&(ge+=4);w.next()}A=Xe,j+=M,I+=ge}return(T<0||j==y)&&(q.size=j,q.start=A,q.skip=I),q.size>4?q:void 0}function $(y,T,w){let{id:j,start:A,end:I,size:C}=O;if(O.next(),C>=0&&j<o){let q=w;if(C>4){let G=O.pos-(C-4);for(;O.pos>G;)w=$(y,T,w)}T[--w]=q,T[--w]=I-y,T[--w]=A-y,T[--w]=j}else C==-3?a=j:C==-4&&(h=j);return w}let Q=[],b=[];for(;O.pos>0;)c(i.start||0,i.bufferStart||0,Q,b,-1,0);let k=(e=i.length)!==null&&e!==void 0?e:Q.length?b[0]+Q[0].length:0;return new V(l[i.topID],Q.reverse(),b.reverse(),k)}var Gh=new WeakMap;function wr(i,e){if(!i.isAnonymous||e instanceof Vt||e.type!=i)return 1;let t=Gh.get(e);if(t==null){t=1;for(let n of e.children){if(n.type!=i||!(n instanceof V)){t=1;break}t+=wr(i,n)}Gh.set(e,t)}return t}function Yo(i,e,t,n,r,s,o,O,l){let a=0;for(let p=n;p<r;p++)a+=wr(i,e[p]);let h=Math.ceil(a*1.5/8),c=[],f=[];function d(p,m,g,$,Q){for(let b=g;b<$;){let k=b,y=m[b],T=wr(i,p[b]);for(b++;b<$;b++){let w=wr(i,p[b]);if(T+w>=h)break;T+=w}if(b==k+1){if(T>h){let w=p[k];d(w.children,w.positions,0,w.children.length,m[k]+Q);continue}c.push(p[k])}else{let w=m[b-1]+p[b-1].length-y;c.push(Yo(i,p,m,k,b,y,w,null,l))}f.push(y+Q-s)}}return d(e,t,n,r,0),(O||l)(c,f,o)}var ki=class{constructor(){this.map=new WeakMap}setBuffer(e,t,n){let r=this.map.get(e);r||this.map.set(e,r=new Map),r.set(t,n)}getBuffer(e,t){let n=this.map.get(e);return n&&n.get(t)}set(e,t){e instanceof ni?this.setBuffer(e.context.buffer,e.index,t):e instanceof Te&&this.map.set(e.tree,t)}get(e){return e instanceof ni?this.getBuffer(e.context.buffer,e.index):e instanceof Te?this.map.get(e.tree):void 0}cursorSet(e,t){e.buffer?this.setBuffer(e.buffer.buffer,e.index,t):this.map.set(e.tree,t)}cursorGet(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}},yt=class i{constructor(e,t,n,r,s=!1,o=!1){this.from=e,this.to=t,this.tree=n,this.offset=r,this.open=(s?1:0)|(o?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,t=[],n=!1){let r=[new i(0,e.length,e,0,!1,n)];for(let s of t)s.to>e.length&&r.push(s);return r}static applyChanges(e,t,n=128){if(!t.length)return e;let r=[],s=1,o=e.length?e[0]:null;for(let O=0,l=0,a=0;;O++){let h=O<t.length?t[O]:null,c=h?h.fromA:1e9;if(c-l>=n)for(;o&&o.from<c;){let f=o;if(l>=f.from||c<=f.to||a){let d=Math.max(f.from,l)-a,p=Math.min(f.to,c)-a;f=d>=p?null:new i(d,p,f.tree,f.offset+a,O>0,!!h)}if(f&&r.push(f),o.to>c)break;o=s<e.length?e[s++]:null}if(!h)break;l=h.toA,a=h.toA-h.toB}return r}},Pt=class{startParse(e,t,n){return typeof e=="string"&&(e=new Wo(e)),n=n?n.length?n.map(r=>new ve(r.from,r.to)):[new ve(0,0)]:[new ve(0,e.length)],this.createParse(e,t||[],n)}parse(e,t,n){let r=this.startParse(e,t,n);for(;;){let s=r.advance();if(s)return s}}},Wo=class{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}};function wi(i){return(e,t,n,r)=>new Co(e,i,t,n,r)}var Tr=class{constructor(e,t,n,r,s){this.parser=e,this.parse=t,this.overlay=n,this.target=r,this.from=s}};function Bh(i){if(!i.length||i.some(e=>e.from>=e.to))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(i))}var qo=class{constructor(e,t,n,r,s,o,O){this.parser=e,this.predicate=t,this.mounts=n,this.index=r,this.start=s,this.target=o,this.prev=O,this.depth=0,this.ranges=[]}},Vo=new W({perNode:!0}),Co=class{constructor(e,t,n,r,s){this.nest=t,this.input=n,this.fragments=r,this.ranges=s,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=e}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 r of this.inner)r.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let n=this.baseTree;return this.stoppedAt!=null&&(n=new V(n.type,n.children,n.positions,n.length,n.propValues.concat([[Vo,this.stoppedAt]]))),n}let e=this.inner[this.innerDone],t=e.parse.advance();if(t){this.innerDone++;let n=Object.assign(Object.create(null),e.target.props);n[W.mounted.id]=new ii(t,e.overlay,e.parser),e.target.props=n}return null}get parsedPos(){if(this.baseParse)return 0;let e=this.input.length;for(let t=this.innerDone;t<this.inner.length;t++)this.inner[t].from<e&&(e=Math.min(e,this.inner[t].parse.parsedPos));return e}stopAt(e){if(this.stoppedAt=e,this.baseParse)this.baseParse.stopAt(e);else for(let t=this.innerDone;t<this.inner.length;t++)this.inner[t].parse.stopAt(e)}startInner(){let e=new Uo(this.fragments),t=null,n=null,r=new xi(new Te(this.baseTree,this.ranges[0].from,0,null),E.IncludeAnonymous|E.IgnoreMounts);e:for(let s,o;;){let O=!0,l;if(this.stoppedAt!=null&&r.from>=this.stoppedAt)O=!1;else if(e.hasNode(r)){if(t){let a=t.mounts.find(h=>h.frag.from<=r.from&&h.frag.to>=r.to&&h.mount.overlay);if(a)for(let h of a.mount.overlay){let c=h.from+a.pos,f=h.to+a.pos;c>=r.from&&f<=r.to&&!t.ranges.some(d=>d.from<f&&d.to>c)&&t.ranges.push({from:c,to:f})}}O=!1}else if(n&&(o=eg(n.ranges,r.from,r.to)))O=o!=2;else if(!r.type.isAnonymous&&(s=this.nest(r,this.input))&&(r.from<r.to||!s.overlay)){r.tree||tg(r);let a=e.findMounts(r.from,s.parser);if(typeof s.overlay=="function")t=new qo(s.parser,s.overlay,a,this.inner.length,r.from,r.tree,t);else{let h=Ih(this.ranges,s.overlay||(r.from<r.to?[new ve(r.from,r.to)]:[]));h.length&&Bh(h),(h.length||!s.overlay)&&this.inner.push(new Tr(s.parser,h.length?s.parser.startParse(this.input,Nh(a,h),h):s.parser.startParse(""),s.overlay?s.overlay.map(c=>new ve(c.from-r.from,c.to-r.from)):null,r.tree,h.length?h[0].from:r.from)),s.overlay?h.length&&(n={ranges:h,depth:0,prev:n}):O=!1}}else if(t&&(l=t.predicate(r))&&(l===!0&&(l=new ve(r.from,r.to)),l.from<l.to)){let a=t.ranges.length-1;a>=0&&t.ranges[a].to==l.from?t.ranges[a]={from:t.ranges[a].from,to:l.to}:t.ranges.push(l)}if(O&&r.firstChild())t&&t.depth++,n&&n.depth++;else for(;!r.nextSibling();){if(!r.parent())break e;if(t&&!--t.depth){let a=Ih(this.ranges,t.ranges);a.length&&(Bh(a),this.inner.splice(t.index,0,new Tr(t.parser,t.parser.startParse(this.input,Nh(t.mounts,a),a),t.ranges.map(h=>new ve(h.from-t.start,h.to-t.start)),t.target,a[0].from))),t=t.prev}n&&!--n.depth&&(n=n.prev)}}}};function eg(i,e,t){for(let n of i){if(n.from>=t)break;if(n.to>e)return n.from<=e&&n.to>=t?2:1}return 0}function Dh(i,e,t,n,r,s){if(e<t){let o=i.buffer[e+1];n.push(i.slice(e,t,o)),r.push(o-s)}}function tg(i){let{node:e}=i,t=[],n=e.context.buffer;do t.push(i.index),i.parent();while(!i.tree);let r=i.tree,s=r.children.indexOf(n),o=r.children[s],O=o.buffer,l=[s];function a(h,c,f,d,p,m){let g=t[m],$=[],Q=[];Dh(o,h,g,$,Q,d);let b=O[g+1],k=O[g+2];l.push($.length);let y=m?a(g+4,O[g+3],o.set.types[O[g]],b,k-b,m-1):e.toTree();return $.push(y),Q.push(b-d),Dh(o,O[g+3],c,$,Q,d),new V(f,$,Q,p)}r.children[s]=a(0,O.length,ie.none,0,o.length,t.length-1);for(let h of l){let c=i.tree.children[h],f=i.tree.positions[h];i.yield(new Te(c,f+i.from,h,i._tree))}}var zr=class{constructor(e,t){this.offset=t,this.done=!1,this.cursor=e.cursor(E.IncludeAnonymous|E.IgnoreMounts)}moveTo(e){let{cursor:t}=this,n=e-this.offset;for(;!this.done&&t.from<n;)t.to>=e&&t.enter(n,1,E.IgnoreOverlays|E.ExcludeBuffers)||t.next(!1)||(this.done=!0)}hasNode(e){if(this.moveTo(e.from),!this.done&&this.cursor.from+this.offset==e.from&&this.cursor.tree)for(let t=this.cursor.tree;;){if(t==e.tree)return!0;if(t.children.length&&t.positions[0]==0&&t.children[0]instanceof V)t=t.children[0];else break}return!1}},Uo=class{constructor(e){var t;if(this.fragments=e,this.curTo=0,this.fragI=0,e.length){let n=this.curFrag=e[0];this.curTo=(t=n.tree.prop(Vo))!==null&&t!==void 0?t:n.to,this.inner=new zr(n.tree,-n.offset)}else this.curFrag=this.inner=null}hasNode(e){for(;this.curFrag&&e.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=e.from&&this.curTo>=e.to&&this.inner.hasNode(e)}nextFrag(){var e;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let t=this.curFrag=this.fragments[this.fragI];this.curTo=(e=t.tree.prop(Vo))!==null&&e!==void 0?e:t.to,this.inner=new zr(t.tree,-t.offset)}}findMounts(e,t){var n;let r=[];if(this.inner){this.inner.cursor.moveTo(e,1);for(let s=this.inner.cursor.node;s;s=s.parent){let o=(n=s.tree)===null||n===void 0?void 0:n.prop(W.mounted);if(o&&o.parser==t)for(let O=this.fragI;O<this.fragments.length;O++){let l=this.fragments[O];if(l.from>=s.to)break;l.tree==this.curFrag.tree&&r.push({frag:l,pos:s.from-l.offset,mount:o})}}}return r}};function Ih(i,e){let t=null,n=e;for(let r=1,s=0;r<i.length;r++){let o=i[r-1].to,O=i[r].from;for(;s<n.length;s++){let l=n[s];if(l.from>=O)break;l.to<=o||(t||(n=t=e.slice()),l.from<o?(t[s]=new ve(l.from,o),l.to>O&&t.splice(s+1,0,new ve(O,l.to))):l.to>O?t[s--]=new ve(O,l.to):t.splice(s--,1))}}return n}function ig(i,e,t,n){let r=0,s=0,o=!1,O=!1,l=-1e9,a=[];for(;;){let h=r==i.length?1e9:o?i[r].to:i[r].from,c=s==e.length?1e9:O?e[s].to:e[s].from;if(o!=O){let f=Math.max(l,t),d=Math.min(h,c,n);f<d&&a.push(new ve(f,d))}if(l=Math.min(h,c),l==1e9)break;h==l&&(o?(o=!1,r++):o=!0),c==l&&(O?(O=!1,s++):O=!0)}return a}function Nh(i,e){let t=[];for(let{pos:n,mount:r,frag:s}of i){let o=n+(r.overlay?r.overlay[0].from:0),O=o+r.tree.length,l=Math.max(s.from,o),a=Math.min(s.to,O);if(r.overlay){let h=r.overlay.map(f=>new ve(f.from+n,f.to+n)),c=ig(e,h,l,a);for(let f=0,d=l;;f++){let p=f==c.length,m=p?a:c[f].from;if(m>d&&t.push(new yt(d,m,r.tree,-o,s.from>=d||s.openStart,s.to<=m||s.openEnd)),p)break;d=c[f].to}}else t.push(new yt(l,a,r.tree,-o,s.from>=o||s.openStart,s.to<=O||s.openEnd))}return t}var ng=0,We=class i{constructor(e,t,n,r){this.name=e,this.set=t,this.base=n,this.modified=r,this.id=ng++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(e,t){let n=typeof e=="string"?e:"?";if(e instanceof i&&(t=e),t?.base)throw new Error("Can not derive from a modified tag");let r=new i(n,[],null,[]);if(r.set.push(r),t)for(let s of t.set)r.set.push(s);return r}static defineModifier(e){let t=new Wr(e);return n=>n.modified.indexOf(t)>-1?n:Wr.get(n.base||n,n.modified.concat(t).sort((r,s)=>r.id-s.id))}},rg=0,Wr=class i{constructor(e){this.name=e,this.instances=[],this.id=rg++}static get(e,t){if(!t.length)return e;let n=t[0].instances.find(O=>O.base==e&&sg(t,O.modified));if(n)return n;let r=[],s=new We(e.name,r,e,t);for(let O of t)O.instances.push(s);let o=og(t);for(let O of e.set)if(!O.modified.length)for(let l of o)r.push(i.get(O,l));return s}};function sg(i,e){return i.length==e.length&&i.every((t,n)=>t==e[n])}function og(i){let e=[[]];for(let t=0;t<i.length;t++)for(let n=0,r=e.length;n<r;n++)e.push(e[n].concat(i[t]));return e.sort((t,n)=>n.length-t.length)}function se(i){let e=Object.create(null);for(let t in i){let n=i[t];Array.isArray(n)||(n=[n]);for(let r of t.split(" "))if(r){let s=[],o=2,O=r;for(let c=0;;){if(O=="..."&&c>0&&c+3==r.length){o=1;break}let f=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(O);if(!f)throw new RangeError("Invalid path: "+r);if(s.push(f[0]=="*"?"":f[0][0]=='"'?JSON.parse(f[0]):f[0]),c+=f[0].length,c==r.length)break;let d=r[c++];if(c==r.length&&d=="!"){o=0;break}if(d!="/")throw new RangeError("Invalid path: "+r);O=r.slice(c)}let l=s.length-1,a=s[l];if(!a)throw new RangeError("Invalid path: "+r);let h=new vi(n,o,l>0?s.slice(0,l):null);e[a]=h.sort(e[a])}}return ec.add(e)}var ec=new W,vi=class{constructor(e,t,n,r){this.tags=e,this.mode=t,this.context=n,this.next=r}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth<this.depth?(this.next=e,this):(e.next=this.sort(e.next),e)}get depth(){return this.context?this.context.length:0}};vi.empty=new vi([],2,null);function Eo(i,e){let t=Object.create(null);for(let s of i)if(!Array.isArray(s.tag))t[s.tag.id]=s.class;else for(let o of s.tag)t[o.id]=s.class;let{scope:n,all:r=null}=e||{};return{style:s=>{let o=r;for(let O of s)for(let l of O.set){let a=t[l.id];if(a){o=o?o+" "+a:a;break}}return o},scope:n}}function Og(i,e){let t=null;for(let n of i){let r=n.style(e);r&&(t=t?t+" "+r:r)}return t}function tc(i,e,t,n=0,r=i.length){let s=new jo(n,Array.isArray(e)?e:[e],t);s.highlightRange(i.cursor(),n,r,"",s.highlighters),s.flush(r)}var jo=class{constructor(e,t,n){this.at=e,this.highlighters=t,this.span=n,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,n,r,s){let{type:o,from:O,to:l}=e;if(O>=n||l<=t)return;o.isTop&&(s=this.highlighters.filter(d=>!d.scope||d.scope(o)));let a=r,h=lg(e)||vi.empty,c=Og(s,h.tags);if(c&&(a&&(a+=" "),a+=c,h.mode==1&&(r+=(r?" ":"")+c)),this.startSpan(Math.max(t,O),a),h.opaque)return;let f=e.tree&&e.tree.prop(W.mounted);if(f&&f.overlay){let d=e.node.enter(f.overlay[0].from+O,1),p=this.highlighters.filter(g=>!g.scope||g.scope(f.tree.type)),m=e.firstChild();for(let g=0,$=O;;g++){let Q=g<f.overlay.length?f.overlay[g]:null,b=Q?Q.from+O:l,k=Math.max(t,$),y=Math.min(n,b);if(k<y&&m)for(;e.from<y&&(this.highlightRange(e,k,y,r,s),this.startSpan(Math.min(y,e.to),a),!(e.to>=b||!e.nextSibling())););if(!Q||b>n)break;$=Q.to+O,$>t&&(this.highlightRange(d.cursor(),Math.max(t,Q.from+O),Math.min(n,$),"",p),this.startSpan(Math.min(n,$),a))}m&&e.parent()}else if(e.firstChild()){f&&(r="");do if(!(e.to<=t)){if(e.from>=n)break;this.highlightRange(e,t,n,r,s),this.startSpan(Math.min(n,e.to),a)}while(e.nextSibling());e.parent()}}};function lg(i){let e=i.type.prop(ec);for(;e&&e.context&&!i.matchContext(e.context);)e=e.next;return e||null}var x=We.define,Xr=x(),Ct=x(),Kh=x(Ct),Jh=x(Ct),Ut=x(),Rr=x(Ut),_o=x(Ut),ut=x(),ri=x(ut),ct=x(),ft=x(),Mo=x(),fn=x(Mo),Zr=x(),u={comment:Xr,lineComment:x(Xr),blockComment:x(Xr),docComment:x(Xr),name:Ct,variableName:x(Ct),typeName:Kh,tagName:x(Kh),propertyName:Jh,attributeName:x(Jh),className:x(Ct),labelName:x(Ct),namespace:x(Ct),macroName:x(Ct),literal:Ut,string:Rr,docString:x(Rr),character:x(Rr),attributeValue:x(Rr),number:_o,integer:x(_o),float:x(_o),bool:x(Ut),regexp:x(Ut),escape:x(Ut),color:x(Ut),url:x(Ut),keyword:ct,self:x(ct),null:x(ct),atom:x(ct),unit:x(ct),modifier:x(ct),operatorKeyword:x(ct),controlKeyword:x(ct),definitionKeyword:x(ct),moduleKeyword:x(ct),operator:ft,derefOperator:x(ft),arithmeticOperator:x(ft),logicOperator:x(ft),bitwiseOperator:x(ft),compareOperator:x(ft),updateOperator:x(ft),definitionOperator:x(ft),typeOperator:x(ft),controlOperator:x(ft),punctuation:Mo,separator:x(Mo),bracket:fn,angleBracket:x(fn),squareBracket:x(fn),paren:x(fn),brace:x(fn),content:ut,heading:ri,heading1:x(ri),heading2:x(ri),heading3:x(ri),heading4:x(ri),heading5:x(ri),heading6:x(ri),contentSeparator:x(ut),list:x(ut),quote:x(ut),emphasis:x(ut),strong:x(ut),link:x(ut),monospace:x(ut),strikethrough:x(ut),inserted:x(),deleted:x(),changed:x(),invalid:x(),meta:Zr,documentMeta:x(Zr),annotation:x(Zr),processingInstruction:x(Zr),definition:We.defineModifier("definition"),constant:We.defineModifier("constant"),function:We.defineModifier("function"),standard:We.defineModifier("standard"),local:We.defineModifier("local"),special:We.defineModifier("special")};for(let i in u){let e=u[i];e instanceof We&&(e.name=i)}var eb=Eo([{tag:u.link,class:"tok-link"},{tag:u.heading,class:"tok-heading"},{tag:u.emphasis,class:"tok-emphasis"},{tag:u.strong,class:"tok-strong"},{tag:u.keyword,class:"tok-keyword"},{tag:u.atom,class:"tok-atom"},{tag:u.bool,class:"tok-bool"},{tag:u.url,class:"tok-url"},{tag:u.labelName,class:"tok-labelName"},{tag:u.inserted,class:"tok-inserted"},{tag:u.deleted,class:"tok-deleted"},{tag:u.literal,class:"tok-literal"},{tag:u.string,class:"tok-string"},{tag:u.number,class:"tok-number"},{tag:[u.regexp,u.escape,u.special(u.string)],class:"tok-string2"},{tag:u.variableName,class:"tok-variableName"},{tag:u.local(u.variableName),class:"tok-variableName tok-local"},{tag:u.definition(u.variableName),class:"tok-variableName tok-definition"},{tag:u.special(u.variableName),class:"tok-variableName2"},{tag:u.definition(u.propertyName),class:"tok-propertyName tok-definition"},{tag:u.typeName,class:"tok-typeName"},{tag:u.namespace,class:"tok-namespace"},{tag:u.className,class:"tok-className"},{tag:u.macroName,class:"tok-macroName"},{tag:u.propertyName,class:"tok-propertyName"},{tag:u.operator,class:"tok-operator"},{tag:u.comment,class:"tok-comment"},{tag:u.meta,class:"tok-meta"},{tag:u.invalid,class:"tok-invalid"},{tag:u.punctuation,class:"tok-punctuation"}]);var Lo,bt=new W;function zi(i){return X.define({combine:i?e=>e.concat(i):void 0})}var Ur=new W,fe=class{constructor(e,t,n=[],r=""){this.data=e,this.name=r,D.prototype.hasOwnProperty("tree")||Object.defineProperty(D.prototype,"tree",{get(){return L(this)}}),this.parser=t,this.extension=[Ti.of(this),D.languageData.of((s,o,O)=>{let l=ic(s,o,O),a=l.type.prop(bt);if(!a)return[];let h=s.facet(a),c=l.type.prop(Ur);if(c){let f=l.resolve(o-l.from,O);for(let d of c)if(d.test(f,s)){let p=s.facet(d.facet);return d.type=="replace"?p:p.concat(h)}}return h})].concat(n)}isActiveAt(e,t,n=-1){return ic(e,t,n).type.prop(bt)==this.data}findRegions(e){let t=e.facet(Ti);if(t?.data==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let n=[],r=(s,o)=>{if(s.prop(bt)==this.data){n.push({from:o,to:o+s.length});return}let O=s.prop(W.mounted);if(O){if(O.tree.prop(bt)==this.data){if(O.overlay)for(let l of O.overlay)n.push({from:l.from+o,to:l.to+o});else n.push({from:o,to:o+s.length});return}else if(O.overlay){let l=n.length;if(r(O.tree,O.overlay[0].from+o),n.length>l)return}}for(let l=0;l<s.children.length;l++){let a=s.children[l];a instanceof V&&r(a,s.positions[l]+o)}};return r(L(e),0),n}get allowsNesting(){return!0}};fe.setState=B.define();function ic(i,e,t){let n=i.facet(Ti),r=L(i).topNode;if(!n||n.allowsNesting)for(let s=r;s;s=s.enter(e,t,E.ExcludeBuffers))s.type.isTop&&(r=s);return r}var ue=class i extends fe{constructor(e,t,n){super(e,t,[],n),this.parser=t}static define(e){let t=zi(e.languageData);return new i(t,e.parser.configure({props:[bt.add(n=>n.isTop?t:void 0)]}),e.name)}configure(e,t){return new i(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}};function L(i){let e=i.field(fe.state,!1);return e?e.tree:V.empty}var Io=class{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let n=this.cursorPos-this.string.length;return e<n||t>=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-n,t-n)}},un=null,si=class i{constructor(e,t,n=[],r,s,o,O,l){this.parser=e,this.state=t,this.fragments=n,this.tree=r,this.treeLen=s,this.viewport=o,this.skipped=O,this.scheduleOn=l,this.parse=null,this.tempSkipped=[]}static create(e,t,n){return new i(e,t,[],V.empty,0,n,[],null)}startParse(){return this.parser.startParse(new Io(this.state.doc),this.fragments)}work(e,t){return t!=null&&t>=this.state.doc.length&&(t=void 0),this.tree!=V.empty&&this.isDone(t??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var n;if(typeof e=="number"){let r=Date.now()+e;e=()=>Date.now()>r}for(this.parse||(this.parse=this.startParse()),t!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>t)&&t<this.state.doc.length&&this.parse.stopAt(t);;){let r=this.parse.advance();if(r)if(this.fragments=this.withoutTempSkipped(yt.addTree(r,this.fragments,this.parse.stoppedAt!=null)),this.treeLen=(n=this.parse.stoppedAt)!==null&&n!==void 0?n:this.state.doc.length,this.tree=r,this.parse=null,this.treeLen<(t??this.state.doc.length))this.parse=this.startParse();else return!0;if(e())return!1}})}takeTree(){let e,t;this.parse&&(e=this.parse.parsedPos)>=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(yt.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=un;un=this;try{return e()}finally{un=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=nc(e,t.from,t.to);return e}changes(e,t){let{fragments:n,tree:r,treeLen:s,viewport:o,skipped:O}=this;if(this.takeTree(),!e.empty){let l=[];if(e.iterChangedRanges((a,h,c,f)=>l.push({fromA:a,toA:h,fromB:c,toB:f})),n=yt.applyChanges(n,l),r=V.empty,s=0,o={from:e.mapPos(o.from,-1),to:e.mapPos(o.to,1)},this.skipped.length){O=[];for(let a of this.skipped){let h=e.mapPos(a.from,1),c=e.mapPos(a.to,-1);h<c&&O.push({from:h,to:c})}}}return new i(this.parser,t,n,r,s,o,O,this.scheduleOn)}updateViewport(e){if(this.viewport.from==e.from&&this.viewport.to==e.to)return!1;this.viewport=e;let t=this.skipped.length;for(let n=0;n<this.skipped.length;n++){let{from:r,to:s}=this.skipped[n];r<e.to&&s>e.from&&(this.fragments=nc(this.fragments,r,s),this.skipped.splice(n--,1))}return this.skipped.length>=t?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends Pt{createParse(t,n,r){let s=r[0].from,o=r[r.length-1].to;return{parsedPos:s,advance(){let l=un;if(l){for(let a of r)l.tempSkipped.push(a);e&&(l.scheduleOn=l.scheduleOn?Promise.all([l.scheduleOn,e]):e)}return this.parsedPos=o,new V(ie.none,[],[],o-s)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&t[0].from==0&&t[0].to>=e}static get(){return un}};function nc(i,e,t){return yt.applyChanges(i,[{fromA:e,toA:t,fromB:e,toB:t}])}var dn=class i{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),n=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,n)||t.takeTree(),new i(t)}static init(e){let t=Math.min(3e3,e.doc.length),n=si.create(e.facet(Ti).parser,e,{from:0,to:t});return n.work(20,t)||n.takeTree(),new i(n)}};fe.state=Qe.define({create:dn.init,update(i,e){for(let t of e.effects)if(t.is(fe.setState))return t.value;return e.startState.facet(Ti)!=e.state.facet(Ti)?dn.init(e.state):i.apply(e)}});var lc=i=>{let e=setTimeout(()=>i(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(lc=i=>{let e=-1,t=setTimeout(()=>{e=requestIdleCallback(i,{timeout:400})},100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});var Go=typeof navigator<"u"&&(!((Lo=navigator.scheduling)===null||Lo===void 0)&&Lo.isInputPending)?()=>navigator.scheduling.isInputPending():null,ag=Ee.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let t=this.view.state.field(fe.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field(fe.state);(t.tree!=t.context.tree||!t.context.isDone(e.doc.length))&&(this.working=lc(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEnd<t&&(this.chunkEnd<0||this.view.hasFocus)&&(this.chunkEnd=t+3e4,this.chunkBudget=3e3),this.chunkBudget<=0)return;let{state:n,viewport:{to:r}}=this.view,s=n.field(fe.state);if(s.tree==s.context.tree&&s.context.isDone(r+1e5))return;let o=Date.now()+Math.min(this.chunkBudget,100,e&&!Go?Math.max(25,e.timeRemaining()-5):1e9),O=s.context.treeLen<r&&n.doc.length>r+1e3,l=s.context.work(()=>Go&&Go()||Date.now()>o,r+(O?0:1e5));this.chunkBudget-=Date.now()-t,(l||this.chunkBudget<=0)&&(s.context.takeTree(),this.view.dispatch({effects:fe.setState.of(new dn(s.context))})),this.chunkBudget>0&&!(l&&!O)&&this.scheduleWork(),this.checkAsyncSchedule(s.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(t=>Me(this.view.state,t)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),Ti=X.define({combine(i){return i.length?i[0]:null},enables:i=>[fe.state,ag,v.contentAttributes.compute([i],e=>{let t=e.facet(i);return t&&t.name?{"data-language":t.name}:{}})]}),oe=class{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}},pn=class i{constructor(e,t,n,r,s,o=void 0){this.name=e,this.alias=t,this.extensions=n,this.filename=r,this.loadFunc=s,this.support=o,this.loading=null}load(){return this.loading||(this.loading=this.loadFunc().then(e=>this.support=e,e=>{throw this.loading=null,e}))}static of(e){let{load:t,support:n}=e;if(!t){if(!n)throw new RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");t=()=>Promise.resolve(n)}return new i(e.name,(e.alias||[]).concat(e.name).map(r=>r.toLowerCase()),e.extensions||[],e.filename,t,n)}static matchFilename(e,t){for(let r of e)if(r.filename&&r.filename.test(t))return r;let n=/\.([^.]+)$/.exec(t);if(n){for(let r of e)if(r.extensions.indexOf(n[1])>-1)return r}return null}static matchLanguageName(e,t,n=!0){t=t.toLowerCase();for(let r of e)if(r.alias.some(s=>s==t))return r;if(n)for(let r of e)for(let s of r.alias){let o=t.indexOf(s);if(o>-1&&(s.length>2||!/\w/.test(t[o-1])&&!/\w/.test(t[o+s.length])))return r}return null}},hg=X.define(),Yt=X.define({combine:i=>{if(!i.length)return" ";let e=i[0];if(!e||/\S/.test(e)||Array.from(e).some(t=>t!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(i[0]));return e}});function At(i){let e=i.facet(Yt);return e.charCodeAt(0)==9?i.tabSize*e.length:e.length}function gn(i,e){let t="",n=i.tabSize,r=i.facet(Yt)[0];if(r==" "){for(;e>=n;)t+=" ",e-=n;r=" "}for(let s=0;s<e;s++)t+=r;return t}function tO(i,e){i instanceof D&&(i=new oi(i));for(let n of i.state.facet(hg)){let r=n(i,e);if(r!==void 0)return r}let t=L(i.state);return t.length>=e?cg(i,t,e):null}var oi=class{constructor(e,t={}){this.state=e,this.options=t,this.unit=At(e)}lineAt(e,t=1){let n=this.state.doc.lineAt(e),{simulateBreak:r,simulateDoubleBreak:s}=this.options;return r!=null&&r>=n.from&&r<=n.to?s&&r==e?{text:"",from:e}:(t<0?r<e:r<=e)?{text:n.text.slice(r-n.from),from:r}:{text:n.text.slice(0,r-n.from),from:n.from}:n}textAfterPos(e,t=1){if(this.options.simulateDoubleBreak&&e==this.options.simulateBreak)return"";let{text:n,from:r}=this.lineAt(e,t);return n.slice(e-r,Math.min(n.length,e+100-r))}column(e,t=1){let{text:n,from:r}=this.lineAt(e,t),s=this.countColumn(n,e-r),o=this.options.overrideIndentation?this.options.overrideIndentation(r):-1;return o>-1&&(s+=o-this.countColumn(n,n.search(/\S|$/))),s}countColumn(e,t=e.length){return ke(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:n,from:r}=this.lineAt(e,t),s=this.options.overrideIndentation;if(s){let o=s(r);if(o>-1)return o}return this.countColumn(n,n.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}},de=new W;function cg(i,e,t){let n=e.resolveStack(t),r=e.resolveInner(t,-1).resolve(t,0).enterUnfinishedNodesBefore(t);if(r!=n.node){let s=[];for(let o=r;o&&!(o.from==n.node.from&&o.type==n.node.type);o=o.parent)s.push(o);for(let o=s.length-1;o>=0;o--)n={node:s[o],next:n}}return ac(n,i,t)}function ac(i,e,t){for(let n=i;n;n=n.next){let r=ug(n.node);if(r)return r(No.create(e,t,n))}return 0}function fg(i){return i.pos==i.options.simulateBreak&&i.options.simulateDoubleBreak}function ug(i){let e=i.type.prop(de);if(e)return e;let t=i.firstChild,n;if(t&&(n=t.type.prop(W.closedBy))){let r=i.lastChild,s=r&&n.indexOf(r.name)>-1;return o=>hc(o,!0,1,void 0,s&&!fg(o)?r.from:void 0)}return i.parent==null?dg:null}function dg(){return 0}var No=class i extends oi{constructor(e,t,n){super(e.state,e.options),this.base=e,this.pos=t,this.context=n}get node(){return this.context.node}static create(e,t,n){return new i(e,t,n)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let n=e.resolve(t.from);for(;n.parent&&n.parent.from==n.from;)n=n.parent;if(pg(n,e))break;t=this.state.doc.lineAt(n.from)}return this.lineIndent(t.from)}continue(){return ac(this.context.next,this.base,this.pos)}};function pg(i,e){for(let t=e;t;t=t.parent)if(i==t)return!0;return!1}function mg(i){let e=i.node,t=e.childAfter(e.from),n=e.lastChild;if(!t)return null;let r=i.options.simulateBreak,s=i.state.doc.lineAt(t.from),o=r==null||r<=s.from?s.to:Math.min(s.to,r);for(let O=t.to;;){let l=e.childAfter(O);if(!l||l==n)return null;if(!l.type.isSkipped){if(l.from>=o)return null;let a=/^ */.exec(s.text.slice(t.to-s.from))[0].length;return{from:t.from,to:t.to+a}}O=l.to}}function Ar({closing:i,align:e=!0,units:t=1}){return n=>hc(n,e,t,i)}function hc(i,e,t,n,r){let s=i.textAfter,o=s.match(/^\s*/)[0].length,O=n&&s.slice(o,o+n.length)==n||r==i.pos+o,l=e?mg(i):null;return l?O?i.column(l.from):i.column(l.to):i.baseIndent+(O?0:i.unit*t)}var cc=i=>i.baseIndent;function qe({except:i,units:e=1}={}){return t=>{let n=i&&i.test(t.textAfter);return t.baseIndent+(n?0:e*t.unit)}}var fc=X.define(),Pe=new W;function _t(i){let e=i.firstChild,t=i.lastChild;return e&&e.to<t.from?{from:e.to,to:t.type.isError?i.to:t.from}:null}var xt=class i{constructor(e,t){this.specs=e;let n;function r(O){let l=_e.newName();return(n||(n=Object.create(null)))["."+l]=O,l}let s=typeof t.all=="string"?t.all:t.all?r(t.all):void 0,o=t.scope;this.scope=o instanceof fe?O=>O.prop(bt)==o.data:o?O=>O==o:void 0,this.style=Eo(e.map(O=>({tag:O.tag,class:O.class||r(Object.assign({},O,{tag:null}))})),{all:s}).style,this.module=n?new _e(n):null,this.themeType=t.themeType}static define(e,t){return new i(e,t||{})}},Ho=X.define(),uc=X.define({combine(i){return i.length?[i[0]]:null}});function Bo(i){let e=i.facet(Ho);return e.length?e:i.facet(uc)}function iO(i,e){let t=[gg],n;return i instanceof xt&&(i.module&&t.push(v.styleModule.of(i.module)),n=i.themeType),e?.fallback?t.push(uc.of(i)):n?t.push(Ho.computeN([v.darkTheme],r=>r.facet(v.darkTheme)==(n=="dark")?[i]:[])):t.push(Ho.of(i)),t}var Fo=class{constructor(e){this.markCache=Object.create(null),this.tree=L(e.state),this.decorations=this.buildDeco(e,Bo(e.state)),this.decoratedTo=e.viewport.to}update(e){let t=L(e.state),n=Bo(e.state),r=n!=Bo(e.startState),{viewport:s}=e.view,o=e.changes.mapPos(this.decoratedTo,1);t.length<s.to&&!r&&t.type==this.tree.type&&o>=s.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=o):(t!=this.tree||e.viewportChanged||r)&&(this.tree=t,this.decorations=this.buildDeco(e.view,n),this.decoratedTo=s.to)}buildDeco(e,t){if(!t||!this.tree.length)return _.none;let n=new Ft;for(let{from:r,to:s}of e.visibleRanges)tc(this.tree,t,(o,O,l)=>{n.add(o,O,this.markCache[l]||(this.markCache[l]=_.mark({class:l})))},r,s);return n.finish()}},gg=nt.high(Ee.fromClass(Fo,{decorations:i=>i.decorations})),ab=xt.define([{tag:u.meta,color:"#404740"},{tag:u.link,textDecoration:"underline"},{tag:u.heading,textDecoration:"underline",fontWeight:"bold"},{tag:u.emphasis,fontStyle:"italic"},{tag:u.strong,fontWeight:"bold"},{tag:u.strikethrough,textDecoration:"line-through"},{tag:u.keyword,color:"#708"},{tag:[u.atom,u.bool,u.url,u.contentSeparator,u.labelName],color:"#219"},{tag:[u.literal,u.inserted],color:"#164"},{tag:[u.string,u.deleted],color:"#a11"},{tag:[u.regexp,u.escape,u.special(u.string)],color:"#e40"},{tag:u.definition(u.variableName),color:"#00f"},{tag:u.local(u.variableName),color:"#30a"},{tag:[u.typeName,u.namespace],color:"#085"},{tag:u.className,color:"#167"},{tag:[u.special(u.variableName),u.macroName],color:"#256"},{tag:u.definition(u.propertyName),color:"#00c"},{tag:u.comment,color:"#940"},{tag:u.invalid,color:"#f00"}]),$g=v.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),dc=1e4,pc="()[]{}",mc=X.define({combine(i){return Tt(i,{afterCursor:!0,brackets:pc,maxScanDistance:dc,renderMatch:yg})}}),Qg=_.mark({class:"cm-matchingBracket"}),Sg=_.mark({class:"cm-nonmatchingBracket"});function yg(i){let e=[],t=i.matched?Qg:Sg;return e.push(t.range(i.start.from,i.start.to)),i.end&&e.push(t.range(i.end.from,i.end.to)),e}var Pg=Qe.define({create(){return _.none},update(i,e){if(!e.docChanged&&!e.selection)return i;let t=[],n=e.state.facet(mc);for(let r of e.state.selection.ranges){if(!r.empty)continue;let s=Fe(e.state,r.head,-1,n)||r.head>0&&Fe(e.state,r.head-1,1,n)||n.afterCursor&&(Fe(e.state,r.head,1,n)||r.head<e.state.doc.length&&Fe(e.state,r.head+1,-1,n));s&&(t=t.concat(n.renderMatch(s,e.state)))}return _.set(t,!0)},provide:i=>v.decorations.from(i)}),bg=[Pg,$g];function gc(i={}){return[mc.of(i),bg]}var $n=new W;function Ko(i,e,t){let n=i.prop(e<0?W.openedBy:W.closedBy);if(n)return n;if(i.name.length==1){let r=t.indexOf(i.name);if(r>-1&&r%2==(e<0?1:0))return[t[r+e]]}return null}function Jo(i){let e=i.type.prop($n);return e?e(i.node):i}function Fe(i,e,t,n={}){let r=n.maxScanDistance||dc,s=n.brackets||pc,o=L(i),O=o.resolveInner(e,t);for(let l=O;l;l=l.parent){let a=Ko(l.type,t,s);if(a&&l.from<l.to){let h=Jo(l);if(h&&(t>0?e>=h.from&&e<h.to:e>h.from&&e<=h.to))return xg(i,e,t,l,h,a,s)}}return kg(i,e,t,o,O.type,r,s)}function xg(i,e,t,n,r,s,o){let O=n.parent,l={from:r.from,to:r.to},a=0,h=O?.cursor();if(h&&(t<0?h.childBefore(n.from):h.childAfter(n.to)))do if(t<0?h.to<=n.from:h.from>=n.to){if(a==0&&s.indexOf(h.type.name)>-1&&h.from<h.to){let c=Jo(h);return{start:l,end:c?{from:c.from,to:c.to}:void 0,matched:!0}}else if(Ko(h.type,t,o))a++;else if(Ko(h.type,-t,o)){if(a==0){let c=Jo(h);return{start:l,end:c&&c.from<c.to?{from:c.from,to:c.to}:void 0,matched:!1}}a--}}while(t<0?h.prevSibling():h.nextSibling());return{start:l,matched:!1}}function kg(i,e,t,n,r,s,o){let O=t<0?i.sliceDoc(e-1,e):i.sliceDoc(e,e+1),l=o.indexOf(O);if(l<0||l%2==0!=t>0)return null;let a={from:t<0?e-1:e,to:t>0?e+1:e},h=i.doc.iterRange(e,t>0?i.doc.length:0),c=0;for(let f=0;!h.next().done&&f<=s;){let d=h.value;t<0&&(f+=d.length);let p=e+f*t;for(let m=t>0?0:d.length-1,g=t>0?d.length:-1;m!=g;m+=t){let $=o.indexOf(d[m]);if(!($<0||n.resolveInner(p+m,1).type!=r))if($%2==0==t>0)c++;else{if(c==1)return{start:a,end:{from:p+m,to:p+m+1},matched:$>>1==l>>1};c--}}t>0&&(f+=d.length)}return h.done?{start:a,matched:!1}:null}function rc(i,e,t,n=0,r=0){e==null&&(e=i.search(/[^\s\u00a0]/),e==-1&&(e=i.length));let s=r;for(let o=n;o<e;o++)i.charCodeAt(o)==9?s+=t-s%t:s++;return s}var qr=class{constructor(e,t,n,r){this.string=e,this.tabSize=t,this.indentUnit=n,this.overrideIndent=r,this.pos=0,this.start=0,this.lastColumnPos=0,this.lastColumnValue=0}eol(){return this.pos>=this.string.length}sol(){return this.pos==0}peek(){return this.string.charAt(this.pos)||void 0}next(){if(this.pos<this.string.length)return this.string.charAt(this.pos++)}eat(e){let t=this.string.charAt(this.pos),n;if(typeof e=="string"?n=t==e:n=t&&(e instanceof RegExp?e.test(t):e(t)),n)return++this.pos,t}eatWhile(e){let t=this.pos;for(;this.eat(e););return this.pos>t}eatSpace(){let e=this.pos;for(;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e}skipToEnd(){this.pos=this.string.length}skipTo(e){let t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0}backUp(e){this.pos-=e}column(){return this.lastColumnPos<this.start&&(this.lastColumnValue=rc(this.string,this.start,this.tabSize,this.lastColumnPos,this.lastColumnValue),this.lastColumnPos=this.start),this.lastColumnValue}indentation(){var e;return(e=this.overrideIndent)!==null&&e!==void 0?e:rc(this.string,null,this.tabSize)}match(e,t,n){if(typeof e=="string"){let r=o=>n?o.toLowerCase():o,s=this.string.substr(this.pos,e.length);return r(s)==r(e)?(t!==!1&&(this.pos+=e.length),!0):null}else{let r=this.string.slice(this.pos).match(e);return r&&r.index>0?null:(r&&t!==!1&&(this.pos+=r[0].length),r)}}current(){return this.string.slice(this.start,this.pos)}};function wg(i){return{name:i.name||"",token:i.token,blankLine:i.blankLine||(()=>{}),startState:i.startState||(()=>!0),copyState:i.copyState||vg,indent:i.indent||(()=>null),languageData:i.languageData||{},tokenTable:i.tokenTable||rO}}function vg(i){if(typeof i!="object")return i;let e={};for(let t in i){let n=i[t];e[t]=n instanceof Array?n.slice():n}return e}var sc=new WeakMap,Vr=class i extends fe{constructor(e){let t=zi(e.languageData),n=wg(e),r,s=new class extends Pt{createParse(o,O,l){return new eO(r,o,O,l)}};super(t,s,[],e.name),this.topNode=Rg(t,this),r=this,this.streamParser=n,this.stateAfter=new W({perNode:!0}),this.tokenTable=e.tokenTable?new Cr(n.tokenTable):Xg}static define(e){return new i(e)}getIndent(e){let t,{overrideIndentation:n}=e.options;n&&(t=sc.get(e.state),t!=null&&t<e.pos-1e4&&(t=void 0));let r=nO(this,e.node.tree,e.node.from,e.node.from,t??e.pos),s,o;if(r?(o=r.state,s=r.pos+1):(o=this.streamParser.startState(e.unit),s=e.node.from),e.pos-s>1e4)return null;for(;s<e.pos;){let l=e.state.doc.lineAt(s),a=Math.min(e.pos,l.to);if(l.length){let h=n?n(l.from):-1,c=new qr(l.text,e.state.tabSize,e.unit,h<0?void 0:h);for(;c.pos<a-l.from;)Qc(this.streamParser.token,c,o)}else this.streamParser.blankLine(o,e.unit);if(a==e.pos)break;s=l.to+1}let O=e.lineAt(e.pos);return n&&t==null&&sc.set(e.state,O.from),this.streamParser.indent(o,/^\s*(.*)/.exec(O.text)[1],e)}get allowsNesting(){return!1}};function nO(i,e,t,n,r){let s=t>=n&&t+e.length<=r&&e.prop(i.stateAfter);if(s)return{state:i.streamParser.copyState(s),pos:t+e.length};for(let o=e.children.length-1;o>=0;o--){let O=e.children[o],l=t+e.positions[o],a=O instanceof V&&l<r&&nO(i,O,l,n,r);if(a)return a}return null}function $c(i,e,t,n,r){if(r&&t<=0&&n>=e.length)return e;!r&&t==0&&e.type==i.topNode&&(r=!0);for(let s=e.children.length-1;s>=0;s--){let o=e.positions[s],O=e.children[s],l;if(o<n&&O instanceof V){if(!(l=$c(i,O,t-o,n-o,r)))break;return r?new V(e.type,e.children.slice(0,s).concat(l),e.positions.slice(0,s+1),o+l.length):l}}return null}function Tg(i,e,t,n,r){for(let s of e){let o=s.from+(s.openStart?25:0),O=s.to-(s.openEnd?25:0),l=o<=t&&O>t&&nO(i,s.tree,0-s.offset,t,O),a;if(l&&l.pos<=n&&(a=$c(i,s.tree,t+s.offset,l.pos+s.offset,!1)))return{state:l.state,tree:a}}return{state:i.streamParser.startState(r?At(r):4),tree:V.empty}}var eO=class{constructor(e,t,n,r){this.lang=e,this.input=t,this.fragments=n,this.ranges=r,this.stoppedAt=null,this.chunks=[],this.chunkPos=[],this.chunk=[],this.chunkReused=void 0,this.rangeIndex=0,this.to=r[r.length-1].to;let s=si.get(),o=r[0].from,{state:O,tree:l}=Tg(e,n,o,this.to,s?.state);this.state=O,this.parsedPos=this.chunkStart=o+l.length;for(let a=0;a<l.children.length;a++)this.chunks.push(l.children[a]),this.chunkPos.push(l.positions[a]);s&&this.parsedPos<s.viewport.from-1e5&&r.some(a=>a.from<=s.viewport.from&&a.to>=s.viewport.from)&&(this.state=this.lang.streamParser.startState(At(s.state)),s.skipUntilInView(this.parsedPos,s.viewport.from),this.parsedPos=s.viewport.from),this.moveRangeIndex()}advance(){let e=si.get(),t=this.stoppedAt==null?this.to:Math.min(this.to,this.stoppedAt),n=Math.min(t,this.chunkStart+2048);for(e&&(n=Math.min(n,e.viewport.to));this.parsedPos<n;)this.parseLine(e);return this.chunkStart<this.parsedPos&&this.finishChunk(),this.parsedPos>=t?this.finish():e&&this.parsedPos>=e.viewport.to?(e.skipUntilInView(this.parsedPos,t),this.finish()):null}stopAt(e){this.stoppedAt=e}lineAfter(e){let t=this.input.chunk(e);if(this.input.lineChunks)t==` `&&(t="");else{let n=t.indexOf(` -`);n>-1&&(t=t.slice(0,n))}return e+t.length<=this.to?t:t.slice(0,this.to-e)}nextLine(){let e=this.parsedPos,t=this.lineAfter(e),n=e+t.length;for(let r=this.rangeIndex;;){let s=this.ranges[r].to;if(s>=n||(t=t.slice(0,s-(n-t.length)),r++,r==this.ranges.length))break;let o=this.ranges[r].from,O=this.lineAfter(o);t+=O,n=o+O.length}return{line:t,end:n}}skipGapsTo(e,t,n){for(;;){let r=this.ranges[this.rangeIndex].to,s=e+t;if(n>0?r>s:r>=s)break;let o=this.ranges[++this.rangeIndex].from;t+=o-r}return t}moveRangeIndex(){for(;this.ranges[this.rangeIndex].to<this.parsedPos;)this.rangeIndex++}emitToken(e,t,n,r){let s=4;if(this.ranges.length>1){r=this.skipGapsTo(t,r,1),t+=r;let O=this.chunk.length;r=this.skipGapsTo(n,r,-1),n+=r,s+=this.chunk.length-O}let o=this.chunk.length-4;return s==4&&o>=0&&this.chunk[o]==e&&this.chunk[o+2]==t?this.chunk[o+2]=n:this.chunk.push(e,t,n,s),r}parseLine(e){let{line:t,end:n}=this.nextLine(),r=0,{streamParser:s}=this.lang,o=new Wr(t,e?e.state.tabSize:4,e?Yt(e.state):2);if(o.eol())s.blankLine(this.state,o.indentUnit);else for(;!o.eol();){let O=$c(s.token,o,this.state);if(O&&(r=this.emitToken(this.lang.tokenTable.resolve(O),this.parsedPos+o.start,this.parsedPos+o.pos,r)),o.start>1e4)break}this.parsedPos=n,this.moveRangeIndex(),this.parsedPos<this.to&&this.parsedPos++}finishChunk(){let e=V.build({buffer:this.chunk,start:this.chunkStart,length:this.parsedPos-this.chunkStart,nodeSet:Tg,topID:0,maxBufferLength:2048,reused:this.chunkReused});e=new V(e.type,e.children,e.positions,e.length,[[this.lang.stateAfter,this.lang.streamParser.copyState(this.state)]]),this.chunks.push(e),this.chunkPos.push(this.chunkStart-this.ranges[0].from),this.chunk=[],this.chunkReused=void 0,this.chunkStart=this.parsedPos}finish(){return new V(this.lang.topNode,this.chunks,this.chunkPos,this.parsedPos-this.ranges[0].from).balance()}};function $c(i,e,t){e.start=e.pos;for(let n=0;n<10;n++){let r=i(e,t);if(e.pos>e.start)return r}throw new Error("Stream parser failed to advance stream.")}var iO=Object.create(null),mn=[ie.none],Tg=new $t(mn),sc=[],oc=Object.create(null),Qc=Object.create(null);for(let[i,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])Qc[i]=Sc(iO,e);var Zr=class{constructor(e){this.extra=e,this.table=Object.assign(Object.create(null),Qc)}resolve(e){return e?this.table[e]||(this.table[e]=Sc(this.extra,e)):0}},vg=new Zr(iO);function Lo(i,e){sc.indexOf(i)>-1||(sc.push(i),console.warn(e))}function Sc(i,e){let t=[];for(let O of e.split(" ")){let a=[];for(let l of O.split(".")){let h=i[l]||u[l];h?typeof h=="function"?a.length?a=a.map(h):Lo(l,`Modifier ${l} used at start of tag`):a.length?Lo(l,`Tag ${l} used as modifier`):a=Array.isArray(h)?h:[h]:Lo(l,`Unknown highlighting tag ${l}`)}for(let l of a)t.push(l)}if(!t.length)return 0;let n=e.replace(/ /g,"_"),r=n+" "+t.map(O=>O.id),s=oc[r];if(s)return s.id;let o=oc[r]=ie.define({id:mn.length,name:n,props:[oe({[n]:t})]});return mn.push(o),o.id}function zg(i,e){let t=ie.define({id:mn.length,name:"Document",props:[yt.add(()=>i),de.add(()=>n=>e.getIndent(n))],top:!0});return mn.push(t),t}var sb={rtl:j.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"rtl"},bidiIsolate:J.RTL}),ltr:j.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"ltr"},bidiIsolate:J.LTR}),auto:j.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"auto"},bidiIsolate:null})};var Rg=i=>{let{state:e}=i,t=e.doc.lineAt(e.selection.main.from),n=lO(i.state,t.from);return n.line?Wg(i):n.block?Zg(i):!1};function aO(i,e){return({state:t,dispatch:n})=>{if(t.readOnly)return!1;let r=i(e,t);return r?(n(t.update(r)),!0):!1}}var Wg=aO(Cg,0);var Xg=aO(zc,0);var Zg=aO((i,e)=>zc(i,e,Vg(e)),0);function lO(i,e){let t=i.languageDataAt("commentTokens",e);return t.length?t[0]:{}}var Qn=50;function qg(i,{open:e,close:t},n,r){let s=i.sliceDoc(n-Qn,n),o=i.sliceDoc(r,r+Qn),O=/\s*$/.exec(s)[0].length,a=/^\s*/.exec(o)[0].length,l=s.length-O;if(s.slice(l-e.length,l)==e&&o.slice(a,a+t.length)==t)return{open:{pos:n-O,margin:O&&1},close:{pos:r+a,margin:a&&1}};let h,c;r-n<=2*Qn?h=c=i.sliceDoc(n,r):(h=i.sliceDoc(n,n+Qn),c=i.sliceDoc(r-Qn,r));let f=/^\s*/.exec(h)[0].length,d=/\s*$/.exec(c)[0].length,p=c.length-d-t.length;return h.slice(f,f+e.length)==e&&c.slice(p,p+t.length)==t?{open:{pos:n+f+e.length,margin:/\s/.test(h.charAt(f+e.length))?1:0},close:{pos:r-d-t.length,margin:/\s/.test(c.charAt(p-1))?1:0}}:null}function Vg(i){let e=[];for(let t of i.selection.ranges){let n=i.doc.lineAt(t.from),r=t.to<=n.to?n:i.doc.lineAt(t.to);r.from>n.from&&r.from==t.to&&(r=t.to==n.to+1?n:i.doc.lineAt(t.to-1));let s=e.length-1;s>=0&&e[s].to>n.from?e[s].to=r.to:e.push({from:n.from+/^\s*/.exec(n.text)[0].length,to:r.to})}return e}function zc(i,e,t=e.selection.ranges){let n=t.map(s=>lO(e,s.from).block);if(!n.every(s=>s))return null;let r=t.map((s,o)=>qg(e,n[o],s.from,s.to));if(i!=2&&!r.every(s=>s))return{changes:e.changes(t.map((s,o)=>r[o]?[]:[{from:s.from,insert:n[o].open+" "},{from:s.to,insert:" "+n[o].close}]))};if(i!=1&&r.some(s=>s)){let s=[];for(let o=0,O;o<r.length;o++)if(O=r[o]){let a=n[o],{open:l,close:h}=O;s.push({from:l.pos-a.open.length,to:l.pos+l.margin},{from:h.pos-h.margin,to:h.pos+a.close.length})}return{changes:s}}return null}function Cg(i,e,t=e.selection.ranges){let n=[],r=-1;for(let{from:s,to:o}of t){let O=n.length,a=1e9,l=lO(e,s).line;if(l){for(let h=s;h<=o;){let c=e.doc.lineAt(h);if(c.from>r&&(s==o||o>c.from)){r=c.from;let f=/^\s*/.exec(c.text)[0].length,d=f==c.length,p=c.text.slice(f,f+l.length)==l?f:-1;f<c.text.length&&f<a&&(a=f),n.push({line:c,comment:p,token:l,indent:f,empty:d,single:!1})}h=c.to+1}if(a<1e9)for(let h=O;h<n.length;h++)n[h].indent<n[h].line.text.length&&(n[h].indent=a);n.length==O+1&&(n[O].single=!0)}}if(i!=2&&n.some(s=>s.comment<0&&(!s.empty||s.single))){let s=[];for(let{line:O,token:a,indent:l,empty:h,single:c}of n)(c||!h)&&s.push({from:O.from+l,insert:a+" "});let o=e.changes(s);return{changes:o,selection:e.selection.map(o,1)}}else if(i!=1&&n.some(s=>s.comment>=0)){let s=[];for(let{line:o,comment:O,token:a}of n)if(O>=0){let l=o.from+O,h=l+a.length;o.text[h-o.from]==" "&&h++,s.push({from:l,to:h})}return{changes:s}}return null}var rO=ke.define(),Yg=ke.define(),Ug=R.define(),Rc=R.define({combine(i){return wt(i,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(n,r)=>e(n,r)||t(n,r)})}}),Wc=$e.define({create(){return oi.empty},update(i,e){let t=e.state.facet(Rc),n=e.annotation(rO);if(n){let a=Je.fromTransaction(e,n.selection),l=n.side,h=l==0?i.undone:i.done;return a?h=Yr(h,h.length,t.minDepth,a):h=Vc(h,e.startState.selection),new oi(l==0?n.rest:h,l==0?h:n.rest)}let r=e.annotation(Yg);if((r=="full"||r=="before")&&(i=i.isolate()),e.annotation(ne.addToHistory)===!1)return e.changes.empty?i:i.addMapping(e.changes.desc);let s=Je.fromTransaction(e),o=e.annotation(ne.time),O=e.annotation(ne.userEvent);return s?i=i.addChanges(s,o,O,t,e):e.selection&&(i=i.addSelection(e.startState.selection,o,O,t.newGroupDelay)),(r=="full"||r=="after")&&(i=i.isolate()),i},toJSON(i){return{done:i.done.map(e=>e.toJSON()),undone:i.undone.map(e=>e.toJSON())}},fromJSON(i){return new oi(i.done.map(Je.fromJSON),i.undone.map(Je.fromJSON))}});function Xc(i={}){return[Wc,Rc.of(i),v.domEventHandlers({beforeinput(e,t){let n=e.inputType=="historyUndo"?Zc:e.inputType=="historyRedo"?sO:null;return n?(e.preventDefault(),n(t)):!1}})]}function Ur(i,e){return function({state:t,dispatch:n}){if(!e&&t.readOnly)return!1;let r=t.field(Wc,!1);if(!r)return!1;let s=r.pop(i,t,e);return s?(n(s),!0):!1}}var Zc=Ur(0,!1),sO=Ur(1,!1),Ag=Ur(0,!0),_g=Ur(1,!0);var Je=class i{constructor(e,t,n,r,s){this.changes=e,this.effects=t,this.mapped=n,this.startSelection=r,this.selectionsAfter=s}setSelAfter(e){return new i(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,n;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(t=this.mapped)===null||t===void 0?void 0:t.toJSON(),startSelection:(n=this.startSelection)===null||n===void 0?void 0:n.toJSON(),selectionsAfter:this.selectionsAfter.map(r=>r.toJSON())}}static fromJSON(e){return new i(e.changes&&ge.fromJSON(e.changes),[],e.mapped&&pt.fromJSON(e.mapped),e.startSelection&&S.fromJSON(e.startSelection),e.selectionsAfter.map(S.fromJSON))}static fromTransaction(e,t){let n=De;for(let r of e.startState.facet(Ug)){let s=r(e);s.length&&(n=n.concat(s))}return!n.length&&e.changes.empty?null:new i(e.changes.invert(e.startState.doc),n,void 0,t||e.startState.selection,De)}static selection(e){return new i(void 0,De,void 0,void 0,e)}};function Yr(i,e,t,n){let r=e+1>t+20?e-t-1:0,s=i.slice(r,e);return s.push(n),s}function jg(i,e){let t=[],n=!1;return i.iterChangedRanges((r,s)=>t.push(r,s)),e.iterChangedRanges((r,s,o,O)=>{for(let a=0;a<t.length;){let l=t[a++],h=t[a++];O>=l&&o<=h&&(n=!0)}}),n}function Eg(i,e){return i.ranges.length==e.ranges.length&&i.ranges.filter((t,n)=>t.empty!=e.ranges[n].empty).length===0}function qc(i,e){return i.length?e.length?i.concat(e):i:e}var De=[],Mg=200;function Vc(i,e){if(i.length){let t=i[i.length-1],n=t.selectionsAfter.slice(Math.max(0,t.selectionsAfter.length-Mg));return n.length&&n[n.length-1].eq(e)?i:(n.push(e),Yr(i,i.length-1,1e9,t.setSelAfter(n)))}else return[Je.selection([e])]}function Gg(i){let e=i[i.length-1],t=i.slice();return t[i.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),t}function nO(i,e){if(!i.length)return i;let t=i.length,n=De;for(;t;){let r=Lg(i[t-1],e,n);if(r.changes&&!r.changes.empty||r.effects.length){let s=i.slice(0,t);return s[t-1]=r,s}else e=r.mapped,t--,n=r.selectionsAfter}return n.length?[Je.selection(n)]:De}function Lg(i,e,t){let n=qc(i.selectionsAfter.length?i.selectionsAfter.map(O=>O.map(e)):De,t);if(!i.changes)return Je.selection(n);let r=i.changes.map(e),s=e.mapDesc(i.changes,!0),o=i.mapped?i.mapped.composeDesc(s):s;return new Je(r,D.mapEffects(i.effects,e),o,i.startSelection.map(s),n)}var Dg=/^(input\.type|delete)($|\.)/,oi=class i{constructor(e,t,n=0,r=void 0){this.done=e,this.undone=t,this.prevTime=n,this.prevUserEvent=r}isolate(){return this.prevTime?new i(this.done,this.undone):this}addChanges(e,t,n,r,s){let o=this.done,O=o[o.length-1];return O&&O.changes&&!O.changes.empty&&e.changes&&(!n||Dg.test(n))&&(!O.selectionsAfter.length&&t-this.prevTime<r.newGroupDelay&&r.joinToEvent(s,jg(O.changes,e.changes))||n=="input.type.compose")?o=Yr(o,o.length-1,r.minDepth,new Je(e.changes.compose(O.changes),qc(D.mapEffects(e.effects,O.changes),O.effects),O.mapped,O.startSelection,De)):o=Yr(o,o.length,r.minDepth,e),new i(o,De,t,n)}addSelection(e,t,n,r){let s=this.done.length?this.done[this.done.length-1].selectionsAfter:De;return s.length>0&&t-this.prevTime<r&&n==this.prevUserEvent&&n&&/^select($|\.)/.test(n)&&Eg(s[s.length-1],e)?this:new i(Vc(this.done,e),this.undone,t,n)}addMapping(e){return new i(nO(this.done,e),nO(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,t,n){let r=e==0?this.done:this.undone;if(r.length==0)return null;let s=r[r.length-1],o=s.selectionsAfter[0]||t.selection;if(n&&s.selectionsAfter.length)return t.update({selection:s.selectionsAfter[s.selectionsAfter.length-1],annotations:rO.of({side:e,rest:Gg(r),selection:o}),userEvent:e==0?"select.undo":"select.redo",scrollIntoView:!0});if(s.changes){let O=r.length==1?De:r.slice(0,r.length-1);return s.mapped&&(O=nO(O,s.mapped)),t.update({changes:s.changes,selection:s.startSelection,effects:s.effects,annotations:rO.of({side:e,rest:O,selection:o}),filter:!1,userEvent:e==0?"undo":"redo",scrollIntoView:!0})}else return null}};oi.empty=new oi(De,De);var Cc=[{key:"Mod-z",run:Zc,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:sO,preventDefault:!0},{linux:"Ctrl-Shift-z",run:sO,preventDefault:!0},{key:"Mod-u",run:Ag,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:_g,preventDefault:!0}];function zi(i,e){return S.create(i.ranges.map(e),i.mainIndex)}function dt(i,e){return i.update({selection:e,scrollIntoView:!0,userEvent:"select"})}function et({state:i,dispatch:e},t){let n=zi(i.selection,t);return n.eq(i.selection,!0)?!1:(e(dt(i,n)),!0)}function Ar(i,e){return S.cursor(e?i.to:i.from)}function Yc(i,e){return et(i,t=>t.empty?i.moveByChar(t,e):Ar(t,e))}function pe(i){return i.textDirectionAt(i.state.selection.main.head)==J.LTR}var Uc=i=>Yc(i,!pe(i)),Ac=i=>Yc(i,pe(i));function _c(i,e){return et(i,t=>t.empty?i.moveByGroup(t,e):Ar(t,e))}var Ig=i=>_c(i,!pe(i)),Bg=i=>_c(i,pe(i));var ub=typeof Intl<"u"&&Intl.Segmenter?new Intl.Segmenter(void 0,{granularity:"word"}):null;function Ng(i,e,t){if(e.type.prop(t))return!0;let n=e.to-e.from;return n&&(n>2||/[^\s,.;:]/.test(i.sliceDoc(e.from,e.to)))||e.firstChild}function _r(i,e,t){let n=L(i).resolveInner(e.head),r=t?Z.closedBy:Z.openedBy;for(let a=e.head;;){let l=t?n.childAfter(a):n.childBefore(a);if(!l)break;Ng(i,l,r)?n=l:a=t?l.to:l.from}let s=n.type.prop(r),o,O;return s&&(o=t?Ke(i,n.from,1):Ke(i,n.to,-1))&&o.matched?O=t?o.end.to:o.end.from:O=t?n.to:n.from,S.cursor(O,t?-1:1)}var Fg=i=>et(i,e=>_r(i.state,e,!pe(i))),Hg=i=>et(i,e=>_r(i.state,e,pe(i)));function jc(i,e){return et(i,t=>{if(!t.empty)return Ar(t,e);let n=i.moveVertically(t,e);return n.head!=t.head?n:i.moveToLineBoundary(t,e)})}var Ec=i=>jc(i,!1),Mc=i=>jc(i,!0);function Gc(i){let e=i.scrollDOM.clientHeight<i.scrollDOM.scrollHeight-2,t=0,n=0,r;if(e){for(let s of i.state.facet(v.scrollMargins)){let o=s(i);o?.top&&(t=Math.max(o?.top,t)),o?.bottom&&(n=Math.max(o?.bottom,n))}r=i.scrollDOM.clientHeight-t-n}else r=(i.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:t,marginBottom:n,selfScroll:e,height:Math.max(i.defaultLineHeight,r-5)}}function Lc(i,e){let t=Gc(i),{state:n}=i,r=zi(n.selection,o=>o.empty?i.moveVertically(o,e,t.height):Ar(o,e));if(r.eq(n.selection))return!1;let s;if(t.selfScroll){let o=i.coordsAtPos(n.selection.main.head),O=i.scrollDOM.getBoundingClientRect(),a=O.top+t.marginTop,l=O.bottom-t.marginBottom;o&&o.top>a&&o.bottom<l&&(s=v.scrollIntoView(r.main.head,{y:"start",yMargin:o.top-a}))}return i.dispatch(dt(n,r),{effects:s}),!0}var yc=i=>Lc(i,!1),oO=i=>Lc(i,!0);function _t(i,e,t){let n=i.lineBlockAt(e.head),r=i.moveToLineBoundary(e,t);if(r.head==e.head&&r.head!=(t?n.to:n.from)&&(r=i.moveToLineBoundary(e,t,!1)),!t&&r.head==n.from&&n.length){let s=/^\s*/.exec(i.state.sliceDoc(n.from,Math.min(n.from+100,n.to)))[0].length;s&&e.head!=n.from+s&&(r=S.cursor(n.from+s))}return r}var Kg=i=>et(i,e=>_t(i,e,!0)),Jg=i=>et(i,e=>_t(i,e,!1)),e$=i=>et(i,e=>_t(i,e,!pe(i))),t$=i=>et(i,e=>_t(i,e,pe(i))),i$=i=>et(i,e=>S.cursor(i.lineBlockAt(e.head).from,1)),n$=i=>et(i,e=>S.cursor(i.lineBlockAt(e.head).to,-1));function r$(i,e,t){let n=!1,r=zi(i.selection,s=>{let o=Ke(i,s.head,-1)||Ke(i,s.head,1)||s.head>0&&Ke(i,s.head-1,1)||s.head<i.doc.length&&Ke(i,s.head+1,-1);if(!o||!o.end)return s;n=!0;let O=o.start.from==s.head?o.end.to:o.end.from;return t?S.range(s.anchor,O):S.cursor(O)});return n?(e(dt(i,r)),!0):!1}var s$=({state:i,dispatch:e})=>r$(i,e,!1);function Ie(i,e){let t=zi(i.state.selection,n=>{let r=e(n);return S.range(n.anchor,r.head,r.goalColumn,r.bidiLevel||void 0)});return t.eq(i.state.selection)?!1:(i.dispatch(dt(i.state,t)),!0)}function Dc(i,e){return Ie(i,t=>i.moveByChar(t,e))}var Ic=i=>Dc(i,!pe(i)),Bc=i=>Dc(i,pe(i));function Nc(i,e){return Ie(i,t=>i.moveByGroup(t,e))}var o$=i=>Nc(i,!pe(i)),O$=i=>Nc(i,pe(i));var a$=i=>Ie(i,e=>_r(i.state,e,!pe(i))),l$=i=>Ie(i,e=>_r(i.state,e,pe(i)));function Fc(i,e){return Ie(i,t=>i.moveVertically(t,e))}var Hc=i=>Fc(i,!1),Kc=i=>Fc(i,!0);function Jc(i,e){return Ie(i,t=>i.moveVertically(t,e,Gc(i).height))}var Pc=i=>Jc(i,!1),bc=i=>Jc(i,!0),h$=i=>Ie(i,e=>_t(i,e,!0)),c$=i=>Ie(i,e=>_t(i,e,!1)),f$=i=>Ie(i,e=>_t(i,e,!pe(i))),u$=i=>Ie(i,e=>_t(i,e,pe(i))),d$=i=>Ie(i,e=>S.cursor(i.lineBlockAt(e.head).from)),p$=i=>Ie(i,e=>S.cursor(i.lineBlockAt(e.head).to)),xc=({state:i,dispatch:e})=>(e(dt(i,{anchor:0})),!0),kc=({state:i,dispatch:e})=>(e(dt(i,{anchor:i.doc.length})),!0),wc=({state:i,dispatch:e})=>(e(dt(i,{anchor:i.selection.main.anchor,head:0})),!0),Tc=({state:i,dispatch:e})=>(e(dt(i,{anchor:i.selection.main.anchor,head:i.doc.length})),!0),m$=({state:i,dispatch:e})=>(e(i.update({selection:{anchor:0,head:i.doc.length},userEvent:"select"})),!0),g$=({state:i,dispatch:e})=>{let t=jr(i).map(({from:n,to:r})=>S.range(n,Math.min(r+1,i.doc.length)));return e(i.update({selection:S.create(t),userEvent:"select"})),!0},$$=({state:i,dispatch:e})=>{let t=zi(i.selection,n=>{let r=L(i),s=r.resolveStack(n.from,1);if(n.empty){let o=r.resolveStack(n.from,-1);o.node.from>=s.node.from&&o.node.to<=s.node.to&&(s=o)}for(let o=s;o;o=o.next){let{node:O}=o;if((O.from<n.from&&O.to>=n.to||O.to>n.to&&O.from<=n.from)&&o.next)return S.range(O.to,O.from)}return n});return t.eq(i.selection)?!1:(e(dt(i,t)),!0)},Q$=({state:i,dispatch:e})=>{let t=i.selection,n=null;return t.ranges.length>1?n=S.create([t.main]):t.main.empty||(n=S.create([S.cursor(t.main.head)])),n?(e(dt(i,n)),!0):!1};function Sn(i,e){if(i.state.readOnly)return!1;let t="delete.selection",{state:n}=i,r=n.changeByRange(s=>{let{from:o,to:O}=s;if(o==O){let a=e(s);a<o?(t="delete.backward",a=Cr(i,a,!1)):a>o&&(t="delete.forward",a=Cr(i,a,!0)),o=Math.min(o,a),O=Math.max(O,a)}else o=Cr(i,o,!1),O=Cr(i,O,!0);return o==O?{range:s}:{changes:{from:o,to:O},range:S.cursor(o,o<s.head?-1:1)}});return r.changes.empty?!1:(i.dispatch(n.update(r,{scrollIntoView:!0,userEvent:t,effects:t=="delete.selection"?v.announce.of(n.phrase("Selection deleted")):void 0})),!0)}function Cr(i,e,t){if(i instanceof v)for(let n of i.state.facet(v.atomicRanges).map(r=>r(i)))n.between(e,e,(r,s)=>{r<e&&s>e&&(e=t?s:r)});return e}var ef=(i,e,t)=>Sn(i,n=>{let r=n.from,{state:s}=i,o=s.doc.lineAt(r),O,a;if(t&&!e&&r>o.from&&r<o.from+200&&!/[^ \t]/.test(O=o.text.slice(0,r-o.from))){if(O[O.length-1]==" ")return r-1;let l=we(O,s.tabSize),h=l%Yt(s)||Yt(s);for(let c=0;c<h&&O[O.length-1-c]==" ";c++)r--;a=r}else a=le(o.text,r-o.from,e,e)+o.from,a==r&&o.number!=(e?s.doc.lines:1)?a+=e?1:-1:!e&&/[\ufe00-\ufe0f]/.test(o.text.slice(a-o.from,r-o.from))&&(a=le(o.text,a-o.from,!1,!1)+o.from);return a}),OO=i=>ef(i,!1,!0);var tf=i=>ef(i,!0,!1),nf=(i,e)=>Sn(i,t=>{let n=t.head,{state:r}=i,s=r.doc.lineAt(n),o=r.charCategorizer(n);for(let O=null;;){if(n==(e?s.to:s.from)){n==t.head&&s.number!=(e?r.doc.lines:1)&&(n+=e?1:-1);break}let a=le(s.text,n-s.from,e)+s.from,l=s.text.slice(Math.min(n,a)-s.from,Math.max(n,a)-s.from),h=o(l);if(O!=null&&h!=O)break;(l!=" "||n!=t.head)&&(O=h),n=a}return n}),rf=i=>nf(i,!1),S$=i=>nf(i,!0),y$=i=>Sn(i,e=>{let t=i.lineBlockAt(e.head).to;return e.head<t?t:Math.min(i.state.doc.length,e.head+1)});var P$=i=>Sn(i,e=>{let t=i.moveToLineBoundary(e,!1).head;return e.head>t?t:Math.max(0,e.head-1)}),b$=i=>Sn(i,e=>{let t=i.moveToLineBoundary(e,!0).head;return e.head<t?t:Math.min(i.state.doc.length,e.head+1)});var x$=({state:i,dispatch:e})=>{if(i.readOnly)return!1;let t=i.changeByRange(n=>({changes:{from:n.from,to:n.to,insert:Y.of(["",""])},range:S.cursor(n.from)}));return e(i.update(t,{scrollIntoView:!0,userEvent:"input"})),!0},k$=({state:i,dispatch:e})=>{if(i.readOnly)return!1;let t=i.changeByRange(n=>{if(!n.empty||n.from==0||n.from==i.doc.length)return{range:n};let r=n.from,s=i.doc.lineAt(r),o=r==s.from?r-1:le(s.text,r-s.from,!1)+s.from,O=r==s.to?r+1:le(s.text,r-s.from,!0)+s.from;return{changes:{from:o,to:O,insert:i.doc.slice(r,O).append(i.doc.slice(o,r))},range:S.cursor(O)}});return t.changes.empty?!1:(e(i.update(t,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function jr(i){let e=[],t=-1;for(let n of i.selection.ranges){let r=i.doc.lineAt(n.from),s=i.doc.lineAt(n.to);if(!n.empty&&n.to==s.from&&(s=i.doc.lineAt(n.to-1)),t>=r.number){let o=e[e.length-1];o.to=s.to,o.ranges.push(n)}else e.push({from:r.from,to:s.to,ranges:[n]});t=s.number+1}return e}function sf(i,e,t){if(i.readOnly)return!1;let n=[],r=[];for(let s of jr(i)){if(t?s.to==i.doc.length:s.from==0)continue;let o=i.doc.lineAt(t?s.to+1:s.from-1),O=o.length+1;if(t){n.push({from:s.to,to:o.to},{from:s.from,insert:o.text+i.lineBreak});for(let a of s.ranges)r.push(S.range(Math.min(i.doc.length,a.anchor+O),Math.min(i.doc.length,a.head+O)))}else{n.push({from:o.from,to:s.from},{from:s.to,insert:i.lineBreak+o.text});for(let a of s.ranges)r.push(S.range(a.anchor-O,a.head-O))}}return n.length?(e(i.update({changes:n,scrollIntoView:!0,selection:S.create(r,i.selection.mainIndex),userEvent:"move.line"})),!0):!1}var w$=({state:i,dispatch:e})=>sf(i,e,!1),T$=({state:i,dispatch:e})=>sf(i,e,!0);function of(i,e,t){if(i.readOnly)return!1;let n=[];for(let r of jr(i))t?n.push({from:r.from,insert:i.doc.slice(r.from,r.to)+i.lineBreak}):n.push({from:r.to,insert:i.lineBreak+i.doc.slice(r.from,r.to)});return e(i.update({changes:n,scrollIntoView:!0,userEvent:"input.copyline"})),!0}var v$=({state:i,dispatch:e})=>of(i,e,!1),z$=({state:i,dispatch:e})=>of(i,e,!0),R$=i=>{if(i.state.readOnly)return!1;let{state:e}=i,t=e.changes(jr(e).map(({from:r,to:s})=>(r>0?r--:s<e.doc.length&&s++,{from:r,to:s}))),n=zi(e.selection,r=>{let s;if(i.lineWrapping){let o=i.lineBlockAt(r.head),O=i.coordsAtPos(r.head,r.assoc||1);O&&(s=o.bottom+i.documentTop-O.bottom+i.defaultLineHeight/2)}return i.moveVertically(r,!0,s)}).map(t);return i.dispatch({changes:t,selection:n,scrollIntoView:!0,userEvent:"delete.line"}),!0};function W$(i,e){if(/\(\)|\[\]|\{\}/.test(i.sliceDoc(e-1,e+1)))return{from:e,to:e};let t=L(i).resolveInner(e),n=t.childBefore(e),r=t.childAfter(e),s;return n&&r&&n.to<=e&&r.from>=e&&(s=n.type.prop(Z.closedBy))&&s.indexOf(r.name)>-1&&i.doc.lineAt(n.to).from==i.doc.lineAt(r.from).from&&!/\S/.test(i.sliceDoc(n.to,r.from))?{from:n.to,to:r.from}:null}var vc=Of(!1),X$=Of(!0);function Of(i){return({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(r=>{let{from:s,to:o}=r,O=e.doc.lineAt(s),a=!i&&s==o&&W$(e,s);i&&(s=o=(o<=O.to?O:e.doc.lineAt(o)).to);let l=new si(e,{simulateBreak:s,simulateDoubleBreak:!!a}),h=Jo(l,s);for(h==null&&(h=we(/^\s*/.exec(e.doc.lineAt(s).text)[0],e.tabSize));o<O.to&&/\s/.test(O.text[o-O.from]);)o++;a?{from:s,to:o}=a:s>O.from&&s<O.from+100&&!/\S/.test(O.text.slice(0,s))&&(s=O.from);let c=["",gn(e,h)];return a&&c.push(gn(e,l.lineIndent(O.from,-1))),{changes:{from:s,to:o,insert:Y.of(c)},range:S.cursor(s+1+c[1].length)}});return t(e.update(n,{scrollIntoView:!0,userEvent:"input"})),!0}}function hO(i,e){let t=-1;return i.changeByRange(n=>{let r=[];for(let o=n.from;o<=n.to;){let O=i.doc.lineAt(o);O.number>t&&(n.empty||n.to>O.from)&&(e(O,r,n),t=O.number),o=O.to+1}let s=i.changes(r);return{changes:r,range:S.range(s.mapPos(n.anchor,1),s.mapPos(n.head,1))}})}var Z$=({state:i,dispatch:e})=>{if(i.readOnly)return!1;let t=Object.create(null),n=new si(i,{overrideIndentation:s=>{let o=t[s];return o??-1}}),r=hO(i,(s,o,O)=>{let a=Jo(n,s.from);if(a==null)return;/\S/.test(s.text)||(a=0);let l=/^\s*/.exec(s.text)[0],h=gn(i,a);(l!=h||O.from<s.from+l.length)&&(t[s.from]=a,o.push({from:s.from,to:s.from+l.length,insert:h}))});return r.changes.empty||e(i.update(r,{userEvent:"indent"})),!0},af=({state:i,dispatch:e})=>i.readOnly?!1:(e(i.update(hO(i,(t,n)=>{n.push({from:t.from,insert:i.facet(Ut)})}),{userEvent:"input.indent"})),!0),lf=({state:i,dispatch:e})=>i.readOnly?!1:(e(i.update(hO(i,(t,n)=>{let r=/^\s*/.exec(t.text)[0];if(!r)return;let s=we(r,i.tabSize),o=0,O=gn(i,Math.max(0,s-Yt(i)));for(;o<r.length&&o<O.length&&r.charCodeAt(o)==O.charCodeAt(o);)o++;n.push({from:t.from+o,to:t.from+r.length,insert:O.slice(o)})}),{userEvent:"delete.dedent"})),!0),q$=i=>(i.setTabFocusMode(),!0);var V$=[{key:"Ctrl-b",run:Uc,shift:Ic,preventDefault:!0},{key:"Ctrl-f",run:Ac,shift:Bc},{key:"Ctrl-p",run:Ec,shift:Hc},{key:"Ctrl-n",run:Mc,shift:Kc},{key:"Ctrl-a",run:i$,shift:d$},{key:"Ctrl-e",run:n$,shift:p$},{key:"Ctrl-d",run:tf},{key:"Ctrl-h",run:OO},{key:"Ctrl-k",run:y$},{key:"Ctrl-Alt-h",run:rf},{key:"Ctrl-o",run:x$},{key:"Ctrl-t",run:k$},{key:"Ctrl-v",run:oO}],C$=[{key:"ArrowLeft",run:Uc,shift:Ic,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:Ig,shift:o$,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:e$,shift:f$,preventDefault:!0},{key:"ArrowRight",run:Ac,shift:Bc,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:Bg,shift:O$,preventDefault:!0},{mac:"Cmd-ArrowRight",run:t$,shift:u$,preventDefault:!0},{key:"ArrowUp",run:Ec,shift:Hc,preventDefault:!0},{mac:"Cmd-ArrowUp",run:xc,shift:wc},{mac:"Ctrl-ArrowUp",run:yc,shift:Pc},{key:"ArrowDown",run:Mc,shift:Kc,preventDefault:!0},{mac:"Cmd-ArrowDown",run:kc,shift:Tc},{mac:"Ctrl-ArrowDown",run:oO,shift:bc},{key:"PageUp",run:yc,shift:Pc},{key:"PageDown",run:oO,shift:bc},{key:"Home",run:Jg,shift:c$,preventDefault:!0},{key:"Mod-Home",run:xc,shift:wc},{key:"End",run:Kg,shift:h$,preventDefault:!0},{key:"Mod-End",run:kc,shift:Tc},{key:"Enter",run:vc,shift:vc},{key:"Mod-a",run:m$},{key:"Backspace",run:OO,shift:OO},{key:"Delete",run:tf},{key:"Mod-Backspace",mac:"Alt-Backspace",run:rf},{key:"Mod-Delete",mac:"Alt-Delete",run:S$},{mac:"Mod-Backspace",run:P$},{mac:"Mod-Delete",run:b$}].concat(V$.map(i=>({mac:i.key,run:i.run,shift:i.shift}))),cO=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:Fg,shift:a$},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:Hg,shift:l$},{key:"Alt-ArrowUp",run:w$},{key:"Shift-Alt-ArrowUp",run:v$},{key:"Alt-ArrowDown",run:T$},{key:"Shift-Alt-ArrowDown",run:z$},{key:"Escape",run:Q$},{key:"Mod-Enter",run:X$},{key:"Alt-l",mac:"Ctrl-l",run:g$},{key:"Mod-i",run:$$,preventDefault:!0},{key:"Mod-[",run:lf},{key:"Mod-]",run:af},{key:"Mod-Alt-\\",run:Z$},{key:"Shift-Mod-k",run:R$},{key:"Shift-Mod-\\",run:s$},{key:"Mod-/",run:Rg},{key:"Alt-A",run:Xg},{key:"Ctrl-m",mac:"Shift-Alt-m",run:q$}].concat(C$),hf={key:"Tab",run:af,shift:lf};var Y$="#e5c07b",cf="#e06c75",U$="#56b6c2",A$="#ffffff",Er="#abb2bf",uO="#7d8799",_$="#61afef",j$="#98c379",ff="#d19a66",E$="#c678dd",M$="#21252b",uf="#2c313a",df="#282c34",fO="#353a42",G$="#3E4451",pf="#528bff";var mf=v.theme({"&":{color:Er,backgroundColor:df},".cm-content":{caretColor:pf},".cm-cursor, .cm-dropCursor":{borderLeftColor:pf},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:G$},".cm-panels":{backgroundColor:M$,color:Er},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:df,color:uO,border:"none"},".cm-activeLineGutter":{backgroundColor:uf},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:fO},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:fO,borderBottomColor:fO},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:uf,color:Er}}},{dark:!0}),gf=Pt.define([{tag:u.keyword,color:E$},{tag:[u.name,u.deleted,u.character,u.propertyName,u.macroName],color:cf},{tag:[u.function(u.variableName),u.labelName],color:_$},{tag:[u.color,u.constant(u.name),u.standard(u.name)],color:ff},{tag:[u.definition(u.name),u.separator],color:Er},{tag:[u.typeName,u.className,u.number,u.changed,u.annotation,u.modifier,u.self,u.namespace],color:Y$},{tag:[u.operator,u.operatorKeyword,u.url,u.escape,u.regexp,u.link,u.special(u.string)],color:U$},{tag:[u.meta,u.comment],color:uO},{tag:u.strong,fontWeight:"bold"},{tag:u.emphasis,fontStyle:"italic"},{tag:u.strikethrough,textDecoration:"line-through"},{tag:u.link,color:uO,textDecoration:"underline"},{tag:u.heading,fontWeight:"bold",color:cf},{tag:[u.atom,u.bool,u.special(u.variableName)],color:ff},{tag:[u.processingInstruction,u.string,u.inserted],color:j$},{tag:u.invalid,color:A$}]);var L$=Pt.define([{tag:u.meta,color:"#388938"},{tag:u.link,textDecoration:"underline"},{tag:u.heading,textDecoration:"underline",fontWeight:"bold"},{tag:u.emphasis,fontStyle:"italic"},{tag:u.strong,fontWeight:"bold"},{tag:u.strikethrough,textDecoration:"line-through"},{tag:u.keyword,color:"#708"},{tag:[u.atom,u.bool,u.url,u.contentSeparator,u.labelName],color:"#219"},{tag:[u.literal,u.inserted],color:"#164"},{tag:[u.string,u.deleted],color:"#a11"},{tag:[u.regexp,u.escape,u.special(u.string)],color:"#e40"},{tag:u.definition(u.variableName),color:"#00f"},{tag:u.local(u.variableName),color:"#30a"},{tag:[u.typeName,u.namespace],color:"#085"},{tag:u.className,color:"#167"},{tag:[u.special(u.variableName),u.macroName],color:"#256"},{tag:u.definition(u.propertyName),color:"#00c"},{tag:u.compareOperator,color:"#708"},{tag:u.comment,color:"#940"},{tag:u.invalid,color:"#f00"}]),D$={"&":{backgroundColor:"#FFF",color:"#000"},"&.cm-focused":{outline:"none"},".cm-line":{lineHeight:"1.6"}};function $f(i){let e=document.documentElement.classList.contains("dark-mode"),t=e?mf:v.theme(D$),n=e?gf:L$,r={darkModeActive:e,registerViewTheme(s){let o=s();o&&(t=v.theme(o))},registerHighlightStyle(s){let o=s(u)||[];o.length&&(n=Pt.define(o))}};return window.$events.emitPublic(i,"library-cm6::configure-theme",r),[t,eO(n)]}function Qf(i){return[$f(i),_h(),Vh(),Uh(),mc(),Ah()]}function I$(){let i=new mt,e={focus(t,n){n.dispatch({effects:i.reconfigure([wo(),ko()])})},blur(t,n){n.dispatch({effects:i.reconfigure([])})}};return[i.of([]),v.domEventHandlers(e)]}function dO(i){return[...Qf(i),I$(),ht.of([...cO]),I.readOnly.of(!0)]}function Mr(i){return[...Qf(i),wo(),ko(),Xc(),ht.of([...cO,...Cc,hf]),v.lineWrapping]}var gO=class i{constructor(e,t,n,r,s,o,O,a,l,h=0,c){this.p=e,this.stack=t,this.state=n,this.reducePos=r,this.pos=s,this.score=o,this.buffer=O,this.bufferBase=a,this.curContext=l,this.lookAhead=h,this.parent=c}toString(){return`[${this.stack.filter((e,t)=>t%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,n=0){let r=e.parser.context;return new i(e,[],t,n,n,0,[],0,r?new Gr(r,r.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let n=e>>19,r=e&65535,{parser:s}=this.p,o=this.reducePos<this.pos-25;o&&this.setLookAhead(this.pos);let O=s.dynamicPrecedence(r);if(O&&(this.score+=O),n==0){this.pushState(s.getGoto(this.state,r,!0),this.reducePos),r<s.minRepeatTerm&&this.storeNode(r,this.reducePos,this.reducePos,o?8:4,!0),this.reduceContext(r,this.reducePos);return}let a=this.stack.length-(n-1)*3-(e&262144?6:0),l=a?this.stack[a-2]:this.p.ranges[0].from,h=this.reducePos-l;h>=2e3&&!(!((t=this.p.parser.nodeSet.types[r])===null||t===void 0)&&t.isAnonymous)&&(l==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=h):this.p.lastBigReductionSize<h&&(this.p.bigReductionCount=1,this.p.lastBigReductionStart=l,this.p.lastBigReductionSize=h));let c=a?this.stack[a-1]:0,f=this.bufferBase+this.buffer.length-c;if(r<s.minRepeatTerm||e&131072){let d=s.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(r,l,d,f+4,!0)}if(e&262144)this.state=this.stack[a];else{let d=this.stack[a-3];this.state=s.getGoto(d,r,!0)}for(;this.stack.length>a;)this.stack.pop();this.reduceContext(r,l)}storeNode(e,t,n,r=4,s=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let o=this,O=this.buffer.length;if(O==0&&o.parent&&(O=o.bufferBase-o.parent.bufferBase,o=o.parent),O>0&&o.buffer[O-4]==0&&o.buffer[O-1]>-1){if(t==n)return;if(o.buffer[O-2]>=t){o.buffer[O-2]=n;return}}}if(!s||this.pos==n)this.buffer.push(e,t,n,r);else{let o=this.buffer.length;if(o>0&&this.buffer[o-4]!=0){let O=!1;for(let a=o;a>0&&this.buffer[a-2]>n;a-=4)if(this.buffer[a-1]>=0){O=!0;break}if(O)for(;o>0&&this.buffer[o-2]>n;)this.buffer[o]=this.buffer[o-4],this.buffer[o+1]=this.buffer[o-3],this.buffer[o+2]=this.buffer[o-2],this.buffer[o+3]=this.buffer[o-1],o-=4,r>4&&(r-=4)}this.buffer[o]=e,this.buffer[o+1]=t,this.buffer[o+2]=n,this.buffer[o+3]=r}}shift(e,t,n,r){if(e&131072)this.pushState(e&65535,this.pos);else if(e&262144)this.pos=r,this.shiftContext(t,n),t<=this.p.parser.maxNode&&this.buffer.push(t,n,r,4);else{let s=e,{parser:o}=this.p;(r>this.pos||t<=o.maxNode)&&(this.pos=r,o.stateFlag(s,1)||(this.reducePos=r)),this.pushState(s,n),this.shiftContext(t,n),t<=o.maxNode&&this.buffer.push(t,n,r,4)}}apply(e,t,n,r){e&65536?this.reduce(e):this.shift(e,t,n,r)}useNode(e,t){let n=this.p.reused.length-1;(n<0||this.p.reused[n]!=e)&&(this.p.reused.push(e),n++);let r=this.pos;this.reducePos=this.pos=r+e.length,this.pushState(t,r),this.buffer.push(n,r,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,t=e.buffer.length;for(;t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let n=e.buffer.slice(t),r=e.bufferBase+t;for(;e&&r==e.bufferBase;)e=e.parent;return new i(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,n,r,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let n=e<=this.p.parser.maxNode;n&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,n?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new $O(this);;){let n=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(n==0)return!1;if(!(n&65536))return!0;t.reduce(n)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let r=[];for(let s=0,o;s<t.length;s+=2)(o=t[s+1])!=this.state&&this.p.parser.hasAction(o,e)&&r.push(t[s],o);if(this.stack.length<120)for(let s=0;r.length<8&&s<t.length;s+=2){let o=t[s+1];r.some((O,a)=>a&1&&O==o)||r.push(t[s],o)}t=r}let n=[];for(let r=0;r<t.length&&n.length<4;r+=2){let s=t[r+1];if(s==this.state)continue;let o=this.split();o.pushState(s,this.pos),o.storeNode(0,o.pos,o.pos,4,!0),o.shiftContext(t[r],this.pos),o.reducePos=this.pos,o.score-=200,n.push(o)}return n}forceReduce(){let{parser:e}=this.p,t=e.stateSlot(this.state,5);if(!(t&65536))return!1;if(!e.validAction(this.state,t)){let n=t>>19,r=t&65535,s=this.stack.length-n*3;if(s<0||e.getGoto(this.stack[s],r,!1)<0){let o=this.findForcedReduction();if(o==null)return!1;t=o}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],n=(r,s)=>{if(!t.includes(r))return t.push(r),e.allActions(r,o=>{if(!(o&393216))if(o&65536){let O=(o>>19)-s;if(O>1){let a=o&65535,l=this.stack.length-O*3;if(l>=0&&e.getGoto(this.stack[l],a,!1)>=0)return O<<19|65536|a}}else{let O=n(o,s+1);if(O!=null)return O}})};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:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;t<this.stack.length;t+=3)if(this.stack[t]!=e.stack[t])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(e){return this.p.parser.dialect.flags[e]}shiftContext(e,t){this.curContext&&this.updateContext(this.curContext.tracker.shift(this.curContext.context,e,this,this.p.stream.reset(t)))}reduceContext(e,t){this.curContext&&this.updateContext(this.curContext.tracker.reduce(this.curContext.context,e,this,this.p.stream.reset(t)))}emitContext(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-3)&&this.buffer.push(this.curContext.hash,this.pos,this.pos,-3)}emitLookAhead(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-4)&&this.buffer.push(this.lookAhead,this.pos,this.pos,-4)}updateContext(e){if(e!=this.curContext.context){let t=new Gr(this.curContext.tracker,e);t.hash!=this.curContext.hash&&this.emitContext(),this.curContext=t}}setLookAhead(e){e>this.lookAhead&&(this.emitLookAhead(),this.lookAhead=e)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}},Gr=class{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}},$O=class{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=e&65535,n=e>>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 r=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=r}},QO=class i{constructor(e,t,n){this.stack=e,this.pos=t,this.index=n,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new i(e,t,t-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new i(this.stack,this.pos,this.index)}};function yn(i,e=Uint16Array){if(typeof i!="string")return i;let t=null;for(let n=0,r=0;n<i.length;){let s=0;for(;;){let o=i.charCodeAt(n++),O=!1;if(o==126){s=65535;break}o>=92&&o--,o>=34&&o--;let a=o-32;if(a>=46&&(a-=46,O=!0),s+=a,O)break;s*=46}t?t[r++]=s:t=new e(s)}return t}var Ri=class{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}},Sf=new Ri,SO=class{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=Sf,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let n=this.range,r=this.rangeIndex,s=this.pos+e;for(;s<n.from;){if(!r)return null;let o=this.ranges[--r];s-=n.from-o.to,n=o}for(;t<0?s>n.to:s>=n.to;){if(r==this.ranges.length-1)return null;let o=this.ranges[++r];s+=o.from-n.to,n=o}return s}clipPos(e){if(e>=this.range.from&&e<this.range.to)return e;for(let t of this.ranges)if(t.to>e)return Math.max(e,t.from);return this.end}peek(e){let t=this.chunkOff+e,n,r;if(t>=0&&t<this.chunk.length)n=this.pos+e,r=this.chunk.charCodeAt(t);else{let s=this.resolveOffset(e,1);if(s==null)return-1;if(n=s,n>=this.chunk2Pos&&n<this.chunk2Pos+this.chunk2.length)r=this.chunk2.charCodeAt(n-this.chunk2Pos);else{let o=this.rangeIndex,O=this.range;for(;O.to<=n;)O=this.ranges[++o];this.chunk2=this.input.chunk(this.chunk2Pos=n),n+this.chunk2.length>O.to&&(this.chunk2=this.chunk2.slice(0,O.to-n)),r=this.chunk2.charCodeAt(0)}}return n>=this.token.lookAhead&&(this.token.lookAhead=n+1),r}acceptToken(e,t=0){let n=t?this.resolveOffset(t,-1):this.pos;if(n==null||n<this.token.start)throw new RangeError("Token end out of bounds");this.token.value=e,this.token.end=n}acceptTokenTo(e,t){this.token.value=e,this.token.end=t}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:e,chunkPos:t}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=e,this.chunk2Pos=t,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let e=this.input.chunk(this.pos),t=this.pos+e.length;this.chunk=t>this.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=Sf,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e<this.range.from;)this.range=this.ranges[--this.rangeIndex];for(;e>=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e<this.chunkPos+this.chunk.length?this.chunkOff=e-this.chunkPos:(this.chunk="",this.chunkOff=0),this.readNext()}return this}read(e,t){if(e>=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let n="";for(let r of this.ranges){if(r.from>=t)break;r.to>e&&(n+=this.input.read(Math.max(r.from,e),Math.min(r.to,t)))}return n}},jt=class{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:n}=t.p;kf(this.data,e,t,this.id,n.data,n.tokenPrecTable)}};jt.prototype.contextual=jt.prototype.fallback=jt.prototype.extend=!1;var Et=class{constructor(e,t,n){this.precTable=t,this.elseToken=n,this.data=typeof e=="string"?yn(e):e}token(e,t){let n=e.pos,r=0;for(;;){let s=e.next<0,o=e.resolveOffset(1,1);if(kf(this.data,e,t,0,this.data,this.precTable),e.token.value>-1)break;if(this.elseToken==null)return;if(s||r++,o==null)break;e.reset(o,e.token)}r&&(e.reset(n,e.token),e.acceptToken(this.elseToken,r))}};Et.prototype.contextual=jt.prototype.fallback=jt.prototype.extend=!1;var ee=class{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}};function kf(i,e,t,n,r,s){let o=0,O=1<<n,{dialect:a}=t.p.parser;e:for(;O&i[o];){let l=i[o+1];for(let d=o+3;d<l;d+=2)if((i[d+1]&O)>0){let p=i[d];if(a.allows(p)&&(e.token.value==-1||e.token.value==p||N$(p,e.token.value,r,s))){e.acceptToken(p);break}}let h=e.next,c=0,f=i[o+2];if(e.next<0&&f>c&&i[l+f*3-3]==65535){o=i[l+f*3-1];continue e}for(;c<f;){let d=c+f>>1,p=l+d+(d<<1),m=i[p],g=i[p+1]||65536;if(h<m)f=d;else if(h>=g)c=d+1;else{o=i[p+2],e.advance();continue e}}break}}function yf(i,e,t){for(let n=e,r;(r=i[n])!=65535;n++)if(r==t)return n-e;return-1}function N$(i,e,t,n){let r=yf(t,n,e);return r<0||yf(t,n,i)<r}var Ce=typeof process<"u"&&process.env&&/\bparse\b/.test(process.env.LOG),pO=null;function Pf(i,e,t){let n=i.cursor(G.IncludeAnonymous);for(n.moveTo(e);;)if(!(t<0?n.childBefore(e):n.childAfter(e)))for(;;){if((t<0?n.to<e:n.from>e)&&!n.type.isError)return t<0?Math.max(0,Math.min(n.to-1,e-25)):Math.min(i.length,Math.max(n.from+1,e+25));if(t<0?n.prevSibling():n.nextSibling())break;if(!n.parent())return t<0?0:i.length}}var yO=class{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?Pf(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?Pf(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(e<this.nextStart)return null;for(;this.fragment&&this.safeTo<=e;)this.nextFragment();if(!this.fragment)return null;for(;;){let t=this.trees.length-1;if(t<0)return this.nextFragment(),null;let n=this.trees[t],r=this.index[t];if(r==n.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let s=n.children[r],o=this.start[t]+n.positions[r];if(o>e)return this.nextStart=o,null;if(s instanceof V){if(o==e){if(o<this.safeFrom)return null;let O=o+s.length;if(O<=this.safeTo){let a=s.prop(Z.lookAhead);if(!a||O+a<this.fragment.to)return s}}this.index[t]++,o+s.length>=Math.max(this.safeFrom,e)&&(this.trees.push(s),this.start.push(o),this.index.push(0))}else this.index[t]++,this.nextStart=o+s.length}}},PO=class{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(n=>new Ri)}getActions(e){let t=0,n=null,{parser:r}=e.p,{tokenizers:s}=r,o=r.stateSlot(e.state,3),O=e.curContext?e.curContext.hash:0,a=0;for(let l=0;l<s.length;l++){if(!(1<<l&o))continue;let h=s[l],c=this.tokens[l];if(!(n&&!h.fallback)&&((h.contextual||c.start!=e.pos||c.mask!=o||c.context!=O)&&(this.updateCachedToken(c,h,e),c.mask=o,c.context=O),c.lookAhead>c.end+25&&(a=Math.max(c.lookAhead,a)),c.value!=0)){let f=t;if(c.extended>-1&&(t=this.addActions(e,c.extended,c.end,t)),t=this.addActions(e,c.value,c.end,t),!h.extend&&(n=c,t>f))break}}for(;this.actions.length>t;)this.actions.pop();return a&&e.setLookAhead(a),!n&&e.pos==this.stream.end&&(n=new Ri,n.value=e.p.parser.eofTerm,n.start=n.end=e.pos,t=this.addActions(e,n.value,n.end,t)),this.mainToken=n,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new Ri,{pos:n,p:r}=e;return t.start=n,t.end=Math.min(n+1,r.stream.end),t.value=n==r.stream.end?r.parser.eofTerm:0,t}updateCachedToken(e,t,n){let r=this.stream.clipPos(n.pos);if(t.token(this.stream.reset(r,e),n),e.value>-1){let{parser:s}=n.p;for(let o=0;o<s.specialized.length;o++)if(s.specialized[o]==e.value){let O=s.specializers[o](this.stream.read(e.start,e.end),n);if(O>=0&&n.p.parser.dialect.allows(O>>1)){O&1?e.extended=O>>1:e.value=O>>1;break}}}else e.value=0,e.end=this.stream.clipPos(r+1)}putAction(e,t,n,r){for(let s=0;s<r;s+=3)if(this.actions[s]==e)return r;return this.actions[r++]=e,this.actions[r++]=t,this.actions[r++]=n,r}addActions(e,t,n,r){let{state:s}=e,{parser:o}=e.p,{data:O}=o;for(let a=0;a<2;a++)for(let l=o.stateSlot(s,a?2:1);;l+=3){if(O[l]==65535)if(O[l+1]==1)l=bt(O,l+2);else{r==0&&O[l+1]==2&&(r=this.putAction(bt(O,l+2),t,n,r));break}O[l]==t&&(r=this.putAction(bt(O,l+1),t,n,r))}return r}},bO=class{constructor(e,t,n,r){this.parser=e,this.input=t,this.ranges=r,this.recovering=0,this.nextStackID=9812,this.minStackPos=0,this.reused=[],this.stoppedAt=null,this.lastBigReductionStart=-1,this.lastBigReductionSize=0,this.bigReductionCount=0,this.stream=new SO(t,r),this.tokens=new PO(e,this.stream),this.topTerm=e.top[1];let{from:s}=r[0];this.stacks=[gO.start(this,e.top[0],s)],this.fragments=n.length&&this.stream.end-s>e.bufferLength*4?new yO(n,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,t=this.minStackPos,n=this.stacks=[],r,s;if(this.bigReductionCount>300&&e.length==1){let[o]=e;for(;o.forceReduce()&&o.stack.length&&o.stack[o.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let o=0;o<e.length;o++){let O=e[o];for(;;){if(this.tokens.mainToken=null,O.pos>t)n.push(O);else{if(this.advanceStack(O,n,e))continue;{r||(r=[],s=[]),r.push(O);let a=this.tokens.getMainToken(O);s.push(a.value,a.end)}}break}}if(!n.length){let o=r&&F$(r);if(o)return Ce&&console.log("Finish with "+this.stackID(o)),this.stackToTree(o);if(this.parser.strict)throw Ce&&r&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+t);this.recovering||(this.recovering=5)}if(this.recovering&&r){let o=this.stoppedAt!=null&&r[0].pos>this.stoppedAt?r[0]:this.runRecovery(r,s,n);if(o)return Ce&&console.log("Force-finish "+this.stackID(o)),this.stackToTree(o.forceAll())}if(this.recovering){let o=this.recovering==1?1:this.recovering*3;if(n.length>o)for(n.sort((O,a)=>a.score-O.score);n.length>o;)n.pop();n.some(O=>O.reducePos>t)&&this.recovering--}else if(n.length>1){e:for(let o=0;o<n.length-1;o++){let O=n[o];for(let a=o+1;a<n.length;a++){let l=n[a];if(O.sameState(l)||O.buffer.length>500&&l.buffer.length>500)if((O.score-l.score||O.buffer.length-l.buffer.length)>0)n.splice(a--,1);else{n.splice(o--,1);continue e}}}n.length>12&&n.splice(12,n.length-12)}this.minStackPos=n[0].pos;for(let o=1;o<n.length;o++)n[o].pos<this.minStackPos&&(this.minStackPos=n[o].pos);return null}stopAt(e){if(this.stoppedAt!=null&&this.stoppedAt<e)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=e}advanceStack(e,t,n){let r=e.pos,{parser:s}=this,o=Ce?this.stackID(e)+" -> ":"";if(this.stoppedAt!=null&&r>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let l=e.curContext&&e.curContext.tracker.strict,h=l?e.curContext.hash:0;for(let c=this.fragments.nodeAt(r);c;){let f=this.parser.nodeSet.types[c.type.id]==c.type?s.getGoto(e.state,c.type.id):-1;if(f>-1&&c.length&&(!l||(c.prop(Z.contextHash)||0)==h))return e.useNode(c,f),Ce&&console.log(o+this.stackID(e)+` (via reuse of ${s.getName(c.type.id)})`),!0;if(!(c instanceof V)||c.children.length==0||c.positions[0]>0)break;let d=c.children[0];if(d instanceof V&&c.positions[0]==0)c=d;else break}}let O=s.stateSlot(e.state,4);if(O>0)return e.reduce(O),Ce&&console.log(o+this.stackID(e)+` (via always-reduce ${s.getName(O&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let a=this.tokens.getActions(e);for(let l=0;l<a.length;){let h=a[l++],c=a[l++],f=a[l++],d=l==a.length||!n,p=d?e:e.split(),m=this.tokens.mainToken;if(p.apply(h,c,m?m.start:p.pos,f),Ce&&console.log(o+this.stackID(p)+` (via ${h&65536?`reduce of ${s.getName(h&65535)}`:"shift"} for ${s.getName(c)} @ ${r}${p==e?"":", split"})`),d)return!0;p.pos>r?t.push(p):n.push(p)}return!1}advanceFully(e,t){let n=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>n)return bf(e,t),!0}}runRecovery(e,t,n){let r=null,s=!1;for(let o=0;o<e.length;o++){let O=e[o],a=t[o<<1],l=t[(o<<1)+1],h=Ce?this.stackID(O)+" -> ":"";if(O.deadEnd&&(s||(s=!0,O.restart(),Ce&&console.log(h+this.stackID(O)+" (restarted)"),this.advanceFully(O,n))))continue;let c=O.split(),f=h;for(let d=0;c.forceReduce()&&d<10&&(Ce&&console.log(f+this.stackID(c)+" (via force-reduce)"),!this.advanceFully(c,n));d++)Ce&&(f=this.stackID(c)+" -> ");for(let d of O.recoverByInsert(a))Ce&&console.log(h+this.stackID(d)+" (via recover-insert)"),this.advanceFully(d,n);this.stream.end>O.pos?(l==O.pos&&(l++,a=0),O.recoverByDelete(a,l),Ce&&console.log(h+this.stackID(O)+` (via recover-delete ${this.parser.getName(a)})`),bf(O,n)):(!r||r.score<O.score)&&(r=O)}return r}stackToTree(e){return e.close(),V.build({buffer:QO.create(e),nodeSet:this.parser.nodeSet,topID:this.topTerm,maxBufferLength:this.parser.bufferLength,reused:this.reused,start:this.ranges[0].from,length:e.pos-this.ranges[0].from,minRepeatType:this.parser.minRepeatTerm})}stackID(e){let t=(pO||(pO=new WeakMap)).get(e);return t||pO.set(e,t=String.fromCodePoint(this.nextStackID++)),t+e}};function bf(i,e){for(let t=0;t<e.length;t++){let n=e[t];if(n.pos==i.pos&&n.sameState(i)){e[t].score<i.score&&(e[t]=i);return}}e.push(i)}var xO=class{constructor(e,t,n){this.source=e,this.flags=t,this.disabled=n}allows(e){return!this.disabled||this.disabled[e]==0}},mO=i=>i,Mt=class{constructor(e){this.start=e.start,this.shift=e.shift||mO,this.reduce=e.reduce||mO,this.reuse=e.reuse||mO,this.hash=e.hash||(()=>0),this.strict=e.strict!==!1}},me=class i extends St{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let O=0;O<e.repeatNodeCount;O++)t.push("");let n=Object.keys(e.topRules).map(O=>e.topRules[O][1]),r=[];for(let O=0;O<t.length;O++)r.push([]);function s(O,a,l){r[O].push([a,a.deserialize(String(l))])}if(e.nodeProps)for(let O of e.nodeProps){let a=O[0];typeof a=="string"&&(a=Z[a]);for(let l=1;l<O.length;){let h=O[l++];if(h>=0)s(h,a,O[l++]);else{let c=O[l+-h];for(let f=-h;f>0;f--)s(O[l++],a,c);l++}}}this.nodeSet=new $t(t.map((O,a)=>ie.define({name:a>=this.minRepeatTerm?void 0:O,id:a,props:r[a],top:n.indexOf(a)>-1,error:a==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(a)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=1024;let o=yn(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let O=0;O<this.specializerSpecs.length;O++)this.specialized[O]=this.specializerSpecs[O].term;this.specializers=this.specializerSpecs.map(xf),this.states=yn(e.states,Uint32Array),this.data=yn(e.stateData),this.goto=yn(e.goto),this.maxTerm=e.maxTerm,this.tokenizers=e.tokenizers.map(O=>typeof O=="number"?new jt(o,O):O),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,t,n){let r=new bO(this,e,t,n);for(let s of this.wrappers)r=s(r,e,t,n);return r}getGoto(e,t,n=!1){let r=this.goto;if(t>=r[0])return-1;for(let s=r[t+1];;){let o=r[s++],O=o&1,a=r[s++];if(O&&n)return a;for(let l=s+(o>>1);s<l;s++)if(r[s]==e)return a;if(O)return-1}}hasAction(e,t){let n=this.data;for(let r=0;r<2;r++)for(let s=this.stateSlot(e,r?2:1),o;;s+=3){if((o=n[s])==65535)if(n[s+1]==1)o=n[s=bt(n,s+2)];else{if(n[s+1]==2)return bt(n,s+2);break}if(o==t||o==0)return bt(n,s+1)}return 0}stateSlot(e,t){return this.states[e*6+t]}stateFlag(e,t){return(this.stateSlot(e,0)&t)>0}validAction(e,t){return!!this.allActions(e,n=>n==t?!0:null)}allActions(e,t){let n=this.stateSlot(e,4),r=n?t(n):void 0;for(let s=this.stateSlot(e,1);r==null;s+=3){if(this.data[s]==65535)if(this.data[s+1]==1)s=bt(this.data,s+2);else break;r=t(bt(this.data,s+1))}return r}nextStates(e){let t=[];for(let n=this.stateSlot(e,1);;n+=3){if(this.data[n]==65535)if(this.data[n+1]==1)n=bt(this.data,n+2);else break;if(!(this.data[n+2]&1)){let r=this.data[n+1];t.some((s,o)=>o&1&&s==r)||t.push(this.data[n],r)}}return t}configure(e){let t=Object.assign(Object.create(i.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let n=this.topRules[e.top];if(!n)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=n}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(n=>{let r=e.tokenizers.find(s=>s.from==n);return r?r.to:n})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((n,r)=>{let s=e.specializers.find(O=>O.from==n.external);if(!s)return n;let o=Object.assign(Object.assign({},n),{external:s.to});return t.specializers[r]=xf(o),o})),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),e.bufferLength!=null&&(t.bufferLength=e.bufferLength),t}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let t=this.dynamicPrecedences;return t==null?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),n=t.map(()=>!1);if(e)for(let s of e.split(" ")){let o=t.indexOf(s);o>=0&&(n[o]=!0)}let r=null;for(let s=0;s<t.length;s++)if(!n[s])for(let o=this.dialects[t[s]],O;(O=this.data[o++])!=65535;)(r||(r=new Uint8Array(this.maxTerm+1)))[O]=1;return new xO(e,n,r)}static deserialize(e){return new i(e)}};function bt(i,e){return i[e]|i[e+1]<<16}function F$(i){let e=null;for(let t of i){let n=t.p.stoppedAt;(t.pos==t.p.stream.end||n!=null&&t.pos>n)&&t.p.parser.stateFlag(t.state,2)&&(!e||e.score<t.score)&&(e=t)}return e}function xf(i){if(i.external){let e=i.extend?1:0;return(t,n)=>i.external(t,n)<<1|e}return i.get}var H$=99,wf=1,K$=100,J$=101,Tf=2,vf=[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],eQ=58,tQ=40,zf=95,iQ=91,Lr=45,nQ=46,rQ=35,sQ=37,oQ=38,OQ=92,aQ=10;function Pn(i){return i>=65&&i<=90||i>=97&&i<=122||i>=161}function Rf(i){return i>=48&&i<=57}var lQ=new ee((i,e)=>{for(let t=!1,n=0,r=0;;r++){let{next:s}=i;if(Pn(s)||s==Lr||s==zf||t&&Rf(s))!t&&(s!=Lr||r>0)&&(t=!0),n===r&&s==Lr&&n++,i.advance();else if(s==OQ&&i.peek(1)!=aQ)i.advance(),i.next>-1&&i.advance(),t=!0;else{t&&i.acceptToken(s==tQ?K$:n==2&&e.canShift(Tf)?Tf:J$);break}}}),hQ=new ee(i=>{if(vf.includes(i.peek(-1))){let{next:e}=i;(Pn(e)||e==zf||e==rQ||e==nQ||e==iQ||e==eQ&&Pn(i.peek(1))||e==Lr||e==oQ)&&i.acceptToken(H$)}}),cQ=new ee(i=>{if(!vf.includes(i.peek(-1))){let{next:e}=i;if(e==sQ&&(i.advance(),i.acceptToken(wf)),Pn(e)){do i.advance();while(Pn(i.next)||Rf(i.next));i.acceptToken(wf)}}}),fQ=oe({"AtKeyword import charset namespace keyframes media supports":u.definitionKeyword,"from to selector":u.keyword,NamespaceName:u.namespace,KeyframeName:u.labelName,KeyframeRangeName:u.operatorKeyword,TagName:u.tagName,ClassName:u.className,PseudoClassName:u.constant(u.className),IdName:u.labelName,"FeatureName PropertyName":u.propertyName,AttributeName:u.attributeName,NumberLiteral:u.number,KeywordQuery:u.keyword,UnaryQueryOp:u.operatorKeyword,"CallTag ValueName":u.atom,VariableName:u.variableName,Callee:u.operatorKeyword,Unit:u.unit,"UniversalSelector NestingSelector":u.definitionOperator,MatchOp:u.compareOperator,"ChildOp SiblingOp, LogicOp":u.logicOperator,BinOp:u.arithmeticOperator,Important:u.modifier,Comment:u.blockComment,ColorLiteral:u.color,"ParenthesizedContent StringLiteral":u.string,":":u.punctuation,"PseudoOp #":u.derefOperator,"; ,":u.separator,"( )":u.paren,"[ ]":u.squareBracket,"{ }":u.brace}),uQ={__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},dQ={__proto__:null,"@import":118,"@media":142,"@charset":146,"@namespace":150,"@keyframes":156,"@supports":168},pQ={__proto__:null,not:132,only:132},Wf=me.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<<HdO9sQWO,5;^OOQP1G/Y1G/YOOQS-E8V-E8VO${QdO'#EZO9{QWO,5;ZOOQT1G.u1G.uOOQP<<Hd<<HdOOQS7+$k7+$kO:TQdO7+%]OOQO7+%d7+%dOOQO,5:k,5:kO3{QdO'#EaO7rQWO,5:zOOQS,5:z,5:zOOQS-E8^-E8^OOQS1G0U1G0UO:[QtO,5:wOOQS-E8Z-E8ZOOQO<<Ho<<HoOOQPAN>OAN>OO;]QdO,5:uOOQO-E8X-E8XOOQO<<Hw<<HwOOQO,5:{,5:{OOQO-E8_-E8_OOQS1G0f1G0f",stateData:";o~O#ZOS#[QQ~OUYOXYO]VO^VOqXOxWO![aO!]ZO!i[O!k]O!m^O!p_O!v`O#XRO#bTO~OQfOUYOXYO]VO^VOqXOxWO![aO!]ZO!i[O!k]O!m^O!p_O!v`O#XeO#bTO~O#U#gP~P!ZO#[jO~O#XlO~O]qO^qOqsOtoOxrO!OtO!RvO#VuO#bnO~O!TwO~P#pO`}O#WzO#XyO~O#X!OO~O#X!QO~OQ![Ob!TOf![Oh![On!YOq!ZO#W!WO#X!SO#e!UO~Ob!^O!d!`O!g!aO#X!]O!T#hP~Oh!fOn!YO#X!eO~Oh!hO#X!hO~Ob!^O!d!`O!g!aO#X!]O~O!Y#hP~P%jO]WX]!WX^WXqWXtWXxWX!OWX!RWX!TWX#VWX#bWX~O]!mO~O!Y!nO#U#gX!S#gX~O#U#gX!S#gX~P!ZO#]!qO#^!qO#_!sO~OUYOXYO]VO^VOqXOxWO#XRO#bTO~OtoO!TwO~O`!zO#WzO#XyO~O!S#gP~P!ZOb#RO~Ob#SO~Op#TO|#UO~OP#WObgXjgX!YgX!dgX!ggX#XgXagXQgXfgXhgXngXqgXtgX!XgX#UgX#WgX#egXpgX!SgX~Ob!^Oj#XO!d!`O!g!aO#X!]O!Y#hP~Ob#[O~Op#`O#X#]O~Ob!^O!d!`O!g!aO#X#aO~Ot#eO!b#dO!T#hX!Y#hX~Ob#hO~Oj#XO!Y#jO~O!Y#kO~Oh#lOn!YO~O!T#mO~O!TwO!b#dO~O!TwO!Y#pO~O!X#rO!Y!Va#U!Va!S!Va~P${O!Y#QX#U#QX!S#QX~P!ZO!Y!nO#U#ga!S#ga~O#]!qO#^!qO#_#xO~O]qO^qOqsOxrO!OtO!RvO#VuO#bnO~Ot#Oa!T#Oaa#Oa~P.pOp#zO|#{O~O]qO^qOqsOxrO#bnO~Ot}i!O}i!R}i!T}i#V}ia}i~P/qOt!Pi!O!Pi!R!Pi!T!Pi#V!Pia!Pi~P/qOt!Qi!O!Qi!R!Qi!T!Qi#V!Qia!Qi~P/qO!S#|O~Oa#fP~P(aOa#cP~P${Oa$TOj#XO~O!Y$VO~Oa$WOh$XOo$XO~Op$ZO#X#]O~O]!`Xa!^X!b!^X~O]$[O~Oa$]O!b#dO~Ot#eO!T#ha!Y#ha~O!b#dOt!ca!T!ca!Y!caa!ca~O!Y$bO~O!S$iO#X$dO#e$cO~Oj#XOt$kO!X$mO!Y!Vi#U!Vi!S!Vi~P${O!Y#Qa#U#Qa!S#Qa~P!ZO!Y!nO#U#gi!S#gi~Oa#fX~P#pOa$qO~Oj#XOQ!{Xa!{Xb!{Xf!{Xh!{Xn!{Xq!{Xt!{X#W!{X#X!{X#e!{X~Ot$sOa#cX~P${Oa$uO~Oj#XOp$vO~Oa$wO~O!b#dOt#Ra!T#Ra!Y#Ra~Oa$yO~P.pOP#WOtgX!TgX~O#e$cOt!sX!T!sX~Ot${O!TwO~O!S%PO#X$dO#e$cO~Oj#XOQ#PXb#PXf#PXh#PXn#PXq#PXt#PX!X#PX!Y#PX#U#PX#W#PX#X#PX#e#PX!S#PX~Ot$kO!X%SO!Y!Vq#U!Vq!S!Vq~P${Oj#XOp%TO~OtoOa#fa~Ot$sOa#ca~Oa%WO~P${Oj#XOQ#Pab#Paf#Pah#Pan#Paq#Pat#Pa!X#Pa!Y#Pa#U#Pa#W#Pa#X#Pa#e#Pa!S#Pa~Oa!}at!}a~P${O#Zo#[#ej!R#e~",goto:"-g#jPPP#kP#nP#w$WP#w$g#wPP$mPPP$s$|$|P%`P$|P$|%z&^PPPP$|&vP&z'Q#wP'W#w'^P#wP#w#wPPP'd'y(WPP#nPP(_(_(i(_P(_P(_(_P#nP#nP#nP(l#nP(o(r(u(|#nP#nP)R)X)h)v)|*S*^*d*n*t*zPPPPPPPPPP+Q+ZP+v+yP,o,r,x-RRkQ_bOPdhw!n#tkYOPdhotuvw!n#R#h#tkSOPdhotuvw!n#R#h#tQmTR!tnQ{VR!xqQ!x}Q#Z!XR#y!zq![Z]!T!m#S#U#X#q#{$Q$[$k$l$s$x%Up![Z]!T!m#S#U#X#q#{$Q$[$k$l$s$x%UU$f#m$h${R$z$eq!XZ]!T!m#S#U#X#q#{$Q$[$k$l$s$x%Up![Z]!T!m#S#U#X#q#{$Q$[$k$l$s$x%UQ!f^R#l!gT#^!Z#_Q|VR!yqQ!x|R#y!yQ!PWR!{rQ!RXR!|sQxUQ!wpQ#i!cQ#o!jQ#p!kQ$}$gR%Z$|SgPwQ!phQ#s!nR$n#tZfPhw!n#ta!b[`a!V!^!`#d#eR#b!^R!g^R!i_R#n!iS$g#m$hR%X${V$e#m$h${Q!rjR#w!rQdOShPwU!ldh#tR#t!nQ$Q#SU$r$Q$x%UQ$x$[R%U$sQ#_!ZR$Y#_Q$t$QR%V$tQpUS!vp$pR$p#}Q$l#qR%R$lQ!ogS#u!o#vR#v!pQ#f!_R$`#fQ$h#mR%O$hQ$|$gR%Y$|_cOPdhw!n#t^UOPdhw!n#tQ!uoQ!}tQ#OuQ#PvQ#}#RR$a#hR$R#SQ!VZQ!d]Q#V!TQ#q!m[$P#S$Q$[$s$x%UQ$S#UQ$U#XS$j#q$lQ$o#{R%Q$kR$O#RQiPR#QwQ!c[Q!kaR#Y!VU!_[a!VQ!j`Q#c!^Q#g!`Q$^#dR$_#e",nodeNames:"\u26A0 Unit VariableName Comment StyleSheet RuleSet UniversalSelector TagSelector TagName NestingSelector ClassSelector ClassName PseudoClassSelector : :: PseudoClassName PseudoClassName ) ( ArgList ValueName ParenthesizedValue ColorLiteral NumberLiteral StringLiteral BinaryExpression BinOp CallExpression Callee CallLiteral CallTag ParenthesizedContent ] [ LineNames LineName , PseudoClassName ArgList IdSelector # IdName AttributeSelector AttributeName MatchOp ChildSelector ChildOp DescendantSelector SiblingSelector SiblingOp } { Block Declaration PropertyName Important ; ImportStatement AtKeyword import KeywordQuery FeatureQuery FeatureName BinaryQuery LogicOp UnaryQuery UnaryQueryOp ParenthesizedQuery SelectorQuery selector MediaStatement media CharsetStatement charset NamespaceStatement namespace NamespaceName KeyframesStatement keyframes KeyframeName KeyframeList KeyframeSelector KeyframeRangeName SupportsStatement supports AtRule Styles",maxTerm:117,nodeProps:[["isolate",-2,3,24,""],["openedBy",17,"(",32,"[",50,"{"],["closedBy",18,")",33,"]",51,"}"]],propSources:[fQ],skippedNodes:[0,3,87],repeatNodeCount:11,tokenData:"J^~R!^OX$}X^%u^p$}pq%uqr)Xrs.Rst/utu6duv$}vw7^wx7oxy9^yz9oz{9t{|:_|}?Q}!O?c!O!P@Q!P!Q@i!Q![Ab![!]B]!]!^CX!^!_$}!_!`Cj!`!aC{!a!b$}!b!cDw!c!}$}!}#OFa#O#P$}#P#QFr#Q#R6d#R#T$}#T#UGT#U#c$}#c#dHf#d#o$}#o#pH{#p#q6d#q#rI^#r#sIo#s#y$}#y#z%u#z$f$}$f$g%u$g#BY$}#BY#BZ%u#BZ$IS$}$IS$I_%u$I_$I|$}$I|$JO%u$JO$JT$}$JT$JU%u$JU$KV$}$KV$KW%u$KW&FU$}&FU&FV%u&FV;'S$};'S;=`JW<%lO$}`%QSOy%^z;'S%^;'S;=`%o<%lO%^`%cSo`Oy%^z;'S%^;'S;=`%o<%lO%^`%rP;=`<%l%^~%zh#Z~OX%^X^'f^p%^pq'fqy%^z#y%^#y#z'f#z$f%^$f$g'f$g#BY%^#BY#BZ'f#BZ$IS%^$IS$I_'f$I_$I|%^$I|$JO'f$JO$JT%^$JT$JU'f$JU$KV%^$KV$KW'f$KW&FU%^&FU&FV'f&FV;'S%^;'S;=`%o<%lO%^~'mh#Z~o`OX%^X^'f^p%^pq'fqy%^z#y%^#y#z'f#z$f%^$f$g'f$g#BY%^#BY#BZ'f#BZ$IS%^$IS$I_'f$I_$I|%^$I|$JO'f$JO$JT%^$JT$JU'f$JU$KV%^$KV$KW'f$KW&FU%^&FU&FV'f&FV;'S%^;'S;=`%o<%lO%^l)[UOy%^z#]%^#]#^)n#^;'S%^;'S;=`%o<%lO%^l)sUo`Oy%^z#a%^#a#b*V#b;'S%^;'S;=`%o<%lO%^l*[Uo`Oy%^z#d%^#d#e*n#e;'S%^;'S;=`%o<%lO%^l*sUo`Oy%^z#c%^#c#d+V#d;'S%^;'S;=`%o<%lO%^l+[Uo`Oy%^z#f%^#f#g+n#g;'S%^;'S;=`%o<%lO%^l+sUo`Oy%^z#h%^#h#i,V#i;'S%^;'S;=`%o<%lO%^l,[Uo`Oy%^z#T%^#T#U,n#U;'S%^;'S;=`%o<%lO%^l,sUo`Oy%^z#b%^#b#c-V#c;'S%^;'S;=`%o<%lO%^l-[Uo`Oy%^z#h%^#h#i-n#i;'S%^;'S;=`%o<%lO%^l-uS!X[o`Oy%^z;'S%^;'S;=`%o<%lO%^~.UWOY.RZr.Rrs.ns#O.R#O#P.s#P;'S.R;'S;=`/o<%lO.R~.sOh~~.vRO;'S.R;'S;=`/P;=`O.R~/SXOY.RZr.Rrs.ns#O.R#O#P.s#P;'S.R;'S;=`/o;=`<%l.R<%lO.R~/rP;=`<%l.Rn/zYxQOy%^z!Q%^!Q![0j![!c%^!c!i0j!i#T%^#T#Z0j#Z;'S%^;'S;=`%o<%lO%^l0oYo`Oy%^z!Q%^!Q![1_![!c%^!c!i1_!i#T%^#T#Z1_#Z;'S%^;'S;=`%o<%lO%^l1dYo`Oy%^z!Q%^!Q![2S![!c%^!c!i2S!i#T%^#T#Z2S#Z;'S%^;'S;=`%o<%lO%^l2ZYf[o`Oy%^z!Q%^!Q![2y![!c%^!c!i2y!i#T%^#T#Z2y#Z;'S%^;'S;=`%o<%lO%^l3QYf[o`Oy%^z!Q%^!Q![3p![!c%^!c!i3p!i#T%^#T#Z3p#Z;'S%^;'S;=`%o<%lO%^l3uYo`Oy%^z!Q%^!Q![4e![!c%^!c!i4e!i#T%^#T#Z4e#Z;'S%^;'S;=`%o<%lO%^l4lYf[o`Oy%^z!Q%^!Q![5[![!c%^!c!i5[!i#T%^#T#Z5[#Z;'S%^;'S;=`%o<%lO%^l5aYo`Oy%^z!Q%^!Q![6P![!c%^!c!i6P!i#T%^#T#Z6P#Z;'S%^;'S;=`%o<%lO%^l6WSf[o`Oy%^z;'S%^;'S;=`%o<%lO%^d6gUOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^d7QS|So`Oy%^z;'S%^;'S;=`%o<%lO%^b7cSXQOy%^z;'S%^;'S;=`%o<%lO%^~7rWOY7oZw7owx.nx#O7o#O#P8[#P;'S7o;'S;=`9W<%lO7o~8_RO;'S7o;'S;=`8h;=`O7o~8kXOY7oZw7owx.nx#O7o#O#P8[#P;'S7o;'S;=`9W;=`<%l7o<%lO7o~9ZP;=`<%l7on9cSb^Oy%^z;'S%^;'S;=`%o<%lO%^~9tOa~n9{UUQjWOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^n:fWjW!RQOy%^z!O%^!O!P;O!P!Q%^!Q![>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<cYo`Oy%^z{%^{|=R|}%^}!O=R!O!Q%^!Q![=j![;'S%^;'S;=`%o<%lO%^l=WUo`Oy%^z!Q%^!Q![=j![;'S%^;'S;=`%o<%lO%^l=qUo`#e[Oy%^z!Q%^!Q![=j![;'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:[hQ,cQ,lQ,1,2,3,4,new Et("m~RRYZ[z{a~~g~aO#^~~dP!P!Qg~lO#_~~",28,105)],topRules:{StyleSheet:[0,4],Styles:[1,86]},specialized:[{term:100,get:i=>uQ[i]||-1},{term:58,get:i=>dQ[i]||-1},{term:101,get:i=>pQ[i]||-1}],tokenPrec:1219});var kO=null;function wO(){if(!kO&&typeof document=="object"&&document.body){let{style:i}=document.body,e=[],t=new Set;for(let n in i)n!="cssText"&&n!="cssFloat"&&typeof i[n]=="string"&&(/[A-Z]/.test(n)&&(n=n.replace(/[A-Z]/g,r=>"-"+r.toLowerCase())),t.has(n)||(e.push(n),t.add(n)));kO=e.sort().map(n=>({type:"property",label:n,apply:n+": "}))}return kO||[]}var Xf=["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(i=>({type:"class",label:i})),Zf=["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(i=>({type:"keyword",label:i})).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(i=>({type:"constant",label:i}))),mQ=["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(i=>({type:"type",label:i})),gQ=["@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(i=>({type:"keyword",label:i})),xt=/^(\w[\w-]*|-\w[\w-]*|)$/,$Q=/^-(-[\w-]*)?$/;function QQ(i,e){var t;if((i.name=="("||i.type.isError)&&(i=i.parent||i),i.name!="ArgList")return!1;let n=(t=i.parent)===null||t===void 0?void 0:t.firstChild;return n?.name!="Callee"?!1:e.sliceString(n.from,n.to)=="var"}var qf=new xi,SQ=["Declaration"];function yQ(i){for(let e=i;;){if(e.type.isTop)return e;if(!(e=e.parent))return i}}function Vf(i,e,t){if(e.to-e.from>4096){let n=qf.get(e);if(n)return n;let r=[],s=new Set,o=e.cursor(G.IncludeAnonymous);if(o.firstChild())do for(let O of Vf(i,o.node,t))s.has(O.label)||(s.add(O.label),r.push(O));while(o.nextSibling());return qf.set(e,r),r}else{let n=[],r=new Set;return e.cursor().iterate(s=>{var o;if(t(s)&&s.matchContext(SQ)&&((o=s.node.nextSibling)===null||o===void 0?void 0:o.name)==":"){let O=i.sliceString(s.from,s.to);r.has(O)||(r.add(O),n.push({label:O,type:"variable"}))}}),n}}var PQ=i=>e=>{let{state:t,pos:n}=e,r=L(t).resolveInner(n,-1),s=r.type.isError&&r.from==r.to-1&&t.doc.sliceString(r.from,r.to)=="-";if(r.name=="PropertyName"||(s||r.name=="TagName")&&/^(Block|Styles)$/.test(r.resolve(r.to).name))return{from:r.from,options:wO(),validFor:xt};if(r.name=="ValueName")return{from:r.from,options:Zf,validFor:xt};if(r.name=="PseudoClassName")return{from:r.from,options:Xf,validFor:xt};if(i(r)||(e.explicit||s)&&QQ(r,t.doc))return{from:i(r)||s?r.from:n,options:Vf(t.doc,yQ(r),i),validFor:$Q};if(r.name=="TagName"){for(let{parent:a}=r;a;a=a.parent)if(a.name=="Block")return{from:r.from,options:wO(),validFor:xt};return{from:r.from,options:mQ,validFor:xt}}if(r.name=="AtKeyword")return{from:r.from,options:gQ,validFor:xt};if(!e.explicit)return null;let o=r.resolve(n),O=o.childBefore(n);return O&&O.name==":"&&o.name=="PseudoClassSelector"?{from:n,options:Xf,validFor:xt}:O&&O.name==":"&&o.name=="Declaration"||o.name=="ArgList"?{from:n,options:Zf,validFor:xt}:o.name=="Block"||o.name=="Styles"?{from:n,options:wO(),validFor:xt}:null},bQ=PQ(i=>i.name=="VariableName"),bn=ue.define({name:"css",parser:Wf.configure({props:[de.add({Declaration:Ve()}),ye.add({"Block KeyframeList":At})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function Dr(){return new Oe(bn,bn.data.of({autocomplete:bQ}))}var xQ=oe({String:u.string,Number:u.number,"True False":u.bool,PropertyName:u.propertyName,Null:u.null,",":u.separator,"[ ]":u.squareBracket,"{ }":u.brace}),Cf=me.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:"\u26A0 JsonText True False Null Number String } { Object Property PropertyName ] [ Array",maxTerm:25,nodeProps:[["isolate",-2,6,11,""],["openedBy",7,"{",12,"["],["closedBy",8,"}",13,"]"]],propSources:[xQ],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});var kQ=ue.define({name:"json",parser:Cf.configure({props:[de.add({Object:Ve({except:/^\s*\}/}),Array:Ve({except:/^\s*\]/})}),ye.add({"Object Array":At})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function Yf(){return new Oe(kQ)}var wQ=312,Uf=1,TQ=2,vQ=3,zQ=4,RQ=313,WQ=315,XQ=316,ZQ=5,qQ=6,VQ=0,vO=[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],Af=125,CQ=59,zO=47,YQ=42,UQ=43,AQ=45,_Q=60,jQ=44,EQ=63,MQ=46,GQ=new Mt({start:!1,shift(i,e){return e==ZQ||e==qQ||e==WQ?i:e==XQ},strict:!1}),LQ=new ee((i,e)=>{let{next:t}=i;(t==Af||t==-1||e.context)&&i.acceptToken(RQ)},{contextual:!0,fallback:!0}),DQ=new ee((i,e)=>{let{next:t}=i,n;vO.indexOf(t)>-1||t==zO&&((n=i.peek(1))==zO||n==YQ)||t!=Af&&t!=CQ&&t!=-1&&!e.context&&i.acceptToken(wQ)},{contextual:!0}),IQ=new ee((i,e)=>{let{next:t}=i;if(t==UQ||t==AQ){if(i.advance(),t==i.next){i.advance();let n=!e.context&&e.canShift(Uf);i.acceptToken(n?Uf:TQ)}}else t==EQ&&i.peek(1)==MQ&&(i.advance(),i.advance(),(i.next<48||i.next>57)&&i.acceptToken(vQ))},{contextual:!0});function TO(i,e){return i>=65&&i<=90||i>=97&&i<=122||i==95||i>=192||!e&&i>=48&&i<=57}var BQ=new ee((i,e)=>{if(i.next!=_Q||!e.dialectEnabled(VQ)||(i.advance(),i.next==zO))return;let t=0;for(;vO.indexOf(i.next)>-1;)i.advance(),t++;if(TO(i.next,!0)){for(i.advance(),t++;TO(i.next,!1);)i.advance(),t++;for(;vO.indexOf(i.next)>-1;)i.advance(),t++;if(i.next==jQ)return;for(let n=0;;n++){if(n==7){if(!TO(i.next,!0))return;break}if(i.next!="extends".charCodeAt(n))break;i.advance(),t++}}i.acceptToken(zQ,-t)}),NQ=oe({"get set async static":u.modifier,"for while do if else switch try catch finally return throw break continue default case":u.controlKeyword,"in of await yield void typeof delete instanceof":u.operatorKeyword,"let var const using function class extends":u.definitionKeyword,"import export from":u.moduleKeyword,"with debugger as new":u.keyword,TemplateString:u.special(u.string),super:u.atom,BooleanLiteral:u.bool,this:u.self,null:u.null,Star:u.modifier,VariableName:u.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":u.function(u.variableName),VariableDefinition:u.definition(u.variableName),Label:u.labelName,PropertyName:u.propertyName,PrivatePropertyName:u.special(u.propertyName),"CallExpression/MemberExpression/PropertyName":u.function(u.propertyName),"FunctionDeclaration/VariableDefinition":u.function(u.definition(u.variableName)),"ClassDeclaration/VariableDefinition":u.definition(u.className),PropertyDefinition:u.definition(u.propertyName),PrivatePropertyDefinition:u.definition(u.special(u.propertyName)),UpdateOp:u.updateOperator,"LineComment Hashbang":u.lineComment,BlockComment:u.blockComment,Number:u.number,String:u.string,Escape:u.escape,ArithOp:u.arithmeticOperator,LogicOp:u.logicOperator,BitOp:u.bitwiseOperator,CompareOp:u.compareOperator,RegExp:u.regexp,Equals:u.definitionOperator,Arrow:u.function(u.punctuation),": Spread":u.punctuation,"( )":u.paren,"[ ]":u.squareBracket,"{ }":u.brace,"InterpolationStart InterpolationEnd":u.special(u.brace),".":u.derefOperator,", ;":u.separator,"@":u.meta,TypeName:u.typeName,TypeDefinition:u.definition(u.typeName),"type enum interface implements namespace module declare":u.definitionKeyword,"abstract global Privacy readonly override":u.modifier,"is keyof unique infer":u.operatorKeyword,JSXAttributeValue:u.attributeValue,JSXText:u.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":u.angleBracket,"JSXIdentifier JSXNameSpacedName":u.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":u.attributeName,"JSXBuiltin/JSXIdentifier":u.standard(u.tagName)}),FQ={__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},HQ={__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},KQ={__proto__:null,"<":187},_f=me.deserialize({version:14,states:"$BUQ%TQ^OOO%[Q^OOO'_Q`OOP(lOWOOO*zQ?NdO'#CiO+RO!bO'#CjO+aO#tO'#CjO+oO!0LbO'#D^O.QQ^O'#DdO.bQ^O'#DoO%[Q^O'#DwO0fQ^O'#EPOOQ?Mr'#EX'#EXO1PQWO'#EUOOQO'#Em'#EmOOQO'#Ih'#IhO1XQWO'#GpO1dQWO'#ElO1iQWO'#ElO3hQ?NdO'#JmO6[Q?NdO'#JnO6uQWO'#F[O6zQ&jO'#FsOOQ?Mr'#Fe'#FeO7VO,YO'#FeO7eQ7[O'#FzO9RQWO'#FyOOQ?Mr'#Jn'#JnOOQ?Mp'#Jm'#JmO9WQWO'#GtOOQU'#KZ'#KZO9cQWO'#IUO9hQ?MxO'#IVOOQU'#JZ'#JZOOQU'#IZ'#IZQ`Q^OOQ`Q^OOO9pQMnO'#DsO9wQ^O'#D{O:OQ^O'#D}O9^QWO'#GpO:VQ7[O'#CoO:eQWO'#EkO:pQWO'#EvO:uQ7[O'#FdO;dQWO'#GpOOQO'#K['#K[O;iQWO'#K[O;wQWO'#GxO;wQWO'#GyO;wQWO'#G{O9^QWO'#HOO<nQWO'#HRO>VQWO'#CeO>gQWO'#H_O>oQWO'#HeO>oQWO'#HgO`Q^O'#HiO>oQWO'#HkO>oQWO'#HnO>tQWO'#HtO>yQ?MyO'#HzO%[Q^O'#H|O?UQ?MyO'#IOO?aQ?MyO'#IQO9hQ?MxO'#ISO?lQ?NdO'#CiO@nQ`O'#DiQOQWOOO%[Q^O'#D}OAUQWO'#EQO:VQ7[O'#EkOAaQWO'#EkOAlQpO'#FdOOQU'#Cg'#CgOOQ?Mp'#Dn'#DnOOQ?Mp'#Jq'#JqO%[Q^O'#JqOOQO'#Jt'#JtOOQO'#Id'#IdOBlQ`O'#EdOOQ?Mp'#Ec'#EcOOQ?Mp'#Jx'#JxOChQ?NQO'#EdOCrQ`O'#ETOOQO'#Js'#JsODWQ`O'#JtOEeQ`O'#ETOCrQ`O'#EdPErO#@ItO'#CbPOOO)CDx)CDxOOOO'#I['#I[OE}O!bO,59UOOQ?Mr,59U,59UOOOO'#I]'#I]OF]O#tO,59UOFkQMnO'#D`OOOO'#I_'#I_OFrO!0LbO,59xOOQ?Mr,59x,59xOGQQ^O'#I`OGeQWO'#JoOIdQrO'#JoO+}Q^O'#JoOIkQWO,5:OOJRQWO'#EmOJ`QWO'#KOOJkQWO'#J}OJkQWO'#J}OJsQWO,5;ZOJxQWO'#J|OOQ?Mv,5:Z,5:ZOKPQ^O,5:ZOL}Q?NdO,5:cOMnQWO,5:kONXQ?MxO'#J{ON`QWO'#JzO9WQWO'#JzONtQWO'#JzON|QWO,5;YO! RQWO'#JzO!#WQrO'#JnOOQ?Mr'#Ci'#CiO%[Q^O'#EPO!#vQrO,5:pOOQQ'#Ju'#JuOOQO-E<f-E<fO9^QWO,5=[O!$^QWO,5=[O!$cQ^O,5;WO!&fQ7[O'#EhO!(PQWO,5;WO!(UQ^O'#DvO!(`Q`O,5;aO!(hQ`O,5;aO%[Q^O,5;aOOQU'#FS'#FSOOQU'#FU'#FUO%[Q^O,5;bO%[Q^O,5;bO%[Q^O,5;bO%[Q^O,5;bO%[Q^O,5;bO%[Q^O,5;bO%[Q^O,5;bO%[Q^O,5;bO%[Q^O,5;bO%[Q^O,5;bOOQU'#FY'#FYO!(vQ^O,5;sOOQ?Mr,5;x,5;xOOQ?Mr,5;y,5;yOOQ?Mr,5;{,5;{O%[Q^O'#IlO!*yQ?MxO,5<gO%[Q^O,5;bO!&fQ7[O,5;bO!+hQ7[O,5;bO!-YQ7[O'#EZO%[Q^O,5;vOOQ?Mr,5;z,5;zO!-aQ&jO'#FiO!.^Q&jO'#KSO!-xQ&jO'#KSO!.eQ&jO'#KSOOQO'#KS'#KSO!.yQ&jO,5<ROOOS,5<_,5<_O!/[Q^O'#FuOOOS'#Ik'#IkO7VO,YO,5<PO!/cQ&jO'#FwOOQ?Mr,5<P,5<PO!0SQ!LQO'#CvOOQ?Mr'#Cz'#CzO!0gO!0LbO'#DOO!1TQ7[O,5<dO!1[QWO,5<fO!2wQ$ISO'#GVO!3UQWO'#GWO!3ZQWO'#GWO!4yQ$ISO'#G[O!5uQ`O'#G`OOQO'#Gk'#GkO!+oQ7[O'#GjOOQO'#Gm'#GmO!+oQ7[O'#GlO!6hQ!LQO'#JgOOQ?Mr'#Jg'#JgO!6rQWO'#JfO!7QQWO'#JeO!7YQWO'#CuOOQ?Mr'#Cx'#CxO!7bQWO'#CzOOQ?Mr'#DS'#DSOOQ?Mr'#DU'#DUO1SQWO'#DWO!+oQ7[O'#F}O!+oQ7[O'#GPO!7gQWO'#GRO!7lQWO'#GSO!3ZQWO'#GYO!+oQ7[O'#G_O!7qQWO'#EnO!8`QWO,5<eOOQ?Mp'#Cr'#CrO!8hQWO'#EoO!9bQ`O'#EpOOQ?Mp'#J|'#J|O!9iQ?MxO'#K]O9hQ?MxO,5=`O`Q^O,5>pOOQU'#Jc'#JcOOQU,5>q,5>qOOQU-E<X-E<XO!;hQ?NdO,5:_O!9]Q`O,5:]O!>RQ?NdO,5:gO%[Q^O,5:gO!@iQ?NdO,5:iOOQO,5@v,5@vO!AYQ7[O,5=[O!AhQ?MxO'#JdO9RQWO'#JdO!AyQ?MxO,59ZO!BUQ`O,59ZO!B^Q7[O,59ZO:VQ7[O,59ZO!BiQWO,5;WO!BqQWO'#H^O!CVQWO'#K`O%[Q^O,5;|O!9]Q`O,5<OO!C_QWO,5=wO!CdQWO,5=wO!CiQWO,5=wO9hQ?MxO,5=wO;wQWO,5=gOOQO'#Cv'#CvO!CwQ`O,5=dO!DPQ7[O,5=eO!D[QWO,5=gO!DaQpO,5=jO!DiQWO'#K[O>tQWO'#HTO9^QWO'#HVO!DnQWO'#HVO:VQ7[O'#HXO!DsQWO'#HXOOQU,5=m,5=mO!DxQWO'#HYO!EZQWO'#CoO!E`QWO,59PO!EjQWO,59PO!GoQ^O,59POOQU,59P,59PO!HPQ?MxO,59PO%[Q^O,59PO!J[Q^O'#HaOOQU'#Hb'#HbOOQU'#Hc'#HcO`Q^O,5=yO!JrQWO,5=yO`Q^O,5>PO`Q^O,5>RO!JwQWO,5>TO`Q^O,5>VO!J|QWO,5>YO!KRQ^O,5>`OOQU,5>f,5>fO%[Q^O,5>fO9hQ?MxO,5>hOOQU,5>j,5>jO# ]QWO,5>jOOQU,5>l,5>lO# ]QWO,5>lOOQU,5>n,5>nO# yQ`O'#D[O%[Q^O'#JqO#!TQ`O'#JqO#!rQ`O'#DjO##TQ`O'#DjO#%fQ^O'#DjO#%mQWO'#JpO#%uQWO,5:TO#%zQWO'#EqO#&YQWO'#KPO#&bQWO,5;[O#&gQ`O'#DjO#&tQ`O'#ESOOQ?Mr,5:l,5:lO%[Q^O,5:lO#&{QWO,5:lO>tQWO,5;VO!BUQ`O,5;VO!B^Q7[O,5;VO:VQ7[O,5;VO#'TQWO,5@]O#'YQ(CYO,5:pOOQO-E<b-E<bO#(`Q?NQO,5;OOCrQ`O,5:oO#(jQ`O,5:oOCrQ`O,5;OO!AyQ?MxO,5:oOOQ?Mp'#Eg'#EgOOQO,5;O,5;OO%[Q^O,5;OO#(wQ?MxO,5;OO#)SQ?MxO,5;OO!BUQ`O,5:oOOQO,5;U,5;UO#)bQ?MxO,5;OPOOO'#IY'#IYP#)vO#@ItO,58|POOO,58|,58|OOOO-E<Y-E<YOOQ?Mr1G.p1G.pOOOO-E<Z-E<ZOOOO,59z,59zO#*RQpO,59zOOOO-E<]-E<]OOQ?Mr1G/d1G/dO#*WQrO,5>zO+}Q^O,5>zOOQO,5?Q,5?QO#*bQ^O'#I`OOQO-E<^-E<^O#*oQWO,5@ZO#*wQrO,5@ZO#+OQWO,5@iOOQ?Mr1G/j1G/jO%[Q^O,5@jO#+WQWO'#IfOOQO-E<d-E<dO#+OQWO,5@iOOQ?Mp1G0u1G0uOOQ?Mv1G/u1G/uOOQ?Mv1G0V1G0VO%[Q^O,5@gO#+lQ?MxO,5@gO#+}Q?MxO,5@gO#,UQWO,5@fO9WQWO,5@fO#,^QWO,5@fO#,lQWO'#IiO#,UQWO,5@fOOQ?Mp1G0t1G0tO!(`Q`O,5:rO!(kQ`O,5:rOOQQ,5:t,5:tO#-^QYO,5:tO#-fQ7[O1G2vO9^QWO1G2vOOQ?Mr1G0r1G0rO#-tQ?NdO1G0rO#.yQ?NbO,5;SOOQ?Mr'#GU'#GUO#/gQ?NdO'#JgO!$cQ^O1G0rO#1oQrO'#JrO%[Q^O'#JrO#1yQWO,5:bOOQ?Mr'#D['#D[OOQ?Mr1G0{1G0{O%[Q^O1G0{OOQ?Mr1G1e1G1eO#2OQWO1G0{O#4dQ?NdO1G0|O#4kQ?NdO1G0|O#7RQ?NdO1G0|O#7YQ?NdO1G0|O#9pQ?NdO1G0|O#<WQ?NdO1G0|O#<_Q?NdO1G0|O#<fQ?NdO1G0|O#>|Q?NdO1G0|O#?TQ?NdO1G0|O#AbQ07bO'#CiO#C]Q07bO1G1_O#CdQ07bO'#JnO#CwQ?NdO,5?WOOQ?Mp-E<j-E<jO#FUQ?NdO1G0|O#GRQ?NdO1G0|OOQ?Mr1G0|1G0|O#HRQ7[O'#JwO#H]QWO,5:uO#HbQ?NdO1G1bO#IUQ&jO,5<VO#I^Q&jO,5<WO#IfQ&jO'#FnO#I}QWO'#FmOOQO'#KT'#KTOOQO'#Ij'#IjO#JSQ&jO1G1mOOQ?Mr1G1m1G1mOOOS1G1x1G1xO#JeQ07bO'#JmO#JoQWO,5<aO!(vQ^O,5<aOOOS-E<i-E<iOOQ?Mr1G1k1G1kO#JtQ`O'#KSOOQ?Mr,5<c,5<cO#J|Q`O,5<cO#KRQ7[O'#DQOOOO'#I^'#I^O#KYO!0LbO,59jOOQ?Mr,59j,59jO%[Q^O1G2OO!7lQWO'#InO#KeQ7[O,5<xOOQ?Mr,5<u,5<uO!+oQ7[O'#IqO#LTQ7[O,5=UO!+oQ7[O'#IsO#LvQ7[O,5=WO!&fQ7[O,5=YOOQO1G2Q1G2QO#MQQpO'#CrO#MeQ$ISO'#EoO#NdQ`O'#G`O$ QQpO,5<qO$ XQWO'#KWO9WQWO'#KWO$ gQWO,5<sO!+oQ7[O,5<rO$ lQWO'#GXO$ }QWO,5<rO$!SQpO'#GUO$!aQpO'#KXO$!kQWO'#KXO!&fQ7[O'#KXO$!pQWO,5<vO$!uQ`O'#GaO!5pQ`O'#GaO$#WQWO'#GcO$#]QWO'#GeO!3ZQWO'#GhO$#bQ?MxO'#IpO$#mQ`O,5<zOOQ?Mv,5<z,5<zO$#tQ`O'#GaO$$SQ`O'#GbO$$[Q`O'#GbO$$aQ7[O,5=UO$$qQ7[O,5=WOOQ?Mr,5=Z,5=ZO!+oQ7[O,5@QO!+oQ7[O,5@QO$%RQWO'#IuO$%^QWO,5@PO$%fQWO,59aOOQ?Mr,59f,59fO$&YQ!LSO,59rOOQ?Mr'#Jk'#JkO$&{Q7[O,5<iO$'nQ7[O,5<kO@fQWO,5<mOOQ?Mr,5<n,5<nO$'xQWO,5<tO$'}Q7[O,5<yO$(_QWO'#JzO!$cQ^O1G2PO$(dQWO1G2PO9WQWO'#J}O9WQWO'#EqO%[Q^O'#EqO9WQWO'#IwO$(iQ?MxO,5@wOOQU1G2z1G2zOOQU1G4[1G4[OOQ?Mr1G/y1G/yOOQ?Mr1G/w1G/wO$*kQ?NdO1G0ROOQU1G2v1G2vO!&fQ7[O1G2vO%[Q^O1G2vO#-iQWO1G2vO$,oQ7[O'#EhOOQ?Mp,5@O,5@OO$,yQ?MxO,5@OOOQU1G.u1G.uO!AyQ?MxO1G.uO!BUQ`O1G.uO!B^Q7[O1G.uO$-[QWO1G0rO$-aQWO'#CiO$-lQWO'#KaO$-tQWO,5=xO$-yQWO'#KaO$.OQWO'#KaO$.^QWO'#I}O$.lQWO,5@zO$.tQrO1G1hOOQ?Mr1G1j1G1jO9^QWO1G3cO@fQWO1G3cO$.{QWO1G3cO$/QQWO1G3cOOQU1G3c1G3cO!D[QWO1G3RO!&fQ7[O1G3OO$/VQWO1G3OOOQU1G3P1G3PO!&fQ7[O1G3PO$/[QWO1G3PO$/dQ`O'#G}OOQU1G3R1G3RO!5pQ`O'#IyO!DaQpO1G3UOOQU1G3U1G3UOOQU,5=o,5=oO$/lQ7[O,5=qO9^QWO,5=qO$#]QWO,5=sO9RQWO,5=sO!BUQ`O,5=sO!B^Q7[O,5=sO:VQ7[O,5=sO$/zQWO'#K_O$0VQWO,5=tOOQU1G.k1G.kO$0[Q?MxO1G.kO@fQWO1G.kO$0gQWO1G.kO9hQ?MxO1G.kO$2oQrO,5@|O$2|QWO,5@|O9WQWO,5@|O$3XQ^O,5={O$3`QWO,5={OOQU1G3e1G3eO`Q^O1G3eOOQU1G3k1G3kOOQU1G3m1G3mO>oQWO1G3oO$3eQ^O1G3qO$7iQ^O'#HpOOQU1G3t1G3tO$7vQWO'#HvO>tQWO'#HxOOQU1G3z1G3zO$8OQ^O1G3zO9hQ?MxO1G4QOOQU1G4S1G4SOOQ?Mp'#G]'#G]O9hQ?MxO1G4UO9hQ?MxO1G4WO$<VQWO,5@]O!(vQ^O,5;]O9WQWO,5;]O>tQWO,5:UO!(vQ^O,5:UO!BUQ`O,5:UO$<[Q07bO,5:UOOQO,5;],5;]O$<fQ`O'#IaO$<|QWO,5@[OOQ?Mr1G/o1G/oO$=UQ`O'#IgO$=`QWO,5@kOOQ?Mp1G0v1G0vO##TQ`O,5:UOOQO'#Ic'#IcO$=hQ`O,5:nOOQ?Mv,5:n,5:nO#'OQWO1G0WOOQ?Mr1G0W1G0WO%[Q^O1G0WOOQ?Mr1G0q1G0qO>tQWO1G0qO!BUQ`O1G0qO!B^Q7[O1G0qOOQ?Mp1G5w1G5wO!AyQ?MxO1G0ZOOQO1G0j1G0jO%[Q^O1G0jO$=oQ?MxO1G0jO$=zQ?MxO1G0jO!BUQ`O1G0ZOCrQ`O1G0ZO$>YQ?MxO1G0jOOQO1G0Z1G0ZO$>nQ?NdO1G0jPOOO-E<W-E<WPOOO1G.h1G.hOOOO1G/f1G/fO$>xQpO,5<gO$?QQrO1G4fOOQO1G4l1G4lO%[Q^O,5>zO$?[QWO1G5uO$?dQWO1G6TO$?lQrO1G6UO9WQWO,5?QO$?vQ?NdO1G6RO%[Q^O1G6RO$@WQ?MxO1G6RO$@iQWO1G6QO$@iQWO1G6QO9WQWO1G6QO$@qQWO,5?TO9WQWO,5?TOOQO,5?T,5?TO$AVQWO,5?TO$(_QWO,5?TOOQO-E<g-E<gOOQQ1G0^1G0^OOQQ1G0`1G0`O#-aQWO1G0`OOQU7+(b7+(bO!&fQ7[O7+(bO%[Q^O7+(bO$AeQWO7+(bO$ApQ7[O7+(bO$BOQ?NdO,5=UO$DWQ?NdO,5=WO$F`Q?NdO,5=UO$HnQ?NdO,5=WO$J|Q?NdO,59rO$MRQ?NdO,5<iO% ZQ?NdO,5<kO%#cQ?NdO,5<yOOQ?Mr7+&^7+&^O%%qQ?NdO7+&^O%&eQ^O'#IbO%&rQWO,5@^O%&zQrO,5@^OOQ?Mr1G/|1G/|O%'UQWO7+&gOOQ?Mr7+&g7+&gO%'ZQ07bO,5:cO%[Q^O7+&yO%'eQ07bO,5:_O%'rQ07bO,5:gO%'|Q07bO,5:iO%(WQ7[O'#IeO%(bQWO,5@cOOQ?Mr1G0a1G0aOOQO1G1q1G1qOOQO1G1r1G1rO%(jQtO,5<YO!(vQ^O,5<XOOQO-E<h-E<hOOQ?Mr7+'X7+'XOOOS7+'d7+'dOOOS1G1{1G1{O%(uQWO1G1{OOQ?Mr1G1}1G1}OOOO,59l,59lO%(zQpO,59lOOOO-E<[-E<[OOQ?Mr1G/U1G/UO%)RQ?NdO7+'jOOQ?Mr,5?Y,5?YO%)uQpO,5?YOOQ?Mr1G2d1G2dP!&fQ7[O'#InPOQ?Mr-E<l-E<lO%*eQ7[O,5?]OOQ?Mr-E<o-E<oO%+WQ7[O,5?_OOQ?Mr-E<q-E<qO%+bQpO1G2tO%+iQpO'#CrO%,PQ7[O'#J}O%,WQ^O'#EqOOQ?Mr1G2]1G2]O%,bQWO'#ImO%,vQWO,5@rO%,vQWO,5@rO%-OQWO,5@rO%-ZQWO,5@rOOQO1G2_1G2_O%-iQ7[O1G2^O!+oQ7[O1G2^O%-yQ$ISO'#IoO%.WQWO,5@sO!&fQ7[O,5@sO%.`QpO,5@sOOQ?Mr1G2b1G2bOOQ?Mp,5<{,5<{OOQ?Mp,5<|,5<|O$(_QWO,5<|OCcQWO,5<|O!BUQ`O,5<{OOQO'#Gd'#GdO%.jQWO,5<}OOQ?Mp,5=P,5=PO$(_QWO,5=SOOQO,5?[,5?[OOQO-E<n-E<nOOQ?Mv1G2f1G2fO!5pQ`O,5<{O%.rQWO,5<|O$#WQWO,5<}O%.}Q`O,5<|O!+oQ7[O'#IqO%/nQ7[O1G2pO!+oQ7[O'#IsO%0aQ7[O1G2rO%0kQ7[O1G5lO%0uQ7[O1G5lOOQO,5?a,5?aOOQO-E<s-E<sOOQO1G.{1G.{O!9]Q`O,59tO%[Q^O,59tOOQ?Mr,5<h,5<hO%1SQWO1G2XO!+oQ7[O1G2`O%1XQ?NdO7+'kOOQ?Mr7+'k7+'kO!$cQ^O7+'kO%1{QWO,5;]OOQ?Mp,5?c,5?cOOQ?Mp-E<u-E<uO%2QQpO'#KYO#'OQWO7+(bO4UQrO7+(bO$AhQWO7+(bO%2[Q?NbO'#CiO%2oQ?NbO,5=QO%3aQWO,5=QOOQ?Mp1G5j1G5jOOQU7+$a7+$aO!AyQ?MxO7+$aO!BUQ`O7+$aO!$cQ^O7+&^O%3fQWO'#I|O%3}QWO,5@{OOQO1G3d1G3dO9^QWO,5@{O%3}QWO,5@{O%4VQWO,5@{OOQO,5?i,5?iOOQO-E<{-E<{OOQ?Mr7+'S7+'SO%4[QWO7+(}O9hQ?MxO7+(}O9^QWO7+(}O@fQWO7+(}OOQU7+(m7+(mO%4aQ?NbO7+(jO!&fQ7[O7+(jO%4kQpO7+(kOOQU7+(k7+(kO!&fQ7[O7+(kO%4rQWO'#K^O%4}QWO,5=iOOQO,5?e,5?eOOQO-E<w-E<wOOQU7+(p7+(pO%6aQ`O'#HWOOQU1G3]1G3]O!&fQ7[O1G3]O%[Q^O1G3]O%6hQWO1G3]O%6sQ7[O1G3]O9hQ?MxO1G3_O$#]QWO1G3_O9RQWO1G3_O!BUQ`O1G3_O!B^Q7[O1G3_O%7RQWO'#I{O%7gQWO,5@yO%7oQ`O,5@yOOQ?Mp1G3`1G3`OOQU7+$V7+$VO@fQWO7+$VO9hQ?MxO7+$VO%7zQWO7+$VO%[Q^O1G6hO%[Q^O1G6iO%8PQ?MxO1G6hO%8ZQ^O1G3gO%8bQWO1G3gO%8gQ^O1G3gOOQU7+)P7+)PO9hQ?MxO7+)ZO`Q^O7+)]OOQU'#Kd'#KdOOQU'#JO'#JOO%8nQ^O,5>[OOQU,5>[,5>[O%[Q^O'#HqO%8{QWO'#HsOOQU,5>b,5>bO9WQWO,5>bOOQU,5>d,5>dOOQU7+)f7+)fOOQU7+)l7+)lOOQU7+)p7+)pOOQU7+)r7+)rO%9QQ`O1G5wO%9fQ07bO1G0wO%9pQWO1G0wOOQO1G/p1G/pO%9{Q07bO1G/pO>tQWO1G/pO!(vQ^O'#DjOOQO,5>{,5>{OOQO-E<_-E<_OOQO,5?R,5?ROOQO-E<e-E<eO!BUQ`O1G/pOOQO-E<a-E<aOOQ?Mv1G0Y1G0YOOQ?Mr7+%r7+%rO#'OQWO7+%rOOQ?Mr7+&]7+&]O>tQWO7+&]O!BUQ`O7+&]OOQO7+%u7+%uO$>nQ?NdO7+&UOOQO7+&U7+&UO%[Q^O7+&UO%:VQ?MxO7+&UO!AyQ?MxO7+%uO!BUQ`O7+%uO%:bQ?MxO7+&UO%:pQ?NdO7++mO%[Q^O7++mO%;QQWO7++lO%;QQWO7++lOOQO1G4o1G4oO9WQWO1G4oO%;YQWO1G4oOOQQ7+%z7+%zO#'OQWO<<K|O4UQrO<<K|O%;hQWO<<K|OOQU<<K|<<K|O!&fQ7[O<<K|O%[Q^O<<K|O%;pQWO<<K|O%;{Q?NdO,5?]O%>TQ?NdO,5?_O%@]Q?NdO1G2^O%BkQ?NdO1G2pO%DsQ?NdO1G2rO%F{QrO,5>|O%[Q^O,5>|OOQO-E<`-E<`O%GVQWO1G5xOOQ?Mr<<JR<<JRO%G_Q07bO1G0rO%IfQ07bO1G0|O%ImQ07bO1G0|O%KnQ07bO1G0|O%KuQ07bO1G0|O%MvQ07bO1G0|O& wQ07bO1G0|O&!OQ07bO1G0|O&!VQ07bO1G0|O&$WQ07bO1G0|O&$_Q07bO1G0|O&$fQ?NdO<<JeO&&^Q07bO1G0|O&'ZQ07bO1G0|O&(ZQ07bO'#JgO&*^Q07bO1G1bO&*kQ07bO1G0RO&*uQ7[O,5?POOQO-E<c-E<cO!(vQ^O'#FpOOQO'#KU'#KUOOQO1G1t1G1tO&+PQWO1G1sO&+UQ07bO,5?WOOOS7+'g7+'gOOOO1G/W1G/WOOQ?Mr1G4t1G4tO!+oQ7[O7+(`O&-fQrO'#CiO&-pQWO,5?XO9WQWO,5?XOOQO-E<k-E<kO&.OQWO1G6^O&.OQWO1G6^O&.WQWO1G6^O&.cQ7[O7+'xO&.sQpO,5?ZO&.}QWO,5?ZO!&fQ7[O,5?ZOOQO-E<m-E<mO&/SQpO1G6_O&/^QWO1G6_OOQ?Mp1G2h1G2hO$(_QWO1G2hOOQ?Mp1G2g1G2gO&/fQWO1G2iO!&fQ7[O1G2iOOQ?Mp1G2n1G2nO!BUQ`O1G2gOCcQWO1G2hO&/kQWO1G2iO&/sQWO1G2hO$#WQWO1G2iO&0gQ7[O,5?]OOQ?Mr-E<p-E<pO&1YQ7[O,5?_OOQ?Mr-E<r-E<rO!+oQ7[O7++WOOQ?Mr1G/`1G/`O&1dQWO1G/`OOQ?Mr7+'s7+'sO&1iQ7[O7+'zO&1yQ?NdO<<KVOOQ?Mr<<KV<<KVO&2mQWO1G0wO!&fQ7[O'#IvO&2rQWO,5@tO&4tQrO<<K|O!&fQ7[O1G2lOOQU<<G{<<G{O!AyQ?MxO<<G{O&4{Q?NdO<<IxOOQ?Mr<<Ix<<IxOOQO,5?h,5?hO&5oQWO,5?hO&5tQWO,5?hOOQO-E<z-E<zO&6SQWO1G6gO&6SQWO1G6gO9^QWO1G6gO@fQWO<<LiOOQU<<Li<<LiO&6[QWO<<LiO9hQ?MxO<<LiOOQU<<LU<<LUO%4aQ?NbO<<LUOOQU<<LV<<LVO%4kQpO<<LVO&6aQ`O'#IxO&6lQWO,5@xO!(vQ^O,5@xOOQU1G3T1G3TO%,WQ^O'#JqOOQO'#Iz'#IzO9hQ?MxO'#IzO&6tQ`O,5=rOOQU,5=r,5=rO&6{Q`O'#EdO&7aQ`O'#GcO&7fQWO7+(wO&7kQWO7+(wOOQU7+(w7+(wO!&fQ7[O7+(wO%[Q^O7+(wO&7sQWO7+(wOOQU7+(y7+(yO9hQ?MxO7+(yO$#]QWO7+(yO9RQWO7+(yO!BUQ`O7+(yO&8OQWO,5?gOOQO-E<y-E<yOOQO'#HZ'#HZO&8ZQWO1G6eO9hQ?MxO<<GqOOQU<<Gq<<GqO@fQWO<<GqO&8cQWO7+,SO&8hQWO7+,TO%[Q^O7+,SO%[Q^O7+,TOOQU7+)R7+)RO&8mQWO7+)RO&8rQ^O7+)RO&8yQWO7+)ROOQU<<Lu<<LuOOQU<<Lw<<LwOOQU-E<|-E<|OOQU1G3v1G3vO&9OQWO,5>]OOQU,5>_,5>_O&9TQWO1G3|O9WQWO7+&cO!(vQ^O7+&cOOQO7+%[7+%[O&9YQ07bO1G6UO>tQWO7+%[OOQ?Mr<<I^<<I^OOQ?Mr<<Iw<<IwO>tQWO<<IwOOQO<<Ip<<IpO$>nQ?NdO<<IpO%[Q^O<<IpOOQO<<Ia<<IaO!AyQ?MxO<<IaO&9dQ?MxO<<IpO&9oQ?NdO<= XO&:PQWO<= WOOQO7+*Z7+*ZO9WQWO7+*ZOOQUANAhANAhO&:XQrOANAhO!&fQ7[OANAhO#'OQWOANAhO4UQrOANAhO&:`QWOANAhO%[Q^OANAhO&:hQ?NdO7+'xO&<vQ?NdO,5?]O&?OQ?NdO,5?_O&AWQ?NdO7+'zO&CfQrO1G4hO&CpQ07bO7+&^O&EqQ07bO,5=UO&GuQ07bO,5=WO&HVQ07bO,5=UO&HgQ07bO,5=WO&HwQ07bO,59rO&JzQ07bO,5<iO&LzQ07bO,5<kO' ]Q07bO,5<yO'#OQ07bO7+'jO'#]Q07bO7+'kO'#jQWO,5<[OOQO7+'_7+'_O'#oQ7[O<<KzOOQO1G4s1G4sO'#vQWO1G4sO'$RQWO1G4sO'$aQWO7++xO'$aQWO7++xO!&fQ7[O1G4uO'$iQpO1G4uO'$sQWO7++yOOQ?Mp7+(S7+(SO'${QWO7+(TO'%WQpO7+(TOOQ?Mp7+(R7+(RO$(_QWO7+(SO'%bQWO7+(TO!&fQ7[O7+(TOCcQWO7+(SO'%gQWO7+(TO'%oQ7[O<<NrOOQ?Mr7+$z7+$zO'%yQpO,5?bOOQO-E<t-E<tO'&TQ?NbO7+(WOOQUAN=gAN=gO9^QWO1G5SOOQO1G5S1G5SO'&eQWO1G5SO'&jQWO7+,RO'&jQWO7+,RO9hQ?MxOANBTO@fQWOANBTOOQUANBTANBTOOQUANApANApOOQUANAqANAqO'&rQWO,5?dOOQO-E<v-E<vO'&}Q07bO1G6dOOQO,5?f,5?fOOQO-E<x-E<xOOQU1G3^1G3^O%,WQ^O,5<}O''XQWO,5<}OOQU<<Lc<<LcO!&fQ7[O<<LcO&7fQWO<<LcO''^QWO<<LcO%[Q^O<<LcOOQU<<Le<<LeO9hQ?MxO<<LeO$#]QWO<<LeO9RQWO<<LeO''fQ`O1G5RO''qQWO7+,POOQUAN=]AN=]O9hQ?MxOAN=]OOQU<= n<= nOOQU<= o<= oO''yQWO<= nO'(OQWO<= oOOQU<<Lm<<LmO'(TQWO<<LmO'(YQ^O<<LmOOQU1G3w1G3wO>tQWO7+)hO'(aQWO<<I}O'(lQ07bO<<I}OOQO<<Hv<<HvOOQ?MrAN?cAN?cOOQOAN?[AN?[O$>nQ?NdOAN?[OOQOAN>{AN>{O%[Q^OAN?[OOQO<<Mu<<MuOOQUG27SG27SO!&fQ7[OG27SO#'OQWOG27SO'(vQrOG27SO4UQrOG27SO'(}QWOG27SO')VQ07bO<<JeO')dQ07bO1G2^O'+VQ07bO,5?]O'-VQ07bO,5?_O'/VQ07bO1G2pO'1VQ07bO1G2rO'3VQ07bO<<KVO'3dQ07bO<<IxOOQO1G1v1G1vO!+oQ7[OANAfOOQO7+*_7+*_O'3qQWO7+*_O'3|QWO<= dO'4UQpO7+*aOOQ?Mp<<Ko<<KoO$(_QWO<<KoOCcQWO<<KoO'4`QWO<<KoO!&fQ7[O<<KoOOQ?Mp<<Kn<<KnO'4kQpO<<KoO$(_QWO<<KnO'4uQWO<<KoO!&fQ7[O<<KoOOQO7+*n7+*nO9^QWO7+*nO'4zQWO<= mOOQUG27oG27oO9hQ?MxOG27oO!(vQ^O1G5OO'5SQWO7+,OO&7fQWOANA}OOQUANA}ANA}O!&fQ7[OANA}O'5[QWOANA}OOQUANBPANBPO9hQ?MxOANBPO$#]QWOANBPOOQO'#H['#H[OOQO7+*m7+*mOOQUG22wG22wOOQUANEYANEYOOQUANEZANEZOOQUANBXANBXO'5dQWOANBXOOQU<<MS<<MSO!(vQ^OAN?iOOQOG24vG24vO$>nQ?NdOG24vO#'OQWOLD,nOOQULD,nLD,nO!&fQ7[OLD,nO'5iQrOLD,nO'5pQ07bO7+'xO'7cQ07bO,5?]O'9cQ07bO,5?_O';cQ07bO7+'zO'=UQ7[OG27QOOQO<<My<<MyOOQ?MpANAZANAZO$(_QWOANAZOCcQWOANAZO'=fQpOANAZO'=mQWOANAZO!&fQ7[OANAZOOQ?MpANAYANAYO'=xQpOANAZOOQO<<NY<<NYOOQULD-ZLD-ZO'>SQ07bO7+*jOOQUG27iG27iO&7fQWOG27iO!&fQ7[OG27iOOQUG27kG27kO9hQ?MxOG27kOOQUG27sG27sO'>^Q07bOG25TOOQOLD*bLD*bOOQU!$(!Y!$(!YO#'OQWO!$(!YO!&fQ7[O!$(!YO'>hQ?NdOG27QOOQ?MpG26uG26uO$(_QWOG26uO'@vQWOG26uOCcQWOG26uO'ARQpOG26uO!&fQ7[OG26uOOQULD-TLD-TO&7fQWOLD-TOOQULD-VLD-VOOQU!)9Et!)9EtO#'OQWO!)9EtOOQ?MpLD,aLD,aO$(_QWOLD,aOCcQWOLD,aO'AYQWOLD,aO'AeQpOLD,aOOQU!$(!o!$(!oOOQU!.K;`!.K;`O'AlQ07bOG27QOOQ?Mp!$( {!$( {O$(_QWO!$( {OCcQWO!$( {O'C_QWO!$( {OOQ?Mp!)9Eg!)9EgO$(_QWO!)9EgOCcQWO!)9EgOOQ?Mp!.K;R!.K;RO$(_QWO!.K;ROOQ?Mp!4/0m!4/0mO!(vQ^O'#DwO1PQWO'#EUO'CjQrO'#JmO'CqQMnO'#DsO'CxQ^O'#D{O'DPQrO'#CiO'FgQrO'#CiO!(vQ^O'#D}O'FwQ^O,5;WO!(vQ^O,5;bO!(vQ^O,5;bO!(vQ^O,5;bO!(vQ^O,5;bO!(vQ^O,5;bO!(vQ^O,5;bO!(vQ^O,5;bO!(vQ^O,5;bO!(vQ^O,5;bO!(vQ^O,5;bO!(vQ^O'#IlO'HzQWO,5<gO!(vQ^O,5;bO'ISQ7[O,5;bO'JmQ7[O,5;bO!(vQ^O,5;vO!&fQ7[O'#GjO'ISQ7[O'#GjO!&fQ7[O'#GlO'ISQ7[O'#GlO1SQWO'#DWO1SQWO'#DWO!&fQ7[O'#F}O'ISQ7[O'#F}O!&fQ7[O'#GPO'ISQ7[O'#GPO!&fQ7[O'#G_O'ISQ7[O'#G_O!(vQ^O,5:gO'JtQ`O'#D[O!(vQ^O,5@jO'FwQ^O1G0rO'KOQ07bO'#CiO!(vQ^O1G2OO!&fQ7[O'#IqO'ISQ7[O'#IqO!&fQ7[O'#IsO'ISQ7[O'#IsO'KYQpO'#CrO!&fQ7[O,5<rO'ISQ7[O,5<rO'FwQ^O1G2PO!(vQ^O7+&yO!&fQ7[O1G2^O'ISQ7[O1G2^O!&fQ7[O'#IqO'ISQ7[O'#IqO!&fQ7[O'#IsO'ISQ7[O'#IsO!&fQ7[O1G2`O'ISQ7[O1G2`O'FwQ^O7+'kO'FwQ^O7+&^O!&fQ7[OANAfO'ISQ7[OANAfO'KmQWO'#ElO'KrQWO'#ElO'KzQWO'#F[O'LPQWO'#EvO'LUQWO'#KOO'LaQWO'#J|O'LlQWO,5;WO'LqQ7[O,5<dO'LxQWO'#GWO'L}QWO'#GWO'MSQWO,5<eO'M[QWO,5;WO'MdQ07bO1G1_O'MkQWO,5<rO'MpQWO,5<rO'MuQWO,5<tO'MzQWO,5<tO'NPQWO1G2PO'NUQWO1G0rO'NZQ7[O<<KzO'NbQ7[O<<KzO7eQ7[O'#FzO9RQWO'#FyOAaQWO'#EkO!(vQ^O,5;sO!3ZQWO'#GWO!3ZQWO'#GWO!3ZQWO'#GYO!3ZQWO'#GYO!+oQ7[O7+(`O!+oQ7[O7+(`O%+bQpO1G2tO%+bQpO1G2tO!&fQ7[O,5=YO!&fQ7[O,5=Y",stateData:"( f~O'wOS'xOSTOS'yRQ~OPYOQYOSfOY!VOaqOdzOeyOmkOoYOpkOqkOwkOyYO{YO!PWO!TkO!UkO![XO!fuO!iZO!lYO!mYO!nYO!pvO!rwO!uxO!y]O#t!PO$V|O%e}O%g!QO%i!OO%j!OO%k!OO%n!RO%p!SO%s!TO%t!TO%v!UO&S!WO&Y!XO&[!YO&^!ZO&`![O&c!]O&i!^O&o!_O&q!`O&s!aO&u!bO&w!cO(OSO(QTO(TUO([VO(j[O(yiO~OWtO~P`OPYOQYOSfOd!jOe!iOmkOoYOpkOqkOwkOyYO{YO!PWO!TkO!UkO![!eO!fuO!iZO!lYO!mYO!nYO!pvO!r!gO!u!hO$V!kO(O!dO(QTO(TUO([VO(j[O(yiO~Oa!wOp!nO!P!oO!_!yO!`!vO!a!vO!y;bO#Q!pO#R!pO#S!xO#T!pO#U!pO#X!zO#Y!zO(P!lO(QTO(TUO(`!mO(j!sO~O'y!{O~OP]XR]X[]Xa]Xo]X}]X!P]X!Y]X!i]X!m]X#O]X#P]X#]]X#hfX#k]X#l]X#m]X#n]X#o]X#p]X#q]X#r]X#s]X#u]X#w]X#y]X#z]X$P]X'u]X([]X(m]X(t]X(u]X~O!d%PX~P(qO_!}O(Q#PO(R!}O(S#PO~O_#QO(S#PO(T#PO(U#QO~Ou#SO!R#TO(]#TO(^#VO~OPYOQYOSfOd!jOe!iOmkOoYOpkOqkOwkOyYO{YO!PWO!TkO!UkO![!eO!fuO!iZO!lYO!mYO!nYO!pvO!r!gO!u!hO$V!kO(O;fO(QTO(TUO([VO(j[O(yiO~O!X#ZO!Y#WO!V(cP!V(qP~P+}O!Z#cO~P`OPYOQYOSfOd!jOe!iOoYOpkOqkOwkOyYO{YO!PWO!TkO!UkO![!eO!fuO!iZO!lYO!mYO!nYO!pvO!r!gO!u!hO$V!kO(QTO(TUO([VO(j[O(yiO~Om#mO!X#iO!y]O#f#lO#g#iO(O;gO!h(nP~P.iO!i#oO(O#nO~O!u#sO!y]O%e#tO~O#h#uO~O!d#vO#h#uO~OP$[OR#zO[$cOo$aO}#yO!P#{O!Y$_O!i#xO!m$[O#O$RO#k$OO#l$PO#m$PO#n$PO#o$QO#p$RO#q$RO#r$bO#s$RO#u$SO#w$UO#y$WO#z$XO([VO(m$YO(t#|O(u#}O~Oa(aX'u(aX's(aX!h(aX!V(aX![(aX%f(aX!d(aX~P1qO#P$dO#]$eO$P$eOP(bXR(bX[(bXo(bX}(bX!P(bX!Y(bX!i(bX!m(bX#O(bX#k(bX#l(bX#m(bX#n(bX#o(bX#p(bX#q(bX#r(bX#s(bX#u(bX#w(bX#y(bX#z(bX([(bX(m(bX(t(bX(u(bX![(bX%f(bX~Oa(bX'u(bX's(bX!V(bX!h(bXs(bX!d(bX~P4UO#]$eO~O$[$hO$^$gO$e$mO~OSfO![$nO$h$oO$j$qO~Oh%VOm%WOo%XOp$tOq$tOw%YOy%ZO{%[O!P${O![$|O!f%aO!i$xO#g%bO$V%_O$r%]O$t%^O$w%`O(O$sO(QTO(TUO([$uO(t$}O(u%POg(XP~O!i%cO~O!P%fO![%gO(O%eO~O!d%kO~Oa%lO'u%lO~O}%pO~P%[O(P!lO~P%[O%k%tO~P%[Oh%VO!i%cO(O%eO(P!lO~Oe%{O!i%cO(O%eO~O#s$RO~O}&QO![%}O!i&PO%g&TO(O%eO(P!lO(QTO(TUO`)SP~O!u#sO~O%p&VO!P)OX![)OX(O)OX~O(O&WO~O!r&]O#t!PO%g!QO%i!OO%j!OO%k!OO%n!RO%p!SO%s!TO%t!TO~Od&bOe&aO!u&_O%e&`O%x&^O~P;|Od&eOeyO![&dO!r&]O!uxO!y]O#t!PO%e}O%i!OO%j!OO%k!OO%n!RO%p!SO%s!TO%t!TO%v!UO~Ob&hO#]&kO%g&fO(P!lO~P=RO!i&lO!r&pO~O!i#oO~O![XO~Oa%lO't&xO'u%lO~Oa%lO't&{O'u%lO~Oa%lO't&}O'u%lO~O's]X!V]Xs]X!h]X&W]X![]X%f]X!d]X~P(qO!_'[O!`'TO!a'TO(P!lO(QTO(TUO~Op'RO!P'QO!X'UO(`'PO!Z(dP!Z(sP~P@YOk'_O![']O(O%eO~Oe'dO!i%cO(O%eO~O}&QO!i&PO~Op!nO!P!oO!y;bO#Q!pO#R!pO#T!pO#U!pO(P!lO(QTO(TUO(`!mO(j!sO~O!_'jO!`'iO!a'iO#S!pO#X'kO#Y'kO~PAtOa%lOh%VO!d#vO!i%cO'u%lO(m'mO~O!m'qO#]'oO~PCSOp!nO!P!oO(QTO(TUO(`!mO(j!sO~O![XOp(hX!P(hX!_(hX!`(hX!a(hX!y(hX#Q(hX#R(hX#S(hX#T(hX#U(hX#X(hX#Y(hX(P(hX(Q(hX(T(hX(`(hX(j(hX~O!`'iO!a'iO(P!lO~PCrO'z'uO'{'uO'|'wO~O_!}O(Q'yO(R!}O(S'yO~O_#QO(S'yO(T'yO(U#QO~Os'{O~P%[Ou#SO!R#TO(]#TO(^(OO~O!X(QO!V'SX!V'YX!Y'SX!Y'YX~P+}O!Y(SO!V(cX~OP$[OR#zO[$cOo$aO}#yO!P#{O!Y(SO!i#xO!m$[O#O$RO#k$OO#l$PO#m$PO#n$PO#o$QO#p$RO#q$RO#r$bO#s$RO#u$SO#w$UO#y$WO#z$XO([VO(m$YO(t#|O(u#}O~O!V(cX~PGmO!V(XO~O!V(pX!Y(pX!d(pX!h(pX(m(pX~O#](pX#h#aX!Z(pX~PIpO#](YO!V(rX!Y(rX~O!Y(ZO!V(qX~O!V(^O~O#]$eO~PIpO!Z(_O~P`OR#zO}#yO!P#{O!i#xO([VOP!ka[!kao!ka!Y!ka!m!ka#O!ka#k!ka#l!ka#m!ka#n!ka#o!ka#p!ka#q!ka#r!ka#s!ka#u!ka#w!ka#y!ka#z!ka(m!ka(t!ka(u!ka~Oa!ka'u!ka's!ka!V!ka!h!kas!kaYO(QTO(TUO([VO(j[O(y=YO~O!Y$_Oa$oa'u$oa's$oa!h$oa!V$oa![$oa%f$oa!d$oa~O#t)aO~P!&fOh%VOm%WOo%XOp$tOq$tOw%YOy%ZO{%[O!P${O![$|O!f%aO!i$xO#g%bO$V%_O$r%]O$t%^O$w%`O(O(sO(QTO(TUO([$uO(t$}O(u%PO~Og(kP~P!+oO})fO!d)eO![$]X$Y$]X$[$]X$^$]X$e$]X~O!d)eO![(vX$Y(vX$[(vX$^(vX$e(vX~O})fO~P!-xO})fO![(vX$Y(vX$[(vX$^(vX$e(vX~O![)hO$Y)lO$[)gO$^)gO$e)mO~O!X)pO~P!(vO$[$hO$^$gO$e)tO~Ok$xX}$xX!P$xX#P$xX(t$xX(u$xX~OgjXg$xXkjX!YjX#]jX~P!/nOu)vO(])wO(^)yO~Ok*SO}){O!P)|O(t$}O(u%PO~Og)zO~P!0rOg*TO~Oh%VOm%WOo%XOp$tOq$tOw%YOy%ZO{<OO!P*VO![*WO!f=`O!i$xO#g<UO$V%_O$r<QO$t<SO$w%`O(QTO(TUO([$uO(t$}O(u%PO~O!X*ZO(O*UO!h(zP~P!1aO#h*]O~O!i*^O~Oh%VOm%WOo%XOp$tOq$tOw%YOy%ZO{<OO!P${O![$|O!f=`O!i$xO#g<UO$V%_O$r<QO$t<SO$w%`O(O*`O(QTO(TUO([$uO(t$}O(u%PO~O!X*cO!V({P~P!3`Oo*oO!P*gO!_*mO!`*fO!a*fO!i*^O#X*nO%]*iO(P!lO(`!mO~O!Z*lO~P!5TO#P$dOk(ZX}(ZX!P(ZX(t(ZX(u(ZX!Y(ZX#](ZX~Og(ZX#}(ZX~P!5|Ok*tO#]*sOg(YX!Y(YX~O!Y*uOg(XX~O(O&WOg(XP~Op*xO~O!i*}O~O(O(sO~Om+RO!P%fO!X#iO![%gO!y]O#f#lO#g#iO(O%eO!h(nP~O!d#vO#h+SO~O!P%fO!X+UO!Y(ZO![%gO(O%eO!V(qP~Op'XO!P+WO!X+VO(QTO(TUO(`(yO~O!Z(sP~P!8|O!Y+XOa)PX'u)PX~OP$[OR#zO[$cOo$aO}#yO!P#{O!i#xO!m$[O#O$RO#k$OO#l$PO#m$PO#n$PO#o$QO#p$RO#q$RO#r$bO#s$RO#u$SO#w$UO#y$WO#z$XO([VO(m$YO(t#|O(u#}O~Oa!ga!Y!ga'u!ga's!ga!V!ga!h!gas!ga![!ga%f!ga!d!ga~P!9tOR#zO}#yO!P#{O!i#xO([VOP!oa[!oao!oa!Y!oa!m!oa#O!oa#k!oa#l!oa#m!oa#n!oa#o!oa#p!oa#q!oa#r!oa#s!oa#u!oa#w!oa#y!oa#z!oa(m!oa(t!oa(u!oa~Oa!oa'u!oa's!oa!V!oa!h!oas!oa![!oa%f!oa!d!oa~P!<[OR#zO}#yO!P#{O!i#xO([VOP!qa[!qao!qa!Y!qa!m!qa#O!qa#k!qa#l!qa#m!qa#n!qa#o!qa#p!qa#q!qa#r!qa#s!qa#u!qa#w!qa#y!qa#z!qa(m!qa(t!qa(u!qa~Oa!qa'u!qa's!qa!V!qa!h!qas!qa![!qa%f!qa!d!qa~P!>rOh%VOk+bO![']O%f+aO~O!d+dOa(WX![(WX'u(WX!Y(WX~Oa%lO![XO'u%lO~Oh%VO!i%cO~Oh%VO!i%cO(O%eO~O!d#vO#h(uO~Ob+oO%g+pO(O+lO(QTO(TUO!Z)TP~O!Y+qO`)SX~O[+uO~O`+vO~O![%}O(O%eO(P!lO`)SP~Oh%VO#]+{O~Oh%VOk,OO![$|O~O![,QO~O},SO![XO~O%k%tO~O!u,XO~Oe,^O~Ob,_O(O#nO(QTO(TUO!Z)RP~Oe%{O~O%g!QO(O&WO~P=RO[,dO`,cO~OPYOQYOSfOdzOeyOmkOoYOpkOqkOwkOyYO{YO!PWO!TkO!UkO!fuO!iZO!lYO!mYO!nYO!pvO!uxO!y]O%e}O(QTO(TUO([VO(j[O(yiO~O![!eO!r!gO$V!kO(O!dO~P!ErO`,cOa%lO'u%lO~OPYOQYOSfOd!jOe!iOmkOoYOpkOqkOwkOyYO{YO!PWO!TkO!UkO![!eO!fuO!iZO!lYO!mYO!nYO!pvO!u!hO$V!kO(O!dO(QTO(TUO([VO(j[O(yiO~Oa,iO!rwO#t!OO%i!OO%j!OO%k!OO~P!H[O!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(O&ha(Q&ha(T&ha([&ha(j&ha(y&ha!Z&ha&a&hab&ha&f&ha~O(O,yO~Oh!bX!Y!OX!Z!OX!d!OX!d!bX!i!bX#]!OX~O!Y!bX!Z!bX~P# bO!d-OO#],}Oh(eX!Y#eX!Y(eX!Z#eX!Z(eX!d(eX!i(eX~Oh%VO!d-QO!i%cO!Y!^X!Z!^X~Op!nO!P!oO(QTO(TUO(`!mO~OP;aOQ;aOSfOd=[Oe!iOmkOo;aOpkOqkOwkOy;aO{;aO!PWO!TkO!UkO![!eO!f;dO!iZO!l;aO!m;aO!n;aO!p;eO!r;hO!u!hO$V!kO(QTO(TUO([VO(j[O(y=YO~O(O<[O~P##fO!Y-UO!Z(dX~O!Z-WO~O!d-OO#],}O!Y#eX!Z#eX~O!Y-XO!Z(sX~O!Z-ZO~O!`-[O!a-[O(P!lO~P##TO!Z-_O~P'_Ok-bO![']O~O!V-gO~Op!xa!_!xa!`!xa!a!xa#Q!xa#R!xa#S!xa#T!xa#U!xa#X!xa#Y!xa(P!xa(Q!xa(T!xa(`!xa(j!xa~P!#bO!m-lO#]-jO~PCSO!`-nO!a-nO(P!lO~PCrOa%lO#]-jO'u%lO~Oa%lO!d#vO#]-jO'u%lO~Oa%lO!d#vO!m-lO#]-jO'u%lO(m'mO~O'z'uO'{'uO'|-sO~Os-tO~O!V'Sa!Y'Sa~P!9tO!X-xO!V'SX!Y'SX~P%[O!Y(SO!V(ca~O!V(ca~PGmO!Y(ZO!V(qa~O!P%fO!X-|O![%gO(O%eO!V'YX!Y'YX~O#].OO!Y(oa!h(oaa(oa'u(oa~O!d#vO~P#+lO!Y(gO!h(na~O!P%fO![%gO#g.SO(O%eO~Om.XO!P%fO!X.UO![%gO!y]O#f.WO#g.UO(O%eO!Y']X!h']X~OR.]O!i#xO~Oh%VOk.`O![']O%f._O~Oa#`i!Y#`i'u#`i's#`i!V#`i!h#`is#`i![#`i%f#`i!d#`i~P!9tOk=fO}){O!P)|O(t$}O(u%PO~O#h#[aa#[a#]#[a'u#[a!Y#[a!h#[a![#[a!V#[a~P#.hO#h(ZXP(ZXR(ZX[(ZXa(ZXo(ZX!i(ZX!m(ZX#O(ZX#k(ZX#l(ZX#m(ZX#n(ZX#o(ZX#p(ZX#q(ZX#r(ZX#s(ZX#u(ZX#w(ZX#y(ZX#z(ZX'u(ZX([(ZX(m(ZX!h(ZX!V(ZX's(ZXs(ZX![(ZX%f(ZX!d(ZX~P!5|O!Y.mO!h(fX~P!9tO!h.pO~O!V.rO~OP$[OR#zO}#yO!P#{O!i#xO!m$[O([VO[#jia#jio#ji!Y#ji#O#ji#l#ji#m#ji#n#ji#o#ji#p#ji#q#ji#r#ji#s#ji#u#ji#w#ji#y#ji#z#ji'u#ji(m#ji(t#ji(u#ji's#ji!V#ji!h#jis#ji![#ji%f#ji!d#ji~O#k#ji~P#2TO#k$OO~P#2TOP$[OR#zOo$aO}#yO!P#{O!i#xO!m$[O#k$OO#l$PO#m$PO#n$PO([VO[#jia#ji!Y#ji#O#ji#p#ji#q#ji#r#ji#s#ji#u#ji#w#ji#y#ji#z#ji'u#ji(m#ji(t#ji(u#ji's#ji!V#ji!h#jis#ji![#ji%f#ji!d#ji~O#o#ji~P#4rO#o$QO~P#4rOP$[OR#zO[$cOo$aO}#yO!P#{O!i#xO!m$[O#O$RO#k$OO#l$PO#m$PO#n$PO#o$QO#p$RO#q$RO#r$bO#s$RO([VOa#ji!Y#ji#w#ji#y#ji#z#ji'u#ji(m#ji(t#ji(u#ji's#ji!V#ji!h#jis#ji![#ji%f#ji!d#ji~O#u#ji~P#7aOP$[OR#zO[$cOo$aO}#yO!P#{O!i#xO!m$[O#O$RO#k$OO#l$PO#m$PO#n$PO#o$QO#p$RO#q$RO#r$bO#s$RO#u$SO([VO(u#}Oa#ji!Y#ji#y#ji#z#ji'u#ji(m#ji(t#ji's#ji!V#ji!h#jis#ji![#ji%f#ji!d#ji~O#w$UO~P#9wO#w#ji~P#9wO#u$SO~P#7aOP$[OR#zO[$cOo$aO}#yO!P#{O!i#xO!m$[O#O$RO#k$OO#l$PO#m$PO#n$PO#o$QO#p$RO#q$RO#r$bO#s$RO#u$SO#w$UO([VO(t#|O(u#}Oa#ji!Y#ji#z#ji'u#ji(m#ji's#ji!V#ji!h#jis#ji![#ji%f#ji!d#ji~O#y#ji~P#<mO#y$WO~P#<mOP]XR]X[]Xo]X}]X!P]X!i]X!m]X#O]X#P]X#]]X#hfX#k]X#l]X#m]X#n]X#o]X#p]X#q]X#r]X#s]X#u]X#w]X#y]X#z]X$P]X([]X(m]X(t]X(u]X!Y]X!Z]X~O#}]X~P#?[OP$[OR#zO[;xOo;vO}#yO!P#{O!i#xO!m$[O#O;mO#k;jO#l;kO#m;kO#n;kO#o;lO#p;mO#q;mO#r;wO#s;mO#u;nO#w;pO#y;rO#z;sO([VO(m$YO(t#|O(u#}O~O#}.tO~P#AiO#P$dO#];yO$P;yO#}(bX!Z(bX~P! aOa'`a!Y'`a'u'`a's'`a!h'`a!V'`as'`a!['`a%f'`a!d'`a~P!9tO[#jia#jio#ji!Y#ji#O#ji#o#ji#p#ji#q#ji#r#ji#s#ji#u#ji#w#ji#y#ji#z#ji'u#ji(m#ji's#ji!V#ji!h#jis#ji![#ji%f#ji!d#ji~OP$[OR#zO}#yO!P#{O!i#xO!m$[O#k$OO#l$PO#m$PO#n$PO([VO(t#ji(u#ji~P#DkOk=fO}){O!P)|O(t$}O(u%POP#jiR#ji!i#ji!m#ji#k#ji#l#ji#m#ji#n#ji([#ji~P#DkO!Y.xOg(kX~P!0rOg.zO~Oa$Oi!Y$Oi'u$Oi's$Oi!V$Oi!h$Ois$Oi![$Oi%f$Oi!d$Oi~P!9tO$[.{O$^.{O~O$[.|O$^.|O~O!d)eO#].}O![$bX$Y$bX$[$bX$^$bX$e$bX~O!X/OO~O![)hO$Y/QO$[)gO$^)gO$e/RO~O!Y;tO!Z(aX~P#AiO!Z/SO~O!d)eO$e(vX~O$e/UO~Os/VO~P!&fOu)vO(])wO(^/YO~O!V/^O~P!&fO(t$}Ok%^a}%^a!P%^a(u%^a!Y%^a#]%^a~Og%^a#}%^a~P#KlO(u%POk%`a}%`a!P%`a(t%`a!Y%`a#]%`a~Og%`a#}%`a~P#L_O!YfX!dfX!hfX!h$xX(mfX~P!/nO!X/gO!Y(ZO(O/fO!V(qP!V({P~P!1aOo*oO!_*mO!`*fO!a*fO!i*^O#X*nO%]*iO(P!lO~Op'XO!P/hO!X+VO!Z*lO(QTO(TUO(`<XO!Z(sP~P#MxO!h/iO~P#.hO!Y/jO!d#vO(m'mO!h(zX~O!h/oO~O!P%fO!X*ZO![%gO(O%eO!h(zP~O#h/qO~O!V$xX!Y$xX!d%PX~P!/nO!Y/rO!V({X~P#.hO!d/tO~O!V/vO~Oh%VOo/zO!d#vO!i%cO(m'mO~O(O/|O~O!d+dO~Oa%lO!Y0QO'u%lO~O!Z0SO~P!5TO!`0TO!a0TO(P!lO(`!mO~O!P0VO(`!mO~O#X0WO~Og%^a!Y%^a#]%^a#}%^a~P!0rOg%`a!Y%`a#]%`a#}%`a~P!0rO(O&WOg'iX!Y'iX~O!Y*uOg(Xa~Og0aO~OR0bO}0bO!P0cO#P$dOkza(tza(uza!Yza#]za~Ogza#}za~P$%kO}){O!P)|Ok$qa(t$qa(u$qa!Y$qa#]$qa~Og$qa#}$qa~P$&dO}){O!P)|Ok$sa(t$sa(u$sa!Y$sa#]$sa~Og$sa#}$sa~P$'VO#h0fO~Og%Ra!Y%Ra#]%Ra#}%Ra~P!0rO!d#vO~O#h0iO~O!Y+XOa)Pa'u)Pa~OR#zO}#yO!P#{O!i#xO([VOP!oi[!oio!oi!Y!oi!m!oi#O!oi#k!oi#l!oi#m!oi#n!oi#o!oi#p!oi#q!oi#r!oi#s!oi#u!oi#w!oi#y!oi#z!oi(m!oi(t!oi(u!oi~Oa!oi'u!oi's!oi!V!oi!h!ois!oi![!oi%f!oi!d!oi~P$(tOh%VOo%XOp$tOq$tOw%YOy%ZO{<OO!P${O![$|O!f=`O!i$xO#g<UO$V%_O$r<QO$t<SO$w%`O(QTO(TUO([$uO(t$}O(u%PO~Om0rO(O0qO~P$+[O!d+dOa(Wa![(Wa'u(Wa!Y(Wa~O#h0xO~O[]X!YfX!ZfX~O!Y0yO!Z)TX~O!Z0{O~O[0|O~Ob1OO(O+lO(QTO(TUO~O![%}O(O%eO`'qX!Y'qX~O!Y+qO`)Sa~O!h1RO~P!9tO[1UO~O`1VO~O#]1YO~Ok1]O![$|O~O(`(yO!Z)QP~Oh%VOk1fO![1cO%f1eO~O[1pO!Y1nO!Z)RX~O!Z1qO~O`1sOa%lO'u%lO~O(O#nO(QTO(TUO~O#P$dO#]$eO$P$eOP(bXR(bX[(bXo(bX}(bX!P(bX!Y(bX!i(bX!m(bX#O(bX#k(bX#l(bX#m(bX#n(bX#o(bX#p(bX#q(bX#r(bX#u(bX#w(bX#y(bX#z(bX([(bX(m(bX(t(bX(u(bX~O#s1vO&W1wOa(bX~P$0rO#]$eO#s1vO&W1wO~Oa1yO~P%[Oa1{O~O&a2OOP&_iQ&_iS&_iY&_ia&_id&_ie&_im&_io&_ip&_iq&_iw&_iy&_i{&_i!P&_i!T&_i!U&_i![&_i!f&_i!i&_i!l&_i!m&_i!n&_i!p&_i!r&_i!u&_i!y&_i#t&_i$V&_i%e&_i%g&_i%i&_i%j&_i%k&_i%n&_i%p&_i%s&_i%t&_i%v&_i&S&_i&Y&_i&[&_i&^&_i&`&_i&c&_i&i&_i&o&_i&q&_i&s&_i&u&_i&w&_i's&_i(O&_i(Q&_i(T&_i([&_i(j&_i(y&_i!Z&_ib&_i&f&_i~Ob2UO!Z2SO&f2TO~P`O![XO!i2WO~O&m,tOP&hiQ&hiS&hiY&hia&hid&hie&him&hio&hip&hiq&hiw&hiy&hi{&hi!P&hi!T&hi!U&hi![&hi!f&hi!i&hi!l&hi!m&hi!n&hi!p&hi!r&hi!u&hi!y&hi#t&hi$V&hi%e&hi%g&hi%i&hi%j&hi%k&hi%n&hi%p&hi%s&hi%t&hi%v&hi&S&hi&Y&hi&[&hi&^&hi&`&hi&c&hi&i&hi&o&hi&q&hi&s&hi&u&hi&w&hi's&hi(O&hi(Q&hi(T&hi([&hi(j&hi(y&hi!Z&hi&a&hib&hi&f&hi~O!V2^O~O!Y!^a!Z!^a~P#AiOp!nO!P!oO!X2dO(`!mO!Y'TX!Z'TX~P@YO!Y-UO!Z(da~O!Y'ZX!Z'ZX~P!8|O!Y-XO!Z(sa~O!Z2kO~P'_Oa%lO#]2tO'u%lO~Oa%lO!d#vO#]2tO'u%lO~Oa%lO!d#vO!m2xO#]2tO'u%lO(m'mO~Oa%lO'u%lO~P!9tO!Y$_Os$oa~O!V'Si!Y'Si~P!9tO!Y(SO!V(ci~O!Y(ZO!V(qi~O!V(ri!Y(ri~P!9tO!Y(oi!h(oia(oi'u(oi~P!9tO#]2zO!Y(oi!h(oia(oi'u(oi~O!Y(gO!h(ni~O!P%fO![%gO!y]O#f3PO#g3OO(O%eO~O!P%fO![%gO#g3OO(O%eO~Ok3WO![']O%f3VO~Oh%VOk3WO![']O%f3VO~O#h%^aP%^aR%^a[%^aa%^ao%^a!i%^a!m%^a#O%^a#k%^a#l%^a#m%^a#n%^a#o%^a#p%^a#q%^a#r%^a#s%^a#u%^a#w%^a#y%^a#z%^a'u%^a([%^a(m%^a!h%^a!V%^a's%^as%^a![%^a%f%^a!d%^a~P#KlO#h%`aP%`aR%`a[%`aa%`ao%`a!i%`a!m%`a#O%`a#k%`a#l%`a#m%`a#n%`a#o%`a#p%`a#q%`a#r%`a#s%`a#u%`a#w%`a#y%`a#z%`a'u%`a([%`a(m%`a!h%`a!V%`a's%`as%`a![%`a%f%`a!d%`a~P#L_O#h%^aP%^aR%^a[%^aa%^ao%^a!Y%^a!i%^a!m%^a#O%^a#k%^a#l%^a#m%^a#n%^a#o%^a#p%^a#q%^a#r%^a#s%^a#u%^a#w%^a#y%^a#z%^a'u%^a([%^a(m%^a!h%^a!V%^a's%^a#]%^as%^a![%^a%f%^a!d%^a~P#.hO#h%`aP%`aR%`a[%`aa%`ao%`a!Y%`a!i%`a!m%`a#O%`a#k%`a#l%`a#m%`a#n%`a#o%`a#p%`a#q%`a#r%`a#s%`a#u%`a#w%`a#y%`a#z%`a'u%`a([%`a(m%`a!h%`a!V%`a's%`a#]%`as%`a![%`a%f%`a!d%`a~P#.hO#hzaPza[zaazaoza!iza!mza#Oza#kza#lza#mza#nza#oza#pza#qza#rza#sza#uza#wza#yza#zza'uza([za(mza!hza!Vza'szasza![za%fza!dza~P$%kO#h$qaP$qaR$qa[$qaa$qao$qa!i$qa!m$qa#O$qa#k$qa#l$qa#m$qa#n$qa#o$qa#p$qa#q$qa#r$qa#s$qa#u$qa#w$qa#y$qa#z$qa'u$qa([$qa(m$qa!h$qa!V$qa's$qas$qa![$qa%f$qa!d$qa~P$&dO#h$saP$saR$sa[$saa$sao$sa!i$sa!m$sa#O$sa#k$sa#l$sa#m$sa#n$sa#o$sa#p$sa#q$sa#r$sa#s$sa#u$sa#w$sa#y$sa#z$sa'u$sa([$sa(m$sa!h$sa!V$sa's$sas$sa![$sa%f$sa!d$sa~P$'VO#h%RaP%RaR%Ra[%Raa%Rao%Ra!Y%Ra!i%Ra!m%Ra#O%Ra#k%Ra#l%Ra#m%Ra#n%Ra#o%Ra#p%Ra#q%Ra#r%Ra#s%Ra#u%Ra#w%Ra#y%Ra#z%Ra'u%Ra([%Ra(m%Ra!h%Ra!V%Ra's%Ra#]%Ras%Ra![%Ra%f%Ra!d%Ra~P#.hOa#`q!Y#`q'u#`q's#`q!V#`q!h#`qs#`q![#`q%f#`q!d#`q~P!9tO!X3`O!Y'UX!h'UX~P%[O!Y.mO!h(fa~O!Y.mO!h(fa~P!9tO!V3cO~O#}!ka!Z!ka~PKWO#}!ga!Y!ga!Z!ga~P#AiO#}!oa!Z!oa~P!<[O#}!qa!Z!qa~P!>rOg'XX!Y'XX~P!+oO!Y.xOg(ka~OSfO![3wO$c3xO~O!Z3|O~Os3}O~P#.hOa$lq!Y$lq'u$lq's$lq!V$lq!h$lqs$lq![$lq%f$lq!d$lq~P!9tO!V4OO~P#.hO}){O!P)|O(u%POk'ea(t'ea!Y'ea#]'ea~Og'ea#}'ea~P%)|O}){O!P)|Ok'ga(t'ga(u'ga!Y'ga#]'ga~Og'ga#}'ga~P%*oO(m$YO~P#.hO!VfX!V$xX!YfX!Y$xX!d%PX#]fX~P!/nO(O<bO~P!1aOmkO(O4QO~P.iO!P%fO!X4SO![%gO(O%eO!Y'aX!h'aX~O!Y/jO!h(za~O!Y/jO!d#vO!h(za~O!Y/jO!d#vO(m'mO!h(za~Og$zi!Y$zi#]$zi#}$zi~P!0rO!X4[O!V'cX!Y'cX~P!3`O!Y/rO!V({a~O!Y/rO!V({a~P#.hO!d#vO#s4dO~Oo4gO!d#vO(m'mO~O!P4jO(`!mO~O(t$}Ok%^i}%^i!P%^i(u%^i!Y%^i#]%^i~Og%^i#}%^i~P%/VO(u%POk%`i}%`i!P%`i(t%`i!Y%`i#]%`i~Og%`i#}%`i~P%/xOg(Yi!Y(Yi~P!0rO#]4oOg(Yi!Y(Yi~P!0rO!h4rO~Oa$mq!Y$mq'u$mq's$mq!V$mq!h$mqs$mq![$mq%f$mq!d$mq~P!9tO!V4vO~O!Y4wO![(|X~P#.hOa$xX![$xX%Z]X'u$xX!Y$xX~P!/nO%Z4zOalXklX}lX!PlX![lX'ulX(tlX(ulX!YlX~O%Z4zO~Ob5QO%g5RO(O+lO(QTO(TUO!Y'pX!Z'pX~O!Y0yO!Z)Ta~O[5VO~O`5WO~Oa%lO'u%lO~P#.hO![$|O~P#.hO!Y5`O#]5bO!Z)QX~O!Z5cO~Oo5jOp!nO!P5dO!_!yO!`!vO!a!vO!y;bO#Q!pO#R!pO#S!pO#T!pO#U!pO#X5iO#Y!zO(P!lO(QTO(TUO(`!mO(j!sO~O!Z5hO~P%5SOk5oO![1cO%f5nO~Oh%VOk5oO![1cO%f5nO~Ob5vO(O#nO(QTO(TUO!Y'oX!Z'oX~O!Y1nO!Z)Ra~O(QTO(TUO(`5xO~O`5|O~O#s6PO&W6QO~PMsO!h6RO~P%[Oa6TO~Oa6TO~P%[Ob2UO!Z6YO&f2TO~P`O!d6[O~O!d6^Oh(ei!Y(ei!Z(ei!d(ei!i(ei~O!Y#ei!Z#ei~P#AiO#]6_O!Y#ei!Z#ei~O!Y!^i!Z!^i~P#AiOa%lO#]6hO'u%lO~Oa%lO!d#vO#]6hO'u%lO~O!Y(oq!h(oqa(oq'u(oq~P!9tO!Y(gO!h(nq~O!P%fO![%gO#g6oO(O%eO~O![']O%f6rO~Ok6vO![']O%f6rO~O#h'eaP'eaR'ea['eaa'eao'ea!i'ea!m'ea#O'ea#k'ea#l'ea#m'ea#n'ea#o'ea#p'ea#q'ea#r'ea#s'ea#u'ea#w'ea#y'ea#z'ea'u'ea(['ea(m'ea!h'ea!V'ea's'eas'ea!['ea%f'ea!d'ea~P%)|O#h'gaP'gaR'ga['gaa'gao'ga!i'ga!m'ga#O'ga#k'ga#l'ga#m'ga#n'ga#o'ga#p'ga#q'ga#r'ga#s'ga#u'ga#w'ga#y'ga#z'ga'u'ga(['ga(m'ga!h'ga!V'ga's'gas'ga!['ga%f'ga!d'ga~P%*oO#h$ziP$ziR$zi[$zia$zio$zi!Y$zi!i$zi!m$zi#O$zi#k$zi#l$zi#m$zi#n$zi#o$zi#p$zi#q$zi#r$zi#s$zi#u$zi#w$zi#y$zi#z$zi'u$zi([$zi(m$zi!h$zi!V$zi's$zi#]$zis$zi![$zi%f$zi!d$zi~P#.hO#h%^iP%^iR%^i[%^ia%^io%^i!i%^i!m%^i#O%^i#k%^i#l%^i#m%^i#n%^i#o%^i#p%^i#q%^i#r%^i#s%^i#u%^i#w%^i#y%^i#z%^i'u%^i([%^i(m%^i!h%^i!V%^i's%^is%^i![%^i%f%^i!d%^i~P%/VO#h%`iP%`iR%`i[%`ia%`io%`i!i%`i!m%`i#O%`i#k%`i#l%`i#m%`i#n%`i#o%`i#p%`i#q%`i#r%`i#s%`i#u%`i#w%`i#y%`i#z%`i'u%`i([%`i(m%`i!h%`i!V%`i's%`is%`i![%`i%f%`i!d%`i~P%/xO!Y'Ua!h'Ua~P!9tO!Y.mO!h(fi~O#}#`i!Y#`i!Z#`i~P#AiOP$[OR#zO}#yO!P#{O!i#xO!m$[O([VO[#jio#ji#O#ji#l#ji#m#ji#n#ji#o#ji#p#ji#q#ji#r#ji#s#ji#u#ji#w#ji#y#ji#z#ji#}#ji(m#ji(t#ji(u#ji!Y#ji!Z#ji~O#k#ji~P%GlO#k;jO~P%GlOP$[OR#zOo;vO}#yO!P#{O!i#xO!m$[O#k;jO#l;kO#m;kO#n;kO([VO[#ji#O#ji#p#ji#q#ji#r#ji#s#ji#u#ji#w#ji#y#ji#z#ji#}#ji(m#ji(t#ji(u#ji!Y#ji!Z#ji~O#o#ji~P%ItO#o;lO~P%ItOP$[OR#zO[;xOo;vO}#yO!P#{O!i#xO!m$[O#O;mO#k;jO#l;kO#m;kO#n;kO#o;lO#p;mO#q;mO#r;wO#s;mO([VO#w#ji#y#ji#z#ji#}#ji(m#ji(t#ji(u#ji!Y#ji!Z#ji~O#u#ji~P%K|OP$[OR#zO[;xOo;vO}#yO!P#{O!i#xO!m$[O#O;mO#k;jO#l;kO#m;kO#n;kO#o;lO#p;mO#q;mO#r;wO#s;mO#u;nO([VO(u#}O#y#ji#z#ji#}#ji(m#ji(t#ji!Y#ji!Z#ji~O#w;pO~P%M}O#w#ji~P%M}O#u;nO~P%K|OP$[OR#zO[;xOo;vO}#yO!P#{O!i#xO!m$[O#O;mO#k;jO#l;kO#m;kO#n;kO#o;lO#p;mO#q;mO#r;wO#s;mO#u;nO#w;pO([VO(t#|O(u#}O#z#ji#}#ji(m#ji!Y#ji!Z#ji~O#y#ji~P&!^O#y;rO~P&!^Oa#{y!Y#{y'u#{y's#{y!V#{y!h#{ys#{y![#{y%f#{y!d#{y~P!9tO[#jio#ji#O#ji#o#ji#p#ji#q#ji#r#ji#s#ji#u#ji#w#ji#y#ji#z#ji#}#ji(m#ji!Y#ji!Z#ji~OP$[OR#zO}#yO!P#{O!i#xO!m$[O#k;jO#l;kO#m;kO#n;kO([VO(t#ji(u#ji~P&%YOk=gO}){O!P)|O(t$}O(u%POP#jiR#ji!i#ji!m#ji#k#ji#l#ji#m#ji#n#ji([#ji~P&%YO#P$dOP(ZXR(ZX[(ZXk(ZXo(ZX}(ZX!P(ZX!i(ZX!m(ZX#O(ZX#k(ZX#l(ZX#m(ZX#n(ZX#o(ZX#p(ZX#q(ZX#r(ZX#s(ZX#u(ZX#w(ZX#y(ZX#z(ZX#}(ZX([(ZX(m(ZX(t(ZX(u(ZX!Y(ZX!Z(ZX~O#}$Oi!Y$Oi!Z$Oi~P#AiO#}!oi!Z!oi~P$(tOg'Xa!Y'Xa~P!0rO!Z7YO~O!Y'`a!Z'`a~P#AiOP]XR]X[]Xo]X}]X!P]X!V]X!Y]X!i]X!m]X#O]X#P]X#]]X#hfX#k]X#l]X#m]X#n]X#o]X#p]X#q]X#r]X#s]X#u]X#w]X#y]X#z]X$P]X([]X(m]X(t]X(u]X~O!d%WX#s%WX~P&+`O!d#vO(m'mO!Y'aa!h'aa~O!Y/jO!h(zi~O!Y/jO!d#vO!h(zi~Og$zq!Y$zq#]$zq#}$zq~P!0rO!V'ca!Y'ca~P#.hO!d7aO~O!Y/rO!V({i~P#.hO!Y/rO!V({i~O!V7eO~O!d#vO#s7jO~Oo7kO!d#vO(m'mO~O}){O!P)|O(u%POk'fa(t'fa!Y'fa#]'fa~Og'fa#}'fa~P&0OO}){O!P)|Ok'ha(t'ha(u'ha!Y'ha#]'ha~Og'ha#}'ha~P&0qO!V7nO~Og$|q!Y$|q#]$|q#}$|q~P!0rOa$my!Y$my'u$my's$my!V$my!h$mys$my![$my%f$my!d$my~P!9tO!d6^O~O!Y4wO![(|a~O![']OP$SaR$Sa[$Sao$Sa}$Sa!P$Sa!Y$Sa!i$Sa!m$Sa#O$Sa#k$Sa#l$Sa#m$Sa#n$Sa#o$Sa#p$Sa#q$Sa#r$Sa#s$Sa#u$Sa#w$Sa#y$Sa#z$Sa([$Sa(m$Sa(t$Sa(u$Sa~O%f6rO~P&2zOa#`y!Y#`y'u#`y's#`y!V#`y!h#`ys#`y![#`y%f#`y!d#`y~P!9tO[7sO~Ob7uO(O+lO(QTO(TUO~O!Y0yO!Z)Ti~O`7yO~O(`(yO!Y'lX!Z'lX~O!Y5`O!Z)Qa~O!Z8SO~P%5SOp!nO!P8TO(QTO(TUO(`!mO(j!sO~O#X8UO~O![1cO~O![1cO%f8WO~Ok8ZO![1cO%f8WO~O[8`O!Y'oa!Z'oa~O!Y1nO!Z)Ri~O!h8dO~O!h8eO~O!h8hO~O!h8hO~P%[Oa8jO~O!d8kO~O!h8lO~O!Y(ri!Z(ri~P#AiOa%lO#]8tO'u%lO~O!Y(oy!h(oya(oy'u(oy~P!9tO!Y(gO!h(ny~O%f8wO~P&2zO![']O%f8wO~O#h$zqP$zqR$zq[$zqa$zqo$zq!Y$zq!i$zq!m$zq#O$zq#k$zq#l$zq#m$zq#n$zq#o$zq#p$zq#q$zq#r$zq#s$zq#u$zq#w$zq#y$zq#z$zq'u$zq([$zq(m$zq!h$zq!V$zq's$zq#]$zqs$zq![$zq%f$zq!d$zq~P#.hO#h'faP'faR'fa['faa'fao'fa!i'fa!m'fa#O'fa#k'fa#l'fa#m'fa#n'fa#o'fa#p'fa#q'fa#r'fa#s'fa#u'fa#w'fa#y'fa#z'fa'u'fa(['fa(m'fa!h'fa!V'fa's'fas'fa!['fa%f'fa!d'fa~P&0OO#h'haP'haR'ha['haa'hao'ha!i'ha!m'ha#O'ha#k'ha#l'ha#m'ha#n'ha#o'ha#p'ha#q'ha#r'ha#s'ha#u'ha#w'ha#y'ha#z'ha'u'ha(['ha(m'ha!h'ha!V'ha's'has'ha!['ha%f'ha!d'ha~P&0qO#h$|qP$|qR$|q[$|qa$|qo$|q!Y$|q!i$|q!m$|q#O$|q#k$|q#l$|q#m$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#u$|q#w$|q#y$|q#z$|q'u$|q([$|q(m$|q!h$|q!V$|q's$|q#]$|qs$|q![$|q%f$|q!d$|q~P#.hO!Y'Ui!h'Ui~P!9tO#}#`q!Y#`q!Z#`q~P#AiO(t$}OP%^aR%^a[%^ao%^a!i%^a!m%^a#O%^a#k%^a#l%^a#m%^a#n%^a#o%^a#p%^a#q%^a#r%^a#s%^a#u%^a#w%^a#y%^a#z%^a#}%^a([%^a(m%^a!Y%^a!Z%^a~Ok%^a}%^a!P%^a(u%^a~P&C}O(u%POP%`aR%`a[%`ao%`a!i%`a!m%`a#O%`a#k%`a#l%`a#m%`a#n%`a#o%`a#p%`a#q%`a#r%`a#s%`a#u%`a#w%`a#y%`a#z%`a#}%`a([%`a(m%`a!Y%`a!Z%`a~Ok%`a}%`a!P%`a(t%`a~P&FROk=gO}){O!P)|O(u%PO~P&C}Ok=gO}){O!P)|O(t$}O~P&FROR0bO}0bO!P0cO#P$dOPza[zakzaoza!iza!mza#Oza#kza#lza#mza#nza#oza#pza#qza#rza#sza#uza#wza#yza#zza#}za([za(mza(tza(uza!Yza!Zza~O}){O!P)|OP$qaR$qa[$qak$qao$qa!i$qa!m$qa#O$qa#k$qa#l$qa#m$qa#n$qa#o$qa#p$qa#q$qa#r$qa#s$qa#u$qa#w$qa#y$qa#z$qa#}$qa([$qa(m$qa(t$qa(u$qa!Y$qa!Z$qa~O}){O!P)|OP$saR$sa[$sak$sao$sa!i$sa!m$sa#O$sa#k$sa#l$sa#m$sa#n$sa#o$sa#p$sa#q$sa#r$sa#s$sa#u$sa#w$sa#y$sa#z$sa#}$sa([$sa(m$sa(t$sa(u$sa!Y$sa!Z$sa~Ok=gO}){O!P)|O(t$}O(u%PO~OP%RaR%Ra[%Rao%Ra!i%Ra!m%Ra#O%Ra#k%Ra#l%Ra#m%Ra#n%Ra#o%Ra#p%Ra#q%Ra#r%Ra#s%Ra#u%Ra#w%Ra#y%Ra#z%Ra#}%Ra([%Ra(m%Ra!Y%Ra!Z%Ra~P&NzO#}$lq!Y$lq!Z$lq~P#AiO#}$mq!Y$mq!Z$mq~P#AiO!Z9UO~O#}9VO~P!0rO!d#vO!Y'ai!h'ai~O!d#vO(m'mO!Y'ai!h'ai~O!Y/jO!h(zq~O!V'ci!Y'ci~P#.hO!Y/rO!V({q~Oo9^O!d#vO(m'mO~O[9`O!V9_O~P#.hO!V9_O~O!d#vO#s9eO~Og(Yy!Y(Yy~P!0rO!Y'ja!['ja~P#.hOa%Yq![%Yq'u%Yq!Y%Yq~P#.hO[9gO~O!Y0yO!Z)Tq~O#]9kO!Y'la!Z'la~O!Y5`O!Z)Qi~P#AiO!P4jO~O![1cO%f9oO~O(QTO(TUO(`9tO~O!Y1nO!Z)Rq~O!h9wO~O!h9xO~O!h9yO~O!h9yO~P%[O#]9|O!Y#ey!Z#ey~O!Y#ey!Z#ey~P#AiO%f:RO~P&2zO![']O%f:RO~O#}#{y!Y#{y!Z#{y~P#AiOP$ziR$zi[$zio$zi!i$zi!m$zi#O$zi#k$zi#l$zi#m$zi#n$zi#o$zi#p$zi#q$zi#r$zi#s$zi#u$zi#w$zi#y$zi#z$zi#}$zi([$zi(m$zi!Y$zi!Z$zi~P&NzO}){O!P)|O(u%POP'eaR'ea['eak'eao'ea!i'ea!m'ea#O'ea#k'ea#l'ea#m'ea#n'ea#o'ea#p'ea#q'ea#r'ea#s'ea#u'ea#w'ea#y'ea#z'ea#}'ea(['ea(m'ea(t'ea!Y'ea!Z'ea~O}){O!P)|OP'gaR'ga['gak'gao'ga!i'ga!m'ga#O'ga#k'ga#l'ga#m'ga#n'ga#o'ga#p'ga#q'ga#r'ga#s'ga#u'ga#w'ga#y'ga#z'ga#}'ga(['ga(m'ga(t'ga(u'ga!Y'ga!Z'ga~O(t$}OP%^iR%^i[%^ik%^io%^i}%^i!P%^i!i%^i!m%^i#O%^i#k%^i#l%^i#m%^i#n%^i#o%^i#p%^i#q%^i#r%^i#s%^i#u%^i#w%^i#y%^i#z%^i#}%^i([%^i(m%^i(u%^i!Y%^i!Z%^i~O(u%POP%`iR%`i[%`ik%`io%`i}%`i!P%`i!i%`i!m%`i#O%`i#k%`i#l%`i#m%`i#n%`i#o%`i#p%`i#q%`i#r%`i#s%`i#u%`i#w%`i#y%`i#z%`i#}%`i([%`i(m%`i(t%`i!Y%`i!Z%`i~O#}$my!Y$my!Z$my~P#AiO#}#`y!Y#`y!Z#`y~P#AiO!d#vO!Y'aq!h'aq~O!Y/jO!h(zy~O!V'cq!Y'cq~P#.hOo:]O!d#vO(m'mO~O[:`O!V:_O~P#.hO!V:_O~O!Y0yO!Z)Ty~O!Y5`O!Z)Qq~O![1cO%f:hO~O!h:kO~O%f:pO~P&2zOP$zqR$zq[$zqo$zq!i$zq!m$zq#O$zq#k$zq#l$zq#m$zq#n$zq#o$zq#p$zq#q$zq#r$zq#s$zq#u$zq#w$zq#y$zq#z$zq#}$zq([$zq(m$zq!Y$zq!Z$zq~P&NzO}){O!P)|O(u%POP'faR'fa['fak'fao'fa!i'fa!m'fa#O'fa#k'fa#l'fa#m'fa#n'fa#o'fa#p'fa#q'fa#r'fa#s'fa#u'fa#w'fa#y'fa#z'fa#}'fa(['fa(m'fa(t'fa!Y'fa!Z'fa~O}){O!P)|OP'haR'ha['hak'hao'ha!i'ha!m'ha#O'ha#k'ha#l'ha#m'ha#n'ha#o'ha#p'ha#q'ha#r'ha#s'ha#u'ha#w'ha#y'ha#z'ha#}'ha(['ha(m'ha(t'ha(u'ha!Y'ha!Z'ha~OP$|qR$|q[$|qo$|q!i$|q!m$|q#O$|q#k$|q#l$|q#m$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#u$|q#w$|q#y$|q#z$|q#}$|q([$|q(m$|q!Y$|q!Z$|q~P&NzOg%b!Z!Y%b!Z#]%b!Z#}%b!Z~P!0rO!V:tO~P#.hOo:uO!d#vO(m'mO~O[:wO!V:tO~P#.hO!Y'lq!Z'lq~P#AiO!Y#e!Z!Z#e!Z~P#AiO#h%b!ZP%b!ZR%b!Z[%b!Za%b!Zo%b!Z!Y%b!Z!i%b!Z!m%b!Z#O%b!Z#k%b!Z#l%b!Z#m%b!Z#n%b!Z#o%b!Z#p%b!Z#q%b!Z#r%b!Z#s%b!Z#u%b!Z#w%b!Z#y%b!Z#z%b!Z'u%b!Z([%b!Z(m%b!Z!h%b!Z!V%b!Z's%b!Z#]%b!Zs%b!Z![%b!Z%f%b!Z!d%b!Z~P#.hOo;PO!d#vO(m'mO~O!V;QO~P#.hOo;XO!d#vO(m'mO~O!V;YO~P#.hOP%b!ZR%b!Z[%b!Zo%b!Z!i%b!Z!m%b!Z#O%b!Z#k%b!Z#l%b!Z#m%b!Z#n%b!Z#o%b!Z#p%b!Z#q%b!Z#r%b!Z#s%b!Z#u%b!Z#w%b!Z#y%b!Z#z%b!Z#}%b!Z([%b!Z(m%b!Z!Y%b!Z!Z%b!Z~P&NzOo;]O!d#vO(m'mO~Os(aX~P1qO}%pO~P!(vO(P!lO~P!(vO!VfX!YfX#]fX~P&+`OP]XR]X[]Xo]X}]X!P]X!Y]X!YfX!i]X!m]X#O]X#P]X#]]X#]fX#hfX#k]X#l]X#m]X#n]X#o]X#p]X#q]X#r]X#s]X#u]X#w]X#y]X#z]X$P]X([]X(m]X(t]X(u]X~O!dfX!h]X!hfX(mfX~P'D^OP;aOQ;aOSfOd=[Oe!iOmkOo;aOpkOqkOwkOy;aO{;aO!PWO!TkO!UkO![XO!f;dO!iZO!l;aO!m;aO!n;aO!p;eO!r;hO!u!hO$V!kO(O)YO(QTO(TUO([VO(j[O(y=YO~O!Y;tO!Z$oa~Oh%VOm%WOo%XOp$tOq$tOw%YOy%ZO{<PO!P${O![$|O!f=aO!i$xO#g<VO$V%_O$r<RO$t<TO$w%`O(O(sO(QTO(TUO([$uO(t$}O(u%PO~O#t)aO~P'ISOo!bX(m!bX~P# bO!Z]X!ZfX~P'D^O!VfX!V$xX!YfX!Y$xX#]fX~P!/nO#h;iO~O!d#vO#h;iO~O#];yO~O#s;mO~O#]<YO!Y(rX!Z(rX~O#];yO!Y(pX!Z(pX~O#h<ZO~Og<]O~P!0rO#h<cO~O#h<dO~O!d#vO#h<eO~O!d#vO#h<ZO~O#}<fO~P#AiO#h<gO~O#h<hO~O#h<mO~O#h<nO~O#h<oO~O#h<pO~O#}<qO~P!0rO#}<rO~P!0rO#P#Q#R#T#U#X#f#g#r(y$r$t$w%Z%e%f%g%n%p%s%t%v%x~'yT#l!U'w(P#mp#k#no}'x$['x(O$^(`~",goto:"$5g)XPPPPPP)YPP)]P)nP+O/PPPPP5{PP6cPP<Y?sP@WP@WPPP@WPB[P@WP@WP@WPB`PBePCSPG{PPPHPPPPPHPKRPPPKXLTPHPPHPPPNcHPPPPHPPHPP!!jHPP!&P!'U!'_P!(R!(V!(R!+cPPPPPPP!,S!'UPP!,d!-xP!1THPHP!1Y!4e!8{!8{!<yPPP!=RHPPPPPPPPPPPP!@aP!AnPPHP!CPPHPPHPHPHPHPHPPHP!DcP!GlP!JqP!Ju!KP!KT!KTP!GiP!KX!KXP!N^P!NbHPHP!Nh##lB`@WP@WP@W@WP#$x@W@W#'W@W#)z@W#,S@W@W#,r#/S#/S#/X#/b#/S#/nP#/SP@W#0W@W#4P@W@W5{PPP#8OPPP#8i#8iP#8iP#9P#8iPP#9VP#8|P#8|#9j#8|#:U#:[5x)]#:_)]P#:f#:f#:fP)]P)]P)]P)]PP)]P#:l#:oP#:o)]P#:sP#:vP)]P)]P)]P)]P)]P)])]PP#:|#;S#;_#;e#;k#;q#;w#<V#<]#<g#<m#<w#<}#=_#=e#>V#>i#>o#>u#?T#?j#A]#Ak#Ar#C[#Cj#EY#Eh#En#Et#Ez#FU#F[#Fb#Fl#GO#GUPPPPPPPPPP#G[PPPPPPP#HP#KW#Lg#Ln#LvPPP$$YP$$c$'Z$-s$-v$-y$.f$.i$.p$.xP$/O$/RP$/o$/s$0k$1y$2O$2fPP$2k$2q$2uP$2x$2|$3Q$3v$4_$4v$4z$4}$5Q$5W$5Z$5_$5cR!|RoqOXst!Z#d%k&o&q&r&t,l,q2O2RY!vQ']-^1c5gQ%rvQ%zyQ&R|Q&g!VS'T!e-UQ'c!iS'i!r!yU*f$|*W*kQ+j%{Q+w&TQ,]&aQ-['[Q-f'dQ-n'jQ0T*mQ1m,^R<W;e%QdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%k%r&P&h&k&o&q&r&t&x'Q'_'o(Q(S(Y(a(u(w({)z+S+W,i,l,q-b-j-x.O.m.t/h0c0i0x1f1v1w1y1{2O2R2T2t2z3`5d5o6P6Q6T6h8T8Z8j8tS#q];b!r)[$Z$n'U)p,}-Q/O2d3w5b6_9k9|;a;d;e;h;i;j;k;l;m;n;o;p;q;r;s;t;v;y<W<Y<Z<]<e<f<o<p=]U*z%[<O<PQ+o%}Q,_&dQ,f&lQ0o+bQ0s+dQ1O+pQ1u,dQ3S.`Q5Q0yQ5v1nQ6t3WQ7u5RR8z6v'OkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%k%r&P&h&k&l&o&q&r&t&x'Q'U'_'o(Q(S(Y(a(u(w({)p)z+S+W+b,i,l,q,}-Q-b-j-x.O.`.m.t/O/h0c0i0x1f1v1w1y1{2O2R2T2d2t2z3W3`3w5b5d5o6P6Q6T6_6h6v8T8Z8j8t9k9|;a;d;e;h;i;j;k;l;m;n;o;p;q;r;s;t;v;y<W<Y<Z<]<e<f<o<p=]t!nQ!r!v!y!z'T'[']'i'j'k-U-[-^-n1c5g5i%S$ti#v$b$c$d$x${%O%Q%]%^%b)v)|*O*Q*S*V*]*c*s*t+a+d+{,O._.x/_/g/q/r/t0X0Z0f1Y1]1e3V4P4[4d4o4w4z5n6r7a7j8W8w9V9`9e9o:R:`:h:p:w;w;x;z;{;|;}<Q<R<S<T<U<V<^<_<`<a<c<d<g<h<i<j<k<l<m<n<q<r=Y=b=c=f=gQ&U|Q'R!eU'X%g*W-XQ+o%}Q,_&dQ0e*}Q1O+pQ1T+vQ1t,cQ1u,dQ5Q0yQ5Z1VQ5v1nQ5y1pQ5z1sQ7u5RQ7x5WQ8c5|Q9j7yR9u8`rnOXst!V!Z#d%k&f&o&q&r&t,l,q2O2RR,a&h&x^OPXYstuvwz!Z!`!g!j!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%k%r&P&h&k&l&o&q&r&t&x'Q'_'o(S(Y(a(u(w({)p)z+S+W+b,i,l,q,}-Q-b-j-x.O.`.m.t/O/h0c0i0x1f1v1w1y1{2O2R2T2d2t2z3W3`3w5b5d5o6P6Q6T6_6h6v8T8Z8j8t9k9|;a;d;e;h;i;j;k;l;m;n;o;p;q;r;s;t;v;y<W<Y<Z<]<e<f<o<p=[=][#]WZ#W#Z'U(Q!b%hm#h#i#l$x%c%f(Z(e(f(g*V*Z*^+U+V+X,h-O-|.S.T.U.W/g/j2W3O3P4S6^6oQ%uxQ%yyS&O|&TQ&[!TQ'`!hQ'b!iQ(n#sS+i%z%{Q+m%}Q,W&_Q,[&aS-e'c'dQ.b(oQ0w+jQ0}+pQ1P+qQ1S+uQ1h,XS1l,],^Q2p-fQ5P0yQ5T0|Q5Y1UQ5u1mQ7t5RQ7w5VQ9f7sR:c9g!O$zi$d%O%Q%]%^%b*O*Q*]*s*t.x/q0X0Z0f4P4o9V=Y=b=c!S%wy!i!u%y%z%{'S'b'c'd'h'r*e+i+j-R-e-f-m/{0w2i2p2w4fQ+c%uQ+|&XQ,P&YQ,Z&aQ.a(nQ1g,WU1k,[,],^Q3X.bQ5p1hS5t1l1mQ8_5u#d=^#v$b$c$x${)v)|*S*V*c+a+d+{,O._/_/g/r/t1Y1]1e3V4[4d4w4z5n6r7a7j8W8w9`9e9o:R:`:h:p:w;z;|<Q<S<U<^<`<c<g<i<k<m<q=f=go=_;w;x;{;}<R<T<V<_<a<d<h<j<l<n<rW%Ti%V*u=YS&X!Q&fQ&Y!RQ&Z!SR+z&V%T%Si#v$b$c$d$x${%O%Q%]%^%b)v)|*O*Q*S*V*]*c*s*t+a+d+{,O._.x/_/g/q/r/t0X0Z0f1Y1]1e3V4P4[4d4o4w4z5n6r7a7j8W8w9V9`9e9o:R:`:h:p:w;w;x;z;{;|;}<Q<R<S<T<U<V<^<_<`<a<c<d<g<h<i<j<k<l<m<n<q<r=Y=b=c=f=gT)w$u)xV*z%[<O<PW'X!e%g*W-XS(z#y#zQ+^%pQ+t&QS.Z(j(kQ1^,QQ4p0bR7}5`'OkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%k%r&P&h&k&l&o&q&r&t&x'Q'U'_'o(Q(S(Y(a(u(w({)p)z+S+W+b,i,l,q,}-Q-b-j-x.O.`.m.t/O/h0c0i0x1f1v1w1y1{2O2R2T2d2t2z3W3`3w5b5d5o6P6Q6T6_6h6v8T8Z8j8t9k9|;a;d;e;h;i;j;k;l;m;n;o;p;q;r;s;t;v;y<W<Y<Z<]<e<f<o<p=]$i$^c#Y#e%o%q%s(P(V(q(v)O)P)Q)R)S)T)U)V)W)X)Z)])_)d)n+_+s-S-q-v-{-}.l.o.s.u.v.w/Z0g2_2b2r2y3_3d3e3f3g3h3i3j3k3l3m3n3o3p3s3t3{4t4}6a6g6l6{6|7V7W8P8n8r8|9S9T:O:e:l;c=PT#TV#U'PkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%k%r&P&h&k&l&o&q&r&t&x'Q'U'_'o(Q(S(Y(a(u(w({)p)z+S+W+b,i,l,q,}-Q-b-j-x.O.`.m.t/O/h0c0i0x1f1v1w1y1{2O2R2T2d2t2z3W3`3w5b5d5o6P6Q6T6_6h6v8T8Z8j8t9k9|;a;d;e;h;i;j;k;l;m;n;o;p;q;r;s;t;v;y<W<Y<Z<]<e<f<o<p=]Q'V!eR2e-Uv!nQ!e!r!v!y!z'T'[']'i'j'k-U-[-^-n1c5g5iU*e$|*W*kS/{*f*mQ0U*nQ1`,SQ4f0TR4i0WnqOXst!Z#d%k&o&q&r&t,l,q2O2RQ&v!^Q's!xS(p#u;iQ+g%xQ,U&[Q,V&^Q-c'aQ-p'lS.k(u<ZS0h+S<eQ0u+hQ1b,TQ2V,sQ2X,tQ2a-PQ2n-dQ2q-hS4u0i<oQ4{0vS5O0x<pQ6`2cQ6d2oQ6i2vQ7r4|Q8o6bQ8p6eQ8s6jR9{8l$d$]c#Y#e%q%s(P(V(q(v)O)P)Q)R)S)T)U)V)W)X)Z)])_)d)n+_+s-S-q-v-{-}.l.o.s.v.w/Z0g2_2b2r2y3_3d3e3f3g3h3i3j3k3l3m3n3o3p3s3t3{4t4}6a6g6l6{6|7V7W8P8n8r8|9S9T:O:e:l;c=PS(l#p'fQ(|#zS+]%o.uS.[(k(mR3Q.]'OkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%k%r&P&h&k&l&o&q&r&t&x'Q'U'_'o(Q(S(Y(a(u(w({)p)z+S+W+b,i,l,q,}-Q-b-j-x.O.`.m.t/O/h0c0i0x1f1v1w1y1{2O2R2T2d2t2z3W3`3w5b5d5o6P6Q6T6_6h6v8T8Z8j8t9k9|;a;d;e;h;i;j;k;l;m;n;o;p;q;r;s;t;v;y<W<Y<Z<]<e<f<o<p=]S#q];bQ&q!XQ&r!YQ&t![Q&u!]R1},oQ'^!hQ+`%uQ-a'`S.^(n+cQ2l-`W3U.a.b0n0pQ6c2mW6p3R3T3X4yU8v6q6s6uU:Q8x8y8{S:n:P:SQ:{:oR;T:|U!wQ']-^T5e1c5g!Q_OXZ`st!V!Z#d#h%c%k&f&h&o&q&r&t(g,l,q.T2O2R]!pQ!r']-^1c5gT#q];b%[{OPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%k%r&P&h&k&l&o&q&r&t&x'Q'_'o(Q(S(Y(a(u(w({)z+S+W+b,i,l,q-b-j-x.O.`.m.t/h0c0i0x1f1v1w1y1{2O2R2T2t2z3W3`5d5o6P6Q6T6h6v8T8Z8j8tS(z#y#zS.Z(j(k!s<v$Z$n'U)p,}-Q/O2d3w5b6_9k9|;a;d;e;h;i;j;k;l;m;n;o;p;q;r;s;t;v;y<W<Y<Z<]<e<f<o<p=]U$fd)[,fS(m#p'fU*r%R(t3rU0d*y.g7RQ4y0oQ6q3SQ8y6tR:S8zm!tQ!r!v!y!z']'i'j'k-^-n1c5g5iQ'q!uS(c#g1xS-l'h'tQ/m*YQ/y*eQ2x-oQ4W/nS4a/z0UQ7]4RS7h4g4iQ9X7^Q9]7eQ9c7kS:[9^9_S:s:]:_S;O:t:uS;W;P;QS;[;X;YR;_;]Q#wbQ'p!uS(b#g1xS(d#m+RQ+T%dQ+e%vQ+k%|U-k'h'q'tQ.P(cQ/l*YQ/x*eQ0O*hQ0t+fQ1i,YS2u-l-oQ2}.XS4V/m/nS4`/y0UQ4c/}Q4e0PQ5r1jQ6k2xQ7[4RQ7`4WS7d4a4iQ7i4hQ8]5sS9W7]7^Q9[7eQ9a7hQ9d7lQ9r8^Q:Y9XS:Z9]9_Q:a9cQ:j9sS:r:[:_S:}:s:tS;V;O;QS;Z;W;YQ;^;[Q;`;_Q<y<tQ=U<}R=V=OV!wQ']-^%[aOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%k%r&P&h&k&l&o&q&r&t&x'Q'_'o(Q(S(Y(a(u(w({)z+S+W+b,i,l,q-b-j-x.O.`.m.t/h0c0i0x1f1v1w1y1{2O2R2T2t2z3W3`5d5o6P6Q6T6h6v8T8Z8j8tS#wz!j!r<s$Z$n'U)p,}-Q/O2d3w5b6_9k9|;a;d;e;h;i;j;k;l;m;n;o;p;q;r;s;t;v;y<W<Y<Z<]<e<f<o<p=]R<y=[%[bOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%k%r&P&h&k&l&o&q&r&t&x'Q'_'o(Q(S(Y(a(u(w({)z+S+W+b,i,l,q-b-j-x.O.`.m.t/h0c0i0x1f1v1w1y1{2O2R2T2t2z3W3`5d5o6P6Q6T6h6v8T8Z8j8tQ%dj!S%vy!i!u%y%z%{'S'b'c'd'h'r*e+i+j-R-e-f-m/{0w2i2p2w4fS%|z!jQ+f%wQ,Y&aW1j,Z,[,],^U5s1k1l1mS8^5t5uQ9s8_!r<t$Z$n'U)p,}-Q/O2d3w5b6_9k9|;a;d;e;h;i;j;k;l;m;n;o;p;q;r;s;t;v;y<W<Y<Z<]<e<f<o<p=]Q<}=ZR=O=[%OeOPXYstuvw!Z!`!g!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%k%r&P&h&k&o&q&r&t&x'Q'_'o(S(Y(a(u(w({)z+S+W+b,i,l,q-b-j-x.O.`.m.t/h0c0i0x1f1v1w1y1{2O2R2T2t2z3W3`5d5o6P6Q6T6h6v8T8Z8j8tY#bWZ#W#Z(Q!b%hm#h#i#l$x%c%f(Z(e(f(g*V*Z*^+U+V+X,h-O-|.S.T.U.W/g/j2W3O3P4S6^6oQ,g&l!p<u$Z$n)p,}-Q/O2d3w5b6_9k9|;a;d;e;h;i;j;k;l;m;n;o;p;q;r;s;t;v;y<W<Y<Z<]<e<f<o<p=]R<x'UU'Y!e%g*WR2g-X%QdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%k%r&P&h&k&o&q&r&t&x'Q'_'o(Q(S(Y(a(u(w({)z+S+W,i,l,q-b-j-x.O.m.t/h0c0i0x1f1v1w1y1{2O2R2T2t2z3`5d5o6P6Q6T6h8T8Z8j8t!r)[$Z$n'U)p,}-Q/O2d3w5b6_9k9|;a;d;e;h;i;j;k;l;m;n;o;p;q;r;s;t;v;y<W<Y<Z<]<e<f<o<p=]Q,f&lQ0o+bQ3S.`Q6t3WR8z6v!b$Tc#Y%o(P(V(q(v)W)X)])d+s-q-v-{-}.l.o/Z0g2r2y3_3o4t4}6g6l6{8r:O;c!P;o)Z)n-S.u2_2b3d3m3n3s3{6a6|7V7W8P8n8|9S9T:e:l=P!f$Vc#Y%o(P(V(q(v)T)U)W)X)])d+s-q-v-{-}.l.o/Z0g2r2y3_3o4t4}6g6l6{8r:O;c!T;q)Z)n-S.u2_2b3d3j3k3m3n3s3{6a6|7V7W8P8n8|9S9T:e:l=P!^$Zc#Y%o(P(V(q(v)])d+s-q-v-{-}.l.o/Z0g2r2y3_3o4t4}6g6l6{8r:O;cQ4P/ez=])Z)n-S.u2_2b3d3s3{6a6|7V7W8P8n8|9S9T:e:l=PQ=b=dR=c=e'OkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%k%r&P&h&k&l&o&q&r&t&x'Q'U'_'o(Q(S(Y(a(u(w({)p)z+S+W+b,i,l,q,}-Q-b-j-x.O.`.m.t/O/h0c0i0x1f1v1w1y1{2O2R2T2d2t2z3W3`3w5b5d5o6P6Q6T6_6h6v8T8Z8j8t9k9|;a;d;e;h;i;j;k;l;m;n;o;p;q;r;s;t;v;y<W<Y<Z<]<e<f<o<p=]S$oh$pR3x.}'VgOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%k%r&P&h&k&l&o&q&r&t&x'Q'U'_'o(Q(S(Y(a(u(w({)p)z+S+W+b,i,l,q,}-Q-b-j-x.O.`.m.t.}/O/h0c0i0x1f1v1w1y1{2O2R2T2d2t2z3W3`3w5b5d5o6P6Q6T6_6h6v8T8Z8j8t9k9|;a;d;e;h;i;j;k;l;m;n;o;p;q;r;s;t;v;y<W<Y<Z<]<e<f<o<p=]T$kf$qQ$ifS)g$l)kR)s$qT$jf$qT)i$l)k'VhOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%k%r&P&h&k&l&o&q&r&t&x'Q'U'_'o(Q(S(Y(a(u(w({)p)z+S+W+b,i,l,q,}-Q-b-j-x.O.`.m.t.}/O/h0c0i0x1f1v1w1y1{2O2R2T2d2t2z3W3`3w5b5d5o6P6Q6T6_6h6v8T8Z8j8t9k9|;a;d;e;h;i;j;k;l;m;n;o;p;q;r;s;t;v;y<W<Y<Z<]<e<f<o<p=]T$oh$pQ$rhR)r$p%[jOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%k%r&P&h&k&l&o&q&r&t&x'Q'_'o(Q(S(Y(a(u(w({)z+S+W+b,i,l,q-b-j-x.O.`.m.t/h0c0i0x1f1v1w1y1{2O2R2T2t2z3W3`5d5o6P6Q6T6h6v8T8Z8j8t!s=Z$Z$n'U)p,}-Q/O2d3w5b6_9k9|;a;d;e;h;i;j;k;l;m;n;o;p;q;r;s;t;v;y<W<Y<Z<]<e<f<o<p=]#elOPXZst!Z!`!o#S#d#o#{$n%k&h&k&l&o&q&r&t&x'Q'_({)p+W+b,i,l,q-b.`/O/h0c1f1v1w1y1{2O2R2T3W3w5d5o6P6Q6T6v8T8Z8j!O%Ri$d%O%Q%]%^%b*O*Q*]*s*t.x/q0X0Z0f4P4o9V=Y=b=c#d(t#v$b$c$x${)v)|*S*V*c+a+d+{,O._/_/g/r/t1Y1]1e3V4[4d4w4z5n6r7a7j8W8w9`9e9o:R:`:h:p:w;z;|<Q<S<U<^<`<c<g<i<k<m<q=f=gQ+O%`Q/[){o3r;w;x;{;}<R<T<V<_<a<d<h<j<l<n<r!O$yi$d%O%Q%]%^%b*O*Q*]*s*t.x/q0X0Z0f4P4o9V=Y=b=cQ*_$zU*h$|*W*kQ+P%aQ0P*i#d<{#v$b$c$x${)v)|*S*V*c+a+d+{,O._/_/g/r/t1Y1]1e3V4[4d4w4z5n6r7a7j8W8w9`9e9o:R:`:h:p:w;z;|<Q<S<U<^<`<c<g<i<k<m<q=f=gn<|;w;x;{;}<R<T<V<_<a<d<h<j<l<n<rQ=Q=^Q=R=_Q=S=`R=T=a!O%Ri$d%O%Q%]%^%b*O*Q*]*s*t.x/q0X0Z0f4P4o9V=Y=b=c#d(t#v$b$c$x${)v)|*S*V*c+a+d+{,O._/_/g/r/t1Y1]1e3V4[4d4w4z5n6r7a7j8W8w9`9e9o:R:`:h:p:w;z;|<Q<S<U<^<`<c<g<i<k<m<q=f=go3r;w;x;{;}<R<T<V<_<a<d<h<j<l<n<rnoOXst!Z#d%k&o&q&r&t,l,q2O2RS*b${*VQ,z&{Q,{&}R4Z/r%S%Si#v$b$c$d$x${%O%Q%]%^%b)v)|*O*Q*S*V*]*c*s*t+a+d+{,O._.x/_/g/q/r/t0X0Z0f1Y1]1e3V4P4[4d4o4w4z5n6r7a7j8W8w9V9`9e9o:R:`:h:p:w;w;x;z;{;|;}<Q<R<S<T<U<V<^<_<`<a<c<d<g<h<i<j<k<l<m<n<q<r=Y=b=c=f=gQ+}&YQ1[,PQ5^1ZR7|5_V*j$|*W*kU*j$|*W*kT5f1c5gU/}*g/h5dS4h0V8TR7l4jQ+e%vQ0O*hQ0t+fQ1i,YQ5r1jQ8]5sQ9r8^R:j9s!O%Oi$d%O%Q%]%^%b*O*Q*]*s*t.x/q0X0Z0f4P4o9V=Y=b=cr*O$v)b*P*q+Q/p0]0^3u4X4s7Z7m:X<z=W=XS0X*p0Y#d;z#v$b$c$x${)v)|*S*V*c+a+d+{,O._/_/g/r/t1Y1]1e3V4[4d4w4z5n6r7a7j8W8w9`9e9o:R:`:h:p:w;z;|<Q<S<U<^<`<c<g<i<k<m<q=f=gn;{;w;x;{;}<R<T<V<_<a<d<h<j<l<n<r!f<^(r)`*X*a.c.f.j/W/]/e/u0m1X1Z3[4Y4^5]5_6w6z7b7f7o7q9Z9b:^:b:q:v;R=d=e`<_3q6}7Q7U8}:T:W;US<i.e3]T<j7P9Q!O%Qi$d%O%Q%]%^%b*O*Q*]*s*t.x/q0X0Z0f4P4o9V=Y=b=cv*Q$v)b*R*p+Q/a/p0]0^3u4X4k4s7Z7m:X<z=W=XS0Z*q0[#d;|#v$b$c$x${)v)|*S*V*c+a+d+{,O._/_/g/r/t1Y1]1e3V4[4d4w4z5n6r7a7j8W8w9`9e9o:R:`:h:p:w;z;|<Q<S<U<^<`<c<g<i<k<m<q=f=gn;};w;x;{;}<R<T<V<_<a<d<h<j<l<n<r!j<`(r)`*X*a.d.e.j/W/]/e/u0m1X1Z3Y3[4Y4^5]5_6w6x6z7b7f7o7q9Z9b:^:b:q:v;R=d=ed<a3q7O7P7U8}9O:T:U:W;US<k.f3^T<l7Q9RrnOXst!V!Z#d%k&f&o&q&r&t,l,q2O2RQ&c!UR,i&lrnOXst!V!Z#d%k&f&o&q&r&t,l,q2O2RR&c!UQ,R&ZR1W+zsnOXst!V!Z#d%k&f&o&q&r&t,l,q2O2RQ1d,WS5m1g1hU8V5k5l5pS9n8X8YS:f9m9pQ:x:gR;S:yQ&j!VR,b&fR5y1pS&O|&TR1P+qQ&o!WR,l&pR,r&uT2P,q2RR,v&vQ,u&vR2Y,vQ'v!{R-r'vSsOtQ#dXT%ns#dQ#OTR'x#OQ#RUR'z#RQ)x$uR/X)xQ#UVR'}#UQ#XWU(T#X(U-yQ(U#YR-y(VQ-V'VR2f-VQ.n(vS3a.n3bR3b.oQ-^']R2j-^Y!rQ']-^1c5gR'g!rQ.y)bR3v.yU#_W%f*VU([#_(]-zQ(]#`R-z(WQ-Y'YR2h-Yt`OXst!V!Z#d%k&f&h&o&q&r&t,l,q2O2RS#hZ%cU#r`#h.TR.T(gQ(h#jQ.Q(dW.Y(h.Q2{6mQ2{.RR6m2|Q)k$lR/P)kQ$phR)q$pQ$`cU)^$`-u;uQ-u;cR;u)nQ/k*YW4T/k4U7_9YU4U/l/m/nS7_4V4WR9Y7`$a)}$v(r)`)b*X*a*p*q*{*|+Q.e.f.h.i.j/W/]/a/c/e/p/u0]0^0m1X1Z3Y3Z3[3q3u4X4Y4^4k4m4s5]5_6w6x6y6z7P7Q7S7T7U7Z7b7f7m7o7q8}9O9P9Z9b:T:U:V:W:X:^:b:q:v;R;U<z=W=X=d=eQ/s*aU4]/s4_7cQ4_/uR7c4^S*k$|*WR0R*kr*P$v)b*p*q+Q/p0]0^3u4X4s7Z7m:X<z=W=X!f.c(r)`*X*a.e.f.j/W/]/e/u0m1X1Z3[4Y4^5]5_6w6z7b7f7o7q9Z9b:^:b:q:v;R=d=eU/b*P.c6}a6}3q7P7Q7U8}:T:W;UQ0Y*pQ3].eU4l0Y3]9QR9Q7Pv*R$v)b*p*q+Q/a/p0]0^3u4X4k4s7Z7m:X<z=W=X!j.d(r)`*X*a.e.f.j/W/]/e/u0m1X1Z3Y3[4Y4^5]5_6w6x6z7b7f7o7q9Z9b:^:b:q:v;R=d=eU/d*R.d7Oe7O3q7P7Q7U8}9O:T:U:W;UQ0[*qQ3^.fU4n0[3^9RR9R7QQ*v%UR0`*vQ4x0mR7p4xQ+Y%iR0l+YQ5a1^S8O5a9lR9l8PQ,T&[R1a,TQ5g1cR8R5gQ1o,_S5w1o8aR8a5yQ0z+mW5S0z5U7v9hQ5U0}Q7v5TR9h7wQ+r&OR1Q+rQ2R,qR6X2RYrOXst#dQ&s!ZQ+[%kQ,k&oQ,m&qQ,n&rQ,p&tQ1|,lS2P,q2RR6W2OQ%mpQ&w!_Q&z!aQ&|!bQ'O!cQ'n!uQ+Z%jQ+g%xQ+y&UQ,a&jQ,x&yW-i'h'p'q'tQ-p'lQ0Q*jQ0u+hS1r,b,eQ2Z,wQ2[,zQ2],{Q2q-hW2s-k-l-o-qQ4{0vQ5X1TQ5[1XQ5q1iQ5{1tQ6V1}U6f2r2u2xQ6i2vQ7r4|Q7z5ZQ7{5]Q8Q5fQ8[5rQ8b5zS8q6g6kQ8s6jQ9i7xQ9q8]Q9v8cQ9}8rQ:d9jQ:i9rQ:m:OR:z:jQ%xyQ'a!iQ'l!uU+h%y%z%{Q-P'SU-d'b'c'dS-h'h'rQ/w*eS0v+i+jQ2c-RS2o-e-fQ2v-mQ4b/{Q4|0wQ6b2iQ6e2pQ6j2wR7g4fS$wi=YR*w%VU%Ui%V=YR0_*uQ$viS(r#v+dS)`$b$cQ)b$dQ*X$xS*a${*VQ*p%OQ*q%QQ*{%]Q*|%^Q+Q%bQ.e;zQ.f;|Q.h<QQ.i<SQ.j<UQ/W)vS/])|/_Q/a*OQ/c*QQ/e*SQ/p*]S/u*c/gQ0]*sQ0^*th0m+a._1e3V5n6r8W8w9o:R:h:pQ1X+{Q1Z,OQ3Y<^Q3Z<`Q3[<cS3q;w;xQ3u.xQ4X/qQ4Y/rQ4^/tQ4k0XQ4m0ZQ4s0fQ5]1YQ5_1]Q6w<gQ6x<iQ6y<kQ6z<mQ7P;{Q7Q;}Q7S<RQ7T<TQ7U<VQ7Z4PQ7b4[Q7f4dQ7m4oQ7o4wQ7q4zQ8}<dQ9O<_Q9P<aQ9Z7aQ9b7jQ:T<hQ:U<jQ:V<lQ:W<nQ:X9VQ:^9`Q:b9eQ:q<qQ:v:`Q;R:wQ;U<rQ<z=YQ=W=bQ=X=cQ=d=fR=e=gQ*y%[Q.g<OR7R<PnpOXst!Z#d%k&o&q&r&t,l,q2O2RQ!fPS#fZ#oQ&y!`U'e!o5d8TQ'|#SQ(}#{Q)o$nS,e&h&kQ,j&lQ,w&xQ,|'QQ-`'_Q.q({Q/T)pS0j+W/hQ0p+bQ1z,iQ2m-bQ3T.`Q3z/OQ4q0cQ5l1fQ5}1vQ6O1wQ6S1yQ6U1{Q6Z2TQ6u3WQ7X3wQ8Y5oQ8f6PQ8g6QQ8i6TQ8{6vQ9p8ZR9z8j#YcOPXZst!Z!`!o#d#o#{%k&h&k&l&o&q&r&t&x'Q'_({+W+b,i,l,q-b.`/h0c1f1v1w1y1{2O2R2T3W5d5o6P6Q6T6v8T8Z8jQ#YWQ#eYQ%ouQ%qvS%sw!gS(P#W(SQ(V#ZQ(q#uQ(v#xQ)O$OQ)P$PQ)Q$QQ)R$RQ)S$SQ)T$TQ)U$UQ)V$VQ)W$WQ)X$XQ)Z$ZQ)]$_Q)_$aQ)d$eW)n$n)p/O3wQ+_%rQ+s&PS-S'U2dQ-q'oS-v(Q-xQ-{(YQ-}(aQ.l(uQ.o(wQ.s;aQ.u;dQ.v;eQ.w;hQ/Z)zQ0g+SQ2_,}Q2b-QQ2r-jQ2y.OQ3_.mQ3d;iQ3e;jQ3f;kQ3g;lQ3h;mQ3i;nQ3j;oQ3k;pQ3l;qQ3m;rQ3n;sQ3o.tQ3p;vQ3s;yQ3t<WQ3{;tQ4t0iQ4}0xQ6a<YQ6g2tQ6l2zQ6{3`Q6|<ZQ7V<]Q7W<eQ8P5bQ8n6_Q8r6hQ8|<fQ9S<oQ9T<pQ:O8tQ:e9kQ:l9|Q;c#SR=P=]R#[WR'W!el!tQ!r!v!y!z']'i'j'k-^-n1c5g5iS'S!e-US-R'T'[R2i-[R(x#xQ!fQT-]']-^]!qQ!r']-^1c5gQ#p]R'f;bR)c$dY!uQ']-^1c5gQ'h!rS'r!v!yS't!z5iS-m'i'jQ-o'kR2w-nT#kZ%cS#jZ%cS%im,hU(d#h#i#lS.R(e(fQ.V(gQ0k+XQ2|.SU2}.T.U.WS6n3O3PR8u6od#^W#W#Z%f(Q(Z*V+U-|/gr#gZm#h#i#l%c(e(f(g+X.S.T.U.W3O3P6oS*Y$x*^Q/n*ZQ1x,hQ2`-OQ4R/jQ6]2WQ7^4SQ8m6^T<w'U+VV#aW%f*VU#`W%f*VS(R#W(ZU(W#Z+U/gS-T'U+VT-w(Q-|V'Z!e%g*WQ$lfR)u$qT)j$l)kR3y.}T*[$x*^T*d${*VQ0n+aQ3R._Q5k1eQ6s3VQ8X5nQ8x6rQ9m8WQ:P8wQ:g9oQ:o:RQ:y:hR:|:pnqOXst!Z#d%k&o&q&r&t,l,q2O2RQ&i!VR,a&ftmOXst!U!V!Z#d%k&f&o&q&r&t,l,q2O2RR,h&lT%jm,hR1_,QR,`&dQ&S|R+x&TR+n%}T&m!W&pT&n!W&pT2Q,q2R",nodeNames:"\u26A0 ArithOp ArithOp ?. JSXStartTag LineComment BlockComment Script Hashbang ExportDeclaration export Star as VariableName String Escape from ; default FunctionDeclaration async function VariableDefinition > < 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:376,context:GQ,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:[NQ],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$<r#p#q$=h#q#r$>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(Rp(U!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(U!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU(U!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$h&j(RpOY(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(RpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX(Rp(U!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(Rp(U!b'w0/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(S#S$h&j'x0/lO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c07[.n_$h&j(Rp(U!b'x0/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(Rp(U!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(Rp(U!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(Rp(U!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_(Q':f$h&j(U!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k(^4r_$h&j(U!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(U!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!r8uZ(U!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p!r9oU$c`(U!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!r:UP;=`<%l8p(^:[P;=`<%l4k%9[:hh$h&j(Rp(U!bOY%ZYZ&cZq%Zqr<Srs&}st%ZtuCruw%Zwx(rx!^%Z!^!_*g!_!c%Z!c!}Cr!}#O%Z#O#P&c#P#R%Z#R#SCr#S#T%Z#T#oCr#o#p*g#p$g%Z$g;'SCr;'S;=`El<%lOCr(r<__WS$h&j(Rp(U!bOY<SYZ&cZr<Srs=^sw<Swx@nx!^<S!^!_Bm!_#O<S#O#P>`#P#o<S#o#pBm#p;'S<S;'S;=`Cl<%lO<S(Q=g]WS$h&j(U!bOY=^YZ&cZw=^wx>`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(U!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(RpOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWWS(RpOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYWS(Rp(U!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%l<S%9[C}i$h&j(j%1l(Rp(U!bOY%ZYZ&cZr%Zrs&}st%ZtuCruw%Zwx(rx!Q%Z!Q![Cr![!^%Z!^!_*g!_!c%Z!c!}Cr!}#O%Z#O#P&c#P#R%Z#R#SCr#S#T%Z#T#oCr#o#p*g#p$g%Z$g;'SCr;'S;=`El<%lOCr%9[EoP;=`<%lCr07[FRk$h&j(Rp(U!b$[#t(O,2j(`$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+dHRk$h&j(Rp(U!b$[#tOY%ZYZ&cZr%Zrs&}st%ZtuGvuw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Gv![!^%Z!^!_*g!_!c%Z!c!}Gv!}#O%Z#O#P&c#P#R%Z#R#SGv#S#T%Z#T#oGv#o#p*g#p$g%Z$g;'SGv;'S;=`Iv<%lOGv+dIyP;=`<%lGv07[JPP;=`<%lEr(KWJ_`$h&j(Rp(U!b#m(ChOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KWKl_$h&j$P(Ch(Rp(U!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,#xLva(u+JY$h&j(Rp(U!bOY%ZYZ&cZr%Zrs&}sv%ZvwM{wx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KWNW`$h&j#y(Ch(Rp(U!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'At! c_(T';W$h&j(RpOY!!bYZ!#hZr!!brs!#hsw!!bwx!$xx!^!!b!^!_!%z!_#O!!b#O#P!#h#P#o!!b#o#p!%z#p;'S!!b;'S;=`!'c<%lO!!b'l!!i_$h&j(RpOY!!bYZ!#hZr!!brs!#hsw!!bwx!$xx!^!!b!^!_!%z!_#O!!b#O#P!#h#P#o!!b#o#p!%z#p;'S!!b;'S;=`!'c<%lO!!b&z!#mX$h&jOw!#hwx6cx!^!#h!^!_!$Y!_#o!#h#o#p!$Y#p;'S!#h;'S;=`!$r<%lO!#h`!$]TOw!$Ywx7]x;'S!$Y;'S;=`!$l<%lO!$Y`!$oP;=`<%l!$Y&z!$uP;=`<%l!#h'l!%R]$c`$h&j(RpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(r!Q!&PZ(RpOY!%zYZ!$YZr!%zrs!$Ysw!%zwx!&rx#O!%z#O#P!$Y#P;'S!%z;'S;=`!']<%lO!%z!Q!&yU$c`(RpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)r!Q!'`P;=`<%l!%z'l!'fP;=`<%l!!b/5|!'t_!i/.^$h&j(Rp(U!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#&U!)O_!h!Lf$h&j(Rp(U!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-!n!*[b$h&j(Rp(U!b(P%&f#n(ChOY%ZYZ&cZr%Zrs&}sw%Zwx(rxz%Zz{!+d{!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW!+o`$h&j(Rp(U!b#k(ChOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z+;x!,|`$h&j(Rp(U!bo+4YOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z,$U!.Z_!Y+Jf$h&j(Rp(U!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[!/ec$h&j(Rp(U!b}.2^OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!0p!P!Q%Z!Q![!3Y![!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#%|!0ya$h&j(Rp(U!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!2O!P!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#%|!2Z_!X!L^$h&j(Rp(U!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'Ad!3eg$h&j(Rp(U!bp'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!3Y![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S!3Y#S#X%Z#X#Y!4|#Y#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!5Vg$h&j(Rp(U!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx{%Z{|!6n|}%Z}!O!6n!O!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!6wc$h&j(Rp(U!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!8_c$h&j(Rp(U!bp'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[!9uf$h&j(Rp(U!b#l(ChOY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcxz!;Zz{#-}{!P!;Z!P!Q#/d!Q!^!;Z!^!_#(i!_!`#7S!`!a#8i!a!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z?O!;fb$h&j(Rp(U!b!U7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z>^!<w`$h&j(U!b!U7`OY!<nYZ&cZw!<nwx!=yx!P!<n!P!Q!Eq!Q!^!<n!^!_!Gr!_!}!<n!}#O!KS#O#P!Dy#P#o!<n#o#p!Gr#p;'S!<n;'S;=`!L]<%lO!<n<z!>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<z!?Td$h&j!U7`O!^&c!_#W&c#W#X!>|#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<z!C][$h&jOY!CWYZ&cZ!^!CW!^!_!Ar!_#O!CW#O#P!DR#P#Q!=y#Q#o!CW#o#p!Ar#p;'S!CW;'S;=`!Ds<%lO!CW<z!DWX$h&jOY!CWYZ&cZ!^!CW!^!_!Ar!_#o!CW#o#p!Ar#p;'S!CW;'S;=`!Ds<%lO!CW<z!DvP;=`<%l!CW<z!EOX$h&jOY!=yYZ&cZ!^!=y!^!_!@c!_#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y<z!EnP;=`<%l!=y>^!Ezl$h&j(U!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(U!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(U!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(U!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(U!bOY!KSYZ&cZw!KSwx!CWx!^!KS!^!_!JU!_#O!KS#O#P!DR#P#Q!<n#Q#o!KS#o#p!JU#p;'S!KS;'S;=`!LV<%lO!KS>^!LYP;=`<%l!KS>^!L`P;=`<%l!<n=l!Ll`$h&j(Rp!U7`OY!LcYZ&cZr!Lcrs!=ys!P!Lc!P!Q!Mn!Q!^!Lc!^!_# o!_!}!Lc!}#O#%P#O#P!Dy#P#o!Lc#o#p# o#p;'S!Lc;'S;=`#&Y<%lO!Lc=l!Mwl$h&j(Rp!U7`OY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#W(r#W#X!Mn#X#Z(r#Z#[!Mn#[#](r#]#^!Mn#^#a(r#a#b!Mn#b#g(r#g#h!Mn#h#i(r#i#j!Mn#j#k!Mn#k#m(r#m#n!Mn#n#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(r8Q# vZ(Rp!U7`OY# oZr# ors!@cs!P# o!P!Q#!i!Q!}# o!}#O#$R#O#P!Bq#P;'S# o;'S;=`#$y<%lO# o8Q#!pe(Rp!U7`OY)rZr)rs#O)r#P#W)r#W#X#!i#X#Z)r#Z#[#!i#[#])r#]#^#!i#^#a)r#a#b#!i#b#g)r#g#h#!i#h#i)r#i#j#!i#j#k#!i#k#m)r#m#n#!i#n;'S)r;'S;=`*Z<%lO)r8Q#$WX(RpOY#$RZr#$Rrs!Ars#O#$R#O#P!B[#P#Q# o#Q;'S#$R;'S;=`#$s<%lO#$R8Q#$vP;=`<%l#$R8Q#$|P;=`<%l# o=l#%W^$h&j(RpOY#%PYZ&cZr#%Prs!CWs!^#%P!^!_#$R!_#O#%P#O#P!DR#P#Q!Lc#Q#o#%P#o#p#$R#p;'S#%P;'S;=`#&S<%lO#%P=l#&VP;=`<%l#%P=l#&]P;=`<%l!Lc?O#&kn$h&j(Rp(U!b!U7`OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#W%Z#W#X#&`#X#Z%Z#Z#[#&`#[#]%Z#]#^#&`#^#a%Z#a#b#&`#b#g%Z#g#h#&`#h#i%Z#i#j#&`#j#k#&`#k#m%Z#m#n#&`#n#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z9d#(r](Rp(U!b!U7`OY#(iZr#(irs!Grsw#(iwx# ox!P#(i!P!Q#)k!Q!}#(i!}#O#+`#O#P!Bq#P;'S#(i;'S;=`#,`<%lO#(i9d#)th(Rp(U!b!U7`OY*gZr*grs'}sw*gwx)rx#O*g#P#W*g#W#X#)k#X#Z*g#Z#[#)k#[#]*g#]#^#)k#^#a*g#a#b#)k#b#g*g#g#h#)k#h#i*g#i#j#)k#j#k#)k#k#m*g#m#n#)k#n;'S*g;'S;=`+Z<%lO*g9d#+gZ(Rp(U!bOY#+`Zr#+`rs!JUsw#+`wx#$Rx#O#+`#O#P!B[#P#Q#(i#Q;'S#+`;'S;=`#,Y<%lO#+`9d#,]P;=`<%l#+`9d#,cP;=`<%l#(i?O#,o`$h&j(Rp(U!bOY#,fYZ&cZr#,frs!KSsw#,fwx#%Px!^#,f!^!_#+`!_#O#,f#O#P!DR#P#Q!;Z#Q#o#,f#o#p#+`#p;'S#,f;'S;=`#-q<%lO#,f?O#-tP;=`<%l#,f?O#-zP;=`<%l!;Z07[#.[b$h&j(Rp(U!b'y0/l!U7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z07[#/o_$h&j(Rp(U!bT0/lOY#/dYZ&cZr#/drs#0nsw#/dwx#4Ox!^#/d!^!_#5}!_#O#/d#O#P#1p#P#o#/d#o#p#5}#p;'S#/d;'S;=`#6|<%lO#/d06j#0w]$h&j(U!bT0/lOY#0nYZ&cZw#0nwx#1px!^#0n!^!_#3R!_#O#0n#O#P#1p#P#o#0n#o#p#3R#p;'S#0n;'S;=`#3x<%lO#0n05W#1wX$h&jT0/lOY#1pYZ&cZ!^#1p!^!_#2d!_#o#1p#o#p#2d#p;'S#1p;'S;=`#2{<%lO#1p0/l#2iST0/lOY#2dZ;'S#2d;'S;=`#2u<%lO#2d0/l#2xP;=`<%l#2d05W#3OP;=`<%l#1p01O#3YW(U!bT0/lOY#3RZw#3Rwx#2dx#O#3R#O#P#2d#P;'S#3R;'S;=`#3r<%lO#3R01O#3uP;=`<%l#3R06j#3{P;=`<%l#0n05x#4X]$h&j(RpT0/lOY#4OYZ&cZr#4Ors#1ps!^#4O!^!_#5Q!_#O#4O#O#P#1p#P#o#4O#o#p#5Q#p;'S#4O;'S;=`#5w<%lO#4O00^#5XW(RpT0/lOY#5QZr#5Qrs#2ds#O#5Q#O#P#2d#P;'S#5Q;'S;=`#5q<%lO#5Q00^#5tP;=`<%l#5Q05x#5zP;=`<%l#4O01p#6WY(Rp(U!bT0/lOY#5}Zr#5}rs#3Rsw#5}wx#5Qx#O#5}#O#P#2d#P;'S#5};'S;=`#6v<%lO#5}01p#6yP;=`<%l#5}07[#7PP;=`<%l#/d)3h#7ab$h&j$P(Ch(Rp(U!b!U7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;ZAt#8vb$Y#t$h&j(Rp(U!b!U7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z'Ad#:Zp$h&j(Rp(U!bp'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!3Y!P!Q%Z!Q![#<_![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S#<_#S#U%Z#U#V#?i#V#X%Z#X#Y!4|#Y#b%Z#b#c#>_#c#d#Bq#d#l%Z#l#m#Es#m#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#<jk$h&j(Rp(U!bp'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!3Y!P!Q%Z!Q![#<_![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S#<_#S#X%Z#X#Y!4|#Y#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#>j_$h&j(Rp(U!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(Rp(U!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(Rp(U!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(Rp(U!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(Rp(U!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(Rp(U!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(Rp(U!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(Rp(U!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(Rp(U!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-<U(Rp(U!b(y7`OY*gZr*grs'}sw*gwx)rx!P*g!P!Q#MO!Q!^*g!^!_#Mt!_!`$ f!`#O*g#P;'S*g;'S;=`+Z<%lO*g(n#MXX$j&j(Rp(U!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g(El#M}Z#o(Ch(Rp(U!bOY*gZr*grs'}sw*gwx)rx!_*g!_!`#Np!`#O*g#P;'S*g;'S;=`+Z<%lO*g(El#NyX$P(Ch(Rp(U!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g(El$ oX#p(Ch(Rp(U!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g*)x$!ga#]*!Y$h&j(Rp(U!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`!a$#l!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(K[$#w_#h(Cl$h&j(Rp(U!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*)x$%Vag!*r#p(Ch$e#|$h&j(Rp(U!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`$&[!`!a$'f!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$&g_#p(Ch$h&j(Rp(U!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(KW$'qa#o(Ch$h&j(Rp(U!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`!a$(v!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$)R`#o(Ch$h&j(Rp(U!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(Kd$*`a(m(Ct$h&j(Rp(U!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!a%Z!a!b$+e!b#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$+p`$h&j#z(Ch(Rp(U!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#`$,}_!y$Ip$h&j(Rp(U!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$.X_!P0,v$h&j(Rp(U!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(n$/]Z$h&jO!^$0O!^!_$0f!_#i$0O#i#j$0k#j#l$0O#l#m$2^#m#o$0O#o#p$0f#p;'S$0O;'S;=`$4i<%lO$0O(n$0VT_#S$h&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c#S$0kO_#S(n$0p[$h&jO!Q&c!Q![$1f![!^&c!_!c&c!c!i$1f!i#T&c#T#Z$1f#Z#o&c#o#p$3|#p;'S&c;'S;=`&w<%lO&c(n$1kZ$h&jO!Q&c!Q![$2^![!^&c!_!c&c!c!i$2^!i#T&c#T#Z$2^#Z#o&c#p;'S&c;'S;=`&w<%lO&c(n$2cZ$h&jO!Q&c!Q![$3U![!^&c!_!c&c!c!i$3U!i#T&c#T#Z$3U#Z#o&c#p;'S&c;'S;=`&w<%lO&c(n$3ZZ$h&jO!Q&c!Q![$0O![!^&c!_!c&c!c!i$0O!i#T&c#T#Z$0O#Z#o&c#p;'S&c;'S;=`&w<%lO&c#S$4PR!Q![$4Y!c!i$4Y#T#Z$4Y#S$4]S!Q![$4Y!c!i$4Y#T#Z$4Y#q#r$0f(n$4lP;=`<%l$0O#1[$4z_!V#)l$h&j(Rp(U!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(KW$6U`#w(Ch$h&j(Rp(U!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z+;p$7c_$h&j(Rp(U!b([+4QOY%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[$8qk$h&j(Rp(U!b(O,2j$^#t(`$I[OY%ZYZ&cZr%Zrs&}st%Ztu$8buw%Zwx(rx}%Z}!O$:f!O!Q%Z!Q![$8b![!^%Z!^!_*g!_!c%Z!c!}$8b!}#O%Z#O#P&c#P#R%Z#R#S$8b#S#T%Z#T#o$8b#o#p*g#p$g%Z$g;'S$8b;'S;=`$<l<%lO$8b+d$:qk$h&j(Rp(U!b$^#tOY%ZYZ&cZr%Zrs&}st%Ztu$:fuw%Zwx(rx}%Z}!O$:f!O!Q%Z!Q![$:f![!^%Z!^!_*g!_!c%Z!c!}$:f!}#O%Z#O#P&c#P#R%Z#R#S$:f#S#T%Z#T#o$:f#o#p*g#p$g%Z$g;'S$:f;'S;=`$<f<%lO$:f+d$<iP;=`<%l$:f07[$<oP;=`<%l$8b#Jf$<{X![#Hb(Rp(U!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g,#x$=sa(t+JY$h&j(Rp(U!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p#q$+e#q;'S%Z;'S;=`+a<%lO%Z)>v$?V_!Z(CdsBr$h&j(Rp(U!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(Rp(U!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(Rp(U!b'w0/l$[#t(O,2j(`$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(Rp(U!b'x0/l$[#t(O,2j(`$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:[DQ,IQ,BQ,2,3,4,5,6,7,8,9,10,11,12,13,14,LQ,new Et("$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,335),new Et("j~RQYZXz{^~^O'{~~aP!P!Qd~iO'|~~",25,318)],topRules:{Script:[0,7],SingleExpression:[1,272],SingleClassItem:[2,273]},dialects:{jsx:0,ts:14791},dynamicPrecedences:{77:1,79:1,91:1,167:1,196:1},specialized:[{term:322,get:i=>FQ[i]||-1},{term:338,get:i=>HQ[i]||-1},{term:92,get:i=>KQ[i]||-1}],tokenPrec:14815});var Ir=class{constructor(e,t,n,r){this.state=e,this.pos=t,this.explicit=n,this.view=r,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let t=L(this.state).resolveInner(this.pos,-1);for(;t&&e.indexOf(t.name)<0;)t=t.parent;return t?{from:t.from,to:this.pos,text:this.state.sliceDoc(t.from,this.pos),type:t.type}:null}matchBefore(e){let t=this.state.doc.lineAt(this.pos),n=Math.max(t.from,this.pos-250),r=t.text.slice(n-t.from,this.pos-t.from),s=r.search(eS(e,!1));return s<0?null:{from:n+s,to:this.pos,text:r.slice(s)}}get aborted(){return this.abortListeners==null}addEventListener(e,t,n){e=="abort"&&this.abortListeners&&(this.abortListeners.push(t),n&&n.onDocChange&&(this.abortOnDocChange=!0))}};function jf(i){let e=Object.keys(i).join(""),t=/\w/.test(e);return t&&(e=e.replace(/\w/g,"")),`[${t?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function JQ(i){let e=Object.create(null),t=Object.create(null);for(let{label:r}of i){e[r[0]]=!0;for(let s=1;s<r.length;s++)t[r[s]]=!0}let n=jf(e)+jf(t)+"*$";return[new RegExp("^"+n),new RegExp(n)]}function Mf(i){let e=i.map(r=>typeof r=="string"?{label:r}:r),[t,n]=e.every(r=>/^\w+$/.test(r.label))?[/\w*$/,/\w+$/]:JQ(e);return r=>{let s=r.matchBefore(n);return s||r.explicit?{from:s?s.from:r.pos,options:e,validFor:t}:null}}function Gf(i,e){return t=>{for(let n=L(t.state).resolveInner(t.pos,-1);n;n=n.parent){if(i.indexOf(n.name)>-1)return null;if(n.type.isTop)break}return e(t)}}function eS(i,e){var t;let{source:n}=i,r=e&&n[0]!="^",s=n[n.length-1]!="$";return!r&&!s?i:new RegExp(`${r?"^":""}(?:${n})${s?"$":""}`,(t=i.flags)!==null&&t!==void 0?t:i.ignoreCase?"i":"")}var tS=ke.define();var e1=typeof navigator=="object"&&/Win/.test(navigator.platform);var iS=v.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:'"\xB7\xB7\xB7"',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:"'\u0192'"}},".cm-completionIcon-class":{"&:after":{content:"'\u25CB'"}},".cm-completionIcon-interface":{"&:after":{content:"'\u25CC'"}},".cm-completionIcon-variable":{"&:after":{content:"'\u{1D465}'"}},".cm-completionIcon-constant":{"&:after":{content:"'\u{1D436}'"}},".cm-completionIcon-type":{"&:after":{content:"'\u{1D461}'"}},".cm-completionIcon-enum":{"&:after":{content:"'\u222A'"}},".cm-completionIcon-property":{"&:after":{content:"'\u25A1'"}},".cm-completionIcon-keyword":{"&:after":{content:"'\u{1F511}\uFE0E'"}},".cm-completionIcon-namespace":{"&:after":{content:"'\u25A2'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}}),RO=class{constructor(e,t,n,r){this.field=e,this.line=t,this.from=n,this.to=r}},WO=class i{constructor(e,t,n){this.field=e,this.from=t,this.to=n}map(e){let t=e.mapPos(this.from,-1,ae.TrackDel),n=e.mapPos(this.to,1,ae.TrackDel);return t==null||n==null?null:new i(this.field,t,n)}},XO=class i{constructor(e,t){this.lines=e,this.fieldPositions=t}instantiate(e,t){let n=[],r=[t],s=e.doc.lineAt(t),o=/^\s*/.exec(s.text)[0];for(let a of this.lines){if(n.length){let l=o,h=/^\t*/.exec(a)[0].length;for(let c=0;c<h;c++)l+=e.facet(Ut);r.push(t+l.length-h),a=l+a.slice(h)}n.push(a),t+=a.length+1}let O=this.fieldPositions.map(a=>new WO(a.field,r[a.line]+a.from,r[a.line]+a.to));return{text:n,ranges:O}}static parse(e){let t=[],n=[],r=[],s;for(let o of e.split(/\r\n?|\n/)){for(;s=/[#$]\{(?:(\d+)(?::([^}]*))?|((?:\\[{}]|[^}])*))\}/.exec(o);){let O=s[1]?+s[1]:null,a=s[2]||s[3]||"",l=-1,h=a.replace(/\\[{}]/g,c=>c[1]);for(let c=0;c<t.length;c++)(O!=null?t[c].seq==O:h&&t[c].name==h)&&(l=c);if(l<0){let c=0;for(;c<t.length&&(O==null||t[c].seq!=null&&t[c].seq<O);)c++;t.splice(c,0,{seq:O,name:h}),l=c;for(let f of r)f.field>=l&&f.field++}r.push(new RO(l,n.length,s.index,s.index+h.length)),o=o.slice(0,s.index)+a+o.slice(s.index+s[0].length)}o=o.replace(/\\([{}])/g,(O,a,l)=>{for(let h of r)h.line==n.length&&h.from>l&&(h.from--,h.to--);return a}),n.push(o)}return new i(n,r)}},nS=j.widget({widget:new class extends Wt{toDOM(){let i=document.createElement("span");return i.className="cm-snippetFieldPosition",i}ignoreEvent(){return!1}}}),rS=j.mark({class:"cm-snippetField"}),Wi=class i{constructor(e,t){this.ranges=e,this.active=t,this.deco=j.set(e.map(n=>(n.from==n.to?nS:rS).range(n.from,n.to)))}map(e){let t=[];for(let n of this.ranges){let r=n.map(e);if(!r)return null;t.push(r)}return new i(t,this.active)}selectionInsideField(e){return e.ranges.every(t=>this.ranges.some(n=>n.field==this.active&&n.from<=t.from&&n.to>=t.to))}},kn=D.define({map(i,e){return i&&i.map(e)}}),sS=D.define(),xn=$e.define({create(){return null},update(i,e){for(let t of e.effects){if(t.is(kn))return t.value;if(t.is(sS)&&i)return new Wi(i.ranges,t.value)}return i&&e.docChanged&&(i=i.map(e.changes)),i&&e.selection&&!i.selectionInsideField(e.selection)&&(i=null),i},provide:i=>v.decorations.from(i,e=>e?e.deco:j.none)});function ZO(i,e){return S.create(i.filter(t=>t.field==e).map(t=>S.range(t.from,t.to)))}function oS(i){let e=XO.parse(i);return(t,n,r,s)=>{let{text:o,ranges:O}=e.instantiate(t.state,r),a={changes:{from:r,to:s,insert:Y.of(o)},scrollIntoView:!0,annotations:n?[tS.of(n),ne.userEvent.of("input.complete")]:void 0};if(O.length&&(a.selection=ZO(O,0)),O.some(l=>l.field>0)){let l=new Wi(O,0),h=a.effects=[kn.of(l)];t.state.field(xn,!1)===void 0&&h.push(D.appendConfig.of([xn,cS,fS,iS]))}t.dispatch(t.state.update(a))}}function Lf(i){return({state:e,dispatch:t})=>{let n=e.field(xn,!1);if(!n||i<0&&n.active==0)return!1;let r=n.active+i,s=i>0&&!n.ranges.some(o=>o.field==r+i);return t(e.update({selection:ZO(n.ranges,r),effects:kn.of(s?null:new Wi(n.ranges,r)),scrollIntoView:!0})),!0}}var OS=({state:i,dispatch:e})=>i.field(xn,!1)?(e(i.update({effects:kn.of(null)})),!0):!1,aS=Lf(1),lS=Lf(-1);var hS=[{key:"Tab",run:aS,shift:lS},{key:"Escape",run:OS}],Ef=R.define({combine(i){return i.length?i[0]:hS}}),cS=nt.highest(ht.compute([Ef],i=>i.facet(Ef)));function Pe(i,e){return Object.assign(Object.assign({},e),{apply:oS(i)})}var fS=v.domEventHandlers({mousedown(i,e){let t=e.state.field(xn,!1),n;if(!t||(n=e.posAtCoords({x:i.clientX,y:i.clientY}))==null)return!1;let r=t.ranges.find(s=>s.from<=n&&s.to>=n);return!r||r.field==t.active?!1:(e.dispatch({selection:ZO(t.ranges,r.field),effects:kn.of(t.ranges.some(s=>s.field>r.field)?new Wi(t.ranges,r.field):null),scrollIntoView:!0}),!0)}});var Df=new class extends Ne{};Df.startSide=1;Df.endSide=-1;var t1=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent);var Ff=[Pe("function ${name}(${params}) {\n ${}\n}",{label:"function",detail:"definition",type:"keyword"}),Pe("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n ${}\n}",{label:"for",detail:"loop",type:"keyword"}),Pe("for (let ${name} of ${collection}) {\n ${}\n}",{label:"for",detail:"of loop",type:"keyword"}),Pe("do {\n ${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),Pe("while (${}) {\n ${}\n}",{label:"while",detail:"loop",type:"keyword"}),Pe(`try { +`);n>-1&&(t=t.slice(0,n))}return e+t.length<=this.to?t:t.slice(0,this.to-e)}nextLine(){let e=this.parsedPos,t=this.lineAfter(e),n=e+t.length;for(let r=this.rangeIndex;;){let s=this.ranges[r].to;if(s>=n||(t=t.slice(0,s-(n-t.length)),r++,r==this.ranges.length))break;let o=this.ranges[r].from,O=this.lineAfter(o);t+=O,n=o+O.length}return{line:t,end:n}}skipGapsTo(e,t,n){for(;;){let r=this.ranges[this.rangeIndex].to,s=e+t;if(n>0?r>s:r>=s)break;let o=this.ranges[++this.rangeIndex].from;t+=o-r}return t}moveRangeIndex(){for(;this.ranges[this.rangeIndex].to<this.parsedPos;)this.rangeIndex++}emitToken(e,t,n,r){let s=4;if(this.ranges.length>1){r=this.skipGapsTo(t,r,1),t+=r;let O=this.chunk.length;r=this.skipGapsTo(n,r,-1),n+=r,s+=this.chunk.length-O}let o=this.chunk.length-4;return s==4&&o>=0&&this.chunk[o]==e&&this.chunk[o+2]==t?this.chunk[o+2]=n:this.chunk.push(e,t,n,s),r}parseLine(e){let{line:t,end:n}=this.nextLine(),r=0,{streamParser:s}=this.lang,o=new qr(t,e?e.state.tabSize:4,e?At(e.state):2);if(o.eol())s.blankLine(this.state,o.indentUnit);else for(;!o.eol();){let O=Qc(s.token,o,this.state);if(O&&(r=this.emitToken(this.lang.tokenTable.resolve(O),this.parsedPos+o.start,this.parsedPos+o.pos,r)),o.start>1e4)break}this.parsedPos=n,this.moveRangeIndex(),this.parsedPos<this.to&&this.parsedPos++}finishChunk(){let e=V.build({buffer:this.chunk,start:this.chunkStart,length:this.parsedPos-this.chunkStart,nodeSet:zg,topID:0,maxBufferLength:2048,reused:this.chunkReused});e=new V(e.type,e.children,e.positions,e.length,[[this.lang.stateAfter,this.lang.streamParser.copyState(this.state)]]),this.chunks.push(e),this.chunkPos.push(this.chunkStart-this.ranges[0].from),this.chunk=[],this.chunkReused=void 0,this.chunkStart=this.parsedPos}finish(){return new V(this.lang.topNode,this.chunks,this.chunkPos,this.parsedPos-this.ranges[0].from).balance()}};function Qc(i,e,t){e.start=e.pos;for(let n=0;n<10;n++){let r=i(e,t);if(e.pos>e.start)return r}throw new Error("Stream parser failed to advance stream.")}var rO=Object.create(null),mn=[ie.none],zg=new St(mn),oc=[],Oc=Object.create(null),Sc=Object.create(null);for(let[i,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])Sc[i]=yc(rO,e);var Cr=class{constructor(e){this.extra=e,this.table=Object.assign(Object.create(null),Sc)}resolve(e){return e?this.table[e]||(this.table[e]=yc(this.extra,e)):0}},Xg=new Cr(rO);function Do(i,e){oc.indexOf(i)>-1||(oc.push(i),console.warn(e))}function yc(i,e){let t=[];for(let O of e.split(" ")){let l=[];for(let a of O.split(".")){let h=i[a]||u[a];h?typeof h=="function"?l.length?l=l.map(h):Do(a,`Modifier ${a} used at start of tag`):l.length?Do(a,`Tag ${a} used as modifier`):l=Array.isArray(h)?h:[h]:Do(a,`Unknown highlighting tag ${a}`)}for(let a of l)t.push(a)}if(!t.length)return 0;let n=e.replace(/ /g,"_"),r=n+" "+t.map(O=>O.id),s=Oc[r];if(s)return s.id;let o=Oc[r]=ie.define({id:mn.length,name:n,props:[se({[n]:t})]});return mn.push(o),o.id}function Rg(i,e){let t=ie.define({id:mn.length,name:"Document",props:[bt.add(()=>i),de.add(()=>n=>e.getIndent(n))],top:!0});return mn.push(t),t}var hb={rtl:_.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"rtl"},bidiIsolate:ee.RTL}),ltr:_.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"ltr"},bidiIsolate:ee.LTR}),auto:_.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"auto"},bidiIsolate:null})};var Zg=i=>{let{state:e}=i,t=e.doc.lineAt(e.selection.main.from),n=cO(i.state,t.from);return n.line?Wg(i):n.block?Vg(i):!1};function hO(i,e){return({state:t,dispatch:n})=>{if(t.readOnly)return!1;let r=i(e,t);return r?(n(t.update(r)),!0):!1}}var Wg=hO(Ag,0);var qg=hO(Xc,0);var Vg=hO((i,e)=>Xc(i,e,Ug(e)),0);function cO(i,e){let t=i.languageDataAt("commentTokens",e);return t.length?t[0]:{}}var Qn=50;function Cg(i,{open:e,close:t},n,r){let s=i.sliceDoc(n-Qn,n),o=i.sliceDoc(r,r+Qn),O=/\s*$/.exec(s)[0].length,l=/^\s*/.exec(o)[0].length,a=s.length-O;if(s.slice(a-e.length,a)==e&&o.slice(l,l+t.length)==t)return{open:{pos:n-O,margin:O&&1},close:{pos:r+l,margin:l&&1}};let h,c;r-n<=2*Qn?h=c=i.sliceDoc(n,r):(h=i.sliceDoc(n,n+Qn),c=i.sliceDoc(r-Qn,r));let f=/^\s*/.exec(h)[0].length,d=/\s*$/.exec(c)[0].length,p=c.length-d-t.length;return h.slice(f,f+e.length)==e&&c.slice(p,p+t.length)==t?{open:{pos:n+f+e.length,margin:/\s/.test(h.charAt(f+e.length))?1:0},close:{pos:r-d-t.length,margin:/\s/.test(c.charAt(p-1))?1:0}}:null}function Ug(i){let e=[];for(let t of i.selection.ranges){let n=i.doc.lineAt(t.from),r=t.to<=n.to?n:i.doc.lineAt(t.to);r.from>n.from&&r.from==t.to&&(r=t.to==n.to+1?n:i.doc.lineAt(t.to-1));let s=e.length-1;s>=0&&e[s].to>n.from?e[s].to=r.to:e.push({from:n.from+/^\s*/.exec(n.text)[0].length,to:r.to})}return e}function Xc(i,e,t=e.selection.ranges){let n=t.map(s=>cO(e,s.from).block);if(!n.every(s=>s))return null;let r=t.map((s,o)=>Cg(e,n[o],s.from,s.to));if(i!=2&&!r.every(s=>s))return{changes:e.changes(t.map((s,o)=>r[o]?[]:[{from:s.from,insert:n[o].open+" "},{from:s.to,insert:" "+n[o].close}]))};if(i!=1&&r.some(s=>s)){let s=[];for(let o=0,O;o<r.length;o++)if(O=r[o]){let l=n[o],{open:a,close:h}=O;s.push({from:a.pos-l.open.length,to:a.pos+a.margin},{from:h.pos-h.margin,to:h.pos+l.close.length})}return{changes:s}}return null}function Ag(i,e,t=e.selection.ranges){let n=[],r=-1;for(let{from:s,to:o}of t){let O=n.length,l=1e9,a=cO(e,s).line;if(a){for(let h=s;h<=o;){let c=e.doc.lineAt(h);if(c.from>r&&(s==o||o>c.from)){r=c.from;let f=/^\s*/.exec(c.text)[0].length,d=f==c.length,p=c.text.slice(f,f+a.length)==a?f:-1;f<c.text.length&&f<l&&(l=f),n.push({line:c,comment:p,token:a,indent:f,empty:d,single:!1})}h=c.to+1}if(l<1e9)for(let h=O;h<n.length;h++)n[h].indent<n[h].line.text.length&&(n[h].indent=l);n.length==O+1&&(n[O].single=!0)}}if(i!=2&&n.some(s=>s.comment<0&&(!s.empty||s.single))){let s=[];for(let{line:O,token:l,indent:a,empty:h,single:c}of n)(c||!h)&&s.push({from:O.from+a,insert:l+" "});let o=e.changes(s);return{changes:o,selection:e.selection.map(o,1)}}else if(i!=1&&n.some(s=>s.comment>=0)){let s=[];for(let{line:o,comment:O,token:l}of n)if(O>=0){let a=o.from+O,h=a+l.length;o.text[h-o.from]==" "&&h++,s.push({from:a,to:h})}return{changes:s}}return null}var oO=xe.define(),Yg=xe.define(),_g=X.define(),Rc=X.define({combine(i){return Tt(i,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(n,r)=>e(n,r)||t(n,r)})}}),Zc=Qe.define({create(){return Oi.empty},update(i,e){let t=e.state.facet(Rc),n=e.annotation(oO);if(n){let l=Ke.fromTransaction(e,n.selection),a=n.side,h=a==0?i.undone:i.done;return l?h=_r(h,h.length,t.minDepth,l):h=Cc(h,e.startState.selection),new Oi(a==0?n.rest:h,a==0?h:n.rest)}let r=e.annotation(Yg);if((r=="full"||r=="before")&&(i=i.isolate()),e.annotation(ne.addToHistory)===!1)return e.changes.empty?i:i.addMapping(e.changes.desc);let s=Ke.fromTransaction(e),o=e.annotation(ne.time),O=e.annotation(ne.userEvent);return s?i=i.addChanges(s,o,O,t,e):e.selection&&(i=i.addSelection(e.startState.selection,o,O,t.newGroupDelay)),(r=="full"||r=="after")&&(i=i.isolate()),i},toJSON(i){return{done:i.done.map(e=>e.toJSON()),undone:i.undone.map(e=>e.toJSON())}},fromJSON(i){return new Oi(i.done.map(Ke.fromJSON),i.undone.map(Ke.fromJSON))}});function Wc(i={}){return[Zc,Rc.of(i),v.domEventHandlers({beforeinput(e,t){let n=e.inputType=="historyUndo"?qc:e.inputType=="historyRedo"?OO:null;return n?(e.preventDefault(),n(t)):!1}})]}function jr(i,e){return function({state:t,dispatch:n}){if(!e&&t.readOnly)return!1;let r=t.field(Zc,!1);if(!r)return!1;let s=r.pop(i,t,e);return s?(n(s),!0):!1}}var qc=jr(0,!1),OO=jr(1,!1),jg=jr(0,!0),Mg=jr(1,!0);var Ke=class i{constructor(e,t,n,r,s){this.changes=e,this.effects=t,this.mapped=n,this.startSelection=r,this.selectionsAfter=s}setSelAfter(e){return new i(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,n;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(t=this.mapped)===null||t===void 0?void 0:t.toJSON(),startSelection:(n=this.startSelection)===null||n===void 0?void 0:n.toJSON(),selectionsAfter:this.selectionsAfter.map(r=>r.toJSON())}}static fromJSON(e){return new i(e.changes&&$e.fromJSON(e.changes),[],e.mapped&&mt.fromJSON(e.mapped),e.startSelection&&S.fromJSON(e.startSelection),e.selectionsAfter.map(S.fromJSON))}static fromTransaction(e,t){let n=Ge;for(let r of e.startState.facet(_g)){let s=r(e);s.length&&(n=n.concat(s))}return!n.length&&e.changes.empty?null:new i(e.changes.invert(e.startState.doc),n,void 0,t||e.startState.selection,Ge)}static selection(e){return new i(void 0,Ge,void 0,void 0,e)}};function _r(i,e,t,n){let r=e+1>t+20?e-t-1:0,s=i.slice(r,e);return s.push(n),s}function Eg(i,e){let t=[],n=!1;return i.iterChangedRanges((r,s)=>t.push(r,s)),e.iterChangedRanges((r,s,o,O)=>{for(let l=0;l<t.length;){let a=t[l++],h=t[l++];O>=a&&o<=h&&(n=!0)}}),n}function Lg(i,e){return i.ranges.length==e.ranges.length&&i.ranges.filter((t,n)=>t.empty!=e.ranges[n].empty).length===0}function Vc(i,e){return i.length?e.length?i.concat(e):i:e}var Ge=[],Gg=200;function Cc(i,e){if(i.length){let t=i[i.length-1],n=t.selectionsAfter.slice(Math.max(0,t.selectionsAfter.length-Gg));return n.length&&n[n.length-1].eq(e)?i:(n.push(e),_r(i,i.length-1,1e9,t.setSelAfter(n)))}else return[Ke.selection([e])]}function Bg(i){let e=i[i.length-1],t=i.slice();return t[i.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),t}function sO(i,e){if(!i.length)return i;let t=i.length,n=Ge;for(;t;){let r=Dg(i[t-1],e,n);if(r.changes&&!r.changes.empty||r.effects.length){let s=i.slice(0,t);return s[t-1]=r,s}else e=r.mapped,t--,n=r.selectionsAfter}return n.length?[Ke.selection(n)]:Ge}function Dg(i,e,t){let n=Vc(i.selectionsAfter.length?i.selectionsAfter.map(O=>O.map(e)):Ge,t);if(!i.changes)return Ke.selection(n);let r=i.changes.map(e),s=e.mapDesc(i.changes,!0),o=i.mapped?i.mapped.composeDesc(s):s;return new Ke(r,B.mapEffects(i.effects,e),o,i.startSelection.map(s),n)}var Ig=/^(input\.type|delete)($|\.)/,Oi=class i{constructor(e,t,n=0,r=void 0){this.done=e,this.undone=t,this.prevTime=n,this.prevUserEvent=r}isolate(){return this.prevTime?new i(this.done,this.undone):this}addChanges(e,t,n,r,s){let o=this.done,O=o[o.length-1];return O&&O.changes&&!O.changes.empty&&e.changes&&(!n||Ig.test(n))&&(!O.selectionsAfter.length&&t-this.prevTime<r.newGroupDelay&&r.joinToEvent(s,Eg(O.changes,e.changes))||n=="input.type.compose")?o=_r(o,o.length-1,r.minDepth,new Ke(e.changes.compose(O.changes),Vc(B.mapEffects(e.effects,O.changes),O.effects),O.mapped,O.startSelection,Ge)):o=_r(o,o.length,r.minDepth,e),new i(o,Ge,t,n)}addSelection(e,t,n,r){let s=this.done.length?this.done[this.done.length-1].selectionsAfter:Ge;return s.length>0&&t-this.prevTime<r&&n==this.prevUserEvent&&n&&/^select($|\.)/.test(n)&&Lg(s[s.length-1],e)?this:new i(Cc(this.done,e),this.undone,t,n)}addMapping(e){return new i(sO(this.done,e),sO(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,t,n){let r=e==0?this.done:this.undone;if(r.length==0)return null;let s=r[r.length-1],o=s.selectionsAfter[0]||t.selection;if(n&&s.selectionsAfter.length)return t.update({selection:s.selectionsAfter[s.selectionsAfter.length-1],annotations:oO.of({side:e,rest:Bg(r),selection:o}),userEvent:e==0?"select.undo":"select.redo",scrollIntoView:!0});if(s.changes){let O=r.length==1?Ge:r.slice(0,r.length-1);return s.mapped&&(O=sO(O,s.mapped)),t.update({changes:s.changes,selection:s.startSelection,effects:s.effects,annotations:oO.of({side:e,rest:O,selection:o}),filter:!1,userEvent:e==0?"undo":"redo",scrollIntoView:!0})}else return null}};Oi.empty=new Oi(Ge,Ge);var Uc=[{key:"Mod-z",run:qc,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:OO,preventDefault:!0},{linux:"Ctrl-Shift-z",run:OO,preventDefault:!0},{key:"Mod-u",run:jg,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:Mg,preventDefault:!0}];function Xi(i,e){return S.create(i.ranges.map(e),i.mainIndex)}function dt(i,e){return i.update({selection:e,scrollIntoView:!0,userEvent:"select"})}function Je({state:i,dispatch:e},t){let n=Xi(i.selection,t);return n.eq(i.selection,!0)?!1:(e(dt(i,n)),!0)}function Mr(i,e){return S.cursor(e?i.to:i.from)}function Ac(i,e){return Je(i,t=>t.empty?i.moveByChar(t,e):Mr(t,e))}function pe(i){return i.textDirectionAt(i.state.selection.main.head)==ee.LTR}var Yc=i=>Ac(i,!pe(i)),_c=i=>Ac(i,pe(i));function jc(i,e){return Je(i,t=>t.empty?i.moveByGroup(t,e):Mr(t,e))}var Ng=i=>jc(i,!pe(i)),Hg=i=>jc(i,pe(i));var $b=typeof Intl<"u"&&Intl.Segmenter?new Intl.Segmenter(void 0,{granularity:"word"}):null;function Fg(i,e,t){if(e.type.prop(t))return!0;let n=e.to-e.from;return n&&(n>2||/[^\s,.;:]/.test(i.sliceDoc(e.from,e.to)))||e.firstChild}function Er(i,e,t){let n=L(i).resolveInner(e.head),r=t?W.closedBy:W.openedBy;for(let l=e.head;;){let a=t?n.childAfter(l):n.childBefore(l);if(!a)break;Fg(i,a,r)?n=a:l=t?a.to:a.from}let s=n.type.prop(r),o,O;return s&&(o=t?Fe(i,n.from,1):Fe(i,n.to,-1))&&o.matched?O=t?o.end.to:o.end.from:O=t?n.to:n.from,S.cursor(O,t?-1:1)}var Kg=i=>Je(i,e=>Er(i.state,e,!pe(i))),Jg=i=>Je(i,e=>Er(i.state,e,pe(i)));function Mc(i,e){return Je(i,t=>{if(!t.empty)return Mr(t,e);let n=i.moveVertically(t,e);return n.head!=t.head?n:i.moveToLineBoundary(t,e)})}var Ec=i=>Mc(i,!1),Lc=i=>Mc(i,!0);function Gc(i){let e=i.scrollDOM.clientHeight<i.scrollDOM.scrollHeight-2,t=0,n=0,r;if(e){for(let s of i.state.facet(v.scrollMargins)){let o=s(i);o?.top&&(t=Math.max(o?.top,t)),o?.bottom&&(n=Math.max(o?.bottom,n))}r=i.scrollDOM.clientHeight-t-n}else r=(i.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:t,marginBottom:n,selfScroll:e,height:Math.max(i.defaultLineHeight,r-5)}}function Bc(i,e){let t=Gc(i),{state:n}=i,r=Xi(n.selection,o=>o.empty?i.moveVertically(o,e,t.height):Mr(o,e));if(r.eq(n.selection))return!1;let s;if(t.selfScroll){let o=i.coordsAtPos(n.selection.main.head),O=i.scrollDOM.getBoundingClientRect(),l=O.top+t.marginTop,a=O.bottom-t.marginBottom;o&&o.top>l&&o.bottom<a&&(s=v.scrollIntoView(r.main.head,{y:"start",yMargin:o.top-l}))}return i.dispatch(dt(n,r),{effects:s}),!0}var Pc=i=>Bc(i,!1),lO=i=>Bc(i,!0);function jt(i,e,t){let n=i.lineBlockAt(e.head),r=i.moveToLineBoundary(e,t);if(r.head==e.head&&r.head!=(t?n.to:n.from)&&(r=i.moveToLineBoundary(e,t,!1)),!t&&r.head==n.from&&n.length){let s=/^\s*/.exec(i.state.sliceDoc(n.from,Math.min(n.from+100,n.to)))[0].length;s&&e.head!=n.from+s&&(r=S.cursor(n.from+s))}return r}var e$=i=>Je(i,e=>jt(i,e,!0)),t$=i=>Je(i,e=>jt(i,e,!1)),i$=i=>Je(i,e=>jt(i,e,!pe(i))),n$=i=>Je(i,e=>jt(i,e,pe(i))),r$=i=>Je(i,e=>S.cursor(i.lineBlockAt(e.head).from,1)),s$=i=>Je(i,e=>S.cursor(i.lineBlockAt(e.head).to,-1));function o$(i,e,t){let n=!1,r=Xi(i.selection,s=>{let o=Fe(i,s.head,-1)||Fe(i,s.head,1)||s.head>0&&Fe(i,s.head-1,1)||s.head<i.doc.length&&Fe(i,s.head+1,-1);if(!o||!o.end)return s;n=!0;let O=o.start.from==s.head?o.end.to:o.end.from;return t?S.range(s.anchor,O):S.cursor(O)});return n?(e(dt(i,r)),!0):!1}var O$=({state:i,dispatch:e})=>o$(i,e,!1);function Be(i,e){let t=Xi(i.state.selection,n=>{let r=e(n);return S.range(n.anchor,r.head,r.goalColumn,r.bidiLevel||void 0)});return t.eq(i.state.selection)?!1:(i.dispatch(dt(i.state,t)),!0)}function Dc(i,e){return Be(i,t=>i.moveByChar(t,e))}var Ic=i=>Dc(i,!pe(i)),Nc=i=>Dc(i,pe(i));function Hc(i,e){return Be(i,t=>i.moveByGroup(t,e))}var l$=i=>Hc(i,!pe(i)),a$=i=>Hc(i,pe(i));var h$=i=>Be(i,e=>Er(i.state,e,!pe(i))),c$=i=>Be(i,e=>Er(i.state,e,pe(i)));function Fc(i,e){return Be(i,t=>i.moveVertically(t,e))}var Kc=i=>Fc(i,!1),Jc=i=>Fc(i,!0);function ef(i,e){return Be(i,t=>i.moveVertically(t,e,Gc(i).height))}var bc=i=>ef(i,!1),xc=i=>ef(i,!0),f$=i=>Be(i,e=>jt(i,e,!0)),u$=i=>Be(i,e=>jt(i,e,!1)),d$=i=>Be(i,e=>jt(i,e,!pe(i))),p$=i=>Be(i,e=>jt(i,e,pe(i))),m$=i=>Be(i,e=>S.cursor(i.lineBlockAt(e.head).from)),g$=i=>Be(i,e=>S.cursor(i.lineBlockAt(e.head).to)),kc=({state:i,dispatch:e})=>(e(dt(i,{anchor:0})),!0),wc=({state:i,dispatch:e})=>(e(dt(i,{anchor:i.doc.length})),!0),vc=({state:i,dispatch:e})=>(e(dt(i,{anchor:i.selection.main.anchor,head:0})),!0),Tc=({state:i,dispatch:e})=>(e(dt(i,{anchor:i.selection.main.anchor,head:i.doc.length})),!0),$$=({state:i,dispatch:e})=>(e(i.update({selection:{anchor:0,head:i.doc.length},userEvent:"select"})),!0),Q$=({state:i,dispatch:e})=>{let t=Lr(i).map(({from:n,to:r})=>S.range(n,Math.min(r+1,i.doc.length)));return e(i.update({selection:S.create(t),userEvent:"select"})),!0},S$=({state:i,dispatch:e})=>{let t=Xi(i.selection,n=>{let r=L(i),s=r.resolveStack(n.from,1);if(n.empty){let o=r.resolveStack(n.from,-1);o.node.from>=s.node.from&&o.node.to<=s.node.to&&(s=o)}for(let o=s;o;o=o.next){let{node:O}=o;if((O.from<n.from&&O.to>=n.to||O.to>n.to&&O.from<=n.from)&&o.next)return S.range(O.to,O.from)}return n});return t.eq(i.selection)?!1:(e(dt(i,t)),!0)},y$=({state:i,dispatch:e})=>{let t=i.selection,n=null;return t.ranges.length>1?n=S.create([t.main]):t.main.empty||(n=S.create([S.cursor(t.main.head)])),n?(e(dt(i,n)),!0):!1};function Sn(i,e){if(i.state.readOnly)return!1;let t="delete.selection",{state:n}=i,r=n.changeByRange(s=>{let{from:o,to:O}=s;if(o==O){let l=e(s);l<o?(t="delete.backward",l=Yr(i,l,!1)):l>o&&(t="delete.forward",l=Yr(i,l,!0)),o=Math.min(o,l),O=Math.max(O,l)}else o=Yr(i,o,!1),O=Yr(i,O,!0);return o==O?{range:s}:{changes:{from:o,to:O},range:S.cursor(o,o<s.head?-1:1)}});return r.changes.empty?!1:(i.dispatch(n.update(r,{scrollIntoView:!0,userEvent:t,effects:t=="delete.selection"?v.announce.of(n.phrase("Selection deleted")):void 0})),!0)}function Yr(i,e,t){if(i instanceof v)for(let n of i.state.facet(v.atomicRanges).map(r=>r(i)))n.between(e,e,(r,s)=>{r<e&&s>e&&(e=t?s:r)});return e}var tf=(i,e,t)=>Sn(i,n=>{let r=n.from,{state:s}=i,o=s.doc.lineAt(r),O,l;if(t&&!e&&r>o.from&&r<o.from+200&&!/[^ \t]/.test(O=o.text.slice(0,r-o.from))){if(O[O.length-1]==" ")return r-1;let a=ke(O,s.tabSize),h=a%At(s)||At(s);for(let c=0;c<h&&O[O.length-1-c]==" ";c++)r--;l=r}else l=ae(o.text,r-o.from,e,e)+o.from,l==r&&o.number!=(e?s.doc.lines:1)?l+=e?1:-1:!e&&/[\ufe00-\ufe0f]/.test(o.text.slice(l-o.from,r-o.from))&&(l=ae(o.text,l-o.from,!1,!1)+o.from);return l}),aO=i=>tf(i,!1,!0);var nf=i=>tf(i,!0,!1),rf=(i,e)=>Sn(i,t=>{let n=t.head,{state:r}=i,s=r.doc.lineAt(n),o=r.charCategorizer(n);for(let O=null;;){if(n==(e?s.to:s.from)){n==t.head&&s.number!=(e?r.doc.lines:1)&&(n+=e?1:-1);break}let l=ae(s.text,n-s.from,e)+s.from,a=s.text.slice(Math.min(n,l)-s.from,Math.max(n,l)-s.from),h=o(a);if(O!=null&&h!=O)break;(a!=" "||n!=t.head)&&(O=h),n=l}return n}),sf=i=>rf(i,!1),P$=i=>rf(i,!0),b$=i=>Sn(i,e=>{let t=i.lineBlockAt(e.head).to;return e.head<t?t:Math.min(i.state.doc.length,e.head+1)});var x$=i=>Sn(i,e=>{let t=i.moveToLineBoundary(e,!1).head;return e.head>t?t:Math.max(0,e.head-1)}),k$=i=>Sn(i,e=>{let t=i.moveToLineBoundary(e,!0).head;return e.head<t?t:Math.min(i.state.doc.length,e.head+1)});var w$=({state:i,dispatch:e})=>{if(i.readOnly)return!1;let t=i.changeByRange(n=>({changes:{from:n.from,to:n.to,insert:U.of(["",""])},range:S.cursor(n.from)}));return e(i.update(t,{scrollIntoView:!0,userEvent:"input"})),!0},v$=({state:i,dispatch:e})=>{if(i.readOnly)return!1;let t=i.changeByRange(n=>{if(!n.empty||n.from==0||n.from==i.doc.length)return{range:n};let r=n.from,s=i.doc.lineAt(r),o=r==s.from?r-1:ae(s.text,r-s.from,!1)+s.from,O=r==s.to?r+1:ae(s.text,r-s.from,!0)+s.from;return{changes:{from:o,to:O,insert:i.doc.slice(r,O).append(i.doc.slice(o,r))},range:S.cursor(O)}});return t.changes.empty?!1:(e(i.update(t,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function Lr(i){let e=[],t=-1;for(let n of i.selection.ranges){let r=i.doc.lineAt(n.from),s=i.doc.lineAt(n.to);if(!n.empty&&n.to==s.from&&(s=i.doc.lineAt(n.to-1)),t>=r.number){let o=e[e.length-1];o.to=s.to,o.ranges.push(n)}else e.push({from:r.from,to:s.to,ranges:[n]});t=s.number+1}return e}function of(i,e,t){if(i.readOnly)return!1;let n=[],r=[];for(let s of Lr(i)){if(t?s.to==i.doc.length:s.from==0)continue;let o=i.doc.lineAt(t?s.to+1:s.from-1),O=o.length+1;if(t){n.push({from:s.to,to:o.to},{from:s.from,insert:o.text+i.lineBreak});for(let l of s.ranges)r.push(S.range(Math.min(i.doc.length,l.anchor+O),Math.min(i.doc.length,l.head+O)))}else{n.push({from:o.from,to:s.from},{from:s.to,insert:i.lineBreak+o.text});for(let l of s.ranges)r.push(S.range(l.anchor-O,l.head-O))}}return n.length?(e(i.update({changes:n,scrollIntoView:!0,selection:S.create(r,i.selection.mainIndex),userEvent:"move.line"})),!0):!1}var T$=({state:i,dispatch:e})=>of(i,e,!1),z$=({state:i,dispatch:e})=>of(i,e,!0);function Of(i,e,t){if(i.readOnly)return!1;let n=[];for(let r of Lr(i))t?n.push({from:r.from,insert:i.doc.slice(r.from,r.to)+i.lineBreak}):n.push({from:r.to,insert:i.lineBreak+i.doc.slice(r.from,r.to)});return e(i.update({changes:n,scrollIntoView:!0,userEvent:"input.copyline"})),!0}var X$=({state:i,dispatch:e})=>Of(i,e,!1),R$=({state:i,dispatch:e})=>Of(i,e,!0),Z$=i=>{if(i.state.readOnly)return!1;let{state:e}=i,t=e.changes(Lr(e).map(({from:r,to:s})=>(r>0?r--:s<e.doc.length&&s++,{from:r,to:s}))),n=Xi(e.selection,r=>{let s;if(i.lineWrapping){let o=i.lineBlockAt(r.head),O=i.coordsAtPos(r.head,r.assoc||1);O&&(s=o.bottom+i.documentTop-O.bottom+i.defaultLineHeight/2)}return i.moveVertically(r,!0,s)}).map(t);return i.dispatch({changes:t,selection:n,scrollIntoView:!0,userEvent:"delete.line"}),!0};function W$(i,e){if(/\(\)|\[\]|\{\}/.test(i.sliceDoc(e-1,e+1)))return{from:e,to:e};let t=L(i).resolveInner(e),n=t.childBefore(e),r=t.childAfter(e),s;return n&&r&&n.to<=e&&r.from>=e&&(s=n.type.prop(W.closedBy))&&s.indexOf(r.name)>-1&&i.doc.lineAt(n.to).from==i.doc.lineAt(r.from).from&&!/\S/.test(i.sliceDoc(n.to,r.from))?{from:n.to,to:r.from}:null}var zc=lf(!1),q$=lf(!0);function lf(i){return({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(r=>{let{from:s,to:o}=r,O=e.doc.lineAt(s),l=!i&&s==o&&W$(e,s);i&&(s=o=(o<=O.to?O:e.doc.lineAt(o)).to);let a=new oi(e,{simulateBreak:s,simulateDoubleBreak:!!l}),h=tO(a,s);for(h==null&&(h=ke(/^\s*/.exec(e.doc.lineAt(s).text)[0],e.tabSize));o<O.to&&/\s/.test(O.text[o-O.from]);)o++;l?{from:s,to:o}=l:s>O.from&&s<O.from+100&&!/\S/.test(O.text.slice(0,s))&&(s=O.from);let c=["",gn(e,h)];return l&&c.push(gn(e,a.lineIndent(O.from,-1))),{changes:{from:s,to:o,insert:U.of(c)},range:S.cursor(s+1+c[1].length)}});return t(e.update(n,{scrollIntoView:!0,userEvent:"input"})),!0}}function fO(i,e){let t=-1;return i.changeByRange(n=>{let r=[];for(let o=n.from;o<=n.to;){let O=i.doc.lineAt(o);O.number>t&&(n.empty||n.to>O.from)&&(e(O,r,n),t=O.number),o=O.to+1}let s=i.changes(r);return{changes:r,range:S.range(s.mapPos(n.anchor,1),s.mapPos(n.head,1))}})}var V$=({state:i,dispatch:e})=>{if(i.readOnly)return!1;let t=Object.create(null),n=new oi(i,{overrideIndentation:s=>{let o=t[s];return o??-1}}),r=fO(i,(s,o,O)=>{let l=tO(n,s.from);if(l==null)return;/\S/.test(s.text)||(l=0);let a=/^\s*/.exec(s.text)[0],h=gn(i,l);(a!=h||O.from<s.from+a.length)&&(t[s.from]=l,o.push({from:s.from,to:s.from+a.length,insert:h}))});return r.changes.empty||e(i.update(r,{userEvent:"indent"})),!0},af=({state:i,dispatch:e})=>i.readOnly?!1:(e(i.update(fO(i,(t,n)=>{n.push({from:t.from,insert:i.facet(Yt)})}),{userEvent:"input.indent"})),!0),hf=({state:i,dispatch:e})=>i.readOnly?!1:(e(i.update(fO(i,(t,n)=>{let r=/^\s*/.exec(t.text)[0];if(!r)return;let s=ke(r,i.tabSize),o=0,O=gn(i,Math.max(0,s-At(i)));for(;o<r.length&&o<O.length&&r.charCodeAt(o)==O.charCodeAt(o);)o++;n.push({from:t.from+o,to:t.from+r.length,insert:O.slice(o)})}),{userEvent:"delete.dedent"})),!0),C$=i=>(i.setTabFocusMode(),!0);var U$=[{key:"Ctrl-b",run:Yc,shift:Ic,preventDefault:!0},{key:"Ctrl-f",run:_c,shift:Nc},{key:"Ctrl-p",run:Ec,shift:Kc},{key:"Ctrl-n",run:Lc,shift:Jc},{key:"Ctrl-a",run:r$,shift:m$},{key:"Ctrl-e",run:s$,shift:g$},{key:"Ctrl-d",run:nf},{key:"Ctrl-h",run:aO},{key:"Ctrl-k",run:b$},{key:"Ctrl-Alt-h",run:sf},{key:"Ctrl-o",run:w$},{key:"Ctrl-t",run:v$},{key:"Ctrl-v",run:lO}],A$=[{key:"ArrowLeft",run:Yc,shift:Ic,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:Ng,shift:l$,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:i$,shift:d$,preventDefault:!0},{key:"ArrowRight",run:_c,shift:Nc,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:Hg,shift:a$,preventDefault:!0},{mac:"Cmd-ArrowRight",run:n$,shift:p$,preventDefault:!0},{key:"ArrowUp",run:Ec,shift:Kc,preventDefault:!0},{mac:"Cmd-ArrowUp",run:kc,shift:vc},{mac:"Ctrl-ArrowUp",run:Pc,shift:bc},{key:"ArrowDown",run:Lc,shift:Jc,preventDefault:!0},{mac:"Cmd-ArrowDown",run:wc,shift:Tc},{mac:"Ctrl-ArrowDown",run:lO,shift:xc},{key:"PageUp",run:Pc,shift:bc},{key:"PageDown",run:lO,shift:xc},{key:"Home",run:t$,shift:u$,preventDefault:!0},{key:"Mod-Home",run:kc,shift:vc},{key:"End",run:e$,shift:f$,preventDefault:!0},{key:"Mod-End",run:wc,shift:Tc},{key:"Enter",run:zc,shift:zc},{key:"Mod-a",run:$$},{key:"Backspace",run:aO,shift:aO},{key:"Delete",run:nf},{key:"Mod-Backspace",mac:"Alt-Backspace",run:sf},{key:"Mod-Delete",mac:"Alt-Delete",run:P$},{mac:"Mod-Backspace",run:x$},{mac:"Mod-Delete",run:k$}].concat(U$.map(i=>({mac:i.key,run:i.run,shift:i.shift}))),uO=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:Kg,shift:h$},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:Jg,shift:c$},{key:"Alt-ArrowUp",run:T$},{key:"Shift-Alt-ArrowUp",run:X$},{key:"Alt-ArrowDown",run:z$},{key:"Shift-Alt-ArrowDown",run:R$},{key:"Escape",run:y$},{key:"Mod-Enter",run:q$},{key:"Alt-l",mac:"Ctrl-l",run:Q$},{key:"Mod-i",run:S$,preventDefault:!0},{key:"Mod-[",run:hf},{key:"Mod-]",run:af},{key:"Mod-Alt-\\",run:V$},{key:"Shift-Mod-k",run:Z$},{key:"Shift-Mod-\\",run:O$},{key:"Mod-/",run:Zg},{key:"Alt-A",run:qg},{key:"Ctrl-m",mac:"Shift-Alt-m",run:C$}].concat(A$),cf={key:"Tab",run:af,shift:hf};var Y$="#e5c07b",ff="#e06c75",_$="#56b6c2",j$="#ffffff",Gr="#abb2bf",pO="#7d8799",M$="#61afef",E$="#98c379",uf="#d19a66",L$="#c678dd",G$="#21252b",df="#2c313a",pf="#282c34",dO="#353a42",B$="#3E4451",mf="#528bff";var gf=v.theme({"&":{color:Gr,backgroundColor:pf},".cm-content":{caretColor:mf},".cm-cursor, .cm-dropCursor":{borderLeftColor:mf},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:B$},".cm-panels":{backgroundColor:G$,color:Gr},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:pf,color:pO,border:"none"},".cm-activeLineGutter":{backgroundColor:df},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:dO},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:dO,borderBottomColor:dO},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:df,color:Gr}}},{dark:!0}),$f=xt.define([{tag:u.keyword,color:L$},{tag:[u.name,u.deleted,u.character,u.propertyName,u.macroName],color:ff},{tag:[u.function(u.variableName),u.labelName],color:M$},{tag:[u.color,u.constant(u.name),u.standard(u.name)],color:uf},{tag:[u.definition(u.name),u.separator],color:Gr},{tag:[u.typeName,u.className,u.number,u.changed,u.annotation,u.modifier,u.self,u.namespace],color:Y$},{tag:[u.operator,u.operatorKeyword,u.url,u.escape,u.regexp,u.link,u.special(u.string)],color:_$},{tag:[u.meta,u.comment],color:pO},{tag:u.strong,fontWeight:"bold"},{tag:u.emphasis,fontStyle:"italic"},{tag:u.strikethrough,textDecoration:"line-through"},{tag:u.link,color:pO,textDecoration:"underline"},{tag:u.heading,fontWeight:"bold",color:ff},{tag:[u.atom,u.bool,u.special(u.variableName)],color:uf},{tag:[u.processingInstruction,u.string,u.inserted],color:E$},{tag:u.invalid,color:j$}]);var D$=xt.define([{tag:u.meta,color:"#388938"},{tag:u.link,textDecoration:"underline"},{tag:u.heading,textDecoration:"underline",fontWeight:"bold"},{tag:u.emphasis,fontStyle:"italic"},{tag:u.strong,fontWeight:"bold"},{tag:u.strikethrough,textDecoration:"line-through"},{tag:u.keyword,color:"#708"},{tag:[u.atom,u.bool,u.url,u.contentSeparator,u.labelName],color:"#219"},{tag:[u.literal,u.inserted],color:"#164"},{tag:[u.string,u.deleted],color:"#a11"},{tag:[u.regexp,u.escape,u.special(u.string)],color:"#e40"},{tag:u.definition(u.variableName),color:"#00f"},{tag:u.local(u.variableName),color:"#30a"},{tag:[u.typeName,u.namespace],color:"#085"},{tag:u.className,color:"#167"},{tag:[u.special(u.variableName),u.macroName],color:"#256"},{tag:u.definition(u.propertyName),color:"#00c"},{tag:u.compareOperator,color:"#708"},{tag:u.comment,color:"#940"},{tag:u.invalid,color:"#f00"}]),I$={"&":{backgroundColor:"#FFF",color:"#000"},"&.cm-focused":{outline:"none"},".cm-line":{lineHeight:"1.6"}};function Qf(i){let e=document.documentElement.classList.contains("dark-mode"),t=e?gf:v.theme(I$),n=e?$f:D$,r={darkModeActive:e,registerViewTheme(s){let o=s();o&&(t=v.theme(o))},registerHighlightStyle(s){let o=s(u)||[];o.length&&(n=xt.define(o))}};return window.$events.emitPublic(i,"library-cm6::configure-theme",r),[t,iO(n)]}function Sf(i){return[Qf(i),jh(),Ch(),Yh(),gc(),_h()]}function N$(){let i=new gt,e={focus(t,n){n.dispatch({effects:i.reconfigure([To(),vo()])})},blur(t,n){n.dispatch({effects:i.reconfigure([])})}};return[i.of([]),v.domEventHandlers(e)]}function mO(i){return[...Sf(i),N$(),ht.of([...uO]),D.readOnly.of(!0)]}function Br(i){return[...Sf(i),To(),vo(),Wc(),ht.of([...uO,...Uc,cf]),v.lineWrapping]}var QO=class i{constructor(e,t,n,r,s,o,O,l,a,h=0,c){this.p=e,this.stack=t,this.state=n,this.reducePos=r,this.pos=s,this.score=o,this.buffer=O,this.bufferBase=l,this.curContext=a,this.lookAhead=h,this.parent=c}toString(){return`[${this.stack.filter((e,t)=>t%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,n=0){let r=e.parser.context;return new i(e,[],t,n,n,0,[],0,r?new Dr(r,r.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let n=e>>19,r=e&65535,{parser:s}=this.p,o=this.reducePos<this.pos-25;o&&this.setLookAhead(this.pos);let O=s.dynamicPrecedence(r);if(O&&(this.score+=O),n==0){this.pushState(s.getGoto(this.state,r,!0),this.reducePos),r<s.minRepeatTerm&&this.storeNode(r,this.reducePos,this.reducePos,o?8:4,!0),this.reduceContext(r,this.reducePos);return}let l=this.stack.length-(n-1)*3-(e&262144?6:0),a=l?this.stack[l-2]:this.p.ranges[0].from,h=this.reducePos-a;h>=2e3&&!(!((t=this.p.parser.nodeSet.types[r])===null||t===void 0)&&t.isAnonymous)&&(a==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=h):this.p.lastBigReductionSize<h&&(this.p.bigReductionCount=1,this.p.lastBigReductionStart=a,this.p.lastBigReductionSize=h));let c=l?this.stack[l-1]:0,f=this.bufferBase+this.buffer.length-c;if(r<s.minRepeatTerm||e&131072){let d=s.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(r,a,d,f+4,!0)}if(e&262144)this.state=this.stack[l];else{let d=this.stack[l-3];this.state=s.getGoto(d,r,!0)}for(;this.stack.length>l;)this.stack.pop();this.reduceContext(r,a)}storeNode(e,t,n,r=4,s=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let o=this,O=this.buffer.length;if(O==0&&o.parent&&(O=o.bufferBase-o.parent.bufferBase,o=o.parent),O>0&&o.buffer[O-4]==0&&o.buffer[O-1]>-1){if(t==n)return;if(o.buffer[O-2]>=t){o.buffer[O-2]=n;return}}}if(!s||this.pos==n)this.buffer.push(e,t,n,r);else{let o=this.buffer.length;if(o>0&&this.buffer[o-4]!=0){let O=!1;for(let l=o;l>0&&this.buffer[l-2]>n;l-=4)if(this.buffer[l-1]>=0){O=!0;break}if(O)for(;o>0&&this.buffer[o-2]>n;)this.buffer[o]=this.buffer[o-4],this.buffer[o+1]=this.buffer[o-3],this.buffer[o+2]=this.buffer[o-2],this.buffer[o+3]=this.buffer[o-1],o-=4,r>4&&(r-=4)}this.buffer[o]=e,this.buffer[o+1]=t,this.buffer[o+2]=n,this.buffer[o+3]=r}}shift(e,t,n,r){if(e&131072)this.pushState(e&65535,this.pos);else if((e&262144)==0){let s=e,{parser:o}=this.p;(r>this.pos||t<=o.maxNode)&&(this.pos=r,o.stateFlag(s,1)||(this.reducePos=r)),this.pushState(s,n),this.shiftContext(t,n),t<=o.maxNode&&this.buffer.push(t,n,r,4)}else this.pos=r,this.shiftContext(t,n),t<=this.p.parser.maxNode&&this.buffer.push(t,n,r,4)}apply(e,t,n,r){e&65536?this.reduce(e):this.shift(e,t,n,r)}useNode(e,t){let n=this.p.reused.length-1;(n<0||this.p.reused[n]!=e)&&(this.p.reused.push(e),n++);let r=this.pos;this.reducePos=this.pos=r+e.length,this.pushState(t,r),this.buffer.push(n,r,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,t=e.buffer.length;for(;t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let n=e.buffer.slice(t),r=e.bufferBase+t;for(;e&&r==e.bufferBase;)e=e.parent;return new i(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,n,r,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let n=e<=this.p.parser.maxNode;n&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,n?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new SO(this);;){let n=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(n==0)return!1;if((n&65536)==0)return!0;t.reduce(n)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let r=[];for(let s=0,o;s<t.length;s+=2)(o=t[s+1])!=this.state&&this.p.parser.hasAction(o,e)&&r.push(t[s],o);if(this.stack.length<120)for(let s=0;r.length<8&&s<t.length;s+=2){let o=t[s+1];r.some((O,l)=>l&1&&O==o)||r.push(t[s],o)}t=r}let n=[];for(let r=0;r<t.length&&n.length<4;r+=2){let s=t[r+1];if(s==this.state)continue;let o=this.split();o.pushState(s,this.pos),o.storeNode(0,o.pos,o.pos,4,!0),o.shiftContext(t[r],this.pos),o.reducePos=this.pos,o.score-=200,n.push(o)}return n}forceReduce(){let{parser:e}=this.p,t=e.stateSlot(this.state,5);if((t&65536)==0)return!1;if(!e.validAction(this.state,t)){let n=t>>19,r=t&65535,s=this.stack.length-n*3;if(s<0||e.getGoto(this.stack[s],r,!1)<0){let o=this.findForcedReduction();if(o==null)return!1;t=o}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],n=(r,s)=>{if(!t.includes(r))return t.push(r),e.allActions(r,o=>{if(!(o&393216))if(o&65536){let O=(o>>19)-s;if(O>1){let l=o&65535,a=this.stack.length-O*3;if(a>=0&&e.getGoto(this.stack[a],l,!1)>=0)return O<<19|65536|l}}else{let O=n(o,s+1);if(O!=null)return O}})};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:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;t<this.stack.length;t+=3)if(this.stack[t]!=e.stack[t])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(e){return this.p.parser.dialect.flags[e]}shiftContext(e,t){this.curContext&&this.updateContext(this.curContext.tracker.shift(this.curContext.context,e,this,this.p.stream.reset(t)))}reduceContext(e,t){this.curContext&&this.updateContext(this.curContext.tracker.reduce(this.curContext.context,e,this,this.p.stream.reset(t)))}emitContext(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-3)&&this.buffer.push(this.curContext.hash,this.pos,this.pos,-3)}emitLookAhead(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-4)&&this.buffer.push(this.lookAhead,this.pos,this.pos,-4)}updateContext(e){if(e!=this.curContext.context){let t=new Dr(this.curContext.tracker,e);t.hash!=this.curContext.hash&&this.emitContext(),this.curContext=t}}setLookAhead(e){e>this.lookAhead&&(this.emitLookAhead(),this.lookAhead=e)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}},Dr=class{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}},SO=class{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=e&65535,n=e>>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 r=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=r}},yO=class i{constructor(e,t,n){this.stack=e,this.pos=t,this.index=n,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new i(e,t,t-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new i(this.stack,this.pos,this.index)}};function yn(i,e=Uint16Array){if(typeof i!="string")return i;let t=null;for(let n=0,r=0;n<i.length;){let s=0;for(;;){let o=i.charCodeAt(n++),O=!1;if(o==126){s=65535;break}o>=92&&o--,o>=34&&o--;let l=o-32;if(l>=46&&(l-=46,O=!0),s+=l,O)break;s*=46}t?t[r++]=s:t=new e(s)}return t}var Ri=class{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}},yf=new Ri,PO=class{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=yf,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let n=this.range,r=this.rangeIndex,s=this.pos+e;for(;s<n.from;){if(!r)return null;let o=this.ranges[--r];s-=n.from-o.to,n=o}for(;t<0?s>n.to:s>=n.to;){if(r==this.ranges.length-1)return null;let o=this.ranges[++r];s+=o.from-n.to,n=o}return s}clipPos(e){if(e>=this.range.from&&e<this.range.to)return e;for(let t of this.ranges)if(t.to>e)return Math.max(e,t.from);return this.end}peek(e){let t=this.chunkOff+e,n,r;if(t>=0&&t<this.chunk.length)n=this.pos+e,r=this.chunk.charCodeAt(t);else{let s=this.resolveOffset(e,1);if(s==null)return-1;if(n=s,n>=this.chunk2Pos&&n<this.chunk2Pos+this.chunk2.length)r=this.chunk2.charCodeAt(n-this.chunk2Pos);else{let o=this.rangeIndex,O=this.range;for(;O.to<=n;)O=this.ranges[++o];this.chunk2=this.input.chunk(this.chunk2Pos=n),n+this.chunk2.length>O.to&&(this.chunk2=this.chunk2.slice(0,O.to-n)),r=this.chunk2.charCodeAt(0)}}return n>=this.token.lookAhead&&(this.token.lookAhead=n+1),r}acceptToken(e,t=0){let n=t?this.resolveOffset(t,-1):this.pos;if(n==null||n<this.token.start)throw new RangeError("Token end out of bounds");this.token.value=e,this.token.end=n}acceptTokenTo(e,t){this.token.value=e,this.token.end=t}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:e,chunkPos:t}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=e,this.chunk2Pos=t,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let e=this.input.chunk(this.pos),t=this.pos+e.length;this.chunk=t>this.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=yf,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e<this.range.from;)this.range=this.ranges[--this.rangeIndex];for(;e>=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e<this.chunkPos+this.chunk.length?this.chunkOff=e-this.chunkPos:(this.chunk="",this.chunkOff=0),this.readNext()}return this}read(e,t){if(e>=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let n="";for(let r of this.ranges){if(r.from>=t)break;r.to>e&&(n+=this.input.read(Math.max(r.from,e),Math.min(r.to,t)))}return n}},Mt=class{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:n}=t.p;wf(this.data,e,t,this.id,n.data,n.tokenPrecTable)}};Mt.prototype.contextual=Mt.prototype.fallback=Mt.prototype.extend=!1;var Et=class{constructor(e,t,n){this.precTable=t,this.elseToken=n,this.data=typeof e=="string"?yn(e):e}token(e,t){let n=e.pos,r=0;for(;;){let s=e.next<0,o=e.resolveOffset(1,1);if(wf(this.data,e,t,0,this.data,this.precTable),e.token.value>-1)break;if(this.elseToken==null)return;if(s||r++,o==null)break;e.reset(o,e.token)}r&&(e.reset(n,e.token),e.acceptToken(this.elseToken,r))}};Et.prototype.contextual=Mt.prototype.fallback=Mt.prototype.extend=!1;var te=class{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}};function wf(i,e,t,n,r,s){let o=0,O=1<<n,{dialect:l}=t.p.parser;e:for(;(O&i[o])!=0;){let a=i[o+1];for(let d=o+3;d<a;d+=2)if((i[d+1]&O)>0){let p=i[d];if(l.allows(p)&&(e.token.value==-1||e.token.value==p||F$(p,e.token.value,r,s))){e.acceptToken(p);break}}let h=e.next,c=0,f=i[o+2];if(e.next<0&&f>c&&i[a+f*3-3]==65535){o=i[a+f*3-1];continue e}for(;c<f;){let d=c+f>>1,p=a+d+(d<<1),m=i[p],g=i[p+1]||65536;if(h<m)f=d;else if(h>=g)c=d+1;else{o=i[p+2],e.advance();continue e}}break}}function Pf(i,e,t){for(let n=e,r;(r=i[n])!=65535;n++)if(r==t)return n-e;return-1}function F$(i,e,t,n){let r=Pf(t,n,e);return r<0||Pf(t,n,i)<r}var Ve=typeof process<"u"&&process.env&&/\bparse\b/.test(process.env.LOG),gO=null;function bf(i,e,t){let n=i.cursor(E.IncludeAnonymous);for(n.moveTo(e);;)if(!(t<0?n.childBefore(e):n.childAfter(e)))for(;;){if((t<0?n.to<e:n.from>e)&&!n.type.isError)return t<0?Math.max(0,Math.min(n.to-1,e-25)):Math.min(i.length,Math.max(n.from+1,e+25));if(t<0?n.prevSibling():n.nextSibling())break;if(!n.parent())return t<0?0:i.length}}var bO=class{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?bf(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?bf(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(e<this.nextStart)return null;for(;this.fragment&&this.safeTo<=e;)this.nextFragment();if(!this.fragment)return null;for(;;){let t=this.trees.length-1;if(t<0)return this.nextFragment(),null;let n=this.trees[t],r=this.index[t];if(r==n.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let s=n.children[r],o=this.start[t]+n.positions[r];if(o>e)return this.nextStart=o,null;if(s instanceof V){if(o==e){if(o<this.safeFrom)return null;let O=o+s.length;if(O<=this.safeTo){let l=s.prop(W.lookAhead);if(!l||O+l<this.fragment.to)return s}}this.index[t]++,o+s.length>=Math.max(this.safeFrom,e)&&(this.trees.push(s),this.start.push(o),this.index.push(0))}else this.index[t]++,this.nextStart=o+s.length}}},xO=class{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(n=>new Ri)}getActions(e){let t=0,n=null,{parser:r}=e.p,{tokenizers:s}=r,o=r.stateSlot(e.state,3),O=e.curContext?e.curContext.hash:0,l=0;for(let a=0;a<s.length;a++){if((1<<a&o)==0)continue;let h=s[a],c=this.tokens[a];if(!(n&&!h.fallback)&&((h.contextual||c.start!=e.pos||c.mask!=o||c.context!=O)&&(this.updateCachedToken(c,h,e),c.mask=o,c.context=O),c.lookAhead>c.end+25&&(l=Math.max(c.lookAhead,l)),c.value!=0)){let f=t;if(c.extended>-1&&(t=this.addActions(e,c.extended,c.end,t)),t=this.addActions(e,c.value,c.end,t),!h.extend&&(n=c,t>f))break}}for(;this.actions.length>t;)this.actions.pop();return l&&e.setLookAhead(l),!n&&e.pos==this.stream.end&&(n=new Ri,n.value=e.p.parser.eofTerm,n.start=n.end=e.pos,t=this.addActions(e,n.value,n.end,t)),this.mainToken=n,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new Ri,{pos:n,p:r}=e;return t.start=n,t.end=Math.min(n+1,r.stream.end),t.value=n==r.stream.end?r.parser.eofTerm:0,t}updateCachedToken(e,t,n){let r=this.stream.clipPos(n.pos);if(t.token(this.stream.reset(r,e),n),e.value>-1){let{parser:s}=n.p;for(let o=0;o<s.specialized.length;o++)if(s.specialized[o]==e.value){let O=s.specializers[o](this.stream.read(e.start,e.end),n);if(O>=0&&n.p.parser.dialect.allows(O>>1)){(O&1)==0?e.value=O>>1:e.extended=O>>1;break}}}else e.value=0,e.end=this.stream.clipPos(r+1)}putAction(e,t,n,r){for(let s=0;s<r;s+=3)if(this.actions[s]==e)return r;return this.actions[r++]=e,this.actions[r++]=t,this.actions[r++]=n,r}addActions(e,t,n,r){let{state:s}=e,{parser:o}=e.p,{data:O}=o;for(let l=0;l<2;l++)for(let a=o.stateSlot(s,l?2:1);;a+=3){if(O[a]==65535)if(O[a+1]==1)a=kt(O,a+2);else{r==0&&O[a+1]==2&&(r=this.putAction(kt(O,a+2),t,n,r));break}O[a]==t&&(r=this.putAction(kt(O,a+1),t,n,r))}return r}},kO=class{constructor(e,t,n,r){this.parser=e,this.input=t,this.ranges=r,this.recovering=0,this.nextStackID=9812,this.minStackPos=0,this.reused=[],this.stoppedAt=null,this.lastBigReductionStart=-1,this.lastBigReductionSize=0,this.bigReductionCount=0,this.stream=new PO(t,r),this.tokens=new xO(e,this.stream),this.topTerm=e.top[1];let{from:s}=r[0];this.stacks=[QO.start(this,e.top[0],s)],this.fragments=n.length&&this.stream.end-s>e.bufferLength*4?new bO(n,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,t=this.minStackPos,n=this.stacks=[],r,s;if(this.bigReductionCount>300&&e.length==1){let[o]=e;for(;o.forceReduce()&&o.stack.length&&o.stack[o.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let o=0;o<e.length;o++){let O=e[o];for(;;){if(this.tokens.mainToken=null,O.pos>t)n.push(O);else{if(this.advanceStack(O,n,e))continue;{r||(r=[],s=[]),r.push(O);let l=this.tokens.getMainToken(O);s.push(l.value,l.end)}}break}}if(!n.length){let o=r&&K$(r);if(o)return Ve&&console.log("Finish with "+this.stackID(o)),this.stackToTree(o);if(this.parser.strict)throw Ve&&r&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+t);this.recovering||(this.recovering=5)}if(this.recovering&&r){let o=this.stoppedAt!=null&&r[0].pos>this.stoppedAt?r[0]:this.runRecovery(r,s,n);if(o)return Ve&&console.log("Force-finish "+this.stackID(o)),this.stackToTree(o.forceAll())}if(this.recovering){let o=this.recovering==1?1:this.recovering*3;if(n.length>o)for(n.sort((O,l)=>l.score-O.score);n.length>o;)n.pop();n.some(O=>O.reducePos>t)&&this.recovering--}else if(n.length>1){e:for(let o=0;o<n.length-1;o++){let O=n[o];for(let l=o+1;l<n.length;l++){let a=n[l];if(O.sameState(a)||O.buffer.length>500&&a.buffer.length>500)if((O.score-a.score||O.buffer.length-a.buffer.length)>0)n.splice(l--,1);else{n.splice(o--,1);continue e}}}n.length>12&&n.splice(12,n.length-12)}this.minStackPos=n[0].pos;for(let o=1;o<n.length;o++)n[o].pos<this.minStackPos&&(this.minStackPos=n[o].pos);return null}stopAt(e){if(this.stoppedAt!=null&&this.stoppedAt<e)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=e}advanceStack(e,t,n){let r=e.pos,{parser:s}=this,o=Ve?this.stackID(e)+" -> ":"";if(this.stoppedAt!=null&&r>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let a=e.curContext&&e.curContext.tracker.strict,h=a?e.curContext.hash:0;for(let c=this.fragments.nodeAt(r);c;){let f=this.parser.nodeSet.types[c.type.id]==c.type?s.getGoto(e.state,c.type.id):-1;if(f>-1&&c.length&&(!a||(c.prop(W.contextHash)||0)==h))return e.useNode(c,f),Ve&&console.log(o+this.stackID(e)+` (via reuse of ${s.getName(c.type.id)})`),!0;if(!(c instanceof V)||c.children.length==0||c.positions[0]>0)break;let d=c.children[0];if(d instanceof V&&c.positions[0]==0)c=d;else break}}let O=s.stateSlot(e.state,4);if(O>0)return e.reduce(O),Ve&&console.log(o+this.stackID(e)+` (via always-reduce ${s.getName(O&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let l=this.tokens.getActions(e);for(let a=0;a<l.length;){let h=l[a++],c=l[a++],f=l[a++],d=a==l.length||!n,p=d?e:e.split(),m=this.tokens.mainToken;if(p.apply(h,c,m?m.start:p.pos,f),Ve&&console.log(o+this.stackID(p)+` (via ${(h&65536)==0?"shift":`reduce of ${s.getName(h&65535)}`} for ${s.getName(c)} @ ${r}${p==e?"":", split"})`),d)return!0;p.pos>r?t.push(p):n.push(p)}return!1}advanceFully(e,t){let n=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>n)return xf(e,t),!0}}runRecovery(e,t,n){let r=null,s=!1;for(let o=0;o<e.length;o++){let O=e[o],l=t[o<<1],a=t[(o<<1)+1],h=Ve?this.stackID(O)+" -> ":"";if(O.deadEnd&&(s||(s=!0,O.restart(),Ve&&console.log(h+this.stackID(O)+" (restarted)"),this.advanceFully(O,n))))continue;let c=O.split(),f=h;for(let d=0;c.forceReduce()&&d<10&&(Ve&&console.log(f+this.stackID(c)+" (via force-reduce)"),!this.advanceFully(c,n));d++)Ve&&(f=this.stackID(c)+" -> ");for(let d of O.recoverByInsert(l))Ve&&console.log(h+this.stackID(d)+" (via recover-insert)"),this.advanceFully(d,n);this.stream.end>O.pos?(a==O.pos&&(a++,l=0),O.recoverByDelete(l,a),Ve&&console.log(h+this.stackID(O)+` (via recover-delete ${this.parser.getName(l)})`),xf(O,n)):(!r||r.score<O.score)&&(r=O)}return r}stackToTree(e){return e.close(),V.build({buffer:yO.create(e),nodeSet:this.parser.nodeSet,topID:this.topTerm,maxBufferLength:this.parser.bufferLength,reused:this.reused,start:this.ranges[0].from,length:e.pos-this.ranges[0].from,minRepeatType:this.parser.minRepeatTerm})}stackID(e){let t=(gO||(gO=new WeakMap)).get(e);return t||gO.set(e,t=String.fromCodePoint(this.nextStackID++)),t+e}};function xf(i,e){for(let t=0;t<e.length;t++){let n=e[t];if(n.pos==i.pos&&n.sameState(i)){e[t].score<i.score&&(e[t]=i);return}}e.push(i)}var wO=class{constructor(e,t,n){this.source=e,this.flags=t,this.disabled=n}allows(e){return!this.disabled||this.disabled[e]==0}},$O=i=>i,Lt=class{constructor(e){this.start=e.start,this.shift=e.shift||$O,this.reduce=e.reduce||$O,this.reuse=e.reuse||$O,this.hash=e.hash||(()=>0),this.strict=e.strict!==!1}},me=class i extends Pt{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let O=0;O<e.repeatNodeCount;O++)t.push("");let n=Object.keys(e.topRules).map(O=>e.topRules[O][1]),r=[];for(let O=0;O<t.length;O++)r.push([]);function s(O,l,a){r[O].push([l,l.deserialize(String(a))])}if(e.nodeProps)for(let O of e.nodeProps){let l=O[0];typeof l=="string"&&(l=W[l]);for(let a=1;a<O.length;){let h=O[a++];if(h>=0)s(h,l,O[a++]);else{let c=O[a+-h];for(let f=-h;f>0;f--)s(O[a++],l,c);a++}}}this.nodeSet=new St(t.map((O,l)=>ie.define({name:l>=this.minRepeatTerm?void 0:O,id:l,props:r[l],top:n.indexOf(l)>-1,error:l==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(l)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=1024;let o=yn(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let O=0;O<this.specializerSpecs.length;O++)this.specialized[O]=this.specializerSpecs[O].term;this.specializers=this.specializerSpecs.map(kf),this.states=yn(e.states,Uint32Array),this.data=yn(e.stateData),this.goto=yn(e.goto),this.maxTerm=e.maxTerm,this.tokenizers=e.tokenizers.map(O=>typeof O=="number"?new Mt(o,O):O),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,t,n){let r=new kO(this,e,t,n);for(let s of this.wrappers)r=s(r,e,t,n);return r}getGoto(e,t,n=!1){let r=this.goto;if(t>=r[0])return-1;for(let s=r[t+1];;){let o=r[s++],O=o&1,l=r[s++];if(O&&n)return l;for(let a=s+(o>>1);s<a;s++)if(r[s]==e)return l;if(O)return-1}}hasAction(e,t){let n=this.data;for(let r=0;r<2;r++)for(let s=this.stateSlot(e,r?2:1),o;;s+=3){if((o=n[s])==65535)if(n[s+1]==1)o=n[s=kt(n,s+2)];else{if(n[s+1]==2)return kt(n,s+2);break}if(o==t||o==0)return kt(n,s+1)}return 0}stateSlot(e,t){return this.states[e*6+t]}stateFlag(e,t){return(this.stateSlot(e,0)&t)>0}validAction(e,t){return!!this.allActions(e,n=>n==t?!0:null)}allActions(e,t){let n=this.stateSlot(e,4),r=n?t(n):void 0;for(let s=this.stateSlot(e,1);r==null;s+=3){if(this.data[s]==65535)if(this.data[s+1]==1)s=kt(this.data,s+2);else break;r=t(kt(this.data,s+1))}return r}nextStates(e){let t=[];for(let n=this.stateSlot(e,1);;n+=3){if(this.data[n]==65535)if(this.data[n+1]==1)n=kt(this.data,n+2);else break;if((this.data[n+2]&1)==0){let r=this.data[n+1];t.some((s,o)=>o&1&&s==r)||t.push(this.data[n],r)}}return t}configure(e){let t=Object.assign(Object.create(i.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let n=this.topRules[e.top];if(!n)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=n}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(n=>{let r=e.tokenizers.find(s=>s.from==n);return r?r.to:n})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((n,r)=>{let s=e.specializers.find(O=>O.from==n.external);if(!s)return n;let o=Object.assign(Object.assign({},n),{external:s.to});return t.specializers[r]=kf(o),o})),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),e.bufferLength!=null&&(t.bufferLength=e.bufferLength),t}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let t=this.dynamicPrecedences;return t==null?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),n=t.map(()=>!1);if(e)for(let s of e.split(" ")){let o=t.indexOf(s);o>=0&&(n[o]=!0)}let r=null;for(let s=0;s<t.length;s++)if(!n[s])for(let o=this.dialects[t[s]],O;(O=this.data[o++])!=65535;)(r||(r=new Uint8Array(this.maxTerm+1)))[O]=1;return new wO(e,n,r)}static deserialize(e){return new i(e)}};function kt(i,e){return i[e]|i[e+1]<<16}function K$(i){let e=null;for(let t of i){let n=t.p.stoppedAt;(t.pos==t.p.stream.end||n!=null&&t.pos>n)&&t.p.parser.stateFlag(t.state,2)&&(!e||e.score<t.score)&&(e=t)}return e}function kf(i){if(i.external){let e=i.extend?1:0;return(t,n)=>i.external(t,n)<<1|e}return i.get}var J$=100,vf=1,eQ=101,tQ=102,Tf=2,zf=[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],iQ=58,nQ=40,Xf=95,rQ=91,Ir=45,sQ=46,oQ=35,OQ=37,lQ=38,aQ=92,hQ=10;function Pn(i){return i>=65&&i<=90||i>=97&&i<=122||i>=161}function Rf(i){return i>=48&&i<=57}var cQ=new te((i,e)=>{for(let t=!1,n=0,r=0;;r++){let{next:s}=i;if(Pn(s)||s==Ir||s==Xf||t&&Rf(s))!t&&(s!=Ir||r>0)&&(t=!0),n===r&&s==Ir&&n++,i.advance();else if(s==aQ&&i.peek(1)!=hQ)i.advance(),i.next>-1&&i.advance(),t=!0;else{t&&i.acceptToken(s==nQ?eQ:n==2&&e.canShift(Tf)?Tf:tQ);break}}}),fQ=new te(i=>{if(zf.includes(i.peek(-1))){let{next:e}=i;(Pn(e)||e==Xf||e==oQ||e==sQ||e==rQ||e==iQ&&Pn(i.peek(1))||e==Ir||e==lQ)&&i.acceptToken(J$)}}),uQ=new te(i=>{if(!zf.includes(i.peek(-1))){let{next:e}=i;if(e==OQ&&(i.advance(),i.acceptToken(vf)),Pn(e)){do i.advance();while(Pn(i.next)||Rf(i.next));i.acceptToken(vf)}}}),dQ=se({"AtKeyword import charset namespace keyframes media supports":u.definitionKeyword,"from to selector":u.keyword,NamespaceName:u.namespace,KeyframeName:u.labelName,KeyframeRangeName:u.operatorKeyword,TagName:u.tagName,ClassName:u.className,PseudoClassName:u.constant(u.className),IdName:u.labelName,"FeatureName PropertyName":u.propertyName,AttributeName:u.attributeName,NumberLiteral:u.number,KeywordQuery:u.keyword,UnaryQueryOp:u.operatorKeyword,"CallTag ValueName":u.atom,VariableName:u.variableName,Callee:u.operatorKeyword,Unit:u.unit,"UniversalSelector NestingSelector":u.definitionOperator,MatchOp:u.compareOperator,"ChildOp SiblingOp, LogicOp":u.logicOperator,BinOp:u.arithmeticOperator,Important:u.modifier,Comment:u.blockComment,ColorLiteral:u.color,"ParenthesizedContent StringLiteral":u.string,":":u.punctuation,"PseudoOp #":u.derefOperator,"; ,":u.separator,"( )":u.paren,"[ ]":u.squareBracket,"{ }":u.brace}),pQ={__proto__:null,lang:34,"nth-child":34,"nth-last-child":34,"nth-of-type":34,"nth-last-of-type":34,dir:34,"host-context":34,url:62,"url-prefix":62,domain:62,regexp:62,selector:140},mQ={__proto__:null,"@import":120,"@media":144,"@charset":148,"@namespace":152,"@keyframes":158,"@supports":170},gQ={__proto__:null,not:134,only:134},Zf=me.deserialize({version:14,states:":jQYQ[OOO#_Q[OOP#fOWOOOOQP'#Cd'#CdOOQP'#Cc'#CcO#kQ[O'#CfO$_QXO'#CaO$fQ[O'#CiO$qQ[O'#DUO$vQ[O'#DXOOQP'#En'#EnO${QdO'#DhO%jQ[O'#DuO${QdO'#DwO%{Q[O'#DyO&WQ[O'#D|O&`Q[O'#ESO&nQ[O'#EUOOQS'#Em'#EmOOQS'#EX'#EXQYQ[OOO&uQXO'#CdO'jQWO'#DdO'oQWO'#EsO'zQ[O'#EsQOQWOOP(UO#tO'#C_POOO)C@])C@]OOQP'#Ch'#ChOOQP,59Q,59QO#kQ[O,59QO(aQ[O'#E]O({QWO,58{O)TQ[O,59TO$qQ[O,59pO$vQ[O,59sO(aQ[O,59vO(aQ[O,59xO(aQ[O,59yO)`Q[O'#DcOOQS,58{,58{OOQP'#Cl'#ClOOQO'#DS'#DSOOQP,59T,59TO)gQWO,59TO)lQWO,59TOOQP'#DW'#DWOOQP,59p,59pOOQO'#DY'#DYO)qQ`O,59sOOQS'#Cq'#CqO${QdO'#CrO)yQvO'#CtO+ZQtO,5:SOOQO'#Cy'#CyO)lQWO'#CxO+oQWO'#CzO+tQ[O'#DPOOQS'#Ep'#EpOOQO'#Dk'#DkO+|Q[O'#DrO,[QWO'#EtO&`Q[O'#DpO,jQWO'#DsOOQO'#Eu'#EuO)OQWO,5:aO,oQpO,5:cOOQS'#D{'#D{O,wQWO,5:eO,|Q[O,5:eOOQO'#EO'#EOO-UQWO,5:hO-ZQWO,5:nO-cQWO,5:pOOQS-E8V-E8VO-kQdO,5:OO-{Q[O'#E_O.YQWO,5;_O.YQWO,5;_POOO'#EW'#EWP.eO#tO,58yPOOO,58y,58yOOQP1G.l1G.lO/[QXO,5:wOOQO-E8Z-E8ZOOQS1G.g1G.gOOQP1G.o1G.oO)gQWO1G.oO)lQWO1G.oOOQP1G/[1G/[O/iQ`O1G/_O0SQXO1G/bO0jQXO1G/dO1QQXO1G/eO1hQWO,59}O1mQ[O'#DTO1tQdO'#CpOOQP1G/_1G/_O${QdO1G/_O1{QpO,59^OOQS,59`,59`O${QdO,59bO2TQWO1G/nOOQS,59d,59dO2YQ!bO,59fOOQS'#DQ'#DQOOQS'#EZ'#EZO2eQ[O,59kOOQS,59k,59kO2mQWO'#DkO2xQWO,5:WO2}QWO,5:^O&`Q[O,5:YO&`Q[O'#E`O3VQWO,5;`O3bQWO,5:[O(aQ[O,5:_OOQS1G/{1G/{OOQS1G/}1G/}OOQS1G0P1G0PO3sQWO1G0PO3xQdO'#EPOOQS1G0S1G0SOOQS1G0Y1G0YOOQS1G0[1G0[O4TQtO1G/jOOQO1G/j1G/jOOQO,5:y,5:yO4kQ[O,5:yOOQO-E8]-E8]O4xQWO1G0yPOOO-E8U-E8UPOOO1G.e1G.eOOQP7+$Z7+$ZOOQP7+$y7+$yO${QdO7+$yOOQS1G/i1G/iO5TQXO'#ErO5[QWO,59oO5aQtO'#EYO6XQdO'#EoO6cQWO,59[O6hQpO7+$yOOQS1G.x1G.xOOQS1G.|1G.|OOQS7+%Y7+%YOOQS1G/Q1G/QO6pQWO1G/QOOQS-E8X-E8XOOQS1G/V1G/VO${QdO1G/rOOQO1G/x1G/xOOQO1G/t1G/tO6uQWO,5:zOOQO-E8^-E8^O7TQXO1G/yOOQS7+%k7+%kO7[QYO'#CtOOQO'#ER'#ERO7gQ`O'#EQOOQO'#EQ'#EQO7rQWO'#EaO7zQdO,5:kOOQS,5:k,5:kO8VQtO'#E^O${QdO'#E^O9WQdO7+%UOOQO7+%U7+%UOOQO1G0e1G0eO9kQpO<<HeO9sQWO,5;^OOQP1G/Z1G/ZOOQS-E8W-E8WO${QdO'#E[O9{QWO,5;ZOOQT1G.v1G.vOOQP<<He<<HeOOQS7+$l7+$lO:TQdO7+%^OOQO7+%e7+%eOOQO,5:l,5:lO3{QdO'#EbO7rQWO,5:{OOQS,5:{,5:{OOQS-E8_-E8_OOQS1G0V1G0VO:[QtO,5:xOOQS-E8[-E8[OOQO<<Hp<<HpOOQPAN>PAN>PO;]QdO,5:vOOQO-E8Y-E8YOOQO<<Hx<<HxOOQO,5:|,5:|OOQO-E8`-E8`OOQS1G0g1G0g",stateData:";o~O#[OS#]QQ~OUYOXYOZTO^VO_VOrXOyWO!]aO!^ZO!j[O!l]O!n^O!q_O!w`O#YRO~OQfOUYOXYOZTO^VO_VOrXOyWO!]aO!^ZO!j[O!l]O!n^O!q_O!w`O#YeO~O#V#gP~P!ZO#]jO~O#YlO~OZnO^qO_qOrsOuoOyrO!PtO!SvO#WuO~O!UwO~P#pOa}O#XzO#YyO~O#Y!OO~O#Y!QO~OQ![Oc!TOg![Oi![Oo!YOr!ZO#X!WO#Y!SO#e!UO~Oc!^O!e!`O!h!aO#Y!]O!U#hP~Oi!fOo!YO#Y!eO~Oi!hO#Y!hO~Oc!^O!e!`O!h!aO#Y!]O~O!Z#hP~P%jOZWX^WX^!XX_WXrWXuWXyWX!PWX!SWX!UWX#WWX~O^!mO~O!Z!nO#V#gX!T#gX~O#V#gX!T#gX~P!ZO#^!qO#_!qO#`!sO~OUYOXYOZTO^VO_VOrXOyWO#YRO~OuoO!UwO~Oa!zO#XzO#YyO~O!T#gP~P!ZOc#RO~Oc#SO~Oq#TO}#UO~OP#WOchXkhX!ZhX!ehX!hhX#YhXbhXQhXghXihXohXrhXuhX!YhX#VhX#XhX#ehXqhX!ThX~Oc!^Ok#XO!e!`O!h!aO#Y!]O!Z#hP~Oc#[O~Oq#`O#Y#]O~Oc!^O!e!`O!h!aO#Y#aO~Ou#eO!c#dO!U#hX!Z#hX~Oc#hO~Ok#XO!Z#jO~O!Z#kO~Oi#lOo!YO~O!U#mO~O!UwO!c#dO~O!UwO!Z#pO~O!Y#rO!Z!Wa#V!Wa!T!Wa~P${O!Z#RX#V#RX!T#RX~P!ZO!Z!nO#V#ga!T#ga~O#^!qO#_!qO#`#xO~OZnO^qO_qOrsOyrO!PtO!SvO#WuO~Ou#Pa!U#Pab#Pa~P.pOq#zO}#{O~OZnO^qO_qOrsOyrO~Ou!Oi!P!Oi!S!Oi!U!Oi#W!Oib!Oi~P/qOu!Qi!P!Qi!S!Qi!U!Qi#W!Qib!Qi~P/qOu!Ri!P!Ri!S!Ri!U!Ri#W!Rib!Ri~P/qO!T#|O~Ob#fP~P(aOb#cP~P${Ob$TOk#XO~O!Z$VO~Ob$WOi$XOp$XO~Oq$ZO#Y#]O~O^!aXb!_X!c!_X~O^$[O~Ob$]O!c#dO~Ou#eO!U#ha!Z#ha~O!c#dOu!da!U!da!Z!dab!da~O!Z$bO~O!T$iO#Y$dO#e$cO~Ok#XOu$kO!Y$mO!Z!Wi#V!Wi!T!Wi~P${O!Z#Ra#V#Ra!T#Ra~P!ZO!Z!nO#V#gi!T#gi~Ob#fX~P#pOb$qO~Ok#XOQ!|Xb!|Xc!|Xg!|Xi!|Xo!|Xr!|Xu!|X#X!|X#Y!|X#e!|X~Ou$sOb#cX~P${Ob$uO~Ok#XOq$vO~Ob$wO~O!c#dOu#Sa!U#Sa!Z#Sa~Ob$yO~P.pOP#WOuhX!UhX~O#e$cOu!tX!U!tX~Ou${O!UwO~O!T%PO#Y$dO#e$cO~Ok#XOQ#QXc#QXg#QXi#QXo#QXr#QXu#QX!Y#QX!Z#QX#V#QX#X#QX#Y#QX#e#QX!T#QX~Ou$kO!Y%SO!Z!Wq#V!Wq!T!Wq~P${Ok#XOq%TO~OuoOb#fa~Ou$sOb#ca~Ob%WO~P${Ok#XOQ#Qac#Qag#Qai#Qao#Qar#Qau#Qa!Y#Qa!Z#Qa#V#Qa#X#Qa#Y#Qa#e#Qa!T#Qa~Ob#Oau#Oa~P${O#[p#]#ek!S#e~",goto:"-g#jPPP#kP#nP#w$WP#wP$g#wPP$mPPP$s$|$|P%`P$|P$|%z&^PPPP$|&vP&z'Q#wP'W#w'^P#wP#w#wPPP'd'y(WPP#nPP(_(_(i(_P(_P(_(_P#nP#nP#nP(l#nP(o(r(u(|#nP#nP)R)X)h)v)|*S*^*d*n*t*zPPPPPPPPPP+Q+Z+v+yP,o,r,x-RRkQ_bOPdhw!n#tkYOPdhotuvw!n#R#h#tkSOPdhotuvw!n#R#h#tQmTR!tnQ{VR!xqQ!x}Q#Z!XR#y!zq![Z]!T!m#S#U#X#q#{$Q$[$k$l$s$x%Up![Z]!T!m#S#U#X#q#{$Q$[$k$l$s$x%UU$f#m$h${R$z$eq!XZ]!T!m#S#U#X#q#{$Q$[$k$l$s$x%Up![Z]!T!m#S#U#X#q#{$Q$[$k$l$s$x%UQ!f^R#l!gT#^!Z#_Q|VR!yqQ!x|R#y!yQ!PWR!{rQ!RXR!|sQxUQ!wpQ#i!cQ#o!jQ#p!kQ$}$gR%Z$|SgPwQ!phQ#s!nR$n#tZfPhw!n#ta!b[`a!V!^!`#d#eR#b!^R!g^R!i_R#n!iS$g#m$hR%X${V$e#m$h${Q!rjR#w!rQdOShPwU!ldh#tR#t!nQ$Q#SU$r$Q$x%UQ$x$[R%U$sQ#_!ZR$Y#_Q$t$QR%V$tQpUS!vp$pR$p#}Q$l#qR%R$lQ!ogS#u!o#vR#v!pQ#f!_R$`#fQ$h#mR%O$hQ$|$gR%Y$|_cOPdhw!n#t^UOPdhw!n#tQ!uoQ!}tQ#OuQ#PvQ#}#RR$a#hR$R#SQ!VZQ!d]Q#V!TQ#q!m[$P#S$Q$[$s$x%UQ$S#UQ$U#XS$j#q$lQ$o#{R%Q$kR$O#RQiPR#QwQ!c[Q!kaR#Y!VU!_[a!VQ!j`Q#c!^Q#g!`Q$^#dR$_#e",nodeNames:"\u26A0 Unit VariableName Comment StyleSheet RuleSet UniversalSelector TagSelector TagName NestingSelector ClassSelector . ClassName PseudoClassSelector : :: PseudoClassName PseudoClassName ) ( ArgList ValueName ParenthesizedValue ColorLiteral NumberLiteral StringLiteral BinaryExpression BinOp CallExpression Callee CallLiteral CallTag ParenthesizedContent ] [ LineNames LineName , PseudoClassName ArgList IdSelector # IdName AttributeSelector AttributeName MatchOp ChildSelector ChildOp DescendantSelector SiblingSelector SiblingOp } { Block Declaration PropertyName Important ; ImportStatement AtKeyword import KeywordQuery FeatureQuery FeatureName BinaryQuery LogicOp UnaryQuery UnaryQueryOp ParenthesizedQuery SelectorQuery selector MediaStatement media CharsetStatement charset NamespaceStatement namespace NamespaceName KeyframesStatement keyframes KeyframeName KeyframeList KeyframeSelector KeyframeRangeName SupportsStatement supports AtRule Styles",maxTerm:117,nodeProps:[["isolate",-2,3,25,""],["openedBy",18,"(",33,"[",51,"{"],["closedBy",19,")",34,"]",52,"}"]],propSources:[dQ],skippedNodes:[0,3,88],repeatNodeCount:11,tokenData:"J^~R!^OX$}X^%u^p$}pq%uqr)Xrs.Rst/utu6duv$}vw7^wx7oxy9^yz9oz{9t{|:_|}?Q}!O?c!O!P@Q!P!Q@i!Q![Ab![!]B]!]!^CX!^!_$}!_!`Cj!`!aC{!a!b$}!b!cDw!c!}$}!}#OFa#O#P$}#P#QFr#Q#R6d#R#T$}#T#UGT#U#c$}#c#dHf#d#o$}#o#pH{#p#q6d#q#rI^#r#sIo#s#y$}#y#z%u#z$f$}$f$g%u$g#BY$}#BY#BZ%u#BZ$IS$}$IS$I_%u$I_$I|$}$I|$JO%u$JO$JT$}$JT$JU%u$JU$KV$}$KV$KW%u$KW&FU$}&FU&FV%u&FV;'S$};'S;=`JW<%lO$}`%QSOy%^z;'S%^;'S;=`%o<%lO%^`%cSp`Oy%^z;'S%^;'S;=`%o<%lO%^`%rP;=`<%l%^~%zh#[~OX%^X^'f^p%^pq'fqy%^z#y%^#y#z'f#z$f%^$f$g'f$g#BY%^#BY#BZ'f#BZ$IS%^$IS$I_'f$I_$I|%^$I|$JO'f$JO$JT%^$JT$JU'f$JU$KV%^$KV$KW'f$KW&FU%^&FU&FV'f&FV;'S%^;'S;=`%o<%lO%^~'mh#[~p`OX%^X^'f^p%^pq'fqy%^z#y%^#y#z'f#z$f%^$f$g'f$g#BY%^#BY#BZ'f#BZ$IS%^$IS$I_'f$I_$I|%^$I|$JO'f$JO$JT%^$JT$JU'f$JU$KV%^$KV$KW'f$KW&FU%^&FU&FV'f&FV;'S%^;'S;=`%o<%lO%^l)[UOy%^z#]%^#]#^)n#^;'S%^;'S;=`%o<%lO%^l)sUp`Oy%^z#a%^#a#b*V#b;'S%^;'S;=`%o<%lO%^l*[Up`Oy%^z#d%^#d#e*n#e;'S%^;'S;=`%o<%lO%^l*sUp`Oy%^z#c%^#c#d+V#d;'S%^;'S;=`%o<%lO%^l+[Up`Oy%^z#f%^#f#g+n#g;'S%^;'S;=`%o<%lO%^l+sUp`Oy%^z#h%^#h#i,V#i;'S%^;'S;=`%o<%lO%^l,[Up`Oy%^z#T%^#T#U,n#U;'S%^;'S;=`%o<%lO%^l,sUp`Oy%^z#b%^#b#c-V#c;'S%^;'S;=`%o<%lO%^l-[Up`Oy%^z#h%^#h#i-n#i;'S%^;'S;=`%o<%lO%^l-uS!Y[p`Oy%^z;'S%^;'S;=`%o<%lO%^~.UWOY.RZr.Rrs.ns#O.R#O#P.s#P;'S.R;'S;=`/o<%lO.R~.sOi~~.vRO;'S.R;'S;=`/P;=`O.R~/SXOY.RZr.Rrs.ns#O.R#O#P.s#P;'S.R;'S;=`/o;=`<%l.R<%lO.R~/rP;=`<%l.Rn/zYyQOy%^z!Q%^!Q![0j![!c%^!c!i0j!i#T%^#T#Z0j#Z;'S%^;'S;=`%o<%lO%^l0oYp`Oy%^z!Q%^!Q![1_![!c%^!c!i1_!i#T%^#T#Z1_#Z;'S%^;'S;=`%o<%lO%^l1dYp`Oy%^z!Q%^!Q![2S![!c%^!c!i2S!i#T%^#T#Z2S#Z;'S%^;'S;=`%o<%lO%^l2ZYg[p`Oy%^z!Q%^!Q![2y![!c%^!c!i2y!i#T%^#T#Z2y#Z;'S%^;'S;=`%o<%lO%^l3QYg[p`Oy%^z!Q%^!Q![3p![!c%^!c!i3p!i#T%^#T#Z3p#Z;'S%^;'S;=`%o<%lO%^l3uYp`Oy%^z!Q%^!Q![4e![!c%^!c!i4e!i#T%^#T#Z4e#Z;'S%^;'S;=`%o<%lO%^l4lYg[p`Oy%^z!Q%^!Q![5[![!c%^!c!i5[!i#T%^#T#Z5[#Z;'S%^;'S;=`%o<%lO%^l5aYp`Oy%^z!Q%^!Q![6P![!c%^!c!i6P!i#T%^#T#Z6P#Z;'S%^;'S;=`%o<%lO%^l6WSg[p`Oy%^z;'S%^;'S;=`%o<%lO%^d6gUOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^d7QS}Sp`Oy%^z;'S%^;'S;=`%o<%lO%^b7cSXQOy%^z;'S%^;'S;=`%o<%lO%^~7rWOY7oZw7owx.nx#O7o#O#P8[#P;'S7o;'S;=`9W<%lO7o~8_RO;'S7o;'S;=`8h;=`O7o~8kXOY7oZw7owx.nx#O7o#O#P8[#P;'S7o;'S;=`9W;=`<%l7o<%lO7o~9ZP;=`<%l7on9cSc^Oy%^z;'S%^;'S;=`%o<%lO%^~9tOb~n9{UUQkWOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^n:fWkW!SQOy%^z!O%^!O!P;O!P!Q%^!Q![>T![;'S%^;'S;=`%o<%lO%^l;TUp`Oy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^l;nYp`#e[Oy%^z!Q%^!Q![;g![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^l<cYp`Oy%^z{%^{|=R|}%^}!O=R!O!Q%^!Q![=j![;'S%^;'S;=`%o<%lO%^l=WUp`Oy%^z!Q%^!Q![=j![;'S%^;'S;=`%o<%lO%^l=qUp`#e[Oy%^z!Q%^!Q![=j![;'S%^;'S;=`%o<%lO%^l>[[p`#e[Oy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^n?VSu^Oy%^z;'S%^;'S;=`%o<%lO%^l?hWkWOy%^z!O%^!O!P;O!P!Q%^!Q![>T![;'S%^;'S;=`%o<%lO%^n@VUZQOy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^~@nTkWOy%^z{@}{;'S%^;'S;=`%o<%lO%^~AUSp`#]~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_Qp`Oy%^z;'S%^;'S;=`%o<%lO%^nC^S!Z^Oy%^z;'S%^;'S;=`%o<%lO%^dCoS}SOy%^z;'S%^;'S;=`%o<%lO%^bDQU!PQOy%^z!`%^!`!aDd!a;'S%^;'S;=`%o<%lO%^bDkS!PQp`Oy%^z;'S%^;'S;=`%o<%lO%^bDzWOy%^z!c%^!c!}Ed!}#T%^#T#oEd#o;'S%^;'S;=`%o<%lO%^bEk[!]Qp`Oy%^z}%^}!OEd!O!Q%^!Q![Ed![!c%^!c!}Ed!}#T%^#T#oEd#o;'S%^;'S;=`%o<%lO%^nFfSr^Oy%^z;'S%^;'S;=`%o<%lO%^nFwSq^Oy%^z;'S%^;'S;=`%o<%lO%^bGWUOy%^z#b%^#b#cGj#c;'S%^;'S;=`%o<%lO%^bGoUp`Oy%^z#W%^#W#XHR#X;'S%^;'S;=`%o<%lO%^bHYS!cQp`Oy%^z;'S%^;'S;=`%o<%lO%^bHiUOy%^z#f%^#f#gHR#g;'S%^;'S;=`%o<%lO%^fIQS!UUOy%^z;'S%^;'S;=`%o<%lO%^nIcS!T^Oy%^z;'S%^;'S;=`%o<%lO%^fItU!SQOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^`JZP;=`<%l$}",tokenizers:[fQ,uQ,cQ,1,2,3,4,new Et("m~RRYZ[z{a~~g~aO#_~~dP!P!Qg~lO#`~~",28,106)],topRules:{StyleSheet:[0,4],Styles:[1,87]},specialized:[{term:101,get:i=>pQ[i]||-1},{term:59,get:i=>mQ[i]||-1},{term:102,get:i=>gQ[i]||-1}],tokenPrec:1219});var vO=null;function TO(){if(!vO&&typeof document=="object"&&document.body){let{style:i}=document.body,e=[],t=new Set;for(let n in i)n!="cssText"&&n!="cssFloat"&&typeof i[n]=="string"&&(/[A-Z]/.test(n)&&(n=n.replace(/[A-Z]/g,r=>"-"+r.toLowerCase())),t.has(n)||(e.push(n),t.add(n)));vO=e.sort().map(n=>({type:"property",label:n,apply:n+": "}))}return vO||[]}var Wf=["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(i=>({type:"class",label:i})),qf=["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(i=>({type:"keyword",label:i})).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(i=>({type:"constant",label:i}))),$Q=["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(i=>({type:"type",label:i})),QQ=["@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(i=>({type:"keyword",label:i})),wt=/^(\w[\w-]*|-\w[\w-]*|)$/,SQ=/^-(-[\w-]*)?$/;function yQ(i,e){var t;if((i.name=="("||i.type.isError)&&(i=i.parent||i),i.name!="ArgList")return!1;let n=(t=i.parent)===null||t===void 0?void 0:t.firstChild;return n?.name!="Callee"?!1:e.sliceString(n.from,n.to)=="var"}var Vf=new ki,PQ=["Declaration"];function bQ(i){for(let e=i;;){if(e.type.isTop)return e;if(!(e=e.parent))return i}}function Cf(i,e,t){if(e.to-e.from>4096){let n=Vf.get(e);if(n)return n;let r=[],s=new Set,o=e.cursor(E.IncludeAnonymous);if(o.firstChild())do for(let O of Cf(i,o.node,t))s.has(O.label)||(s.add(O.label),r.push(O));while(o.nextSibling());return Vf.set(e,r),r}else{let n=[],r=new Set;return e.cursor().iterate(s=>{var o;if(t(s)&&s.matchContext(PQ)&&((o=s.node.nextSibling)===null||o===void 0?void 0:o.name)==":"){let O=i.sliceString(s.from,s.to);r.has(O)||(r.add(O),n.push({label:O,type:"variable"}))}}),n}}var xQ=i=>e=>{let{state:t,pos:n}=e,r=L(t).resolveInner(n,-1),s=r.type.isError&&r.from==r.to-1&&t.doc.sliceString(r.from,r.to)=="-";if(r.name=="PropertyName"||(s||r.name=="TagName")&&/^(Block|Styles)$/.test(r.resolve(r.to).name))return{from:r.from,options:TO(),validFor:wt};if(r.name=="ValueName")return{from:r.from,options:qf,validFor:wt};if(r.name=="PseudoClassName")return{from:r.from,options:Wf,validFor:wt};if(i(r)||(e.explicit||s)&&yQ(r,t.doc))return{from:i(r)||s?r.from:n,options:Cf(t.doc,bQ(r),i),validFor:SQ};if(r.name=="TagName"){for(let{parent:l}=r;l;l=l.parent)if(l.name=="Block")return{from:r.from,options:TO(),validFor:wt};return{from:r.from,options:$Q,validFor:wt}}if(r.name=="AtKeyword")return{from:r.from,options:QQ,validFor:wt};if(!e.explicit)return null;let o=r.resolve(n),O=o.childBefore(n);return O&&O.name==":"&&o.name=="PseudoClassSelector"?{from:n,options:Wf,validFor:wt}:O&&O.name==":"&&o.name=="Declaration"||o.name=="ArgList"?{from:n,options:qf,validFor:wt}:o.name=="Block"||o.name=="Styles"?{from:n,options:TO(),validFor:wt}:null},kQ=xQ(i=>i.name=="VariableName"),bn=ue.define({name:"css",parser:Zf.configure({props:[de.add({Declaration:qe()}),Pe.add({"Block KeyframeList":_t})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function Nr(){return new oe(bn,bn.data.of({autocomplete:kQ}))}var wQ=se({String:u.string,Number:u.number,"True False":u.bool,PropertyName:u.propertyName,Null:u.null,", :":u.separator,"[ ]":u.squareBracket,"{ }":u.brace}),Uf=me.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#ClOOQO'#Cr'#CrQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CtOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59W,59WO!iQPO,59WOVQPO,59QOqQPO'#CmO!nQPO,59`OOQO1G.k1G.kOVQPO'#CnO!vQPO,59aOOQO1G.r1G.rOOQO1G.l1G.lOOQO,59X,59XOOQO-E6k-E6kOOQO,59Y,59YOOQO-E6l-E6l",stateData:"#O~OeOS~OQSORSOSSOTSOWQO_ROgPO~OVXOgUO~O^[O~PVO[^O~O]_OVhX~OVaO~O]bO^iX~O^dO~O]_OVha~O]bO^ia~O",goto:"!kjPPPPPPkPPkqwPPPPk{!RPPP!XP!e!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:"\u26A0 JsonText True False Null Number String } { Object Property PropertyName : , ] [ Array",maxTerm:25,nodeProps:[["isolate",-2,6,11,""],["openedBy",7,"{",14,"["],["closedBy",8,"}",15,"]"]],propSources:[wQ],skippedNodes:[0],repeatNodeCount:2,tokenData:"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oe~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Og~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zO]~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yO[~~'OO_~~'TO^~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0});var vQ=ue.define({name:"json",parser:Uf.configure({props:[de.add({Object:qe({except:/^\s*\}/}),Array:qe({except:/^\s*\]/})}),Pe.add({"Object Array":_t})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function Af(){return new oe(vQ)}var TQ=314,zQ=315,Yf=1,XQ=2,RQ=3,ZQ=4,WQ=316,qQ=318,VQ=319,CQ=5,UQ=6,AQ=0,XO=[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],_f=125,YQ=59,RO=47,_Q=42,jQ=43,MQ=45,EQ=60,LQ=44,GQ=63,BQ=46,DQ=91,IQ=new Lt({start:!1,shift(i,e){return e==CQ||e==UQ||e==qQ?i:e==VQ},strict:!1}),NQ=new te((i,e)=>{let{next:t}=i;(t==_f||t==-1||e.context)&&i.acceptToken(WQ)},{contextual:!0,fallback:!0}),HQ=new te((i,e)=>{let{next:t}=i,n;XO.indexOf(t)>-1||t==RO&&((n=i.peek(1))==RO||n==_Q)||t!=_f&&t!=YQ&&t!=-1&&!e.context&&i.acceptToken(TQ)},{contextual:!0}),FQ=new te((i,e)=>{i.next==DQ&&!e.context&&i.acceptToken(zQ)},{contextual:!0}),KQ=new te((i,e)=>{let{next:t}=i;if(t==jQ||t==MQ){if(i.advance(),t==i.next){i.advance();let n=!e.context&&e.canShift(Yf);i.acceptToken(n?Yf:XQ)}}else t==GQ&&i.peek(1)==BQ&&(i.advance(),i.advance(),(i.next<48||i.next>57)&&i.acceptToken(RQ))},{contextual:!0});function zO(i,e){return i>=65&&i<=90||i>=97&&i<=122||i==95||i>=192||!e&&i>=48&&i<=57}var JQ=new te((i,e)=>{if(i.next!=EQ||!e.dialectEnabled(AQ)||(i.advance(),i.next==RO))return;let t=0;for(;XO.indexOf(i.next)>-1;)i.advance(),t++;if(zO(i.next,!0)){for(i.advance(),t++;zO(i.next,!1);)i.advance(),t++;for(;XO.indexOf(i.next)>-1;)i.advance(),t++;if(i.next==LQ)return;for(let n=0;;n++){if(n==7){if(!zO(i.next,!0))return;break}if(i.next!="extends".charCodeAt(n))break;i.advance(),t++}}i.acceptToken(ZQ,-t)}),eS=se({"get set async static":u.modifier,"for while do if else switch try catch finally return throw break continue default case":u.controlKeyword,"in of await yield void typeof delete instanceof":u.operatorKeyword,"let var const using function class extends":u.definitionKeyword,"import export from":u.moduleKeyword,"with debugger as new":u.keyword,TemplateString:u.special(u.string),super:u.atom,BooleanLiteral:u.bool,this:u.self,null:u.null,Star:u.modifier,VariableName:u.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":u.function(u.variableName),VariableDefinition:u.definition(u.variableName),Label:u.labelName,PropertyName:u.propertyName,PrivatePropertyName:u.special(u.propertyName),"CallExpression/MemberExpression/PropertyName":u.function(u.propertyName),"FunctionDeclaration/VariableDefinition":u.function(u.definition(u.variableName)),"ClassDeclaration/VariableDefinition":u.definition(u.className),"NewExpression/VariableName":u.className,PropertyDefinition:u.definition(u.propertyName),PrivatePropertyDefinition:u.definition(u.special(u.propertyName)),UpdateOp:u.updateOperator,"LineComment Hashbang":u.lineComment,BlockComment:u.blockComment,Number:u.number,String:u.string,Escape:u.escape,ArithOp:u.arithmeticOperator,LogicOp:u.logicOperator,BitOp:u.bitwiseOperator,CompareOp:u.compareOperator,RegExp:u.regexp,Equals:u.definitionOperator,Arrow:u.function(u.punctuation),": Spread":u.punctuation,"( )":u.paren,"[ ]":u.squareBracket,"{ }":u.brace,"InterpolationStart InterpolationEnd":u.special(u.brace),".":u.derefOperator,", ;":u.separator,"@":u.meta,TypeName:u.typeName,TypeDefinition:u.definition(u.typeName),"type enum interface implements namespace module declare":u.definitionKeyword,"abstract global Privacy readonly override":u.modifier,"is keyof unique infer asserts":u.operatorKeyword,JSXAttributeValue:u.attributeValue,JSXText:u.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":u.angleBracket,"JSXIdentifier JSXNameSpacedName":u.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":u.attributeName,"JSXBuiltin/JSXIdentifier":u.standard(u.tagName)}),tS={__proto__:null,export:20,as:25,from:33,default:36,async:41,function:42,const:52,extends:56,this:60,true:68,false:68,null:80,void:84,typeof:88,super:104,new:138,delete:150,yield:159,await:163,class:168,public:231,private:231,protected:231,readonly:233,instanceof:252,satisfies:255,in:256,import:290,keyof:347,unique:351,infer:357,asserts:393,is:395,abstract:415,implements:417,type:419,let:422,var:424,using:427,interface:433,enum:437,namespace:443,module:445,declare:449,global:453,for:472,of:481,while:484,with:488,do:492,if:496,else:498,switch:502,case:508,try:514,catch:518,finally:522,return:526,throw:530,break:534,continue:538,debugger:542},iS={__proto__:null,async:125,get:127,set:129,declare:191,public:193,private:193,protected:193,static:195,abstract:197,override:199,readonly:205,accessor:207,new:399},nS={__proto__:null,"<":189},jf=me.deserialize({version:14,states:"$EOQ%TQlOOO%[QlOOO'_QpOOP(lO`OOO*zQ!0MxO'#CiO+RO#tO'#CjO+aO&jO'#CjO+oO#@ItO'#D_O.QQlO'#DeO.bQlO'#DpO%[QlO'#DxO0fQlO'#EQOOQ!0Lf'#EY'#EYO1PQ`O'#EVOOQO'#En'#EnOOQO'#Ij'#IjO1XQ`O'#GrO1dQ`O'#EmO1iQ`O'#EmO3hQ!0MxO'#JpO6[Q!0MxO'#JqO6uQ`O'#F[O6zQ,UO'#FsOOQ!0Lf'#Fe'#FeO7VO7dO'#FeO7eQMhO'#F{O9UQ`O'#FzOOQ!0Lf'#Jq'#JqOOQ!0Lb'#Jp'#JpO9ZQ`O'#GvOOQ['#K]'#K]O9fQ`O'#IWO9kQ!0LrO'#IXOOQ['#J^'#J^OOQ['#I]'#I]Q`QlOOQ`QlOOO9sQ!L^O'#DtO9zQlO'#D|O:RQlO'#EOO9aQ`O'#GrO:YQMhO'#CoO:hQ`O'#ElO:sQ`O'#EwO:xQMhO'#FdO;gQ`O'#GrOOQO'#K^'#K^O;lQ`O'#K^O;zQ`O'#GzO;zQ`O'#G{O;zQ`O'#G}O9aQ`O'#HQO<qQ`O'#HTO>YQ`O'#CeO>jQ`O'#HaO>rQ`O'#HgO>rQ`O'#HiO`QlO'#HkO>rQ`O'#HmO>rQ`O'#HpO>wQ`O'#HvO>|Q!0LsO'#H|O%[QlO'#IOO?XQ!0LsO'#IQO?dQ!0LsO'#ISO9kQ!0LrO'#IUO?oQ!0MxO'#CiO@qQpO'#DjQOQ`OOO%[QlO'#EOOAXQ`O'#ERO:YQMhO'#ElOAdQ`O'#ElOAoQ!bO'#FdOOQ['#Cg'#CgOOQ!0Lb'#Do'#DoOOQ!0Lb'#Jt'#JtO%[QlO'#JtOOQO'#Jw'#JwOOQO'#If'#IfOBoQpO'#EeOOQ!0Lb'#Ed'#EdOOQ!0Lb'#J{'#J{OCkQ!0MSO'#EeOCuQpO'#EUOOQO'#Jv'#JvODZQpO'#JwOEhQpO'#EUOCuQpO'#EePEuO&2DjO'#CbPOOO)CD{)CD{OOOO'#I^'#I^OFQO#tO,59UOOQ!0Lh,59U,59UOOOO'#I_'#I_OF`O&jO,59UOFnQ!L^O'#DaOOOO'#Ia'#IaOFuO#@ItO,59yOOQ!0Lf,59y,59yOGTQlO'#IbOGhQ`O'#JrOIgQ!fO'#JrO+}QlO'#JrOInQ`O,5:POJUQ`O'#EnOJcQ`O'#KROJnQ`O'#KQOJnQ`O'#KQOJvQ`O,5;[OJ{Q`O'#KPOOQ!0Ln,5:[,5:[OKSQlO,5:[OMQQ!0MxO,5:dOMqQ`O,5:lON[Q!0LrO'#KOONcQ`O'#J}O9ZQ`O'#J}ONwQ`O'#J}O! PQ`O,5;ZO! UQ`O'#J}O!#ZQ!fO'#JqOOQ!0Lh'#Ci'#CiO%[QlO'#EQO!#yQ!fO,5:qOOQS'#Jx'#JxOOQO-E<h-E<hO9aQ`O,5=^O!$aQ`O,5=^O!$fQlO,5;XO!&iQMhO'#EiO!(SQ`O,5;XO!(XQlO'#DwO!(cQpO,5;bO!(kQpO,5;bO%[QlO,5;bOOQ['#FS'#FSOOQ['#FU'#FUO%[QlO,5;cO%[QlO,5;cO%[QlO,5;cO%[QlO,5;cO%[QlO,5;cO%[QlO,5;cO%[QlO,5;cO%[QlO,5;cO%[QlO,5;cO%[QlO,5;cOOQ['#FY'#FYO!(yQlO,5;sOOQ!0Lf,5;x,5;xOOQ!0Lf,5;y,5;yOOQ!0Lf,5;{,5;{O%[QlO'#InO!*|Q!0LrO,5<hO%[QlO,5;cO!&iQMhO,5;cO!+kQMhO,5;cO!-]QMhO'#E[O%[QlO,5;vOOQ!0Lf,5;z,5;zO!-dQ,UO'#FiO!.aQ,UO'#KVO!-{Q,UO'#KVO!.hQ,UO'#KVOOQO'#KV'#KVO!.|Q,UO,5<ROOOW,5<_,5<_O!/_QlO'#FuOOOW'#Im'#ImO7VO7dO,5<PO!/fQ,UO'#FwOOQ!0Lf,5<P,5<PO!0VQ$IUO'#CwOOQ!0Lh'#C{'#C{O!0jO#@ItO'#DPO!1WQMjO,5<dO!1_Q`O,5<gO!2zQ(CWO'#GWO!3XQ`O'#GXO!3^Q`O'#GXO!4|Q(CWO'#G]O!6RQpO'#GaOOQO'#Gm'#GmO!+rQMhO'#GlOOQO'#Go'#GoO!+rQMhO'#GnO!6tQ$IUO'#JjOOQ!0Lh'#Jj'#JjO!7OQ`O'#JiO!7^Q`O'#JhO!7fQ`O'#CuOOQ!0Lh'#Cy'#CyO!7qQ`O'#C{OOQ!0Lh'#DT'#DTOOQ!0Lh'#DV'#DVO1SQ`O'#DXO!+rQMhO'#GOO!+rQMhO'#GQO!7vQ`O'#GSO!7{Q`O'#GTO!3^Q`O'#GZO!+rQMhO'#G`O;zQ`O'#JiO!8QQ`O'#EoO!8oQ`O,5<fOOQ!0Lb'#Cr'#CrO!8wQ`O'#EpO!9qQpO'#EqOOQ!0Lb'#KP'#KPO!9xQ!0LrO'#K_O9kQ!0LrO,5=bO`QlO,5>rOOQ['#Jf'#JfOOQ[,5>s,5>sOOQ[-E<Z-E<ZO!;wQ!0MxO,5:`O!9lQpO,5:^O!>bQ!0MxO,5:hO%[QlO,5:hO!@xQ!0MxO,5:jOOQO,5@x,5@xO!AiQMhO,5=^O!AwQ!0LrO'#JgO9UQ`O'#JgO!BYQ!0LrO,59ZO!BeQpO,59ZO!BmQMhO,59ZO:YQMhO,59ZO!BxQ`O,5;XO!CQQ`O'#H`O!CfQ`O'#KbO%[QlO,5;|O!9lQpO,5<OO!CnQ`O,5=yO!CsQ`O,5=yO!CxQ`O,5=yO9kQ!0LrO,5=yO;zQ`O,5=iOOQO'#Cw'#CwO!DWQpO,5=fO!D`QMhO,5=gO!DkQ`O,5=iO!DpQ!bO,5=lO!DxQ`O'#K^O>wQ`O'#HVO9aQ`O'#HXO!D}Q`O'#HXO:YQMhO'#HZO!ESQ`O'#HZOOQ[,5=o,5=oO!EXQ`O'#H[O!EjQ`O'#CoO!EoQ`O,59PO!EyQ`O,59PO!HOQlO,59POOQ[,59P,59PO!H`Q!0LrO,59PO%[QlO,59PO!JkQlO'#HcOOQ['#Hd'#HdOOQ['#He'#HeO`QlO,5={O!KRQ`O,5={O`QlO,5>RO`QlO,5>TO!KWQ`O,5>VO`QlO,5>XO!K]Q`O,5>[O!KbQlO,5>bOOQ[,5>h,5>hO%[QlO,5>hO9kQ!0LrO,5>jOOQ[,5>l,5>lO# lQ`O,5>lOOQ[,5>n,5>nO# lQ`O,5>nOOQ[,5>p,5>pO#!YQpO'#D]O%[QlO'#JtO#!{QpO'#JtO##VQpO'#DkO##hQpO'#DkO#%yQlO'#DkO#&QQ`O'#JsO#&YQ`O,5:UO#&_Q`O'#ErO#&mQ`O'#KSO#&uQ`O,5;]O#&zQpO'#DkO#'XQpO'#ETOOQ!0Lf,5:m,5:mO%[QlO,5:mO#'`Q`O,5:mO>wQ`O,5;WO!BeQpO,5;WO!BmQMhO,5;WO:YQMhO,5;WO#'hQ`O,5@`O#'mQ07dO,5:qOOQO-E<d-E<dO#(sQ!0MSO,5;POCuQpO,5:pO#(}QpO,5:pOCuQpO,5;PO!BYQ!0LrO,5:pOOQ!0Lb'#Eh'#EhOOQO,5;P,5;PO%[QlO,5;PO#)[Q!0LrO,5;PO#)gQ!0LrO,5;PO!BeQpO,5:pOOQO,5;V,5;VO#)uQ!0LrO,5;PPOOO'#I['#I[P#*ZO&2DjO,58|POOO,58|,58|OOOO-E<[-E<[OOQ!0Lh1G.p1G.pOOOO-E<]-E<]OOOO,59{,59{O#*fQ!bO,59{OOOO-E<_-E<_OOQ!0Lf1G/e1G/eO#*kQ!fO,5>|O+}QlO,5>|OOQO,5?S,5?SO#*uQlO'#IbOOQO-E<`-E<`O#+SQ`O,5@^O#+[Q!fO,5@^O#+cQ`O,5@lOOQ!0Lf1G/k1G/kO%[QlO,5@mO#+kQ`O'#IhOOQO-E<f-E<fO#+cQ`O,5@lOOQ!0Lb1G0v1G0vOOQ!0Ln1G/v1G/vOOQ!0Ln1G0W1G0WO%[QlO,5@jO#,PQ!0LrO,5@jO#,bQ!0LrO,5@jO#,iQ`O,5@iO9ZQ`O,5@iO#,qQ`O,5@iO#-PQ`O'#IkO#,iQ`O,5@iOOQ!0Lb1G0u1G0uO!(cQpO,5:sO!(nQpO,5:sOOQS,5:u,5:uO#-qQdO,5:uO#-yQMhO1G2xO9aQ`O1G2xOOQ!0Lf1G0s1G0sO#.XQ!0MxO1G0sO#/^Q!0MvO,5;TOOQ!0Lh'#GV'#GVO#/zQ!0MzO'#JjO!$fQlO1G0sO#2VQ!fO'#JuO%[QlO'#JuO#2aQ`O,5:cOOQ!0Lh'#D]'#D]OOQ!0Lf1G0|1G0|O%[QlO1G0|OOQ!0Lf1G1e1G1eO#2fQ`O1G0|O#4zQ!0MxO1G0}O#5RQ!0MxO1G0}O#7iQ!0MxO1G0}O#7pQ!0MxO1G0}O#:WQ!0MxO1G0}O#<nQ!0MxO1G0}O#<uQ!0MxO1G0}O#<|Q!0MxO1G0}O#?dQ!0MxO1G0}O#?kQ!0MxO1G0}O#AxQ?MtO'#CiO#CsQ?MtO1G1_O#CzQ?MtO'#JqO#D_Q!0MxO,5?YOOQ!0Lb-E<l-E<lO#FlQ!0MxO1G0}O#GiQ!0MzO1G0}OOQ!0Lf1G0}1G0}O#HlQMjO'#JzO#HvQ`O,5:vO#H{Q!0MxO1G1bO#IoQ,UO,5<VO#IwQ,UO,5<WO#JPQ,UO'#FnO#JhQ`O'#FmOOQO'#KW'#KWOOQO'#Il'#IlO#JmQ,UO1G1mOOQ!0Lf1G1m1G1mOOOW1G1x1G1xO#KOQ?MtO'#JpO#KYQ`O,5<aO!(yQlO,5<aOOOW-E<k-E<kOOQ!0Lf1G1k1G1kO#K_QpO'#KVOOQ!0Lf,5<c,5<cO#KgQpO,5<cO#KlQMhO'#DROOOO'#I`'#I`O#KsO#@ItO,59kOOQ!0Lh,59k,59kO%[QlO1G2OO!7{Q`O'#IpO#LOQ`O,5<yOOQ!0Lh,5<v,5<vO!+rQMhO'#IsO#LlQMjO,5=WO!+rQMhO'#IuO#M_QMjO,5=YO!&iQMhO,5=[OOQO1G2R1G2RO#MiQ!dO'#CrO#M|Q(CWO'#EpO$ RQpO'#GaO$ iQ!dO,5<rO$ pQ`O'#KYO9ZQ`O'#KYO$!OQ`O,5<tO!+rQMhO,5<sO$!TQ`O'#GYO$!fQ`O,5<sO$!kQ!dO'#GVO$!xQ!dO'#KZO$#SQ`O'#KZO!&iQMhO'#KZO$#XQ`O,5<wO$#^QlO'#JtO$#hQpO'#GbO##hQpO'#GbO$#yQ`O'#GfO!3^Q`O'#GjO$$OQ!0LrO'#IrO$$ZQpO,5<{OOQ!0Lp,5<{,5<{O$$bQpO'#GbO$$oQpO'#GcO$%QQpO'#GcO$%VQMjO,5=WO$%gQMjO,5=YOOQ!0Lh,5=],5=]O!+rQMhO,5@TO!+rQMhO,5@TO$%wQ`O'#IwO$&VQ`O,5@SO$&_Q`O,59aOOQ!0Lh,59g,59gO$'UQ$IYO,59sOOQ!0Lh'#Jn'#JnO$'wQMjO,5<jO$(jQMjO,5<lO@iQ`O,5<nOOQ!0Lh,5<o,5<oO$(tQ`O,5<uO$(yQMjO,5<zO$)ZQ`O,5@TO$)iQ`O'#J}O!$fQlO1G2QO$)nQ`O1G2QO9ZQ`O'#KQO9ZQ`O'#ErO%[QlO'#ErO9ZQ`O'#IyO$)sQ!0LrO,5@yOOQ[1G2|1G2|OOQ[1G4^1G4^OOQ!0Lf1G/z1G/zOOQ!0Lf1G/x1G/xO$+uQ!0MxO1G0SOOQ[1G2x1G2xO!&iQMhO1G2xO%[QlO1G2xO#-|Q`O1G2xO$-yQMhO'#EiOOQ!0Lb,5@R,5@RO$.WQ!0LrO,5@ROOQ[1G.u1G.uO!BYQ!0LrO1G.uO!BeQpO1G.uO!BmQMhO1G.uO$.iQ`O1G0sO$.nQ`O'#CiO$.yQ`O'#KcO$/RQ`O,5=zO$/WQ`O'#KcO$/]Q`O'#KcO$/kQ`O'#JPO$/yQ`O,5@|O$0RQ!fO1G1hOOQ!0Lf1G1j1G1jO9aQ`O1G3eO@iQ`O1G3eO$0YQ`O1G3eO$0_Q`O1G3eOOQ[1G3e1G3eO!DkQ`O1G3TO!&iQMhO1G3QO$0dQ`O1G3QOOQ[1G3R1G3RO!&iQMhO1G3RO$0iQ`O1G3RO$0qQpO'#HPOOQ[1G3T1G3TO!5|QpO'#I{O!DpQ!bO1G3WOOQ[1G3W1G3WOOQ[,5=q,5=qO$0yQMhO,5=sO9aQ`O,5=sO$#yQ`O,5=uO9UQ`O,5=uO!BeQpO,5=uO!BmQMhO,5=uO:YQMhO,5=uO$1XQ`O'#KaO$1dQ`O,5=vOOQ[1G.k1G.kO$1iQ!0LrO1G.kO@iQ`O1G.kO$1tQ`O1G.kO9kQ!0LrO1G.kO$3|Q!fO,5AOO$4ZQ`O,5AOO9ZQ`O,5AOO$4fQlO,5=}O$4mQ`O,5=}OOQ[1G3g1G3gO`QlO1G3gOOQ[1G3m1G3mOOQ[1G3o1G3oO>rQ`O1G3qO$4rQlO1G3sO$8vQlO'#HrOOQ[1G3v1G3vO$9TQ`O'#HxO>wQ`O'#HzOOQ[1G3|1G3|O$9]QlO1G3|O9kQ!0LrO1G4SOOQ[1G4U1G4UOOQ!0Lb'#G^'#G^O9kQ!0LrO1G4WO9kQ!0LrO1G4YO$=dQ`O,5@`O!(yQlO,5;^O9ZQ`O,5;^O>wQ`O,5:VO!(yQlO,5:VO!BeQpO,5:VO$=iQ?MtO,5:VOOQO,5;^,5;^O$=sQpO'#IcO$>ZQ`O,5@_OOQ!0Lf1G/p1G/pO$>cQpO'#IiO$>mQ`O,5@nOOQ!0Lb1G0w1G0wO##hQpO,5:VOOQO'#Ie'#IeO$>uQpO,5:oOOQ!0Ln,5:o,5:oO#'cQ`O1G0XOOQ!0Lf1G0X1G0XO%[QlO1G0XOOQ!0Lf1G0r1G0rO>wQ`O1G0rO!BeQpO1G0rO!BmQMhO1G0rOOQ!0Lb1G5z1G5zO!BYQ!0LrO1G0[OOQO1G0k1G0kO%[QlO1G0kO$>|Q!0LrO1G0kO$?XQ!0LrO1G0kO!BeQpO1G0[OCuQpO1G0[O$?gQ!0LrO1G0kOOQO1G0[1G0[O$?{Q!0MxO1G0kPOOO-E<Y-E<YPOOO1G.h1G.hOOOO1G/g1G/gO$@VQ!bO,5<hO$@_Q!fO1G4hOOQO1G4n1G4nO%[QlO,5>|O$@iQ`O1G5xO$@qQ`O1G6WO$@yQ!fO1G6XO9ZQ`O,5?SO$ATQ!0MxO1G6UO%[QlO1G6UO$AeQ!0LrO1G6UO$AvQ`O1G6TO$AvQ`O1G6TO9ZQ`O1G6TO$BOQ`O,5?VO9ZQ`O,5?VOOQO,5?V,5?VO$BdQ`O,5?VO$)iQ`O,5?VOOQO-E<i-E<iOOQS1G0_1G0_OOQS1G0a1G0aO#-tQ`O1G0aOOQ[7+(d7+(dO!&iQMhO7+(dO%[QlO7+(dO$BrQ`O7+(dO$B}QMhO7+(dO$C]Q!0MzO,5=WO$EhQ!0MzO,5=YO$GsQ!0MzO,5=WO$JUQ!0MzO,5=YO$LgQ!0MzO,59sO$NlQ!0MzO,5<jO%!wQ!0MzO,5<lO%%SQ!0MzO,5<zOOQ!0Lf7+&_7+&_O%'eQ!0MxO7+&_O%(XQlO'#IdO%(fQ`O,5@aO%(nQ!fO,5@aOOQ!0Lf1G/}1G/}O%(xQ`O7+&hOOQ!0Lf7+&h7+&hO%(}Q?MtO,5:dO%[QlO7+&yO%)XQ?MtO,5:`O%)fQ?MtO,5:hO%)pQ?MtO,5:jO%)zQMhO'#IgO%*UQ`O,5@fOOQ!0Lh1G0b1G0bOOQO1G1q1G1qOOQO1G1r1G1rO%*^Q!jO,5<YO!(yQlO,5<XOOQO-E<j-E<jOOQ!0Lf7+'X7+'XOOOW7+'d7+'dOOOW1G1{1G1{O%*iQ`O1G1{OOQ!0Lf1G1}1G1}OOOO,59m,59mO%*nQ!dO,59mOOOO-E<^-E<^OOQ!0Lh1G/V1G/VO%*uQ!0MxO7+'jOOQ!0Lh,5?[,5?[O%+iQMhO1G2eP%+pQ`O'#IpPOQ!0Lh-E<n-E<nO%,^QMjO,5?_OOQ!0Lh-E<q-E<qO%-PQMjO,5?aOOQ!0Lh-E<s-E<sO%-ZQ!dO1G2vO%-bQ!dO'#CrO%-xQMhO'#KQO$#^QlO'#JtOOQ!0Lh1G2^1G2^O%.PQ`O'#IoO%.eQ`O,5@tO%.eQ`O,5@tO%.mQ`O,5@tO%.xQ`O,5@tOOQO1G2`1G2`O%/WQMjO1G2_O!+rQMhO1G2_O%/hQ(CWO'#IqO%/uQ`O,5@uO!&iQMhO,5@uO%/}Q!dO,5@uOOQ!0Lh1G2c1G2cO%2_Q!fO'#CiO%2iQ`O,5=OOOQ!0Lb,5<|,5<|O%2qQpO,5<|OOQ!0Lb,5<},5<}OCfQ`O,5<|O%2|QpO,5<|OOQ!0Lb,5=Q,5=QO$)iQ`O,5=UOOQO,5?^,5?^OOQO-E<p-E<pOOQ!0Lp1G2g1G2gO##hQpO,5<|O$#^QlO,5=OO%3[Q`O,5<}O%3gQpO,5<}O!+rQMhO'#IsO%4aQMjO1G2rO!+rQMhO'#IuO%5SQMjO1G2tO%5^QMjO1G5oO%5hQMjO1G5oOOQO,5?c,5?cOOQO-E<u-E<uOOQO1G.{1G.{O!9lQpO,59uO%[QlO,59uOOQ!0Lh,5<i,5<iO%5uQ`O1G2YO!+rQMhO1G2aO!+rQMhO1G5oO!+rQMhO1G5oO%5zQ!0MxO7+'lOOQ!0Lf7+'l7+'lO!$fQlO7+'lO%6nQ`O,5;^OOQ!0Lb,5?e,5?eOOQ!0Lb-E<w-E<wO%6sQ!dO'#K[O#'cQ`O7+(dO4UQ!fO7+(dO$BuQ`O7+(dO%6}Q!0MvO'#CiO%7nQ!0LrO,5=RO%8PQ!0MvO,5=RO%8dQ`O,5=ROOQ!0Lb1G5m1G5mOOQ[7+$a7+$aO!BYQ!0LrO7+$aO!BeQpO7+$aO!$fQlO7+&_O%8lQ`O'#JOO%9TQ`O,5@}OOQO1G3f1G3fO9aQ`O,5@}O%9TQ`O,5@}O%9]Q`O,5@}OOQO,5?k,5?kOOQO-E<}-E<}OOQ!0Lf7+'S7+'SO%9bQ`O7+)PO9kQ!0LrO7+)PO9aQ`O7+)PO@iQ`O7+)POOQ[7+(o7+(oO%9gQ!0MvO7+(lO!&iQMhO7+(lO!DfQ`O7+(mOOQ[7+(m7+(mO!&iQMhO7+(mO%9qQ`O'#K`O%9|Q`O,5=kOOQO,5?g,5?gOOQO-E<y-E<yOOQ[7+(r7+(rO%;`QpO'#HYOOQ[1G3_1G3_O!&iQMhO1G3_O%[QlO1G3_O%;gQ`O1G3_O%;rQMhO1G3_O9kQ!0LrO1G3aO$#yQ`O1G3aO9UQ`O1G3aO!BeQpO1G3aO!BmQMhO1G3aO%<QQ`O'#I}O%<fQ`O,5@{O%<nQpO,5@{OOQ!0Lb1G3b1G3bOOQ[7+$V7+$VO@iQ`O7+$VO9kQ!0LrO7+$VO%<yQ`O7+$VO%[QlO1G6jO%[QlO1G6kO%=OQ!0LrO1G6jO%=YQlO1G3iO%=aQ`O1G3iO%=fQlO1G3iOOQ[7+)R7+)RO9kQ!0LrO7+)]O`QlO7+)_OOQ['#Kf'#KfOOQ['#JQ'#JQO%=mQlO,5>^OOQ[,5>^,5>^O%[QlO'#HsO%=zQ`O'#HuOOQ[,5>d,5>dO9ZQ`O,5>dOOQ[,5>f,5>fOOQ[7+)h7+)hOOQ[7+)n7+)nOOQ[7+)r7+)rOOQ[7+)t7+)tO%>PQpO1G5zO%>kQ?MtO1G0xO%>uQ`O1G0xOOQO1G/q1G/qO%?QQ?MtO1G/qO>wQ`O1G/qO!(yQlO'#DkOOQO,5>},5>}OOQO-E<a-E<aOOQO,5?T,5?TOOQO-E<g-E<gO!BeQpO1G/qOOQO-E<c-E<cOOQ!0Ln1G0Z1G0ZOOQ!0Lf7+%s7+%sO#'cQ`O7+%sOOQ!0Lf7+&^7+&^O>wQ`O7+&^O!BeQpO7+&^OOQO7+%v7+%vO$?{Q!0MxO7+&VOOQO7+&V7+&VO%[QlO7+&VO%?[Q!0LrO7+&VO!BYQ!0LrO7+%vO!BeQpO7+%vO%?gQ!0LrO7+&VO%?uQ!0MxO7++pO%[QlO7++pO%@VQ`O7++oO%@VQ`O7++oOOQO1G4q1G4qO9ZQ`O1G4qO%@_Q`O1G4qOOQS7+%{7+%{O#'cQ`O<<LOO4UQ!fO<<LOO%@mQ`O<<LOOOQ[<<LO<<LOO!&iQMhO<<LOO%[QlO<<LOO%@uQ`O<<LOO%AQQ!0MzO,5?_O%C]Q!0MzO,5?aO%EhQ!0MzO1G2_O%GyQ!0MzO1G2rO%JUQ!0MzO1G2tO%LaQ!fO,5?OO%[QlO,5?OOOQO-E<b-E<bO%LkQ`O1G5{OOQ!0Lf<<JS<<JSO%LsQ?MtO1G0sO%NzQ?MtO1G0}O& RQ?MtO1G0}O&#SQ?MtO1G0}O&#ZQ?MtO1G0}O&%[Q?MtO1G0}O&']Q?MtO1G0}O&'dQ?MtO1G0}O&'kQ?MtO1G0}O&)lQ?MtO1G0}O&)sQ?MtO1G0}O&)zQ!0MxO<<JeO&+rQ?MtO1G0}O&,oQ?MvO1G0}O&-rQ?MvO'#JjO&/xQ?MtO1G1bO&0VQ?MtO1G0SO&0aQMjO,5?ROOQO-E<e-E<eO!(yQlO'#FpOOQO'#KX'#KXOOQO1G1t1G1tO&0kQ`O1G1sO&0pQ?MtO,5?YOOOW7+'g7+'gOOOO1G/X1G/XO&0zQ!dO1G4vOOQ!0Lh7+(P7+(PP!&iQMhO,5?[O!+rQMhO7+(bO&1RQ`O,5?ZO9ZQ`O,5?ZOOQO-E<m-E<mO&1aQ`O1G6`O&1aQ`O1G6`O&1iQ`O1G6`O&1tQMjO7+'yO&2UQ!dO,5?]O&2`Q`O,5?]O!&iQMhO,5?]OOQO-E<o-E<oO&2eQ!dO1G6aO&2oQ`O1G6aO&2wQ`O1G2jO!&iQMhO1G2jOOQ!0Lb1G2h1G2hOOQ!0Lb1G2i1G2iO%2qQpO1G2hO!BeQpO1G2hOCfQ`O1G2hOOQ!0Lb1G2p1G2pO&2|QpO1G2hO&3[Q`O1G2jO$)iQ`O1G2iOCfQ`O1G2iO$#^QlO1G2jO&3dQ`O1G2iO&4WQMjO,5?_OOQ!0Lh-E<r-E<rO&4yQMjO,5?aOOQ!0Lh-E<t-E<tO!+rQMhO7++ZOOQ!0Lh1G/a1G/aO&5TQ`O1G/aOOQ!0Lh7+'t7+'tO&5YQMjO7+'{O&5jQMjO7++ZO&5tQMjO7++ZO&6RQ!0MxO<<KWOOQ!0Lf<<KW<<KWO&6uQ`O1G0xO!&iQMhO'#IxO&6zQ`O,5@vO&8|Q!fO<<LOO!&iQMhO1G2mO&9TQ!0LrO1G2mOOQ[<<G{<<G{O!BYQ!0LrO<<G{O&9fQ!0MxO<<IyOOQ!0Lf<<Iy<<IyOOQO,5?j,5?jO&:YQ`O,5?jO&:_Q`O,5?jOOQO-E<|-E<|O&:mQ`O1G6iO&:mQ`O1G6iO9aQ`O1G6iO@iQ`O<<LkOOQ[<<Lk<<LkO&:uQ`O<<LkO9kQ!0LrO<<LkOOQ[<<LW<<LWO%9gQ!0MvO<<LWOOQ[<<LX<<LXO!DfQ`O<<LXO&:zQpO'#IzO&;VQ`O,5@zO!(yQlO,5@zOOQ[1G3V1G3VOOQO'#I|'#I|O9kQ!0LrO'#I|O&;_QpO,5=tOOQ[,5=t,5=tO&;fQpO'#EeO&;mQpO'#GdO&;rQ`O7+(yO&;wQ`O7+(yOOQ[7+(y7+(yO!&iQMhO7+(yO%[QlO7+(yO&<PQ`O7+(yOOQ[7+({7+({O9kQ!0LrO7+({O$#yQ`O7+({O9UQ`O7+({O!BeQpO7+({O&<[Q`O,5?iOOQO-E<{-E<{OOQO'#H]'#H]O&<gQ`O1G6gO9kQ!0LrO<<GqOOQ[<<Gq<<GqO@iQ`O<<GqO&<oQ`O7+,UO&<tQ`O7+,VO%[QlO7+,UO%[QlO7+,VOOQ[7+)T7+)TO&<yQ`O7+)TO&=OQlO7+)TO&=VQ`O7+)TOOQ[<<Lw<<LwOOQ[<<Ly<<LyOOQ[-E=O-E=OOOQ[1G3x1G3xO&=[Q`O,5>_OOQ[,5>a,5>aO&=aQ`O1G4OO9ZQ`O7+&dO!(yQlO7+&dOOQO7+%]7+%]O&=fQ?MtO1G6XO>wQ`O7+%]OOQ!0Lf<<I_<<I_OOQ!0Lf<<Ix<<IxO>wQ`O<<IxOOQO<<Iq<<IqO$?{Q!0MxO<<IqO%[QlO<<IqOOQO<<Ib<<IbO!BYQ!0LrO<<IbO&=pQ!0LrO<<IqO&={Q!0MxO<= [O&>]Q`O<= ZOOQO7+*]7+*]O9ZQ`O7+*]OOQ[ANAjANAjO&>eQ!fOANAjO!&iQMhOANAjO#'cQ`OANAjO4UQ!fOANAjO&>lQ`OANAjO%[QlOANAjO&>tQ!0MzO7+'yO&AVQ!0MzO,5?_O&CbQ!0MzO,5?aO&EmQ!0MzO7+'{O&HOQ!fO1G4jO&HYQ?MtO7+&_O&J^Q?MvO,5=WO&LeQ?MvO,5=YO&LuQ?MvO,5=WO&MVQ?MvO,5=YO&MgQ?MvO,59sO' mQ?MvO,5<jO'#pQ?MvO,5<lO'&UQ?MvO,5<zO''zQ?MtO7+'jO'(XQ?MtO7+'lO'(fQ`O,5<[OOQO7+'_7+'_OOQ!0Lh7+*b7+*bO'(kQMjO<<K|OOQO1G4u1G4uO'(rQ`O1G4uO'(}Q`O1G4uO')]Q`O7++zO')]Q`O7++zO!&iQMhO1G4wO')eQ!dO1G4wO')oQ`O7++{O')wQ`O7+(UO'*SQ!dO7+(UOOQ!0Lb7+(S7+(SOOQ!0Lb7+(T7+(TO!BeQpO7+(SOCfQ`O7+(SO'*^Q`O7+(UO!&iQMhO7+(UO$)iQ`O7+(TO'*cQ`O7+(UOCfQ`O7+(TO'*kQMjO<<NuOOQ!0Lh7+${7+${O!+rQMhO<<NuO'*uQ!dO,5?dOOQO-E<v-E<vO'+PQ!0MvO7+(XO!&iQMhO7+(XOOQ[AN=gAN=gO9aQ`O1G5UOOQO1G5U1G5UO'+aQ`O1G5UO'+fQ`O7+,TO'+fQ`O7+,TO9kQ!0LrOANBVO@iQ`OANBVOOQ[ANBVANBVOOQ[ANArANArOOQ[ANAsANAsO'+nQ`O,5?fOOQO-E<x-E<xO'+yQ?MtO1G6fOOQO,5?h,5?hOOQO-E<z-E<zOOQ[1G3`1G3`O',TQ`O,5=OOOQ[<<Le<<LeO!&iQMhO<<LeO&;rQ`O<<LeO',YQ`O<<LeO%[QlO<<LeOOQ[<<Lg<<LgO9kQ!0LrO<<LgO$#yQ`O<<LgO9UQ`O<<LgO',bQpO1G5TO',mQ`O7+,ROOQ[AN=]AN=]O9kQ!0LrOAN=]OOQ[<= p<= pOOQ[<= q<= qO',uQ`O<= pO',zQ`O<= qOOQ[<<Lo<<LoO'-PQ`O<<LoO'-UQlO<<LoOOQ[1G3y1G3yO>wQ`O7+)jO'-]Q`O<<JOO'-hQ?MtO<<JOOOQO<<Hw<<HwOOQ!0LfAN?dAN?dOOQOAN?]AN?]O$?{Q!0MxOAN?]OOQOAN>|AN>|O%[QlOAN?]OOQO<<Mw<<MwOOQ[G27UG27UO!&iQMhOG27UO#'cQ`OG27UO'-rQ!fOG27UO4UQ!fOG27UO'-yQ`OG27UO'.RQ?MtO<<JeO'.`Q?MvO1G2_O'0UQ?MvO,5?_O'2XQ?MvO,5?aO'4[Q?MvO1G2rO'6_Q?MvO1G2tO'8bQ?MtO<<KWO'8oQ?MtO<<IyOOQO1G1v1G1vO!+rQMhOANAhOOQO7+*a7+*aO'8|Q`O7+*aO'9XQ`O<= fO'9aQ!dO7+*cOOQ!0Lb<<Kp<<KpO$)iQ`O<<KpOCfQ`O<<KpO'9kQ`O<<KpO!&iQMhO<<KpOOQ!0Lb<<Kn<<KnO!BeQpO<<KnO'9vQ!dO<<KpOOQ!0Lb<<Ko<<KoO':QQ`O<<KpO!&iQMhO<<KpO$)iQ`O<<KoO':VQMjOANDaO':aQ!0MvO<<KsOOQO7+*p7+*pO9aQ`O7+*pO':qQ`O<= oOOQ[G27qG27qO9kQ!0LrOG27qO!(yQlO1G5QO':yQ`O7+,QO';RQ`O1G2jO&;rQ`OANBPOOQ[ANBPANBPO!&iQMhOANBPO';WQ`OANBPOOQ[ANBRANBRO9kQ!0LrOANBRO$#yQ`OANBROOQO'#H^'#H^OOQO7+*o7+*oOOQ[G22wG22wOOQ[ANE[ANE[OOQ[ANE]ANE]OOQ[ANBZANBZO';`Q`OANBZOOQ[<<MU<<MUO!(yQlOAN?jOOQOG24wG24wO$?{Q!0MxOG24wO#'cQ`OLD,pOOQ[LD,pLD,pO!&iQMhOLD,pO';eQ!fOLD,pO';lQ?MvO7+'yO'=bQ?MvO,5?_O'?eQ?MvO,5?aO'AhQ?MvO7+'{O'C^QMjOG27SOOQO<<M{<<M{OOQ!0LbANA[ANA[O$)iQ`OANA[OCfQ`OANA[O'CnQ!dOANA[OOQ!0LbANAYANAYO'CuQ`OANA[O!&iQMhOANA[O'DQQ!dOANA[OOQ!0LbANAZANAZOOQO<<N[<<N[OOQ[LD-]LD-]O'D[Q?MtO7+*lOOQO'#Ge'#GeOOQ[G27kG27kO&;rQ`OG27kO!&iQMhOG27kOOQ[G27mG27mO9kQ!0LrOG27mOOQ[G27uG27uO'DfQ?MtOG25UOOQOLD*cLD*cOOQ[!$(![!$(![O#'cQ`O!$(![O!&iQMhO!$(![O'DpQ!0MzOG27SOOQ!0LbG26vG26vO$)iQ`OG26vO'GRQ`OG26vOCfQ`OG26vO'G^Q!dOG26vO!&iQMhOG26vOOQ[LD-VLD-VO&;rQ`OLD-VOOQ[LD-XLD-XOOQ[!)9Ev!)9EvO#'cQ`O!)9EvOOQ!0LbLD,bLD,bO$)iQ`OLD,bOCfQ`OLD,bO'GeQ`OLD,bO'GpQ!dOLD,bOOQ[!$(!q!$(!qOOQ[!.K;b!.K;bO'GwQ?MvOG27SOOQ!0Lb!$( |!$( |O$)iQ`O!$( |OCfQ`O!$( |O'ImQ`O!$( |OOQ!0Lb!)9Eh!)9EhO$)iQ`O!)9EhOCfQ`O!)9EhOOQ!0Lb!.K;S!.K;SO$)iQ`O!.K;SOOQ!0Lb!4/0n!4/0nO!(yQlO'#DxO1PQ`O'#EVO'IxQ!fO'#JpO'JPQ!L^O'#DtO'JWQlO'#D|O'J_Q!fO'#CiO'LuQ!fO'#CiO!(yQlO'#EOO'MVQlO,5;XO!(yQlO,5;cO!(yQlO,5;cO!(yQlO,5;cO!(yQlO,5;cO!(yQlO,5;cO!(yQlO,5;cO!(yQlO,5;cO!(yQlO,5;cO!(yQlO,5;cO!(yQlO,5;cO!(yQlO'#InO( YQ`O,5<hO!(yQlO,5;cO( bQMhO,5;cO(!{QMhO,5;cO!(yQlO,5;vO!&iQMhO'#GlO( bQMhO'#GlO!&iQMhO'#GnO( bQMhO'#GnO1SQ`O'#DXO1SQ`O'#DXO!&iQMhO'#GOO( bQMhO'#GOO!&iQMhO'#GQO( bQMhO'#GQO!&iQMhO'#G`O( bQMhO'#G`O!(yQlO,5:hO(#SQpO'#D]O(#^QpO'#JtO!(yQlO,5@mO'MVQlO1G0sO(#hQ?MtO'#CiO!(yQlO1G2OO!&iQMhO'#IsO( bQMhO'#IsO!&iQMhO'#IuO( bQMhO'#IuO(#rQ!dO'#CrO!&iQMhO,5<sO( bQMhO,5<sO'MVQlO1G2QO!(yQlO7+&yO!&iQMhO1G2_O( bQMhO1G2_O!&iQMhO'#IsO( bQMhO'#IsO!&iQMhO'#IuO( bQMhO'#IuO!&iQMhO1G2aO( bQMhO1G2aO'MVQlO7+'lO'MVQlO7+&_O!&iQMhOANAhO( bQMhOANAhO($VQ`O'#EmO($[Q`O'#EmO($dQ`O'#F[O($iQ`O'#EwO($nQ`O'#KRO($yQ`O'#KPO(%UQ`O,5;XO(%ZQMjO,5<dO(%bQ`O'#GXO(%gQ`O'#GXO(%lQ`O,5<fO(%tQ`O,5;XO(%|Q?MtO1G1_O(&TQ`O,5<sO(&YQ`O,5<sO(&_Q`O,5<uO(&dQ`O,5<uO(&iQ`O1G2QO(&nQ`O1G0sO(&sQMjO<<K|O(&zQMjO<<K|O7eQMhO'#F{O9UQ`O'#FzOAdQ`O'#ElO!(yQlO,5;sO!3^Q`O'#GXO!3^Q`O'#GXO!3^Q`O'#GZO!3^Q`O'#GZO!+rQMhO7+(bO!+rQMhO7+(bO%-ZQ!dO1G2vO%-ZQ!dO1G2vO!&iQMhO,5=[O!&iQMhO,5=[",stateData:"((P~O'zOS'{OSTOS'|RQ~OPYOQYOSfOY!VOaqOdzOeyOj!POnkOpYOqkOrkOxkOzYO|YO!QWO!UkO!VkO!]XO!guO!jZO!mYO!nYO!oYO!qvO!swO!vxO!z]O$V|O$miO%g}O%i!QO%k!OO%l!OO%m!OO%p!RO%r!SO%u!TO%v!TO%x!UO&U!WO&[!XO&^!YO&`!ZO&b![O&e!]O&k!^O&q!_O&s!`O&u!aO&w!bO&y!cO(RSO(TTO(WUO(_VO(m[O~OWtO~P`OPYOQYOSfOd!jOe!iOnkOpYOqkOrkOxkOzYO|YO!QWO!UkO!VkO!]!eO!guO!jZO!mYO!nYO!oYO!qvO!s!gO!v!hO$V!kO$miO(R!dO(TTO(WUO(_VO(m[O~Oa!wOq!nO!Q!oO!`!yO!a!vO!b!vO!z;wO#R!pO#S!pO#T!xO#U!pO#V!pO#Y!zO#Z!zO(S!lO(TTO(WUO(c!mO(m!sO~O'|!{O~OP]XR]X[]Xa]Xp]X!O]X!Q]X!Z]X!j]X!n]X#P]X#Q]X#^]X#ifX#l]X#m]X#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#w]X#y]X#z]X$P]X'x]X(_]X(p]X(w]X(x]X~O!e%QX~P(qO_!}O(T#PO(U!}O(V#PO~O_#QO(V#PO(W#PO(X#QO~Ov#SO!S#TO(`#TO(a#VO~OPYOQYOSfOd!jOe!iOnkOpYOqkOrkOxkOzYO|YO!QWO!UkO!VkO!]!eO!guO!jZO!mYO!nYO!oYO!qvO!s!gO!v!hO$V!kO$miO(R;{O(TTO(WUO(_VO(m[O~O!Y#ZO!Z#WO!W(fP!W(tP~P+}O![#cO~P`OPYOQYOSfOd!jOe!iOpYOqkOrkOxkOzYO|YO!QWO!UkO!VkO!]!eO!guO!jZO!mYO!nYO!oYO!qvO!s!gO!v!hO$V!kO$miO(TTO(WUO(_VO(m[O~On#mO!Y#iO!z]O#g#lO#h#iO(R;|O!i(qP~P.iO!j#oO(R#nO~O!v#sO!z]O%g#tO~O#i#uO~O!e#vO#i#uO~OP$[OR#zO[$cOp$aO!O#yO!Q#{O!Z$_O!j#xO!n$[O#P$RO#l$OO#m$PO#n$PO#o$PO#p$QO#q$RO#r$RO#s$bO#t$RO#u$SO#w$UO#y$WO#z$XO(_VO(p$YO(w#|O(x#}O~Oa(dX'x(dX'u(dX!i(dX!W(dX!](dX%h(dX!e(dX~P1qO#Q$dO#^$eO$P$eOP(eXR(eX[(eXp(eX!O(eX!Q(eX!Z(eX!j(eX!n(eX#P(eX#l(eX#m(eX#n(eX#o(eX#p(eX#q(eX#r(eX#s(eX#t(eX#u(eX#w(eX#y(eX#z(eX(_(eX(p(eX(w(eX(x(eX!](eX%h(eX~Oa(eX'x(eX'u(eX!W(eX!i(eXt(eX!e(eX~P4UO#^$eO~O$[$hO$^$gO$e$mO~OSfO!]$nO$h$oO$j$qO~Oh%VOj%cOn%WOp%XOq$tOr$tOx%YOz%ZO|%[O!Q${O!]$|O!g%aO!j$xO#h%bO$V%_O$s%]O$u%^O$x%`O(R$sO(TTO(WUO(_$uO(w$}O(x%POg([P~O!j%dO~O!Q%gO!]%hO(R%fO~O!e%lO~Oa%mO'x%mO~O!O%qO~P%[O(S!lO~P%[O%m%uO~P%[Oh%VO!j%dO(R%fO(S!lO~Oe%|O!j%dO(R%fO~O#t$RO~O!O&RO!]&OO!j&QO%i&UO(R%fO(S!lO(TTO(WUO`)UP~O!v#sO~O%r&WO!Q)QX!])QX(R)QX~O(R&XO~Oj!PO!s&^O%i!QO%k!OO%l!OO%m!OO%p!RO%r!SO%u!TO%v!TO~Od&cOe&bO!v&`O%g&aO%z&_O~P<POd&fOeyOj!PO!]&eO!s&^O!vxO!z]O%g}O%k!OO%l!OO%m!OO%p!RO%r!SO%u!TO%v!TO%x!UO~Ob&iO#^&lO%i&gO(S!lO~P=UO!j&mO!s&qO~O!j#oO~O!]XO~Oa%mO'v&yO'x%mO~Oa%mO'v&|O'x%mO~Oa%mO'v'OO'x%mO~O'u]X!W]Xt]X!i]X&Y]X!]]X%h]X!e]X~P(qO!`']O!a'UO!b'UO(S!lO(TTO(WUO~Oq'SO!Q'RO!Y'VO(c'QO![(gP![(vP~P@]Ol'`O!]'^O(R%fO~Oe'eO!j%dO(R%fO~O!O&RO!j&QO~Oq!nO!Q!oO!z;wO#R!pO#S!pO#U!pO#V!pO(S!lO(TTO(WUO(c!mO(m!sO~O!`'kO!a'jO!b'jO#T!pO#Y'lO#Z'lO~PAwOa%mOh%VO!e#vO!j%dO'x%mO(p'nO~O!n'rO#^'pO~PCVOq!nO!Q!oO(TTO(WUO(c!mO(m!sO~O!]XOq(kX!Q(kX!`(kX!a(kX!b(kX!z(kX#R(kX#S(kX#T(kX#U(kX#V(kX#Y(kX#Z(kX(S(kX(T(kX(W(kX(c(kX(m(kX~O!a'jO!b'jO(S!lO~PCuO'}'vO(O'vO(P'xO~O_!}O(T'zO(U!}O(V'zO~O_#QO(V'zO(W'zO(X#QO~Ot'|O~P%[Ov#SO!S#TO(`#TO(a(PO~O!Y(RO!W'UX!W'[X!Z'UX!Z'[X~P+}O!Z(TO!W(fX~OP$[OR#zO[$cOp$aO!O#yO!Q#{O!Z(TO!j#xO!n$[O#P$RO#l$OO#m$PO#n$PO#o$PO#p$QO#q$RO#r$RO#s$bO#t$RO#u$SO#w$UO#y$WO#z$XO(_VO(p$YO(w#|O(x#}O~O!W(fX~PGpO!W(YO~O!W(sX!Z(sX!e(sX!i(sX(p(sX~O#^(sX#i#bX![(sX~PIsO#^(ZO!W(uX!Z(uX~O!Z([O!W(tX~O!W(_O~O#^$eO~PIsO![(`O~P`OR#zO!O#yO!Q#{O!j#xO(_VOP!la[!lap!la!Z!la!n!la#P!la#l!la#m!la#n!la#o!la#p!la#q!la#r!la#s!la#t!la#u!la#w!la#y!la#z!la(p!la(w!la(x!la~Oa!la'x!la'u!la!W!la!i!lat!la!]!la%h!la!e!la~PKZO!i(aO~O!e#vO#^(bO(p'nO!Z(rXa(rX'x(rX~O!i(rX~PMvO!Q%gO!]%hO!z]O#g(gO#h(fO(R%fO~O!Z(hO!i(qX~O!i(jO~O!Q%gO!]%hO#h(fO(R%fO~OP(eXR(eX[(eXp(eX!O(eX!Q(eX!Z(eX!j(eX!n(eX#P(eX#l(eX#m(eX#n(eX#o(eX#p(eX#q(eX#r(eX#s(eX#t(eX#u(eX#w(eX#y(eX#z(eX(_(eX(p(eX(w(eX(x(eX~O!e#vO!i(eX~P! dOR(lO!O(kO!j#xO#Q$dO!z!ya!Q!ya~O!v!ya%g!ya!]!ya#g!ya#h!ya(R!ya~P!#eO!v(pO~OPYOQYOSfOd!jOe!iOnkOpYOqkOrkOxkOzYO|YO!QWO!UkO!VkO!]XO!guO!jZO!mYO!nYO!oYO!qvO!s!gO!v!hO$V!kO$miO(R!dO(TTO(WUO(_VO(m[O~Oh%VOn%WOp%XOq$tOr$tOx%YOz%ZO|<eO!Q${O!]$|O!g=vO!j$xO#h<kO$V%_O$s<gO$u<iO$x%`O(R(tO(TTO(WUO(_$uO(w$}O(x%PO~O#i(vO~O!Y(xO!i(iP~P%[O(c(zO(m[O~O!Q(|O!j#xO(c(zO(m[O~OP;vOQ;vOSfOd=rOe!iOnkOp;vOqkOrkOxkOz;vO|;vO!QWO!UkO!VkO!]!eO!g;yO!jZO!m;vO!n;vO!o;vO!q;zO!s;}O!v!hO$V!kO$m=pO(R)ZO(TTO(WUO(_VO(m[O~O!Z$_Oa$pa'x$pa'u$pa!i$pa!W$pa!]$pa%h$pa!e$pa~Oj)bO~P!&iOh%VOn%WOp%XOq$tOr$tOx%YOz%ZO|%[O!Q${O!]$|O!g%aO!j$xO#h%bO$V%_O$s%]O$u%^O$x%`O(R(tO(TTO(WUO(_$uO(w$}O(x%PO~Og(nP~P!+rO!O)gO!e)fO!]$]X$Y$]X$[$]X$^$]X$e$]X~O!e)fO!](yX$Y(yX$[(yX$^(yX$e(yX~O!O)gO~P!-{O!O)gO!](yX$Y(yX$[(yX$^(yX$e(yX~O!])iO$Y)mO$[)hO$^)hO$e)nO~O!Y)qO~P!(yO$[$hO$^$gO$e)uO~Ol$yX!O$yX#Q$yX'w$yX(w$yX(x$yX~OgkXg$yXlkX!ZkX#^kX~P!/qOv)wO(`)xO(a)zO~Ol*TO!O)|O'w)}O(w$}O(x%PO~Og){O~P!0uOg*UO~Oh%VOn%WOp%XOq$tOr$tOx%YOz%ZO|<eO!Q*WO!]*XO!g=vO!j$xO#h<kO$V%_O$s<gO$u<iO$x%`O(TTO(WUO(_$uO(w$}O(x%PO~O!Y*[O(R*VO!i(|P~P!1dO#i*^O~O!j*_O~Oh%VOn%WOp%XOq$tOr$tOx%YOz%ZO|<eO!Q${O!]$|O!g=vO!j$xO#h<kO$V%_O$s<gO$u<iO$x%`O(R*aO(TTO(WUO(_$uO(w$}O(x%PO~O!Y*dO!W(}P~P!3cOp*pOq!nO!Q*fO!`*nO!a*hO!b*hO!j*_O#Y*oO%_*jO(S!lO(TTO(WUO(c!mO~O![*mO~P!5WO#Q$dOl(^X!O(^X'w(^X(w(^X(x(^X!Z(^X#^(^X~Og(^X#}(^X~P!6YOl*uO#^*tOg(]X!Z(]X~O!Z*vOg([X~Oj%cO(R&XOg([P~Oq*yO~O!j+OO~O(R(tO~On+TO!Q%gO!Y#iO!]%hO!z]O#g#lO#h#iO(R%fO!i(qP~O!e#vO#i+UO~O!Q%gO!Y+WO!Z([O!]%hO(R%fO!W(tP~Oq'YO!Q+YO!Y+XO(TTO(WUO(c(zO~O![(vP~P!9]O!Z+ZOa)RX'x)RX~OP$[OR#zO[$cOp$aO!O#yO!Q#{O!j#xO!n$[O#P$RO#l$OO#m$PO#n$PO#o$PO#p$QO#q$RO#r$RO#s$bO#t$RO#u$SO#w$UO#y$WO#z$XO(_VO(p$YO(w#|O(x#}O~Oa!ha!Z!ha'x!ha'u!ha!W!ha!i!hat!ha!]!ha%h!ha!e!ha~P!:TOR#zO!O#yO!Q#{O!j#xO(_VOP!pa[!pap!pa!Z!pa!n!pa#P!pa#l!pa#m!pa#n!pa#o!pa#p!pa#q!pa#r!pa#s!pa#t!pa#u!pa#w!pa#y!pa#z!pa(p!pa(w!pa(x!pa~Oa!pa'x!pa'u!pa!W!pa!i!pat!pa!]!pa%h!pa!e!pa~P!<kOR#zO!O#yO!Q#{O!j#xO(_VOP!ra[!rap!ra!Z!ra!n!ra#P!ra#l!ra#m!ra#n!ra#o!ra#p!ra#q!ra#r!ra#s!ra#t!ra#u!ra#w!ra#y!ra#z!ra(p!ra(w!ra(x!ra~Oa!ra'x!ra'u!ra!W!ra!i!rat!ra!]!ra%h!ra!e!ra~P!?ROh%VOl+dO!]'^O%h+cO~O!e+fOa(ZX!](ZX'x(ZX!Z(ZX~Oa%mO!]XO'x%mO~Oh%VO!j%dO~Oh%VO!j%dO(R%fO~O!e#vO#i(vO~Ob+qO%i+rO(R+nO(TTO(WUO![)VP~O!Z+sO`)UX~O[+wO~O`+xO~O!]&OO(R%fO(S!lO`)UP~Oh%VO#^+}O~Oh%VOl,QO!]$|O~O!],SO~O!O,UO!]XO~O%m%uO~O!v,ZO~Oe,`O~Ob,aO(R#nO(TTO(WUO![)TP~Oe%|O~O%i!QO(R&XO~P=UO[,fO`,eO~OPYOQYOSfOdzOeyOnkOpYOqkOrkOxkOzYO|YO!QWO!UkO!VkO!guO!jZO!mYO!nYO!oYO!qvO!vxO!z]O$miO%g}O(TTO(WUO(_VO(m[O~O!]!eO!s!gO$V!kO(R!dO~P!FRO`,eOa%mO'x%mO~OPYOQYOSfOd!jOe!iOnkOpYOqkOrkOxkOzYO|YO!QWO!UkO!VkO!]!eO!guO!jZO!mYO!nYO!oYO!qvO!v!hO$V!kO$miO(R!dO(TTO(WUO(_VO(m[O~Oa,kOj!OO!swO%k!OO%l!OO%m!OO~P!HkO!j&mO~O&[,qO~O!],sO~O&m,uO&o,vOP&jaQ&jaS&jaY&jaa&jad&jae&jaj&jan&jap&jaq&jar&jax&jaz&ja|&ja!Q&ja!U&ja!V&ja!]&ja!g&ja!j&ja!m&ja!n&ja!o&ja!q&ja!s&ja!v&ja!z&ja$V&ja$m&ja%g&ja%i&ja%k&ja%l&ja%m&ja%p&ja%r&ja%u&ja%v&ja%x&ja&U&ja&[&ja&^&ja&`&ja&b&ja&e&ja&k&ja&q&ja&s&ja&u&ja&w&ja&y&ja'u&ja(R&ja(T&ja(W&ja(_&ja(m&ja![&ja&c&jab&ja&h&ja~O(R,{O~Oh!cX!Z!PX![!PX!e!PX!e!cX!j!cX#^!PX~O!Z!cX![!cX~P# qO!e-QO#^-POh(hX!Z#fX![#fX!e(hX!j(hX~O!Z(hX![(hX~P#!dOh%VO!e-SO!j%dO!Z!_X![!_X~Oq!nO!Q!oO(TTO(WUO(c!mO~OP;vOQ;vOSfOd=rOe!iOnkOp;vOqkOrkOxkOz;vO|;vO!QWO!UkO!VkO!]!eO!g;yO!jZO!m;vO!n;vO!o;vO!q;zO!s;}O!v!hO$V!kO$m=pO(TTO(WUO(_VO(m[O~O(R<rO~P##yO!Z-WO![(gX~O![-YO~O!e-QO#^-PO!Z#fX![#fX~O!Z-ZO![(vX~O![-]O~O!a-^O!b-^O(S!lO~P##hO![-aO~P'_Ol-dO!]'^O~O!W-iO~Oq!ya!`!ya!a!ya!b!ya#R!ya#S!ya#T!ya#U!ya#V!ya#Y!ya#Z!ya(S!ya(T!ya(W!ya(c!ya(m!ya~P!#eO!n-nO#^-lO~PCVO!a-pO!b-pO(S!lO~PCuOa%mO#^-lO'x%mO~Oa%mO!e#vO#^-lO'x%mO~Oa%mO!e#vO!n-nO#^-lO'x%mO(p'nO~O'}'vO(O'vO(P-uO~Ot-vO~O!W'Ua!Z'Ua~P!:TO!Y-zO!W'UX!Z'UX~P%[O!Z(TO!W(fa~O!W(fa~PGpO!Z([O!W(ta~O!Q%gO!Y.OO!]%hO(R%fO!W'[X!Z'[X~O#^.QO!Z(ra!i(raa(ra'x(ra~O!e#vO~P#,PO!Z(hO!i(qa~O!Q%gO!]%hO#h.UO(R%fO~On.ZO!Q%gO!Y.WO!]%hO!z]O#g.YO#h.WO(R%fO!Z'_X!i'_X~OR._O!j#xO~Oh%VOl.bO!]'^O%h.aO~Oa#ai!Z#ai'x#ai'u#ai!W#ai!i#ait#ai!]#ai%h#ai!e#ai~P!:TOl=|O!O)|O'w)}O(w$}O(x%PO~O#i#]aa#]a#^#]a'x#]a!Z#]a!i#]a!]#]a!W#]a~P#.{O#i(^XP(^XR(^X[(^Xa(^Xp(^X!Q(^X!j(^X!n(^X#P(^X#l(^X#m(^X#n(^X#o(^X#p(^X#q(^X#r(^X#s(^X#t(^X#u(^X#w(^X#y(^X#z(^X'x(^X(_(^X(p(^X!i(^X!W(^X'u(^Xt(^X!](^X%h(^X!e(^X~P!6YO!Z.oO!i(iX~P!:TO!i.rO~O!W.tO~OP$[OR#zO!O#yO!Q#{O!j#xO!n$[O(_VO[#kia#kip#ki!Z#ki#P#ki#m#ki#n#ki#o#ki#p#ki#q#ki#r#ki#s#ki#t#ki#u#ki#w#ki#y#ki#z#ki'x#ki(p#ki(w#ki(x#ki'u#ki!W#ki!i#kit#ki!]#ki%h#ki!e#ki~O#l#ki~P#2kO#l$OO~P#2kOP$[OR#zOp$aO!O#yO!Q#{O!j#xO!n$[O#l$OO#m$PO#n$PO#o$PO(_VO[#kia#ki!Z#ki#P#ki#q#ki#r#ki#s#ki#t#ki#u#ki#w#ki#y#ki#z#ki'x#ki(p#ki(w#ki(x#ki'u#ki!W#ki!i#kit#ki!]#ki%h#ki!e#ki~O#p#ki~P#5YO#p$QO~P#5YOP$[OR#zO[$cOp$aO!O#yO!Q#{O!j#xO!n$[O#P$RO#l$OO#m$PO#n$PO#o$PO#p$QO#q$RO#r$RO#s$bO#t$RO(_VOa#ki!Z#ki#w#ki#y#ki#z#ki'x#ki(p#ki(w#ki(x#ki'u#ki!W#ki!i#kit#ki!]#ki%h#ki!e#ki~O#u#ki~P#7wOP$[OR#zO[$cOp$aO!O#yO!Q#{O!j#xO!n$[O#P$RO#l$OO#m$PO#n$PO#o$PO#p$QO#q$RO#r$RO#s$bO#t$RO#u$SO(_VO(x#}Oa#ki!Z#ki#y#ki#z#ki'x#ki(p#ki(w#ki'u#ki!W#ki!i#kit#ki!]#ki%h#ki!e#ki~O#w$UO~P#:_O#w#ki~P#:_O#u$SO~P#7wOP$[OR#zO[$cOp$aO!O#yO!Q#{O!j#xO!n$[O#P$RO#l$OO#m$PO#n$PO#o$PO#p$QO#q$RO#r$RO#s$bO#t$RO#u$SO#w$UO(_VO(w#|O(x#}Oa#ki!Z#ki#z#ki'x#ki(p#ki'u#ki!W#ki!i#kit#ki!]#ki%h#ki!e#ki~O#y#ki~P#=TO#y$WO~P#=TOP]XR]X[]Xp]X!O]X!Q]X!j]X!n]X#P]X#Q]X#^]X#ifX#l]X#m]X#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#w]X#y]X#z]X$P]X(_]X(p]X(w]X(x]X!Z]X![]X~O#}]X~P#?rOP$[OR#zO[<_Op<]O!O#yO!Q#{O!j#xO!n$[O#P<SO#l<PO#m<QO#n<QO#o<QO#p<RO#q<SO#r<SO#s<^O#t<SO#u<TO#w<VO#y<XO#z<YO(_VO(p$YO(w#|O(x#}O~O#}.vO~P#BPO#Q$dO#^<`O$P<`O#}(eX![(eX~P! dOa'ba!Z'ba'x'ba'u'ba!i'ba!W'bat'ba!]'ba%h'ba!e'ba~P!:TO[#kia#kip#ki!Z#ki#P#ki#p#ki#q#ki#r#ki#s#ki#t#ki#u#ki#w#ki#y#ki#z#ki'x#ki(p#ki'u#ki!W#ki!i#kit#ki!]#ki%h#ki!e#ki~OP$[OR#zO!O#yO!Q#{O!j#xO!n$[O#l$OO#m$PO#n$PO#o$PO(_VO(w#ki(x#ki~P#EROl=|O!O)|O'w)}O(w$}O(x%POP#kiR#ki!Q#ki!j#ki!n#ki#l#ki#m#ki#n#ki#o#ki(_#ki~P#ERO!Z.zOg(nX~P!0uOg.|O~Oa$Oi!Z$Oi'x$Oi'u$Oi!W$Oi!i$Oit$Oi!]$Oi%h$Oi!e$Oi~P!:TO$[.}O$^.}O~O$[/OO$^/OO~O!e)fO#^/PO!]$bX$Y$bX$[$bX$^$bX$e$bX~O!Y/QO~O!])iO$Y/SO$[)hO$^)hO$e/TO~O!Z<ZO![(dX~P#BPO![/UO~O!e)fO$e(yX~O$e/WO~Ot/XO~P!&iOv)wO(`)xO(a/[O~O!Q/_O~O(w$}Ol%`a!O%`a'w%`a(x%`a!Z%`a#^%`a~Og%`a#}%`a~P#LTO(x%POl%ba!O%ba'w%ba(w%ba!Z%ba#^%ba~Og%ba#}%ba~P#LvO!ZfX!efX!ifX!i$yX(pfX~P!/qO!Y/hO!Z([O(R/gO!W(tP!W(}P~P!1dOp*pO!`*nO!a*hO!b*hO!j*_O#Y*oO%_*jO(S!lO(TTO(WUO~Oq<oO!Q/iO!Y+XO![*mO(c<nO![(vP~P#NaO!i/jO~P#.{O!Z/kO!e#vO(p'nO!i(|X~O!i/pO~O!Q%gO!Y*[O!]%hO(R%fO!i(|P~O#i/rO~O!W$yX!Z$yX!e%QX~P!/qO!Z/sO!W(}X~P#.{O!e/uO~O!W/wO~OnkO(R/xO~P.iOh%VOp/}O!e#vO!j%dO(p'nO~O!e+fO~Oa%mO!Z0RO'x%mO~O![0TO~P!5WO!a0UO!b0UO(S!lO~P##hOq!nO!Q0VO(TTO(WUO(c!mO~O#Y0XO~Og%`a!Z%`a#^%`a#}%`a~P!0uOg%ba!Z%ba#^%ba#}%ba~P!0uOj%cO(R&XOg'kX!Z'kX~O!Z*vOg([a~Og0bO~OR0cO!O0cO!Q0dO#Q$dOl{a'w{a(w{a(x{a!Z{a#^{a~Og{a#}{a~P$&dO!O)|O'w)}Ol$ra(w$ra(x$ra!Z$ra#^$ra~Og$ra#}$ra~P$'`O!O)|O'w)}Ol$ta(w$ta(x$ta!Z$ta#^$ta~Og$ta#}$ta~P$(RO#i0gO~Og%Sa!Z%Sa#^%Sa#}%Sa~P!0uOl0iO#^0hOg(]a!Z(]a~O!e#vO~O#i0lO~O!Z+ZOa)Ra'x)Ra~OR#zO!O#yO!Q#{O!j#xO(_VOP!pi[!pip!pi!Z!pi!n!pi#P!pi#l!pi#m!pi#n!pi#o!pi#p!pi#q!pi#r!pi#s!pi#t!pi#u!pi#w!pi#y!pi#z!pi(p!pi(w!pi(x!pi~Oa!pi'x!pi'u!pi!W!pi!i!pit!pi!]!pi%h!pi!e!pi~P$*OOh%VOp%XOq$tOr$tOx%YOz%ZO|<eO!Q${O!]$|O!g=vO!j$xO#h<kO$V%_O$s<gO$u<iO$x%`O(TTO(WUO(_$uO(w$}O(x%PO~On0vO%[0wO(R0tO~P$,fO!e+fOa(Za!](Za'x(Za!Z(Za~O#i0|O~O[]X!ZfX![fX~O!Z0}O![)VX~O![1PO~O[1QO~Ob1SO(R+nO(TTO(WUO~O!]&OO(R%fO`'sX!Z'sX~O!Z+sO`)Ua~O!i1VO~P!:TO[1YO~O`1ZO~O#^1^O~Ol1aO!]$|O~O(c(zO![)SP~Oh%VOl1jO!]1gO%h1iO~O[1tO!Z1rO![)TX~O![1uO~O`1wOa%mO'x%mO~O(R#nO(TTO(WUO~O#Q$dO#^$eO$P$eOP(eXR(eX[(eXp(eX!O(eX!Q(eX!Z(eX!j(eX!n(eX#P(eX#l(eX#m(eX#n(eX#o(eX#p(eX#q(eX#r(eX#s(eX#u(eX#w(eX#y(eX#z(eX(_(eX(p(eX(w(eX(x(eX~O#t1zO&Y1{Oa(eX~P$2PO#^$eO#t1zO&Y1{O~Oa1}O~P%[Oa2PO~O&c2SOP&aiQ&aiS&aiY&aia&aid&aie&aij&ain&aip&aiq&air&aix&aiz&ai|&ai!Q&ai!U&ai!V&ai!]&ai!g&ai!j&ai!m&ai!n&ai!o&ai!q&ai!s&ai!v&ai!z&ai$V&ai$m&ai%g&ai%i&ai%k&ai%l&ai%m&ai%p&ai%r&ai%u&ai%v&ai%x&ai&U&ai&[&ai&^&ai&`&ai&b&ai&e&ai&k&ai&q&ai&s&ai&u&ai&w&ai&y&ai'u&ai(R&ai(T&ai(W&ai(_&ai(m&ai![&aib&ai&h&ai~Ob2YO![2WO&h2XO~P`O!]XO!j2[O~O&o,vOP&jiQ&jiS&jiY&jia&jid&jie&jij&jin&jip&jiq&jir&jix&jiz&ji|&ji!Q&ji!U&ji!V&ji!]&ji!g&ji!j&ji!m&ji!n&ji!o&ji!q&ji!s&ji!v&ji!z&ji$V&ji$m&ji%g&ji%i&ji%k&ji%l&ji%m&ji%p&ji%r&ji%u&ji%v&ji%x&ji&U&ji&[&ji&^&ji&`&ji&b&ji&e&ji&k&ji&q&ji&s&ji&u&ji&w&ji&y&ji'u&ji(R&ji(T&ji(W&ji(_&ji(m&ji![&ji&c&jib&ji&h&ji~O!W2bO~O!Z!_a![!_a~P#BPOq!nO!Q!oO!Y2hO(c!mO!Z'VX!['VX~P@]O!Z-WO![(ga~O!Z']X![']X~P!9]O!Z-ZO![(va~O![2oO~P'_Oa%mO#^2xO'x%mO~Oa%mO!e#vO#^2xO'x%mO~Oa%mO!e#vO!n2|O#^2xO'x%mO(p'nO~Oa%mO'x%mO~P!:TO!Z$_Ot$pa~O!W'Ui!Z'Ui~P!:TO!Z(TO!W(fi~O!Z([O!W(ti~O!W(ui!Z(ui~P!:TO!Z(ri!i(ria(ri'x(ri~P!:TO#^3OO!Z(ri!i(ria(ri'x(ri~O!Z(hO!i(qi~O!Q%gO!]%hO!z]O#g3TO#h3SO(R%fO~O!Q%gO!]%hO#h3SO(R%fO~Ol3[O!]'^O%h3ZO~Oh%VOl3[O!]'^O%h3ZO~O#i%`aP%`aR%`a[%`aa%`ap%`a!Q%`a!j%`a!n%`a#P%`a#l%`a#m%`a#n%`a#o%`a#p%`a#q%`a#r%`a#s%`a#t%`a#u%`a#w%`a#y%`a#z%`a'x%`a(_%`a(p%`a!i%`a!W%`a'u%`at%`a!]%`a%h%`a!e%`a~P#LTO#i%baP%baR%ba[%baa%bap%ba!Q%ba!j%ba!n%ba#P%ba#l%ba#m%ba#n%ba#o%ba#p%ba#q%ba#r%ba#s%ba#t%ba#u%ba#w%ba#y%ba#z%ba'x%ba(_%ba(p%ba!i%ba!W%ba'u%bat%ba!]%ba%h%ba!e%ba~P#LvO#i%`aP%`aR%`a[%`aa%`ap%`a!Q%`a!Z%`a!j%`a!n%`a#P%`a#l%`a#m%`a#n%`a#o%`a#p%`a#q%`a#r%`a#s%`a#t%`a#u%`a#w%`a#y%`a#z%`a'x%`a(_%`a(p%`a!i%`a!W%`a'u%`a#^%`at%`a!]%`a%h%`a!e%`a~P#.{O#i%baP%baR%ba[%baa%bap%ba!Q%ba!Z%ba!j%ba!n%ba#P%ba#l%ba#m%ba#n%ba#o%ba#p%ba#q%ba#r%ba#s%ba#t%ba#u%ba#w%ba#y%ba#z%ba'x%ba(_%ba(p%ba!i%ba!W%ba'u%ba#^%bat%ba!]%ba%h%ba!e%ba~P#.{O#i{aP{a[{aa{ap{a!j{a!n{a#P{a#l{a#m{a#n{a#o{a#p{a#q{a#r{a#s{a#t{a#u{a#w{a#y{a#z{a'x{a(_{a(p{a!i{a!W{a'u{at{a!]{a%h{a!e{a~P$&dO#i$raP$raR$ra[$raa$rap$ra!Q$ra!j$ra!n$ra#P$ra#l$ra#m$ra#n$ra#o$ra#p$ra#q$ra#r$ra#s$ra#t$ra#u$ra#w$ra#y$ra#z$ra'x$ra(_$ra(p$ra!i$ra!W$ra'u$rat$ra!]$ra%h$ra!e$ra~P$'`O#i$taP$taR$ta[$taa$tap$ta!Q$ta!j$ta!n$ta#P$ta#l$ta#m$ta#n$ta#o$ta#p$ta#q$ta#r$ta#s$ta#t$ta#u$ta#w$ta#y$ta#z$ta'x$ta(_$ta(p$ta!i$ta!W$ta'u$tat$ta!]$ta%h$ta!e$ta~P$(RO#i%SaP%SaR%Sa[%Saa%Sap%Sa!Q%Sa!Z%Sa!j%Sa!n%Sa#P%Sa#l%Sa#m%Sa#n%Sa#o%Sa#p%Sa#q%Sa#r%Sa#s%Sa#t%Sa#u%Sa#w%Sa#y%Sa#z%Sa'x%Sa(_%Sa(p%Sa!i%Sa!W%Sa'u%Sa#^%Sat%Sa!]%Sa%h%Sa!e%Sa~P#.{Oa#aq!Z#aq'x#aq'u#aq!W#aq!i#aqt#aq!]#aq%h#aq!e#aq~P!:TO!Y3dO!Z'WX!i'WX~P%[O!Z.oO!i(ia~O!Z.oO!i(ia~P!:TO!W3gO~O#}!la![!la~PKZO#}!ha!Z!ha![!ha~P#BPO#}!pa![!pa~P!<kO#}!ra![!ra~P!?ROg'ZX!Z'ZX~P!+rO!Z.zOg(na~OSfO!]3{O$c3|O~O![4QO~Ot4RO~P#.{Oa$lq!Z$lq'x$lq'u$lq!W$lq!i$lqt$lq!]$lq%h$lq!e$lq~P!:TO!W4TO~P!&iO!Q4UO~O!O)|O'w)}O(x%POl'ga(w'ga!Z'ga#^'ga~Og'ga#}'ga~P%+uO!O)|O'w)}Ol'ia(w'ia(x'ia!Z'ia#^'ia~Og'ia#}'ia~P%,hO(p$YO~P#.{O!WfX!W$yX!ZfX!Z$yX!e%QX#^fX~P!/qO(R<xO~P!1dO!Q%gO!Y4XO!]%hO(R%fO!Z'cX!i'cX~O!Z/kO!i(|a~O!Z/kO!e#vO!i(|a~O!Z/kO!e#vO(p'nO!i(|a~Og${i!Z${i#^${i#}${i~P!0uO!Y4aO!W'eX!Z'eX~P!3cO!Z/sO!W(}a~O!Z/sO!W(}a~P#.{OP]XR]X[]Xp]X!O]X!Q]X!W]X!Z]X!j]X!n]X#P]X#Q]X#^]X#ifX#l]X#m]X#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#w]X#y]X#z]X$P]X(_]X(p]X(w]X(x]X~O!e%XX#t%XX~P%0XO!e#vO#t4fO~Oh%VO!e#vO!j%dO~Oh%VOp4kO!j%dO(p'nO~Op4pO!e#vO(p'nO~Oq!nO!Q4qO(TTO(WUO(c!mO~O(w$}Ol%`i!O%`i'w%`i(x%`i!Z%`i#^%`i~Og%`i#}%`i~P%3xO(x%POl%bi!O%bi'w%bi(w%bi!Z%bi#^%bi~Og%bi#}%bi~P%4kOg(]i!Z(]i~P!0uO#^4wOg(]i!Z(]i~P!0uO!i4zO~Oa$nq!Z$nq'x$nq'u$nq!W$nq!i$nqt$nq!]$nq%h$nq!e$nq~P!:TO!W5QO~O!Z5RO!])OX~P#.{Oa]Xa$yX!]]X!]$yX%]]X'x]X'x$yX!Z]X!Z$yX~P!/qO%]5UOa%Za!]%Za'x%Za!Z%Za~OlmX!OmX'wmX(wmX(xmX~P%7nOn5VO(R#nO~Ob5]O%i5^O(R+nO(TTO(WUO!Z'rX!['rX~O!Z0}O![)Va~O[5bO~O`5cO~Oa%mO'x%mO~P#.{O!Z5kO#^5mO![)SX~O![5nO~Op5tOq!nO!Q*fO!`!yO!a!vO!b!vO!z;wO#R!pO#S!pO#T!pO#U!pO#V!pO#Y5sO#Z!zO(S!lO(TTO(WUO(c!mO(m!sO~O![5rO~P%:ROl5yO!]1gO%h5xO~Oh%VOl5yO!]1gO%h5xO~Ob6QO(R#nO(TTO(WUO!Z'qX!['qX~O!Z1rO![)Ta~O(TTO(WUO(c6SO~O`6WO~O#t6ZO&Y6[O~PMvO!i6]O~P%[Oa6_O~Oa6_O~P%[Ob2YO![6dO&h2XO~P`O!e6fO~O!e6hOh(hi!Z(hi![(hi!e(hi!j(hip(hi(p(hi~O!Z#fi![#fi~P#BPO#^6iO!Z#fi![#fi~O!Z!_i![!_i~P#BPOa%mO#^6rO'x%mO~Oa%mO!e#vO#^6rO'x%mO~O!Z(rq!i(rqa(rq'x(rq~P!:TO!Z(hO!i(qq~O!Q%gO!]%hO#h6yO(R%fO~O!]'^O%h6|O~Ol7QO!]'^O%h6|O~O#i'gaP'gaR'ga['gaa'gap'ga!Q'ga!j'ga!n'ga#P'ga#l'ga#m'ga#n'ga#o'ga#p'ga#q'ga#r'ga#s'ga#t'ga#u'ga#w'ga#y'ga#z'ga'x'ga(_'ga(p'ga!i'ga!W'ga'u'gat'ga!]'ga%h'ga!e'ga~P%+uO#i'iaP'iaR'ia['iaa'iap'ia!Q'ia!j'ia!n'ia#P'ia#l'ia#m'ia#n'ia#o'ia#p'ia#q'ia#r'ia#s'ia#t'ia#u'ia#w'ia#y'ia#z'ia'x'ia(_'ia(p'ia!i'ia!W'ia'u'iat'ia!]'ia%h'ia!e'ia~P%,hO#i${iP${iR${i[${ia${ip${i!Q${i!Z${i!j${i!n${i#P${i#l${i#m${i#n${i#o${i#p${i#q${i#r${i#s${i#t${i#u${i#w${i#y${i#z${i'x${i(_${i(p${i!i${i!W${i'u${i#^${it${i!]${i%h${i!e${i~P#.{O#i%`iP%`iR%`i[%`ia%`ip%`i!Q%`i!j%`i!n%`i#P%`i#l%`i#m%`i#n%`i#o%`i#p%`i#q%`i#r%`i#s%`i#t%`i#u%`i#w%`i#y%`i#z%`i'x%`i(_%`i(p%`i!i%`i!W%`i'u%`it%`i!]%`i%h%`i!e%`i~P%3xO#i%biP%biR%bi[%bia%bip%bi!Q%bi!j%bi!n%bi#P%bi#l%bi#m%bi#n%bi#o%bi#p%bi#q%bi#r%bi#s%bi#t%bi#u%bi#w%bi#y%bi#z%bi'x%bi(_%bi(p%bi!i%bi!W%bi'u%bit%bi!]%bi%h%bi!e%bi~P%4kO!Z'Wa!i'Wa~P!:TO!Z.oO!i(ii~O#}#ai!Z#ai![#ai~P#BPOP$[OR#zO!O#yO!Q#{O!j#xO!n$[O(_VO[#kip#ki#P#ki#m#ki#n#ki#o#ki#p#ki#q#ki#r#ki#s#ki#t#ki#u#ki#w#ki#y#ki#z#ki#}#ki(p#ki(w#ki(x#ki!Z#ki![#ki~O#l#ki~P%MQO#l<PO~P%MQOP$[OR#zOp<]O!O#yO!Q#{O!j#xO!n$[O#l<PO#m<QO#n<QO#o<QO(_VO[#ki#P#ki#q#ki#r#ki#s#ki#t#ki#u#ki#w#ki#y#ki#z#ki#}#ki(p#ki(w#ki(x#ki!Z#ki![#ki~O#p#ki~P& YO#p<RO~P& YOP$[OR#zO[<_Op<]O!O#yO!Q#{O!j#xO!n$[O#P<SO#l<PO#m<QO#n<QO#o<QO#p<RO#q<SO#r<SO#s<^O#t<SO(_VO#w#ki#y#ki#z#ki#}#ki(p#ki(w#ki(x#ki!Z#ki![#ki~O#u#ki~P&#bOP$[OR#zO[<_Op<]O!O#yO!Q#{O!j#xO!n$[O#P<SO#l<PO#m<QO#n<QO#o<QO#p<RO#q<SO#r<SO#s<^O#t<SO#u<TO(_VO(x#}O#y#ki#z#ki#}#ki(p#ki(w#ki!Z#ki![#ki~O#w<VO~P&%cO#w#ki~P&%cO#u<TO~P&#bOP$[OR#zO[<_Op<]O!O#yO!Q#{O!j#xO!n$[O#P<SO#l<PO#m<QO#n<QO#o<QO#p<RO#q<SO#r<SO#s<^O#t<SO#u<TO#w<VO(_VO(w#|O(x#}O#z#ki#}#ki(p#ki!Z#ki![#ki~O#y#ki~P&'rO#y<XO~P&'rOa#{y!Z#{y'x#{y'u#{y!W#{y!i#{yt#{y!]#{y%h#{y!e#{y~P!:TO[#kip#ki#P#ki#p#ki#q#ki#r#ki#s#ki#t#ki#u#ki#w#ki#y#ki#z#ki#}#ki(p#ki!Z#ki![#ki~OP$[OR#zO!O#yO!Q#{O!j#xO!n$[O#l<PO#m<QO#n<QO#o<QO(_VO(w#ki(x#ki~P&*nOl=}O!O)|O'w)}O(w$}O(x%POP#kiR#ki!Q#ki!j#ki!n#ki#l#ki#m#ki#n#ki#o#ki(_#ki~P&*nO#Q$dOP(^XR(^X[(^Xl(^Xp(^X!O(^X!Q(^X!j(^X!n(^X#P(^X#l(^X#m(^X#n(^X#o(^X#p(^X#q(^X#r(^X#s(^X#t(^X#u(^X#w(^X#y(^X#z(^X#}(^X'w(^X(_(^X(p(^X(w(^X(x(^X!Z(^X![(^X~O#}$Oi!Z$Oi![$Oi~P#BPO#}!pi![!pi~P$*OOg'Za!Z'Za~P!0uO![7dO~O!Z'ba!['ba~P#BPO!W7eO~P#.{O!e#vO(p'nO!Z'ca!i'ca~O!Z/kO!i(|i~O!Z/kO!e#vO!i(|i~Og${q!Z${q#^${q#}${q~P!0uO!W'ea!Z'ea~P#.{O!e7lO~O!Z/sO!W(}i~P#.{O!Z/sO!W(}i~O!W7oO~Oh%VOp7tO!j%dO(p'nO~O!e#vO#t7vO~Op7yO!e#vO(p'nO~O!O)|O'w)}O(x%POl'ha(w'ha!Z'ha#^'ha~Og'ha#}'ha~P&3oO!O)|O'w)}Ol'ja(w'ja(x'ja!Z'ja#^'ja~Og'ja#}'ja~P&4bO!W7{O~Og$}q!Z$}q#^$}q#}$}q~P!0uOg(]q!Z(]q~P!0uO#^7|Og(]q!Z(]q~P!0uOa$ny!Z$ny'x$ny'u$ny!W$ny!i$nyt$ny!]$ny%h$ny!e$ny~P!:TO!e6hO~O!Z5RO!])Oa~O!]'^OP$SaR$Sa[$Sap$Sa!O$Sa!Q$Sa!Z$Sa!j$Sa!n$Sa#P$Sa#l$Sa#m$Sa#n$Sa#o$Sa#p$Sa#q$Sa#r$Sa#s$Sa#t$Sa#u$Sa#w$Sa#y$Sa#z$Sa(_$Sa(p$Sa(w$Sa(x$Sa~O%h6|O~P&7SO%]8QOa%Zi!]%Zi'x%Zi!Z%Zi~Oa#ay!Z#ay'x#ay'u#ay!W#ay!i#ayt#ay!]#ay%h#ay!e#ay~P!:TO[8SO~Ob8UO(R+nO(TTO(WUO~O!Z0}O![)Vi~O`8YO~O(c(zO!Z'nX!['nX~O!Z5kO![)Sa~O![8cO~P%:RO(m!sO~P$$oO#Y8dO~O!]1gO~O!]1gO%h8fO~Ol8iO!]1gO%h8fO~O[8nO!Z'qa!['qa~O!Z1rO![)Ti~O!i8rO~O!i8sO~O!i8vO~O!i8vO~P%[Oa8xO~O!e8yO~O!i8zO~O!Z(ui![(ui~P#BPOa%mO#^9SO'x%mO~O!Z(ry!i(rya(ry'x(ry~P!:TO!Z(hO!i(qy~O%h9VO~P&7SO!]'^O%h9VO~O#i${qP${qR${q[${qa${qp${q!Q${q!Z${q!j${q!n${q#P${q#l${q#m${q#n${q#o${q#p${q#q${q#r${q#s${q#t${q#u${q#w${q#y${q#z${q'x${q(_${q(p${q!i${q!W${q'u${q#^${qt${q!]${q%h${q!e${q~P#.{O#i'haP'haR'ha['haa'hap'ha!Q'ha!j'ha!n'ha#P'ha#l'ha#m'ha#n'ha#o'ha#p'ha#q'ha#r'ha#s'ha#t'ha#u'ha#w'ha#y'ha#z'ha'x'ha(_'ha(p'ha!i'ha!W'ha'u'hat'ha!]'ha%h'ha!e'ha~P&3oO#i'jaP'jaR'ja['jaa'jap'ja!Q'ja!j'ja!n'ja#P'ja#l'ja#m'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#w'ja#y'ja#z'ja'x'ja(_'ja(p'ja!i'ja!W'ja'u'jat'ja!]'ja%h'ja!e'ja~P&4bO#i$}qP$}qR$}q[$}qa$}qp$}q!Q$}q!Z$}q!j$}q!n$}q#P$}q#l$}q#m$}q#n$}q#o$}q#p$}q#q$}q#r$}q#s$}q#t$}q#u$}q#w$}q#y$}q#z$}q'x$}q(_$}q(p$}q!i$}q!W$}q'u$}q#^$}qt$}q!]$}q%h$}q!e$}q~P#.{O!Z'Wi!i'Wi~P!:TO#}#aq!Z#aq![#aq~P#BPO(w$}OP%`aR%`a[%`ap%`a!Q%`a!j%`a!n%`a#P%`a#l%`a#m%`a#n%`a#o%`a#p%`a#q%`a#r%`a#s%`a#t%`a#u%`a#w%`a#y%`a#z%`a#}%`a(_%`a(p%`a!Z%`a![%`a~Ol%`a!O%`a'w%`a(x%`a~P&HgO(x%POP%baR%ba[%bap%ba!Q%ba!j%ba!n%ba#P%ba#l%ba#m%ba#n%ba#o%ba#p%ba#q%ba#r%ba#s%ba#t%ba#u%ba#w%ba#y%ba#z%ba#}%ba(_%ba(p%ba!Z%ba![%ba~Ol%ba!O%ba'w%ba(w%ba~P&JnOl=}O!O)|O'w)}O(x%PO~P&HgOl=}O!O)|O'w)}O(w$}O~P&JnOR0cO!O0cO!Q0dO#Q$dOP{a[{al{ap{a!j{a!n{a#P{a#l{a#m{a#n{a#o{a#p{a#q{a#r{a#s{a#t{a#u{a#w{a#y{a#z{a#}{a'w{a(_{a(p{a(w{a(x{a!Z{a![{a~O!O)|O'w)}OP$raR$ra[$ral$rap$ra!Q$ra!j$ra!n$ra#P$ra#l$ra#m$ra#n$ra#o$ra#p$ra#q$ra#r$ra#s$ra#t$ra#u$ra#w$ra#y$ra#z$ra#}$ra(_$ra(p$ra(w$ra(x$ra!Z$ra![$ra~O!O)|O'w)}OP$taR$ta[$tal$tap$ta!Q$ta!j$ta!n$ta#P$ta#l$ta#m$ta#n$ta#o$ta#p$ta#q$ta#r$ta#s$ta#t$ta#u$ta#w$ta#y$ta#z$ta#}$ta(_$ta(p$ta(w$ta(x$ta!Z$ta![$ta~Ol=}O!O)|O'w)}O(w$}O(x%PO~OP%SaR%Sa[%Sap%Sa!Q%Sa!j%Sa!n%Sa#P%Sa#l%Sa#m%Sa#n%Sa#o%Sa#p%Sa#q%Sa#r%Sa#s%Sa#t%Sa#u%Sa#w%Sa#y%Sa#z%Sa#}%Sa(_%Sa(p%Sa!Z%Sa![%Sa~P'%sO#}$lq!Z$lq![$lq~P#BPO#}$nq!Z$nq![$nq~P#BPO![9dO~O#}9eO~P!0uO!e#vO!Z'ci!i'ci~O!e#vO(p'nO!Z'ci!i'ci~O!Z/kO!i(|q~O!W'ei!Z'ei~P#.{O!Z/sO!W(}q~Op9lO!e#vO(p'nO~O[9nO!W9mO~P#.{O!W9mO~O!e#vO#t9tO~Og(]y!Z(]y~P!0uO!Z'la!]'la~P#.{Oa%Zq!]%Zq'x%Zq!Z%Zq~P#.{O[9yO~O!Z0}O![)Vq~O#^9}O!Z'na!['na~O!Z5kO![)Si~P#BPO!Q:PO~O!]1gO%h:SO~O(TTO(WUO(c:XO~O!Z1rO![)Tq~O!i:[O~O!i:]O~O!i:^O~O!i:^O~P%[O#^:aO!Z#fy![#fy~O!Z#fy![#fy~P#BPO%h:fO~P&7SO!]'^O%h:fO~O#}#{y!Z#{y![#{y~P#BPOP${iR${i[${ip${i!Q${i!j${i!n${i#P${i#l${i#m${i#n${i#o${i#p${i#q${i#r${i#s${i#t${i#u${i#w${i#y${i#z${i#}${i(_${i(p${i!Z${i![${i~P'%sO!O)|O'w)}O(x%POP'gaR'ga['gal'gap'ga!Q'ga!j'ga!n'ga#P'ga#l'ga#m'ga#n'ga#o'ga#p'ga#q'ga#r'ga#s'ga#t'ga#u'ga#w'ga#y'ga#z'ga#}'ga(_'ga(p'ga(w'ga!Z'ga!['ga~O!O)|O'w)}OP'iaR'ia['ial'iap'ia!Q'ia!j'ia!n'ia#P'ia#l'ia#m'ia#n'ia#o'ia#p'ia#q'ia#r'ia#s'ia#t'ia#u'ia#w'ia#y'ia#z'ia#}'ia(_'ia(p'ia(w'ia(x'ia!Z'ia!['ia~O(w$}OP%`iR%`i[%`il%`ip%`i!O%`i!Q%`i!j%`i!n%`i#P%`i#l%`i#m%`i#n%`i#o%`i#p%`i#q%`i#r%`i#s%`i#t%`i#u%`i#w%`i#y%`i#z%`i#}%`i'w%`i(_%`i(p%`i(x%`i!Z%`i![%`i~O(x%POP%biR%bi[%bil%bip%bi!O%bi!Q%bi!j%bi!n%bi#P%bi#l%bi#m%bi#n%bi#o%bi#p%bi#q%bi#r%bi#s%bi#t%bi#u%bi#w%bi#y%bi#z%bi#}%bi'w%bi(_%bi(p%bi(w%bi!Z%bi![%bi~O#}$ny!Z$ny![$ny~P#BPO#}#ay!Z#ay![#ay~P#BPO!e#vO!Z'cq!i'cq~O!Z/kO!i(|y~O!W'eq!Z'eq~P#.{Op:pO!e#vO(p'nO~O[:tO!W:sO~P#.{O!W:sO~Og(]!R!Z(]!R~P!0uOa%Zy!]%Zy'x%Zy!Z%Zy~P#.{O!Z0}O![)Vy~O!Z5kO![)Sq~O(R:zO~O!]1gO%h:}O~O!i;QO~O%h;VO~P&7SOP${qR${q[${qp${q!Q${q!j${q!n${q#P${q#l${q#m${q#n${q#o${q#p${q#q${q#r${q#s${q#t${q#u${q#w${q#y${q#z${q#}${q(_${q(p${q!Z${q![${q~P'%sO!O)|O'w)}O(x%POP'haR'ha['hal'hap'ha!Q'ha!j'ha!n'ha#P'ha#l'ha#m'ha#n'ha#o'ha#p'ha#q'ha#r'ha#s'ha#t'ha#u'ha#w'ha#y'ha#z'ha#}'ha(_'ha(p'ha(w'ha!Z'ha!['ha~O!O)|O'w)}OP'jaR'ja['jal'jap'ja!Q'ja!j'ja!n'ja#P'ja#l'ja#m'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#w'ja#y'ja#z'ja#}'ja(_'ja(p'ja(w'ja(x'ja!Z'ja!['ja~OP$}qR$}q[$}qp$}q!Q$}q!j$}q!n$}q#P$}q#l$}q#m$}q#n$}q#o$}q#p$}q#q$}q#r$}q#s$}q#t$}q#u$}q#w$}q#y$}q#z$}q#}$}q(_$}q(p$}q!Z$}q![$}q~P'%sOg%d!Z!Z%d!Z#^%d!Z#}%d!Z~P!0uO!W;ZO~P#.{Op;[O!e#vO(p'nO~O[;^O!W;ZO~P#.{O!Z'nq!['nq~P#BPO!Z#f!Z![#f!Z~P#BPO#i%d!ZP%d!ZR%d!Z[%d!Za%d!Zp%d!Z!Q%d!Z!Z%d!Z!j%d!Z!n%d!Z#P%d!Z#l%d!Z#m%d!Z#n%d!Z#o%d!Z#p%d!Z#q%d!Z#r%d!Z#s%d!Z#t%d!Z#u%d!Z#w%d!Z#y%d!Z#z%d!Z'x%d!Z(_%d!Z(p%d!Z!i%d!Z!W%d!Z'u%d!Z#^%d!Zt%d!Z!]%d!Z%h%d!Z!e%d!Z~P#.{Op;fO!e#vO(p'nO~O!W;gO~P#.{Op;nO!e#vO(p'nO~O!W;oO~P#.{OP%d!ZR%d!Z[%d!Zp%d!Z!Q%d!Z!j%d!Z!n%d!Z#P%d!Z#l%d!Z#m%d!Z#n%d!Z#o%d!Z#p%d!Z#q%d!Z#r%d!Z#s%d!Z#t%d!Z#u%d!Z#w%d!Z#y%d!Z#z%d!Z#}%d!Z(_%d!Z(p%d!Z!Z%d!Z![%d!Z~P'%sOp;rO!e#vO(p'nO~Ot(dX~P1qO!O%qO~P!(yO(S!lO~P!(yO!WfX!ZfX#^fX~P%0XOP]XR]X[]Xp]X!O]X!Q]X!Z]X!ZfX!j]X!n]X#P]X#Q]X#^]X#^fX#ifX#l]X#m]X#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#w]X#y]X#z]X$P]X(_]X(p]X(w]X(x]X~O!efX!i]X!ifX(pfX~P'JlOP;vOQ;vOSfOd=rOe!iOnkOp;vOqkOrkOxkOz;vO|;vO!QWO!UkO!VkO!]XO!g;yO!jZO!m;vO!n;vO!o;vO!q;zO!s;}O!v!hO$V!kO$m=pO(R)ZO(TTO(WUO(_VO(m[O~O!Z<ZO![$pa~Oh%VOn%WOp%XOq$tOr$tOx%YOz%ZO|<fO!Q${O!]$|O!g=wO!j$xO#h<lO$V%_O$s<hO$u<jO$x%`O(R(tO(TTO(WUO(_$uO(w$}O(x%PO~Oj)bO~P( bOp!cX(p!cX~P# qOp(hX(p(hX~P#!dO![]X![fX~P'JlO!WfX!W$yX!ZfX!Z$yX#^fX~P!/qO#i<OO~O!e#vO#i<OO~O#^<`O~O#t<SO~O#^<pO!Z(uX![(uX~O#^<`O!Z(sX![(sX~O#i<qO~Og<sO~P!0uO#i<yO~O#i<zO~O!e#vO#i<{O~O!e#vO#i<qO~O#}<|O~P#BPO#i<}O~O#i=OO~O#i=TO~O#i=UO~O#i=VO~O#i=WO~O#}=XO~P!0uO#}=YO~P!0uO#Q#R#S#U#V#Y#g#h#s$m$s$u$x%[%]%g%h%i%p%r%u%v%x%z~'|T#m!V'z(S#nq#l#op!O'{$['{(R$^(c~",goto:"$8f)ZPPPPPP)[PP)_P)pP+Q/VPPPP6aPP6wPP<oP@cP@yP@yPPP@yPCRP@yP@yP@yPCVPC[PCyPHsPPPHwPPPPHwKzPPPLQLrPHwPHwPP! QHwPPPHwPHwP!#XHwP!&o!'t!'}P!(q!(u!(q!,SPPPPPPP!,s!'tPP!-T!.uP!2RHwHw!2W!5d!:Q!:Q!>PPPP!>XHwPPPPPPPPPP!AhP!BuPPHw!DWPHwPHwHwHwHwHwPHw!EjP!HtP!KzP!LO!LY!L^!L^P!HqP!Lb!LbP# hP# lHwPHw# r#$wCV@yP@yP@y@yP#&U@y@y#(h@y#+`@y#-l@y@y#.[#0p#0p#0u#1O#0p#1ZPP#0pP@y#1s@y#5r@y@y6aPPP#9wPPP#:b#:bP#:bP#:x#:bPP#;OP#:uP#:u#;c#:u#;}#<T#<W)_#<Z)_P#<b#<b#<bP)_P)_P)_P)_PP)_P#<h#<kP#<k)_P#<oP#<rP)_P)_P)_P)_P)_P)_)_PP#<x#=O#=Z#=a#=g#=m#=s#>R#>X#>c#>i#>s#>y#?Z#?a#@R#@e#@k#@q#AP#Af#CZ#Ci#Cp#E[#Ej#G[#Gj#Gp#Gv#G|#HW#H^#Hd#Hn#IQ#IWPPPPPPPPPPP#I^PPPPPPP#JR#MY#Nr#Ny$ RPPP$&mP$&v$)o$0Y$0]$0`$1_$1b$1i$1qP$1w$1zP$2h$2l$3d$4r$4w$5_PP$5d$5j$5n$5q$5u$5y$6u$7^$7u$7y$7|$8P$8V$8Y$8^$8bR!|RoqOXst!Z#d%l&p&r&s&u,n,s2S2VY!vQ'^-`1g5qQ%svQ%{yQ&S|Q&h!VS'U!e-WQ'd!iS'j!r!yU*h$|*X*lQ+l%|Q+y&UQ,_&bQ-^']Q-h'eQ-p'kQ0U*nQ1q,`R<m;z%SdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%l%s&Q&i&l&p&r&s&u&y'R'`'p(R(T(Z(b(v(x(|){*f+U+Y,k,n,s-d-l-z.Q.o.v/i0V0d0l0|1j1z1{1}2P2S2V2X2x3O3d4q5y6Z6[6_6r8i8x9SS#q];w!r)]$Z$n'V)q-P-S/Q2h3{5m6i9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sU*{%[<e<fQ+q&OQ,a&eQ,h&mQ0r+dQ0u+fQ1S+rQ1y,fQ3W.bQ5V0wQ5]0}Q6Q1rQ7O3[Q8U5^R9Y7Q'QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%l%s&Q&i&l&m&p&r&s&u&y'R'V'`'p(R(T(Z(b(v(x(|)q){*f+U+Y+d,k,n,s-P-S-d-l-z.Q.b.o.v/Q/i0V0d0l0|1j1z1{1}2P2S2V2X2h2x3O3[3d3{4q5m5y6Z6[6_6i6r7Q8i8x9S9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=s!S!nQ!r!v!y!z$|'U']'^'j'k'l*h*l*n*o-W-^-`-p0U0X1g5q5s%[$ti#v$b$c$d$x${%O%Q%]%^%b)w*P*R*T*W*^*d*t*u+c+f+},Q.a.z/_/h/r/s/u0Y0[0g0h0i1^1a1i3Z4U4V4a4f4w5R5U5x6|7l7v7|8Q8f9V9e9n9t:S:f:t:};V;^<^<_<a<b<c<d<g<h<i<j<k<l<t<u<v<w<y<z<}=O=P=Q=R=S=T=U=X=Y=p=x=y=|=}Q&V|Q'S!eS'Y%h-ZQ+q&OQ,a&eQ0f+OQ1S+rQ1X+xQ1x,eQ1y,fQ5]0}Q5f1ZQ6Q1rQ6T1tQ6U1wQ8U5^Q8X5cQ8q6WQ9|8YQ:Y8nR<o*XrnOXst!V!Z#d%l&g&p&r&s&u,n,s2S2VR,c&i&z^OPXYstuvwz!Z!`!g!j!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%l%s&Q&i&l&m&p&r&s&u&y'R'`'p(T(Z(b(v(x(|)q){*f+U+Y+d,k,n,s-P-S-d-l-z.Q.b.o.v/Q/i0V0d0l0|1j1z1{1}2P2S2V2X2h2x3O3[3d3{4q5m5y6Z6[6_6i6r7Q8i8x9S9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=r=s[#]WZ#W#Z'V(R!b%im#h#i#l$x%d%g([(f(g(h*W*[*_+W+X+Z,j-Q.O.U.V.W.Y/h/k2[3S3T4X6h6yQ%vxQ%zyS&P|&UQ&]!TQ'a!hQ'c!iQ(o#sS+k%{%|Q+o&OQ,Y&`Q,^&bS-g'd'eQ.d(pQ0{+lQ1R+rQ1T+sQ1W+wQ1l,ZS1p,_,`Q2t-hQ5[0}Q5`1QQ5e1YQ6P1qQ8T5^Q8W5bQ9x8SR:w9y!U$zi$d%O%Q%]%^%b*P*R*^*t*u.z/r0Y0[0g0h0i4V4w7|9e=p=x=y!^%xy!i!u%z%{%|'T'c'd'e'i's*g+k+l-T-g-h-o/{0O0{2m2t2{4i4j4m7s9pQ+e%vQ,O&YQ,R&ZQ,]&bQ.c(oQ1k,YU1o,^,_,`Q3].dQ5z1lS6O1p1qQ8m6P#f=t#v$b$c$x${)w*T*W*d+c+f+},Q.a/_/h/s/u1^1a1i3Z4U4a4f5R5U5x6|7l7v8Q8f9V9n9t:S:f:t:};V;^<a<c<g<i<k<t<v<y<}=P=R=T=X=|=}o=u<^<_<b<d<h<j<l<u<w<z=O=Q=S=U=YW%Ti%V*v=pS&Y!Q&gQ&Z!RQ&[!SQ+S%cR+|&W%]%Si#v$b$c$d$x${%O%Q%]%^%b)w*P*R*T*W*^*d*t*u+c+f+},Q.a.z/_/h/r/s/u0Y0[0g0h0i1^1a1i3Z4U4V4a4f4w5R5U5x6|7l7v7|8Q8f9V9e9n9t:S:f:t:};V;^<^<_<a<b<c<d<g<h<i<j<k<l<t<u<v<w<y<z<}=O=P=Q=R=S=T=U=X=Y=p=x=y=|=}T)x$u)yV*{%[<e<fW'Y!e%h*X-ZS({#y#zQ+`%qQ+v&RS.](k(lQ1b,SQ4x0cR8^5k'QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%l%s&Q&i&l&m&p&r&s&u&y'R'V'`'p(R(T(Z(b(v(x(|)q){*f+U+Y+d,k,n,s-P-S-d-l-z.Q.b.o.v/Q/i0V0d0l0|1j1z1{1}2P2S2V2X2h2x3O3[3d3{4q5m5y6Z6[6_6i6r7Q8i8x9S9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=s$i$^c#Y#e%p%r%t(Q(W(r(w)P)Q)R)S)T)U)V)W)X)Y)[)^)`)e)o+a+u-U-s-x-}.P.n.q.u.w.x.y/]0j2c2f2v2}3c3h3i3j3k3l3m3n3o3p3q3r3s3t3w3x4P5O5Y6k6q6v7V7W7a7b8`8|9Q9[9b9c:c:y;R;x=gT#TV#U'RkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%l%s&Q&i&l&m&p&r&s&u&y'R'V'`'p(R(T(Z(b(v(x(|)q){*f+U+Y+d,k,n,s-P-S-d-l-z.Q.b.o.v/Q/i0V0d0l0|1j1z1{1}2P2S2V2X2h2x3O3[3d3{4q5m5y6Z6[6_6i6r7Q8i8x9S9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sQ'W!eR2i-W!W!nQ!e!r!v!y!z$|'U']'^'j'k'l*X*h*l*n*o-W-^-`-p0U0X1g5q5sR1d,UnqOXst!Z#d%l&p&r&s&u,n,s2S2VQ&w!^Q't!xS(q#u<OQ+i%yQ,W&]Q,X&_Q-e'bQ-r'mS.m(v<qS0k+U<{Q0y+jQ1f,VQ2Z,uQ2],vQ2e-RQ2r-fQ2u-jS5P0l=VQ5W0zS5Z0|=WQ6j2gQ6n2sQ6s2zQ8R5XQ8}6lQ9O6oQ9R6tR:`8z$d$]c#Y#e%r%t(Q(W(r(w)P)Q)R)S)T)U)V)W)X)Y)[)^)`)e)o+a+u-U-s-x-}.P.n.q.u.x.y/]0j2c2f2v2}3c3h3i3j3k3l3m3n3o3p3q3r3s3t3w3x4P5O5Y6k6q6v7V7W7a7b8`8|9Q9[9b9c:c:y;R;x=gS(m#p'gQ(}#zS+_%p.wS.^(l(nR3U._'QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%l%s&Q&i&l&m&p&r&s&u&y'R'V'`'p(R(T(Z(b(v(x(|)q){*f+U+Y+d,k,n,s-P-S-d-l-z.Q.b.o.v/Q/i0V0d0l0|1j1z1{1}2P2S2V2X2h2x3O3[3d3{4q5m5y6Z6[6_6i6r7Q8i8x9S9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sS#q];wQ&r!XQ&s!YQ&u![Q&v!]R2R,qQ'_!hQ+b%vQ-c'aS.`(o+eQ2p-bW3Y.c.d0q0sQ6m2qW6z3V3X3]5TU9U6{6}7PU:e9W9X9ZS;T:d:gQ;b;UR;j;cU!wQ'^-`T5o1g5q!Q_OXZ`st!V!Z#d#h%d%l&g&i&p&r&s&u(h,n,s.V2S2V]!pQ!r'^-`1g5qT#q];w%^{OPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%l%s&Q&i&l&m&p&r&s&u&y'R'`'p(R(T(Z(b(v(x(|){*f+U+Y+d,k,n,s-d-l-z.Q.b.o.v/i0V0d0l0|1j1z1{1}2P2S2V2X2x3O3[3d4q5y6Z6[6_6r7Q8i8x9SS({#y#zS.](k(l!s=^$Z$n'V)q-P-S/Q2h3{5m6i9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sU$fd)],hS(n#p'gU*s%R(u3vU0e*z.i7]Q5T0rQ6{3WQ9X7OR:g9Ym!tQ!r!v!y!z'^'j'k'l-`-p1g5q5sQ'r!uS(d#g1|S-n'i'uQ/n*ZQ/{*gQ2|-qQ4]/oQ4i/}Q4j0OQ4o0WQ7h4WS7s4k4mS7w4p4rQ9g7iQ9k7oQ9p7tQ9u7yS:o9l9mS;Y:p:sS;e;Z;[S;m;f;gS;q;n;oR;t;rQ#wbQ'q!uS(c#g1|S(e#m+TQ+V%eQ+g%wQ+m%}U-m'i'r'uQ.R(dQ/m*ZQ/|*gQ0P*iQ0x+hQ1m,[S2y-n-qQ3R.ZS4[/n/oQ4e/yS4h/{0WQ4l0QQ5|1nQ6u2|Q7g4WQ7k4]U7r4i4o4rQ7u4nQ8k5}S9f7h7iQ9j7oQ9r7wQ9s7xQ:V8lQ:m9gS:n9k9mQ:v9uQ;P:WS;X:o:sS;d;Y;ZS;l;e;gS;p;m;oQ;s;qQ;u;tQ=a=[Q=l=eR=m=fV!wQ'^-`%^aOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%l%s&Q&i&l&m&p&r&s&u&y'R'`'p(R(T(Z(b(v(x(|){*f+U+Y+d,k,n,s-d-l-z.Q.b.o.v/i0V0d0l0|1j1z1{1}2P2S2V2X2x3O3[3d4q5y6Z6[6_6r7Q8i8x9SS#wz!j!r=Z$Z$n'V)q-P-S/Q2h3{5m6i9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sR=a=r%^bOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%l%s&Q&i&l&m&p&r&s&u&y'R'`'p(R(T(Z(b(v(x(|){*f+U+Y+d,k,n,s-d-l-z.Q.b.o.v/i0V0d0l0|1j1z1{1}2P2S2V2X2x3O3[3d4q5y6Z6[6_6r7Q8i8x9SQ%ej!^%wy!i!u%z%{%|'T'c'd'e'i's*g+k+l-T-g-h-o/{0O0{2m2t2{4i4j4m7s9pS%}z!jQ+h%xQ,[&bW1n,],^,_,`U5}1o1p1qS8l6O6PQ:W8m!r=[$Z$n'V)q-P-S/Q2h3{5m6i9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sQ=e=qR=f=r%QeOPXYstuvw!Z!`!g!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%l%s&Q&i&l&p&r&s&u&y'R'`'p(T(Z(b(v(x(|){*f+U+Y+d,k,n,s-d-l-z.Q.b.o.v/i0V0d0l0|1j1z1{1}2P2S2V2X2x3O3[3d4q5y6Z6[6_6r7Q8i8x9SY#bWZ#W#Z(R!b%im#h#i#l$x%d%g([(f(g(h*W*[*_+W+X+Z,j-Q.O.U.V.W.Y/h/k2[3S3T4X6h6yQ,i&m!p=]$Z$n)q-P-S/Q2h3{5m6i9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sR=`'VU'Z!e%h*XR2k-Z%SdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%l%s&Q&i&l&p&r&s&u&y'R'`'p(R(T(Z(b(v(x(|){*f+U+Y,k,n,s-d-l-z.Q.o.v/i0V0d0l0|1j1z1{1}2P2S2V2X2x3O3d4q5y6Z6[6_6r8i8x9S!r)]$Z$n'V)q-P-S/Q2h3{5m6i9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sQ,h&mQ0r+dQ3W.bQ7O3[R9Y7Q!b$Tc#Y%p(Q(W(r(w)X)Y)^)e+u-s-x-}.P.n.q/]0j2v2}3c3s5O5Y6q6v7V9Q:c;x!P<U)[)o-U.w2c2f3h3q3r3w4P6k7W7a7b8`8|9[9b9c:y;R=g!f$Vc#Y%p(Q(W(r(w)U)V)X)Y)^)e+u-s-x-}.P.n.q/]0j2v2}3c3s5O5Y6q6v7V9Q:c;x!T<W)[)o-U.w2c2f3h3n3o3q3r3w4P6k7W7a7b8`8|9[9b9c:y;R=g!^$Zc#Y%p(Q(W(r(w)^)e+u-s-x-}.P.n.q/]0j2v2}3c3s5O5Y6q6v7V9Q:c;xQ4V/fz=s)[)o-U.w2c2f3h3w4P6k7W7a7b8`8|9[9b9c:y;R=gQ=x=zR=y={'QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%l%s&Q&i&l&m&p&r&s&u&y'R'V'`'p(R(T(Z(b(v(x(|)q){*f+U+Y+d,k,n,s-P-S-d-l-z.Q.b.o.v/Q/i0V0d0l0|1j1z1{1}2P2S2V2X2h2x3O3[3d3{4q5m5y6Z6[6_6i6r7Q8i8x9S9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sS$oh$pR3|/P'XgOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%l%s&Q&i&l&m&p&r&s&u&y'R'V'`'p(R(T(Z(b(v(x(|)q){*f+U+Y+d,k,n,s-P-S-d-l-z.Q.b.o.v/P/Q/i0V0d0l0|1j1z1{1}2P2S2V2X2h2x3O3[3d3{4q5m5y6Z6[6_6i6r7Q8i8x9S9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sT$kf$qQ$ifS)h$l)lR)t$qT$jf$qT)j$l)l'XhOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%l%s&Q&i&l&m&p&r&s&u&y'R'V'`'p(R(T(Z(b(v(x(|)q){*f+U+Y+d,k,n,s-P-S-d-l-z.Q.b.o.v/P/Q/i0V0d0l0|1j1z1{1}2P2S2V2X2h2x3O3[3d3{4q5m5y6Z6[6_6i6r7Q8i8x9S9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sT$oh$pQ$rhR)s$p%^jOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%l%s&Q&i&l&m&p&r&s&u&y'R'`'p(R(T(Z(b(v(x(|){*f+U+Y+d,k,n,s-d-l-z.Q.b.o.v/i0V0d0l0|1j1z1{1}2P2S2V2X2x3O3[3d4q5y6Z6[6_6r7Q8i8x9S!s=q$Z$n'V)q-P-S/Q2h3{5m6i9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=s#glOPXZst!Z!`!o#S#d#o#{$n%l&i&l&m&p&r&s&u&y'R'`(|)q*f+Y+d,k,n,s-d.b/Q/i0V0d1j1z1{1}2P2S2V2X3[3{4q5y6Z6[6_7Q8i8x!U%Ri$d%O%Q%]%^%b*P*R*^*t*u.z/r0Y0[0g0h0i4V4w7|9e=p=x=y#f(u#v$b$c$x${)w*T*W*d+c+f+},Q.a/_/h/s/u1^1a1i3Z4U4a4f5R5U5x6|7l7v8Q8f9V9n9t:S:f:t:};V;^<a<c<g<i<k<t<v<y<}=P=R=T=X=|=}Q+P%`Q/^)|o3v<^<_<b<d<h<j<l<u<w<z=O=Q=S=U=Y!U$yi$d%O%Q%]%^%b*P*R*^*t*u.z/r0Y0[0g0h0i4V4w7|9e=p=x=yQ*`$zU*i$|*X*lQ+Q%aQ0Q*j#f=c#v$b$c$x${)w*T*W*d+c+f+},Q.a/_/h/s/u1^1a1i3Z4U4a4f5R5U5x6|7l7v8Q8f9V9n9t:S:f:t:};V;^<a<c<g<i<k<t<v<y<}=P=R=T=X=|=}n=d<^<_<b<d<h<j<l<u<w<z=O=Q=S=U=YQ=h=tQ=i=uQ=j=vR=k=w!U%Ri$d%O%Q%]%^%b*P*R*^*t*u.z/r0Y0[0g0h0i4V4w7|9e=p=x=y#f(u#v$b$c$x${)w*T*W*d+c+f+},Q.a/_/h/s/u1^1a1i3Z4U4a4f5R5U5x6|7l7v8Q8f9V9n9t:S:f:t:};V;^<a<c<g<i<k<t<v<y<}=P=R=T=X=|=}o3v<^<_<b<d<h<j<l<u<w<z=O=Q=S=U=YnoOXst!Z#d%l&p&r&s&u,n,s2S2VS*c${*WQ,|&|Q,}'OR4`/s%[%Si#v$b$c$d$x${%O%Q%]%^%b)w*P*R*T*W*^*d*t*u+c+f+},Q.a.z/_/h/r/s/u0Y0[0g0h0i1^1a1i3Z4U4V4a4f4w5R5U5x6|7l7v7|8Q8f9V9e9n9t:S:f:t:};V;^<^<_<a<b<c<d<g<h<i<j<k<l<t<u<v<w<y<z<}=O=P=Q=R=S=T=U=X=Y=p=x=y=|=}Q,P&ZQ1`,RQ5i1_R8]5jV*k$|*X*lU*k$|*X*lT5p1g5qS/y*f/iQ4n0VT7x4q:PQ+g%wQ0P*iQ0x+hQ1m,[Q5|1nQ8k5}Q:V8lR;P:W!U%Oi$d%O%Q%]%^%b*P*R*^*t*u.z/r0Y0[0g0h0i4V4w7|9e=p=x=yx*P$v)c*Q*r+R/q0^0_3y4^4{4|4}7f7z9v:l=b=n=oS0Y*q0Z#f<a#v$b$c$x${)w*T*W*d+c+f+},Q.a/_/h/s/u1^1a1i3Z4U4a4f5R5U5x6|7l7v8Q8f9V9n9t:S:f:t:};V;^<a<c<g<i<k<t<v<y<}=P=R=T=X=|=}n<b<^<_<b<d<h<j<l<u<w<z=O=Q=S=U=Y!d<t(s)a*Y*b.e.h.l/Y/f/v0p1]3`4S4_4c5h7R7U7m7p7}8P9i9q9w:q:u;W;];h=z={`<u3u7X7[7`9]:h:k;kS=P.g3aT=Q7Z9`!U%Qi$d%O%Q%]%^%b*P*R*^*t*u.z/r0Y0[0g0h0i4V4w7|9e=p=x=y|*R$v)c*S*q+R/b/q0^0_3y4^4s4{4|4}7f7z9v:l=b=n=oS0[*r0]#f<c#v$b$c$x${)w*T*W*d+c+f+},Q.a/_/h/s/u1^1a1i3Z4U4a4f5R5U5x6|7l7v8Q8f9V9n9t:S:f:t:};V;^<a<c<g<i<k<t<v<y<}=P=R=T=X=|=}n<d<^<_<b<d<h<j<l<u<w<z=O=Q=S=U=Y!h<v(s)a*Y*b.f.g.l/Y/f/v0p1]3^3`4S4_4c5h7R7S7U7m7p7}8P9i9q9w:q:u;W;];h=z={d<w3u7Y7Z7`9]9^:h:i:k;kS=R.h3bT=S7[9arnOXst!V!Z#d%l&g&p&r&s&u,n,s2S2VQ&d!UR,k&mrnOXst!V!Z#d%l&g&p&r&s&u,n,s2S2VR&d!UQ,T&[R1[+|snOXst!V!Z#d%l&g&p&r&s&u,n,s2S2VQ1h,YS5w1k1lU8e5u5v5zS:R8g8hS:{:Q:TQ;_:|R;i;`Q&k!VR,d&gR6T1tR:Y8nS&P|&UR1T+sQ&p!WR,n&qR,t&vT2T,s2VR,x&wQ,w&wR2^,xQ'w!{R-t'wSsOtQ#dXT%os#dQ#OTR'y#OQ#RUR'{#RQ)y$uR/Z)yQ#UVR(O#UQ#XWU(U#X(V-{Q(V#YR-{(WQ-X'WR2j-XQ.p(wS3e.p3fR3f.qQ-`'^R2n-`Y!rQ'^-`1g5qR'h!rQ.{)cR3z.{U#_W%g*WU(]#_(^-|Q(^#`R-|(XQ-['ZR2l-[t`OXst!V!Z#d%l&g&i&p&r&s&u,n,s2S2VS#hZ%dU#r`#h.VR.V(hQ(i#jQ.S(eW.[(i.S3P6wQ3P.TR6w3QQ)l$lR/R)lQ$phR)r$pQ$`cU)_$`-w<[Q-w;xR<[)oQ/l*ZW4Y/l4Z7j9hU4Z/m/n/oS7j4[4]R9h7k$e*O$v(s)a)c*Y*b*q*r*|*}+R.g.h.j.k.l/Y/b/d/f/q/v0^0_0p1]3^3_3`3u3y4S4^4_4c4s4u4{4|4}5h7R7S7T7U7Z7[7^7_7`7f7m7p7z7}8P9]9^9_9i9q9v9w:h:i:j:k:l:q:u;W;];h;k=b=n=o=z={Q/t*bU4b/t4d7nQ4d/vR7n4cS*l$|*XR0S*lx*Q$v)c*q*r+R/q0^0_3y4^4{4|4}7f7z9v:l=b=n=o!d.e(s)a*Y*b.g.h.l/Y/f/v0p1]3`4S4_4c5h7R7U7m7p7}8P9i9q9w:q:u;W;];h=z={U/c*Q.e7Xa7X3u7Z7[7`9]:h:k;kQ0Z*qQ3a.gU4t0Z3a9`R9`7Z|*S$v)c*q*r+R/b/q0^0_3y4^4s4{4|4}7f7z9v:l=b=n=o!h.f(s)a*Y*b.g.h.l/Y/f/v0p1]3^3`4S4_4c5h7R7S7U7m7p7}8P9i9q9w:q:u;W;];h=z={U/e*S.f7Ye7Y3u7Z7[7`9]9^:h:i:k;kQ0]*rQ3b.hU4v0]3b9aR9a7[Q*w%UR0a*wQ5S0pR8O5SQ+[%jR0o+[Q5l1bS8_5l:OR:O8`Q,V&]R1e,VQ5q1gR8b5qQ1s,aS6R1s8oR8o6TQ1O+oW5_1O5a8V9zQ5a1RQ8V5`R9z8WQ+t&PR1U+tQ2V,sR6c2VYrOXst#dQ&t!ZQ+^%lQ,m&pQ,o&rQ,p&sQ,r&uQ2Q,nS2T,s2VR6b2SQ%npQ&x!_Q&{!aQ&}!bQ'P!cQ'o!uQ+]%kQ+i%yQ+{&VQ,c&kQ,z&zW-k'i'q'r'uQ-r'mQ0R*kQ0y+jS1v,d,gQ2_,yQ2`,|Q2a,}Q2u-jW2w-m-n-q-sQ5W0zQ5d1XQ5g1]Q5{1mQ6V1xQ6a2RU6p2v2y2|Q6s2zQ8R5XQ8Z5fQ8[5hQ8a5pQ8j5|Q8p6US9P6q6uQ9R6tQ9{8XQ:U8kQ:Z8qQ:b9QQ:x9|Q;O:VQ;S:cR;a;PQ%yyQ'b!iQ'm!uU+j%z%{%|Q-R'TU-f'c'd'eS-j'i'sQ/z*gS0z+k+lQ2g-TS2s-g-hQ2z-oS4g/{0OQ5X0{Q6l2mQ6o2tQ6t2{U7q4i4j4mQ9o7sR:r9pS$wi=pR*x%VU%Ui%V=pR0`*vQ$viS(s#v+fS)a$b$cQ)c$dQ*Y$xS*b${*WQ*q%OQ*r%QQ*|%]Q*}%^Q+R%bQ.g<aQ.h<cQ.j<gQ.k<iQ.l<kQ/Y)wQ/b*PQ/d*RQ/f*TQ/q*^S/v*d/hQ0^*tQ0_*ul0p+c,Q.a1a1i3Z5x6|8f9V:S:f:};VQ1]+}Q3^<tQ3_<vQ3`<yS3u<^<_Q3y.zS4S/_4UQ4^/rQ4_/sQ4c/uQ4s0YQ4u0[Q4{0gQ4|0hQ4}0iQ5h1^Q7R<}Q7S=PQ7T=RQ7U=TQ7Z<bQ7[<dQ7^<hQ7_<jQ7`<lQ7f4VQ7m4aQ7p4fQ7z4wQ7}5RQ8P5UQ9]<zQ9^<uQ9_<wQ9i7lQ9q7vQ9v7|Q9w8QQ:h=OQ:i=QQ:j=SQ:k=UQ:l9eQ:q9nQ:u9tQ;W=XQ;]:tQ;h;^Q;k=YQ=b=pQ=n=xQ=o=yQ=z=|R={=}Q*z%[Q.i<eR7]<fnpOXst!Z#d%l&p&r&s&u,n,s2S2VQ!fPS#fZ#oQ&z!`W'f!o*f0V4qQ'}#SQ)O#{Q)p$nS,g&i&lQ,l&mQ,y&yS-O'R/iQ-b'`Q.s(|Q/V)qQ0m+YQ0s+dQ2O,kQ2q-dQ3X.bQ4O/QQ4y0dQ5v1jQ6X1zQ6Y1{Q6^1}Q6`2PQ6e2XQ7P3[Q7c3{Q8h5yQ8t6ZQ8u6[Q8w6_Q9Z7QQ:T8iR:_8x#[cOPXZst!Z!`!o#d#o#{%l&i&l&m&p&r&s&u&y'R'`(|*f+Y+d,k,n,s-d.b/i0V0d1j1z1{1}2P2S2V2X3[4q5y6Z6[6_7Q8i8xQ#YWQ#eYQ%puQ%rvS%tw!gS(Q#W(TQ(W#ZQ(r#uQ(w#xQ)P$OQ)Q$PQ)R$QQ)S$RQ)T$SQ)U$TQ)V$UQ)W$VQ)X$WQ)Y$XQ)[$ZQ)^$_Q)`$aQ)e$eW)o$n)q/Q3{Q+a%sQ+u&QS-U'V2hQ-s'pS-x(R-zQ-}(ZQ.P(bQ.n(vQ.q(xQ.u;vQ.w;yQ.x;zQ.y;}Q/]){Q0j+UQ2c-PQ2f-SQ2v-lQ2}.QQ3c.oQ3h<OQ3i<PQ3j<QQ3k<RQ3l<SQ3m<TQ3n<UQ3o<VQ3p<WQ3q<XQ3r<YQ3s.vQ3t<]Q3w<`Q3x<mQ4P<ZQ5O0lQ5Y0|Q6k<pQ6q2xQ6v3OQ7V3dQ7W<qQ7a<sQ7b<{Q8`5mQ8|6iQ9Q6rQ9[<|Q9b=VQ9c=WQ:c9SQ:y9}Q;R:aQ;x#SR=g=sR#[WR'X!el!tQ!r!v!y!z'^'j'k'l-`-p1g5q5sS'T!e-WU*g$|*X*lS-T'U']S0O*h*nQ0W*oQ2m-^Q4m0UR4r0XR(y#xQ!fQT-_'^-`]!qQ!r'^-`1g5qQ#p]R'g;wR)d$dY!uQ'^-`1g5qQ'i!rS's!v!yS'u!z5sS-o'j'kQ-q'lR2{-pT#kZ%dS#jZ%dS%jm,jU(e#h#i#lS.T(f(gQ.X(hQ0n+ZQ3Q.UU3R.V.W.YS6x3S3TR9T6yd#^W#W#Z%g(R([*W+W.O/hr#gZm#h#i#l%d(f(g(h+Z.U.V.W.Y3S3T6yS*Z$x*_Q/o*[Q1|,jQ2d-QQ4W/kQ6g2[Q7i4XQ8{6hT=_'V+XV#aW%g*WU#`W%g*WS(S#W([U(X#Z+W/hS-V'V+XT-y(R.OV'[!e%h*XQ$lfR)v$qT)k$l)lR3}/PT*]$x*_T*e${*WQ0q+cQ1_,QQ3V.aQ5j1aQ5u1iQ6}3ZQ8g5xQ9W6|Q:Q8fQ:d9VQ:|:SQ;U:fQ;`:}R;c;VnqOXst!Z#d%l&p&r&s&u,n,s2S2VQ&j!VR,c>mOXst!U!V!Z#d%l&g&p&r&s&u,n,s2S2VR,j&mT%km,jR1c,SR,b&eQ&T|R+z&UR+p&OT&n!W&qT&o!W&qT2U,s2V",nodeNames:"\u26A0 ArithOp ArithOp ?. JSXStartTag LineComment BlockComment Script Hashbang ExportDeclaration export Star as VariableName String Escape from ; default FunctionDeclaration async function VariableDefinition > < TypeParamList const 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 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 asserts 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:378,context:IQ,nodeProps:[["isolate",-8,5,6,14,35,37,49,51,53,""],["group",-26,9,17,19,66,206,210,214,215,217,220,223,233,235,241,243,245,247,250,256,262,264,266,268,270,272,273,"Statement",-34,13,14,30,33,34,40,49,52,53,55,60,68,70,74,78,80,82,83,108,109,118,119,135,138,140,141,142,143,144,146,147,166,168,170,"Expression",-23,29,31,35,39,41,43,172,174,176,177,179,180,181,183,184,185,187,188,189,200,202,204,205,"Type",-3,86,101,107,"ClassItem"],["openedBy",23,"<",36,"InterpolationStart",54,"[",58,"{",71,"(",159,"JSXStartCloseTag"],["closedBy",-2,24,167,">",38,"InterpolationEnd",48,"]",59,"}",72,")",164,"JSXEndTag"]],propSources:[eS],skippedNodes:[0,5,6,276],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$<r#p#q$=h#q#r$>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(Up(X!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(X!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU(X!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$h&j(UpOY(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(UpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX(Up(X!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(Up(X!b'z0/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(V#S$h&j'{0/lO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c07[.n_$h&j(Up(X!b'{0/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!n),Q(Up(X!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(Up(X!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(Up(X!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_(T':f$h&j(X!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k(^4r_$h&j(X!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(X!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!r8uZ(X!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p!r9oU$c`(X!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!r:UP;=`<%l8p(^:[P;=`<%l4k%9[:hh$h&j(Up(X!bOY%ZYZ&cZq%Zqr<Srs&}st%ZtuCruw%Zwx(rx!^%Z!^!_*g!_!c%Z!c!}Cr!}#O%Z#O#P&c#P#R%Z#R#SCr#S#T%Z#T#oCr#o#p*g#p$g%Z$g;'SCr;'S;=`El<%lOCr(r<__WS$h&j(Up(X!bOY<SYZ&cZr<Srs=^sw<Swx@nx!^<S!^!_Bm!_#O<S#O#P>`#P#o<S#o#pBm#p;'S<S;'S;=`Cl<%lO<S(Q=g]WS$h&j(X!bOY=^YZ&cZw=^wx>`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(X!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(UpOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWWS(UpOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYWS(Up(X!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%l<S%9[C}i$h&j(m%1l(Up(X!bOY%ZYZ&cZr%Zrs&}st%ZtuCruw%Zwx(rx!Q%Z!Q![Cr![!^%Z!^!_*g!_!c%Z!c!}Cr!}#O%Z#O#P&c#P#R%Z#R#SCr#S#T%Z#T#oCr#o#p*g#p$g%Z$g;'SCr;'S;=`El<%lOCr%9[EoP;=`<%lCr07[FRk$h&j(Up(X!b$[#t(R,2j(c$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+dHRk$h&j(Up(X!b$[#tOY%ZYZ&cZr%Zrs&}st%ZtuGvuw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Gv![!^%Z!^!_*g!_!c%Z!c!}Gv!}#O%Z#O#P&c#P#R%Z#R#SGv#S#T%Z#T#oGv#o#p*g#p$g%Z$g;'SGv;'S;=`Iv<%lOGv+dIyP;=`<%lGv07[JPP;=`<%lEr(KWJ_`$h&j(Up(X!b#n(ChOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KWKl_$h&j$P(Ch(Up(X!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,#xLva(x+JY$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sv%ZvwM{wx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KWNW`$h&j#y(Ch(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'At! c_(W';W$h&j(UpOY!!bYZ!#hZr!!brs!#hsw!!bwx!$xx!^!!b!^!_!%z!_#O!!b#O#P!#h#P#o!!b#o#p!%z#p;'S!!b;'S;=`!'c<%lO!!b'l!!i_$h&j(UpOY!!bYZ!#hZr!!brs!#hsw!!bwx!$xx!^!!b!^!_!%z!_#O!!b#O#P!#h#P#o!!b#o#p!%z#p;'S!!b;'S;=`!'c<%lO!!b&z!#mX$h&jOw!#hwx6cx!^!#h!^!_!$Y!_#o!#h#o#p!$Y#p;'S!#h;'S;=`!$r<%lO!#h`!$]TOw!$Ywx7]x;'S!$Y;'S;=`!$l<%lO!$Y`!$oP;=`<%l!$Y&z!$uP;=`<%l!#h'l!%R]$c`$h&j(UpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(r!Q!&PZ(UpOY!%zYZ!$YZr!%zrs!$Ysw!%zwx!&rx#O!%z#O#P!$Y#P;'S!%z;'S;=`!']<%lO!%z!Q!&yU$c`(UpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)r!Q!'`P;=`<%l!%z'l!'fP;=`<%l!!b/5|!'t_!j/.^$h&j(Up(X!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#&U!)O_!i!Lf$h&j(Up(X!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-!n!*[b$h&j(Up(X!b(S%&f#o(ChOY%ZYZ&cZr%Zrs&}sw%Zwx(rxz%Zz{!+d{!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW!+o`$h&j(Up(X!b#l(ChOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z+;x!,|`$h&j(Up(X!bp+4YOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z,$U!.Z_!Z+Jf$h&j(Up(X!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[!/ec$h&j(Up(X!b!O.2^OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!0p!P!Q%Z!Q![!3Y![!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#%|!0ya$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!2O!P!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#%|!2Z_!Y!L^$h&j(Up(X!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'Ad!3eg$h&j(Up(X!bq'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!3Y![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S!3Y#S#X%Z#X#Y!4|#Y#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!5Vg$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx{%Z{|!6n|}%Z}!O!6n!O!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!6wc$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!8_c$h&j(Up(X!bq'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[!9uf$h&j(Up(X!b#m(ChOY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcxz!;Zz{#-}{!P!;Z!P!Q#/d!Q!^!;Z!^!_#(i!_!`#7S!`!a#8i!a!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z?O!;fb$h&j(Up(X!b!V7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z>^!<w`$h&j(X!b!V7`OY!<nYZ&cZw!<nwx!=yx!P!<n!P!Q!Eq!Q!^!<n!^!_!Gr!_!}!<n!}#O!KS#O#P!Dy#P#o!<n#o#p!Gr#p;'S!<n;'S;=`!L]<%lO!<n<z!>Q^$h&j!V7`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<z!?Td$h&j!V7`O!^&c!_#W&c#W#X!>|#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!V7`OY!@cZ!P!@c!P!Q!AT!Q!}!@c!}#O!Ar#O#P!Bq#P;'S!@c;'S;=`!CQ<%lO!@c7`!AYW!V7`#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<z!C][$h&jOY!CWYZ&cZ!^!CW!^!_!Ar!_#O!CW#O#P!DR#P#Q!=y#Q#o!CW#o#p!Ar#p;'S!CW;'S;=`!Ds<%lO!CW<z!DWX$h&jOY!CWYZ&cZ!^!CW!^!_!Ar!_#o!CW#o#p!Ar#p;'S!CW;'S;=`!Ds<%lO!CW<z!DvP;=`<%l!CW<z!EOX$h&jOY!=yYZ&cZ!^!=y!^!_!@c!_#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y<z!EnP;=`<%l!=y>^!Ezl$h&j(X!b!V7`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(X!b!V7`OY!GrZw!Grwx!@cx!P!Gr!P!Q!Hl!Q!}!Gr!}#O!JU#O#P!Bq#P;'S!Gr;'S;=`!J|<%lO!Gr8r!Hse(X!b!V7`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(X!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(X!bOY!KSYZ&cZw!KSwx!CWx!^!KS!^!_!JU!_#O!KS#O#P!DR#P#Q!<n#Q#o!KS#o#p!JU#p;'S!KS;'S;=`!LV<%lO!KS>^!LYP;=`<%l!KS>^!L`P;=`<%l!<n=l!Ll`$h&j(Up!V7`OY!LcYZ&cZr!Lcrs!=ys!P!Lc!P!Q!Mn!Q!^!Lc!^!_# o!_!}!Lc!}#O#%P#O#P!Dy#P#o!Lc#o#p# o#p;'S!Lc;'S;=`#&Y<%lO!Lc=l!Mwl$h&j(Up!V7`OY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#W(r#W#X!Mn#X#Z(r#Z#[!Mn#[#](r#]#^!Mn#^#a(r#a#b!Mn#b#g(r#g#h!Mn#h#i(r#i#j!Mn#j#k!Mn#k#m(r#m#n!Mn#n#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(r8Q# vZ(Up!V7`OY# oZr# ors!@cs!P# o!P!Q#!i!Q!}# o!}#O#$R#O#P!Bq#P;'S# o;'S;=`#$y<%lO# o8Q#!pe(Up!V7`OY)rZr)rs#O)r#P#W)r#W#X#!i#X#Z)r#Z#[#!i#[#])r#]#^#!i#^#a)r#a#b#!i#b#g)r#g#h#!i#h#i)r#i#j#!i#j#k#!i#k#m)r#m#n#!i#n;'S)r;'S;=`*Z<%lO)r8Q#$WX(UpOY#$RZr#$Rrs!Ars#O#$R#O#P!B[#P#Q# o#Q;'S#$R;'S;=`#$s<%lO#$R8Q#$vP;=`<%l#$R8Q#$|P;=`<%l# o=l#%W^$h&j(UpOY#%PYZ&cZr#%Prs!CWs!^#%P!^!_#$R!_#O#%P#O#P!DR#P#Q!Lc#Q#o#%P#o#p#$R#p;'S#%P;'S;=`#&S<%lO#%P=l#&VP;=`<%l#%P=l#&]P;=`<%l!Lc?O#&kn$h&j(Up(X!b!V7`OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#W%Z#W#X#&`#X#Z%Z#Z#[#&`#[#]%Z#]#^#&`#^#a%Z#a#b#&`#b#g%Z#g#h#&`#h#i%Z#i#j#&`#j#k#&`#k#m%Z#m#n#&`#n#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z9d#(r](Up(X!b!V7`OY#(iZr#(irs!Grsw#(iwx# ox!P#(i!P!Q#)k!Q!}#(i!}#O#+`#O#P!Bq#P;'S#(i;'S;=`#,`<%lO#(i9d#)th(Up(X!b!V7`OY*gZr*grs'}sw*gwx)rx#O*g#P#W*g#W#X#)k#X#Z*g#Z#[#)k#[#]*g#]#^#)k#^#a*g#a#b#)k#b#g*g#g#h#)k#h#i*g#i#j#)k#j#k#)k#k#m*g#m#n#)k#n;'S*g;'S;=`+Z<%lO*g9d#+gZ(Up(X!bOY#+`Zr#+`rs!JUsw#+`wx#$Rx#O#+`#O#P!B[#P#Q#(i#Q;'S#+`;'S;=`#,Y<%lO#+`9d#,]P;=`<%l#+`9d#,cP;=`<%l#(i?O#,o`$h&j(Up(X!bOY#,fYZ&cZr#,frs!KSsw#,fwx#%Px!^#,f!^!_#+`!_#O#,f#O#P!DR#P#Q!;Z#Q#o#,f#o#p#+`#p;'S#,f;'S;=`#-q<%lO#,f?O#-tP;=`<%l#,f?O#-zP;=`<%l!;Z07[#.[b$h&j(Up(X!b'|0/l!V7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z07[#/o_$h&j(Up(X!bT0/lOY#/dYZ&cZr#/drs#0nsw#/dwx#4Ox!^#/d!^!_#5}!_#O#/d#O#P#1p#P#o#/d#o#p#5}#p;'S#/d;'S;=`#6|<%lO#/d06j#0w]$h&j(X!bT0/lOY#0nYZ&cZw#0nwx#1px!^#0n!^!_#3R!_#O#0n#O#P#1p#P#o#0n#o#p#3R#p;'S#0n;'S;=`#3x<%lO#0n05W#1wX$h&jT0/lOY#1pYZ&cZ!^#1p!^!_#2d!_#o#1p#o#p#2d#p;'S#1p;'S;=`#2{<%lO#1p0/l#2iST0/lOY#2dZ;'S#2d;'S;=`#2u<%lO#2d0/l#2xP;=`<%l#2d05W#3OP;=`<%l#1p01O#3YW(X!bT0/lOY#3RZw#3Rwx#2dx#O#3R#O#P#2d#P;'S#3R;'S;=`#3r<%lO#3R01O#3uP;=`<%l#3R06j#3{P;=`<%l#0n05x#4X]$h&j(UpT0/lOY#4OYZ&cZr#4Ors#1ps!^#4O!^!_#5Q!_#O#4O#O#P#1p#P#o#4O#o#p#5Q#p;'S#4O;'S;=`#5w<%lO#4O00^#5XW(UpT0/lOY#5QZr#5Qrs#2ds#O#5Q#O#P#2d#P;'S#5Q;'S;=`#5q<%lO#5Q00^#5tP;=`<%l#5Q05x#5zP;=`<%l#4O01p#6WY(Up(X!bT0/lOY#5}Zr#5}rs#3Rsw#5}wx#5Qx#O#5}#O#P#2d#P;'S#5};'S;=`#6v<%lO#5}01p#6yP;=`<%l#5}07[#7PP;=`<%l#/d)3h#7ab$h&j$P(Ch(Up(X!b!V7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;ZAt#8vb$Y#t$h&j(Up(X!b!V7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z'Ad#:Zp$h&j(Up(X!bq'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!3Y!P!Q%Z!Q![#<_![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S#<_#S#U%Z#U#V#?i#V#X%Z#X#Y!4|#Y#b%Z#b#c#>_#c#d#Bq#d#l%Z#l#m#Es#m#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#<jk$h&j(Up(X!bq'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!3Y!P!Q%Z!Q![#<_![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S#<_#S#X%Z#X#Y!4|#Y#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#>j_$h&j(Up(X!bq'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(Up(X!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(Up(X!bq'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(Up(X!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(Up(X!bq'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(Up(X!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(Up(X!bq'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_!e$b$h&j#})Lv(Up(X!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(Up(X!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#)`#P-<U(Up(X!b$m7`OY*gZr*grs'}sw*gwx)rx!P*g!P!Q#MO!Q!^*g!^!_#Mt!_!`$ f!`#O*g#P;'S*g;'S;=`+Z<%lO*g(n#MXX$j&j(Up(X!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g(El#M}Z#p(Ch(Up(X!bOY*gZr*grs'}sw*gwx)rx!_*g!_!`#Np!`#O*g#P;'S*g;'S;=`+Z<%lO*g(El#NyX$P(Ch(Up(X!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g(El$ oX#q(Ch(Up(X!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g*)x$!ga#^*!Y$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`!a$#l!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(K[$#w_#i(Cl$h&j(Up(X!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*)x$%Vag!*r#q(Ch$e#|$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`$&[!`!a$'f!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$&g_#q(Ch$h&j(Up(X!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(KW$'qa#p(Ch$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`!a$(v!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$)R`#p(Ch$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(Kd$*`a(p(Ct$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!a%Z!a!b$+e!b#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$+p`$h&j#z(Ch(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#`$,}_!z$Ip$h&j(Up(X!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$.X_!Q0,v$h&j(Up(X!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(n$/]Z$h&jO!^$0O!^!_$0f!_#i$0O#i#j$0k#j#l$0O#l#m$2^#m#o$0O#o#p$0f#p;'S$0O;'S;=`$4i<%lO$0O(n$0VT_#S$h&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c#S$0kO_#S(n$0p[$h&jO!Q&c!Q![$1f![!^&c!_!c&c!c!i$1f!i#T&c#T#Z$1f#Z#o&c#o#p$3|#p;'S&c;'S;=`&w<%lO&c(n$1kZ$h&jO!Q&c!Q![$2^![!^&c!_!c&c!c!i$2^!i#T&c#T#Z$2^#Z#o&c#p;'S&c;'S;=`&w<%lO&c(n$2cZ$h&jO!Q&c!Q![$3U![!^&c!_!c&c!c!i$3U!i#T&c#T#Z$3U#Z#o&c#p;'S&c;'S;=`&w<%lO&c(n$3ZZ$h&jO!Q&c!Q![$0O![!^&c!_!c&c!c!i$0O!i#T&c#T#Z$0O#Z#o&c#p;'S&c;'S;=`&w<%lO&c#S$4PR!Q![$4Y!c!i$4Y#T#Z$4Y#S$4]S!Q![$4Y!c!i$4Y#T#Z$4Y#q#r$0f(n$4lP;=`<%l$0O#1[$4z_!W#)l$h&j(Up(X!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(KW$6U`#w(Ch$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z+;p$7c_$h&j(Up(X!b(_+4QOY%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[$8qk$h&j(Up(X!b(R,2j$^#t(c$I[OY%ZYZ&cZr%Zrs&}st%Ztu$8buw%Zwx(rx}%Z}!O$:f!O!Q%Z!Q![$8b![!^%Z!^!_*g!_!c%Z!c!}$8b!}#O%Z#O#P&c#P#R%Z#R#S$8b#S#T%Z#T#o$8b#o#p*g#p$g%Z$g;'S$8b;'S;=`$<l<%lO$8b+d$:qk$h&j(Up(X!b$^#tOY%ZYZ&cZr%Zrs&}st%Ztu$:fuw%Zwx(rx}%Z}!O$:f!O!Q%Z!Q![$:f![!^%Z!^!_*g!_!c%Z!c!}$:f!}#O%Z#O#P&c#P#R%Z#R#S$:f#S#T%Z#T#o$:f#o#p*g#p$g%Z$g;'S$:f;'S;=`$<f<%lO$:f+d$<iP;=`<%l$:f07[$<oP;=`<%l$8b#Jf$<{X!]#Hb(Up(X!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g,#x$=sa(w+JY$h&j(Up(X!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p#q$+e#q;'S%Z;'S;=`+a<%lO%Z)>v$?V_![(CdtBr$h&j(Up(X!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_!o7`$h&j(Up(X!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(Up(X!b'z0/l$[#t(R,2j(c$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(Up(X!b'{0/l$[#t(R,2j(c$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:[HQ,FQ,KQ,JQ,2,3,4,5,6,7,8,9,10,11,12,13,14,NQ,new Et("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOv~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!S~~!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(a~~",141,338),new Et("j~RQYZXz{^~^O(O~~aP!P!Qd~iO(P~~",25,321)],topRules:{Script:[0,7],SingleExpression:[1,274],SingleClassItem:[2,275]},dialects:{jsx:0,ts:15091},dynamicPrecedences:{78:1,80:1,92:1,168:1,198:1},specialized:[{term:325,get:i=>tS[i]||-1},{term:341,get:i=>iS[i]||-1},{term:93,get:i=>nS[i]||-1}],tokenPrec:15116});var Hr=class{constructor(e,t,n,r){this.state=e,this.pos=t,this.explicit=n,this.view=r,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let t=L(this.state).resolveInner(this.pos,-1);for(;t&&e.indexOf(t.name)<0;)t=t.parent;return t?{from:t.from,to:this.pos,text:this.state.sliceDoc(t.from,this.pos),type:t.type}:null}matchBefore(e){let t=this.state.doc.lineAt(this.pos),n=Math.max(t.from,this.pos-250),r=t.text.slice(n-t.from,this.pos-t.from),s=r.search(sS(e,!1));return s<0?null:{from:n+s,to:this.pos,text:r.slice(s)}}get aborted(){return this.abortListeners==null}addEventListener(e,t,n){e=="abort"&&this.abortListeners&&(this.abortListeners.push(t),n&&n.onDocChange&&(this.abortOnDocChange=!0))}};function Mf(i){let e=Object.keys(i).join(""),t=/\w/.test(e);return t&&(e=e.replace(/\w/g,"")),`[${t?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function rS(i){let e=Object.create(null),t=Object.create(null);for(let{label:r}of i){e[r[0]]=!0;for(let s=1;s<r.length;s++)t[r[s]]=!0}let n=Mf(e)+Mf(t)+"*$";return[new RegExp("^"+n),new RegExp(n)]}function Lf(i){let e=i.map(r=>typeof r=="string"?{label:r}:r),[t,n]=e.every(r=>/^\w+$/.test(r.label))?[/\w*$/,/\w+$/]:rS(e);return r=>{let s=r.matchBefore(n);return s||r.explicit?{from:s?s.from:r.pos,options:e,validFor:t}:null}}function Gf(i,e){return t=>{for(let n=L(t.state).resolveInner(t.pos,-1);n;n=n.parent){if(i.indexOf(n.name)>-1)return null;if(n.type.isTop)break}return e(t)}}function sS(i,e){var t;let{source:n}=i,r=e&&n[0]!="^",s=n[n.length-1]!="$";return!r&&!s?i:new RegExp(`${r?"^":""}(?:${n})${s?"$":""}`,(t=i.flags)!==null&&t!==void 0?t:i.ignoreCase?"i":"")}var oS=xe.define();var s1=typeof navigator=="object"&&/Win/.test(navigator.platform);var OS=v.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:'"\xB7\xB7\xB7"',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:"'\u0192'"}},".cm-completionIcon-class":{"&:after":{content:"'\u25CB'"}},".cm-completionIcon-interface":{"&:after":{content:"'\u25CC'"}},".cm-completionIcon-variable":{"&:after":{content:"'\u{1D465}'"}},".cm-completionIcon-constant":{"&:after":{content:"'\u{1D436}'"}},".cm-completionIcon-type":{"&:after":{content:"'\u{1D461}'"}},".cm-completionIcon-enum":{"&:after":{content:"'\u222A'"}},".cm-completionIcon-property":{"&:after":{content:"'\u25A1'"}},".cm-completionIcon-keyword":{"&:after":{content:"'\u{1F511}\uFE0E'"}},".cm-completionIcon-namespace":{"&:after":{content:"'\u25A2'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}}),ZO=class{constructor(e,t,n,r){this.field=e,this.line=t,this.from=n,this.to=r}},WO=class i{constructor(e,t,n){this.field=e,this.from=t,this.to=n}map(e){let t=e.mapPos(this.from,-1,le.TrackDel),n=e.mapPos(this.to,1,le.TrackDel);return t==null||n==null?null:new i(this.field,t,n)}},qO=class i{constructor(e,t){this.lines=e,this.fieldPositions=t}instantiate(e,t){let n=[],r=[t],s=e.doc.lineAt(t),o=/^\s*/.exec(s.text)[0];for(let l of this.lines){if(n.length){let a=o,h=/^\t*/.exec(l)[0].length;for(let c=0;c<h;c++)a+=e.facet(Yt);r.push(t+a.length-h),l=a+l.slice(h)}n.push(l),t+=l.length+1}let O=this.fieldPositions.map(l=>new WO(l.field,r[l.line]+l.from,r[l.line]+l.to));return{text:n,ranges:O}}static parse(e){let t=[],n=[],r=[],s;for(let o of e.split(/\r\n?|\n/)){for(;s=/[#$]\{(?:(\d+)(?::([^}]*))?|((?:\\[{}]|[^}])*))\}/.exec(o);){let O=s[1]?+s[1]:null,l=s[2]||s[3]||"",a=-1,h=l.replace(/\\[{}]/g,c=>c[1]);for(let c=0;c<t.length;c++)(O!=null?t[c].seq==O:h&&t[c].name==h)&&(a=c);if(a<0){let c=0;for(;c<t.length&&(O==null||t[c].seq!=null&&t[c].seq<O);)c++;t.splice(c,0,{seq:O,name:h}),a=c;for(let f of r)f.field>=a&&f.field++}r.push(new ZO(a,n.length,s.index,s.index+h.length)),o=o.slice(0,s.index)+l+o.slice(s.index+s[0].length)}o=o.replace(/\\([{}])/g,(O,l,a)=>{for(let h of r)h.line==n.length&&h.from>a&&(h.from--,h.to--);return l}),n.push(o)}return new i(n,r)}},lS=_.widget({widget:new class extends Zt{toDOM(){let i=document.createElement("span");return i.className="cm-snippetFieldPosition",i}ignoreEvent(){return!1}}}),aS=_.mark({class:"cm-snippetField"}),Zi=class i{constructor(e,t){this.ranges=e,this.active=t,this.deco=_.set(e.map(n=>(n.from==n.to?lS:aS).range(n.from,n.to)))}map(e){let t=[];for(let n of this.ranges){let r=n.map(e);if(!r)return null;t.push(r)}return new i(t,this.active)}selectionInsideField(e){return e.ranges.every(t=>this.ranges.some(n=>n.field==this.active&&n.from<=t.from&&n.to>=t.to))}},kn=B.define({map(i,e){return i&&i.map(e)}}),hS=B.define(),xn=Qe.define({create(){return null},update(i,e){for(let t of e.effects){if(t.is(kn))return t.value;if(t.is(hS)&&i)return new Zi(i.ranges,t.value)}return i&&e.docChanged&&(i=i.map(e.changes)),i&&e.selection&&!i.selectionInsideField(e.selection)&&(i=null),i},provide:i=>v.decorations.from(i,e=>e?e.deco:_.none)});function VO(i,e){return S.create(i.filter(t=>t.field==e).map(t=>S.range(t.from,t.to)))}function cS(i){let e=qO.parse(i);return(t,n,r,s)=>{let{text:o,ranges:O}=e.instantiate(t.state,r),{main:l}=t.state.selection,a={changes:{from:r,to:s==l.from?l.to:s,insert:U.of(o)},scrollIntoView:!0,annotations:n?[oS.of(n),ne.userEvent.of("input.complete")]:void 0};if(O.length&&(a.selection=VO(O,0)),O.some(h=>h.field>0)){let h=new Zi(O,0),c=a.effects=[kn.of(h)];t.state.field(xn,!1)===void 0&&c.push(B.appendConfig.of([xn,mS,gS,OS]))}t.dispatch(t.state.update(a))}}function Bf(i){return({state:e,dispatch:t})=>{let n=e.field(xn,!1);if(!n||i<0&&n.active==0)return!1;let r=n.active+i,s=i>0&&!n.ranges.some(o=>o.field==r+i);return t(e.update({selection:VO(n.ranges,r),effects:kn.of(s?null:new Zi(n.ranges,r)),scrollIntoView:!0})),!0}}var fS=({state:i,dispatch:e})=>i.field(xn,!1)?(e(i.update({effects:kn.of(null)})),!0):!1,uS=Bf(1),dS=Bf(-1);var pS=[{key:"Tab",run:uS,shift:dS},{key:"Escape",run:fS}],Ef=X.define({combine(i){return i.length?i[0]:pS}}),mS=nt.highest(ht.compute([Ef],i=>i.facet(Ef)));function be(i,e){return Object.assign(Object.assign({},e),{apply:cS(i)})}var gS=v.domEventHandlers({mousedown(i,e){let t=e.state.field(xn,!1),n;if(!t||(n=e.posAtCoords({x:i.clientX,y:i.clientY}))==null)return!1;let r=t.ranges.find(s=>s.from<=n&&s.to>=n);return!r||r.field==t.active?!1:(e.dispatch({selection:VO(t.ranges,r.field),effects:kn.of(t.ranges.some(s=>s.field>r.field)?new Zi(t.ranges,r.field):null),scrollIntoView:!0}),!0)}});var Df=new class extends Ie{};Df.startSide=1;Df.endSide=-1;var o1=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent);var Ff=[be("function ${name}(${params}) {\n ${}\n}",{label:"function",detail:"definition",type:"keyword"}),be("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n ${}\n}",{label:"for",detail:"loop",type:"keyword"}),be("for (let ${name} of ${collection}) {\n ${}\n}",{label:"for",detail:"of loop",type:"keyword"}),be("do {\n ${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),be("while (${}) {\n ${}\n}",{label:"while",detail:"loop",type:"keyword"}),be(`try { \${} } catch (\${error}) { \${} -}`,{label:"try",detail:"/ catch block",type:"keyword"}),Pe("if (${}) {\n ${}\n}",{label:"if",detail:"block",type:"keyword"}),Pe(`if (\${}) { +}`,{label:"try",detail:"/ catch block",type:"keyword"}),be("if (${}) {\n ${}\n}",{label:"if",detail:"block",type:"keyword"}),be(`if (\${}) { \${} } else { \${} -}`,{label:"if",detail:"/ else block",type:"keyword"}),Pe(`class \${name} { +}`,{label:"if",detail:"/ else block",type:"keyword"}),be(`class \${name} { constructor(\${params}) { \${} } -}`,{label:"class",detail:"definition",type:"keyword"}),Pe('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),Pe('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],uS=Ff.concat([Pe("interface ${name} {\n ${}\n}",{label:"interface",detail:"definition",type:"keyword"}),Pe("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),Pe("enum ${name} {\n ${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),If=new xi,Hf=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function wn(i){return(e,t)=>{let n=e.node.getChild("VariableDefinition");return n&&t(n,i),!0}}var dS=["FunctionDeclaration"],pS={FunctionDeclaration:wn("function"),ClassDeclaration:wn("class"),ClassExpression:()=>!0,EnumDeclaration:wn("constant"),TypeAliasDeclaration:wn("type"),NamespaceDeclaration:wn("namespace"),VariableDefinition(i,e){i.matchContext(dS)||e(i,"variable")},TypeDefinition(i,e){e(i,"type")},__proto__:null};function Kf(i,e){let t=If.get(e);if(t)return t;let n=[],r=!0;function s(o,O){let a=i.sliceString(o.from,o.to);n.push({label:a,type:O})}return e.cursor(G.IncludeAnonymous).iterate(o=>{if(r)r=!1;else if(o.name){let O=pS[o.name];if(O&&O(o,s)||Hf.has(o.name))return!1}else if(o.to-o.from>8192){for(let O of Kf(i,o.node))n.push(O);return!1}}),If.set(e,n),n}var Bf=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,Jf=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName",".","?."];function mS(i){let e=L(i.state).resolveInner(i.pos,-1);if(Jf.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&Bf.test(i.state.sliceDoc(e.from,e.to));if(!t&&!i.explicit)return null;let n=[];for(let r=e;r;r=r.parent)Hf.has(r.name)&&(n=n.concat(Kf(i.state.doc,r)));return{options:n,from:t?e.from:i.pos,validFor:Bf}}var tt=ue.define({name:"javascript",parser:_f.configure({props:[de.add({IfStatement:Ve({except:/^\s*({|else\b)/}),TryStatement:Ve({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:hc,SwitchBody:i=>{let e=i.textAfter,t=/^\s*\}/.test(e),n=/^\s*(case|default)\b/.test(e);return i.baseIndent+(t?0:n?1:2)*i.unit},Block:Vr({closing:"}"}),ArrowFunction:i=>i.baseIndent+i.unit,"TemplateString BlockComment":()=>null,"Statement Property":Ve({except:/^{/}),JSXElement(i){let e=/^\s*<\//.test(i.textAfter);return i.lineIndent(i.node.from)+(e?0:i.unit)},JSXEscape(i){let e=/\s*\}/.test(i.textAfter);return i.lineIndent(i.node.from)+(e?0:i.unit)},"JSXOpenTag JSXSelfClosingTag"(i){return i.column(i.node.from)+i.unit}}),ye.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":At,BlockComment(i){return{from:i.from+2,to:i.to-2}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),eu={test:i=>/^JSX/.test(i.name),facet:vi({commentTokens:{block:{open:"{/*",close:"*/}"}}})},qO=tt.configure({dialect:"ts"},"typescript"),VO=tt.configure({dialect:"jsx",props:[qr.add(i=>i.isTop?[eu]:void 0)]}),CO=tt.configure({dialect:"jsx ts",props:[qr.add(i=>i.isTop?[eu]:void 0)]},"typescript"),tu=i=>({label:i,type:"keyword"}),iu="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(tu),gS=iu.concat(["declare","implements","private","protected","public"].map(tu));function Oi(i={}){let e=i.jsx?i.typescript?CO:VO:i.typescript?qO:tt,t=i.typescript?uS.concat(gS):Ff.concat(iu);return new Oe(e,[tt.data.of({autocomplete:Gf(Jf,Mf(t))}),tt.data.of({autocomplete:mS}),i.jsx?SS:[]])}function $S(i){for(;;){if(i.name=="JSXOpenTag"||i.name=="JSXSelfClosingTag"||i.name=="JSXFragmentTag")return i;if(i.name=="JSXEscape"||!i.parent)return null;i=i.parent}}function Nf(i,e,t=i.length){for(let n=e?.firstChild;n;n=n.nextSibling)if(n.name=="JSXIdentifier"||n.name=="JSXBuiltin"||n.name=="JSXNamespacedName"||n.name=="JSXMemberExpression")return i.sliceString(n.from,Math.min(n.to,t));return""}var QS=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),SS=v.inputHandler.of((i,e,t,n,r)=>{if((QS?i.composing:i.compositionStarted)||i.state.readOnly||e!=t||n!=">"&&n!="/"||!tt.isActiveAt(i.state,e,-1))return!1;let s=r(),{state:o}=s,O=o.changeByRange(a=>{var l;let{head:h}=a,c=L(o).resolveInner(h-1,-1),f;if(c.name=="JSXStartTag"&&(c=c.parent),!(o.doc.sliceString(h-1,h)!=n||c.name=="JSXAttributeValue"&&c.to>h)){if(n==">"&&c.name=="JSXFragmentTag")return{range:a,changes:{from:h,insert:"</>"}};if(n=="/"&&c.name=="JSXStartCloseTag"){let d=c.parent,p=d.parent;if(p&&d.from==h-2&&((f=Nf(o.doc,p.firstChild,h))||((l=p.firstChild)===null||l===void 0?void 0:l.name)=="JSXFragmentTag")){let m=`${f}>`;return{range:S.cursor(h+m.length,-1),changes:{from:h,insert:m}}}}else if(n==">"){let d=$S(c);if(d&&d.name=="JSXOpenTag"&&!/^\/?>|^<\//.test(o.doc.sliceString(h,h+2))&&(f=Nf(o.doc,d,h)))return{range:a,changes:{from:h,insert:`</${f}>`}}}}return{range:a}});return O.changes.empty?!1:(i.dispatch([s,o.update(O,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var yS=54,PS=1,bS=55,xS=2,kS=56,wS=3,nu=4,TS=5,Br=6,cu=7,fu=8,uu=9,du=10,vS=11,zS=12,RS=13,YO=57,WS=14,ru=58,pu=20,XS=22,mu=23,ZS=24,AO=26,gu=27,qS=28,VS=31,CS=34,YS=36,US=37,AS=0,_S=1,jS={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},ES={dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},su={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 MS(i){return i==45||i==46||i==58||i>=65&&i<=90||i==95||i>=97&&i<=122||i>=161}function $u(i){return i==9||i==10||i==13||i==32}var ou=null,Ou=null,au=0;function _O(i,e){let t=i.pos+e;if(au==t&&Ou==i)return ou;let n=i.peek(e);for(;$u(n);)n=i.peek(++e);let r="";for(;MS(n);)r+=String.fromCharCode(n),n=i.peek(++e);return Ou=i,au=t,ou=r?r.toLowerCase():n==GS||n==LS?void 0:null}var Qu=60,Nr=62,jO=47,GS=63,LS=33,DS=45;function lu(i,e){this.name=i,this.parent=e}var IS=[Br,du,cu,fu,uu],BS=new Mt({start:null,shift(i,e,t,n){return IS.indexOf(e)>-1?new lu(_O(n,1)||"",i):i},reduce(i,e){return e==pu&&i?i.parent:i},reuse(i,e,t,n){let r=e.type.id;return r==Br||r==YS?new lu(_O(n,1)||"",i):i},strict:!1}),NS=new ee((i,e)=>{if(i.next!=Qu){i.next<0&&e.context&&i.acceptToken(YO);return}i.advance();let t=i.next==jO;t&&i.advance();let n=_O(i,0);if(n===void 0)return;if(!n)return i.acceptToken(t?WS:Br);let r=e.context?e.context.name:null;if(t){if(n==r)return i.acceptToken(vS);if(r&&ES[r])return i.acceptToken(YO,-2);if(e.dialectEnabled(AS))return i.acceptToken(zS);for(let s=e.context;s;s=s.parent)if(s.name==n)return;i.acceptToken(RS)}else{if(n=="script")return i.acceptToken(cu);if(n=="style")return i.acceptToken(fu);if(n=="textarea")return i.acceptToken(uu);if(jS.hasOwnProperty(n))return i.acceptToken(du);r&&su[r]&&su[r][n]?i.acceptToken(YO,-1):i.acceptToken(Br)}},{contextual:!0}),FS=new ee(i=>{for(let e=0,t=0;;t++){if(i.next<0){t&&i.acceptToken(ru);break}if(i.next==DS)e++;else if(i.next==Nr&&e>=2){t>=3&&i.acceptToken(ru,-2);break}else e=0;i.advance()}});function HS(i){for(;i;i=i.parent)if(i.name=="svg"||i.name=="math")return!0;return!1}var KS=new ee((i,e)=>{if(i.next==jO&&i.peek(1)==Nr){let t=e.dialectEnabled(_S)||HS(e.context);i.acceptToken(t?TS:nu,2)}else i.next==Nr&&i.acceptToken(nu,1)});function EO(i,e,t){let n=2+i.length;return new ee(r=>{for(let s=0,o=0,O=0;;O++){if(r.next<0){O&&r.acceptToken(e);break}if(s==0&&r.next==Qu||s==1&&r.next==jO||s>=2&&s<n&&r.next==i.charCodeAt(s-2))s++,o++;else if((s==2||s==n)&&$u(r.next))o++;else if(s==n&&r.next==Nr){O>o?r.acceptToken(e,-o):r.acceptToken(t,-(o-2));break}else if((r.next==10||r.next==13)&&O){r.acceptToken(e,1);break}else s=o=0;r.advance()}})}var JS=EO("script",yS,PS),ey=EO("style",bS,xS),ty=EO("textarea",kS,wS),iy=oe({"Text RawText":u.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":u.angleBracket,TagName:u.tagName,"MismatchedCloseTag/TagName":[u.tagName,u.invalid],AttributeName:u.attributeName,"AttributeValue UnquotedAttributeValue":u.attributeValue,Is:u.definitionOperator,"EntityReference CharacterReference":u.character,Comment:u.blockComment,ProcessingInst:u.processingInstruction,DoctypeDecl:u.documentMeta}),Su=me.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:"\u26A0 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:BS,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:[iy],skippedNodes:[0],repeatNodeCount:9,tokenData:"!<p!aR!YOX$qXY,QYZ,QZ[$q[]&X]^,Q^p$qpq,Qqr-_rs3_sv-_vw3}wxHYx}-_}!OH{!O!P-_!P!Q$q!Q![-_![!]Mz!]!^-_!^!_!$S!_!`!;x!`!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4U-_4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$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!Z$|c`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr$qrs&}sv$qvw+Pwx(tx!^$q!^!_*V!_!a&X!a#S$q#S#T&X#T;'S$q;'S;=`+z<%lO$q!R&bX`P!a`!cpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&Xq'UV`P!cpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}P'pT`POv'kw!^'k!_;'S'k;'S;=`(P<%lO'kP(SP;=`<%l'kp([S!cpOv(Vx;'S(V;'S;=`(h<%lO(Vp(kP;=`<%l(Vq(qP;=`<%l&}a({W`P!a`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t`)jT!a`Or)esv)ew;'S)e;'S;=`)y<%lO)e`)|P;=`<%l)ea*SP;=`<%l(t!Q*^V!a`!cpOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!Q*vP;=`<%l*V!R*|P;=`<%l&XW+UYkWOX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+PW+wP;=`<%l+P!Z+}P;=`<%l$q!a,]``P!a`!cp!^^OX&XXY,QYZ,QZ]&X]^,Q^p&Xpq,Qqr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!_-ljhS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!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[/ebhSkWOX+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+PS0rXhSqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0mS1bP;=`<%l0m[1hP;=`<%l/^!V1vchS`P!a`!cpOq&Xqr1krs&}sv1kvw0mwx(tx!P1k!P!Q&X!Q!^1k!^!_*V!_!a&X!a#s1k#s$f&X$f;'S1k;'S;=`3R<%l?Ah1k?Ah?BY&X?BY?Mn1k?MnO&X!V3UP;=`<%l1k!_3[P;=`<%l-_!Z3hV!`h`P!cpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}!_4WihSkWc!ROX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst>]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!V<QchSOp7Sqr;{rs7Sst0mtw;{wx7Sx!P;{!P!Q7S!Q!];{!]!^=]!^!a7S!a#s;{#s$f7S$f;'S;{;'S;=`>P<%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!<TXiS`P!a`!cpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X",tokenizers:[JS,ey,ty,KS,NS,FS,0,1,2,3,4,5],topRules:{Document:[0,15]},dialects:{noMatch:0,selfClosing:509},tokenPrec:511});function yu(i,e){let t=Object.create(null);for(let n of i.getChildren(mu)){let r=n.getChild(ZS),s=n.getChild(AO)||n.getChild(gu);r&&(t[e.read(r.from,r.to)]=s?s.type.id==AO?e.read(s.from+1,s.to-1):e.read(s.from,s.to):"")}return t}function hu(i,e){let t=i.getChild(XS);return t?e.read(t.from,t.to):" "}function UO(i,e,t){let n;for(let r of t)if(!r.attrs||r.attrs(n||(n=yu(i.node.parent.firstChild,e))))return{parser:r.parser};return null}function MO(i=[],e=[]){let t=[],n=[],r=[],s=[];for(let O of i)(O.tag=="script"?t:O.tag=="style"?n:O.tag=="textarea"?r:s).push(O);let o=e.length?Object.create(null):null;for(let O of e)(o[O.name]||(o[O.name]=[])).push(O);return ki((O,a)=>{let l=O.type.id;if(l==qS)return UO(O,a,t);if(l==VS)return UO(O,a,n);if(l==CS)return UO(O,a,r);if(l==pu&&s.length){let h=O.node,c=h.firstChild,f=c&&hu(c,a),d;if(f){for(let p of s)if(p.tag==f&&(!p.attrs||p.attrs(d||(d=yu(c,a))))){let m=h.lastChild,g=m.type.id==US?m.from:h.to;if(g>c.to)return{parser:p.parser,overlay:[{from:c.to,to:g}]}}}}if(o&&l==mu){let h=O.node,c;if(c=h.firstChild){let f=o[a.read(c.from,c.to)];if(f)for(let d of f){if(d.tagName&&d.tagName!=hu(h.parent,a))continue;let p=h.lastChild;if(p.type.id==AO){let m=p.from+1,g=p.lastChild,$=p.to-(g&&g.isError?0:1);if($>m)return{parser:d.parser,overlay:[{from:m,to:$}]}}else if(p.type.id==gu)return{parser:d.parser,overlay:[{from:p.from,to:p.to}]}}}}return null})}var Tn=["_blank","_self","_top","_parent"],GO=["ascii","utf-8","utf-16","latin1","latin1"],LO=["get","post","put","delete"],DO=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],Ye=["true","false"],X={},ny={a:{attrs:{href:null,ping:null,type:null,media:null,target:Tn,hreflang:null}},abbr:X,address:X,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:X,aside:X,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:X,base:{attrs:{href:null,target:Tn}},bdi:X,bdo:X,blockquote:{attrs:{cite:null}},body:X,br:X,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:DO,formmethod:LO,formnovalidate:["novalidate"],formtarget:Tn,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:X,center:X,cite:X,code:X,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:X,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:X,div:X,dl:X,dt:X,em:X,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:X,figure:X,footer:X,form:{attrs:{action:null,name:null,"accept-charset":GO,autocomplete:["on","off"],enctype:DO,method:LO,novalidate:["novalidate"],target:Tn}},h1:X,h2:X,h3:X,h4:X,h5:X,h6:X,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:X,hgroup:X,hr:X,html:{attrs:{manifest:null}},i:X,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:DO,formmethod:LO,formnovalidate:["novalidate"],formtarget:Tn,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:X,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:X,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:X,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:GO,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:X,noscript:X,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:X,param:{attrs:{name:null,value:null}},pre:X,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:X,rt:X,ruby:X,samp:X,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:GO}},section:X,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:X,source:{attrs:{src:null,type:null,media:null}},span:X,strong:X,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:X,summary:X,sup:X,table:X,tbody:X,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:X,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:X,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:X,time:{attrs:{datetime:null}},title:X,tr:X,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:X,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:X},ku={accesskey:null,class:null,contenteditable:Ye,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:Ye,autocorrect:Ye,autocapitalize:Ye,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":Ye,"aria-autocomplete":["inline","list","both","none"],"aria-busy":Ye,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":Ye,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":Ye,"aria-hidden":Ye,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":Ye,"aria-multiselectable":Ye,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":Ye,"aria-relevant":null,"aria-required":Ye,"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},wu="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(i=>"on"+i);for(let i of wu)ku[i]=null;var ai=class{constructor(e,t){this.tags=Object.assign(Object.assign({},ny),e),this.globalAttrs=Object.assign(Object.assign({},ku),t),this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}};ai.default=new ai;function Xi(i,e,t=i.length){if(!e)return"";let n=e.firstChild,r=n&&n.getChild("TagName");return r?i.sliceString(r.from,Math.min(r.to,t)):""}function Zi(i,e=!1){for(;i;i=i.parent)if(i.name=="Element")if(e)e=!1;else return i;return null}function Tu(i,e,t){let n=t.tags[Xi(i,Zi(e))];return n?.children||t.allTags}function IO(i,e){let t=[];for(let n=Zi(e);n&&!n.type.isTop;n=Zi(n.parent)){let r=Xi(i,n);if(r&&n.lastChild.name=="CloseTag")break;r&&t.indexOf(r)<0&&(e.name=="EndTag"||e.from>=n.firstChild.to)&&t.push(r)}return t}var vu=/^[:\-\.\w\u00b7-\uffff]*$/;function Pu(i,e,t,n,r){let s=/\s*>/.test(i.sliceDoc(r,r+5))?"":">",o=Zi(t,!0);return{from:n,to:r,options:Tu(i.doc,o,e).map(O=>({label:O,type:"type"})).concat(IO(i.doc,t).map((O,a)=>({label:"/"+O,apply:"/"+O+s,type:"type",boost:99-a}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function bu(i,e,t,n){let r=/\s*>/.test(i.sliceDoc(n,n+5))?"":">";return{from:t,to:n,options:IO(i.doc,e).map((s,o)=>({label:s,apply:s+r,type:"type",boost:99-o})),validFor:vu}}function ry(i,e,t,n){let r=[],s=0;for(let o of Tu(i.doc,t,e))r.push({label:"<"+o,type:"type"});for(let o of IO(i.doc,t))r.push({label:"</"+o+">",type:"type",boost:99-s++});return{from:n,to:n,options:r,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}function sy(i,e,t,n,r){let s=Zi(t),o=s?e.tags[Xi(i.doc,s)]:null,O=o&&o.attrs?Object.keys(o.attrs):[],a=o&&o.globalAttrs===!1?O:O.length?O.concat(e.globalAttrNames):e.globalAttrNames;return{from:n,to:r,options:a.map(l=>({label:l,type:"property"})),validFor:vu}}function oy(i,e,t,n,r){var s;let o=(s=t.parent)===null||s===void 0?void 0:s.getChild("AttributeName"),O=[],a;if(o){let l=i.sliceDoc(o.from,o.to),h=e.globalAttrs[l];if(!h){let c=Zi(t),f=c?e.tags[Xi(i.doc,c)]:null;h=f?.attrs&&f.attrs[l]}if(h){let c=i.sliceDoc(n,r).toLowerCase(),f='"',d='"';/^['"]/.test(c)?(a=c[0]=='"'?/^[^"]*$/:/^[^']*$/,f="",d=i.sliceDoc(r,r+1)==c[0]?"":c[0],c=c.slice(1),n++):a=/^[^\s<>='"]*$/;for(let p of h)O.push({label:p,apply:f+p+d,type:"constant"})}}return{from:n,to:r,options:O,validFor:a}}function zu(i,e){let{state:t,pos:n}=e,r=L(t).resolveInner(n,-1),s=r.resolve(n);for(let o=n,O;s==r&&(O=r.childBefore(o));){let a=O.lastChild;if(!a||!a.type.isError||a.from<a.to)break;s=r=O,o=a.from}return r.name=="TagName"?r.parent&&/CloseTag$/.test(r.parent.name)?bu(t,r,r.from,n):Pu(t,i,r,r.from,n):r.name=="StartTag"?Pu(t,i,r,n,n):r.name=="StartCloseTag"||r.name=="IncompleteCloseTag"?bu(t,r,n,n):r.name=="OpenTag"||r.name=="SelfClosingTag"||r.name=="AttributeName"?sy(t,i,r,r.name=="AttributeName"?r.from:n,n):r.name=="Is"||r.name=="AttributeValue"||r.name=="UnquotedAttributeValue"?oy(t,i,r,r.name=="Is"?n:r.from,n):e.explicit&&(s.name=="Element"||s.name=="Text"||s.name=="Document")?ry(t,i,r,n):null}function Ru(i){return zu(ai.default,i)}function Oy(i){let{extraTags:e,extraGlobalAttributes:t}=i,n=t||e?new ai(e,t):ai.default;return r=>zu(n,r)}var ay=tt.parser.configure({top:"SingleExpression"}),Wu=[{tag:"script",attrs:i=>i.type=="text/typescript"||i.lang=="ts",parser:qO.parser},{tag:"script",attrs:i=>i.type=="text/babel"||i.type=="text/jsx",parser:VO.parser},{tag:"script",attrs:i=>i.type=="text/typescript-jsx",parser:CO.parser},{tag:"script",attrs(i){return/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(i.type)},parser:ay},{tag:"script",attrs(i){return!i.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(i.type)},parser:tt.parser},{tag:"style",attrs(i){return(!i.lang||i.lang=="css")&&(!i.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(i.type))},parser:bn.parser}],Xu=[{name:"style",parser:bn.parser.configure({top:"Styles"})}].concat(wu.map(i=>({name:i,parser:tt.parser}))),Zu=ue.define({name:"html",parser:Su.configure({props:[de.add({Element(i){let e=/^(\s*)(<\/)?/.exec(i.textAfter);return i.node.to<=i.pos+e[0].length?i.continue():i.lineIndent(i.node.from)+(e[2]?0:i.unit)},"OpenTag CloseTag SelfClosingTag"(i){return i.column(i.node.from)+i.unit},Document(i){if(i.pos+/\s*/.exec(i.textAfter)[0].length<i.node.to)return i.continue();let e=null,t;for(let n=i.node;;){let r=n.lastChild;if(!r||r.name!="Element"||r.to!=n.to)break;e=n=r}return e&&!((t=e.lastChild)&&(t.name=="CloseTag"||t.name=="SelfClosingTag"))?i.lineIndent(e.from)+i.unit:null}}),ye.add({Element(i){let e=i.firstChild,t=i.lastChild;return!e||e.name!="OpenTag"?null:{from:e.to,to:t.name=="CloseTag"?t.from:i.to}}}),$n.add({"OpenTag CloseTag":i=>i.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:"<!--",close:"-->"}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-._"}}),Fr=Zu.configure({wrap:MO(Wu,Xu)});function qi(i={}){let e="",t;i.matchClosingTags===!1&&(e="noMatch"),i.selfClosingTags===!0&&(e=(e?e+" ":"")+"selfClosing"),(i.nestedLanguages&&i.nestedLanguages.length||i.nestedAttributes&&i.nestedAttributes.length)&&(t=MO((i.nestedLanguages||[]).concat(Wu),(i.nestedAttributes||[]).concat(Xu)));let n=t?Zu.configure({wrap:t,dialect:e}):e?Fr.configure({dialect:e}):Fr;return new Oe(n,[Fr.data.of({autocomplete:Oy(i)}),i.autoCloseTags!==!1?ly:[],Oi().support,Dr().support])}var xu=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),ly=v.inputHandler.of((i,e,t,n,r)=>{if(i.composing||i.state.readOnly||e!=t||n!=">"&&n!="/"||!Fr.isActiveAt(i.state,e,-1))return!1;let s=r(),{state:o}=s,O=o.changeByRange(a=>{var l,h,c;let f=o.doc.sliceString(a.from-1,a.to)==n,{head:d}=a,p=L(o).resolveInner(d,-1),m;if(f&&n==">"&&p.name=="EndTag"){let g=p.parent;if(((h=(l=g.parent)===null||l===void 0?void 0:l.lastChild)===null||h===void 0?void 0:h.name)!="CloseTag"&&(m=Xi(o.doc,g.parent,d))&&!xu.has(m)){let $=d+(o.doc.sliceString(d,d+1)===">"?1:0),Q=`</${m}>`;return{range:a,changes:{from:d,to:$,insert:Q}}}}else if(f&&n=="/"&&p.name=="IncompleteCloseTag"){let g=p.parent;if(p.from==d-2&&((c=g.lastChild)===null||c===void 0?void 0:c.name)!="CloseTag"&&(m=Xi(o.doc,g,d))&&!xu.has(m)){let $=d+(o.doc.sliceString(d,d+1)===">"?1:0),Q=`${m}>`;return{range:S.cursor(d+Q.length,-1),changes:{from:d,to:$,insert:Q}}}}return{range:a}});return O.changes.empty?!1:(i.dispatch([s,o.update(O,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var Jr=class i{static create(e,t,n,r,s){let o=r+(r<<8)+e+(t<<4)|0;return new i(e,t,n,o,s,[],[])}constructor(e,t,n,r,s,o,O){this.type=e,this.value=t,this.from=n,this.hash=r,this.end=s,this.children=o,this.positions=O,this.hashProp=[[Z.contextHash,r]]}addChild(e,t){e.prop(Z.contextHash)!=this.hash&&(e=new V(e.type,e.children,e.positions,e.length,this.hashProp)),this.children.push(e),this.positions.push(t)}toTree(e,t=this.end){let n=this.children.length-1;return n>=0&&(t=Math.max(t,this.positions[n]+this.children[n].length+this.from)),new V(e.types[this.type],this.children,this.positions,t-this.from).balance({makeTree:(r,s,o)=>new V(ie.none,r,s,o,this.hashProp)})}},P;(function(i){i[i.Document=1]="Document",i[i.CodeBlock=2]="CodeBlock",i[i.FencedCode=3]="FencedCode",i[i.Blockquote=4]="Blockquote",i[i.HorizontalRule=5]="HorizontalRule",i[i.BulletList=6]="BulletList",i[i.OrderedList=7]="OrderedList",i[i.ListItem=8]="ListItem",i[i.ATXHeading1=9]="ATXHeading1",i[i.ATXHeading2=10]="ATXHeading2",i[i.ATXHeading3=11]="ATXHeading3",i[i.ATXHeading4=12]="ATXHeading4",i[i.ATXHeading5=13]="ATXHeading5",i[i.ATXHeading6=14]="ATXHeading6",i[i.SetextHeading1=15]="SetextHeading1",i[i.SetextHeading2=16]="SetextHeading2",i[i.HTMLBlock=17]="HTMLBlock",i[i.LinkReference=18]="LinkReference",i[i.Paragraph=19]="Paragraph",i[i.CommentBlock=20]="CommentBlock",i[i.ProcessingInstructionBlock=21]="ProcessingInstructionBlock",i[i.Escape=22]="Escape",i[i.Entity=23]="Entity",i[i.HardBreak=24]="HardBreak",i[i.Emphasis=25]="Emphasis",i[i.StrongEmphasis=26]="StrongEmphasis",i[i.Link=27]="Link",i[i.Image=28]="Image",i[i.InlineCode=29]="InlineCode",i[i.HTMLTag=30]="HTMLTag",i[i.Comment=31]="Comment",i[i.ProcessingInstruction=32]="ProcessingInstruction",i[i.Autolink=33]="Autolink",i[i.HeaderMark=34]="HeaderMark",i[i.QuoteMark=35]="QuoteMark",i[i.ListMark=36]="ListMark",i[i.LinkMark=37]="LinkMark",i[i.EmphasisMark=38]="EmphasisMark",i[i.CodeMark=39]="CodeMark",i[i.CodeText=40]="CodeText",i[i.CodeInfo=41]="CodeInfo",i[i.LinkTitle=42]="LinkTitle",i[i.LinkLabel=43]="LinkLabel",i[i.URL=44]="URL"})(P||(P={}));var FO=class{constructor(e,t){this.start=e,this.content=t,this.marks=[],this.parsers=[]}},HO=class{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 e=this.skipSpace(this.basePos);this.indent=this.countIndent(e,this.pos,this.indent),this.pos=e,this.next=e==this.text.length?-1:this.text.charCodeAt(e)}skipSpace(e){return zn(this.text,e)}reset(e){for(this.text=e,this.baseIndent=this.basePos=this.pos=this.indent=0,this.forwardInner(),this.depth=1;this.markers.length;)this.markers.pop()}moveBase(e){this.basePos=e,this.baseIndent=this.countIndent(e,this.pos,this.indent)}moveBaseColumn(e){this.baseIndent=e,this.basePos=this.findColumn(e)}addMarker(e){this.markers.push(e)}countIndent(e,t=0,n=0){for(let r=t;r<e;r++)n+=this.text.charCodeAt(r)==9?4-n%4:1;return n}findColumn(e){let t=0;for(let n=0;t<this.text.length&&n<e;t++)n+=this.text.charCodeAt(t)==9?4-n%4:1;return t}scrub(){if(!this.baseIndent)return this.text;let e="";for(let t=0;t<this.basePos;t++)e+=" ";return e+this.text.slice(this.basePos)}};function qu(i,e,t){if(t.pos==t.text.length||i!=e.block&&t.indent>=e.stack[t.depth+1].value+t.baseIndent)return!0;if(t.indent>=t.baseIndent+4)return!1;let n=(i.type==P.OrderedList?ca:ha)(t,e,!1);return n>0&&(i.type!=P.BulletList||la(t,e,!1)<0)&&t.text.charCodeAt(t.pos+n-1)==i.value}var Lu={[P.Blockquote](i,e,t){return t.next!=62?!1:(t.markers.push(_(P.QuoteMark,e.lineStart+t.pos,e.lineStart+t.pos+1)),t.moveBase(t.pos+(Be(t.text.charCodeAt(t.pos+1))?2:1)),i.end=e.lineStart+t.text.length,!0)},[P.ListItem](i,e,t){return t.indent<t.baseIndent+i.value&&t.next>-1?!1:(t.moveBaseColumn(t.baseIndent+i.value),!0)},[P.OrderedList]:qu,[P.BulletList]:qu,[P.Document](){return!0}};function Be(i){return i==32||i==9||i==10||i==13}function zn(i,e=0){for(;e<i.length&&Be(i.charCodeAt(e));)e++;return e}function Vu(i,e,t){for(;e>t&&Be(i.charCodeAt(e-1));)e--;return e}function Du(i){if(i.next!=96&&i.next!=126)return-1;let e=i.pos+1;for(;e<i.text.length&&i.text.charCodeAt(e)==i.next;)e++;if(e<i.pos+3)return-1;if(i.next==96){for(let t=e;t<i.text.length;t++)if(i.text.charCodeAt(t)==96)return-1}return e}function Iu(i){return i.next!=62?-1:i.text.charCodeAt(i.pos+1)==32?2:1}function la(i,e,t){if(i.next!=42&&i.next!=45&&i.next!=95)return-1;let n=1;for(let r=i.pos+1;r<i.text.length;r++){let s=i.text.charCodeAt(r);if(s==i.next)n++;else if(!Be(s))return-1}return t&&i.next==45&&Fu(i)>-1&&i.depth==e.stack.length&&e.parser.leafBlockParsers.indexOf(ed.SetextHeading)>-1||n<3?-1:1}function Bu(i,e){for(let t=i.stack.length-1;t>=0;t--)if(i.stack[t].type==e)return!0;return!1}function ha(i,e,t){return(i.next==45||i.next==43||i.next==42)&&(i.pos==i.text.length-1||Be(i.text.charCodeAt(i.pos+1)))&&(!t||Bu(e,P.BulletList)||i.skipSpace(i.pos+2)<i.text.length)?1:-1}function ca(i,e,t){let n=i.pos,r=i.next;for(;r>=48&&r<=57;){n++;if(n==i.text.length)return-1;r=i.text.charCodeAt(n)}return n==i.pos||n>i.pos+9||r!=46&&r!=41||n<i.text.length-1&&!Be(i.text.charCodeAt(n+1))||t&&!Bu(e,P.OrderedList)&&(i.skipSpace(n+1)==i.text.length||n>i.pos+1||i.next!=49)?-1:n+1-i.pos}function Nu(i){if(i.next!=35)return-1;let e=i.pos+1;for(;e<i.text.length&&i.text.charCodeAt(e)==35;)e++;if(e<i.text.length&&i.text.charCodeAt(e)!=32)return-1;let t=e-i.pos;return t>6?-1:t}function Fu(i){if(i.next!=45&&i.next!=61||i.indent>=i.baseIndent+4)return-1;let e=i.pos+1;for(;e<i.text.length&&i.text.charCodeAt(e)==i.next;)e++;let t=e;for(;e<i.text.length&&Be(i.text.charCodeAt(e));)e++;return e==i.text.length?t:-1}var KO=/^[ \t]*$/,Hu=/-->/,Ku=/\?>/,JO=[[/^<(?:script|pre|style)(?:\s|>|$)/i,/<\/(?:script|pre|style)>/i],[/^\s*<!--/,Hu],[/^\s*<\?/,Ku],[/^\s*<![A-Z]/,/>/],[/^\s*<!\[CDATA\[/,/\]\]>/],[/^\s*<\/?(?:address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h1|h2|h3|h4|h5|h6|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul)(?:\s|\/?>|$)/i,KO],[/^\s*(?:<\/[a-z][\w-]*\s*>|<[a-z][\w-]*(\s+[a-z:_][\w-.]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*>)\s*$/i,KO]];function Ju(i,e,t){if(i.next!=60)return-1;let n=i.text.slice(i.pos);for(let r=0,s=JO.length-(t?1:0);r<s;r++)if(JO[r][0].test(n))return r;return-1}function Cu(i,e){let t=i.countIndent(e,i.pos,i.indent),n=i.countIndent(i.skipSpace(e),e,t);return n>=t+5?t+1:n}function li(i,e,t){let n=i.length-1;n>=0&&i[n].to==e&&i[n].type==P.CodeText?i[n].to=t:i.push(_(P.CodeText,e,t))}var Hr={LinkReference:void 0,IndentedCode(i,e){let t=e.baseIndent+4;if(e.indent<t)return!1;let n=e.findColumn(t),r=i.lineStart+n,s=i.lineStart+e.text.length,o=[],O=[];for(li(o,r,s);i.nextLine()&&e.depth>=i.stack.length;)if(e.pos==e.text.length){li(O,i.lineStart-1,i.lineStart);for(let a of e.markers)O.push(a)}else{if(e.indent<t)break;{if(O.length){for(let l of O)l.type==P.CodeText?li(o,l.from,l.to):o.push(l);O=[]}li(o,i.lineStart-1,i.lineStart);for(let l of e.markers)o.push(l);s=i.lineStart+e.text.length;let a=i.lineStart+e.findColumn(e.baseIndent+4);a<s&&li(o,a,s)}}return O.length&&(O=O.filter(a=>a.type!=P.CodeText),O.length&&(e.markers=O.concat(e.markers))),i.addNode(i.buffer.writeElements(o,-r).finish(P.CodeBlock,s-r),r),!0},FencedCode(i,e){let t=Du(e);if(t<0)return!1;let n=i.lineStart+e.pos,r=e.next,s=t-e.pos,o=e.skipSpace(t),O=Vu(e.text,e.text.length,o),a=[_(P.CodeMark,n,n+s)];o<O&&a.push(_(P.CodeInfo,i.lineStart+o,i.lineStart+O));for(let l=!0;i.nextLine()&&e.depth>=i.stack.length;l=!1){let h=e.pos;if(e.indent-e.baseIndent<4)for(;h<e.text.length&&e.text.charCodeAt(h)==r;)h++;if(h-e.pos>=s&&e.skipSpace(h)==e.text.length){for(let c of e.markers)a.push(c);a.push(_(P.CodeMark,i.lineStart+e.pos,i.lineStart+h)),i.nextLine();break}else{l||li(a,i.lineStart-1,i.lineStart);for(let d of e.markers)a.push(d);let c=i.lineStart+e.basePos,f=i.lineStart+e.text.length;c<f&&li(a,c,f)}}return i.addNode(i.buffer.writeElements(a,-n).finish(P.FencedCode,i.prevLineEnd()-n),n),!0},Blockquote(i,e){let t=Iu(e);return t<0?!1:(i.startContext(P.Blockquote,e.pos),i.addNode(P.QuoteMark,i.lineStart+e.pos,i.lineStart+e.pos+1),e.moveBase(e.pos+t),null)},HorizontalRule(i,e){if(la(e,i,!1)<0)return!1;let t=i.lineStart+e.pos;return i.nextLine(),i.addNode(P.HorizontalRule,t),!0},BulletList(i,e){let t=ha(e,i,!1);if(t<0)return!1;i.block.type!=P.BulletList&&i.startContext(P.BulletList,e.basePos,e.next);let n=Cu(e,e.pos+1);return i.startContext(P.ListItem,e.basePos,n-e.baseIndent),i.addNode(P.ListMark,i.lineStart+e.pos,i.lineStart+e.pos+t),e.moveBaseColumn(n),null},OrderedList(i,e){let t=ca(e,i,!1);if(t<0)return!1;i.block.type!=P.OrderedList&&i.startContext(P.OrderedList,e.basePos,e.text.charCodeAt(e.pos+t-1));let n=Cu(e,e.pos+t);return i.startContext(P.ListItem,e.basePos,n-e.baseIndent),i.addNode(P.ListMark,i.lineStart+e.pos,i.lineStart+e.pos+t),e.moveBaseColumn(n),null},ATXHeading(i,e){let t=Nu(e);if(t<0)return!1;let n=e.pos,r=i.lineStart+n,s=Vu(e.text,e.text.length,n),o=s;for(;o>n&&e.text.charCodeAt(o-1)==e.next;)o--;(o==s||o==n||!Be(e.text.charCodeAt(o-1)))&&(o=e.text.length);let O=i.buffer.write(P.HeaderMark,0,t).writeElements(i.parser.parseInline(e.text.slice(n+t+1,o),r+t+1),-r);o<e.text.length&&O.write(P.HeaderMark,o-n,s-n);let a=O.finish(P.ATXHeading1-1+t,e.text.length-n);return i.nextLine(),i.addNode(a,r),!0},HTMLBlock(i,e){let t=Ju(e,i,!1);if(t<0)return!1;let n=i.lineStart+e.pos,r=JO[t][1],s=[],o=r!=KO;for(;!r.test(e.text)&&i.nextLine();){if(e.depth<i.stack.length){o=!1;break}for(let l of e.markers)s.push(l)}o&&i.nextLine();let O=r==Hu?P.CommentBlock:r==Ku?P.ProcessingInstructionBlock:P.HTMLBlock,a=i.prevLineEnd();return i.addNode(i.buffer.writeElements(s,-n).finish(O,a-n),n),!0},SetextHeading:void 0},ea=class{constructor(e){this.stage=0,this.elts=[],this.pos=0,this.start=e.start,this.advance(e.content)}nextLine(e,t,n){if(this.stage==-1)return!1;let r=n.content+` -`+t.scrub(),s=this.advance(r);return s>-1&&s<r.length?this.complete(e,n,s):!1}finish(e,t){return(this.stage==2||this.stage==3)&&zn(t.content,this.pos)==t.content.length?this.complete(e,t,t.content.length):!1}complete(e,t,n){return e.addLeafElement(t,_(P.LinkReference,this.start,this.start+n,this.elts)),!0}nextStage(e){return e?(this.pos=e.to-this.start,this.elts.push(e),this.stage++,!0):(e===!1&&(this.stage=-1),!1)}advance(e){for(;;){if(this.stage==-1)return-1;if(this.stage==0){if(!this.nextStage(Od(e,this.pos,this.start,!0)))return-1;if(e.charCodeAt(this.pos)!=58)return this.stage=-1;this.elts.push(_(P.LinkMark,this.pos+this.start,this.pos+this.start+1)),this.pos++}else if(this.stage==1){if(!this.nextStage(sd(e,zn(e,this.pos),this.start)))return-1}else if(this.stage==2){let t=zn(e,this.pos),n=0;if(t>this.pos){let r=od(e,t,this.start);if(r){let s=BO(e,r.to-this.start);s>0&&(this.nextStage(r),n=s)}}return n||(n=BO(e,this.pos)),n>0&&n<e.length?n:-1}else return BO(e,this.pos)}}};function BO(i,e){for(;e<i.length;e++){let t=i.charCodeAt(e);if(t==10)break;if(!Be(t))return-1}return e}var ta=class{nextLine(e,t,n){let r=t.depth<e.stack.length?-1:Fu(t),s=t.next;if(r<0)return!1;let o=_(P.HeaderMark,e.lineStart+t.pos,e.lineStart+r);return e.nextLine(),e.addLeafElement(n,_(s==61?P.SetextHeading1:P.SetextHeading2,n.start,e.prevLineEnd(),[...e.parser.parseInline(n.content,n.start),o])),!0}finish(){return!1}},ed={LinkReference(i,e){return e.content.charCodeAt(0)==91?new ea(e):null},SetextHeading(){return new ta}},hy=[(i,e)=>Nu(e)>=0,(i,e)=>Du(e)>=0,(i,e)=>Iu(e)>=0,(i,e)=>ha(e,i,!0)>=0,(i,e)=>ca(e,i,!0)>=0,(i,e)=>la(e,i,!0)>=0,(i,e)=>Ju(e,i,!0)>=0],cy={text:"",end:0},ia=class{constructor(e,t,n,r){this.parser=e,this.input=t,this.ranges=r,this.line=new HO,this.atEnd=!1,this.reusePlaceholders=new Map,this.stoppedAt=null,this.rangeI=0,this.to=r[r.length-1].to,this.lineStart=this.absoluteLineStart=this.absoluteLineEnd=r[0].from,this.block=Jr.create(P.Document,0,this.lineStart,0,0),this.stack=[this.block],this.fragments=n.length?new Oa(n,t):null,this.readLine()}get parsedPos(){return this.absoluteLineStart}advance(){if(this.stoppedAt!=null&&this.absoluteLineStart>this.stoppedAt)return this.finish();let{line:e}=this;for(;;){for(let n=0;;){let r=e.depth<this.stack.length?this.stack[this.stack.length-1]:null;for(;n<e.markers.length&&(!r||e.markers[n].from<r.end);){let s=e.markers[n++];this.addNode(s.type,s.from,s.to)}if(!r)break;this.finishContext()}if(e.pos<e.text.length)break;if(!this.nextLine())return this.finish()}if(this.fragments&&this.reuseFragment(e.basePos))return null;e:for(;;){for(let n of this.parser.blockParsers)if(n){let r=n(this,e);if(r!=!1){if(r==!0)return null;e.forward();continue e}}break}let t=new FO(this.lineStart+e.pos,e.text.slice(e.pos));for(let n of this.parser.leafBlockParsers)if(n){let r=n(this,t);r&&t.parsers.push(r)}e:for(;this.nextLine()&&e.pos!=e.text.length;){if(e.indent<e.baseIndent+4){for(let n of this.parser.endLeafBlock)if(n(this,e,t))break e}for(let n of t.parsers)if(n.nextLine(this,e,t))return null;t.content+=` -`+e.scrub();for(let n of e.markers)t.marks.push(n)}return this.finishLeaf(t),null}stopAt(e){if(this.stoppedAt!=null&&this.stoppedAt<e)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=e}reuseFragment(e){if(!this.fragments.moveTo(this.absoluteLineStart+e,this.absoluteLineStart)||!this.fragments.matches(this.block.hash))return!1;let t=this.fragments.takeNodes(this);return t?(this.absoluteLineStart+=t,this.lineStart=ad(this.absoluteLineStart,this.ranges),this.moveRangeI(),this.absoluteLineStart<this.to?(this.lineStart++,this.absoluteLineStart++,this.readLine()):(this.atEnd=!0,this.readLine()),!0):!1}get depth(){return this.stack.length}parentType(e=this.depth-1){return this.parser.nodeSet.types[this.stack[e].type]}nextLine(){return this.lineStart+=this.line.text.length,this.absoluteLineEnd>=this.to?(this.absoluteLineStart=this.absoluteLineEnd,this.atEnd=!0,this.readLine(),!1):(this.lineStart++,this.absoluteLineStart=this.absoluteLineEnd+1,this.moveRangeI(),this.readLine(),!0)}moveRangeI(){for(;this.rangeI<this.ranges.length-1&&this.absoluteLineStart>=this.ranges[this.rangeI].to;)this.rangeI++,this.absoluteLineStart=Math.max(this.absoluteLineStart,this.ranges[this.rangeI].from)}scanLine(e){let t=cy;if(t.end=e,e>=this.to)t.text="";else if(t.text=this.lineChunkAt(e),t.end+=t.text.length,this.ranges.length>1){let n=this.absoluteLineStart,r=this.rangeI;for(;this.ranges[r].to<t.end;){r++;let s=this.ranges[r].from,o=this.lineChunkAt(s);t.end=s+o.length,t.text=t.text.slice(0,this.ranges[r-1].to-n)+o,n=t.end-t.text.length}}return t}readLine(){let{line:e}=this,{text:t,end:n}=this.scanLine(this.absoluteLineStart);for(this.absoluteLineEnd=n,e.reset(t);e.depth<this.stack.length;e.depth++){let r=this.stack[e.depth],s=this.parser.skipContextMarkup[r.type];if(!s)throw new Error("Unhandled block context "+P[r.type]);if(!s(r,this,e))break;e.forward()}}lineChunkAt(e){let t=this.input.chunk(e),n;if(this.input.lineChunks)n=t==` +}`,{label:"class",detail:"definition",type:"keyword"}),be('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),be('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],$S=Ff.concat([be("interface ${name} {\n ${}\n}",{label:"interface",detail:"definition",type:"keyword"}),be("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),be("enum ${name} {\n ${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),If=new ki,Kf=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function wn(i){return(e,t)=>{let n=e.node.getChild("VariableDefinition");return n&&t(n,i),!0}}var QS=["FunctionDeclaration"],SS={FunctionDeclaration:wn("function"),ClassDeclaration:wn("class"),ClassExpression:()=>!0,EnumDeclaration:wn("constant"),TypeAliasDeclaration:wn("type"),NamespaceDeclaration:wn("namespace"),VariableDefinition(i,e){i.matchContext(QS)||e(i,"variable")},TypeDefinition(i,e){e(i,"type")},__proto__:null};function Jf(i,e){let t=If.get(e);if(t)return t;let n=[],r=!0;function s(o,O){let l=i.sliceString(o.from,o.to);n.push({label:l,type:O})}return e.cursor(E.IncludeAnonymous).iterate(o=>{if(r)r=!1;else if(o.name){let O=SS[o.name];if(O&&O(o,s)||Kf.has(o.name))return!1}else if(o.to-o.from>8192){for(let O of Jf(i,o.node))n.push(O);return!1}}),If.set(e,n),n}var Nf=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,eu=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName","JSXText","JSXAttributeValue","JSXOpenTag","JSXCloseTag","JSXSelfClosingTag",".","?."];function yS(i){let e=L(i.state).resolveInner(i.pos,-1);if(eu.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&Nf.test(i.state.sliceDoc(e.from,e.to));if(!t&&!i.explicit)return null;let n=[];for(let r=e;r;r=r.parent)Kf.has(r.name)&&(n=n.concat(Jf(i.state.doc,r)));return{options:n,from:t?e.from:i.pos,validFor:Nf}}var et=ue.define({name:"javascript",parser:jf.configure({props:[de.add({IfStatement:qe({except:/^\s*({|else\b)/}),TryStatement:qe({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:cc,SwitchBody:i=>{let e=i.textAfter,t=/^\s*\}/.test(e),n=/^\s*(case|default)\b/.test(e);return i.baseIndent+(t?0:n?1:2)*i.unit},Block:Ar({closing:"}"}),ArrowFunction:i=>i.baseIndent+i.unit,"TemplateString BlockComment":()=>null,"Statement Property":qe({except:/^{/}),JSXElement(i){let e=/^\s*<\//.test(i.textAfter);return i.lineIndent(i.node.from)+(e?0:i.unit)},JSXEscape(i){let e=/\s*\}/.test(i.textAfter);return i.lineIndent(i.node.from)+(e?0:i.unit)},"JSXOpenTag JSXSelfClosingTag"(i){return i.column(i.node.from)+i.unit}}),Pe.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":_t,BlockComment(i){return{from:i.from+2,to:i.to-2}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),tu={test:i=>/^JSX/.test(i.name),facet:zi({commentTokens:{block:{open:"{/*",close:"*/}"}}})},CO=et.configure({dialect:"ts"},"typescript"),UO=et.configure({dialect:"jsx",props:[Ur.add(i=>i.isTop?[tu]:void 0)]}),AO=et.configure({dialect:"jsx ts",props:[Ur.add(i=>i.isTop?[tu]:void 0)]},"typescript"),iu=i=>({label:i,type:"keyword"}),nu="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(iu),PS=nu.concat(["declare","implements","private","protected","public"].map(iu));function li(i={}){let e=i.jsx?i.typescript?AO:UO:i.typescript?CO:et,t=i.typescript?$S.concat(PS):Ff.concat(nu);return new oe(e,[et.data.of({autocomplete:Gf(eu,Lf(t))}),et.data.of({autocomplete:yS}),i.jsx?kS:[]])}function bS(i){for(;;){if(i.name=="JSXOpenTag"||i.name=="JSXSelfClosingTag"||i.name=="JSXFragmentTag")return i;if(i.name=="JSXEscape"||!i.parent)return null;i=i.parent}}function Hf(i,e,t=i.length){for(let n=e?.firstChild;n;n=n.nextSibling)if(n.name=="JSXIdentifier"||n.name=="JSXBuiltin"||n.name=="JSXNamespacedName"||n.name=="JSXMemberExpression")return i.sliceString(n.from,Math.min(n.to,t));return""}var xS=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),kS=v.inputHandler.of((i,e,t,n,r)=>{if((xS?i.composing:i.compositionStarted)||i.state.readOnly||e!=t||n!=">"&&n!="/"||!et.isActiveAt(i.state,e,-1))return!1;let s=r(),{state:o}=s,O=o.changeByRange(l=>{var a;let{head:h}=l,c=L(o).resolveInner(h-1,-1),f;if(c.name=="JSXStartTag"&&(c=c.parent),!(o.doc.sliceString(h-1,h)!=n||c.name=="JSXAttributeValue"&&c.to>h)){if(n==">"&&c.name=="JSXFragmentTag")return{range:l,changes:{from:h,insert:"</>"}};if(n=="/"&&c.name=="JSXStartCloseTag"){let d=c.parent,p=d.parent;if(p&&d.from==h-2&&((f=Hf(o.doc,p.firstChild,h))||((a=p.firstChild)===null||a===void 0?void 0:a.name)=="JSXFragmentTag")){let m=`${f}>`;return{range:S.cursor(h+m.length,-1),changes:{from:h,insert:m}}}}else if(n==">"){let d=bS(c);if(d&&d.name=="JSXOpenTag"&&!/^\/?>|^<\//.test(o.doc.sliceString(h,h+2))&&(f=Hf(o.doc,d,h)))return{range:l,changes:{from:h,insert:`</${f}>`}}}}return{range:l}});return O.changes.empty?!1:(i.dispatch([s,o.update(O,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var wS=54,vS=1,TS=55,zS=2,XS=56,RS=3,ru=4,ZS=5,Fr=6,fu=7,uu=8,du=9,pu=10,WS=11,qS=12,VS=13,YO=57,CS=14,su=58,mu=20,US=22,gu=23,AS=24,jO=26,$u=27,YS=28,_S=31,jS=34,MS=36,ES=37,LS=0,GS=1,BS={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},DS={dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},ou={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 IS(i){return i==45||i==46||i==58||i>=65&&i<=90||i==95||i>=97&&i<=122||i>=161}function Qu(i){return i==9||i==10||i==13||i==32}var Ou=null,lu=null,au=0;function MO(i,e){let t=i.pos+e;if(au==t&&lu==i)return Ou;let n=i.peek(e);for(;Qu(n);)n=i.peek(++e);let r="";for(;IS(n);)r+=String.fromCharCode(n),n=i.peek(++e);return lu=i,au=t,Ou=r?r.toLowerCase():n==NS||n==HS?void 0:null}var Su=60,Kr=62,EO=47,NS=63,HS=33,FS=45;function hu(i,e){this.name=i,this.parent=e}var KS=[Fr,pu,fu,uu,du],JS=new Lt({start:null,shift(i,e,t,n){return KS.indexOf(e)>-1?new hu(MO(n,1)||"",i):i},reduce(i,e){return e==mu&&i?i.parent:i},reuse(i,e,t,n){let r=e.type.id;return r==Fr||r==MS?new hu(MO(n,1)||"",i):i},strict:!1}),ey=new te((i,e)=>{if(i.next!=Su){i.next<0&&e.context&&i.acceptToken(YO);return}i.advance();let t=i.next==EO;t&&i.advance();let n=MO(i,0);if(n===void 0)return;if(!n)return i.acceptToken(t?CS:Fr);let r=e.context?e.context.name:null;if(t){if(n==r)return i.acceptToken(WS);if(r&&DS[r])return i.acceptToken(YO,-2);if(e.dialectEnabled(LS))return i.acceptToken(qS);for(let s=e.context;s;s=s.parent)if(s.name==n)return;i.acceptToken(VS)}else{if(n=="script")return i.acceptToken(fu);if(n=="style")return i.acceptToken(uu);if(n=="textarea")return i.acceptToken(du);if(BS.hasOwnProperty(n))return i.acceptToken(pu);r&&ou[r]&&ou[r][n]?i.acceptToken(YO,-1):i.acceptToken(Fr)}},{contextual:!0}),ty=new te(i=>{for(let e=0,t=0;;t++){if(i.next<0){t&&i.acceptToken(su);break}if(i.next==FS)e++;else if(i.next==Kr&&e>=2){t>=3&&i.acceptToken(su,-2);break}else e=0;i.advance()}});function iy(i){for(;i;i=i.parent)if(i.name=="svg"||i.name=="math")return!0;return!1}var ny=new te((i,e)=>{if(i.next==EO&&i.peek(1)==Kr){let t=e.dialectEnabled(GS)||iy(e.context);i.acceptToken(t?ZS:ru,2)}else i.next==Kr&&i.acceptToken(ru,1)});function LO(i,e,t){let n=2+i.length;return new te(r=>{for(let s=0,o=0,O=0;;O++){if(r.next<0){O&&r.acceptToken(e);break}if(s==0&&r.next==Su||s==1&&r.next==EO||s>=2&&s<n&&r.next==i.charCodeAt(s-2))s++,o++;else if((s==2||s==n)&&Qu(r.next))o++;else if(s==n&&r.next==Kr){O>o?r.acceptToken(e,-o):r.acceptToken(t,-(o-2));break}else if((r.next==10||r.next==13)&&O){r.acceptToken(e,1);break}else s=o=0;r.advance()}})}var ry=LO("script",wS,vS),sy=LO("style",TS,zS),oy=LO("textarea",XS,RS),Oy=se({"Text RawText":u.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":u.angleBracket,TagName:u.tagName,"MismatchedCloseTag/TagName":[u.tagName,u.invalid],AttributeName:u.attributeName,"AttributeValue UnquotedAttributeValue":u.attributeValue,Is:u.definitionOperator,"EntityReference CharacterReference":u.character,Comment:u.blockComment,ProcessingInst:u.processingInstruction,DoctypeDecl:u.documentMeta}),yu=me.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:"\u26A0 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:JS,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:[Oy],skippedNodes:[0],repeatNodeCount:9,tokenData:"!<p!aR!YOX$qXY,QYZ,QZ[$q[]&X]^,Q^p$qpq,Qqr-_rs3_sv-_vw3}wxHYx}-_}!OH{!O!P-_!P!Q$q!Q![-_![!]Mz!]!^-_!^!_!$S!_!`!;x!`!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4U-_4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$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!Z$|c`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr$qrs&}sv$qvw+Pwx(tx!^$q!^!_*V!_!a&X!a#S$q#S#T&X#T;'S$q;'S;=`+z<%lO$q!R&bX`P!a`!cpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&Xq'UV`P!cpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}P'pT`POv'kw!^'k!_;'S'k;'S;=`(P<%lO'kP(SP;=`<%l'kp([S!cpOv(Vx;'S(V;'S;=`(h<%lO(Vp(kP;=`<%l(Vq(qP;=`<%l&}a({W`P!a`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t`)jT!a`Or)esv)ew;'S)e;'S;=`)y<%lO)e`)|P;=`<%l)ea*SP;=`<%l(t!Q*^V!a`!cpOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!Q*vP;=`<%l*V!R*|P;=`<%l&XW+UYkWOX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+PW+wP;=`<%l+P!Z+}P;=`<%l$q!a,]``P!a`!cp!^^OX&XXY,QYZ,QZ]&X]^,Q^p&Xpq,Qqr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!_-ljhS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!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[/ebhSkWOX+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+PS0rXhSqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0mS1bP;=`<%l0m[1hP;=`<%l/^!V1vchS`P!a`!cpOq&Xqr1krs&}sv1kvw0mwx(tx!P1k!P!Q&X!Q!^1k!^!_*V!_!a&X!a#s1k#s$f&X$f;'S1k;'S;=`3R<%l?Ah1k?Ah?BY&X?BY?Mn1k?MnO&X!V3UP;=`<%l1k!_3[P;=`<%l-_!Z3hV!`h`P!cpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}!_4WihSkWc!ROX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst>]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!V<QchSOp7Sqr;{rs7Sst0mtw;{wx7Sx!P;{!P!Q7S!Q!];{!]!^=]!^!a7S!a#s;{#s$f7S$f;'S;{;'S;=`>P<%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!<TXiS`P!a`!cpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X",tokenizers:[ry,sy,oy,ny,ey,ty,0,1,2,3,4,5],topRules:{Document:[0,15]},dialects:{noMatch:0,selfClosing:509},tokenPrec:511});function Pu(i,e){let t=Object.create(null);for(let n of i.getChildren(gu)){let r=n.getChild(AS),s=n.getChild(jO)||n.getChild($u);r&&(t[e.read(r.from,r.to)]=s?s.type.id==jO?e.read(s.from+1,s.to-1):e.read(s.from,s.to):"")}return t}function cu(i,e){let t=i.getChild(US);return t?e.read(t.from,t.to):" "}function _O(i,e,t){let n;for(let r of t)if(!r.attrs||r.attrs(n||(n=Pu(i.node.parent.firstChild,e))))return{parser:r.parser};return null}function GO(i=[],e=[]){let t=[],n=[],r=[],s=[];for(let O of i)(O.tag=="script"?t:O.tag=="style"?n:O.tag=="textarea"?r:s).push(O);let o=e.length?Object.create(null):null;for(let O of e)(o[O.name]||(o[O.name]=[])).push(O);return wi((O,l)=>{let a=O.type.id;if(a==YS)return _O(O,l,t);if(a==_S)return _O(O,l,n);if(a==jS)return _O(O,l,r);if(a==mu&&s.length){let h=O.node,c=h.firstChild,f=c&&cu(c,l),d;if(f){for(let p of s)if(p.tag==f&&(!p.attrs||p.attrs(d||(d=Pu(c,l))))){let m=h.lastChild,g=m.type.id==ES?m.from:h.to;if(g>c.to)return{parser:p.parser,overlay:[{from:c.to,to:g}]}}}}if(o&&a==gu){let h=O.node,c;if(c=h.firstChild){let f=o[l.read(c.from,c.to)];if(f)for(let d of f){if(d.tagName&&d.tagName!=cu(h.parent,l))continue;let p=h.lastChild;if(p.type.id==jO){let m=p.from+1,g=p.lastChild,$=p.to-(g&&g.isError?0:1);if($>m)return{parser:d.parser,overlay:[{from:m,to:$}]}}else if(p.type.id==$u)return{parser:d.parser,overlay:[{from:p.from,to:p.to}]}}}}return null})}var vn=["_blank","_self","_top","_parent"],BO=["ascii","utf-8","utf-16","latin1","latin1"],DO=["get","post","put","delete"],IO=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],Ce=["true","false"],Z={},ly={a:{attrs:{href:null,ping:null,type:null,media:null,target:vn,hreflang:null}},abbr:Z,address:Z,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:Z,aside:Z,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:Z,base:{attrs:{href:null,target:vn}},bdi:Z,bdo:Z,blockquote:{attrs:{cite:null}},body:Z,br:Z,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:IO,formmethod:DO,formnovalidate:["novalidate"],formtarget:vn,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:Z,center:Z,cite:Z,code:Z,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:Z,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:Z,div:Z,dl:Z,dt:Z,em:Z,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:Z,figure:Z,footer:Z,form:{attrs:{action:null,name:null,"accept-charset":BO,autocomplete:["on","off"],enctype:IO,method:DO,novalidate:["novalidate"],target:vn}},h1:Z,h2:Z,h3:Z,h4:Z,h5:Z,h6:Z,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:Z,hgroup:Z,hr:Z,html:{attrs:{manifest:null}},i:Z,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:IO,formmethod:DO,formnovalidate:["novalidate"],formtarget:vn,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:Z,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:Z,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:Z,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:BO,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:Z,noscript:Z,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:Z,param:{attrs:{name:null,value:null}},pre:Z,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:Z,rt:Z,ruby:Z,samp:Z,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:BO}},section:Z,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:Z,source:{attrs:{src:null,type:null,media:null}},span:Z,strong:Z,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:Z,summary:Z,sup:Z,table:Z,tbody:Z,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:Z,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:Z,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:Z,time:{attrs:{datetime:null}},title:Z,tr:Z,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:Z,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:Z},wu={accesskey:null,class:null,contenteditable:Ce,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:Ce,autocorrect:Ce,autocapitalize:Ce,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":Ce,"aria-autocomplete":["inline","list","both","none"],"aria-busy":Ce,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":Ce,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":Ce,"aria-hidden":Ce,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":Ce,"aria-multiselectable":Ce,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":Ce,"aria-relevant":null,"aria-required":Ce,"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},vu="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(i=>"on"+i);for(let i of vu)wu[i]=null;var ai=class{constructor(e,t){this.tags=Object.assign(Object.assign({},ly),e),this.globalAttrs=Object.assign(Object.assign({},wu),t),this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}};ai.default=new ai;function Wi(i,e,t=i.length){if(!e)return"";let n=e.firstChild,r=n&&n.getChild("TagName");return r?i.sliceString(r.from,Math.min(r.to,t)):""}function qi(i,e=!1){for(;i;i=i.parent)if(i.name=="Element")if(e)e=!1;else return i;return null}function Tu(i,e,t){let n=t.tags[Wi(i,qi(e))];return n?.children||t.allTags}function NO(i,e){let t=[];for(let n=qi(e);n&&!n.type.isTop;n=qi(n.parent)){let r=Wi(i,n);if(r&&n.lastChild.name=="CloseTag")break;r&&t.indexOf(r)<0&&(e.name=="EndTag"||e.from>=n.firstChild.to)&&t.push(r)}return t}var zu=/^[:\-\.\w\u00b7-\uffff]*$/;function bu(i,e,t,n,r){let s=/\s*>/.test(i.sliceDoc(r,r+5))?"":">",o=qi(t,!0);return{from:n,to:r,options:Tu(i.doc,o,e).map(O=>({label:O,type:"type"})).concat(NO(i.doc,t).map((O,l)=>({label:"/"+O,apply:"/"+O+s,type:"type",boost:99-l}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function xu(i,e,t,n){let r=/\s*>/.test(i.sliceDoc(n,n+5))?"":">";return{from:t,to:n,options:NO(i.doc,e).map((s,o)=>({label:s,apply:s+r,type:"type",boost:99-o})),validFor:zu}}function ay(i,e,t,n){let r=[],s=0;for(let o of Tu(i.doc,t,e))r.push({label:"<"+o,type:"type"});for(let o of NO(i.doc,t))r.push({label:"</"+o+">",type:"type",boost:99-s++});return{from:n,to:n,options:r,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}function hy(i,e,t,n,r){let s=qi(t),o=s?e.tags[Wi(i.doc,s)]:null,O=o&&o.attrs?Object.keys(o.attrs):[],l=o&&o.globalAttrs===!1?O:O.length?O.concat(e.globalAttrNames):e.globalAttrNames;return{from:n,to:r,options:l.map(a=>({label:a,type:"property"})),validFor:zu}}function cy(i,e,t,n,r){var s;let o=(s=t.parent)===null||s===void 0?void 0:s.getChild("AttributeName"),O=[],l;if(o){let a=i.sliceDoc(o.from,o.to),h=e.globalAttrs[a];if(!h){let c=qi(t),f=c?e.tags[Wi(i.doc,c)]:null;h=f?.attrs&&f.attrs[a]}if(h){let c=i.sliceDoc(n,r).toLowerCase(),f='"',d='"';/^['"]/.test(c)?(l=c[0]=='"'?/^[^"]*$/:/^[^']*$/,f="",d=i.sliceDoc(r,r+1)==c[0]?"":c[0],c=c.slice(1),n++):l=/^[^\s<>='"]*$/;for(let p of h)O.push({label:p,apply:f+p+d,type:"constant"})}}return{from:n,to:r,options:O,validFor:l}}function Xu(i,e){let{state:t,pos:n}=e,r=L(t).resolveInner(n,-1),s=r.resolve(n);for(let o=n,O;s==r&&(O=r.childBefore(o));){let l=O.lastChild;if(!l||!l.type.isError||l.from<l.to)break;s=r=O,o=l.from}return r.name=="TagName"?r.parent&&/CloseTag$/.test(r.parent.name)?xu(t,r,r.from,n):bu(t,i,r,r.from,n):r.name=="StartTag"?bu(t,i,r,n,n):r.name=="StartCloseTag"||r.name=="IncompleteCloseTag"?xu(t,r,n,n):r.name=="OpenTag"||r.name=="SelfClosingTag"||r.name=="AttributeName"?hy(t,i,r,r.name=="AttributeName"?r.from:n,n):r.name=="Is"||r.name=="AttributeValue"||r.name=="UnquotedAttributeValue"?cy(t,i,r,r.name=="Is"?n:r.from,n):e.explicit&&(s.name=="Element"||s.name=="Text"||s.name=="Document")?ay(t,i,r,n):null}function Ru(i){return Xu(ai.default,i)}function fy(i){let{extraTags:e,extraGlobalAttributes:t}=i,n=t||e?new ai(e,t):ai.default;return r=>Xu(n,r)}var uy=et.parser.configure({top:"SingleExpression"}),Zu=[{tag:"script",attrs:i=>i.type=="text/typescript"||i.lang=="ts",parser:CO.parser},{tag:"script",attrs:i=>i.type=="text/babel"||i.type=="text/jsx",parser:UO.parser},{tag:"script",attrs:i=>i.type=="text/typescript-jsx",parser:AO.parser},{tag:"script",attrs(i){return/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(i.type)},parser:uy},{tag:"script",attrs(i){return!i.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(i.type)},parser:et.parser},{tag:"style",attrs(i){return(!i.lang||i.lang=="css")&&(!i.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(i.type))},parser:bn.parser}],Wu=[{name:"style",parser:bn.parser.configure({top:"Styles"})}].concat(vu.map(i=>({name:i,parser:et.parser}))),qu=ue.define({name:"html",parser:yu.configure({props:[de.add({Element(i){let e=/^(\s*)(<\/)?/.exec(i.textAfter);return i.node.to<=i.pos+e[0].length?i.continue():i.lineIndent(i.node.from)+(e[2]?0:i.unit)},"OpenTag CloseTag SelfClosingTag"(i){return i.column(i.node.from)+i.unit},Document(i){if(i.pos+/\s*/.exec(i.textAfter)[0].length<i.node.to)return i.continue();let e=null,t;for(let n=i.node;;){let r=n.lastChild;if(!r||r.name!="Element"||r.to!=n.to)break;e=n=r}return e&&!((t=e.lastChild)&&(t.name=="CloseTag"||t.name=="SelfClosingTag"))?i.lineIndent(e.from)+i.unit:null}}),Pe.add({Element(i){let e=i.firstChild,t=i.lastChild;return!e||e.name!="OpenTag"?null:{from:e.to,to:t.name=="CloseTag"?t.from:i.to}}}),$n.add({"OpenTag CloseTag":i=>i.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:"<!--",close:"-->"}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-._"}}),Jr=qu.configure({wrap:GO(Zu,Wu)});function Vi(i={}){let e="",t;i.matchClosingTags===!1&&(e="noMatch"),i.selfClosingTags===!0&&(e=(e?e+" ":"")+"selfClosing"),(i.nestedLanguages&&i.nestedLanguages.length||i.nestedAttributes&&i.nestedAttributes.length)&&(t=GO((i.nestedLanguages||[]).concat(Zu),(i.nestedAttributes||[]).concat(Wu)));let n=t?qu.configure({wrap:t,dialect:e}):e?Jr.configure({dialect:e}):Jr;return new oe(n,[Jr.data.of({autocomplete:fy(i)}),i.autoCloseTags!==!1?dy:[],li().support,Nr().support])}var ku=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),dy=v.inputHandler.of((i,e,t,n,r)=>{if(i.composing||i.state.readOnly||e!=t||n!=">"&&n!="/"||!Jr.isActiveAt(i.state,e,-1))return!1;let s=r(),{state:o}=s,O=o.changeByRange(l=>{var a,h,c;let f=o.doc.sliceString(l.from-1,l.to)==n,{head:d}=l,p=L(o).resolveInner(d,-1),m;if(f&&n==">"&&p.name=="EndTag"){let g=p.parent;if(((h=(a=g.parent)===null||a===void 0?void 0:a.lastChild)===null||h===void 0?void 0:h.name)!="CloseTag"&&(m=Wi(o.doc,g.parent,d))&&!ku.has(m)){let $=d+(o.doc.sliceString(d,d+1)===">"?1:0),Q=`</${m}>`;return{range:l,changes:{from:d,to:$,insert:Q}}}}else if(f&&n=="/"&&p.name=="IncompleteCloseTag"){let g=p.parent;if(p.from==d-2&&((c=g.lastChild)===null||c===void 0?void 0:c.name)!="CloseTag"&&(m=Wi(o.doc,g,d))&&!ku.has(m)){let $=d+(o.doc.sliceString(d,d+1)===">"?1:0),Q=`${m}>`;return{range:S.cursor(d+Q.length,-1),changes:{from:d,to:$,insert:Q}}}}return{range:l}});return O.changes.empty?!1:(i.dispatch([s,o.update(O,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var is=class i{static create(e,t,n,r,s){let o=r+(r<<8)+e+(t<<4)|0;return new i(e,t,n,o,s,[],[])}constructor(e,t,n,r,s,o,O){this.type=e,this.value=t,this.from=n,this.hash=r,this.end=s,this.children=o,this.positions=O,this.hashProp=[[W.contextHash,r]]}addChild(e,t){e.prop(W.contextHash)!=this.hash&&(e=new V(e.type,e.children,e.positions,e.length,this.hashProp)),this.children.push(e),this.positions.push(t)}toTree(e,t=this.end){let n=this.children.length-1;return n>=0&&(t=Math.max(t,this.positions[n]+this.children[n].length+this.from)),new V(e.types[this.type],this.children,this.positions,t-this.from).balance({makeTree:(r,s,o)=>new V(ie.none,r,s,o,this.hashProp)})}},P;(function(i){i[i.Document=1]="Document",i[i.CodeBlock=2]="CodeBlock",i[i.FencedCode=3]="FencedCode",i[i.Blockquote=4]="Blockquote",i[i.HorizontalRule=5]="HorizontalRule",i[i.BulletList=6]="BulletList",i[i.OrderedList=7]="OrderedList",i[i.ListItem=8]="ListItem",i[i.ATXHeading1=9]="ATXHeading1",i[i.ATXHeading2=10]="ATXHeading2",i[i.ATXHeading3=11]="ATXHeading3",i[i.ATXHeading4=12]="ATXHeading4",i[i.ATXHeading5=13]="ATXHeading5",i[i.ATXHeading6=14]="ATXHeading6",i[i.SetextHeading1=15]="SetextHeading1",i[i.SetextHeading2=16]="SetextHeading2",i[i.HTMLBlock=17]="HTMLBlock",i[i.LinkReference=18]="LinkReference",i[i.Paragraph=19]="Paragraph",i[i.CommentBlock=20]="CommentBlock",i[i.ProcessingInstructionBlock=21]="ProcessingInstructionBlock",i[i.Escape=22]="Escape",i[i.Entity=23]="Entity",i[i.HardBreak=24]="HardBreak",i[i.Emphasis=25]="Emphasis",i[i.StrongEmphasis=26]="StrongEmphasis",i[i.Link=27]="Link",i[i.Image=28]="Image",i[i.InlineCode=29]="InlineCode",i[i.HTMLTag=30]="HTMLTag",i[i.Comment=31]="Comment",i[i.ProcessingInstruction=32]="ProcessingInstruction",i[i.Autolink=33]="Autolink",i[i.HeaderMark=34]="HeaderMark",i[i.QuoteMark=35]="QuoteMark",i[i.ListMark=36]="ListMark",i[i.LinkMark=37]="LinkMark",i[i.EmphasisMark=38]="EmphasisMark",i[i.CodeMark=39]="CodeMark",i[i.CodeText=40]="CodeText",i[i.CodeInfo=41]="CodeInfo",i[i.LinkTitle=42]="LinkTitle",i[i.LinkLabel=43]="LinkLabel",i[i.URL=44]="URL"})(P||(P={}));var KO=class{constructor(e,t){this.start=e,this.content=t,this.marks=[],this.parsers=[]}},JO=class{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 e=this.skipSpace(this.basePos);this.indent=this.countIndent(e,this.pos,this.indent),this.pos=e,this.next=e==this.text.length?-1:this.text.charCodeAt(e)}skipSpace(e){return zn(this.text,e)}reset(e){for(this.text=e,this.baseIndent=this.basePos=this.pos=this.indent=0,this.forwardInner(),this.depth=1;this.markers.length;)this.markers.pop()}moveBase(e){this.basePos=e,this.baseIndent=this.countIndent(e,this.pos,this.indent)}moveBaseColumn(e){this.baseIndent=e,this.basePos=this.findColumn(e)}addMarker(e){this.markers.push(e)}countIndent(e,t=0,n=0){for(let r=t;r<e;r++)n+=this.text.charCodeAt(r)==9?4-n%4:1;return n}findColumn(e){let t=0;for(let n=0;t<this.text.length&&n<e;t++)n+=this.text.charCodeAt(t)==9?4-n%4:1;return t}scrub(){if(!this.baseIndent)return this.text;let e="";for(let t=0;t<this.basePos;t++)e+=" ";return e+this.text.slice(this.basePos)}};function Vu(i,e,t){if(t.pos==t.text.length||i!=e.block&&t.indent>=e.stack[t.depth+1].value+t.baseIndent)return!0;if(t.indent>=t.baseIndent+4)return!1;let n=(i.type==P.OrderedList?ul:fl)(t,e,!1);return n>0&&(i.type!=P.BulletList||cl(t,e,!1)<0)&&t.text.charCodeAt(t.pos+n-1)==i.value}var Bu={[P.Blockquote](i,e,t){return t.next!=62?!1:(t.markers.push(Y(P.QuoteMark,e.lineStart+t.pos,e.lineStart+t.pos+1)),t.moveBase(t.pos+(De(t.text.charCodeAt(t.pos+1))?2:1)),i.end=e.lineStart+t.text.length,!0)},[P.ListItem](i,e,t){return t.indent<t.baseIndent+i.value&&t.next>-1?!1:(t.moveBaseColumn(t.baseIndent+i.value),!0)},[P.OrderedList]:Vu,[P.BulletList]:Vu,[P.Document](){return!0}};function De(i){return i==32||i==9||i==10||i==13}function zn(i,e=0){for(;e<i.length&&De(i.charCodeAt(e));)e++;return e}function Cu(i,e,t){for(;e>t&&De(i.charCodeAt(e-1));)e--;return e}function Du(i){if(i.next!=96&&i.next!=126)return-1;let e=i.pos+1;for(;e<i.text.length&&i.text.charCodeAt(e)==i.next;)e++;if(e<i.pos+3)return-1;if(i.next==96){for(let t=e;t<i.text.length;t++)if(i.text.charCodeAt(t)==96)return-1}return e}function Iu(i){return i.next!=62?-1:i.text.charCodeAt(i.pos+1)==32?2:1}function cl(i,e,t){if(i.next!=42&&i.next!=45&&i.next!=95)return-1;let n=1;for(let r=i.pos+1;r<i.text.length;r++){let s=i.text.charCodeAt(r);if(s==i.next)n++;else if(!De(s))return-1}return t&&i.next==45&&Fu(i)>-1&&i.depth==e.stack.length&&e.parser.leafBlockParsers.indexOf(td.SetextHeading)>-1||n<3?-1:1}function Nu(i,e){for(let t=i.stack.length-1;t>=0;t--)if(i.stack[t].type==e)return!0;return!1}function fl(i,e,t){return(i.next==45||i.next==43||i.next==42)&&(i.pos==i.text.length-1||De(i.text.charCodeAt(i.pos+1)))&&(!t||Nu(e,P.BulletList)||i.skipSpace(i.pos+2)<i.text.length)?1:-1}function ul(i,e,t){let n=i.pos,r=i.next;for(;r>=48&&r<=57;){n++;if(n==i.text.length)return-1;r=i.text.charCodeAt(n)}return n==i.pos||n>i.pos+9||r!=46&&r!=41||n<i.text.length-1&&!De(i.text.charCodeAt(n+1))||t&&!Nu(e,P.OrderedList)&&(i.skipSpace(n+1)==i.text.length||n>i.pos+1||i.next!=49)?-1:n+1-i.pos}function Hu(i){if(i.next!=35)return-1;let e=i.pos+1;for(;e<i.text.length&&i.text.charCodeAt(e)==35;)e++;if(e<i.text.length&&i.text.charCodeAt(e)!=32)return-1;let t=e-i.pos;return t>6?-1:t}function Fu(i){if(i.next!=45&&i.next!=61||i.indent>=i.baseIndent+4)return-1;let e=i.pos+1;for(;e<i.text.length&&i.text.charCodeAt(e)==i.next;)e++;let t=e;for(;e<i.text.length&&De(i.text.charCodeAt(e));)e++;return e==i.text.length?t:-1}var el=/^[ \t]*$/,Ku=/-->/,Ju=/\?>/,tl=[[/^<(?:script|pre|style)(?:\s|>|$)/i,/<\/(?:script|pre|style)>/i],[/^\s*<!--/,Ku],[/^\s*<\?/,Ju],[/^\s*<![A-Z]/,/>/],[/^\s*<!\[CDATA\[/,/\]\]>/],[/^\s*<\/?(?:address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h1|h2|h3|h4|h5|h6|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul)(?:\s|\/?>|$)/i,el],[/^\s*(?:<\/[a-z][\w-]*\s*>|<[a-z][\w-]*(\s+[a-z:_][\w-.]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*>)\s*$/i,el]];function ed(i,e,t){if(i.next!=60)return-1;let n=i.text.slice(i.pos);for(let r=0,s=tl.length-(t?1:0);r<s;r++)if(tl[r][0].test(n))return r;return-1}function Uu(i,e){let t=i.countIndent(e,i.pos,i.indent),n=i.countIndent(i.skipSpace(e),e,t);return n>=t+5?t+1:n}function hi(i,e,t){let n=i.length-1;n>=0&&i[n].to==e&&i[n].type==P.CodeText?i[n].to=t:i.push(Y(P.CodeText,e,t))}var es={LinkReference:void 0,IndentedCode(i,e){let t=e.baseIndent+4;if(e.indent<t)return!1;let n=e.findColumn(t),r=i.lineStart+n,s=i.lineStart+e.text.length,o=[],O=[];for(hi(o,r,s);i.nextLine()&&e.depth>=i.stack.length;)if(e.pos==e.text.length){hi(O,i.lineStart-1,i.lineStart);for(let l of e.markers)O.push(l)}else{if(e.indent<t)break;{if(O.length){for(let a of O)a.type==P.CodeText?hi(o,a.from,a.to):o.push(a);O=[]}hi(o,i.lineStart-1,i.lineStart);for(let a of e.markers)o.push(a);s=i.lineStart+e.text.length;let l=i.lineStart+e.findColumn(e.baseIndent+4);l<s&&hi(o,l,s)}}return O.length&&(O=O.filter(l=>l.type!=P.CodeText),O.length&&(e.markers=O.concat(e.markers))),i.addNode(i.buffer.writeElements(o,-r).finish(P.CodeBlock,s-r),r),!0},FencedCode(i,e){let t=Du(e);if(t<0)return!1;let n=i.lineStart+e.pos,r=e.next,s=t-e.pos,o=e.skipSpace(t),O=Cu(e.text,e.text.length,o),l=[Y(P.CodeMark,n,n+s)];o<O&&l.push(Y(P.CodeInfo,i.lineStart+o,i.lineStart+O));for(let a=!0;i.nextLine()&&e.depth>=i.stack.length;a=!1){let h=e.pos;if(e.indent-e.baseIndent<4)for(;h<e.text.length&&e.text.charCodeAt(h)==r;)h++;if(h-e.pos>=s&&e.skipSpace(h)==e.text.length){for(let c of e.markers)l.push(c);l.push(Y(P.CodeMark,i.lineStart+e.pos,i.lineStart+h)),i.nextLine();break}else{a||hi(l,i.lineStart-1,i.lineStart);for(let d of e.markers)l.push(d);let c=i.lineStart+e.basePos,f=i.lineStart+e.text.length;c<f&&hi(l,c,f)}}return i.addNode(i.buffer.writeElements(l,-n).finish(P.FencedCode,i.prevLineEnd()-n),n),!0},Blockquote(i,e){let t=Iu(e);return t<0?!1:(i.startContext(P.Blockquote,e.pos),i.addNode(P.QuoteMark,i.lineStart+e.pos,i.lineStart+e.pos+1),e.moveBase(e.pos+t),null)},HorizontalRule(i,e){if(cl(e,i,!1)<0)return!1;let t=i.lineStart+e.pos;return i.nextLine(),i.addNode(P.HorizontalRule,t),!0},BulletList(i,e){let t=fl(e,i,!1);if(t<0)return!1;i.block.type!=P.BulletList&&i.startContext(P.BulletList,e.basePos,e.next);let n=Uu(e,e.pos+1);return i.startContext(P.ListItem,e.basePos,n-e.baseIndent),i.addNode(P.ListMark,i.lineStart+e.pos,i.lineStart+e.pos+t),e.moveBaseColumn(n),null},OrderedList(i,e){let t=ul(e,i,!1);if(t<0)return!1;i.block.type!=P.OrderedList&&i.startContext(P.OrderedList,e.basePos,e.text.charCodeAt(e.pos+t-1));let n=Uu(e,e.pos+t);return i.startContext(P.ListItem,e.basePos,n-e.baseIndent),i.addNode(P.ListMark,i.lineStart+e.pos,i.lineStart+e.pos+t),e.moveBaseColumn(n),null},ATXHeading(i,e){let t=Hu(e);if(t<0)return!1;let n=e.pos,r=i.lineStart+n,s=Cu(e.text,e.text.length,n),o=s;for(;o>n&&e.text.charCodeAt(o-1)==e.next;)o--;(o==s||o==n||!De(e.text.charCodeAt(o-1)))&&(o=e.text.length);let O=i.buffer.write(P.HeaderMark,0,t).writeElements(i.parser.parseInline(e.text.slice(n+t+1,o),r+t+1),-r);o<e.text.length&&O.write(P.HeaderMark,o-n,s-n);let l=O.finish(P.ATXHeading1-1+t,e.text.length-n);return i.nextLine(),i.addNode(l,r),!0},HTMLBlock(i,e){let t=ed(e,i,!1);if(t<0)return!1;let n=i.lineStart+e.pos,r=tl[t][1],s=[],o=r!=el;for(;!r.test(e.text)&&i.nextLine();){if(e.depth<i.stack.length){o=!1;break}for(let a of e.markers)s.push(a)}o&&i.nextLine();let O=r==Ku?P.CommentBlock:r==Ju?P.ProcessingInstructionBlock:P.HTMLBlock,l=i.prevLineEnd();return i.addNode(i.buffer.writeElements(s,-n).finish(O,l-n),n),!0},SetextHeading:void 0},il=class{constructor(e){this.stage=0,this.elts=[],this.pos=0,this.start=e.start,this.advance(e.content)}nextLine(e,t,n){if(this.stage==-1)return!1;let r=n.content+` +`+t.scrub(),s=this.advance(r);return s>-1&&s<r.length?this.complete(e,n,s):!1}finish(e,t){return(this.stage==2||this.stage==3)&&zn(t.content,this.pos)==t.content.length?this.complete(e,t,t.content.length):!1}complete(e,t,n){return e.addLeafElement(t,Y(P.LinkReference,this.start,this.start+n,this.elts)),!0}nextStage(e){return e?(this.pos=e.to-this.start,this.elts.push(e),this.stage++,!0):(e===!1&&(this.stage=-1),!1)}advance(e){for(;;){if(this.stage==-1)return-1;if(this.stage==0){if(!this.nextStage(ld(e,this.pos,this.start,!0)))return-1;if(e.charCodeAt(this.pos)!=58)return this.stage=-1;this.elts.push(Y(P.LinkMark,this.pos+this.start,this.pos+this.start+1)),this.pos++}else if(this.stage==1){if(!this.nextStage(od(e,zn(e,this.pos),this.start)))return-1}else if(this.stage==2){let t=zn(e,this.pos),n=0;if(t>this.pos){let r=Od(e,t,this.start);if(r){let s=HO(e,r.to-this.start);s>0&&(this.nextStage(r),n=s)}}return n||(n=HO(e,this.pos)),n>0&&n<e.length?n:-1}else return HO(e,this.pos)}}};function HO(i,e){for(;e<i.length;e++){let t=i.charCodeAt(e);if(t==10)break;if(!De(t))return-1}return e}var nl=class{nextLine(e,t,n){let r=t.depth<e.stack.length?-1:Fu(t),s=t.next;if(r<0)return!1;let o=Y(P.HeaderMark,e.lineStart+t.pos,e.lineStart+r);return e.nextLine(),e.addLeafElement(n,Y(s==61?P.SetextHeading1:P.SetextHeading2,n.start,e.prevLineEnd(),[...e.parser.parseInline(n.content,n.start),o])),!0}finish(){return!1}},td={LinkReference(i,e){return e.content.charCodeAt(0)==91?new il(e):null},SetextHeading(){return new nl}},py=[(i,e)=>Hu(e)>=0,(i,e)=>Du(e)>=0,(i,e)=>Iu(e)>=0,(i,e)=>fl(e,i,!0)>=0,(i,e)=>ul(e,i,!0)>=0,(i,e)=>cl(e,i,!0)>=0,(i,e)=>ed(e,i,!0)>=0],my={text:"",end:0},rl=class{constructor(e,t,n,r){this.parser=e,this.input=t,this.ranges=r,this.line=new JO,this.atEnd=!1,this.reusePlaceholders=new Map,this.stoppedAt=null,this.rangeI=0,this.to=r[r.length-1].to,this.lineStart=this.absoluteLineStart=this.absoluteLineEnd=r[0].from,this.block=is.create(P.Document,0,this.lineStart,0,0),this.stack=[this.block],this.fragments=n.length?new al(n,t):null,this.readLine()}get parsedPos(){return this.absoluteLineStart}advance(){if(this.stoppedAt!=null&&this.absoluteLineStart>this.stoppedAt)return this.finish();let{line:e}=this;for(;;){for(let n=0;;){let r=e.depth<this.stack.length?this.stack[this.stack.length-1]:null;for(;n<e.markers.length&&(!r||e.markers[n].from<r.end);){let s=e.markers[n++];this.addNode(s.type,s.from,s.to)}if(!r)break;this.finishContext()}if(e.pos<e.text.length)break;if(!this.nextLine())return this.finish()}if(this.fragments&&this.reuseFragment(e.basePos))return null;e:for(;;){for(let n of this.parser.blockParsers)if(n){let r=n(this,e);if(r!=!1){if(r==!0)return null;e.forward();continue e}}break}let t=new KO(this.lineStart+e.pos,e.text.slice(e.pos));for(let n of this.parser.leafBlockParsers)if(n){let r=n(this,t);r&&t.parsers.push(r)}e:for(;this.nextLine()&&e.pos!=e.text.length;){if(e.indent<e.baseIndent+4){for(let n of this.parser.endLeafBlock)if(n(this,e,t))break e}for(let n of t.parsers)if(n.nextLine(this,e,t))return null;t.content+=` +`+e.scrub();for(let n of e.markers)t.marks.push(n)}return this.finishLeaf(t),null}stopAt(e){if(this.stoppedAt!=null&&this.stoppedAt<e)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=e}reuseFragment(e){if(!this.fragments.moveTo(this.absoluteLineStart+e,this.absoluteLineStart)||!this.fragments.matches(this.block.hash))return!1;let t=this.fragments.takeNodes(this);return t?(this.absoluteLineStart+=t,this.lineStart=ad(this.absoluteLineStart,this.ranges),this.moveRangeI(),this.absoluteLineStart<this.to?(this.lineStart++,this.absoluteLineStart++,this.readLine()):(this.atEnd=!0,this.readLine()),!0):!1}get depth(){return this.stack.length}parentType(e=this.depth-1){return this.parser.nodeSet.types[this.stack[e].type]}nextLine(){return this.lineStart+=this.line.text.length,this.absoluteLineEnd>=this.to?(this.absoluteLineStart=this.absoluteLineEnd,this.atEnd=!0,this.readLine(),!1):(this.lineStart++,this.absoluteLineStart=this.absoluteLineEnd+1,this.moveRangeI(),this.readLine(),!0)}peekLine(){return this.scanLine(this.absoluteLineEnd+1).text}moveRangeI(){for(;this.rangeI<this.ranges.length-1&&this.absoluteLineStart>=this.ranges[this.rangeI].to;)this.rangeI++,this.absoluteLineStart=Math.max(this.absoluteLineStart,this.ranges[this.rangeI].from)}scanLine(e){let t=my;if(t.end=e,e>=this.to)t.text="";else if(t.text=this.lineChunkAt(e),t.end+=t.text.length,this.ranges.length>1){let n=this.absoluteLineStart,r=this.rangeI;for(;this.ranges[r].to<t.end;){r++;let s=this.ranges[r].from,o=this.lineChunkAt(s);t.end=s+o.length,t.text=t.text.slice(0,this.ranges[r-1].to-n)+o,n=t.end-t.text.length}}return t}readLine(){let{line:e}=this,{text:t,end:n}=this.scanLine(this.absoluteLineStart);for(this.absoluteLineEnd=n,e.reset(t);e.depth<this.stack.length;e.depth++){let r=this.stack[e.depth],s=this.parser.skipContextMarkup[r.type];if(!s)throw new Error("Unhandled block context "+P[r.type]);if(!s(r,this,e))break;e.forward()}}lineChunkAt(e){let t=this.input.chunk(e),n;if(this.input.lineChunks)n=t==` `?"":t;else{let r=t.indexOf(` -`);n=r<0?t:t.slice(0,r)}return e+n.length>this.to?n.slice(0,this.to-e):n}prevLineEnd(){return this.atEnd?this.lineStart:this.lineStart-1}startContext(e,t,n=0){this.block=Jr.create(e,n,this.lineStart+t,this.block.hash,this.lineStart+this.line.text.length),this.stack.push(this.block)}startComposite(e,t,n=0){this.startContext(this.parser.getNodeType(e),t,n)}addNode(e,t,n){typeof e=="number"&&(e=new V(this.parser.nodeSet.types[e],Ci,Ci,(n??this.prevLineEnd())-t)),this.block.addChild(e,t-this.block.from)}addElement(e){this.block.addChild(e.toTree(this.parser.nodeSet),e.from-this.block.from)}addLeafElement(e,t){this.addNode(this.buffer.writeElements(oa(t.children,e.marks),-t.from).finish(t.type,t.to-t.from),t.from)}finishContext(){let e=this.stack.pop(),t=this.stack[this.stack.length-1];t.addChild(e.toTree(this.parser.nodeSet),e.from-t.from),this.block=t}finish(){for(;this.stack.length>1;)this.finishContext();return this.addGaps(this.block.toTree(this.parser.nodeSet,this.lineStart))}addGaps(e){return this.ranges.length>1?td(this.ranges,0,e.topNode,this.ranges[0].from,this.reusePlaceholders):e}finishLeaf(e){for(let n of e.parsers)if(n.finish(this,e))return;let t=oa(this.parser.parseInline(e.content,e.start),e.marks);this.addNode(this.buffer.writeElements(t,-e.start).finish(P.Paragraph,e.content.length),e.start)}elt(e,t,n,r){return typeof e=="string"?_(this.parser.getNodeType(e),t,n,r):new ts(e,t)}get buffer(){return new es(this.parser.nodeSet)}};function td(i,e,t,n,r){let s=i[e].to,o=[],O=[],a=t.from+n;function l(h,c){for(;c?h>=s:h>s;){let f=i[e+1].from-s;n+=f,h+=f,e++,s=i[e].to}}for(let h=t.firstChild;h;h=h.nextSibling){l(h.from+n,!0);let c=h.from+n,f,d=r.get(h.tree);d?f=d:h.to+n>s?(f=td(i,e,h,n,r),l(h.to+n,!1)):f=h.toTree(),o.push(f),O.push(c-a)}return l(t.to+n,!1),new V(t.type,o,O,t.to+n-a,t.tree?t.tree.propValues:void 0)}var Wn=class i extends St{constructor(e,t,n,r,s,o,O,a,l){super(),this.nodeSet=e,this.blockParsers=t,this.leafBlockParsers=n,this.blockNames=r,this.endLeafBlock=s,this.skipContextMarkup=o,this.inlineParsers=O,this.inlineNames=a,this.wrappers=l,this.nodeTypes=Object.create(null);for(let h of e.types)this.nodeTypes[h.name]=h.id}createParse(e,t,n){let r=new ia(this,e,t,n);for(let s of this.wrappers)r=s(r,e,t,n);return r}configure(e){let t=na(e);if(!t)return this;let{nodeSet:n,skipContextMarkup:r}=this,s=this.blockParsers.slice(),o=this.leafBlockParsers.slice(),O=this.blockNames.slice(),a=this.inlineParsers.slice(),l=this.inlineNames.slice(),h=this.endLeafBlock.slice(),c=this.wrappers;if(vn(t.defineNodes)){r=Object.assign({},r);let f=n.types.slice(),d;for(let p of t.defineNodes){let{name:m,block:g,composite:$,style:Q}=typeof p=="string"?{name:p}:p;if(f.some(y=>y.name==m))continue;$&&(r[f.length]=(y,w,T)=>$(w,T,y.value));let b=f.length,k=$?["Block","BlockContext"]:g?b>=P.ATXHeading1&&b<=P.SetextHeading2?["Block","LeafBlock","Heading"]:["Block","LeafBlock"]:void 0;f.push(ie.define({id:b,name:m,props:k&&[[Z.group,k]]})),Q&&(d||(d={}),Array.isArray(Q)||Q instanceof qe?d[m]=Q:Object.assign(d,Q))}n=new $t(f),d&&(n=n.extend(oe(d)))}if(vn(t.props)&&(n=n.extend(...t.props)),vn(t.remove))for(let f of t.remove){let d=this.blockNames.indexOf(f),p=this.inlineNames.indexOf(f);d>-1&&(s[d]=o[d]=void 0),p>-1&&(a[p]=void 0)}if(vn(t.parseBlock))for(let f of t.parseBlock){let d=O.indexOf(f.name);if(d>-1)s[d]=f.parse,o[d]=f.leaf;else{let p=f.before?Kr(O,f.before):f.after?Kr(O,f.after)+1:O.length-1;s.splice(p,0,f.parse),o.splice(p,0,f.leaf),O.splice(p,0,f.name)}f.endLeaf&&h.push(f.endLeaf)}if(vn(t.parseInline))for(let f of t.parseInline){let d=l.indexOf(f.name);if(d>-1)a[d]=f.parse;else{let p=f.before?Kr(l,f.before):f.after?Kr(l,f.after)+1:l.length-1;a.splice(p,0,f.parse),l.splice(p,0,f.name)}}return t.wrap&&(c=c.concat(t.wrap)),new i(n,s,o,O,h,r,a,l,c)}getNodeType(e){let t=this.nodeTypes[e];if(t==null)throw new RangeError(`Unknown node type '${e}'`);return t}parseInline(e,t){let n=new sa(this,e,t);e:for(let r=t;r<n.end;){let s=n.char(r);for(let o of this.inlineParsers)if(o){let O=o(n,s,r);if(O>=0){r=O;continue e}}r++}return n.resolveMarkers(0)}};function vn(i){return i!=null&&i.length>0}function na(i){if(!Array.isArray(i))return i;if(i.length==0)return null;let e=na(i[0]);if(i.length==1)return e;let t=na(i.slice(1));if(!t||!e)return e||t;let n=(o,O)=>(o||Ci).concat(O||Ci),r=e.wrap,s=t.wrap;return{props:n(e.props,t.props),defineNodes:n(e.defineNodes,t.defineNodes),parseBlock:n(e.parseBlock,t.parseBlock),parseInline:n(e.parseInline,t.parseInline),remove:n(e.remove,t.remove),wrap:r?s?(o,O,a,l)=>r(s(o,O,a,l),O,a,l):r:s}}function Kr(i,e){let t=i.indexOf(e);if(t<0)throw new RangeError(`Position specified relative to unknown parser ${e}`);return t}var id=[ie.none];for(let i=1,e;e=P[i];i++)id[i]=ie.define({id:i,name:e,props:i>=P.Escape?[]:[[Z.group,i in Lu?["Block","BlockContext"]:["Block","LeafBlock"]]],top:e=="Document"});var Ci=[],es=class{constructor(e){this.nodeSet=e,this.content=[],this.nodes=[]}write(e,t,n,r=0){return this.content.push(e,t,n,4+r*4),this}writeElements(e,t=0){for(let n of e)n.writeTo(this,t);return this}finish(e,t){return V.build({buffer:this.content,nodeSet:this.nodeSet,reused:this.nodes,topID:e,length:t})}},hi=class{constructor(e,t,n,r=Ci){this.type=e,this.from=t,this.to=n,this.children=r}writeTo(e,t){let n=e.content.length;e.writeElements(this.children,t),e.content.push(this.type,this.from+t,this.to+t,e.content.length+4-n)}toTree(e){return new es(e).writeElements(this.children,-this.from).finish(this.type,this.to-this.from)}},ts=class{constructor(e,t){this.tree=e,this.from=t}get to(){return this.from+this.tree.length}get type(){return this.tree.type.id}get children(){return Ci}writeTo(e,t){e.nodes.push(this.tree),e.content.push(e.nodes.length-1,this.from+t,this.to+t,-1)}toTree(){return this.tree}};function _(i,e,t,n){return new hi(i,e,t,n)}var nd={resolve:"Emphasis",mark:"EmphasisMark"},rd={resolve:"Emphasis",mark:"EmphasisMark"},Vi={},ra={},Re=class{constructor(e,t,n,r){this.type=e,this.from=t,this.to=n,this.side=r}},Yu="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~",Xn=/[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~\xA1\u2010-\u2027]/;try{Xn=new RegExp("[\\p{S}|\\p{P}]","u")}catch{}var NO={Escape(i,e,t){if(e!=92||t==i.end-1)return-1;let n=i.char(t+1);for(let r=0;r<Yu.length;r++)if(Yu.charCodeAt(r)==n)return i.append(_(P.Escape,t,t+2));return-1},Entity(i,e,t){if(e!=38)return-1;let n=/^(?:#\d+|#x[a-f\d]+|\w+);/i.exec(i.slice(t+1,t+31));return n?i.append(_(P.Entity,t,t+1+n[0].length)):-1},InlineCode(i,e,t){if(e!=96||t&&i.char(t-1)==96)return-1;let n=t+1;for(;n<i.end&&i.char(n)==96;)n++;let r=n-t,s=0;for(;n<i.end;n++)if(i.char(n)==96){if(s++,s==r&&i.char(n+1)!=96)return i.append(_(P.InlineCode,t,n+1,[_(P.CodeMark,t,t+r),_(P.CodeMark,n+1-r,n+1)]))}else s=0;return-1},HTMLTag(i,e,t){if(e!=60||t==i.end-1)return-1;let n=i.slice(t+1,i.end),r=/^(?:[a-z][-\w+.]+:[^\s>]+|[a-z\d.!#$%&'*+/=?^_`{|}~-]+@[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?(?:\.[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?)*)>/i.exec(n);if(r)return i.append(_(P.Autolink,t,t+1+r[0].length,[_(P.LinkMark,t,t+1),_(P.URL,t+1,t+r[0].length),_(P.LinkMark,t+r[0].length,t+1+r[0].length)]));let s=/^!--[^>](?:-[^-]|[^-])*?-->/i.exec(n);if(s)return i.append(_(P.Comment,t,t+1+s[0].length));let o=/^\?[^]*?\?>/.exec(n);if(o)return i.append(_(P.ProcessingInstruction,t,t+1+o[0].length));let O=/^(?:![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 O?i.append(_(P.HTMLTag,t,t+1+O[0].length)):-1},Emphasis(i,e,t){if(e!=95&&e!=42)return-1;let n=t+1;for(;i.char(n)==e;)n++;let r=i.slice(t-1,t),s=i.slice(n,n+1),o=Xn.test(r),O=Xn.test(s),a=/\s|^$/.test(r),l=/\s|^$/.test(s),h=!l&&(!O||a||o),c=!a&&(!o||l||O),f=h&&(e==42||!c||o),d=c&&(e==42||!h||O);return i.append(new Re(e==95?nd:rd,t,n,(f?1:0)|(d?2:0)))},HardBreak(i,e,t){if(e==92&&i.char(t+1)==10)return i.append(_(P.HardBreak,t,t+2));if(e==32){let n=t+1;for(;i.char(n)==32;)n++;if(i.char(n)==10&&n>=t+2)return i.append(_(P.HardBreak,t,n+1))}return-1},Link(i,e,t){return e==91?i.append(new Re(Vi,t,t+1,1)):-1},Image(i,e,t){return e==33&&i.char(t+1)==91?i.append(new Re(ra,t,t+2,1)):-1},LinkEnd(i,e,t){if(e!=93)return-1;for(let n=i.parts.length-1;n>=0;n--){let r=i.parts[n];if(r instanceof Re&&(r.type==Vi||r.type==ra)){if(!r.side||i.skipSpace(r.to)==t&&!/[(\[]/.test(i.slice(t+1,t+2)))return i.parts[n]=null,-1;let s=i.takeContent(n),o=i.parts[n]=fy(i,s,r.type==Vi?P.Link:P.Image,r.from,t+1);if(r.type==Vi)for(let O=0;O<n;O++){let a=i.parts[O];a instanceof Re&&a.type==Vi&&(a.side=0)}return o.to}}return-1}};function fy(i,e,t,n,r){let{text:s}=i,o=i.char(r),O=r;if(e.unshift(_(P.LinkMark,n,n+(t==P.Image?2:1))),e.push(_(P.LinkMark,r-1,r)),o==40){let a=i.skipSpace(r+1),l=sd(s,a-i.offset,i.offset),h;l&&(a=i.skipSpace(l.to),a!=l.to&&(h=od(s,a-i.offset,i.offset),h&&(a=i.skipSpace(h.to)))),i.char(a)==41&&(e.push(_(P.LinkMark,r,r+1)),O=a+1,l&&e.push(l),h&&e.push(h),e.push(_(P.LinkMark,a,O)))}else if(o==91){let a=Od(s,r-i.offset,i.offset,!1);a&&(e.push(a),O=a.to)}return _(t,n,O,e)}function sd(i,e,t){if(i.charCodeAt(e)==60){for(let r=e+1;r<i.length;r++){let s=i.charCodeAt(r);if(s==62)return _(P.URL,e+t,r+1+t);if(s==60||s==10)return!1}return null}else{let r=0,s=e;for(let o=!1;s<i.length;s++){let O=i.charCodeAt(s);if(Be(O))break;if(o)o=!1;else if(O==40)r++;else if(O==41){if(!r)break;r--}else O==92&&(o=!0)}return s>e?_(P.URL,e+t,s+t):s==i.length?null:!1}}function od(i,e,t){let n=i.charCodeAt(e);if(n!=39&&n!=34&&n!=40)return!1;let r=n==40?41:n;for(let s=e+1,o=!1;s<i.length;s++){let O=i.charCodeAt(s);if(o)o=!1;else{if(O==r)return _(P.LinkTitle,e+t,s+1+t);O==92&&(o=!0)}}return null}function Od(i,e,t,n){for(let r=!1,s=e+1,o=Math.min(i.length,s+999);s<o;s++){let O=i.charCodeAt(s);if(r)r=!1;else{if(O==93)return n?!1:_(P.LinkLabel,e+t,s+1+t);if(n&&!Be(O)&&(n=!1),O==91)return!1;O==92&&(r=!0)}}return null}var sa=class{constructor(e,t,n){this.parser=e,this.text=t,this.offset=n,this.parts=[]}char(e){return e>=this.end?-1:this.text.charCodeAt(e-this.offset)}get end(){return this.offset+this.text.length}slice(e,t){return this.text.slice(e-this.offset,t-this.offset)}append(e){return this.parts.push(e),e.to}addDelimiter(e,t,n,r,s){return this.append(new Re(e,t,n,(r?1:0)|(s?2:0)))}get hasOpenLink(){for(let e=this.parts.length-1;e>=0;e--){let t=this.parts[e];if(t instanceof Re&&(t.type==Vi||t.type==ra))return!0}return!1}addElement(e){return this.append(e)}resolveMarkers(e){for(let n=e;n<this.parts.length;n++){let r=this.parts[n];if(!(r instanceof Re&&r.type.resolve&&r.side&2))continue;let s=r.type==nd||r.type==rd,o=r.to-r.from,O,a=n-1;for(;a>=e;a--){let m=this.parts[a];if(m instanceof Re&&m.side&1&&m.type==r.type&&!(s&&(r.side&1||m.side&2)&&(m.to-m.from+o)%3==0&&((m.to-m.from)%3||o%3))){O=m;break}}if(!O)continue;let l=r.type.resolve,h=[],c=O.from,f=r.to;if(s){let m=Math.min(2,O.to-O.from,o);c=O.to-m,f=r.from+m,l=m==1?"Emphasis":"StrongEmphasis"}O.type.mark&&h.push(this.elt(O.type.mark,c,O.to));for(let m=a+1;m<n;m++)this.parts[m]instanceof hi&&h.push(this.parts[m]),this.parts[m]=null;r.type.mark&&h.push(this.elt(r.type.mark,r.from,f));let d=this.elt(l,c,f,h);this.parts[a]=s&&O.from!=c?new Re(O.type,O.from,c,O.side):null,(this.parts[n]=s&&r.to!=f?new Re(r.type,f,r.to,r.side):null)?this.parts.splice(n,0,d):this.parts[n]=d}let t=[];for(let n=e;n<this.parts.length;n++){let r=this.parts[n];r instanceof hi&&t.push(r)}return t}findOpeningDelimiter(e){for(let t=this.parts.length-1;t>=0;t--){let n=this.parts[t];if(n instanceof Re&&n.type==e)return t}return null}takeContent(e){let t=this.resolveMarkers(e);return this.parts.length=e,t}skipSpace(e){return zn(this.text,e-this.offset)+this.offset}elt(e,t,n,r){return typeof e=="string"?_(this.parser.getNodeType(e),t,n,r):new ts(e,t)}};function oa(i,e){if(!e.length)return i;if(!i.length)return e;let t=i.slice(),n=0;for(let r of e){for(;n<t.length&&t[n].to<r.to;)n++;if(n<t.length&&t[n].from<r.from){let s=t[n];s instanceof hi&&(t[n]=new hi(s.type,s.from,s.to,oa(s.children,[r])))}else t.splice(n++,0,r)}return t}var uy=[P.CodeBlock,P.ListItem,P.OrderedList,P.BulletList],Oa=class{constructor(e,t){this.fragments=e,this.input=t,this.i=0,this.fragment=null,this.fragmentEnd=-1,this.cursor=null,e.length&&(this.fragment=e[this.i++])}nextFragment(){this.fragment=this.i<this.fragments.length?this.fragments[this.i++]:null,this.cursor=null,this.fragmentEnd=-1}moveTo(e,t){for(;this.fragment&&this.fragment.to<=e;)this.nextFragment();if(!this.fragment||this.fragment.from>(e?e-1:0))return!1;if(this.fragmentEnd<0){let s=this.fragment.to;for(;s>0&&this.input.read(s-1,s)!=` -`;)s--;this.fragmentEnd=s?s-1:0}let n=this.cursor;n||(n=this.cursor=this.fragment.tree.cursor(),n.firstChild());let r=e+this.fragment.offset;for(;n.to<=r;)if(!n.parent())return!1;for(;;){if(n.from>=r)return this.fragment.from<=t;if(!n.childAfter(r))return!1}}matches(e){let t=this.cursor.tree;return t&&t.prop(Z.contextHash)==e}takeNodes(e){let t=this.cursor,n=this.fragment.offset,r=this.fragmentEnd-(this.fragment.openEnd?1:0),s=e.absoluteLineStart,o=s,O=e.block.children.length,a=o,l=O;for(;;){if(t.to-n>r){if(t.type.isAnonymous&&t.firstChild())continue;break}let h=ad(t.from-n,e.ranges);if(t.to-n<=e.ranges[e.rangeI].to)e.addNode(t.tree,h);else{let c=new V(e.parser.nodeSet.types[P.Paragraph],[],[],0,e.block.hashProp);e.reusePlaceholders.set(c,t.tree),e.addNode(c,h)}if(t.type.is("Block")&&(uy.indexOf(t.type.id)<0?(o=t.to-n,O=e.block.children.length):(o=a,O=l,a=t.to-n,l=e.block.children.length)),!t.nextSibling())break}for(;e.block.children.length>O;)e.block.children.pop(),e.block.positions.pop();return o-s}};function ad(i,e){let t=i;for(let n=1;n<e.length;n++){let r=e[n-1].to,s=e[n].from;r<i&&(t-=s-r)}return t}var dy=oe({"Blockquote/...":u.quote,HorizontalRule:u.contentSeparator,"ATXHeading1/... SetextHeading1/...":u.heading1,"ATXHeading2/... SetextHeading2/...":u.heading2,"ATXHeading3/...":u.heading3,"ATXHeading4/...":u.heading4,"ATXHeading5/...":u.heading5,"ATXHeading6/...":u.heading6,"Comment CommentBlock":u.comment,Escape:u.escape,Entity:u.character,"Emphasis/...":u.emphasis,"StrongEmphasis/...":u.strong,"Link/... Image/...":u.link,"OrderedList/... BulletList/...":u.list,"BlockQuote/...":u.quote,"InlineCode CodeText":u.monospace,"URL Autolink":u.url,"HeaderMark HardBreak QuoteMark ListMark LinkMark EmphasisMark CodeMark":u.processingInstruction,"CodeInfo LinkLabel":u.labelName,LinkTitle:u.string,Paragraph:u.content}),ld=new Wn(new $t(id).extend(dy),Object.keys(Hr).map(i=>Hr[i]),Object.keys(Hr).map(i=>ed[i]),Object.keys(Hr),hy,Lu,Object.keys(NO).map(i=>NO[i]),Object.keys(NO),[]);function py(i,e,t){let n=[];for(let r=i.firstChild,s=e;;r=r.nextSibling){let o=r?r.from:t;if(o>s&&n.push({from:s,to:o}),!r)break;s=r.to}return n}function hd(i){let{codeParser:e,htmlParser:t}=i;return{wrap:ki((r,s)=>{let o=r.type.id;if(e&&(o==P.CodeBlock||o==P.FencedCode)){let O="";if(o==P.FencedCode){let l=r.node.getChild(P.CodeInfo);l&&(O=s.read(l.from,l.to))}let a=e(O);if(a)return{parser:a,overlay:l=>l.type.id==P.CodeText}}else if(t&&(o==P.HTMLBlock||o==P.HTMLTag))return{parser:t,overlay:py(r.node,r.from,r.to)};return null})}}var my={resolve:"Strikethrough",mark:"StrikethroughMark"},gy={defineNodes:[{name:"Strikethrough",style:{"Strikethrough/...":u.strikethrough}},{name:"StrikethroughMark",style:u.processingInstruction}],parseInline:[{name:"Strikethrough",parse(i,e,t){if(e!=126||i.char(t+1)!=126||i.char(t+2)==126)return-1;let n=i.slice(t-1,t),r=i.slice(t+2,t+3),s=/\s|^$/.test(n),o=/\s|^$/.test(r),O=Xn.test(n),a=Xn.test(r);return i.addDelimiter(my,t,t+2,!o&&(!a||s||O),!s&&(!O||o||a))},after:"Emphasis"}]};function Rn(i,e,t=0,n,r=0){let s=0,o=!0,O=-1,a=-1,l=!1,h=()=>{n.push(i.elt("TableCell",r+O,r+a,i.parser.parseInline(e.slice(O,a),r+O)))};for(let c=t;c<e.length;c++){let f=e.charCodeAt(c);f==124&&!l?((!o||O>-1)&&s++,o=!1,n&&(O>-1&&h(),n.push(i.elt("TableDelimiter",c+r,c+r+1))),O=a=-1):(l||f!=32&&f!=9)&&(O<0&&(O=c),a=c+1),l=!l&&f==92}return O>-1&&(s++,n&&h()),s}function Uu(i,e){for(let t=e;t<i.length;t++){let n=i.charCodeAt(t);if(n==124)return!0;n==92&&t++}return!1}var cd=/^\|?(\s*:?-+:?\s*\|)+(\s*:?-+:?\s*)?$/,is=class{constructor(){this.rows=null}nextLine(e,t,n){if(this.rows==null){this.rows=!1;let r;if((t.next==45||t.next==58||t.next==124)&&cd.test(r=t.text.slice(t.pos))){let s=[];Rn(e,n.content,0,s,n.start)==Rn(e,r,t.pos)&&(this.rows=[e.elt("TableHeader",n.start,n.start+n.content.length,s),e.elt("TableDelimiter",e.lineStart+t.pos,e.lineStart+t.text.length)])}}else if(this.rows){let r=[];Rn(e,t.text,t.pos,r,e.lineStart),this.rows.push(e.elt("TableRow",e.lineStart+t.pos,e.lineStart+t.text.length,r))}return!1}finish(e,t){return this.rows?(e.addLeafElement(t,e.elt("Table",t.start,t.start+t.content.length,this.rows)),!0):!1}},$y={defineNodes:[{name:"Table",block:!0},{name:"TableHeader",style:{"TableHeader/...":u.heading}},"TableRow",{name:"TableCell",style:u.content},{name:"TableDelimiter",style:u.processingInstruction}],parseBlock:[{name:"Table",leaf(i,e){return Uu(e.content,0)?new is:null},endLeaf(i,e,t){if(t.parsers.some(r=>r instanceof is)||!Uu(e.text,e.basePos))return!1;let n=i.scanLine(i.absoluteLineEnd+1).text;return cd.test(n)&&Rn(i,e.text,e.basePos)==Rn(i,n,e.basePos)},before:"SetextHeading"}]},aa=class{nextLine(){return!1}finish(e,t){return e.addLeafElement(t,e.elt("Task",t.start,t.start+t.content.length,[e.elt("TaskMarker",t.start,t.start+3),...e.parser.parseInline(t.content.slice(3),t.start+3)])),!0}},Qy={defineNodes:[{name:"Task",block:!0,style:u.list},{name:"TaskMarker",style:u.atom}],parseBlock:[{name:"TaskList",leaf(i,e){return/^\[[ xX]\][ \t]/.test(e.content)&&i.parentType().name=="ListItem"?new aa:null},after:"SetextHeading"}]},Au=/(www\.)|(https?:\/\/)|([\w.+-]+@)|(mailto:|xmpp:)/gy,_u=/[\w-]+(\.[\w-]+)+(\/[^\s<]*)?/gy,Sy=/[\w-]+\.[\w-]+($|\/)/,ju=/[\w.+-]+@[\w-]+(\.[\w.-]+)+/gy,Eu=/\/[a-zA-Z\d@.]+/gy;function Mu(i,e,t,n){let r=0;for(let s=e;s<t;s++)i[s]==n&&r++;return r}function yy(i,e){_u.lastIndex=e;let t=_u.exec(i);if(!t||Sy.exec(t[0])[0].indexOf("_")>-1)return-1;let n=e+t[0].length;for(;;){let r=i[n-1],s;if(/[?!.,:*_~]/.test(r)||r==")"&&Mu(i,e,n,")")>Mu(i,e,n,"("))n--;else if(r==";"&&(s=/&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(i.slice(e,n))))n=e+s.index;else break}return n}function Gu(i,e){ju.lastIndex=e;let t=ju.exec(i);if(!t)return-1;let n=t[0][t[0].length-1];return n=="_"||n=="-"?-1:e+t[0].length-(n=="."?1:0)}var Py={parseInline:[{name:"Autolink",parse(i,e,t){let n=t-i.offset;Au.lastIndex=n;let r=Au.exec(i.text),s=-1;if(!r)return-1;if(r[1]||r[2]){if(s=yy(i.text,n+r[0].length),s>-1&&i.hasOpenLink){let o=/([^\[\]]|\[[^\]]*\])*/.exec(i.text.slice(n,s));s=n+o[0].length}}else r[3]?s=Gu(i.text,n):(s=Gu(i.text,n+r[0].length),s>-1&&r[0]=="xmpp:"&&(Eu.lastIndex=s,r=Eu.exec(i.text),r&&(s=r.index+r[0].length)));return s<0?-1:(i.addElement(i.elt("URL",t,s+i.offset)),s+i.offset)}}]},fd=[$y,Qy,gy,Py];function ud(i,e,t){return(n,r,s)=>{if(r!=i||n.char(s+1)==i)return-1;let o=[n.elt(t,s,s+1)];for(let O=s+1;O<n.end;O++){let a=n.char(O);if(a==i)return n.addElement(n.elt(e,s,O+1,o.concat(n.elt(t,O,O+1))));if(a==92&&o.push(n.elt("Escape",O,O+++2)),Be(a))break}return-1}}var dd={defineNodes:[{name:"Superscript",style:u.special(u.content)},{name:"SuperscriptMark",style:u.processingInstruction}],parseInline:[{name:"Superscript",parse:ud(94,"Superscript","SuperscriptMark")}]},pd={defineNodes:[{name:"Subscript",style:u.special(u.content)},{name:"SubscriptMark",style:u.processingInstruction}],parseInline:[{name:"Subscript",parse:ud(126,"Subscript","SubscriptMark")}]},md={defineNodes:[{name:"Emoji",style:u.character}],parseInline:[{name:"Emoji",parse(i,e,t){let n;return e!=58||!(n=/^[a-zA-Z_0-9]+:/.exec(i.slice(t+1,i.end)))?-1:i.addElement(i.elt("Emoji",t,t+1+n[0].length))}}]};var Qd=vi({commentTokens:{block:{open:"<!--",close:"-->"}}}),Sd=new Z,yd=ld.configure({props:[ye.add(i=>!i.is("Block")||i.is("Document")||da(i)!=null||by(i)?void 0:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})),Sd.add(da),de.add({Document:()=>null}),yt.add({Document:Qd})]});function da(i){let e=/^(?:ATX|Setext)Heading(\d)$/.exec(i.name);return e?+e[1]:void 0}function by(i){return i.name=="OrderedList"||i.name=="BulletList"}function xy(i,e){let t=i;for(;;){let n=t.nextSibling,r;if(!n||(r=da(n.type))!=null&&r<=e)break;t=n}return t.to}var ky=cc.of((i,e,t)=>{for(let n=L(i).resolveInner(t,-1);n&&!(n.from<e);n=n.parent){let r=n.type.prop(Sd);if(r==null)continue;let s=xy(n,r);if(s>t)return{from:t,to:s}}return null});function pa(i){return new fe(Qd,i,[ky],"markdown")}var wy=pa(yd),Ty=yd.configure([fd,pd,dd,md,{props:[ye.add({Table:(i,e)=>({from:e.doc.lineAt(i.from).to,to:i.to})})]}]),Pd=pa(Ty);function vy(i,e){return t=>{if(t&&i){let n=null;if(t=/\S*/.exec(t)[0],typeof i=="function"?n=i(t):n=pn.matchLanguageName(i,t,!0),n instanceof pn)return n.support?n.support.language.parser:ri.getSkippingParser(n.load());if(n)return n.parser}return e?e.parser:null}}var Yi=class{constructor(e,t,n,r,s,o,O){this.node=e,this.from=t,this.to=n,this.spaceBefore=r,this.spaceAfter=s,this.type=o,this.item=O}blank(e,t=!0){let n=this.spaceBefore+(this.node.name=="Blockquote"?">":"");if(e!=null){for(;n.length<e;)n+=" ";return n}else{for(let r=this.to-this.from-n.length-this.spaceAfter.length;r>0;r--)n+=" ";return n+(t?this.spaceAfter:"")}}marker(e,t){let n=this.node.name=="OrderedList"?String(+xd(this.item,e)[2]+t):"";return this.spaceBefore+n+this.type+this.spaceAfter}};function bd(i,e){let t=[];for(let r=i;r;r=r.parent)(r.name=="ListItem"||r.name=="Blockquote"||r.name=="FencedCode")&&t.push(r);let n=[];for(let r=t.length-1;r>=0;r--){let s=t[r],o,O=e.lineAt(s.from),a=s.from-O.from;if(s.name=="FencedCode")n.push(new Yi(s,a,a,"","","",null));else if(s.name=="Blockquote"&&(o=/^ *>( ?)/.exec(O.text.slice(a))))n.push(new Yi(s,a,a+o[0].length,"",o[1],">",null));else if(s.name=="ListItem"&&s.parent.name=="OrderedList"&&(o=/^( *)\d+([.)])( *)/.exec(O.text.slice(a)))){let l=o[3],h=o[0].length;l.length>=4&&(l=l.slice(0,l.length-4),h-=4),n.push(new Yi(s.parent,a,a+h,o[1],l,o[2],s))}else if(s.name=="ListItem"&&s.parent.name=="BulletList"&&(o=/^( *)([-+*])( {1,4}\[[ xX]\])?( +)/.exec(O.text.slice(a)))){let l=o[4],h=o[0].length;l.length>4&&(l=l.slice(0,l.length-4),h-=4);let c=o[2];o[3]&&(c+=o[3].replace(/[xX]/," ")),n.push(new Yi(s.parent,a,a+h,o[1],l,c,s))}}return n}function xd(i,e){return/^(\s*)(\d+)(?=[.)])/.exec(e.sliceString(i.from,i.from+10))}function fa(i,e,t,n=0){for(let r=-1,s=i;;){if(s.name=="ListItem"){let O=xd(s,e),a=+O[2];if(r>=0){if(a!=r+1)return;t.push({from:s.from+O[1].length,to:s.from+O[0].length,insert:String(r+2+n)})}r=a}let o=s.nextSibling;if(!o)break;s=o}}function ma(i,e){let t=/^[ \t]*/.exec(i)[0].length;if(!t||e.facet(Ut)!=" ")return i;let n=we(i,4,t),r="";for(let s=n;s>0;)s>=4?(r+=" ",s-=4):(r+=" ",s--);return r+i.slice(t)}var zy=({state:i,dispatch:e})=>{let t=L(i),{doc:n}=i,r=null,s=i.changeByRange(o=>{if(!o.empty||!Pd.isActiveAt(i,o.from,0))return r={range:o};let O=o.from,a=n.lineAt(O),l=bd(t.resolveInner(O,-1),n);for(;l.length&&l[l.length-1].from>O-a.from;)l.pop();if(!l.length)return r={range:o};let h=l[l.length-1];if(h.to-h.spaceAfter.length>O-a.from)return r={range:o};let c=O>=h.to-h.spaceAfter.length&&!/\S/.test(a.text.slice(h.to));if(h.item&&c){let g=h.node.firstChild,$=h.node.getChild("ListItem","ListItem");if(g.to>=O||$&&$.to<O||a.from>0&&!/[^\s>]/.test(n.lineAt(a.from-1).text)){let Q=l.length>1?l[l.length-2]:null,b,k="";Q&&Q.item?(b=a.from+Q.from,k=Q.marker(n,1)):b=a.from+(Q?Q.to:0);let y=[{from:b,to:O,insert:k}];return h.node.name=="OrderedList"&&fa(h.item,n,y,-2),Q&&Q.node.name=="OrderedList"&&fa(Q.item,n,y),{range:S.cursor(b+k.length),changes:y}}else{let Q=$d(l,i,a);return{range:S.cursor(O+Q.length+1),changes:{from:a.from,insert:Q+i.lineBreak}}}}if(h.node.name=="Blockquote"&&c&&a.from){let g=n.lineAt(a.from-1),$=/>\s*$/.exec(g.text);if($&&$.index==h.from){let Q=i.changes([{from:g.from+$.index,to:g.to},{from:a.from+h.from,to:a.to}]);return{range:o.map(Q),changes:Q}}}let f=[];h.node.name=="OrderedList"&&fa(h.item,n,f);let d=h.item&&h.item.from<a.from,p="";if(!d||/^[\s\d.)\-+*>]*/.exec(a.text)[0].length>=h.to)for(let g=0,$=l.length-1;g<=$;g++)p+=g==$&&!d?l[g].marker(n,1):l[g].blank(g<$?we(a.text,4,l[g+1].from)-p.length:null);let m=O;for(;m>a.from&&/\s/.test(a.text.charAt(m-a.from-1));)m--;return p=ma(p,i),Ry(h.node,i.doc)&&(p=$d(l,i,a)+i.lineBreak+p),f.push({from:m,to:O,insert:i.lineBreak+p}),{range:S.cursor(m+p.length+1),changes:f}});return r?!1:(e(i.update(s,{scrollIntoView:!0,userEvent:"input"})),!0)};function gd(i){return i.name=="QuoteMark"||i.name=="ListMark"}function Ry(i,e){if(i.name!="OrderedList"&&i.name!="BulletList")return!1;let t=i.firstChild,n=i.getChild("ListItem","ListItem");if(!n)return!1;let r=e.lineAt(t.to),s=e.lineAt(n.from),o=/^[\s>]*$/.test(r.text);return r.number+(o?0:1)<s.number}function $d(i,e,t){let n="";for(let r=0,s=i.length-2;r<=s;r++)n+=i[r].blank(r<s?we(t.text,4,i[r+1].from)-n.length:null,r<s);return ma(n,e)}function Wy(i,e){let t=i.resolveInner(e,-1),n=e;gd(t)&&(n=t.from,t=t.parent);for(let r;r=t.childBefore(n);)if(gd(r))n=r.from;else if(r.name=="OrderedList"||r.name=="BulletList")t=r.lastChild,n=t.to;else break;return t}var Xy=({state:i,dispatch:e})=>{let t=L(i),n=null,r=i.changeByRange(s=>{let o=s.from,{doc:O}=i;if(s.empty&&Pd.isActiveAt(i,s.from)){let a=O.lineAt(o),l=bd(Wy(t,o),O);if(l.length){let h=l[l.length-1],c=h.to-h.spaceAfter.length+(h.spaceAfter?1:0);if(o-a.from>c&&!/\S/.test(a.text.slice(c,o-a.from)))return{range:S.cursor(a.from+c),changes:{from:a.from+c,to:o}};if(o-a.from==c&&(!h.item||a.from<=h.item.from||!/\S/.test(a.text.slice(0,h.to)))){let f=a.from+h.from;if(h.item&&h.node.from<h.item.from&&/\S/.test(a.text.slice(h.from,h.to))){let d=h.blank(we(a.text,4,h.to)-we(a.text,4,h.from));return f==a.from&&(d=ma(d,i)),{range:S.cursor(f+d.length),changes:{from:f,to:a.from+h.to,insert:d}}}if(f<o)return{range:S.cursor(f),changes:{from:f,to:o}}}}}return n={range:s}});return n?!1:(e(i.update(r,{scrollIntoView:!0,userEvent:"delete"})),!0)},Zy=[{key:"Enter",run:zy},{key:"Backspace",run:Xy}],kd=qi({matchClosingTags:!1});function ns(i={}){let{codeLanguages:e,defaultCodeLanguage:t,addKeymap:n=!0,base:{parser:r}=wy,completeHTMLTags:s=!0,htmlTagLanguage:o=kd}=i;if(!(r instanceof Wn))throw new RangeError("Base parser provided to `markdown` should be a Markdown parser");let O=i.extensions?[i.extensions]:[],a=[o.support],l;t instanceof Oe?(a.push(t.support),l=t.language):t&&(l=t);let h=e||l?vy(e,l):void 0;O.push(hd({codeParser:h,htmlParser:o.language.parser})),n&&a.push(nt.high(ht.of(Zy)));let c=pa(r.configure(O));return s&&a.push(c.data.of({autocomplete:qy})),new Oe(c,a)}function qy(i){let{state:e,pos:t}=i,n=/<[:\-\.\w\u00b7-\uffff]*$/.exec(e.sliceDoc(t-25,t));if(!n)return null;let r=L(e).resolveInner(t,-1);for(;r&&!r.type.isTop;){if(r.name=="CodeBlock"||r.name=="FencedCode"||r.name=="ProcessingInstructionBlock"||r.name=="CommentBlock"||r.name=="Link"||r.name=="Image")return null;r=r.parent}return{from:t-n[0].length,to:t,options:Vy(),validFor:/^<[:\-\.\w\u00b7-\uffff]*$/}}var ua=null;function Vy(){if(ua)return ua;let i=Ru(new Ir(I.create({extensions:kd}),0,!0));return ua=i?i.options:[]}var Cy=1,Yy=2,Uy=263,Ay=3,_y=264,wd=265,jy=266,Ey=4,My=5,Gy=6,Ly=7,Td=8,Dy=9,Iy=10,By=11,Ny=12,Fy=13,Hy=14,Ky=15,Jy=16,e0=17,t0=18,i0=19,n0=20,r0=21,s0=22,o0=23,O0=24,a0=25,l0=26,h0=27,c0=28,f0=29,u0=30,d0=31,p0=32,m0=33,g0=34,$0=35,Q0=36,S0=37,y0=38,P0=39,b0=40,x0=41,k0=42,w0=43,T0=44,v0=45,z0=46,R0=47,W0=48,X0=49,Z0=50,q0=51,V0=52,C0=53,Y0=54,U0=55,A0=56,_0=57,j0=58,E0=59,M0=60,G0=61,ga=62,L0=63,D0=64,I0=65,B0={abstract:Ey,and:My,array:Gy,as:Ly,true:Td,false:Td,break:Dy,case:Iy,catch:By,clone:Ny,const:Fy,continue:Hy,declare:Jy,default:Ky,do:e0,echo:t0,else:i0,elseif:n0,enddeclare:r0,endfor:s0,endforeach:o0,endif:O0,endswitch:a0,endwhile:l0,enum:h0,extends:c0,final:f0,finally:u0,fn:d0,for:p0,foreach:m0,from:g0,function:$0,global:Q0,goto:S0,if:y0,implements:P0,include:b0,include_once:x0,instanceof:k0,insteadof:w0,interface:T0,list:v0,match:z0,namespace:R0,new:W0,null:X0,or:Z0,print:q0,require:V0,require_once:C0,return:Y0,switch:U0,throw:A0,trait:_0,try:j0,unset:E0,use:M0,var:G0,public:ga,private:ga,protected:ga,while:L0,xor:D0,yield:I0,__proto__:null};function vd(i){let e=B0[i.toLowerCase()];return e??-1}function zd(i){return i==9||i==10||i==13||i==32}function Rd(i){return i>=97&&i<=122||i>=65&&i<=90}function Zn(i){return i==95||i>=128||Rd(i)}function $a(i){return i>=48&&i<=55||i>=97&&i<=102||i>=65&&i<=70}var N0={int:!0,integer:!0,bool:!0,boolean:!0,float:!0,double:!0,real:!0,string:!0,array:!0,object:!0,unset:!0,__proto__:null},F0=new ee(i=>{if(i.next==40){i.advance();let e=0;for(;zd(i.peek(e));)e++;let t="",n;for(;Rd(n=i.peek(e));)t+=String.fromCharCode(n),e++;for(;zd(i.peek(e));)e++;i.peek(e)==41&&N0[t.toLowerCase()]&&i.acceptToken(Cy)}else if(i.next==60&&i.peek(1)==60&&i.peek(2)==60){for(let n=0;n<3;n++)i.advance();for(;i.next==32||i.next==9;)i.advance();let e=i.next==39;if(e&&i.advance(),!Zn(i.next))return;let t=String.fromCharCode(i.next);for(;i.advance(),!(!Zn(i.next)&&!(i.next>=48&&i.next<=55));)t+=String.fromCharCode(i.next);if(e){if(i.next!=39)return;i.advance()}if(i.next!=10&&i.next!=13)return;for(;;){let n=i.next==10||i.next==13;if(i.advance(),i.next<0)return;if(n){for(;i.next==32||i.next==9;)i.advance();let r=!0;for(let s=0;s<t.length;s++){if(i.next!=t.charCodeAt(s)){r=!1;break}i.advance()}if(r)return i.acceptToken(Yy)}}}}),H0=new ee(i=>{i.next<0&&i.acceptToken(jy)}),K0=new ee((i,e)=>{i.next==63&&e.canShift(wd)&&i.peek(1)==62&&i.acceptToken(wd)});function J0(i){let e=i.peek(1);if(e==110||e==114||e==116||e==118||e==101||e==102||e==92||e==36||e==34||e==123)return 2;if(e>=48&&e<=55){let t=2,n;for(;t<5&&(n=i.peek(t))>=48&&n<=55;)t++;return t}if(e==120&&$a(i.peek(2)))return $a(i.peek(3))?4:3;if(e==117&&i.peek(2)==123)for(let t=3;;t++){let n=i.peek(t);if(n==125)return t==2?0:t+1;if(!$a(n))break}return 0}var eP=new ee((i,e)=>{let t=!1;for(;!(i.next==34||i.next<0||i.next==36&&(Zn(i.peek(1))||i.peek(1)==123)||i.next==123&&i.peek(1)==36);t=!0){if(i.next==92){let n=J0(i);if(n){if(t)break;return i.acceptToken(Ay,n)}}else if(!t&&(i.next==91||i.next==45&&i.peek(1)==62&&Zn(i.peek(2))||i.next==63&&i.peek(1)==45&&i.peek(2)==62&&Zn(i.peek(3)))&&e.canShift(_y))break;i.advance()}t&&i.acceptToken(Uy)}),tP=oe({"Visibility abstract final static":u.modifier,"for foreach while do if else elseif switch try catch finally return throw break continue default case":u.controlKeyword,"endif endfor endforeach endswitch endwhile declare enddeclare goto match":u.controlKeyword,"and or xor yield unset clone instanceof insteadof":u.operatorKeyword,"function fn class trait implements extends const enum global interface use var":u.definitionKeyword,"include include_once require require_once namespace":u.moduleKeyword,"new from echo print array list as":u.keyword,null:u.null,Boolean:u.bool,VariableName:u.variableName,"NamespaceName/...":u.namespace,"NamedType/...":u.typeName,Name:u.name,"CallExpression/Name":u.function(u.variableName),"LabelStatement/Name":u.labelName,"MemberExpression/Name":u.propertyName,"MemberExpression/VariableName":u.special(u.propertyName),"ScopedExpression/ClassMemberName/Name":u.propertyName,"ScopedExpression/ClassMemberName/VariableName":u.special(u.propertyName),"CallExpression/MemberExpression/Name":u.function(u.propertyName),"CallExpression/ScopedExpression/ClassMemberName/Name":u.function(u.propertyName),"MethodDeclaration/Name":u.function(u.definition(u.variableName)),"FunctionDefinition/Name":u.function(u.definition(u.variableName)),"ClassDeclaration/Name":u.definition(u.className),UpdateOp:u.updateOperator,ArithOp:u.arithmeticOperator,LogicOp:u.logicOperator,BitOp:u.bitwiseOperator,CompareOp:u.compareOperator,ControlOp:u.controlOperator,AssignOp:u.definitionOperator,"$ ConcatOp":u.operator,LineComment:u.lineComment,BlockComment:u.blockComment,Integer:u.integer,Float:u.float,String:u.string,ShellExpression:u.special(u.string),"=> ->":u.punctuation,"( )":u.paren,"#[ [ ]":u.squareBracket,"${ { }":u.brace,"-> ?->":u.derefOperator,", ; :: : \\":u.separator,"PhpOpen PhpClose":u.processingInstruction}),iP={__proto__:null,static:311,STATIC:311,class:333,CLASS:333},Wd=me.deserialize({version:14,states:"$GSQ`OWOOQhQaOOP%oO`OOOOO#t'#H_'#H_O%tO#|O'#DtOOO#u'#Dw'#DwQ&SOWO'#DwO&XO$VOOOOQ#u'#Dx'#DxO&lQaO'#D|O(mQdO'#E}O(tQdO'#EQO*kQaO'#EWO,zQ`O'#ETO-PQ`O'#E^O/nQaO'#E^O/uQ`O'#EfO/zQ`O'#EoO*kQaO'#EoO0VQ`O'#HhO0[Q`O'#E{O0[Q`O'#E{OOQS'#Ic'#IcO0aQ`O'#EvOOQS'#IZ'#IZO2oQdO'#IWO6tQeO'#FUO*kQaO'#FeO*kQaO'#FfO*kQaO'#FgO*kQaO'#FhO*kQaO'#FhO*kQaO'#FkOOQO'#Id'#IdO7RQ`O'#FqOOQO'#Hi'#HiO7ZQ`O'#HOO7uQ`O'#FlO8QQ`O'#H]O8]Q`O'#FvO8eQaO'#FwO*kQaO'#GVO*kQaO'#GYO8}OrO'#G]OOQS'#Iq'#IqOOQS'#Ip'#IpOOQS'#IW'#IWO,zQ`O'#GdO,zQ`O'#GfO,zQ`O'#GkOhQaO'#GmO9UQ`O'#GnO9ZQ`O'#GqO9`Q`O'#GtO9eQeO'#GuO9eQeO'#GvO9eQeO'#GwO9oQ`O'#GxO9tQ`O'#GzO9yQaO'#G{O<YQ`O'#G|O<_Q`O'#G}O<dQ`O'#G}O9oQ`O'#HOO<iQ`O'#HQO<nQ`O'#HRO<sQ`O'#HSO<xQ`O'#HVO=TQ`O'#HWO9yQaO'#H[OOQ#u'#IV'#IVOOQ#u'#Ha'#HaQhQaOOO=fQ`O'#HPO7pQ`O'#HPO=kO#|O'#DrPOOO)CCw)CCwOOO#t-E;]-E;]OOO#u,5:c,5:cOOO#u'#H`'#H`O&XO$VOOO=vQ$VO'#IUOOOO'#IU'#IUQOOOOOOOQ#y,5:h,5:hO=}QaO,5:hOOQ#u,5:j,5:jO@eQaO,5:mO@lQaO,5;UO*kQaO,5;UO@sQ`O,5;VOCbQaO'#EsOOQS,5;^,5;^OCiQ`O,5;jOOQP'#F]'#F]O*kQaO,5;qO*kQaO,5;qO*kQaO,5;qO*kQaO,5;qO*kQaO,5;qO*kQaO,5;qO*kQaO,5;qO*kQaO,5;qO*kQaO,5;qO*kQaO,5;qO*kQaO,5;qO*kQaO,5;qO*kQaO,5;qO*kQaO,5;qO*kQaO,5;qO*kQaO,5;qOOQ#u'#Im'#ImOOQS,5<q,5<qOOQ#u,5:l,5:lOEbQ`O,5:rOEiQdO'#E}OF]Q`O'#FlOFeQ`O'#FlOFmQ`O,5:oOFrQaO'#E_OOQS,5:x,5:xOHyQ`O'#I]O9yQaO'#EaO9yQaO'#I]OOQS'#I]'#I]OIQQ`O'#I[OIYQ`O,5:xO-UQaO,5:xOI_QaO'#EgOOQS,5;Q,5;QOOQS,5;Z,5;ZOIiQ`O,5;ZOOQO,5>S,5>SOJ[QdO,5;gOOQO-E;f-E;fOL^Q`O,5;gOLcQpO,5;bO0aQ`O'#EyOLkQtO'#E}OOQS'#Ez'#EzOOQS'#Ib'#IbOM`QaO,5:wO*kQaO,5;nOOQS,5;p,5;pO*kQaO,5;pOMgQdO,5<POMwQdO,5<QONXQdO,5<RONiQdO,5<SO!!sQdO,5<SO!!zQdO,5<VO!#[Q`O'#FrO!#gQ`O'#IgO!#oQ`O,5<]OOQO-E;g-E;gO!#tQ`O'#IoO<_Q`O,5=iO!#|Q`O,5=iO9oQ`O,5=jO!$RQ`O,5=nO!$WQ`O,5=kO!$]Q`O,5=kO!$bQ`O'#FnO!$xQ`O,5<WO!%TQ`O,5<WO!%WQ`O,5?ZO!%]Q`O,5<WO!%eQ`O,5<bO!%mQdO'#GPO!%{QdO'#InO!&WQdO,5=wO!&`Q`O,5<bO!%WQ`O,5<bO!&hQdO,5<cO!&xQ`O,5<cO!'lQdO,5<qO!)nQdO,5<tO!*OOrO'#HsOOOQ'#It'#ItO*kQaO'#GbOOOQ'#Hs'#HsO!*pOrO,5<wOOQS,5<w,5<wO!*wQaO,5=OO!+OQ`O,5=QO!+WQeO,5=VO!+bQ`O,5=XO!+gQaO'#GoO!+WQeO,5=YO9yQaO'#GrO!+WQeO,5=]O!&WQdO,5=`O(tQdO,5=aOOQ#u,5=a,5=aO(tQdO,5=bOOQ#u,5=b,5=bO(tQdO,5=cOOQ#u,5=c,5=cO!+nQ`O,5=dO!+vQ`O,5=fO!+{QdO'#IvOOQS'#Iv'#IvO!&WQdO,5=gO>UQaO,5=hO!-eQ`O'#F}O!-jQdO'#IlO!&WQdO,5=iOOQ#u,5=j,5=jO!-uQ`O,5=lO!-xQ`O,5=mO!-}Q`O,5=nO!.YQdO,5=qOOQ#u,5=q,5=qO!.eQ`O,5=rO!.eQ`O,5=rO!.mQdO'#IwO!.{Q`O'#HXO!&WQdO,5=rO!/ZQ`O,5=rO!/fQdO'#IYO!&WQdO,5=vOOQ#u-E;_-E;_O!1RQ`O,5=kOOO#u,5:^,5:^O!1^O#|O,5:^OOO#u-E;^-E;^OOOO,5>p,5>pOOQ#y1G0S1G0SO!1fQ`O1G0XO*kQaO1G0XO!2xQ`O1G0pOOQS1G0p1G0pO!4[Q`O1G0pOOQS'#I_'#I_O*kQaO'#I_OOQS1G0q1G0qO!4cQ`O'#IaO!7lQ`O'#E}O!7yQaO'#EuOOQO'#Ia'#IaO!8TQ`O'#I`O!8]Q`O,5;_OOQS'#FQ'#FQOOQS1G1U1G1UO!8bQdO1G1]O!:dQdO1G1]O!<PQdO1G1]O!=lQdO1G1]O!?XQdO1G1]O!@tQdO1G1]O!BaQdO1G1]O!C|QdO1G1]O!EiQdO1G1]O!GUQdO1G1]O!HqQdO1G1]O!J^QdO1G1]O!KyQdO1G1]O!MfQdO1G1]O# RQdO1G1]O#!nQdO1G1]OOQT1G0^1G0^O!%WQ`O,5<WO#$ZQaO'#EXOOQS1G0Z1G0ZO#$bQ`O,5:yOFuQaO,5:yO#$gQaO,5:}O#$nQdO,5:{O#&jQdO,5>wO#(fQaO'#HdO#(vQ`O,5>vOOQS1G0d1G0dO#)OQ`O1G0dO#)TQ`O'#I^O#*mQ`O'#I^O#*uQ`O,5;ROIbQaO,5;ROOQS1G0u1G0uPOQO'#E}'#E}O#+fQdO1G1RO0aQ`O'#HgO#-hQtO,5;cO#.YQaO1G0|OOQS,5;e,5;eO#0iQtO,5;gO#0vQdO1G0cO*kQaO1G0cO#2cQdO1G1YO#4OQdO1G1[OOQO,5<^,5<^O#4`Q`O'#HjO#4nQ`O,5?ROOQO1G1w1G1wO#4vQ`O,5?ZO!&WQdO1G3TO<_Q`O1G3TOOQ#u1G3U1G3UO#4{Q`O1G3YO!1RQ`O1G3VO#5WQ`O1G3VO#5]QpO'#FoO#5kQ`O'#FoO#5{Q`O'#FoO#6WQ`O'#FoO#6`Q`O'#FsO#6eQ`O'#FtOOQO'#If'#IfO#6lQ`O'#IeO#6tQ`O,5<YOOQS1G1r1G1rO0aQ`O1G1rO#6yQ`O1G1rO#7OQ`O1G1rO!%WQ`O1G4uO#7ZQdO1G4uO!%WQ`O1G1rO#7iQ`O1G1|O!%WQ`O1G1|O9yQaO,5<kO#7qQdO'#HqO#8PQdO,5?YOOQ#u1G3c1G3cO*kQaO1G1|O0aQ`O1G1|O#8[QdO1G1}O7RQ`O'#FyO7RQ`O'#FzO#:nQ`O'#F{OOQS1G1}1G1}O!-xQ`O1G1}O!1UQ`O1G1}O!1RQ`O1G1}O#;eO`O,5<xO#;jO`O,5<xO#;uO!bO,5<yO#<TQ`O,5<|OOOQ-E;q-E;qOOQS1G2c1G2cO#<[QaO'#GeO#<uQ$VO1G2jO#AuQ`O1G2jO#BQQ`O'#GgO#B]Q`O'#GjOOQ#u1G2l1G2lO#BhQ`O1G2lOOQ#u'#Gl'#GlOOQ#u'#Iu'#IuOOQ#u1G2q1G2qO#BmQ`O1G2qO,zQ`O1G2sO#BrQaO,5=ZO#ByQ`O,5=ZOOQ#u1G2t1G2tO#COQ`O1G2tO#CTQ`O,5=^OOQ#u1G2w1G2wO#DgQ`O1G2wOOQ#u1G2z1G2zOOQ#u1G2{1G2{OOQ#u1G2|1G2|OOQ#u1G2}1G2}O#DlQ`O'#HxO9oQ`O'#HxO#DqQ$VO1G3OO#IwQ`O1G3QO9yQaO'#HwO#I|QdO,5=[OOQ#u1G3R1G3RO#JXQ`O1G3SO9yQaO,5<iO#J^QdO'#HpO#JlQdO,5?WOOQ#u1G3T1G3TOOQ#u1G3W1G3WO!-xQ`O1G3WOOQ#u1G3X1G3XO#KfQ`O'#HTOOQ#u1G3Y1G3YO#KmQ`O1G3YO0aQ`O1G3YOOQ#u1G3]1G3]O!&WQdO1G3^O#KrQ`O1G3^O#KzQdO'#HzO#L]QdO,5?cO#LhQ`O,5?cO#LmQ`O'#HYO7RQ`O'#HYO#LxQ`O'#IxO#MQQ`O,5=sOOQ#u1G3^1G3^O!.eQ`O1G3^O!.eQ`O1G3^O#MVQeO'#HbO#MgQdO,5>tOOQ#u1G3b1G3bOOQ#u1G3V1G3VO!-xQ`O1G3VO!1UQ`O1G3VOOO#u1G/x1G/xO*kQaO7+%sO#MuQdO7+%sOOQS7+&[7+&[O$ bQ`O,5>yO>UQaO,5;`O$ iQ`O,5;aO$#OQaO'#HfO$#YQ`O,5>zOOQS1G0y1G0yO$#bQ`O'#EYO$#gQ`O'#IXO$#oQ`O,5:sOOQS1G0e1G0eO$#tQ`O1G0eO$#yQ`O1G0iO9yQaO1G0iOOQO,5>O,5>OOOQO-E;b-E;bOOQS7+&O7+&OO>UQaO,5;SO$%`QaO'#HeO$%jQ`O,5>xOOQS1G0m1G0mO$%rQ`O1G0mOOQS,5>R,5>ROOQS-E;e-E;eO$%wQdO7+&hO$'yQtO1G1RO$(WQdO7+%}OOQS1G0i1G0iOOQO,5>U,5>UOOQO-E;h-E;hOOQ#u7+(o7+(oO!&WQdO7+(oOOQ#u7+(t7+(tO#KmQ`O7+(tO0aQ`O7+(tOOQ#u7+(q7+(qO!-xQ`O7+(qO!1UQ`O7+(qO!1RQ`O7+(qO$)sQ`O,5<ZO$*OQ`O,5<ZO$*WQ`O,5<_O$*]QpO,5<ZO>UQaO,5<ZOOQO,5<_,5<_O$*kQpO,5<`O$*sQ`O,5<`O$+OQ`O'#HkO$+iQ`O,5?POOQS1G1t1G1tO$+qQpO7+'^O$+yQ`O'#FuO$,UQ`O7+'^OOQS7+'^7+'^O0aQ`O7+'^O#6yQ`O7+'^O$,^QdO7+*aO0aQ`O7+*aO$,lQ`O7+'^O*kQaO7+'hO0aQ`O7+'hO$,wQ`O7+'hO$-PQdO1G2VOOQS,5>],5>]OOQS-E;o-E;oO$.iQdO7+'hO$.yQpO7+'hO$/RQdO'#IiOOQO,5<e,5<eOOQO,5<f,5<fO$/dQpO'#GOO$/lQ`O'#GOOOQO'#Ik'#IkOOQO'#Ho'#HoO$0]Q`O'#GOO<_Q`O'#F|O!&WQdO'#GOO!.YQdO'#GQO7RQ`O'#GROOQO'#Ij'#IjOOQO'#Hn'#HnO$0yQ`O,5<gOOQ#y,5<g,5<gOOQS7+'i7+'iO!-xQ`O7+'iO!1UQ`O7+'iOOOQ1G2d1G2dO$1pO`O1G2dO$1uO!bO1G2eO$2TO`O'#G`O$2YO`O1G2eOOOQ1G2h1G2hO$2_QaO,5=PO,zQ`O'#HtO$2xQ$VO7+(UOhQaO7+(UO,zQ`O'#HuO$7xQ`O7+(UO!&WQdO7+(UO$8TQ`O7+(UO$8YQaO'#GhO$:iQ`O'#GiOOQO'#Hv'#HvO$:qQ`O,5=ROOQ#u,5=R,5=RO$:|Q`O,5=UO!&WQdO7+(WO!&WQdO7+(]O!&WQdO7+(_O$;XQaO1G2uO$;`Q`O1G2uO$;eQaO1G2uO!&WQdO7+(`O9yQaO1G2xO!&WQdO7+(cO0aQ`O'#GyO9oQ`O,5>dOOQ#u,5>d,5>dOOQ#u-E;v-E;vO$;lQaO7+(lO$<TQdO,5>cOOQS-E;u-E;uO!&WQdO7+(nO$=mQdO1G2TOOQS,5>[,5>[OOQS-E;n-E;nOOQ#u7+(r7+(rO$?nQ`O'#GQO$?uQ`O'#GQO$@ZQ`O'#HUOOQO'#Hy'#HyO$@`Q`O,5=oOOQ#u,5=o,5=oO$@gQpO7+(tOOQ#u7+(x7+(xO!&WQdO7+(xO$@rQdO,5>fOOQS-E;x-E;xO$AQQdO1G4}O$A]Q`O,5=tO$AbQ`O,5=tO$AmQ`O'#H{O$BRQ`O,5?dOOQS1G3_1G3_O#KrQ`O7+(xO$BZQdO,5=|OOQS-E;`-E;`O$CvQdO<<I_OOQS1G4e1G4eO$EcQ`O1G0zOOQO,5>Q,5>QOOQO-E;d-E;dO$8YQaO,5:tO$FxQaO'#HcO$GVQ`O,5>sOOQS1G0_1G0_OOQS7+&P7+&PO$G_Q`O7+&TO$HtQ`O1G0nO$JZQ`O,5>POOQO,5>P,5>POOQO-E;c-E;cOOQS7+&X7+&XOOQS7+&T7+&TOOQ#u<<LZ<<LZOOQ#u<<L`<<L`O$@gQpO<<L`OOQ#u<<L]<<L]O!-xQ`O<<L]O!1UQ`O<<L]O>UQaO1G1uO$KsQ`O1G1uO$LOQ`O1G1yOOQO1G1y1G1yO$LTQ`O1G1uO$L]Q`O1G1uO$MrQ`O1G1zO>UQaO1G1zOOQO,5>V,5>VOOQO-E;i-E;iOOQS<<Jx<<JxO$M}Q`O'#IhO$NVQ`O'#IhO$N[Q`O,5<aO0aQ`O<<JxO$+qQpO<<JxO$NaQ`O<<JxO0aQ`O<<M{O$NiQtO<<M{O#6yQ`O<<JxO$NwQdO<<KSO% XQpO<<KSO*kQaO<<KSO0aQ`O<<KSO% aQdO'#HmO% xQdO,5?TO!&WQdO,5<jO$/dQpO,5<jO%!ZQ`O,5<jO<_Q`O,5<hO!.YQdO,5<lOOQO-E;m-E;mO!&WQdO,5<hOOQO,5<j,5<jOOQO,5<l,5<lO%!tQdO,5<mOOQO-E;l-E;lOOQ#y1G2R1G2ROOQS<<KT<<KTO!-xQ`O<<KTOOOQ7+(O7+(OO%#PO`O7+(POOOO,5<z,5<zOOOQ7+(P7+(POhQaO,5>`OOQ#u-E;r-E;rOhQaO<<KpOOQ#u<<Kp<<KpO$8TQ`O,5>aOOQO-E;s-E;sO!&WQdO<<KpO$8TQ`O<<KpO%#UQ`O<<KpO%#ZQ`O,5=SO%$pQaO,5=TOOQO-E;t-E;tOOQ#u1G2m1G2mOOQ#u<<Kr<<KrOOQ#u<<Kw<<KwOOQ#u<<Ky<<KyOOQT7+(a7+(aO%%QQ`O7+(aO%%VQaO7+(aO%%^Q`O7+(aOOQ#u<<Kz<<KzO%%cQ`O7+(dO%&xQ`O7+(dOOQ#u<<K}<<K}O%&}QpO,5=eOOQ#u1G4O1G4OO%'YQ`O<<LWOOQ#u<<LY<<LYO$?uQ`O,5<lO%'_Q`O,5=pO%'dQdO,5=pOOQO-E;w-E;wOOQ#u1G3Z1G3ZO#KmQ`O<<L`OOQ#u<<Ld<<LdO%'oQ`O1G4QO%'tQdO7+*iOOQO1G3`1G3`O%(PQ`O1G3`O%(UQ`O'#HZO7RQ`O'#HZOOQO,5>g,5>gOOQO-E;y-E;yO!&WQdO<<LdO%(aQ`O1G0`OOQO,5=},5=}OOQO-E;a-E;aO>UQaO,5;TOOQ#uANAzANAzO#KmQ`OANAzOOQ#uANAwANAwO!-xQ`OANAwO%)vQ`O7+'aO>UQaO7+'aOOQO7+'e7+'eO%+]Q`O7+'aO%+hQ`O7+'eO>UQaO7+'fO%+mQ`O7+'fO%-SQ`O'#HlO%-bQ`O,5?SO%-bQ`O,5?SOOQO1G1{1G1{O$+qQpOAN@dOOQSAN@dAN@dO0aQ`OAN@dO%-jQtOANCgO%-xQ`OAN@dO*kQaOAN@nO%.QQdOAN@nO%.bQpOAN@nOOQS,5>X,5>XOOQS-E;k-E;kOOQO1G2U1G2UO!&WQdO1G2UO$/dQpO1G2UO<_Q`O1G2SO!.YQdO1G2WO!&WQdO1G2SOOQO1G2W1G2WOOQO1G2S1G2SO%.jQaO'#GSOOQO1G2X1G2XOOQSAN@oAN@oOOOQ<<Kk<<KkOOQ#u1G3z1G3zOOQ#uANA[ANA[OOQO1G3{1G3{O%0iQ`OANA[O!&WQdOANA[O%0nQaO1G2nO%1OQaO1G2oOOQT<<K{<<K{O%1`Q`O<<K{O%1eQaO<<K{O*kQaO,5=_OOQT<<LO<<LOOOQO1G3P1G3PO%1lQ`O1G3PO!+WQeOANArO%1qQdO1G3[OOQO1G3[1G3[O%1|Q`O1G3[OOQS7+)l7+)lOOQO7+(z7+(zO%2UQ`O,5=uO%2ZQ`O,5=uOOQ#uANBOANBOO%2fQ`O1G0oOOQ#uG27fG27fOOQ#uG27cG27cO%3{Q`O<<J{O>UQaO<<J{OOQO<<KP<<KPO%5bQ`O<<KQOOQO,5>W,5>WO%6wQ`O,5>WOOQO-E;j-E;jO%6|Q`O1G4nOOQSG26OG26OO$+qQpOG26OO0aQ`OG26OO%7UQdOG26YO*kQaOG26YOOQO7+'p7+'pO!&WQdO7+'pO!&WQdO7+'nOOQO7+'r7+'rOOQO7+'n7+'nO%7fQ`OLD+tO%8uQ`O'#E}O%9PQ`O'#IZO!&WQdO'#HrO%:|QaO,5<nOOQO,5<n,5<nO!&WQdOG26vOOQ#uG26vG26vO%<{QaO7+(YOOQTANAgANAgO%=]Q`OANAgO%=bQ`O1G2yOOQO7+(k7+(kOOQ#uG27^G27^O%=iQ`OG27^OOQO7+(v7+(vO%=nQ`O7+(vO!&WQdO7+(vOOQO1G3a1G3aO%=vQ`O1G3aO%={Q`OAN@gOOQO1G3r1G3rOOQSLD+jLD+jO$+qQpOLD+jO%?bQdOLD+tOOQO<<K[<<K[OOQO<<KY<<KYO%?rQ`O,5<oO%?wQ`O,5<pOOQP,5>^,5>^OOQP-E;p-E;pOOQO1G2Y1G2YOOQ#uLD,bLD,bOOQTG27RG27RO!&WQdOLD,xO!&WQdO<<LbOOQO<<Lb<<LbOOQO7+({7+({OOQS!$( U!$( UOOQS1G2Z1G2ZOOQS1G2[1G2[O%@PQdO1G2[OOQ#u!$(!d!$(!dOOQOANA|ANA|OOQS7+'v7+'vO%@[Q`O'#E{O%@[Q`O'#E{O%@aQ`O,5;gO%@fQdO,5<cO%BbQaO,5:}O*kQaO1G0iO%BiQaO'#FwO#.YQaO'#GVO#.YQaO'#GYO#.YQaO,5;qO#.YQaO,5;qO#.YQaO,5;qO#.YQaO,5;qO#.YQaO,5;qO#.YQaO,5;qO#.YQaO,5;qO#.YQaO,5;qO#.YQaO,5;qO#.YQaO,5;qO#.YQaO,5;qO#.YQaO,5;qO#.YQaO,5;qO#.YQaO,5;qO#.YQaO,5;qO#.YQaO,5;qO%BpQdO'#I]O%D`QdO'#I]O#.YQaO'#EaO#.YQaO'#I]O%FbQaO,5:wO#.YQaO,5;nO#.YQaO,5;pO%FiQdO,5<PO%HeQdO,5<QO%JaQdO,5<RO%L]QdO,5<SO%NXQdO,5<SO%NoQdO,5<VO&!kQdO,5<tO#.YQaO1G0XO&$gQdO1G1]O&&cQdO1G1]O&(_QdO1G1]O&*ZQdO1G1]O&,VQdO1G1]O&.RQdO1G1]O&/}QdO1G1]O&1yQdO1G1]O&3uQdO1G1]O&5qQdO1G1]O&7mQdO1G1]O&9iQdO1G1]O&;eQdO1G1]O&=aQdO1G1]O&?]QdO1G1]O&AXQdO,5:{O&CTQdO,5>wO&EPQdO1G0cO#.YQaO1G0cO&F{QdO1G1YO&HwQdO1G1[O#.YQaO1G1|O#.YQaO7+%sO&JsQdO7+%sO&LoQdO7+%}O#.YQaO7+'hO&NkQdO7+'hO'!gQdO<<I_O'$cQdO<<KSO#.YQaO<<KSO#.YQaOAN@nO'&_QdOAN@nO'(ZQdOG26YO#.YQaOG26YO'*VQdOLD+tO',RQaO,5:}O'.QQaO1G0iO'/|QdO'#IWO'0aQeO'#FUO'4aQeO'#FUO#.YQaO'#FeO'.QQaO'#FeO#.YQaO'#FfO'.QQaO'#FfO#.YQaO'#FgO'.QQaO'#FgO#.YQaO'#FhO'.QQaO'#FhO#.YQaO'#FhO'.QQaO'#FhO#.YQaO'#FkO'.QQaO'#FkO'8gQaO,5:mO'8nQ`O,5<bO'8vQ`O1G0XO'.QQaO1G0|O':YQ`O1G1|O':bQ`O7+'hO':jQpO7+'hO':rQpO<<KSO':zQpOAN@nO';SQaO'#FwO'.QQaO'#GVO'.QQaO'#GYO'.QQaO,5;qO'.QQaO,5;qO'.QQaO,5;qO'.QQaO,5;qO'.QQaO,5;qO'.QQaO,5;qO'.QQaO,5;qO'.QQaO,5;qO'.QQaO,5;qO'.QQaO,5;qO'.QQaO,5;qO'.QQaO,5;qO'.QQaO,5;qO'.QQaO,5;qO'.QQaO,5;qO'.QQaO,5;qO'.QQaO'#EaO'.QQaO'#I]O'=RQaO,5:wO'.QQaO,5;nO'.QQaO,5;pO'?QQdO,5<PO'ASQdO,5<QO'CUQdO,5<RO'EWQdO,5<SO'GYQdO,5<SO'GvQdO,5<VO'IxQdO,5<tO'.QQaO1G0XO'KzQdO1G1]O'M|QdO1G1]O(!OQdO1G1]O($QQdO1G1]O(&SQdO1G1]O((UQdO1G1]O(*WQdO1G1]O(,YQdO1G1]O(.[QdO1G1]O(0^QdO1G1]O(2`QdO1G1]O(4bQdO1G1]O(6dQdO1G1]O(8fQdO1G1]O(:hQdO1G1]O(<jQdO,5:{O(>lQdO,5>wO(@nQdO1G0cO'.QQaO1G0cO(BpQdO1G1YO(DrQdO1G1[O'.QQaO1G1|O'.QQaO7+%sO(FtQdO7+%sO(HvQdO7+%}O'.QQaO7+'hO(JxQdO7+'hO(LzQdO<<I_O(N|QdO<<KSO'.QQaO<<KSO'.QQaOAN@nO)#OQdOAN@nO)%QQdOG26YO'.QQaOG26YO)'SQdOLD+tO))UQaO,5:}O#.YQaO1G0iO))]Q`O'#FvO))eQpO,5;bO))mQ`O,5<bO!%WQ`O,5<bO!%WQ`O1G1|O0aQ`O1G1|O0aQ`O7+'hO0aQ`O<<KSO))uQdO,5<cO)+wQdO'#I]O)-vQdO'#IWO).aQaO,5:mO).hQ`O,5<bO).pQ`O1G0XO)0SQ`O1G1|O)0[Q`O7+'hO)0dQpO7+'hO)0lQpO<<KSO)0tQpOAN@nO0aQ`O'#EvO9yQaO'#FeO9yQaO'#FfO9yQaO'#FgO9yQaO'#FhO9yQaO'#FhO9yQaO'#FkO)0|QaO'#FwO9yQaO'#GVO9yQaO'#GYO9yQaO,5;qO9yQaO,5;qO9yQaO,5;qO9yQaO,5;qO9yQaO,5;qO9yQaO,5;qO9yQaO,5;qO9yQaO,5;qO9yQaO,5;qO9yQaO,5;qO9yQaO,5;qO9yQaO,5;qO9yQaO,5;qO9yQaO,5;qO9yQaO,5;qO9yQaO,5;qO)1TQ`O'#FlO*kQaO'#EaO*kQaO'#I]O)1]QaO,5:wO9yQaO,5;nO9yQaO,5;pO)1dQdO,5<PO)3`QdO,5<QO)5[QdO,5<RO)7WQdO,5<SO)9SQdO,5<SO)9jQdO,5<VO);fQdO,5<cO)=bQdO,5<tO)?^Q`O'#IvO)@sQ`O'#IYO9yQaO1G0XO)BYQdO1G1]O)DUQdO1G1]O)FQQdO1G1]O)G|QdO1G1]O)IxQdO1G1]O)KtQdO1G1]O)MpQdO1G1]O* lQdO1G1]O*#hQdO1G1]O*%dQdO1G1]O*'`QdO1G1]O*)[QdO1G1]O*+WQdO1G1]O*-SQdO1G1]O*/OQdO1G1]O*0zQaO,5:}O*1RQdO,5:{O*1cQdO,5>wO*1sQaO'#HdO*2TQ`O,5>vO*2]QdO1G0cO9yQaO1G0cO*4XQdO1G1YO*6TQdO1G1[O9yQaO1G1|O>UQaO'#HwO*8PQ`O,5=[O*8XQaO'#HbO*8cQ`O,5>tO9yQaO7+%sO*8kQdO7+%sO*:gQ`O1G0iO>UQaO1G0iO*;|QdO7+%}O9yQaO7+'hO*=xQdO7+'hO*?tQ`O,5>cO*AZQ`O,5=|O*BpQdO<<I_O*DlQ`O7+&TO*FRQdO<<KSO9yQaO<<KSO9yQaOAN@nO*G}QdOAN@nO*IyQdOG26YO9yQaOG26YO*KuQdOLD+tO*MqQaO,5:}O9yQaO1G0iO*MxQdO'#I]O*NcQ`O'#FvO*NkQ`O,5<bO!%WQ`O,5<bO!%WQ`O1G1|O0aQ`O1G1|O0aQ`O7+'hO0aQ`O<<KSO*NsQdO'#IWO+ ^QeO'#FUO+ zQaO'#FUO+#sQaO'#FUO+%`QaO'#FUO>UQaO'#FeO>UQaO'#FfO>UQaO'#FgO>UQaO'#FhO>UQaO'#FhO>UQaO'#FkO+'XQaO'#FwO>UQaO'#GVO>UQaO'#GYO+'`QaO,5:mO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO+'gQ`O'#I]O$8YQaO'#EaO+)PQaOG26YO$8YQaO'#I]O+*{Q`O'#I[O++TQaO,5:wO>UQaO,5;nO>UQaO,5;pO++[Q`O,5<PO+,wQ`O,5<QO+.dQ`O,5<RO+0PQ`O,5<SO+1lQ`O,5<SO+3XQ`O,5<VO+4tQ`O,5<bO+4|Q`O,5<cO+6iQ`O,5<tO+8UQ`O1G0XO>UQaO1G0XO+9hQ`O1G1]O+;TQ`O1G1]O+<pQ`O1G1]O+>]Q`O1G1]O+?xQ`O1G1]O+AeQ`O1G1]O+CQQ`O1G1]O+DmQ`O1G1]O+FYQ`O1G1]O+GuQ`O1G1]O+IbQ`O1G1]O+J}Q`O1G1]O+LjQ`O1G1]O+NVQ`O1G1]O, rQ`O1G1]O,#_Q`O1G0cO>UQaO1G0cO,$zQ`O1G1YO,&gQ`O1G1[O,(SQ`O1G1|O>UQaO1G1|O>UQaO7+%sO,([Q`O7+%sO,)wQ`O7+%}O>UQaO7+'hO,+dQ`O7+'hO,+lQ`O7+'hO,-XQpO7+'hO,-aQ`O<<I_O,.|Q`O<<KSO,0iQpO<<KSO>UQaO<<KSO>UQaOAN@nO,0qQ`OAN@nO,2^QpOAN@nO,2fQ`OG26YO>UQaOG26YO,4RQ`OLD+tO,5nQaO,5:}O>UQaO1G0iO,5uQ`O'#I]O$8YQaO'#FeO$8YQaO'#FfO$8YQaO'#FgO$8YQaO'#FhO$8YQaO'#FhO+)PQaO'#FhO$8YQaO'#FkO,6SQaO'#FwO,6ZQaO'#FwO$8YQaO'#GVO+)PQaO'#GVO$8YQaO'#GYO$8YQaO,5;qO+)PQaO,5;qO$8YQaO,5;qO+)PQaO,5;qO$8YQaO,5;qO+)PQaO,5;qO$8YQaO,5;qO+)PQaO,5;qO$8YQaO,5;qO+)PQaO,5;qO$8YQaO,5;qO+)PQaO,5;qO$8YQaO,5;qO+)PQaO,5;qO$8YQaO,5;qO+)PQaO,5;qO$8YQaO,5;qO+)PQaO,5;qO$8YQaO,5;qO+)PQaO,5;qO$8YQaO,5;qO+)PQaO,5;qO$8YQaO,5;qO+)PQaO,5;qO$8YQaO,5;qO+)PQaO,5;qO$8YQaO,5;qO+)PQaO,5;qO$8YQaO,5;qO+)PQaO,5;qO$8YQaO,5;qO+)PQaO,5;qO,8YQ`O'#FlO>UQaO'#EaO>UQaO'#I]O,8bQaO,5:wO,8iQaO,5:wO$8YQaO,5;nO+)PQaO,5;nO$8YQaO,5;pO,:hQ`O,5<PO,<TQ`O,5<QO,=pQ`O,5<RO,?]Q`O,5<SO,@xQ`O,5<SO,BeQ`O,5<SO,CtQ`O,5<VO,EaQ`O,5<cO%7fQ`O,5<cO,F|Q`O,5<tO$8YQaO1G0XO+)PQaO1G0XO,HiQ`O1G1]O,JUQ`O1G1]O,KeQ`O1G1]O,MQQ`O1G1]O,NaQ`O1G1]O- |Q`O1G1]O-#]Q`O1G1]O-$xQ`O1G1]O-&XQ`O1G1]O-'tQ`O1G1]O-)TQ`O1G1]O-*pQ`O1G1]O-,PQ`O1G1]O--lQ`O1G1]O-.{Q`O1G1]O-0hQ`O1G1]O-1wQ`O1G1]O-3dQ`O1G1]O-4sQ`O1G1]O-6`Q`O1G1]O-7oQ`O1G1]O-9[Q`O1G1]O-:kQ`O1G1]O-<WQ`O1G1]O-=gQ`O1G1]O-?SQ`O1G1]O-@cQ`O1G1]O-BOQ`O1G1]O-C_Q`O1G1]O-DzQ`O1G1]O-FZQ`O,5:{O-GvQ`O,5>wO-IcQ`O1G0cO-KOQ`O1G0cO$8YQaO1G0cO+)PQaO1G0cO-L_Q`O1G1YO-MzQ`O1G1YO. ZQ`O1G1[O$8YQaO1G1|O$8YQaO7+%sO+)PQaO7+%sO.!vQ`O7+%sO.$cQ`O7+%sO.%rQ`O7+%}O.'_Q`O7+%}O$8YQaO7+'hO.(nQ`O7+'hO.*ZQ`O<<I_O.+vQ`O<<I_O.-VQ`O<<KSO$8YQaO<<KSO$8YQaOAN@nO..rQ`OAN@nO.0_Q`OG26YO$8YQaOG26YO.1zQ`OLD+tO.3gQaO,5:}O.3nQaO,5:}O$8YQaO1G0iO+)PQaO1G0iO.5mQ`O'#I]O.7PQ`O'#I]O.:fQ`O'#IWO.:vQ`O'#FvO.;OQaO,5:mO.;VQ`O,5<bO.;_Q`O,5<bO!%WQ`O,5<bO.;gQ`O1G0XO.<yQ`O,5:{O.>fQ`O,5>wO.@RQ`O1G1|O!%WQ`O1G1|O0aQ`O1G1|O0aQ`O7+'hO.@ZQ`O7+'hO.@cQpO7+'hO.@kQpO<<KSO0aQ`O<<KSO.@sQpOAN@nO.@{Q`O'#IWO.A]Q`O'#IWO.CSQaO,5:mO.CZQaO,5:mO.CbQ`O,5<bO.CjQ`O7+'hO.CrQ`O1G0XO.EUQ`O1G0XO.FhQ`O1G1|O.FpQ`O7+'hO.FxQpO7+'hO.GQQpOAN@nO.GYQpO<<KSO.GbQpOAN@nO.GjQ`O'#FvO.GrQ`O'#FlO.GzQ`O,5<bO!%WQ`O,5<bO!%WQ`O1G1|O0aQ`O1G1|O0aQ`O7+'hO0aQ`O<<KSO.HSQ`O'#FvO.H[Q`O,5<bO.HdQ`O,5<bO!%WQ`O,5<bO!%WQ`O1G1|O!%WQ`O1G1|O0aQ`O1G1|O0aQ`O<<KSO0aQ`O7+'hO0aQ`O<<KSO.HlQ`O'#FlO.HtQ`O'#FlO.H|Q`O'#Fl",stateData:".Ic~O!dOS!eOS&vOS!gQQ~O!iTO&wRO~OPgOQ|OS!lOU^OW}OX!XO[mO]!_O^!WO`![Oa!SOb!]Ok!dOm!lOowOp!TOq!UOsuOt!gOu!VOv!POxkOykO|!bO}`O!O]O!P!eO!QxO!R}O!TpO!UlO!VlO!W!YO!X!QO!YzO!Z!cO![!ZO!]!^O!^!fO!`!`O!a!RO!cjO!mWO!oXO!sYO!y[O#W_O#bhO#daO#ebO#peO$ToO$]nO$^oO$aqO$drO$l!kO$zyO${!OO$}}O%O}O%V|O'g{O~O!g!mO~O&wRO!i!hX&p!hX&t!hX~O!i!pO~O!d!qO!e!qO!g!mO&t!tO&v!qO~PhO!n!vO~PhOT'VXz'VX!S'VX!b'VX!m'VX!o'VX!v'VX!y'VX#S'VX#W'VX#`'VX#a'VX#p#qX#s'VX#z'VX#{'VX#|'VX#}'VX$O'VX$Q'VX$R'VX$S'VX$T'VX$U'VX$V'VX$W'VX$z'VX&s'VX~O!q!xO~P&sOT#TOz#RO!S#UO!b#VO!m#cO!o!{O!v!yO!y!}O#S#QO#W!zO#`!|O#a!|O#s#PO#z#SO#{#WO#|#XO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dO&s#cO~OPgOQ|OU^OW}O[mOowOs#hOxkOykO}`O!O]O!QxO!R}O!TpO!UlO!VlO!YzO!cjO!s#gO!y[O#W_O#bhO#daO#ebO#peO$ToO$]nO$^oO$aqO$zyO${!OO$}}O%O}O%V|O'g{O~O!y[O~O!y#kO~OP6]OQ|OU^OW}O[6`Oo=YOs#hOx6^Oy6^O}`O!O]O!Q6dO!R}O!T6cO!U6_O!V6_O!Y6fO!c8fO!s#gO!y[O#S#oO#U#nO#W_O#bhO#daO#ebO#peO$T6bO$]6aO$^6bO$aqO$z6eO${!OO$}}O%O}O%V|O'g{O#X'OP~O!}#sO~P-UO!y#tO~O#b#vO#daO#ebO~O#p#xO~O!s#yO~OU$PO!R$PO!s$OO!v#}O#p2XO~OT&zXz&zX!S&zX!b&zX!m&zX!o&zX!v&zX!y&zX#S&zX#W&zX#`&zX#a&zX#s&zX#z&zX#{&zX#|&zX#}&zX$O&zX$Q&zX$R&zX$S&zX$T&zX$U&zX$V&zX$W&zX$z&zX&s&zX!x&zX!n&zX~O#u$RO#w$SO~P0rOP6]OQ|OU^OW}O[6`Oo=YOs#hOx6^Oy6^O}`O!O]O!Q6dO!R}O!T6cO!U6_O!V6_O!Y6fO!c8fO!s#gO!y[O#W_O#bhO#daO#ebO#peO$T6bO$]6aO$^6bO$aqO$z6eO${!OO$}}O%O}O%V|O'g{OT#xXz#xX!S#xX!b#xX!m#xX!o#xX!v#xX#`#xX#a#xX#s#xX#z#xX#{#xX#|#xX#}#xX$O#xX$Q#xX$R#xX$S#xX$U#xX$V#xX$W#xX&s#xX!x#xX!n#xX~Or$UO#S6yO#U6xO~P2yO!s#gO#peO~OS$gO]$bOk$eOm$gOs$aO!`$cO$drO$l$fO~O!s$kO!y$hO#S$jO~Oo$mOs$lO#b$nO~O!y$hO#S$rO~O$l$tO~P*kOR$zO!o$yO#b$xO#e$yO&q$zO~O'f$|O~P8lO!y%RO~O!y%TO~O!s%VO~O!m#cO&s#cO~P*kO!oXO~O!y%_O~OP6]OQ|OU^OW}O[6`Oo=YOs#hOx6^Oy6^O}`O!O]O!Q6dO!R}O!T6cO!U6_O!V6_O!Y6fO!c8fO!s#gO!y[O#W_O#bhO#daO#ebO#peO$T6bO$]6aO$^6bO$aqO$z6eO${!OO$}}O%O}O%V|O'g{O~O!y%cO~O!s%dO~O]$bO~O!s%hO~O!s%iO~O!s%jO~O!oXO!s#gO#peO~O]%rOs%rO!o%pO!s#gO#p%nO~O!s%vO~O!i%wO&t%wO&wRO~O&t%zO~PhO!n%{O~PhOPgOQ|OU^OW}O[8lOo=yOs#hOx8jOy8jO}`O!O]O!Q8pO!R}O!T8oO!U8kO!V8kO!Y8rO!c8iO!s#gO!y[O#W_O#bhO#daO#ebO#peO$T8nO$]8mO$^8nO$aqO$z8qO${!OO$}}O%O}O%V|O'g{O~O!q%}O~P>UO#X&PO~P>UO!o&SO!s&RO#b&RO~OPgOQ|OU^OW}O[8lOo=yOs#hOx8jOy8jO}`O!O]O!Q8pO!R}O!T8oO!U8kO!V8kO!Y8rO!c8iO!s&VO!y[O#U&WO#W_O#bhO#daO#ebO#peO$T8nO$]8mO$^8nO$aqO$z8qO${!OO$}}O%O}O%V|O'g{O~O!x'SP~PAOO!s&[O#b&[O~OT#TOz#RO!S#UO!b#VO!o!{O!v!yO!y!}O#S#QO#W!zO#`!|O#a!|O#s#PO#z#SO#{#WO#|#XO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dO~O!x&nO~PCqO!x'VX!}'VX#O'VX#X'VX!n'VXV'VX!q'VX#u'VX#w'VXw'VX~P&sO!y$hO#S&oO~Oo$mOs$lO~O!o&pO~O!}&sO#S;dO#U;cO!x'OP~P9yOT6iOz6gO!S6jO!b6kO!o!{O!v8sO!y!}O#S#QO#W!zO#`!|O#a!|O#s#PO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO!}'PX#X'PX~O#O&tO~PGSO!}&wO#X'OX~O#X&yO~O!}'OO!x'QP~P9yO!n'PO~PCqO!m#oa!o#oa#S#oa#p#qX&s#oa!x#oa#O#oaw#oa~OT#oaz#oa!S#oa!b#oa!v#oa!y#oa#W#oa#`#oa#a#oa#s#oa#z#oa#{#oa#|#oa#}#oa$O#oa$Q#oa$R#oa$S#oa$T#oa$U#oa$V#oa$W#oa$z#oa!}#oa#X#oa!n#oaV#oa!q#oa#u#oa#w#oa~PIpO!s'RO~O!x'UO#l'SO~O!x'VX#l'VX#p#qX#S'VX#U'VX#b'VX!o'VX#O'VXw'VX!m'VX&s'VX~O#S'YO~P*kO!m$Xa&s$Xa!x$Xa!n$Xa~PCqO!m$Ya&s$Ya!x$Ya!n$Ya~PCqO!m$Za&s$Za!x$Za!n$Za~PCqO!m$[a&s$[a!x$[a!n$[a~PCqO!o!{O!y!}O#W!zO#`!|O#a!|O#s#PO$z#dOT$[a!S$[a!b$[a!m$[a!v$[a#S$[a#z$[a#{$[a#|$[a#}$[a$O$[a$Q$[a$R$[a$S$[a$T$[a$U$[a$V$[a$W$[a&s$[a!x$[a!n$[a~Oz#RO~PNyO!m$_a&s$_a!x$_a!n$_a~PCqO!y!}O!}$fX#X$fX~O!}'^O#X'ZX~O#X'`O~O!s$kO#S'aO~O]'cO~O!s'eO~O!s'fO~O$l'gO~O!`'mO#S'kO#U'lO#b'jO$drO!x'XP~P0aO!^'sO!oXO!q'rO~O!s'uO!y$hO~O!y$hO#S'wO~O!y$hO#S'yO~O#u'zO!m$sX!}$sX&s$sX~O!}'{O!m'bX&s'bX~O!m#cO&s#cO~O!q(PO#O(OO~O!m$ka&s$ka!x$ka!n$ka~PCqOl(ROw(SO!o(TO!y!}O~O!o!{O!y!}O#W!zO#`!|O#a!|O#s#PO~OT$yaz$ya!S$ya!b$ya!m$ya!v$ya#S$ya#z$ya#{$ya#|$ya#}$ya$O$ya$Q$ya$R$ya$S$ya$T$ya$U$ya$V$ya$W$ya$z$ya&s$ya!x$ya!}$ya#O$ya#X$ya!n$ya!q$yaV$ya#u$ya#w$ya~P!'WO!m$|a&s$|a!x$|a!n$|a~PCqO#W([O#`(YO#a(YO&r(ZOR&gX!o&gX#b&gX#e&gX&q&gX'f&gX~O'f(_O~P8lO!q(`O~PhO!o(cO!q(dO~O!q(`O&s(gO~PhO!a(kO~O!m(lO~P9yOZ(wOn(xO~O!s(zO~OT6iOz6gO!S6jO!b6kO!v8sO!}({O#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO!m'jX&s'jX~P!'WO#u)PO~O!})QO!m'`X&s'`X~Ol(RO!o(TO~Ow(SO!o)WO!q)ZO~O!m#cO!oXO&s#cO~O!o%pO!s#yO~OV)aO!})_O!m'kX&s'kX~O])cOs)cO!s#gO#peO~O!o%pO!s#gO#p)hO~OT6iOz6gO!S6jO!b6kO!v8sO!})iO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO!m&|X&s&|X#O&|X~P!'WOl(ROw(SO!o(TO~O!i)oO&t)oO~OT8vOz8tO!S8wO!b8xO!q)pO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO~P!'WOT8vOz8tO!S8wO!b8xO!v=ZO#S#QO#X)rO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO~P!'WO!n)rO~PCqOT8vOz8tO!S8wO!b8xO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!x'TX!}'TX~P!'WOT'VXz'VX!S'VX!b'VX!o'VX!v'VX!y'VX#S'VX#W'VX#`'VX#a'VX#p#qX#s'VX#z'VX#{'VX#|'VX#}'VX$O'VX$Q'VX$R'VX$S'VX$T'VX$U'VX$V'VX$W'VX$z'VX~O!q)tO!x'VX!}'VX~P!5xO!x#iX!}#iX~P>UO!})vO!x'SX~O!x)xO~O$z#dOT#yiz#yi!S#yi!b#yi!m#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi$V#yi$W#yi&s#yi!x#yi!}#yi#O#yi#X#yi!n#yi!q#yiV#yi#u#yi#w#yi~P!'WOz#RO#S#QO#z#SO#{#WO#|#XO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi&s#yi!x#yi!n#yi~P!'WOz#RO!v!yO#S#QO#z#SO#{#WO#|#XO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi&s#yi!x#yi!n#yi~P!'WOT#TOz#RO!b#VO!v!yO#S#QO#z#SO#{#WO#|#XO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dO!S#yi!m#yi&s#yi!x#yi!n#yi~P!'WOT#TOz#RO!v!yO#S#QO#z#SO#{#WO#|#XO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dO!S#yi!b#yi!m#yi&s#yi!x#yi!n#yi~P!'WOz#RO#S#QO#|#XO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#z#yi#{#yi&s#yi!x#yi!n#yi~P!'WOz#RO#S#QO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#z#yi#{#yi#|#yi&s#yi!x#yi!n#yi~P!'WOz#RO#S#QO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#z#yi#{#yi#|#yi#}#yi&s#yi!x#yi!n#yi~P!'WOz#RO#S#QO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#z#yi#{#yi#|#yi#}#yi$O#yi&s#yi!x#yi!n#yi~P!'WOz#RO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi&s#yi!x#yi!n#yi~P!'WOz#RO$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi&s#yi!x#yi!n#yi~P!'WOz#RO$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi&s#yi!x#yi!n#yi~P!'WOz#RO$T#`O$V#bO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$U#yi&s#yi!x#yi!n#yi~P!'WOz#RO$V#bO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi&s#yi!x#yi!n#yi~P!'WOz#RO$S#_O$T#`O$V#bO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$U#yi&s#yi!x#yi!n#yi~P!'WOz#RO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi$V#yi&s#yi!x#yi!n#yi~P!'WO_)yO~P9yO!x)|O~O#S*PO~P9yOT6iOz6gO!S6jO!b6kO!v8sO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO!}#Ta#X#Ta#O#Ta!m#Ta&s#Ta!x#Ta!n#TaV#Ta!q#Ta~P!'WOT6iOz6gO!S6jO!b6kO!v8sO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO!}'Pa#X'Pa#O'Pa!m'Pa&s'Pa!x'Pa!n'PaV'Pa!q'Pa~P!'WO#S#oO#U#nO!}&WX#X&WX~P9yO!}&wO#X'Oa~O#X*SO~OT6iOz6gO!S6jO!b6kO!v8sO!}*UO#O*TO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO!x'QX~P!'WO!}*UO!x'QX~O!x*WO~O!m#oi!o#oi#S#oi#p#qX&s#oi!x#oi#O#oiw#oi~OT#oiz#oi!S#oi!b#oi!v#oi!y#oi#W#oi#`#oi#a#oi#s#oi#z#oi#{#oi#|#oi#}#oi$O#oi$Q#oi$R#oi$S#oi$T#oi$U#oi$V#oi$W#oi$z#oi!}#oi#X#oi!n#oiV#oi!q#oi#u#oi#w#oi~P#*zO#l'SO!x#ka#S#ka#U#ka#b#ka!o#ka#O#kaw#ka!m#ka&s#ka~OPgOQ|OU^OW}O[4OOo5xOs#hOx3zOy3zO}`O!O]O!Q2^O!R}O!T4UO!U3|O!V3|O!Y2`O!c3xO!s#gO!y[O#W_O#bhO#daO#ebO#peO$T4SO$]4QO$^4SO$aqO$z2_O${!OO$}}O%O}O%V|O'g{O~O#l#oa#U#oa#b#oa~PIpOz#RO!v!yO#S#QO#z#SO#{#WO#|#XO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT#Pi!S#Pi!b#Pi!m#Pi&s#Pi!x#Pi!n#Pi~P!'WOz#RO!v!yO#S#QO#z#SO#{#WO#|#XO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT#vi!S#vi!b#vi!m#vi&s#vi!x#vi!n#vi~P!'WO!m#xi&s#xi!x#xi!n#xi~PCqO!s#gO#peO!}&^X#X&^X~O!}'^O#X'Za~O!s'uO~Ow(SO!o)WO!q*fO~O!s*jO~O#S*lO#U*mO#b*kO#l'SO~O#S*lO#U*mO#b*kO$drO~P0aO#u*oO!x$cX!}$cX~O#U*mO#b*kO~O#b*pO~O#b*rO~P0aO!}*sO!x'XX~O!x*uO~O!y*wO~O!^*{O!oXO!q*zO~O!q*}O!o'ci!m'ci&s'ci~O!q+QO#O+PO~O#b$nO!m&eX!}&eX&s&eX~O!}'{O!m'ba&s'ba~OT$kiz$ki!S$ki!b$ki!m$ki!o$ki!v$ki!y$ki#S$ki#W$ki#`$ki#a$ki#s$ki#u#fa#w#fa#z$ki#{$ki#|$ki#}$ki$O$ki$Q$ki$R$ki$S$ki$T$ki$U$ki$V$ki$W$ki$z$ki&s$ki!x$ki!}$ki#O$ki#X$ki!n$ki!q$kiV$ki~OS+^O]+aOm+^Os$aO!^+dO!_+^O!`+^O!n+hO#b$nO$aqO$drO~P0aO!s+lO~O#W+nO#`+mO#a+mO~O!s+pO#b+pO$}+pO%T+oO~O!n+qO~PCqOc%XXd%XXh%XXj%XXf%XXg%XXe%XX~PhOc+uOd+sOP%WiQ%WiS%WiU%WiW%WiX%Wi[%Wi]%Wi^%Wi`%Wia%Wib%Wik%Wim%Wio%Wip%Wiq%Wis%Wit%Wiu%Wiv%Wix%Wiy%Wi|%Wi}%Wi!O%Wi!P%Wi!Q%Wi!R%Wi!T%Wi!U%Wi!V%Wi!W%Wi!X%Wi!Y%Wi!Z%Wi![%Wi!]%Wi!^%Wi!`%Wi!a%Wi!c%Wi!m%Wi!o%Wi!s%Wi!y%Wi#W%Wi#b%Wi#d%Wi#e%Wi#p%Wi$T%Wi$]%Wi$^%Wi$a%Wi$d%Wi$l%Wi$z%Wi${%Wi$}%Wi%O%Wi%V%Wi&p%Wi'g%Wi&t%Wi!n%Wih%Wij%Wif%Wig%WiY%Wi_%Wii%Wie%Wi~Oc+yOd+vOh+xO~OY+zO_+{O!n,OO~OY+zO_+{Oi%^X~Oi,QO~Oj,RO~O!m,TO~P9yO!m,VO~Of,WO~OT6iOV,XOz6gO!S6jO!b6kO!v8sO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO~P!'WOg,YO~O!y,ZO~OZ(wOn(xOP%liQ%liS%liU%liW%liX%li[%li]%li^%li`%lia%lib%lik%lim%lio%lip%liq%lis%lit%liu%liv%lix%liy%li|%li}%li!O%li!P%li!Q%li!R%li!T%li!U%li!V%li!W%li!X%li!Y%li!Z%li![%li!]%li!^%li!`%li!a%li!c%li!m%li!o%li!s%li!y%li#W%li#b%li#d%li#e%li#p%li$T%li$]%li$^%li$a%li$d%li$l%li$z%li${%li$}%li%O%li%V%li&p%li'g%li&t%li!n%lic%lid%lih%lij%lif%lig%liY%li_%lii%lie%li~O#u,_O~O!}({O!m%da&s%da~O!x,bO~O!s%dO!m&dX!}&dX&s&dX~O!})QO!m'`a&s'`a~OS+^OY,iOm+^Os$aO!^+dO!_+^O!`+^O$aqO$drO~O!n,lO~P#JwO!o)WO~O!o%pO!s'RO~O!s#gO#peO!m&nX!}&nX&s&nX~O!})_O!m'ka&s'ka~O!s,rO~OV,sO!n%|X!}%|X~O!},uO!n'lX~O!n,wO~O!m&UX!}&UX&s&UX#O&UX~P9yO!})iO!m&|a&s&|a#O&|a~Oz#RO#S#QO#z#SO#{#WO#|#XO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT!uq!S!uq!b!uq!m!uq!v!uq&s!uq!x!uq!n!uq~P!'WO!n,|O~PCqOT8vOz8tO!S8wO!b8xO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!x#ia!}#ia~P!'WO!x&YX!}&YX~PAOO!})vO!x'Sa~O#O-QO~O!}-RO!n&{X~O!n-TO~O!x-UO~OT6iOz6gO!S6jO!b6kO!v8sO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO!}#Vi#X#Vi~P!'WO!x&XX!}&XX~P9yO!}*UO!x'Qa~O!x-[O~OT#jqz#jq!S#jq!b#jq!m#jq!v#jq#S#jq#u#jq#w#jq#z#jq#{#jq#|#jq#}#jq$O#jq$Q#jq$R#jq$S#jq$T#jq$U#jq$V#jq$W#jq$z#jq&s#jq!x#jq!}#jq#O#jq#X#jq!n#jq!q#jqV#jq~P!'WO#l#oi#U#oi#b#oi~P#*zOz#RO!v!yO#S#QO#z#SO#{#WO#|#XO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT#Pq!S#Pq!b#Pq!m#Pq&s#Pq!x#Pq!n#Pq~P!'WO#u-dO!x$ca!}$ca~O#U-fO#b-eO~O#b-gO~O#S-hO#U-fO#b-eO#l'SO~O#b-jO#l'SO~O#u-kO!x$ha!}$ha~O!`'mO#S'kO#U'lO#b'jO$drO!x&_X!}&_X~P0aO!}*sO!x'Xa~O!oXO#l'SO~O#S-pO#b-oO!x'[P~O!oXO!q-rO~O!q-uO!o'cq!m'cq&s'cq~O!^-wO!oXO!q-rO~O!q-{O#O-zO~OT6iOz6gO!S6jO!b6kO!v8sO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO!m$si!}$si&s$si~P!'WO!m$jq&s$jq!x$jq!n$jq~PCqO#O-zO#l'SO~O!}-|Ow']X!o']X!m']X&s']X~O#b$nO#l'SO~OS+^O].ROm+^Os$aO!_+^O!`+^O#b$nO$aqO$drO~P0aOS+^O].ROm+^Os$aO!_+^O!`+^O#b$nO$aqO~P0aOS+^O]+aOm+^Os$aO!^+dO!_+^O!`+^O!n.ZO#b$nO$aqO$drO~P0aO!s.^O~O!s._O#b._O$}._O%T+oO~O$}.`O~O#X.aO~Oc%Xad%Xah%Xaj%Xaf%Xag%Xae%Xa~PhOc.dOd+sOP%WqQ%WqS%WqU%WqW%WqX%Wq[%Wq]%Wq^%Wq`%Wqa%Wqb%Wqk%Wqm%Wqo%Wqp%Wqq%Wqs%Wqt%Wqu%Wqv%Wqx%Wqy%Wq|%Wq}%Wq!O%Wq!P%Wq!Q%Wq!R%Wq!T%Wq!U%Wq!V%Wq!W%Wq!X%Wq!Y%Wq!Z%Wq![%Wq!]%Wq!^%Wq!`%Wq!a%Wq!c%Wq!m%Wq!o%Wq!s%Wq!y%Wq#W%Wq#b%Wq#d%Wq#e%Wq#p%Wq$T%Wq$]%Wq$^%Wq$a%Wq$d%Wq$l%Wq$z%Wq${%Wq$}%Wq%O%Wq%V%Wq&p%Wq'g%Wq&t%Wq!n%Wqh%Wqj%Wqf%Wqg%WqY%Wq_%Wqi%Wqe%Wq~Oc.iOd+vOh.hO~O!q(`O~OP6]OQ|OU^OW}O[:fOo>ROs#hOx:dOy:dO}`O!O]O!Q:kO!R}O!T:jO!U:eO!V:eO!Y:oO!c8gO!s#gO!y[O#W_O#bhO#daO#ebO#peO$T:hO$]:gO$^:hO$aqO$z:mO${!OO$}}O%O}O%V|O'g{O~O!m.lO!q.lO~OY+zO_+{O!n.nO~OY+zO_+{Oi%^a~O!x.rO~P>UO!m.tO~O!m.tO~P9yOQ|OW}O!R}O$}}O%O}O%V|O'g{O~OT6iOz6gO!S6jO!b6kO!v8sO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO!m&ka!}&ka&s&ka~P!'WOT6iOz6gO!S6jO!b6kO!v8sO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO!m$qi!}$qi&s$qi~P!'WOS+^Om+^Os$aO!_+^O!`+^O$aqO$drO~OY/PO~P$?VOS+^Om+^Os$aO!_+^O!`+^O$aqO~O!s/QO~O!n/SO~P#JwOw(SO!o)WO#l'SO~OV/VO!m&na!}&na&s&na~O!})_O!m'ki&s'ki~O!s/XO~OV/YO!n%|a!}%|a~O]/[Os/[O!s#gO#peO!n&oX!}&oX~O!},uO!n'la~OT6iOz6gO!S6jO!b6kO!v8sO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO!m&Ua!}&Ua&s&Ua#O&Ua~P!'WOz#RO#S#QO#z#SO#{#WO#|#XO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT!uy!S!uy!b!uy!m!uy!v!uy&s!uy!x!uy!n!uy~P!'WOT8vOz8tO!S8wO!b8xO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!x#hi!}#hi~P!'WO_)yO!n&VX!}&VX~P9yO!}-RO!n&{a~OT6iOz6gO!S6jO!b6kO!v8sO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO!}#Vq#X#Vq~P!'WOT8vOz8tO!S8wO!b8xO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!x#[i!}#[i~P!'WOT6iOz6gO!S6jO!b6kO!v8sO#O/cO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO!x&Xa!}&Xa~P!'WO#u/iO!x$ci!}$ci~O#b/jO~O#U/lO#b/kO~OT8vOz8tO!S8wO!b8xO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!x$ci!}$ci~P!'WO#u/mO!x$hi!}$hi~O!}/oO!x'[X~O#b/qO~O!x/rO~O!oXO!q/uO~O#l'SO!o'cy!m'cy&s'cy~O!m$jy&s$jy!x$jy!n$jy~PCqO#O/xO#l'SO~O!s#gO#peOw&aX!o&aX!}&aX!m&aX&s&aX~O!}-|Ow']a!o']a!m']a&s']a~OU$PO]0QO!R$PO!s$OO!v#}O#b$nO#p2XO~P$?uO!m#cO!o0VO&s#cO~O#X0YO~Oh0_O~OT:tOz:pO!S:vO!b:xO!m0`O!q0`O!v=mO#S#QO#z:rO#{:zO#|:|O#};OO$O;QO$Q;UO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dO~P!'WOY%]a_%]a!n%]ai%]a~PhO!x0bO~O!x0bO~P>UO!m0dO~OT6iOz6gO!S6jO!b6kO!v8sO!x0fO#O0eO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO~P!'WO!x0fO~O!x0gO#b0hO#l'SO~O!x0iO~O!s0jO~O!m#cO#u0lO&s#cO~O!s0mO~O!})_O!m'kq&s'kq~O!s0nO~OV0oO!n%}X!}%}X~OT:tOz:pO!S:vO!b:xO!v=mO#S#QO#z:rO#{:zO#|:|O#};OO$O;QO$Q;UO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dO!n!|i!}!|i~P!'WOT8vOz8tO!S8wO!b8xO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!x$cq!}$cq~P!'WO#u0vO!x$cq!}$cq~O#b0wO~OT8vOz8tO!S8wO!b8xO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!x$hq!}$hq~P!'WO#S0zO#b0yO!x&`X!}&`X~O!}/oO!x'[a~O#l'SO!o'c!R!m'c!R&s'c!R~O!oXO!q1PO~O!m$j!R&s$j!R!x$j!R!n$j!R~PCqO#O1RO#l'SO~OP6]OU^O[9WOo>SOs#hOx9WOy9WO}`O!O]O!Q:lO!T9WO!U9WO!V9WO!Y9WO!c8hO!n1^O!s1YO!y[O#W_O#bhO#daO#ebO#peO$T:iO$]9WO$^:iO$aqO$z:nO${!OO~P$;lOh1_O~OY%[i_%[i!n%[ii%[i~PhOY%]i_%]i!n%]ii%]i~PhO!x1bO~O!x1bO~P>UO!x1eO~O!m#cO#u1iO&s#cO~O$}1jO%V1jO~O!s1kO~OV1lO!n%}a!}%}a~OT8vOz8tO!S8wO!b8xO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!x#]i!}#]i~P!'WOT8vOz8tO!S8wO!b8xO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!x$cy!}$cy~P!'WOT8vOz8tO!S8wO!b8xO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!x$hy!}$hy~P!'WO#b1nO~O!}/oO!x'[i~O!m$j!Z&s$j!Z!x$j!Z!n$j!Z~PCqOT:uOz:qO!S:wO!b:yO!v=nO#S#QO#z:sO#{:{O#|:}O#};PO$O;RO$Q;VO$R;XO$S;ZO$T;]O$U;_O$V;aO$W;aO$z#dO~P!'WOV1uO{1tO~P!5xOV1uO{1tOT&}Xz&}X!S&}X!b&}X!o&}X!v&}X!y&}X#S&}X#W&}X#`&}X#a&}X#s&}X#u&}X#w&}X#z&}X#{&}X#|&}X#}&}X$O&}X$Q&}X$R&}X$S&}X$T&}X$U&}X$V&}X$W&}X$z&}X~OP6]OU^O[9WOo>SOs#hOx9WOy9WO}`O!O]O!Q:lO!T9WO!U9WO!V9WO!Y9WO!c8hO!n1xO!s1YO!y[O#W_O#bhO#daO#ebO#peO$T:iO$]9WO$^:iO$aqO$z:nO${!OO~P$;lOY%[q_%[q!n%[qi%[q~PhO!x1zO~O!x%gi~PCqOe1{O~O$}1|O%V1|O~O!s2OO~OT8vOz8tO!S8wO!b8xO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!x$c!R!}$c!R~P!'WO!m$j!c&s$j!c!x$j!c!n$j!c~PCqO!s2QO~O!`2SO!s2RO~O!s2VO!m$xi&s$xi~O!s'WO~O!s*]O~OT2cOz2aO!S2dO!b2eO!v4WO#S#QO#z2bO#{2fO#|2gO#}2hO$O2iO$Q2kO$R2lO$S2mO$T2nO$U2oO$V2pO$W2pO$z#dO!m$ka#u$ka#w$ka&s$ka!x$ka!n$ka!q$ka#X$ka!}$ka~P!'WO#S2]O~P*kO$l$tO~P#.YOT6iOz6gO!S6jO!b6kO!v8sO#O2[O#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO!m'PX&s'PX!x'PX!n'PX~P!'WOT4fOz4dO!S4gO!b4hO!v6TO#O3uO#S#QO#z4eO#{4iO#|4jO#}4kO$O4lO$Q4nO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dO!}'PX#X'PX#u'PX#w'PX!m'PX&s'PX!x'PX!n'PXV'PX!q'PX~P!'WO#S3dO~P#.YOT2cOz2aO!S2dO!b2eO!v4WO#S#QO#z2bO#{2fO#|2gO#}2hO$O2iO$Q2kO$R2lO$S2mO$T2nO$U2oO$V2pO$W2pO$z#dO!m$Xa#u$Xa#w$Xa&s$Xa!x$Xa!n$Xa!q$Xa#X$Xa!}$Xa~P!'WOT2cOz2aO!S2dO!b2eO!v4WO#S#QO#z2bO#{2fO#|2gO#}2hO$O2iO$Q2kO$R2lO$S2mO$T2nO$U2oO$V2pO$W2pO$z#dO!m$Ya#u$Ya#w$Ya&s$Ya!x$Ya!n$Ya!q$Ya#X$Ya!}$Ya~P!'WOT2cOz2aO!S2dO!b2eO!v4WO#S#QO#z2bO#{2fO#|2gO#}2hO$O2iO$Q2kO$R2lO$S2mO$T2nO$U2oO$V2pO$W2pO$z#dO!m$Za#u$Za#w$Za&s$Za!x$Za!n$Za!q$Za#X$Za!}$Za~P!'WOT2cOz2aO!S2dO!b2eO!v4WO#S#QO#z2bO#{2fO#|2gO#}2hO$O2iO$Q2kO$R2lO$S2mO$T2nO$U2oO$V2pO$W2pO$z#dO!m$[a#u$[a#w$[a&s$[a!x$[a!n$[a!q$[a#X$[a!}$[a~P!'WOz2aO#u$[a#w$[a!q$[a#X$[a!}$[a~PNyOT2cOz2aO!S2dO!b2eO!v4WO#S#QO#z2bO#{2fO#|2gO#}2hO$O2iO$Q2kO$R2lO$S2mO$T2nO$U2oO$V2pO$W2pO$z#dO!m$_a#u$_a#w$_a&s$_a!x$_a!n$_a!q$_a#X$_a!}$_a~P!'WOT2cOz2aO!S2dO!b2eO!v4WO#S#QO#z2bO#{2fO#|2gO#}2hO$O2iO$Q2kO$R2lO$S2mO$T2nO$U2oO$V2pO$W2pO$z#dO!m$|a#u$|a#w$|a&s$|a!x$|a!n$|a!q$|a#X$|a!}$|a~P!'WOz2aO#S#QO#z2bO#{2fO#|2gO#}2hO$O2iO$Q2kO$R2lO$S2mO$T2nO$U2oO$V2pO$W2pO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#u#yi#w#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOz2aO!v4WO#S#QO#z2bO#{2fO#|2gO#}2hO$O2iO$Q2kO$R2lO$S2mO$T2nO$U2oO$V2pO$W2pO$z#dOT#yi!S#yi!b#yi!m#yi#u#yi#w#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOT2cOz2aO!b2eO!v4WO#S#QO#z2bO#{2fO#|2gO#}2hO$O2iO$Q2kO$R2lO$S2mO$T2nO$U2oO$V2pO$W2pO$z#dO!S#yi!m#yi#u#yi#w#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOT2cOz2aO!v4WO#S#QO#z2bO#{2fO#|2gO#}2hO$O2iO$Q2kO$R2lO$S2mO$T2nO$U2oO$V2pO$W2pO$z#dO!S#yi!b#yi!m#yi#u#yi#w#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOz2aO#S#QO#|2gO#}2hO$O2iO$Q2kO$R2lO$S2mO$T2nO$U2oO$V2pO$W2pO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#u#yi#w#yi#z#yi#{#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOz2aO#S#QO#}2hO$O2iO$Q2kO$R2lO$S2mO$T2nO$U2oO$V2pO$W2pO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#u#yi#w#yi#z#yi#{#yi#|#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOz2aO#S#QO$O2iO$Q2kO$R2lO$S2mO$T2nO$U2oO$V2pO$W2pO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOz2aO#S#QO$Q2kO$R2lO$S2mO$T2nO$U2oO$V2pO$W2pO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOz2aO$Q2kO$R2lO$S2mO$T2nO$U2oO$V2pO$W2pO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOz2aO$R2lO$S2mO$T2nO$U2oO$V2pO$W2pO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOz2aO$S2mO$T2nO$U2oO$V2pO$W2pO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOz2aO$T2nO$V2pO$W2pO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$U#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOz2aO$V2pO$W2pO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOz2aO$S2mO$T2nO$V2pO$W2pO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$U#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOz2aO$W2pO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi$V#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOT2cOz2aO!S2dO!b2eO!v4WO#S#QO#z2bO#{2fO#|2gO#}2hO$O2iO$Q2kO$R2lO$S2mO$T2nO$U2oO$V2pO$W2pO$z#dO!m#Ta#u#Ta#w#Ta&s#Ta!x#Ta!n#Ta!q#Ta#X#Ta!}#Ta~P!'WOT2cOz2aO!S2dO!b2eO!v4WO#S#QO#z2bO#{2fO#|2gO#}2hO$O2iO$Q2kO$R2lO$S2mO$T2nO$U2oO$V2pO$W2pO$z#dO!m'Pa#u'Pa#w'Pa&s'Pa!x'Pa!n'Pa!q'Pa#X'Pa!}'Pa~P!'WOz2aO!v4WO#S#QO#z2bO#{2fO#|2gO#}2hO$O2iO$Q2kO$R2lO$S2mO$T2nO$U2oO$V2pO$W2pO$z#dOT#Pi!S#Pi!b#Pi!m#Pi#u#Pi#w#Pi&s#Pi!x#Pi!n#Pi!q#Pi#X#Pi!}#Pi~P!'WOz2aO!v4WO#S#QO#z2bO#{2fO#|2gO#}2hO$O2iO$Q2kO$R2lO$S2mO$T2nO$U2oO$V2pO$W2pO$z#dOT#vi!S#vi!b#vi!m#vi#u#vi#w#vi&s#vi!x#vi!n#vi!q#vi#X#vi!}#vi~P!'WOT2cOz2aO!S2dO!b2eO!v4WO#S#QO#z2bO#{2fO#|2gO#}2hO$O2iO$Q2kO$R2lO$S2mO$T2nO$U2oO$V2pO$W2pO$z#dO!m#xi#u#xi#w#xi&s#xi!x#xi!n#xi!q#xi#X#xi!}#xi~P!'WOz2aO#S#QO#z2bO#{2fO#|2gO#}2hO$O2iO$Q2kO$R2lO$S2mO$T2nO$U2oO$V2pO$W2pO$z#dOT!uq!S!uq!b!uq!m!uq!v!uq#u!uq#w!uq&s!uq!x!uq!n!uq!q!uq#X!uq!}!uq~P!'WOz2aO!v4WO#S#QO#z2bO#{2fO#|2gO#}2hO$O2iO$Q2kO$R2lO$S2mO$T2nO$U2oO$V2pO$W2pO$z#dOT#Pq!S#Pq!b#Pq!m#Pq#u#Pq#w#Pq&s#Pq!x#Pq!n#Pq!q#Pq#X#Pq!}#Pq~P!'WOT2cOz2aO!S2dO!b2eO!v4WO#S#QO#z2bO#{2fO#|2gO#}2hO$O2iO$Q2kO$R2lO$S2mO$T2nO$U2oO$V2pO$W2pO$z#dO!m$jq#u$jq#w$jq&s$jq!x$jq!n$jq!q$jq#X$jq!}$jq~P!'WOz2aO#S#QO#z2bO#{2fO#|2gO#}2hO$O2iO$Q2kO$R2lO$S2mO$T2nO$U2oO$V2pO$W2pO$z#dOT!uy!S!uy!b!uy!m!uy!v!uy#u!uy#w!uy&s!uy!x!uy!n!uy!q!uy#X!uy!}!uy~P!'WOT2cOz2aO!S2dO!b2eO!v4WO#S#QO#z2bO#{2fO#|2gO#}2hO$O2iO$Q2kO$R2lO$S2mO$T2nO$U2oO$V2pO$W2pO$z#dO!m$jy#u$jy#w$jy&s$jy!x$jy!n$jy!q$jy#X$jy!}$jy~P!'WOT2cOz2aO!S2dO!b2eO!v4WO#S#QO#z2bO#{2fO#|2gO#}2hO$O2iO$Q2kO$R2lO$S2mO$T2nO$U2oO$V2pO$W2pO$z#dO!m$j!R#u$j!R#w$j!R&s$j!R!x$j!R!n$j!R!q$j!R#X$j!R!}$j!R~P!'WOT2cOz2aO!S2dO!b2eO!v4WO#S#QO#z2bO#{2fO#|2gO#}2hO$O2iO$Q2kO$R2lO$S2mO$T2nO$U2oO$V2pO$W2pO$z#dO!m$j!Z#u$j!Z#w$j!Z&s$j!Z!x$j!Z!n$j!Z!q$j!Z#X$j!Z!}$j!Z~P!'WOT2cOz2aO!S2dO!b2eO!v4WO#S#QO#z2bO#{2fO#|2gO#}2hO$O2iO$Q2kO$R2lO$S2mO$T2nO$U2oO$V2pO$W2pO$z#dO!m$j!c#u$j!c#w$j!c&s$j!c!x$j!c!n$j!c!q$j!c#X$j!c!}$j!c~P!'WOP6]OU^O[4POo8^Os#hOx3{Oy3{O}`O!O]O!Q4aO!T4VO!U3}O!V3}O!Y4cO!c3yO!s#gO!y[O#S3vO#W_O#bhO#daO#ebO#peO$T4TO$]4RO$^4TO$aqO$z4bO${!OO~P$;lOP6]OU^O[4POo8^Os#hOx3{Oy3{O}`O!O]O!Q4aO!T4VO!U3}O!V3}O!Y4cO!c3yO!s#gO!y[O#W_O#bhO#daO#ebO#peO$T4TO$]4RO$^4TO$aqO$z4bO${!OO~P$;lO#u2uO#w2vO!q&zX#X&zX!}&zX~P0rOP6]OU^O[4POo8^Or2wOs#hOx3{Oy3{O}`O!O]O!Q4aO!T4VO!U3}O!V3}O!Y4cO!c3yO!s#gO!y[O#S2tO#U2sO#W_O#bhO#daO#ebO#peO$T4TO$]4RO$^4TO$aqO$z4bO${!OOT#xXz#xX!S#xX!b#xX!m#xX!o#xX!v#xX#`#xX#a#xX#s#xX#u#xX#w#xX#z#xX#{#xX#|#xX#}#xX$O#xX$Q#xX$R#xX$S#xX$U#xX$V#xX$W#xX&s#xX!x#xX!n#xX!q#xX#X#xX!}#xX~P$;lOP6]OU^O[4POo8^Or4xOs#hOx3{Oy3{O}`O!O]O!Q4aO!T4VO!U3}O!V3}O!Y4cO!c3yO!s#gO!y[O#S4uO#U4tO#W_O#bhO#daO#ebO#peO$T4TO$]4RO$^4TO$aqO$z4bO${!OOT#xXz#xX!S#xX!b#xX!o#xX!v#xX!}#xX#O#xX#X#xX#`#xX#a#xX#s#xX#u#xX#w#xX#z#xX#{#xX#|#xX#}#xX$O#xX$Q#xX$R#xX$S#xX$U#xX$V#xX$W#xX!m#xX&s#xX!x#xX!n#xXV#xX!q#xX~P$;lO!q3PO~P>UO!q5}O#O3gO~OT8vOz8tO!S8wO!b8xO!q3hO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO~P!'WO!q6OO#O3kO~O!q6PO#O3oO~O#O3oO#l'SO~O#O3pO#l'SO~O#O3sO#l'SO~OP6]OU^O[4POo8^Os#hOx3{Oy3{O}`O!O]O!Q4aO!T4VO!U3}O!V3}O!Y4cO!c3yO!s#gO!y[O#W_O#bhO#daO#ebO#peO$T4TO$]4RO$^4TO$aqO$l$tO$z4bO${!OO~P$;lOP6]OU^O[4POo8^Os#hOx3{Oy3{O}`O!O]O!Q4aO!T4VO!U3}O!V3}O!Y4cO!c3yO!s#gO!y[O#S5eO#W_O#bhO#daO#ebO#peO$T4TO$]4RO$^4TO$aqO$z4bO${!OO~P$;lOT4fOz4dO!S4gO!b4hO!v6TO#S#QO#z4eO#{4iO#|4jO#}4kO$O4lO$Q4nO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dO!}$Xa#O$Xa#X$Xa#u$Xa#w$Xa!m$Xa&s$Xa!x$Xa!n$XaV$Xa!q$Xa~P!'WOT4fOz4dO!S4gO!b4hO!v6TO#S#QO#z4eO#{4iO#|4jO#}4kO$O4lO$Q4nO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dO!}$Ya#O$Ya#X$Ya#u$Ya#w$Ya!m$Ya&s$Ya!x$Ya!n$YaV$Ya!q$Ya~P!'WOT4fOz4dO!S4gO!b4hO!v6TO#S#QO#z4eO#{4iO#|4jO#}4kO$O4lO$Q4nO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dO!}$Za#O$Za#X$Za#u$Za#w$Za!m$Za&s$Za!x$Za!n$ZaV$Za!q$Za~P!'WOT4fOz4dO!S4gO!b4hO!v6TO#S#QO#z4eO#{4iO#|4jO#}4kO$O4lO$Q4nO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dO!}$[a#O$[a#X$[a#u$[a#w$[a!m$[a&s$[a!x$[a!n$[aV$[a!q$[a~P!'WOz4dO!}$[a#O$[a#X$[a#u$[a#w$[aV$[a!q$[a~PNyOT4fOz4dO!S4gO!b4hO!v6TO#S#QO#z4eO#{4iO#|4jO#}4kO$O4lO$Q4nO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dO!}$_a#O$_a#X$_a#u$_a#w$_a!m$_a&s$_a!x$_a!n$_aV$_a!q$_a~P!'WOT4fOz4dO!S4gO!b4hO!v6TO#S#QO#z4eO#{4iO#|4jO#}4kO$O4lO$Q4nO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dO!}$|a#O$|a#X$|a#u$|a#w$|a!m$|a&s$|a!x$|a!n$|aV$|a!q$|a~P!'WOz4dO#S#QO#z4eO#{4iO#|4jO#}4kO$O4lO$Q4nO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#X#yi#u#yi#w#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz4dO!v6TO#S#QO#z4eO#{4iO#|4jO#}4kO$O4lO$Q4nO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dOT#yi!S#yi!b#yi!}#yi#O#yi#X#yi#u#yi#w#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOT4fOz4dO!b4hO!v6TO#S#QO#z4eO#{4iO#|4jO#}4kO$O4lO$Q4nO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dO!S#yi!}#yi#O#yi#X#yi#u#yi#w#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOT4fOz4dO!v6TO#S#QO#z4eO#{4iO#|4jO#}4kO$O4lO$Q4nO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dO!S#yi!b#yi!}#yi#O#yi#X#yi#u#yi#w#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz4dO#S#QO#|4jO#}4kO$O4lO$Q4nO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#X#yi#u#yi#w#yi#z#yi#{#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz4dO#S#QO#}4kO$O4lO$Q4nO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#X#yi#u#yi#w#yi#z#yi#{#yi#|#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz4dO#S#QO$O4lO$Q4nO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#X#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz4dO#S#QO$Q4nO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#X#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz4dO$Q4nO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz4dO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz4dO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz4dO$T4qO$V4sO$W4sO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$U#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz4dO$V4sO$W4sO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz4dO$S4pO$T4qO$V4sO$W4sO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$U#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz4dO$W4sO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi$V#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOT4fOz4dO!S4gO!b4hO!v6TO#S#QO#z4eO#{4iO#|4jO#}4kO$O4lO$Q4nO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dO!}#Ta#O#Ta#X#Ta#u#Ta#w#Ta!m#Ta&s#Ta!x#Ta!n#TaV#Ta!q#Ta~P!'WOT4fOz4dO!S4gO!b4hO!v6TO#S#QO#z4eO#{4iO#|4jO#}4kO$O4lO$Q4nO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dO!}'Pa#O'Pa#X'Pa#u'Pa#w'Pa!m'Pa&s'Pa!x'Pa!n'PaV'Pa!q'Pa~P!'WOz4dO!v6TO#S#QO#z4eO#{4iO#|4jO#}4kO$O4lO$Q4nO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dOT#Pi!S#Pi!b#Pi!}#Pi#O#Pi#X#Pi#u#Pi#w#Pi!m#Pi&s#Pi!x#Pi!n#PiV#Pi!q#Pi~P!'WOz4dO!v6TO#S#QO#z4eO#{4iO#|4jO#}4kO$O4lO$Q4nO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dOT#vi!S#vi!b#vi!}#vi#O#vi#X#vi#u#vi#w#vi!m#vi&s#vi!x#vi!n#viV#vi!q#vi~P!'WOT4fOz4dO!S4gO!b4hO!v6TO#S#QO#z4eO#{4iO#|4jO#}4kO$O4lO$Q4nO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dO!}#xi#O#xi#X#xi#u#xi#w#xi!m#xi&s#xi!x#xi!n#xiV#xi!q#xi~P!'WOz4dO#S#QO#z4eO#{4iO#|4jO#}4kO$O4lO$Q4nO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dOT!uq!S!uq!b!uq!v!uq!}!uq#O!uq#X!uq#u!uq#w!uq!m!uq&s!uq!x!uq!n!uqV!uq!q!uq~P!'WOz4dO!v6TO#S#QO#z4eO#{4iO#|4jO#}4kO$O4lO$Q4nO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dOT#Pq!S#Pq!b#Pq!}#Pq#O#Pq#X#Pq#u#Pq#w#Pq!m#Pq&s#Pq!x#Pq!n#PqV#Pq!q#Pq~P!'WOT4fOz4dO!S4gO!b4hO!v6TO#S#QO#z4eO#{4iO#|4jO#}4kO$O4lO$Q4nO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dO!}$jq#O$jq#X$jq#u$jq#w$jq!m$jq&s$jq!x$jq!n$jqV$jq!q$jq~P!'WOz4dO#S#QO#z4eO#{4iO#|4jO#}4kO$O4lO$Q4nO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dOT!uy!S!uy!b!uy!v!uy!}!uy#O!uy#X!uy#u!uy#w!uy!m!uy&s!uy!x!uy!n!uyV!uy!q!uy~P!'WOT4fOz4dO!S4gO!b4hO!v6TO#S#QO#z4eO#{4iO#|4jO#}4kO$O4lO$Q4nO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dO!}$jy#O$jy#X$jy#u$jy#w$jy!m$jy&s$jy!x$jy!n$jyV$jy!q$jy~P!'WOT4fOz4dO!S4gO!b4hO!v6TO#S#QO#z4eO#{4iO#|4jO#}4kO$O4lO$Q4nO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dO!}$j!R#O$j!R#X$j!R#u$j!R#w$j!R!m$j!R&s$j!R!x$j!R!n$j!RV$j!R!q$j!R~P!'WOT4fOz4dO!S4gO!b4hO!v6TO#S#QO#z4eO#{4iO#|4jO#}4kO$O4lO$Q4nO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dO!}$j!Z#O$j!Z#X$j!Z#u$j!Z#w$j!Z!m$j!Z&s$j!Z!x$j!Z!n$j!ZV$j!Z!q$j!Z~P!'WOT4fOz4dO!S4gO!b4hO!v6TO#S#QO#z4eO#{4iO#|4jO#}4kO$O4lO$Q4nO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dO!}$j!c#O$j!c#X$j!c#u$j!c#w$j!c!m$j!c&s$j!c!x$j!c!n$j!cV$j!c!q$j!c~P!'WO#S5wO~P#.YO!y$hO#S5{O~O!x4ZO#l'SO~O!y$hO#S5|O~OT4fOz4dO!S4gO!b4hO!v6TO#S#QO#z4eO#{4iO#|4jO#}4kO$O4lO$Q4nO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dO!}$ka#O$ka#X$ka#u$ka#w$ka!m$ka&s$ka!x$ka!n$kaV$ka!q$ka~P!'WOT4fOz4dO!S4gO!b4hO!v6TO#O5vO#S#QO#z4eO#{4iO#|4jO#}4kO$O4lO$Q4nO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dO!m'PX#u'PX#w'PX&s'PX!x'PX!n'PX!q'PX#X'PX!}'PX~P!'WO#u4vO#w4wO!}&zX#O&zX#X&zXV&zX!q&zX~P0rO!q5QO~P>UO!q8bO#O5hO~OT8vOz8tO!S8wO!b8xO!q5iO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO~P!'WO!q8cO#O5lO~O!q8dO#O5pO~O#O5pO#l'SO~O#O5qO#l'SO~O#O5tO#l'SO~O$l$tO~P9yOo5zOs$lO~O#S7oO~P9yOT6iOz6gO!S6jO!b6kO!v8sO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO!}$Xa#O$Xa#X$Xa!m$Xa&s$Xa!x$Xa!n$XaV$Xa!q$Xa~P!'WOT6iOz6gO!S6jO!b6kO!v8sO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO!}$Ya#O$Ya#X$Ya!m$Ya&s$Ya!x$Ya!n$YaV$Ya!q$Ya~P!'WOT6iOz6gO!S6jO!b6kO!v8sO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO!}$Za#O$Za#X$Za!m$Za&s$Za!x$Za!n$ZaV$Za!q$Za~P!'WOT6iOz6gO!S6jO!b6kO!v8sO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO!}$[a#O$[a#X$[a!m$[a&s$[a!x$[a!n$[aV$[a!q$[a~P!'WOz6gO!}$[a#O$[a#X$[aV$[a!q$[a~PNyOT6iOz6gO!S6jO!b6kO!v8sO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO!}$_a#O$_a#X$_a!m$_a&s$_a!x$_a!n$_aV$_a!q$_a~P!'WOT6iOz6gO!S6jO!b6kO!v8sO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO!}$ka#O$ka#X$ka!m$ka&s$ka!x$ka!n$kaV$ka!q$ka~P!'WOT6iOz6gO!S6jO!b6kO!v8sO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO!}$|a#O$|a#X$|a!m$|a&s$|a!x$|a!n$|aV$|a!q$|a~P!'WOT8vOz8tO!S8wO!b8xO!v=ZO!}7sO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!x'jX~P!'WOT8vOz8tO!S8wO!b8xO!v=ZO!}7uO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!x&|X~P!'WOz6gO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#X#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz6gO!v8sO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dOT#yi!S#yi!b#yi!}#yi#O#yi#X#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOT6iOz6gO!b6kO!v8sO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO!S#yi!}#yi#O#yi#X#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOT6iOz6gO!v8sO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO!S#yi!b#yi!}#yi#O#yi#X#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz6gO#S#QO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#X#yi#z#yi#{#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz6gO#S#QO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#X#yi#z#yi#{#yi#|#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz6gO#S#QO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#X#yi#z#yi#{#yi#|#yi#}#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz6gO#S#QO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#X#yi#z#yi#{#yi#|#yi#}#yi$O#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz6gO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#z#yi#{#yi#|#yi#}#yi$O#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz6gO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz6gO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz6gO$T6tO$V6vO$W6vO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$U#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz6gO$V6vO$W6vO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz6gO$S6sO$T6tO$V6vO$W6vO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$U#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz6gO$W6vO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi$V#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WO#S7zO~P>UO!m#Ta&s#Ta!x#Ta!n#Ta~PCqO!m'Pa&s'Pa!x'Pa!n'Pa~PCqO#S;dO#U;cO!x&WX!}&WX~P9yO!}7lO!x'Oa~Oz6gO!v8sO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dOT#Pi!S#Pi!b#Pi!}#Pi#O#Pi#X#Pi!m#Pi&s#Pi!x#Pi!n#PiV#Pi!q#Pi~P!'WOz6gO!v8sO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dOT#vi!S#vi!b#vi!}#vi#O#vi#X#vi!m#vi&s#vi!x#vi!n#viV#vi!q#vi~P!'WOT6iOz6gO!S6jO!b6kO!v8sO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO!}#xi#O#xi#X#xi!m#xi&s#xi!x#xi!n#xiV#xi!q#xi~P!'WO!}7sO!x%da~O!x&UX!}&UX~P>UO!}7uO!x&|a~Oz6gO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dOT!uq!S!uq!b!uq!v!uq!}!uq#O!uq#X!uq!m!uq&s!uq!x!uq!n!uqV!uq!q!uq~P!'WOT8vOz8tO!S8wO!b8xO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!x#Vi!}#Vi~P!'WOz6gO!v8sO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dOT#Pq!S#Pq!b#Pq!}#Pq#O#Pq#X#Pq!m#Pq&s#Pq!x#Pq!n#PqV#Pq!q#Pq~P!'WOT6iOz6gO!S6jO!b6kO!v8sO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO!}$jq#O$jq#X$jq!m$jq&s$jq!x$jq!n$jqV$jq!q$jq~P!'WOT8vOz8tO!S8wO!b8xO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!x&ka!}&ka~P!'WOT8vOz8tO!S8wO!b8xO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!x&Ua!}&Ua~P!'WOz6gO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dOT!uy!S!uy!b!uy!v!uy!}!uy#O!uy#X!uy!m!uy&s!uy!x!uy!n!uyV!uy!q!uy~P!'WOT8vOz8tO!S8wO!b8xO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!x#Vq!}#Vq~P!'WOT6iOz6gO!S6jO!b6kO!v8sO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO!}$jy#O$jy#X$jy!m$jy&s$jy!x$jy!n$jyV$jy!q$jy~P!'WOT6iOz6gO!S6jO!b6kO!v8sO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO!}$j!R#O$j!R#X$j!R!m$j!R&s$j!R!x$j!R!n$j!RV$j!R!q$j!R~P!'WOT6iOz6gO!S6jO!b6kO!v8sO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO!}$j!Z#O$j!Z#X$j!Z!m$j!Z&s$j!Z!x$j!Z!n$j!ZV$j!Z!q$j!Z~P!'WOT6iOz6gO!S6jO!b6kO!v8sO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO!}$j!c#O$j!c#X$j!c!m$j!c&s$j!c!x$j!c!n$j!cV$j!c!q$j!c~P!'WO#S8[O~P9yO#O8ZO!m'PX&s'PX!x'PX!n'PXV'PX!q'PX~PGSO!y$hO#S8`O~O!y$hO#S8aO~O#u6zO#w6{O!}&zX#O&zX#X&zXV&zX!q&zX~P0rOr6|O#S#oO#U#nO!}#xX#O#xX#X#xXV#xX!q#xX~P2yOr;iO#S9XO#U9VOT#xXz#xX!S#xX!b#xX!m#xX!o#xX!q#xX!v#xX#`#xX#a#xX#s#xX#z#xX#{#xX#|#xX#}#xX$O#xX$Q#xX$R#xX$S#xX$U#xX$V#xX$W#xX!n#xX!}#xX~P9yOr9WO#S9WO#U9WOT#xXz#xX!S#xX!b#xX!o#xX!v#xX#`#xX#a#xX#s#xX#z#xX#{#xX#|#xX#}#xX$O#xX$Q#xX$R#xX$S#xX$U#xX$V#xX$W#xX~P9yOr9]O#S;dO#U;cOT#xXz#xX!S#xX!b#xX!o#xX!q#xX!v#xX#`#xX#a#xX#s#xX#z#xX#{#xX#|#xX#}#xX$O#xX$Q#xX$R#xX$S#xX$U#xX$V#xX$W#xX#X#xX!x#xX!}#xX~P9yO$l$tO~P>UO!q7XO~P>UOT6iOz6gO!S6jO!b6kO!v8sO#O7iO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO!x'PX!}'PX~P!'WOP6]OU^O[9WOo>SOs#hOx9WOy9WO}`O!O]O!Q:lO!T9WO!U9WO!V9WO!Y9WO!c8hO!s#gO!y[O#W_O#bhO#daO#ebO#peO$T:iO$]9WO$^:iO$aqO$z:nO${!OO~P$;lO!}7lO!x'OX~O#S9yO~P>UOT8vOz8tO!S8wO!b8xO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!q$Xa#X$Xa!x$Xa!}$Xa~P!'WOT8vOz8tO!S8wO!b8xO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!q$Ya#X$Ya!x$Ya!}$Ya~P!'WOT8vOz8tO!S8wO!b8xO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!q$Za#X$Za!x$Za!}$Za~P!'WOT8vOz8tO!S8wO!b8xO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!q$[a#X$[a!x$[a!}$[a~P!'WOz8tO$z#dOT$[a!S$[a!b$[a!q$[a!v$[a#S$[a#z$[a#{$[a#|$[a#}$[a$O$[a$Q$[a$R$[a$S$[a$T$[a$U$[a$V$[a$W$[a#X$[a!x$[a!}$[a~P!'WOT8vOz8tO!S8wO!b8xO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!q$_a#X$_a!x$_a!}$_a~P!'WO!q=dO#O7rO~OT8vOz8tO!S8wO!b8xO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!q$ka#X$ka!x$ka!}$ka~P!'WOT8vOz8tO!S8wO!b8xO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!q$|a#X$|a!x$|a!}$|a~P!'WOT8vOz8tO!S8wO!b8xO!q7wO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO~P!'WOz8tO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dOT#yi!S#yi!b#yi!q#yi!v#yi#X#yi!x#yi!}#yi~P!'WOz8tO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dOT#yi!S#yi!b#yi!q#yi#X#yi!x#yi!}#yi~P!'WOT8vOz8tO!b8xO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!S#yi!q#yi#X#yi!x#yi!}#yi~P!'WOT8vOz8tO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!S#yi!b#yi!q#yi#X#yi!x#yi!}#yi~P!'WOz8tO#S#QO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dOT#yi!S#yi!b#yi!q#yi!v#yi#z#yi#{#yi#X#yi!x#yi!}#yi~P!'WOz8tO#S#QO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dOT#yi!S#yi!b#yi!q#yi!v#yi#z#yi#{#yi#|#yi#X#yi!x#yi!}#yi~P!'WOz8tO#S#QO$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dOT#yi!S#yi!b#yi!q#yi!v#yi#z#yi#{#yi#|#yi#}#yi#X#yi!x#yi!}#yi~P!'WOz8tO#S#QO$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dOT#yi!S#yi!b#yi!q#yi!v#yi#z#yi#{#yi#|#yi#}#yi$O#yi#X#yi!x#yi!}#yi~P!'WOz8tO$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dOT#yi!S#yi!b#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi#X#yi!x#yi!}#yi~P!'WOz8tO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dOT#yi!S#yi!b#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi#X#yi!x#yi!}#yi~P!'WOz8tO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dOT#yi!S#yi!b#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi#X#yi!x#yi!}#yi~P!'WOz8tO$T9RO$V9TO$W9TO$z#dOT#yi!S#yi!b#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$U#yi#X#yi!x#yi!}#yi~P!'WOz8tO$V9TO$W9TO$z#dOT#yi!S#yi!b#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi#X#yi!x#yi!}#yi~P!'WOz8tO$S9QO$T9RO$V9TO$W9TO$z#dOT#yi!S#yi!b#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$U#yi#X#yi!x#yi!}#yi~P!'WOz8tO$W9TO$z#dOT#yi!S#yi!b#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi$V#yi#X#yi!x#yi!}#yi~P!'WOz8tO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dOT#Pi!S#Pi!b#Pi!q#Pi#X#Pi!x#Pi!}#Pi~P!'WOz8tO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dOT#vi!S#vi!b#vi!q#vi#X#vi!x#vi!}#vi~P!'WOT8vOz8tO!S8wO!b8xO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!q#xi#X#xi!x#xi!}#xi~P!'WO!q=eO#O7|O~Oz8tO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dOT!uq!S!uq!b!uq!q!uq!v!uq#X!uq!x!uq!}!uq~P!'WOz8tO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dOT#Pq!S#Pq!b#Pq!q#Pq#X#Pq!x#Pq!}#Pq~P!'WO!q=iO#O8TO~OT8vOz8tO!S8wO!b8xO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!q$jq#X$jq!x$jq!}$jq~P!'WO#O8TO#l'SO~Oz8tO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dOT!uy!S!uy!b!uy!q!uy!v!uy#X!uy!x!uy!}!uy~P!'WOT8vOz8tO!S8wO!b8xO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!q$jy#X$jy!x$jy!}$jy~P!'WO#O8UO#l'SO~OT8vOz8tO!S8wO!b8xO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!q$j!R#X$j!R!x$j!R!}$j!R~P!'WO#O8XO#l'SO~OT8vOz8tO!S8wO!b8xO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!q$j!Z#X$j!Z!x$j!Z!}$j!Z~P!'WOT8vOz8tO!S8wO!b8xO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!q$j!c#X$j!c!x$j!c!}$j!c~P!'WO#S:bO~P>UO#O:aO!q'PX!x'PX~PGSO$l$tO~P$8YOP6]OU^O[9WOo>SOs#hOx9WOy9WO}`O!O]O!Q:lO!T9WO!U9WO!V9WO!Y9WO!c8hO!s#gO!y[O#W_O#bhO#daO#ebO#peO$T:iO$]9WO$^:iO$aqO$l$tO$z:nO${!OO~P$;lOo8_Os$lO~O#S<jO~P$8YOP6]OU^O[9WOo>SOs#hOx9WOy9WO}`O!O]O!Q:lO!T9WO!U9WO!V9WO!Y9WO!c8hO!s#gO!y[O#S<kO#W_O#bhO#daO#ebO#peO$T:iO$]9WO$^:iO$aqO$z:nO${!OO~P$;lOT:tOz:pO!S:vO!b:xO!v=mO#S#QO#z:rO#{:zO#|:|O#};OO$O;QO$Q;UO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dO!m$Xa!q$Xa!n$Xa!}$Xa~P!'WOT:tOz:pO!S:vO!b:xO!v=mO#S#QO#z:rO#{:zO#|:|O#};OO$O;QO$Q;UO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dO!m$Ya!q$Ya!n$Ya!}$Ya~P!'WOT:tOz:pO!S:vO!b:xO!v=mO#S#QO#z:rO#{:zO#|:|O#};OO$O;QO$Q;UO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dO!m$Za!q$Za!n$Za!}$Za~P!'WOT:tOz:pO!S:vO!b:xO!v=mO#S#QO#z:rO#{:zO#|:|O#};OO$O;QO$Q;UO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dO!m$[a!q$[a!n$[a!}$[a~P!'WOz:pO$z#dOT$[a!S$[a!b$[a!m$[a!q$[a!v$[a#S$[a#z$[a#{$[a#|$[a#}$[a$O$[a$Q$[a$R$[a$S$[a$T$[a$U$[a$V$[a$W$[a!n$[a!}$[a~P!'WOz:qO$z#dOT$[a!S$[a!b$[a!v$[a#S$[a#z$[a#{$[a#|$[a#}$[a$O$[a$Q$[a$R$[a$S$[a$T$[a$U$[a$V$[a$W$[a~P!'WOT:tOz:pO!S:vO!b:xO!v=mO#S#QO#z:rO#{:zO#|:|O#};OO$O;QO$Q;UO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dO!m$_a!q$_a!n$_a!}$_a~P!'WOT:tOz:pO!S:vO!b:xO!v=mO#S#QO#z:rO#{:zO#|:|O#};OO$O;QO$Q;UO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dO!m$ka!q$ka!n$ka!}$ka~P!'WOT:tOz:pO!S:vO!b:xO!v=mO#S#QO#z:rO#{:zO#|:|O#};OO$O;QO$Q;UO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dO!m$|a!q$|a!n$|a!}$|a~P!'WOz:pO#S#QO#z:rO#{:zO#|:|O#};OO$O;QO$Q;UO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dOT#yi!S#yi!b#yi!m#yi!q#yi!v#yi!n#yi!}#yi~P!'WOz:qO#S#QO#z:sO#{:{O#|:}O#};PO$O;RO$Q;VO$R;XO$S;ZO$T;]O$U;_O$V;aO$W;aO$z#dOT#yi!S#yi!b#yi!v#yi~P!'WOz:pO!v=mO#S#QO#z:rO#{:zO#|:|O#};OO$O;QO$Q;UO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dOT#yi!S#yi!b#yi!m#yi!q#yi!n#yi!}#yi~P!'WOz:qO!v=nO#S#QO#z:sO#{:{O#|:}O#};PO$O;RO$Q;VO$R;XO$S;ZO$T;]O$U;_O$V;aO$W;aO$z#dOT#yi!S#yi!b#yi~P!'WOT:tOz:pO!b:xO!v=mO#S#QO#z:rO#{:zO#|:|O#};OO$O;QO$Q;UO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dO!S#yi!m#yi!q#yi!n#yi!}#yi~P!'WOT:uOz:qO!b:yO!v=nO#S#QO#z:sO#{:{O#|:}O#};PO$O;RO$Q;VO$R;XO$S;ZO$T;]O$U;_O$V;aO$W;aO$z#dO!S#yi~P!'WOT:tOz:pO!v=mO#S#QO#z:rO#{:zO#|:|O#};OO$O;QO$Q;UO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dO!S#yi!b#yi!m#yi!q#yi!n#yi!}#yi~P!'WOT:uOz:qO!v=nO#S#QO#z:sO#{:{O#|:}O#};PO$O;RO$Q;VO$R;XO$S;ZO$T;]O$U;_O$V;aO$W;aO$z#dO!S#yi!b#yi~P!'WOz:pO#S#QO#|:|O#};OO$O;QO$Q;UO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dOT#yi!S#yi!b#yi!m#yi!q#yi!v#yi#z#yi#{#yi!n#yi!}#yi~P!'WOz:qO#S#QO#|:}O#};PO$O;RO$Q;VO$R;XO$S;ZO$T;]O$U;_O$V;aO$W;aO$z#dOT#yi!S#yi!b#yi!v#yi#z#yi#{#yi~P!'WOz:pO#S#QO#};OO$O;QO$Q;UO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dOT#yi!S#yi!b#yi!m#yi!q#yi!v#yi#z#yi#{#yi#|#yi!n#yi!}#yi~P!'WOz:qO#S#QO#};PO$O;RO$Q;VO$R;XO$S;ZO$T;]O$U;_O$V;aO$W;aO$z#dOT#yi!S#yi!b#yi!v#yi#z#yi#{#yi#|#yi~P!'WOz:pO#S#QO$O;QO$Q;UO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dOT#yi!S#yi!b#yi!m#yi!q#yi!v#yi#z#yi#{#yi#|#yi#}#yi!n#yi!}#yi~P!'WOz:qO#S#QO$O;RO$Q;VO$R;XO$S;ZO$T;]O$U;_O$V;aO$W;aO$z#dOT#yi!S#yi!b#yi!v#yi#z#yi#{#yi#|#yi#}#yi~P!'WOz:pO#S#QO$Q;UO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dOT#yi!S#yi!b#yi!m#yi!q#yi!v#yi#z#yi#{#yi#|#yi#}#yi$O#yi!n#yi!}#yi~P!'WOz:qO#S#QO$Q;VO$R;XO$S;ZO$T;]O$U;_O$V;aO$W;aO$z#dOT#yi!S#yi!b#yi!v#yi#z#yi#{#yi#|#yi#}#yi$O#yi~P!'WOz:pO$Q;UO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dOT#yi!S#yi!b#yi!m#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi!n#yi!}#yi~P!'WOz:qO$Q;VO$R;XO$S;ZO$T;]O$U;_O$V;aO$W;aO$z#dOT#yi!S#yi!b#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi~P!'WOz:pO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dOT#yi!S#yi!b#yi!m#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi!n#yi!}#yi~P!'WOz:qO$R;XO$S;ZO$T;]O$U;_O$V;aO$W;aO$z#dOT#yi!S#yi!b#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi~P!'WOz:pO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dOT#yi!S#yi!b#yi!m#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi!n#yi!}#yi~P!'WOz:qO$S;ZO$T;]O$U;_O$V;aO$W;aO$z#dOT#yi!S#yi!b#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi~P!'WOz:pO$T;[O$V;`O$W;`O$z#dOT#yi!S#yi!b#yi!m#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$U#yi!n#yi!}#yi~P!'WOz:qO$T;]O$V;aO$W;aO$z#dOT#yi!S#yi!b#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$U#yi~P!'WOz:pO$V;`O$W;`O$z#dOT#yi!S#yi!b#yi!m#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi!n#yi!}#yi~P!'WOz:qO$V;aO$W;aO$z#dOT#yi!S#yi!b#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi~P!'WOz:pO$S;YO$T;[O$V;`O$W;`O$z#dOT#yi!S#yi!b#yi!m#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$U#yi!n#yi!}#yi~P!'WOz:qO$S;ZO$T;]O$V;aO$W;aO$z#dOT#yi!S#yi!b#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$U#yi~P!'WOz:pO$W;`O$z#dOT#yi!S#yi!b#yi!m#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi$V#yi!n#yi!}#yi~P!'WOz:qO$W;aO$z#dOT#yi!S#yi!b#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi$V#yi~P!'WOT8vOz8tO!S8wO!b8xO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!x#Ta!}#Ta!q#Ta#X#Ta~P!'WOT8vOz8tO!S8wO!b8xO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!x'Pa!}'Pa!q'Pa#X'Pa~P!'WOz:pO!v=mO#S#QO#z:rO#{:zO#|:|O#};OO$O;QO$Q;UO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dOT#Pi!S#Pi!b#Pi!m#Pi!q#Pi!n#Pi!}#Pi~P!'WOz:qO!v=nO#S#QO#z:sO#{:{O#|:}O#};PO$O;RO$Q;VO$R;XO$S;ZO$T;]O$U;_O$V;aO$W;aO$z#dOT#Pi!S#Pi!b#Pi~P!'WOz:pO!v=mO#S#QO#z:rO#{:zO#|:|O#};OO$O;QO$Q;UO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dOT#vi!S#vi!b#vi!m#vi!q#vi!n#vi!}#vi~P!'WOz:qO!v=nO#S#QO#z:sO#{:{O#|:}O#};PO$O;RO$Q;VO$R;XO$S;ZO$T;]O$U;_O$V;aO$W;aO$z#dOT#vi!S#vi!b#vi~P!'WOT:tOz:pO!S:vO!b:xO!v=mO#S#QO#z:rO#{:zO#|:|O#};OO$O;QO$Q;UO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dO!m#xi!q#xi!n#xi!}#xi~P!'WOz:pO#S#QO#z:rO#{:zO#|:|O#};OO$O;QO$Q;UO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dOT!uq!S!uq!b!uq!m!uq!q!uq!v!uq!n!uq!}!uq~P!'WOz:qO#S#QO#z:sO#{:{O#|:}O#};PO$O;RO$Q;VO$R;XO$S;ZO$T;]O$U;_O$V;aO$W;aO$z#dOT!uq!S!uq!b!uq!v!uq~P!'WOz:pO!v=mO#S#QO#z:rO#{:zO#|:|O#};OO$O;QO$Q;UO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dOT#Pq!S#Pq!b#Pq!m#Pq!q#Pq!n#Pq!}#Pq~P!'WOz:qO!v=nO#S#QO#z:sO#{:{O#|:}O#};PO$O;RO$Q;VO$R;XO$S;ZO$T;]O$U;_O$V;aO$W;aO$z#dOT#Pq!S#Pq!b#Pq~P!'WOT:tOz:pO!S:vO!b:xO!v=mO#S#QO#z:rO#{:zO#|:|O#};OO$O;QO$Q;UO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dO!m$jq!q$jq!n$jq!}$jq~P!'WOz:pO#S#QO#z:rO#{:zO#|:|O#};OO$O;QO$Q;UO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dOT!uy!S!uy!b!uy!m!uy!q!uy!v!uy!n!uy!}!uy~P!'WOz:qO#S#QO#z:sO#{:{O#|:}O#};PO$O;RO$Q;VO$R;XO$S;ZO$T;]O$U;_O$V;aO$W;aO$z#dOT!uy!S!uy!b!uy!v!uy~P!'WOT:tOz:pO!S:vO!b:xO!v=mO#S#QO#z:rO#{:zO#|:|O#};OO$O;QO$Q;UO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dO!m$jy!q$jy!n$jy!}$jy~P!'WOT:tOz:pO!S:vO!b:xO!v=mO#S#QO#z:rO#{:zO#|:|O#};OO$O;QO$Q;UO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dO!m$j!R!q$j!R!n$j!R!}$j!R~P!'WOT:tOz:pO!S:vO!b:xO!v=mO#S#QO#z:rO#{:zO#|:|O#};OO$O;QO$Q;UO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dO!m$j!Z!q$j!Z!n$j!Z!}$j!Z~P!'WOT:tOz:pO!S:vO!b:xO!v=mO#S#QO#z:rO#{:zO#|:|O#};OO$O;QO$Q;UO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dO!m$j!c!q$j!c!n$j!c!}$j!c~P!'WO#S=TO~P$8YOP6]OU^O[9WOo>SOs#hOx9WOy9WO}`O!O]O!Q:lO!T9WO!U9WO!V9WO!Y9WO!c8hO!s#gO!y[O#S=UO#W_O#bhO#daO#ebO#peO$T:iO$]9WO$^:iO$aqO$z:nO${!OO~P$;lOT6iOz6gO!S6jO!b6kO!v8sO#O=SO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO~P!'WOT6iOz6gO!S6jO!b6kO!v8sO#O=RO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO!m'PX!q'PX!n'PX!}'PX~P!'WOT&zXz&zX!S&zX!b&zX!o&zX!q&zX!v&zX!y&zX#S&zX#W&zX#`&zX#a&zX#s&zX#z&zX#{&zX#|&zX#}&zX$O&zX$Q&zX$R&zX$S&zX$T&zX$U&zX$V&zX$W&zX$z&zX!}&zX~O#u9ZO#w9[O#X&zX!x&zX~P.8oO!y$hO#S=^O~O!q9hO~P>UO!y$hO#S=cO~O!q>OO#O9}O~OT8vOz8tO!S8wO!b8xO!q:OO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO~P!'WOT:tOz:pO!S:vO!b:xO!v=mO#S#QO#z:rO#{:zO#|:|O#};OO$O;QO$Q;UO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dO!m#Ta!q#Ta!n#Ta!}#Ta~P!'WOT:tOz:pO!S:vO!b:xO!v=mO#S#QO#z:rO#{:zO#|:|O#};OO$O;QO$Q;UO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dO!m'Pa!q'Pa!n'Pa!}'Pa~P!'WO!q>PO#O:RO~O!q>QO#O:YO~O#O:YO#l'SO~O#O:ZO#l'SO~O#O:_O#l'SO~O#u;eO#w;gO!m&zX!n&zX~P.8oO#u;fO#w;hOT&zXz&zX!S&zX!b&zX!o&zX!v&zX!y&zX#S&zX#W&zX#`&zX#a&zX#s&zX#z&zX#{&zX#|&zX#}&zX$O&zX$Q&zX$R&zX$S&zX$T&zX$U&zX$V&zX$W&zX$z&zX~O!q;tO~P>UO!q;uO~P>UO!q>XO#O<oO~O!q>YO#O9WO~OT8vOz8tO!S8wO!b8xO!q<pO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO~P!'WOT8vOz8tO!S8wO!b8xO!q<qO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO~P!'WO!q>ZO#O<vO~O!q>[O#O<{O~O#O<{O#l'SO~O#O9WO#l'SO~O#O<|O#l'SO~O#O=PO#l'SO~O!y$hO#S=|O~Oo=[Os$lO~O!y$hO#S=}O~O!y$hO#S>UO~O!y$hO#S>VO~O!y$hO#S>WO~Oo={Os$lO~Oo>TOs$lO~Oo>SOs$lO~O%O$U$}$d!d$V#b%V#e'g!s#d~",goto:"%&y'mPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP'nP'uPP'{(OPPP(hP(OP(O*ZP*ZPP2W:j:mPP*Z:sBpPBsPBsPP:sCSCVCZ:s:sPPPC^PP:sK^!$S!$S:s!$WP!$W!$W!%UP!.]!7pP!?oP*ZP*Z*ZPPPPP!?rPPPPPPP*Z*Z*Z*ZPP*Z*ZP!E]!GRP!GV!Gy!GR!GR!HP*Z*ZP!HY!Hl!Ib!J`!Jd!J`!Jo!J}!J}!KV!KY!KY*ZPP*ZPP!K^#%[#%[#%`P#%fP(O#%j(O#&S#&V#&V#&](O#&`(O(O#&f#&i(O#&r#&u(O(O(O(O(O#&x(O(O(O(O(O(O(O(O(O#&{!KR(O(O#'_#'o#'r(O(OP#'u#'|#(S#(o#(y#)P#)Z#)b#)h#*d#4X#5T#5Z#5a#5k#5q#5w#6]#6c#6i#6o#6u#6{#7R#7]#7g#7m#7s#7}PPPPPPPP#8T#8X#8}#NO#NR#N]$(f$(r$)X$)_$)b$)e$)k$,X$5v$>_$>b$>h$>k$>n$>w$>{$?X$?k$Bk$CO$C{$K{PP%%y%%}%&Z%&p%&vQ!nQT!qV!rQUOR%x!mRVO}!hPVX!S!j!r!s!w$}%P%S%U(`+r+u.b.d.l0`0a0i1a|!hPVX!S!j!r!s!w$}%P%S%U(`+r+u.b.d.l0`0a0i1aQ%^!ZQ%g!aQ%l!eQ'd$dQ'q$iQ)[%kQ*y'tQ,](xU-n*v*x+OQ.W+cQ.{,[S/t-s-tQ0T.SS0}/s/wQ1V0RQ1o1OR2P1p0u!OPVX[_bjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!{!}#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b#k#n#o#s#t$R$S$U$y$}%P%R%S%T%U%c%}&S&W&p&s&t&w'O'U'Y'z(O(`(l({)P)i)p)t)v*P*T*U*o+P+r+u+z,T,V,X-Q-R-d-k-z.b.d.l.t/c/i/m/x0V0`0a0d0e0i0v1R1]1a2[2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2o2p2s2t2u2v2w3P3d3g3h3k3o3p3s3u3v3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4Z4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x5Q5e5h5i5l5p5q5t5v5w6T6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6u6v6x6y6z6{6|7X7i7l7o7r7s7u7w7z7|8T8U8X8Z8[8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9S9T9V9W9X9Z9[9]9h9y9}:O:R:Y:Z:_:a:b:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:};O;P;Q;R;S;T;U;V;W;X;Y;Z;[;];^;_;`;a;c;d;e;f;g;h;i;t;u<j<k<o<p<q<v<{<|=P=R=S=T=U=Z=m=n0t!OPVX[_bjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!{!}#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b#k#n#o#s#t$R$S$U$y$}%P%R%S%T%U%c%}&S&W&p&s&t&w'O'U'Y'z(O(`(l({)P)i)p)t)v*P*T*U*o+P+r+u+z,T,V,X-Q-R-d-k-z.b.d.l.t/c/i/m/x0V0`0a0d0e0i0v1R1]1a2[2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2o2p2s2t2u2v2w3P3d3g3h3k3o3p3s3u3v3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4Z4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x5Q5e5h5i5l5p5q5t5v5w6T6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6u6v6x6y6z6{6|7X7i7l7o7r7s7u7w7z7|8T8U8X8Z8[8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9S9T9V9W9X9Z9[9]9h9y9}:O:R:Y:Z:_:a:b:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:};O;P;Q;R;S;T;U;V;W;X;Y;Z;[;];^;_;`;a;c;d;e;f;g;h;i;t;u<j<k<o<p<q<v<{<|=P=R=S=T=U=Z=m=nQ#j]Q$}!PQ%O!QQ%P!RQ,S(kQ.b+sR.f+vR&q#jQ)z&pR/a-R0uhPVX[_bjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!{!}#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b#k#n#o#s#t$R$S$U$y$}%P%R%S%T%U%c%}&S&W&p&s&t&w'O'U'Y'z(O(`(l({)P)i)p)t)v*P*T*U*o+P+r+u+z,T,V,X-Q-R-d-k-z.b.d.l.t/c/i/m/x0V0`0a0d0e0i0v1R1]1a2[2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2o2p2s2t2u2v2w3P3d3g3h3k3o3p3s3u3v3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4Z4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x5Q5e5h5i5l5p5q5t5v5w6T6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6u6v6x6y6z6{6|7X7i7l7o7r7s7u7w7z7|8T8U8X8Z8[8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9S9T9V9W9X9Z9[9]9h9y9}:O:R:Y:Z:_:a:b:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:};O;P;Q;R;S;T;U;V;W;X;Y;Z;[;];^;_;`;a;c;d;e;f;g;h;i;t;u<j<k<o<p<q<v<{<|=P=R=S=T=U=Z=m=nR#l^k#p_j#k#s&s&w3x3y7l8f8g8h8iR#u`T&|#t'OR-Y*U0thPVX[_bjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!{!}#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b#k#n#o#s#t$R$S$U$y$}%P%R%S%T%U%c%}&S&W&p&s&t&w'O'U'Y'z(O(`(l({)P)i)p)t)v*P*T*U*o+P+r+u+z,T,V,X-Q-R-d-k-z.b.d.l.t/c/i/m/x0V0`0a0d0e0i0v1R1]1a2[2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2o2p2s2t2u2v2w3P3d3g3h3k3o3p3s3u3v3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4Z4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x5Q5e5h5i5l5p5q5t5v5w6T6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6u6v6x6y6z6{6|7X7i7l7o7r7s7u7w7z7|8T8U8X8Z8[8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9S9T9V9W9X9Z9[9]9h9y9}:O:R:Y:Z:_:a:b:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:};O;P;Q;R;S;T;U;V;W;X;Y;Z;[;];^;_;`;a;c;d;e;f;g;h;i;t;u<j<k<o<p<q<v<{<|=P=R=S=T=U=Z=m=nR#va-r#OZ#f#m#w$V$W$X$Y$Z$[$u$v%W%Y%[%`%s%|&O&Q&U&^&_&`&a&b&c&d&e&f&g&h&i&j&k&l&m&u&v&{'X'Z'[(](p)q)s)u*O*[*^+S+V,`,c,y,{,}-V-W-X-i-x.k.w/`/h/n/y0r0u0x1Q1X1d1m1q2q2r2x2y2z2{2|2}3O3Q3R3S3T3U3V3W3X3Y3Z3[3]3^3_3`3a3b3c3e3f3i3j3l3m3n3q3r3t4Y4y4z4{4|4}5O5P5R5S5T5U5V5W5X5Y5Z5[5]5^5_5`5a5b5c5d5f5g5j5k5m5n5o5r5s5u6R6V6}7O7P7Q7R7S7U7V7W7Y7Z7[7]7^7_7`7a7b7c7d7e7f7g7h7j7k7n7p7q7x7y7{7}8O8P8Q8R8S8V8W8Y8]9U9^9_9`9a9b9c9f9g9i9j9k9l9m9n9o9p9q9r9s9t9u9v9w9x9z9{:P:Q:T:V:W:[:^:`:c;j;k;l;m;n;o;p;s;v;w;x;y;z;{;|;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<[<]<^<_<`<a<b<c<d<e<f<g<h<i<l<m<n<r<s<t<u<w<x<y<z<}=O=Q=V=W=_=`=a=q=rQ']$]Y(Q$s7T9e;q;rS(U2Z6QR(X$tT&X!})v!w$Qg#}$h'S'i'm'r(P(T)Z*f*s*z*}+Q+]+`+g,Z-r-u-{.Q/u1P5}6O6P6]8b8c8d=d=e=i>O>P>Q>X>Y>Z>[3ZfPVX[_bgjklmnoprxyz!S!W!X!Y!]!e!f!g!j!r!s!w!y!z!{!}#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b#k#n#o#s#t#}$R$S$U$h$y$}%P%R%S%T%U%c%p%r%}&S&W&p&s&t&w'O'S'U'Y'^'i'm'r'z(O(P(R(S(T(`(l({)P)Z)_)c)i)p)t)v*P*T*U*f*o*s*z*}+P+Q+]+`+d+g+r+u+z,T,V,X,Z,u-Q-R-d-k-r-u-z-{-|.Q.b.d.l.t/[/c/i/m/u/x0V0`0a0d0e0i0v1P1R1]1a2[2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2o2p2s2t2u2v2w3P3d3g3h3k3o3p3s3u3v3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4Z4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x5Q5e5h5i5l5p5q5t5v5w5}6O6P6T6]6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6u6v6x6y6z6{6|7X7i7l7o7r7s7u7w7z7|8T8U8X8Z8[8b8c8d8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9S9T9V9W9X9Z9[9]9h9y9}:O:R:Y:Z:_:a:b:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:};O;P;Q;R;S;T;U;V;W;X;Y;Z;[;];^;_;`;a;c;d;e;f;g;h;i;t;u<j<k<o<p<q<v<{<|=P=R=S=T=U=Z=d=e=i=m=n>O>P>Q>X>Y>Z>[3scPVX[_bdegjklmnoprxyz!S!W!X!Y!]!e!f!g!j!r!s!w!y!z!{!}#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b#k#n#o#s#t#{#}$R$S$U$h$y$}%P%R%S%T%U%c%m%n%p%r%}&S&W&p&s&t&w'O'S'U'Y'^'i'm'r'z(O(P(R(S(T(`(l({)P)Z)^)_)c)g)h)i)p)t)v*P*T*U*f*o*s*z*}+P+Q+]+`+d+g+r+u+z,T,V,X,Z,u,x-Q-R-d-k-r-u-z-{-|.Q.b.d.l.t/[/c/i/m/u/x0V0`0a0d0e0i0v1P1R1]1a2W2X2Y2[2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2o2p2s2t2u2v2w3P3d3g3h3k3o3p3s3u3v3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4Z4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x5Q5e5h5i5l5p5q5t5v5w5}6O6P6T6]6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6u6v6x6y6z6{6|7X7i7l7o7r7s7u7w7z7|8T8U8X8Z8[8b8c8d8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9S9T9V9W9X9Z9[9]9h9y9}:O:R:Y:Z:_:a:b:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:};O;P;Q;R;S;T;U;V;W;X;Y;Z;[;];^;_;`;a;c;d;e;f;g;h;i;t;u<j<k<o<p<q<v<{<|=P=R=S=T=U=Z=d=e=i=m=n>O>P>Q>X>Y>Z>[0phPVX[_bjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!{!}#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b#k#n#o#s#t$R$S$U$y$}%P%R%S%T%U%c%}&S&W&p&s&t&w'O'U'Y'z(O(`(l({)P)i)p)t)v*P*T*U*o+P+r+u+z,T,V,X-Q-R-d-k-z.b.d.l.t/c/i/m/x0`0a0d0e0i0v1R1a2[2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2o2p2s2t2u2v2w3P3d3g3h3k3o3p3s3u3v3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4Z4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x5Q5e5h5i5l5p5q5t5v5w6T6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6u6v6x6y6z6{6|7X7i7l7o7r7s7u7w7z7|8T8U8X8Z8[8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9S9T9V9W9X9Z9[9]9h9y9}:O:R:Y:Z:_:a:b:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:};O;P;Q;R;S;T;U;V;W;X;Y;Z;[;];^;_;`;a;c;d;e;f;g;h;i;t;u<j<k<o<p<q<v<{<|=P=R=S=T=U=Z=m=nT1Z0V1]R&]#P!n#[Z#f#w$V$W$X$Y$[$s$v%W%Y%[&Q&_&`&a&b&c&d&e&f'X'Z'[(])q)s*^+V,{-x/y1Q1d1q7j7k!Y2j2Z2x2y2z2{2}3O3Q3R3S3T3U3V3W3X3a3b3c3e3f3i3j3l3m3n3q3r3t!^4m2r4y4z4{4|5O5P5R5S5T5U5V5W5X5Y5b5c5d5f5g5j5k5m5n5o5r5s5u6Q6R#Q6p#m%`%s&u&v&{(p*O+S,`,c,y-V-X.w2q6}7O7P7Q7S7T7U7Y7Z7[7]7^7_7`7a7n7p7q7x7{7}8Q8S8V8W8Y8]9U:c=V=W#^8}%|&O&U)u,}-W-i/h/n0r0u0x1m4Y6V7V7W7y8O8P8R9^9_9`9a9c9e9f9g9i9j9k9l9m9n9o9p9x9z9{:P:Q:T:V:W:[:^:`<f<g=_=q=r!^;S.k/`;j;k;l;m;p;q;s;v;x;z;|<O<Q<S<U<h<l<n<r<t<w<x<z<}=O=Q=`=ao;T1X;r;w;y;{;}<P<R<T<V<i<m<s<u<yS$iu#hQ$qwU't$j$l&oQ'v$kS'x$m$rQ*|'uQ+O'wQ+R'yQ4X5xS4[5z5{Q4]5|Q6U8^S6W8_8`Q6X8aQ9d=YS9|=[=^Q:S=cQ=]=yS=b={=|Q=f=}Q=o>RS=p>S>VS=s>T>UR=t>WT'n$h*s!csPVXt!S!j!r!s!w$h$}%P%S%U'i(T(`)W*s+]+g+r+u,g,k.b.d.l0`0a0i1aQ$^rR*`'^Q*x'sQ-t*{R/w-wQ(W$tQ)U%hQ)n%vQ*i'fQ+k(XR-c*jQ(V$tQ)Y%jQ)m%vQ*e'eS*h'f)nS+j(W(XS-b*i*jQ.]+kQ/T,mQ/e-`R/g-cQ(U$tQ)T%hQ)V%iQ)l%vU*g'f)m)nU+i(V(W(XQ,f)UU-a*h*i*jS.[+j+kS/f-b-cQ0X.]R0t/gT+e(T+g[%e!_$b'c+a.R0QR,d)Qb$ov(T+[+]+`+g.P.Q0PR+T'{S+e(T+gT,j)W,kR0W.XT1[0V1]0w|PVX[_bjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!{!}#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b#k#n#o#s#t$R$S$U$y$}%P%R%S%T%U%c%}&S&W&p&s&t&w'O'U'Y'z(O(`(l({)P)i)p)t)v*P*T*U*o+P+r+u+z,T,V,X,_-Q-R-d-k-z.b.d.l.t/c/i/m/x0V0`0a0d0e0i0v1R1]1a2[2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2o2p2s2t2u2v2w3P3d3g3h3k3o3p3s3u3v3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4Z4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x5Q5e5h5i5l5p5q5t5v5w6T6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6u6v6x6y6z6{6|7X7i7l7o7r7s7u7w7z7|8T8U8X8Z8[8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9S9T9V9W9X9Z9[9]9h9y9}:O:R:Y:Z:_:a:b:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:};O;P;Q;R;S;T;U;V;W;X;Y;Z;[;];^;_;`;a;c;d;e;f;g;h;i;t;u<j<k<o<p<q<v<{<|=P=R=S=T=U=Z=m=nT$x{${Q+p([R._+nT$z{${Q(b$}Q(j%PQ(o%SQ(r%UQ.j+yQ0].fQ0^.iR1g0iR(e%OX+|(c(d+},PR(f%OX(h%P%S%U0iR%S!T_%a!]%R(l,T,V.t0dR%U!UR.x,XR,[(wQ)X%jS*d'e)YS-_*e,mS/d-`/TR0s/eQ%q!fU)]%m%n%rU,o)^)g)hR/_,xR)d%pR/],uSSO!mR!oSQ!rVR%y!rQ!jPS!sV!rQ!wX[%u!j!s!w+r0a1aQ+r(`Q0a.lR1a0`Q)j%sS,z)j7vR7v7WQ-S)zR/b-SQ&x#qS*R&x7mR7m9YS*V&{&|R-Z*VQ)w&YR-P)w!l'T#|'h*n*q*v+W+[,m-`-s-v-y.P.z/s/v/z0P1O1p4^4_4`5y6Y6Z6[:U:X:]=g=h=j=u=v=w=xR*Z'T1^dPVX[_bjklmnoprxyz!S!W!X!Y!]!e!g!j!r!s!w!y!z!{!}#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b#k#n#o#s#t$R$S$U$y$}%P%R%S%T%U%c%p%}&S&W&p&s&t&w'O'U'Y'^'z(O(R(S(`(l({)P)_)c)i)p)t)v*P*T*U*o+P+d+r+u+z,T,V,X,u-Q-R-d-k-z-|.b.d.l.t/[/c/i/m/x0V0`0a0d0e0i0v1R1]1a2[2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2o2p2s2t2u2v2w3P3d3g3h3k3o3p3s3u3v3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4Z4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x5Q5e5h5i5l5p5q5t5v5w6T6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6u6v6x6y6z6{6|7X7i7l7o7r7s7u7w7z7|8T8U8X8Z8[8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9S9T9V9W9X9Z9[9]9h9y9}:O:R:Y:Z:_:a:b:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:};O;P;Q;R;S;T;U;V;W;X;Y;Z;[;];^;_;`;a;c;d;e;f;g;h;i;t;u<j<k<o<p<q<v<{<|=P=R=S=T=U=Z=m=n`#zd#{%m)^)g,x2W2YQ#{eQ%m!fQ)^%nQ)g%rQ,x)h!v2Wg#}$h'S'i'm'r(P(T)Z*f*s*z*}+Q+]+`+g,Z-r-u-{.Q/u1P5}6O6P6]8b8c8d=d=e=i>O>P>Q>X>Y>Z>[R2Y2X|tPVX!S!j!r!s!w$}%P%S%U(`+r+u.b.d.l0`0a0i1aW$`t'i+],gS'i$h*sS+](T+gT,g)W,kQ'_$^R*a'_Q*t'oR-m*tQ/p-oS0{/p0|R0|/qQ-}+XR/|-}Q+g(TR.Y+gS+`(T+gS,h)W,kQ.Q+]W.T+`,h.Q/OR/O,gQ)R%eR,e)RQ'|$oR+U'|Q1]0VR1w1]Q${{R(^${Q+t(aR.c+tQ+w(bR.g+wQ+}(cQ,P(dT.m+},PQ(|%`S,a(|7tR7t7VQ(y%^R,^(yQ,k)WR/R,kQ)`%oS,q)`/WR/W,rQ,v)dR/^,vT!uV!rj!iPVX!j!r!s!w(`+r.l0`0a1aQ%Q!SQ(a$}W(h%P%S%U0iQ.e+uQ0Z.bR0[.d|ZPVX!S!j!r!s!w$}%P%S%U(`+r+u.b.d.l0`0a0i1aQ#f[U#m_#s&wQ#wbQ$VkQ$WlQ$XmQ$YnQ$ZoQ$[pQ$sx^$uy2_4b6e8q:m:nQ$vzQ%W!WQ%Y!XQ%[!YW%`!]%R(l,VU%s!g&p-RQ%|!yQ&O!zQ&Q!{S&U!})v^&^#R2a4d6g8t:p:qQ&_#SQ&`#TQ&a#UQ&b#VQ&c#WQ&d#XQ&e#YQ&f#ZQ&g#[Q&h#]Q&i#^Q&j#_Q&k#`Q&l#aQ&m#bQ&u#nQ&v#oS&{#t'OQ'X$RQ'Z$SQ'[$UQ(]$yQ(p%TQ)q%}Q)s&SQ)u&WQ*O&tS*['U4ZQ*^'Y^*_2[3u5v8Z:a=R=SQ+S'zQ+V(OQ,`({Q,c)PQ,y)iQ,{)pQ,})tQ-V*PQ-W*TQ-X*U^-]2]3v5w8[:b=T=UQ-i*oQ-x+PQ.k+zQ.w,XQ/`-QQ/h-dQ/n-kQ/y-zQ0r/cQ0u/iQ0x/mQ1Q/xU1X0V1]9WQ1d0eQ1m0vQ1q1RQ2Z2^Q2qjQ2r3yQ2x3zQ2y3|Q2z4OQ2{4QQ2|4SQ2}4UQ3O2`Q3Q2bQ3R2cQ3S2dQ3T2eQ3U2fQ3V2gQ3W2hQ3X2iQ3Y2jQ3Z2kQ3[2lQ3]2mQ3^2nQ3_2oQ3`2pQ3a2sQ3b2tQ3c2uQ3e2vQ3f2wQ3i3PQ3j3dQ3l3gQ3m3hQ3n3kQ3q3oQ3r3pQ3t3sQ4Y4WQ4y3{Q4z3}Q4{4PQ4|4RQ4}4TQ5O4VQ5P4cQ5R4eQ5S4fQ5T4gQ5U4hQ5V4iQ5W4jQ5X4kQ5Y4lQ5Z4mQ5[4nQ5]4oQ5^4pQ5_4qQ5`4rQ5a4sQ5b4tQ5c4uQ5d4vQ5f4wQ5g4xQ5j5QQ5k5eQ5m5hQ5n5iQ5o5lQ5r5pQ5s5qQ5u5tQ6Q4aQ6R3xQ6V6TQ6}6^Q7O6_Q7P6`Q7Q6aQ7R6bQ7S6cQ7T6dQ7U6fU7V,T.t0dQ7W%cQ7Y6hQ7Z6iQ7[6jQ7]6kQ7^6lQ7_6mQ7`6nQ7a6oQ7b6pQ7c6qQ7d6rQ7e6sQ7f6tQ7g6uQ7h6vQ7j6xQ7k6yQ7n6zQ7p6{Q7q6|Q7x7XQ7y7iQ7{7oQ7}7rQ8O7sQ8P7uQ8Q7wQ8R7zQ8S7|Q8V8TQ8W8UQ8Y8XQ8]8fU9U#k&s7lQ9^8jQ9_8kQ9`8lQ9a8mQ9b8nQ9c8oQ9e8pQ9f8rQ9g8sQ9i8uQ9j8vQ9k8wQ9l8xQ9m8yQ9n8zQ9o8{Q9p8|Q9q8}Q9r9OQ9s9PQ9t9QQ9u9RQ9v9SQ9w9TQ9x9ZQ9z9[Q9{9]Q:P9hQ:Q9yQ:T9}Q:V:OQ:W:RQ:[:YQ:^:ZQ:`:_Q:c8iQ;j:dQ;k:eQ;l:fQ;m:gQ;n:hQ;o:iQ;p:jQ;q:kQ;r:lQ;s:oQ;v:rQ;w:sQ;x:tQ;y:uQ;z:vQ;{:wQ;|:xQ;}:yQ<O:zQ<P:{Q<Q:|Q<R:}Q<S;OQ<T;PQ<U;QQ<V;RQ<W;SQ<X;TQ<Y;UQ<Z;VQ<[;WQ<];XQ<^;YQ<_;ZQ<`;[Q<a;]Q<b;^Q<c;_Q<d;`Q<e;aQ<f;cQ<g;dQ<h;eQ<i;fQ<l;gQ<m;hQ<n;iQ<r;tQ<s;uQ<t<jQ<u<kQ<w<oQ<x<pQ<y<qQ<z<vQ<}<{Q=O<|Q=Q=PQ=V8hQ=W8gQ=_=ZQ=`9VQ=a9XQ=q=mR=r=nR){&pQ%t!gQ)O%cT)y&p-R$SiPVX[bklmnopxyz!S!W!X!Y!j!r!s!w!{#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b$R$S$U$y$}%P%S%U%}&S'Y(O(`)p+P+r+u-z.b.d.l/x0`0a0e0i1R1a2[2]6x6y!t3w'U2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2o2p2s2t2u2v2w3P3d3g3h3k3o3p3s3z3|4O4Q4S4U5v5w!x6S3u3v3x3y3{3}4P4R4T4V4Z4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x5Q5e5h5i5l5p5q5t$O8e_j!]!g#k#n#o#s#t%R%T&p&s&t&w'O'z(l({)P)i*P*U,V,X-R6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6u6v6z6{6|7X7l7o7r7w7|8T8U8X8Z8[8f8g8h8i#|=X!y!z!}%c&W)t)v*T*o,T-d-k.t/c/i/m0d0v4W6T7i7s7u7z8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9S9T9Z9[9]9h9y9}:O:R:Y:Z:_:a:b;c;d=Z=m=n!v=k+z-Q9V9X:d:e:f:g:h:j:k:m:o:p:r:t:v:x:z:|;O;Q;S;U;W;Y;[;^;`;e;g;i;t<j<o<p<v<{<|=P=R=T!]=l0V1]9W:i:l:n:q:s:u:w:y:{:};P;R;T;V;X;Z;];_;a;f;h;u<k<q=S=UQ#r_Q&r#kQ&z#sR)}&sS#q_#s^$Tj3x3y8f8g8h8iS*Q&w7lT9Y#k&sQ&}#tR*X'OR&T!|R&Z!}Q&Y!}R-O)vQ#|gQ'V#}S'h$h*sQ*Y'SQ*n'iQ*q'mQ*v'rQ+W(PS+[(T+gQ,m)ZQ-`*fQ-s*zQ-v*}Q-y+QS.P+]+`Q.z,ZQ/s-rQ/v-uQ/z-{Q0P.QQ1O/uQ1p1PQ4^5}Q4_6OQ4`6PQ5y6]Q6Y8bQ6Z8cQ6[8dQ:U=dQ:X=eQ:]=iQ=g>OQ=h>PQ=j>QQ=u>XQ=v>YQ=w>ZR=x>[0t!OPVX[_bjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!{!}#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b#k#n#o#s#t$R$S$U$y$}%P%R%S%T%U%c%}&S&W&p&s&t&w'O'U'Y'z(O(`(l({)P)i)p)t)v*P*T*U*o+P+r+u+z,T,V,X-Q-R-d-k-z.b.d.l.t/c/i/m/x0V0`0a0d0e0i0v1R1]1a2[2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2o2p2s2t2u2v2w3P3d3g3h3k3o3p3s3u3v3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4Z4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x5Q5e5h5i5l5p5q5t5v5w6T6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6u6v6x6y6z6{6|7X7i7l7o7r7s7u7w7z7|8T8U8X8Z8[8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9S9T9V9W9X9Z9[9]9h9y9}:O:R:Y:Z:_:a:b:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:};O;P;Q;R;S;T;U;V;W;X;Y;Z;[;];^;_;`;a;c;d;e;f;g;h;i;t;u<j<k<o<p<q<v<{<|=P=R=S=T=U=Z=m=n!v$Pg#}$h'S'i'm'r(P(T)Z*f*s*z*}+Q+]+`+g,Z-r-u-{.Q/u1P5}6O6P6]8b8c8d=d=e=i>O>P>Q>X>Y>Z>[S$]r'^Q%k!eS%o!f%rQ)b%pU+X(R(S+dQ,p)_Q,t)cQ/Z,uQ/{-|R0p/[|vPVX!S!j!r!s!w$}%P%S%U(`+r+u.b.d.l0`0a0i1a#U#i[bklmnopxyz!W!X!Y!{#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b$R$S$U$y%}&S'Y(O)p+P-z/x0e1R2[2]6x6yd+^(T)W+]+`+g,g,h,k.Q/O!t6w'U2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2o2p2s2t2u2v2w3P3d3g3h3k3o3p3s3z3|4O4Q4S4U5v5w!x;b3u3v3x3y3{3}4P4R4T4V4Z4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x5Q5e5h5i5l5p5q5t$O=z_j!]!g#k#n#o#s#t%R%T&p&s&t&w'O'z(l({)P)i*P*U,V,X-R6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6u6v6z6{6|7X7l7o7r7w7|8T8U8X8Z8[8f8g8h8i#|>]!y!z!}%c&W)t)v*T*o,T-d-k.t/c/i/m0d0v4W6T7i7s7u7z8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9S9T9Z9[9]9h9y9}:O:R:Y:Z:_:a:b;c;d=Z=m=n!v>^+z-Q9V9X:d:e:f:g:h:j:k:m:o:p:r:t:v:x:z:|;O;Q;S;U;W;Y;[;^;`;e;g;i;t<j<o<p<v<{<|=P=R=T!]>_0V1]9W:i:l:n:q:s:u:w:y:{:};P;R;T;V;X;Z;];_;a;f;h;u<k<q=S=UR'p$hQ'o$hR-l*sR$_rR-q*wQ+Y(RQ+Z(SR.X+dT+f(T+ge+_(T)W+]+`+g,g,h,k.Q/OQ%f!_Q'b$bQ*c'cQ.U+aQ0S.RR1U0QQ#eZQ%X!WQ%Z!XQ%]!YQ'}$pQ(s%VQ(t%WQ(u%YQ(v%[Q(}%bQ)S%fQ)[%kQ)f%qQ)k%tQ*b'bQ,n)]Q-^*cQ.V+bQ.W+cQ.e+xQ.o,QQ.p,RQ.q,SQ.v,WQ.y,YQ.},bQ/U,oQ/}.OQ0T.SQ0U.UQ0W.XQ0[.hQ0k/QQ0q/_Q1S0OQ1V0RQ1W0SQ1`0_Q1h0jQ1r1TQ1s1UQ1v1[Q1y1_Q1}1jQ2T1{R2U1|Q$pvS+b(T+gU.O+[+]+`S0O.P.QR1T0P|!aPVX!S!j!r!s!w$}%P%S%U(`+r+u.b.d.l0`0a0i1aQ$dtW+c(T)W+g,kW.S+]+`,g,hT0R.Q/O0t!OPVX[_bjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!{!}#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b#k#n#o#s#t$R$S$U$y$}%P%R%S%T%U%c%}&S&W&p&s&t&w'O'U'Y'z(O(`(l({)P)i)p)t)v*P*T*U*o+P+r+u+z,T,V,X-Q-R-d-k-z.b.d.l.t/c/i/m/x0V0`0a0d0e0i0v1R1]1a2[2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2o2p2s2t2u2v2w3P3d3g3h3k3o3p3s3u3v3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4Z4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x5Q5e5h5i5l5p5q5t5v5w6T6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6u6v6x6y6z6{6|7X7i7l7o7r7s7u7w7z7|8T8U8X8Z8[8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9S9T9V9W9X9Z9[9]9h9y9}:O:R:Y:Z:_:a:b:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:};O;P;Q;R;S;T;U;V;W;X;Y;Z;[;];^;_;`;a;c;d;e;f;g;h;i;t;u<j<k<o<p<q<v<{<|=P=R=S=T=U=Z=m=nR.|,_0w}PVX[_bjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!{!}#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b#k#n#o#s#t$R$S$U$y$}%P%R%S%T%U%c%}&S&W&p&s&t&w'O'U'Y'z(O(`(l({)P)i)p)t)v*P*T*U*o+P+r+u+z,T,V,X,_-Q-R-d-k-z.b.d.l.t/c/i/m/x0V0`0a0d0e0i0v1R1]1a2[2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2o2p2s2t2u2v2w3P3d3g3h3k3o3p3s3u3v3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4Z4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x5Q5e5h5i5l5p5q5t5v5w6T6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6u6v6x6y6z6{6|7X7i7l7o7r7s7u7w7z7|8T8U8X8Z8[8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9S9T9V9W9X9Z9[9]9h9y9}:O:R:Y:Z:_:a:b:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:};O;P;Q;R;S;T;U;V;W;X;Y;Z;[;];^;_;`;a;c;d;e;f;g;h;i;t;u<j<k<o<p<q<v<{<|=P=R=S=T=U=Z=m=nT$w{${Q(i%PQ(n%SQ(q%UR1f0iQ%b!]Q(m%RQ,U(lQ.s,TQ.u,VQ0c.tR1c0dQ%q!fR)]%rR)e%p",nodeNames:"\u26A0 ( HeredocString EscapeSequence abstract LogicOp array as Boolean break case catch clone const continue default declare do echo else elseif enddeclare endfor endforeach endif endswitch endwhile enum extends final finally fn for foreach from function global goto if implements include include_once LogicOp insteadof interface list match namespace new null LogicOp print require require_once return switch throw trait try unset use var Visibility while LogicOp yield LineComment BlockComment TextInterpolation PhpClose Text PhpOpen Template TextInterpolation EmptyStatement ; } { Block : LabelStatement Name ExpressionStatement ConditionalExpression LogicOp MatchExpression ) ( ParenthesizedExpression MatchBlock MatchArm , => AssignmentExpression ArrayExpression ValueList & VariadicUnpacking ... Pair [ ] ListExpression ValueList Pair Pair SubscriptExpression MemberExpression -> ?-> VariableName DynamicVariable $ ${ CallExpression ArgList NamedArgument SpreadArgument CastExpression UnionType LogicOp OptionalType NamedType QualifiedName \\ NamespaceName ScopedExpression :: ClassMemberName AssignOp UpdateExpression UpdateOp YieldExpression BinaryExpression LogicOp LogicOp LogicOp BitOp BitOp BitOp CompareOp CompareOp BitOp ArithOp ConcatOp ArithOp ArithOp IncludeExpression RequireExpression CloneExpression UnaryExpression ControlOp LogicOp PrintIntrinsic FunctionExpression static ParamList Parameter #[ Attributes Attribute VariadicParameter PropertyParameter UseList ArrowFunction NewExpression class BaseClause ClassInterfaceClause DeclarationList ConstDeclaration VariableDeclarator PropertyDeclaration VariableDeclarator MethodDeclaration UseDeclaration UseList UseInsteadOfClause UseAsClause UpdateExpression ArithOp ShellExpression ThrowExpression Integer Float String MemberExpression SubscriptExpression UnaryExpression ArithOp Interpolation String IfStatement ColonBlock SwitchStatement Block CaseStatement DefaultStatement ColonBlock WhileStatement EmptyStatement DoStatement ForStatement ForSpec SequenceExpression ForeachStatement ForSpec Pair GotoStatement ContinueStatement BreakStatement ReturnStatement TryStatement CatchDeclarator DeclareStatement EchoStatement UnsetStatement ConstDeclaration FunctionDefinition ClassDeclaration InterfaceDeclaration TraitDeclaration EnumDeclaration EnumBody EnumCase NamespaceDefinition NamespaceUseDeclaration UseGroup UseClause UseClause GlobalDeclaration FunctionStaticDeclaration Program",maxTerm:304,nodeProps:[["group",-36,2,8,49,81,83,85,88,93,94,102,106,107,110,111,114,118,123,126,130,132,133,147,148,149,150,153,154,164,165,179,181,182,183,184,185,191,"Expression",-28,74,78,80,82,192,194,199,201,202,205,208,209,210,211,212,214,215,216,217,218,219,220,221,222,225,226,230,231,"Statement",-3,119,121,122,"Type"],["isolate",-4,66,67,70,191,""],["openedBy",69,"phpOpen",76,"{",86,"(",101,"#["],["closedBy",71,"phpClose",77,"}",87,")",158,"]"]],propSources:[tP],skippedNodes:[0],repeatNodeCount:29,tokenData:"!F|_R!]OX$zXY&^YZ'sZ]$z]^&^^p$zpq&^qr)Rrs+Pst+otu2buv5evw6rwx8Vxy>]yz>yz{?g{|@}|}Bb}!OCO!O!PDh!P!QKT!Q!R!!o!R![!$q![!]!,P!]!^!-a!^!_!-}!_!`!1S!`!a!2d!a!b!3t!b!c!7^!c!d!7z!d!e!9W!e!}!7z!}#O!;^#O#P!;z#P#Q!<h#Q#R!=U#R#S!7z#S#T!=u#T#U!7z#U#V!9W#V#o!7z#o#p!Co#p#q!D]#q#r!Er#r#s!F`#s$f$z$f$g&^$g&j!7z&j$I_$z$I_$I`&^$I`$KW$z$KW$KX&^$KX;'S$z;'S;=`&W<%l?HT$z?HT?HU&^?HUO$zP%PV&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zP%kO&wPP%nWOY$zYZ%fZ!a$z!b;'S$z;'S;=`&W<%l~$z~O$z~~%fP&ZP;=`<%l$zV&ed&wP&vUOX$zXY&^YZ'sZ]$z]^&^^p$zpq&^q!^$z!^!_%k!_$f$z$f$g&^$g$I_$z$I_$I`&^$I`$KW$z$KW$KX&^$KX;'S$z;'S;=`&W<%l?HT$z?HT?HU&^?HUO$zV'zW&wP&vUXY(dYZ(d]^(dpq(d$f$g(d$I_$I`(d$KW$KX(d?HT?HU(dU(iW&vUXY(dYZ(d]^(dpq(d$f$g(d$I_$I`(d$KW$KX(d?HT?HU(dR)YW$^Q&wPOY$zYZ%fZ!^$z!^!_%k!_!`)r!`;'S$z;'S;=`&W<%lO$zR)yW$QQ&wPOY$zYZ%fZ!^$z!^!_%k!_!`*c!`;'S$z;'S;=`&W<%lO$zR*jV$QQ&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV+YV'fS&wP'gQOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV+v]&wP!dUOY,oYZ%fZ],o]^$z^!^,o!^!_-i!_!a,o!a!b/y!b!},o!}#O1f#O;'S,o;'S;=`/s<%lO,oV,vZ&wP!dUOY,oYZ%fZ],o]^$z^!^,o!^!_-i!_!a,o!a!b/y!b;'S,o;'S;=`/s<%lO,oV-nZ!dUOY,oYZ%fZ],o]^$z^!a,o!a!b.a!b;'S,o;'S;=`/s<%l~,o~O,o~~%fU.dWOY.|YZ/nZ].|]^/n^!`.|!a;'S.|;'S;=`/h<%lO.|U/RV!dUOY.|Z].|^!a.|!a!b.a!b;'S.|;'S;=`/h<%lO.|U/kP;=`<%l.|U/sO!dUV/vP;=`<%l,oV0OZ&wPOY,oYZ0qZ],o]^0x^!^,o!^!_-i!_!`,o!`!a$z!a;'S,o;'S;=`/s<%lO,oV0xO&wP!dUV1PV&wP!dUOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV1oZ&wP$dQ!dUOY,oYZ%fZ],o]^$z^!^,o!^!_-i!_!a,o!a!b/y!b;'S,o;'S;=`/s<%lO,o_2i`&wP#dQOY$zYZ%fZ!^$z!^!_%k!_!c$z!c!}3k!}#R$z#R#S3k#S#T$z#T#o3k#o#p4w#p$g$z$g&j3k&j;'S$z;'S;=`&W<%lO$z_3ra&wP#b^OY$zYZ%fZ!Q$z!Q![3k![!^$z!^!_%k!_!c$z!c!}3k!}#R$z#R#S3k#S#T$z#T#o3k#o$g$z$g&j3k&j;'S$z;'S;=`&W<%lO$zV5OV&wP#eUOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR5lW&wP$VQOY$zYZ%fZ!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zR6]V#wQ&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV6yY#SU&wPOY$zYZ%fZv$zvw7iw!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zR7pV#|Q&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR8^Z&wP%VQOY8VYZ9PZw8Vwx;_x!^8V!^!_;{!_#O8V#O#P<y#P;'S8V;'S;=`>V<%lO8VR9WV&wP%VQOw9mwx:Xx#O9m#O#P:^#P;'S9m;'S;=`;X<%lO9mQ9rV%VQOw9mwx:Xx#O9m#O#P:^#P;'S9m;'S;=`;X<%lO9mQ:^O%VQQ:aRO;'S9m;'S;=`:j;=`O9mQ:oW%VQOw9mwx:Xx#O9m#O#P:^#P;'S9m;'S;=`;X;=`<%l9m<%lO9mQ;[P;=`<%l9mR;fV&wP%VQOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR<Q]%VQOY8VYZ9PZw8Vwx;_x!a8V!a!b9m!b#O8V#O#P<y#P;'S8V;'S;=`>V<%l~8V~O8V~~%fR=OW&wPOY8VYZ9PZ!^8V!^!_;{!_;'S8V;'S;=`=h;=`<%l9m<%lO8VR=mW%VQOw9mwx:Xx#O9m#O#P:^#P;'S9m;'S;=`;X;=`<%l8V<%lO9mR>YP;=`<%l8VR>dV!yQ&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV?QV!xU&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR?nY&wP$VQOY$zYZ%fZz$zz{@^{!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zR@eW$WQ&wPOY$zYZ%fZ!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zRAUY$TQ&wPOY$zYZ%fZ{$z{|At|!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zRA{V$zQ&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zRBiV!}Q&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z_CXZ$TQ%TW&wPOY$zYZ%fZ}$z}!OAt!O!^$z!^!_%k!_!`6U!`!aCz!a;'S$z;'S;=`&W<%lO$zVDRV#`U&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zVDo[&wP$UQOY$zYZ%fZ!O$z!O!PEe!P!Q$z!Q![Fs![!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zVEjX&wPOY$zYZ%fZ!O$z!O!PFV!P!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zVF^V#UU&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zRFz_&wP%OQOY$zYZ%fZ!Q$z!Q![Fs![!^$z!^!_%k!_!g$z!g!hGy!h#R$z#R#SJc#S#X$z#X#YGy#Y;'S$z;'S;=`&W<%lO$zRHO]&wPOY$zYZ%fZ{$z{|Hw|}$z}!OHw!O!Q$z!Q![Ii![!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zRH|X&wPOY$zYZ%fZ!Q$z!Q![Ii![!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zRIpZ&wP%OQOY$zYZ%fZ!Q$z!Q![Ii![!^$z!^!_%k!_#R$z#R#SHw#S;'S$z;'S;=`&W<%lO$zRJhX&wPOY$zYZ%fZ!Q$z!Q![Fs![!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zVK[[&wP$VQOY$zYZ%fZz$zz{LQ{!P$z!P!Q,o!Q!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zVLVX&wPOYLQYZLrZzLQz{N_{!^LQ!^!_! s!_;'SLQ;'S;=`!!i<%lOLQVLwT&wPOzMWz{Mj{;'SMW;'S;=`NX<%lOMWUMZTOzMWz{Mj{;'SMW;'S;=`NX<%lOMWUMmVOzMWz{Mj{!PMW!P!QNS!Q;'SMW;'S;=`NX<%lOMWUNXO!eUUN[P;=`<%lMWVNdZ&wPOYLQYZLrZzLQz{N_{!PLQ!P!Q! V!Q!^LQ!^!_! s!_;'SLQ;'S;=`!!i<%lOLQV! ^V!eU&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV! vZOYLQYZLrZzLQz{N_{!aLQ!a!bMW!b;'SLQ;'S;=`!!i<%l~LQ~OLQ~~%fV!!lP;=`<%lLQZ!!vm&wP$}YOY$zYZ%fZ!O$z!O!PFs!P!Q$z!Q![!$q![!^$z!^!_%k!_!d$z!d!e!&o!e!g$z!g!hGy!h!q$z!q!r!(a!r!z$z!z!{!){!{#R$z#R#S!%}#S#U$z#U#V!&o#V#X$z#X#YGy#Y#c$z#c#d!(a#d#l$z#l#m!){#m;'S$z;'S;=`&W<%lO$zZ!$xa&wP$}YOY$zYZ%fZ!O$z!O!PFs!P!Q$z!Q![!$q![!^$z!^!_%k!_!g$z!g!hGy!h#R$z#R#S!%}#S#X$z#X#YGy#Y;'S$z;'S;=`&W<%lO$zZ!&SX&wPOY$zYZ%fZ!Q$z!Q![!$q![!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zZ!&tY&wPOY$zYZ%fZ!Q$z!Q!R!'d!R!S!'d!S!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zZ!'k[&wP$}YOY$zYZ%fZ!Q$z!Q!R!'d!R!S!'d!S!^$z!^!_%k!_#R$z#R#S!&o#S;'S$z;'S;=`&W<%lO$zZ!(fX&wPOY$zYZ%fZ!Q$z!Q!Y!)R!Y!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zZ!)YZ&wP$}YOY$zYZ%fZ!Q$z!Q!Y!)R!Y!^$z!^!_%k!_#R$z#R#S!(a#S;'S$z;'S;=`&W<%lO$zZ!*Q]&wPOY$zYZ%fZ!Q$z!Q![!*y![!^$z!^!_%k!_!c$z!c!i!*y!i#T$z#T#Z!*y#Z;'S$z;'S;=`&W<%lO$zZ!+Q_&wP$}YOY$zYZ%fZ!Q$z!Q![!*y![!^$z!^!_%k!_!c$z!c!i!*y!i#R$z#R#S!){#S#T$z#T#Z!*y#Z;'S$z;'S;=`&W<%lO$zR!,WX!qQ&wPOY$zYZ%fZ![$z![!]!,s!]!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!,zV#sQ&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV!-hV!mU&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!.S[$RQOY$zYZ%fZ!^$z!^!_!.x!_!`!/i!`!a*c!a!b!0]!b;'S$z;'S;=`&W<%l~$z~O$z~~%fR!/PW$SQ&wPOY$zYZ%fZ!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zR!/pX$RQ&wPOY$zYZ%fZ!^$z!^!_%k!_!`$z!`!a*c!a;'S$z;'S;=`&W<%lO$zP!0bR!iP!_!`!0k!r!s!0p#d#e!0pP!0pO!iPP!0sQ!j!k!0y#[#]!0yP!0|Q!r!s!0k#d#e!0kV!1ZX#uQ&wPOY$zYZ%fZ!^$z!^!_%k!_!`)r!`!a!1v!a;'S$z;'S;=`&W<%lO$zV!1}V#OU&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!2kX$RQ&wPOY$zYZ%fZ!^$z!^!_%k!_!`!3W!`!a!.x!a;'S$z;'S;=`&W<%lO$zR!3_V$RQ&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV!3{[!vQ&wPOY$zYZ%fZ}$z}!O!4q!O!^$z!^!_%k!_!`$z!`!a!6P!a!b!6m!b;'S$z;'S;=`&W<%lO$zV!4vX&wPOY$zYZ%fZ!^$z!^!_%k!_!`$z!`!a!5c!a;'S$z;'S;=`&W<%lO$zV!5jV#aU&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV!6WV!gU&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!6tW#zQ&wPOY$zYZ%fZ!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zR!7eV$]Q&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z_!8Ra&wP!s^OY$zYZ%fZ!Q$z!Q![!7z![!^$z!^!_%k!_!c$z!c!}!7z!}#R$z#R#S!7z#S#T$z#T#o!7z#o$g$z$g&j!7z&j;'S$z;'S;=`&W<%lO$z_!9_e&wP!s^OY$zYZ%fZr$zrs!:psw$zwx8Vx!Q$z!Q![!7z![!^$z!^!_%k!_!c$z!c!}!7z!}#R$z#R#S!7z#S#T$z#T#o!7z#o$g$z$g&j!7z&j;'S$z;'S;=`&W<%lO$zR!:wV&wP'gQOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV!;eV#WU&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV!<RV#pU&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!<oV#XQ&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!=]W$OQ&wPOY$zYZ%fZ!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zR!=zZ&wPOY!=uYZ!>mZ!^!=u!^!_!@u!_#O!=u#O#P!Aq#P#S!=u#S#T!B{#T;'S!=u;'S;=`!Ci<%lO!=uR!>rV&wPO#O!?X#O#P!?q#P#S!?X#S#T!@j#T;'S!?X;'S;=`!@o<%lO!?XQ!?[VO#O!?X#O#P!?q#P#S!?X#S#T!@j#T;'S!?X;'S;=`!@o<%lO!?XQ!?tRO;'S!?X;'S;=`!?};=`O!?XQ!@QWO#O!?X#O#P!?q#P#S!?X#S#T!@j#T;'S!?X;'S;=`!@o;=`<%l!?X<%lO!?XQ!@oO${QQ!@rP;=`<%l!?XR!@x]OY!=uYZ!>mZ!a!=u!a!b!?X!b#O!=u#O#P!Aq#P#S!=u#S#T!B{#T;'S!=u;'S;=`!Ci<%l~!=u~O!=u~~%fR!AvW&wPOY!=uYZ!>mZ!^!=u!^!_!@u!_;'S!=u;'S;=`!B`;=`<%l!?X<%lO!=uR!BcWO#O!?X#O#P!?q#P#S!?X#S#T!@j#T;'S!?X;'S;=`!@o;=`<%l!=u<%lO!?XR!CSV${Q&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!ClP;=`<%l!=uV!CvV!oU&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV!DfY#}Q#lS&wPOY$zYZ%fZ!^$z!^!_%k!_!`6U!`#p$z#p#q!EU#q;'S$z;'S;=`&W<%lO$zR!E]V#{Q&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!EyV!nQ&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!FgV$^Q&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z",tokenizers:[F0,eP,K0,0,1,2,3,H0],topRules:{Template:[0,72],Program:[1,232]},dynamicPrecedences:{284:1},specialized:[{term:81,get:(i,e)=>vd(i)<<1,external:vd},{term:81,get:i=>iP[i]||-1}],tokenPrec:29354});var nP=ue.define({name:"php",parser:Wd.configure({props:[de.add({IfStatement:Ve({except:/^\s*({|else\b|elseif\b|endif\b)/}),TryStatement:Ve({except:/^\s*({|catch\b|finally\b)/}),SwitchBody:i=>{let e=i.textAfter,t=/^\s*\}/.test(e),n=/^\s*(case|default)\b/.test(e);return i.baseIndent+(t?0:n?1:2)*i.unit},ColonBlock:i=>i.baseIndent+i.unit,"Block EnumBody DeclarationList":Vr({closing:"}"}),ArrowFunction:i=>i.baseIndent+i.unit,"String BlockComment":()=>null,Statement:Ve({except:/^({|end(for|foreach|switch|while)\b)/})}),ye.add({"Block EnumBody DeclarationList SwitchBody ArrayExpression ValueList":At,ColonBlock(i){return{from:i.from+1,to:i.to}},BlockComment(i){return{from:i.from+2,to:i.to-2}}})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"},line:"//"},indentOnInput:/^\s*(?:case |default:|end(?:if|for(?:each)?|switch|while)|else(?:if)?|\{|\})$/,wordChars:"$",closeBrackets:{stringPrefixes:["b","B"]}}});function Xd(i={}){let e=[],t;if(i.baseLanguage!==null)if(i.baseLanguage)t=i.baseLanguage;else{let n=qi({matchClosingTags:!1});e.push(n.support),t=n.language}return new Oe(nP.configure({wrap:t&&ki(n=>n.type.isTop?{parser:t.parser,overlay:r=>r.name=="Text"}:null),top:i.plain?"Program":"Template"}),e)}var rP=me.deserialize({version:14,states:"%^QYQPOOO!YQQO'#CaO#RQQO'#CrOOQO'#Ct'#CtQYQPOOOOQO'#C}'#C}O#]QQO'#CzO$ZQQO'#CoOOQO'#Cz'#CzOOQO'#Cu'#CuO$lQQO,58{OOQO,58{,58{O$sQQO,59^O$sQQO,59^OOQO,59^,59^OOQO-E6r-E6rO$zQQO'#CfOOQO,58|,58|OOQO'#C|'#C|O%]QSO'#C{O%hQQO,59ZOOQO-E6s-E6sOOQO1G.g1G.gO%mQQO1G.xOOQO1G.x1G.xO%tQQO,59QO%yQSO'#CvO&bQSO,59gOOQO1G.u1G.uOOQO7+$d7+$dOOQO1G.l1G.lOOQO,59b,59bOOQO-E6t-E6t",stateData:"&{~OmOSPOS~OSPOeQOgRO~OVUOZTO[TO]TO^WO_WO`WOaWObWOtVOuWO~ORZO~PeOVUOZTO[TO]TO^WO_WO`WObWOtVOuWO~Oa[Od^O~P!aOX`ORnXVnXZnX[nX]nX^nX_nX`nXanXbnXtnXunXdnX~OVbOZTO[TO]TOsoP~ORfO~PeOdhO~PeOVbOZTO[TO]TOWoP~OrjOsoXWoX~OslO~OdmO~PeOWnO~OVbOZTO[TO]TOrjXsjXWjX~OrjOsoaWoa~Og[]a_^`bVmPZ`~",goto:"#brPPPPPswPPP!PPPPPPPPPwPPsP!S!Y!hPPP!n!v!|#TTROS]WPQY[]gRaUQSOR_SQYPQ]QUeY]gRg[QkcRpk]XPQY[]gQdVRi`ScV`Roj[WPQY[]gVbV`j",nodeNames:"\u26A0 BlockComment Template }} {{ InsertBlock Function Identifier ) ( FunctionParamList String Boolean Number ChainedIdentifier Comparison Operator CodeTag Math Array %} {% CodeBlock PlainText",maxTerm:37,nodeProps:[["openedBy",3,"{{",8,"(",20,"{%"],["closedBy",4,"}}",9,")",21,"%}"]],skippedNodes:[0,1],repeatNodeCount:3,tokenData:"#Jr~R!^OX$}XY&ZYZ&ZZ]$}]^&Z^p$}pq&Zqr'Wrs(Ysu$}uv-cvw$}wx.gxy3Wyz3nz{4U{|4r|}5Y}!O5r!O!P>u!P!Q?]!Q!R:[!R![=m![!]?y!]!^$}!^!_@a!_!`@}!`!a@a!a!c$}!c!}6}!}#OAk#O#P$}#P#QBR#Q#R$}#R#S6}#S#T$}#T#UBi#U#V!'f#V#X6}#X#Y!,h#Y#Z# Y#Z#]6}#]#^#'g#^#a6}#a#b#.T#b#c#5r#c#d#8[#d#g6}#g#h#9h#h#i#AV#i#j!.Q#j#k!@V#k#l#Co#l#o6}#o#p#Ge#p#q>u#q#r#In#r;'S$};'S;=`&O<%lO$}P%STgPO#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}P%fWOs$}tu$}v#o$}#p;'S$};'S;=`&O<%l~$}~O$}~~&UP&RP;=`<%l$}P&ZOgP~&b[gPm~OX$}XY&ZYZ&ZZ]$}]^&Z^p$}pq&Zq#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}~']VgPO!_$}!_!`'r!`#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}~'yTgP_~O#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}~(aXgPZ~Or(Yrs(|s#O(Y#O#P)d#P#o(Y#o#p){#p;'S(Y;'S;=`,n<%lO(Y~)TTgPZ~O#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}~)iUgPO#o(Y#o#p){#p;'S(Y;'S;=`,t;=`<%l*|<%lO(Y~*Q^Z~Or(Yrs(|st*|tu(Yuv*|v#O(Y#O#P)d#P#o(Y#o#p*|#p;'S(Y;'S;=`,n<%l~(Y~O(Y~~&U~+RVZ~Or*|rs+hs#O*|#O#P+m#P;'S*|;'S;=`,h<%lO*|~+mOZ~~+pRO;'S*|;'S;=`+y;=`O*|~,OWZ~Or*|rs+hs#O*|#O#P+m#P;'S*|;'S;=`,h;=`<%l*|<%lO*|~,kP;=`<%l*|~,qP;=`<%l(Y~,yWZ~Or*|rs+hs#O*|#O#P+m#P;'S*|;'S;=`,h;=`<%l(Y<%lO*|~-jVgPb~O#o$}#o#p%c#p#q$}#q#r.P#r;'S$};'S;=`&O<%lO$}R.WTdQgPO#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}~.nXgPZ~Ow.gwx(|x#O.g#O#P/Z#P#o.g#o#p/r#p;'S.g;'S;=`2c<%lO.g~/`UgPO#o.g#o#p/r#p;'S.g;'S;=`2i;=`<%l0v<%lO.g~/w_Z~Os.gst0vtu.guv0vvw.gwx(|x#O.g#O#P/Z#P#o.g#o#p0v#p;'S.g;'S;=`2c<%l~.g~O.g~~&U~0{VZ~Ow0vwx+hx#O0v#O#P1b#P;'S0v;'S;=`2]<%lO0v~1eRO;'S0v;'S;=`1n;=`O0v~1sWZ~Ow0vwx+hx#O0v#O#P1b#P;'S0v;'S;=`2];=`<%l0v<%lO0v~2`P;=`<%l0v~2fP;=`<%l.g~2nWZ~Ow0vwx+hx#O0v#O#P1b#P;'S0v;'S;=`2];=`<%l.g<%lO0vR3_TXQgPO#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}V3uTWUgPO#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}~4]VgPb~Oz$}z{4r{#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}~4yTgPb~O#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}V5cTrSuQgPO#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}~5{`gPb~V~O}$}}!O6}!O!P8T!P!Q$}!Q!R:[!R![=m![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~7U_gPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~8Y^gPO}$}}!O9U!O!Q$}!Q![9U![!c$}!c!}9U!}#R$}#R#S9U#S#T$}#T#o9U#o#p%c#p;'S$};'S;=`&O<%lO$}~9]_gP^~O}$}}!O9U!O!P8T!P!Q$}!Q![9U![!c$}!c!}9U!}#R$}#R#S9U#S#T$}#T#o9U#o#p%c#p;'S$};'S;=`&O<%lO$}~:e_gP]~V~O}$}}!O6}!O!P;d!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~;i^gPO}$}}!O9U!O!Q$}!Q![<e![!c$}!c!}9U!}#R$}#R#S9U#S#T$}#T#o9U#o#p%c#p;'S$};'S;=`&O<%lO$}~<n_gP]~^~O}$}}!O9U!O!P8T!P!Q$}!Q![<e![!c$}!c!}9U!}#R$}#R#S9U#S#T$}#T#o9U#o#p%c#p;'S$};'S;=`&O<%lO$}~=v_gP]~V~O}$}}!O6}!O!P;d!P!Q$}!Q![=m![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~>|TgP`~O#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}~?dVgPb~O!P$}!P!Q4r!Q#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}R@QTuQgPO#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}~@hVgP_~O!_$}!_!`'r!`#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}~AUVgP`~O!_$}!_!`'r!`#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}RArTtQgPO#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}VBYTsUgPO#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}~BpegPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#b6}#b#cDR#c#d6}#d#eFg#e#i6}#i#jKe#j#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~DYagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#W6}#W#XE_#X#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~Eh_gP_~V~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~FnagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#d6}#d#eGs#e#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~GzagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#`6}#`#aIP#a#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~IWagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#m6}#m#nJ]#n#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~Jf_gPa~V~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~KlagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#h6}#h#iLq#i#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~LxagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#c6}#c#dM}#d#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~NUagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#X6}#X#Y! Z#Y#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~! bagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#g6}#g#h!!g#h#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!!nagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#V6}#V#W!#s#W#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!#z`gPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#U!$|#U#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!%TagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#d6}#d#e!&Y#e#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!&aagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#X6}#X#YJ]#Y#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!'magPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#`6}#`#a!(r#a#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!(yagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#c6}#c#d!*O#d#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!*VagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#V6}#V#W!+[#W#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!+cagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#_6}#_#`J]#`#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!,oegPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#`6}#`#a!.Q#a#b6}#b#c!/^#c#l6}#l#m!Hz#m#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!.XagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#g6}#g#h!&Y#h#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!/eagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#W6}#W#X!0j#X#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!0qkgPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#U!2f#U#V!'f#V#Y6}#Y#Z!3x#Z#]6}#]#^!6b#^#a6}#a#b!7n#b#g6}#g#h!<m#h#j6}#j#k!@V#k#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!2mcgPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#d6}#d#eFg#e#i6}#i#jKe#j#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!4PagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#c6}#c#d!5U#d#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!5]agPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#f6}#f#gJ]#g#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!6iagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#Y6}#Y#ZJ]#Z#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!7u`gPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#U!8w#U#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!9OagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#V6}#V#W!:T#W#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!:[agPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#f6}#f#g!;a#g#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!;hagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#c6}#c#dJ]#d#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!<tagPV~Op$}pq!=yq}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!>OVgPO#k$}#k#l!>e#l#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}~!>jVgPO#]$}#]#^!?P#^#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}~!?UVgPO#h$}#h#i!?k#i#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}~!?pVgPO#[$}#[#]'r#]#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}~!@^agPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#X6}#X#Y!Ac#Y#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!AjagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#f6}#f#g!Bo#g#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!BvagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#U6}#U#V!C{#V#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!DS`gPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#U!EU#U#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!E]agPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#h6}#h#i!Fb#i#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!FiagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#]6}#]#^!Gn#^#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!GuagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#a6}#a#bJ]#b#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!IRagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#h6}#h#i!JW#i#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!J_agPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#X6}#X#Y!Kd#Y#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!KkagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#b6}#b#c!Lp#c#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!LwagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#W6}#W#X!M|#X#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!NTagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#g6}#g#hJ]#h#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~# abgPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#U#!i#U#c6}#c#d!5U#d#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#!pagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#`6}#`#a##u#a#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~##|agPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#g6}#g#h#%R#h#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#%YagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#X6}#X#Y#&_#Y#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#&h_gP[~V~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#'negPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#Y6}#Y#ZJ]#Z#b6}#b#c#)P#c#g6}#g#hE_#h#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#)YagP_~V~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#V6}#V#W#*_#W#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#*fagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#`6}#`#a#+k#a#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#+ragPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#i6}#i#j#,w#j#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#-OagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#W6}#W#X!&Y#X#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#.[`gPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#U#/^#U#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#/ecgPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#V6}#V#W!:T#W#h6}#h#i#0p#i#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#0wagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#V6}#V#W#1|#W#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#2TagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#[6}#[#]#3Y#]#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#3aagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#X6}#X#Y#4f#Y#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#4magPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#g6}#g#hE_#h#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#5yagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#c6}#c#d#7O#d#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#7VagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#h6}#h#iE_#i#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#8cagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#f6}#f#gE_#g#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#9ocgPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#X6}#X#Y#:z#Y#h6}#h#i#<W#i#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#;RagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#h6}#h#iJ]#i#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#<_`gPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#U#=a#U#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#=hagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#f6}#f#g#>m#g#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#>tagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#h6}#h#i#?y#i#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#@QagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#g6}#g#h!<m#h#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#A^agPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#f6}#f#g#Bc#g#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#BjagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#i6}#i#j#%R#j#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#CvagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#]6}#]#^#D{#^#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#ESagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#h6}#h#i#FX#i#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#F`agPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#[6}#[#]J]#]#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#GjZuQOs$}st#H]tu$}uv#Idv#o$}#o#p#Ii#p;'S$};'S;=`&O<%l~$}~O$}~~&U~#H`TOs#H]st#Hot;'S#H];'S;=`#I^<%lO#H]~#HrVOs#H]st#Hot#q#H]#q#r#IX#r;'S#H];'S;=`#I^<%lO#H]~#I^OP~~#IaP;=`<%l#H]P#IiOePP#InOSPR#IuVuQgPO#o$}#o#p%c#p#q$}#q#r#J[#r;'S$};'S;=`&O<%lO$}R#JcTRQgPO#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}",tokenizers:[0,1,2],topRules:{Template:[0,2]},tokenPrec:259}),sP=ue.define({parser:rP.configure({props:[oe({Identifier:u.variableName,Boolean:u.bool,String:u.string,Number:u.number,BlockComment:u.blockComment,CodeTag:u.keyword,Comparison:u.compareOperator,Operator:u.operator,Math:u.arithmeticOperator,"Function/Identifier":u.function(u.definition(u.variableName)),"( )":u.paren,"{ }":u.brace,"{{ }} {% %}":u.meta})]}),languageData:{commentTokens:{block:{open:"{#",close:"#}"}}}});function Zd(){return new Oe(sP)}var Qa=1,oP=2,OP=3,aP=4,lP=5,hP=35,cP=36,fP=37,uP=11,dP=13;function pP(i){return i==45||i==46||i==58||i>=65&&i<=90||i==95||i>=97&&i<=122||i>=161}function mP(i){return i==9||i==10||i==13||i==32}var qd=null,Vd=null,Cd=0;function Sa(i,e){let t=i.pos+e;if(Vd==i&&Cd==t)return qd;for(;mP(i.peek(e));)e++;let n="";for(;;){let r=i.peek(e);if(!pP(r))break;n+=String.fromCharCode(r),e++}return Vd=i,Cd=t,qd=n||null}function Yd(i,e){this.name=i,this.parent=e,this.hash=e?e.hash:0;for(let t=0;t<i.length;t++)this.hash+=(this.hash<<4)+i.charCodeAt(t)+(i.charCodeAt(t)<<8)}var gP=new Mt({start:null,shift(i,e,t,n){return e==Qa?new Yd(Sa(n,1)||"",i):i},reduce(i,e){return e==uP&&i?i.parent:i},reuse(i,e,t,n){let r=e.type.id;return r==Qa||r==dP?new Yd(Sa(n,1)||"",i):i},hash(i){return i?i.hash:0},strict:!1}),$P=new ee((i,e)=>{if(i.next==60){if(i.advance(),i.next==47){i.advance();let t=Sa(i,0);if(!t)return i.acceptToken(lP);if(e.context&&t==e.context.name)return i.acceptToken(oP);for(let n=e.context;n;n=n.parent)if(n.name==t)return i.acceptToken(OP,-2);i.acceptToken(aP)}else if(i.next!=33&&i.next!=63)return i.acceptToken(Qa)}},{contextual:!0});function ya(i,e){return new ee(t=>{let n=0,r=e.charCodeAt(0);e:for(;!(t.next<0);t.advance(),n++)if(t.next==r){for(let s=1;s<e.length;s++)if(t.peek(s)!=e.charCodeAt(s))continue e;break}n&&t.acceptToken(i)})}var QP=ya(hP,"-->"),SP=ya(cP,"?>"),yP=ya(fP,"]]>"),PP=oe({Text:u.content,"StartTag StartCloseTag EndTag SelfCloseEndTag":u.angleBracket,TagName:u.tagName,"MismatchedCloseTag/TagName":[u.tagName,u.invalid],AttributeName:u.attributeName,AttributeValue:u.attributeValue,Is:u.definitionOperator,"EntityReference CharacterReference":u.character,Comment:u.blockComment,ProcessingInst:u.processingInstruction,DoctypeDecl:u.documentMeta,Cdata:u.special(u.string)}),Ud=me.deserialize({version:14,states:",SOQOaOOOrOxO'#CfOzOpO'#CiO!tOaO'#CgOOOP'#Cg'#CgO!{OrO'#CrO#TOtO'#CsO#]OpO'#CtOOOP'#DS'#DSOOOP'#Cv'#CvQQOaOOOOOW'#Cw'#CwO#eOxO,59QOOOP,59Q,59QOOOO'#Cx'#CxO#mOpO,59TO#uO!bO,59TOOOP'#C{'#C{O$TOaO,59RO$[OpO'#CoOOOP,59R,59ROOOQ'#C|'#C|O$dOrO,59^OOOP,59^,59^OOOS'#C}'#C}O$lOtO,59_OOOP,59_,59_O$tOpO,59`O$|OpO,59`OOOP-E6t-E6tOOOW-E6u-E6uOOOP1G.l1G.lOOOO-E6v-E6vO%UO!bO1G.oO%UO!bO1G.oO%dOpO'#CkO%lO!bO'#CyO%zO!bO1G.oOOOP1G.o1G.oOOOP1G.w1G.wOOOP-E6y-E6yOOOP1G.m1G.mO&VOpO,59ZO&_OpO,59ZOOOQ-E6z-E6zOOOP1G.x1G.xOOOS-E6{-E6{OOOP1G.y1G.yO&gOpO1G.zO&gOpO1G.zOOOP1G.z1G.zO&oO!bO7+$ZO&}O!bO7+$ZOOOP7+$Z7+$ZOOOP7+$c7+$cO'YOpO,59VO'bOpO,59VO'jO!bO,59eOOOO-E6w-E6wO'xOpO1G.uO'xOpO1G.uOOOP1G.u1G.uO(QOpO7+$fOOOP7+$f7+$fO(YO!bO<<GuOOOP<<Gu<<GuOOOP<<G}<<G}O'bOpO1G.qO'bOpO1G.qO(eO#tO'#CnOOOO1G.q1G.qO(sOpO7+$aOOOP7+$a7+$aOOOP<<HQ<<HQOOOPAN=aAN=aOOOPAN=iAN=iO'bOpO7+$]OOOO7+$]7+$]OOOO'#Cz'#CzO({O#tO,59YOOOO,59Y,59YOOOP<<G{<<G{OOOO<<Gw<<GwOOOO-E6x-E6xOOOO1G.t1G.t",stateData:")Z~OPQOSVOTWOVWOWWOXWOiXOxPO}TO!PUO~OuZOw]O~O^`Oy^O~OPQOQcOSVOTWOVWOWWOXWOxPO}TO!PUO~ORdO~P!SOseO|gO~OthO!OjO~O^lOy^O~OuZOwoO~O^qOy^O~O[vO`sOdwOy^O~ORyO~P!SO^{Oy^O~OseO|}O~OthO!O!PO~O^!QOy^O~O[!SOy^O~O[!VO`sOd!WOy^O~Oa!YOy^O~Oy^O[mX`mXdmX~O[!VO`sOd!WO~O^!]Oy^O~O[!_Oy^O~O[!aOy^O~O[!cO`sOd!dOy^O~O[!cO`sOd!dO~Oa!eOy^O~Oy^Oz!gO~Oy^O[ma`madma~O[!jOy^O~O[!kOy^O~O[!lO`sOd!mO~OW!pOX!pOz!rO{!pO~O[!sOy^O~OW!pOX!pOz!vO{!pO~O",goto:"%[wPPPPPPPPPPxxP!OP!UPP!_!iP!oxxxP!u!{#R$Z$j$p$v$|PPPP%SXWORYbXRORYb_t`qru!T!U!bQ!h!YS!o!e!fR!t!nQdRRybXSORYbQYORmYQ[PRn[Q_QQkVjp_krz!R!T!X!Z!^!`!f!i!nQr`QzcQ!RlQ!TqQ!XsQ!ZtQ!^{Q!`!QQ!f!YQ!i!]R!n!eQu`S!UqrU![u!U!bR!b!TQ!q!gR!u!qQbRRxbQfTR|fQiUR!OiSXOYTaRb",nodeNames:"\u26A0 StartTag StartCloseTag MissingCloseTag StartCloseTag StartCloseTag Document Text EntityReference CharacterReference Cdata Element EndTag OpenTag TagName Attribute AttributeName Is AttributeValue CloseTag SelfCloseEndTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag DoctypeDecl",maxTerm:47,context:gP,nodeProps:[["closedBy",1,"SelfCloseEndTag EndTag",13,"CloseTag MissingCloseTag"],["openedBy",12,"StartTag StartCloseTag",19,"OpenTag",20,"StartTag"],["isolate",-6,13,18,19,21,22,24,""]],propSources:[PP],skippedNodes:[0],repeatNodeCount:8,tokenData:"Jy~R!XOX$nXY&kYZ&kZ]$n]^&k^p$npq&kqr$nrs'ssv$nvw(Zw}$n}!O,^!O!P$n!P!Q.m!Q![$n![!]0V!]!^$n!^!_3h!_!`El!`!aF_!a!bGQ!b!c$n!c!}0V!}#P$n#P#QHj#Q#R$n#R#S0V#S#T$n#T#o0V#o%W$n%W%o0V%o%p$n%p&a0V&a&b$n&b1p0V1p4U$n4U4d0V4d4e$n4e$IS0V$IS$I`$n$I`$Ib0V$Ib$Kh$n$Kh%#t0V%#t&/x$n&/x&Et0V&Et&FV$n&FV;'S0V;'S;:j3b;:j;=`&e<%l?&r$n?&r?Ah0V?Ah?BY$n?BY?Mn0V?MnO$nX$uWVP{WOr$nrs%_sv$nw!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$nP%dTVPOv%_w!^%_!_;'S%_;'S;=`%s<%lO%_P%vP;=`<%l%_W&OT{WOr%ysv%yw;'S%y;'S;=`&_<%lO%yW&bP;=`<%l%yX&hP;=`<%l$n_&t_VP{WyUOX$nXY&kYZ&kZ]$n]^&k^p$npq&kqr$nrs%_sv$nw!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$nZ'zTzYVPOv%_w!^%_!_;'S%_;'S;=`%s<%lO%_~(^ast)c![!]*g!c!}*g#R#S*g#T#o*g%W%o*g%p&a*g&b1p*g4U4d*g4e$IS*g$I`$Ib*g$Kh%#t*g&/x&Et*g&FV;'S*g;'S;:j,W?&r?Ah*g?BY?Mn*g~)fQ!Q![)l#l#m)z~)oQ!Q![)l!]!^)u~)zOX~~)}R!Q![*W!c!i*W#T#Z*W~*ZS!Q![*W!]!^)u!c!i*W#T#Z*W~*jg}!O*g!O!P*g!Q![*g![!]*g!]!^,R!c!}*g#R#S*g#T#o*g$}%O*g%W%o*g%p&a*g&b1p*g1p4U*g4U4d*g4e$IS*g$I`$Ib*g$Je$Jg*g$Kh%#t*g&/x&Et*g&FV;'S*g;'S;:j,W?&r?Ah*g?BY?Mn*g~,WOW~~,ZP;=`<%l*gZ,eYVP{WOr$nrs%_sv$nw}$n}!O-T!O!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$nZ-[YVP{WOr$nrs%_sv$nw!^$n!^!_%y!_!`$n!`!a-z!a;'S$n;'S;=`&e<%lO$nZ.TW|QVP{WOr$nrs%_sv$nw!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$n].tYVP{WOr$nrs%_sv$nw!^$n!^!_%y!_!`$n!`!a/d!a;'S$n;'S;=`&e<%lO$n]/mWdSVP{WOr$nrs%_sv$nw!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$n_0b!O`S^QVP{WOr$nrs%_sv$nw}$n}!O0V!O!P0V!P!Q$n!Q![0V![!]0V!]!^$n!^!_%y!_!c$n!c!}0V!}#R$n#R#S0V#S#T$n#T#o0V#o$}$n$}%O0V%O%W$n%W%o0V%o%p$n%p&a0V&a&b$n&b1p0V1p4U0V4U4d0V4d4e$n4e$IS0V$IS$I`$n$I`$Ib0V$Ib$Je$n$Je$Jg0V$Jg$Kh$n$Kh%#t0V%#t&/x$n&/x&Et0V&Et&FV$n&FV;'S0V;'S;:j3b;:j;=`&e<%l?&r$n?&r?Ah0V?Ah?BY$n?BY?Mn0V?MnO$n_3eP;=`<%l0VX3mW{WOq%yqr4Vsv%yw!a%y!a!bEU!b;'S%y;'S;=`&_<%lO%yX4[]{WOr%ysv%yw}%y}!O5T!O!f%y!f!g6V!g!}%y!}#O;f#O#W%y#W#XAr#X;'S%y;'S;=`&_<%lO%yX5YV{WOr%ysv%yw}%y}!O5o!O;'S%y;'S;=`&_<%lO%yX5vT}P{WOr%ysv%yw;'S%y;'S;=`&_<%lO%yX6[V{WOr%ysv%yw!q%y!q!r6q!r;'S%y;'S;=`&_<%lO%yX6vV{WOr%ysv%yw!e%y!e!f7]!f;'S%y;'S;=`&_<%lO%yX7bV{WOr%ysv%yw!v%y!v!w7w!w;'S%y;'S;=`&_<%lO%yX7|V{WOr%ysv%yw!{%y!{!|8c!|;'S%y;'S;=`&_<%lO%yX8hV{WOr%ysv%yw!r%y!r!s8}!s;'S%y;'S;=`&_<%lO%yX9SV{WOr%ysv%yw!g%y!g!h9i!h;'S%y;'S;=`&_<%lO%yX9nX{WOr9irs:Zsv9ivw:Zw!`9i!`!a:x!a;'S9i;'S;=`;`<%lO9iP:^TO!`:Z!`!a:m!a;'S:Z;'S;=`:r<%lO:ZP:rOiPP:uP;=`<%l:ZX;PTiP{WOr%ysv%yw;'S%y;'S;=`&_<%lO%yX;cP;=`<%l9iX;kX{WOr%ysv%yw!e%y!e!f<W!f#V%y#V#W?f#W;'S%y;'S;=`&_<%lO%yX<]V{WOr%ysv%yw!f%y!f!g<r!g;'S%y;'S;=`&_<%lO%yX<wV{WOr%ysv%yw!c%y!c!d=^!d;'S%y;'S;=`&_<%lO%yX=cV{WOr%ysv%yw!v%y!v!w=x!w;'S%y;'S;=`&_<%lO%yX=}V{WOr%ysv%yw!c%y!c!d>d!d;'S%y;'S;=`&_<%lO%yX>iV{WOr%ysv%yw!}%y!}#O?O#O;'S%y;'S;=`&_<%lO%yX?VT{WxPOr%ysv%yw;'S%y;'S;=`&_<%lO%yX?kV{WOr%ysv%yw#W%y#W#X@Q#X;'S%y;'S;=`&_<%lO%yX@VV{WOr%ysv%yw#T%y#T#U@l#U;'S%y;'S;=`&_<%lO%yX@qV{WOr%ysv%yw#h%y#h#iAW#i;'S%y;'S;=`&_<%lO%yXA]V{WOr%ysv%yw#T%y#T#U>d#U;'S%y;'S;=`&_<%lO%yXAwV{WOr%ysv%yw#c%y#c#dB^#d;'S%y;'S;=`&_<%lO%yXBcV{WOr%ysv%yw#V%y#V#WBx#W;'S%y;'S;=`&_<%lO%yXB}V{WOr%ysv%yw#h%y#h#iCd#i;'S%y;'S;=`&_<%lO%yXCiV{WOr%ysv%yw#m%y#m#nDO#n;'S%y;'S;=`&_<%lO%yXDTV{WOr%ysv%yw#d%y#d#eDj#e;'S%y;'S;=`&_<%lO%yXDoV{WOr%ysv%yw#X%y#X#Y9i#Y;'S%y;'S;=`&_<%lO%yXE]T!PP{WOr%ysv%yw;'S%y;'S;=`&_<%lO%yZEuWaQVP{WOr$nrs%_sv$nw!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$n_FhW[UVP{WOr$nrs%_sv$nw!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$nZGXYVP{WOr$nrs%_sv$nw!^$n!^!_%y!_!`$n!`!aGw!a;'S$n;'S;=`&e<%lO$nZHQW!OQVP{WOr$nrs%_sv$nw!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$nZHqYVP{WOr$nrs%_sv$nw!^$n!^!_%y!_#P$n#P#QIa#Q;'S$n;'S;=`&e<%lO$nZIhYVP{WOr$nrs%_sv$nw!^$n!^!_%y!_!`$n!`!aJW!a;'S$n;'S;=`&e<%lO$nZJaWwQVP{WOr$nrs%_sv$nw!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$n",tokenizers:[$P,QP,SP,yP,0,1,2,3],topRules:{Document:[0,6]},tokenPrec:0});function rs(i,e){let t=e&&e.getChild("TagName");return t?i.sliceString(t.from,t.to):""}function Pa(i,e){let t=e&&e.firstChild;return!t||t.name!="OpenTag"?"":rs(i,t)}function bP(i,e,t){let n=e&&e.getChildren("Attribute").find(s=>s.from<=t&&s.to>=t),r=n&&n.getChild("AttributeName");return r?i.sliceString(r.from,r.to):""}function ba(i){for(let e=i&&i.parent;e;e=e.parent)if(e.name=="Element")return e;return null}function xP(i,e){var t;let n=L(i).resolveInner(e,-1),r=null;for(let s=n;!r&&s.parent;s=s.parent)(s.name=="OpenTag"||s.name=="CloseTag"||s.name=="SelfClosingTag"||s.name=="MismatchedCloseTag")&&(r=s);if(r&&(r.to>e||r.lastChild.type.isError)){let s=r.parent;if(n.name=="TagName")return r.name=="CloseTag"||r.name=="MismatchedCloseTag"?{type:"closeTag",from:n.from,context:s}:{type:"openTag",from:n.from,context:ba(s)};if(n.name=="AttributeName")return{type:"attrName",from:n.from,context:r};if(n.name=="AttributeValue")return{type:"attrValue",from:n.from,context:r};let o=n==r||n.name=="Attribute"?n.childBefore(e):n;return o?.name=="StartTag"?{type:"openTag",from:e,context:ba(s)}:o?.name=="StartCloseTag"&&o.to<=e?{type:"closeTag",from:e,context:s}:o?.name=="Is"?{type:"attrValue",from:e,context:r}:o?{type:"attrName",from:e,context:r}:null}else if(n.name=="StartCloseTag")return{type:"closeTag",from:e,context:n.parent};for(;n.parent&&n.to==e&&!(!((t=n.lastChild)===null||t===void 0)&&t.type.isError);)n=n.parent;return n.name=="Element"||n.name=="Text"||n.name=="Document"?{type:"tag",from:e,context:n.name=="Element"?n:ba(n)}:null}var ka=class{constructor(e,t,n){this.attrs=t,this.attrValues=n,this.children=[],this.name=e.name,this.completion=Object.assign(Object.assign({type:"type"},e.completion||{}),{label:this.name}),this.openCompletion=Object.assign(Object.assign({},this.completion),{label:"<"+this.name}),this.closeCompletion=Object.assign(Object.assign({},this.completion),{label:"</"+this.name+">",boost:2}),this.closeNameCompletion=Object.assign(Object.assign({},this.completion),{label:this.name+">"}),this.text=e.textContent?e.textContent.map(r=>({label:r,type:"text"})):[]}},xa=/^[:\-\.\w\u00b7-\uffff]*$/;function Ad(i){return Object.assign(Object.assign({type:"property"},i.completion||{}),{label:i.name})}function _d(i){return typeof i=="string"?{label:`"${i}"`,type:"constant"}:/^"/.test(i.label)?i:Object.assign(Object.assign({},i),{label:`"${i.label}"`})}function kP(i,e){let t=[],n=[],r=Object.create(null);for(let a of e){let l=Ad(a);t.push(l),a.global&&n.push(l),a.values&&(r[a.name]=a.values.map(_d))}let s=[],o=[],O=Object.create(null);for(let a of i){let l=n,h=r;a.attributes&&(l=l.concat(a.attributes.map(f=>typeof f=="string"?t.find(d=>d.label==f)||{label:f,type:"property"}:(f.values&&(h==r&&(h=Object.create(h)),h[f.name]=f.values.map(_d)),Ad(f)))));let c=new ka(a,l,h);O[c.name]=c,s.push(c),a.top&&o.push(c)}o.length||(o=s);for(let a=0;a<s.length;a++){let l=i[a],h=s[a];if(l.children)for(let c of l.children)O[c]&&h.children.push(O[c]);else h.children=s}return a=>{var l;let{doc:h}=a.state,c=xP(a.state,a.pos);if(!c||c.type=="tag"&&!a.explicit)return null;let{type:f,from:d,context:p}=c;if(f=="openTag"){let m=o,g=Pa(h,p);if(g){let $=O[g];m=$?.children||s}return{from:d,options:m.map($=>$.completion),validFor:xa}}else if(f=="closeTag"){let m=Pa(h,p);return m?{from:d,to:a.pos+(h.sliceString(a.pos,a.pos+1)==">"?1:0),options:[((l=O[m])===null||l===void 0?void 0:l.closeNameCompletion)||{label:m+">",type:"type"}],validFor:xa}:null}else if(f=="attrName"){let m=O[rs(h,p)];return{from:d,options:m?.attrs||n,validFor:xa}}else if(f=="attrValue"){let m=bP(h,p,d);if(!m)return null;let g=O[rs(h,p)],$=(g?.attrValues||r)[m];return!$||!$.length?null:{from:d,to:a.pos+(h.sliceString(a.pos,a.pos+1)=='"'?1:0),options:$,validFor:/^"[^"]*"?$/}}else if(f=="tag"){let m=Pa(h,p),g=O[m],$=[],Q=p&&p.lastChild;m&&(!Q||Q.name!="CloseTag"||rs(h,Q)!=m)&&$.push(g?g.closeCompletion:{label:"</"+m+">",type:"type",boost:2});let b=$.concat((g?.children||(p?s:o)).map(k=>k.openCompletion));if(p&&g?.text.length){let k=p.firstChild;k.to>a.pos-20&&!/\S/.test(a.state.sliceDoc(k.to,a.pos))&&(b=b.concat(g.text))}return{from:d,options:b,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}else return null}}var wa=ue.define({name:"xml",parser:Ud.configure({props:[de.add({Element(i){let e=/^\s*<\//.test(i.textAfter);return i.lineIndent(i.node.from)+(e?0:i.unit)},"OpenTag CloseTag SelfClosingTag"(i){return i.column(i.node.from)+i.unit}}),ye.add({Element(i){let e=i.firstChild,t=i.lastChild;return!e||e.name!="OpenTag"?null:{from:e.to,to:t.name=="CloseTag"?t.from:i.to}}}),$n.add({"OpenTag CloseTag":i=>i.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:"<!--",close:"-->"}},indentOnInput:/^\s*<\/$/}});function Ed(i={}){let e=[wa.data.of({autocomplete:kP(i.elements||[],i.attributes||[])})];return i.autoCloseTags!==!1&&e.push(wP),new Oe(wa,e)}function jd(i,e,t=i.length){if(!e)return"";let n=e.firstChild,r=n&&n.getChild("TagName");return r?i.sliceString(r.from,Math.min(r.to,t)):""}var wP=v.inputHandler.of((i,e,t,n,r)=>{if(i.composing||i.state.readOnly||e!=t||n!=">"&&n!="/"||!wa.isActiveAt(i.state,e,-1))return!1;let s=r(),{state:o}=s,O=o.changeByRange(a=>{var l,h,c;let{head:f}=a,d=o.doc.sliceString(f-1,f)==n,p=L(o).resolveInner(f,-1),m;if(d&&n==">"&&p.name=="EndTag"){let g=p.parent;if(((h=(l=g.parent)===null||l===void 0?void 0:l.lastChild)===null||h===void 0?void 0:h.name)!="CloseTag"&&(m=jd(o.doc,g.parent,f))){let $=f+(o.doc.sliceString(f,f+1)===">"?1:0),Q=`</${m}>`;return{range:a,changes:{from:f,to:$,insert:Q}}}}else if(d&&n=="/"&&p.name=="StartCloseTag"){let g=p.parent;if(p.from==f-2&&((c=g.lastChild)===null||c===void 0?void 0:c.name)!="CloseTag"&&(m=jd(o.doc,g,f))){let $=f+(o.doc.sliceString(f,f+1)===">"?1:0),Q=`${m}>`;return{range:S.cursor(f+Q.length,-1),changes:{from:f,to:$,insert:Q}}}}return{range:a}});return O.changes.empty?!1:(i.dispatch([s,o.update(O,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var W=async i=>{let e=await window.importVersioned("legacy-modes");return Xr.define(e[i])},TP={bash:()=>W("shell"),c:()=>W("c"),css:async()=>Dr(),"c++":()=>W("cpp"),"c#":()=>W("csharp"),clj:()=>W("clojure"),clojure:()=>W("clojure"),csharp:()=>W("csharp"),dart:()=>W("dart"),diff:()=>W("diff"),for:()=>W("fortran"),fortran:()=>W("fortran"),"f#":()=>W("fSharp"),fsharp:()=>W("fSharp"),go:()=>W("go"),haskell:()=>W("haskell"),hs:()=>W("haskell"),html:async()=>qi({selfClosingTags:!0}),ini:()=>W("properties"),java:()=>W("java"),javascript:async()=>Oi(),json:async()=>Yf(),js:async()=>Oi(),jl:()=>W("julia"),julia:()=>W("julia"),kotlin:()=>W("kotlin"),latex:()=>W("stex"),lua:()=>W("lua"),markdown:async()=>ns(),matlab:()=>W("octave"),md:async()=>ns(),mdown:async()=>ns(),ml:()=>W("sml"),mssql:()=>W("msSQL"),mysql:()=>W("mySQL"),nginx:()=>W("nginx"),octave:()=>W("octave"),pas:()=>W("pascal"),pascal:()=>W("pascal"),perl:()=>W("perl"),pgsql:()=>W("pgSQL"),php:async i=>{let e=i.includes("<?php");return Xd({plain:!e})},pl:()=>W("perl"),"pl/sql":()=>W("plSQL"),postgresql:()=>W("pgSQL"),powershell:()=>W("powerShell"),properties:()=>W("properties"),ocaml:()=>W("oCaml"),py:()=>W("python"),python:()=>W("python"),r:()=>W("r"),rb:()=>W("ruby"),rs:()=>W("rust"),ruby:()=>W("ruby"),rust:()=>W("rust"),sas:()=>W("sas"),scala:()=>W("scala"),scheme:()=>W("scheme"),shell:()=>W("shell"),sh:()=>W("shell"),smarty:()=>W("smarty"),stext:()=>W("stex"),swift:()=>W("swift"),toml:()=>W("toml"),ts:async()=>Oi({typescript:!0}),twig:async()=>Zd(),typescript:async()=>Oi({typescript:!0}),sql:()=>W("standardSQL"),sqlite:()=>W("sqlite"),vbs:()=>W("vbScript"),vbscript:()=>W("vbScript"),"vb.net":()=>W("vb"),vbnet:()=>W("vb"),xml:async()=>Ed(),yaml:()=>W("yaml"),yml:()=>W("yaml")};function Md(i,e){let t=i.trim().replace(/^\./g,"").toLowerCase(),n=TP[t];if(!(typeof n>"u"))return n(e)}var Gd=new WeakMap;function Ui(i,e){let t=new mt;e.extensions.push(t.of([]));let n={usage:i,editorViewConfig:e,libEditorView:v,libEditorState:I,libCompartment:mt};window.$events.emitPublic(e.parent,"library-cm6::pre-init",n);let r=new v(e);return Gd.set(r,t),window.$events.emitPublic(e.parent,"library-cm6::post-init",{editorView:r,...n}),r}async function Ld(i,e,t){let n=Gd.get(i),r=await Md(e,t);i.dispatch({effects:n.reconfigure(r||[])})}var Gt=class{constructor(e){this.ev=e}getContent(){return this.ev.state.doc.toString()}setContent(e){let{doc:t}=this.ev.state;this.ev.dispatch({changes:{from:0,to:t.length,insert:e}})}focus(){this.ev.focus()}setMode(e,t=""){Ld(this.ev,e,t)}};function vP(i){let e='<svg viewBox="0 0 24 24" width="16" height="16" xmlns="http://www.w3.org/2000/svg"><path d="M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg>',t='<svg viewBox="0 0 24 24" width="16" height="16" xmlns="http://www.w3.org/2000/svg"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"/></svg>',n=document.createElement("button");n.setAttribute("type","button"),n.classList.add("cm-copy-button"),n.innerHTML=e,i.dom.appendChild(n);let r=620,s=60;n.addEventListener("click",()=>{jh(i.state.doc.toString()),n.classList.add("success"),setTimeout(()=>{n.innerHTML=t},s/2),setTimeout(()=>{n.classList.remove("success")},r),setTimeout(()=>{n.innerHTML=e},r+s/2)})}function zP(i){let e="",t=i.querySelector("code");return t&&t.hasAttribute("dir")?e=t.getAttribute("dir"):i.hasAttribute("dir")&&(e=i.getAttribute("dir")),e}function Dd(i){let e=i.querySelector("code[class^=language-]");i.innerHTML=i.innerHTML.replace(/<br\s*\/?>/gi,` -`);let t=i.textContent.trimEnd(),n="";e!==null&&(n=e.className.replace("language-",""));let r=document.createElement("div");i.parentNode.insertBefore(r,i);let s=zP(i);s&&r.setAttribute("dir",s);let o=Ui("content-code-block",{parent:r,doc:t,extensions:dO(r)});new Gt(o).setMode(n,t),i.remove(),vP(o)}function yx(i){let e=i.querySelectorAll("pre");for(let t of e)Dd(t)}function Px(){let i=document.querySelectorAll(".page-content pre, .comment-box .content pre");for(let e of i)Dd(e)}function bx(i,e,t,n){let r=Ui("content-code-block",{parent:i,doc:t,extensions:dO(i),root:e}),s=new Gt(r);return s.setMode(n,t),s}function xx(i,e){let t=i.textContent,n={parent:i.parentElement,doc:t,extensions:[...Mr(i.parentElement)]},r=new Gt(Ui("code-editor",n));return r.setMode(e,t),i.style.display="none",r}function kx(i,e){let t=i.value,n={parent:i.parentElement,doc:t,extensions:[...Mr(i.parentElement),v.updateListener.of(o=>{o.docChanged&&(i.value=o.state.doc.toString())})]},r=Ui("code-input",n),s=new Gt(r);return s.setMode(e,t),i.style.display="none",s}function wx(i,e,t,n){let r=i.textContent,s={parent:i.parentElement,doc:r,extensions:[ht.of(n),...Mr(i.parentElement),v.updateListener.of(O=>{e(O)}),v.domEventHandlers(t)]};window.$events.emitPublic(i,"editor-markdown-cm6::pre-init",{editorViewConfig:s});let o=Ui("markdown-editor",s);return new Gt(o).setMode("markdown",""),i.style.display="none",o}export{Px as highlight,yx as highlightWithin,kx as inlineEditor,wx as markdownEditor,xx as popupEditor,bx as wysiwygView}; +`);n=r<0?t:t.slice(0,r)}return e+n.length>this.to?n.slice(0,this.to-e):n}prevLineEnd(){return this.atEnd?this.lineStart:this.lineStart-1}startContext(e,t,n=0){this.block=is.create(e,n,this.lineStart+t,this.block.hash,this.lineStart+this.line.text.length),this.stack.push(this.block)}startComposite(e,t,n=0){this.startContext(this.parser.getNodeType(e),t,n)}addNode(e,t,n){typeof e=="number"&&(e=new V(this.parser.nodeSet.types[e],Ui,Ui,(n??this.prevLineEnd())-t)),this.block.addChild(e,t-this.block.from)}addElement(e){this.block.addChild(e.toTree(this.parser.nodeSet),e.from-this.block.from)}addLeafElement(e,t){this.addNode(this.buffer.writeElements(ll(t.children,e.marks),-t.from).finish(t.type,t.to-t.from),t.from)}finishContext(){let e=this.stack.pop(),t=this.stack[this.stack.length-1];t.addChild(e.toTree(this.parser.nodeSet),e.from-t.from),this.block=t}finish(){for(;this.stack.length>1;)this.finishContext();return this.addGaps(this.block.toTree(this.parser.nodeSet,this.lineStart))}addGaps(e){return this.ranges.length>1?id(this.ranges,0,e.topNode,this.ranges[0].from,this.reusePlaceholders):e}finishLeaf(e){for(let n of e.parsers)if(n.finish(this,e))return;let t=ll(this.parser.parseInline(e.content,e.start),e.marks);this.addNode(this.buffer.writeElements(t,-e.start).finish(P.Paragraph,e.content.length),e.start)}elt(e,t,n,r){return typeof e=="string"?Y(this.parser.getNodeType(e),t,n,r):new rs(e,t)}get buffer(){return new ns(this.parser.nodeSet)}};function id(i,e,t,n,r){let s=i[e].to,o=[],O=[],l=t.from+n;function a(h,c){for(;c?h>=s:h>s;){let f=i[e+1].from-s;n+=f,h+=f,e++,s=i[e].to}}for(let h=t.firstChild;h;h=h.nextSibling){a(h.from+n,!0);let c=h.from+n,f,d=r.get(h.tree);d?f=d:h.to+n>s?(f=id(i,e,h,n,r),a(h.to+n,!1)):f=h.toTree(),o.push(f),O.push(c-l)}return a(t.to+n,!1),new V(t.type,o,O,t.to+n-l,t.tree?t.tree.propValues:void 0)}var Rn=class i extends Pt{constructor(e,t,n,r,s,o,O,l,a){super(),this.nodeSet=e,this.blockParsers=t,this.leafBlockParsers=n,this.blockNames=r,this.endLeafBlock=s,this.skipContextMarkup=o,this.inlineParsers=O,this.inlineNames=l,this.wrappers=a,this.nodeTypes=Object.create(null);for(let h of e.types)this.nodeTypes[h.name]=h.id}createParse(e,t,n){let r=new rl(this,e,t,n);for(let s of this.wrappers)r=s(r,e,t,n);return r}configure(e){let t=sl(e);if(!t)return this;let{nodeSet:n,skipContextMarkup:r}=this,s=this.blockParsers.slice(),o=this.leafBlockParsers.slice(),O=this.blockNames.slice(),l=this.inlineParsers.slice(),a=this.inlineNames.slice(),h=this.endLeafBlock.slice(),c=this.wrappers;if(Tn(t.defineNodes)){r=Object.assign({},r);let f=n.types.slice(),d;for(let p of t.defineNodes){let{name:m,block:g,composite:$,style:Q}=typeof p=="string"?{name:p}:p;if(f.some(y=>y.name==m))continue;$&&(r[f.length]=(y,T,w)=>$(T,w,y.value));let b=f.length,k=$?["Block","BlockContext"]:g?b>=P.ATXHeading1&&b<=P.SetextHeading2?["Block","LeafBlock","Heading"]:["Block","LeafBlock"]:void 0;f.push(ie.define({id:b,name:m,props:k&&[[W.group,k]]})),Q&&(d||(d={}),Array.isArray(Q)||Q instanceof We?d[m]=Q:Object.assign(d,Q))}n=new St(f),d&&(n=n.extend(se(d)))}if(Tn(t.props)&&(n=n.extend(...t.props)),Tn(t.remove))for(let f of t.remove){let d=this.blockNames.indexOf(f),p=this.inlineNames.indexOf(f);d>-1&&(s[d]=o[d]=void 0),p>-1&&(l[p]=void 0)}if(Tn(t.parseBlock))for(let f of t.parseBlock){let d=O.indexOf(f.name);if(d>-1)s[d]=f.parse,o[d]=f.leaf;else{let p=f.before?ts(O,f.before):f.after?ts(O,f.after)+1:O.length-1;s.splice(p,0,f.parse),o.splice(p,0,f.leaf),O.splice(p,0,f.name)}f.endLeaf&&h.push(f.endLeaf)}if(Tn(t.parseInline))for(let f of t.parseInline){let d=a.indexOf(f.name);if(d>-1)l[d]=f.parse;else{let p=f.before?ts(a,f.before):f.after?ts(a,f.after)+1:a.length-1;l.splice(p,0,f.parse),a.splice(p,0,f.name)}}return t.wrap&&(c=c.concat(t.wrap)),new i(n,s,o,O,h,r,l,a,c)}getNodeType(e){let t=this.nodeTypes[e];if(t==null)throw new RangeError(`Unknown node type '${e}'`);return t}parseInline(e,t){let n=new Ol(this,e,t);e:for(let r=t;r<n.end;){let s=n.char(r);for(let o of this.inlineParsers)if(o){let O=o(n,s,r);if(O>=0){r=O;continue e}}r++}return n.resolveMarkers(0)}};function Tn(i){return i!=null&&i.length>0}function sl(i){if(!Array.isArray(i))return i;if(i.length==0)return null;let e=sl(i[0]);if(i.length==1)return e;let t=sl(i.slice(1));if(!t||!e)return e||t;let n=(o,O)=>(o||Ui).concat(O||Ui),r=e.wrap,s=t.wrap;return{props:n(e.props,t.props),defineNodes:n(e.defineNodes,t.defineNodes),parseBlock:n(e.parseBlock,t.parseBlock),parseInline:n(e.parseInline,t.parseInline),remove:n(e.remove,t.remove),wrap:r?s?(o,O,l,a)=>r(s(o,O,l,a),O,l,a):r:s}}function ts(i,e){let t=i.indexOf(e);if(t<0)throw new RangeError(`Position specified relative to unknown parser ${e}`);return t}var nd=[ie.none];for(let i=1,e;e=P[i];i++)nd[i]=ie.define({id:i,name:e,props:i>=P.Escape?[]:[[W.group,i in Bu?["Block","BlockContext"]:["Block","LeafBlock"]]],top:e=="Document"});var Ui=[],ns=class{constructor(e){this.nodeSet=e,this.content=[],this.nodes=[]}write(e,t,n,r=0){return this.content.push(e,t,n,4+r*4),this}writeElements(e,t=0){for(let n of e)n.writeTo(this,t);return this}finish(e,t){return V.build({buffer:this.content,nodeSet:this.nodeSet,reused:this.nodes,topID:e,length:t})}},ci=class{constructor(e,t,n,r=Ui){this.type=e,this.from=t,this.to=n,this.children=r}writeTo(e,t){let n=e.content.length;e.writeElements(this.children,t),e.content.push(this.type,this.from+t,this.to+t,e.content.length+4-n)}toTree(e){return new ns(e).writeElements(this.children,-this.from).finish(this.type,this.to-this.from)}},rs=class{constructor(e,t){this.tree=e,this.from=t}get to(){return this.from+this.tree.length}get type(){return this.tree.type.id}get children(){return Ui}writeTo(e,t){e.nodes.push(this.tree),e.content.push(e.nodes.length-1,this.from+t,this.to+t,-1)}toTree(){return this.tree}};function Y(i,e,t,n){return new ci(i,e,t,n)}var rd={resolve:"Emphasis",mark:"EmphasisMark"},sd={resolve:"Emphasis",mark:"EmphasisMark"},Ci={},ol={},ze=class{constructor(e,t,n,r){this.type=e,this.from=t,this.to=n,this.side=r}},Au="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~",Zn=/[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~\xA1\u2010-\u2027]/;try{Zn=new RegExp("[\\p{S}|\\p{P}]","u")}catch{}var FO={Escape(i,e,t){if(e!=92||t==i.end-1)return-1;let n=i.char(t+1);for(let r=0;r<Au.length;r++)if(Au.charCodeAt(r)==n)return i.append(Y(P.Escape,t,t+2));return-1},Entity(i,e,t){if(e!=38)return-1;let n=/^(?:#\d+|#x[a-f\d]+|\w+);/i.exec(i.slice(t+1,t+31));return n?i.append(Y(P.Entity,t,t+1+n[0].length)):-1},InlineCode(i,e,t){if(e!=96||t&&i.char(t-1)==96)return-1;let n=t+1;for(;n<i.end&&i.char(n)==96;)n++;let r=n-t,s=0;for(;n<i.end;n++)if(i.char(n)==96){if(s++,s==r&&i.char(n+1)!=96)return i.append(Y(P.InlineCode,t,n+1,[Y(P.CodeMark,t,t+r),Y(P.CodeMark,n+1-r,n+1)]))}else s=0;return-1},HTMLTag(i,e,t){if(e!=60||t==i.end-1)return-1;let n=i.slice(t+1,i.end),r=/^(?:[a-z][-\w+.]+:[^\s>]+|[a-z\d.!#$%&'*+/=?^_`{|}~-]+@[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?(?:\.[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?)*)>/i.exec(n);if(r)return i.append(Y(P.Autolink,t,t+1+r[0].length,[Y(P.LinkMark,t,t+1),Y(P.URL,t+1,t+r[0].length),Y(P.LinkMark,t+r[0].length,t+1+r[0].length)]));let s=/^!--[^>](?:-[^-]|[^-])*?-->/i.exec(n);if(s)return i.append(Y(P.Comment,t,t+1+s[0].length));let o=/^\?[^]*?\?>/.exec(n);if(o)return i.append(Y(P.ProcessingInstruction,t,t+1+o[0].length));let O=/^(?:![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 O?i.append(Y(P.HTMLTag,t,t+1+O[0].length)):-1},Emphasis(i,e,t){if(e!=95&&e!=42)return-1;let n=t+1;for(;i.char(n)==e;)n++;let r=i.slice(t-1,t),s=i.slice(n,n+1),o=Zn.test(r),O=Zn.test(s),l=/\s|^$/.test(r),a=/\s|^$/.test(s),h=!a&&(!O||l||o),c=!l&&(!o||a||O),f=h&&(e==42||!c||o),d=c&&(e==42||!h||O);return i.append(new ze(e==95?rd:sd,t,n,(f?1:0)|(d?2:0)))},HardBreak(i,e,t){if(e==92&&i.char(t+1)==10)return i.append(Y(P.HardBreak,t,t+2));if(e==32){let n=t+1;for(;i.char(n)==32;)n++;if(i.char(n)==10&&n>=t+2)return i.append(Y(P.HardBreak,t,n+1))}return-1},Link(i,e,t){return e==91?i.append(new ze(Ci,t,t+1,1)):-1},Image(i,e,t){return e==33&&i.char(t+1)==91?i.append(new ze(ol,t,t+2,1)):-1},LinkEnd(i,e,t){if(e!=93)return-1;for(let n=i.parts.length-1;n>=0;n--){let r=i.parts[n];if(r instanceof ze&&(r.type==Ci||r.type==ol)){if(!r.side||i.skipSpace(r.to)==t&&!/[(\[]/.test(i.slice(t+1,t+2)))return i.parts[n]=null,-1;let s=i.takeContent(n),o=i.parts[n]=gy(i,s,r.type==Ci?P.Link:P.Image,r.from,t+1);if(r.type==Ci)for(let O=0;O<n;O++){let l=i.parts[O];l instanceof ze&&l.type==Ci&&(l.side=0)}return o.to}}return-1}};function gy(i,e,t,n,r){let{text:s}=i,o=i.char(r),O=r;if(e.unshift(Y(P.LinkMark,n,n+(t==P.Image?2:1))),e.push(Y(P.LinkMark,r-1,r)),o==40){let l=i.skipSpace(r+1),a=od(s,l-i.offset,i.offset),h;a&&(l=i.skipSpace(a.to),l!=a.to&&(h=Od(s,l-i.offset,i.offset),h&&(l=i.skipSpace(h.to)))),i.char(l)==41&&(e.push(Y(P.LinkMark,r,r+1)),O=l+1,a&&e.push(a),h&&e.push(h),e.push(Y(P.LinkMark,l,O)))}else if(o==91){let l=ld(s,r-i.offset,i.offset,!1);l&&(e.push(l),O=l.to)}return Y(t,n,O,e)}function od(i,e,t){if(i.charCodeAt(e)==60){for(let r=e+1;r<i.length;r++){let s=i.charCodeAt(r);if(s==62)return Y(P.URL,e+t,r+1+t);if(s==60||s==10)return!1}return null}else{let r=0,s=e;for(let o=!1;s<i.length;s++){let O=i.charCodeAt(s);if(De(O))break;if(o)o=!1;else if(O==40)r++;else if(O==41){if(!r)break;r--}else O==92&&(o=!0)}return s>e?Y(P.URL,e+t,s+t):s==i.length?null:!1}}function Od(i,e,t){let n=i.charCodeAt(e);if(n!=39&&n!=34&&n!=40)return!1;let r=n==40?41:n;for(let s=e+1,o=!1;s<i.length;s++){let O=i.charCodeAt(s);if(o)o=!1;else{if(O==r)return Y(P.LinkTitle,e+t,s+1+t);O==92&&(o=!0)}}return null}function ld(i,e,t,n){for(let r=!1,s=e+1,o=Math.min(i.length,s+999);s<o;s++){let O=i.charCodeAt(s);if(r)r=!1;else{if(O==93)return n?!1:Y(P.LinkLabel,e+t,s+1+t);if(n&&!De(O)&&(n=!1),O==91)return!1;O==92&&(r=!0)}}return null}var Ol=class{constructor(e,t,n){this.parser=e,this.text=t,this.offset=n,this.parts=[]}char(e){return e>=this.end?-1:this.text.charCodeAt(e-this.offset)}get end(){return this.offset+this.text.length}slice(e,t){return this.text.slice(e-this.offset,t-this.offset)}append(e){return this.parts.push(e),e.to}addDelimiter(e,t,n,r,s){return this.append(new ze(e,t,n,(r?1:0)|(s?2:0)))}get hasOpenLink(){for(let e=this.parts.length-1;e>=0;e--){let t=this.parts[e];if(t instanceof ze&&(t.type==Ci||t.type==ol))return!0}return!1}addElement(e){return this.append(e)}resolveMarkers(e){for(let n=e;n<this.parts.length;n++){let r=this.parts[n];if(!(r instanceof ze&&r.type.resolve&&r.side&2))continue;let s=r.type==rd||r.type==sd,o=r.to-r.from,O,l=n-1;for(;l>=e;l--){let m=this.parts[l];if(m instanceof ze&&m.side&1&&m.type==r.type&&!(s&&(r.side&1||m.side&2)&&(m.to-m.from+o)%3==0&&((m.to-m.from)%3||o%3))){O=m;break}}if(!O)continue;let a=r.type.resolve,h=[],c=O.from,f=r.to;if(s){let m=Math.min(2,O.to-O.from,o);c=O.to-m,f=r.from+m,a=m==1?"Emphasis":"StrongEmphasis"}O.type.mark&&h.push(this.elt(O.type.mark,c,O.to));for(let m=l+1;m<n;m++)this.parts[m]instanceof ci&&h.push(this.parts[m]),this.parts[m]=null;r.type.mark&&h.push(this.elt(r.type.mark,r.from,f));let d=this.elt(a,c,f,h);this.parts[l]=s&&O.from!=c?new ze(O.type,O.from,c,O.side):null,(this.parts[n]=s&&r.to!=f?new ze(r.type,f,r.to,r.side):null)?this.parts.splice(n,0,d):this.parts[n]=d}let t=[];for(let n=e;n<this.parts.length;n++){let r=this.parts[n];r instanceof ci&&t.push(r)}return t}findOpeningDelimiter(e){for(let t=this.parts.length-1;t>=0;t--){let n=this.parts[t];if(n instanceof ze&&n.type==e)return t}return null}takeContent(e){let t=this.resolveMarkers(e);return this.parts.length=e,t}skipSpace(e){return zn(this.text,e-this.offset)+this.offset}elt(e,t,n,r){return typeof e=="string"?Y(this.parser.getNodeType(e),t,n,r):new rs(e,t)}};function ll(i,e){if(!e.length)return i;if(!i.length)return e;let t=i.slice(),n=0;for(let r of e){for(;n<t.length&&t[n].to<r.to;)n++;if(n<t.length&&t[n].from<r.from){let s=t[n];s instanceof ci&&(t[n]=new ci(s.type,s.from,s.to,ll(s.children,[r])))}else t.splice(n++,0,r)}return t}var $y=[P.CodeBlock,P.ListItem,P.OrderedList,P.BulletList],al=class{constructor(e,t){this.fragments=e,this.input=t,this.i=0,this.fragment=null,this.fragmentEnd=-1,this.cursor=null,e.length&&(this.fragment=e[this.i++])}nextFragment(){this.fragment=this.i<this.fragments.length?this.fragments[this.i++]:null,this.cursor=null,this.fragmentEnd=-1}moveTo(e,t){for(;this.fragment&&this.fragment.to<=e;)this.nextFragment();if(!this.fragment||this.fragment.from>(e?e-1:0))return!1;if(this.fragmentEnd<0){let s=this.fragment.to;for(;s>0&&this.input.read(s-1,s)!=` +`;)s--;this.fragmentEnd=s?s-1:0}let n=this.cursor;n||(n=this.cursor=this.fragment.tree.cursor(),n.firstChild());let r=e+this.fragment.offset;for(;n.to<=r;)if(!n.parent())return!1;for(;;){if(n.from>=r)return this.fragment.from<=t;if(!n.childAfter(r))return!1}}matches(e){let t=this.cursor.tree;return t&&t.prop(W.contextHash)==e}takeNodes(e){let t=this.cursor,n=this.fragment.offset,r=this.fragmentEnd-(this.fragment.openEnd?1:0),s=e.absoluteLineStart,o=s,O=e.block.children.length,l=o,a=O;for(;;){if(t.to-n>r){if(t.type.isAnonymous&&t.firstChild())continue;break}let h=ad(t.from-n,e.ranges);if(t.to-n<=e.ranges[e.rangeI].to)e.addNode(t.tree,h);else{let c=new V(e.parser.nodeSet.types[P.Paragraph],[],[],0,e.block.hashProp);e.reusePlaceholders.set(c,t.tree),e.addNode(c,h)}if(t.type.is("Block")&&($y.indexOf(t.type.id)<0?(o=t.to-n,O=e.block.children.length):(o=l,O=a,l=t.to-n,a=e.block.children.length)),!t.nextSibling())break}for(;e.block.children.length>O;)e.block.children.pop(),e.block.positions.pop();return o-s}};function ad(i,e){let t=i;for(let n=1;n<e.length;n++){let r=e[n-1].to,s=e[n].from;r<i&&(t-=s-r)}return t}var Qy=se({"Blockquote/...":u.quote,HorizontalRule:u.contentSeparator,"ATXHeading1/... SetextHeading1/...":u.heading1,"ATXHeading2/... SetextHeading2/...":u.heading2,"ATXHeading3/...":u.heading3,"ATXHeading4/...":u.heading4,"ATXHeading5/...":u.heading5,"ATXHeading6/...":u.heading6,"Comment CommentBlock":u.comment,Escape:u.escape,Entity:u.character,"Emphasis/...":u.emphasis,"StrongEmphasis/...":u.strong,"Link/... Image/...":u.link,"OrderedList/... BulletList/...":u.list,"BlockQuote/...":u.quote,"InlineCode CodeText":u.monospace,"URL Autolink":u.url,"HeaderMark HardBreak QuoteMark ListMark LinkMark EmphasisMark CodeMark":u.processingInstruction,"CodeInfo LinkLabel":u.labelName,LinkTitle:u.string,Paragraph:u.content}),hd=new Rn(new St(nd).extend(Qy),Object.keys(es).map(i=>es[i]),Object.keys(es).map(i=>td[i]),Object.keys(es),py,Bu,Object.keys(FO).map(i=>FO[i]),Object.keys(FO),[]);function Sy(i,e,t){let n=[];for(let r=i.firstChild,s=e;;r=r.nextSibling){let o=r?r.from:t;if(o>s&&n.push({from:s,to:o}),!r)break;s=r.to}return n}function cd(i){let{codeParser:e,htmlParser:t}=i;return{wrap:wi((r,s)=>{let o=r.type.id;if(e&&(o==P.CodeBlock||o==P.FencedCode)){let O="";if(o==P.FencedCode){let a=r.node.getChild(P.CodeInfo);a&&(O=s.read(a.from,a.to))}let l=e(O);if(l)return{parser:l,overlay:a=>a.type.id==P.CodeText}}else if(t&&(o==P.HTMLBlock||o==P.HTMLTag))return{parser:t,overlay:Sy(r.node,r.from,r.to)};return null})}}var yy={resolve:"Strikethrough",mark:"StrikethroughMark"},Py={defineNodes:[{name:"Strikethrough",style:{"Strikethrough/...":u.strikethrough}},{name:"StrikethroughMark",style:u.processingInstruction}],parseInline:[{name:"Strikethrough",parse(i,e,t){if(e!=126||i.char(t+1)!=126||i.char(t+2)==126)return-1;let n=i.slice(t-1,t),r=i.slice(t+2,t+3),s=/\s|^$/.test(n),o=/\s|^$/.test(r),O=Zn.test(n),l=Zn.test(r);return i.addDelimiter(yy,t,t+2,!o&&(!l||s||O),!s&&(!O||o||l))},after:"Emphasis"}]};function Xn(i,e,t=0,n,r=0){let s=0,o=!0,O=-1,l=-1,a=!1,h=()=>{n.push(i.elt("TableCell",r+O,r+l,i.parser.parseInline(e.slice(O,l),r+O)))};for(let c=t;c<e.length;c++){let f=e.charCodeAt(c);f==124&&!a?((!o||O>-1)&&s++,o=!1,n&&(O>-1&&h(),n.push(i.elt("TableDelimiter",c+r,c+r+1))),O=l=-1):(a||f!=32&&f!=9)&&(O<0&&(O=c),l=c+1),a=!a&&f==92}return O>-1&&(s++,n&&h()),s}function Yu(i,e){for(let t=e;t<i.length;t++){let n=i.charCodeAt(t);if(n==124)return!0;n==92&&t++}return!1}var fd=/^\|?(\s*:?-+:?\s*\|)+(\s*:?-+:?\s*)?$/,ss=class{constructor(){this.rows=null}nextLine(e,t,n){if(this.rows==null){this.rows=!1;let r;if((t.next==45||t.next==58||t.next==124)&&fd.test(r=t.text.slice(t.pos))){let s=[];Xn(e,n.content,0,s,n.start)==Xn(e,r,t.pos)&&(this.rows=[e.elt("TableHeader",n.start,n.start+n.content.length,s),e.elt("TableDelimiter",e.lineStart+t.pos,e.lineStart+t.text.length)])}}else if(this.rows){let r=[];Xn(e,t.text,t.pos,r,e.lineStart),this.rows.push(e.elt("TableRow",e.lineStart+t.pos,e.lineStart+t.text.length,r))}return!1}finish(e,t){return this.rows?(e.addLeafElement(t,e.elt("Table",t.start,t.start+t.content.length,this.rows)),!0):!1}},by={defineNodes:[{name:"Table",block:!0},{name:"TableHeader",style:{"TableHeader/...":u.heading}},"TableRow",{name:"TableCell",style:u.content},{name:"TableDelimiter",style:u.processingInstruction}],parseBlock:[{name:"Table",leaf(i,e){return Yu(e.content,0)?new ss:null},endLeaf(i,e,t){if(t.parsers.some(r=>r instanceof ss)||!Yu(e.text,e.basePos))return!1;let n=i.peekLine();return fd.test(n)&&Xn(i,e.text,e.basePos)==Xn(i,n,e.basePos)},before:"SetextHeading"}]},hl=class{nextLine(){return!1}finish(e,t){return e.addLeafElement(t,e.elt("Task",t.start,t.start+t.content.length,[e.elt("TaskMarker",t.start,t.start+3),...e.parser.parseInline(t.content.slice(3),t.start+3)])),!0}},xy={defineNodes:[{name:"Task",block:!0,style:u.list},{name:"TaskMarker",style:u.atom}],parseBlock:[{name:"TaskList",leaf(i,e){return/^\[[ xX]\][ \t]/.test(e.content)&&i.parentType().name=="ListItem"?new hl:null},after:"SetextHeading"}]},_u=/(www\.)|(https?:\/\/)|([\w.+-]{1,100}@)|(mailto:|xmpp:)/gy,ju=/[\w-]+(\.[\w-]+)+(\/[^\s<]*)?/gy,ky=/[\w-]+\.[\w-]+($|\/)/,Mu=/[\w.+-]+@[\w-]+(\.[\w.-]+)+/gy,Eu=/\/[a-zA-Z\d@.]+/gy;function Lu(i,e,t,n){let r=0;for(let s=e;s<t;s++)i[s]==n&&r++;return r}function wy(i,e){ju.lastIndex=e;let t=ju.exec(i);if(!t||ky.exec(t[0])[0].indexOf("_")>-1)return-1;let n=e+t[0].length;for(;;){let r=i[n-1],s;if(/[?!.,:*_~]/.test(r)||r==")"&&Lu(i,e,n,")")>Lu(i,e,n,"("))n--;else if(r==";"&&(s=/&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(i.slice(e,n))))n=e+s.index;else break}return n}function Gu(i,e){Mu.lastIndex=e;let t=Mu.exec(i);if(!t)return-1;let n=t[0][t[0].length-1];return n=="_"||n=="-"?-1:e+t[0].length-(n=="."?1:0)}var vy={parseInline:[{name:"Autolink",parse(i,e,t){let n=t-i.offset;if(n&&/\w/.test(i.text[n-1]))return-1;_u.lastIndex=n;let r=_u.exec(i.text),s=-1;if(!r)return-1;if(r[1]||r[2]){if(s=wy(i.text,n+r[0].length),s>-1&&i.hasOpenLink){let o=/([^\[\]]|\[[^\]]*\])*/.exec(i.text.slice(n,s));s=n+o[0].length}}else r[3]?s=Gu(i.text,n):(s=Gu(i.text,n+r[0].length),s>-1&&r[0]=="xmpp:"&&(Eu.lastIndex=s,r=Eu.exec(i.text),r&&(s=r.index+r[0].length)));return s<0?-1:(i.addElement(i.elt("URL",t,s+i.offset)),s+i.offset)}}]},ud=[by,xy,Py,vy];function dd(i,e,t){return(n,r,s)=>{if(r!=i||n.char(s+1)==i)return-1;let o=[n.elt(t,s,s+1)];for(let O=s+1;O<n.end;O++){let l=n.char(O);if(l==i)return n.addElement(n.elt(e,s,O+1,o.concat(n.elt(t,O,O+1))));if(l==92&&o.push(n.elt("Escape",O,O+++2)),De(l))break}return-1}}var pd={defineNodes:[{name:"Superscript",style:u.special(u.content)},{name:"SuperscriptMark",style:u.processingInstruction}],parseInline:[{name:"Superscript",parse:dd(94,"Superscript","SuperscriptMark")}]},md={defineNodes:[{name:"Subscript",style:u.special(u.content)},{name:"SubscriptMark",style:u.processingInstruction}],parseInline:[{name:"Subscript",parse:dd(126,"Subscript","SubscriptMark")}]},gd={defineNodes:[{name:"Emoji",style:u.character}],parseInline:[{name:"Emoji",parse(i,e,t){let n;return e!=58||!(n=/^[a-zA-Z_0-9]+:/.exec(i.slice(t+1,i.end)))?-1:i.addElement(i.elt("Emoji",t,t+1+n[0].length))}}]};var Sd=zi({commentTokens:{block:{open:"<!--",close:"-->"}}}),yd=new W,Pd=hd.configure({props:[Pe.add(i=>!i.is("Block")||i.is("Document")||ml(i)!=null||Ty(i)?void 0:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})),yd.add(ml),de.add({Document:()=>null}),bt.add({Document:Sd})]});function ml(i){let e=/^(?:ATX|Setext)Heading(\d)$/.exec(i.name);return e?+e[1]:void 0}function Ty(i){return i.name=="OrderedList"||i.name=="BulletList"}function zy(i,e){let t=i;for(;;){let n=t.nextSibling,r;if(!n||(r=ml(n.type))!=null&&r<=e)break;t=n}return t.to}var Xy=fc.of((i,e,t)=>{for(let n=L(i).resolveInner(t,-1);n&&!(n.from<e);n=n.parent){let r=n.type.prop(yd);if(r==null)continue;let s=zy(n,r);if(s>t)return{from:t,to:s}}return null});function gl(i){return new fe(Sd,i,[Xy],"markdown")}var Ry=gl(Pd),Zy=Pd.configure([ud,md,pd,gd,{props:[Pe.add({Table:(i,e)=>({from:e.doc.lineAt(i.from).to,to:i.to})})]}]),bd=gl(Zy);function Wy(i,e){return t=>{if(t&&i){let n=null;if(t=/\S*/.exec(t)[0],typeof i=="function"?n=i(t):n=pn.matchLanguageName(i,t,!0),n instanceof pn)return n.support?n.support.language.parser:si.getSkippingParser(n.load());if(n)return n.parser}return e?e.parser:null}}var Wn=class{constructor(e,t,n,r,s,o,O){this.node=e,this.from=t,this.to=n,this.spaceBefore=r,this.spaceAfter=s,this.type=o,this.item=O}blank(e,t=!0){let n=this.spaceBefore+(this.node.name=="Blockquote"?">":"");if(e!=null){for(;n.length<e;)n+=" ";return n}else{for(let r=this.to-this.from-n.length-this.spaceAfter.length;r>0;r--)n+=" ";return n+(t?this.spaceAfter:"")}}marker(e,t){let n=this.node.name=="OrderedList"?String(+kd(this.item,e)[2]+t):"";return this.spaceBefore+n+this.type+this.spaceAfter}};function xd(i,e){let t=[],n=[];for(let r=i;r;r=r.parent){if(r.name=="FencedCode")return n;(r.name=="ListItem"||r.name=="Blockquote")&&t.push(r)}for(let r=t.length-1;r>=0;r--){let s=t[r],o,O=e.lineAt(s.from),l=s.from-O.from;if(s.name=="Blockquote"&&(o=/^ *>( ?)/.exec(O.text.slice(l))))n.push(new Wn(s,l,l+o[0].length,"",o[1],">",null));else if(s.name=="ListItem"&&s.parent.name=="OrderedList"&&(o=/^( *)\d+([.)])( *)/.exec(O.text.slice(l)))){let a=o[3],h=o[0].length;a.length>=4&&(a=a.slice(0,a.length-4),h-=4),n.push(new Wn(s.parent,l,l+h,o[1],a,o[2],s))}else if(s.name=="ListItem"&&s.parent.name=="BulletList"&&(o=/^( *)([-+*])( {1,4}\[[ xX]\])?( +)/.exec(O.text.slice(l)))){let a=o[4],h=o[0].length;a.length>4&&(a=a.slice(0,a.length-4),h-=4);let c=o[2];o[3]&&(c+=o[3].replace(/[xX]/," ")),n.push(new Wn(s.parent,l,l+h,o[1],a,c,s))}}return n}function kd(i,e){return/^(\s*)(\d+)(?=[.)])/.exec(e.sliceString(i.from,i.from+10))}function dl(i,e,t,n=0){for(let r=-1,s=i;;){if(s.name=="ListItem"){let O=kd(s,e),l=+O[2];if(r>=0){if(l!=r+1)return;t.push({from:s.from+O[1].length,to:s.from+O[0].length,insert:String(r+2+n)})}r=l}let o=s.nextSibling;if(!o)break;s=o}}function $l(i,e){let t=/^[ \t]*/.exec(i)[0].length;if(!t||e.facet(Yt)!=" ")return i;let n=ke(i,4,t),r="";for(let s=n;s>0;)s>=4?(r+=" ",s-=4):(r+=" ",s--);return r+i.slice(t)}var qy=({state:i,dispatch:e})=>{let t=L(i),{doc:n}=i,r=null,s=i.changeByRange(o=>{if(!o.empty||!bd.isActiveAt(i,o.from,0))return r={range:o};let O=o.from,l=n.lineAt(O),a=xd(t.resolveInner(O,-1),n);for(;a.length&&a[a.length-1].from>O-l.from;)a.pop();if(!a.length)return r={range:o};let h=a[a.length-1];if(h.to-h.spaceAfter.length>O-l.from)return r={range:o};let c=O>=h.to-h.spaceAfter.length&&!/\S/.test(l.text.slice(h.to));if(h.item&&c){let g=h.node.firstChild,$=h.node.getChild("ListItem","ListItem");if(g.to>=O||$&&$.to<O||l.from>0&&!/[^\s>]/.test(n.lineAt(l.from-1).text)){let Q=a.length>1?a[a.length-2]:null,b,k="";Q&&Q.item?(b=l.from+Q.from,k=Q.marker(n,1)):b=l.from+(Q?Q.to:0);let y=[{from:b,to:O,insert:k}];return h.node.name=="OrderedList"&&dl(h.item,n,y,-2),Q&&Q.node.name=="OrderedList"&&dl(Q.item,n,y),{range:S.cursor(b+k.length),changes:y}}else{let Q=Qd(a,i,l);return{range:S.cursor(O+Q.length+1),changes:{from:l.from,insert:Q+i.lineBreak}}}}if(h.node.name=="Blockquote"&&c&&l.from){let g=n.lineAt(l.from-1),$=/>\s*$/.exec(g.text);if($&&$.index==h.from){let Q=i.changes([{from:g.from+$.index,to:g.to},{from:l.from+h.from,to:l.to}]);return{range:o.map(Q),changes:Q}}}let f=[];h.node.name=="OrderedList"&&dl(h.item,n,f);let d=h.item&&h.item.from<l.from,p="";if(!d||/^[\s\d.)\-+*>]*/.exec(l.text)[0].length>=h.to)for(let g=0,$=a.length-1;g<=$;g++)p+=g==$&&!d?a[g].marker(n,1):a[g].blank(g<$?ke(l.text,4,a[g+1].from)-p.length:null);let m=O;for(;m>l.from&&/\s/.test(l.text.charAt(m-l.from-1));)m--;return p=$l(p,i),Vy(h.node,i.doc)&&(p=Qd(a,i,l)+i.lineBreak+p),f.push({from:m,to:O,insert:i.lineBreak+p}),{range:S.cursor(m+p.length+1),changes:f}});return r?!1:(e(i.update(s,{scrollIntoView:!0,userEvent:"input"})),!0)};function $d(i){return i.name=="QuoteMark"||i.name=="ListMark"}function Vy(i,e){if(i.name!="OrderedList"&&i.name!="BulletList")return!1;let t=i.firstChild,n=i.getChild("ListItem","ListItem");if(!n)return!1;let r=e.lineAt(t.to),s=e.lineAt(n.from),o=/^[\s>]*$/.test(r.text);return r.number+(o?0:1)<s.number}function Qd(i,e,t){let n="";for(let r=0,s=i.length-2;r<=s;r++)n+=i[r].blank(r<s?ke(t.text,4,Math.min(t.text.length,i[r+1].from))-n.length:null,r<s);return $l(n,e)}function Cy(i,e){let t=i.resolveInner(e,-1),n=e;$d(t)&&(n=t.from,t=t.parent);for(let r;r=t.childBefore(n);)if($d(r))n=r.from;else if(r.name=="OrderedList"||r.name=="BulletList")t=r.lastChild,n=t.to;else break;return t}var Uy=({state:i,dispatch:e})=>{let t=L(i),n=null,r=i.changeByRange(s=>{let o=s.from,{doc:O}=i;if(s.empty&&bd.isActiveAt(i,s.from)){let l=O.lineAt(o),a=xd(Cy(t,o),O);if(a.length){let h=a[a.length-1],c=h.to-h.spaceAfter.length+(h.spaceAfter?1:0);if(o-l.from>c&&!/\S/.test(l.text.slice(c,o-l.from)))return{range:S.cursor(l.from+c),changes:{from:l.from+c,to:o}};if(o-l.from==c&&(!h.item||l.from<=h.item.from||!/\S/.test(l.text.slice(0,h.to)))){let f=l.from+h.from;if(h.item&&h.node.from<h.item.from&&/\S/.test(l.text.slice(h.from,h.to))){let d=h.blank(ke(l.text,4,h.to)-ke(l.text,4,h.from));return f==l.from&&(d=$l(d,i)),{range:S.cursor(f+d.length),changes:{from:f,to:l.from+h.to,insert:d}}}if(f<o)return{range:S.cursor(f),changes:{from:f,to:o}}}}}return n={range:s}});return n?!1:(e(i.update(r,{scrollIntoView:!0,userEvent:"delete"})),!0)},Ay=[{key:"Enter",run:qy},{key:"Backspace",run:Uy}],wd=Vi({matchClosingTags:!1});function os(i={}){let{codeLanguages:e,defaultCodeLanguage:t,addKeymap:n=!0,base:{parser:r}=Ry,completeHTMLTags:s=!0,htmlTagLanguage:o=wd}=i;if(!(r instanceof Rn))throw new RangeError("Base parser provided to `markdown` should be a Markdown parser");let O=i.extensions?[i.extensions]:[],l=[o.support],a;t instanceof oe?(l.push(t.support),a=t.language):t&&(a=t);let h=e||a?Wy(e,a):void 0;O.push(cd({codeParser:h,htmlParser:o.language.parser})),n&&l.push(nt.high(ht.of(Ay)));let c=gl(r.configure(O));return s&&l.push(c.data.of({autocomplete:Yy})),new oe(c,l)}function Yy(i){let{state:e,pos:t}=i,n=/<[:\-\.\w\u00b7-\uffff]*$/.exec(e.sliceDoc(t-25,t));if(!n)return null;let r=L(e).resolveInner(t,-1);for(;r&&!r.type.isTop;){if(r.name=="CodeBlock"||r.name=="FencedCode"||r.name=="ProcessingInstructionBlock"||r.name=="CommentBlock"||r.name=="Link"||r.name=="Image")return null;r=r.parent}return{from:t-n[0].length,to:t,options:_y(),validFor:/^<[:\-\.\w\u00b7-\uffff]*$/}}var pl=null;function _y(){if(pl)return pl;let i=Ru(new Hr(D.create({extensions:wd}),0,!0));return pl=i?i.options:[]}var jy=1,My=2,Ey=263,Ly=3,Gy=264,vd=265,By=266,Dy=4,Iy=5,Ny=6,Hy=7,Td=8,Fy=9,Ky=10,Jy=11,e0=12,t0=13,i0=14,n0=15,r0=16,s0=17,o0=18,O0=19,l0=20,a0=21,h0=22,c0=23,f0=24,u0=25,d0=26,p0=27,m0=28,g0=29,$0=30,Q0=31,S0=32,y0=33,P0=34,b0=35,x0=36,k0=37,w0=38,v0=39,T0=40,z0=41,X0=42,R0=43,Z0=44,W0=45,q0=46,V0=47,C0=48,U0=49,A0=50,Y0=51,_0=52,j0=53,M0=54,E0=55,L0=56,G0=57,B0=58,D0=59,I0=60,N0=61,Ql=62,H0=63,F0=64,K0=65,J0={abstract:Dy,and:Iy,array:Ny,as:Hy,true:Td,false:Td,break:Fy,case:Ky,catch:Jy,clone:e0,const:t0,continue:i0,declare:r0,default:n0,do:s0,echo:o0,else:O0,elseif:l0,enddeclare:a0,endfor:h0,endforeach:c0,endif:f0,endswitch:u0,endwhile:d0,enum:p0,extends:m0,final:g0,finally:$0,fn:Q0,for:S0,foreach:y0,from:P0,function:b0,global:x0,goto:k0,if:w0,implements:v0,include:T0,include_once:z0,instanceof:X0,insteadof:R0,interface:Z0,list:W0,match:q0,namespace:V0,new:C0,null:U0,or:A0,print:Y0,require:_0,require_once:j0,return:M0,switch:E0,throw:L0,trait:G0,try:B0,unset:D0,use:I0,var:N0,public:Ql,private:Ql,protected:Ql,while:H0,xor:F0,yield:K0,__proto__:null};function zd(i){let e=J0[i.toLowerCase()];return e??-1}function Xd(i){return i==9||i==10||i==13||i==32}function Rd(i){return i>=97&&i<=122||i>=65&&i<=90}function qn(i){return i==95||i>=128||Rd(i)}function Sl(i){return i>=48&&i<=55||i>=97&&i<=102||i>=65&&i<=70}var eP={int:!0,integer:!0,bool:!0,boolean:!0,float:!0,double:!0,real:!0,string:!0,array:!0,object:!0,unset:!0,__proto__:null},tP=new te(i=>{if(i.next==40){i.advance();let e=0;for(;Xd(i.peek(e));)e++;let t="",n;for(;Rd(n=i.peek(e));)t+=String.fromCharCode(n),e++;for(;Xd(i.peek(e));)e++;i.peek(e)==41&&eP[t.toLowerCase()]&&i.acceptToken(jy)}else if(i.next==60&&i.peek(1)==60&&i.peek(2)==60){for(let n=0;n<3;n++)i.advance();for(;i.next==32||i.next==9;)i.advance();let e=i.next==39;if(e&&i.advance(),!qn(i.next))return;let t=String.fromCharCode(i.next);for(;i.advance(),!(!qn(i.next)&&!(i.next>=48&&i.next<=55));)t+=String.fromCharCode(i.next);if(e){if(i.next!=39)return;i.advance()}if(i.next!=10&&i.next!=13)return;for(;;){let n=i.next==10||i.next==13;if(i.advance(),i.next<0)return;if(n){for(;i.next==32||i.next==9;)i.advance();let r=!0;for(let s=0;s<t.length;s++){if(i.next!=t.charCodeAt(s)){r=!1;break}i.advance()}if(r)return i.acceptToken(My)}}}}),iP=new te(i=>{i.next<0&&i.acceptToken(By)}),nP=new te((i,e)=>{i.next==63&&e.canShift(vd)&&i.peek(1)==62&&i.acceptToken(vd)});function rP(i){let e=i.peek(1);if(e==110||e==114||e==116||e==118||e==101||e==102||e==92||e==36||e==34||e==123)return 2;if(e>=48&&e<=55){let t=2,n;for(;t<5&&(n=i.peek(t))>=48&&n<=55;)t++;return t}if(e==120&&Sl(i.peek(2)))return Sl(i.peek(3))?4:3;if(e==117&&i.peek(2)==123)for(let t=3;;t++){let n=i.peek(t);if(n==125)return t==2?0:t+1;if(!Sl(n))break}return 0}var sP=new te((i,e)=>{let t=!1;for(;!(i.next==34||i.next<0||i.next==36&&(qn(i.peek(1))||i.peek(1)==123)||i.next==123&&i.peek(1)==36);t=!0){if(i.next==92){let n=rP(i);if(n){if(t)break;return i.acceptToken(Ly,n)}}else if(!t&&(i.next==91||i.next==45&&i.peek(1)==62&&qn(i.peek(2))||i.next==63&&i.peek(1)==45&&i.peek(2)==62&&qn(i.peek(3)))&&e.canShift(Gy))break;i.advance()}t&&i.acceptToken(Ey)}),oP=se({"Visibility abstract final static":u.modifier,"for foreach while do if else elseif switch try catch finally return throw break continue default case":u.controlKeyword,"endif endfor endforeach endswitch endwhile declare enddeclare goto match":u.controlKeyword,"and or xor yield unset clone instanceof insteadof":u.operatorKeyword,"function fn class trait implements extends const enum global interface use var":u.definitionKeyword,"include include_once require require_once namespace":u.moduleKeyword,"new from echo print array list as":u.keyword,null:u.null,Boolean:u.bool,VariableName:u.variableName,"NamespaceName/...":u.namespace,"NamedType/...":u.typeName,Name:u.name,"CallExpression/Name":u.function(u.variableName),"LabelStatement/Name":u.labelName,"MemberExpression/Name":u.propertyName,"MemberExpression/VariableName":u.special(u.propertyName),"ScopedExpression/ClassMemberName/Name":u.propertyName,"ScopedExpression/ClassMemberName/VariableName":u.special(u.propertyName),"CallExpression/MemberExpression/Name":u.function(u.propertyName),"CallExpression/ScopedExpression/ClassMemberName/Name":u.function(u.propertyName),"MethodDeclaration/Name":u.function(u.definition(u.variableName)),"FunctionDefinition/Name":u.function(u.definition(u.variableName)),"ClassDeclaration/Name":u.definition(u.className),UpdateOp:u.updateOperator,ArithOp:u.arithmeticOperator,LogicOp:u.logicOperator,BitOp:u.bitwiseOperator,CompareOp:u.compareOperator,ControlOp:u.controlOperator,AssignOp:u.definitionOperator,"$ ConcatOp":u.operator,LineComment:u.lineComment,BlockComment:u.blockComment,Integer:u.integer,Float:u.float,String:u.string,ShellExpression:u.special(u.string),"=> ->":u.punctuation,"( )":u.paren,"#[ [ ]":u.squareBracket,"${ { }":u.brace,"-> ?->":u.derefOperator,", ; :: : \\":u.separator,"PhpOpen PhpClose":u.processingInstruction}),OP={__proto__:null,static:311,STATIC:311,class:333,CLASS:333},Zd=me.deserialize({version:14,states:"$GSQ`OWOOQhQaOOP%oO`OOOOO#t'#H_'#H_O%tO#|O'#DtOOO#u'#Dw'#DwQ&SOWO'#DwO&XO$VOOOOQ#u'#Dx'#DxO&lQaO'#D|O(mQdO'#E}O(tQdO'#EQO*kQaO'#EWO,zQ`O'#ETO-PQ`O'#E^O/nQaO'#E^O/uQ`O'#EfO/zQ`O'#EoO*kQaO'#EoO0VQ`O'#HhO0[Q`O'#E{O0[Q`O'#E{OOQS'#Ic'#IcO0aQ`O'#EvOOQS'#IZ'#IZO2oQdO'#IWO6tQeO'#FUO*kQaO'#FeO*kQaO'#FfO*kQaO'#FgO*kQaO'#FhO*kQaO'#FhO*kQaO'#FkOOQO'#Id'#IdO7RQ`O'#FqOOQO'#Hi'#HiO7ZQ`O'#HOO7uQ`O'#FlO8QQ`O'#H]O8]Q`O'#FvO8eQaO'#FwO*kQaO'#GVO*kQaO'#GYO8}OrO'#G]OOQS'#Iq'#IqOOQS'#Ip'#IpOOQS'#IW'#IWO,zQ`O'#GdO,zQ`O'#GfO,zQ`O'#GkOhQaO'#GmO9UQ`O'#GnO9ZQ`O'#GqO9`Q`O'#GtO9eQeO'#GuO9eQeO'#GvO9eQeO'#GwO9oQ`O'#GxO9tQ`O'#GzO9yQaO'#G{O<YQ`O'#G|O<_Q`O'#G}O<dQ`O'#G}O9oQ`O'#HOO<iQ`O'#HQO<nQ`O'#HRO<sQ`O'#HSO<xQ`O'#HVO=TQ`O'#HWO9yQaO'#H[OOQ#u'#IV'#IVOOQ#u'#Ha'#HaQhQaOOO=fQ`O'#HPO7pQ`O'#HPO=kO#|O'#DrPOOO)CCw)CCwOOO#t-E;]-E;]OOO#u,5:c,5:cOOO#u'#H`'#H`O&XO$VOOO=vQ$VO'#IUOOOO'#IU'#IUQOOOOOOOQ#y,5:h,5:hO=}QaO,5:hOOQ#u,5:j,5:jO@eQaO,5:mO@lQaO,5;UO*kQaO,5;UO@sQ`O,5;VOCbQaO'#EsOOQS,5;^,5;^OCiQ`O,5;jOOQP'#F]'#F]O*kQaO,5;qO*kQaO,5;qO*kQaO,5;qO*kQaO,5;qO*kQaO,5;qO*kQaO,5;qO*kQaO,5;qO*kQaO,5;qO*kQaO,5;qO*kQaO,5;qO*kQaO,5;qO*kQaO,5;qO*kQaO,5;qO*kQaO,5;qO*kQaO,5;qO*kQaO,5;qOOQ#u'#Im'#ImOOQS,5<q,5<qOOQ#u,5:l,5:lOEbQ`O,5:rOEiQdO'#E}OF]Q`O'#FlOFeQ`O'#FlOFmQ`O,5:oOFrQaO'#E_OOQS,5:x,5:xOHyQ`O'#I]O9yQaO'#EaO9yQaO'#I]OOQS'#I]'#I]OIQQ`O'#I[OIYQ`O,5:xO-UQaO,5:xOI_QaO'#EgOOQS,5;Q,5;QOOQS,5;Z,5;ZOIiQ`O,5;ZOOQO,5>S,5>SOJ[QdO,5;gOOQO-E;f-E;fOL^Q`O,5;gOLcQpO,5;bO0aQ`O'#EyOLkQtO'#E}OOQS'#Ez'#EzOOQS'#Ib'#IbOM`QaO,5:wO*kQaO,5;nOOQS,5;p,5;pO*kQaO,5;pOMgQdO,5<POMwQdO,5<QONXQdO,5<RONiQdO,5<SO!!sQdO,5<SO!!zQdO,5<VO!#[Q`O'#FrO!#gQ`O'#IgO!#oQ`O,5<]OOQO-E;g-E;gO!#tQ`O'#IoO<_Q`O,5=iO!#|Q`O,5=iO9oQ`O,5=jO!$RQ`O,5=nO!$WQ`O,5=kO!$]Q`O,5=kO!$bQ`O'#FnO!$xQ`O,5<WO!%TQ`O,5<WO!%WQ`O,5?ZO!%]Q`O,5<WO!%eQ`O,5<bO!%mQdO'#GPO!%{QdO'#InO!&WQdO,5=wO!&`Q`O,5<bO!%WQ`O,5<bO!&hQdO,5<cO!&xQ`O,5<cO!'lQdO,5<qO!)nQdO,5<tO!*OOrO'#HsOOOQ'#It'#ItO*kQaO'#GbOOOQ'#Hs'#HsO!*pOrO,5<wOOQS,5<w,5<wO!*wQaO,5=OO!+OQ`O,5=QO!+WQeO,5=VO!+bQ`O,5=XO!+gQaO'#GoO!+WQeO,5=YO9yQaO'#GrO!+WQeO,5=]O!&WQdO,5=`O(tQdO,5=aOOQ#u,5=a,5=aO(tQdO,5=bOOQ#u,5=b,5=bO(tQdO,5=cOOQ#u,5=c,5=cO!+nQ`O,5=dO!+vQ`O,5=fO!+{QdO'#IvOOQS'#Iv'#IvO!&WQdO,5=gO>UQaO,5=hO!-eQ`O'#F}O!-jQdO'#IlO!&WQdO,5=iOOQ#u,5=j,5=jO!-uQ`O,5=lO!-xQ`O,5=mO!-}Q`O,5=nO!.YQdO,5=qOOQ#u,5=q,5=qO!.eQ`O,5=rO!.eQ`O,5=rO!.mQdO'#IwO!.{Q`O'#HXO!&WQdO,5=rO!/ZQ`O,5=rO!/fQdO'#IYO!&WQdO,5=vOOQ#u-E;_-E;_O!1RQ`O,5=kOOO#u,5:^,5:^O!1^O#|O,5:^OOO#u-E;^-E;^OOOO,5>p,5>pOOQ#y1G0S1G0SO!1fQ`O1G0XO*kQaO1G0XO!2xQ`O1G0pOOQS1G0p1G0pO!4[Q`O1G0pOOQS'#I_'#I_O*kQaO'#I_OOQS1G0q1G0qO!4cQ`O'#IaO!7lQ`O'#E}O!7yQaO'#EuOOQO'#Ia'#IaO!8TQ`O'#I`O!8]Q`O,5;_OOQS'#FQ'#FQOOQS1G1U1G1UO!8bQdO1G1]O!:dQdO1G1]O!<PQdO1G1]O!=lQdO1G1]O!?XQdO1G1]O!@tQdO1G1]O!BaQdO1G1]O!C|QdO1G1]O!EiQdO1G1]O!GUQdO1G1]O!HqQdO1G1]O!J^QdO1G1]O!KyQdO1G1]O!MfQdO1G1]O# RQdO1G1]O#!nQdO1G1]OOQT1G0^1G0^O!%WQ`O,5<WO#$ZQaO'#EXOOQS1G0Z1G0ZO#$bQ`O,5:yOFuQaO,5:yO#$gQaO,5:}O#$nQdO,5:{O#&jQdO,5>wO#(fQaO'#HdO#(vQ`O,5>vOOQS1G0d1G0dO#)OQ`O1G0dO#)TQ`O'#I^O#*mQ`O'#I^O#*uQ`O,5;ROIbQaO,5;ROOQS1G0u1G0uPOQO'#E}'#E}O#+fQdO1G1RO0aQ`O'#HgO#-hQtO,5;cO#.YQaO1G0|OOQS,5;e,5;eO#0iQtO,5;gO#0vQdO1G0cO*kQaO1G0cO#2cQdO1G1YO#4OQdO1G1[OOQO,5<^,5<^O#4`Q`O'#HjO#4nQ`O,5?ROOQO1G1w1G1wO#4vQ`O,5?ZO!&WQdO1G3TO<_Q`O1G3TOOQ#u1G3U1G3UO#4{Q`O1G3YO!1RQ`O1G3VO#5WQ`O1G3VO#5]QpO'#FoO#5kQ`O'#FoO#5{Q`O'#FoO#6WQ`O'#FoO#6`Q`O'#FsO#6eQ`O'#FtOOQO'#If'#IfO#6lQ`O'#IeO#6tQ`O,5<YOOQS1G1r1G1rO0aQ`O1G1rO#6yQ`O1G1rO#7OQ`O1G1rO!%WQ`O1G4uO#7ZQdO1G4uO!%WQ`O1G1rO#7iQ`O1G1|O!%WQ`O1G1|O9yQaO,5<kO#7qQdO'#HqO#8PQdO,5?YOOQ#u1G3c1G3cO*kQaO1G1|O0aQ`O1G1|O#8[QdO1G1}O7RQ`O'#FyO7RQ`O'#FzO#:nQ`O'#F{OOQS1G1}1G1}O!-xQ`O1G1}O!1UQ`O1G1}O!1RQ`O1G1}O#;eO`O,5<xO#;jO`O,5<xO#;uO!bO,5<yO#<TQ`O,5<|OOOQ-E;q-E;qOOQS1G2c1G2cO#<[QaO'#GeO#<uQ$VO1G2jO#AuQ`O1G2jO#BQQ`O'#GgO#B]Q`O'#GjOOQ#u1G2l1G2lO#BhQ`O1G2lOOQ#u'#Gl'#GlOOQ#u'#Iu'#IuOOQ#u1G2q1G2qO#BmQ`O1G2qO,zQ`O1G2sO#BrQaO,5=ZO#ByQ`O,5=ZOOQ#u1G2t1G2tO#COQ`O1G2tO#CTQ`O,5=^OOQ#u1G2w1G2wO#DgQ`O1G2wOOQ#u1G2z1G2zOOQ#u1G2{1G2{OOQ#u1G2|1G2|OOQ#u1G2}1G2}O#DlQ`O'#HxO9oQ`O'#HxO#DqQ$VO1G3OO#IwQ`O1G3QO9yQaO'#HwO#I|QdO,5=[OOQ#u1G3R1G3RO#JXQ`O1G3SO9yQaO,5<iO#J^QdO'#HpO#JlQdO,5?WOOQ#u1G3T1G3TOOQ#u1G3W1G3WO!-xQ`O1G3WOOQ#u1G3X1G3XO#KfQ`O'#HTOOQ#u1G3Y1G3YO#KmQ`O1G3YO0aQ`O1G3YOOQ#u1G3]1G3]O!&WQdO1G3^O#KrQ`O1G3^O#KzQdO'#HzO#L]QdO,5?cO#LhQ`O,5?cO#LmQ`O'#HYO7RQ`O'#HYO#LxQ`O'#IxO#MQQ`O,5=sOOQ#u1G3^1G3^O!.eQ`O1G3^O!.eQ`O1G3^O#MVQeO'#HbO#MgQdO,5>tOOQ#u1G3b1G3bOOQ#u1G3V1G3VO!-xQ`O1G3VO!1UQ`O1G3VOOO#u1G/x1G/xO*kQaO7+%sO#MuQdO7+%sOOQS7+&[7+&[O$ bQ`O,5>yO>UQaO,5;`O$ iQ`O,5;aO$#OQaO'#HfO$#YQ`O,5>zOOQS1G0y1G0yO$#bQ`O'#EYO$#gQ`O'#IXO$#oQ`O,5:sOOQS1G0e1G0eO$#tQ`O1G0eO$#yQ`O1G0iO9yQaO1G0iOOQO,5>O,5>OOOQO-E;b-E;bOOQS7+&O7+&OO>UQaO,5;SO$%`QaO'#HeO$%jQ`O,5>xOOQS1G0m1G0mO$%rQ`O1G0mOOQS,5>R,5>ROOQS-E;e-E;eO$%wQdO7+&hO$'yQtO1G1RO$(WQdO7+%}OOQS1G0i1G0iOOQO,5>U,5>UOOQO-E;h-E;hOOQ#u7+(o7+(oO!&WQdO7+(oOOQ#u7+(t7+(tO#KmQ`O7+(tO0aQ`O7+(tOOQ#u7+(q7+(qO!-xQ`O7+(qO!1UQ`O7+(qO!1RQ`O7+(qO$)sQ`O,5<ZO$*OQ`O,5<ZO$*WQ`O,5<_O$*]QpO,5<ZO>UQaO,5<ZOOQO,5<_,5<_O$*kQpO,5<`O$*sQ`O,5<`O$+OQ`O'#HkO$+iQ`O,5?POOQS1G1t1G1tO$+qQpO7+'^O$+yQ`O'#FuO$,UQ`O7+'^OOQS7+'^7+'^O0aQ`O7+'^O#6yQ`O7+'^O$,^QdO7+*aO0aQ`O7+*aO$,lQ`O7+'^O*kQaO7+'hO0aQ`O7+'hO$,wQ`O7+'hO$-PQdO1G2VOOQS,5>],5>]OOQS-E;o-E;oO$.iQdO7+'hO$.yQpO7+'hO$/RQdO'#IiOOQO,5<e,5<eOOQO,5<f,5<fO$/dQpO'#GOO$/lQ`O'#GOOOQO'#Ik'#IkOOQO'#Ho'#HoO$0]Q`O'#GOO<_Q`O'#F|O!&WQdO'#GOO!.YQdO'#GQO7RQ`O'#GROOQO'#Ij'#IjOOQO'#Hn'#HnO$0yQ`O,5<gOOQ#y,5<g,5<gOOQS7+'i7+'iO!-xQ`O7+'iO!1UQ`O7+'iOOOQ1G2d1G2dO$1pO`O1G2dO$1uO!bO1G2eO$2TO`O'#G`O$2YO`O1G2eOOOQ1G2h1G2hO$2_QaO,5=PO,zQ`O'#HtO$2xQ$VO7+(UOhQaO7+(UO,zQ`O'#HuO$7xQ`O7+(UO!&WQdO7+(UO$8TQ`O7+(UO$8YQaO'#GhO$:iQ`O'#GiOOQO'#Hv'#HvO$:qQ`O,5=ROOQ#u,5=R,5=RO$:|Q`O,5=UO!&WQdO7+(WO!&WQdO7+(]O!&WQdO7+(_O$;XQaO1G2uO$;`Q`O1G2uO$;eQaO1G2uO!&WQdO7+(`O9yQaO1G2xO!&WQdO7+(cO0aQ`O'#GyO9oQ`O,5>dOOQ#u,5>d,5>dOOQ#u-E;v-E;vO$;lQaO7+(lO$<TQdO,5>cOOQS-E;u-E;uO!&WQdO7+(nO$=mQdO1G2TOOQS,5>[,5>[OOQS-E;n-E;nOOQ#u7+(r7+(rO$?nQ`O'#GQO$?uQ`O'#GQO$@ZQ`O'#HUOOQO'#Hy'#HyO$@`Q`O,5=oOOQ#u,5=o,5=oO$@gQpO7+(tOOQ#u7+(x7+(xO!&WQdO7+(xO$@rQdO,5>fOOQS-E;x-E;xO$AQQdO1G4}O$A]Q`O,5=tO$AbQ`O,5=tO$AmQ`O'#H{O$BRQ`O,5?dOOQS1G3_1G3_O#KrQ`O7+(xO$BZQdO,5=|OOQS-E;`-E;`O$CvQdO<<I_OOQS1G4e1G4eO$EcQ`O1G0zOOQO,5>Q,5>QOOQO-E;d-E;dO$8YQaO,5:tO$FxQaO'#HcO$GVQ`O,5>sOOQS1G0_1G0_OOQS7+&P7+&PO$G_Q`O7+&TO$HtQ`O1G0nO$JZQ`O,5>POOQO,5>P,5>POOQO-E;c-E;cOOQS7+&X7+&XOOQS7+&T7+&TOOQ#u<<LZ<<LZOOQ#u<<L`<<L`O$@gQpO<<L`OOQ#u<<L]<<L]O!-xQ`O<<L]O!1UQ`O<<L]O>UQaO1G1uO$KsQ`O1G1uO$LOQ`O1G1yOOQO1G1y1G1yO$LTQ`O1G1uO$L]Q`O1G1uO$MrQ`O1G1zO>UQaO1G1zOOQO,5>V,5>VOOQO-E;i-E;iOOQS<<Jx<<JxO$M}Q`O'#IhO$NVQ`O'#IhO$N[Q`O,5<aO0aQ`O<<JxO$+qQpO<<JxO$NaQ`O<<JxO0aQ`O<<M{O$NiQtO<<M{O#6yQ`O<<JxO$NwQdO<<KSO% XQpO<<KSO*kQaO<<KSO0aQ`O<<KSO% aQdO'#HmO% xQdO,5?TO!&WQdO,5<jO$/dQpO,5<jO%!ZQ`O,5<jO<_Q`O,5<hO!.YQdO,5<lOOQO-E;m-E;mO!&WQdO,5<hOOQO,5<j,5<jOOQO,5<l,5<lO%!tQdO,5<mOOQO-E;l-E;lOOQ#y1G2R1G2ROOQS<<KT<<KTO!-xQ`O<<KTOOOQ7+(O7+(OO%#PO`O7+(POOOO,5<z,5<zOOOQ7+(P7+(POhQaO,5>`OOQ#u-E;r-E;rOhQaO<<KpOOQ#u<<Kp<<KpO$8TQ`O,5>aOOQO-E;s-E;sO!&WQdO<<KpO$8TQ`O<<KpO%#UQ`O<<KpO%#ZQ`O,5=SO%$pQaO,5=TOOQO-E;t-E;tOOQ#u1G2m1G2mOOQ#u<<Kr<<KrOOQ#u<<Kw<<KwOOQ#u<<Ky<<KyOOQT7+(a7+(aO%%QQ`O7+(aO%%VQaO7+(aO%%^Q`O7+(aOOQ#u<<Kz<<KzO%%cQ`O7+(dO%&xQ`O7+(dOOQ#u<<K}<<K}O%&}QpO,5=eOOQ#u1G4O1G4OO%'YQ`O<<LWOOQ#u<<LY<<LYO$?uQ`O,5<lO%'_Q`O,5=pO%'dQdO,5=pOOQO-E;w-E;wOOQ#u1G3Z1G3ZO#KmQ`O<<L`OOQ#u<<Ld<<LdO%'oQ`O1G4QO%'tQdO7+*iOOQO1G3`1G3`O%(PQ`O1G3`O%(UQ`O'#HZO7RQ`O'#HZOOQO,5>g,5>gOOQO-E;y-E;yO!&WQdO<<LdO%(aQ`O1G0`OOQO,5=},5=}OOQO-E;a-E;aO>UQaO,5;TOOQ#uANAzANAzO#KmQ`OANAzOOQ#uANAwANAwO!-xQ`OANAwO%)vQ`O7+'aO>UQaO7+'aOOQO7+'e7+'eO%+]Q`O7+'aO%+hQ`O7+'eO>UQaO7+'fO%+mQ`O7+'fO%-SQ`O'#HlO%-bQ`O,5?SO%-bQ`O,5?SOOQO1G1{1G1{O$+qQpOAN@dOOQSAN@dAN@dO0aQ`OAN@dO%-jQtOANCgO%-xQ`OAN@dO*kQaOAN@nO%.QQdOAN@nO%.bQpOAN@nOOQS,5>X,5>XOOQS-E;k-E;kOOQO1G2U1G2UO!&WQdO1G2UO$/dQpO1G2UO<_Q`O1G2SO!.YQdO1G2WO!&WQdO1G2SOOQO1G2W1G2WOOQO1G2S1G2SO%.jQaO'#GSOOQO1G2X1G2XOOQSAN@oAN@oOOOQ<<Kk<<KkOOQ#u1G3z1G3zOOQ#uANA[ANA[OOQO1G3{1G3{O%0iQ`OANA[O!&WQdOANA[O%0nQaO1G2nO%1OQaO1G2oOOQT<<K{<<K{O%1`Q`O<<K{O%1eQaO<<K{O*kQaO,5=_OOQT<<LO<<LOOOQO1G3P1G3PO%1lQ`O1G3PO!+WQeOANArO%1qQdO1G3[OOQO1G3[1G3[O%1|Q`O1G3[OOQS7+)l7+)lOOQO7+(z7+(zO%2UQ`O,5=uO%2ZQ`O,5=uOOQ#uANBOANBOO%2fQ`O1G0oOOQ#uG27fG27fOOQ#uG27cG27cO%3{Q`O<<J{O>UQaO<<J{OOQO<<KP<<KPO%5bQ`O<<KQOOQO,5>W,5>WO%6wQ`O,5>WOOQO-E;j-E;jO%6|Q`O1G4nOOQSG26OG26OO$+qQpOG26OO0aQ`OG26OO%7UQdOG26YO*kQaOG26YOOQO7+'p7+'pO!&WQdO7+'pO!&WQdO7+'nOOQO7+'r7+'rOOQO7+'n7+'nO%7fQ`OLD+tO%8uQ`O'#E}O%9PQ`O'#IZO!&WQdO'#HrO%:|QaO,5<nOOQO,5<n,5<nO!&WQdOG26vOOQ#uG26vG26vO%<{QaO7+(YOOQTANAgANAgO%=]Q`OANAgO%=bQ`O1G2yOOQO7+(k7+(kOOQ#uG27^G27^O%=iQ`OG27^OOQO7+(v7+(vO%=nQ`O7+(vO!&WQdO7+(vOOQO1G3a1G3aO%=vQ`O1G3aO%={Q`OAN@gOOQO1G3r1G3rOOQSLD+jLD+jO$+qQpOLD+jO%?bQdOLD+tOOQO<<K[<<K[OOQO<<KY<<KYO%?rQ`O,5<oO%?wQ`O,5<pOOQP,5>^,5>^OOQP-E;p-E;pOOQO1G2Y1G2YOOQ#uLD,bLD,bOOQTG27RG27RO!&WQdOLD,xO!&WQdO<<LbOOQO<<Lb<<LbOOQO7+({7+({OOQS!$( U!$( UOOQS1G2Z1G2ZOOQS1G2[1G2[O%@PQdO1G2[OOQ#u!$(!d!$(!dOOQOANA|ANA|OOQS7+'v7+'vO%@[Q`O'#E{O%@[Q`O'#E{O%@aQ`O,5;gO%@fQdO,5<cO%BbQaO,5:}O*kQaO1G0iO%BiQaO'#FwO#.YQaO'#GVO#.YQaO'#GYO#.YQaO,5;qO#.YQaO,5;qO#.YQaO,5;qO#.YQaO,5;qO#.YQaO,5;qO#.YQaO,5;qO#.YQaO,5;qO#.YQaO,5;qO#.YQaO,5;qO#.YQaO,5;qO#.YQaO,5;qO#.YQaO,5;qO#.YQaO,5;qO#.YQaO,5;qO#.YQaO,5;qO#.YQaO,5;qO%BpQdO'#I]O%D`QdO'#I]O#.YQaO'#EaO#.YQaO'#I]O%FbQaO,5:wO#.YQaO,5;nO#.YQaO,5;pO%FiQdO,5<PO%HeQdO,5<QO%JaQdO,5<RO%L]QdO,5<SO%NXQdO,5<SO%NoQdO,5<VO&!kQdO,5<tO#.YQaO1G0XO&$gQdO1G1]O&&cQdO1G1]O&(_QdO1G1]O&*ZQdO1G1]O&,VQdO1G1]O&.RQdO1G1]O&/}QdO1G1]O&1yQdO1G1]O&3uQdO1G1]O&5qQdO1G1]O&7mQdO1G1]O&9iQdO1G1]O&;eQdO1G1]O&=aQdO1G1]O&?]QdO1G1]O&AXQdO,5:{O&CTQdO,5>wO&EPQdO1G0cO#.YQaO1G0cO&F{QdO1G1YO&HwQdO1G1[O#.YQaO1G1|O#.YQaO7+%sO&JsQdO7+%sO&LoQdO7+%}O#.YQaO7+'hO&NkQdO7+'hO'!gQdO<<I_O'$cQdO<<KSO#.YQaO<<KSO#.YQaOAN@nO'&_QdOAN@nO'(ZQdOG26YO#.YQaOG26YO'*VQdOLD+tO',RQaO,5:}O'.QQaO1G0iO'/|QdO'#IWO'0aQeO'#FUO'4aQeO'#FUO#.YQaO'#FeO'.QQaO'#FeO#.YQaO'#FfO'.QQaO'#FfO#.YQaO'#FgO'.QQaO'#FgO#.YQaO'#FhO'.QQaO'#FhO#.YQaO'#FhO'.QQaO'#FhO#.YQaO'#FkO'.QQaO'#FkO'8gQaO,5:mO'8nQ`O,5<bO'8vQ`O1G0XO'.QQaO1G0|O':YQ`O1G1|O':bQ`O7+'hO':jQpO7+'hO':rQpO<<KSO':zQpOAN@nO';SQaO'#FwO'.QQaO'#GVO'.QQaO'#GYO'.QQaO,5;qO'.QQaO,5;qO'.QQaO,5;qO'.QQaO,5;qO'.QQaO,5;qO'.QQaO,5;qO'.QQaO,5;qO'.QQaO,5;qO'.QQaO,5;qO'.QQaO,5;qO'.QQaO,5;qO'.QQaO,5;qO'.QQaO,5;qO'.QQaO,5;qO'.QQaO,5;qO'.QQaO,5;qO'.QQaO'#EaO'.QQaO'#I]O'=RQaO,5:wO'.QQaO,5;nO'.QQaO,5;pO'?QQdO,5<PO'ASQdO,5<QO'CUQdO,5<RO'EWQdO,5<SO'GYQdO,5<SO'GvQdO,5<VO'IxQdO,5<tO'.QQaO1G0XO'KzQdO1G1]O'M|QdO1G1]O(!OQdO1G1]O($QQdO1G1]O(&SQdO1G1]O((UQdO1G1]O(*WQdO1G1]O(,YQdO1G1]O(.[QdO1G1]O(0^QdO1G1]O(2`QdO1G1]O(4bQdO1G1]O(6dQdO1G1]O(8fQdO1G1]O(:hQdO1G1]O(<jQdO,5:{O(>lQdO,5>wO(@nQdO1G0cO'.QQaO1G0cO(BpQdO1G1YO(DrQdO1G1[O'.QQaO1G1|O'.QQaO7+%sO(FtQdO7+%sO(HvQdO7+%}O'.QQaO7+'hO(JxQdO7+'hO(LzQdO<<I_O(N|QdO<<KSO'.QQaO<<KSO'.QQaOAN@nO)#OQdOAN@nO)%QQdOG26YO'.QQaOG26YO)'SQdOLD+tO))UQaO,5:}O#.YQaO1G0iO))]Q`O'#FvO))eQpO,5;bO))mQ`O,5<bO!%WQ`O,5<bO!%WQ`O1G1|O0aQ`O1G1|O0aQ`O7+'hO0aQ`O<<KSO))uQdO,5<cO)+wQdO'#I]O)-vQdO'#IWO).aQaO,5:mO).hQ`O,5<bO).pQ`O1G0XO)0SQ`O1G1|O)0[Q`O7+'hO)0dQpO7+'hO)0lQpO<<KSO)0tQpOAN@nO0aQ`O'#EvO9yQaO'#FeO9yQaO'#FfO9yQaO'#FgO9yQaO'#FhO9yQaO'#FhO9yQaO'#FkO)0|QaO'#FwO9yQaO'#GVO9yQaO'#GYO9yQaO,5;qO9yQaO,5;qO9yQaO,5;qO9yQaO,5;qO9yQaO,5;qO9yQaO,5;qO9yQaO,5;qO9yQaO,5;qO9yQaO,5;qO9yQaO,5;qO9yQaO,5;qO9yQaO,5;qO9yQaO,5;qO9yQaO,5;qO9yQaO,5;qO9yQaO,5;qO)1TQ`O'#FlO*kQaO'#EaO*kQaO'#I]O)1]QaO,5:wO9yQaO,5;nO9yQaO,5;pO)1dQdO,5<PO)3`QdO,5<QO)5[QdO,5<RO)7WQdO,5<SO)9SQdO,5<SO)9jQdO,5<VO);fQdO,5<cO)=bQdO,5<tO)?^Q`O'#IvO)@sQ`O'#IYO9yQaO1G0XO)BYQdO1G1]O)DUQdO1G1]O)FQQdO1G1]O)G|QdO1G1]O)IxQdO1G1]O)KtQdO1G1]O)MpQdO1G1]O* lQdO1G1]O*#hQdO1G1]O*%dQdO1G1]O*'`QdO1G1]O*)[QdO1G1]O*+WQdO1G1]O*-SQdO1G1]O*/OQdO1G1]O*0zQaO,5:}O*1RQdO,5:{O*1cQdO,5>wO*1sQaO'#HdO*2TQ`O,5>vO*2]QdO1G0cO9yQaO1G0cO*4XQdO1G1YO*6TQdO1G1[O9yQaO1G1|O>UQaO'#HwO*8PQ`O,5=[O*8XQaO'#HbO*8cQ`O,5>tO9yQaO7+%sO*8kQdO7+%sO*:gQ`O1G0iO>UQaO1G0iO*;|QdO7+%}O9yQaO7+'hO*=xQdO7+'hO*?tQ`O,5>cO*AZQ`O,5=|O*BpQdO<<I_O*DlQ`O7+&TO*FRQdO<<KSO9yQaO<<KSO9yQaOAN@nO*G}QdOAN@nO*IyQdOG26YO9yQaOG26YO*KuQdOLD+tO*MqQaO,5:}O9yQaO1G0iO*MxQdO'#I]O*NcQ`O'#FvO*NkQ`O,5<bO!%WQ`O,5<bO!%WQ`O1G1|O0aQ`O1G1|O0aQ`O7+'hO0aQ`O<<KSO*NsQdO'#IWO+ ^QeO'#FUO+ zQaO'#FUO+#sQaO'#FUO+%`QaO'#FUO>UQaO'#FeO>UQaO'#FfO>UQaO'#FgO>UQaO'#FhO>UQaO'#FhO>UQaO'#FkO+'XQaO'#FwO>UQaO'#GVO>UQaO'#GYO+'`QaO,5:mO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO+'gQ`O'#I]O$8YQaO'#EaO+)PQaOG26YO$8YQaO'#I]O+*{Q`O'#I[O++TQaO,5:wO>UQaO,5;nO>UQaO,5;pO++[Q`O,5<PO+,wQ`O,5<QO+.dQ`O,5<RO+0PQ`O,5<SO+1lQ`O,5<SO+3XQ`O,5<VO+4tQ`O,5<bO+4|Q`O,5<cO+6iQ`O,5<tO+8UQ`O1G0XO>UQaO1G0XO+9hQ`O1G1]O+;TQ`O1G1]O+<pQ`O1G1]O+>]Q`O1G1]O+?xQ`O1G1]O+AeQ`O1G1]O+CQQ`O1G1]O+DmQ`O1G1]O+FYQ`O1G1]O+GuQ`O1G1]O+IbQ`O1G1]O+J}Q`O1G1]O+LjQ`O1G1]O+NVQ`O1G1]O, rQ`O1G1]O,#_Q`O1G0cO>UQaO1G0cO,$zQ`O1G1YO,&gQ`O1G1[O,(SQ`O1G1|O>UQaO1G1|O>UQaO7+%sO,([Q`O7+%sO,)wQ`O7+%}O>UQaO7+'hO,+dQ`O7+'hO,+lQ`O7+'hO,-XQpO7+'hO,-aQ`O<<I_O,.|Q`O<<KSO,0iQpO<<KSO>UQaO<<KSO>UQaOAN@nO,0qQ`OAN@nO,2^QpOAN@nO,2fQ`OG26YO>UQaOG26YO,4RQ`OLD+tO,5nQaO,5:}O>UQaO1G0iO,5uQ`O'#I]O$8YQaO'#FeO$8YQaO'#FfO$8YQaO'#FgO$8YQaO'#FhO$8YQaO'#FhO+)PQaO'#FhO$8YQaO'#FkO,6SQaO'#FwO,6ZQaO'#FwO$8YQaO'#GVO+)PQaO'#GVO$8YQaO'#GYO$8YQaO,5;qO+)PQaO,5;qO$8YQaO,5;qO+)PQaO,5;qO$8YQaO,5;qO+)PQaO,5;qO$8YQaO,5;qO+)PQaO,5;qO$8YQaO,5;qO+)PQaO,5;qO$8YQaO,5;qO+)PQaO,5;qO$8YQaO,5;qO+)PQaO,5;qO$8YQaO,5;qO+)PQaO,5;qO$8YQaO,5;qO+)PQaO,5;qO$8YQaO,5;qO+)PQaO,5;qO$8YQaO,5;qO+)PQaO,5;qO$8YQaO,5;qO+)PQaO,5;qO$8YQaO,5;qO+)PQaO,5;qO$8YQaO,5;qO+)PQaO,5;qO$8YQaO,5;qO+)PQaO,5;qO$8YQaO,5;qO+)PQaO,5;qO,8YQ`O'#FlO>UQaO'#EaO>UQaO'#I]O,8bQaO,5:wO,8iQaO,5:wO$8YQaO,5;nO+)PQaO,5;nO$8YQaO,5;pO,:hQ`O,5<PO,<TQ`O,5<QO,=pQ`O,5<RO,?]Q`O,5<SO,@xQ`O,5<SO,BeQ`O,5<SO,CtQ`O,5<VO,EaQ`O,5<cO%7fQ`O,5<cO,F|Q`O,5<tO$8YQaO1G0XO+)PQaO1G0XO,HiQ`O1G1]O,JUQ`O1G1]O,KeQ`O1G1]O,MQQ`O1G1]O,NaQ`O1G1]O- |Q`O1G1]O-#]Q`O1G1]O-$xQ`O1G1]O-&XQ`O1G1]O-'tQ`O1G1]O-)TQ`O1G1]O-*pQ`O1G1]O-,PQ`O1G1]O--lQ`O1G1]O-.{Q`O1G1]O-0hQ`O1G1]O-1wQ`O1G1]O-3dQ`O1G1]O-4sQ`O1G1]O-6`Q`O1G1]O-7oQ`O1G1]O-9[Q`O1G1]O-:kQ`O1G1]O-<WQ`O1G1]O-=gQ`O1G1]O-?SQ`O1G1]O-@cQ`O1G1]O-BOQ`O1G1]O-C_Q`O1G1]O-DzQ`O1G1]O-FZQ`O,5:{O-GvQ`O,5>wO-IcQ`O1G0cO-KOQ`O1G0cO$8YQaO1G0cO+)PQaO1G0cO-L_Q`O1G1YO-MzQ`O1G1YO. ZQ`O1G1[O$8YQaO1G1|O$8YQaO7+%sO+)PQaO7+%sO.!vQ`O7+%sO.$cQ`O7+%sO.%rQ`O7+%}O.'_Q`O7+%}O$8YQaO7+'hO.(nQ`O7+'hO.*ZQ`O<<I_O.+vQ`O<<I_O.-VQ`O<<KSO$8YQaO<<KSO$8YQaOAN@nO..rQ`OAN@nO.0_Q`OG26YO$8YQaOG26YO.1zQ`OLD+tO.3gQaO,5:}O.3nQaO,5:}O$8YQaO1G0iO+)PQaO1G0iO.5mQ`O'#I]O.7PQ`O'#I]O.:fQ`O'#IWO.:vQ`O'#FvO.;OQaO,5:mO.;VQ`O,5<bO.;_Q`O,5<bO!%WQ`O,5<bO.;gQ`O1G0XO.<yQ`O,5:{O.>fQ`O,5>wO.@RQ`O1G1|O!%WQ`O1G1|O0aQ`O1G1|O0aQ`O7+'hO.@ZQ`O7+'hO.@cQpO7+'hO.@kQpO<<KSO0aQ`O<<KSO.@sQpOAN@nO.@{Q`O'#IWO.A]Q`O'#IWO.CSQaO,5:mO.CZQaO,5:mO.CbQ`O,5<bO.CjQ`O7+'hO.CrQ`O1G0XO.EUQ`O1G0XO.FhQ`O1G1|O.FpQ`O7+'hO.FxQpO7+'hO.GQQpOAN@nO.GYQpO<<KSO.GbQpOAN@nO.GjQ`O'#FvO.GrQ`O'#FlO.GzQ`O,5<bO!%WQ`O,5<bO!%WQ`O1G1|O0aQ`O1G1|O0aQ`O7+'hO0aQ`O<<KSO.HSQ`O'#FvO.H[Q`O,5<bO.HdQ`O,5<bO!%WQ`O,5<bO!%WQ`O1G1|O!%WQ`O1G1|O0aQ`O1G1|O0aQ`O<<KSO0aQ`O7+'hO0aQ`O<<KSO.HlQ`O'#FlO.HtQ`O'#FlO.H|Q`O'#Fl",stateData:".Ic~O!dOS!eOS&vOS!gQQ~O!iTO&wRO~OPgOQ|OS!lOU^OW}OX!XO[mO]!_O^!WO`![Oa!SOb!]Ok!dOm!lOowOp!TOq!UOsuOt!gOu!VOv!POxkOykO|!bO}`O!O]O!P!eO!QxO!R}O!TpO!UlO!VlO!W!YO!X!QO!YzO!Z!cO![!ZO!]!^O!^!fO!`!`O!a!RO!cjO!mWO!oXO!sYO!y[O#W_O#bhO#daO#ebO#peO$ToO$]nO$^oO$aqO$drO$l!kO$zyO${!OO$}}O%O}O%V|O'g{O~O!g!mO~O&wRO!i!hX&p!hX&t!hX~O!i!pO~O!d!qO!e!qO!g!mO&t!tO&v!qO~PhO!n!vO~PhOT'VXz'VX!S'VX!b'VX!m'VX!o'VX!v'VX!y'VX#S'VX#W'VX#`'VX#a'VX#p#qX#s'VX#z'VX#{'VX#|'VX#}'VX$O'VX$Q'VX$R'VX$S'VX$T'VX$U'VX$V'VX$W'VX$z'VX&s'VX~O!q!xO~P&sOT#TOz#RO!S#UO!b#VO!m#cO!o!{O!v!yO!y!}O#S#QO#W!zO#`!|O#a!|O#s#PO#z#SO#{#WO#|#XO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dO&s#cO~OPgOQ|OU^OW}O[mOowOs#hOxkOykO}`O!O]O!QxO!R}O!TpO!UlO!VlO!YzO!cjO!s#gO!y[O#W_O#bhO#daO#ebO#peO$ToO$]nO$^oO$aqO$zyO${!OO$}}O%O}O%V|O'g{O~O!y[O~O!y#kO~OP6]OQ|OU^OW}O[6`Oo=YOs#hOx6^Oy6^O}`O!O]O!Q6dO!R}O!T6cO!U6_O!V6_O!Y6fO!c8fO!s#gO!y[O#S#oO#U#nO#W_O#bhO#daO#ebO#peO$T6bO$]6aO$^6bO$aqO$z6eO${!OO$}}O%O}O%V|O'g{O#X'OP~O!}#sO~P-UO!y#tO~O#b#vO#daO#ebO~O#p#xO~O!s#yO~OU$PO!R$PO!s$OO!v#}O#p2XO~OT&zXz&zX!S&zX!b&zX!m&zX!o&zX!v&zX!y&zX#S&zX#W&zX#`&zX#a&zX#s&zX#z&zX#{&zX#|&zX#}&zX$O&zX$Q&zX$R&zX$S&zX$T&zX$U&zX$V&zX$W&zX$z&zX&s&zX!x&zX!n&zX~O#u$RO#w$SO~P0rOP6]OQ|OU^OW}O[6`Oo=YOs#hOx6^Oy6^O}`O!O]O!Q6dO!R}O!T6cO!U6_O!V6_O!Y6fO!c8fO!s#gO!y[O#W_O#bhO#daO#ebO#peO$T6bO$]6aO$^6bO$aqO$z6eO${!OO$}}O%O}O%V|O'g{OT#xXz#xX!S#xX!b#xX!m#xX!o#xX!v#xX#`#xX#a#xX#s#xX#z#xX#{#xX#|#xX#}#xX$O#xX$Q#xX$R#xX$S#xX$U#xX$V#xX$W#xX&s#xX!x#xX!n#xX~Or$UO#S6yO#U6xO~P2yO!s#gO#peO~OS$gO]$bOk$eOm$gOs$aO!`$cO$drO$l$fO~O!s$kO!y$hO#S$jO~Oo$mOs$lO#b$nO~O!y$hO#S$rO~O$l$tO~P*kOR$zO!o$yO#b$xO#e$yO&q$zO~O'f$|O~P8lO!y%RO~O!y%TO~O!s%VO~O!m#cO&s#cO~P*kO!oXO~O!y%_O~OP6]OQ|OU^OW}O[6`Oo=YOs#hOx6^Oy6^O}`O!O]O!Q6dO!R}O!T6cO!U6_O!V6_O!Y6fO!c8fO!s#gO!y[O#W_O#bhO#daO#ebO#peO$T6bO$]6aO$^6bO$aqO$z6eO${!OO$}}O%O}O%V|O'g{O~O!y%cO~O!s%dO~O]$bO~O!s%hO~O!s%iO~O!s%jO~O!oXO!s#gO#peO~O]%rOs%rO!o%pO!s#gO#p%nO~O!s%vO~O!i%wO&t%wO&wRO~O&t%zO~PhO!n%{O~PhOPgOQ|OU^OW}O[8lOo=yOs#hOx8jOy8jO}`O!O]O!Q8pO!R}O!T8oO!U8kO!V8kO!Y8rO!c8iO!s#gO!y[O#W_O#bhO#daO#ebO#peO$T8nO$]8mO$^8nO$aqO$z8qO${!OO$}}O%O}O%V|O'g{O~O!q%}O~P>UO#X&PO~P>UO!o&SO!s&RO#b&RO~OPgOQ|OU^OW}O[8lOo=yOs#hOx8jOy8jO}`O!O]O!Q8pO!R}O!T8oO!U8kO!V8kO!Y8rO!c8iO!s&VO!y[O#U&WO#W_O#bhO#daO#ebO#peO$T8nO$]8mO$^8nO$aqO$z8qO${!OO$}}O%O}O%V|O'g{O~O!x'SP~PAOO!s&[O#b&[O~OT#TOz#RO!S#UO!b#VO!o!{O!v!yO!y!}O#S#QO#W!zO#`!|O#a!|O#s#PO#z#SO#{#WO#|#XO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dO~O!x&nO~PCqO!x'VX!}'VX#O'VX#X'VX!n'VXV'VX!q'VX#u'VX#w'VXw'VX~P&sO!y$hO#S&oO~Oo$mOs$lO~O!o&pO~O!}&sO#S;dO#U;cO!x'OP~P9yOT6iOz6gO!S6jO!b6kO!o!{O!v8sO!y!}O#S#QO#W!zO#`!|O#a!|O#s#PO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO!}'PX#X'PX~O#O&tO~PGSO!}&wO#X'OX~O#X&yO~O!}'OO!x'QP~P9yO!n'PO~PCqO!m#oa!o#oa#S#oa#p#qX&s#oa!x#oa#O#oaw#oa~OT#oaz#oa!S#oa!b#oa!v#oa!y#oa#W#oa#`#oa#a#oa#s#oa#z#oa#{#oa#|#oa#}#oa$O#oa$Q#oa$R#oa$S#oa$T#oa$U#oa$V#oa$W#oa$z#oa!}#oa#X#oa!n#oaV#oa!q#oa#u#oa#w#oa~PIpO!s'RO~O!x'UO#l'SO~O!x'VX#l'VX#p#qX#S'VX#U'VX#b'VX!o'VX#O'VXw'VX!m'VX&s'VX~O#S'YO~P*kO!m$Xa&s$Xa!x$Xa!n$Xa~PCqO!m$Ya&s$Ya!x$Ya!n$Ya~PCqO!m$Za&s$Za!x$Za!n$Za~PCqO!m$[a&s$[a!x$[a!n$[a~PCqO!o!{O!y!}O#W!zO#`!|O#a!|O#s#PO$z#dOT$[a!S$[a!b$[a!m$[a!v$[a#S$[a#z$[a#{$[a#|$[a#}$[a$O$[a$Q$[a$R$[a$S$[a$T$[a$U$[a$V$[a$W$[a&s$[a!x$[a!n$[a~Oz#RO~PNyO!m$_a&s$_a!x$_a!n$_a~PCqO!y!}O!}$fX#X$fX~O!}'^O#X'ZX~O#X'`O~O!s$kO#S'aO~O]'cO~O!s'eO~O!s'fO~O$l'gO~O!`'mO#S'kO#U'lO#b'jO$drO!x'XP~P0aO!^'sO!oXO!q'rO~O!s'uO!y$hO~O!y$hO#S'wO~O!y$hO#S'yO~O#u'zO!m$sX!}$sX&s$sX~O!}'{O!m'bX&s'bX~O!m#cO&s#cO~O!q(PO#O(OO~O!m$ka&s$ka!x$ka!n$ka~PCqOl(ROw(SO!o(TO!y!}O~O!o!{O!y!}O#W!zO#`!|O#a!|O#s#PO~OT$yaz$ya!S$ya!b$ya!m$ya!v$ya#S$ya#z$ya#{$ya#|$ya#}$ya$O$ya$Q$ya$R$ya$S$ya$T$ya$U$ya$V$ya$W$ya$z$ya&s$ya!x$ya!}$ya#O$ya#X$ya!n$ya!q$yaV$ya#u$ya#w$ya~P!'WO!m$|a&s$|a!x$|a!n$|a~PCqO#W([O#`(YO#a(YO&r(ZOR&gX!o&gX#b&gX#e&gX&q&gX'f&gX~O'f(_O~P8lO!q(`O~PhO!o(cO!q(dO~O!q(`O&s(gO~PhO!a(kO~O!m(lO~P9yOZ(wOn(xO~O!s(zO~OT6iOz6gO!S6jO!b6kO!v8sO!}({O#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO!m'jX&s'jX~P!'WO#u)PO~O!})QO!m'`X&s'`X~Ol(RO!o(TO~Ow(SO!o)WO!q)ZO~O!m#cO!oXO&s#cO~O!o%pO!s#yO~OV)aO!})_O!m'kX&s'kX~O])cOs)cO!s#gO#peO~O!o%pO!s#gO#p)hO~OT6iOz6gO!S6jO!b6kO!v8sO!})iO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO!m&|X&s&|X#O&|X~P!'WOl(ROw(SO!o(TO~O!i)oO&t)oO~OT8vOz8tO!S8wO!b8xO!q)pO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO~P!'WOT8vOz8tO!S8wO!b8xO!v=ZO#S#QO#X)rO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO~P!'WO!n)rO~PCqOT8vOz8tO!S8wO!b8xO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!x'TX!}'TX~P!'WOT'VXz'VX!S'VX!b'VX!o'VX!v'VX!y'VX#S'VX#W'VX#`'VX#a'VX#p#qX#s'VX#z'VX#{'VX#|'VX#}'VX$O'VX$Q'VX$R'VX$S'VX$T'VX$U'VX$V'VX$W'VX$z'VX~O!q)tO!x'VX!}'VX~P!5xO!x#iX!}#iX~P>UO!})vO!x'SX~O!x)xO~O$z#dOT#yiz#yi!S#yi!b#yi!m#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi$V#yi$W#yi&s#yi!x#yi!}#yi#O#yi#X#yi!n#yi!q#yiV#yi#u#yi#w#yi~P!'WOz#RO#S#QO#z#SO#{#WO#|#XO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi&s#yi!x#yi!n#yi~P!'WOz#RO!v!yO#S#QO#z#SO#{#WO#|#XO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi&s#yi!x#yi!n#yi~P!'WOT#TOz#RO!b#VO!v!yO#S#QO#z#SO#{#WO#|#XO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dO!S#yi!m#yi&s#yi!x#yi!n#yi~P!'WOT#TOz#RO!v!yO#S#QO#z#SO#{#WO#|#XO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dO!S#yi!b#yi!m#yi&s#yi!x#yi!n#yi~P!'WOz#RO#S#QO#|#XO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#z#yi#{#yi&s#yi!x#yi!n#yi~P!'WOz#RO#S#QO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#z#yi#{#yi#|#yi&s#yi!x#yi!n#yi~P!'WOz#RO#S#QO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#z#yi#{#yi#|#yi#}#yi&s#yi!x#yi!n#yi~P!'WOz#RO#S#QO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#z#yi#{#yi#|#yi#}#yi$O#yi&s#yi!x#yi!n#yi~P!'WOz#RO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi&s#yi!x#yi!n#yi~P!'WOz#RO$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi&s#yi!x#yi!n#yi~P!'WOz#RO$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi&s#yi!x#yi!n#yi~P!'WOz#RO$T#`O$V#bO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$U#yi&s#yi!x#yi!n#yi~P!'WOz#RO$V#bO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi&s#yi!x#yi!n#yi~P!'WOz#RO$S#_O$T#`O$V#bO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$U#yi&s#yi!x#yi!n#yi~P!'WOz#RO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi$V#yi&s#yi!x#yi!n#yi~P!'WO_)yO~P9yO!x)|O~O#S*PO~P9yOT6iOz6gO!S6jO!b6kO!v8sO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO!}#Ta#X#Ta#O#Ta!m#Ta&s#Ta!x#Ta!n#TaV#Ta!q#Ta~P!'WOT6iOz6gO!S6jO!b6kO!v8sO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO!}'Pa#X'Pa#O'Pa!m'Pa&s'Pa!x'Pa!n'PaV'Pa!q'Pa~P!'WO#S#oO#U#nO!}&WX#X&WX~P9yO!}&wO#X'Oa~O#X*SO~OT6iOz6gO!S6jO!b6kO!v8sO!}*UO#O*TO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO!x'QX~P!'WO!}*UO!x'QX~O!x*WO~O!m#oi!o#oi#S#oi#p#qX&s#oi!x#oi#O#oiw#oi~OT#oiz#oi!S#oi!b#oi!v#oi!y#oi#W#oi#`#oi#a#oi#s#oi#z#oi#{#oi#|#oi#}#oi$O#oi$Q#oi$R#oi$S#oi$T#oi$U#oi$V#oi$W#oi$z#oi!}#oi#X#oi!n#oiV#oi!q#oi#u#oi#w#oi~P#*zO#l'SO!x#ka#S#ka#U#ka#b#ka!o#ka#O#kaw#ka!m#ka&s#ka~OPgOQ|OU^OW}O[4OOo5xOs#hOx3zOy3zO}`O!O]O!Q2^O!R}O!T4UO!U3|O!V3|O!Y2`O!c3xO!s#gO!y[O#W_O#bhO#daO#ebO#peO$T4SO$]4QO$^4SO$aqO$z2_O${!OO$}}O%O}O%V|O'g{O~O#l#oa#U#oa#b#oa~PIpOz#RO!v!yO#S#QO#z#SO#{#WO#|#XO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT#Pi!S#Pi!b#Pi!m#Pi&s#Pi!x#Pi!n#Pi~P!'WOz#RO!v!yO#S#QO#z#SO#{#WO#|#XO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT#vi!S#vi!b#vi!m#vi&s#vi!x#vi!n#vi~P!'WO!m#xi&s#xi!x#xi!n#xi~PCqO!s#gO#peO!}&^X#X&^X~O!}'^O#X'Za~O!s'uO~Ow(SO!o)WO!q*fO~O!s*jO~O#S*lO#U*mO#b*kO#l'SO~O#S*lO#U*mO#b*kO$drO~P0aO#u*oO!x$cX!}$cX~O#U*mO#b*kO~O#b*pO~O#b*rO~P0aO!}*sO!x'XX~O!x*uO~O!y*wO~O!^*{O!oXO!q*zO~O!q*}O!o'ci!m'ci&s'ci~O!q+QO#O+PO~O#b$nO!m&eX!}&eX&s&eX~O!}'{O!m'ba&s'ba~OT$kiz$ki!S$ki!b$ki!m$ki!o$ki!v$ki!y$ki#S$ki#W$ki#`$ki#a$ki#s$ki#u#fa#w#fa#z$ki#{$ki#|$ki#}$ki$O$ki$Q$ki$R$ki$S$ki$T$ki$U$ki$V$ki$W$ki$z$ki&s$ki!x$ki!}$ki#O$ki#X$ki!n$ki!q$kiV$ki~OS+^O]+aOm+^Os$aO!^+dO!_+^O!`+^O!n+hO#b$nO$aqO$drO~P0aO!s+lO~O#W+nO#`+mO#a+mO~O!s+pO#b+pO$}+pO%T+oO~O!n+qO~PCqOc%XXd%XXh%XXj%XXf%XXg%XXe%XX~PhOc+uOd+sOP%WiQ%WiS%WiU%WiW%WiX%Wi[%Wi]%Wi^%Wi`%Wia%Wib%Wik%Wim%Wio%Wip%Wiq%Wis%Wit%Wiu%Wiv%Wix%Wiy%Wi|%Wi}%Wi!O%Wi!P%Wi!Q%Wi!R%Wi!T%Wi!U%Wi!V%Wi!W%Wi!X%Wi!Y%Wi!Z%Wi![%Wi!]%Wi!^%Wi!`%Wi!a%Wi!c%Wi!m%Wi!o%Wi!s%Wi!y%Wi#W%Wi#b%Wi#d%Wi#e%Wi#p%Wi$T%Wi$]%Wi$^%Wi$a%Wi$d%Wi$l%Wi$z%Wi${%Wi$}%Wi%O%Wi%V%Wi&p%Wi'g%Wi&t%Wi!n%Wih%Wij%Wif%Wig%WiY%Wi_%Wii%Wie%Wi~Oc+yOd+vOh+xO~OY+zO_+{O!n,OO~OY+zO_+{Oi%^X~Oi,QO~Oj,RO~O!m,TO~P9yO!m,VO~Of,WO~OT6iOV,XOz6gO!S6jO!b6kO!v8sO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO~P!'WOg,YO~O!y,ZO~OZ(wOn(xOP%liQ%liS%liU%liW%liX%li[%li]%li^%li`%lia%lib%lik%lim%lio%lip%liq%lis%lit%liu%liv%lix%liy%li|%li}%li!O%li!P%li!Q%li!R%li!T%li!U%li!V%li!W%li!X%li!Y%li!Z%li![%li!]%li!^%li!`%li!a%li!c%li!m%li!o%li!s%li!y%li#W%li#b%li#d%li#e%li#p%li$T%li$]%li$^%li$a%li$d%li$l%li$z%li${%li$}%li%O%li%V%li&p%li'g%li&t%li!n%lic%lid%lih%lij%lif%lig%liY%li_%lii%lie%li~O#u,_O~O!}({O!m%da&s%da~O!x,bO~O!s%dO!m&dX!}&dX&s&dX~O!})QO!m'`a&s'`a~OS+^OY,iOm+^Os$aO!^+dO!_+^O!`+^O$aqO$drO~O!n,lO~P#JwO!o)WO~O!o%pO!s'RO~O!s#gO#peO!m&nX!}&nX&s&nX~O!})_O!m'ka&s'ka~O!s,rO~OV,sO!n%|X!}%|X~O!},uO!n'lX~O!n,wO~O!m&UX!}&UX&s&UX#O&UX~P9yO!})iO!m&|a&s&|a#O&|a~Oz#RO#S#QO#z#SO#{#WO#|#XO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT!uq!S!uq!b!uq!m!uq!v!uq&s!uq!x!uq!n!uq~P!'WO!n,|O~PCqOT8vOz8tO!S8wO!b8xO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!x#ia!}#ia~P!'WO!x&YX!}&YX~PAOO!})vO!x'Sa~O#O-QO~O!}-RO!n&{X~O!n-TO~O!x-UO~OT6iOz6gO!S6jO!b6kO!v8sO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO!}#Vi#X#Vi~P!'WO!x&XX!}&XX~P9yO!}*UO!x'Qa~O!x-[O~OT#jqz#jq!S#jq!b#jq!m#jq!v#jq#S#jq#u#jq#w#jq#z#jq#{#jq#|#jq#}#jq$O#jq$Q#jq$R#jq$S#jq$T#jq$U#jq$V#jq$W#jq$z#jq&s#jq!x#jq!}#jq#O#jq#X#jq!n#jq!q#jqV#jq~P!'WO#l#oi#U#oi#b#oi~P#*zOz#RO!v!yO#S#QO#z#SO#{#WO#|#XO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT#Pq!S#Pq!b#Pq!m#Pq&s#Pq!x#Pq!n#Pq~P!'WO#u-dO!x$ca!}$ca~O#U-fO#b-eO~O#b-gO~O#S-hO#U-fO#b-eO#l'SO~O#b-jO#l'SO~O#u-kO!x$ha!}$ha~O!`'mO#S'kO#U'lO#b'jO$drO!x&_X!}&_X~P0aO!}*sO!x'Xa~O!oXO#l'SO~O#S-pO#b-oO!x'[P~O!oXO!q-rO~O!q-uO!o'cq!m'cq&s'cq~O!^-wO!oXO!q-rO~O!q-{O#O-zO~OT6iOz6gO!S6jO!b6kO!v8sO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO!m$si!}$si&s$si~P!'WO!m$jq&s$jq!x$jq!n$jq~PCqO#O-zO#l'SO~O!}-|Ow']X!o']X!m']X&s']X~O#b$nO#l'SO~OS+^O].ROm+^Os$aO!_+^O!`+^O#b$nO$aqO$drO~P0aOS+^O].ROm+^Os$aO!_+^O!`+^O#b$nO$aqO~P0aOS+^O]+aOm+^Os$aO!^+dO!_+^O!`+^O!n.ZO#b$nO$aqO$drO~P0aO!s.^O~O!s._O#b._O$}._O%T+oO~O$}.`O~O#X.aO~Oc%Xad%Xah%Xaj%Xaf%Xag%Xae%Xa~PhOc.dOd+sOP%WqQ%WqS%WqU%WqW%WqX%Wq[%Wq]%Wq^%Wq`%Wqa%Wqb%Wqk%Wqm%Wqo%Wqp%Wqq%Wqs%Wqt%Wqu%Wqv%Wqx%Wqy%Wq|%Wq}%Wq!O%Wq!P%Wq!Q%Wq!R%Wq!T%Wq!U%Wq!V%Wq!W%Wq!X%Wq!Y%Wq!Z%Wq![%Wq!]%Wq!^%Wq!`%Wq!a%Wq!c%Wq!m%Wq!o%Wq!s%Wq!y%Wq#W%Wq#b%Wq#d%Wq#e%Wq#p%Wq$T%Wq$]%Wq$^%Wq$a%Wq$d%Wq$l%Wq$z%Wq${%Wq$}%Wq%O%Wq%V%Wq&p%Wq'g%Wq&t%Wq!n%Wqh%Wqj%Wqf%Wqg%WqY%Wq_%Wqi%Wqe%Wq~Oc.iOd+vOh.hO~O!q(`O~OP6]OQ|OU^OW}O[:fOo>ROs#hOx:dOy:dO}`O!O]O!Q:kO!R}O!T:jO!U:eO!V:eO!Y:oO!c8gO!s#gO!y[O#W_O#bhO#daO#ebO#peO$T:hO$]:gO$^:hO$aqO$z:mO${!OO$}}O%O}O%V|O'g{O~O!m.lO!q.lO~OY+zO_+{O!n.nO~OY+zO_+{Oi%^a~O!x.rO~P>UO!m.tO~O!m.tO~P9yOQ|OW}O!R}O$}}O%O}O%V|O'g{O~OT6iOz6gO!S6jO!b6kO!v8sO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO!m&ka!}&ka&s&ka~P!'WOT6iOz6gO!S6jO!b6kO!v8sO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO!m$qi!}$qi&s$qi~P!'WOS+^Om+^Os$aO!_+^O!`+^O$aqO$drO~OY/PO~P$?VOS+^Om+^Os$aO!_+^O!`+^O$aqO~O!s/QO~O!n/SO~P#JwOw(SO!o)WO#l'SO~OV/VO!m&na!}&na&s&na~O!})_O!m'ki&s'ki~O!s/XO~OV/YO!n%|a!}%|a~O]/[Os/[O!s#gO#peO!n&oX!}&oX~O!},uO!n'la~OT6iOz6gO!S6jO!b6kO!v8sO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO!m&Ua!}&Ua&s&Ua#O&Ua~P!'WOz#RO#S#QO#z#SO#{#WO#|#XO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT!uy!S!uy!b!uy!m!uy!v!uy&s!uy!x!uy!n!uy~P!'WOT8vOz8tO!S8wO!b8xO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!x#hi!}#hi~P!'WO_)yO!n&VX!}&VX~P9yO!}-RO!n&{a~OT6iOz6gO!S6jO!b6kO!v8sO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO!}#Vq#X#Vq~P!'WOT8vOz8tO!S8wO!b8xO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!x#[i!}#[i~P!'WOT6iOz6gO!S6jO!b6kO!v8sO#O/cO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO!x&Xa!}&Xa~P!'WO#u/iO!x$ci!}$ci~O#b/jO~O#U/lO#b/kO~OT8vOz8tO!S8wO!b8xO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!x$ci!}$ci~P!'WO#u/mO!x$hi!}$hi~O!}/oO!x'[X~O#b/qO~O!x/rO~O!oXO!q/uO~O#l'SO!o'cy!m'cy&s'cy~O!m$jy&s$jy!x$jy!n$jy~PCqO#O/xO#l'SO~O!s#gO#peOw&aX!o&aX!}&aX!m&aX&s&aX~O!}-|Ow']a!o']a!m']a&s']a~OU$PO]0QO!R$PO!s$OO!v#}O#b$nO#p2XO~P$?uO!m#cO!o0VO&s#cO~O#X0YO~Oh0_O~OT:tOz:pO!S:vO!b:xO!m0`O!q0`O!v=mO#S#QO#z:rO#{:zO#|:|O#};OO$O;QO$Q;UO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dO~P!'WOY%]a_%]a!n%]ai%]a~PhO!x0bO~O!x0bO~P>UO!m0dO~OT6iOz6gO!S6jO!b6kO!v8sO!x0fO#O0eO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO~P!'WO!x0fO~O!x0gO#b0hO#l'SO~O!x0iO~O!s0jO~O!m#cO#u0lO&s#cO~O!s0mO~O!})_O!m'kq&s'kq~O!s0nO~OV0oO!n%}X!}%}X~OT:tOz:pO!S:vO!b:xO!v=mO#S#QO#z:rO#{:zO#|:|O#};OO$O;QO$Q;UO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dO!n!|i!}!|i~P!'WOT8vOz8tO!S8wO!b8xO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!x$cq!}$cq~P!'WO#u0vO!x$cq!}$cq~O#b0wO~OT8vOz8tO!S8wO!b8xO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!x$hq!}$hq~P!'WO#S0zO#b0yO!x&`X!}&`X~O!}/oO!x'[a~O#l'SO!o'c!R!m'c!R&s'c!R~O!oXO!q1PO~O!m$j!R&s$j!R!x$j!R!n$j!R~PCqO#O1RO#l'SO~OP6]OU^O[9WOo>SOs#hOx9WOy9WO}`O!O]O!Q:lO!T9WO!U9WO!V9WO!Y9WO!c8hO!n1^O!s1YO!y[O#W_O#bhO#daO#ebO#peO$T:iO$]9WO$^:iO$aqO$z:nO${!OO~P$;lOh1_O~OY%[i_%[i!n%[ii%[i~PhOY%]i_%]i!n%]ii%]i~PhO!x1bO~O!x1bO~P>UO!x1eO~O!m#cO#u1iO&s#cO~O$}1jO%V1jO~O!s1kO~OV1lO!n%}a!}%}a~OT8vOz8tO!S8wO!b8xO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!x#]i!}#]i~P!'WOT8vOz8tO!S8wO!b8xO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!x$cy!}$cy~P!'WOT8vOz8tO!S8wO!b8xO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!x$hy!}$hy~P!'WO#b1nO~O!}/oO!x'[i~O!m$j!Z&s$j!Z!x$j!Z!n$j!Z~PCqOT:uOz:qO!S:wO!b:yO!v=nO#S#QO#z:sO#{:{O#|:}O#};PO$O;RO$Q;VO$R;XO$S;ZO$T;]O$U;_O$V;aO$W;aO$z#dO~P!'WOV1uO{1tO~P!5xOV1uO{1tOT&}Xz&}X!S&}X!b&}X!o&}X!v&}X!y&}X#S&}X#W&}X#`&}X#a&}X#s&}X#u&}X#w&}X#z&}X#{&}X#|&}X#}&}X$O&}X$Q&}X$R&}X$S&}X$T&}X$U&}X$V&}X$W&}X$z&}X~OP6]OU^O[9WOo>SOs#hOx9WOy9WO}`O!O]O!Q:lO!T9WO!U9WO!V9WO!Y9WO!c8hO!n1xO!s1YO!y[O#W_O#bhO#daO#ebO#peO$T:iO$]9WO$^:iO$aqO$z:nO${!OO~P$;lOY%[q_%[q!n%[qi%[q~PhO!x1zO~O!x%gi~PCqOe1{O~O$}1|O%V1|O~O!s2OO~OT8vOz8tO!S8wO!b8xO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!x$c!R!}$c!R~P!'WO!m$j!c&s$j!c!x$j!c!n$j!c~PCqO!s2QO~O!`2SO!s2RO~O!s2VO!m$xi&s$xi~O!s'WO~O!s*]O~OT2cOz2aO!S2dO!b2eO!v4WO#S#QO#z2bO#{2fO#|2gO#}2hO$O2iO$Q2kO$R2lO$S2mO$T2nO$U2oO$V2pO$W2pO$z#dO!m$ka#u$ka#w$ka&s$ka!x$ka!n$ka!q$ka#X$ka!}$ka~P!'WO#S2]O~P*kO$l$tO~P#.YOT6iOz6gO!S6jO!b6kO!v8sO#O2[O#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO!m'PX&s'PX!x'PX!n'PX~P!'WOT4fOz4dO!S4gO!b4hO!v6TO#O3uO#S#QO#z4eO#{4iO#|4jO#}4kO$O4lO$Q4nO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dO!}'PX#X'PX#u'PX#w'PX!m'PX&s'PX!x'PX!n'PXV'PX!q'PX~P!'WO#S3dO~P#.YOT2cOz2aO!S2dO!b2eO!v4WO#S#QO#z2bO#{2fO#|2gO#}2hO$O2iO$Q2kO$R2lO$S2mO$T2nO$U2oO$V2pO$W2pO$z#dO!m$Xa#u$Xa#w$Xa&s$Xa!x$Xa!n$Xa!q$Xa#X$Xa!}$Xa~P!'WOT2cOz2aO!S2dO!b2eO!v4WO#S#QO#z2bO#{2fO#|2gO#}2hO$O2iO$Q2kO$R2lO$S2mO$T2nO$U2oO$V2pO$W2pO$z#dO!m$Ya#u$Ya#w$Ya&s$Ya!x$Ya!n$Ya!q$Ya#X$Ya!}$Ya~P!'WOT2cOz2aO!S2dO!b2eO!v4WO#S#QO#z2bO#{2fO#|2gO#}2hO$O2iO$Q2kO$R2lO$S2mO$T2nO$U2oO$V2pO$W2pO$z#dO!m$Za#u$Za#w$Za&s$Za!x$Za!n$Za!q$Za#X$Za!}$Za~P!'WOT2cOz2aO!S2dO!b2eO!v4WO#S#QO#z2bO#{2fO#|2gO#}2hO$O2iO$Q2kO$R2lO$S2mO$T2nO$U2oO$V2pO$W2pO$z#dO!m$[a#u$[a#w$[a&s$[a!x$[a!n$[a!q$[a#X$[a!}$[a~P!'WOz2aO#u$[a#w$[a!q$[a#X$[a!}$[a~PNyOT2cOz2aO!S2dO!b2eO!v4WO#S#QO#z2bO#{2fO#|2gO#}2hO$O2iO$Q2kO$R2lO$S2mO$T2nO$U2oO$V2pO$W2pO$z#dO!m$_a#u$_a#w$_a&s$_a!x$_a!n$_a!q$_a#X$_a!}$_a~P!'WOT2cOz2aO!S2dO!b2eO!v4WO#S#QO#z2bO#{2fO#|2gO#}2hO$O2iO$Q2kO$R2lO$S2mO$T2nO$U2oO$V2pO$W2pO$z#dO!m$|a#u$|a#w$|a&s$|a!x$|a!n$|a!q$|a#X$|a!}$|a~P!'WOz2aO#S#QO#z2bO#{2fO#|2gO#}2hO$O2iO$Q2kO$R2lO$S2mO$T2nO$U2oO$V2pO$W2pO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#u#yi#w#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOz2aO!v4WO#S#QO#z2bO#{2fO#|2gO#}2hO$O2iO$Q2kO$R2lO$S2mO$T2nO$U2oO$V2pO$W2pO$z#dOT#yi!S#yi!b#yi!m#yi#u#yi#w#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOT2cOz2aO!b2eO!v4WO#S#QO#z2bO#{2fO#|2gO#}2hO$O2iO$Q2kO$R2lO$S2mO$T2nO$U2oO$V2pO$W2pO$z#dO!S#yi!m#yi#u#yi#w#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOT2cOz2aO!v4WO#S#QO#z2bO#{2fO#|2gO#}2hO$O2iO$Q2kO$R2lO$S2mO$T2nO$U2oO$V2pO$W2pO$z#dO!S#yi!b#yi!m#yi#u#yi#w#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOz2aO#S#QO#|2gO#}2hO$O2iO$Q2kO$R2lO$S2mO$T2nO$U2oO$V2pO$W2pO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#u#yi#w#yi#z#yi#{#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOz2aO#S#QO#}2hO$O2iO$Q2kO$R2lO$S2mO$T2nO$U2oO$V2pO$W2pO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#u#yi#w#yi#z#yi#{#yi#|#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOz2aO#S#QO$O2iO$Q2kO$R2lO$S2mO$T2nO$U2oO$V2pO$W2pO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOz2aO#S#QO$Q2kO$R2lO$S2mO$T2nO$U2oO$V2pO$W2pO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOz2aO$Q2kO$R2lO$S2mO$T2nO$U2oO$V2pO$W2pO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOz2aO$R2lO$S2mO$T2nO$U2oO$V2pO$W2pO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOz2aO$S2mO$T2nO$U2oO$V2pO$W2pO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOz2aO$T2nO$V2pO$W2pO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$U#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOz2aO$V2pO$W2pO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOz2aO$S2mO$T2nO$V2pO$W2pO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$U#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOz2aO$W2pO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi$V#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOT2cOz2aO!S2dO!b2eO!v4WO#S#QO#z2bO#{2fO#|2gO#}2hO$O2iO$Q2kO$R2lO$S2mO$T2nO$U2oO$V2pO$W2pO$z#dO!m#Ta#u#Ta#w#Ta&s#Ta!x#Ta!n#Ta!q#Ta#X#Ta!}#Ta~P!'WOT2cOz2aO!S2dO!b2eO!v4WO#S#QO#z2bO#{2fO#|2gO#}2hO$O2iO$Q2kO$R2lO$S2mO$T2nO$U2oO$V2pO$W2pO$z#dO!m'Pa#u'Pa#w'Pa&s'Pa!x'Pa!n'Pa!q'Pa#X'Pa!}'Pa~P!'WOz2aO!v4WO#S#QO#z2bO#{2fO#|2gO#}2hO$O2iO$Q2kO$R2lO$S2mO$T2nO$U2oO$V2pO$W2pO$z#dOT#Pi!S#Pi!b#Pi!m#Pi#u#Pi#w#Pi&s#Pi!x#Pi!n#Pi!q#Pi#X#Pi!}#Pi~P!'WOz2aO!v4WO#S#QO#z2bO#{2fO#|2gO#}2hO$O2iO$Q2kO$R2lO$S2mO$T2nO$U2oO$V2pO$W2pO$z#dOT#vi!S#vi!b#vi!m#vi#u#vi#w#vi&s#vi!x#vi!n#vi!q#vi#X#vi!}#vi~P!'WOT2cOz2aO!S2dO!b2eO!v4WO#S#QO#z2bO#{2fO#|2gO#}2hO$O2iO$Q2kO$R2lO$S2mO$T2nO$U2oO$V2pO$W2pO$z#dO!m#xi#u#xi#w#xi&s#xi!x#xi!n#xi!q#xi#X#xi!}#xi~P!'WOz2aO#S#QO#z2bO#{2fO#|2gO#}2hO$O2iO$Q2kO$R2lO$S2mO$T2nO$U2oO$V2pO$W2pO$z#dOT!uq!S!uq!b!uq!m!uq!v!uq#u!uq#w!uq&s!uq!x!uq!n!uq!q!uq#X!uq!}!uq~P!'WOz2aO!v4WO#S#QO#z2bO#{2fO#|2gO#}2hO$O2iO$Q2kO$R2lO$S2mO$T2nO$U2oO$V2pO$W2pO$z#dOT#Pq!S#Pq!b#Pq!m#Pq#u#Pq#w#Pq&s#Pq!x#Pq!n#Pq!q#Pq#X#Pq!}#Pq~P!'WOT2cOz2aO!S2dO!b2eO!v4WO#S#QO#z2bO#{2fO#|2gO#}2hO$O2iO$Q2kO$R2lO$S2mO$T2nO$U2oO$V2pO$W2pO$z#dO!m$jq#u$jq#w$jq&s$jq!x$jq!n$jq!q$jq#X$jq!}$jq~P!'WOz2aO#S#QO#z2bO#{2fO#|2gO#}2hO$O2iO$Q2kO$R2lO$S2mO$T2nO$U2oO$V2pO$W2pO$z#dOT!uy!S!uy!b!uy!m!uy!v!uy#u!uy#w!uy&s!uy!x!uy!n!uy!q!uy#X!uy!}!uy~P!'WOT2cOz2aO!S2dO!b2eO!v4WO#S#QO#z2bO#{2fO#|2gO#}2hO$O2iO$Q2kO$R2lO$S2mO$T2nO$U2oO$V2pO$W2pO$z#dO!m$jy#u$jy#w$jy&s$jy!x$jy!n$jy!q$jy#X$jy!}$jy~P!'WOT2cOz2aO!S2dO!b2eO!v4WO#S#QO#z2bO#{2fO#|2gO#}2hO$O2iO$Q2kO$R2lO$S2mO$T2nO$U2oO$V2pO$W2pO$z#dO!m$j!R#u$j!R#w$j!R&s$j!R!x$j!R!n$j!R!q$j!R#X$j!R!}$j!R~P!'WOT2cOz2aO!S2dO!b2eO!v4WO#S#QO#z2bO#{2fO#|2gO#}2hO$O2iO$Q2kO$R2lO$S2mO$T2nO$U2oO$V2pO$W2pO$z#dO!m$j!Z#u$j!Z#w$j!Z&s$j!Z!x$j!Z!n$j!Z!q$j!Z#X$j!Z!}$j!Z~P!'WOT2cOz2aO!S2dO!b2eO!v4WO#S#QO#z2bO#{2fO#|2gO#}2hO$O2iO$Q2kO$R2lO$S2mO$T2nO$U2oO$V2pO$W2pO$z#dO!m$j!c#u$j!c#w$j!c&s$j!c!x$j!c!n$j!c!q$j!c#X$j!c!}$j!c~P!'WOP6]OU^O[4POo8^Os#hOx3{Oy3{O}`O!O]O!Q4aO!T4VO!U3}O!V3}O!Y4cO!c3yO!s#gO!y[O#S3vO#W_O#bhO#daO#ebO#peO$T4TO$]4RO$^4TO$aqO$z4bO${!OO~P$;lOP6]OU^O[4POo8^Os#hOx3{Oy3{O}`O!O]O!Q4aO!T4VO!U3}O!V3}O!Y4cO!c3yO!s#gO!y[O#W_O#bhO#daO#ebO#peO$T4TO$]4RO$^4TO$aqO$z4bO${!OO~P$;lO#u2uO#w2vO!q&zX#X&zX!}&zX~P0rOP6]OU^O[4POo8^Or2wOs#hOx3{Oy3{O}`O!O]O!Q4aO!T4VO!U3}O!V3}O!Y4cO!c3yO!s#gO!y[O#S2tO#U2sO#W_O#bhO#daO#ebO#peO$T4TO$]4RO$^4TO$aqO$z4bO${!OOT#xXz#xX!S#xX!b#xX!m#xX!o#xX!v#xX#`#xX#a#xX#s#xX#u#xX#w#xX#z#xX#{#xX#|#xX#}#xX$O#xX$Q#xX$R#xX$S#xX$U#xX$V#xX$W#xX&s#xX!x#xX!n#xX!q#xX#X#xX!}#xX~P$;lOP6]OU^O[4POo8^Or4xOs#hOx3{Oy3{O}`O!O]O!Q4aO!T4VO!U3}O!V3}O!Y4cO!c3yO!s#gO!y[O#S4uO#U4tO#W_O#bhO#daO#ebO#peO$T4TO$]4RO$^4TO$aqO$z4bO${!OOT#xXz#xX!S#xX!b#xX!o#xX!v#xX!}#xX#O#xX#X#xX#`#xX#a#xX#s#xX#u#xX#w#xX#z#xX#{#xX#|#xX#}#xX$O#xX$Q#xX$R#xX$S#xX$U#xX$V#xX$W#xX!m#xX&s#xX!x#xX!n#xXV#xX!q#xX~P$;lO!q3PO~P>UO!q5}O#O3gO~OT8vOz8tO!S8wO!b8xO!q3hO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO~P!'WO!q6OO#O3kO~O!q6PO#O3oO~O#O3oO#l'SO~O#O3pO#l'SO~O#O3sO#l'SO~OP6]OU^O[4POo8^Os#hOx3{Oy3{O}`O!O]O!Q4aO!T4VO!U3}O!V3}O!Y4cO!c3yO!s#gO!y[O#W_O#bhO#daO#ebO#peO$T4TO$]4RO$^4TO$aqO$l$tO$z4bO${!OO~P$;lOP6]OU^O[4POo8^Os#hOx3{Oy3{O}`O!O]O!Q4aO!T4VO!U3}O!V3}O!Y4cO!c3yO!s#gO!y[O#S5eO#W_O#bhO#daO#ebO#peO$T4TO$]4RO$^4TO$aqO$z4bO${!OO~P$;lOT4fOz4dO!S4gO!b4hO!v6TO#S#QO#z4eO#{4iO#|4jO#}4kO$O4lO$Q4nO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dO!}$Xa#O$Xa#X$Xa#u$Xa#w$Xa!m$Xa&s$Xa!x$Xa!n$XaV$Xa!q$Xa~P!'WOT4fOz4dO!S4gO!b4hO!v6TO#S#QO#z4eO#{4iO#|4jO#}4kO$O4lO$Q4nO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dO!}$Ya#O$Ya#X$Ya#u$Ya#w$Ya!m$Ya&s$Ya!x$Ya!n$YaV$Ya!q$Ya~P!'WOT4fOz4dO!S4gO!b4hO!v6TO#S#QO#z4eO#{4iO#|4jO#}4kO$O4lO$Q4nO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dO!}$Za#O$Za#X$Za#u$Za#w$Za!m$Za&s$Za!x$Za!n$ZaV$Za!q$Za~P!'WOT4fOz4dO!S4gO!b4hO!v6TO#S#QO#z4eO#{4iO#|4jO#}4kO$O4lO$Q4nO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dO!}$[a#O$[a#X$[a#u$[a#w$[a!m$[a&s$[a!x$[a!n$[aV$[a!q$[a~P!'WOz4dO!}$[a#O$[a#X$[a#u$[a#w$[aV$[a!q$[a~PNyOT4fOz4dO!S4gO!b4hO!v6TO#S#QO#z4eO#{4iO#|4jO#}4kO$O4lO$Q4nO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dO!}$_a#O$_a#X$_a#u$_a#w$_a!m$_a&s$_a!x$_a!n$_aV$_a!q$_a~P!'WOT4fOz4dO!S4gO!b4hO!v6TO#S#QO#z4eO#{4iO#|4jO#}4kO$O4lO$Q4nO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dO!}$|a#O$|a#X$|a#u$|a#w$|a!m$|a&s$|a!x$|a!n$|aV$|a!q$|a~P!'WOz4dO#S#QO#z4eO#{4iO#|4jO#}4kO$O4lO$Q4nO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#X#yi#u#yi#w#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz4dO!v6TO#S#QO#z4eO#{4iO#|4jO#}4kO$O4lO$Q4nO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dOT#yi!S#yi!b#yi!}#yi#O#yi#X#yi#u#yi#w#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOT4fOz4dO!b4hO!v6TO#S#QO#z4eO#{4iO#|4jO#}4kO$O4lO$Q4nO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dO!S#yi!}#yi#O#yi#X#yi#u#yi#w#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOT4fOz4dO!v6TO#S#QO#z4eO#{4iO#|4jO#}4kO$O4lO$Q4nO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dO!S#yi!b#yi!}#yi#O#yi#X#yi#u#yi#w#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz4dO#S#QO#|4jO#}4kO$O4lO$Q4nO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#X#yi#u#yi#w#yi#z#yi#{#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz4dO#S#QO#}4kO$O4lO$Q4nO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#X#yi#u#yi#w#yi#z#yi#{#yi#|#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz4dO#S#QO$O4lO$Q4nO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#X#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz4dO#S#QO$Q4nO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#X#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz4dO$Q4nO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz4dO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz4dO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz4dO$T4qO$V4sO$W4sO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$U#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz4dO$V4sO$W4sO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz4dO$S4pO$T4qO$V4sO$W4sO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$U#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz4dO$W4sO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi$V#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOT4fOz4dO!S4gO!b4hO!v6TO#S#QO#z4eO#{4iO#|4jO#}4kO$O4lO$Q4nO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dO!}#Ta#O#Ta#X#Ta#u#Ta#w#Ta!m#Ta&s#Ta!x#Ta!n#TaV#Ta!q#Ta~P!'WOT4fOz4dO!S4gO!b4hO!v6TO#S#QO#z4eO#{4iO#|4jO#}4kO$O4lO$Q4nO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dO!}'Pa#O'Pa#X'Pa#u'Pa#w'Pa!m'Pa&s'Pa!x'Pa!n'PaV'Pa!q'Pa~P!'WOz4dO!v6TO#S#QO#z4eO#{4iO#|4jO#}4kO$O4lO$Q4nO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dOT#Pi!S#Pi!b#Pi!}#Pi#O#Pi#X#Pi#u#Pi#w#Pi!m#Pi&s#Pi!x#Pi!n#PiV#Pi!q#Pi~P!'WOz4dO!v6TO#S#QO#z4eO#{4iO#|4jO#}4kO$O4lO$Q4nO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dOT#vi!S#vi!b#vi!}#vi#O#vi#X#vi#u#vi#w#vi!m#vi&s#vi!x#vi!n#viV#vi!q#vi~P!'WOT4fOz4dO!S4gO!b4hO!v6TO#S#QO#z4eO#{4iO#|4jO#}4kO$O4lO$Q4nO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dO!}#xi#O#xi#X#xi#u#xi#w#xi!m#xi&s#xi!x#xi!n#xiV#xi!q#xi~P!'WOz4dO#S#QO#z4eO#{4iO#|4jO#}4kO$O4lO$Q4nO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dOT!uq!S!uq!b!uq!v!uq!}!uq#O!uq#X!uq#u!uq#w!uq!m!uq&s!uq!x!uq!n!uqV!uq!q!uq~P!'WOz4dO!v6TO#S#QO#z4eO#{4iO#|4jO#}4kO$O4lO$Q4nO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dOT#Pq!S#Pq!b#Pq!}#Pq#O#Pq#X#Pq#u#Pq#w#Pq!m#Pq&s#Pq!x#Pq!n#PqV#Pq!q#Pq~P!'WOT4fOz4dO!S4gO!b4hO!v6TO#S#QO#z4eO#{4iO#|4jO#}4kO$O4lO$Q4nO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dO!}$jq#O$jq#X$jq#u$jq#w$jq!m$jq&s$jq!x$jq!n$jqV$jq!q$jq~P!'WOz4dO#S#QO#z4eO#{4iO#|4jO#}4kO$O4lO$Q4nO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dOT!uy!S!uy!b!uy!v!uy!}!uy#O!uy#X!uy#u!uy#w!uy!m!uy&s!uy!x!uy!n!uyV!uy!q!uy~P!'WOT4fOz4dO!S4gO!b4hO!v6TO#S#QO#z4eO#{4iO#|4jO#}4kO$O4lO$Q4nO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dO!}$jy#O$jy#X$jy#u$jy#w$jy!m$jy&s$jy!x$jy!n$jyV$jy!q$jy~P!'WOT4fOz4dO!S4gO!b4hO!v6TO#S#QO#z4eO#{4iO#|4jO#}4kO$O4lO$Q4nO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dO!}$j!R#O$j!R#X$j!R#u$j!R#w$j!R!m$j!R&s$j!R!x$j!R!n$j!RV$j!R!q$j!R~P!'WOT4fOz4dO!S4gO!b4hO!v6TO#S#QO#z4eO#{4iO#|4jO#}4kO$O4lO$Q4nO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dO!}$j!Z#O$j!Z#X$j!Z#u$j!Z#w$j!Z!m$j!Z&s$j!Z!x$j!Z!n$j!ZV$j!Z!q$j!Z~P!'WOT4fOz4dO!S4gO!b4hO!v6TO#S#QO#z4eO#{4iO#|4jO#}4kO$O4lO$Q4nO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dO!}$j!c#O$j!c#X$j!c#u$j!c#w$j!c!m$j!c&s$j!c!x$j!c!n$j!cV$j!c!q$j!c~P!'WO#S5wO~P#.YO!y$hO#S5{O~O!x4ZO#l'SO~O!y$hO#S5|O~OT4fOz4dO!S4gO!b4hO!v6TO#S#QO#z4eO#{4iO#|4jO#}4kO$O4lO$Q4nO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dO!}$ka#O$ka#X$ka#u$ka#w$ka!m$ka&s$ka!x$ka!n$kaV$ka!q$ka~P!'WOT4fOz4dO!S4gO!b4hO!v6TO#O5vO#S#QO#z4eO#{4iO#|4jO#}4kO$O4lO$Q4nO$R4oO$S4pO$T4qO$U4rO$V4sO$W4sO$z#dO!m'PX#u'PX#w'PX&s'PX!x'PX!n'PX!q'PX#X'PX!}'PX~P!'WO#u4vO#w4wO!}&zX#O&zX#X&zXV&zX!q&zX~P0rO!q5QO~P>UO!q8bO#O5hO~OT8vOz8tO!S8wO!b8xO!q5iO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO~P!'WO!q8cO#O5lO~O!q8dO#O5pO~O#O5pO#l'SO~O#O5qO#l'SO~O#O5tO#l'SO~O$l$tO~P9yOo5zOs$lO~O#S7oO~P9yOT6iOz6gO!S6jO!b6kO!v8sO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO!}$Xa#O$Xa#X$Xa!m$Xa&s$Xa!x$Xa!n$XaV$Xa!q$Xa~P!'WOT6iOz6gO!S6jO!b6kO!v8sO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO!}$Ya#O$Ya#X$Ya!m$Ya&s$Ya!x$Ya!n$YaV$Ya!q$Ya~P!'WOT6iOz6gO!S6jO!b6kO!v8sO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO!}$Za#O$Za#X$Za!m$Za&s$Za!x$Za!n$ZaV$Za!q$Za~P!'WOT6iOz6gO!S6jO!b6kO!v8sO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO!}$[a#O$[a#X$[a!m$[a&s$[a!x$[a!n$[aV$[a!q$[a~P!'WOz6gO!}$[a#O$[a#X$[aV$[a!q$[a~PNyOT6iOz6gO!S6jO!b6kO!v8sO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO!}$_a#O$_a#X$_a!m$_a&s$_a!x$_a!n$_aV$_a!q$_a~P!'WOT6iOz6gO!S6jO!b6kO!v8sO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO!}$ka#O$ka#X$ka!m$ka&s$ka!x$ka!n$kaV$ka!q$ka~P!'WOT6iOz6gO!S6jO!b6kO!v8sO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO!}$|a#O$|a#X$|a!m$|a&s$|a!x$|a!n$|aV$|a!q$|a~P!'WOT8vOz8tO!S8wO!b8xO!v=ZO!}7sO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!x'jX~P!'WOT8vOz8tO!S8wO!b8xO!v=ZO!}7uO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!x&|X~P!'WOz6gO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#X#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz6gO!v8sO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dOT#yi!S#yi!b#yi!}#yi#O#yi#X#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOT6iOz6gO!b6kO!v8sO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO!S#yi!}#yi#O#yi#X#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOT6iOz6gO!v8sO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO!S#yi!b#yi!}#yi#O#yi#X#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz6gO#S#QO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#X#yi#z#yi#{#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz6gO#S#QO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#X#yi#z#yi#{#yi#|#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz6gO#S#QO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#X#yi#z#yi#{#yi#|#yi#}#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz6gO#S#QO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#X#yi#z#yi#{#yi#|#yi#}#yi$O#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz6gO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#z#yi#{#yi#|#yi#}#yi$O#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz6gO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz6gO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz6gO$T6tO$V6vO$W6vO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$U#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz6gO$V6vO$W6vO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz6gO$S6sO$T6tO$V6vO$W6vO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$U#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz6gO$W6vO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi$V#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WO#S7zO~P>UO!m#Ta&s#Ta!x#Ta!n#Ta~PCqO!m'Pa&s'Pa!x'Pa!n'Pa~PCqO#S;dO#U;cO!x&WX!}&WX~P9yO!}7lO!x'Oa~Oz6gO!v8sO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dOT#Pi!S#Pi!b#Pi!}#Pi#O#Pi#X#Pi!m#Pi&s#Pi!x#Pi!n#PiV#Pi!q#Pi~P!'WOz6gO!v8sO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dOT#vi!S#vi!b#vi!}#vi#O#vi#X#vi!m#vi&s#vi!x#vi!n#viV#vi!q#vi~P!'WOT6iOz6gO!S6jO!b6kO!v8sO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO!}#xi#O#xi#X#xi!m#xi&s#xi!x#xi!n#xiV#xi!q#xi~P!'WO!}7sO!x%da~O!x&UX!}&UX~P>UO!}7uO!x&|a~Oz6gO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dOT!uq!S!uq!b!uq!v!uq!}!uq#O!uq#X!uq!m!uq&s!uq!x!uq!n!uqV!uq!q!uq~P!'WOT8vOz8tO!S8wO!b8xO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!x#Vi!}#Vi~P!'WOz6gO!v8sO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dOT#Pq!S#Pq!b#Pq!}#Pq#O#Pq#X#Pq!m#Pq&s#Pq!x#Pq!n#PqV#Pq!q#Pq~P!'WOT6iOz6gO!S6jO!b6kO!v8sO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO!}$jq#O$jq#X$jq!m$jq&s$jq!x$jq!n$jqV$jq!q$jq~P!'WOT8vOz8tO!S8wO!b8xO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!x&ka!}&ka~P!'WOT8vOz8tO!S8wO!b8xO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!x&Ua!}&Ua~P!'WOz6gO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dOT!uy!S!uy!b!uy!v!uy!}!uy#O!uy#X!uy!m!uy&s!uy!x!uy!n!uyV!uy!q!uy~P!'WOT8vOz8tO!S8wO!b8xO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!x#Vq!}#Vq~P!'WOT6iOz6gO!S6jO!b6kO!v8sO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO!}$jy#O$jy#X$jy!m$jy&s$jy!x$jy!n$jyV$jy!q$jy~P!'WOT6iOz6gO!S6jO!b6kO!v8sO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO!}$j!R#O$j!R#X$j!R!m$j!R&s$j!R!x$j!R!n$j!RV$j!R!q$j!R~P!'WOT6iOz6gO!S6jO!b6kO!v8sO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO!}$j!Z#O$j!Z#X$j!Z!m$j!Z&s$j!Z!x$j!Z!n$j!ZV$j!Z!q$j!Z~P!'WOT6iOz6gO!S6jO!b6kO!v8sO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO!}$j!c#O$j!c#X$j!c!m$j!c&s$j!c!x$j!c!n$j!cV$j!c!q$j!c~P!'WO#S8[O~P9yO#O8ZO!m'PX&s'PX!x'PX!n'PXV'PX!q'PX~PGSO!y$hO#S8`O~O!y$hO#S8aO~O#u6zO#w6{O!}&zX#O&zX#X&zXV&zX!q&zX~P0rOr6|O#S#oO#U#nO!}#xX#O#xX#X#xXV#xX!q#xX~P2yOr;iO#S9XO#U9VOT#xXz#xX!S#xX!b#xX!m#xX!o#xX!q#xX!v#xX#`#xX#a#xX#s#xX#z#xX#{#xX#|#xX#}#xX$O#xX$Q#xX$R#xX$S#xX$U#xX$V#xX$W#xX!n#xX!}#xX~P9yOr9WO#S9WO#U9WOT#xXz#xX!S#xX!b#xX!o#xX!v#xX#`#xX#a#xX#s#xX#z#xX#{#xX#|#xX#}#xX$O#xX$Q#xX$R#xX$S#xX$U#xX$V#xX$W#xX~P9yOr9]O#S;dO#U;cOT#xXz#xX!S#xX!b#xX!o#xX!q#xX!v#xX#`#xX#a#xX#s#xX#z#xX#{#xX#|#xX#}#xX$O#xX$Q#xX$R#xX$S#xX$U#xX$V#xX$W#xX#X#xX!x#xX!}#xX~P9yO$l$tO~P>UO!q7XO~P>UOT6iOz6gO!S6jO!b6kO!v8sO#O7iO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO!x'PX!}'PX~P!'WOP6]OU^O[9WOo>SOs#hOx9WOy9WO}`O!O]O!Q:lO!T9WO!U9WO!V9WO!Y9WO!c8hO!s#gO!y[O#W_O#bhO#daO#ebO#peO$T:iO$]9WO$^:iO$aqO$z:nO${!OO~P$;lO!}7lO!x'OX~O#S9yO~P>UOT8vOz8tO!S8wO!b8xO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!q$Xa#X$Xa!x$Xa!}$Xa~P!'WOT8vOz8tO!S8wO!b8xO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!q$Ya#X$Ya!x$Ya!}$Ya~P!'WOT8vOz8tO!S8wO!b8xO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!q$Za#X$Za!x$Za!}$Za~P!'WOT8vOz8tO!S8wO!b8xO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!q$[a#X$[a!x$[a!}$[a~P!'WOz8tO$z#dOT$[a!S$[a!b$[a!q$[a!v$[a#S$[a#z$[a#{$[a#|$[a#}$[a$O$[a$Q$[a$R$[a$S$[a$T$[a$U$[a$V$[a$W$[a#X$[a!x$[a!}$[a~P!'WOT8vOz8tO!S8wO!b8xO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!q$_a#X$_a!x$_a!}$_a~P!'WO!q=dO#O7rO~OT8vOz8tO!S8wO!b8xO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!q$ka#X$ka!x$ka!}$ka~P!'WOT8vOz8tO!S8wO!b8xO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!q$|a#X$|a!x$|a!}$|a~P!'WOT8vOz8tO!S8wO!b8xO!q7wO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO~P!'WOz8tO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dOT#yi!S#yi!b#yi!q#yi!v#yi#X#yi!x#yi!}#yi~P!'WOz8tO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dOT#yi!S#yi!b#yi!q#yi#X#yi!x#yi!}#yi~P!'WOT8vOz8tO!b8xO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!S#yi!q#yi#X#yi!x#yi!}#yi~P!'WOT8vOz8tO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!S#yi!b#yi!q#yi#X#yi!x#yi!}#yi~P!'WOz8tO#S#QO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dOT#yi!S#yi!b#yi!q#yi!v#yi#z#yi#{#yi#X#yi!x#yi!}#yi~P!'WOz8tO#S#QO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dOT#yi!S#yi!b#yi!q#yi!v#yi#z#yi#{#yi#|#yi#X#yi!x#yi!}#yi~P!'WOz8tO#S#QO$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dOT#yi!S#yi!b#yi!q#yi!v#yi#z#yi#{#yi#|#yi#}#yi#X#yi!x#yi!}#yi~P!'WOz8tO#S#QO$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dOT#yi!S#yi!b#yi!q#yi!v#yi#z#yi#{#yi#|#yi#}#yi$O#yi#X#yi!x#yi!}#yi~P!'WOz8tO$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dOT#yi!S#yi!b#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi#X#yi!x#yi!}#yi~P!'WOz8tO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dOT#yi!S#yi!b#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi#X#yi!x#yi!}#yi~P!'WOz8tO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dOT#yi!S#yi!b#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi#X#yi!x#yi!}#yi~P!'WOz8tO$T9RO$V9TO$W9TO$z#dOT#yi!S#yi!b#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$U#yi#X#yi!x#yi!}#yi~P!'WOz8tO$V9TO$W9TO$z#dOT#yi!S#yi!b#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi#X#yi!x#yi!}#yi~P!'WOz8tO$S9QO$T9RO$V9TO$W9TO$z#dOT#yi!S#yi!b#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$U#yi#X#yi!x#yi!}#yi~P!'WOz8tO$W9TO$z#dOT#yi!S#yi!b#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi$V#yi#X#yi!x#yi!}#yi~P!'WOz8tO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dOT#Pi!S#Pi!b#Pi!q#Pi#X#Pi!x#Pi!}#Pi~P!'WOz8tO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dOT#vi!S#vi!b#vi!q#vi#X#vi!x#vi!}#vi~P!'WOT8vOz8tO!S8wO!b8xO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!q#xi#X#xi!x#xi!}#xi~P!'WO!q=eO#O7|O~Oz8tO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dOT!uq!S!uq!b!uq!q!uq!v!uq#X!uq!x!uq!}!uq~P!'WOz8tO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dOT#Pq!S#Pq!b#Pq!q#Pq#X#Pq!x#Pq!}#Pq~P!'WO!q=iO#O8TO~OT8vOz8tO!S8wO!b8xO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!q$jq#X$jq!x$jq!}$jq~P!'WO#O8TO#l'SO~Oz8tO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dOT!uy!S!uy!b!uy!q!uy!v!uy#X!uy!x!uy!}!uy~P!'WOT8vOz8tO!S8wO!b8xO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!q$jy#X$jy!x$jy!}$jy~P!'WO#O8UO#l'SO~OT8vOz8tO!S8wO!b8xO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!q$j!R#X$j!R!x$j!R!}$j!R~P!'WO#O8XO#l'SO~OT8vOz8tO!S8wO!b8xO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!q$j!Z#X$j!Z!x$j!Z!}$j!Z~P!'WOT8vOz8tO!S8wO!b8xO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!q$j!c#X$j!c!x$j!c!}$j!c~P!'WO#S:bO~P>UO#O:aO!q'PX!x'PX~PGSO$l$tO~P$8YOP6]OU^O[9WOo>SOs#hOx9WOy9WO}`O!O]O!Q:lO!T9WO!U9WO!V9WO!Y9WO!c8hO!s#gO!y[O#W_O#bhO#daO#ebO#peO$T:iO$]9WO$^:iO$aqO$l$tO$z:nO${!OO~P$;lOo8_Os$lO~O#S<jO~P$8YOP6]OU^O[9WOo>SOs#hOx9WOy9WO}`O!O]O!Q:lO!T9WO!U9WO!V9WO!Y9WO!c8hO!s#gO!y[O#S<kO#W_O#bhO#daO#ebO#peO$T:iO$]9WO$^:iO$aqO$z:nO${!OO~P$;lOT:tOz:pO!S:vO!b:xO!v=mO#S#QO#z:rO#{:zO#|:|O#};OO$O;QO$Q;UO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dO!m$Xa!q$Xa!n$Xa!}$Xa~P!'WOT:tOz:pO!S:vO!b:xO!v=mO#S#QO#z:rO#{:zO#|:|O#};OO$O;QO$Q;UO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dO!m$Ya!q$Ya!n$Ya!}$Ya~P!'WOT:tOz:pO!S:vO!b:xO!v=mO#S#QO#z:rO#{:zO#|:|O#};OO$O;QO$Q;UO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dO!m$Za!q$Za!n$Za!}$Za~P!'WOT:tOz:pO!S:vO!b:xO!v=mO#S#QO#z:rO#{:zO#|:|O#};OO$O;QO$Q;UO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dO!m$[a!q$[a!n$[a!}$[a~P!'WOz:pO$z#dOT$[a!S$[a!b$[a!m$[a!q$[a!v$[a#S$[a#z$[a#{$[a#|$[a#}$[a$O$[a$Q$[a$R$[a$S$[a$T$[a$U$[a$V$[a$W$[a!n$[a!}$[a~P!'WOz:qO$z#dOT$[a!S$[a!b$[a!v$[a#S$[a#z$[a#{$[a#|$[a#}$[a$O$[a$Q$[a$R$[a$S$[a$T$[a$U$[a$V$[a$W$[a~P!'WOT:tOz:pO!S:vO!b:xO!v=mO#S#QO#z:rO#{:zO#|:|O#};OO$O;QO$Q;UO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dO!m$_a!q$_a!n$_a!}$_a~P!'WOT:tOz:pO!S:vO!b:xO!v=mO#S#QO#z:rO#{:zO#|:|O#};OO$O;QO$Q;UO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dO!m$ka!q$ka!n$ka!}$ka~P!'WOT:tOz:pO!S:vO!b:xO!v=mO#S#QO#z:rO#{:zO#|:|O#};OO$O;QO$Q;UO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dO!m$|a!q$|a!n$|a!}$|a~P!'WOz:pO#S#QO#z:rO#{:zO#|:|O#};OO$O;QO$Q;UO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dOT#yi!S#yi!b#yi!m#yi!q#yi!v#yi!n#yi!}#yi~P!'WOz:qO#S#QO#z:sO#{:{O#|:}O#};PO$O;RO$Q;VO$R;XO$S;ZO$T;]O$U;_O$V;aO$W;aO$z#dOT#yi!S#yi!b#yi!v#yi~P!'WOz:pO!v=mO#S#QO#z:rO#{:zO#|:|O#};OO$O;QO$Q;UO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dOT#yi!S#yi!b#yi!m#yi!q#yi!n#yi!}#yi~P!'WOz:qO!v=nO#S#QO#z:sO#{:{O#|:}O#};PO$O;RO$Q;VO$R;XO$S;ZO$T;]O$U;_O$V;aO$W;aO$z#dOT#yi!S#yi!b#yi~P!'WOT:tOz:pO!b:xO!v=mO#S#QO#z:rO#{:zO#|:|O#};OO$O;QO$Q;UO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dO!S#yi!m#yi!q#yi!n#yi!}#yi~P!'WOT:uOz:qO!b:yO!v=nO#S#QO#z:sO#{:{O#|:}O#};PO$O;RO$Q;VO$R;XO$S;ZO$T;]O$U;_O$V;aO$W;aO$z#dO!S#yi~P!'WOT:tOz:pO!v=mO#S#QO#z:rO#{:zO#|:|O#};OO$O;QO$Q;UO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dO!S#yi!b#yi!m#yi!q#yi!n#yi!}#yi~P!'WOT:uOz:qO!v=nO#S#QO#z:sO#{:{O#|:}O#};PO$O;RO$Q;VO$R;XO$S;ZO$T;]O$U;_O$V;aO$W;aO$z#dO!S#yi!b#yi~P!'WOz:pO#S#QO#|:|O#};OO$O;QO$Q;UO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dOT#yi!S#yi!b#yi!m#yi!q#yi!v#yi#z#yi#{#yi!n#yi!}#yi~P!'WOz:qO#S#QO#|:}O#};PO$O;RO$Q;VO$R;XO$S;ZO$T;]O$U;_O$V;aO$W;aO$z#dOT#yi!S#yi!b#yi!v#yi#z#yi#{#yi~P!'WOz:pO#S#QO#};OO$O;QO$Q;UO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dOT#yi!S#yi!b#yi!m#yi!q#yi!v#yi#z#yi#{#yi#|#yi!n#yi!}#yi~P!'WOz:qO#S#QO#};PO$O;RO$Q;VO$R;XO$S;ZO$T;]O$U;_O$V;aO$W;aO$z#dOT#yi!S#yi!b#yi!v#yi#z#yi#{#yi#|#yi~P!'WOz:pO#S#QO$O;QO$Q;UO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dOT#yi!S#yi!b#yi!m#yi!q#yi!v#yi#z#yi#{#yi#|#yi#}#yi!n#yi!}#yi~P!'WOz:qO#S#QO$O;RO$Q;VO$R;XO$S;ZO$T;]O$U;_O$V;aO$W;aO$z#dOT#yi!S#yi!b#yi!v#yi#z#yi#{#yi#|#yi#}#yi~P!'WOz:pO#S#QO$Q;UO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dOT#yi!S#yi!b#yi!m#yi!q#yi!v#yi#z#yi#{#yi#|#yi#}#yi$O#yi!n#yi!}#yi~P!'WOz:qO#S#QO$Q;VO$R;XO$S;ZO$T;]O$U;_O$V;aO$W;aO$z#dOT#yi!S#yi!b#yi!v#yi#z#yi#{#yi#|#yi#}#yi$O#yi~P!'WOz:pO$Q;UO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dOT#yi!S#yi!b#yi!m#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi!n#yi!}#yi~P!'WOz:qO$Q;VO$R;XO$S;ZO$T;]O$U;_O$V;aO$W;aO$z#dOT#yi!S#yi!b#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi~P!'WOz:pO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dOT#yi!S#yi!b#yi!m#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi!n#yi!}#yi~P!'WOz:qO$R;XO$S;ZO$T;]O$U;_O$V;aO$W;aO$z#dOT#yi!S#yi!b#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi~P!'WOz:pO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dOT#yi!S#yi!b#yi!m#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi!n#yi!}#yi~P!'WOz:qO$S;ZO$T;]O$U;_O$V;aO$W;aO$z#dOT#yi!S#yi!b#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi~P!'WOz:pO$T;[O$V;`O$W;`O$z#dOT#yi!S#yi!b#yi!m#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$U#yi!n#yi!}#yi~P!'WOz:qO$T;]O$V;aO$W;aO$z#dOT#yi!S#yi!b#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$U#yi~P!'WOz:pO$V;`O$W;`O$z#dOT#yi!S#yi!b#yi!m#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi!n#yi!}#yi~P!'WOz:qO$V;aO$W;aO$z#dOT#yi!S#yi!b#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi~P!'WOz:pO$S;YO$T;[O$V;`O$W;`O$z#dOT#yi!S#yi!b#yi!m#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$U#yi!n#yi!}#yi~P!'WOz:qO$S;ZO$T;]O$V;aO$W;aO$z#dOT#yi!S#yi!b#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$U#yi~P!'WOz:pO$W;`O$z#dOT#yi!S#yi!b#yi!m#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi$V#yi!n#yi!}#yi~P!'WOz:qO$W;aO$z#dOT#yi!S#yi!b#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi$V#yi~P!'WOT8vOz8tO!S8wO!b8xO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!x#Ta!}#Ta!q#Ta#X#Ta~P!'WOT8vOz8tO!S8wO!b8xO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO!x'Pa!}'Pa!q'Pa#X'Pa~P!'WOz:pO!v=mO#S#QO#z:rO#{:zO#|:|O#};OO$O;QO$Q;UO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dOT#Pi!S#Pi!b#Pi!m#Pi!q#Pi!n#Pi!}#Pi~P!'WOz:qO!v=nO#S#QO#z:sO#{:{O#|:}O#};PO$O;RO$Q;VO$R;XO$S;ZO$T;]O$U;_O$V;aO$W;aO$z#dOT#Pi!S#Pi!b#Pi~P!'WOz:pO!v=mO#S#QO#z:rO#{:zO#|:|O#};OO$O;QO$Q;UO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dOT#vi!S#vi!b#vi!m#vi!q#vi!n#vi!}#vi~P!'WOz:qO!v=nO#S#QO#z:sO#{:{O#|:}O#};PO$O;RO$Q;VO$R;XO$S;ZO$T;]O$U;_O$V;aO$W;aO$z#dOT#vi!S#vi!b#vi~P!'WOT:tOz:pO!S:vO!b:xO!v=mO#S#QO#z:rO#{:zO#|:|O#};OO$O;QO$Q;UO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dO!m#xi!q#xi!n#xi!}#xi~P!'WOz:pO#S#QO#z:rO#{:zO#|:|O#};OO$O;QO$Q;UO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dOT!uq!S!uq!b!uq!m!uq!q!uq!v!uq!n!uq!}!uq~P!'WOz:qO#S#QO#z:sO#{:{O#|:}O#};PO$O;RO$Q;VO$R;XO$S;ZO$T;]O$U;_O$V;aO$W;aO$z#dOT!uq!S!uq!b!uq!v!uq~P!'WOz:pO!v=mO#S#QO#z:rO#{:zO#|:|O#};OO$O;QO$Q;UO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dOT#Pq!S#Pq!b#Pq!m#Pq!q#Pq!n#Pq!}#Pq~P!'WOz:qO!v=nO#S#QO#z:sO#{:{O#|:}O#};PO$O;RO$Q;VO$R;XO$S;ZO$T;]O$U;_O$V;aO$W;aO$z#dOT#Pq!S#Pq!b#Pq~P!'WOT:tOz:pO!S:vO!b:xO!v=mO#S#QO#z:rO#{:zO#|:|O#};OO$O;QO$Q;UO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dO!m$jq!q$jq!n$jq!}$jq~P!'WOz:pO#S#QO#z:rO#{:zO#|:|O#};OO$O;QO$Q;UO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dOT!uy!S!uy!b!uy!m!uy!q!uy!v!uy!n!uy!}!uy~P!'WOz:qO#S#QO#z:sO#{:{O#|:}O#};PO$O;RO$Q;VO$R;XO$S;ZO$T;]O$U;_O$V;aO$W;aO$z#dOT!uy!S!uy!b!uy!v!uy~P!'WOT:tOz:pO!S:vO!b:xO!v=mO#S#QO#z:rO#{:zO#|:|O#};OO$O;QO$Q;UO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dO!m$jy!q$jy!n$jy!}$jy~P!'WOT:tOz:pO!S:vO!b:xO!v=mO#S#QO#z:rO#{:zO#|:|O#};OO$O;QO$Q;UO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dO!m$j!R!q$j!R!n$j!R!}$j!R~P!'WOT:tOz:pO!S:vO!b:xO!v=mO#S#QO#z:rO#{:zO#|:|O#};OO$O;QO$Q;UO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dO!m$j!Z!q$j!Z!n$j!Z!}$j!Z~P!'WOT:tOz:pO!S:vO!b:xO!v=mO#S#QO#z:rO#{:zO#|:|O#};OO$O;QO$Q;UO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dO!m$j!c!q$j!c!n$j!c!}$j!c~P!'WO#S=TO~P$8YOP6]OU^O[9WOo>SOs#hOx9WOy9WO}`O!O]O!Q:lO!T9WO!U9WO!V9WO!Y9WO!c8hO!s#gO!y[O#S=UO#W_O#bhO#daO#ebO#peO$T:iO$]9WO$^:iO$aqO$z:nO${!OO~P$;lOT6iOz6gO!S6jO!b6kO!v8sO#O=SO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO~P!'WOT6iOz6gO!S6jO!b6kO!v8sO#O=RO#S#QO#z6hO#{6lO#|6mO#}6nO$O6oO$Q6qO$R6rO$S6sO$T6tO$U6uO$V6vO$W6vO$z#dO!m'PX!q'PX!n'PX!}'PX~P!'WOT&zXz&zX!S&zX!b&zX!o&zX!q&zX!v&zX!y&zX#S&zX#W&zX#`&zX#a&zX#s&zX#z&zX#{&zX#|&zX#}&zX$O&zX$Q&zX$R&zX$S&zX$T&zX$U&zX$V&zX$W&zX$z&zX!}&zX~O#u9ZO#w9[O#X&zX!x&zX~P.8oO!y$hO#S=^O~O!q9hO~P>UO!y$hO#S=cO~O!q>OO#O9}O~OT8vOz8tO!S8wO!b8xO!q:OO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO~P!'WOT:tOz:pO!S:vO!b:xO!v=mO#S#QO#z:rO#{:zO#|:|O#};OO$O;QO$Q;UO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dO!m#Ta!q#Ta!n#Ta!}#Ta~P!'WOT:tOz:pO!S:vO!b:xO!v=mO#S#QO#z:rO#{:zO#|:|O#};OO$O;QO$Q;UO$R;WO$S;YO$T;[O$U;^O$V;`O$W;`O$z#dO!m'Pa!q'Pa!n'Pa!}'Pa~P!'WO!q>PO#O:RO~O!q>QO#O:YO~O#O:YO#l'SO~O#O:ZO#l'SO~O#O:_O#l'SO~O#u;eO#w;gO!m&zX!n&zX~P.8oO#u;fO#w;hOT&zXz&zX!S&zX!b&zX!o&zX!v&zX!y&zX#S&zX#W&zX#`&zX#a&zX#s&zX#z&zX#{&zX#|&zX#}&zX$O&zX$Q&zX$R&zX$S&zX$T&zX$U&zX$V&zX$W&zX$z&zX~O!q;tO~P>UO!q;uO~P>UO!q>XO#O<oO~O!q>YO#O9WO~OT8vOz8tO!S8wO!b8xO!q<pO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO~P!'WOT8vOz8tO!S8wO!b8xO!q<qO!v=ZO#S#QO#z8uO#{8yO#|8zO#}8{O$O8|O$Q9OO$R9PO$S9QO$T9RO$U9SO$V9TO$W9TO$z#dO~P!'WO!q>ZO#O<vO~O!q>[O#O<{O~O#O<{O#l'SO~O#O9WO#l'SO~O#O<|O#l'SO~O#O=PO#l'SO~O!y$hO#S=|O~Oo=[Os$lO~O!y$hO#S=}O~O!y$hO#S>UO~O!y$hO#S>VO~O!y$hO#S>WO~Oo={Os$lO~Oo>TOs$lO~Oo>SOs$lO~O%O$U$}$d!d$V#b%V#e'g!s#d~",goto:"%&y'mPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP'nP'uPP'{(OPPP(hP(OP(O*ZP*ZPP2W:j:mPP*Z:sBpPBsPBsPP:sCSCVCZ:s:sPPPC^PP:sK^!$S!$S:s!$WP!$W!$W!%UP!.]!7pP!?oP*ZP*Z*ZPPPPP!?rPPPPPPP*Z*Z*Z*ZPP*Z*ZP!E]!GRP!GV!Gy!GR!GR!HP*Z*ZP!HY!Hl!Ib!J`!Jd!J`!Jo!J}!J}!KV!KY!KY*ZPP*ZPP!K^#%[#%[#%`P#%fP(O#%j(O#&S#&V#&V#&](O#&`(O(O#&f#&i(O#&r#&u(O(O(O(O(O#&x(O(O(O(O(O(O(O(O(O#&{!KR(O(O#'_#'o#'r(O(OP#'u#'|#(S#(o#(y#)P#)Z#)b#)h#*d#4X#5T#5Z#5a#5k#5q#5w#6]#6c#6i#6o#6u#6{#7R#7]#7g#7m#7s#7}PPPPPPPP#8T#8X#8}#NO#NR#N]$(f$(r$)X$)_$)b$)e$)k$,X$5v$>_$>b$>h$>k$>n$>w$>{$?X$?k$Bk$CO$C{$K{PP%%y%%}%&Z%&p%&vQ!nQT!qV!rQUOR%x!mRVO}!hPVX!S!j!r!s!w$}%P%S%U(`+r+u.b.d.l0`0a0i1a|!hPVX!S!j!r!s!w$}%P%S%U(`+r+u.b.d.l0`0a0i1aQ%^!ZQ%g!aQ%l!eQ'd$dQ'q$iQ)[%kQ*y'tQ,](xU-n*v*x+OQ.W+cQ.{,[S/t-s-tQ0T.SS0}/s/wQ1V0RQ1o1OR2P1p0u!OPVX[_bjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!{!}#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b#k#n#o#s#t$R$S$U$y$}%P%R%S%T%U%c%}&S&W&p&s&t&w'O'U'Y'z(O(`(l({)P)i)p)t)v*P*T*U*o+P+r+u+z,T,V,X-Q-R-d-k-z.b.d.l.t/c/i/m/x0V0`0a0d0e0i0v1R1]1a2[2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2o2p2s2t2u2v2w3P3d3g3h3k3o3p3s3u3v3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4Z4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x5Q5e5h5i5l5p5q5t5v5w6T6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6u6v6x6y6z6{6|7X7i7l7o7r7s7u7w7z7|8T8U8X8Z8[8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9S9T9V9W9X9Z9[9]9h9y9}:O:R:Y:Z:_:a:b:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:};O;P;Q;R;S;T;U;V;W;X;Y;Z;[;];^;_;`;a;c;d;e;f;g;h;i;t;u<j<k<o<p<q<v<{<|=P=R=S=T=U=Z=m=n0t!OPVX[_bjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!{!}#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b#k#n#o#s#t$R$S$U$y$}%P%R%S%T%U%c%}&S&W&p&s&t&w'O'U'Y'z(O(`(l({)P)i)p)t)v*P*T*U*o+P+r+u+z,T,V,X-Q-R-d-k-z.b.d.l.t/c/i/m/x0V0`0a0d0e0i0v1R1]1a2[2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2o2p2s2t2u2v2w3P3d3g3h3k3o3p3s3u3v3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4Z4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x5Q5e5h5i5l5p5q5t5v5w6T6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6u6v6x6y6z6{6|7X7i7l7o7r7s7u7w7z7|8T8U8X8Z8[8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9S9T9V9W9X9Z9[9]9h9y9}:O:R:Y:Z:_:a:b:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:};O;P;Q;R;S;T;U;V;W;X;Y;Z;[;];^;_;`;a;c;d;e;f;g;h;i;t;u<j<k<o<p<q<v<{<|=P=R=S=T=U=Z=m=nQ#j]Q$}!PQ%O!QQ%P!RQ,S(kQ.b+sR.f+vR&q#jQ)z&pR/a-R0uhPVX[_bjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!{!}#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b#k#n#o#s#t$R$S$U$y$}%P%R%S%T%U%c%}&S&W&p&s&t&w'O'U'Y'z(O(`(l({)P)i)p)t)v*P*T*U*o+P+r+u+z,T,V,X-Q-R-d-k-z.b.d.l.t/c/i/m/x0V0`0a0d0e0i0v1R1]1a2[2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2o2p2s2t2u2v2w3P3d3g3h3k3o3p3s3u3v3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4Z4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x5Q5e5h5i5l5p5q5t5v5w6T6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6u6v6x6y6z6{6|7X7i7l7o7r7s7u7w7z7|8T8U8X8Z8[8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9S9T9V9W9X9Z9[9]9h9y9}:O:R:Y:Z:_:a:b:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:};O;P;Q;R;S;T;U;V;W;X;Y;Z;[;];^;_;`;a;c;d;e;f;g;h;i;t;u<j<k<o<p<q<v<{<|=P=R=S=T=U=Z=m=nR#l^k#p_j#k#s&s&w3x3y7l8f8g8h8iR#u`T&|#t'OR-Y*U0thPVX[_bjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!{!}#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b#k#n#o#s#t$R$S$U$y$}%P%R%S%T%U%c%}&S&W&p&s&t&w'O'U'Y'z(O(`(l({)P)i)p)t)v*P*T*U*o+P+r+u+z,T,V,X-Q-R-d-k-z.b.d.l.t/c/i/m/x0V0`0a0d0e0i0v1R1]1a2[2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2o2p2s2t2u2v2w3P3d3g3h3k3o3p3s3u3v3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4Z4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x5Q5e5h5i5l5p5q5t5v5w6T6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6u6v6x6y6z6{6|7X7i7l7o7r7s7u7w7z7|8T8U8X8Z8[8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9S9T9V9W9X9Z9[9]9h9y9}:O:R:Y:Z:_:a:b:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:};O;P;Q;R;S;T;U;V;W;X;Y;Z;[;];^;_;`;a;c;d;e;f;g;h;i;t;u<j<k<o<p<q<v<{<|=P=R=S=T=U=Z=m=nR#va-r#OZ#f#m#w$V$W$X$Y$Z$[$u$v%W%Y%[%`%s%|&O&Q&U&^&_&`&a&b&c&d&e&f&g&h&i&j&k&l&m&u&v&{'X'Z'[(](p)q)s)u*O*[*^+S+V,`,c,y,{,}-V-W-X-i-x.k.w/`/h/n/y0r0u0x1Q1X1d1m1q2q2r2x2y2z2{2|2}3O3Q3R3S3T3U3V3W3X3Y3Z3[3]3^3_3`3a3b3c3e3f3i3j3l3m3n3q3r3t4Y4y4z4{4|4}5O5P5R5S5T5U5V5W5X5Y5Z5[5]5^5_5`5a5b5c5d5f5g5j5k5m5n5o5r5s5u6R6V6}7O7P7Q7R7S7U7V7W7Y7Z7[7]7^7_7`7a7b7c7d7e7f7g7h7j7k7n7p7q7x7y7{7}8O8P8Q8R8S8V8W8Y8]9U9^9_9`9a9b9c9f9g9i9j9k9l9m9n9o9p9q9r9s9t9u9v9w9x9z9{:P:Q:T:V:W:[:^:`:c;j;k;l;m;n;o;p;s;v;w;x;y;z;{;|;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<[<]<^<_<`<a<b<c<d<e<f<g<h<i<l<m<n<r<s<t<u<w<x<y<z<}=O=Q=V=W=_=`=a=q=rQ']$]Y(Q$s7T9e;q;rS(U2Z6QR(X$tT&X!})v!w$Qg#}$h'S'i'm'r(P(T)Z*f*s*z*}+Q+]+`+g,Z-r-u-{.Q/u1P5}6O6P6]8b8c8d=d=e=i>O>P>Q>X>Y>Z>[3ZfPVX[_bgjklmnoprxyz!S!W!X!Y!]!e!f!g!j!r!s!w!y!z!{!}#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b#k#n#o#s#t#}$R$S$U$h$y$}%P%R%S%T%U%c%p%r%}&S&W&p&s&t&w'O'S'U'Y'^'i'm'r'z(O(P(R(S(T(`(l({)P)Z)_)c)i)p)t)v*P*T*U*f*o*s*z*}+P+Q+]+`+d+g+r+u+z,T,V,X,Z,u-Q-R-d-k-r-u-z-{-|.Q.b.d.l.t/[/c/i/m/u/x0V0`0a0d0e0i0v1P1R1]1a2[2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2o2p2s2t2u2v2w3P3d3g3h3k3o3p3s3u3v3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4Z4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x5Q5e5h5i5l5p5q5t5v5w5}6O6P6T6]6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6u6v6x6y6z6{6|7X7i7l7o7r7s7u7w7z7|8T8U8X8Z8[8b8c8d8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9S9T9V9W9X9Z9[9]9h9y9}:O:R:Y:Z:_:a:b:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:};O;P;Q;R;S;T;U;V;W;X;Y;Z;[;];^;_;`;a;c;d;e;f;g;h;i;t;u<j<k<o<p<q<v<{<|=P=R=S=T=U=Z=d=e=i=m=n>O>P>Q>X>Y>Z>[3scPVX[_bdegjklmnoprxyz!S!W!X!Y!]!e!f!g!j!r!s!w!y!z!{!}#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b#k#n#o#s#t#{#}$R$S$U$h$y$}%P%R%S%T%U%c%m%n%p%r%}&S&W&p&s&t&w'O'S'U'Y'^'i'm'r'z(O(P(R(S(T(`(l({)P)Z)^)_)c)g)h)i)p)t)v*P*T*U*f*o*s*z*}+P+Q+]+`+d+g+r+u+z,T,V,X,Z,u,x-Q-R-d-k-r-u-z-{-|.Q.b.d.l.t/[/c/i/m/u/x0V0`0a0d0e0i0v1P1R1]1a2W2X2Y2[2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2o2p2s2t2u2v2w3P3d3g3h3k3o3p3s3u3v3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4Z4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x5Q5e5h5i5l5p5q5t5v5w5}6O6P6T6]6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6u6v6x6y6z6{6|7X7i7l7o7r7s7u7w7z7|8T8U8X8Z8[8b8c8d8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9S9T9V9W9X9Z9[9]9h9y9}:O:R:Y:Z:_:a:b:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:};O;P;Q;R;S;T;U;V;W;X;Y;Z;[;];^;_;`;a;c;d;e;f;g;h;i;t;u<j<k<o<p<q<v<{<|=P=R=S=T=U=Z=d=e=i=m=n>O>P>Q>X>Y>Z>[0phPVX[_bjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!{!}#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b#k#n#o#s#t$R$S$U$y$}%P%R%S%T%U%c%}&S&W&p&s&t&w'O'U'Y'z(O(`(l({)P)i)p)t)v*P*T*U*o+P+r+u+z,T,V,X-Q-R-d-k-z.b.d.l.t/c/i/m/x0`0a0d0e0i0v1R1a2[2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2o2p2s2t2u2v2w3P3d3g3h3k3o3p3s3u3v3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4Z4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x5Q5e5h5i5l5p5q5t5v5w6T6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6u6v6x6y6z6{6|7X7i7l7o7r7s7u7w7z7|8T8U8X8Z8[8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9S9T9V9W9X9Z9[9]9h9y9}:O:R:Y:Z:_:a:b:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:};O;P;Q;R;S;T;U;V;W;X;Y;Z;[;];^;_;`;a;c;d;e;f;g;h;i;t;u<j<k<o<p<q<v<{<|=P=R=S=T=U=Z=m=nT1Z0V1]R&]#P!n#[Z#f#w$V$W$X$Y$[$s$v%W%Y%[&Q&_&`&a&b&c&d&e&f'X'Z'[(])q)s*^+V,{-x/y1Q1d1q7j7k!Y2j2Z2x2y2z2{2}3O3Q3R3S3T3U3V3W3X3a3b3c3e3f3i3j3l3m3n3q3r3t!^4m2r4y4z4{4|5O5P5R5S5T5U5V5W5X5Y5b5c5d5f5g5j5k5m5n5o5r5s5u6Q6R#Q6p#m%`%s&u&v&{(p*O+S,`,c,y-V-X.w2q6}7O7P7Q7S7T7U7Y7Z7[7]7^7_7`7a7n7p7q7x7{7}8Q8S8V8W8Y8]9U:c=V=W#^8}%|&O&U)u,}-W-i/h/n0r0u0x1m4Y6V7V7W7y8O8P8R9^9_9`9a9c9e9f9g9i9j9k9l9m9n9o9p9x9z9{:P:Q:T:V:W:[:^:`<f<g=_=q=r!^;S.k/`;j;k;l;m;p;q;s;v;x;z;|<O<Q<S<U<h<l<n<r<t<w<x<z<}=O=Q=`=ao;T1X;r;w;y;{;}<P<R<T<V<i<m<s<u<yS$iu#hQ$qwU't$j$l&oQ'v$kS'x$m$rQ*|'uQ+O'wQ+R'yQ4X5xS4[5z5{Q4]5|Q6U8^S6W8_8`Q6X8aQ9d=YS9|=[=^Q:S=cQ=]=yS=b={=|Q=f=}Q=o>RS=p>S>VS=s>T>UR=t>WT'n$h*s!csPVXt!S!j!r!s!w$h$}%P%S%U'i(T(`)W*s+]+g+r+u,g,k.b.d.l0`0a0i1aQ$^rR*`'^Q*x'sQ-t*{R/w-wQ(W$tQ)U%hQ)n%vQ*i'fQ+k(XR-c*jQ(V$tQ)Y%jQ)m%vQ*e'eS*h'f)nS+j(W(XS-b*i*jQ.]+kQ/T,mQ/e-`R/g-cQ(U$tQ)T%hQ)V%iQ)l%vU*g'f)m)nU+i(V(W(XQ,f)UU-a*h*i*jS.[+j+kS/f-b-cQ0X.]R0t/gT+e(T+g[%e!_$b'c+a.R0QR,d)Qb$ov(T+[+]+`+g.P.Q0PR+T'{S+e(T+gT,j)W,kR0W.XT1[0V1]0w|PVX[_bjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!{!}#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b#k#n#o#s#t$R$S$U$y$}%P%R%S%T%U%c%}&S&W&p&s&t&w'O'U'Y'z(O(`(l({)P)i)p)t)v*P*T*U*o+P+r+u+z,T,V,X,_-Q-R-d-k-z.b.d.l.t/c/i/m/x0V0`0a0d0e0i0v1R1]1a2[2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2o2p2s2t2u2v2w3P3d3g3h3k3o3p3s3u3v3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4Z4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x5Q5e5h5i5l5p5q5t5v5w6T6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6u6v6x6y6z6{6|7X7i7l7o7r7s7u7w7z7|8T8U8X8Z8[8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9S9T9V9W9X9Z9[9]9h9y9}:O:R:Y:Z:_:a:b:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:};O;P;Q;R;S;T;U;V;W;X;Y;Z;[;];^;_;`;a;c;d;e;f;g;h;i;t;u<j<k<o<p<q<v<{<|=P=R=S=T=U=Z=m=nT$x{${Q+p([R._+nT$z{${Q(b$}Q(j%PQ(o%SQ(r%UQ.j+yQ0].fQ0^.iR1g0iR(e%OX+|(c(d+},PR(f%OX(h%P%S%U0iR%S!T_%a!]%R(l,T,V.t0dR%U!UR.x,XR,[(wQ)X%jS*d'e)YS-_*e,mS/d-`/TR0s/eQ%q!fU)]%m%n%rU,o)^)g)hR/_,xR)d%pR/],uSSO!mR!oSQ!rVR%y!rQ!jPS!sV!rQ!wX[%u!j!s!w+r0a1aQ+r(`Q0a.lR1a0`Q)j%sS,z)j7vR7v7WQ-S)zR/b-SQ&x#qS*R&x7mR7m9YS*V&{&|R-Z*VQ)w&YR-P)w!l'T#|'h*n*q*v+W+[,m-`-s-v-y.P.z/s/v/z0P1O1p4^4_4`5y6Y6Z6[:U:X:]=g=h=j=u=v=w=xR*Z'T1^dPVX[_bjklmnoprxyz!S!W!X!Y!]!e!g!j!r!s!w!y!z!{!}#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b#k#n#o#s#t$R$S$U$y$}%P%R%S%T%U%c%p%}&S&W&p&s&t&w'O'U'Y'^'z(O(R(S(`(l({)P)_)c)i)p)t)v*P*T*U*o+P+d+r+u+z,T,V,X,u-Q-R-d-k-z-|.b.d.l.t/[/c/i/m/x0V0`0a0d0e0i0v1R1]1a2[2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2o2p2s2t2u2v2w3P3d3g3h3k3o3p3s3u3v3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4Z4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x5Q5e5h5i5l5p5q5t5v5w6T6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6u6v6x6y6z6{6|7X7i7l7o7r7s7u7w7z7|8T8U8X8Z8[8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9S9T9V9W9X9Z9[9]9h9y9}:O:R:Y:Z:_:a:b:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:};O;P;Q;R;S;T;U;V;W;X;Y;Z;[;];^;_;`;a;c;d;e;f;g;h;i;t;u<j<k<o<p<q<v<{<|=P=R=S=T=U=Z=m=n`#zd#{%m)^)g,x2W2YQ#{eQ%m!fQ)^%nQ)g%rQ,x)h!v2Wg#}$h'S'i'm'r(P(T)Z*f*s*z*}+Q+]+`+g,Z-r-u-{.Q/u1P5}6O6P6]8b8c8d=d=e=i>O>P>Q>X>Y>Z>[R2Y2X|tPVX!S!j!r!s!w$}%P%S%U(`+r+u.b.d.l0`0a0i1aW$`t'i+],gS'i$h*sS+](T+gT,g)W,kQ'_$^R*a'_Q*t'oR-m*tQ/p-oS0{/p0|R0|/qQ-}+XR/|-}Q+g(TR.Y+gS+`(T+gS,h)W,kQ.Q+]W.T+`,h.Q/OR/O,gQ)R%eR,e)RQ'|$oR+U'|Q1]0VR1w1]Q${{R(^${Q+t(aR.c+tQ+w(bR.g+wQ+}(cQ,P(dT.m+},PQ(|%`S,a(|7tR7t7VQ(y%^R,^(yQ,k)WR/R,kQ)`%oS,q)`/WR/W,rQ,v)dR/^,vT!uV!rj!iPVX!j!r!s!w(`+r.l0`0a1aQ%Q!SQ(a$}W(h%P%S%U0iQ.e+uQ0Z.bR0[.d|ZPVX!S!j!r!s!w$}%P%S%U(`+r+u.b.d.l0`0a0i1aQ#f[U#m_#s&wQ#wbQ$VkQ$WlQ$XmQ$YnQ$ZoQ$[pQ$sx^$uy2_4b6e8q:m:nQ$vzQ%W!WQ%Y!XQ%[!YW%`!]%R(l,VU%s!g&p-RQ%|!yQ&O!zQ&Q!{S&U!})v^&^#R2a4d6g8t:p:qQ&_#SQ&`#TQ&a#UQ&b#VQ&c#WQ&d#XQ&e#YQ&f#ZQ&g#[Q&h#]Q&i#^Q&j#_Q&k#`Q&l#aQ&m#bQ&u#nQ&v#oS&{#t'OQ'X$RQ'Z$SQ'[$UQ(]$yQ(p%TQ)q%}Q)s&SQ)u&WQ*O&tS*['U4ZQ*^'Y^*_2[3u5v8Z:a=R=SQ+S'zQ+V(OQ,`({Q,c)PQ,y)iQ,{)pQ,})tQ-V*PQ-W*TQ-X*U^-]2]3v5w8[:b=T=UQ-i*oQ-x+PQ.k+zQ.w,XQ/`-QQ/h-dQ/n-kQ/y-zQ0r/cQ0u/iQ0x/mQ1Q/xU1X0V1]9WQ1d0eQ1m0vQ1q1RQ2Z2^Q2qjQ2r3yQ2x3zQ2y3|Q2z4OQ2{4QQ2|4SQ2}4UQ3O2`Q3Q2bQ3R2cQ3S2dQ3T2eQ3U2fQ3V2gQ3W2hQ3X2iQ3Y2jQ3Z2kQ3[2lQ3]2mQ3^2nQ3_2oQ3`2pQ3a2sQ3b2tQ3c2uQ3e2vQ3f2wQ3i3PQ3j3dQ3l3gQ3m3hQ3n3kQ3q3oQ3r3pQ3t3sQ4Y4WQ4y3{Q4z3}Q4{4PQ4|4RQ4}4TQ5O4VQ5P4cQ5R4eQ5S4fQ5T4gQ5U4hQ5V4iQ5W4jQ5X4kQ5Y4lQ5Z4mQ5[4nQ5]4oQ5^4pQ5_4qQ5`4rQ5a4sQ5b4tQ5c4uQ5d4vQ5f4wQ5g4xQ5j5QQ5k5eQ5m5hQ5n5iQ5o5lQ5r5pQ5s5qQ5u5tQ6Q4aQ6R3xQ6V6TQ6}6^Q7O6_Q7P6`Q7Q6aQ7R6bQ7S6cQ7T6dQ7U6fU7V,T.t0dQ7W%cQ7Y6hQ7Z6iQ7[6jQ7]6kQ7^6lQ7_6mQ7`6nQ7a6oQ7b6pQ7c6qQ7d6rQ7e6sQ7f6tQ7g6uQ7h6vQ7j6xQ7k6yQ7n6zQ7p6{Q7q6|Q7x7XQ7y7iQ7{7oQ7}7rQ8O7sQ8P7uQ8Q7wQ8R7zQ8S7|Q8V8TQ8W8UQ8Y8XQ8]8fU9U#k&s7lQ9^8jQ9_8kQ9`8lQ9a8mQ9b8nQ9c8oQ9e8pQ9f8rQ9g8sQ9i8uQ9j8vQ9k8wQ9l8xQ9m8yQ9n8zQ9o8{Q9p8|Q9q8}Q9r9OQ9s9PQ9t9QQ9u9RQ9v9SQ9w9TQ9x9ZQ9z9[Q9{9]Q:P9hQ:Q9yQ:T9}Q:V:OQ:W:RQ:[:YQ:^:ZQ:`:_Q:c8iQ;j:dQ;k:eQ;l:fQ;m:gQ;n:hQ;o:iQ;p:jQ;q:kQ;r:lQ;s:oQ;v:rQ;w:sQ;x:tQ;y:uQ;z:vQ;{:wQ;|:xQ;}:yQ<O:zQ<P:{Q<Q:|Q<R:}Q<S;OQ<T;PQ<U;QQ<V;RQ<W;SQ<X;TQ<Y;UQ<Z;VQ<[;WQ<];XQ<^;YQ<_;ZQ<`;[Q<a;]Q<b;^Q<c;_Q<d;`Q<e;aQ<f;cQ<g;dQ<h;eQ<i;fQ<l;gQ<m;hQ<n;iQ<r;tQ<s;uQ<t<jQ<u<kQ<w<oQ<x<pQ<y<qQ<z<vQ<}<{Q=O<|Q=Q=PQ=V8hQ=W8gQ=_=ZQ=`9VQ=a9XQ=q=mR=r=nR){&pQ%t!gQ)O%cT)y&p-R$SiPVX[bklmnopxyz!S!W!X!Y!j!r!s!w!{#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b$R$S$U$y$}%P%S%U%}&S'Y(O(`)p+P+r+u-z.b.d.l/x0`0a0e0i1R1a2[2]6x6y!t3w'U2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2o2p2s2t2u2v2w3P3d3g3h3k3o3p3s3z3|4O4Q4S4U5v5w!x6S3u3v3x3y3{3}4P4R4T4V4Z4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x5Q5e5h5i5l5p5q5t$O8e_j!]!g#k#n#o#s#t%R%T&p&s&t&w'O'z(l({)P)i*P*U,V,X-R6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6u6v6z6{6|7X7l7o7r7w7|8T8U8X8Z8[8f8g8h8i#|=X!y!z!}%c&W)t)v*T*o,T-d-k.t/c/i/m0d0v4W6T7i7s7u7z8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9S9T9Z9[9]9h9y9}:O:R:Y:Z:_:a:b;c;d=Z=m=n!v=k+z-Q9V9X:d:e:f:g:h:j:k:m:o:p:r:t:v:x:z:|;O;Q;S;U;W;Y;[;^;`;e;g;i;t<j<o<p<v<{<|=P=R=T!]=l0V1]9W:i:l:n:q:s:u:w:y:{:};P;R;T;V;X;Z;];_;a;f;h;u<k<q=S=UQ#r_Q&r#kQ&z#sR)}&sS#q_#s^$Tj3x3y8f8g8h8iS*Q&w7lT9Y#k&sQ&}#tR*X'OR&T!|R&Z!}Q&Y!}R-O)vQ#|gQ'V#}S'h$h*sQ*Y'SQ*n'iQ*q'mQ*v'rQ+W(PS+[(T+gQ,m)ZQ-`*fQ-s*zQ-v*}Q-y+QS.P+]+`Q.z,ZQ/s-rQ/v-uQ/z-{Q0P.QQ1O/uQ1p1PQ4^5}Q4_6OQ4`6PQ5y6]Q6Y8bQ6Z8cQ6[8dQ:U=dQ:X=eQ:]=iQ=g>OQ=h>PQ=j>QQ=u>XQ=v>YQ=w>ZR=x>[0t!OPVX[_bjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!{!}#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b#k#n#o#s#t$R$S$U$y$}%P%R%S%T%U%c%}&S&W&p&s&t&w'O'U'Y'z(O(`(l({)P)i)p)t)v*P*T*U*o+P+r+u+z,T,V,X-Q-R-d-k-z.b.d.l.t/c/i/m/x0V0`0a0d0e0i0v1R1]1a2[2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2o2p2s2t2u2v2w3P3d3g3h3k3o3p3s3u3v3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4Z4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x5Q5e5h5i5l5p5q5t5v5w6T6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6u6v6x6y6z6{6|7X7i7l7o7r7s7u7w7z7|8T8U8X8Z8[8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9S9T9V9W9X9Z9[9]9h9y9}:O:R:Y:Z:_:a:b:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:};O;P;Q;R;S;T;U;V;W;X;Y;Z;[;];^;_;`;a;c;d;e;f;g;h;i;t;u<j<k<o<p<q<v<{<|=P=R=S=T=U=Z=m=n!v$Pg#}$h'S'i'm'r(P(T)Z*f*s*z*}+Q+]+`+g,Z-r-u-{.Q/u1P5}6O6P6]8b8c8d=d=e=i>O>P>Q>X>Y>Z>[S$]r'^Q%k!eS%o!f%rQ)b%pU+X(R(S+dQ,p)_Q,t)cQ/Z,uQ/{-|R0p/[|vPVX!S!j!r!s!w$}%P%S%U(`+r+u.b.d.l0`0a0i1a#U#i[bklmnopxyz!W!X!Y!{#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b$R$S$U$y%}&S'Y(O)p+P-z/x0e1R2[2]6x6yd+^(T)W+]+`+g,g,h,k.Q/O!t6w'U2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2o2p2s2t2u2v2w3P3d3g3h3k3o3p3s3z3|4O4Q4S4U5v5w!x;b3u3v3x3y3{3}4P4R4T4V4Z4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x5Q5e5h5i5l5p5q5t$O=z_j!]!g#k#n#o#s#t%R%T&p&s&t&w'O'z(l({)P)i*P*U,V,X-R6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6u6v6z6{6|7X7l7o7r7w7|8T8U8X8Z8[8f8g8h8i#|>]!y!z!}%c&W)t)v*T*o,T-d-k.t/c/i/m0d0v4W6T7i7s7u7z8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9S9T9Z9[9]9h9y9}:O:R:Y:Z:_:a:b;c;d=Z=m=n!v>^+z-Q9V9X:d:e:f:g:h:j:k:m:o:p:r:t:v:x:z:|;O;Q;S;U;W;Y;[;^;`;e;g;i;t<j<o<p<v<{<|=P=R=T!]>_0V1]9W:i:l:n:q:s:u:w:y:{:};P;R;T;V;X;Z;];_;a;f;h;u<k<q=S=UR'p$hQ'o$hR-l*sR$_rR-q*wQ+Y(RQ+Z(SR.X+dT+f(T+ge+_(T)W+]+`+g,g,h,k.Q/OQ%f!_Q'b$bQ*c'cQ.U+aQ0S.RR1U0QQ#eZQ%X!WQ%Z!XQ%]!YQ'}$pQ(s%VQ(t%WQ(u%YQ(v%[Q(}%bQ)S%fQ)[%kQ)f%qQ)k%tQ*b'bQ,n)]Q-^*cQ.V+bQ.W+cQ.e+xQ.o,QQ.p,RQ.q,SQ.v,WQ.y,YQ.},bQ/U,oQ/}.OQ0T.SQ0U.UQ0W.XQ0[.hQ0k/QQ0q/_Q1S0OQ1V0RQ1W0SQ1`0_Q1h0jQ1r1TQ1s1UQ1v1[Q1y1_Q1}1jQ2T1{R2U1|Q$pvS+b(T+gU.O+[+]+`S0O.P.QR1T0P|!aPVX!S!j!r!s!w$}%P%S%U(`+r+u.b.d.l0`0a0i1aQ$dtW+c(T)W+g,kW.S+]+`,g,hT0R.Q/O0t!OPVX[_bjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!{!}#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b#k#n#o#s#t$R$S$U$y$}%P%R%S%T%U%c%}&S&W&p&s&t&w'O'U'Y'z(O(`(l({)P)i)p)t)v*P*T*U*o+P+r+u+z,T,V,X-Q-R-d-k-z.b.d.l.t/c/i/m/x0V0`0a0d0e0i0v1R1]1a2[2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2o2p2s2t2u2v2w3P3d3g3h3k3o3p3s3u3v3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4Z4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x5Q5e5h5i5l5p5q5t5v5w6T6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6u6v6x6y6z6{6|7X7i7l7o7r7s7u7w7z7|8T8U8X8Z8[8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9S9T9V9W9X9Z9[9]9h9y9}:O:R:Y:Z:_:a:b:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:};O;P;Q;R;S;T;U;V;W;X;Y;Z;[;];^;_;`;a;c;d;e;f;g;h;i;t;u<j<k<o<p<q<v<{<|=P=R=S=T=U=Z=m=nR.|,_0w}PVX[_bjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!{!}#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b#k#n#o#s#t$R$S$U$y$}%P%R%S%T%U%c%}&S&W&p&s&t&w'O'U'Y'z(O(`(l({)P)i)p)t)v*P*T*U*o+P+r+u+z,T,V,X,_-Q-R-d-k-z.b.d.l.t/c/i/m/x0V0`0a0d0e0i0v1R1]1a2[2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2o2p2s2t2u2v2w3P3d3g3h3k3o3p3s3u3v3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4Z4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x5Q5e5h5i5l5p5q5t5v5w6T6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6u6v6x6y6z6{6|7X7i7l7o7r7s7u7w7z7|8T8U8X8Z8[8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9S9T9V9W9X9Z9[9]9h9y9}:O:R:Y:Z:_:a:b:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:};O;P;Q;R;S;T;U;V;W;X;Y;Z;[;];^;_;`;a;c;d;e;f;g;h;i;t;u<j<k<o<p<q<v<{<|=P=R=S=T=U=Z=m=nT$w{${Q(i%PQ(n%SQ(q%UR1f0iQ%b!]Q(m%RQ,U(lQ.s,TQ.u,VQ0c.tR1c0dQ%q!fR)]%rR)e%p",nodeNames:"\u26A0 ( HeredocString EscapeSequence abstract LogicOp array as Boolean break case catch clone const continue default declare do echo else elseif enddeclare endfor endforeach endif endswitch endwhile enum extends final finally fn for foreach from function global goto if implements include include_once LogicOp insteadof interface list match namespace new null LogicOp print require require_once return switch throw trait try unset use var Visibility while LogicOp yield LineComment BlockComment TextInterpolation PhpClose Text PhpOpen Template TextInterpolation EmptyStatement ; } { Block : LabelStatement Name ExpressionStatement ConditionalExpression LogicOp MatchExpression ) ( ParenthesizedExpression MatchBlock MatchArm , => AssignmentExpression ArrayExpression ValueList & VariadicUnpacking ... Pair [ ] ListExpression ValueList Pair Pair SubscriptExpression MemberExpression -> ?-> VariableName DynamicVariable $ ${ CallExpression ArgList NamedArgument SpreadArgument CastExpression UnionType LogicOp OptionalType NamedType QualifiedName \\ NamespaceName ScopedExpression :: ClassMemberName AssignOp UpdateExpression UpdateOp YieldExpression BinaryExpression LogicOp LogicOp LogicOp BitOp BitOp BitOp CompareOp CompareOp BitOp ArithOp ConcatOp ArithOp ArithOp IncludeExpression RequireExpression CloneExpression UnaryExpression ControlOp LogicOp PrintIntrinsic FunctionExpression static ParamList Parameter #[ Attributes Attribute VariadicParameter PropertyParameter UseList ArrowFunction NewExpression class BaseClause ClassInterfaceClause DeclarationList ConstDeclaration VariableDeclarator PropertyDeclaration VariableDeclarator MethodDeclaration UseDeclaration UseList UseInsteadOfClause UseAsClause UpdateExpression ArithOp ShellExpression ThrowExpression Integer Float String MemberExpression SubscriptExpression UnaryExpression ArithOp Interpolation String IfStatement ColonBlock SwitchStatement Block CaseStatement DefaultStatement ColonBlock WhileStatement EmptyStatement DoStatement ForStatement ForSpec SequenceExpression ForeachStatement ForSpec Pair GotoStatement ContinueStatement BreakStatement ReturnStatement TryStatement CatchDeclarator DeclareStatement EchoStatement UnsetStatement ConstDeclaration FunctionDefinition ClassDeclaration InterfaceDeclaration TraitDeclaration EnumDeclaration EnumBody EnumCase NamespaceDefinition NamespaceUseDeclaration UseGroup UseClause UseClause GlobalDeclaration FunctionStaticDeclaration Program",maxTerm:304,nodeProps:[["group",-36,2,8,49,81,83,85,88,93,94,102,106,107,110,111,114,118,123,126,130,132,133,147,148,149,150,153,154,164,165,179,181,182,183,184,185,191,"Expression",-28,74,78,80,82,192,194,199,201,202,205,208,209,210,211,212,214,215,216,217,218,219,220,221,222,225,226,230,231,"Statement",-3,119,121,122,"Type"],["isolate",-4,66,67,70,191,""],["openedBy",69,"phpOpen",76,"{",86,"(",101,"#["],["closedBy",71,"phpClose",77,"}",87,")",158,"]"]],propSources:[oP],skippedNodes:[0],repeatNodeCount:29,tokenData:"!F|_R!]OX$zXY&^YZ'sZ]$z]^&^^p$zpq&^qr)Rrs+Pst+otu2buv5evw6rwx8Vxy>]yz>yz{?g{|@}|}Bb}!OCO!O!PDh!P!QKT!Q!R!!o!R![!$q![!]!,P!]!^!-a!^!_!-}!_!`!1S!`!a!2d!a!b!3t!b!c!7^!c!d!7z!d!e!9W!e!}!7z!}#O!;^#O#P!;z#P#Q!<h#Q#R!=U#R#S!7z#S#T!=u#T#U!7z#U#V!9W#V#o!7z#o#p!Co#p#q!D]#q#r!Er#r#s!F`#s$f$z$f$g&^$g&j!7z&j$I_$z$I_$I`&^$I`$KW$z$KW$KX&^$KX;'S$z;'S;=`&W<%l?HT$z?HT?HU&^?HUO$zP%PV&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zP%kO&wPP%nWOY$zYZ%fZ!a$z!b;'S$z;'S;=`&W<%l~$z~O$z~~%fP&ZP;=`<%l$zV&ed&wP&vUOX$zXY&^YZ'sZ]$z]^&^^p$zpq&^q!^$z!^!_%k!_$f$z$f$g&^$g$I_$z$I_$I`&^$I`$KW$z$KW$KX&^$KX;'S$z;'S;=`&W<%l?HT$z?HT?HU&^?HUO$zV'zW&wP&vUXY(dYZ(d]^(dpq(d$f$g(d$I_$I`(d$KW$KX(d?HT?HU(dU(iW&vUXY(dYZ(d]^(dpq(d$f$g(d$I_$I`(d$KW$KX(d?HT?HU(dR)YW$^Q&wPOY$zYZ%fZ!^$z!^!_%k!_!`)r!`;'S$z;'S;=`&W<%lO$zR)yW$QQ&wPOY$zYZ%fZ!^$z!^!_%k!_!`*c!`;'S$z;'S;=`&W<%lO$zR*jV$QQ&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV+YV'fS&wP'gQOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV+v]&wP!dUOY,oYZ%fZ],o]^$z^!^,o!^!_-i!_!a,o!a!b/y!b!},o!}#O1f#O;'S,o;'S;=`/s<%lO,oV,vZ&wP!dUOY,oYZ%fZ],o]^$z^!^,o!^!_-i!_!a,o!a!b/y!b;'S,o;'S;=`/s<%lO,oV-nZ!dUOY,oYZ%fZ],o]^$z^!a,o!a!b.a!b;'S,o;'S;=`/s<%l~,o~O,o~~%fU.dWOY.|YZ/nZ].|]^/n^!`.|!a;'S.|;'S;=`/h<%lO.|U/RV!dUOY.|Z].|^!a.|!a!b.a!b;'S.|;'S;=`/h<%lO.|U/kP;=`<%l.|U/sO!dUV/vP;=`<%l,oV0OZ&wPOY,oYZ0qZ],o]^0x^!^,o!^!_-i!_!`,o!`!a$z!a;'S,o;'S;=`/s<%lO,oV0xO&wP!dUV1PV&wP!dUOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV1oZ&wP$dQ!dUOY,oYZ%fZ],o]^$z^!^,o!^!_-i!_!a,o!a!b/y!b;'S,o;'S;=`/s<%lO,o_2i`&wP#dQOY$zYZ%fZ!^$z!^!_%k!_!c$z!c!}3k!}#R$z#R#S3k#S#T$z#T#o3k#o#p4w#p$g$z$g&j3k&j;'S$z;'S;=`&W<%lO$z_3ra&wP#b^OY$zYZ%fZ!Q$z!Q![3k![!^$z!^!_%k!_!c$z!c!}3k!}#R$z#R#S3k#S#T$z#T#o3k#o$g$z$g&j3k&j;'S$z;'S;=`&W<%lO$zV5OV&wP#eUOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR5lW&wP$VQOY$zYZ%fZ!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zR6]V#wQ&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV6yY#SU&wPOY$zYZ%fZv$zvw7iw!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zR7pV#|Q&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR8^Z&wP%VQOY8VYZ9PZw8Vwx;_x!^8V!^!_;{!_#O8V#O#P<y#P;'S8V;'S;=`>V<%lO8VR9WV&wP%VQOw9mwx:Xx#O9m#O#P:^#P;'S9m;'S;=`;X<%lO9mQ9rV%VQOw9mwx:Xx#O9m#O#P:^#P;'S9m;'S;=`;X<%lO9mQ:^O%VQQ:aRO;'S9m;'S;=`:j;=`O9mQ:oW%VQOw9mwx:Xx#O9m#O#P:^#P;'S9m;'S;=`;X;=`<%l9m<%lO9mQ;[P;=`<%l9mR;fV&wP%VQOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR<Q]%VQOY8VYZ9PZw8Vwx;_x!a8V!a!b9m!b#O8V#O#P<y#P;'S8V;'S;=`>V<%l~8V~O8V~~%fR=OW&wPOY8VYZ9PZ!^8V!^!_;{!_;'S8V;'S;=`=h;=`<%l9m<%lO8VR=mW%VQOw9mwx:Xx#O9m#O#P:^#P;'S9m;'S;=`;X;=`<%l8V<%lO9mR>YP;=`<%l8VR>dV!yQ&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV?QV!xU&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR?nY&wP$VQOY$zYZ%fZz$zz{@^{!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zR@eW$WQ&wPOY$zYZ%fZ!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zRAUY$TQ&wPOY$zYZ%fZ{$z{|At|!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zRA{V$zQ&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zRBiV!}Q&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z_CXZ$TQ%TW&wPOY$zYZ%fZ}$z}!OAt!O!^$z!^!_%k!_!`6U!`!aCz!a;'S$z;'S;=`&W<%lO$zVDRV#`U&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zVDo[&wP$UQOY$zYZ%fZ!O$z!O!PEe!P!Q$z!Q![Fs![!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zVEjX&wPOY$zYZ%fZ!O$z!O!PFV!P!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zVF^V#UU&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zRFz_&wP%OQOY$zYZ%fZ!Q$z!Q![Fs![!^$z!^!_%k!_!g$z!g!hGy!h#R$z#R#SJc#S#X$z#X#YGy#Y;'S$z;'S;=`&W<%lO$zRHO]&wPOY$zYZ%fZ{$z{|Hw|}$z}!OHw!O!Q$z!Q![Ii![!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zRH|X&wPOY$zYZ%fZ!Q$z!Q![Ii![!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zRIpZ&wP%OQOY$zYZ%fZ!Q$z!Q![Ii![!^$z!^!_%k!_#R$z#R#SHw#S;'S$z;'S;=`&W<%lO$zRJhX&wPOY$zYZ%fZ!Q$z!Q![Fs![!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zVK[[&wP$VQOY$zYZ%fZz$zz{LQ{!P$z!P!Q,o!Q!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zVLVX&wPOYLQYZLrZzLQz{N_{!^LQ!^!_! s!_;'SLQ;'S;=`!!i<%lOLQVLwT&wPOzMWz{Mj{;'SMW;'S;=`NX<%lOMWUMZTOzMWz{Mj{;'SMW;'S;=`NX<%lOMWUMmVOzMWz{Mj{!PMW!P!QNS!Q;'SMW;'S;=`NX<%lOMWUNXO!eUUN[P;=`<%lMWVNdZ&wPOYLQYZLrZzLQz{N_{!PLQ!P!Q! V!Q!^LQ!^!_! s!_;'SLQ;'S;=`!!i<%lOLQV! ^V!eU&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV! vZOYLQYZLrZzLQz{N_{!aLQ!a!bMW!b;'SLQ;'S;=`!!i<%l~LQ~OLQ~~%fV!!lP;=`<%lLQZ!!vm&wP$}YOY$zYZ%fZ!O$z!O!PFs!P!Q$z!Q![!$q![!^$z!^!_%k!_!d$z!d!e!&o!e!g$z!g!hGy!h!q$z!q!r!(a!r!z$z!z!{!){!{#R$z#R#S!%}#S#U$z#U#V!&o#V#X$z#X#YGy#Y#c$z#c#d!(a#d#l$z#l#m!){#m;'S$z;'S;=`&W<%lO$zZ!$xa&wP$}YOY$zYZ%fZ!O$z!O!PFs!P!Q$z!Q![!$q![!^$z!^!_%k!_!g$z!g!hGy!h#R$z#R#S!%}#S#X$z#X#YGy#Y;'S$z;'S;=`&W<%lO$zZ!&SX&wPOY$zYZ%fZ!Q$z!Q![!$q![!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zZ!&tY&wPOY$zYZ%fZ!Q$z!Q!R!'d!R!S!'d!S!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zZ!'k[&wP$}YOY$zYZ%fZ!Q$z!Q!R!'d!R!S!'d!S!^$z!^!_%k!_#R$z#R#S!&o#S;'S$z;'S;=`&W<%lO$zZ!(fX&wPOY$zYZ%fZ!Q$z!Q!Y!)R!Y!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zZ!)YZ&wP$}YOY$zYZ%fZ!Q$z!Q!Y!)R!Y!^$z!^!_%k!_#R$z#R#S!(a#S;'S$z;'S;=`&W<%lO$zZ!*Q]&wPOY$zYZ%fZ!Q$z!Q![!*y![!^$z!^!_%k!_!c$z!c!i!*y!i#T$z#T#Z!*y#Z;'S$z;'S;=`&W<%lO$zZ!+Q_&wP$}YOY$zYZ%fZ!Q$z!Q![!*y![!^$z!^!_%k!_!c$z!c!i!*y!i#R$z#R#S!){#S#T$z#T#Z!*y#Z;'S$z;'S;=`&W<%lO$zR!,WX!qQ&wPOY$zYZ%fZ![$z![!]!,s!]!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!,zV#sQ&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV!-hV!mU&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!.S[$RQOY$zYZ%fZ!^$z!^!_!.x!_!`!/i!`!a*c!a!b!0]!b;'S$z;'S;=`&W<%l~$z~O$z~~%fR!/PW$SQ&wPOY$zYZ%fZ!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zR!/pX$RQ&wPOY$zYZ%fZ!^$z!^!_%k!_!`$z!`!a*c!a;'S$z;'S;=`&W<%lO$zP!0bR!iP!_!`!0k!r!s!0p#d#e!0pP!0pO!iPP!0sQ!j!k!0y#[#]!0yP!0|Q!r!s!0k#d#e!0kV!1ZX#uQ&wPOY$zYZ%fZ!^$z!^!_%k!_!`)r!`!a!1v!a;'S$z;'S;=`&W<%lO$zV!1}V#OU&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!2kX$RQ&wPOY$zYZ%fZ!^$z!^!_%k!_!`!3W!`!a!.x!a;'S$z;'S;=`&W<%lO$zR!3_V$RQ&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV!3{[!vQ&wPOY$zYZ%fZ}$z}!O!4q!O!^$z!^!_%k!_!`$z!`!a!6P!a!b!6m!b;'S$z;'S;=`&W<%lO$zV!4vX&wPOY$zYZ%fZ!^$z!^!_%k!_!`$z!`!a!5c!a;'S$z;'S;=`&W<%lO$zV!5jV#aU&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV!6WV!gU&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!6tW#zQ&wPOY$zYZ%fZ!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zR!7eV$]Q&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z_!8Ra&wP!s^OY$zYZ%fZ!Q$z!Q![!7z![!^$z!^!_%k!_!c$z!c!}!7z!}#R$z#R#S!7z#S#T$z#T#o!7z#o$g$z$g&j!7z&j;'S$z;'S;=`&W<%lO$z_!9_e&wP!s^OY$zYZ%fZr$zrs!:psw$zwx8Vx!Q$z!Q![!7z![!^$z!^!_%k!_!c$z!c!}!7z!}#R$z#R#S!7z#S#T$z#T#o!7z#o$g$z$g&j!7z&j;'S$z;'S;=`&W<%lO$zR!:wV&wP'gQOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV!;eV#WU&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV!<RV#pU&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!<oV#XQ&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!=]W$OQ&wPOY$zYZ%fZ!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zR!=zZ&wPOY!=uYZ!>mZ!^!=u!^!_!@u!_#O!=u#O#P!Aq#P#S!=u#S#T!B{#T;'S!=u;'S;=`!Ci<%lO!=uR!>rV&wPO#O!?X#O#P!?q#P#S!?X#S#T!@j#T;'S!?X;'S;=`!@o<%lO!?XQ!?[VO#O!?X#O#P!?q#P#S!?X#S#T!@j#T;'S!?X;'S;=`!@o<%lO!?XQ!?tRO;'S!?X;'S;=`!?};=`O!?XQ!@QWO#O!?X#O#P!?q#P#S!?X#S#T!@j#T;'S!?X;'S;=`!@o;=`<%l!?X<%lO!?XQ!@oO${QQ!@rP;=`<%l!?XR!@x]OY!=uYZ!>mZ!a!=u!a!b!?X!b#O!=u#O#P!Aq#P#S!=u#S#T!B{#T;'S!=u;'S;=`!Ci<%l~!=u~O!=u~~%fR!AvW&wPOY!=uYZ!>mZ!^!=u!^!_!@u!_;'S!=u;'S;=`!B`;=`<%l!?X<%lO!=uR!BcWO#O!?X#O#P!?q#P#S!?X#S#T!@j#T;'S!?X;'S;=`!@o;=`<%l!=u<%lO!?XR!CSV${Q&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!ClP;=`<%l!=uV!CvV!oU&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV!DfY#}Q#lS&wPOY$zYZ%fZ!^$z!^!_%k!_!`6U!`#p$z#p#q!EU#q;'S$z;'S;=`&W<%lO$zR!E]V#{Q&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!EyV!nQ&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!FgV$^Q&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z",tokenizers:[tP,sP,nP,0,1,2,3,iP],topRules:{Template:[0,72],Program:[1,232]},dynamicPrecedences:{284:1},specialized:[{term:81,get:(i,e)=>zd(i)<<1,external:zd},{term:81,get:i=>OP[i]||-1}],tokenPrec:29354});var lP=ue.define({name:"php",parser:Zd.configure({props:[de.add({IfStatement:qe({except:/^\s*({|else\b|elseif\b|endif\b)/}),TryStatement:qe({except:/^\s*({|catch\b|finally\b)/}),SwitchBody:i=>{let e=i.textAfter,t=/^\s*\}/.test(e),n=/^\s*(case|default)\b/.test(e);return i.baseIndent+(t?0:n?1:2)*i.unit},ColonBlock:i=>i.baseIndent+i.unit,"Block EnumBody DeclarationList":Ar({closing:"}"}),ArrowFunction:i=>i.baseIndent+i.unit,"String BlockComment":()=>null,Statement:qe({except:/^({|end(for|foreach|switch|while)\b)/})}),Pe.add({"Block EnumBody DeclarationList SwitchBody ArrayExpression ValueList":_t,ColonBlock(i){return{from:i.from+1,to:i.to}},BlockComment(i){return{from:i.from+2,to:i.to-2}}})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"},line:"//"},indentOnInput:/^\s*(?:case |default:|end(?:if|for(?:each)?|switch|while)|else(?:if)?|\{|\})$/,wordChars:"$",closeBrackets:{stringPrefixes:["b","B"]}}});function Wd(i={}){let e=[],t;if(i.baseLanguage!==null)if(i.baseLanguage)t=i.baseLanguage;else{let n=Vi({matchClosingTags:!1});e.push(n.support),t=n.language}return new oe(lP.configure({wrap:t&&wi(n=>n.type.isTop?{parser:t.parser,overlay:r=>r.name=="Text"}:null),top:i.plain?"Program":"Template"}),e)}var aP=me.deserialize({version:14,states:"%^QYQPOOO!YQQO'#CaO#RQQO'#CrOOQO'#Ct'#CtQYQPOOOOQO'#C}'#C}O#]QQO'#CzO$ZQQO'#CoOOQO'#Cz'#CzOOQO'#Cu'#CuO$lQQO,58{OOQO,58{,58{O$sQQO,59^O$sQQO,59^OOQO,59^,59^OOQO-E6r-E6rO$zQQO'#CfOOQO,58|,58|OOQO'#C|'#C|O%]QSO'#C{O%hQQO,59ZOOQO-E6s-E6sOOQO1G.g1G.gO%mQQO1G.xOOQO1G.x1G.xO%tQQO,59QO%yQSO'#CvO&bQSO,59gOOQO1G.u1G.uOOQO7+$d7+$dOOQO1G.l1G.lOOQO,59b,59bOOQO-E6t-E6t",stateData:"&{~OmOSPOS~OSPOeQOgRO~OVUOZTO[TO]TO^WO_WO`WOaWObWOtVOuWO~ORZO~PeOVUOZTO[TO]TO^WO_WO`WObWOtVOuWO~Oa[Od^O~P!aOX`ORnXVnXZnX[nX]nX^nX_nX`nXanXbnXtnXunXdnX~OVbOZTO[TO]TOsoP~ORfO~PeOdhO~PeOVbOZTO[TO]TOWoP~OrjOsoXWoX~OslO~OdmO~PeOWnO~OVbOZTO[TO]TOrjXsjXWjX~OrjOsoaWoa~Og[]a_^`bVmPZ`~",goto:"#brPPPPPswPPP!PPPPPPPPPwPPsP!S!Y!hPPP!n!v!|#TTROS]WPQY[]gRaUQSOR_SQYPQ]QUeY]gRg[QkcRpk]XPQY[]gQdVRi`ScV`Roj[WPQY[]gVbV`j",nodeNames:"\u26A0 BlockComment Template }} {{ InsertBlock Function Identifier ) ( FunctionParamList String Boolean Number ChainedIdentifier Comparison Operator CodeTag Math Array %} {% CodeBlock PlainText",maxTerm:37,nodeProps:[["openedBy",3,"{{",8,"(",20,"{%"],["closedBy",4,"}}",9,")",21,"%}"]],skippedNodes:[0,1],repeatNodeCount:3,tokenData:"#Jr~R!^OX$}XY&ZYZ&ZZ]$}]^&Z^p$}pq&Zqr'Wrs(Ysu$}uv-cvw$}wx.gxy3Wyz3nz{4U{|4r|}5Y}!O5r!O!P>u!P!Q?]!Q!R:[!R![=m![!]?y!]!^$}!^!_@a!_!`@}!`!a@a!a!c$}!c!}6}!}#OAk#O#P$}#P#QBR#Q#R$}#R#S6}#S#T$}#T#UBi#U#V!'f#V#X6}#X#Y!,h#Y#Z# Y#Z#]6}#]#^#'g#^#a6}#a#b#.T#b#c#5r#c#d#8[#d#g6}#g#h#9h#h#i#AV#i#j!.Q#j#k!@V#k#l#Co#l#o6}#o#p#Ge#p#q>u#q#r#In#r;'S$};'S;=`&O<%lO$}P%STgPO#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}P%fWOs$}tu$}v#o$}#p;'S$};'S;=`&O<%l~$}~O$}~~&UP&RP;=`<%l$}P&ZOgP~&b[gPm~OX$}XY&ZYZ&ZZ]$}]^&Z^p$}pq&Zq#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}~']VgPO!_$}!_!`'r!`#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}~'yTgP_~O#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}~(aXgPZ~Or(Yrs(|s#O(Y#O#P)d#P#o(Y#o#p){#p;'S(Y;'S;=`,n<%lO(Y~)TTgPZ~O#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}~)iUgPO#o(Y#o#p){#p;'S(Y;'S;=`,t;=`<%l*|<%lO(Y~*Q^Z~Or(Yrs(|st*|tu(Yuv*|v#O(Y#O#P)d#P#o(Y#o#p*|#p;'S(Y;'S;=`,n<%l~(Y~O(Y~~&U~+RVZ~Or*|rs+hs#O*|#O#P+m#P;'S*|;'S;=`,h<%lO*|~+mOZ~~+pRO;'S*|;'S;=`+y;=`O*|~,OWZ~Or*|rs+hs#O*|#O#P+m#P;'S*|;'S;=`,h;=`<%l*|<%lO*|~,kP;=`<%l*|~,qP;=`<%l(Y~,yWZ~Or*|rs+hs#O*|#O#P+m#P;'S*|;'S;=`,h;=`<%l(Y<%lO*|~-jVgPb~O#o$}#o#p%c#p#q$}#q#r.P#r;'S$};'S;=`&O<%lO$}R.WTdQgPO#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}~.nXgPZ~Ow.gwx(|x#O.g#O#P/Z#P#o.g#o#p/r#p;'S.g;'S;=`2c<%lO.g~/`UgPO#o.g#o#p/r#p;'S.g;'S;=`2i;=`<%l0v<%lO.g~/w_Z~Os.gst0vtu.guv0vvw.gwx(|x#O.g#O#P/Z#P#o.g#o#p0v#p;'S.g;'S;=`2c<%l~.g~O.g~~&U~0{VZ~Ow0vwx+hx#O0v#O#P1b#P;'S0v;'S;=`2]<%lO0v~1eRO;'S0v;'S;=`1n;=`O0v~1sWZ~Ow0vwx+hx#O0v#O#P1b#P;'S0v;'S;=`2];=`<%l0v<%lO0v~2`P;=`<%l0v~2fP;=`<%l.g~2nWZ~Ow0vwx+hx#O0v#O#P1b#P;'S0v;'S;=`2];=`<%l.g<%lO0vR3_TXQgPO#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}V3uTWUgPO#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}~4]VgPb~Oz$}z{4r{#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}~4yTgPb~O#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}V5cTrSuQgPO#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}~5{`gPb~V~O}$}}!O6}!O!P8T!P!Q$}!Q!R:[!R![=m![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~7U_gPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~8Y^gPO}$}}!O9U!O!Q$}!Q![9U![!c$}!c!}9U!}#R$}#R#S9U#S#T$}#T#o9U#o#p%c#p;'S$};'S;=`&O<%lO$}~9]_gP^~O}$}}!O9U!O!P8T!P!Q$}!Q![9U![!c$}!c!}9U!}#R$}#R#S9U#S#T$}#T#o9U#o#p%c#p;'S$};'S;=`&O<%lO$}~:e_gP]~V~O}$}}!O6}!O!P;d!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~;i^gPO}$}}!O9U!O!Q$}!Q![<e![!c$}!c!}9U!}#R$}#R#S9U#S#T$}#T#o9U#o#p%c#p;'S$};'S;=`&O<%lO$}~<n_gP]~^~O}$}}!O9U!O!P8T!P!Q$}!Q![<e![!c$}!c!}9U!}#R$}#R#S9U#S#T$}#T#o9U#o#p%c#p;'S$};'S;=`&O<%lO$}~=v_gP]~V~O}$}}!O6}!O!P;d!P!Q$}!Q![=m![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~>|TgP`~O#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}~?dVgPb~O!P$}!P!Q4r!Q#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}R@QTuQgPO#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}~@hVgP_~O!_$}!_!`'r!`#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}~AUVgP`~O!_$}!_!`'r!`#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}RArTtQgPO#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}VBYTsUgPO#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}~BpegPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#b6}#b#cDR#c#d6}#d#eFg#e#i6}#i#jKe#j#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~DYagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#W6}#W#XE_#X#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~Eh_gP_~V~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~FnagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#d6}#d#eGs#e#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~GzagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#`6}#`#aIP#a#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~IWagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#m6}#m#nJ]#n#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~Jf_gPa~V~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~KlagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#h6}#h#iLq#i#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~LxagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#c6}#c#dM}#d#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~NUagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#X6}#X#Y! Z#Y#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~! bagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#g6}#g#h!!g#h#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!!nagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#V6}#V#W!#s#W#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!#z`gPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#U!$|#U#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!%TagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#d6}#d#e!&Y#e#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!&aagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#X6}#X#YJ]#Y#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!'magPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#`6}#`#a!(r#a#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!(yagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#c6}#c#d!*O#d#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!*VagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#V6}#V#W!+[#W#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!+cagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#_6}#_#`J]#`#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!,oegPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#`6}#`#a!.Q#a#b6}#b#c!/^#c#l6}#l#m!Hz#m#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!.XagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#g6}#g#h!&Y#h#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!/eagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#W6}#W#X!0j#X#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!0qkgPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#U!2f#U#V!'f#V#Y6}#Y#Z!3x#Z#]6}#]#^!6b#^#a6}#a#b!7n#b#g6}#g#h!<m#h#j6}#j#k!@V#k#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!2mcgPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#d6}#d#eFg#e#i6}#i#jKe#j#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!4PagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#c6}#c#d!5U#d#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!5]agPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#f6}#f#gJ]#g#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!6iagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#Y6}#Y#ZJ]#Z#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!7u`gPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#U!8w#U#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!9OagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#V6}#V#W!:T#W#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!:[agPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#f6}#f#g!;a#g#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!;hagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#c6}#c#dJ]#d#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!<tagPV~Op$}pq!=yq}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!>OVgPO#k$}#k#l!>e#l#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}~!>jVgPO#]$}#]#^!?P#^#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}~!?UVgPO#h$}#h#i!?k#i#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}~!?pVgPO#[$}#[#]'r#]#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}~!@^agPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#X6}#X#Y!Ac#Y#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!AjagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#f6}#f#g!Bo#g#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!BvagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#U6}#U#V!C{#V#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!DS`gPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#U!EU#U#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!E]agPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#h6}#h#i!Fb#i#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!FiagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#]6}#]#^!Gn#^#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!GuagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#a6}#a#bJ]#b#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!IRagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#h6}#h#i!JW#i#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!J_agPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#X6}#X#Y!Kd#Y#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!KkagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#b6}#b#c!Lp#c#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!LwagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#W6}#W#X!M|#X#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!NTagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#g6}#g#hJ]#h#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~# abgPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#U#!i#U#c6}#c#d!5U#d#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#!pagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#`6}#`#a##u#a#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~##|agPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#g6}#g#h#%R#h#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#%YagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#X6}#X#Y#&_#Y#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#&h_gP[~V~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#'negPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#Y6}#Y#ZJ]#Z#b6}#b#c#)P#c#g6}#g#hE_#h#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#)YagP_~V~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#V6}#V#W#*_#W#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#*fagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#`6}#`#a#+k#a#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#+ragPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#i6}#i#j#,w#j#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#-OagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#W6}#W#X!&Y#X#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#.[`gPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#U#/^#U#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#/ecgPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#V6}#V#W!:T#W#h6}#h#i#0p#i#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#0wagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#V6}#V#W#1|#W#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#2TagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#[6}#[#]#3Y#]#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#3aagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#X6}#X#Y#4f#Y#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#4magPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#g6}#g#hE_#h#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#5yagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#c6}#c#d#7O#d#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#7VagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#h6}#h#iE_#i#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#8cagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#f6}#f#gE_#g#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#9ocgPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#X6}#X#Y#:z#Y#h6}#h#i#<W#i#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#;RagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#h6}#h#iJ]#i#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#<_`gPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#U#=a#U#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#=hagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#f6}#f#g#>m#g#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#>tagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#h6}#h#i#?y#i#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#@QagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#g6}#g#h!<m#h#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#A^agPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#f6}#f#g#Bc#g#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#BjagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#i6}#i#j#%R#j#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#CvagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#]6}#]#^#D{#^#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#ESagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#h6}#h#i#FX#i#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#F`agPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#[6}#[#]J]#]#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#GjZuQOs$}st#H]tu$}uv#Idv#o$}#o#p#Ii#p;'S$};'S;=`&O<%l~$}~O$}~~&U~#H`TOs#H]st#Hot;'S#H];'S;=`#I^<%lO#H]~#HrVOs#H]st#Hot#q#H]#q#r#IX#r;'S#H];'S;=`#I^<%lO#H]~#I^OP~~#IaP;=`<%l#H]P#IiOePP#InOSPR#IuVuQgPO#o$}#o#p%c#p#q$}#q#r#J[#r;'S$};'S;=`&O<%lO$}R#JcTRQgPO#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}",tokenizers:[0,1,2],topRules:{Template:[0,2]},tokenPrec:259}),hP=ue.define({parser:aP.configure({props:[se({Identifier:u.variableName,Boolean:u.bool,String:u.string,Number:u.number,BlockComment:u.blockComment,CodeTag:u.keyword,Comparison:u.compareOperator,Operator:u.operator,Math:u.arithmeticOperator,"Function/Identifier":u.function(u.definition(u.variableName)),"( )":u.paren,"{ }":u.brace,"{{ }} {% %}":u.meta})]}),languageData:{commentTokens:{block:{open:"{#",close:"#}"}}}});function qd(){return new oe(hP)}var yl=1,cP=2,fP=3,uP=4,dP=5,pP=36,mP=37,gP=38,$P=11,QP=13;function SP(i){return i==45||i==46||i==58||i>=65&&i<=90||i==95||i>=97&&i<=122||i>=161}function yP(i){return i==9||i==10||i==13||i==32}var Vd=null,Cd=null,Ud=0;function Pl(i,e){let t=i.pos+e;if(Cd==i&&Ud==t)return Vd;for(;yP(i.peek(e));)e++;let n="";for(;;){let r=i.peek(e);if(!SP(r))break;n+=String.fromCharCode(r),e++}return Cd=i,Ud=t,Vd=n||null}function Ad(i,e){this.name=i,this.parent=e}var PP=new Lt({start:null,shift(i,e,t,n){return e==yl?new Ad(Pl(n,1)||"",i):i},reduce(i,e){return e==$P&&i?i.parent:i},reuse(i,e,t,n){let r=e.type.id;return r==yl||r==QP?new Ad(Pl(n,1)||"",i):i},strict:!1}),bP=new te((i,e)=>{if(i.next==60){if(i.advance(),i.next==47){i.advance();let t=Pl(i,0);if(!t)return i.acceptToken(dP);if(e.context&&t==e.context.name)return i.acceptToken(cP);for(let n=e.context;n;n=n.parent)if(n.name==t)return i.acceptToken(fP,-2);i.acceptToken(uP)}else if(i.next!=33&&i.next!=63)return i.acceptToken(yl)}},{contextual:!0});function bl(i,e){return new te(t=>{let n=0,r=e.charCodeAt(0);e:for(;!(t.next<0);t.advance(),n++)if(t.next==r){for(let s=1;s<e.length;s++)if(t.peek(s)!=e.charCodeAt(s))continue e;break}n&&t.acceptToken(i)})}var xP=bl(pP,"-->"),kP=bl(mP,"?>"),wP=bl(gP,"]]>"),vP=se({Text:u.content,"StartTag StartCloseTag EndTag SelfCloseEndTag":u.angleBracket,TagName:u.tagName,"MismatchedCloseTag/TagName":[u.tagName,u.invalid],AttributeName:u.attributeName,AttributeValue:u.attributeValue,Is:u.definitionOperator,"EntityReference CharacterReference":u.character,Comment:u.blockComment,ProcessingInst:u.processingInstruction,DoctypeDecl:u.documentMeta,Cdata:u.special(u.string)}),Yd=me.deserialize({version:14,states:",lOQOaOOOrOxO'#CfOzOpO'#CiO!tOaO'#CgOOOP'#Cg'#CgO!{OrO'#CrO#TOtO'#CsO#]OpO'#CtOOOP'#DT'#DTOOOP'#Cv'#CvQQOaOOOOOW'#Cw'#CwO#eOxO,59QOOOP,59Q,59QOOOO'#Cx'#CxO#mOpO,59TO#uO!bO,59TOOOP'#C|'#C|O$TOaO,59RO$[OpO'#CoOOOP,59R,59ROOOQ'#C}'#C}O$dOrO,59^OOOP,59^,59^OOOS'#DO'#DOO$lOtO,59_OOOP,59_,59_O$tOpO,59`O$|OpO,59`OOOP-E6t-E6tOOOW-E6u-E6uOOOP1G.l1G.lOOOO-E6v-E6vO%UO!bO1G.oO%UO!bO1G.oO%dOpO'#CkO%lO!bO'#CyO%zO!bO1G.oOOOP1G.o1G.oOOOP1G.w1G.wOOOP-E6z-E6zOOOP1G.m1G.mO&VOpO,59ZO&_OpO,59ZOOOQ-E6{-E6{OOOP1G.x1G.xOOOS-E6|-E6|OOOP1G.y1G.yO&gOpO1G.zO&gOpO1G.zOOOP1G.z1G.zO&oO!bO7+$ZO&}O!bO7+$ZOOOP7+$Z7+$ZOOOP7+$c7+$cO'YOpO,59VO'bOpO,59VO'mO!bO,59eOOOO-E6w-E6wO'{OpO1G.uO'{OpO1G.uOOOP1G.u1G.uO(TOpO7+$fOOOP7+$f7+$fO(]O!bO<<GuOOOP<<Gu<<GuOOOP<<G}<<G}O'bOpO1G.qO'bOpO1G.qO(hO#tO'#CnO(vO&jO'#CnOOOO1G.q1G.qO)UOpO7+$aOOOP7+$a7+$aOOOP<<HQ<<HQOOOPAN=aAN=aOOOPAN=iAN=iO'bOpO7+$]OOOO7+$]7+$]OOOO'#Cz'#CzO)^O#tO,59YOOOO,59Y,59YOOOO'#C{'#C{O)lO&jO,59YOOOP<<G{<<G{OOOO<<Gw<<GwOOOO-E6x-E6xOOOO1G.t1G.tOOOO-E6y-E6y",stateData:")z~OPQOSVOTWOVWOWWOXWOiXOyPO!QTO!SUO~OvZOx]O~O^`Oz^O~OPQOQcOSVOTWOVWOWWOXWOyPO!QTO!SUO~ORdO~P!SOteO!PgO~OuhO!RjO~O^lOz^O~OvZOxoO~O^qOz^O~O[vO`sOdwOz^O~ORyO~P!SO^{Oz^O~OteO!P}O~OuhO!R!PO~O^!QOz^O~O[!SOz^O~O[!VO`sOd!WOz^O~Oa!YOz^O~Oz^O[mX`mXdmX~O[!VO`sOd!WO~O^!]Oz^O~O[!_Oz^O~O[!aOz^O~O[!cO`sOd!dOz^O~O[!cO`sOd!dO~Oa!eOz^O~Oz^O{!gO}!hO~Oz^O[ma`madma~O[!kOz^O~O[!lOz^O~O[!mO`sOd!nO~OW!qOX!qO{!sO|!qO~OW!tOX!tO}!sO!O!tO~O[!vOz^O~OW!qOX!qO{!yO|!qO~OW!tOX!tO}!yO!O!tO~O",goto:"%cxPPPPPPPPPPyyP!PP!VPP!`!jP!pyyyP!v!|#S$[$k$q$w$}%TPPPP%ZXWORYbXRORYb_t`qru!T!U!bQ!i!YS!p!e!fR!w!oQdRRybXSORYbQYORmYQ[PRn[Q_QQkVjp_krz!R!T!X!Z!^!`!f!j!oQr`QzcQ!RlQ!TqQ!XsQ!ZtQ!^{Q!`!QQ!f!YQ!j!]R!o!eQu`S!UqrU![u!U!bR!b!TQ!r!gR!x!rQ!u!hR!z!uQbRRxbQfTR|fQiUR!OiSXOYTaRb",nodeNames:"\u26A0 StartTag StartCloseTag MissingCloseTag StartCloseTag StartCloseTag Document Text EntityReference CharacterReference Cdata Element EndTag OpenTag TagName Attribute AttributeName Is AttributeValue CloseTag SelfCloseEndTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag DoctypeDecl",maxTerm:50,context:PP,nodeProps:[["closedBy",1,"SelfCloseEndTag EndTag",13,"CloseTag MissingCloseTag"],["openedBy",12,"StartTag StartCloseTag",19,"OpenTag",20,"StartTag"],["isolate",-6,13,18,19,21,22,24,""]],propSources:[vP],skippedNodes:[0],repeatNodeCount:9,tokenData:"!)v~R!YOX$qXY)iYZ)iZ]$q]^)i^p$qpq)iqr$qrs*vsv$qvw+fwx/ix}$q}!O0[!O!P$q!P!Q2z!Q![$q![!]4n!]!^$q!^!_8U!_!`!#t!`!a!$l!a!b!%d!b!c$q!c!}4n!}#P$q#P#Q!'W#Q#R$q#R#S4n#S#T$q#T#o4n#o%W$q%W%o4n%o%p$q%p&a4n&a&b$q&b1p4n1p4U$q4U4d4n4d4e$q4e$IS4n$IS$I`$q$I`$Ib4n$Ib$Kh$q$Kh%#t4n%#t&/x$q&/x&Et4n&Et&FV$q&FV;'S4n;'S;:j8O;:j;=`)c<%l?&r$q?&r?Ah4n?Ah?BY$q?BY?Mn4n?MnO$qi$zXVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qa%nVVP!O`Ov%gwx&Tx!^%g!^!_&o!_;'S%g;'S;=`'W<%lO%gP&YTVPOv&Tw!^&T!_;'S&T;'S;=`&i<%lO&TP&lP;=`<%l&T`&tS!O`Ov&ox;'S&o;'S;=`'Q<%lO&o`'TP;=`<%l&oa'ZP;=`<%l%gX'eWVP|WOr'^rs&Tsv'^w!^'^!^!_'}!_;'S'^;'S;=`(i<%lO'^W(ST|WOr'}sv'}w;'S'};'S;=`(c<%lO'}W(fP;=`<%l'}X(lP;=`<%l'^h(vV|W!O`Or(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(oh)`P;=`<%l(oi)fP;=`<%l$qo)t`VP|W!O`zUOX$qXY)iYZ)iZ]$q]^)i^p$qpq)iqr$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qk+PV{YVP!O`Ov%gwx&Tx!^%g!^!_&o!_;'S%g;'S;=`'W<%lO%g~+iast,n![!]-r!c!}-r#R#S-r#T#o-r%W%o-r%p&a-r&b1p-r4U4d-r4e$IS-r$I`$Ib-r$Kh%#t-r&/x&Et-r&FV;'S-r;'S;:j/c?&r?Ah-r?BY?Mn-r~,qQ!Q![,w#l#m-V~,zQ!Q![,w!]!^-Q~-VOX~~-YR!Q![-c!c!i-c#T#Z-c~-fS!Q![-c!]!^-Q!c!i-c#T#Z-c~-ug}!O-r!O!P-r!Q![-r![!]-r!]!^/^!c!}-r#R#S-r#T#o-r$}%O-r%W%o-r%p&a-r&b1p-r1p4U-r4U4d-r4e$IS-r$I`$Ib-r$Je$Jg-r$Kh%#t-r&/x&Et-r&FV;'S-r;'S;:j/c?&r?Ah-r?BY?Mn-r~/cOW~~/fP;=`<%l-rk/rW}bVP|WOr'^rs&Tsv'^w!^'^!^!_'}!_;'S'^;'S;=`(i<%lO'^k0eZVP|W!O`Or$qrs%gsv$qwx'^x}$q}!O1W!O!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qk1aZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_!`$q!`!a2S!a;'S$q;'S;=`)c<%lO$qk2_X!PQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qm3TZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_!`$q!`!a3v!a;'S$q;'S;=`)c<%lO$qm4RXdSVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qo4{!P`S^QVP|W!O`Or$qrs%gsv$qwx'^x}$q}!O4n!O!P4n!P!Q$q!Q![4n![!]4n!]!^$q!^!_(o!_!c$q!c!}4n!}#R$q#R#S4n#S#T$q#T#o4n#o$}$q$}%O4n%O%W$q%W%o4n%o%p$q%p&a4n&a&b$q&b1p4n1p4U4n4U4d4n4d4e$q4e$IS4n$IS$I`$q$I`$Ib4n$Ib$Je$q$Je$Jg4n$Jg$Kh$q$Kh%#t4n%#t&/x$q&/x&Et4n&Et&FV$q&FV;'S4n;'S;:j8O;:j;=`)c<%l?&r$q?&r?Ah4n?Ah?BY$q?BY?Mn4n?MnO$qo8RP;=`<%l4ni8]Y|W!O`Oq(oqr8{rs&osv(owx'}x!a(o!a!b!#U!b;'S(o;'S;=`)]<%lO(oi9S_|W!O`Or(ors&osv(owx'}x}(o}!O:R!O!f(o!f!g;e!g!}(o!}#ODh#O#W(o#W#XLp#X;'S(o;'S;=`)]<%lO(oi:YX|W!O`Or(ors&osv(owx'}x}(o}!O:u!O;'S(o;'S;=`)]<%lO(oi;OV!QP|W!O`Or(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(oi;lX|W!O`Or(ors&osv(owx'}x!q(o!q!r<X!r;'S(o;'S;=`)]<%lO(oi<`X|W!O`Or(ors&osv(owx'}x!e(o!e!f<{!f;'S(o;'S;=`)]<%lO(oi=SX|W!O`Or(ors&osv(owx'}x!v(o!v!w=o!w;'S(o;'S;=`)]<%lO(oi=vX|W!O`Or(ors&osv(owx'}x!{(o!{!|>c!|;'S(o;'S;=`)]<%lO(oi>jX|W!O`Or(ors&osv(owx'}x!r(o!r!s?V!s;'S(o;'S;=`)]<%lO(oi?^X|W!O`Or(ors&osv(owx'}x!g(o!g!h?y!h;'S(o;'S;=`)]<%lO(oi@QY|W!O`Or?yrs@psv?yvwA[wxBdx!`?y!`!aCr!a;'S?y;'S;=`Db<%lO?ya@uV!O`Ov@pvxA[x!`@p!`!aAy!a;'S@p;'S;=`B^<%lO@pPA_TO!`A[!`!aAn!a;'SA[;'S;=`As<%lOA[PAsOiPPAvP;=`<%lA[aBQSiP!O`Ov&ox;'S&o;'S;=`'Q<%lO&oaBaP;=`<%l@pXBiX|WOrBdrsA[svBdvwA[w!`Bd!`!aCU!a;'SBd;'S;=`Cl<%lOBdXC]TiP|WOr'}sv'}w;'S'};'S;=`(c<%lO'}XCoP;=`<%lBdiC{ViP|W!O`Or(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(oiDeP;=`<%l?yiDoZ|W!O`Or(ors&osv(owx'}x!e(o!e!fEb!f#V(o#V#WIr#W;'S(o;'S;=`)]<%lO(oiEiX|W!O`Or(ors&osv(owx'}x!f(o!f!gFU!g;'S(o;'S;=`)]<%lO(oiF]X|W!O`Or(ors&osv(owx'}x!c(o!c!dFx!d;'S(o;'S;=`)]<%lO(oiGPX|W!O`Or(ors&osv(owx'}x!v(o!v!wGl!w;'S(o;'S;=`)]<%lO(oiGsX|W!O`Or(ors&osv(owx'}x!c(o!c!dH`!d;'S(o;'S;=`)]<%lO(oiHgX|W!O`Or(ors&osv(owx'}x!}(o!}#OIS#O;'S(o;'S;=`)]<%lO(oiI]V|W!O`yPOr(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(oiIyX|W!O`Or(ors&osv(owx'}x#W(o#W#XJf#X;'S(o;'S;=`)]<%lO(oiJmX|W!O`Or(ors&osv(owx'}x#T(o#T#UKY#U;'S(o;'S;=`)]<%lO(oiKaX|W!O`Or(ors&osv(owx'}x#h(o#h#iK|#i;'S(o;'S;=`)]<%lO(oiLTX|W!O`Or(ors&osv(owx'}x#T(o#T#UH`#U;'S(o;'S;=`)]<%lO(oiLwX|W!O`Or(ors&osv(owx'}x#c(o#c#dMd#d;'S(o;'S;=`)]<%lO(oiMkX|W!O`Or(ors&osv(owx'}x#V(o#V#WNW#W;'S(o;'S;=`)]<%lO(oiN_X|W!O`Or(ors&osv(owx'}x#h(o#h#iNz#i;'S(o;'S;=`)]<%lO(oi! RX|W!O`Or(ors&osv(owx'}x#m(o#m#n! n#n;'S(o;'S;=`)]<%lO(oi! uX|W!O`Or(ors&osv(owx'}x#d(o#d#e!!b#e;'S(o;'S;=`)]<%lO(oi!!iX|W!O`Or(ors&osv(owx'}x#X(o#X#Y?y#Y;'S(o;'S;=`)]<%lO(oi!#_V!SP|W!O`Or(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(ok!$PXaQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qo!$wX[UVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qk!%mZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_!`$q!`!a!&`!a;'S$q;'S;=`)c<%lO$qk!&kX!RQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qk!'aZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_#P$q#P#Q!(S#Q;'S$q;'S;=`)c<%lO$qk!(]ZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_!`$q!`!a!)O!a;'S$q;'S;=`)c<%lO$qk!)ZXxQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$q",tokenizers:[bP,xP,kP,wP,0,1,2,3,4],topRules:{Document:[0,6]},tokenPrec:0});function Os(i,e){let t=e&&e.getChild("TagName");return t?i.sliceString(t.from,t.to):""}function xl(i,e){let t=e&&e.firstChild;return!t||t.name!="OpenTag"?"":Os(i,t)}function TP(i,e,t){let n=e&&e.getChildren("Attribute").find(s=>s.from<=t&&s.to>=t),r=n&&n.getChild("AttributeName");return r?i.sliceString(r.from,r.to):""}function kl(i){for(let e=i&&i.parent;e;e=e.parent)if(e.name=="Element")return e;return null}function zP(i,e){var t;let n=L(i).resolveInner(e,-1),r=null;for(let s=n;!r&&s.parent;s=s.parent)(s.name=="OpenTag"||s.name=="CloseTag"||s.name=="SelfClosingTag"||s.name=="MismatchedCloseTag")&&(r=s);if(r&&(r.to>e||r.lastChild.type.isError)){let s=r.parent;if(n.name=="TagName")return r.name=="CloseTag"||r.name=="MismatchedCloseTag"?{type:"closeTag",from:n.from,context:s}:{type:"openTag",from:n.from,context:kl(s)};if(n.name=="AttributeName")return{type:"attrName",from:n.from,context:r};if(n.name=="AttributeValue")return{type:"attrValue",from:n.from,context:r};let o=n==r||n.name=="Attribute"?n.childBefore(e):n;return o?.name=="StartTag"?{type:"openTag",from:e,context:kl(s)}:o?.name=="StartCloseTag"&&o.to<=e?{type:"closeTag",from:e,context:s}:o?.name=="Is"?{type:"attrValue",from:e,context:r}:o?{type:"attrName",from:e,context:r}:null}else if(n.name=="StartCloseTag")return{type:"closeTag",from:e,context:n.parent};for(;n.parent&&n.to==e&&!(!((t=n.lastChild)===null||t===void 0)&&t.type.isError);)n=n.parent;return n.name=="Element"||n.name=="Text"||n.name=="Document"?{type:"tag",from:e,context:n.name=="Element"?n:kl(n)}:null}var vl=class{constructor(e,t,n){this.attrs=t,this.attrValues=n,this.children=[],this.name=e.name,this.completion=Object.assign(Object.assign({type:"type"},e.completion||{}),{label:this.name}),this.openCompletion=Object.assign(Object.assign({},this.completion),{label:"<"+this.name}),this.closeCompletion=Object.assign(Object.assign({},this.completion),{label:"</"+this.name+">",boost:2}),this.closeNameCompletion=Object.assign(Object.assign({},this.completion),{label:this.name+">"}),this.text=e.textContent?e.textContent.map(r=>({label:r,type:"text"})):[]}},wl=/^[:\-\.\w\u00b7-\uffff]*$/;function _d(i){return Object.assign(Object.assign({type:"property"},i.completion||{}),{label:i.name})}function jd(i){return typeof i=="string"?{label:`"${i}"`,type:"constant"}:/^"/.test(i.label)?i:Object.assign(Object.assign({},i),{label:`"${i.label}"`})}function XP(i,e){let t=[],n=[],r=Object.create(null);for(let l of e){let a=_d(l);t.push(a),l.global&&n.push(a),l.values&&(r[l.name]=l.values.map(jd))}let s=[],o=[],O=Object.create(null);for(let l of i){let a=n,h=r;l.attributes&&(a=a.concat(l.attributes.map(f=>typeof f=="string"?t.find(d=>d.label==f)||{label:f,type:"property"}:(f.values&&(h==r&&(h=Object.create(h)),h[f.name]=f.values.map(jd)),_d(f)))));let c=new vl(l,a,h);O[c.name]=c,s.push(c),l.top&&o.push(c)}o.length||(o=s);for(let l=0;l<s.length;l++){let a=i[l],h=s[l];if(a.children)for(let c of a.children)O[c]&&h.children.push(O[c]);else h.children=s}return l=>{var a;let{doc:h}=l.state,c=zP(l.state,l.pos);if(!c||c.type=="tag"&&!l.explicit)return null;let{type:f,from:d,context:p}=c;if(f=="openTag"){let m=o,g=xl(h,p);if(g){let $=O[g];m=$?.children||s}return{from:d,options:m.map($=>$.completion),validFor:wl}}else if(f=="closeTag"){let m=xl(h,p);return m?{from:d,to:l.pos+(h.sliceString(l.pos,l.pos+1)==">"?1:0),options:[((a=O[m])===null||a===void 0?void 0:a.closeNameCompletion)||{label:m+">",type:"type"}],validFor:wl}:null}else if(f=="attrName"){let m=O[Os(h,p)];return{from:d,options:m?.attrs||n,validFor:wl}}else if(f=="attrValue"){let m=TP(h,p,d);if(!m)return null;let g=O[Os(h,p)],$=(g?.attrValues||r)[m];return!$||!$.length?null:{from:d,to:l.pos+(h.sliceString(l.pos,l.pos+1)=='"'?1:0),options:$,validFor:/^"[^"]*"?$/}}else if(f=="tag"){let m=xl(h,p),g=O[m],$=[],Q=p&&p.lastChild;m&&(!Q||Q.name!="CloseTag"||Os(h,Q)!=m)&&$.push(g?g.closeCompletion:{label:"</"+m+">",type:"type",boost:2});let b=$.concat((g?.children||(p?s:o)).map(k=>k.openCompletion));if(p&&g?.text.length){let k=p.firstChild;k.to>l.pos-20&&!/\S/.test(l.state.sliceDoc(k.to,l.pos))&&(b=b.concat(g.text))}return{from:d,options:b,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}else return null}}var Tl=ue.define({name:"xml",parser:Yd.configure({props:[de.add({Element(i){let e=/^\s*<\//.test(i.textAfter);return i.lineIndent(i.node.from)+(e?0:i.unit)},"OpenTag CloseTag SelfClosingTag"(i){return i.column(i.node.from)+i.unit}}),Pe.add({Element(i){let e=i.firstChild,t=i.lastChild;return!e||e.name!="OpenTag"?null:{from:e.to,to:t.name=="CloseTag"?t.from:i.to}}}),$n.add({"OpenTag CloseTag":i=>i.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:"<!--",close:"-->"}},indentOnInput:/^\s*<\/$/}});function Ed(i={}){let e=[Tl.data.of({autocomplete:XP(i.elements||[],i.attributes||[])})];return i.autoCloseTags!==!1&&e.push(RP),new oe(Tl,e)}function Md(i,e,t=i.length){if(!e)return"";let n=e.firstChild,r=n&&n.getChild("TagName");return r?i.sliceString(r.from,Math.min(r.to,t)):""}var RP=v.inputHandler.of((i,e,t,n,r)=>{if(i.composing||i.state.readOnly||e!=t||n!=">"&&n!="/"||!Tl.isActiveAt(i.state,e,-1))return!1;let s=r(),{state:o}=s,O=o.changeByRange(l=>{var a,h,c;let{head:f}=l,d=o.doc.sliceString(f-1,f)==n,p=L(o).resolveInner(f,-1),m;if(d&&n==">"&&p.name=="EndTag"){let g=p.parent;if(((h=(a=g.parent)===null||a===void 0?void 0:a.lastChild)===null||h===void 0?void 0:h.name)!="CloseTag"&&(m=Md(o.doc,g.parent,f))){let $=f+(o.doc.sliceString(f,f+1)===">"?1:0),Q=`</${m}>`;return{range:l,changes:{from:f,to:$,insert:Q}}}}else if(d&&n=="/"&&p.name=="StartCloseTag"){let g=p.parent;if(p.from==f-2&&((c=g.lastChild)===null||c===void 0?void 0:c.name)!="CloseTag"&&(m=Md(o.doc,g,f))){let $=f+(o.doc.sliceString(f,f+1)===">"?1:0),Q=`${m}>`;return{range:S.cursor(f+Q.length,-1),changes:{from:f,to:$,insert:Q}}}}return{range:l}});return O.changes.empty?!1:(i.dispatch([s,o.update(O,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var R=async i=>{let e=await window.importVersioned("legacy-modes");return Vr.define(e[i])},ZP={bash:()=>R("shell"),c:()=>R("c"),css:async()=>Nr(),"c++":()=>R("cpp"),"c#":()=>R("csharp"),clj:()=>R("clojure"),clojure:()=>R("clojure"),csharp:()=>R("csharp"),dart:()=>R("dart"),diff:()=>R("diff"),for:()=>R("fortran"),fortran:()=>R("fortran"),"f#":()=>R("fSharp"),fsharp:()=>R("fSharp"),go:()=>R("go"),haskell:()=>R("haskell"),hs:()=>R("haskell"),html:async()=>Vi({selfClosingTags:!0}),ini:()=>R("properties"),java:()=>R("java"),javascript:async()=>li(),json:async()=>Af(),js:async()=>li(),jl:()=>R("julia"),julia:()=>R("julia"),kotlin:()=>R("kotlin"),latex:()=>R("stex"),lua:()=>R("lua"),markdown:async()=>os(),matlab:()=>R("octave"),md:async()=>os(),mdown:async()=>os(),ml:()=>R("sml"),mssql:()=>R("msSQL"),mysql:()=>R("mySQL"),nginx:()=>R("nginx"),octave:()=>R("octave"),pas:()=>R("pascal"),pascal:()=>R("pascal"),perl:()=>R("perl"),pgsql:()=>R("pgSQL"),php:async i=>{let e=i.includes("<?php");return Wd({plain:!e})},pl:()=>R("perl"),"pl/sql":()=>R("plSQL"),postgresql:()=>R("pgSQL"),powershell:()=>R("powerShell"),properties:()=>R("properties"),ocaml:()=>R("oCaml"),py:()=>R("python"),python:()=>R("python"),r:()=>R("r"),rb:()=>R("ruby"),rs:()=>R("rust"),ruby:()=>R("ruby"),rust:()=>R("rust"),sas:()=>R("sas"),scala:()=>R("scala"),scheme:()=>R("scheme"),shell:()=>R("shell"),sh:()=>R("shell"),smarty:()=>R("smarty"),stext:()=>R("stex"),swift:()=>R("swift"),toml:()=>R("toml"),ts:async()=>li({typescript:!0}),twig:async()=>qd(),typescript:async()=>li({typescript:!0}),sql:()=>R("standardSQL"),sqlite:()=>R("sqlite"),vbs:()=>R("vbScript"),vbscript:()=>R("vbScript"),"vb.net":()=>R("vb"),vbnet:()=>R("vb"),xml:async()=>Ed(),yaml:()=>R("yaml"),yml:()=>R("yaml")};function Ld(i,e){let t=i.trim().replace(/^\./g,"").toLowerCase(),n=ZP[t];if(!(typeof n>"u"))return n(e)}var Gd=new WeakMap;function Ai(i,e){let t=new gt;e.extensions.push(t.of([]));let n={usage:i,editorViewConfig:e,libEditorView:v,libEditorState:D,libCompartment:gt};window.$events.emitPublic(e.parent,"library-cm6::pre-init",n);let r=new v(e);return Gd.set(r,t),window.$events.emitPublic(e.parent,"library-cm6::post-init",{editorView:r,...n}),r}async function Bd(i,e,t){let n=Gd.get(i),r=await Ld(e,t);i.dispatch({effects:n.reconfigure(r||[])})}var Gt=class{constructor(e){this.ev=e}getContent(){return this.ev.state.doc.toString()}setContent(e){let{doc:t}=this.ev.state;this.ev.dispatch({changes:{from:0,to:t.length,insert:e}})}focus(){this.ev.focus()}setMode(e,t=""){Bd(this.ev,e,t)}};function WP(i){let e='<svg viewBox="0 0 24 24" width="16" height="16" xmlns="http://www.w3.org/2000/svg"><path d="M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg>',t='<svg viewBox="0 0 24 24" width="16" height="16" xmlns="http://www.w3.org/2000/svg"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"/></svg>',n=document.createElement("button");n.setAttribute("type","button"),n.classList.add("cm-copy-button"),n.innerHTML=e,i.dom.appendChild(n);let r=620,s=60;n.addEventListener("click",()=>{Mh(i.state.doc.toString()),n.classList.add("success"),setTimeout(()=>{n.innerHTML=t},s/2),setTimeout(()=>{n.classList.remove("success")},r),setTimeout(()=>{n.innerHTML=e},r+s/2)})}function qP(i){let e="",t=i.querySelector("code");return t&&t.hasAttribute("dir")?e=t.getAttribute("dir"):i.hasAttribute("dir")&&(e=i.getAttribute("dir")),e}function Dd(i){let e=i.querySelector("code[class^=language-]");i.innerHTML=i.innerHTML.replace(/<br\s*\/?>/gi,` +`);let t=i.textContent.trimEnd(),n="";e!==null&&(n=e.className.replace("language-",""));let r=document.createElement("div");i.parentNode.insertBefore(r,i);let s=qP(i);s&&r.setAttribute("dir",s);let o=Ai("content-code-block",{parent:r,doc:t,extensions:mO(r)});new Gt(o).setMode(n,t),i.remove(),WP(o)}function wx(i){let e=i.querySelectorAll("pre");for(let t of e)Dd(t)}function vx(){let i=document.querySelectorAll(".page-content pre, .comment-box .content pre");for(let e of i)Dd(e)}function Tx(i,e,t,n){let r=Ai("content-code-block",{parent:i,doc:t,extensions:mO(i),root:e}),s=new Gt(r);return s.setMode(n,t),s}function zx(i,e){let t=i.textContent,n={parent:i.parentElement,doc:t,extensions:[...Br(i.parentElement)]},r=new Gt(Ai("code-editor",n));return r.setMode(e,t),i.style.display="none",r}function Xx(i,e){let t=i.value,n={parent:i.parentElement,doc:t,extensions:[...Br(i.parentElement),v.updateListener.of(o=>{o.docChanged&&(i.value=o.state.doc.toString())})]},r=Ai("code-input",n),s=new Gt(r);return s.setMode(e,t),i.style.display="none",s}function Rx(i,e,t,n){let r=i.textContent,s={parent:i.parentElement,doc:r,extensions:[ht.of(n),...Br(i.parentElement),v.updateListener.of(O=>{e(O)}),v.domEventHandlers(t)]};window.$events.emitPublic(i,"editor-markdown-cm6::pre-init",{editorViewConfig:s});let o=Ai("markdown-editor",s);return new Gt(o).setMode("markdown",""),i.style.display="none",o}export{vx as highlight,wx as highlightWithin,Xx as inlineEditor,Rx as markdownEditor,zx as popupEditor,Tx as wysiwygView}; //# sourceMappingURL=code.js.map diff --git a/public/dist/export-styles.css b/public/dist/export-styles.css index c90813d5d..8b8bcd253 100644 --- a/public/dist/export-styles.css +++ b/public/dist/export-styles.css @@ -1 +1 @@ -:root{--font-body: -apple-system, BlinkMacSystemFont, Segoe UI, Oxygen, Ubuntu, Roboto, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;--font-code: Lucida Console, DejaVu Sans Mono, Ubuntu Mono, Monaco, monospace;--color-primary: #206ea7;--color-primary-light: rgba(32,110,167,0.15);--color-link: #206ea7;--color-page: #206ea7;--color-page-draft: #7e50b1;--color-chapter: #af4d0d;--color-book: #077b70;--color-bookshelf: #a94747;--color-positive: #0f7d15;--color-negative: #ab0f0e;--color-info: #0288D1;--color-warning: #cf4d03;--bg-disabled: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='100%25' width='100%25'%3E%3Cdefs%3E%3Cpattern id='doodad' width='19' height='19' viewBox='0 0 40 40' patternUnits='userSpaceOnUse' patternTransform='rotate(143)'%3E%3Crect width='100%25' height='100%25' fill='rgba(42, 67, 101,0)'/%3E%3Cpath d='M-10 30h60v20h-60zM-10-10h60v20h-60' fill='rgba(26, 32, 44,0)'/%3E%3Cpath d='M-10 10h60v20h-60zM-10-30h60v20h-60z' fill='rgba(0, 0, 0,0.05)'/%3E%3C/pattern%3E%3C/defs%3E%3Crect fill='url(%23doodad)' height='200%25' width='200%25'/%3E%3C/svg%3E")}:root.dark-mode{--bg-disabled: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='100%25' width='100%25'%3E%3Cdefs%3E%3Cpattern id='doodad' width='19' height='19' viewBox='0 0 40 40' patternUnits='userSpaceOnUse' patternTransform='rotate(143)'%3E%3Crect width='100%25' height='100%25' fill='rgba(42, 67, 101,0)'/%3E%3Cpath d='M-10 30h60v20h-60zM-10-10h60v20h-60' fill='rgba(26, 32, 44,0)'/%3E%3Cpath d='M-10 10h60v20h-60zM-10-30h60v20h-60z' fill='rgba(255, 255, 255,0.05)'/%3E%3C/pattern%3E%3C/defs%3E%3Crect fill='url(%23doodad)' height='200%25' width='200%25'/%3E%3C/svg%3E");color-scheme:only dark;--color-positive: #4aa850;--color-negative: #e85c5b;--color-warning: #de8a5a}:root:not(.dark-mode){color-scheme:only light}*{box-sizing:border-box;outline-color:var(--color-primary);outline-width:1px}*:focus{outline-style:dotted}html{height:100%;overflow-y:scroll;background-color:#f2f2f2}html.flexbox{overflow-y:hidden}html.dark-mode{background-color:#111}body{font-size:14px;line-height:1.6;color:#444;-webkit-font-smoothing:antialiased;height:100%;display:flex;flex-direction:column}html.dark-mode body{color:#aaa}body,button,input,select,label,textarea{font-family:var(--font-body)}pre,#markdown-editor-input,.text-mono,.code-base,span.code,code{font-family:var(--font-code)}h1{font-size:3.425em;line-height:1.22222222em;margin-top:.48888889em;margin-bottom:.48888889em}h2{font-size:2.8275em;line-height:1.294117647em;margin-top:.8627451em;margin-bottom:.43137255em}h3{font-size:2.333em;line-height:1.221428572em;margin-top:.78571429em;margin-bottom:.43137255em}h4{font-size:1.666em;line-height:1.375em;margin-top:.78571429em;margin-bottom:.43137255em}h1,h2,h3,h4,h5,h6{font-weight:400;position:relative;display:block;font-family:var(--font-heading, var(--font-body));color:#222}html.dark-mode h1,html.dark-mode h2,html.dark-mode h3,html.dark-mode h4,html.dark-mode h5,html.dark-mode h6{color:#bbb}h5{font-size:1.4em}h5,h6{line-height:1.2em;margin-top:.78571429em;margin-bottom:.66em}@media screen and (max-width: 600px){h1{font-size:2.8275em}h2{font-size:2.333em}h3{font-size:1.666em}h4{font-size:1.333em}h5{font-size:1.161616em}}.list-heading{font-size:2rem}h2.list-heading{font-size:1.333rem}a{color:var(--color-link);fill:currentColor;cursor:pointer;text-decoration:none;transition:filter ease-in-out 80ms;line-height:1.6}a:hover{text-decoration:underline}a.icon{display:inline-block}a svg{position:relative;display:inline-block}a:focus img:only-child{outline:2px dashed var(--color-link);outline-offset:2px}a.no-link-style{color:inherit}a.no-link-style:hover{text-decoration:none}.blended-links a{color:inherit}.blended-links a svg{fill:currentColor}p,ul,ol,pre,table,blockquote{margin-top:.3em;margin-bottom:1.375em}hr{border:0;height:1px;background:#eaeaea;margin-bottom:24px}html.dark-mode hr{background:#555}hr.faded{background-image:linear-gradient(to right, #FFF, #e3e0e0 20%, #e3e0e0 80%, #FFF)}hr.darker{background:#ddd}html.dark-mode hr.darker{background:#666}hr.margin-top,hr.even{margin-top:24px}strong,b,.bold,.strong{font-weight:bold}strong>strong,strong>b,strong>.bold,strong>.strong,b>strong,b>b,b>.bold,b>.strong,.bold>strong,.bold>b,.bold>.bold,.bold>.strong,.strong>strong,.strong>b,.strong>.bold,.strong>.strong{font-weight:bolder}em,i,.italic{font-style:italic}small,p.small,span.small,.text-small{font-size:.75rem}sup,.superscript{vertical-align:super;font-size:.8em}sub,.subscript{vertical-align:sub;font-size:.8em}pre{font-size:12px;border:1px solid #ddd;background-color:#fff;border-color:#ddd;border-radius:4px;padding-inline-start:26px;position:relative;padding-top:3px;padding-bottom:3px}html.dark-mode pre{background-color:#2b2b2b}html.dark-mode pre{border-color:#111}pre:before{content:"";display:block;position:absolute;top:0;width:22.4px;inset-inline-start:0;height:100%;background-color:#f5f5f5;border-inline-end:1px solid #ddd}html.dark-mode pre:before{background-color:#313335}html.dark-mode pre:before{border-inline-end:none}@media print{pre{padding-left:12px}pre:before{display:none}}blockquote{display:block;position:relative;border-left:4px solid rgba(0,0,0,0);border-left-color:var(--color-primary);background-color:#f8f8f8;padding:12px 16px 12px 32px;overflow:auto}html.dark-mode blockquote{background-color:#333}blockquote:before{content:"“";font-size:2em;font-weight:bold;position:absolute;top:12px;left:12px;color:#777}.text-mono{font-family:var(--font-code)}.text-uppercase{text-transform:uppercase}.text-capitals{text-transform:capitalize}.code-base,span.code,code{font-size:.84em;border:1px solid #ddd;border-radius:3px;background-color:#f8f8f8;border-color:#ddd}html.dark-mode .code-base,html.dark-mode span.code,html.dark-mode code{background-color:#2b2b2b}html.dark-mode .code-base,html.dark-mode span.code,html.dark-mode code{border-color:#444}code{display:inline;padding:1px 3px;white-space:pre-wrap;line-height:1.2em}span.code{padding:1px 6px}pre code{background-color:rgba(0,0,0,0);border:0;font-size:1em;display:block;line-height:1.6}span.highlight{font-weight:bold;padding:2px 4px}ul,ol{padding-left:32px;padding-right:32px;display:flow-root}ul p,ol p{margin:0}ul{list-style:disc}ul ul{list-style:circle}ul label{margin:0}ol{list-style:decimal}li>ol,li>ul{margin-top:0;margin-bottom:0;margin-block-end:0;margin-block-start:0;padding-block-end:0;padding-block-start:0;padding-left:19.2px;padding-right:19.2px}li.checkbox-item,li.task-list-item{display:list-item;list-style:none;margin-left:-19.2px;margin-inline-start:-19.2px;margin-inline-end:0}li.checkbox-item input[type=checkbox],li.task-list-item input[type=checkbox]{margin-right:6px;margin-inline-end:6px;margin-inline-start:0}li.checkbox-item li.checkbox-item,li.checkbox-item li.task-list-item,li.task-list-item li.checkbox-item,li.task-list-item li.task-list-item{margin-left:6px;margin-inline-start:6px;margin-inline-end:0}.underlined{text-decoration:underline}.text-center{text-align:center}.text-left{text-align:start}.text-right{text-align:end}@media screen and (min-width: 360px){.text-xxs-center{text-align:center}.text-xxs-left{text-align:start}.text-xxs-right{text-align:end}}@media screen and (min-width: 400px){.text-xs-center{text-align:center}.text-xs-left{text-align:start}.text-xs-right{text-align:end}}@media screen and (min-width: 600px){.text-s-center{text-align:center}.text-s-left{text-align:start}.text-s-right{text-align:end}}@media screen and (min-width: 880px){.text-m-center{text-align:center}.text-m-left{text-align:start}.text-m-right{text-align:end}}@media screen and (min-width: 1000px){.text-l-center{text-align:center}.text-l-left{text-align:start}.text-l-right{text-align:end}}@media screen and (min-width: 1100px){.text-xl-center{text-align:center}.text-xl-left{text-align:start}.text-xl-right{text-align:end}}.text-bigger{font-size:1.1em}.text-large{font-size:1.6666em}.no-color{color:inherit}.break-text{white-space:normal;word-wrap:break-word;overflow-wrap:break-word}.text-limit-lines-1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.text-limit-lines-2{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.header-group{margin:16px 0}.header-group h1,.header-group h2,.header-group h3,.header-group h4,.header-group h5,.header-group h6{margin:0}span.sep{color:#bbb;padding:0 6px}.list>*{display:block}.svg-icon{width:1em;height:1em;display:inline-block;position:relative;bottom:-0.105em;margin-inline-end:6px;pointer-events:none;fill:currentColor}table{min-width:100px;max-width:100%}table thead{background-color:#f8f8f8;font-weight:500}html.dark-mode table thead{background-color:#333}table td,table th{min-width:10px;padding:6px 8px;border:1px solid #ddd;overflow:auto;line-height:1.2;word-break:break-word;vertical-align:top}table td p,table th p{margin:0}table.table{width:100%}table.table tr td,table.table tr th{border-bottom:1px solid rgba(0,0,0,.05)}table.table th,table.table td{text-align:start;border:none;padding:12px 12px;vertical-align:middle;margin:0;overflow:visible}table.table th{font-weight:bold}table.table tr:hover{background-color:#f2f2f2}html.dark-mode table.table tr:hover{background-color:#333}table.table .text-right{text-align:end}table.table .text-center{text-align:center}table.table td.actions{overflow:visible}table.table a{display:inline-block}table.table.expand-to-padding{margin-left:-12px;margin-right:-12px;width:calc(100% + 2*12px);max-width:calc(100% + 2*12px)}table.no-style td{border:0;padding:0}table.list-table{margin:0 -6px}table.list-table td{border:0;vertical-align:middle;padding:6px}.page-content{width:100%;max-width:840px;margin:0 auto;overflow-wrap:break-word}.page-content .align-left{text-align:left}.page-content img.align-left,.page-content table.align-left,.page-content iframe.align-left,.page-content video.align-left{float:left !important;margin:6px 16px 16px 0}.page-content .align-right{text-align:right !important}.page-content img.align-right,.page-content table.align-right,.page-content iframe.align-right,.page-content video.align-right{float:right !important;margin:6px 0 6px 12px}.page-content .align-center{text-align:center}.page-content img.align-center,.page-content video.align-center,.page-content iframe.align-center{display:block}.page-content img.align-center,.page-content table.align-center,.page-content iframe.align-center,.page-content video.align-center{margin-left:auto;margin-right:auto}.page-content .align-justify{text-align:justify}.page-content h1,.page-content h2,.page-content h3,.page-content h4,.page-content h5,.page-content h6,.page-content pre{clear:left}.page-content hr{clear:both;margin:16px 0}.page-content table{hyphens:auto;table-layout:fixed;max-width:100%;height:auto !important}.page-content ins,.page-content del{text-decoration:none}.page-content ins{background:#dbffdb}.page-content del{background:#ffecec}.page-content details{border:1px solid;border-color:#ddd;margin-bottom:1em;padding:12px}html.dark-mode .page-content details{border-color:#555}.page-content details>summary{margin-top:-12px;margin-left:-12px;margin-right:-12px;margin-bottom:-12px;font-weight:bold;background-color:#eee;padding:6px 12px}html.dark-mode .page-content details>summary{background-color:#333}.page-content details[open]>summary{margin-bottom:12px;border-bottom:1px solid;border-color:#ddd}html.dark-mode .page-content details[open]>summary{border-color:#555}.page-content details>summary+*{margin-top:.2em}.page-content details:after{content:"";display:block;clear:both}.page-content li>input[type=checkbox]{vertical-align:top;margin-top:.3em}.page-content p:empty{min-height:1.6em}.page-content.page-revision pre code{white-space:pre-wrap}.page-content .cm-editor{margin-bottom:1.375em}.page-content video,.page-content iframe{max-width:100%}.page-content a{text-decoration:underline}body .page-content img,.page-content img:not([data-mce-object]){max-width:100%;height:auto}.callout{border-left:3px solid #bbb;border-inline-start:3px solid #bbb;border-inline-end:none;background-color:#eee;padding:12px;padding-left:32px;padding-inline-start:32px;padding-inline-end:12px;display:block;position:relative;overflow:auto}.callout:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9IiMwMTUzODAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+ICAgIDxwYXRoIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiLz4gICAgPHBhdGggZD0iTTEyIDJDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6bTEgMTVoLTJ2LTZoMnY2em0wLThoLTJWN2gydjJ6Ii8+PC9zdmc+");background-repeat:no-repeat;content:"";width:1.2em;height:1.2em;left:8px;inset-inline-start:8px;inset-inline-end:unset;top:50%;margin-top:-9px;display:inline-block;position:absolute;line-height:1;opacity:.8}.callout.success{border-color:#0f7d15;background-color:#eafdeb;color:#063409}html.dark-mode .callout.success{border-color:#4aa850}html.dark-mode .callout.success{background-color:#122913}html.dark-mode .callout.success{color:#4aa850}.callout.success:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9IiMzNzZjMzkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+ICAgIDxwYXRoIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiLz4gICAgPHBhdGggZD0iTTEyIDJDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6bS0yIDE1bC01LTUgMS40MS0xLjQxTDEwIDE0LjE3bDcuNTktNy41OUwxOSA4bC05IDl6Ii8+PC9zdmc+")}.callout.danger{border-color:#ab0f0e;background-color:#fcdbdb;color:#4d0706}html.dark-mode .callout.danger{border-color:#e85c5b}html.dark-mode .callout.danger{background-color:#250505}html.dark-mode .callout.danger{color:#e85c5b}.callout.danger:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9IiNiOTE4MTgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+ICAgIDxwYXRoIGQ9Ik0xNS43MyAzSDguMjdMMyA4LjI3djcuNDZMOC4yNyAyMWg3LjQ2TDIxIDE1LjczVjguMjdMMTUuNzMgM3pNMTIgMTcuM2MtLjcyIDAtMS4zLS41OC0xLjMtMS4zIDAtLjcyLjU4LTEuMyAxLjMtMS4zLjcyIDAgMS4zLjU4IDEuMyAxLjMgMCAuNzItLjU4IDEuMy0xLjMgMS4zem0xLTQuM2gtMlY3aDJ2NnoiLz4gICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPjwvc3ZnPg==")}.callout.info{border-color:#0288d1;background-color:#d3efff;color:#01466c}html.dark-mode .callout.info{border-color:#0288d1}html.dark-mode .callout.info{background-color:#001825}html.dark-mode .callout.info{color:#0288d1}.callout.warning{border-color:#cf4d03;background-color:#fee3d3;color:#6a2802}html.dark-mode .callout.warning{border-color:#de8a5a}html.dark-mode .callout.warning{background-color:#30170a}html.dark-mode .callout.warning{color:#de8a5a}.callout.warning:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9IiNiNjUzMWMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+ICAgIDxwYXRoIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiLz4gICAgPHBhdGggZD0iTTEgMjFoMjJMMTIgMiAxIDIxem0xMi0zaC0ydi0yaDJ2MnptMC00aC0ydi00aDJ2NHoiLz48L3N2Zz4=")}.callout a{color:inherit;text-decoration:underline}html,body{background-color:#fff}body{font-family:"DejaVu Sans",-apple-system,BlinkMacSystemFont,"Segoe UI","Oxygen","Ubuntu","Roboto","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;margin:0;padding:0;display:block}table{border-spacing:0;border-collapse:collapse}.page-content{overflow:hidden}pre{padding-left:12px}pre:before{display:none}pre code{white-space:pre-wrap}.page-break{page-break-after:always}@media screen{.page-break{border-top:1px solid #ddd}}ul.contents ul li{list-style:circle}.chapter-hint{color:#888;margin-top:32px}.chapter-hint+h1{margin-top:0}body.export-format-pdf{font-size:14px;line-height:1.2}body.export-format-pdf h1,body.export-format-pdf h2,body.export-format-pdf h3,body.export-format-pdf h4,body.export-format-pdf h5,body.export-format-pdf h6{line-height:1.2}body.export-format-pdf table{max-width:800px !important;font-size:.8em;width:100% !important}body.export-format-pdf table td{width:auto !important}body.export-format-pdf .page-content .float{float:none !important}body.export-format-pdf .page-content img.align-left,body.export-format-pdf .page-content img.align-right{float:none !important;clear:both;display:block}body.export-format-pdf.export-engine-dompdf .page-content a>img{max-width:700px}body.export-format-pdf.export-engine-dompdf .page-content td a>img{max-width:100%}/*# sourceMappingURL=export-styles.css.map */ +:root{--font-body: -apple-system, BlinkMacSystemFont, Segoe UI, Oxygen, Ubuntu, Roboto, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;--font-code: Lucida Console, DejaVu Sans Mono, Ubuntu Mono, Monaco, monospace;--color-primary: #206ea7;--color-primary-light: rgba(32,110,167,0.15);--color-link: #206ea7;--color-page: #206ea7;--color-page-draft: #7e50b1;--color-chapter: #af4d0d;--color-book: #077b70;--color-bookshelf: #a94747;--color-positive: #0f7d15;--color-negative: #ab0f0e;--color-info: #0288D1;--color-warning: #cf4d03;--bg-disabled: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='100%25' width='100%25'%3E%3Cdefs%3E%3Cpattern id='doodad' width='19' height='19' viewBox='0 0 40 40' patternUnits='userSpaceOnUse' patternTransform='rotate(143)'%3E%3Crect width='100%25' height='100%25' fill='rgba(42, 67, 101,0)'/%3E%3Cpath d='M-10 30h60v20h-60zM-10-10h60v20h-60' fill='rgba(26, 32, 44,0)'/%3E%3Cpath d='M-10 10h60v20h-60zM-10-30h60v20h-60z' fill='rgba(0, 0, 0,0.05)'/%3E%3C/pattern%3E%3C/defs%3E%3Crect fill='url(%23doodad)' height='200%25' width='200%25'/%3E%3C/svg%3E")}:root.dark-mode{--bg-disabled: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='100%25' width='100%25'%3E%3Cdefs%3E%3Cpattern id='doodad' width='19' height='19' viewBox='0 0 40 40' patternUnits='userSpaceOnUse' patternTransform='rotate(143)'%3E%3Crect width='100%25' height='100%25' fill='rgba(42, 67, 101,0)'/%3E%3Cpath d='M-10 30h60v20h-60zM-10-10h60v20h-60' fill='rgba(26, 32, 44,0)'/%3E%3Cpath d='M-10 10h60v20h-60zM-10-30h60v20h-60z' fill='rgba(255, 255, 255,0.05)'/%3E%3C/pattern%3E%3C/defs%3E%3Crect fill='url(%23doodad)' height='200%25' width='200%25'/%3E%3C/svg%3E");color-scheme:only dark;--color-positive: #4aa850;--color-negative: #e85c5b;--color-warning: #de8a5a}:root:not(.dark-mode){color-scheme:only light}*{box-sizing:border-box;outline-color:var(--color-primary);outline-width:1px}*:focus{outline-style:dotted}html{height:100%;overflow-y:scroll;background-color:#f2f2f2}html.flexbox{overflow-y:hidden}html.dark-mode{background-color:#111}body{font-size:14px;line-height:1.6;color:#444;-webkit-font-smoothing:antialiased;height:100%;display:flex;flex-direction:column}html.dark-mode body{color:#aaa}body,button,input,select,label,textarea{font-family:var(--font-body)}pre,#markdown-editor-input,.text-mono,.code-base,span.code,code{font-family:var(--font-code)}h1{font-size:3.425em;line-height:1.22222222em;margin-top:.48888889em;margin-bottom:.48888889em}h2{font-size:2.8275em;line-height:1.294117647em;margin-top:.8627451em;margin-bottom:.43137255em}h3{font-size:2.333em;line-height:1.221428572em;margin-top:.78571429em;margin-bottom:.43137255em}h4{font-size:1.666em;line-height:1.375em;margin-top:.78571429em;margin-bottom:.43137255em}h1,h2,h3,h4,h5,h6{font-weight:400;position:relative;display:block;font-family:var(--font-heading, var(--font-body));color:#222}html.dark-mode h1,html.dark-mode h2,html.dark-mode h3,html.dark-mode h4,html.dark-mode h5,html.dark-mode h6{color:#bbb}h5{font-size:1.4em}h5,h6{line-height:1.2em;margin-top:.78571429em;margin-bottom:.66em}@media screen and (max-width: 600px){h1{font-size:2.8275em}h2{font-size:2.333em}h3{font-size:1.666em}h4{font-size:1.333em}h5{font-size:1.161616em}}.list-heading{font-size:2rem}h2.list-heading{font-size:1.333rem}a{color:var(--color-link);fill:currentColor;cursor:pointer;text-decoration:none;transition:filter ease-in-out 80ms;line-height:1.6}a:hover{text-decoration:underline}a.icon{display:inline-block}a svg{position:relative;display:inline-block}a:focus img:only-child{outline:2px dashed var(--color-link);outline-offset:2px}a.no-link-style{color:inherit}a.no-link-style:hover{text-decoration:none}.blended-links a{color:inherit}.blended-links a svg{fill:currentColor}p,ul,ol,pre,table,blockquote{margin-top:.3em;margin-bottom:1.375em}hr{border:0;height:1px;background:#eaeaea;margin-bottom:24px}html.dark-mode hr{background:#555}hr.faded{background-image:linear-gradient(to right, #FFF, #e3e0e0 20%, #e3e0e0 80%, #FFF)}hr.darker{background:#ddd}html.dark-mode hr.darker{background:#666}hr.margin-top,hr.even{margin-top:24px}strong,b,.bold,.strong{font-weight:bold}strong>strong,strong>b,strong>.bold,strong>.strong,b>strong,b>b,b>.bold,b>.strong,.bold>strong,.bold>b,.bold>.bold,.bold>.strong,.strong>strong,.strong>b,.strong>.bold,.strong>.strong{font-weight:bolder}em,i,.italic{font-style:italic}small,p.small,span.small,.text-small{font-size:.75rem}sup,.superscript{vertical-align:super;font-size:.8em}sub,.subscript{vertical-align:sub;font-size:.8em}pre{font-size:12px;border:1px solid #ddd;background-color:#fff;border-color:#ddd;border-radius:4px;padding-inline-start:26px;position:relative;padding-top:3px;padding-bottom:3px}html.dark-mode pre{background-color:#2b2b2b}html.dark-mode pre{border-color:#111}pre:before{content:"";display:block;position:absolute;top:0;width:22.4px;inset-inline-start:0;height:100%;background-color:#f5f5f5;border-inline-end:1px solid #ddd}html.dark-mode pre:before{background-color:#313335}html.dark-mode pre:before{border-inline-end:none}@media print{pre{padding-left:12px}pre:before{display:none}}blockquote{display:block;position:relative;border-left:4px solid rgba(0,0,0,0);border-left-color:var(--color-primary);background-color:#f8f8f8;padding:12px 16px 12px 32px;overflow:auto}html.dark-mode blockquote{background-color:#333}blockquote:before{content:"“";font-size:2em;font-weight:bold;position:absolute;top:12px;left:12px;color:#777}.text-mono{font-family:var(--font-code)}.text-uppercase{text-transform:uppercase}.text-capitals{text-transform:capitalize}.code-base,span.code,code{font-size:.84em;border:1px solid #ddd;border-radius:3px;background-color:#f8f8f8;border-color:#ddd}html.dark-mode .code-base,html.dark-mode span.code,html.dark-mode code{background-color:#2b2b2b}html.dark-mode .code-base,html.dark-mode span.code,html.dark-mode code{border-color:#444}code{display:inline;padding:1px 3px;white-space:pre-wrap;line-height:1.2em}span.code{padding:1px 6px}pre code{background-color:rgba(0,0,0,0);border:0;font-size:1em;display:block;line-height:1.6}span.highlight{font-weight:bold;padding:2px 4px}ul,ol{padding-left:32px;padding-right:32px;display:flow-root}ul p,ol p{margin:0}ul{list-style:disc}ul ul{list-style:circle}ul label{margin:0}ol{list-style:decimal}li>ol,li>ul{margin-top:0;margin-bottom:0;margin-block-end:0;margin-block-start:0;padding-block-end:0;padding-block-start:0;padding-left:19.2px;padding-right:19.2px}li.checkbox-item,li.task-list-item{display:list-item;list-style:none;margin-left:-19.2px;margin-inline-start:-19.2px;margin-inline-end:0}li.checkbox-item input[type=checkbox],li.task-list-item input[type=checkbox]{margin-right:6px;margin-inline-end:6px;margin-inline-start:0}li.checkbox-item li.checkbox-item,li.checkbox-item li.task-list-item,li.task-list-item li.checkbox-item,li.task-list-item li.task-list-item{margin-left:6px;margin-inline-start:6px;margin-inline-end:0}.underlined{text-decoration:underline}.text-center{text-align:center}.text-left{text-align:start}.text-right{text-align:end}@media screen and (min-width: 361px){.text-xxs-center{text-align:center}.text-xxs-left{text-align:start}.text-xxs-right{text-align:end}}@media screen and (min-width: 401px){.text-xs-center{text-align:center}.text-xs-left{text-align:start}.text-xs-right{text-align:end}}@media screen and (min-width: 601px){.text-s-center{text-align:center}.text-s-left{text-align:start}.text-s-right{text-align:end}}@media screen and (min-width: 881px){.text-m-center{text-align:center}.text-m-left{text-align:start}.text-m-right{text-align:end}}@media screen and (min-width: 1001px){.text-l-center{text-align:center}.text-l-left{text-align:start}.text-l-right{text-align:end}}@media screen and (min-width: 1101px){.text-xl-center{text-align:center}.text-xl-left{text-align:start}.text-xl-right{text-align:end}}.text-bigger{font-size:1.1em}.text-large{font-size:1.6666em}.no-color{color:inherit}.break-text{white-space:normal;word-wrap:break-word;overflow-wrap:break-word}.text-limit-lines-1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.text-limit-lines-2{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.header-group{margin:16px 0}.header-group h1,.header-group h2,.header-group h3,.header-group h4,.header-group h5,.header-group h6{margin:0}span.sep{color:#bbb;padding:0 6px}.list>*{display:block}.svg-icon{width:1em;height:1em;display:inline-block;position:relative;bottom:-0.105em;margin-inline-end:6px;pointer-events:none;fill:currentColor}table{min-width:100px;max-width:100%}table thead{background-color:#f8f8f8;font-weight:500}html.dark-mode table thead{background-color:#333}table td,table th{min-width:10px;padding:6px 8px;border:1px solid #ddd;overflow:auto;line-height:1.2;word-break:break-word;vertical-align:top}table td p,table th p{margin:0}table.table{width:100%}table.table tr td,table.table tr th{border-bottom:1px solid rgba(0,0,0,.05)}table.table th,table.table td{text-align:start;border:none;padding:12px 12px;vertical-align:middle;margin:0;overflow:visible}table.table th{font-weight:bold}table.table tr:hover{background-color:#f2f2f2}html.dark-mode table.table tr:hover{background-color:#333}table.table .text-right{text-align:end}table.table .text-center{text-align:center}table.table td.actions{overflow:visible}table.table a{display:inline-block}table.table.expand-to-padding{margin-left:-12px;margin-right:-12px;width:calc(100% + 2*12px);max-width:calc(100% + 2*12px)}table.no-style td{border:0;padding:0}table.list-table{margin:0 -6px}table.list-table td{border:0;vertical-align:middle;padding:6px}.page-content{width:100%;max-width:840px;margin:0 auto;overflow-wrap:break-word}.page-content .align-left{text-align:left}.page-content img.align-left,.page-content table.align-left,.page-content iframe.align-left,.page-content video.align-left{float:left !important;margin:6px 16px 16px 0}.page-content .align-right{text-align:right !important}.page-content img.align-right,.page-content table.align-right,.page-content iframe.align-right,.page-content video.align-right{float:right !important;margin:6px 0 6px 12px}.page-content .align-center{text-align:center}.page-content img.align-center,.page-content video.align-center,.page-content iframe.align-center{display:block}.page-content img.align-center,.page-content table.align-center,.page-content iframe.align-center,.page-content video.align-center{margin-left:auto;margin-right:auto}.page-content .align-justify{text-align:justify}.page-content h1,.page-content h2,.page-content h3,.page-content h4,.page-content h5,.page-content h6,.page-content pre{clear:left}.page-content hr{clear:both;margin:16px 0}.page-content table{hyphens:auto;table-layout:fixed;max-width:100%;height:auto !important}.page-content ins,.page-content del{text-decoration:none}.page-content ins{background:#dbffdb}.page-content del{background:#ffecec}.page-content details{border:1px solid;border-color:#ddd;margin-bottom:1em;padding:12px}html.dark-mode .page-content details{border-color:#555}.page-content details>summary{margin-top:-12px;margin-left:-12px;margin-right:-12px;margin-bottom:-12px;font-weight:bold;background-color:#eee;padding:6px 12px}html.dark-mode .page-content details>summary{background-color:#333}.page-content details[open]>summary{margin-bottom:12px;border-bottom:1px solid;border-color:#ddd}html.dark-mode .page-content details[open]>summary{border-color:#555}.page-content details>summary+*{margin-top:.2em}.page-content details:after{content:"";display:block;clear:both}.page-content li>input[type=checkbox]{vertical-align:top;margin-top:.3em}.page-content p:empty{min-height:1.6em}.page-content.page-revision pre code{white-space:pre-wrap}.page-content .cm-editor{margin-bottom:1.375em}.page-content video,.page-content iframe{max-width:100%}.page-content a{text-decoration:underline}body .page-content img,.page-content img:not([data-mce-object]){max-width:100%;height:auto}.callout{border-left:3px solid #bbb;border-inline-start:3px solid #bbb;border-inline-end:none;background-color:#eee;padding:12px;padding-left:32px;padding-inline-start:32px;padding-inline-end:12px;display:block;position:relative;overflow:auto}.callout:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9IiMwMTUzODAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+ICAgIDxwYXRoIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiLz4gICAgPHBhdGggZD0iTTEyIDJDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6bTEgMTVoLTJ2LTZoMnY2em0wLThoLTJWN2gydjJ6Ii8+PC9zdmc+");background-repeat:no-repeat;content:"";width:1.2em;height:1.2em;left:8px;inset-inline-start:8px;inset-inline-end:unset;top:50%;margin-top:-9px;display:inline-block;position:absolute;line-height:1;opacity:.8}.callout.success{border-color:#0f7d15;background-color:#eafdeb;color:#063409}html.dark-mode .callout.success{border-color:#4aa850}html.dark-mode .callout.success{background-color:#122913}html.dark-mode .callout.success{color:#4aa850}.callout.success:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9IiMzNzZjMzkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+ICAgIDxwYXRoIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiLz4gICAgPHBhdGggZD0iTTEyIDJDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6bS0yIDE1bC01LTUgMS40MS0xLjQxTDEwIDE0LjE3bDcuNTktNy41OUwxOSA4bC05IDl6Ii8+PC9zdmc+")}.callout.danger{border-color:#ab0f0e;background-color:#fcdbdb;color:#4d0706}html.dark-mode .callout.danger{border-color:#e85c5b}html.dark-mode .callout.danger{background-color:#250505}html.dark-mode .callout.danger{color:#e85c5b}.callout.danger:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9IiNiOTE4MTgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+ICAgIDxwYXRoIGQ9Ik0xNS43MyAzSDguMjdMMyA4LjI3djcuNDZMOC4yNyAyMWg3LjQ2TDIxIDE1LjczVjguMjdMMTUuNzMgM3pNMTIgMTcuM2MtLjcyIDAtMS4zLS41OC0xLjMtMS4zIDAtLjcyLjU4LTEuMyAxLjMtMS4zLjcyIDAgMS4zLjU4IDEuMyAxLjMgMCAuNzItLjU4IDEuMy0xLjMgMS4zem0xLTQuM2gtMlY3aDJ2NnoiLz4gICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPjwvc3ZnPg==")}.callout.info{border-color:#0288d1;background-color:#d3efff;color:#01466c}html.dark-mode .callout.info{border-color:#0288d1}html.dark-mode .callout.info{background-color:#001825}html.dark-mode .callout.info{color:#0288d1}.callout.warning{border-color:#cf4d03;background-color:#fee3d3;color:#6a2802}html.dark-mode .callout.warning{border-color:#de8a5a}html.dark-mode .callout.warning{background-color:#30170a}html.dark-mode .callout.warning{color:#de8a5a}.callout.warning:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9IiNiNjUzMWMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+ICAgIDxwYXRoIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiLz4gICAgPHBhdGggZD0iTTEgMjFoMjJMMTIgMiAxIDIxem0xMi0zaC0ydi0yaDJ2MnptMC00aC0ydi00aDJ2NHoiLz48L3N2Zz4=")}.callout a{color:inherit;text-decoration:underline}html,body{background-color:#fff}body{font-family:"DejaVu Sans",-apple-system,BlinkMacSystemFont,"Segoe UI","Oxygen","Ubuntu","Roboto","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;margin:0;padding:0;display:block}table{border-spacing:0;border-collapse:collapse}.page-content{overflow:hidden}pre{padding-left:12px}pre:before{display:none}pre code{white-space:pre-wrap}.page-break{page-break-after:always}@media screen{.page-break{border-top:1px solid #ddd}}ul.contents ul li{list-style:circle}.chapter-hint{color:#888;margin-top:32px}.chapter-hint+h1{margin-top:0}body.export-format-pdf{font-size:14px;line-height:1.2}body.export-format-pdf h1,body.export-format-pdf h2,body.export-format-pdf h3,body.export-format-pdf h4,body.export-format-pdf h5,body.export-format-pdf h6{line-height:1.2}body.export-format-pdf table{max-width:800px !important;font-size:.8em;width:100% !important}body.export-format-pdf table td{width:auto !important}body.export-format-pdf .page-content .float{float:none !important}body.export-format-pdf .page-content img.align-left,body.export-format-pdf .page-content img.align-right{float:none !important;clear:both;display:block}body.export-format-pdf.export-engine-dompdf .page-content a>img{max-width:700px}body.export-format-pdf.export-engine-dompdf .page-content td a>img{max-width:100%}/*# sourceMappingURL=export-styles.css.map */ diff --git a/public/dist/legacy-modes.js b/public/dist/legacy-modes.js index 0fce64b46..8ef6857bc 100644 --- a/public/dist/legacy-modes.js +++ b/public/dist/legacy-modes.js @@ -1,3 +1,3 @@ // See the "/licenses" URI for full package license details -function en(e,n,t,r,i,o){this.indented=e,this.column=n,this.type=t,this.info=r,this.align=i,this.prev=o}function Re(e,n,t,r){var i=e.indented;return e.context&&e.context.type=="statement"&&t!="statement"&&(i=e.context.indented),e.context=new en(i,n,t,r,null,e.context)}function ve(e){var n=e.context.type;return(n==")"||n=="]"||n=="}")&&(e.indented=e.context.indented),e.context=e.context.prev}function Dn(e,n,t){if(n.prevToken=="variable"||n.prevToken=="type"||/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(e.string.slice(0,t))||n.typeAtEndOfLine&&e.column()==e.indentation())return!0}function Je(e){for(;;){if(!e||e.type=="top")return!0;if(e.type=="}"&&e.prev.info!="namespace")return!1;e=e.prev}}function H(e){var n=e.statementIndentUnit,t=e.dontAlignCalls,r=e.keywords||{},i=e.types||{},o=e.builtin||{},a=e.blockKeywords||{},p=e.defKeywords||{},S=e.atoms||{},E=e.hooks||{},x=e.multiLineStrings,c=e.indentStatements!==!1,d=e.indentSwitch!==!1,y=e.namespaceSeparator,O=e.isPunctuationChar||/[\[\]{}\(\),;\:\.]/,K=e.numberStart||/[\d\.]/,M=e.number||/^(?:0x[a-f\d]+|0b[01]+|(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?)(u|ll?|l|f)?/i,u=e.isOperatorChar||/[+\-*&%=<>!?|\/]/,T=e.isIdentifierChar||/[\w\$_\xa1-\uffff]/,w=e.isReservedIdentifier||!1,C,l;function s(m,f){var z=m.next();if(E[z]){var v=E[z](m,f);if(v!==!1)return v}if(z=='"'||z=="'")return f.tokenize=I(z),f.tokenize(m,f);if(K.test(z)){if(m.backUp(1),m.match(M))return"number";m.next()}if(O.test(z))return C=z,null;if(z=="/"){if(m.eat("*"))return f.tokenize=k,k(m,f);if(m.eat("/"))return m.skipToEnd(),"comment"}if(u.test(z)){for(;!m.match(/^\/[\/*]/,!1)&&m.eat(u););return"operator"}if(m.eatWhile(T),y)for(;m.match(y);)m.eatWhile(T);var D=m.current();return ee(r,D)?(ee(a,D)&&(C="newstatement"),ee(p,D)&&(l=!0),"keyword"):ee(i,D)?"type":ee(o,D)||w&&w(D)?(ee(a,D)&&(C="newstatement"),"builtin"):ee(S,D)?"atom":"variable"}function I(m){return function(f,z){for(var v=!1,D,J=!1;(D=f.next())!=null;){if(D==m&&!v){J=!0;break}v=!v&&D=="\\"}return(J||!(v||x))&&(z.tokenize=null),"string"}}function k(m,f){for(var z=!1,v;v=m.next();){if(v=="/"&&z){f.tokenize=null;break}z=v=="*"}return"comment"}function L(m,f){e.typeFirstDefinitions&&m.eol()&&Je(f.context)&&(f.typeAtEndOfLine=Dn(m,f,m.pos))}return{name:e.name,startState:function(m){return{tokenize:null,context:new en(-m,0,"top",null,!1),indented:0,startOfLine:!0,prevToken:null}},token:function(m,f){var z=f.context;if(m.sol()&&(z.align==null&&(z.align=!1),f.indented=m.indentation(),f.startOfLine=!0),m.eatSpace())return L(m,f),null;C=l=null;var v=(f.tokenize||s)(m,f);if(v=="comment"||v=="meta")return v;if(z.align==null&&(z.align=!0),C==";"||C==":"||C==","&&m.match(/^\s*(?:\/\/.*)?$/,!1))for(;f.context.type=="statement";)ve(f);else if(C=="{")Re(f,m.column(),"}");else if(C=="[")Re(f,m.column(),"]");else if(C=="(")Re(f,m.column(),")");else if(C=="}"){for(;z.type=="statement";)z=ve(f);for(z.type=="}"&&(z=ve(f));z.type=="statement";)z=ve(f)}else C==z.type?ve(f):c&&((z.type=="}"||z.type=="top")&&C!=";"||z.type=="statement"&&C=="newstatement")&&Re(f,m.column(),"statement",m.current());if(v=="variable"&&(f.prevToken=="def"||e.typeFirstDefinitions&&Dn(m,f,m.start)&&Je(f.context)&&m.match(/^\s*\(/,!1))&&(v="def"),E.token){var D=E.token(m,f,v);D!==void 0&&(v=D)}return v=="def"&&e.styleDefs===!1&&(v="variable"),f.startOfLine=!1,f.prevToken=l?"def":v||C,L(m,f),v},indent:function(m,f,z){if(m.tokenize!=s&&m.tokenize!=null||m.typeAtEndOfLine&&Je(m.context))return null;var v=m.context,D=f&&f.charAt(0),J=D==v.type;if(v.type=="statement"&&D=="}"&&(v=v.prev),e.dontIndentStatements)for(;v.type=="statement"&&e.dontIndentStatements.test(v.info);)v=v.prev;if(E.indent){var ye=E.indent(m,v,f,z.unit);if(typeof ye=="number")return ye}var Qe=v.prev&&v.prev.info=="switch";if(e.allmanIndentation&&/[{(]/.test(D)){for(;v.type!="top"&&v.type!="}";)v=v.prev;return v.indented}return v.type=="statement"?v.indented+(D=="{"?0:n||z.unit):v.align&&(!t||v.type!=")")?v.column+(J?0:1):v.type==")"&&!J?v.indented+(n||z.unit):v.indented+(J?0:z.unit)+(!J&&Qe&&!/^(?:case|default)\b/.test(f)?z.unit:0)},languageData:{indentOnInput:d?/^\s*(?:case .*?:|default:|\{\}?|\})$/:/^\s*[{}]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}},autocomplete:Object.keys(r).concat(Object.keys(i)).concat(Object.keys(o)).concat(Object.keys(S)),...e.languageData}}}function b(e){for(var n={},t=e.split(" "),r=0;r<t.length;++r)n[t[r]]=!0;return n}function ee(e,n){return typeof e=="function"?e(n):e.propertyIsEnumerable(n)}var _e="auto if break case register continue return default do sizeof static else struct switch extern typedef union for goto while enum const volatile inline restrict asm fortran",qn="alignas alignof and and_eq audit axiom bitand bitor catch class compl concept constexpr const_cast decltype delete dynamic_cast explicit export final friend import module mutable namespace new noexcept not not_eq operator or or_eq override private protected public reinterpret_cast requires static_assert static_cast template this thread_local throw try typeid typename using virtual xor xor_eq",Fn="bycopy byref in inout oneway out self super atomic nonatomic retain copy readwrite readonly strong weak assign typeof nullable nonnull null_resettable _cmd @interface @implementation @end @protocol @encode @property @synthesize @dynamic @class @public @package @private @protected @required @optional @try @catch @finally @import @selector @encode @defs @synchronized @autoreleasepool @compatibility_alias @available",Mn="FOUNDATION_EXPORT FOUNDATION_EXTERN NS_INLINE NS_FORMAT_FUNCTION NS_RETURNS_RETAINEDNS_ERROR_ENUM NS_RETURNS_NOT_RETAINED NS_RETURNS_INNER_POINTER NS_DESIGNATED_INITIALIZER NS_ENUM NS_OPTIONS NS_REQUIRES_NIL_TERMINATION NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_SWIFT_NAME NS_REFINED_FOR_SWIFT",gr=b("int long char short double float unsigned signed void bool"),br=b("SEL instancetype id Class Protocol BOOL");function xe(e){return ee(gr,e)||/.+_t$/.test(e)}function Bn(e){return xe(e)||ee(br,e)}var we="case do else for if switch while struct enum union",Ae="struct enum union";function oe(e,n){if(!n.startOfLine)return!1;for(var t,r=null;t=e.peek();){if(t=="\\"&&e.match(/^.$/)){r=oe;break}else if(t=="/"&&e.match(/^\/[\/\*]/,!1))break;e.next()}return n.tokenize=r,"meta"}function Pe(e,n){return n.prevToken=="type"?"type":!1}function Le(e){return!e||e.length<2||e[0]!="_"?!1:e[1]=="_"||e[1]!==e[1].toLowerCase()}function F(e){return e.eatWhile(/[\w\.']/),"number"}function ie(e,n){if(e.backUp(1),e.match(/^(?:R|u8R|uR|UR|LR)/)){var t=e.match(/^"([^\s\\()]{0,16})\(/);return t?(n.cpp11RawStringDelim=t[1],n.tokenize=Nn,Nn(e,n)):!1}return e.match(/^(?:u8|u|U|L)/)?e.match(/^["']/,!1)?"string":!1:(e.next(),!1)}function jn(e){var n=/(\w+)::~?(\w+)$/.exec(e);return n&&n[1]==n[2]}function $n(e,n){for(var t;(t=e.next())!=null;)if(t=='"'&&!e.eat('"')){n.tokenize=null;break}return"string"}function Nn(e,n){var t=n.cpp11RawStringDelim.replace(/[^\w\s]/g,"\\$&"),r=e.match(new RegExp(".*?\\)"+t+'"'));return r?n.tokenize=null:e.skipToEnd(),"string"}var yr=H({name:"c",keywords:b(_e),types:xe,blockKeywords:b(we),defKeywords:b(Ae),typeFirstDefinitions:!0,atoms:b("NULL true false"),isReservedIdentifier:Le,hooks:{"#":oe,"*":Pe}}),vr=H({name:"cpp",keywords:b(_e+" "+qn),types:xe,blockKeywords:b(we+" class try catch"),defKeywords:b(Ae+" class namespace"),typeFirstDefinitions:!0,atoms:b("true false NULL nullptr"),dontIndentStatements:/^template$/,isIdentifierChar:/[\w\$_~\xa1-\uffff]/,isReservedIdentifier:Le,hooks:{"#":oe,"*":Pe,u:ie,U:ie,L:ie,R:ie,0:F,1:F,2:F,3:F,4:F,5:F,6:F,7:F,8:F,9:F,token:function(e,n,t){if(t=="variable"&&e.peek()=="("&&(n.prevToken==";"||n.prevToken==null||n.prevToken=="}")&&jn(e.current()))return"def"}},namespaceSeparator:"::"}),kr=H({name:"java",keywords:b("abstract assert break case catch class const continue default do else enum extends final finally for goto if implements import instanceof interface native new package private protected public return static strictfp super switch synchronized this throw throws transient try volatile while @interface"),types:b("var byte short int long float double boolean char void Boolean Byte Character Double Float Integer Long Number Object Short String StringBuffer StringBuilder Void"),blockKeywords:b("catch class do else finally for if switch try while"),defKeywords:b("class interface enum @interface"),typeFirstDefinitions:!0,atoms:b("true false null"),number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+\.?\d*|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i,hooks:{"@":function(e){return e.match("interface",!1)?!1:(e.eatWhile(/[\w\$_]/),"meta")},'"':function(e,n){return e.match(/""$/)?(n.tokenize=Wn,n.tokenize(e,n)):!1}}}),_r=H({name:"csharp",keywords:b("abstract as async await base break case catch checked class const continue default delegate do else enum event explicit extern finally fixed for foreach goto if implicit in init interface internal is lock namespace new operator out override params private protected public readonly record ref required return sealed sizeof stackalloc static struct switch this throw try typeof unchecked unsafe using virtual void volatile while add alias ascending descending dynamic from get global group into join let orderby partial remove select set value var yield"),types:b("Action Boolean Byte Char DateTime DateTimeOffset Decimal Double Func Guid Int16 Int32 Int64 Object SByte Single String Task TimeSpan UInt16 UInt32 UInt64 bool byte char decimal double short int long object sbyte float string ushort uint ulong"),blockKeywords:b("catch class do else finally for foreach if struct switch try while"),defKeywords:b("class interface namespace record struct var"),typeFirstDefinitions:!0,atoms:b("true false null"),hooks:{"@":function(e,n){return e.eat('"')?(n.tokenize=$n,$n(e,n)):(e.eatWhile(/[\w\$_]/),"meta")}}});function Wn(e,n){for(var t=!1;!e.eol();){if(!t&&e.match('"""')){n.tokenize=null;break}t=e.next()=="\\"&&!t}return"string"}function ke(e){return function(n,t){for(var r;r=n.next();)if(r=="*"&&n.eat("/"))if(e==1){t.tokenize=null;break}else return t.tokenize=ke(e-1),t.tokenize(n,t);else if(r=="/"&&n.eat("*"))return t.tokenize=ke(e+1),t.tokenize(n,t);return"comment"}}var xr=H({name:"scala",keywords:b("abstract case catch class def do else extends final finally for forSome if implicit import lazy match new null object override package private protected return sealed super this throw trait try type val var while with yield _ assert assume require print println printf readLine readBoolean readByte readShort readChar readInt readLong readFloat readDouble"),types:b("AnyVal App Application Array BufferedIterator BigDecimal BigInt Char Console Either Enumeration Equiv Error Exception Fractional Function IndexedSeq Int Integral Iterable Iterator List Map Numeric Nil NotNull Option Ordered Ordering PartialFunction PartialOrdering Product Proxy Range Responder Seq Serializable Set Specializable Stream StringBuilder StringContext Symbol Throwable Traversable TraversableOnce Tuple Unit Vector Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void"),multiLineStrings:!0,blockKeywords:b("catch class enum do else finally for forSome if match switch try while"),defKeywords:b("class enum def object package trait type val var"),atoms:b("true false null"),indentStatements:!1,indentSwitch:!1,isOperatorChar:/[+\-*&%=<>!?|\/#:@]/,hooks:{"@":function(e){return e.eatWhile(/[\w\$_]/),"meta"},'"':function(e,n){return e.match('""')?(n.tokenize=Wn,n.tokenize(e,n)):!1},"'":function(e){return e.match(/^(\\[^'\s]+|[^\\'])'/)?"character":(e.eatWhile(/[\w\$_\xa1-\uffff]/),"atom")},"=":function(e,n){var t=n.context;return t.type=="}"&&t.align&&e.eat(">")?(n.context=new en(t.indented,t.column,t.type,t.info,null,t.prev),"operator"):!1},"/":function(e,n){return e.eat("*")?(n.tokenize=ke(1),n.tokenize(e,n)):!1}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}});function wr(e){return function(n,t){for(var r=!1,i,o=!1;!n.eol();){if(!e&&!r&&n.match('"')){o=!0;break}if(e&&n.match('"""')){o=!0;break}i=n.next(),!r&&i=="$"&&n.match("{")&&n.skipTo("}"),r=!r&&i=="\\"&&!e}return(o||!e)&&(t.tokenize=null),"string"}}var Sr=H({name:"kotlin",keywords:b("package as typealias class interface this super val operator var fun for is in This throw return annotation break continue object if else while do try when !in !is as? file import where by get set abstract enum open inner override private public internal protected catch finally out final vararg reified dynamic companion constructor init sealed field property receiver param sparam lateinit data inline noinline tailrec external annotation crossinline const operator infix suspend actual expect setparam"),types:b("Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void Annotation Any BooleanArray ByteArray Char CharArray DeprecationLevel DoubleArray Enum FloatArray Function Int IntArray Lazy LazyThreadSafetyMode LongArray Nothing ShortArray Unit"),intendSwitch:!1,indentStatements:!1,multiLineStrings:!0,number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+(\.\d+)?|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i,blockKeywords:b("catch class do else finally for if where try while enum"),defKeywords:b("class val var object interface fun"),atoms:b("true false null this"),hooks:{"@":function(e){return e.eatWhile(/[\w\$_]/),"meta"},"*":function(e,n){return n.prevToken=="."?"variable":"operator"},'"':function(e,n){return n.tokenize=wr(e.match('""')),n.tokenize(e,n)},"/":function(e,n){return e.eat("*")?(n.tokenize=ke(1),n.tokenize(e,n)):!1},indent:function(e,n,t,r){var i=t&&t.charAt(0);if((e.prevToken=="}"||e.prevToken==")")&&t=="")return e.indented;if(e.prevToken=="operator"&&t!="}"&&e.context.type!="}"||e.prevToken=="variable"&&i=="."||(e.prevToken=="}"||e.prevToken==")")&&i==".")return r*2+n.indented;if(n.align&&n.type=="}")return n.indented+(e.context.type==(t||"").charAt(0)?0:r)}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}}),wl=H({name:"shader",keywords:b("sampler1D sampler2D sampler3D samplerCube sampler1DShadow sampler2DShadow const attribute uniform varying break continue discard return for while do if else struct in out inout"),types:b("float int bool void vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 mat2 mat3 mat4"),blockKeywords:b("for while do if else struct"),builtin:b("radians degrees sin cos tan asin acos atan pow exp log exp2 sqrt inversesqrt abs sign floor ceil fract mod min max clamp mix step smoothstep length distance dot cross normalize ftransform faceforward reflect refract matrixCompMult lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual any all not texture1D texture1DProj texture1DLod texture1DProjLod texture2D texture2DProj texture2DLod texture2DProjLod texture3D texture3DProj texture3DLod texture3DProjLod textureCube textureCubeLod shadow1D shadow2D shadow1DProj shadow2DProj shadow1DLod shadow2DLod shadow1DProjLod shadow2DProjLod dFdx dFdy fwidth noise1 noise2 noise3 noise4"),atoms:b("true false gl_FragColor gl_SecondaryColor gl_Normal gl_Vertex gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_FogCoord gl_PointCoord gl_Position gl_PointSize gl_ClipVertex gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor gl_TexCoord gl_FogFragCoord gl_FragCoord gl_FrontFacing gl_FragData gl_FragDepth gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix gl_TextureMatrix gl_NormalMatrix gl_ModelViewMatrixInverse gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse gl_TextureMatrixTranspose gl_ModelViewMatrixInverseTranspose gl_ProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixInverseTranspose gl_TextureMatrixInverseTranspose gl_NormalScale gl_DepthRange gl_ClipPlane gl_Point gl_FrontMaterial gl_BackMaterial gl_LightSource gl_LightModel gl_FrontLightModelProduct gl_BackLightModelProduct gl_TextureColor gl_EyePlaneS gl_EyePlaneT gl_EyePlaneR gl_EyePlaneQ gl_FogParameters gl_MaxLights gl_MaxClipPlanes gl_MaxTextureUnits gl_MaxTextureCoords gl_MaxVertexAttribs gl_MaxVertexUniformComponents gl_MaxVaryingFloats gl_MaxVertexTextureImageUnits gl_MaxTextureImageUnits gl_MaxFragmentUniformComponents gl_MaxCombineTextureImageUnits gl_MaxDrawBuffers"),indentSwitch:!1,hooks:{"#":oe}}),Sl=H({name:"nesc",keywords:b(_e+" as atomic async call command component components configuration event generic implementation includes interface module new norace nx_struct nx_union post provides signal task uses abstract extends"),types:xe,blockKeywords:b(we),atoms:b("null true false"),hooks:{"#":oe}}),zl=H({name:"objectivec",keywords:b(_e+" "+Fn),types:Bn,builtin:b(Mn),blockKeywords:b(we+" @synthesize @try @catch @finally @autoreleasepool @synchronized"),defKeywords:b(Ae+" @interface @implementation @protocol @class"),dontIndentStatements:/^@.*$/,typeFirstDefinitions:!0,atoms:b("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:Le,hooks:{"#":oe,"*":Pe}}),El=H({name:"objectivecpp",keywords:b(_e+" "+Fn+" "+qn),types:Bn,builtin:b(Mn),blockKeywords:b(we+" @synthesize @try @catch @finally @autoreleasepool @synchronized class try catch"),defKeywords:b(Ae+" @interface @implementation @protocol @class class namespace"),dontIndentStatements:/^@.*$|^template$/,typeFirstDefinitions:!0,atoms:b("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:Le,hooks:{"#":oe,"*":Pe,u:ie,U:ie,L:ie,R:ie,0:F,1:F,2:F,3:F,4:F,5:F,6:F,7:F,8:F,9:F,token:function(e,n,t){if(t=="variable"&&e.peek()=="("&&(n.prevToken==";"||n.prevToken==null||n.prevToken=="}")&&jn(e.current()))return"def"}},namespaceSeparator:"::"}),Tl=H({name:"squirrel",keywords:b("base break clone continue const default delete enum extends function in class foreach local resume return this throw typeof yield constructor instanceof static"),types:xe,blockKeywords:b("case catch class else for foreach if switch try while"),defKeywords:b("function local class"),typeFirstDefinitions:!0,atoms:b("true false null"),hooks:{"#":oe}}),Oe=null;function Un(e){return function(n,t){for(var r=!1,i,o=!1;!n.eol();){if(!r&&n.match('"')&&(e=="single"||n.match('""'))){o=!0;break}if(!r&&n.match("``")){Oe=Un(e),o=!0;break}i=n.next(),r=e=="single"&&!r&&i=="\\"}return o&&(t.tokenize=null),"string"}}var Cl=H({name:"ceylon",keywords:b("abstracts alias assembly assert assign break case catch class continue dynamic else exists extends finally for function given if import in interface is let module new nonempty object of out outer package return satisfies super switch then this throw try value void while"),types:function(e){var n=e.charAt(0);return n===n.toUpperCase()&&n!==n.toLowerCase()},blockKeywords:b("case catch class dynamic else finally for function if interface module new object switch try while"),defKeywords:b("class dynamic function interface module object package value"),builtin:b("abstract actual aliased annotation by default deprecated doc final formal late license native optional sealed see serializable shared suppressWarnings tagged throws variable"),isPunctuationChar:/[\[\]{}\(\),;\:\.`]/,isOperatorChar:/[+\-*&%=<>!?|^~:\/]/,numberStart:/[\d#$]/,number:/^(?:#[\da-fA-F_]+|\$[01_]+|[\d_]+[kMGTPmunpf]?|[\d_]+\.[\d_]+(?:[eE][-+]?\d+|[kMGTPmunpf]|)|)/i,multiLineStrings:!0,typeFirstDefinitions:!0,atoms:b("true false null larger smaller equal empty finished"),indentSwitch:!1,styleDefs:!1,hooks:{"@":function(e){return e.eatWhile(/[\w\$_]/),"meta"},'"':function(e,n){return n.tokenize=Un(e.match('""')?"triple":"single"),n.tokenize(e,n)},"`":function(e,n){return!Oe||!e.match("`")?!1:(n.tokenize=Oe,Oe=null,n.tokenize(e,n))},"'":function(e){return e.match(/^(\\[^'\s]+|[^\\'])'/)?"string.special":(e.eatWhile(/[\w\$_\xa1-\uffff]/),"atom")},token:function(e,n,t){if((t=="variable"||t=="type")&&n.prevToken==".")return"variableName.special"}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}});function zr(e){(e.interpolationStack||(e.interpolationStack=[])).push(e.tokenize)}function Kn(e){return(e.interpolationStack||(e.interpolationStack=[])).pop()}function Er(e){return e.interpolationStack?e.interpolationStack.length:0}function Ye(e,n,t,r){var i=!1;if(n.eat(e))if(n.eat(e))i=!0;else return"string";function o(a,p){for(var S=!1;!a.eol();){if(!r&&!S&&a.peek()=="$")return zr(p),p.tokenize=Tr,"string";var E=a.next();if(E==e&&!S&&(!i||a.match(e+e))){p.tokenize=null;break}S=!r&&!S&&E=="\\"}return"string"}return t.tokenize=o,o(n,t)}function Tr(e,n){return e.eat("$"),e.eat("{")?n.tokenize=null:n.tokenize=Cr,null}function Cr(e,n){return e.eatWhile(/[\w_]/),n.tokenize=Kn(n),"variable"}var Ir=H({name:"dart",keywords:b("this super static final const abstract class extends external factory implements mixin get native set typedef with enum throw rethrow assert break case continue default in return new deferred async await covariant try catch finally do else for if switch while import library export part of show hide is as extension on yield late required sealed base interface when inline"),blockKeywords:b("try catch finally do else for if switch while"),builtin:b("void bool num int double dynamic var String Null Never"),atoms:b("true false null"),number:/^(?:0x[a-f\d_]+|(?:[\d_]+\.?[\d_]*|\.[\d_]+)(?:e[-+]?[\d_]+)?)/i,hooks:{"@":function(e){return e.eatWhile(/[\w\$_\.]/),"meta"},"'":function(e,n){return Ye("'",e,n,!1)},'"':function(e,n){return Ye('"',e,n,!1)},r:function(e,n){var t=e.peek();return t=="'"||t=='"'?Ye(e.next(),e,n,!0):!1},"}":function(e,n){return Er(n)>0?(n.tokenize=Kn(n),null):!1},"/":function(e,n){return e.eat("*")?(n.tokenize=ke(1),n.tokenize(e,n)):!1},token:function(e,n,t){if(t=="variable"){var r=RegExp("^[_$]*[A-Z][a-zA-Z0-9_$]*$","g");if(r.test(e.current()))return"type"}}}});var Hn=["false","nil","true"],Gn=[".","catch","def","do","if","monitor-enter","monitor-exit","new","quote","recur","set!","throw","try","var"],Zn=["*","*'","*1","*2","*3","*agent*","*allow-unresolved-vars*","*assert*","*clojure-version*","*command-line-args*","*compile-files*","*compile-path*","*compiler-options*","*data-readers*","*default-data-reader-fn*","*e","*err*","*file*","*flush-on-newline*","*fn-loader*","*in*","*math-context*","*ns*","*out*","*print-dup*","*print-length*","*print-level*","*print-meta*","*print-namespace-maps*","*print-readably*","*read-eval*","*reader-resolver*","*source-path*","*suppress-read*","*unchecked-math*","*use-context-classloader*","*verbose-defrecords*","*warn-on-reflection*","+","+'","-","-'","->","->>","->ArrayChunk","->Eduction","->Vec","->VecNode","->VecSeq","-cache-protocol-fn","-reset-methods","..","/","<","<=","=","==",">",">=","EMPTY-NODE","Inst","StackTraceElement->vec","Throwable->map","accessor","aclone","add-classpath","add-watch","agent","agent-error","agent-errors","aget","alength","alias","all-ns","alter","alter-meta!","alter-var-root","amap","ancestors","and","any?","apply","areduce","array-map","as->","aset","aset-boolean","aset-byte","aset-char","aset-double","aset-float","aset-int","aset-long","aset-short","assert","assoc","assoc!","assoc-in","associative?","atom","await","await-for","await1","bases","bean","bigdec","bigint","biginteger","binding","bit-and","bit-and-not","bit-clear","bit-flip","bit-not","bit-or","bit-set","bit-shift-left","bit-shift-right","bit-test","bit-xor","boolean","boolean-array","boolean?","booleans","bound-fn","bound-fn*","bound?","bounded-count","butlast","byte","byte-array","bytes","bytes?","case","cast","cat","char","char-array","char-escape-string","char-name-string","char?","chars","chunk","chunk-append","chunk-buffer","chunk-cons","chunk-first","chunk-next","chunk-rest","chunked-seq?","class","class?","clear-agent-errors","clojure-version","coll?","comment","commute","comp","comparator","compare","compare-and-set!","compile","complement","completing","concat","cond","cond->","cond->>","condp","conj","conj!","cons","constantly","construct-proxy","contains?","count","counted?","create-ns","create-struct","cycle","dec","dec'","decimal?","declare","dedupe","default-data-readers","definline","definterface","defmacro","defmethod","defmulti","defn","defn-","defonce","defprotocol","defrecord","defstruct","deftype","delay","delay?","deliver","denominator","deref","derive","descendants","destructure","disj","disj!","dissoc","dissoc!","distinct","distinct?","doall","dorun","doseq","dosync","dotimes","doto","double","double-array","double?","doubles","drop","drop-last","drop-while","eduction","empty","empty?","ensure","ensure-reduced","enumeration-seq","error-handler","error-mode","eval","even?","every-pred","every?","ex-data","ex-info","extend","extend-protocol","extend-type","extenders","extends?","false?","ffirst","file-seq","filter","filterv","find","find-keyword","find-ns","find-protocol-impl","find-protocol-method","find-var","first","flatten","float","float-array","float?","floats","flush","fn","fn?","fnext","fnil","for","force","format","frequencies","future","future-call","future-cancel","future-cancelled?","future-done?","future?","gen-class","gen-interface","gensym","get","get-in","get-method","get-proxy-class","get-thread-bindings","get-validator","group-by","halt-when","hash","hash-combine","hash-map","hash-ordered-coll","hash-set","hash-unordered-coll","ident?","identical?","identity","if-let","if-not","if-some","ifn?","import","in-ns","inc","inc'","indexed?","init-proxy","inst-ms","inst-ms*","inst?","instance?","int","int-array","int?","integer?","interleave","intern","interpose","into","into-array","ints","io!","isa?","iterate","iterator-seq","juxt","keep","keep-indexed","key","keys","keyword","keyword?","last","lazy-cat","lazy-seq","let","letfn","line-seq","list","list*","list?","load","load-file","load-reader","load-string","loaded-libs","locking","long","long-array","longs","loop","macroexpand","macroexpand-1","make-array","make-hierarchy","map","map-entry?","map-indexed","map?","mapcat","mapv","max","max-key","memfn","memoize","merge","merge-with","meta","method-sig","methods","min","min-key","mix-collection-hash","mod","munge","name","namespace","namespace-munge","nat-int?","neg-int?","neg?","newline","next","nfirst","nil?","nnext","not","not-any?","not-empty","not-every?","not=","ns","ns-aliases","ns-imports","ns-interns","ns-map","ns-name","ns-publics","ns-refers","ns-resolve","ns-unalias","ns-unmap","nth","nthnext","nthrest","num","number?","numerator","object-array","odd?","or","parents","partial","partition","partition-all","partition-by","pcalls","peek","persistent!","pmap","pop","pop!","pop-thread-bindings","pos-int?","pos?","pr","pr-str","prefer-method","prefers","primitives-classnames","print","print-ctor","print-dup","print-method","print-simple","print-str","printf","println","println-str","prn","prn-str","promise","proxy","proxy-call-with-super","proxy-mappings","proxy-name","proxy-super","push-thread-bindings","pvalues","qualified-ident?","qualified-keyword?","qualified-symbol?","quot","rand","rand-int","rand-nth","random-sample","range","ratio?","rational?","rationalize","re-find","re-groups","re-matcher","re-matches","re-pattern","re-seq","read","read-line","read-string","reader-conditional","reader-conditional?","realized?","record?","reduce","reduce-kv","reduced","reduced?","reductions","ref","ref-history-count","ref-max-history","ref-min-history","ref-set","refer","refer-clojure","reify","release-pending-sends","rem","remove","remove-all-methods","remove-method","remove-ns","remove-watch","repeat","repeatedly","replace","replicate","require","reset!","reset-meta!","reset-vals!","resolve","rest","restart-agent","resultset-seq","reverse","reversible?","rseq","rsubseq","run!","satisfies?","second","select-keys","send","send-off","send-via","seq","seq?","seqable?","seque","sequence","sequential?","set","set-agent-send-executor!","set-agent-send-off-executor!","set-error-handler!","set-error-mode!","set-validator!","set?","short","short-array","shorts","shuffle","shutdown-agents","simple-ident?","simple-keyword?","simple-symbol?","slurp","some","some->","some->>","some-fn","some?","sort","sort-by","sorted-map","sorted-map-by","sorted-set","sorted-set-by","sorted?","special-symbol?","spit","split-at","split-with","str","string?","struct","struct-map","subs","subseq","subvec","supers","swap!","swap-vals!","symbol","symbol?","sync","tagged-literal","tagged-literal?","take","take-last","take-nth","take-while","test","the-ns","thread-bound?","time","to-array","to-array-2d","trampoline","transduce","transient","tree-seq","true?","type","unchecked-add","unchecked-add-int","unchecked-byte","unchecked-char","unchecked-dec","unchecked-dec-int","unchecked-divide-int","unchecked-double","unchecked-float","unchecked-inc","unchecked-inc-int","unchecked-int","unchecked-long","unchecked-multiply","unchecked-multiply-int","unchecked-negate","unchecked-negate-int","unchecked-remainder-int","unchecked-short","unchecked-subtract","unchecked-subtract-int","underive","unquote","unquote-splicing","unreduced","unsigned-bit-shift-right","update","update-in","update-proxy","uri?","use","uuid?","val","vals","var-get","var-set","var?","vary-meta","vec","vector","vector-of","vector?","volatile!","volatile?","vreset!","vswap!","when","when-first","when-let","when-not","when-some","while","with-bindings","with-bindings*","with-in-str","with-loading-context","with-local-vars","with-meta","with-open","with-out-str","with-precision","with-redefs","with-redefs-fn","xml-seq","zero?","zipmap"],Rr=["->","->>","as->","binding","bound-fn","case","catch","comment","cond","cond->","cond->>","condp","def","definterface","defmethod","defn","defmacro","defprotocol","defrecord","defstruct","deftype","do","doseq","dotimes","doto","extend","extend-protocol","extend-type","fn","for","future","if","if-let","if-not","if-some","let","letfn","locking","loop","ns","proxy","reify","struct-map","some->","some->>","try","when","when-first","when-let","when-not","when-some","while","with-bindings","with-bindings*","with-in-str","with-loading-context","with-local-vars","with-meta","with-open","with-out-str","with-precision","with-redefs","with-redefs-fn"],Or=De(Hn),Ar=De(Gn),Pr=De(Zn),Lr=De(Rr),Dr=/^(?:[\\\[\]\s"(),;@^`{}~]|$)/,$r=/^(?:[+\-]?\d+(?:(?:N|(?:[eE][+\-]?\d+))|(?:\.?\d*(?:M|(?:[eE][+\-]?\d+))?)|\/\d+|[xX][0-9a-fA-F]+|r[0-9a-zA-Z]+)?(?=[\\\[\]\s"#'(),;@^`{}~]|$))/,Nr=/^(?:\\(?:backspace|formfeed|newline|return|space|tab|o[0-7]{3}|u[0-9A-Fa-f]{4}|x[0-9A-Fa-f]{4}|.)?(?=[\\\[\]\s"(),;@^`{}~]|$))/,qr=/^(?:(?:[^\\\/\[\]\d\s"#'(),;@^`{}~.][^\\\[\]\s"(),;@^`{}~.\/]*(?:\.[^\\\/\[\]\d\s"#'(),;@^`{}~.][^\\\[\]\s"(),;@^`{}~.\/]*)*\/)?(?:\/|[^\\\/\[\]\d\s"#'(),;@^`{}~][^\\\[\]\s"(),;@^`{}~]*)*(?=[\\\[\]\s"(),;@^`{}~]|$))/;function nn(e,n){if(e.eatSpace()||e.eat(","))return["space",null];if(e.match($r))return[null,"number"];if(e.match(Nr))return[null,"string.special"];if(e.eat(/^"/))return(n.tokenize=Fr)(e,n);if(e.eat(/^[(\[{]/))return["open","bracket"];if(e.eat(/^[)\]}]/))return["close","bracket"];if(e.eat(/^;/))return e.skipToEnd(),["space","comment"];if(e.eat(/^[#'@^`~]/))return[null,"meta"];var t=e.match(qr),r=t&&t[0];return r?r==="comment"&&n.lastToken==="("?(n.tokenize=Mr)(e,n):Se(r,Or)||r.charAt(0)===":"?["symbol","atom"]:Se(r,Ar)||Se(r,Pr)?["symbol","keyword"]:n.lastToken==="("?["symbol","builtin"]:["symbol","variable"]:(e.next(),e.eatWhile(function(i){return!Se(i,Dr)}),[null,"error"])}function Fr(e,n){for(var t=!1,r;r=e.next();){if(r==='"'&&!t){n.tokenize=nn;break}t=!t&&r==="\\"}return[null,"string"]}function Mr(e,n){for(var t=1,r;r=e.next();)if(r===")"&&t--,r==="("&&t++,t===0){e.backUp(1),n.tokenize=nn;break}return["space","comment"]}function De(e){for(var n={},t=0;t<e.length;++t)n[e[t]]=!0;return n}function Se(e,n){if(n instanceof RegExp)return n.test(e);if(n instanceof Object)return n.propertyIsEnumerable(e)}var Br={name:"clojure",startState:function(){return{ctx:{prev:null,start:0,indentTo:0},lastToken:null,tokenize:nn}},token:function(e,n){e.sol()&&typeof n.ctx.indentTo!="number"&&(n.ctx.indentTo=n.ctx.start+1);var t=n.tokenize(e,n),r=t[0],i=t[1],o=e.current();return r!=="space"&&(n.lastToken==="("&&n.ctx.indentTo===null?r==="symbol"&&Se(o,Lr)?n.ctx.indentTo=n.ctx.start+e.indentUnit:n.ctx.indentTo="next":n.ctx.indentTo==="next"&&(n.ctx.indentTo=e.column()),n.lastToken=o),r==="open"?n.ctx={prev:n.ctx,start:e.column(),indentTo:null}:r==="close"&&(n.ctx=n.ctx.prev||n.ctx),i},indent:function(e){var n=e.ctx.indentTo;return typeof n=="number"?n:e.ctx.start+1},languageData:{closeBrackets:{brackets:["(","[","{",'"']},commentTokens:{line:";;"},autocomplete:[].concat(Hn,Gn,Zn)}};var Qn={"+":"inserted","-":"deleted","@":"meta"},jr={name:"diff",token:function(e){var n=e.string.search(/[\t ]+?$/);if(!e.sol()||n===0)return e.skipToEnd(),("error "+(Qn[e.string.charAt(0)]||"")).replace(/ $/,"");var t=Qn[e.peek()]||e.skipToEnd();return n===-1?e.skipToEnd():e.pos=n,t}};function tn(e){for(var n={},t=0;t<e.length;++t)n[e[t]]=!0;return n}var Wr=tn(["abstract","accept","allocatable","allocate","array","assign","asynchronous","backspace","bind","block","byte","call","case","class","close","common","contains","continue","cycle","data","deallocate","decode","deferred","dimension","do","elemental","else","encode","end","endif","entry","enumerator","equivalence","exit","external","extrinsic","final","forall","format","function","generic","go","goto","if","implicit","import","include","inquire","intent","interface","intrinsic","module","namelist","non_intrinsic","non_overridable","none","nopass","nullify","open","optional","options","parameter","pass","pause","pointer","print","private","program","protected","public","pure","read","recursive","result","return","rewind","save","select","sequence","stop","subroutine","target","then","to","type","use","value","volatile","where","while","write"]),Ur=tn(["abort","abs","access","achar","acos","adjustl","adjustr","aimag","aint","alarm","all","allocated","alog","amax","amin","amod","and","anint","any","asin","associated","atan","besj","besjn","besy","besyn","bit_size","btest","cabs","ccos","ceiling","cexp","char","chdir","chmod","clog","cmplx","command_argument_count","complex","conjg","cos","cosh","count","cpu_time","cshift","csin","csqrt","ctime","c_funloc","c_loc","c_associated","c_null_ptr","c_null_funptr","c_f_pointer","c_null_char","c_alert","c_backspace","c_form_feed","c_new_line","c_carriage_return","c_horizontal_tab","c_vertical_tab","dabs","dacos","dasin","datan","date_and_time","dbesj","dbesj","dbesjn","dbesy","dbesy","dbesyn","dble","dcos","dcosh","ddim","derf","derfc","dexp","digits","dim","dint","dlog","dlog","dmax","dmin","dmod","dnint","dot_product","dprod","dsign","dsinh","dsin","dsqrt","dtanh","dtan","dtime","eoshift","epsilon","erf","erfc","etime","exit","exp","exponent","extends_type_of","fdate","fget","fgetc","float","floor","flush","fnum","fputc","fput","fraction","fseek","fstat","ftell","gerror","getarg","get_command","get_command_argument","get_environment_variable","getcwd","getenv","getgid","getlog","getpid","getuid","gmtime","hostnm","huge","iabs","iachar","iand","iargc","ibclr","ibits","ibset","ichar","idate","idim","idint","idnint","ieor","ierrno","ifix","imag","imagpart","index","int","ior","irand","isatty","ishft","ishftc","isign","iso_c_binding","is_iostat_end","is_iostat_eor","itime","kill","kind","lbound","len","len_trim","lge","lgt","link","lle","llt","lnblnk","loc","log","logical","long","lshift","lstat","ltime","matmul","max","maxexponent","maxloc","maxval","mclock","merge","move_alloc","min","minexponent","minloc","minval","mod","modulo","mvbits","nearest","new_line","nint","not","or","pack","perror","precision","present","product","radix","rand","random_number","random_seed","range","real","realpart","rename","repeat","reshape","rrspacing","rshift","same_type_as","scale","scan","second","selected_int_kind","selected_real_kind","set_exponent","shape","short","sign","signal","sinh","sin","sleep","sngl","spacing","spread","sqrt","srand","stat","sum","symlnk","system","system_clock","tan","tanh","time","tiny","transfer","transpose","trim","ttynam","ubound","umask","unlink","unpack","verify","xor","zabs","zcos","zexp","zlog","zsin","zsqrt"]),Kr=tn(["c_bool","c_char","c_double","c_double_complex","c_float","c_float_complex","c_funptr","c_int","c_int16_t","c_int32_t","c_int64_t","c_int8_t","c_int_fast16_t","c_int_fast32_t","c_int_fast64_t","c_int_fast8_t","c_int_least16_t","c_int_least32_t","c_int_least64_t","c_int_least8_t","c_intmax_t","c_intptr_t","c_long","c_long_double","c_long_double_complex","c_long_long","c_ptr","c_short","c_signed_char","c_size_t","character","complex","double","integer","logical","real"]),Vn=/[+\-*&=<>\/\:]/,Hr=/^\.(and|or|eq|lt|le|gt|ge|ne|not|eqv|neqv)\./i;function Gr(e,n){if(e.match(Hr))return"operator";var t=e.next();if(t=="!")return e.skipToEnd(),"comment";if(t=='"'||t=="'")return n.tokenize=Zr(t),n.tokenize(e,n);if(/[\[\]\(\),]/.test(t))return null;if(/\d/.test(t))return e.eatWhile(/[\w\.]/),"number";if(Vn.test(t))return e.eatWhile(Vn),"operator";e.eatWhile(/[\w\$_]/);var r=e.current().toLowerCase();return Wr.hasOwnProperty(r)?"keyword":Ur.hasOwnProperty(r)||Kr.hasOwnProperty(r)?"builtin":"variable"}function Zr(e){return function(n,t){for(var r=!1,i,o=!1;(i=n.next())!=null;){if(i==e&&!r){o=!0;break}r=!r&&i=="\\"}return(o||!r)&&(t.tokenize=null),"string"}}var Qr={name:"fortran",startState:function(){return{tokenize:null}},token:function(e,n){if(e.eatSpace())return null;var t=(n.tokenize||Gr)(e,n);return t=="comment"||t=="meta",t}};var Vr={break:!0,case:!0,chan:!0,const:!0,continue:!0,default:!0,defer:!0,else:!0,fallthrough:!0,for:!0,func:!0,go:!0,goto:!0,if:!0,import:!0,interface:!0,map:!0,package:!0,range:!0,return:!0,select:!0,struct:!0,switch:!0,type:!0,var:!0,bool:!0,byte:!0,complex64:!0,complex128:!0,float32:!0,float64:!0,int8:!0,int16:!0,int32:!0,int64:!0,string:!0,uint8:!0,uint16:!0,uint32:!0,uint64:!0,int:!0,uint:!0,uintptr:!0,error:!0,rune:!0,any:!0,comparable:!0},Xr={true:!0,false:!0,iota:!0,nil:!0,append:!0,cap:!0,close:!0,complex:!0,copy:!0,delete:!0,imag:!0,len:!0,make:!0,new:!0,panic:!0,print:!0,println:!0,real:!0,recover:!0},Xn=/[+\-*&^%:=<>!|\/]/,ne;function $e(e,n){var t=e.next();if(t=='"'||t=="'"||t=="`")return n.tokenize=Jr(t),n.tokenize(e,n);if(/[\d\.]/.test(t))return t=="."?e.match(/^[0-9]+([eE][\-+]?[0-9]+)?/):t=="0"?e.match(/^[xX][0-9a-fA-F]+/)||e.match(/^0[0-7]+/):e.match(/^[0-9]*\.?[0-9]*([eE][\-+]?[0-9]+)?/),"number";if(/[\[\]{}\(\),;\:\.]/.test(t))return ne=t,null;if(t=="/"){if(e.eat("*"))return n.tokenize=Jn,Jn(e,n);if(e.eat("/"))return e.skipToEnd(),"comment"}if(Xn.test(t))return e.eatWhile(Xn),"operator";e.eatWhile(/[\w\$_\xa1-\uffff]/);var r=e.current();return Vr.propertyIsEnumerable(r)?((r=="case"||r=="default")&&(ne="case"),"keyword"):Xr.propertyIsEnumerable(r)?"atom":"variable"}function Jr(e){return function(n,t){for(var r=!1,i,o=!1;(i=n.next())!=null;){if(i==e&&!r){o=!0;break}r=!r&&e!="`"&&i=="\\"}return(o||!(r||e=="`"))&&(t.tokenize=$e),"string"}}function Jn(e,n){for(var t=!1,r;r=e.next();){if(r=="/"&&t){n.tokenize=$e;break}t=r=="*"}return"comment"}function et(e,n,t,r,i){this.indented=e,this.column=n,this.type=t,this.align=r,this.prev=i}function rn(e,n,t){return e.context=new et(e.indented,n,t,null,e.context)}function Yn(e){if(e.context.prev){var n=e.context.type;return(n==")"||n=="]"||n=="}")&&(e.indented=e.context.indented),e.context=e.context.prev}}var Yr={name:"go",startState:function(e){return{tokenize:null,context:new et(-e,0,"top",!1),indented:0,startOfLine:!0}},token:function(e,n){var t=n.context;if(e.sol()&&(t.align==null&&(t.align=!1),n.indented=e.indentation(),n.startOfLine=!0,t.type=="case"&&(t.type="}")),e.eatSpace())return null;ne=null;var r=(n.tokenize||$e)(e,n);return r=="comment"||(t.align==null&&(t.align=!0),ne=="{"?rn(n,e.column(),"}"):ne=="["?rn(n,e.column(),"]"):ne=="("?rn(n,e.column(),")"):ne=="case"?t.type="case":(ne=="}"&&t.type=="}"||ne==t.type)&&Yn(n),n.startOfLine=!1),r},indent:function(e,n,t){if(e.tokenize!=$e&&e.tokenize!=null)return null;var r=e.context,i=n&&n.charAt(0);if(r.type=="case"&&/^(?:case|default)\b/.test(n))return r.indented;var o=i==r.type;return r.align?r.column+(o?0:1):r.indented+(o?0:t.unit)},languageData:{indentOnInput:/^\s([{}]|case |default\s*:)$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}};function ln(e,n,t){return n(t),t(e,n)}var ei=/[a-z_]/,ni=/[A-Z]/,on=/\d/,ti=/[0-9A-Fa-f]/,ri=/[0-7]/,nt=/[a-z_A-Z0-9'\xa1-\uffff]/,an=/[-!#$%&*+.\/<=>?@\\^|~:]/,ii=/[(),;[\]`{}]/,rt=/[ \t\v\f]/;function fe(e,n){if(e.eatWhile(rt))return null;var t=e.next();if(ii.test(t)){if(t=="{"&&e.eat("-")){var r="comment";return e.eat("#")&&(r="meta"),ln(e,n,it(r,1))}return null}if(t=="'")return e.eat("\\"),e.next(),e.eat("'")?"string":"error";if(t=='"')return ln(e,n,ot);if(ni.test(t))return e.eatWhile(nt),e.eat(".")?"qualifier":"type";if(ei.test(t))return e.eatWhile(nt),"variable";if(on.test(t)){if(t=="0"){if(e.eat(/[xX]/))return e.eatWhile(ti),"integer";if(e.eat(/[oO]/))return e.eatWhile(ri),"number"}e.eatWhile(on);var r="number";return e.match(/^\.\d+/)&&(r="number"),e.eat(/[eE]/)&&(r="number",e.eat(/[-+]/),e.eatWhile(on)),r}return t=="."&&e.eat(".")?"keyword":an.test(t)?t=="-"&&e.eat(/-/)&&(e.eatWhile(/-/),!e.eat(an))?(e.skipToEnd(),"comment"):(e.eatWhile(an),"variable"):"error"}function it(e,n){return n==0?fe:function(t,r){for(var i=n;!t.eol();){var o=t.next();if(o=="{"&&t.eat("-"))++i;else if(o=="-"&&t.eat("}")&&(--i,i==0))return r(fe),e}return r(it(e,i)),e}}function ot(e,n){for(;!e.eol();){var t=e.next();if(t=='"')return n(fe),"string";if(t=="\\"){if(e.eol()||e.eat(rt))return n(oi),"string";e.eat("&")||e.next()}}return n(fe),"error"}function oi(e,n){return e.eat("\\")?ln(e,n,ot):(e.next(),n(fe),"error")}var tt=function(){var e={};function n(t){return function(){for(var r=0;r<arguments.length;r++)e[arguments[r]]=t}}return n("keyword")("case","class","data","default","deriving","do","else","foreign","if","import","in","infix","infixl","infixr","instance","let","module","newtype","of","then","type","where","_"),n("keyword")("..",":","::","=","\\","<-","->","@","~","=>"),n("builtin")("!!","$!","$","&&","+","++","-",".","/","/=","<","<*","<=","<$>","<*>","=<<","==",">",">=",">>",">>=","^","^^","||","*","*>","**"),n("builtin")("Applicative","Bool","Bounded","Char","Double","EQ","Either","Enum","Eq","False","FilePath","Float","Floating","Fractional","Functor","GT","IO","IOError","Int","Integer","Integral","Just","LT","Left","Maybe","Monad","Nothing","Num","Ord","Ordering","Rational","Read","ReadS","Real","RealFloat","RealFrac","Right","Show","ShowS","String","True"),n("builtin")("abs","acos","acosh","all","and","any","appendFile","asTypeOf","asin","asinh","atan","atan2","atanh","break","catch","ceiling","compare","concat","concatMap","const","cos","cosh","curry","cycle","decodeFloat","div","divMod","drop","dropWhile","either","elem","encodeFloat","enumFrom","enumFromThen","enumFromThenTo","enumFromTo","error","even","exp","exponent","fail","filter","flip","floatDigits","floatRadix","floatRange","floor","fmap","foldl","foldl1","foldr","foldr1","fromEnum","fromInteger","fromIntegral","fromRational","fst","gcd","getChar","getContents","getLine","head","id","init","interact","ioError","isDenormalized","isIEEE","isInfinite","isNaN","isNegativeZero","iterate","last","lcm","length","lex","lines","log","logBase","lookup","map","mapM","mapM_","max","maxBound","maximum","maybe","min","minBound","minimum","mod","negate","not","notElem","null","odd","or","otherwise","pi","pred","print","product","properFraction","pure","putChar","putStr","putStrLn","quot","quotRem","read","readFile","readIO","readList","readLn","readParen","reads","readsPrec","realToFrac","recip","rem","repeat","replicate","return","reverse","round","scaleFloat","scanl","scanl1","scanr","scanr1","seq","sequence","sequence_","show","showChar","showList","showParen","showString","shows","showsPrec","significand","signum","sin","sinh","snd","span","splitAt","sqrt","subtract","succ","sum","tail","take","takeWhile","tan","tanh","toEnum","toInteger","toRational","truncate","uncurry","undefined","unlines","until","unwords","unzip","unzip3","userError","words","writeFile","zip","zip3","zipWith","zipWith3"),e}(),ai={name:"haskell",startState:function(){return{f:fe}},copyState:function(e){return{f:e.f}},token:function(e,n){var t=n.f(e,function(i){n.f=i}),r=e.current();return tt.hasOwnProperty(r)?tt[r]:t},languageData:{commentTokens:{line:"--",block:{open:"{-",close:"-}"}}}};function ae(e,n,t){return typeof t>"u"&&(t=""),typeof n>"u"&&(n="\\b"),new RegExp("^"+t+"(("+e.join(")|(")+"))"+n)}var li="\\\\[0-7]{1,3}",ci="\\\\x[A-Fa-f0-9]{1,2}",si=`\\\\[abefnrtv0%?'"\\\\]`,ui="([^\\u0027\\u005C\\uD800-\\uDFFF]|[\\uD800-\\uDFFF][\\uDC00-\\uDFFF])",ct=["[<>]:","[<>=]=","<<=?",">>>?=?","=>","--?>","<--[->]?","\\/\\/","\\.{2,3}","[\\.\\\\%*+\\-<>!\\/^|&]=?","\\?","\\$","~",":"],di=ae(["[<>]:","[<>=]=","[!=]==","<<=?",">>>?=?","=>?","--?>","<--[->]?","\\/\\/","[\\\\%*+\\-<>!\\/^|&\\u00F7\\u22BB]=?","\\?","\\$","~",":","\\u00D7","\\u2208","\\u2209","\\u220B","\\u220C","\\u2218","\\u221A","\\u221B","\\u2229","\\u222A","\\u2260","\\u2264","\\u2265","\\u2286","\\u2288","\\u228A","\\u22C5","\\b(in|isa)\\b(?!.?\\()"],""),fi=/^[;,()[\]{}]/,pi=/^[_A-Za-z\u00A1-\u2217\u2219-\uFFFF][\w\u00A1-\u2217\u2219-\uFFFF]*!*/,mi=ae([li,ci,si,ui],"'"),hi=["begin","function","type","struct","immutable","let","macro","for","while","quote","if","else","elseif","try","finally","catch","do"],gi=["end","else","elseif","catch","finally"],st=["if","else","elseif","while","for","begin","let","end","do","try","catch","finally","return","break","continue","global","local","const","export","import","importall","using","function","where","macro","module","baremodule","struct","type","mutable","immutable","quote","typealias","abstract","primitive","bitstype"],ut=["true","false","nothing","NaN","Inf"],bi=ae(hi),yi=ae(gi),vi=ae(st),ki=ae(ut),_i=/^@[_A-Za-z\u00A1-\uFFFF][\w\u00A1-\uFFFF]*!*/,xi=/^:[_A-Za-z\u00A1-\uFFFF][\w\u00A1-\uFFFF]*!*/,wi=/^(`|([_A-Za-z\u00A1-\uFFFF]*"("")?))/,Si=ae(ct,"","@"),zi=ae(ct,"",":");function at(e){return e.nestedArrays>0}function Ei(e){return e.nestedGenerators>0}function lt(e,n){return typeof n>"u"&&(n=0),e.scopes.length<=n?null:e.scopes[e.scopes.length-(n+1)]}function pe(e,n){if(e.match("#=",!1))return n.tokenize=Ci,n.tokenize(e,n);var t=n.leavingExpr;if(e.sol()&&(t=!1),n.leavingExpr=!1,t&&e.match(/^'+/))return"operator";if(e.match(/\.{4,}/))return"error";if(e.match(/\.{1,3}/))return"operator";if(e.eatSpace())return null;var r=e.peek();if(r==="#")return e.skipToEnd(),"comment";if(r==="["&&(n.scopes.push("["),n.nestedArrays++),r==="("&&(n.scopes.push("("),n.nestedGenerators++),at(n)&&r==="]"){for(;n.scopes.length&<(n)!=="[";)n.scopes.pop();n.scopes.pop(),n.nestedArrays--,n.leavingExpr=!0}if(Ei(n)&&r===")"){for(;n.scopes.length&<(n)!=="(";)n.scopes.pop();n.scopes.pop(),n.nestedGenerators--,n.leavingExpr=!0}if(at(n)){if(n.lastToken=="end"&&e.match(":"))return"operator";if(e.match("end"))return"number"}var i;if((i=e.match(bi,!1))&&n.scopes.push(i[0]),e.match(yi,!1)&&n.scopes.pop(),e.match(/^::(?![:\$])/))return n.tokenize=Ti,n.tokenize(e,n);if(!t&&(e.match(xi)||e.match(zi)))return"builtin";if(e.match(di))return"operator";if(e.match(/^\.?\d/,!1)){var o=RegExp(/^im\b/),a=!1;if(e.match(/^0x\.[0-9a-f_]+p[\+\-]?[_\d]+/i)&&(a=!0),e.match(/^0x[0-9a-f_]+/i)&&(a=!0),e.match(/^0b[01_]+/i)&&(a=!0),e.match(/^0o[0-7_]+/i)&&(a=!0),e.match(/^(?:(?:\d[_\d]*)?\.(?!\.)(?:\d[_\d]*)?|\d[_\d]*\.(?!\.)(?:\d[_\d]*))?([Eef][\+\-]?[_\d]+)?/i)&&(a=!0),e.match(/^\d[_\d]*(e[\+\-]?\d+)?/i)&&(a=!0),a)return e.match(o),n.leavingExpr=!0,"number"}if(e.match("'"))return n.tokenize=Ii,n.tokenize(e,n);if(e.match(wi))return n.tokenize=Ri(e.current()),n.tokenize(e,n);if(e.match(_i)||e.match(Si))return"meta";if(e.match(fi))return null;if(e.match(vi))return"keyword";if(e.match(ki))return"builtin";var p=n.isDefinition||n.lastToken=="function"||n.lastToken=="macro"||n.lastToken=="type"||n.lastToken=="struct"||n.lastToken=="immutable";return e.match(pi)?p?e.peek()==="."?(n.isDefinition=!0,"variable"):(n.isDefinition=!1,"def"):(n.leavingExpr=!0,"variable"):(e.next(),"error")}function Ti(e,n){return e.match(/.*?(?=[,;{}()=\s]|$)/),e.match("{")?n.nestedParameters++:e.match("}")&&n.nestedParameters>0&&n.nestedParameters--,n.nestedParameters>0?e.match(/.*?(?={|})/)||e.next():n.nestedParameters==0&&(n.tokenize=pe),"builtin"}function Ci(e,n){return e.match("#=")&&n.nestedComments++,e.match(/.*?(?=(#=|=#))/)||e.skipToEnd(),e.match("=#")&&(n.nestedComments--,n.nestedComments==0&&(n.tokenize=pe)),"comment"}function Ii(e,n){var t=!1,r;if(e.match(mi))t=!0;else if(r=e.match(/\\u([a-f0-9]{1,4})(?=')/i)){var i=parseInt(r[1],16);(i<=55295||i>=57344)&&(t=!0,e.next())}else if(r=e.match(/\\U([A-Fa-f0-9]{5,8})(?=')/)){var i=parseInt(r[1],16);i<=1114111&&(t=!0,e.next())}return t?(n.leavingExpr=!0,n.tokenize=pe,"string"):(e.match(/^[^']+(?=')/)||e.skipToEnd(),e.match("'")&&(n.tokenize=pe),"error")}function Ri(e){e.substr(-3)==='"""'?e='"""':e.substr(-1)==='"'&&(e='"');function n(t,r){if(t.eat("\\"))t.next();else{if(t.match(e))return r.tokenize=pe,r.leavingExpr=!0,"string";t.eat(/[`"]/)}return t.eatWhile(/[^\\`"]/),"string"}return n}var Oi={name:"julia",startState:function(){return{tokenize:pe,scopes:[],lastToken:null,leavingExpr:!1,isDefinition:!1,nestedArrays:0,nestedComments:0,nestedGenerators:0,nestedParameters:0,firstParenPos:-1}},token:function(e,n){var t=n.tokenize(e,n),r=e.current();return r&&t&&(n.lastToken=r),t},indent:function(e,n,t){var r=0;return(n==="]"||n===")"||/^end\b/.test(n)||/^else/.test(n)||/^catch\b/.test(n)||/^elseif\b/.test(n)||/^finally/.test(n))&&(r=-1),(e.scopes.length+r)*t.unit},languageData:{indentOnInput:/^\s*(end|else|catch|finally)\b$/,commentTokens:{line:"#",block:{open:"#=",close:"=#"}},closeBrackets:{brackets:["(","[","{",'"']},autocomplete:st.concat(ut)}};function Ai(e){return new RegExp("^(?:"+e.join("|")+")","i")}function Ne(e){return new RegExp("^(?:"+e.join("|")+")$","i")}var Pi=Ne(["_G","_VERSION","assert","collectgarbage","dofile","error","getfenv","getmetatable","ipairs","load","loadfile","loadstring","module","next","pairs","pcall","print","rawequal","rawget","rawset","require","select","setfenv","setmetatable","tonumber","tostring","type","unpack","xpcall","coroutine.create","coroutine.resume","coroutine.running","coroutine.status","coroutine.wrap","coroutine.yield","debug.debug","debug.getfenv","debug.gethook","debug.getinfo","debug.getlocal","debug.getmetatable","debug.getregistry","debug.getupvalue","debug.setfenv","debug.sethook","debug.setlocal","debug.setmetatable","debug.setupvalue","debug.traceback","close","flush","lines","read","seek","setvbuf","write","io.close","io.flush","io.input","io.lines","io.open","io.output","io.popen","io.read","io.stderr","io.stdin","io.stdout","io.tmpfile","io.type","io.write","math.abs","math.acos","math.asin","math.atan","math.atan2","math.ceil","math.cos","math.cosh","math.deg","math.exp","math.floor","math.fmod","math.frexp","math.huge","math.ldexp","math.log","math.log10","math.max","math.min","math.modf","math.pi","math.pow","math.rad","math.random","math.randomseed","math.sin","math.sinh","math.sqrt","math.tan","math.tanh","os.clock","os.date","os.difftime","os.execute","os.exit","os.getenv","os.remove","os.rename","os.setlocale","os.time","os.tmpname","package.cpath","package.loaded","package.loaders","package.loadlib","package.path","package.preload","package.seeall","string.byte","string.char","string.dump","string.find","string.format","string.gmatch","string.gsub","string.len","string.lower","string.match","string.rep","string.reverse","string.sub","string.upper","table.concat","table.insert","table.maxn","table.remove","table.sort"]),Li=Ne(["and","break","elseif","false","nil","not","or","return","true","function","end","if","then","else","do","while","repeat","until","for","in","local"]),Di=Ne(["function","if","repeat","do","\\(","{"]),$i=Ne(["end","until","\\)","}"]),Ni=Ai(["end","until","\\)","}","else","elseif"]);function dt(e){for(var n=0;e.eat("=");)++n;return e.eat("["),n}function cn(e,n){var t=e.next();return t=="-"&&e.eat("-")?e.eat("[")&&e.eat("[")?(n.cur=ft(dt(e),"comment"))(e,n):(e.skipToEnd(),"comment"):t=='"'||t=="'"?(n.cur=qi(t))(e,n):t=="["&&/[\[=]/.test(e.peek())?(n.cur=ft(dt(e),"string"))(e,n):/\d/.test(t)?(e.eatWhile(/[\w.%]/),"number"):/[\w_]/.test(t)?(e.eatWhile(/[\w\\\-_.]/),"variable"):null}function ft(e,n){return function(t,r){for(var i=null,o;(o=t.next())!=null;)if(i==null)o=="]"&&(i=0);else if(o=="=")++i;else if(o=="]"&&i==e){r.cur=cn;break}else i=null;return n}}function qi(e){return function(n,t){for(var r=!1,i;(i=n.next())!=null&&!(i==e&&!r);)r=!r&&i=="\\";return r||(t.cur=cn),"string"}}var Fi={name:"lua",startState:function(){return{basecol:0,indentDepth:0,cur:cn}},token:function(e,n){if(e.eatSpace())return null;var t=n.cur(e,n),r=e.current();return t=="variable"&&(Li.test(r)?t="keyword":Pi.test(r)&&(t="builtin")),t!="comment"&&t!="string"&&(Di.test(r)?++n.indentDepth:$i.test(r)&&--n.indentDepth),t},indent:function(e,n,t){var r=Ni.test(n);return e.basecol+t.unit*(e.indentDepth-(r?1:0))},languageData:{indentOnInput:/^\s*(?:end|until|else|\)|\})$/,commentTokens:{line:"--",block:{open:"--[[",close:"]]--"}}}};function sn(e){var n={as:"keyword",do:"keyword",else:"keyword",end:"keyword",exception:"keyword",fun:"keyword",functor:"keyword",if:"keyword",in:"keyword",include:"keyword",let:"keyword",of:"keyword",open:"keyword",rec:"keyword",struct:"keyword",then:"keyword",type:"keyword",val:"keyword",while:"keyword",with:"keyword"},t=e.extraWords||{};for(var r in t)t.hasOwnProperty(r)&&(n[r]=e.extraWords[r]);var i=[];for(var o in n)i.push(o);function a(x,c){var d=x.next();if(d==='"')return c.tokenize=p,c.tokenize(x,c);if(d==="{"&&x.eat("|"))return c.longString=!0,c.tokenize=E,c.tokenize(x,c);if(d==="("&&x.match(/^\*(?!\))/))return c.commentLevel++,c.tokenize=S,c.tokenize(x,c);if(d==="~"||d==="?")return x.eatWhile(/\w/),"variableName.special";if(d==="`")return x.eatWhile(/\w/),"quote";if(d==="/"&&e.slashComments&&x.eat("/"))return x.skipToEnd(),"comment";if(/\d/.test(d))return d==="0"&&x.eat(/[bB]/)&&x.eatWhile(/[01]/),d==="0"&&x.eat(/[xX]/)&&x.eatWhile(/[0-9a-fA-F]/),d==="0"&&x.eat(/[oO]/)?x.eatWhile(/[0-7]/):(x.eatWhile(/[\d_]/),x.eat(".")&&x.eatWhile(/[\d]/),x.eat(/[eE]/)&&x.eatWhile(/[\d\-+]/)),"number";if(/[+\-*&%=<>!?|@\.~:]/.test(d))return"operator";if(/[\w\xa1-\uffff]/.test(d)){x.eatWhile(/[\w\xa1-\uffff]/);var y=x.current();return n.hasOwnProperty(y)?n[y]:"variable"}return null}function p(x,c){for(var d,y=!1,O=!1;(d=x.next())!=null;){if(d==='"'&&!O){y=!0;break}O=!O&&d==="\\"}return y&&!O&&(c.tokenize=a),"string"}function S(x,c){for(var d,y;c.commentLevel>0&&(y=x.next())!=null;)d==="("&&y==="*"&&c.commentLevel++,d==="*"&&y===")"&&c.commentLevel--,d=y;return c.commentLevel<=0&&(c.tokenize=a),"comment"}function E(x,c){for(var d,y;c.longString&&(y=x.next())!=null;)d==="|"&&y==="}"&&(c.longString=!1),d=y;return c.longString||(c.tokenize=a),"string"}return{startState:function(){return{tokenize:a,commentLevel:0,longString:!1}},token:function(x,c){return x.eatSpace()?null:c.tokenize(x,c)},languageData:{autocomplete:i,commentTokens:{line:e.slashComments?"//":void 0,block:{open:"(*",close:"*)"}}}}}var Mi=sn({name:"ocaml",extraWords:{and:"keyword",assert:"keyword",begin:"keyword",class:"keyword",constraint:"keyword",done:"keyword",downto:"keyword",external:"keyword",function:"keyword",initializer:"keyword",lazy:"keyword",match:"keyword",method:"keyword",module:"keyword",mutable:"keyword",new:"keyword",nonrec:"keyword",object:"keyword",private:"keyword",sig:"keyword",to:"keyword",try:"keyword",value:"keyword",virtual:"keyword",when:"keyword",raise:"builtin",failwith:"builtin",true:"builtin",false:"builtin",asr:"builtin",land:"builtin",lor:"builtin",lsl:"builtin",lsr:"builtin",lxor:"builtin",mod:"builtin",or:"builtin",raise_notrace:"builtin",trace:"builtin",exit:"builtin",print_string:"builtin",print_endline:"builtin",int:"type",float:"type",bool:"type",char:"type",string:"type",unit:"type",List:"builtin"}}),Bi=sn({name:"fsharp",extraWords:{abstract:"keyword",assert:"keyword",base:"keyword",begin:"keyword",class:"keyword",default:"keyword",delegate:"keyword","do!":"keyword",done:"keyword",downcast:"keyword",downto:"keyword",elif:"keyword",extern:"keyword",finally:"keyword",for:"keyword",function:"keyword",global:"keyword",inherit:"keyword",inline:"keyword",interface:"keyword",internal:"keyword",lazy:"keyword","let!":"keyword",match:"keyword",member:"keyword",module:"keyword",mutable:"keyword",namespace:"keyword",new:"keyword",null:"keyword",override:"keyword",private:"keyword",public:"keyword","return!":"keyword",return:"keyword",select:"keyword",static:"keyword",to:"keyword",try:"keyword",upcast:"keyword","use!":"keyword",use:"keyword",void:"keyword",when:"keyword","yield!":"keyword",yield:"keyword",atomic:"keyword",break:"keyword",checked:"keyword",component:"keyword",const:"keyword",constraint:"keyword",constructor:"keyword",continue:"keyword",eager:"keyword",event:"keyword",external:"keyword",fixed:"keyword",method:"keyword",mixin:"keyword",object:"keyword",parallel:"keyword",process:"keyword",protected:"keyword",pure:"keyword",sealed:"keyword",tailcall:"keyword",trait:"keyword",virtual:"keyword",volatile:"keyword",List:"builtin",Seq:"builtin",Map:"builtin",Set:"builtin",Option:"builtin",int:"builtin",string:"builtin",not:"builtin",true:"builtin",false:"builtin",raise:"builtin",failwith:"builtin"},slashComments:!0}),ji=sn({name:"sml",extraWords:{abstype:"keyword",and:"keyword",andalso:"keyword",case:"keyword",datatype:"keyword",fn:"keyword",handle:"keyword",infix:"keyword",infixr:"keyword",local:"keyword",nonfix:"keyword",op:"keyword",orelse:"keyword",raise:"keyword",withtype:"keyword",eqtype:"keyword",sharing:"keyword",sig:"keyword",signature:"keyword",structure:"keyword",where:"keyword",true:"keyword",false:"keyword",int:"builtin",real:"builtin",string:"builtin",char:"builtin",bool:"builtin"},slashComments:!0});function un(e){for(var n={},t=e.split(" "),r=0;r<t.length;++r)n[t[r]]=!0;return n}var Wi=un("break return rewrite set accept_mutex accept_mutex_delay access_log add_after_body add_before_body add_header addition_types aio alias allow ancient_browser ancient_browser_value auth_basic auth_basic_user_file auth_http auth_http_header auth_http_timeout autoindex autoindex_exact_size autoindex_localtime charset charset_types client_body_buffer_size client_body_in_file_only client_body_in_single_buffer client_body_temp_path client_body_timeout client_header_buffer_size client_header_timeout client_max_body_size connection_pool_size create_full_put_path daemon dav_access dav_methods debug_connection debug_points default_type degradation degrade deny devpoll_changes devpoll_events directio directio_alignment empty_gif env epoll_events error_log eventport_events expires fastcgi_bind fastcgi_buffer_size fastcgi_buffers fastcgi_busy_buffers_size fastcgi_cache fastcgi_cache_key fastcgi_cache_methods fastcgi_cache_min_uses fastcgi_cache_path fastcgi_cache_use_stale fastcgi_cache_valid fastcgi_catch_stderr fastcgi_connect_timeout fastcgi_hide_header fastcgi_ignore_client_abort fastcgi_ignore_headers fastcgi_index fastcgi_intercept_errors fastcgi_max_temp_file_size fastcgi_next_upstream fastcgi_param fastcgi_pass_header fastcgi_pass_request_body fastcgi_pass_request_headers fastcgi_read_timeout fastcgi_send_lowat fastcgi_send_timeout fastcgi_split_path_info fastcgi_store fastcgi_store_access fastcgi_temp_file_write_size fastcgi_temp_path fastcgi_upstream_fail_timeout fastcgi_upstream_max_fails flv geoip_city geoip_country google_perftools_profiles gzip gzip_buffers gzip_comp_level gzip_disable gzip_hash gzip_http_version gzip_min_length gzip_no_buffer gzip_proxied gzip_static gzip_types gzip_vary gzip_window if_modified_since ignore_invalid_headers image_filter image_filter_buffer image_filter_jpeg_quality image_filter_transparency imap_auth imap_capabilities imap_client_buffer index ip_hash keepalive_requests keepalive_timeout kqueue_changes kqueue_events large_client_header_buffers limit_conn limit_conn_log_level limit_rate limit_rate_after limit_req limit_req_log_level limit_req_zone limit_zone lingering_time lingering_timeout lock_file log_format log_not_found log_subrequest map_hash_bucket_size map_hash_max_size master_process memcached_bind memcached_buffer_size memcached_connect_timeout memcached_next_upstream memcached_read_timeout memcached_send_timeout memcached_upstream_fail_timeout memcached_upstream_max_fails merge_slashes min_delete_depth modern_browser modern_browser_value msie_padding msie_refresh multi_accept open_file_cache open_file_cache_errors open_file_cache_events open_file_cache_min_uses open_file_cache_valid open_log_file_cache output_buffers override_charset perl perl_modules perl_require perl_set pid pop3_auth pop3_capabilities port_in_redirect postpone_gzipping postpone_output protocol proxy proxy_bind proxy_buffer proxy_buffer_size proxy_buffering proxy_buffers proxy_busy_buffers_size proxy_cache proxy_cache_key proxy_cache_methods proxy_cache_min_uses proxy_cache_path proxy_cache_use_stale proxy_cache_valid proxy_connect_timeout proxy_headers_hash_bucket_size proxy_headers_hash_max_size proxy_hide_header proxy_ignore_client_abort proxy_ignore_headers proxy_intercept_errors proxy_max_temp_file_size proxy_method proxy_next_upstream proxy_pass_error_message proxy_pass_header proxy_pass_request_body proxy_pass_request_headers proxy_read_timeout proxy_redirect proxy_send_lowat proxy_send_timeout proxy_set_body proxy_set_header proxy_ssl_session_reuse proxy_store proxy_store_access proxy_temp_file_write_size proxy_temp_path proxy_timeout proxy_upstream_fail_timeout proxy_upstream_max_fails random_index read_ahead real_ip_header recursive_error_pages request_pool_size reset_timedout_connection resolver resolver_timeout rewrite_log rtsig_overflow_events rtsig_overflow_test rtsig_overflow_threshold rtsig_signo satisfy secure_link_secret send_lowat send_timeout sendfile sendfile_max_chunk server_name_in_redirect server_names_hash_bucket_size server_names_hash_max_size server_tokens set_real_ip_from smtp_auth smtp_capabilities smtp_client_buffer smtp_greeting_delay so_keepalive source_charset ssi ssi_ignore_recycled_buffers ssi_min_file_chunk ssi_silent_errors ssi_types ssi_value_length ssl ssl_certificate ssl_certificate_key ssl_ciphers ssl_client_certificate ssl_crl ssl_dhparam ssl_engine ssl_prefer_server_ciphers ssl_protocols ssl_session_cache ssl_session_timeout ssl_verify_client ssl_verify_depth starttls stub_status sub_filter sub_filter_once sub_filter_types tcp_nodelay tcp_nopush thread_stack_size timeout timer_resolution types_hash_bucket_size types_hash_max_size underscores_in_headers uninitialized_variable_warn use user userid userid_domain userid_expires userid_mark userid_name userid_p3p userid_path userid_service valid_referers variables_hash_bucket_size variables_hash_max_size worker_connections worker_cpu_affinity worker_priority worker_processes worker_rlimit_core worker_rlimit_nofile worker_rlimit_sigpending worker_threads working_directory xclient xml_entities xslt_stylesheet xslt_typesdrew@li229-23"),Ui=un("http mail events server types location upstream charset_map limit_except if geo map"),Ki=un("include root server server_name listen internal proxy_pass memcached_pass fastcgi_pass try_files"),le;function Z(e,n){return le=n,e}function qe(e,n){e.eatWhile(/[\w\$_]/);var t=e.current();if(Wi.propertyIsEnumerable(t))return"keyword";if(Ui.propertyIsEnumerable(t))return"controlKeyword";if(Ki.propertyIsEnumerable(t))return"controlKeyword";var r=e.next();if(r=="@")return e.eatWhile(/[\w\\\-]/),Z("meta",e.current());if(r=="/"&&e.eat("*"))return n.tokenize=pt,pt(e,n);if(r=="<"&&e.eat("!"))return n.tokenize=mt,mt(e,n);if(r=="=")Z(null,"compare");else return(r=="~"||r=="|")&&e.eat("=")?Z(null,"compare"):r=='"'||r=="'"?(n.tokenize=Hi(r),n.tokenize(e,n)):r=="#"?(e.skipToEnd(),Z("comment","comment")):r=="!"?(e.match(/^\s*\w*/),Z("keyword","important")):/\d/.test(r)?(e.eatWhile(/[\w.%]/),Z("number","unit")):/[,.+>*\/]/.test(r)?Z(null,"select-op"):/[;{}:\[\]]/.test(r)?Z(null,r):(e.eatWhile(/[\w\\\-]/),Z("variable","variable"))}function pt(e,n){for(var t=!1,r;(r=e.next())!=null;){if(t&&r=="/"){n.tokenize=qe;break}t=r=="*"}return Z("comment","comment")}function mt(e,n){for(var t=0,r;(r=e.next())!=null;){if(t>=2&&r==">"){n.tokenize=qe;break}t=r=="-"?t+1:0}return Z("comment","comment")}function Hi(e){return function(n,t){for(var r=!1,i;(i=n.next())!=null&&!(i==e&&!r);)r=!r&&i=="\\";return r||(t.tokenize=qe),Z("string","string")}}var Gi={name:"nginx",startState:function(){return{tokenize:qe,baseIndent:0,stack:[]}},token:function(e,n){if(e.eatSpace())return null;le=null;var t=n.tokenize(e,n),r=n.stack[n.stack.length-1];return le=="hash"&&r=="rule"?t="atom":t=="variable"&&(r=="rule"?t="number":(!r||r=="@media{")&&(t="tag")),r=="rule"&&/^[\{\};]$/.test(le)&&n.stack.pop(),le=="{"?r=="@media"?n.stack[n.stack.length-1]="@media{":n.stack.push("{"):le=="}"?n.stack.pop():le=="@media"?n.stack.push("@media"):r=="{"&&le!="comment"&&n.stack.push("rule"),t},indent:function(e,n,t){var r=e.stack.length;return/^\}/.test(n)&&(r-=e.stack[e.stack.length-1]=="rule"?2:1),e.baseIndent+r*t.unit},languageData:{indentOnInput:/^\s*\}$/}};function dn(e){return new RegExp("^(("+e.join(")|(")+"))\\b")}var Zi=new RegExp("^[\\+\\-\\*/&|\\^~<>!@'\\\\]"),Qi=new RegExp("^[\\(\\[\\{\\},:=;\\.]"),Vi=new RegExp("^((==)|(~=)|(<=)|(>=)|(<<)|(>>)|(\\.[\\+\\-\\*/\\^\\\\]))"),Xi=new RegExp("^((!=)|(\\+=)|(\\-=)|(\\*=)|(/=)|(&=)|(\\|=)|(\\^=))"),Ji=new RegExp("^((>>=)|(<<=))"),Yi=new RegExp("^[\\]\\)]"),eo=new RegExp("^[_A-Za-z\xA1-\uFFFF][_A-Za-z0-9\xA1-\uFFFF]*"),no=dn(["error","eval","function","abs","acos","atan","asin","cos","cosh","exp","log","prod","sum","log10","max","min","sign","sin","sinh","sqrt","tan","reshape","break","zeros","default","margin","round","ones","rand","syn","ceil","floor","size","clear","zeros","eye","mean","std","cov","det","eig","inv","norm","rank","trace","expm","logm","sqrtm","linspace","plot","title","xlabel","ylabel","legend","text","grid","meshgrid","mesh","num2str","fft","ifft","arrayfun","cellfun","input","fliplr","flipud","ismember"]),to=dn(["return","case","switch","else","elseif","end","endif","endfunction","if","otherwise","do","for","while","try","catch","classdef","properties","events","methods","global","persistent","endfor","endwhile","printf","sprintf","disp","until","continue","pkg"]);function ht(e,n){return!e.sol()&&e.peek()==="'"?(e.next(),n.tokenize=me,"operator"):(n.tokenize=me,me(e,n))}function ro(e,n){return e.match(/^.*%}/)?(n.tokenize=me,"comment"):(e.skipToEnd(),"comment")}function me(e,n){if(e.eatSpace())return null;if(e.match("%{"))return n.tokenize=ro,e.skipToEnd(),"comment";if(e.match(/^[%#]/))return e.skipToEnd(),"comment";if(e.match(/^[0-9\.+-]/,!1)){if(e.match(/^[+-]?0x[0-9a-fA-F]+[ij]?/))return e.tokenize=me,"number";if(e.match(/^[+-]?\d*\.\d+([EeDd][+-]?\d+)?[ij]?/)||e.match(/^[+-]?\d+([EeDd][+-]?\d+)?[ij]?/))return"number"}if(e.match(dn(["nan","NaN","inf","Inf"])))return"number";var t=e.match(/^"(?:[^"]|"")*("|$)/)||e.match(/^'(?:[^']|'')*('|$)/);return t?t[1]?"string":"error":e.match(to)?"keyword":e.match(no)?"builtin":e.match(eo)?"variable":e.match(Zi)||e.match(Vi)?"operator":e.match(Qi)||e.match(Xi)||e.match(Ji)?null:e.match(Yi)?(n.tokenize=ht,null):(e.next(),"error")}var io={name:"octave",startState:function(){return{tokenize:me}},token:function(e,n){var t=n.tokenize(e,n);return(t==="number"||t==="variable")&&(n.tokenize=ht),t},languageData:{commentTokens:{line:"%"}}};function B(e,n){return e.string.charAt(e.pos+(n||0))}function gt(e,n){if(n){var t=e.pos-n;return e.string.substr(t>=0?t:0,n)}else return e.string.substr(0,e.pos-1)}function fn(e,n){var t=e.string.length,r=t-e.pos+1;return e.string.substr(e.pos,n&&n<t?n:r)}function N(e,n){var t=e.pos+n,r;t<=0?e.pos=0:t>=(r=e.string.length-1)?e.pos=r:e.pos=t}var ze={"->":4,"++":4,"--":4,"**":4,"=~":4,"!~":4,"*":4,"/":4,"%":4,x:4,"+":4,"-":4,".":4,"<<":4,">>":4,"<":4,">":4,"<=":4,">=":4,lt:4,gt:4,le:4,ge:4,"==":4,"!=":4,"<=>":4,eq:4,ne:4,cmp:4,"~~":4,"&":4,"|":4,"^":4,"&&":4,"||":4,"//":4,"..":4,"...":4,"?":4,":":4,"=":4,"+=":4,"-=":4,"*=":4,",":4,"=>":4,"::":4,not:4,and:4,or:4,xor:4,BEGIN:[5,1],END:[5,1],PRINT:[5,1],PRINTF:[5,1],GETC:[5,1],READ:[5,1],READLINE:[5,1],DESTROY:[5,1],TIE:[5,1],TIEHANDLE:[5,1],UNTIE:[5,1],STDIN:5,STDIN_TOP:5,STDOUT:5,STDOUT_TOP:5,STDERR:5,STDERR_TOP:5,$ARG:5,$_:5,"@ARG":5,"@_":5,$LIST_SEPARATOR:5,'$"':5,$PROCESS_ID:5,$PID:5,$$:5,$REAL_GROUP_ID:5,$GID:5,"$(":5,$EFFECTIVE_GROUP_ID:5,$EGID:5,"$)":5,$PROGRAM_NAME:5,$0:5,$SUBSCRIPT_SEPARATOR:5,$SUBSEP:5,"$;":5,$REAL_USER_ID:5,$UID:5,"$<":5,$EFFECTIVE_USER_ID:5,$EUID:5,"$>":5,$a:5,$b:5,$COMPILING:5,"$^C":5,$DEBUGGING:5,"$^D":5,"${^ENCODING}":5,$ENV:5,"%ENV":5,$SYSTEM_FD_MAX:5,"$^F":5,"@F":5,"${^GLOBAL_PHASE}":5,"$^H":5,"%^H":5,"@INC":5,"%INC":5,$INPLACE_EDIT:5,"$^I":5,"$^M":5,$OSNAME:5,"$^O":5,"${^OPEN}":5,$PERLDB:5,"$^P":5,$SIG:5,"%SIG":5,$BASETIME:5,"$^T":5,"${^TAINT}":5,"${^UNICODE}":5,"${^UTF8CACHE}":5,"${^UTF8LOCALE}":5,$PERL_VERSION:5,"$^V":5,"${^WIN32_SLOPPY_STAT}":5,$EXECUTABLE_NAME:5,"$^X":5,$1:5,$MATCH:5,"$&":5,"${^MATCH}":5,$PREMATCH:5,"$`":5,"${^PREMATCH}":5,$POSTMATCH:5,"$'":5,"${^POSTMATCH}":5,$LAST_PAREN_MATCH:5,"$+":5,$LAST_SUBMATCH_RESULT:5,"$^N":5,"@LAST_MATCH_END":5,"@+":5,"%LAST_PAREN_MATCH":5,"%+":5,"@LAST_MATCH_START":5,"@-":5,"%LAST_MATCH_START":5,"%-":5,$LAST_REGEXP_CODE_RESULT:5,"$^R":5,"${^RE_DEBUG_FLAGS}":5,"${^RE_TRIE_MAXBUF}":5,$ARGV:5,"@ARGV":5,ARGV:5,ARGVOUT:5,$OUTPUT_FIELD_SEPARATOR:5,$OFS:5,"$,":5,$INPUT_LINE_NUMBER:5,$NR:5,"$.":5,$INPUT_RECORD_SEPARATOR:5,$RS:5,"$/":5,$OUTPUT_RECORD_SEPARATOR:5,$ORS:5,"$\\":5,$OUTPUT_AUTOFLUSH:5,"$|":5,$ACCUMULATOR:5,"$^A":5,$FORMAT_FORMFEED:5,"$^L":5,$FORMAT_PAGE_NUMBER:5,"$%":5,$FORMAT_LINES_LEFT:5,"$-":5,$FORMAT_LINE_BREAK_CHARACTERS:5,"$:":5,$FORMAT_LINES_PER_PAGE:5,"$=":5,$FORMAT_TOP_NAME:5,"$^":5,$FORMAT_NAME:5,"$~":5,"${^CHILD_ERROR_NATIVE}":5,$EXTENDED_OS_ERROR:5,"$^E":5,$EXCEPTIONS_BEING_CAUGHT:5,"$^S":5,$WARNING:5,"$^W":5,"${^WARNING_BITS}":5,$OS_ERROR:5,$ERRNO:5,"$!":5,"%OS_ERROR":5,"%ERRNO":5,"%!":5,$CHILD_ERROR:5,"$?":5,$EVAL_ERROR:5,"$@":5,$OFMT:5,"$#":5,"$*":5,$ARRAY_BASE:5,"$[":5,$OLD_PERL_VERSION:5,"$]":5,if:[1,1],elsif:[1,1],else:[1,1],while:[1,1],unless:[1,1],for:[1,1],foreach:[1,1],abs:1,accept:1,alarm:1,atan2:1,bind:1,binmode:1,bless:1,bootstrap:1,break:1,caller:1,chdir:1,chmod:1,chomp:1,chop:1,chown:1,chr:1,chroot:1,close:1,closedir:1,connect:1,continue:[1,1],cos:1,crypt:1,dbmclose:1,dbmopen:1,default:1,defined:1,delete:1,die:1,do:1,dump:1,each:1,endgrent:1,endhostent:1,endnetent:1,endprotoent:1,endpwent:1,endservent:1,eof:1,eval:1,exec:1,exists:1,exit:1,exp:1,fcntl:1,fileno:1,flock:1,fork:1,format:1,formline:1,getc:1,getgrent:1,getgrgid:1,getgrnam:1,gethostbyaddr:1,gethostbyname:1,gethostent:1,getlogin:1,getnetbyaddr:1,getnetbyname:1,getnetent:1,getpeername:1,getpgrp:1,getppid:1,getpriority:1,getprotobyname:1,getprotobynumber:1,getprotoent:1,getpwent:1,getpwnam:1,getpwuid:1,getservbyname:1,getservbyport:1,getservent:1,getsockname:1,getsockopt:1,given:1,glob:1,gmtime:1,goto:1,grep:1,hex:1,import:1,index:1,int:1,ioctl:1,join:1,keys:1,kill:1,last:1,lc:1,lcfirst:1,length:1,link:1,listen:1,local:2,localtime:1,lock:1,log:1,lstat:1,m:null,map:1,mkdir:1,msgctl:1,msgget:1,msgrcv:1,msgsnd:1,my:2,new:1,next:1,no:1,oct:1,open:1,opendir:1,ord:1,our:2,pack:1,package:1,pipe:1,pop:1,pos:1,print:1,printf:1,prototype:1,push:1,q:null,qq:null,qr:null,quotemeta:null,qw:null,qx:null,rand:1,read:1,readdir:1,readline:1,readlink:1,readpipe:1,recv:1,redo:1,ref:1,rename:1,require:1,reset:1,return:1,reverse:1,rewinddir:1,rindex:1,rmdir:1,s:null,say:1,scalar:1,seek:1,seekdir:1,select:1,semctl:1,semget:1,semop:1,send:1,setgrent:1,sethostent:1,setnetent:1,setpgrp:1,setpriority:1,setprotoent:1,setpwent:1,setservent:1,setsockopt:1,shift:1,shmctl:1,shmget:1,shmread:1,shmwrite:1,shutdown:1,sin:1,sleep:1,socket:1,socketpair:1,sort:1,splice:1,split:1,sprintf:1,sqrt:1,srand:1,stat:1,state:1,study:1,sub:1,substr:1,symlink:1,syscall:1,sysopen:1,sysread:1,sysseek:1,system:1,syswrite:1,tell:1,telldir:1,tie:1,tied:1,time:1,times:1,tr:null,truncate:1,uc:1,ucfirst:1,umask:1,undef:1,unlink:1,unpack:1,unshift:1,untie:1,use:1,utime:1,values:1,vec:1,wait:1,waitpid:1,wantarray:1,warn:1,when:1,write:1,y:null},A="string.special",P=/[goseximacplud]/;function _(e,n,t,r,i){return n.chain=null,n.style=null,n.tail=null,n.tokenize=function(o,a){for(var p=!1,S,E=0;S=o.next();){if(S===t[E]&&!p)return t[++E]!==void 0?(a.chain=t[E],a.style=r,a.tail=i):i&&o.eatWhile(i),a.tokenize=Fe,r;p=!p&&S=="\\"}return r},n.tokenize(e,n)}function pn(e,n,t){return n.tokenize=function(r,i){return r.string==t&&(i.tokenize=Fe),r.skipToEnd(),"string"},n.tokenize(e,n)}function Fe(e,n){if(e.eatSpace())return null;if(n.chain)return _(e,n,n.chain,n.style,n.tail);if(e.match(/^(\-?((\d[\d_]*)?\.\d+(e[+-]?\d+)?|\d+\.\d*)|0x[\da-fA-F_]+|0b[01_]+|\d[\d_]*(e[+-]?\d+)?)/))return"number";if(e.match(/^<<(?=[_a-zA-Z])/))return e.eatWhile(/\w/),pn(e,n,e.current().substr(2));if(e.sol()&&e.match(/^\=item(?!\w)/))return pn(e,n,"=cut");var t=e.next();if(t=='"'||t=="'"){if(gt(e,3)=="<<"+t){var r=e.pos;e.eatWhile(/\w/);var i=e.current().substr(1);if(i&&e.eat(t))return pn(e,n,i);e.pos=r}return _(e,n,[t],"string")}if(t=="q"){var o=B(e,-2);if(!(o&&/\w/.test(o))){if(o=B(e,0),o=="x"){if(o=B(e,1),o=="(")return N(e,2),_(e,n,[")"],A,P);if(o=="[")return N(e,2),_(e,n,["]"],A,P);if(o=="{")return N(e,2),_(e,n,["}"],A,P);if(o=="<")return N(e,2),_(e,n,[">"],A,P);if(/[\^'"!~\/]/.test(o))return N(e,1),_(e,n,[e.eat(o)],A,P)}else if(o=="q"){if(o=B(e,1),o=="(")return N(e,2),_(e,n,[")"],"string");if(o=="[")return N(e,2),_(e,n,["]"],"string");if(o=="{")return N(e,2),_(e,n,["}"],"string");if(o=="<")return N(e,2),_(e,n,[">"],"string");if(/[\^'"!~\/]/.test(o))return N(e,1),_(e,n,[e.eat(o)],"string")}else if(o=="w"){if(o=B(e,1),o=="(")return N(e,2),_(e,n,[")"],"bracket");if(o=="[")return N(e,2),_(e,n,["]"],"bracket");if(o=="{")return N(e,2),_(e,n,["}"],"bracket");if(o=="<")return N(e,2),_(e,n,[">"],"bracket");if(/[\^'"!~\/]/.test(o))return N(e,1),_(e,n,[e.eat(o)],"bracket")}else if(o=="r"){if(o=B(e,1),o=="(")return N(e,2),_(e,n,[")"],A,P);if(o=="[")return N(e,2),_(e,n,["]"],A,P);if(o=="{")return N(e,2),_(e,n,["}"],A,P);if(o=="<")return N(e,2),_(e,n,[">"],A,P);if(/[\^'"!~\/]/.test(o))return N(e,1),_(e,n,[e.eat(o)],A,P)}else if(/[\^'"!~\/(\[{<]/.test(o)){if(o=="(")return N(e,1),_(e,n,[")"],"string");if(o=="[")return N(e,1),_(e,n,["]"],"string");if(o=="{")return N(e,1),_(e,n,["}"],"string");if(o=="<")return N(e,1),_(e,n,[">"],"string");if(/[\^'"!~\/]/.test(o))return _(e,n,[e.eat(o)],"string")}}}if(t=="m"){var o=B(e,-2);if(!(o&&/\w/.test(o))&&(o=e.eat(/[(\[{<\^'"!~\/]/),o)){if(/[\^'"!~\/]/.test(o))return _(e,n,[o],A,P);if(o=="(")return _(e,n,[")"],A,P);if(o=="[")return _(e,n,["]"],A,P);if(o=="{")return _(e,n,["}"],A,P);if(o=="<")return _(e,n,[">"],A,P)}}if(t=="s"){var o=/[\/>\]})\w]/.test(B(e,-2));if(!o&&(o=e.eat(/[(\[{<\^'"!~\/]/),o))return o=="["?_(e,n,["]","]"],A,P):o=="{"?_(e,n,["}","}"],A,P):o=="<"?_(e,n,[">",">"],A,P):o=="("?_(e,n,[")",")"],A,P):_(e,n,[o,o],A,P)}if(t=="y"){var o=/[\/>\]})\w]/.test(B(e,-2));if(!o&&(o=e.eat(/[(\[{<\^'"!~\/]/),o))return o=="["?_(e,n,["]","]"],A,P):o=="{"?_(e,n,["}","}"],A,P):o=="<"?_(e,n,[">",">"],A,P):o=="("?_(e,n,[")",")"],A,P):_(e,n,[o,o],A,P)}if(t=="t"){var o=/[\/>\]})\w]/.test(B(e,-2));if(!o&&(o=e.eat("r"),o&&(o=e.eat(/[(\[{<\^'"!~\/]/),o)))return o=="["?_(e,n,["]","]"],A,P):o=="{"?_(e,n,["}","}"],A,P):o=="<"?_(e,n,[">",">"],A,P):o=="("?_(e,n,[")",")"],A,P):_(e,n,[o,o],A,P)}if(t=="`")return _(e,n,[t],"builtin");if(t=="/")return/~\s*$/.test(gt(e))?_(e,n,[t],A,P):"operator";if(t=="$"){var r=e.pos;if(e.eatWhile(/\d/)||e.eat("{")&&e.eatWhile(/\d/)&&e.eat("}"))return"builtin";e.pos=r}if(/[$@%]/.test(t)){var r=e.pos;if(e.eat("^")&&e.eat(/[A-Z]/)||!/[@$%&]/.test(B(e,-2))&&e.eat(/[=|\\\-#?@;:&`~\^!\[\]*'"$+.,\/<>()]/)){var o=e.current();if(ze[o])return"builtin"}e.pos=r}if(/[$@%&]/.test(t)&&(e.eatWhile(/[\w$]/)||e.eat("{")&&e.eatWhile(/[\w$]/)&&e.eat("}"))){var o=e.current();return ze[o]?"builtin":"variable"}if(t=="#"&&B(e,-2)!="$")return e.skipToEnd(),"comment";if(/[:+\-\^*$&%@=<>!?|\/~\.]/.test(t)){var r=e.pos;if(e.eatWhile(/[:+\-\^*$&%@=<>!?|\/~\.]/),ze[e.current()])return"operator";e.pos=r}if(t=="_"&&e.pos==1){if(fn(e,6)=="_END__")return _(e,n,["\0"],"comment");if(fn(e,7)=="_DATA__")return _(e,n,["\0"],"builtin");if(fn(e,7)=="_C__")return _(e,n,["\0"],"string")}if(/\w/.test(t)){var r=e.pos;if(B(e,-2)=="{"&&(B(e,0)=="}"||e.eatWhile(/\w/)&&B(e,0)=="}"))return"string";e.pos=r}if(/[A-Z]/.test(t)){var a=B(e,-2),r=e.pos;if(e.eatWhile(/[A-Z_]/),/[\da-z]/.test(B(e,0)))e.pos=r;else{var o=ze[e.current()];return o?(o[1]&&(o=o[0]),a!=":"?o==1?"keyword":o==2?"def":o==3?"atom":o==4?"operator":o==5?"builtin":"meta":"meta"):"meta"}}if(/[a-zA-Z_]/.test(t)){var a=B(e,-2);e.eatWhile(/\w/);var o=ze[e.current()];return o?(o[1]&&(o=o[0]),a!=":"?o==1?"keyword":o==2?"def":o==3?"atom":o==4?"operator":o==5?"builtin":"meta":"meta"):"meta"}return null}var oo={name:"perl",startState:function(){return{tokenize:Fe,chain:null,style:null,tail:null}},token:function(e,n){return(n.tokenize||Fe)(e,n)},languageData:{commentTokens:{line:"#"},wordChars:"$"}};function ao(e){for(var n={},t=e.split(" "),r=0;r<t.length;++r)n[t[r]]=!0;return n}var lo=ao("absolute and array asm begin case const constructor destructor div do downto else end file for function goto if implementation in inherited inline interface label mod nil not object of operator or packed procedure program record reintroduce repeat self set shl shr string then to type unit until uses var while with xor as class dispinterface except exports finalization finally initialization inline is library on out packed property raise resourcestring threadvar try absolute abstract alias assembler bitpacked break cdecl continue cppdecl cvar default deprecated dynamic enumerator experimental export external far far16 forward generic helper implements index interrupt iocheck local message name near nodefault noreturn nostackframe oldfpccall otherwise overload override pascal platform private protected public published read register reintroduce result safecall saveregisters softfloat specialize static stdcall stored strict unaligned unimplemented varargs virtual write"),co={null:!0},bt=/[+\-*&%=<>!?|\/]/;function so(e,n){var t=e.next();if(t=="#"&&n.startOfLine)return e.skipToEnd(),"meta";if(t=='"'||t=="'")return n.tokenize=uo(t),n.tokenize(e,n);if(t=="("&&e.eat("*"))return n.tokenize=yt,yt(e,n);if(t=="{")return n.tokenize=vt,vt(e,n);if(/[\[\]\(\),;\:\.]/.test(t))return null;if(/\d/.test(t))return e.eatWhile(/[\w\.]/),"number";if(t=="/"&&e.eat("/"))return e.skipToEnd(),"comment";if(bt.test(t))return e.eatWhile(bt),"operator";e.eatWhile(/[\w\$_]/);var r=e.current();return lo.propertyIsEnumerable(r)?"keyword":co.propertyIsEnumerable(r)?"atom":"variable"}function uo(e){return function(n,t){for(var r=!1,i,o=!1;(i=n.next())!=null;){if(i==e&&!r){o=!0;break}r=!r&&i=="\\"}return(o||!r)&&(t.tokenize=null),"string"}}function yt(e,n){for(var t=!1,r;r=e.next();){if(r==")"&&t){n.tokenize=null;break}t=r=="*"}return"comment"}function vt(e,n){for(var t;t=e.next();)if(t=="}"){n.tokenize=null;break}return"comment"}var fo={name:"pascal",startState:function(){return{tokenize:null}},token:function(e,n){if(e.eatSpace())return null;var t=(n.tokenize||so)(e,n);return t=="comment"||t=="meta",t},languageData:{indentOnInput:/^\s*[{}]$/,commentTokens:{block:{open:"(*",close:"*)"}}}};function he(e,n){n=n||{};for(var t=n.prefix!==void 0?n.prefix:"^",r=n.suffix!==void 0?n.suffix:"\\b",i=0;i<e.length;i++)e[i]instanceof RegExp?e[i]=e[i].source:e[i]=e[i].replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&");return new RegExp(t+"("+e.join("|")+")"+r,"i")}var wt="(?=[^A-Za-z\\d\\-_]|$)",mn=/[\w\-:]/,po=he([/begin|break|catch|continue|data|default|do|dynamicparam/,/else|elseif|end|exit|filter|finally|for|foreach|from|function|if|in/,/param|process|return|switch|throw|trap|try|until|where|while/],{suffix:wt}),mo=/[\[\]{},;`\\\.]|@[({]/,ho=he(["f",/b?not/,/[ic]?split/,"join",/is(not)?/,"as",/[ic]?(eq|ne|[gl][te])/,/[ic]?(not)?(like|match|contains)/,/[ic]?replace/,/b?(and|or|xor)/],{prefix:"-"}),go=/[+\-*\/%]=|\+\+|--|\.\.|[+\-*&^%:=!|\/]|<(?!#)|(?!#)>/,bo=he([ho,go],{suffix:""}),yo=/^((0x[\da-f]+)|((\d+\.\d+|\d\.|\.\d+|\d+)(e[\+\-]?\d+)?))[ld]?([kmgtp]b)?/i,vo=/^[A-Za-z\_][A-Za-z\-\_\d]*\b/,ko=/[A-Z]:|%|\?/i,_o=he([/Add-(Computer|Content|History|Member|PSSnapin|Type)/,/Checkpoint-Computer/,/Clear-(Content|EventLog|History|Host|Item(Property)?|Variable)/,/Compare-Object/,/Complete-Transaction/,/Connect-PSSession/,/ConvertFrom-(Csv|Json|SecureString|StringData)/,/Convert-Path/,/ConvertTo-(Csv|Html|Json|SecureString|Xml)/,/Copy-Item(Property)?/,/Debug-Process/,/Disable-(ComputerRestore|PSBreakpoint|PSRemoting|PSSessionConfiguration)/,/Disconnect-PSSession/,/Enable-(ComputerRestore|PSBreakpoint|PSRemoting|PSSessionConfiguration)/,/(Enter|Exit)-PSSession/,/Export-(Alias|Clixml|Console|Counter|Csv|FormatData|ModuleMember|PSSession)/,/ForEach-Object/,/Format-(Custom|List|Table|Wide)/,new RegExp("Get-(Acl|Alias|AuthenticodeSignature|ChildItem|Command|ComputerRestorePoint|Content|ControlPanelItem|Counter|Credential|Culture|Date|Event|EventLog|EventSubscriber|ExecutionPolicy|FormatData|Help|History|Host|HotFix|Item|ItemProperty|Job|Location|Member|Module|PfxCertificate|Process|PSBreakpoint|PSCallStack|PSDrive|PSProvider|PSSession|PSSessionConfiguration|PSSnapin|Random|Service|TraceSource|Transaction|TypeData|UICulture|Unique|Variable|Verb|WinEvent|WmiObject)"),/Group-Object/,/Import-(Alias|Clixml|Counter|Csv|LocalizedData|Module|PSSession)/,/ImportSystemModules/,/Invoke-(Command|Expression|History|Item|RestMethod|WebRequest|WmiMethod)/,/Join-Path/,/Limit-EventLog/,/Measure-(Command|Object)/,/Move-Item(Property)?/,new RegExp("New-(Alias|Event|EventLog|Item(Property)?|Module|ModuleManifest|Object|PSDrive|PSSession|PSSessionConfigurationFile|PSSessionOption|PSTransportOption|Service|TimeSpan|Variable|WebServiceProxy|WinEvent)"),/Out-(Default|File|GridView|Host|Null|Printer|String)/,/Pause/,/(Pop|Push)-Location/,/Read-Host/,/Receive-(Job|PSSession)/,/Register-(EngineEvent|ObjectEvent|PSSessionConfiguration|WmiEvent)/,/Remove-(Computer|Event|EventLog|Item(Property)?|Job|Module|PSBreakpoint|PSDrive|PSSession|PSSnapin|TypeData|Variable|WmiObject)/,/Rename-(Computer|Item(Property)?)/,/Reset-ComputerMachinePassword/,/Resolve-Path/,/Restart-(Computer|Service)/,/Restore-Computer/,/Resume-(Job|Service)/,/Save-Help/,/Select-(Object|String|Xml)/,/Send-MailMessage/,new RegExp("Set-(Acl|Alias|AuthenticodeSignature|Content|Date|ExecutionPolicy|Item(Property)?|Location|PSBreakpoint|PSDebug|PSSessionConfiguration|Service|StrictMode|TraceSource|Variable|WmiInstance)"),/Show-(Command|ControlPanelItem|EventLog)/,/Sort-Object/,/Split-Path/,/Start-(Job|Process|Service|Sleep|Transaction|Transcript)/,/Stop-(Computer|Job|Process|Service|Transcript)/,/Suspend-(Job|Service)/,/TabExpansion2/,/Tee-Object/,/Test-(ComputerSecureChannel|Connection|ModuleManifest|Path|PSSessionConfigurationFile)/,/Trace-Command/,/Unblock-File/,/Undo-Transaction/,/Unregister-(Event|PSSessionConfiguration)/,/Update-(FormatData|Help|List|TypeData)/,/Use-Transaction/,/Wait-(Event|Job|Process)/,/Where-Object/,/Write-(Debug|Error|EventLog|Host|Output|Progress|Verbose|Warning)/,/cd|help|mkdir|more|oss|prompt/,/ac|asnp|cat|cd|chdir|clc|clear|clhy|cli|clp|cls|clv|cnsn|compare|copy|cp|cpi|cpp|cvpa|dbp|del|diff|dir|dnsn|ebp/,/echo|epal|epcsv|epsn|erase|etsn|exsn|fc|fl|foreach|ft|fw|gal|gbp|gc|gci|gcm|gcs|gdr|ghy|gi|gjb|gl|gm|gmo|gp|gps/,/group|gsn|gsnp|gsv|gu|gv|gwmi|h|history|icm|iex|ihy|ii|ipal|ipcsv|ipmo|ipsn|irm|ise|iwmi|iwr|kill|lp|ls|man|md/,/measure|mi|mount|move|mp|mv|nal|ndr|ni|nmo|npssc|nsn|nv|ogv|oh|popd|ps|pushd|pwd|r|rbp|rcjb|rcsn|rd|rdr|ren|ri/,/rjb|rm|rmdir|rmo|rni|rnp|rp|rsn|rsnp|rujb|rv|rvpa|rwmi|sajb|sal|saps|sasv|sbp|sc|select|set|shcm|si|sl|sleep|sls/,/sort|sp|spjb|spps|spsv|start|sujb|sv|swmi|tee|trcm|type|where|wjb|write/],{prefix:"",suffix:""}),xo=he([/[$?^_]|Args|ConfirmPreference|ConsoleFileName|DebugPreference|Error|ErrorActionPreference|ErrorView|ExecutionContext/,/FormatEnumerationLimit|Home|Host|Input|MaximumAliasCount|MaximumDriveCount|MaximumErrorCount|MaximumFunctionCount/,/MaximumHistoryCount|MaximumVariableCount|MyInvocation|NestedPromptLevel|OutputEncoding|Pid|Profile|ProgressPreference/,/PSBoundParameters|PSCommandPath|PSCulture|PSDefaultParameterValues|PSEmailServer|PSHome|PSScriptRoot|PSSessionApplicationName/,/PSSessionConfigurationName|PSSessionOption|PSUICulture|PSVersionTable|Pwd|ShellId|StackTrace|VerbosePreference/,/WarningPreference|WhatIfPreference/,/Event|EventArgs|EventSubscriber|Sender/,/Matches|Ofs|ForEach|LastExitCode|PSCmdlet|PSItem|PSSenderInfo|This/,/true|false|null/],{prefix:"\\$",suffix:""}),wo=he([ko,_o,xo],{suffix:wt}),kt={keyword:po,number:yo,operator:bo,builtin:wo,punctuation:mo,variable:vo};function te(e,n){var t=n.returnStack[n.returnStack.length-1];if(t&&t.shouldReturnFrom(n))return n.tokenize=t.tokenize,n.returnStack.pop(),n.tokenize(e,n);if(e.eatSpace())return null;if(e.eat("("))return n.bracketNesting+=1,"punctuation";if(e.eat(")"))return n.bracketNesting-=1,"punctuation";for(var r in kt)if(e.match(kt[r]))return r;var i=e.next();if(i==="'")return So(e,n);if(i==="$")return hn(e,n);if(i==='"')return St(e,n);if(i==="<"&&e.eat("#"))return n.tokenize=_t,_t(e,n);if(i==="#")return e.skipToEnd(),"comment";if(i==="@"){var o=e.eat(/["']/);if(o&&e.eol())return n.tokenize=Me,n.startQuote=o[0],Me(e,n);if(e.eol())return"error";if(e.peek().match(/[({]/))return"punctuation";if(e.peek().match(mn))return hn(e,n)}return"error"}function So(e,n){for(var t;(t=e.peek())!=null;)if(e.next(),t==="'"&&!e.eat("'"))return n.tokenize=te,"string";return"error"}function St(e,n){for(var t;(t=e.peek())!=null;){if(t==="$")return n.tokenize=zo,"string";if(e.next(),t==="`"){e.next();continue}if(t==='"'&&!e.eat('"'))return n.tokenize=te,"string"}return"error"}function zo(e,n){return zt(e,n,St)}function Eo(e,n){return n.tokenize=Me,n.startQuote='"',Me(e,n)}function To(e,n){return zt(e,n,Eo)}function zt(e,n,t){if(e.match("$(")){var r=n.bracketNesting;return n.returnStack.push({shouldReturnFrom:function(i){return i.bracketNesting===r},tokenize:t}),n.tokenize=te,n.bracketNesting+=1,"punctuation"}else return e.next(),n.returnStack.push({shouldReturnFrom:function(){return!0},tokenize:t}),n.tokenize=hn,n.tokenize(e,n)}function _t(e,n){for(var t=!1,r;(r=e.next())!=null;){if(t&&r==">"){n.tokenize=te;break}t=r==="#"}return"comment"}function hn(e,n){var t=e.peek();return e.eat("{")?(n.tokenize=xt,xt(e,n)):t!=null&&t.match(mn)?(e.eatWhile(mn),n.tokenize=te,"variable"):(n.tokenize=te,"error")}function xt(e,n){for(var t;(t=e.next())!=null;)if(t==="}"){n.tokenize=te;break}return"variable"}function Me(e,n){var t=n.startQuote;if(e.sol()&&e.match(new RegExp(t+"@")))n.tokenize=te;else if(t==='"')for(;!e.eol();){var r=e.peek();if(r==="$")return n.tokenize=To,"string";e.next(),r==="`"&&e.next()}else e.skipToEnd();return"string"}var Co={name:"powershell",startState:function(){return{returnStack:[],bracketNesting:0,tokenize:te}},token:function(e,n){return n.tokenize(e,n)},languageData:{commentTokens:{line:"#",block:{open:"<#",close:"#>"}}}};var Io={name:"properties",token:function(e,n){var t=e.sol()||n.afterSection,r=e.eol();if(n.afterSection=!1,t&&(n.nextMultiline?(n.inMultiline=!0,n.nextMultiline=!1):n.position="def"),r&&!n.nextMultiline&&(n.inMultiline=!1,n.position="def"),t)for(;e.eatSpace(););var i=e.next();return t&&(i==="#"||i==="!"||i===";")?(n.position="comment",e.skipToEnd(),"comment"):t&&i==="["?(n.afterSection=!0,e.skipTo("]"),e.eat("]"),"header"):i==="="||i===":"?(n.position="quote",null):(i==="\\"&&n.position==="quote"&&e.eol()&&(n.nextMultiline=!0),n.position)},startState:function(){return{position:"def",nextMultiline:!1,inMultiline:!1,afterSection:!1}}};function gn(e){return new RegExp("^(("+e.join(")|(")+"))\\b")}var Ro=gn(["and","or","not","is"]),Et=["as","assert","break","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","lambda","pass","raise","return","try","while","with","yield","in","False","True"],Tt=["abs","all","any","bin","bool","bytearray","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip","__import__","NotImplemented","Ellipsis","__debug__"];function Q(e){return e.scopes[e.scopes.length-1]}function Ct(e){for(var n="error",t=e.delimiters||e.singleDelimiters||/^[\(\)\[\]\{\}@,:`=;\.\\]/,r=[e.singleOperators,e.doubleOperators,e.doubleDelimiters,e.tripleDelimiters,e.operators||/^([-+*/%\/&|^]=?|[<>=]+|\/\/=?|\*\*=?|!=|[~!@]|\.\.\.)/],i=0;i<r.length;i++)r[i]||r.splice(i--,1);var o=e.hangingIndent,a=Et,p=Tt;e.extra_keywords!=null&&(a=a.concat(e.extra_keywords)),e.extra_builtins!=null&&(p=p.concat(e.extra_builtins));var S=!(e.version&&Number(e.version)<3);if(S){var E=e.identifiers||/^[_A-Za-z\u00A1-\uFFFF][_A-Za-z0-9\u00A1-\uFFFF]*/;a=a.concat(["nonlocal","None","aiter","anext","async","await","breakpoint","match","case"]),p=p.concat(["ascii","bytes","exec","print"]);var x=new RegExp(`^(([rbuf]|(br)|(rb)|(fr)|(rf))?('{3}|"{3}|['"]))`,"i")}else{var E=e.identifiers||/^[_A-Za-z][_A-Za-z0-9]*/;a=a.concat(["exec","print"]),p=p.concat(["apply","basestring","buffer","cmp","coerce","execfile","file","intern","long","raw_input","reduce","reload","unichr","unicode","xrange","None"]);var x=new RegExp(`^(([rubf]|(ur)|(br))?('{3}|"{3}|['"]))`,"i")}var c=gn(a),d=gn(p);function y(l,s){var I=l.sol()&&s.lastToken!="\\";if(I&&(s.indent=l.indentation()),I&&Q(s).type=="py"){var k=Q(s).offset;if(l.eatSpace()){var L=l.indentation();return L>k?u(l,s):L<k&&w(l,s)&&l.peek()!="#"&&(s.errorToken=!0),null}else{var m=O(l,s);return k>0&&w(l,s)&&(m+=" "+n),m}}return O(l,s)}function O(l,s,I){if(l.eatSpace())return null;if(!I&&l.match(/^#.*/))return"comment";if(l.match(/^[0-9\.]/,!1)){var k=!1;if(l.match(/^[\d_]*\.\d+(e[\+\-]?\d+)?/i)&&(k=!0),l.match(/^[\d_]+\.\d*/)&&(k=!0),l.match(/^\.\d+/)&&(k=!0),k)return l.eat(/J/i),"number";var L=!1;if(l.match(/^0x[0-9a-f_]+/i)&&(L=!0),l.match(/^0b[01_]+/i)&&(L=!0),l.match(/^0o[0-7_]+/i)&&(L=!0),l.match(/^[1-9][\d_]*(e[\+\-]?[\d_]+)?/)&&(l.eat(/J/i),L=!0),l.match(/^0(?![\dx])/i)&&(L=!0),L)return l.eat(/L/i),"number"}if(l.match(x)){var m=l.current().toLowerCase().indexOf("f")!==-1;return m?(s.tokenize=K(l.current(),s.tokenize),s.tokenize(l,s)):(s.tokenize=M(l.current(),s.tokenize),s.tokenize(l,s))}for(var f=0;f<r.length;f++)if(l.match(r[f]))return"operator";return l.match(t)?"punctuation":s.lastToken=="."&&l.match(E)?"property":l.match(c)||l.match(Ro)?"keyword":l.match(d)?"builtin":l.match(/^(self|cls)\b/)?"self":l.match(E)?s.lastToken=="def"||s.lastToken=="class"?"def":"variable":(l.next(),I?null:n)}function K(l,s){for(;"rubf".indexOf(l.charAt(0).toLowerCase())>=0;)l=l.substr(1);var I=l.length==1,k="string";function L(f){return function(z,v){var D=O(z,v,!0);return D=="punctuation"&&(z.current()=="{"?v.tokenize=L(f+1):z.current()=="}"&&(f>1?v.tokenize=L(f-1):v.tokenize=m)),D}}function m(f,z){for(;!f.eol();)if(f.eatWhile(/[^'"\{\}\\]/),f.eat("\\")){if(f.next(),I&&f.eol())return k}else{if(f.match(l))return z.tokenize=s,k;if(f.match("{{"))return k;if(f.match("{",!1))return z.tokenize=L(0),f.current()?k:z.tokenize(f,z);if(f.match("}}"))return k;if(f.match("}"))return n;f.eat(/['"]/)}if(I){if(e.singleLineStringErrors)return n;z.tokenize=s}return k}return m.isString=!0,m}function M(l,s){for(;"rubf".indexOf(l.charAt(0).toLowerCase())>=0;)l=l.substr(1);var I=l.length==1,k="string";function L(m,f){for(;!m.eol();)if(m.eatWhile(/[^'"\\]/),m.eat("\\")){if(m.next(),I&&m.eol())return k}else{if(m.match(l))return f.tokenize=s,k;m.eat(/['"]/)}if(I){if(e.singleLineStringErrors)return n;f.tokenize=s}return k}return L.isString=!0,L}function u(l,s){for(;Q(s).type!="py";)s.scopes.pop();s.scopes.push({offset:Q(s).offset+l.indentUnit,type:"py",align:null})}function T(l,s,I){var k=l.match(/^[\s\[\{\(]*(?:#|$)/,!1)?null:l.column()+1;s.scopes.push({offset:s.indent+(o||l.indentUnit),type:I,align:k})}function w(l,s){for(var I=l.indentation();s.scopes.length>1&&Q(s).offset>I;){if(Q(s).type!="py")return!0;s.scopes.pop()}return Q(s).offset!=I}function C(l,s){l.sol()&&(s.beginningOfLine=!0,s.dedent=!1);var I=s.tokenize(l,s),k=l.current();if(s.beginningOfLine&&k=="@")return l.match(E,!1)?"meta":S?"operator":n;if(/\S/.test(k)&&(s.beginningOfLine=!1),(I=="variable"||I=="builtin")&&s.lastToken=="meta"&&(I="meta"),(k=="pass"||k=="return")&&(s.dedent=!0),k=="lambda"&&(s.lambda=!0),k==":"&&!s.lambda&&Q(s).type=="py"&&l.match(/^\s*(?:#|$)/,!1)&&u(l,s),k.length==1&&!/string|comment/.test(I)){var L="[({".indexOf(k);if(L!=-1&&T(l,s,"])}".slice(L,L+1)),L="])}".indexOf(k),L!=-1)if(Q(s).type==k)s.indent=s.scopes.pop().offset-(o||l.indentUnit);else return n}return s.dedent&&l.eol()&&Q(s).type=="py"&&s.scopes.length>1&&s.scopes.pop(),I}return{name:"python",startState:function(){return{tokenize:y,scopes:[{offset:0,type:"py",align:null}],indent:0,lastToken:null,lambda:!1,dedent:0}},token:function(l,s){var I=s.errorToken;I&&(s.errorToken=!1);var k=C(l,s);return k&&k!="comment"&&(s.lastToken=k=="keyword"||k=="punctuation"?l.current():k),k=="punctuation"&&(k=null),l.eol()&&s.lambda&&(s.lambda=!1),I?n:k},indent:function(l,s,I){if(l.tokenize!=y)return l.tokenize.isString?null:0;var k=Q(l),L=k.type==s.charAt(0)||k.type=="py"&&!l.dedent&&/^(else:|elif |except |finally:)/.test(s);return k.align!=null?k.align-(L?1:0):k.offset-(L?o||I.unit:0)},languageData:{autocomplete:Et.concat(Tt).concat(["exec","print"]),indentOnInput:/^\s*([\}\]\)]|else:|elif |except |finally:)$/,commentTokens:{line:"#"},closeBrackets:{brackets:["(","[","{","'",'"',"'''",'"""']}}}}var Oo=function(e){return e.split(" ")},Ao=Ct({}),Ul=Ct({extra_keywords:Oo("by cdef cimport cpdef ctypedef enum except extern gil include nogil property public readonly struct union DEF IF ELIF ELSE")});function je(e){for(var n={},t=0;t<e.length;++t)n[e[t]]=!0;return n}var At=["NULL","NA","Inf","NaN","NA_integer_","NA_real_","NA_complex_","NA_character_","TRUE","FALSE"],Pt=["list","quote","bquote","eval","return","call","parse","deparse"],Lt=["if","else","repeat","while","function","for","in","next","break"],Po=["if","else","repeat","while","function","for"],Lo=je(At),Do=je(Pt),$o=je(Lt),No=je(Po),It=/[+\-*\/^<>=!&|~$:]/,V;function kn(e,n){V=null;var t=e.next();if(t=="#")return e.skipToEnd(),"comment";if(t=="0"&&e.eat("x"))return e.eatWhile(/[\da-f]/i),"number";if(t=="."&&e.eat(/\d/))return e.match(/\d*(?:e[+\-]?\d+)?/),"number";if(/\d/.test(t))return e.match(/\d*(?:\.\d+)?(?:e[+\-]\d+)?L?/),"number";if(t=="'"||t=='"')return n.tokenize=qo(t),"string";if(t=="`")return e.match(/[^`]+`/),"string.special";if(t=="."&&e.match(/.(?:[.]|\d+)/))return"keyword";if(/[a-zA-Z\.]/.test(t)){e.eatWhile(/[\w\.]/);var r=e.current();return Lo.propertyIsEnumerable(r)?"atom":$o.propertyIsEnumerable(r)?(No.propertyIsEnumerable(r)&&!e.match(/\s*if(\s+|$)/,!1)&&(V="block"),"keyword"):Do.propertyIsEnumerable(r)?"builtin":"variable"}else return t=="%"?(e.skipTo("%")&&e.next(),"variableName.special"):t=="<"&&e.eat("-")||t=="<"&&e.match("<-")||t=="-"&&e.match(/>>?/)||t=="="&&n.ctx.argList?"operator":It.test(t)?(t=="$"||e.eatWhile(It),"operator"):/[\(\){}\[\];]/.test(t)?(V=t,t==";"?"punctuation":null):null}function qo(e){return function(n,t){if(n.eat("\\")){var r=n.next();return r=="x"?n.match(/^[a-f0-9]{2}/i):(r=="u"||r=="U")&&n.eat("{")&&n.skipTo("}")?n.next():r=="u"?n.match(/^[a-f0-9]{4}/i):r=="U"?n.match(/^[a-f0-9]{8}/i):/[0-7]/.test(r)&&n.match(/^[0-7]{1,2}/),"string.special"}else{for(var i;(i=n.next())!=null;){if(i==e){t.tokenize=kn;break}if(i=="\\"){n.backUp(1);break}}return"string"}}}var Rt=1,bn=2,yn=4;function Be(e,n,t){e.ctx={type:n,indent:e.indent,flags:0,column:t.column(),prev:e.ctx}}function Ot(e,n){var t=e.ctx;e.ctx={type:t.type,indent:t.indent,flags:t.flags|n,column:t.column,prev:t.prev}}function vn(e){e.indent=e.ctx.indent,e.ctx=e.ctx.prev}var Fo={name:"r",startState:function(e){return{tokenize:kn,ctx:{type:"top",indent:-e,flags:bn},indent:0,afterIdent:!1}},token:function(e,n){if(e.sol()&&(n.ctx.flags&3||(n.ctx.flags|=bn),n.ctx.flags&yn&&vn(n),n.indent=e.indentation()),e.eatSpace())return null;var t=n.tokenize(e,n);return t!="comment"&&!(n.ctx.flags&bn)&&Ot(n,Rt),(V==";"||V=="{"||V=="}")&&n.ctx.type=="block"&&vn(n),V=="{"?Be(n,"}",e):V=="("?(Be(n,")",e),n.afterIdent&&(n.ctx.argList=!0)):V=="["?Be(n,"]",e):V=="block"?Be(n,"block",e):V==n.ctx.type?vn(n):n.ctx.type=="block"&&t!="comment"&&Ot(n,yn),n.afterIdent=t=="variable"||t=="keyword",t},indent:function(e,n,t){if(e.tokenize!=kn)return 0;var r=n&&n.charAt(0),i=e.ctx,o=r==i.type;return i.flags&yn&&(i=i.prev),i.type=="block"?i.indent+(r=="{"?0:t.unit):i.flags&Rt?i.column+(o?0:1):i.indent+(o?0:t.unit)},languageData:{wordChars:".",commentTokens:{line:"#"},autocomplete:At.concat(Pt,Lt)}};function xn(e){for(var n={},t=0,r=e.length;t<r;++t)n[e[t]]=!0;return n}var $t=["alias","and","BEGIN","begin","break","case","class","def","defined?","do","else","elsif","END","end","ensure","false","for","if","in","module","next","not","or","redo","rescue","retry","return","self","super","then","true","undef","unless","until","when","while","yield","nil","raise","throw","catch","fail","loop","callcc","caller","lambda","proc","public","protected","private","require","load","require_relative","extend","autoload","__END__","__FILE__","__LINE__","__dir__"],Mo=xn($t),Bo=xn(["def","class","case","for","while","until","module","catch","loop","proc","begin"]),jo=xn(["end","until"]),Dt={"[":"]","{":"}","(":")"},Wo={"]":"[","}":"{",")":"("},X;function ge(e,n,t){return t.tokenize.push(e),e(n,t)}function We(e,n){if(e.sol()&&e.match("=begin")&&e.eol())return n.tokenize.push(Go),"comment";if(e.eatSpace())return null;var t=e.next(),r;if(t=="`"||t=="'"||t=='"')return ge(Ee(t,"string",t=='"'||t=="`"),e,n);if(t=="/")return Uo(e)?ge(Ee(t,"string.special",!0),e,n):"operator";if(t=="%"){var i="string",o=!0;e.eat("s")?i="atom":e.eat(/[WQ]/)?i="string":e.eat(/[r]/)?i="string.special":e.eat(/[wxq]/)&&(i="string",o=!1);var a=e.eat(/[^\w\s=]/);return a?(Dt.propertyIsEnumerable(a)&&(a=Dt[a]),ge(Ee(a,i,o,!0),e,n)):"operator"}else{if(t=="#")return e.skipToEnd(),"comment";if(t=="<"&&(r=e.match(/^<([-~])[\`\"\']?([a-zA-Z_?]\w*)[\`\"\']?(?:;|$)/)))return ge(Ho(r[2],r[1]),e,n);if(t=="0")return e.eat("x")?e.eatWhile(/[\da-fA-F]/):e.eat("b")?e.eatWhile(/[01]/):e.eatWhile(/[0-7]/),"number";if(/\d/.test(t))return e.match(/^[\d_]*(?:\.[\d_]+)?(?:[eE][+\-]?[\d_]+)?/),"number";if(t=="?"){for(;e.match(/^\\[CM]-/););return e.eat("\\")?e.eatWhile(/\w/):e.next(),"string"}else{if(t==":")return e.eat("'")?ge(Ee("'","atom",!1),e,n):e.eat('"')?ge(Ee('"',"atom",!0),e,n):e.eat(/[\<\>]/)?(e.eat(/[\<\>]/),"atom"):e.eat(/[\+\-\*\/\&\|\:\!]/)?"atom":e.eat(/[a-zA-Z$@_\xa1-\uffff]/)?(e.eatWhile(/[\w$\xa1-\uffff]/),e.eat(/[\?\!\=]/),"atom"):"operator";if(t=="@"&&e.match(/^@?[a-zA-Z_\xa1-\uffff]/))return e.eat("@"),e.eatWhile(/[\w\xa1-\uffff]/),"propertyName";if(t=="$")return e.eat(/[a-zA-Z_]/)?e.eatWhile(/[\w]/):e.eat(/\d/)?e.eat(/\d/):e.next(),"variableName.special";if(/[a-zA-Z_\xa1-\uffff]/.test(t))return e.eatWhile(/[\w\xa1-\uffff]/),e.eat(/[\?\!]/),e.eat(":")?"atom":"variable";if(t=="|"&&(n.varList||n.lastTok=="{"||n.lastTok=="do"))return X="|",null;if(/[\(\)\[\]{}\\;]/.test(t))return X=t,null;if(t=="-"&&e.eat(">"))return"operator";if(/[=+\-\/*:\.^%<>~|]/.test(t)){var p=e.eatWhile(/[=+\-\/*:\.^%<>~|]/);return t=="."&&!p&&(X="."),"operator"}else return null}}}function Uo(e){for(var n=e.pos,t=0,r,i=!1,o=!1;(r=e.next())!=null;)if(o)o=!1;else{if("[{(".indexOf(r)>-1)t++;else if("]})".indexOf(r)>-1){if(t--,t<0)break}else if(r=="/"&&t==0){i=!0;break}o=r=="\\"}return e.backUp(e.pos-n),i}function _n(e){return e||(e=1),function(n,t){if(n.peek()=="}"){if(e==1)return t.tokenize.pop(),t.tokenize[t.tokenize.length-1](n,t);t.tokenize[t.tokenize.length-1]=_n(e-1)}else n.peek()=="{"&&(t.tokenize[t.tokenize.length-1]=_n(e+1));return We(n,t)}}function Ko(){var e=!1;return function(n,t){return e?(t.tokenize.pop(),t.tokenize[t.tokenize.length-1](n,t)):(e=!0,We(n,t))}}function Ee(e,n,t,r){return function(i,o){var a=!1,p;for(o.context.type==="read-quoted-paused"&&(o.context=o.context.prev,i.eat("}"));(p=i.next())!=null;){if(p==e&&(r||!a)){o.tokenize.pop();break}if(t&&p=="#"&&!a){if(i.eat("{")){e=="}"&&(o.context={prev:o.context,type:"read-quoted-paused"}),o.tokenize.push(_n());break}else if(/[@\$]/.test(i.peek())){o.tokenize.push(Ko());break}}a=!a&&p=="\\"}return n}}function Ho(e,n){return function(t,r){return n&&t.eatSpace(),t.match(e)?r.tokenize.pop():t.skipToEnd(),"string"}}function Go(e,n){return e.sol()&&e.match("=end")&&e.eol()&&n.tokenize.pop(),e.skipToEnd(),"comment"}var Zo={name:"ruby",startState:function(e){return{tokenize:[We],indented:0,context:{type:"top",indented:-e},continuedLine:!1,lastTok:null,varList:!1}},token:function(e,n){X=null,e.sol()&&(n.indented=e.indentation());var t=n.tokenize[n.tokenize.length-1](e,n),r,i=X;if(t=="variable"){var o=e.current();t=n.lastTok=="."?"property":Mo.propertyIsEnumerable(e.current())?"keyword":/^[A-Z]/.test(o)?"tag":n.lastTok=="def"||n.lastTok=="class"||n.varList?"def":"variable",t=="keyword"&&(i=o,Bo.propertyIsEnumerable(o)?r="indent":jo.propertyIsEnumerable(o)?r="dedent":((o=="if"||o=="unless")&&e.column()==e.indentation()||o=="do"&&n.context.indented<n.indented)&&(r="indent"))}return(X||t&&t!="comment")&&(n.lastTok=i),X=="|"&&(n.varList=!n.varList),r=="indent"||/[\(\[\{]/.test(X)?n.context={prev:n.context,type:X||t,indented:n.indented}:(r=="dedent"||/[\)\]\}]/.test(X))&&n.context.prev&&(n.context=n.context.prev),e.eol()&&(n.continuedLine=X=="\\"||t=="operator"),t},indent:function(e,n,t){if(e.tokenize[e.tokenize.length-1]!=We)return null;var r=n&&n.charAt(0),i=e.context,o=i.type==Wo[r]||i.type=="keyword"&&/^(?:end|until|else|elsif|when|rescue)\b/.test(n);return i.indented+(o?0:t.unit)+(e.continuedLine?t.unit:0)},languageData:{indentOnInput:/^\s*(?:end|rescue|elsif|else|\})$/,commentTokens:{line:"#"},autocomplete:$t}};function Nt(e){qt(e,"start");var n={},t=e.languageData||{},r=!1;for(var i in e)if(i!=t&&e.hasOwnProperty(i))for(var o=n[i]=[],a=e[i],p=0;p<a.length;p++){var S=a[p];o.push(new Xo(S,e)),(S.indent||S.dedent)&&(r=!0)}return{name:t.name,startState:function(){return{state:"start",pending:null,indent:r?[]:null}},copyState:function(E){var x={state:E.state,pending:E.pending,indent:E.indent&&E.indent.slice(0)};return E.stack&&(x.stack=E.stack.slice(0)),x},token:Jo(n),indent:Yo(n,t),languageData:t}}function qt(e,n){if(!e.hasOwnProperty(n))throw new Error("Undefined state "+n+" in simple mode")}function Qo(e,n){if(!e)return/(?:)/;var t="";return e instanceof RegExp?(e.ignoreCase&&(t="i"),e=e.source):e=String(e),new RegExp((n===!1?"":"^")+"(?:"+e+")",t)}function Vo(e){if(!e)return null;if(e.apply)return e;if(typeof e=="string")return e.replace(/\./g," ");for(var n=[],t=0;t<e.length;t++)n.push(e[t]&&e[t].replace(/\./g," "));return n}function Xo(e,n){(e.next||e.push)&&qt(n,e.next||e.push),this.regex=Qo(e.regex),this.token=Vo(e.token),this.data=e}function Jo(e){return function(n,t){if(t.pending){var r=t.pending.shift();return t.pending.length==0&&(t.pending=null),n.pos+=r.text.length,r.token}for(var i=e[t.state],o=0;o<i.length;o++){var a=i[o],p=(!a.data.sol||n.sol())&&n.match(a.regex);if(p){a.data.next?t.state=a.data.next:a.data.push?((t.stack||(t.stack=[])).push(t.state),t.state=a.data.push):a.data.pop&&t.stack&&t.stack.length&&(t.state=t.stack.pop()),a.data.indent&&t.indent.push(n.indentation()+n.indentUnit),a.data.dedent&&t.indent.pop();var S=a.token;if(S&&S.apply&&(S=S(p)),p.length>2&&a.token&&typeof a.token!="string"){t.pending=[];for(var E=2;E<p.length;E++)p[E]&&t.pending.push({text:p[E],token:a.token[E-1]});return n.backUp(p[0].length-(p[1]?p[1].length:0)),S[0]}else return S&&S.join?S[0]:S}}return n.next(),null}}function Yo(e,n){return function(t,r){if(t.indent==null||n.dontIndentStates&&n.doneIndentState.indexOf(t.state)>-1)return null;var i=t.indent.length-1,o=e[t.state];e:for(;;){for(var a=0;a<o.length;a++){var p=o[a];if(p.data.dedent&&p.data.dedentIfLineStart!==!1){var S=p.regex.exec(r);if(S&&S[0]){i--,(p.next||p.push)&&(o=e[p.next||p.push]),r=r.slice(S[0].length);continue e}}}break}return i<0?0:t.indent[i]}}var ea=Nt({start:[{regex:/b?"/,token:"string",next:"string"},{regex:/b?r"/,token:"string",next:"string_raw"},{regex:/b?r#+"/,token:"string",next:"string_raw_hash"},{regex:/'(?:[^'\\]|\\(?:[nrt0'"]|x[\da-fA-F]{2}|u\{[\da-fA-F]{6}\}))'/,token:"string.special"},{regex:/b'(?:[^']|\\(?:['\\nrt0]|x[\da-fA-F]{2}))'/,token:"string.special"},{regex:/(?:(?:[0-9][0-9_]*)(?:(?:[Ee][+-]?[0-9_]+)|\.[0-9_]+(?:[Ee][+-]?[0-9_]+)?)(?:f32|f64)?)|(?:0(?:b[01_]+|(?:o[0-7_]+)|(?:x[0-9a-fA-F_]+))|(?:[0-9][0-9_]*))(?:u8|u16|u32|u64|i8|i16|i32|i64|isize|usize)?/,token:"number"},{regex:/(let(?:\s+mut)?|fn|enum|mod|struct|type|union)(\s+)([a-zA-Z_][a-zA-Z0-9_]*)/,token:["keyword",null,"def"]},{regex:/(?:abstract|alignof|as|async|await|box|break|continue|const|crate|do|dyn|else|enum|extern|fn|for|final|if|impl|in|loop|macro|match|mod|move|offsetof|override|priv|proc|pub|pure|ref|return|self|sizeof|static|struct|super|trait|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,token:"keyword"},{regex:/\b(?:Self|isize|usize|char|bool|u8|u16|u32|u64|f16|f32|f64|i8|i16|i32|i64|str|Option)\b/,token:"atom"},{regex:/\b(?:true|false|Some|None|Ok|Err)\b/,token:"builtin"},{regex:/\b(fn)(\s+)([a-zA-Z_][a-zA-Z0-9_]*)/,token:["keyword",null,"def"]},{regex:/#!?\[.*\]/,token:"meta"},{regex:/\/\/.*/,token:"comment"},{regex:/\/\*/,token:"comment",next:"comment"},{regex:/[-+\/*=<>!]+/,token:"operator"},{regex:/[a-zA-Z_]\w*!/,token:"macroName"},{regex:/[a-zA-Z_]\w*/,token:"variable"},{regex:/[\{\[\(]/,indent:!0},{regex:/[\}\]\)]/,dedent:!0}],string:[{regex:/"/,token:"string",next:"start"},{regex:/(?:[^\\"]|\\(?:.|$))*/,token:"string"}],string_raw:[{regex:/"/,token:"string",next:"start"},{regex:/[^"]*/,token:"string"}],string_raw_hash:[{regex:/"#+/,token:"string",next:"start"},{regex:/(?:[^"]|"(?!#))*/,token:"string"}],comment:[{regex:/.*?\*\//,token:"comment",next:"start"},{regex:/.*/,token:"comment"}],languageData:{name:"rust",dontIndentStates:["comment"],indentOnInput:/^\s*\}$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}});var q={},Ft={eq:"operator",lt:"operator",le:"operator",gt:"operator",ge:"operator",in:"operator",ne:"operator",or:"operator"},na=/(<=|>=|!=|<>)/,ta=/[=\(:\),{}.*<>+\-\/^\[\]]/;function j(e,n,t){if(t)for(var r=n.split(" "),i=0;i<r.length;i++)q[r[i]]={style:e,state:t}}j("def","stack pgm view source debug nesting nolist",["inDataStep"]);j("def","if while until for do do; end end; then else cancel",["inDataStep"]);j("def","label format _n_ _error_",["inDataStep"]);j("def","ALTER BUFNO BUFSIZE CNTLLEV COMPRESS DLDMGACTION ENCRYPT ENCRYPTKEY EXTENDOBSCOUNTER GENMAX GENNUM INDEX LABEL OBSBUF OUTREP PW PWREQ READ REPEMPTY REPLACE REUSE ROLE SORTEDBY SPILL TOBSNO TYPE WRITE FILECLOSE FIRSTOBS IN OBS POINTOBS WHERE WHEREUP IDXNAME IDXWHERE DROP KEEP RENAME",["inDataStep"]);j("def","filevar finfo finv fipname fipnamel fipstate first firstobs floor",["inDataStep"]);j("def","varfmt varinfmt varlabel varlen varname varnum varray varrayx vartype verify vformat vformatd vformatdx vformatn vformatnx vformatw vformatwx vformatx vinarray vinarrayx vinformat vinformatd vinformatdx vinformatn vinformatnx vinformatw vinformatwx vinformatx vlabel vlabelx vlength vlengthx vname vnamex vnferr vtype vtypex weekday",["inDataStep"]);j("def","zipfips zipname zipnamel zipstate",["inDataStep"]);j("def","put putc putn",["inDataStep"]);j("builtin","data run",["inDataStep"]);j("def","data",["inProc"]);j("def","%if %end %end; %else %else; %do %do; %then",["inMacro"]);j("builtin","proc run; quit; libname filename %macro %mend option options",["ALL"]);j("def","footnote title libname ods",["ALL"]);j("def","%let %put %global %sysfunc %eval ",["ALL"]);j("variable","&sysbuffr &syscc &syscharwidth &syscmd &sysdate &sysdate9 &sysday &sysdevic &sysdmg &sysdsn &sysencoding &sysenv &syserr &syserrortext &sysfilrc &syshostname &sysindex &sysinfo &sysjobid &syslast &syslckrc &syslibrc &syslogapplname &sysmacroname &sysmenv &sysmsg &sysncpu &sysodspath &sysparm &syspbuff &sysprocessid &sysprocessname &sysprocname &sysrc &sysscp &sysscpl &sysscpl &syssite &sysstartid &sysstartname &systcpiphostname &systime &sysuserid &sysver &sysvlong &sysvlong4 &syswarningtext",["ALL"]);j("def","source2 nosource2 page pageno pagesize",["ALL"]);j("def","_all_ _character_ _cmd_ _freq_ _i_ _infile_ _last_ _msg_ _null_ _numeric_ _temporary_ _type_ abort abs addr adjrsq airy alpha alter altlog altprint and arcos array arsin as atan attrc attrib attrn authserver autoexec awscontrol awsdef awsmenu awsmenumerge awstitle backward band base betainv between blocksize blshift bnot bor brshift bufno bufsize bxor by byerr byline byte calculated call cards cards4 catcache cbufno cdf ceil center cexist change chisq cinv class cleanup close cnonct cntllev coalesce codegen col collate collin column comamid comaux1 comaux2 comdef compbl compound compress config continue convert cos cosh cpuid create cross crosstab css curobs cv daccdb daccdbsl daccsl daccsyd dacctab dairy datalines datalines4 datejul datepart datetime day dbcslang dbcstype dclose ddfm ddm delete delimiter depdb depdbsl depsl depsyd deptab dequote descending descript design= device dflang dhms dif digamma dim dinfo display distinct dkricond dkrocond dlm dnum do dopen doptname doptnum dread drop dropnote dsname dsnferr echo else emaildlg emailid emailpw emailserver emailsys encrypt end endsas engine eof eov erf erfc error errorcheck errors exist exp fappend fclose fcol fdelete feedback fetch fetchobs fexist fget file fileclose fileexist filefmt filename fileref fmterr fmtsearch fnonct fnote font fontalias fopen foptname foptnum force formatted formchar formdelim formdlim forward fpoint fpos fput fread frewind frlen from fsep fuzz fwrite gaminv gamma getoption getvarc getvarn go goto group gwindow hbar hbound helpenv helploc hms honorappearance hosthelp hostprint hour hpct html hvar ibessel ibr id if index indexc indexw initcmd initstmt inner input inputc inputn inr insert int intck intnx into intrr invaliddata irr is jbessel join juldate keep kentb kurtosis label lag last lbound leave left length levels lgamma lib library libref line linesize link list log log10 log2 logpdf logpmf logsdf lostcard lowcase lrecl ls macro macrogen maps mautosource max maxdec maxr mdy mean measures median memtype merge merror min minute missing missover mlogic mod mode model modify month mopen mort mprint mrecall msglevel msymtabmax mvarsize myy n nest netpv new news nmiss no nobatch nobs nocaps nocardimage nocenter nocharcode nocmdmac nocol nocum nodate nodbcs nodetails nodmr nodms nodmsbatch nodup nodupkey noduplicates noechoauto noequals noerrorabend noexitwindows nofullstimer noicon noimplmac noint nolist noloadlist nomiss nomlogic nomprint nomrecall nomsgcase nomstored nomultenvappl nonotes nonumber noobs noovp nopad nopercent noprint noprintinit normal norow norsasuser nosetinit nosplash nosymbolgen note notes notitle notitles notsorted noverbose noxsync noxwait npv null number numkeys nummousekeys nway obs on open order ordinal otherwise out outer outp= output over ovp p(1 5 10 25 50 75 90 95 99) pad pad2 paired parm parmcards path pathdll pathname pdf peek peekc pfkey pmf point poisson poke position printer probbeta probbnml probchi probf probgam probhypr probit probnegb probnorm probsig probt procleave prt ps pw pwreq qtr quote r ranbin rancau random ranexp rangam range ranks rannor ranpoi rantbl rantri ranuni rcorr read recfm register regr remote remove rename repeat repeated replace resolve retain return reuse reverse rewind right round rsquare rtf rtrace rtraceloc s s2 samploc sasautos sascontrol sasfrscr sasmsg sasmstore sasscript sasuser saving scan sdf second select selection separated seq serror set setcomm setot sign simple sin sinh siteinfo skewness skip sle sls sortedby sortpgm sortseq sortsize soundex spedis splashlocation split spool sqrt start std stderr stdin stfips stimer stname stnamel stop stopover sub subgroup subpopn substr sum sumwgt symbol symbolgen symget symput sysget sysin sysleave sysmsg sysparm sysprint sysprintfont sysprod sysrc system t table tables tan tanh tapeclose tbufsize terminal test then timepart tinv tnonct to today tol tooldef totper transformout translate trantab tranwrd trigamma trim trimn trunc truncover type unformatted uniform union until upcase update user usericon uss validate value var weight when where while wincharset window work workinit workterm write wsum xsync xwait yearcutoff yes yyq min max",["inDataStep","inProc"]);j("operator","and not ",["inDataStep","inProc"]);function ra(e,n){var t=e.next();if(t==="/"&&e.eat("*"))return n.continueComment=!0,"comment";if(n.continueComment===!0)return t==="*"&&e.peek()==="/"?(e.next(),n.continueComment=!1):e.skipTo("*")?(e.skipTo("*"),e.next(),e.eat("/")&&(n.continueComment=!1)):e.skipToEnd(),"comment";if(t=="*"&&e.column()==e.indentation())return e.skipToEnd(),"comment";var r=t+e.peek();if((t==='"'||t==="'")&&!n.continueString)return n.continueString=t,"string";if(n.continueString)return n.continueString==t?n.continueString=null:e.skipTo(n.continueString)?(e.next(),n.continueString=null):e.skipToEnd(),"string";if(n.continueString!==null&&e.eol())return e.skipTo(n.continueString)||e.skipToEnd(),"string";if(/[\d\.]/.test(t))return t==="."?e.match(/^[0-9]+([eE][\-+]?[0-9]+)?/):t==="0"?e.match(/^[xX][0-9a-fA-F]+/)||e.match(/^0[0-7]+/):e.match(/^[0-9]*\.?[0-9]*([eE][\-+]?[0-9]+)?/),"number";if(na.test(t+e.peek()))return e.next(),"operator";if(Ft.hasOwnProperty(r)){if(e.next(),e.peek()===" ")return Ft[r.toLowerCase()]}else if(ta.test(t))return"operator";var i;if(e.match(/[%&;\w]+/,!1)!=null){if(i=t+e.match(/[%&;\w]+/,!0),/&/.test(i))return"variable"}else i=t;if(n.nextword)return e.match(/[\w]+/),e.peek()==="."&&e.skipTo(" "),n.nextword=!1,"variableName.special";if(i=i.toLowerCase(),n.inDataStep){if(i==="run;"||e.match(/run\s;/))return n.inDataStep=!1,"builtin";if(i&&e.next()===".")return/\w/.test(e.peek())?"variableName.special":"variable";if(i&&q.hasOwnProperty(i)&&(q[i].state.indexOf("inDataStep")!==-1||q[i].state.indexOf("ALL")!==-1)){e.start<e.pos&&e.backUp(e.pos-e.start);for(var o=0;o<i.length;++o)e.next();return q[i].style}}if(n.inProc){if(i==="run;"||i==="quit;")return n.inProc=!1,"builtin";if(i&&q.hasOwnProperty(i)&&(q[i].state.indexOf("inProc")!==-1||q[i].state.indexOf("ALL")!==-1))return e.match(/[\w]+/),q[i].style}return n.inMacro?i==="%mend"?(e.peek()===";"&&e.next(),n.inMacro=!1,"builtin"):i&&q.hasOwnProperty(i)&&(q[i].state.indexOf("inMacro")!==-1||q[i].state.indexOf("ALL")!==-1)?(e.match(/[\w]+/),q[i].style):"atom":i&&q.hasOwnProperty(i)?(e.backUp(1),e.match(/[\w]+/),i==="data"&&/=/.test(e.peek())===!1?(n.inDataStep=!0,n.nextword=!0,"builtin"):i==="proc"?(n.inProc=!0,n.nextword=!0,"builtin"):i==="%macro"?(n.inMacro=!0,n.nextword=!0,"builtin"):/title[1-9]/.test(i)?"def":i==="footnote"?(e.eat(/[1-9]/),"def"):n.inDataStep===!0&&q[i].state.indexOf("inDataStep")!==-1||n.inProc===!0&&q[i].state.indexOf("inProc")!==-1||n.inMacro===!0&&q[i].state.indexOf("inMacro")!==-1||q[i].state.indexOf("ALL")!==-1?q[i].style:null):null}var ia={name:"sas",startState:function(){return{inDataStep:!1,inProc:!1,inMacro:!1,nextword:!1,continueString:null,continueComment:!1}},token:function(e,n){return e.eatSpace()?null:ra(e,n)},languageData:{commentTokens:{block:{open:"/*",close:"*/"}}}};var oa="builtin",se="comment",Mt="string",Bt="symbol",Te="atom",jt="number",Wt="bracket",aa=2;function Ht(e){for(var n={},t=e.split(" "),r=0;r<t.length;++r)n[t[r]]=!0;return n}var Ut=Ht("\u03BB case-lambda call/cc class cond-expand define-class define-values exit-handler field import inherit init-field interface let*-values let-values let/ec mixin opt-lambda override protect provide public rename require require-for-syntax syntax syntax-case syntax-error unit/sig unless when with-syntax and begin call-with-current-continuation call-with-input-file call-with-output-file case cond define define-syntax define-macro defmacro delay do dynamic-wind else for-each if lambda let let* let-syntax letrec letrec-syntax map or syntax-rules abs acos angle append apply asin assoc assq assv atan boolean? caar cadr call-with-input-file call-with-output-file call-with-values car cdddar cddddr cdr ceiling char->integer char-alphabetic? char-ci<=? char-ci<? char-ci=? char-ci>=? char-ci>? char-downcase char-lower-case? char-numeric? char-ready? char-upcase char-upper-case? char-whitespace? char<=? char<? char=? char>=? char>? char? close-input-port close-output-port complex? cons cos current-input-port current-output-port denominator display eof-object? eq? equal? eqv? eval even? exact->inexact exact? exp expt #f floor force gcd imag-part inexact->exact inexact? input-port? integer->char integer? interaction-environment lcm length list list->string list->vector list-ref list-tail list? load log magnitude make-polar make-rectangular make-string make-vector max member memq memv min modulo negative? newline not null-environment null? number->string number? numerator odd? open-input-file open-output-file output-port? pair? peek-char port? positive? procedure? quasiquote quote quotient rational? rationalize read read-char real-part real? remainder reverse round scheme-report-environment set! set-car! set-cdr! sin sqrt string string->list string->number string->symbol string-append string-ci<=? string-ci<? string-ci=? string-ci>=? string-ci>? string-copy string-fill! string-length string-ref string-set! string<=? string<? string=? string>=? string>? string? substring symbol->string symbol? #t tan transcript-off transcript-on truncate values vector vector->list vector-fill! vector-length vector-ref vector-set! with-input-from-file with-output-to-file write write-char zero?"),la=Ht("define let letrec let* lambda define-macro defmacro let-syntax letrec-syntax let-values let*-values define-syntax syntax-rules define-values when unless");function ca(e,n,t){this.indent=e,this.type=n,this.prev=t}function wn(e,n,t){e.indentStack=new ca(n,t,e.indentStack)}function sa(e){e.indentStack=e.indentStack.prev}var ua=new RegExp(/^(?:[-+]i|[-+][01]+#*(?:\/[01]+#*)?i|[-+]?[01]+#*(?:\/[01]+#*)?@[-+]?[01]+#*(?:\/[01]+#*)?|[-+]?[01]+#*(?:\/[01]+#*)?[-+](?:[01]+#*(?:\/[01]+#*)?)?i|[-+]?[01]+#*(?:\/[01]+#*)?)(?=[()\s;"]|$)/i),da=new RegExp(/^(?:[-+]i|[-+][0-7]+#*(?:\/[0-7]+#*)?i|[-+]?[0-7]+#*(?:\/[0-7]+#*)?@[-+]?[0-7]+#*(?:\/[0-7]+#*)?|[-+]?[0-7]+#*(?:\/[0-7]+#*)?[-+](?:[0-7]+#*(?:\/[0-7]+#*)?)?i|[-+]?[0-7]+#*(?:\/[0-7]+#*)?)(?=[()\s;"]|$)/i),fa=new RegExp(/^(?:[-+]i|[-+][\da-f]+#*(?:\/[\da-f]+#*)?i|[-+]?[\da-f]+#*(?:\/[\da-f]+#*)?@[-+]?[\da-f]+#*(?:\/[\da-f]+#*)?|[-+]?[\da-f]+#*(?:\/[\da-f]+#*)?[-+](?:[\da-f]+#*(?:\/[\da-f]+#*)?)?i|[-+]?[\da-f]+#*(?:\/[\da-f]+#*)?)(?=[()\s;"]|$)/i),pa=new RegExp(/^(?:[-+]i|[-+](?:(?:(?:\d+#+\.?#*|\d+\.\d*#*|\.\d+#*|\d+)(?:[esfdl][-+]?\d+)?)|\d+#*\/\d+#*)i|[-+]?(?:(?:(?:\d+#+\.?#*|\d+\.\d*#*|\.\d+#*|\d+)(?:[esfdl][-+]?\d+)?)|\d+#*\/\d+#*)@[-+]?(?:(?:(?:\d+#+\.?#*|\d+\.\d*#*|\.\d+#*|\d+)(?:[esfdl][-+]?\d+)?)|\d+#*\/\d+#*)|[-+]?(?:(?:(?:\d+#+\.?#*|\d+\.\d*#*|\.\d+#*|\d+)(?:[esfdl][-+]?\d+)?)|\d+#*\/\d+#*)[-+](?:(?:(?:\d+#+\.?#*|\d+\.\d*#*|\.\d+#*|\d+)(?:[esfdl][-+]?\d+)?)|\d+#*\/\d+#*)?i|(?:(?:(?:\d+#+\.?#*|\d+\.\d*#*|\.\d+#*|\d+)(?:[esfdl][-+]?\d+)?)|\d+#*\/\d+#*))(?=[()\s;"]|$)/i);function ma(e){return e.match(ua)}function ha(e){return e.match(da)}function Sn(e,n){return n===!0&&e.backUp(1),e.match(pa)}function ga(e){return e.match(fa)}function Kt(e,n){for(var t,r=!1;(t=e.next())!=null;){if(t==n.token&&!r){n.state.mode=!1;break}r=!r&&t=="\\"}}var ba={name:"scheme",startState:function(){return{indentStack:null,indentation:0,mode:!1,sExprComment:!1,sExprQuote:!1}},token:function(e,n){if(n.indentStack==null&&e.sol()&&(n.indentation=e.indentation()),e.eatSpace())return null;var t=null;switch(n.mode){case"string":Kt(e,{token:'"',state:n}),t=Mt;break;case"symbol":Kt(e,{token:"|",state:n}),t=Bt;break;case"comment":for(var r,i=!1;(r=e.next())!=null;){if(r=="#"&&i){n.mode=!1;break}i=r=="|"}t=se;break;case"s-expr-comment":if(n.mode=!1,e.peek()=="("||e.peek()=="[")n.sExprComment=0;else{e.eatWhile(/[^\s\(\)\[\]]/),t=se;break}default:var o=e.next();if(o=='"')n.mode="string",t=Mt;else if(o=="'")e.peek()=="("||e.peek()=="["?(typeof n.sExprQuote!="number"&&(n.sExprQuote=0),t=Te):(e.eatWhile(/[\w_\-!$%&*+\.\/:<=>?@\^~]/),t=Te);else if(o=="|")n.mode="symbol",t=Bt;else if(o=="#")if(e.eat("|"))n.mode="comment",t=se;else if(e.eat(/[tf]/i))t=Te;else if(e.eat(";"))n.mode="s-expr-comment",t=se;else{var a=null,p=!1,S=!0;e.eat(/[ei]/i)?p=!0:e.backUp(1),e.match(/^#b/i)?a=ma:e.match(/^#o/i)?a=ha:e.match(/^#x/i)?a=ga:e.match(/^#d/i)?a=Sn:e.match(/^[-+0-9.]/,!1)?(S=!1,a=Sn):p||e.eat("#"),a!=null&&(S&&!p&&e.match(/^#[ei]/i),a(e)&&(t=jt))}else if(/^[-+0-9.]/.test(o)&&Sn(e,!0))t=jt;else if(o==";")e.skipToEnd(),t=se;else if(o=="("||o=="["){for(var E="",x=e.column(),c;(c=e.eat(/[^\s\(\[\;\)\]]/))!=null;)E+=c;E.length>0&&la.propertyIsEnumerable(E)?wn(n,x+aa,o):(e.eatSpace(),e.eol()||e.peek()==";"?wn(n,x+1,o):wn(n,x+e.current().length,o)),e.backUp(e.current().length-1),typeof n.sExprComment=="number"&&n.sExprComment++,typeof n.sExprQuote=="number"&&n.sExprQuote++,t=Wt}else o==")"||o=="]"?(t=Wt,n.indentStack!=null&&n.indentStack.type==(o==")"?"(":"[")&&(sa(n),typeof n.sExprComment=="number"&&--n.sExprComment==0&&(t=se,n.sExprComment=!1),typeof n.sExprQuote=="number"&&--n.sExprQuote==0&&(t=Te,n.sExprQuote=!1))):(e.eatWhile(/[\w_\-!$%&*+\.\/:<=>?@\^~]/),Ut&&Ut.propertyIsEnumerable(e.current())?t=oa:t="variable")}return typeof n.sExprComment=="number"?se:typeof n.sExprQuote=="number"?Te:t},indent:function(e){return e.indentStack==null?e.indentation:e.indentStack.indent},languageData:{closeBrackets:{brackets:["(","[","{",'"']},commentTokens:{line:";;"}}};var zn={};function En(e,n){for(var t=0;t<n.length;t++)zn[n[t]]=e}var Gt=["true","false"],Zt=["if","then","do","else","elif","while","until","for","in","esac","fi","fin","fil","done","exit","set","unset","export","function"],Qt=["ab","awk","bash","beep","cat","cc","cd","chown","chmod","chroot","clear","cp","curl","cut","diff","echo","find","gawk","gcc","get","git","grep","hg","kill","killall","ln","ls","make","mkdir","openssl","mv","nc","nl","node","npm","ping","ps","restart","rm","rmdir","sed","service","sh","shopt","shred","source","sort","sleep","ssh","start","stop","su","sudo","svn","tee","telnet","top","touch","vi","vim","wall","wc","wget","who","write","yes","zsh"];En("atom",Gt);En("keyword",Zt);En("builtin",Qt);function ya(e,n){if(e.eatSpace())return null;var t=e.sol(),r=e.next();if(r==="\\")return e.next(),null;if(r==="'"||r==='"'||r==="`")return n.tokens.unshift(Ue(r,r==="`"?"quote":"string")),be(e,n);if(r==="#")return t&&e.eat("!")?(e.skipToEnd(),"meta"):(e.skipToEnd(),"comment");if(r==="$")return n.tokens.unshift(Vt),be(e,n);if(r==="+"||r==="=")return"operator";if(r==="-")return e.eat("-"),e.eatWhile(/\w/),"attribute";if(r=="<"){if(e.match("<<"))return"operator";var i=e.match(/^<-?\s*(?:['"]([^'"]*)['"]|([^'"\s]*))/);if(i)return n.tokens.unshift(ka(i[1]||i[2])),"string.special"}if(/\d/.test(r)&&(e.eatWhile(/\d/),e.eol()||!/\w/.test(e.peek())))return"number";e.eatWhile(/[\w-]/);var o=e.current();return e.peek()==="="&&/\w+/.test(o)?"def":zn.hasOwnProperty(o)?zn[o]:null}function Ue(e,n){var t=e=="("?")":e=="{"?"}":e;return function(r,i){for(var o,a=!1;(o=r.next())!=null;){if(o===t&&!a){i.tokens.shift();break}else if(o==="$"&&!a&&e!=="'"&&r.peek()!=t){a=!0,r.backUp(1),i.tokens.unshift(Vt);break}else{if(!a&&e!==t&&o===e)return i.tokens.unshift(Ue(e,n)),be(r,i);if(!a&&/['"]/.test(o)&&!/['"]/.test(e)){i.tokens.unshift(va(o,"string")),r.backUp(1);break}}a=!a&&o==="\\"}return n}}function va(e,n){return function(t,r){return r.tokens[0]=Ue(e,n),t.next(),be(t,r)}}var Vt=function(e,n){n.tokens.length>1&&e.eat("$");var t=e.next();return/['"({]/.test(t)?(n.tokens[0]=Ue(t,t=="("?"quote":t=="{"?"def":"string"),be(e,n)):(/\d/.test(t)||e.eatWhile(/\w/),n.tokens.shift(),"def")};function ka(e){return function(n,t){return n.sol()&&n.string==e&&t.tokens.shift(),n.skipToEnd(),"string.special"}}function be(e,n){return(n.tokens[0]||ya)(e,n)}var _a={name:"shell",startState:function(){return{tokens:[]}},token:function(e,n){return be(e,n)},languageData:{autocomplete:Gt.concat(Zt,Qt),closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"#"}}};function G(e){var n=e.client||{},t=e.atoms||{false:!0,true:!0,null:!0},r=e.builtin||h(Jt),i=e.keywords||h(de),o=e.operatorChars||/^[*+\-%<>!=&|~^\/]/,a=e.support||{},p=e.hooks||{},S=e.dateSQL||{date:!0,time:!0,timestamp:!0},E=e.backslashStringEscapes!==!1,x=e.brackets||/^[\{}\(\)\[\]]/,c=e.punctuation||/^[;.,:]/;function d(u,T){var w=u.next();if(p[w]){var C=p[w](u,T);if(C!==!1)return C}if(a.hexNumber&&(w=="0"&&u.match(/^[xX][0-9a-fA-F]+/)||(w=="x"||w=="X")&&u.match(/^'[0-9a-fA-F]*'/)))return"number";if(a.binaryNumber&&((w=="b"||w=="B")&&u.match(/^'[01]+'/)||w=="0"&&u.match(/^b[01]*/)))return"number";if(w.charCodeAt(0)>47&&w.charCodeAt(0)<58)return u.match(/^[0-9]*(\.[0-9]+)?([eE][-+]?[0-9]+)?/),a.decimallessFloat&&u.match(/^\.(?!\.)/),"number";if(w=="?"&&(u.eatSpace()||u.eol()||u.eat(";")))return"macroName";if(w=="'"||w=='"'&&a.doubleQuote)return T.tokenize=y(w),T.tokenize(u,T);if((a.nCharCast&&(w=="n"||w=="N")||a.charsetCast&&w=="_"&&u.match(/[a-z][a-z0-9]*/i))&&(u.peek()=="'"||u.peek()=='"'))return"keyword";if(a.escapeConstant&&(w=="e"||w=="E")&&(u.peek()=="'"||u.peek()=='"'&&a.doubleQuote))return T.tokenize=function(s,I){return(I.tokenize=y(s.next(),!0))(s,I)},"keyword";if(a.commentSlashSlash&&w=="/"&&u.eat("/"))return u.skipToEnd(),"comment";if(a.commentHash&&w=="#"||w=="-"&&u.eat("-")&&(!a.commentSpaceRequired||u.eat(" ")))return u.skipToEnd(),"comment";if(w=="/"&&u.eat("*"))return T.tokenize=O(1),T.tokenize(u,T);if(w=="."){if(a.zerolessFloat&&u.match(/^(?:\d+(?:e[+-]?\d+)?)/i))return"number";if(u.match(/^\.+/))return null;if(a.ODBCdotTable&&u.match(/^[\w\d_$#]+/))return"type"}else{if(o.test(w))return u.eatWhile(o),"operator";if(x.test(w))return"bracket";if(c.test(w))return u.eatWhile(c),"punctuation";if(w=="{"&&(u.match(/^( )*(d|D|t|T|ts|TS)( )*'[^']*'( )*}/)||u.match(/^( )*(d|D|t|T|ts|TS)( )*"[^"]*"( )*}/)))return"number";u.eatWhile(/^[_\w\d]/);var l=u.current().toLowerCase();return S.hasOwnProperty(l)&&(u.match(/^( )+'[^']*'/)||u.match(/^( )+"[^"]*"/))?"number":t.hasOwnProperty(l)?"atom":r.hasOwnProperty(l)?"type":i.hasOwnProperty(l)?"keyword":n.hasOwnProperty(l)?"builtin":null}}function y(u,T){return function(w,C){for(var l=!1,s;(s=w.next())!=null;){if(s==u&&!l){C.tokenize=d;break}l=(E||T)&&!l&&s=="\\"}return"string"}}function O(u){return function(T,w){var C=T.match(/^.*?(\/\*|\*\/)/);return C?C[1]=="/*"?w.tokenize=O(u+1):u>1?w.tokenize=O(u-1):w.tokenize=d:T.skipToEnd(),"comment"}}function K(u,T,w){T.context={prev:T.context,indent:u.indentation(),col:u.column(),type:w}}function M(u){u.indent=u.context.indent,u.context=u.context.prev}return{name:"sql",startState:function(){return{tokenize:d,context:null}},token:function(u,T){if(u.sol()&&T.context&&T.context.align==null&&(T.context.align=!1),T.tokenize==d&&u.eatSpace())return null;var w=T.tokenize(u,T);if(w=="comment")return w;T.context&&T.context.align==null&&(T.context.align=!0);var C=u.current();return C=="("?K(u,T,")"):C=="["?K(u,T,"]"):T.context&&T.context.type==C&&M(T),w},indent:function(u,T,w){var C=u.context;if(!C)return null;var l=T.charAt(0)==C.type;return C.align?C.col+(l?0:1):C.indent+(l?0:w.unit)},languageData:{commentTokens:{line:a.commentSlashSlash?"//":a.commentHash?"#":"--",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}}}function Tn(e){for(var n;(n=e.next())!=null;)if(n=="`"&&!e.eat("`"))return"string.special";return e.backUp(e.current().length-1),e.eatWhile(/\w/)?"string.special":null}function xa(e){for(var n;(n=e.next())!=null;)if(n=='"'&&!e.eat('"'))return"string.special";return e.backUp(e.current().length-1),e.eatWhile(/\w/)?"string.special":null}function ue(e){return e.eat("@")&&(e.match("session."),e.match("local."),e.match("global.")),e.eat("'")?(e.match(/^.*'/),"string.special"):e.eat('"')?(e.match(/^.*"/),"string.special"):e.eat("`")?(e.match(/^.*`/),"string.special"):e.match(/^[0-9a-zA-Z$\.\_]+/)?"string.special":null}function Xt(e){return e.eat("N")?"atom":e.match(/^[a-zA-Z.#!?]/)?"string.special":null}var de="alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit ";function h(e){for(var n={},t=e.split(" "),r=0;r<t.length;++r)n[t[r]]=!0;return n}var Jt="bool boolean bit blob enum long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision real date datetime year unsigned signed decimal numeric",wa=G({keywords:h(de+"begin"),builtin:h(Jt),atoms:h("false true null unknown"),dateSQL:h("date time timestamp"),support:h("ODBCdotTable doubleQuote binaryNumber hexNumber")}),Sa=G({client:h("$partition binary_checksum checksum connectionproperty context_info current_request_id error_line error_message error_number error_procedure error_severity error_state formatmessage get_filestream_transaction_context getansinull host_id host_name isnull isnumeric min_active_rowversion newid newsequentialid rowcount_big xact_state object_id"),keywords:h(de+"begin trigger proc view index for add constraint key primary foreign collate clustered nonclustered declare exec go if use index holdlock nolock nowait paglock readcommitted readcommittedlock readpast readuncommitted repeatableread rowlock serializable snapshot tablock tablockx updlock with"),builtin:h("bigint numeric bit smallint decimal smallmoney int tinyint money float real char varchar text nchar nvarchar ntext binary varbinary image cursor timestamp hierarchyid uniqueidentifier sql_variant xml table "),atoms:h("is not null like and or in left right between inner outer join all any some cross unpivot pivot exists"),operatorChars:/^[*+\-%<>!=^\&|\/]/,brackets:/^[\{}\(\)]/,punctuation:/^[;.,:/]/,backslashStringEscapes:!1,dateSQL:h("date datetimeoffset datetime2 smalldatetime datetime time"),hooks:{"@":ue}}),za=G({client:h("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:h(de+"accessible action add after algorithm all analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general get global grant grants group group_concat handler hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show signal slave slow smallint snapshot soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:h("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:h("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:h("date time timestamp"),support:h("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":ue,"`":Tn,"\\":Xt}}),ec=G({client:h("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:h(de+"accessible action add after algorithm all always analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general generated get global grant grants group group_concat handler hard hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password persistent phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show shutdown signal slave slow smallint snapshot soft soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views virtual warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:h("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:h("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:h("date time timestamp"),support:h("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":ue,"`":Tn,"\\":Xt}}),Ea=G({client:h("auth backup bail binary changes check clone databases dbinfo dump echo eqp exit explain fullschema headers help import imposter indexes iotrace limit lint load log mode nullvalue once open output print prompt quit read restore save scanstats schema separator session shell show stats system tables testcase timeout timer trace vfsinfo vfslist vfsname width"),keywords:h(de+"abort action add after all analyze attach autoincrement before begin cascade case cast check collate column commit conflict constraint cross current_date current_time current_timestamp database default deferrable deferred detach each else end escape except exclusive exists explain fail for foreign full glob if ignore immediate index indexed initially inner instead intersect isnull key left limit match natural no notnull null of offset outer plan pragma primary query raise recursive references regexp reindex release rename replace restrict right rollback row savepoint temp temporary then to transaction trigger unique using vacuum view virtual when with without"),builtin:h("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text clob bigint int int2 int8 integer float double char varchar date datetime year unsigned signed numeric real"),atoms:h("null current_date current_time current_timestamp"),operatorChars:/^[*+\-%<>!=&|/~]/,dateSQL:h("date time timestamp datetime"),support:h("decimallessFloat zerolessFloat"),identifierQuote:'"',hooks:{"@":ue,":":ue,"?":ue,$:ue,'"':xa,"`":Tn}}),nc=G({client:{},keywords:h("add all allow alter and any apply as asc authorize batch begin by clustering columnfamily compact consistency count create custom delete desc distinct drop each_quorum exists filtering from grant if in index insert into key keyspace keyspaces level limit local_one local_quorum modify nan norecursive nosuperuser not of on one order password permission permissions primary quorum rename revoke schema select set storage superuser table three to token truncate ttl two type unlogged update use user users using values where with writetime"),builtin:h("ascii bigint blob boolean counter decimal double float frozen inet int list map static text timestamp timeuuid tuple uuid varchar varint"),atoms:h("false true infinity NaN"),operatorChars:/^[<>=]/,dateSQL:{},support:h("commentSlashSlash decimallessFloat"),hooks:{}}),Ta=G({client:h("appinfo arraysize autocommit autoprint autorecovery autotrace blockterminator break btitle cmdsep colsep compatibility compute concat copycommit copytypecheck define describe echo editfile embedded escape exec execute feedback flagger flush heading headsep instance linesize lno loboffset logsource long longchunksize markup native newpage numformat numwidth pagesize pause pno recsep recsepchar release repfooter repheader serveroutput shiftinout show showmode size spool sqlblanklines sqlcase sqlcode sqlcontinue sqlnumber sqlpluscompatibility sqlprefix sqlprompt sqlterminator suffix tab term termout time timing trimout trimspool ttitle underline verify version wrap"),keywords:h("abort accept access add all alter and any array arraylen as asc assert assign at attributes audit authorization avg base_table begin between binary_integer body boolean by case cast char char_base check close cluster clusters colauth column comment commit compress connect connected constant constraint crash create current currval cursor data_base database date dba deallocate debugoff debugon decimal declare default definition delay delete desc digits dispose distinct do drop else elseif elsif enable end entry escape exception exception_init exchange exclusive exists exit external fast fetch file for force form from function generic goto grant group having identified if immediate in increment index indexes indicator initial initrans insert interface intersect into is key level library like limited local lock log logging long loop master maxextents maxtrans member minextents minus mislabel mode modify multiset new next no noaudit nocompress nologging noparallel not nowait number_base object of off offline on online only open option or order out package parallel partition pctfree pctincrease pctused pls_integer positive positiven pragma primary prior private privileges procedure public raise range raw read rebuild record ref references refresh release rename replace resource restrict return returning returns reverse revoke rollback row rowid rowlabel rownum rows run savepoint schema segment select separate session set share snapshot some space split sql start statement storage subtype successful synonym tabauth table tables tablespace task terminate then to trigger truncate type union unique unlimited unrecoverable unusable update use using validate value values variable view views when whenever where while with work"),builtin:h("abs acos add_months ascii asin atan atan2 average bfile bfilename bigserial bit blob ceil character chartorowid chr clob concat convert cos cosh count dec decode deref dual dump dup_val_on_index empty error exp false float floor found glb greatest hextoraw initcap instr instrb int integer isopen last_day least length lengthb ln lower lpad ltrim lub make_ref max min mlslabel mod months_between natural naturaln nchar nclob new_time next_day nextval nls_charset_decl_len nls_charset_id nls_charset_name nls_initcap nls_lower nls_sort nls_upper nlssort no_data_found notfound null number numeric nvarchar2 nvl others power rawtohex real reftohex round rowcount rowidtochar rowtype rpad rtrim serial sign signtype sin sinh smallint soundex sqlcode sqlerrm sqrt stddev string substr substrb sum sysdate tan tanh to_char text to_date to_label to_multi_byte to_number to_single_byte translate true trunc uid unlogged upper user userenv varchar varchar2 variance varying vsize xml"),operatorChars:/^[*\/+\-%<>!=~]/,dateSQL:h("date time timestamp"),support:h("doubleQuote nCharCast zerolessFloat binaryNumber hexNumber")}),tc=G({keywords:h("select alter $elem$ $key$ $value$ add after all analyze and archive as asc before between binary both bucket buckets by cascade case cast change cluster clustered clusterstatus collection column columns comment compute concatenate continue create cross cursor data database databases dbproperties deferred delete delimited desc describe directory disable distinct distribute drop else enable end escaped exclusive exists explain export extended external fetch fields fileformat first format formatted from full function functions grant group having hold_ddltime idxproperties if import in index indexes inpath inputdriver inputformat insert intersect into is items join keys lateral left like limit lines load local location lock locks mapjoin materialized minus msck no_drop nocompress not of offline on option or order out outer outputdriver outputformat overwrite partition partitioned partitions percent plus preserve procedure purge range rcfile read readonly reads rebuild recordreader recordwriter recover reduce regexp rename repair replace restrict revoke right rlike row schema schemas semi sequencefile serde serdeproperties set shared show show_database sort sorted ssl statistics stored streamtable table tables tablesample tblproperties temporary terminated textfile then tmp to touch transform trigger unarchive undo union uniquejoin unlock update use using utc utc_tmestamp view when where while with admin authorization char compact compactions conf cube current current_date current_timestamp day decimal defined dependency directories elem_type exchange file following for grouping hour ignore inner interval jar less logical macro minute month more none noscan over owner partialscan preceding pretty principals protection reload rewrite role roles rollup rows second server sets skewed transactions truncate unbounded unset uri user values window year"),builtin:h("bool boolean long timestamp tinyint smallint bigint int float double date datetime unsigned string array struct map uniontype key_type utctimestamp value_type varchar"),atoms:h("false true null unknown"),operatorChars:/^[*+\-%<>!=]/,dateSQL:h("date timestamp"),support:h("ODBCdotTable doubleQuote binaryNumber hexNumber")}),Ca=G({client:h("source"),keywords:h(de+"a abort abs absent absolute access according action ada add admin after aggregate alias all allocate also alter always analyse analyze and any are array array_agg array_max_cardinality as asc asensitive assert assertion assignment asymmetric at atomic attach attribute attributes authorization avg backward base64 before begin begin_frame begin_partition bernoulli between bigint binary bit bit_length blob blocked bom boolean both breadth by c cache call called cardinality cascade cascaded case cast catalog catalog_name ceil ceiling chain char char_length character character_length character_set_catalog character_set_name character_set_schema characteristics characters check checkpoint class class_origin clob close cluster coalesce cobol collate collation collation_catalog collation_name collation_schema collect column column_name columns command_function command_function_code comment comments commit committed concurrently condition condition_number configuration conflict connect connection connection_name constant constraint constraint_catalog constraint_name constraint_schema constraints constructor contains content continue control conversion convert copy corr corresponding cost count covar_pop covar_samp create cross csv cube cume_dist current current_catalog current_date current_default_transform_group current_path current_role current_row current_schema current_time current_timestamp current_transform_group_for_type current_user cursor cursor_name cycle data database datalink datatype date datetime_interval_code datetime_interval_precision day db deallocate debug dec decimal declare default defaults deferrable deferred defined definer degree delete delimiter delimiters dense_rank depends depth deref derived desc describe descriptor detach detail deterministic diagnostics dictionary disable discard disconnect dispatch distinct dlnewcopy dlpreviouscopy dlurlcomplete dlurlcompleteonly dlurlcompletewrite dlurlpath dlurlpathonly dlurlpathwrite dlurlscheme dlurlserver dlvalue do document domain double drop dump dynamic dynamic_function dynamic_function_code each element else elseif elsif empty enable encoding encrypted end end_frame end_partition endexec enforced enum equals errcode error escape event every except exception exclude excluding exclusive exec execute exists exit exp explain expression extension external extract false family fetch file filter final first first_value flag float floor following for force foreach foreign fortran forward found frame_row free freeze from fs full function functions fusion g general generated get global go goto grant granted greatest group grouping groups handler having header hex hierarchy hint hold hour id identity if ignore ilike immediate immediately immutable implementation implicit import in include including increment indent index indexes indicator info inherit inherits initially inline inner inout input insensitive insert instance instantiable instead int integer integrity intersect intersection interval into invoker is isnull isolation join k key key_member key_type label lag language large last last_value lateral lead leading leakproof least left length level library like like_regex limit link listen ln load local localtime localtimestamp location locator lock locked log logged loop lower m map mapping match matched materialized max max_cardinality maxvalue member merge message message_length message_octet_length message_text method min minute minvalue mod mode modifies module month more move multiset mumps name names namespace national natural nchar nclob nesting new next nfc nfd nfkc nfkd nil no none normalize normalized not nothing notice notify notnull nowait nth_value ntile null nullable nullif nulls number numeric object occurrences_regex octet_length octets of off offset oids old on only open operator option options or order ordering ordinality others out outer output over overlaps overlay overriding owned owner p pad parallel parameter parameter_mode parameter_name parameter_ordinal_position parameter_specific_catalog parameter_specific_name parameter_specific_schema parser partial partition pascal passing passthrough password path percent percent_rank percentile_cont percentile_disc perform period permission pg_context pg_datatype_name pg_exception_context pg_exception_detail pg_exception_hint placing plans pli policy portion position position_regex power precedes preceding precision prepare prepared preserve primary print_strict_params prior privileges procedural procedure procedures program public publication query quote raise range rank read reads real reassign recheck recovery recursive ref references referencing refresh regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy regr_syy reindex relative release rename repeatable replace replica requiring reset respect restart restore restrict result result_oid return returned_cardinality returned_length returned_octet_length returned_sqlstate returning returns reverse revoke right role rollback rollup routine routine_catalog routine_name routine_schema routines row row_count row_number rows rowtype rule savepoint scale schema schema_name schemas scope scope_catalog scope_name scope_schema scroll search second section security select selective self sensitive sequence sequences serializable server server_name session session_user set setof sets share show similar simple size skip slice smallint snapshot some source space specific specific_name specifictype sql sqlcode sqlerror sqlexception sqlstate sqlwarning sqrt stable stacked standalone start state statement static statistics stddev_pop stddev_samp stdin stdout storage strict strip structure style subclass_origin submultiset subscription substring substring_regex succeeds sum symmetric sysid system system_time system_user t table table_name tables tablesample tablespace temp template temporary text then ties time timestamp timezone_hour timezone_minute to token top_level_count trailing transaction transaction_active transactions_committed transactions_rolled_back transform transforms translate translate_regex translation treat trigger trigger_catalog trigger_name trigger_schema trim trim_array true truncate trusted type types uescape unbounded uncommitted under unencrypted union unique unknown unlink unlisten unlogged unnamed unnest until untyped update upper uri usage use_column use_variable user user_defined_type_catalog user_defined_type_code user_defined_type_name user_defined_type_schema using vacuum valid validate validator value value_of values var_pop var_samp varbinary varchar variable_conflict variadic varying verbose version versioning view views volatile warning when whenever where while whitespace width_bucket window with within without work wrapper write xml xmlagg xmlattributes xmlbinary xmlcast xmlcomment xmlconcat xmldeclaration xmldocument xmlelement xmlexists xmlforest xmliterate xmlnamespaces xmlparse xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltext xmlvalidate year yes zone"),builtin:h("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:h("false true null unknown"),operatorChars:/^[*\/+\-%<>!=&|^\/#@?~]/,backslashStringEscapes:!1,dateSQL:h("date time timestamp"),support:h("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast escapeConstant")}),rc=G({keywords:h("ancestor and asc by contains desc descendant distinct from group has in is limit offset on order select superset where"),atoms:h("false true"),builtin:h("blob datetime first key __key__ string integer double boolean null"),operatorChars:/^[*+\-%<>!=]/}),ic=G({client:h("source"),keywords:h("abort absolute access action active add admin after aggregate all also alter always analyse analyze and any array as asc assertion assignment asymmetric at authorization backward before begin between bigint binary bit boolean both by cache called cascade cascaded case cast chain char character characteristics check checkpoint class close cluster coalesce codegen collate column comment commit committed concurrency concurrently configuration connection constraint constraints contains content continue conversion copy cost cpu_rate_limit create createdb createexttable createrole createuser cross csv cube current current_catalog current_date current_role current_schema current_time current_timestamp current_user cursor cycle data database day deallocate dec decimal declare decode default defaults deferrable deferred definer delete delimiter delimiters deny desc dictionary disable discard distinct distributed do document domain double drop dxl each else enable encoding encrypted end enum errors escape every except exchange exclude excluding exclusive execute exists explain extension external extract false family fetch fields filespace fill filter first float following for force foreign format forward freeze from full function global grant granted greatest group group_id grouping handler hash having header hold host hour identity if ignore ilike immediate immutable implicit in including inclusive increment index indexes inherit inherits initially inline inner inout input insensitive insert instead int integer intersect interval into invoker is isnull isolation join key language large last leading least left level like limit list listen load local localtime localtimestamp location lock log login mapping master match maxvalue median merge minute minvalue missing mode modifies modify month move name names national natural nchar new newline next no nocreatedb nocreateexttable nocreaterole nocreateuser noinherit nologin none noovercommit nosuperuser not nothing notify notnull nowait null nullif nulls numeric object of off offset oids old on only operator option options or order ordered others out outer over overcommit overlaps overlay owned owner parser partial partition partitions passing password percent percentile_cont percentile_disc placing plans position preceding precision prepare prepared preserve primary prior privileges procedural procedure protocol queue quote randomly range read readable reads real reassign recheck recursive ref references reindex reject relative release rename repeatable replace replica reset resource restart restrict returning returns revoke right role rollback rollup rootpartition row rows rule savepoint scatter schema scroll search second security segment select sequence serializable session session_user set setof sets share show similar simple smallint some split sql stable standalone start statement statistics stdin stdout storage strict strip subpartition subpartitions substring superuser symmetric sysid system table tablespace temp template temporary text then threshold ties time timestamp to trailing transaction treat trigger trim true truncate trusted type unbounded uncommitted unencrypted union unique unknown unlisten until update user using vacuum valid validation validator value values varchar variadic varying verbose version view volatile web when where whitespace window with within without work writable write xml xmlattributes xmlconcat xmlelement xmlexists xmlforest xmlparse xmlpi xmlroot xmlserialize year yes zone"),builtin:h("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:h("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:h("date time timestamp"),support:h("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast")}),oc=G({keywords:h("add after all alter analyze and anti archive array as asc at between bucket buckets by cache cascade case cast change clear cluster clustered codegen collection column columns comment commit compact compactions compute concatenate cost create cross cube current current_date current_timestamp database databases data dbproperties defined delete delimited deny desc describe dfs directories distinct distribute drop else end escaped except exchange exists explain export extended external false fields fileformat first following for format formatted from full function functions global grant group grouping having if ignore import in index indexes inner inpath inputformat insert intersect interval into is items join keys last lateral lazy left like limit lines list load local location lock locks logical macro map minus msck natural no not null nulls of on optimize option options or order out outer outputformat over overwrite partition partitioned partitions percent preceding principals purge range recordreader recordwriter recover reduce refresh regexp rename repair replace reset restrict revoke right rlike role roles rollback rollup row rows schema schemas select semi separated serde serdeproperties set sets show skewed sort sorted start statistics stored stratify struct table tables tablesample tblproperties temp temporary terminated then to touch transaction transactions transform true truncate unarchive unbounded uncache union unlock unset use using values view when where window with"),builtin:h("tinyint smallint int bigint boolean float double string binary timestamp decimal array map struct uniontype delimited serde sequencefile textfile rcfile inputformat outputformat"),atoms:h("false true null"),operatorChars:/^[*\/+\-%<>!=~&|^]/,dateSQL:h("date time timestamp"),support:h("ODBCdotTable doubleQuote zerolessFloat")}),ac=G({client:h("source"),keywords:h("alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit after all and as at asc avedev avg between by case cast coalesce count create current_timestamp day days delete define desc distinct else end escape events every exists false first from full group having hour hours in inner insert instanceof into irstream is istream join last lastweekday left limit like max match_recognize matches median measures metadatasql min minute minutes msec millisecond milliseconds not null offset on or order outer output partition pattern prev prior regexp retain-union retain-intersection right rstream sec second seconds select set some snapshot sql stddev sum then true unidirectional until update variable weekday when where window"),builtin:{},atoms:h("false true null"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:h("time"),support:h("decimallessFloat zerolessFloat binaryNumber hexNumber")});function Yt(e){function n(c,d){c.cmdState.push(d)}function t(c){return c.cmdState.length>0?c.cmdState[c.cmdState.length-1]:null}function r(c){var d=c.cmdState.pop();d&&d.closeBracket()}function i(c){for(var d=c.cmdState,y=d.length-1;y>=0;y--){var O=d[y];if(O.name!="DEFAULT")return O}return{styleIdentifier:function(){return null}}}function o(c,d,y){return function(){this.name=c,this.bracketNo=0,this.style=d,this.styles=y,this.argument=null,this.styleIdentifier=function(){return this.styles[this.bracketNo-1]||null},this.openBracket=function(){return this.bracketNo++,"bracket"},this.closeBracket=function(){}}}var a={};a.importmodule=o("importmodule","tag",["string","builtin"]),a.documentclass=o("documentclass","tag",["","atom"]),a.usepackage=o("usepackage","tag",["atom"]),a.begin=o("begin","tag",["atom"]),a.end=o("end","tag",["atom"]),a.label=o("label","tag",["atom"]),a.ref=o("ref","tag",["atom"]),a.eqref=o("eqref","tag",["atom"]),a.cite=o("cite","tag",["atom"]),a.bibitem=o("bibitem","tag",["atom"]),a.Bibitem=o("Bibitem","tag",["atom"]),a.RBibitem=o("RBibitem","tag",["atom"]),a.DEFAULT=function(){this.name="DEFAULT",this.style="tag",this.styleIdentifier=this.openBracket=this.closeBracket=function(){}};function p(c,d){c.f=d}function S(c,d){var y;if(c.match(/^\\[a-zA-Z@\xc0-\u1fff\u2060-\uffff]+/)){var O=c.current().slice(1);return y=a.hasOwnProperty(O)?a[O]:a.DEFAULT,y=new y,n(d,y),p(d,x),y.style}if(c.match(/^\\[$&%#{}_]/)||c.match(/^\\[,;!\/\\]/))return"tag";if(c.match("\\["))return p(d,function(M,u){return E(M,u,"\\]")}),"keyword";if(c.match("\\("))return p(d,function(M,u){return E(M,u,"\\)")}),"keyword";if(c.match("$$"))return p(d,function(M,u){return E(M,u,"$$")}),"keyword";if(c.match("$"))return p(d,function(M,u){return E(M,u,"$")}),"keyword";var K=c.next();if(K=="%")return c.skipToEnd(),"comment";if(K=="}"||K=="]"){if(y=t(d),y)y.closeBracket(K),p(d,x);else return"error";return"bracket"}else return K=="{"||K=="["?(y=a.DEFAULT,y=new y,n(d,y),"bracket"):/\d/.test(K)?(c.eatWhile(/[\w.%]/),"atom"):(c.eatWhile(/[\w\-_]/),y=i(d),y.name=="begin"&&(y.argument=c.current()),y.styleIdentifier())}function E(c,d,y){if(c.eatSpace())return null;if(y&&c.match(y))return p(d,S),"keyword";if(c.match(/^\\[a-zA-Z@]+/))return"tag";if(c.match(/^[a-zA-Z]+/))return"variableName.special";if(c.match(/^\\[$&%#{}_]/)||c.match(/^\\[,;!\/]/)||c.match(/^[\^_&]/))return"tag";if(c.match(/^[+\-<>|=,\/@!*:;'"`~#?]/))return null;if(c.match(/^(\d+\.\d*|\d*\.\d+|\d+)/))return"number";var O=c.next();return O=="{"||O=="}"||O=="["||O=="]"||O=="("||O==")"?"bracket":O=="%"?(c.skipToEnd(),"comment"):"error"}function x(c,d){var y=c.peek(),O;return y=="{"||y=="["?(O=t(d),O.openBracket(y),c.eat(y),p(d,S),"bracket"):/[ \t\r]/.test(y)?(c.eat(y),null):(p(d,S),r(d),S(c,d))}return{name:"stex",startState:function(){var c=e?function(d,y){return E(d,y)}:S;return{cmdState:[],f:c}},copyState:function(c){return{cmdState:c.cmdState.slice(),f:c.f}},token:function(c,d){return d.f(c,d)},blankLine:function(c){c.f=S,c.cmdState.length=0},languageData:{commentTokens:{line:"%"}}}}var Ia=Yt(!1),cc=Yt(!0);function Ke(e){for(var n={},t=0;t<e.length;t++)n[e[t]]=!0;return n}var Ra=Ke(["_","var","let","actor","class","enum","extension","import","protocol","struct","func","typealias","associatedtype","open","public","internal","fileprivate","private","deinit","init","new","override","self","subscript","super","convenience","dynamic","final","indirect","lazy","required","static","unowned","unowned(safe)","unowned(unsafe)","weak","as","is","break","case","continue","default","else","fallthrough","for","guard","if","in","repeat","switch","where","while","defer","return","inout","mutating","nonmutating","isolated","nonisolated","catch","do","rethrows","throw","throws","async","await","try","didSet","get","set","willSet","assignment","associativity","infix","left","none","operator","postfix","precedence","precedencegroup","prefix","right","Any","AnyObject","Type","dynamicType","Self","Protocol","__COLUMN__","__FILE__","__FUNCTION__","__LINE__"]),Oa=Ke(["var","let","actor","class","enum","extension","import","protocol","struct","func","typealias","associatedtype","for"]),Aa=Ke(["true","false","nil","self","super","_"]),Pa=Ke(["Array","Bool","Character","Dictionary","Double","Float","Int","Int8","Int16","Int32","Int64","Never","Optional","Set","String","UInt8","UInt16","UInt32","UInt64","Void"]),La="+-/*%=|&<>~^?!",Da=":;,.(){}[]",$a=/^\-?0b[01][01_]*/,Na=/^\-?0o[0-7][0-7_]*/,qa=/^\-?0x[\dA-Fa-f][\dA-Fa-f_]*(?:(?:\.[\dA-Fa-f][\dA-Fa-f_]*)?[Pp]\-?\d[\d_]*)?/,Fa=/^\-?\d[\d_]*(?:\.\d[\d_]*)?(?:[Ee]\-?\d[\d_]*)?/,Ma=/^\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1/,Ba=/^\.(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/,ja=/^\#[A-Za-z]+/,Wa=/^@(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/;function er(e,n,t){if(e.sol()&&(n.indented=e.indentation()),e.eatSpace())return null;var r=e.peek();if(r=="/"){if(e.match("//"))return e.skipToEnd(),"comment";if(e.match("/*"))return n.tokenize.push(Cn),Cn(e,n)}if(e.match(ja))return"builtin";if(e.match(Wa))return"attribute";if(e.match($a)||e.match(Na)||e.match(qa)||e.match(Fa))return"number";if(e.match(Ba))return"property";if(La.indexOf(r)>-1)return e.next(),"operator";if(Da.indexOf(r)>-1)return e.next(),e.match(".."),"punctuation";var i;if(i=e.match(/("""|"|')/)){var o=Ka.bind(null,i[0]);return n.tokenize.push(o),o(e,n)}if(e.match(Ma)){var a=e.current();return Pa.hasOwnProperty(a)?"type":Aa.hasOwnProperty(a)?"atom":Ra.hasOwnProperty(a)?(Oa.hasOwnProperty(a)&&(n.prev="define"),"keyword"):t=="define"?"def":"variable"}return e.next(),null}function Ua(){var e=0;return function(n,t,r){var i=er(n,t,r);if(i=="punctuation"){if(n.current()=="(")++e;else if(n.current()==")"){if(e==0)return n.backUp(1),t.tokenize.pop(),t.tokenize[t.tokenize.length-1](n,t);--e}}return i}}function Ka(e,n,t){for(var r=e.length==1,i,o=!1;i=n.peek();)if(o){if(n.next(),i=="(")return t.tokenize.push(Ua()),"string";o=!1}else{if(n.match(e))return t.tokenize.pop(),"string";n.next(),o=i=="\\"}return r&&t.tokenize.pop(),"string"}function Cn(e,n){for(var t;t=e.next();)if(t==="/"&&e.eat("*"))n.tokenize.push(Cn);else if(t==="*"&&e.eat("/")){n.tokenize.pop();break}return"comment"}function Ha(e,n,t){this.prev=e,this.align=n,this.indented=t}function Ga(e,n){var t=n.match(/^\s*($|\/[\/\*]|[)}\]])/,!1)?null:n.column()+1;e.context=new Ha(e.context,t,e.indented)}function Za(e){e.context&&(e.indented=e.context.indented,e.context=e.context.prev)}var Qa={name:"swift",startState:function(){return{prev:null,context:null,indented:0,tokenize:[]}},token:function(e,n){var t=n.prev;n.prev=null;var r=n.tokenize[n.tokenize.length-1]||er,i=r(e,n,t);if(!i||i=="comment"?n.prev=t:n.prev||(n.prev=i),i=="punctuation"){var o=/[\(\[\{]|([\]\)\}])/.exec(e.current());o&&(o[1]?Za:Ga)(n,e)}return i},indent:function(e,n,t){var r=e.context;if(!r)return 0;var i=/^[\]\}\)]/.test(n);return r.align!=null?r.align-(i?1:0):r.indented+(i?0:t.unit)},languageData:{indentOnInput:/^\s*[\)\}\]]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}};var Va={name:"toml",startState:function(){return{inString:!1,stringType:"",lhs:!0,inArray:0}},token:function(e,n){if(!n.inString&&(e.peek()=='"'||e.peek()=="'")&&(n.stringType=e.peek(),e.next(),n.inString=!0),e.sol()&&n.inArray===0&&(n.lhs=!0),n.inString){for(;n.inString&&!e.eol();)e.peek()===n.stringType?(e.next(),n.inString=!1):e.peek()==="\\"?(e.next(),e.next()):e.match(/^.[^\\\"\']*/);return n.lhs?"property":"string"}else{if(n.inArray&&e.peek()==="]")return e.next(),n.inArray--,"bracket";if(n.lhs&&e.peek()==="["&&e.skipTo("]"))return e.next(),e.peek()==="]"&&e.next(),"atom";if(e.peek()==="#")return e.skipToEnd(),"comment";if(e.eatSpace())return null;if(n.lhs&&e.eatWhile(function(t){return t!="="&&t!=" "}))return"property";if(n.lhs&&e.peek()==="=")return e.next(),n.lhs=!1,null;if(!n.lhs&&e.match(/^\d\d\d\d[\d\-\:\.T]*Z/))return"atom";if(!n.lhs&&(e.match("true")||e.match("false")))return"atom";if(!n.lhs&&e.peek()==="[")return n.inArray++,e.next(),"bracket";if(!n.lhs&&e.match(/^\-?\d+(?:\.\d+)?/))return"number";e.eatSpace()||e.next()}return null},languageData:{commentTokens:{line:"#"}}};var He="error";function ce(e){return new RegExp("^(("+e.join(")|(")+"))\\b","i")}var Xa=new RegExp("^[\\+\\-\\*/%&\\\\|\\^~<>!]"),Ja=new RegExp("^[\\(\\)\\[\\]\\{\\}@,:`=;\\.]"),Ya=new RegExp("^((==)|(<>)|(<=)|(>=)|(<>)|(<<)|(>>)|(//)|(\\*\\*))"),el=new RegExp("^((\\+=)|(\\-=)|(\\*=)|(%=)|(/=)|(&=)|(\\|=)|(\\^=))"),nl=new RegExp("^((//=)|(>>=)|(<<=)|(\\*\\*=))"),tl=new RegExp("^[_A-Za-z][_A-Za-z0-9]*"),nr=["class","module","sub","enum","select","while","if","function","get","set","property","try","structure","synclock","using","with"],tr=["else","elseif","case","catch","finally"],rr=["next","loop"],ir=["and","andalso","or","orelse","xor","in","not","is","isnot","like"],rl=ce(ir),or=["#const","#else","#elseif","#end","#if","#region","addhandler","addressof","alias","as","byref","byval","cbool","cbyte","cchar","cdate","cdbl","cdec","cint","clng","cobj","compare","const","continue","csbyte","cshort","csng","cstr","cuint","culng","cushort","declare","default","delegate","dim","directcast","each","erase","error","event","exit","explicit","false","for","friend","gettype","goto","handles","implements","imports","infer","inherits","interface","isfalse","istrue","lib","me","mod","mustinherit","mustoverride","my","mybase","myclass","namespace","narrowing","new","nothing","notinheritable","notoverridable","of","off","on","operator","option","optional","out","overloads","overridable","overrides","paramarray","partial","private","protected","public","raiseevent","readonly","redim","removehandler","resume","return","shadows","shared","static","step","stop","strict","then","throw","to","true","trycast","typeof","until","until","when","widening","withevents","writeonly"],ar=["object","boolean","char","string","byte","sbyte","short","ushort","int16","uint16","integer","uinteger","int32","uint32","long","ulong","int64","uint64","decimal","single","double","float","date","datetime","intptr","uintptr"],il=ce(or),ol=ce(ar),al='"',ll=ce(nr),lr=ce(tr),cr=ce(rr),sr=ce(["end"]),cl=ce(["do"]),sl=null;function In(e,n){n.currentIndent++}function Ce(e,n){n.currentIndent--}function Rn(e,n){if(e.eatSpace())return null;var t=e.peek();if(t==="'")return e.skipToEnd(),"comment";if(e.match(/^((&H)|(&O))?[0-9\.a-f]/i,!1)){var r=!1;if((e.match(/^\d*\.\d+F?/i)||e.match(/^\d+\.\d*F?/)||e.match(/^\.\d+F?/))&&(r=!0),r)return e.eat(/J/i),"number";var i=!1;if(e.match(/^&H[0-9a-f]+/i)||e.match(/^&O[0-7]+/i)?i=!0:e.match(/^[1-9]\d*F?/)?(e.eat(/J/i),i=!0):e.match(/^0(?![\dx])/i)&&(i=!0),i)return e.eat(/L/i),"number"}return e.match(al)?(n.tokenize=ul(e.current()),n.tokenize(e,n)):e.match(nl)||e.match(el)?null:e.match(Ya)||e.match(Xa)||e.match(rl)?"operator":e.match(Ja)?null:e.match(cl)?(In(e,n),n.doInCurrentLine=!0,"keyword"):e.match(ll)?(n.doInCurrentLine?n.doInCurrentLine=!1:In(e,n),"keyword"):e.match(lr)?"keyword":e.match(sr)?(Ce(e,n),Ce(e,n),"keyword"):e.match(cr)?(Ce(e,n),"keyword"):e.match(ol)||e.match(il)?"keyword":e.match(tl)?"variable":(e.next(),He)}function ul(e){var n=e.length==1,t="string";return function(r,i){for(;!r.eol();){if(r.eatWhile(/[^'"]/),r.match(e))return i.tokenize=Rn,t;r.eat(/['"]/)}return n&&(i.tokenize=Rn),t}}function dl(e,n){var t=n.tokenize(e,n),r=e.current();if(r===".")return t=n.tokenize(e,n),t==="variable"?"variable":He;var i="[({".indexOf(r);return i!==-1&&In(e,n),sl==="dedent"&&Ce(e,n)||(i="])}".indexOf(r),i!==-1&&Ce(e,n))?He:t}var fl={name:"vb",startState:function(){return{tokenize:Rn,lastToken:null,currentIndent:0,nextLineIndent:0,doInCurrentLine:!1}},token:function(e,n){e.sol()&&(n.currentIndent+=n.nextLineIndent,n.nextLineIndent=0,n.doInCurrentLine=0);var t=dl(e,n);return n.lastToken={style:t,content:e.current()},t},indent:function(e,n,t){var r=n.replace(/^\s+|\s+$/g,"");return r.match(cr)||r.match(sr)||r.match(lr)?t.unit*(e.currentIndent-1):e.currentIndent<0?0:e.currentIndent*t.unit},languageData:{closeBrackets:{brackets:["(","[","{",'"']},commentTokens:{line:"'"},autocomplete:nr.concat(tr).concat(rr).concat(ir).concat(or).concat(ar)}};function ur(e){var n="error";function t(g){return new RegExp("^(("+g.join(")|(")+"))\\b","i")}var r=new RegExp("^[\\+\\-\\*/&\\\\\\^<>=]"),i=new RegExp("^((<>)|(<=)|(>=))"),o=new RegExp("^[\\.,]"),a=new RegExp("^[\\(\\)]"),p=new RegExp("^[A-Za-z][_A-Za-z0-9]*"),S=["class","sub","select","while","if","function","property","with","for"],E=["else","elseif","case"],x=["next","loop","wend"],c=t(["and","or","not","xor","is","mod","eqv","imp"]),d=["dim","redim","then","until","randomize","byval","byref","new","property","exit","in","const","private","public","get","set","let","stop","on error resume next","on error goto 0","option explicit","call","me"],y=["true","false","nothing","empty","null"],O=["abs","array","asc","atn","cbool","cbyte","ccur","cdate","cdbl","chr","cint","clng","cos","csng","cstr","date","dateadd","datediff","datepart","dateserial","datevalue","day","escape","eval","execute","exp","filter","formatcurrency","formatdatetime","formatnumber","formatpercent","getlocale","getobject","getref","hex","hour","inputbox","instr","instrrev","int","fix","isarray","isdate","isempty","isnull","isnumeric","isobject","join","lbound","lcase","left","len","loadpicture","log","ltrim","rtrim","trim","maths","mid","minute","month","monthname","msgbox","now","oct","replace","rgb","right","rnd","round","scriptengine","scriptenginebuildversion","scriptenginemajorversion","scriptengineminorversion","second","setlocale","sgn","sin","space","split","sqr","strcomp","string","strreverse","tan","time","timer","timeserial","timevalue","typename","ubound","ucase","unescape","vartype","weekday","weekdayname","year"],K=["vbBlack","vbRed","vbGreen","vbYellow","vbBlue","vbMagenta","vbCyan","vbWhite","vbBinaryCompare","vbTextCompare","vbSunday","vbMonday","vbTuesday","vbWednesday","vbThursday","vbFriday","vbSaturday","vbUseSystemDayOfWeek","vbFirstJan1","vbFirstFourDays","vbFirstFullWeek","vbGeneralDate","vbLongDate","vbShortDate","vbLongTime","vbShortTime","vbObjectError","vbOKOnly","vbOKCancel","vbAbortRetryIgnore","vbYesNoCancel","vbYesNo","vbRetryCancel","vbCritical","vbQuestion","vbExclamation","vbInformation","vbDefaultButton1","vbDefaultButton2","vbDefaultButton3","vbDefaultButton4","vbApplicationModal","vbSystemModal","vbOK","vbCancel","vbAbort","vbRetry","vbIgnore","vbYes","vbNo","vbCr","VbCrLf","vbFormFeed","vbLf","vbNewLine","vbNullChar","vbNullString","vbTab","vbVerticalTab","vbUseDefault","vbTrue","vbFalse","vbEmpty","vbNull","vbInteger","vbLong","vbSingle","vbDouble","vbCurrency","vbDate","vbString","vbObject","vbError","vbBoolean","vbVariant","vbDataObject","vbDecimal","vbByte","vbArray"],M=["WScript","err","debug","RegExp"],u=["description","firstindex","global","helpcontext","helpfile","ignorecase","length","number","pattern","source","value","count"],T=["clear","execute","raise","replace","test","write","writeline","close","open","state","eof","update","addnew","end","createobject","quit"],w=["server","response","request","session","application"],C=["buffer","cachecontrol","charset","contenttype","expires","expiresabsolute","isclientconnected","pics","status","clientcertificate","cookies","form","querystring","servervariables","totalbytes","contents","staticobjects","codepage","lcid","sessionid","timeout","scripttimeout"],l=["addheader","appendtolog","binarywrite","end","flush","redirect","binaryread","remove","removeall","lock","unlock","abandon","getlasterror","htmlencode","mappath","transfer","urlencode"],s=T.concat(u);M=M.concat(K),e.isASP&&(M=M.concat(w),s=s.concat(l,C));var I=t(d),k=t(y),L=t(O),m=t(M),f=t(s),z='"',v=t(S),D=t(E),J=t(x),ye=t(["end"]),Qe=t(["do"]),fr=t(["on error resume next","exit"]),pr=t(["rem"]);function Ln(g,R){R.currentIndent++}function Ve(g,R){R.currentIndent--}function Xe(g,R){if(g.eatSpace())return null;var $=g.peek();if($==="'"||g.match(pr))return g.skipToEnd(),"comment";if(g.match(/^((&H)|(&O))?[0-9\.]/i,!1)&&!g.match(/^((&H)|(&O))?[0-9\.]+[a-z_]/i,!1)){var W=!1;if((g.match(/^\d*\.\d+/i)||g.match(/^\d+\.\d*/)||g.match(/^\.\d+/))&&(W=!0),W)return g.eat(/J/i),"number";var re=!1;if(g.match(/^&H[0-9a-f]+/i)||g.match(/^&O[0-7]+/i)?re=!0:g.match(/^[1-9]\d*F?/)?(g.eat(/J/i),re=!0):g.match(/^0(?![\dx])/i)&&(re=!0),re)return g.eat(/L/i),"number"}return g.match(z)?(R.tokenize=mr(g.current()),R.tokenize(g,R)):g.match(i)||g.match(r)||g.match(c)?"operator":g.match(o)?null:g.match(a)?"bracket":g.match(fr)?(R.doInCurrentLine=!0,"keyword"):g.match(Qe)?(Ln(g,R),R.doInCurrentLine=!0,"keyword"):g.match(v)?(R.doInCurrentLine?R.doInCurrentLine=!1:Ln(g,R),"keyword"):g.match(D)?"keyword":g.match(ye)?(Ve(g,R),Ve(g,R),"keyword"):g.match(J)?(R.doInCurrentLine?R.doInCurrentLine=!1:Ve(g,R),"keyword"):g.match(I)?"keyword":g.match(k)?"atom":g.match(f)?"variableName.special":g.match(L)||g.match(m)?"builtin":g.match(p)?"variable":(g.next(),n)}function mr(g){var R=g.length==1,$="string";return function(W,re){for(;!W.eol();){if(W.eatWhile(/[^'"]/),W.match(g))return re.tokenize=Xe,$;W.eat(/['"]/)}return R&&(re.tokenize=Xe),$}}function hr(g,R){var $=R.tokenize(g,R),W=g.current();return W==="."?($=R.tokenize(g,R),W=g.current(),$&&($.substr(0,8)==="variable"||$==="builtin"||$==="keyword")?(($==="builtin"||$==="keyword")&&($="variable"),s.indexOf(W.substr(1))>-1&&($="keyword"),$):n):$}return{name:"vbscript",startState:function(){return{tokenize:Xe,lastToken:null,currentIndent:0,nextLineIndent:0,doInCurrentLine:!1,ignoreKeyword:!1}},token:function(g,R){g.sol()&&(R.currentIndent+=R.nextLineIndent,R.nextLineIndent=0,R.doInCurrentLine=0);var $=hr(g,R);return R.lastToken={style:$,content:g.current()},$===null&&($=null),$},indent:function(g,R,$){var W=R.replace(/^\s+|\s+$/g,"");return W.match(J)||W.match(ye)||W.match(D)?$.unit*(g.currentIndent-1):g.currentIndent<0?0:g.currentIndent*$.unit}}}var pl=ur({}),pc=ur({isASP:!0});var ml=["true","false","on","off","yes","no"],hl=new RegExp("\\b(("+ml.join(")|(")+"))$","i"),gl={name:"yaml",token:function(e,n){var t=e.peek(),r=n.escaped;if(n.escaped=!1,t=="#"&&(e.pos==0||/\s/.test(e.string.charAt(e.pos-1))))return e.skipToEnd(),"comment";if(e.match(/^('([^']|\\.)*'?|"([^"]|\\.)*"?)/))return"string";if(n.literal&&e.indentation()>n.keyCol)return e.skipToEnd(),"string";if(n.literal&&(n.literal=!1),e.sol()){if(n.keyCol=0,n.pair=!1,n.pairStart=!1,e.match("---")||e.match("..."))return"def";if(e.match(/^\s*-\s+/))return"meta"}if(e.match(/^(\{|\}|\[|\])/))return t=="{"?n.inlinePairs++:t=="}"?n.inlinePairs--:t=="["?n.inlineList++:n.inlineList--,"meta";if(n.inlineList>0&&!r&&t==",")return e.next(),"meta";if(n.inlinePairs>0&&!r&&t==",")return n.keyCol=0,n.pair=!1,n.pairStart=!1,e.next(),"meta";if(n.pairStart){if(e.match(/^\s*(\||\>)\s*/))return n.literal=!0,"meta";if(e.match(/^\s*(\&|\*)[a-z0-9\._-]+\b/i))return"variable";if(n.inlinePairs==0&&e.match(/^\s*-?[0-9\.\,]+\s?$/)||n.inlinePairs>0&&e.match(/^\s*-?[0-9\.\,]+\s?(?=(,|}))/))return"number";if(e.match(hl))return"keyword"}return!n.pair&&e.match(/^\s*(?:[,\[\]{}&*!|>'"%@`][^\s'":]|[^,\[\]{}#&*!|>'"%@`])[^#]*?(?=\s*:($|\s))/)?(n.pair=!0,n.keyCol=e.indentation(),"atom"):n.pair&&e.match(/^:\s*/)?(n.pairStart=!0,"meta"):(n.pairStart=!1,n.escaped=t=="\\",e.next(),null)},startState:function(){return{pair:!1,pairStart:!1,keyCol:0,inlinePairs:0,inlineList:0,literal:!1,escaped:!1}},languageData:{commentTokens:{line:"#"}}};var Pn="}",Ie="{",On={token:e=>e.skipToEnd()},An=["debug","extends","function","include","literal"],Y={operatorChars:/[+\-*&%=<>!?]/,validIdentifier:/[a-zA-Z0-9_]/,stringChar:/['"]/},Ze;function U(e,n){return Ze=n,e}function bl(e,n,t){return n.tokenize=t,t(e,n)}function yl(e,n){return!1}function Ge(e,n){let t=e.string,r;for(let o=e.pos;r=t.indexOf(Ie,o),o=r+Ie.length,!(r===-1||!yl()););if(r===e.pos)return e.match(Ie),e.eat("*")?bl(e,n,kl("comment","*"+Pn)):(n.depth++,n.tokenize=dr,Ze="startTag","tag");r>-1&&(e.string=t.slice(0,r));let i=On.token(e,n.base);return r>-1&&(e.string=t),i}function dr(e,n){if(e.match(Pn,!0))return n.tokenize=Ge,U("tag",null);if(e.match(Ie,!0))return n.depth++,U("tag","startTag");let t=e.next();if(t==="$")return e.eatWhile(Y.validIdentifier),U("variable-2","variable");if(t==="|")return U("operator","pipe");if(t===".")return U("operator","property");if(Y.stringChar.test(t))return n.tokenize=vl(t),U("string","string");if(Y.operatorChars.test(t))return e.eatWhile(Y.operatorChars),U("operator","operator");if(t==="["||t==="]")return U("bracket","bracket");if(t==="("||t===")")return U("bracket","operator");if(/\d/.test(t))return e.eatWhile(/\d/),U("number","number");{if(n.last==="variable"){if(t==="@")return e.eatWhile(Y.validIdentifier),U("property","property");if(t==="|")return e.eatWhile(Y.validIdentifier),U("qualifier","modifier")}else{if(n.last==="pipe")return e.eatWhile(Y.validIdentifier),U("qualifier","modifier");if(n.last==="whitespace")return e.eatWhile(Y.validIdentifier),U("attribute","modifier")}if(n.last==="property")return e.eatWhile(Y.validIdentifier),U("property",null);if(/\s/.test(t))return Ze="whitespace",null;let r="";t!=="/"&&(r+=t);let i=null;for(;i=e.eat(Y.validIdentifier);)r+=i;for(let o=0,a=An.length;o<a;o++)if(An[o]===r)return U("keyword","keyword");return/\s/.test(t)?null:U("tag","tag")}}function vl(e){return function(n,t){let r=null,i=null;for(;!n.eol();){if(i=n.peek(),n.next()===e&&r!=="\\"){t.tokenize=dr;break}r=i}return"string"}}function kl(e,n){return function(t,r){for(;!t.eol();){if(t.match(n)){r.tokenize=Ge;break}t.next()}return e}}function _l(e,n){if(n===!0)return n;if(e.copyState)return e.copyState(n);let t={};for(let r in n){let i=n[r];i instanceof Array&&(i=i.concat([])),t[r]=i}return t}var xl={startState:function(){return{base:!0,tokenize:Ge,last:null,depth:0}},copyState:function(e){return{base:_l(On,e.base),tokenize:e.tokenize,last:e.last,depth:e.depth}},innerMode:function(e){if(e.tokenize===Ge)return{mode:On,state:e.base}},token:function(e,n){let t=n.tokenize(e,n);return n.last=Ze,t},indent:function(e,n,t){return null},languageData:{commentTokens:{block:{open:Ie+"*",close:"*"+Pn}},autocomplete:An}};export{yr as c,Br as clojure,vr as cpp,_r as csharp,Ir as dart,jr as diff,Bi as fSharp,Qr as fortran,Yr as go,ai as haskell,kr as java,Oi as julia,Sr as kotlin,Fi as lua,Sa as msSQL,za as mySQL,Gi as nginx,Mi as oCaml,io as octave,fo as pascal,oo as perl,Ca as pgSQL,Ta as plSQL,Co as powerShell,Io as properties,Ao as python,Fo as r,Zo as ruby,ea as rust,ia as sas,xr as scala,ba as scheme,_a as shell,xl as smarty,ji as sml,Ea as sqlite,wa as standardSQL,Ia as stex,Qa as swift,Va as toml,fl as vb,pl as vbScript,gl as yaml}; +function en(e,n,t,r,i,o){this.indented=e,this.column=n,this.type=t,this.info=r,this.align=i,this.prev=o}function Re(e,n,t,r){var i=e.indented;return e.context&&e.context.type=="statement"&&t!="statement"&&(i=e.context.indented),e.context=new en(i,n,t,r,null,e.context)}function ve(e){var n=e.context.type;return(n==")"||n=="]"||n=="}")&&(e.indented=e.context.indented),e.context=e.context.prev}function Dn(e,n,t){if(n.prevToken=="variable"||n.prevToken=="type"||/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(e.string.slice(0,t))||n.typeAtEndOfLine&&e.column()==e.indentation())return!0}function Je(e){for(;;){if(!e||e.type=="top")return!0;if(e.type=="}"&&e.prev.info!="namespace")return!1;e=e.prev}}function H(e){var n=e.statementIndentUnit,t=e.dontAlignCalls,r=e.keywords||{},i=e.types||{},o=e.builtin||{},a=e.blockKeywords||{},p=e.defKeywords||{},S=e.atoms||{},E=e.hooks||{},x=e.multiLineStrings,c=e.indentStatements!==!1,d=e.indentSwitch!==!1,y=e.namespaceSeparator,O=e.isPunctuationChar||/[\[\]{}\(\),;\:\.]/,K=e.numberStart||/[\d\.]/,M=e.number||/^(?:0x[a-f\d]+|0b[01]+|(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?)(u|ll?|l|f)?/i,u=e.isOperatorChar||/[+\-*&%=<>!?|\/]/,T=e.isIdentifierChar||/[\w\$_\xa1-\uffff]/,w=e.isReservedIdentifier||!1,C,l;function s(m,f){var z=m.next();if(E[z]){var v=E[z](m,f);if(v!==!1)return v}if(z=='"'||z=="'")return f.tokenize=I(z),f.tokenize(m,f);if(K.test(z)){if(m.backUp(1),m.match(M))return"number";m.next()}if(O.test(z))return C=z,null;if(z=="/"){if(m.eat("*"))return f.tokenize=k,k(m,f);if(m.eat("/"))return m.skipToEnd(),"comment"}if(u.test(z)){for(;!m.match(/^\/[\/*]/,!1)&&m.eat(u););return"operator"}if(m.eatWhile(T),y)for(;m.match(y);)m.eatWhile(T);var D=m.current();return ee(r,D)?(ee(a,D)&&(C="newstatement"),ee(p,D)&&(l=!0),"keyword"):ee(i,D)?"type":ee(o,D)||w&&w(D)?(ee(a,D)&&(C="newstatement"),"builtin"):ee(S,D)?"atom":"variable"}function I(m){return function(f,z){for(var v=!1,D,J=!1;(D=f.next())!=null;){if(D==m&&!v){J=!0;break}v=!v&&D=="\\"}return(J||!(v||x))&&(z.tokenize=null),"string"}}function k(m,f){for(var z=!1,v;v=m.next();){if(v=="/"&&z){f.tokenize=null;break}z=v=="*"}return"comment"}function L(m,f){e.typeFirstDefinitions&&m.eol()&&Je(f.context)&&(f.typeAtEndOfLine=Dn(m,f,m.pos))}return{name:e.name,startState:function(m){return{tokenize:null,context:new en(-m,0,"top",null,!1),indented:0,startOfLine:!0,prevToken:null}},token:function(m,f){var z=f.context;if(m.sol()&&(z.align==null&&(z.align=!1),f.indented=m.indentation(),f.startOfLine=!0),m.eatSpace())return L(m,f),null;C=l=null;var v=(f.tokenize||s)(m,f);if(v=="comment"||v=="meta")return v;if(z.align==null&&(z.align=!0),C==";"||C==":"||C==","&&m.match(/^\s*(?:\/\/.*)?$/,!1))for(;f.context.type=="statement";)ve(f);else if(C=="{")Re(f,m.column(),"}");else if(C=="[")Re(f,m.column(),"]");else if(C=="(")Re(f,m.column(),")");else if(C=="}"){for(;z.type=="statement";)z=ve(f);for(z.type=="}"&&(z=ve(f));z.type=="statement";)z=ve(f)}else C==z.type?ve(f):c&&((z.type=="}"||z.type=="top")&&C!=";"||z.type=="statement"&&C=="newstatement")&&Re(f,m.column(),"statement",m.current());if(v=="variable"&&(f.prevToken=="def"||e.typeFirstDefinitions&&Dn(m,f,m.start)&&Je(f.context)&&m.match(/^\s*\(/,!1))&&(v="def"),E.token){var D=E.token(m,f,v);D!==void 0&&(v=D)}return v=="def"&&e.styleDefs===!1&&(v="variable"),f.startOfLine=!1,f.prevToken=l?"def":v||C,L(m,f),v},indent:function(m,f,z){if(m.tokenize!=s&&m.tokenize!=null||m.typeAtEndOfLine&&Je(m.context))return null;var v=m.context,D=f&&f.charAt(0),J=D==v.type;if(v.type=="statement"&&D=="}"&&(v=v.prev),e.dontIndentStatements)for(;v.type=="statement"&&e.dontIndentStatements.test(v.info);)v=v.prev;if(E.indent){var ye=E.indent(m,v,f,z.unit);if(typeof ye=="number")return ye}var Qe=v.prev&&v.prev.info=="switch";if(e.allmanIndentation&&/[{(]/.test(D)){for(;v.type!="top"&&v.type!="}";)v=v.prev;return v.indented}return v.type=="statement"?v.indented+(D=="{"?0:n||z.unit):v.align&&(!t||v.type!=")")?v.column+(J?0:1):v.type==")"&&!J?v.indented+(n||z.unit):v.indented+(J?0:z.unit)+(!J&&Qe&&!/^(?:case|default)\b/.test(f)?z.unit:0)},languageData:{indentOnInput:d?/^\s*(?:case .*?:|default:|\{\}?|\})$/:/^\s*[{}]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}},autocomplete:Object.keys(r).concat(Object.keys(i)).concat(Object.keys(o)).concat(Object.keys(S)),...e.languageData}}}function b(e){for(var n={},t=e.split(" "),r=0;r<t.length;++r)n[t[r]]=!0;return n}function ee(e,n){return typeof e=="function"?e(n):e.propertyIsEnumerable(n)}var _e="auto if break case register continue return default do sizeof static else struct switch extern typedef union for goto while enum const volatile inline restrict asm fortran",qn="alignas alignof and and_eq audit axiom bitand bitor catch class compl concept constexpr const_cast decltype delete dynamic_cast explicit export final friend import module mutable namespace new noexcept not not_eq operator or or_eq override private protected public reinterpret_cast requires static_assert static_cast template this thread_local throw try typeid typename using virtual xor xor_eq",Fn="bycopy byref in inout oneway out self super atomic nonatomic retain copy readwrite readonly strong weak assign typeof nullable nonnull null_resettable _cmd @interface @implementation @end @protocol @encode @property @synthesize @dynamic @class @public @package @private @protected @required @optional @try @catch @finally @import @selector @encode @defs @synchronized @autoreleasepool @compatibility_alias @available",Mn="FOUNDATION_EXPORT FOUNDATION_EXTERN NS_INLINE NS_FORMAT_FUNCTION NS_RETURNS_RETAINEDNS_ERROR_ENUM NS_RETURNS_NOT_RETAINED NS_RETURNS_INNER_POINTER NS_DESIGNATED_INITIALIZER NS_ENUM NS_OPTIONS NS_REQUIRES_NIL_TERMINATION NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_SWIFT_NAME NS_REFINED_FOR_SWIFT",gr=b("int long char short double float unsigned signed void bool"),br=b("SEL instancetype id Class Protocol BOOL");function xe(e){return ee(gr,e)||/.+_t$/.test(e)}function Bn(e){return xe(e)||ee(br,e)}var we="case do else for if switch while struct enum union",Ae="struct enum union";function oe(e,n){if(!n.startOfLine)return!1;for(var t,r=null;t=e.peek();){if(t=="\\"&&e.match(/^.$/)){r=oe;break}else if(t=="/"&&e.match(/^\/[\/\*]/,!1))break;e.next()}return n.tokenize=r,"meta"}function Pe(e,n){return n.prevToken=="type"?"type":!1}function Le(e){return!e||e.length<2||e[0]!="_"?!1:e[1]=="_"||e[1]!==e[1].toLowerCase()}function F(e){return e.eatWhile(/[\w\.']/),"number"}function ie(e,n){if(e.backUp(1),e.match(/^(?:R|u8R|uR|UR|LR)/)){var t=e.match(/^"([^\s\\()]{0,16})\(/);return t?(n.cpp11RawStringDelim=t[1],n.tokenize=Nn,Nn(e,n)):!1}return e.match(/^(?:u8|u|U|L)/)?e.match(/^["']/,!1)?"string":!1:(e.next(),!1)}function jn(e){var n=/(\w+)::~?(\w+)$/.exec(e);return n&&n[1]==n[2]}function $n(e,n){for(var t;(t=e.next())!=null;)if(t=='"'&&!e.eat('"')){n.tokenize=null;break}return"string"}function Nn(e,n){var t=n.cpp11RawStringDelim.replace(/[^\w\s]/g,"\\$&"),r=e.match(new RegExp(".*?\\)"+t+'"'));return r?n.tokenize=null:e.skipToEnd(),"string"}var yr=H({name:"c",keywords:b(_e),types:xe,blockKeywords:b(we),defKeywords:b(Ae),typeFirstDefinitions:!0,atoms:b("NULL true false"),isReservedIdentifier:Le,hooks:{"#":oe,"*":Pe}}),vr=H({name:"cpp",keywords:b(_e+" "+qn),types:xe,blockKeywords:b(we+" class try catch"),defKeywords:b(Ae+" class namespace"),typeFirstDefinitions:!0,atoms:b("true false NULL nullptr"),dontIndentStatements:/^template$/,isIdentifierChar:/[\w\$_~\xa1-\uffff]/,isReservedIdentifier:Le,hooks:{"#":oe,"*":Pe,u:ie,U:ie,L:ie,R:ie,0:F,1:F,2:F,3:F,4:F,5:F,6:F,7:F,8:F,9:F,token:function(e,n,t){if(t=="variable"&&e.peek()=="("&&(n.prevToken==";"||n.prevToken==null||n.prevToken=="}")&&jn(e.current()))return"def"}},namespaceSeparator:"::"}),kr=H({name:"java",keywords:b("abstract assert break case catch class const continue default do else enum extends final finally for goto if implements import instanceof interface native new package private protected public return static strictfp super switch synchronized this throw throws transient try volatile while @interface"),types:b("var byte short int long float double boolean char void Boolean Byte Character Double Float Integer Long Number Object Short String StringBuffer StringBuilder Void"),blockKeywords:b("catch class do else finally for if switch try while"),defKeywords:b("class interface enum @interface"),typeFirstDefinitions:!0,atoms:b("true false null"),number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+\.?\d*|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i,hooks:{"@":function(e){return e.match("interface",!1)?!1:(e.eatWhile(/[\w\$_]/),"meta")},'"':function(e,n){return e.match(/""$/)?(n.tokenize=Wn,n.tokenize(e,n)):!1}}}),_r=H({name:"csharp",keywords:b("abstract as async await base break case catch checked class const continue default delegate do else enum event explicit extern finally fixed for foreach goto if implicit in init interface internal is lock namespace new operator out override params private protected public readonly record ref required return sealed sizeof stackalloc static struct switch this throw try typeof unchecked unsafe using virtual void volatile while add alias ascending descending dynamic from get global group into join let orderby partial remove select set value var yield"),types:b("Action Boolean Byte Char DateTime DateTimeOffset Decimal Double Func Guid Int16 Int32 Int64 Object SByte Single String Task TimeSpan UInt16 UInt32 UInt64 bool byte char decimal double short int long object sbyte float string ushort uint ulong"),blockKeywords:b("catch class do else finally for foreach if struct switch try while"),defKeywords:b("class interface namespace record struct var"),typeFirstDefinitions:!0,atoms:b("true false null"),hooks:{"@":function(e,n){return e.eat('"')?(n.tokenize=$n,$n(e,n)):(e.eatWhile(/[\w\$_]/),"meta")}}});function Wn(e,n){for(var t=!1;!e.eol();){if(!t&&e.match('"""')){n.tokenize=null;break}t=e.next()=="\\"&&!t}return"string"}function ke(e){return function(n,t){for(var r;r=n.next();)if(r=="*"&&n.eat("/"))if(e==1){t.tokenize=null;break}else return t.tokenize=ke(e-1),t.tokenize(n,t);else if(r=="/"&&n.eat("*"))return t.tokenize=ke(e+1),t.tokenize(n,t);return"comment"}}var xr=H({name:"scala",keywords:b("abstract case catch class def do else extends final finally for forSome if implicit import lazy match new null object override package private protected return sealed super this throw trait try type val var while with yield _ assert assume require print println printf readLine readBoolean readByte readShort readChar readInt readLong readFloat readDouble"),types:b("AnyVal App Application Array BufferedIterator BigDecimal BigInt Char Console Either Enumeration Equiv Error Exception Fractional Function IndexedSeq Int Integral Iterable Iterator List Map Numeric Nil NotNull Option Ordered Ordering PartialFunction PartialOrdering Product Proxy Range Responder Seq Serializable Set Specializable Stream StringBuilder StringContext Symbol Throwable Traversable TraversableOnce Tuple Unit Vector Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void"),multiLineStrings:!0,blockKeywords:b("catch class enum do else finally for forSome if match switch try while"),defKeywords:b("class enum def object package trait type val var"),atoms:b("true false null"),indentStatements:!1,indentSwitch:!1,isOperatorChar:/[+\-*&%=<>!?|\/#:@]/,hooks:{"@":function(e){return e.eatWhile(/[\w\$_]/),"meta"},'"':function(e,n){return e.match('""')?(n.tokenize=Wn,n.tokenize(e,n)):!1},"'":function(e){return e.match(/^(\\[^'\s]+|[^\\'])'/)?"character":(e.eatWhile(/[\w\$_\xa1-\uffff]/),"atom")},"=":function(e,n){var t=n.context;return t.type=="}"&&t.align&&e.eat(">")?(n.context=new en(t.indented,t.column,t.type,t.info,null,t.prev),"operator"):!1},"/":function(e,n){return e.eat("*")?(n.tokenize=ke(1),n.tokenize(e,n)):!1}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}});function wr(e){return function(n,t){for(var r=!1,i,o=!1;!n.eol();){if(!e&&!r&&n.match('"')){o=!0;break}if(e&&n.match('"""')){o=!0;break}i=n.next(),!r&&i=="$"&&n.match("{")&&n.skipTo("}"),r=!r&&i=="\\"&&!e}return(o||!e)&&(t.tokenize=null),"string"}}var Sr=H({name:"kotlin",keywords:b("package as typealias class interface this super val operator var fun for is in This throw return annotation break continue object if else while do try when !in !is as? file import where by get set abstract enum open inner override private public internal protected catch finally out final vararg reified dynamic companion constructor init sealed field property receiver param sparam lateinit data inline noinline tailrec external annotation crossinline const operator infix suspend actual expect setparam"),types:b("Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void Annotation Any BooleanArray ByteArray Char CharArray DeprecationLevel DoubleArray Enum FloatArray Function Int IntArray Lazy LazyThreadSafetyMode LongArray Nothing ShortArray Unit"),intendSwitch:!1,indentStatements:!1,multiLineStrings:!0,number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+(\.\d+)?|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i,blockKeywords:b("catch class do else finally for if where try while enum"),defKeywords:b("class val var object interface fun"),atoms:b("true false null this"),hooks:{"@":function(e){return e.eatWhile(/[\w\$_]/),"meta"},"*":function(e,n){return n.prevToken=="."?"variable":"operator"},'"':function(e,n){return n.tokenize=wr(e.match('""')),n.tokenize(e,n)},"/":function(e,n){return e.eat("*")?(n.tokenize=ke(1),n.tokenize(e,n)):!1},indent:function(e,n,t,r){var i=t&&t.charAt(0);if((e.prevToken=="}"||e.prevToken==")")&&t=="")return e.indented;if(e.prevToken=="operator"&&t!="}"&&e.context.type!="}"||e.prevToken=="variable"&&i=="."||(e.prevToken=="}"||e.prevToken==")")&&i==".")return r*2+n.indented;if(n.align&&n.type=="}")return n.indented+(e.context.type==(t||"").charAt(0)?0:r)}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}}),wl=H({name:"shader",keywords:b("sampler1D sampler2D sampler3D samplerCube sampler1DShadow sampler2DShadow const attribute uniform varying break continue discard return for while do if else struct in out inout"),types:b("float int bool void vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 mat2 mat3 mat4"),blockKeywords:b("for while do if else struct"),builtin:b("radians degrees sin cos tan asin acos atan pow exp log exp2 sqrt inversesqrt abs sign floor ceil fract mod min max clamp mix step smoothstep length distance dot cross normalize ftransform faceforward reflect refract matrixCompMult lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual any all not texture1D texture1DProj texture1DLod texture1DProjLod texture2D texture2DProj texture2DLod texture2DProjLod texture3D texture3DProj texture3DLod texture3DProjLod textureCube textureCubeLod shadow1D shadow2D shadow1DProj shadow2DProj shadow1DLod shadow2DLod shadow1DProjLod shadow2DProjLod dFdx dFdy fwidth noise1 noise2 noise3 noise4"),atoms:b("true false gl_FragColor gl_SecondaryColor gl_Normal gl_Vertex gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_FogCoord gl_PointCoord gl_Position gl_PointSize gl_ClipVertex gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor gl_TexCoord gl_FogFragCoord gl_FragCoord gl_FrontFacing gl_FragData gl_FragDepth gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix gl_TextureMatrix gl_NormalMatrix gl_ModelViewMatrixInverse gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse gl_TextureMatrixTranspose gl_ModelViewMatrixInverseTranspose gl_ProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixInverseTranspose gl_TextureMatrixInverseTranspose gl_NormalScale gl_DepthRange gl_ClipPlane gl_Point gl_FrontMaterial gl_BackMaterial gl_LightSource gl_LightModel gl_FrontLightModelProduct gl_BackLightModelProduct gl_TextureColor gl_EyePlaneS gl_EyePlaneT gl_EyePlaneR gl_EyePlaneQ gl_FogParameters gl_MaxLights gl_MaxClipPlanes gl_MaxTextureUnits gl_MaxTextureCoords gl_MaxVertexAttribs gl_MaxVertexUniformComponents gl_MaxVaryingFloats gl_MaxVertexTextureImageUnits gl_MaxTextureImageUnits gl_MaxFragmentUniformComponents gl_MaxCombineTextureImageUnits gl_MaxDrawBuffers"),indentSwitch:!1,hooks:{"#":oe}}),Sl=H({name:"nesc",keywords:b(_e+" as atomic async call command component components configuration event generic implementation includes interface module new norace nx_struct nx_union post provides signal task uses abstract extends"),types:xe,blockKeywords:b(we),atoms:b("null true false"),hooks:{"#":oe}}),zl=H({name:"objectivec",keywords:b(_e+" "+Fn),types:Bn,builtin:b(Mn),blockKeywords:b(we+" @synthesize @try @catch @finally @autoreleasepool @synchronized"),defKeywords:b(Ae+" @interface @implementation @protocol @class"),dontIndentStatements:/^@.*$/,typeFirstDefinitions:!0,atoms:b("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:Le,hooks:{"#":oe,"*":Pe}}),El=H({name:"objectivecpp",keywords:b(_e+" "+Fn+" "+qn),types:Bn,builtin:b(Mn),blockKeywords:b(we+" @synthesize @try @catch @finally @autoreleasepool @synchronized class try catch"),defKeywords:b(Ae+" @interface @implementation @protocol @class class namespace"),dontIndentStatements:/^@.*$|^template$/,typeFirstDefinitions:!0,atoms:b("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:Le,hooks:{"#":oe,"*":Pe,u:ie,U:ie,L:ie,R:ie,0:F,1:F,2:F,3:F,4:F,5:F,6:F,7:F,8:F,9:F,token:function(e,n,t){if(t=="variable"&&e.peek()=="("&&(n.prevToken==";"||n.prevToken==null||n.prevToken=="}")&&jn(e.current()))return"def"}},namespaceSeparator:"::"}),Tl=H({name:"squirrel",keywords:b("base break clone continue const default delete enum extends function in class foreach local resume return this throw typeof yield constructor instanceof static"),types:xe,blockKeywords:b("case catch class else for foreach if switch try while"),defKeywords:b("function local class"),typeFirstDefinitions:!0,atoms:b("true false null"),hooks:{"#":oe}}),Oe=null;function Un(e){return function(n,t){for(var r=!1,i,o=!1;!n.eol();){if(!r&&n.match('"')&&(e=="single"||n.match('""'))){o=!0;break}if(!r&&n.match("``")){Oe=Un(e),o=!0;break}i=n.next(),r=e=="single"&&!r&&i=="\\"}return o&&(t.tokenize=null),"string"}}var Cl=H({name:"ceylon",keywords:b("abstracts alias assembly assert assign break case catch class continue dynamic else exists extends finally for function given if import in interface is let module new nonempty object of out outer package return satisfies super switch then this throw try value void while"),types:function(e){var n=e.charAt(0);return n===n.toUpperCase()&&n!==n.toLowerCase()},blockKeywords:b("case catch class dynamic else finally for function if interface module new object switch try while"),defKeywords:b("class dynamic function interface module object package value"),builtin:b("abstract actual aliased annotation by default deprecated doc final formal late license native optional sealed see serializable shared suppressWarnings tagged throws variable"),isPunctuationChar:/[\[\]{}\(\),;\:\.`]/,isOperatorChar:/[+\-*&%=<>!?|^~:\/]/,numberStart:/[\d#$]/,number:/^(?:#[\da-fA-F_]+|\$[01_]+|[\d_]+[kMGTPmunpf]?|[\d_]+\.[\d_]+(?:[eE][-+]?\d+|[kMGTPmunpf]|)|)/i,multiLineStrings:!0,typeFirstDefinitions:!0,atoms:b("true false null larger smaller equal empty finished"),indentSwitch:!1,styleDefs:!1,hooks:{"@":function(e){return e.eatWhile(/[\w\$_]/),"meta"},'"':function(e,n){return n.tokenize=Un(e.match('""')?"triple":"single"),n.tokenize(e,n)},"`":function(e,n){return!Oe||!e.match("`")?!1:(n.tokenize=Oe,Oe=null,n.tokenize(e,n))},"'":function(e){return e.match(/^(\\[^'\s]+|[^\\'])'/)?"string.special":(e.eatWhile(/[\w\$_\xa1-\uffff]/),"atom")},token:function(e,n,t){if((t=="variable"||t=="type")&&n.prevToken==".")return"variableName.special"}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}});function zr(e){(e.interpolationStack||(e.interpolationStack=[])).push(e.tokenize)}function Kn(e){return(e.interpolationStack||(e.interpolationStack=[])).pop()}function Er(e){return e.interpolationStack?e.interpolationStack.length:0}function Ye(e,n,t,r){var i=!1;if(n.eat(e))if(n.eat(e))i=!0;else return"string";function o(a,p){for(var S=!1;!a.eol();){if(!r&&!S&&a.peek()=="$")return zr(p),p.tokenize=Tr,"string";var E=a.next();if(E==e&&!S&&(!i||a.match(e+e))){p.tokenize=null;break}S=!r&&!S&&E=="\\"}return"string"}return t.tokenize=o,o(n,t)}function Tr(e,n){return e.eat("$"),e.eat("{")?n.tokenize=null:n.tokenize=Cr,null}function Cr(e,n){return e.eatWhile(/[\w_]/),n.tokenize=Kn(n),"variable"}var Ir=H({name:"dart",keywords:b("this super static final const abstract class extends external factory implements mixin get native set typedef with enum throw rethrow assert break case continue default in return new deferred async await covariant try catch finally do else for if switch while import library export part of show hide is as extension on yield late required sealed base interface when inline"),blockKeywords:b("try catch finally do else for if switch while"),builtin:b("void bool num int double dynamic var String Null Never"),atoms:b("true false null"),number:/^(?:0x[a-f\d_]+|(?:[\d_]+\.?[\d_]*|\.[\d_]+)(?:e[-+]?[\d_]+)?)/i,hooks:{"@":function(e){return e.eatWhile(/[\w\$_\.]/),"meta"},"'":function(e,n){return Ye("'",e,n,!1)},'"':function(e,n){return Ye('"',e,n,!1)},r:function(e,n){var t=e.peek();return t=="'"||t=='"'?Ye(e.next(),e,n,!0):!1},"}":function(e,n){return Er(n)>0?(n.tokenize=Kn(n),null):!1},"/":function(e,n){return e.eat("*")?(n.tokenize=ke(1),n.tokenize(e,n)):!1},token:function(e,n,t){if(t=="variable"){var r=RegExp("^[_$]*[A-Z][a-zA-Z0-9_$]*$","g");if(r.test(e.current()))return"type"}}}});var Hn=["false","nil","true"],Gn=[".","catch","def","do","if","monitor-enter","monitor-exit","new","quote","recur","set!","throw","try","var"],Zn=["*","*'","*1","*2","*3","*agent*","*allow-unresolved-vars*","*assert*","*clojure-version*","*command-line-args*","*compile-files*","*compile-path*","*compiler-options*","*data-readers*","*default-data-reader-fn*","*e","*err*","*file*","*flush-on-newline*","*fn-loader*","*in*","*math-context*","*ns*","*out*","*print-dup*","*print-length*","*print-level*","*print-meta*","*print-namespace-maps*","*print-readably*","*read-eval*","*reader-resolver*","*source-path*","*suppress-read*","*unchecked-math*","*use-context-classloader*","*verbose-defrecords*","*warn-on-reflection*","+","+'","-","-'","->","->>","->ArrayChunk","->Eduction","->Vec","->VecNode","->VecSeq","-cache-protocol-fn","-reset-methods","..","/","<","<=","=","==",">",">=","EMPTY-NODE","Inst","StackTraceElement->vec","Throwable->map","accessor","aclone","add-classpath","add-watch","agent","agent-error","agent-errors","aget","alength","alias","all-ns","alter","alter-meta!","alter-var-root","amap","ancestors","and","any?","apply","areduce","array-map","as->","aset","aset-boolean","aset-byte","aset-char","aset-double","aset-float","aset-int","aset-long","aset-short","assert","assoc","assoc!","assoc-in","associative?","atom","await","await-for","await1","bases","bean","bigdec","bigint","biginteger","binding","bit-and","bit-and-not","bit-clear","bit-flip","bit-not","bit-or","bit-set","bit-shift-left","bit-shift-right","bit-test","bit-xor","boolean","boolean-array","boolean?","booleans","bound-fn","bound-fn*","bound?","bounded-count","butlast","byte","byte-array","bytes","bytes?","case","cast","cat","char","char-array","char-escape-string","char-name-string","char?","chars","chunk","chunk-append","chunk-buffer","chunk-cons","chunk-first","chunk-next","chunk-rest","chunked-seq?","class","class?","clear-agent-errors","clojure-version","coll?","comment","commute","comp","comparator","compare","compare-and-set!","compile","complement","completing","concat","cond","cond->","cond->>","condp","conj","conj!","cons","constantly","construct-proxy","contains?","count","counted?","create-ns","create-struct","cycle","dec","dec'","decimal?","declare","dedupe","default-data-readers","definline","definterface","defmacro","defmethod","defmulti","defn","defn-","defonce","defprotocol","defrecord","defstruct","deftype","delay","delay?","deliver","denominator","deref","derive","descendants","destructure","disj","disj!","dissoc","dissoc!","distinct","distinct?","doall","dorun","doseq","dosync","dotimes","doto","double","double-array","double?","doubles","drop","drop-last","drop-while","eduction","empty","empty?","ensure","ensure-reduced","enumeration-seq","error-handler","error-mode","eval","even?","every-pred","every?","ex-data","ex-info","extend","extend-protocol","extend-type","extenders","extends?","false?","ffirst","file-seq","filter","filterv","find","find-keyword","find-ns","find-protocol-impl","find-protocol-method","find-var","first","flatten","float","float-array","float?","floats","flush","fn","fn?","fnext","fnil","for","force","format","frequencies","future","future-call","future-cancel","future-cancelled?","future-done?","future?","gen-class","gen-interface","gensym","get","get-in","get-method","get-proxy-class","get-thread-bindings","get-validator","group-by","halt-when","hash","hash-combine","hash-map","hash-ordered-coll","hash-set","hash-unordered-coll","ident?","identical?","identity","if-let","if-not","if-some","ifn?","import","in-ns","inc","inc'","indexed?","init-proxy","inst-ms","inst-ms*","inst?","instance?","int","int-array","int?","integer?","interleave","intern","interpose","into","into-array","ints","io!","isa?","iterate","iterator-seq","juxt","keep","keep-indexed","key","keys","keyword","keyword?","last","lazy-cat","lazy-seq","let","letfn","line-seq","list","list*","list?","load","load-file","load-reader","load-string","loaded-libs","locking","long","long-array","longs","loop","macroexpand","macroexpand-1","make-array","make-hierarchy","map","map-entry?","map-indexed","map?","mapcat","mapv","max","max-key","memfn","memoize","merge","merge-with","meta","method-sig","methods","min","min-key","mix-collection-hash","mod","munge","name","namespace","namespace-munge","nat-int?","neg-int?","neg?","newline","next","nfirst","nil?","nnext","not","not-any?","not-empty","not-every?","not=","ns","ns-aliases","ns-imports","ns-interns","ns-map","ns-name","ns-publics","ns-refers","ns-resolve","ns-unalias","ns-unmap","nth","nthnext","nthrest","num","number?","numerator","object-array","odd?","or","parents","partial","partition","partition-all","partition-by","pcalls","peek","persistent!","pmap","pop","pop!","pop-thread-bindings","pos-int?","pos?","pr","pr-str","prefer-method","prefers","primitives-classnames","print","print-ctor","print-dup","print-method","print-simple","print-str","printf","println","println-str","prn","prn-str","promise","proxy","proxy-call-with-super","proxy-mappings","proxy-name","proxy-super","push-thread-bindings","pvalues","qualified-ident?","qualified-keyword?","qualified-symbol?","quot","rand","rand-int","rand-nth","random-sample","range","ratio?","rational?","rationalize","re-find","re-groups","re-matcher","re-matches","re-pattern","re-seq","read","read-line","read-string","reader-conditional","reader-conditional?","realized?","record?","reduce","reduce-kv","reduced","reduced?","reductions","ref","ref-history-count","ref-max-history","ref-min-history","ref-set","refer","refer-clojure","reify","release-pending-sends","rem","remove","remove-all-methods","remove-method","remove-ns","remove-watch","repeat","repeatedly","replace","replicate","require","reset!","reset-meta!","reset-vals!","resolve","rest","restart-agent","resultset-seq","reverse","reversible?","rseq","rsubseq","run!","satisfies?","second","select-keys","send","send-off","send-via","seq","seq?","seqable?","seque","sequence","sequential?","set","set-agent-send-executor!","set-agent-send-off-executor!","set-error-handler!","set-error-mode!","set-validator!","set?","short","short-array","shorts","shuffle","shutdown-agents","simple-ident?","simple-keyword?","simple-symbol?","slurp","some","some->","some->>","some-fn","some?","sort","sort-by","sorted-map","sorted-map-by","sorted-set","sorted-set-by","sorted?","special-symbol?","spit","split-at","split-with","str","string?","struct","struct-map","subs","subseq","subvec","supers","swap!","swap-vals!","symbol","symbol?","sync","tagged-literal","tagged-literal?","take","take-last","take-nth","take-while","test","the-ns","thread-bound?","time","to-array","to-array-2d","trampoline","transduce","transient","tree-seq","true?","type","unchecked-add","unchecked-add-int","unchecked-byte","unchecked-char","unchecked-dec","unchecked-dec-int","unchecked-divide-int","unchecked-double","unchecked-float","unchecked-inc","unchecked-inc-int","unchecked-int","unchecked-long","unchecked-multiply","unchecked-multiply-int","unchecked-negate","unchecked-negate-int","unchecked-remainder-int","unchecked-short","unchecked-subtract","unchecked-subtract-int","underive","unquote","unquote-splicing","unreduced","unsigned-bit-shift-right","update","update-in","update-proxy","uri?","use","uuid?","val","vals","var-get","var-set","var?","vary-meta","vec","vector","vector-of","vector?","volatile!","volatile?","vreset!","vswap!","when","when-first","when-let","when-not","when-some","while","with-bindings","with-bindings*","with-in-str","with-loading-context","with-local-vars","with-meta","with-open","with-out-str","with-precision","with-redefs","with-redefs-fn","xml-seq","zero?","zipmap"],Rr=["->","->>","as->","binding","bound-fn","case","catch","comment","cond","cond->","cond->>","condp","def","definterface","defmethod","defn","defmacro","defprotocol","defrecord","defstruct","deftype","do","doseq","dotimes","doto","extend","extend-protocol","extend-type","fn","for","future","if","if-let","if-not","if-some","let","letfn","locking","loop","ns","proxy","reify","struct-map","some->","some->>","try","when","when-first","when-let","when-not","when-some","while","with-bindings","with-bindings*","with-in-str","with-loading-context","with-local-vars","with-meta","with-open","with-out-str","with-precision","with-redefs","with-redefs-fn"],Or=De(Hn),Ar=De(Gn),Pr=De(Zn),Lr=De(Rr),Dr=/^(?:[\\\[\]\s"(),;@^`{}~]|$)/,$r=/^(?:[+\-]?\d+(?:(?:N|(?:[eE][+\-]?\d+))|(?:\.?\d*(?:M|(?:[eE][+\-]?\d+))?)|\/\d+|[xX][0-9a-fA-F]+|r[0-9a-zA-Z]+)?(?=[\\\[\]\s"#'(),;@^`{}~]|$))/,Nr=/^(?:\\(?:backspace|formfeed|newline|return|space|tab|o[0-7]{3}|u[0-9A-Fa-f]{4}|x[0-9A-Fa-f]{4}|.)?(?=[\\\[\]\s"(),;@^`{}~]|$))/,qr=/^(?:(?:[^\\\/\[\]\d\s"#'(),;@^`{}~.][^\\\[\]\s"(),;@^`{}~.\/]*(?:\.[^\\\/\[\]\d\s"#'(),;@^`{}~.][^\\\[\]\s"(),;@^`{}~.\/]*)*\/)?(?:\/|[^\\\/\[\]\d\s"#'(),;@^`{}~][^\\\[\]\s"(),;@^`{}~]*)*(?=[\\\[\]\s"(),;@^`{}~]|$))/;function nn(e,n){if(e.eatSpace()||e.eat(","))return["space",null];if(e.match($r))return[null,"number"];if(e.match(Nr))return[null,"string.special"];if(e.eat(/^"/))return(n.tokenize=Fr)(e,n);if(e.eat(/^[(\[{]/))return["open","bracket"];if(e.eat(/^[)\]}]/))return["close","bracket"];if(e.eat(/^;/))return e.skipToEnd(),["space","comment"];if(e.eat(/^[#'@^`~]/))return[null,"meta"];var t=e.match(qr),r=t&&t[0];return r?r==="comment"&&n.lastToken==="("?(n.tokenize=Mr)(e,n):Se(r,Or)||r.charAt(0)===":"?["symbol","atom"]:Se(r,Ar)||Se(r,Pr)?["symbol","keyword"]:n.lastToken==="("?["symbol","builtin"]:["symbol","variable"]:(e.next(),e.eatWhile(function(i){return!Se(i,Dr)}),[null,"error"])}function Fr(e,n){for(var t=!1,r;r=e.next();){if(r==='"'&&!t){n.tokenize=nn;break}t=!t&&r==="\\"}return[null,"string"]}function Mr(e,n){for(var t=1,r;r=e.next();)if(r===")"&&t--,r==="("&&t++,t===0){e.backUp(1),n.tokenize=nn;break}return["space","comment"]}function De(e){for(var n={},t=0;t<e.length;++t)n[e[t]]=!0;return n}function Se(e,n){if(n instanceof RegExp)return n.test(e);if(n instanceof Object)return n.propertyIsEnumerable(e)}var Br={name:"clojure",startState:function(){return{ctx:{prev:null,start:0,indentTo:0},lastToken:null,tokenize:nn}},token:function(e,n){e.sol()&&typeof n.ctx.indentTo!="number"&&(n.ctx.indentTo=n.ctx.start+1);var t=n.tokenize(e,n),r=t[0],i=t[1],o=e.current();return r!=="space"&&(n.lastToken==="("&&n.ctx.indentTo===null?r==="symbol"&&Se(o,Lr)?n.ctx.indentTo=n.ctx.start+e.indentUnit:n.ctx.indentTo="next":n.ctx.indentTo==="next"&&(n.ctx.indentTo=e.column()),n.lastToken=o),r==="open"?n.ctx={prev:n.ctx,start:e.column(),indentTo:null}:r==="close"&&(n.ctx=n.ctx.prev||n.ctx),i},indent:function(e){var n=e.ctx.indentTo;return typeof n=="number"?n:e.ctx.start+1},languageData:{closeBrackets:{brackets:["(","[","{",'"']},commentTokens:{line:";;"},autocomplete:[].concat(Hn,Gn,Zn)}};var Qn={"+":"inserted","-":"deleted","@":"meta"},jr={name:"diff",token:function(e){var n=e.string.search(/[\t ]+?$/);if(!e.sol()||n===0)return e.skipToEnd(),("error "+(Qn[e.string.charAt(0)]||"")).replace(/ $/,"");var t=Qn[e.peek()]||e.skipToEnd();return n===-1?e.skipToEnd():e.pos=n,t}};function tn(e){for(var n={},t=0;t<e.length;++t)n[e[t]]=!0;return n}var Wr=tn(["abstract","accept","allocatable","allocate","array","assign","asynchronous","backspace","bind","block","byte","call","case","class","close","common","contains","continue","cycle","data","deallocate","decode","deferred","dimension","do","elemental","else","encode","end","endif","entry","enumerator","equivalence","exit","external","extrinsic","final","forall","format","function","generic","go","goto","if","implicit","import","include","inquire","intent","interface","intrinsic","module","namelist","non_intrinsic","non_overridable","none","nopass","nullify","open","optional","options","parameter","pass","pause","pointer","print","private","program","protected","public","pure","read","recursive","result","return","rewind","save","select","sequence","stop","subroutine","target","then","to","type","use","value","volatile","where","while","write"]),Ur=tn(["abort","abs","access","achar","acos","adjustl","adjustr","aimag","aint","alarm","all","allocated","alog","amax","amin","amod","and","anint","any","asin","associated","atan","besj","besjn","besy","besyn","bit_size","btest","cabs","ccos","ceiling","cexp","char","chdir","chmod","clog","cmplx","command_argument_count","complex","conjg","cos","cosh","count","cpu_time","cshift","csin","csqrt","ctime","c_funloc","c_loc","c_associated","c_null_ptr","c_null_funptr","c_f_pointer","c_null_char","c_alert","c_backspace","c_form_feed","c_new_line","c_carriage_return","c_horizontal_tab","c_vertical_tab","dabs","dacos","dasin","datan","date_and_time","dbesj","dbesj","dbesjn","dbesy","dbesy","dbesyn","dble","dcos","dcosh","ddim","derf","derfc","dexp","digits","dim","dint","dlog","dlog","dmax","dmin","dmod","dnint","dot_product","dprod","dsign","dsinh","dsin","dsqrt","dtanh","dtan","dtime","eoshift","epsilon","erf","erfc","etime","exit","exp","exponent","extends_type_of","fdate","fget","fgetc","float","floor","flush","fnum","fputc","fput","fraction","fseek","fstat","ftell","gerror","getarg","get_command","get_command_argument","get_environment_variable","getcwd","getenv","getgid","getlog","getpid","getuid","gmtime","hostnm","huge","iabs","iachar","iand","iargc","ibclr","ibits","ibset","ichar","idate","idim","idint","idnint","ieor","ierrno","ifix","imag","imagpart","index","int","ior","irand","isatty","ishft","ishftc","isign","iso_c_binding","is_iostat_end","is_iostat_eor","itime","kill","kind","lbound","len","len_trim","lge","lgt","link","lle","llt","lnblnk","loc","log","logical","long","lshift","lstat","ltime","matmul","max","maxexponent","maxloc","maxval","mclock","merge","move_alloc","min","minexponent","minloc","minval","mod","modulo","mvbits","nearest","new_line","nint","not","or","pack","perror","precision","present","product","radix","rand","random_number","random_seed","range","real","realpart","rename","repeat","reshape","rrspacing","rshift","same_type_as","scale","scan","second","selected_int_kind","selected_real_kind","set_exponent","shape","short","sign","signal","sinh","sin","sleep","sngl","spacing","spread","sqrt","srand","stat","sum","symlnk","system","system_clock","tan","tanh","time","tiny","transfer","transpose","trim","ttynam","ubound","umask","unlink","unpack","verify","xor","zabs","zcos","zexp","zlog","zsin","zsqrt"]),Kr=tn(["c_bool","c_char","c_double","c_double_complex","c_float","c_float_complex","c_funptr","c_int","c_int16_t","c_int32_t","c_int64_t","c_int8_t","c_int_fast16_t","c_int_fast32_t","c_int_fast64_t","c_int_fast8_t","c_int_least16_t","c_int_least32_t","c_int_least64_t","c_int_least8_t","c_intmax_t","c_intptr_t","c_long","c_long_double","c_long_double_complex","c_long_long","c_ptr","c_short","c_signed_char","c_size_t","character","complex","double","integer","logical","real"]),Vn=/[+\-*&=<>\/\:]/,Hr=/^\.(and|or|eq|lt|le|gt|ge|ne|not|eqv|neqv)\./i;function Gr(e,n){if(e.match(Hr))return"operator";var t=e.next();if(t=="!")return e.skipToEnd(),"comment";if(t=='"'||t=="'")return n.tokenize=Zr(t),n.tokenize(e,n);if(/[\[\]\(\),]/.test(t))return null;if(/\d/.test(t))return e.eatWhile(/[\w\.]/),"number";if(Vn.test(t))return e.eatWhile(Vn),"operator";e.eatWhile(/[\w\$_]/);var r=e.current().toLowerCase();return Wr.hasOwnProperty(r)?"keyword":Ur.hasOwnProperty(r)||Kr.hasOwnProperty(r)?"builtin":"variable"}function Zr(e){return function(n,t){for(var r=!1,i,o=!1;(i=n.next())!=null;){if(i==e&&!r){o=!0;break}r=!r&&i=="\\"}return(o||!r)&&(t.tokenize=null),"string"}}var Qr={name:"fortran",startState:function(){return{tokenize:null}},token:function(e,n){if(e.eatSpace())return null;var t=(n.tokenize||Gr)(e,n);return t=="comment"||t=="meta",t}};var Vr={break:!0,case:!0,chan:!0,const:!0,continue:!0,default:!0,defer:!0,else:!0,fallthrough:!0,for:!0,func:!0,go:!0,goto:!0,if:!0,import:!0,interface:!0,map:!0,package:!0,range:!0,return:!0,select:!0,struct:!0,switch:!0,type:!0,var:!0,bool:!0,byte:!0,complex64:!0,complex128:!0,float32:!0,float64:!0,int8:!0,int16:!0,int32:!0,int64:!0,string:!0,uint8:!0,uint16:!0,uint32:!0,uint64:!0,int:!0,uint:!0,uintptr:!0,error:!0,rune:!0,any:!0,comparable:!0},Xr={true:!0,false:!0,iota:!0,nil:!0,append:!0,cap:!0,close:!0,complex:!0,copy:!0,delete:!0,imag:!0,len:!0,make:!0,new:!0,panic:!0,print:!0,println:!0,real:!0,recover:!0},Xn=/[+\-*&^%:=<>!|\/]/,ne;function $e(e,n){var t=e.next();if(t=='"'||t=="'"||t=="`")return n.tokenize=Jr(t),n.tokenize(e,n);if(/[\d\.]/.test(t))return t=="."?e.match(/^[0-9]+([eE][\-+]?[0-9]+)?/):t=="0"?e.match(/^[xX][0-9a-fA-F]+/)||e.match(/^0[0-7]+/):e.match(/^[0-9]*\.?[0-9]*([eE][\-+]?[0-9]+)?/),"number";if(/[\[\]{}\(\),;\:\.]/.test(t))return ne=t,null;if(t=="/"){if(e.eat("*"))return n.tokenize=Jn,Jn(e,n);if(e.eat("/"))return e.skipToEnd(),"comment"}if(Xn.test(t))return e.eatWhile(Xn),"operator";e.eatWhile(/[\w\$_\xa1-\uffff]/);var r=e.current();return Vr.propertyIsEnumerable(r)?((r=="case"||r=="default")&&(ne="case"),"keyword"):Xr.propertyIsEnumerable(r)?"atom":"variable"}function Jr(e){return function(n,t){for(var r=!1,i,o=!1;(i=n.next())!=null;){if(i==e&&!r){o=!0;break}r=!r&&e!="`"&&i=="\\"}return(o||!(r||e=="`"))&&(t.tokenize=$e),"string"}}function Jn(e,n){for(var t=!1,r;r=e.next();){if(r=="/"&&t){n.tokenize=$e;break}t=r=="*"}return"comment"}function et(e,n,t,r,i){this.indented=e,this.column=n,this.type=t,this.align=r,this.prev=i}function rn(e,n,t){return e.context=new et(e.indented,n,t,null,e.context)}function Yn(e){if(e.context.prev){var n=e.context.type;return(n==")"||n=="]"||n=="}")&&(e.indented=e.context.indented),e.context=e.context.prev}}var Yr={name:"go",startState:function(e){return{tokenize:null,context:new et(-e,0,"top",!1),indented:0,startOfLine:!0}},token:function(e,n){var t=n.context;if(e.sol()&&(t.align==null&&(t.align=!1),n.indented=e.indentation(),n.startOfLine=!0,t.type=="case"&&(t.type="}")),e.eatSpace())return null;ne=null;var r=(n.tokenize||$e)(e,n);return r=="comment"||(t.align==null&&(t.align=!0),ne=="{"?rn(n,e.column(),"}"):ne=="["?rn(n,e.column(),"]"):ne=="("?rn(n,e.column(),")"):ne=="case"?t.type="case":(ne=="}"&&t.type=="}"||ne==t.type)&&Yn(n),n.startOfLine=!1),r},indent:function(e,n,t){if(e.tokenize!=$e&&e.tokenize!=null)return null;var r=e.context,i=n&&n.charAt(0);if(r.type=="case"&&/^(?:case|default)\b/.test(n))return r.indented;var o=i==r.type;return r.align?r.column+(o?0:1):r.indented+(o?0:t.unit)},languageData:{indentOnInput:/^\s([{}]|case |default\s*:)$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}};function ln(e,n,t){return n(t),t(e,n)}var ei=/[a-z_]/,ni=/[A-Z]/,on=/\d/,ti=/[0-9A-Fa-f]/,ri=/[0-7]/,nt=/[a-z_A-Z0-9'\xa1-\uffff]/,an=/[-!#$%&*+.\/<=>?@\\^|~:]/,ii=/[(),;[\]`{}]/,rt=/[ \t\v\f]/;function fe(e,n){if(e.eatWhile(rt))return null;var t=e.next();if(ii.test(t)){if(t=="{"&&e.eat("-")){var r="comment";return e.eat("#")&&(r="meta"),ln(e,n,it(r,1))}return null}if(t=="'")return e.eat("\\"),e.next(),e.eat("'")?"string":"error";if(t=='"')return ln(e,n,ot);if(ni.test(t))return e.eatWhile(nt),e.eat(".")?"qualifier":"type";if(ei.test(t))return e.eatWhile(nt),"variable";if(on.test(t)){if(t=="0"){if(e.eat(/[xX]/))return e.eatWhile(ti),"integer";if(e.eat(/[oO]/))return e.eatWhile(ri),"number"}e.eatWhile(on);var r="number";return e.match(/^\.\d+/)&&(r="number"),e.eat(/[eE]/)&&(r="number",e.eat(/[-+]/),e.eatWhile(on)),r}return t=="."&&e.eat(".")?"keyword":an.test(t)?t=="-"&&e.eat(/-/)&&(e.eatWhile(/-/),!e.eat(an))?(e.skipToEnd(),"comment"):(e.eatWhile(an),"variable"):"error"}function it(e,n){return n==0?fe:function(t,r){for(var i=n;!t.eol();){var o=t.next();if(o=="{"&&t.eat("-"))++i;else if(o=="-"&&t.eat("}")&&(--i,i==0))return r(fe),e}return r(it(e,i)),e}}function ot(e,n){for(;!e.eol();){var t=e.next();if(t=='"')return n(fe),"string";if(t=="\\"){if(e.eol()||e.eat(rt))return n(oi),"string";e.eat("&")||e.next()}}return n(fe),"error"}function oi(e,n){return e.eat("\\")?ln(e,n,ot):(e.next(),n(fe),"error")}var tt=function(){var e={};function n(t){return function(){for(var r=0;r<arguments.length;r++)e[arguments[r]]=t}}return n("keyword")("case","class","data","default","deriving","do","else","foreign","if","import","in","infix","infixl","infixr","instance","let","module","newtype","of","then","type","where","_"),n("keyword")("..",":","::","=","\\","<-","->","@","~","=>"),n("builtin")("!!","$!","$","&&","+","++","-",".","/","/=","<","<*","<=","<$>","<*>","=<<","==",">",">=",">>",">>=","^","^^","||","*","*>","**"),n("builtin")("Applicative","Bool","Bounded","Char","Double","EQ","Either","Enum","Eq","False","FilePath","Float","Floating","Fractional","Functor","GT","IO","IOError","Int","Integer","Integral","Just","LT","Left","Maybe","Monad","Nothing","Num","Ord","Ordering","Rational","Read","ReadS","Real","RealFloat","RealFrac","Right","Show","ShowS","String","True"),n("builtin")("abs","acos","acosh","all","and","any","appendFile","asTypeOf","asin","asinh","atan","atan2","atanh","break","catch","ceiling","compare","concat","concatMap","const","cos","cosh","curry","cycle","decodeFloat","div","divMod","drop","dropWhile","either","elem","encodeFloat","enumFrom","enumFromThen","enumFromThenTo","enumFromTo","error","even","exp","exponent","fail","filter","flip","floatDigits","floatRadix","floatRange","floor","fmap","foldl","foldl1","foldr","foldr1","fromEnum","fromInteger","fromIntegral","fromRational","fst","gcd","getChar","getContents","getLine","head","id","init","interact","ioError","isDenormalized","isIEEE","isInfinite","isNaN","isNegativeZero","iterate","last","lcm","length","lex","lines","log","logBase","lookup","map","mapM","mapM_","max","maxBound","maximum","maybe","min","minBound","minimum","mod","negate","not","notElem","null","odd","or","otherwise","pi","pred","print","product","properFraction","pure","putChar","putStr","putStrLn","quot","quotRem","read","readFile","readIO","readList","readLn","readParen","reads","readsPrec","realToFrac","recip","rem","repeat","replicate","return","reverse","round","scaleFloat","scanl","scanl1","scanr","scanr1","seq","sequence","sequence_","show","showChar","showList","showParen","showString","shows","showsPrec","significand","signum","sin","sinh","snd","span","splitAt","sqrt","subtract","succ","sum","tail","take","takeWhile","tan","tanh","toEnum","toInteger","toRational","truncate","uncurry","undefined","unlines","until","unwords","unzip","unzip3","userError","words","writeFile","zip","zip3","zipWith","zipWith3"),e}(),ai={name:"haskell",startState:function(){return{f:fe}},copyState:function(e){return{f:e.f}},token:function(e,n){var t=n.f(e,function(i){n.f=i}),r=e.current();return tt.hasOwnProperty(r)?tt[r]:t},languageData:{commentTokens:{line:"--",block:{open:"{-",close:"-}"}}}};function ae(e,n,t){return typeof t>"u"&&(t=""),typeof n>"u"&&(n="\\b"),new RegExp("^"+t+"(("+e.join(")|(")+"))"+n)}var li="\\\\[0-7]{1,3}",ci="\\\\x[A-Fa-f0-9]{1,2}",si=`\\\\[abefnrtv0%?'"\\\\]`,ui="([^\\u0027\\u005C\\uD800-\\uDFFF]|[\\uD800-\\uDFFF][\\uDC00-\\uDFFF])",ct=["[<>]:","[<>=]=","<<=?",">>>?=?","=>","--?>","<--[->]?","\\/\\/","\\.{2,3}","[\\.\\\\%*+\\-<>!\\/^|&]=?","\\?","\\$","~",":"],di=ae(["[<>]:","[<>=]=","[!=]==","<<=?",">>>?=?","=>?","--?>","<--[->]?","\\/\\/","[\\\\%*+\\-<>!\\/^|&\\u00F7\\u22BB]=?","\\?","\\$","~",":","\\u00D7","\\u2208","\\u2209","\\u220B","\\u220C","\\u2218","\\u221A","\\u221B","\\u2229","\\u222A","\\u2260","\\u2264","\\u2265","\\u2286","\\u2288","\\u228A","\\u22C5","\\b(in|isa)\\b(?!.?\\()"],""),fi=/^[;,()[\]{}]/,pi=/^[_A-Za-z\u00A1-\u2217\u2219-\uFFFF][\w\u00A1-\u2217\u2219-\uFFFF]*!*/,mi=ae([li,ci,si,ui],"'"),hi=["begin","function","type","struct","immutable","let","macro","for","while","quote","if","else","elseif","try","finally","catch","do"],gi=["end","else","elseif","catch","finally"],st=["if","else","elseif","while","for","begin","let","end","do","try","catch","finally","return","break","continue","global","local","const","export","import","importall","using","function","where","macro","module","baremodule","struct","type","mutable","immutable","quote","typealias","abstract","primitive","bitstype"],ut=["true","false","nothing","NaN","Inf"],bi=ae(hi),yi=ae(gi),vi=ae(st),ki=ae(ut),_i=/^@[_A-Za-z\u00A1-\uFFFF][\w\u00A1-\uFFFF]*!*/,xi=/^:[_A-Za-z\u00A1-\uFFFF][\w\u00A1-\uFFFF]*!*/,wi=/^(`|([_A-Za-z\u00A1-\uFFFF]*"("")?))/,Si=ae(ct,"","@"),zi=ae(ct,"",":");function at(e){return e.nestedArrays>0}function Ei(e){return e.nestedGenerators>0}function lt(e,n){return typeof n>"u"&&(n=0),e.scopes.length<=n?null:e.scopes[e.scopes.length-(n+1)]}function pe(e,n){if(e.match("#=",!1))return n.tokenize=Ci,n.tokenize(e,n);var t=n.leavingExpr;if(e.sol()&&(t=!1),n.leavingExpr=!1,t&&e.match(/^'+/))return"operator";if(e.match(/\.{4,}/))return"error";if(e.match(/\.{1,3}/))return"operator";if(e.eatSpace())return null;var r=e.peek();if(r==="#")return e.skipToEnd(),"comment";if(r==="["&&(n.scopes.push("["),n.nestedArrays++),r==="("&&(n.scopes.push("("),n.nestedGenerators++),at(n)&&r==="]"){for(;n.scopes.length&<(n)!=="[";)n.scopes.pop();n.scopes.pop(),n.nestedArrays--,n.leavingExpr=!0}if(Ei(n)&&r===")"){for(;n.scopes.length&<(n)!=="(";)n.scopes.pop();n.scopes.pop(),n.nestedGenerators--,n.leavingExpr=!0}if(at(n)){if(n.lastToken=="end"&&e.match(":"))return"operator";if(e.match("end"))return"number"}var i;if((i=e.match(bi,!1))&&n.scopes.push(i[0]),e.match(yi,!1)&&n.scopes.pop(),e.match(/^::(?![:\$])/))return n.tokenize=Ti,n.tokenize(e,n);if(!t&&(e.match(xi)||e.match(zi)))return"builtin";if(e.match(di))return"operator";if(e.match(/^\.?\d/,!1)){var o=RegExp(/^im\b/),a=!1;if(e.match(/^0x\.[0-9a-f_]+p[\+\-]?[_\d]+/i)&&(a=!0),e.match(/^0x[0-9a-f_]+/i)&&(a=!0),e.match(/^0b[01_]+/i)&&(a=!0),e.match(/^0o[0-7_]+/i)&&(a=!0),e.match(/^(?:(?:\d[_\d]*)?\.(?!\.)(?:\d[_\d]*)?|\d[_\d]*\.(?!\.)(?:\d[_\d]*))?([Eef][\+\-]?[_\d]+)?/i)&&(a=!0),e.match(/^\d[_\d]*(e[\+\-]?\d+)?/i)&&(a=!0),a)return e.match(o),n.leavingExpr=!0,"number"}if(e.match("'"))return n.tokenize=Ii,n.tokenize(e,n);if(e.match(wi))return n.tokenize=Ri(e.current()),n.tokenize(e,n);if(e.match(_i)||e.match(Si))return"meta";if(e.match(fi))return null;if(e.match(vi))return"keyword";if(e.match(ki))return"builtin";var p=n.isDefinition||n.lastToken=="function"||n.lastToken=="macro"||n.lastToken=="type"||n.lastToken=="struct"||n.lastToken=="immutable";return e.match(pi)?p?e.peek()==="."?(n.isDefinition=!0,"variable"):(n.isDefinition=!1,"def"):(n.leavingExpr=!0,"variable"):(e.next(),"error")}function Ti(e,n){return e.match(/.*?(?=[,;{}()=\s]|$)/),e.match("{")?n.nestedParameters++:e.match("}")&&n.nestedParameters>0&&n.nestedParameters--,n.nestedParameters>0?e.match(/.*?(?={|})/)||e.next():n.nestedParameters==0&&(n.tokenize=pe),"builtin"}function Ci(e,n){return e.match("#=")&&n.nestedComments++,e.match(/.*?(?=(#=|=#))/)||e.skipToEnd(),e.match("=#")&&(n.nestedComments--,n.nestedComments==0&&(n.tokenize=pe)),"comment"}function Ii(e,n){var t=!1,r;if(e.match(mi))t=!0;else if(r=e.match(/\\u([a-f0-9]{1,4})(?=')/i)){var i=parseInt(r[1],16);(i<=55295||i>=57344)&&(t=!0,e.next())}else if(r=e.match(/\\U([A-Fa-f0-9]{5,8})(?=')/)){var i=parseInt(r[1],16);i<=1114111&&(t=!0,e.next())}return t?(n.leavingExpr=!0,n.tokenize=pe,"string"):(e.match(/^[^']+(?=')/)||e.skipToEnd(),e.match("'")&&(n.tokenize=pe),"error")}function Ri(e){e.substr(-3)==='"""'?e='"""':e.substr(-1)==='"'&&(e='"');function n(t,r){if(t.eat("\\"))t.next();else{if(t.match(e))return r.tokenize=pe,r.leavingExpr=!0,"string";t.eat(/[`"]/)}return t.eatWhile(/[^\\`"]/),"string"}return n}var Oi={name:"julia",startState:function(){return{tokenize:pe,scopes:[],lastToken:null,leavingExpr:!1,isDefinition:!1,nestedArrays:0,nestedComments:0,nestedGenerators:0,nestedParameters:0,firstParenPos:-1}},token:function(e,n){var t=n.tokenize(e,n),r=e.current();return r&&t&&(n.lastToken=r),t},indent:function(e,n,t){var r=0;return(n==="]"||n===")"||/^end\b/.test(n)||/^else/.test(n)||/^catch\b/.test(n)||/^elseif\b/.test(n)||/^finally/.test(n))&&(r=-1),(e.scopes.length+r)*t.unit},languageData:{indentOnInput:/^\s*(end|else|catch|finally)\b$/,commentTokens:{line:"#",block:{open:"#=",close:"=#"}},closeBrackets:{brackets:["(","[","{",'"']},autocomplete:st.concat(ut)}};function Ai(e){return new RegExp("^(?:"+e.join("|")+")","i")}function Ne(e){return new RegExp("^(?:"+e.join("|")+")$","i")}var Pi=Ne(["_G","_VERSION","assert","collectgarbage","dofile","error","getfenv","getmetatable","ipairs","load","loadfile","loadstring","module","next","pairs","pcall","print","rawequal","rawget","rawset","require","select","setfenv","setmetatable","tonumber","tostring","type","unpack","xpcall","coroutine.create","coroutine.resume","coroutine.running","coroutine.status","coroutine.wrap","coroutine.yield","debug.debug","debug.getfenv","debug.gethook","debug.getinfo","debug.getlocal","debug.getmetatable","debug.getregistry","debug.getupvalue","debug.setfenv","debug.sethook","debug.setlocal","debug.setmetatable","debug.setupvalue","debug.traceback","close","flush","lines","read","seek","setvbuf","write","io.close","io.flush","io.input","io.lines","io.open","io.output","io.popen","io.read","io.stderr","io.stdin","io.stdout","io.tmpfile","io.type","io.write","math.abs","math.acos","math.asin","math.atan","math.atan2","math.ceil","math.cos","math.cosh","math.deg","math.exp","math.floor","math.fmod","math.frexp","math.huge","math.ldexp","math.log","math.log10","math.max","math.min","math.modf","math.pi","math.pow","math.rad","math.random","math.randomseed","math.sin","math.sinh","math.sqrt","math.tan","math.tanh","os.clock","os.date","os.difftime","os.execute","os.exit","os.getenv","os.remove","os.rename","os.setlocale","os.time","os.tmpname","package.cpath","package.loaded","package.loaders","package.loadlib","package.path","package.preload","package.seeall","string.byte","string.char","string.dump","string.find","string.format","string.gmatch","string.gsub","string.len","string.lower","string.match","string.rep","string.reverse","string.sub","string.upper","table.concat","table.insert","table.maxn","table.remove","table.sort"]),Li=Ne(["and","break","elseif","false","nil","not","or","return","true","function","end","if","then","else","do","while","repeat","until","for","in","local"]),Di=Ne(["function","if","repeat","do","\\(","{"]),$i=Ne(["end","until","\\)","}"]),Ni=Ai(["end","until","\\)","}","else","elseif"]);function dt(e){for(var n=0;e.eat("=");)++n;return e.eat("["),n}function cn(e,n){var t=e.next();return t=="-"&&e.eat("-")?e.eat("[")&&e.eat("[")?(n.cur=ft(dt(e),"comment"))(e,n):(e.skipToEnd(),"comment"):t=='"'||t=="'"?(n.cur=qi(t))(e,n):t=="["&&/[\[=]/.test(e.peek())?(n.cur=ft(dt(e),"string"))(e,n):/\d/.test(t)?(e.eatWhile(/[\w.%]/),"number"):/[\w_]/.test(t)?(e.eatWhile(/[\w\\\-_.]/),"variable"):null}function ft(e,n){return function(t,r){for(var i=null,o;(o=t.next())!=null;)if(i==null)o=="]"&&(i=0);else if(o=="=")++i;else if(o=="]"&&i==e){r.cur=cn;break}else i=null;return n}}function qi(e){return function(n,t){for(var r=!1,i;(i=n.next())!=null&&!(i==e&&!r);)r=!r&&i=="\\";return r||(t.cur=cn),"string"}}var Fi={name:"lua",startState:function(){return{basecol:0,indentDepth:0,cur:cn}},token:function(e,n){if(e.eatSpace())return null;var t=n.cur(e,n),r=e.current();return t=="variable"&&(Li.test(r)?t="keyword":Pi.test(r)&&(t="builtin")),t!="comment"&&t!="string"&&(Di.test(r)?++n.indentDepth:$i.test(r)&&--n.indentDepth),t},indent:function(e,n,t){var r=Ni.test(n);return e.basecol+t.unit*(e.indentDepth-(r?1:0))},languageData:{indentOnInput:/^\s*(?:end|until|else|\)|\})$/,commentTokens:{line:"--",block:{open:"--[[",close:"]]--"}}}};function sn(e){var n={as:"keyword",do:"keyword",else:"keyword",end:"keyword",exception:"keyword",fun:"keyword",functor:"keyword",if:"keyword",in:"keyword",include:"keyword",let:"keyword",of:"keyword",open:"keyword",rec:"keyword",struct:"keyword",then:"keyword",type:"keyword",val:"keyword",while:"keyword",with:"keyword"},t=e.extraWords||{};for(var r in t)t.hasOwnProperty(r)&&(n[r]=e.extraWords[r]);var i=[];for(var o in n)i.push(o);function a(x,c){var d=x.next();if(d==='"')return c.tokenize=p,c.tokenize(x,c);if(d==="{"&&x.eat("|"))return c.longString=!0,c.tokenize=E,c.tokenize(x,c);if(d==="("&&x.match(/^\*(?!\))/))return c.commentLevel++,c.tokenize=S,c.tokenize(x,c);if(d==="~"||d==="?")return x.eatWhile(/\w/),"variableName.special";if(d==="`")return x.eatWhile(/\w/),"quote";if(d==="/"&&e.slashComments&&x.eat("/"))return x.skipToEnd(),"comment";if(/\d/.test(d))return d==="0"&&x.eat(/[bB]/)&&x.eatWhile(/[01]/),d==="0"&&x.eat(/[xX]/)&&x.eatWhile(/[0-9a-fA-F]/),d==="0"&&x.eat(/[oO]/)?x.eatWhile(/[0-7]/):(x.eatWhile(/[\d_]/),x.eat(".")&&x.eatWhile(/[\d]/),x.eat(/[eE]/)&&x.eatWhile(/[\d\-+]/)),"number";if(/[+\-*&%=<>!?|@\.~:]/.test(d))return"operator";if(/[\w\xa1-\uffff]/.test(d)){x.eatWhile(/[\w\xa1-\uffff]/);var y=x.current();return n.hasOwnProperty(y)?n[y]:"variable"}return null}function p(x,c){for(var d,y=!1,O=!1;(d=x.next())!=null;){if(d==='"'&&!O){y=!0;break}O=!O&&d==="\\"}return y&&!O&&(c.tokenize=a),"string"}function S(x,c){for(var d,y;c.commentLevel>0&&(y=x.next())!=null;)d==="("&&y==="*"&&c.commentLevel++,d==="*"&&y===")"&&c.commentLevel--,d=y;return c.commentLevel<=0&&(c.tokenize=a),"comment"}function E(x,c){for(var d,y;c.longString&&(y=x.next())!=null;)d==="|"&&y==="}"&&(c.longString=!1),d=y;return c.longString||(c.tokenize=a),"string"}return{startState:function(){return{tokenize:a,commentLevel:0,longString:!1}},token:function(x,c){return x.eatSpace()?null:c.tokenize(x,c)},languageData:{autocomplete:i,commentTokens:{line:e.slashComments?"//":void 0,block:{open:"(*",close:"*)"}}}}}var Mi=sn({name:"ocaml",extraWords:{and:"keyword",assert:"keyword",begin:"keyword",class:"keyword",constraint:"keyword",done:"keyword",downto:"keyword",external:"keyword",function:"keyword",initializer:"keyword",lazy:"keyword",match:"keyword",method:"keyword",module:"keyword",mutable:"keyword",new:"keyword",nonrec:"keyword",object:"keyword",private:"keyword",sig:"keyword",to:"keyword",try:"keyword",value:"keyword",virtual:"keyword",when:"keyword",raise:"builtin",failwith:"builtin",true:"builtin",false:"builtin",asr:"builtin",land:"builtin",lor:"builtin",lsl:"builtin",lsr:"builtin",lxor:"builtin",mod:"builtin",or:"builtin",raise_notrace:"builtin",trace:"builtin",exit:"builtin",print_string:"builtin",print_endline:"builtin",int:"type",float:"type",bool:"type",char:"type",string:"type",unit:"type",List:"builtin"}}),Bi=sn({name:"fsharp",extraWords:{abstract:"keyword",assert:"keyword",base:"keyword",begin:"keyword",class:"keyword",default:"keyword",delegate:"keyword","do!":"keyword",done:"keyword",downcast:"keyword",downto:"keyword",elif:"keyword",extern:"keyword",finally:"keyword",for:"keyword",function:"keyword",global:"keyword",inherit:"keyword",inline:"keyword",interface:"keyword",internal:"keyword",lazy:"keyword","let!":"keyword",match:"keyword",member:"keyword",module:"keyword",mutable:"keyword",namespace:"keyword",new:"keyword",null:"keyword",override:"keyword",private:"keyword",public:"keyword","return!":"keyword",return:"keyword",select:"keyword",static:"keyword",to:"keyword",try:"keyword",upcast:"keyword","use!":"keyword",use:"keyword",void:"keyword",when:"keyword","yield!":"keyword",yield:"keyword",atomic:"keyword",break:"keyword",checked:"keyword",component:"keyword",const:"keyword",constraint:"keyword",constructor:"keyword",continue:"keyword",eager:"keyword",event:"keyword",external:"keyword",fixed:"keyword",method:"keyword",mixin:"keyword",object:"keyword",parallel:"keyword",process:"keyword",protected:"keyword",pure:"keyword",sealed:"keyword",tailcall:"keyword",trait:"keyword",virtual:"keyword",volatile:"keyword",List:"builtin",Seq:"builtin",Map:"builtin",Set:"builtin",Option:"builtin",int:"builtin",string:"builtin",not:"builtin",true:"builtin",false:"builtin",raise:"builtin",failwith:"builtin"},slashComments:!0}),ji=sn({name:"sml",extraWords:{abstype:"keyword",and:"keyword",andalso:"keyword",case:"keyword",datatype:"keyword",fn:"keyword",handle:"keyword",infix:"keyword",infixr:"keyword",local:"keyword",nonfix:"keyword",op:"keyword",orelse:"keyword",raise:"keyword",withtype:"keyword",eqtype:"keyword",sharing:"keyword",sig:"keyword",signature:"keyword",structure:"keyword",where:"keyword",true:"keyword",false:"keyword",int:"builtin",real:"builtin",string:"builtin",char:"builtin",bool:"builtin"},slashComments:!0});function un(e){for(var n={},t=e.split(" "),r=0;r<t.length;++r)n[t[r]]=!0;return n}var Wi=un("break return rewrite set accept_mutex accept_mutex_delay access_log add_after_body add_before_body add_header addition_types aio alias allow ancient_browser ancient_browser_value auth_basic auth_basic_user_file auth_http auth_http_header auth_http_timeout autoindex autoindex_exact_size autoindex_localtime charset charset_types client_body_buffer_size client_body_in_file_only client_body_in_single_buffer client_body_temp_path client_body_timeout client_header_buffer_size client_header_timeout client_max_body_size connection_pool_size create_full_put_path daemon dav_access dav_methods debug_connection debug_points default_type degradation degrade deny devpoll_changes devpoll_events directio directio_alignment empty_gif env epoll_events error_log eventport_events expires fastcgi_bind fastcgi_buffer_size fastcgi_buffers fastcgi_busy_buffers_size fastcgi_cache fastcgi_cache_key fastcgi_cache_methods fastcgi_cache_min_uses fastcgi_cache_path fastcgi_cache_use_stale fastcgi_cache_valid fastcgi_catch_stderr fastcgi_connect_timeout fastcgi_hide_header fastcgi_ignore_client_abort fastcgi_ignore_headers fastcgi_index fastcgi_intercept_errors fastcgi_max_temp_file_size fastcgi_next_upstream fastcgi_param fastcgi_pass_header fastcgi_pass_request_body fastcgi_pass_request_headers fastcgi_read_timeout fastcgi_send_lowat fastcgi_send_timeout fastcgi_split_path_info fastcgi_store fastcgi_store_access fastcgi_temp_file_write_size fastcgi_temp_path fastcgi_upstream_fail_timeout fastcgi_upstream_max_fails flv geoip_city geoip_country google_perftools_profiles gzip gzip_buffers gzip_comp_level gzip_disable gzip_hash gzip_http_version gzip_min_length gzip_no_buffer gzip_proxied gzip_static gzip_types gzip_vary gzip_window if_modified_since ignore_invalid_headers image_filter image_filter_buffer image_filter_jpeg_quality image_filter_transparency imap_auth imap_capabilities imap_client_buffer index ip_hash keepalive_requests keepalive_timeout kqueue_changes kqueue_events large_client_header_buffers limit_conn limit_conn_log_level limit_rate limit_rate_after limit_req limit_req_log_level limit_req_zone limit_zone lingering_time lingering_timeout lock_file log_format log_not_found log_subrequest map_hash_bucket_size map_hash_max_size master_process memcached_bind memcached_buffer_size memcached_connect_timeout memcached_next_upstream memcached_read_timeout memcached_send_timeout memcached_upstream_fail_timeout memcached_upstream_max_fails merge_slashes min_delete_depth modern_browser modern_browser_value msie_padding msie_refresh multi_accept open_file_cache open_file_cache_errors open_file_cache_events open_file_cache_min_uses open_file_cache_valid open_log_file_cache output_buffers override_charset perl perl_modules perl_require perl_set pid pop3_auth pop3_capabilities port_in_redirect postpone_gzipping postpone_output protocol proxy proxy_bind proxy_buffer proxy_buffer_size proxy_buffering proxy_buffers proxy_busy_buffers_size proxy_cache proxy_cache_key proxy_cache_methods proxy_cache_min_uses proxy_cache_path proxy_cache_use_stale proxy_cache_valid proxy_connect_timeout proxy_headers_hash_bucket_size proxy_headers_hash_max_size proxy_hide_header proxy_ignore_client_abort proxy_ignore_headers proxy_intercept_errors proxy_max_temp_file_size proxy_method proxy_next_upstream proxy_pass_error_message proxy_pass_header proxy_pass_request_body proxy_pass_request_headers proxy_read_timeout proxy_redirect proxy_send_lowat proxy_send_timeout proxy_set_body proxy_set_header proxy_ssl_session_reuse proxy_store proxy_store_access proxy_temp_file_write_size proxy_temp_path proxy_timeout proxy_upstream_fail_timeout proxy_upstream_max_fails random_index read_ahead real_ip_header recursive_error_pages request_pool_size reset_timedout_connection resolver resolver_timeout rewrite_log rtsig_overflow_events rtsig_overflow_test rtsig_overflow_threshold rtsig_signo satisfy secure_link_secret send_lowat send_timeout sendfile sendfile_max_chunk server_name_in_redirect server_names_hash_bucket_size server_names_hash_max_size server_tokens set_real_ip_from smtp_auth smtp_capabilities smtp_client_buffer smtp_greeting_delay so_keepalive source_charset ssi ssi_ignore_recycled_buffers ssi_min_file_chunk ssi_silent_errors ssi_types ssi_value_length ssl ssl_certificate ssl_certificate_key ssl_ciphers ssl_client_certificate ssl_crl ssl_dhparam ssl_engine ssl_prefer_server_ciphers ssl_protocols ssl_session_cache ssl_session_timeout ssl_verify_client ssl_verify_depth starttls stub_status sub_filter sub_filter_once sub_filter_types tcp_nodelay tcp_nopush thread_stack_size timeout timer_resolution types_hash_bucket_size types_hash_max_size underscores_in_headers uninitialized_variable_warn use user userid userid_domain userid_expires userid_mark userid_name userid_p3p userid_path userid_service valid_referers variables_hash_bucket_size variables_hash_max_size worker_connections worker_cpu_affinity worker_priority worker_processes worker_rlimit_core worker_rlimit_nofile worker_rlimit_sigpending worker_threads working_directory xclient xml_entities xslt_stylesheet xslt_typesdrew@li229-23"),Ui=un("http mail events server types location upstream charset_map limit_except if geo map"),Ki=un("include root server server_name listen internal proxy_pass memcached_pass fastcgi_pass try_files"),le;function Z(e,n){return le=n,e}function qe(e,n){e.eatWhile(/[\w\$_]/);var t=e.current();if(Wi.propertyIsEnumerable(t))return"keyword";if(Ui.propertyIsEnumerable(t))return"controlKeyword";if(Ki.propertyIsEnumerable(t))return"controlKeyword";var r=e.next();if(r=="@")return e.eatWhile(/[\w\\\-]/),Z("meta",e.current());if(r=="/"&&e.eat("*"))return n.tokenize=pt,pt(e,n);if(r=="<"&&e.eat("!"))return n.tokenize=mt,mt(e,n);if(r=="=")Z(null,"compare");else return(r=="~"||r=="|")&&e.eat("=")?Z(null,"compare"):r=='"'||r=="'"?(n.tokenize=Hi(r),n.tokenize(e,n)):r=="#"?(e.skipToEnd(),Z("comment","comment")):r=="!"?(e.match(/^\s*\w*/),Z("keyword","important")):/\d/.test(r)?(e.eatWhile(/[\w.%]/),Z("number","unit")):/[,.+>*\/]/.test(r)?Z(null,"select-op"):/[;{}:\[\]]/.test(r)?Z(null,r):(e.eatWhile(/[\w\\\-]/),Z("variable","variable"))}function pt(e,n){for(var t=!1,r;(r=e.next())!=null;){if(t&&r=="/"){n.tokenize=qe;break}t=r=="*"}return Z("comment","comment")}function mt(e,n){for(var t=0,r;(r=e.next())!=null;){if(t>=2&&r==">"){n.tokenize=qe;break}t=r=="-"?t+1:0}return Z("comment","comment")}function Hi(e){return function(n,t){for(var r=!1,i;(i=n.next())!=null&&!(i==e&&!r);)r=!r&&i=="\\";return r||(t.tokenize=qe),Z("string","string")}}var Gi={name:"nginx",startState:function(){return{tokenize:qe,baseIndent:0,stack:[]}},token:function(e,n){if(e.eatSpace())return null;le=null;var t=n.tokenize(e,n),r=n.stack[n.stack.length-1];return le=="hash"&&r=="rule"?t="atom":t=="variable"&&(r=="rule"?t="number":(!r||r=="@media{")&&(t="tag")),r=="rule"&&/^[\{\};]$/.test(le)&&n.stack.pop(),le=="{"?r=="@media"?n.stack[n.stack.length-1]="@media{":n.stack.push("{"):le=="}"?n.stack.pop():le=="@media"?n.stack.push("@media"):r=="{"&&le!="comment"&&n.stack.push("rule"),t},indent:function(e,n,t){var r=e.stack.length;return/^\}/.test(n)&&(r-=e.stack[e.stack.length-1]=="rule"?2:1),e.baseIndent+r*t.unit},languageData:{indentOnInput:/^\s*\}$/}};function dn(e){return new RegExp("^(("+e.join(")|(")+"))\\b")}var Zi=new RegExp("^[\\+\\-\\*/&|\\^~<>!@'\\\\]"),Qi=new RegExp("^[\\(\\[\\{\\},:=;\\.]"),Vi=new RegExp("^((==)|(~=)|(<=)|(>=)|(<<)|(>>)|(\\.[\\+\\-\\*/\\^\\\\]))"),Xi=new RegExp("^((!=)|(\\+=)|(\\-=)|(\\*=)|(/=)|(&=)|(\\|=)|(\\^=))"),Ji=new RegExp("^((>>=)|(<<=))"),Yi=new RegExp("^[\\]\\)]"),eo=new RegExp("^[_A-Za-z\xA1-\uFFFF][_A-Za-z0-9\xA1-\uFFFF]*"),no=dn(["error","eval","function","abs","acos","atan","asin","cos","cosh","exp","log","prod","sum","log10","max","min","sign","sin","sinh","sqrt","tan","reshape","break","zeros","default","margin","round","ones","rand","syn","ceil","floor","size","clear","zeros","eye","mean","std","cov","det","eig","inv","norm","rank","trace","expm","logm","sqrtm","linspace","plot","title","xlabel","ylabel","legend","text","grid","meshgrid","mesh","num2str","fft","ifft","arrayfun","cellfun","input","fliplr","flipud","ismember"]),to=dn(["return","case","switch","else","elseif","end","endif","endfunction","if","otherwise","do","for","while","try","catch","classdef","properties","events","methods","global","persistent","endfor","endwhile","printf","sprintf","disp","until","continue","pkg"]);function ht(e,n){return!e.sol()&&e.peek()==="'"?(e.next(),n.tokenize=me,"operator"):(n.tokenize=me,me(e,n))}function ro(e,n){return e.match(/^.*%}/)?(n.tokenize=me,"comment"):(e.skipToEnd(),"comment")}function me(e,n){if(e.eatSpace())return null;if(e.match("%{"))return n.tokenize=ro,e.skipToEnd(),"comment";if(e.match(/^[%#]/))return e.skipToEnd(),"comment";if(e.match(/^[0-9\.+-]/,!1)){if(e.match(/^[+-]?0x[0-9a-fA-F]+[ij]?/))return e.tokenize=me,"number";if(e.match(/^[+-]?\d*\.\d+([EeDd][+-]?\d+)?[ij]?/)||e.match(/^[+-]?\d+([EeDd][+-]?\d+)?[ij]?/))return"number"}if(e.match(dn(["nan","NaN","inf","Inf"])))return"number";var t=e.match(/^"(?:[^"]|"")*("|$)/)||e.match(/^'(?:[^']|'')*('|$)/);return t?t[1]?"string":"error":e.match(to)?"keyword":e.match(no)?"builtin":e.match(eo)?"variable":e.match(Zi)||e.match(Vi)?"operator":e.match(Qi)||e.match(Xi)||e.match(Ji)?null:e.match(Yi)?(n.tokenize=ht,null):(e.next(),"error")}var io={name:"octave",startState:function(){return{tokenize:me}},token:function(e,n){var t=n.tokenize(e,n);return(t==="number"||t==="variable")&&(n.tokenize=ht),t},languageData:{commentTokens:{line:"%"}}};function B(e,n){return e.string.charAt(e.pos+(n||0))}function gt(e,n){if(n){var t=e.pos-n;return e.string.substr(t>=0?t:0,n)}else return e.string.substr(0,e.pos-1)}function fn(e,n){var t=e.string.length,r=t-e.pos+1;return e.string.substr(e.pos,n&&n<t?n:r)}function N(e,n){var t=e.pos+n,r;t<=0?e.pos=0:t>=(r=e.string.length-1)?e.pos=r:e.pos=t}var ze={"->":4,"++":4,"--":4,"**":4,"=~":4,"!~":4,"*":4,"/":4,"%":4,x:4,"+":4,"-":4,".":4,"<<":4,">>":4,"<":4,">":4,"<=":4,">=":4,lt:4,gt:4,le:4,ge:4,"==":4,"!=":4,"<=>":4,eq:4,ne:4,cmp:4,"~~":4,"&":4,"|":4,"^":4,"&&":4,"||":4,"//":4,"..":4,"...":4,"?":4,":":4,"=":4,"+=":4,"-=":4,"*=":4,",":4,"=>":4,"::":4,not:4,and:4,or:4,xor:4,BEGIN:[5,1],END:[5,1],PRINT:[5,1],PRINTF:[5,1],GETC:[5,1],READ:[5,1],READLINE:[5,1],DESTROY:[5,1],TIE:[5,1],TIEHANDLE:[5,1],UNTIE:[5,1],STDIN:5,STDIN_TOP:5,STDOUT:5,STDOUT_TOP:5,STDERR:5,STDERR_TOP:5,$ARG:5,$_:5,"@ARG":5,"@_":5,$LIST_SEPARATOR:5,'$"':5,$PROCESS_ID:5,$PID:5,$$:5,$REAL_GROUP_ID:5,$GID:5,"$(":5,$EFFECTIVE_GROUP_ID:5,$EGID:5,"$)":5,$PROGRAM_NAME:5,$0:5,$SUBSCRIPT_SEPARATOR:5,$SUBSEP:5,"$;":5,$REAL_USER_ID:5,$UID:5,"$<":5,$EFFECTIVE_USER_ID:5,$EUID:5,"$>":5,$a:5,$b:5,$COMPILING:5,"$^C":5,$DEBUGGING:5,"$^D":5,"${^ENCODING}":5,$ENV:5,"%ENV":5,$SYSTEM_FD_MAX:5,"$^F":5,"@F":5,"${^GLOBAL_PHASE}":5,"$^H":5,"%^H":5,"@INC":5,"%INC":5,$INPLACE_EDIT:5,"$^I":5,"$^M":5,$OSNAME:5,"$^O":5,"${^OPEN}":5,$PERLDB:5,"$^P":5,$SIG:5,"%SIG":5,$BASETIME:5,"$^T":5,"${^TAINT}":5,"${^UNICODE}":5,"${^UTF8CACHE}":5,"${^UTF8LOCALE}":5,$PERL_VERSION:5,"$^V":5,"${^WIN32_SLOPPY_STAT}":5,$EXECUTABLE_NAME:5,"$^X":5,$1:5,$MATCH:5,"$&":5,"${^MATCH}":5,$PREMATCH:5,"$`":5,"${^PREMATCH}":5,$POSTMATCH:5,"$'":5,"${^POSTMATCH}":5,$LAST_PAREN_MATCH:5,"$+":5,$LAST_SUBMATCH_RESULT:5,"$^N":5,"@LAST_MATCH_END":5,"@+":5,"%LAST_PAREN_MATCH":5,"%+":5,"@LAST_MATCH_START":5,"@-":5,"%LAST_MATCH_START":5,"%-":5,$LAST_REGEXP_CODE_RESULT:5,"$^R":5,"${^RE_DEBUG_FLAGS}":5,"${^RE_TRIE_MAXBUF}":5,$ARGV:5,"@ARGV":5,ARGV:5,ARGVOUT:5,$OUTPUT_FIELD_SEPARATOR:5,$OFS:5,"$,":5,$INPUT_LINE_NUMBER:5,$NR:5,"$.":5,$INPUT_RECORD_SEPARATOR:5,$RS:5,"$/":5,$OUTPUT_RECORD_SEPARATOR:5,$ORS:5,"$\\":5,$OUTPUT_AUTOFLUSH:5,"$|":5,$ACCUMULATOR:5,"$^A":5,$FORMAT_FORMFEED:5,"$^L":5,$FORMAT_PAGE_NUMBER:5,"$%":5,$FORMAT_LINES_LEFT:5,"$-":5,$FORMAT_LINE_BREAK_CHARACTERS:5,"$:":5,$FORMAT_LINES_PER_PAGE:5,"$=":5,$FORMAT_TOP_NAME:5,"$^":5,$FORMAT_NAME:5,"$~":5,"${^CHILD_ERROR_NATIVE}":5,$EXTENDED_OS_ERROR:5,"$^E":5,$EXCEPTIONS_BEING_CAUGHT:5,"$^S":5,$WARNING:5,"$^W":5,"${^WARNING_BITS}":5,$OS_ERROR:5,$ERRNO:5,"$!":5,"%OS_ERROR":5,"%ERRNO":5,"%!":5,$CHILD_ERROR:5,"$?":5,$EVAL_ERROR:5,"$@":5,$OFMT:5,"$#":5,"$*":5,$ARRAY_BASE:5,"$[":5,$OLD_PERL_VERSION:5,"$]":5,if:[1,1],elsif:[1,1],else:[1,1],while:[1,1],unless:[1,1],for:[1,1],foreach:[1,1],abs:1,accept:1,alarm:1,atan2:1,bind:1,binmode:1,bless:1,bootstrap:1,break:1,caller:1,chdir:1,chmod:1,chomp:1,chop:1,chown:1,chr:1,chroot:1,close:1,closedir:1,connect:1,continue:[1,1],cos:1,crypt:1,dbmclose:1,dbmopen:1,default:1,defined:1,delete:1,die:1,do:1,dump:1,each:1,endgrent:1,endhostent:1,endnetent:1,endprotoent:1,endpwent:1,endservent:1,eof:1,eval:1,exec:1,exists:1,exit:1,exp:1,fcntl:1,fileno:1,flock:1,fork:1,format:1,formline:1,getc:1,getgrent:1,getgrgid:1,getgrnam:1,gethostbyaddr:1,gethostbyname:1,gethostent:1,getlogin:1,getnetbyaddr:1,getnetbyname:1,getnetent:1,getpeername:1,getpgrp:1,getppid:1,getpriority:1,getprotobyname:1,getprotobynumber:1,getprotoent:1,getpwent:1,getpwnam:1,getpwuid:1,getservbyname:1,getservbyport:1,getservent:1,getsockname:1,getsockopt:1,given:1,glob:1,gmtime:1,goto:1,grep:1,hex:1,import:1,index:1,int:1,ioctl:1,join:1,keys:1,kill:1,last:1,lc:1,lcfirst:1,length:1,link:1,listen:1,local:2,localtime:1,lock:1,log:1,lstat:1,m:null,map:1,mkdir:1,msgctl:1,msgget:1,msgrcv:1,msgsnd:1,my:2,new:1,next:1,no:1,oct:1,open:1,opendir:1,ord:1,our:2,pack:1,package:1,pipe:1,pop:1,pos:1,print:1,printf:1,prototype:1,push:1,q:null,qq:null,qr:null,quotemeta:null,qw:null,qx:null,rand:1,read:1,readdir:1,readline:1,readlink:1,readpipe:1,recv:1,redo:1,ref:1,rename:1,require:1,reset:1,return:1,reverse:1,rewinddir:1,rindex:1,rmdir:1,s:null,say:1,scalar:1,seek:1,seekdir:1,select:1,semctl:1,semget:1,semop:1,send:1,setgrent:1,sethostent:1,setnetent:1,setpgrp:1,setpriority:1,setprotoent:1,setpwent:1,setservent:1,setsockopt:1,shift:1,shmctl:1,shmget:1,shmread:1,shmwrite:1,shutdown:1,sin:1,sleep:1,socket:1,socketpair:1,sort:1,splice:1,split:1,sprintf:1,sqrt:1,srand:1,stat:1,state:1,study:1,sub:1,substr:1,symlink:1,syscall:1,sysopen:1,sysread:1,sysseek:1,system:1,syswrite:1,tell:1,telldir:1,tie:1,tied:1,time:1,times:1,tr:null,truncate:1,uc:1,ucfirst:1,umask:1,undef:1,unlink:1,unpack:1,unshift:1,untie:1,use:1,utime:1,values:1,vec:1,wait:1,waitpid:1,wantarray:1,warn:1,when:1,write:1,y:null},A="string.special",P=/[goseximacplud]/;function _(e,n,t,r,i){return n.chain=null,n.style=null,n.tail=null,n.tokenize=function(o,a){for(var p=!1,S,E=0;S=o.next();){if(S===t[E]&&!p)return t[++E]!==void 0?(a.chain=t[E],a.style=r,a.tail=i):i&&o.eatWhile(i),a.tokenize=Fe,r;p=!p&&S=="\\"}return r},n.tokenize(e,n)}function pn(e,n,t){return n.tokenize=function(r,i){return r.string==t&&(i.tokenize=Fe),r.skipToEnd(),"string"},n.tokenize(e,n)}function Fe(e,n){if(e.eatSpace())return null;if(n.chain)return _(e,n,n.chain,n.style,n.tail);if(e.match(/^(\-?((\d[\d_]*)?\.\d+(e[+-]?\d+)?|\d+\.\d*)|0x[\da-fA-F_]+|0b[01_]+|\d[\d_]*(e[+-]?\d+)?)/))return"number";if(e.match(/^<<(?=[_a-zA-Z])/))return e.eatWhile(/\w/),pn(e,n,e.current().substr(2));if(e.sol()&&e.match(/^\=item(?!\w)/))return pn(e,n,"=cut");var t=e.next();if(t=='"'||t=="'"){if(gt(e,3)=="<<"+t){var r=e.pos;e.eatWhile(/\w/);var i=e.current().substr(1);if(i&&e.eat(t))return pn(e,n,i);e.pos=r}return _(e,n,[t],"string")}if(t=="q"){var o=B(e,-2);if(!(o&&/\w/.test(o))){if(o=B(e,0),o=="x"){if(o=B(e,1),o=="(")return N(e,2),_(e,n,[")"],A,P);if(o=="[")return N(e,2),_(e,n,["]"],A,P);if(o=="{")return N(e,2),_(e,n,["}"],A,P);if(o=="<")return N(e,2),_(e,n,[">"],A,P);if(/[\^'"!~\/]/.test(o))return N(e,1),_(e,n,[e.eat(o)],A,P)}else if(o=="q"){if(o=B(e,1),o=="(")return N(e,2),_(e,n,[")"],"string");if(o=="[")return N(e,2),_(e,n,["]"],"string");if(o=="{")return N(e,2),_(e,n,["}"],"string");if(o=="<")return N(e,2),_(e,n,[">"],"string");if(/[\^'"!~\/]/.test(o))return N(e,1),_(e,n,[e.eat(o)],"string")}else if(o=="w"){if(o=B(e,1),o=="(")return N(e,2),_(e,n,[")"],"bracket");if(o=="[")return N(e,2),_(e,n,["]"],"bracket");if(o=="{")return N(e,2),_(e,n,["}"],"bracket");if(o=="<")return N(e,2),_(e,n,[">"],"bracket");if(/[\^'"!~\/]/.test(o))return N(e,1),_(e,n,[e.eat(o)],"bracket")}else if(o=="r"){if(o=B(e,1),o=="(")return N(e,2),_(e,n,[")"],A,P);if(o=="[")return N(e,2),_(e,n,["]"],A,P);if(o=="{")return N(e,2),_(e,n,["}"],A,P);if(o=="<")return N(e,2),_(e,n,[">"],A,P);if(/[\^'"!~\/]/.test(o))return N(e,1),_(e,n,[e.eat(o)],A,P)}else if(/[\^'"!~\/(\[{<]/.test(o)){if(o=="(")return N(e,1),_(e,n,[")"],"string");if(o=="[")return N(e,1),_(e,n,["]"],"string");if(o=="{")return N(e,1),_(e,n,["}"],"string");if(o=="<")return N(e,1),_(e,n,[">"],"string");if(/[\^'"!~\/]/.test(o))return _(e,n,[e.eat(o)],"string")}}}if(t=="m"){var o=B(e,-2);if(!(o&&/\w/.test(o))&&(o=e.eat(/[(\[{<\^'"!~\/]/),o)){if(/[\^'"!~\/]/.test(o))return _(e,n,[o],A,P);if(o=="(")return _(e,n,[")"],A,P);if(o=="[")return _(e,n,["]"],A,P);if(o=="{")return _(e,n,["}"],A,P);if(o=="<")return _(e,n,[">"],A,P)}}if(t=="s"){var o=/[\/>\]})\w]/.test(B(e,-2));if(!o&&(o=e.eat(/[(\[{<\^'"!~\/]/),o))return o=="["?_(e,n,["]","]"],A,P):o=="{"?_(e,n,["}","}"],A,P):o=="<"?_(e,n,[">",">"],A,P):o=="("?_(e,n,[")",")"],A,P):_(e,n,[o,o],A,P)}if(t=="y"){var o=/[\/>\]})\w]/.test(B(e,-2));if(!o&&(o=e.eat(/[(\[{<\^'"!~\/]/),o))return o=="["?_(e,n,["]","]"],A,P):o=="{"?_(e,n,["}","}"],A,P):o=="<"?_(e,n,[">",">"],A,P):o=="("?_(e,n,[")",")"],A,P):_(e,n,[o,o],A,P)}if(t=="t"){var o=/[\/>\]})\w]/.test(B(e,-2));if(!o&&(o=e.eat("r"),o&&(o=e.eat(/[(\[{<\^'"!~\/]/),o)))return o=="["?_(e,n,["]","]"],A,P):o=="{"?_(e,n,["}","}"],A,P):o=="<"?_(e,n,[">",">"],A,P):o=="("?_(e,n,[")",")"],A,P):_(e,n,[o,o],A,P)}if(t=="`")return _(e,n,[t],"builtin");if(t=="/")return/~\s*$/.test(gt(e))?_(e,n,[t],A,P):"operator";if(t=="$"){var r=e.pos;if(e.eatWhile(/\d/)||e.eat("{")&&e.eatWhile(/\d/)&&e.eat("}"))return"builtin";e.pos=r}if(/[$@%]/.test(t)){var r=e.pos;if(e.eat("^")&&e.eat(/[A-Z]/)||!/[@$%&]/.test(B(e,-2))&&e.eat(/[=|\\\-#?@;:&`~\^!\[\]*'"$+.,\/<>()]/)){var o=e.current();if(ze[o])return"builtin"}e.pos=r}if(/[$@%&]/.test(t)&&(e.eatWhile(/[\w$]/)||e.eat("{")&&e.eatWhile(/[\w$]/)&&e.eat("}"))){var o=e.current();return ze[o]?"builtin":"variable"}if(t=="#"&&B(e,-2)!="$")return e.skipToEnd(),"comment";if(/[:+\-\^*$&%@=<>!?|\/~\.]/.test(t)){var r=e.pos;if(e.eatWhile(/[:+\-\^*$&%@=<>!?|\/~\.]/),ze[e.current()])return"operator";e.pos=r}if(t=="_"&&e.pos==1){if(fn(e,6)=="_END__")return _(e,n,["\0"],"comment");if(fn(e,7)=="_DATA__")return _(e,n,["\0"],"builtin");if(fn(e,7)=="_C__")return _(e,n,["\0"],"string")}if(/\w/.test(t)){var r=e.pos;if(B(e,-2)=="{"&&(B(e,0)=="}"||e.eatWhile(/\w/)&&B(e,0)=="}"))return"string";e.pos=r}if(/[A-Z]/.test(t)){var a=B(e,-2),r=e.pos;if(e.eatWhile(/[A-Z_]/),/[\da-z]/.test(B(e,0)))e.pos=r;else{var o=ze[e.current()];return o?(o[1]&&(o=o[0]),a!=":"?o==1?"keyword":o==2?"def":o==3?"atom":o==4?"operator":o==5?"builtin":"meta":"meta"):"meta"}}if(/[a-zA-Z_]/.test(t)){var a=B(e,-2);e.eatWhile(/\w/);var o=ze[e.current()];return o?(o[1]&&(o=o[0]),a!=":"?o==1?"keyword":o==2?"def":o==3?"atom":o==4?"operator":o==5?"builtin":"meta":"meta"):"meta"}return null}var oo={name:"perl",startState:function(){return{tokenize:Fe,chain:null,style:null,tail:null}},token:function(e,n){return(n.tokenize||Fe)(e,n)},languageData:{commentTokens:{line:"#"},wordChars:"$"}};function ao(e){for(var n={},t=e.split(" "),r=0;r<t.length;++r)n[t[r]]=!0;return n}var lo=ao("absolute and array asm begin case const constructor destructor div do downto else end file for function goto if implementation in inherited inline interface label mod nil not object of operator or packed procedure program record reintroduce repeat self set shl shr string then to type unit until uses var while with xor as class dispinterface except exports finalization finally initialization inline is library on out packed property raise resourcestring threadvar try absolute abstract alias assembler bitpacked break cdecl continue cppdecl cvar default deprecated dynamic enumerator experimental export external far far16 forward generic helper implements index interrupt iocheck local message name near nodefault noreturn nostackframe oldfpccall otherwise overload override pascal platform private protected public published read register reintroduce result safecall saveregisters softfloat specialize static stdcall stored strict unaligned unimplemented varargs virtual write"),co={null:!0},bt=/[+\-*&%=<>!?|\/]/;function so(e,n){var t=e.next();if(t=="#"&&n.startOfLine)return e.skipToEnd(),"meta";if(t=='"'||t=="'")return n.tokenize=uo(t),n.tokenize(e,n);if(t=="("&&e.eat("*"))return n.tokenize=yt,yt(e,n);if(t=="{")return n.tokenize=vt,vt(e,n);if(/[\[\]\(\),;\:\.]/.test(t))return null;if(/\d/.test(t))return e.eatWhile(/[\w\.]/),"number";if(t=="/"&&e.eat("/"))return e.skipToEnd(),"comment";if(bt.test(t))return e.eatWhile(bt),"operator";e.eatWhile(/[\w\$_]/);var r=e.current().toLowerCase();return lo.propertyIsEnumerable(r)?"keyword":co.propertyIsEnumerable(r)?"atom":"variable"}function uo(e){return function(n,t){for(var r=!1,i,o=!1;(i=n.next())!=null;){if(i==e&&!r){o=!0;break}r=!r&&i=="\\"}return(o||!r)&&(t.tokenize=null),"string"}}function yt(e,n){for(var t=!1,r;r=e.next();){if(r==")"&&t){n.tokenize=null;break}t=r=="*"}return"comment"}function vt(e,n){for(var t;t=e.next();)if(t=="}"){n.tokenize=null;break}return"comment"}var fo={name:"pascal",startState:function(){return{tokenize:null}},token:function(e,n){if(e.eatSpace())return null;var t=(n.tokenize||so)(e,n);return t=="comment"||t=="meta",t},languageData:{indentOnInput:/^\s*[{}]$/,commentTokens:{block:{open:"(*",close:"*)"}}}};function he(e,n){n=n||{};for(var t=n.prefix!==void 0?n.prefix:"^",r=n.suffix!==void 0?n.suffix:"\\b",i=0;i<e.length;i++)e[i]instanceof RegExp?e[i]=e[i].source:e[i]=e[i].replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&");return new RegExp(t+"("+e.join("|")+")"+r,"i")}var wt="(?=[^A-Za-z\\d\\-_]|$)",mn=/[\w\-:]/,po=he([/begin|break|catch|continue|data|default|do|dynamicparam/,/else|elseif|end|exit|filter|finally|for|foreach|from|function|if|in/,/param|process|return|switch|throw|trap|try|until|where|while/],{suffix:wt}),mo=/[\[\]{},;`\\\.]|@[({]/,ho=he(["f",/b?not/,/[ic]?split/,"join",/is(not)?/,"as",/[ic]?(eq|ne|[gl][te])/,/[ic]?(not)?(like|match|contains)/,/[ic]?replace/,/b?(and|or|xor)/],{prefix:"-"}),go=/[+\-*\/%]=|\+\+|--|\.\.|[+\-*&^%:=!|\/]|<(?!#)|(?!#)>/,bo=he([ho,go],{suffix:""}),yo=/^((0x[\da-f]+)|((\d+\.\d+|\d\.|\.\d+|\d+)(e[\+\-]?\d+)?))[ld]?([kmgtp]b)?/i,vo=/^[A-Za-z\_][A-Za-z\-\_\d]*\b/,ko=/[A-Z]:|%|\?/i,_o=he([/Add-(Computer|Content|History|Member|PSSnapin|Type)/,/Checkpoint-Computer/,/Clear-(Content|EventLog|History|Host|Item(Property)?|Variable)/,/Compare-Object/,/Complete-Transaction/,/Connect-PSSession/,/ConvertFrom-(Csv|Json|SecureString|StringData)/,/Convert-Path/,/ConvertTo-(Csv|Html|Json|SecureString|Xml)/,/Copy-Item(Property)?/,/Debug-Process/,/Disable-(ComputerRestore|PSBreakpoint|PSRemoting|PSSessionConfiguration)/,/Disconnect-PSSession/,/Enable-(ComputerRestore|PSBreakpoint|PSRemoting|PSSessionConfiguration)/,/(Enter|Exit)-PSSession/,/Export-(Alias|Clixml|Console|Counter|Csv|FormatData|ModuleMember|PSSession)/,/ForEach-Object/,/Format-(Custom|List|Table|Wide)/,new RegExp("Get-(Acl|Alias|AuthenticodeSignature|ChildItem|Command|ComputerRestorePoint|Content|ControlPanelItem|Counter|Credential|Culture|Date|Event|EventLog|EventSubscriber|ExecutionPolicy|FormatData|Help|History|Host|HotFix|Item|ItemProperty|Job|Location|Member|Module|PfxCertificate|Process|PSBreakpoint|PSCallStack|PSDrive|PSProvider|PSSession|PSSessionConfiguration|PSSnapin|Random|Service|TraceSource|Transaction|TypeData|UICulture|Unique|Variable|Verb|WinEvent|WmiObject)"),/Group-Object/,/Import-(Alias|Clixml|Counter|Csv|LocalizedData|Module|PSSession)/,/ImportSystemModules/,/Invoke-(Command|Expression|History|Item|RestMethod|WebRequest|WmiMethod)/,/Join-Path/,/Limit-EventLog/,/Measure-(Command|Object)/,/Move-Item(Property)?/,new RegExp("New-(Alias|Event|EventLog|Item(Property)?|Module|ModuleManifest|Object|PSDrive|PSSession|PSSessionConfigurationFile|PSSessionOption|PSTransportOption|Service|TimeSpan|Variable|WebServiceProxy|WinEvent)"),/Out-(Default|File|GridView|Host|Null|Printer|String)/,/Pause/,/(Pop|Push)-Location/,/Read-Host/,/Receive-(Job|PSSession)/,/Register-(EngineEvent|ObjectEvent|PSSessionConfiguration|WmiEvent)/,/Remove-(Computer|Event|EventLog|Item(Property)?|Job|Module|PSBreakpoint|PSDrive|PSSession|PSSnapin|TypeData|Variable|WmiObject)/,/Rename-(Computer|Item(Property)?)/,/Reset-ComputerMachinePassword/,/Resolve-Path/,/Restart-(Computer|Service)/,/Restore-Computer/,/Resume-(Job|Service)/,/Save-Help/,/Select-(Object|String|Xml)/,/Send-MailMessage/,new RegExp("Set-(Acl|Alias|AuthenticodeSignature|Content|Date|ExecutionPolicy|Item(Property)?|Location|PSBreakpoint|PSDebug|PSSessionConfiguration|Service|StrictMode|TraceSource|Variable|WmiInstance)"),/Show-(Command|ControlPanelItem|EventLog)/,/Sort-Object/,/Split-Path/,/Start-(Job|Process|Service|Sleep|Transaction|Transcript)/,/Stop-(Computer|Job|Process|Service|Transcript)/,/Suspend-(Job|Service)/,/TabExpansion2/,/Tee-Object/,/Test-(ComputerSecureChannel|Connection|ModuleManifest|Path|PSSessionConfigurationFile)/,/Trace-Command/,/Unblock-File/,/Undo-Transaction/,/Unregister-(Event|PSSessionConfiguration)/,/Update-(FormatData|Help|List|TypeData)/,/Use-Transaction/,/Wait-(Event|Job|Process)/,/Where-Object/,/Write-(Debug|Error|EventLog|Host|Output|Progress|Verbose|Warning)/,/cd|help|mkdir|more|oss|prompt/,/ac|asnp|cat|cd|chdir|clc|clear|clhy|cli|clp|cls|clv|cnsn|compare|copy|cp|cpi|cpp|cvpa|dbp|del|diff|dir|dnsn|ebp/,/echo|epal|epcsv|epsn|erase|etsn|exsn|fc|fl|foreach|ft|fw|gal|gbp|gc|gci|gcm|gcs|gdr|ghy|gi|gjb|gl|gm|gmo|gp|gps/,/group|gsn|gsnp|gsv|gu|gv|gwmi|h|history|icm|iex|ihy|ii|ipal|ipcsv|ipmo|ipsn|irm|ise|iwmi|iwr|kill|lp|ls|man|md/,/measure|mi|mount|move|mp|mv|nal|ndr|ni|nmo|npssc|nsn|nv|ogv|oh|popd|ps|pushd|pwd|r|rbp|rcjb|rcsn|rd|rdr|ren|ri/,/rjb|rm|rmdir|rmo|rni|rnp|rp|rsn|rsnp|rujb|rv|rvpa|rwmi|sajb|sal|saps|sasv|sbp|sc|select|set|shcm|si|sl|sleep|sls/,/sort|sp|spjb|spps|spsv|start|sujb|sv|swmi|tee|trcm|type|where|wjb|write/],{prefix:"",suffix:""}),xo=he([/[$?^_]|Args|ConfirmPreference|ConsoleFileName|DebugPreference|Error|ErrorActionPreference|ErrorView|ExecutionContext/,/FormatEnumerationLimit|Home|Host|Input|MaximumAliasCount|MaximumDriveCount|MaximumErrorCount|MaximumFunctionCount/,/MaximumHistoryCount|MaximumVariableCount|MyInvocation|NestedPromptLevel|OutputEncoding|Pid|Profile|ProgressPreference/,/PSBoundParameters|PSCommandPath|PSCulture|PSDefaultParameterValues|PSEmailServer|PSHome|PSScriptRoot|PSSessionApplicationName/,/PSSessionConfigurationName|PSSessionOption|PSUICulture|PSVersionTable|Pwd|ShellId|StackTrace|VerbosePreference/,/WarningPreference|WhatIfPreference/,/Event|EventArgs|EventSubscriber|Sender/,/Matches|Ofs|ForEach|LastExitCode|PSCmdlet|PSItem|PSSenderInfo|This/,/true|false|null/],{prefix:"\\$",suffix:""}),wo=he([ko,_o,xo],{suffix:wt}),kt={keyword:po,number:yo,operator:bo,builtin:wo,punctuation:mo,variable:vo};function te(e,n){var t=n.returnStack[n.returnStack.length-1];if(t&&t.shouldReturnFrom(n))return n.tokenize=t.tokenize,n.returnStack.pop(),n.tokenize(e,n);if(e.eatSpace())return null;if(e.eat("("))return n.bracketNesting+=1,"punctuation";if(e.eat(")"))return n.bracketNesting-=1,"punctuation";for(var r in kt)if(e.match(kt[r]))return r;var i=e.next();if(i==="'")return So(e,n);if(i==="$")return hn(e,n);if(i==='"')return St(e,n);if(i==="<"&&e.eat("#"))return n.tokenize=_t,_t(e,n);if(i==="#")return e.skipToEnd(),"comment";if(i==="@"){var o=e.eat(/["']/);if(o&&e.eol())return n.tokenize=Me,n.startQuote=o[0],Me(e,n);if(e.eol())return"error";if(e.peek().match(/[({]/))return"punctuation";if(e.peek().match(mn))return hn(e,n)}return"error"}function So(e,n){for(var t;(t=e.peek())!=null;)if(e.next(),t==="'"&&!e.eat("'"))return n.tokenize=te,"string";return"error"}function St(e,n){for(var t;(t=e.peek())!=null;){if(t==="$")return n.tokenize=zo,"string";if(e.next(),t==="`"){e.next();continue}if(t==='"'&&!e.eat('"'))return n.tokenize=te,"string"}return"error"}function zo(e,n){return zt(e,n,St)}function Eo(e,n){return n.tokenize=Me,n.startQuote='"',Me(e,n)}function To(e,n){return zt(e,n,Eo)}function zt(e,n,t){if(e.match("$(")){var r=n.bracketNesting;return n.returnStack.push({shouldReturnFrom:function(i){return i.bracketNesting===r},tokenize:t}),n.tokenize=te,n.bracketNesting+=1,"punctuation"}else return e.next(),n.returnStack.push({shouldReturnFrom:function(){return!0},tokenize:t}),n.tokenize=hn,n.tokenize(e,n)}function _t(e,n){for(var t=!1,r;(r=e.next())!=null;){if(t&&r==">"){n.tokenize=te;break}t=r==="#"}return"comment"}function hn(e,n){var t=e.peek();return e.eat("{")?(n.tokenize=xt,xt(e,n)):t!=null&&t.match(mn)?(e.eatWhile(mn),n.tokenize=te,"variable"):(n.tokenize=te,"error")}function xt(e,n){for(var t;(t=e.next())!=null;)if(t==="}"){n.tokenize=te;break}return"variable"}function Me(e,n){var t=n.startQuote;if(e.sol()&&e.match(new RegExp(t+"@")))n.tokenize=te;else if(t==='"')for(;!e.eol();){var r=e.peek();if(r==="$")return n.tokenize=To,"string";e.next(),r==="`"&&e.next()}else e.skipToEnd();return"string"}var Co={name:"powershell",startState:function(){return{returnStack:[],bracketNesting:0,tokenize:te}},token:function(e,n){return n.tokenize(e,n)},languageData:{commentTokens:{line:"#",block:{open:"<#",close:"#>"}}}};var Io={name:"properties",token:function(e,n){var t=e.sol()||n.afterSection,r=e.eol();if(n.afterSection=!1,t&&(n.nextMultiline?(n.inMultiline=!0,n.nextMultiline=!1):n.position="def"),r&&!n.nextMultiline&&(n.inMultiline=!1,n.position="def"),t)for(;e.eatSpace(););var i=e.next();return t&&(i==="#"||i==="!"||i===";")?(n.position="comment",e.skipToEnd(),"comment"):t&&i==="["?(n.afterSection=!0,e.skipTo("]"),e.eat("]"),"header"):i==="="||i===":"?(n.position="quote",null):(i==="\\"&&n.position==="quote"&&e.eol()&&(n.nextMultiline=!0),n.position)},startState:function(){return{position:"def",nextMultiline:!1,inMultiline:!1,afterSection:!1}}};function gn(e){return new RegExp("^(("+e.join(")|(")+"))\\b")}var Ro=gn(["and","or","not","is"]),Et=["as","assert","break","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","lambda","pass","raise","return","try","while","with","yield","in","False","True"],Tt=["abs","all","any","bin","bool","bytearray","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip","__import__","NotImplemented","Ellipsis","__debug__"];function Q(e){return e.scopes[e.scopes.length-1]}function Ct(e){for(var n="error",t=e.delimiters||e.singleDelimiters||/^[\(\)\[\]\{\}@,:`=;\.\\]/,r=[e.singleOperators,e.doubleOperators,e.doubleDelimiters,e.tripleDelimiters,e.operators||/^([-+*/%\/&|^]=?|[<>=]+|\/\/=?|\*\*=?|!=|[~!@]|\.\.\.)/],i=0;i<r.length;i++)r[i]||r.splice(i--,1);var o=e.hangingIndent,a=Et,p=Tt;e.extra_keywords!=null&&(a=a.concat(e.extra_keywords)),e.extra_builtins!=null&&(p=p.concat(e.extra_builtins));var S=!(e.version&&Number(e.version)<3);if(S){var E=e.identifiers||/^[_A-Za-z\u00A1-\uFFFF][_A-Za-z0-9\u00A1-\uFFFF]*/;a=a.concat(["nonlocal","None","aiter","anext","async","await","breakpoint","match","case"]),p=p.concat(["ascii","bytes","exec","print"]);var x=new RegExp(`^(([rbuf]|(br)|(rb)|(fr)|(rf))?('{3}|"{3}|['"]))`,"i")}else{var E=e.identifiers||/^[_A-Za-z][_A-Za-z0-9]*/;a=a.concat(["exec","print"]),p=p.concat(["apply","basestring","buffer","cmp","coerce","execfile","file","intern","long","raw_input","reduce","reload","unichr","unicode","xrange","None"]);var x=new RegExp(`^(([rubf]|(ur)|(br))?('{3}|"{3}|['"]))`,"i")}var c=gn(a),d=gn(p);function y(l,s){var I=l.sol()&&s.lastToken!="\\";if(I&&(s.indent=l.indentation()),I&&Q(s).type=="py"){var k=Q(s).offset;if(l.eatSpace()){var L=l.indentation();return L>k?u(l,s):L<k&&w(l,s)&&l.peek()!="#"&&(s.errorToken=!0),null}else{var m=O(l,s);return k>0&&w(l,s)&&(m+=" "+n),m}}return O(l,s)}function O(l,s,I){if(l.eatSpace())return null;if(!I&&l.match(/^#.*/))return"comment";if(l.match(/^[0-9\.]/,!1)){var k=!1;if(l.match(/^[\d_]*\.\d+(e[\+\-]?\d+)?/i)&&(k=!0),l.match(/^[\d_]+\.\d*/)&&(k=!0),l.match(/^\.\d+/)&&(k=!0),k)return l.eat(/J/i),"number";var L=!1;if(l.match(/^0x[0-9a-f_]+/i)&&(L=!0),l.match(/^0b[01_]+/i)&&(L=!0),l.match(/^0o[0-7_]+/i)&&(L=!0),l.match(/^[1-9][\d_]*(e[\+\-]?[\d_]+)?/)&&(l.eat(/J/i),L=!0),l.match(/^0(?![\dx])/i)&&(L=!0),L)return l.eat(/L/i),"number"}if(l.match(x)){var m=l.current().toLowerCase().indexOf("f")!==-1;return m?(s.tokenize=K(l.current(),s.tokenize),s.tokenize(l,s)):(s.tokenize=M(l.current(),s.tokenize),s.tokenize(l,s))}for(var f=0;f<r.length;f++)if(l.match(r[f]))return"operator";return l.match(t)?"punctuation":s.lastToken=="."&&l.match(E)?"property":l.match(c)||l.match(Ro)?"keyword":l.match(d)?"builtin":l.match(/^(self|cls)\b/)?"self":l.match(E)?s.lastToken=="def"||s.lastToken=="class"?"def":"variable":(l.next(),I?null:n)}function K(l,s){for(;"rubf".indexOf(l.charAt(0).toLowerCase())>=0;)l=l.substr(1);var I=l.length==1,k="string";function L(f){return function(z,v){var D=O(z,v,!0);return D=="punctuation"&&(z.current()=="{"?v.tokenize=L(f+1):z.current()=="}"&&(f>1?v.tokenize=L(f-1):v.tokenize=m)),D}}function m(f,z){for(;!f.eol();)if(f.eatWhile(/[^'"\{\}\\]/),f.eat("\\")){if(f.next(),I&&f.eol())return k}else{if(f.match(l))return z.tokenize=s,k;if(f.match("{{"))return k;if(f.match("{",!1))return z.tokenize=L(0),f.current()?k:z.tokenize(f,z);if(f.match("}}"))return k;if(f.match("}"))return n;f.eat(/['"]/)}if(I){if(e.singleLineStringErrors)return n;z.tokenize=s}return k}return m.isString=!0,m}function M(l,s){for(;"rubf".indexOf(l.charAt(0).toLowerCase())>=0;)l=l.substr(1);var I=l.length==1,k="string";function L(m,f){for(;!m.eol();)if(m.eatWhile(/[^'"\\]/),m.eat("\\")){if(m.next(),I&&m.eol())return k}else{if(m.match(l))return f.tokenize=s,k;m.eat(/['"]/)}if(I){if(e.singleLineStringErrors)return n;f.tokenize=s}return k}return L.isString=!0,L}function u(l,s){for(;Q(s).type!="py";)s.scopes.pop();s.scopes.push({offset:Q(s).offset+l.indentUnit,type:"py",align:null})}function T(l,s,I){var k=l.match(/^[\s\[\{\(]*(?:#|$)/,!1)?null:l.column()+1;s.scopes.push({offset:s.indent+(o||l.indentUnit),type:I,align:k})}function w(l,s){for(var I=l.indentation();s.scopes.length>1&&Q(s).offset>I;){if(Q(s).type!="py")return!0;s.scopes.pop()}return Q(s).offset!=I}function C(l,s){l.sol()&&(s.beginningOfLine=!0,s.dedent=!1);var I=s.tokenize(l,s),k=l.current();if(s.beginningOfLine&&k=="@")return l.match(E,!1)?"meta":S?"operator":n;if(/\S/.test(k)&&(s.beginningOfLine=!1),(I=="variable"||I=="builtin")&&s.lastToken=="meta"&&(I="meta"),(k=="pass"||k=="return")&&(s.dedent=!0),k=="lambda"&&(s.lambda=!0),k==":"&&!s.lambda&&Q(s).type=="py"&&l.match(/^\s*(?:#|$)/,!1)&&u(l,s),k.length==1&&!/string|comment/.test(I)){var L="[({".indexOf(k);if(L!=-1&&T(l,s,"])}".slice(L,L+1)),L="])}".indexOf(k),L!=-1)if(Q(s).type==k)s.indent=s.scopes.pop().offset-(o||l.indentUnit);else return n}return s.dedent&&l.eol()&&Q(s).type=="py"&&s.scopes.length>1&&s.scopes.pop(),I}return{name:"python",startState:function(){return{tokenize:y,scopes:[{offset:0,type:"py",align:null}],indent:0,lastToken:null,lambda:!1,dedent:0}},token:function(l,s){var I=s.errorToken;I&&(s.errorToken=!1);var k=C(l,s);return k&&k!="comment"&&(s.lastToken=k=="keyword"||k=="punctuation"?l.current():k),k=="punctuation"&&(k=null),l.eol()&&s.lambda&&(s.lambda=!1),I?n:k},indent:function(l,s,I){if(l.tokenize!=y)return l.tokenize.isString?null:0;var k=Q(l),L=k.type==s.charAt(0)||k.type=="py"&&!l.dedent&&/^(else:|elif |except |finally:)/.test(s);return k.align!=null?k.align-(L?1:0):k.offset-(L?o||I.unit:0)},languageData:{autocomplete:Et.concat(Tt).concat(["exec","print"]),indentOnInput:/^\s*([\}\]\)]|else:|elif |except |finally:)$/,commentTokens:{line:"#"},closeBrackets:{brackets:["(","[","{","'",'"',"'''",'"""']}}}}var Oo=function(e){return e.split(" ")},Ao=Ct({}),Ul=Ct({extra_keywords:Oo("by cdef cimport cpdef ctypedef enum except extern gil include nogil property public readonly struct union DEF IF ELIF ELSE")});function je(e){for(var n={},t=0;t<e.length;++t)n[e[t]]=!0;return n}var At=["NULL","NA","Inf","NaN","NA_integer_","NA_real_","NA_complex_","NA_character_","TRUE","FALSE"],Pt=["list","quote","bquote","eval","return","call","parse","deparse"],Lt=["if","else","repeat","while","function","for","in","next","break"],Po=["if","else","repeat","while","function","for"],Lo=je(At),Do=je(Pt),$o=je(Lt),No=je(Po),It=/[+\-*\/^<>=!&|~$:]/,V;function kn(e,n){V=null;var t=e.next();if(t=="#")return e.skipToEnd(),"comment";if(t=="0"&&e.eat("x"))return e.eatWhile(/[\da-f]/i),"number";if(t=="."&&e.eat(/\d/))return e.match(/\d*(?:e[+\-]?\d+)?/),"number";if(/\d/.test(t))return e.match(/\d*(?:\.\d+)?(?:e[+\-]\d+)?L?/),"number";if(t=="'"||t=='"')return n.tokenize=qo(t),"string";if(t=="`")return e.match(/[^`]+`/),"string.special";if(t=="."&&e.match(/.(?:[.]|\d+)/))return"keyword";if(/[a-zA-Z\.]/.test(t)){e.eatWhile(/[\w\.]/);var r=e.current();return Lo.propertyIsEnumerable(r)?"atom":$o.propertyIsEnumerable(r)?(No.propertyIsEnumerable(r)&&!e.match(/\s*if(\s+|$)/,!1)&&(V="block"),"keyword"):Do.propertyIsEnumerable(r)?"builtin":"variable"}else return t=="%"?(e.skipTo("%")&&e.next(),"variableName.special"):t=="<"&&e.eat("-")||t=="<"&&e.match("<-")||t=="-"&&e.match(/>>?/)||t=="="&&n.ctx.argList?"operator":It.test(t)?(t=="$"||e.eatWhile(It),"operator"):/[\(\){}\[\];]/.test(t)?(V=t,t==";"?"punctuation":null):null}function qo(e){return function(n,t){if(n.eat("\\")){var r=n.next();return r=="x"?n.match(/^[a-f0-9]{2}/i):(r=="u"||r=="U")&&n.eat("{")&&n.skipTo("}")?n.next():r=="u"?n.match(/^[a-f0-9]{4}/i):r=="U"?n.match(/^[a-f0-9]{8}/i):/[0-7]/.test(r)&&n.match(/^[0-7]{1,2}/),"string.special"}else{for(var i;(i=n.next())!=null;){if(i==e){t.tokenize=kn;break}if(i=="\\"){n.backUp(1);break}}return"string"}}}var Rt=1,bn=2,yn=4;function Be(e,n,t){e.ctx={type:n,indent:e.indent,flags:0,column:t.column(),prev:e.ctx}}function Ot(e,n){var t=e.ctx;e.ctx={type:t.type,indent:t.indent,flags:t.flags|n,column:t.column,prev:t.prev}}function vn(e){e.indent=e.ctx.indent,e.ctx=e.ctx.prev}var Fo={name:"r",startState:function(e){return{tokenize:kn,ctx:{type:"top",indent:-e,flags:bn},indent:0,afterIdent:!1}},token:function(e,n){if(e.sol()&&((n.ctx.flags&3)==0&&(n.ctx.flags|=bn),n.ctx.flags&yn&&vn(n),n.indent=e.indentation()),e.eatSpace())return null;var t=n.tokenize(e,n);return t!="comment"&&(n.ctx.flags&bn)==0&&Ot(n,Rt),(V==";"||V=="{"||V=="}")&&n.ctx.type=="block"&&vn(n),V=="{"?Be(n,"}",e):V=="("?(Be(n,")",e),n.afterIdent&&(n.ctx.argList=!0)):V=="["?Be(n,"]",e):V=="block"?Be(n,"block",e):V==n.ctx.type?vn(n):n.ctx.type=="block"&&t!="comment"&&Ot(n,yn),n.afterIdent=t=="variable"||t=="keyword",t},indent:function(e,n,t){if(e.tokenize!=kn)return 0;var r=n&&n.charAt(0),i=e.ctx,o=r==i.type;return i.flags&yn&&(i=i.prev),i.type=="block"?i.indent+(r=="{"?0:t.unit):i.flags&Rt?i.column+(o?0:1):i.indent+(o?0:t.unit)},languageData:{wordChars:".",commentTokens:{line:"#"},autocomplete:At.concat(Pt,Lt)}};function xn(e){for(var n={},t=0,r=e.length;t<r;++t)n[e[t]]=!0;return n}var $t=["alias","and","BEGIN","begin","break","case","class","def","defined?","do","else","elsif","END","end","ensure","false","for","if","in","module","next","not","or","redo","rescue","retry","return","self","super","then","true","undef","unless","until","when","while","yield","nil","raise","throw","catch","fail","loop","callcc","caller","lambda","proc","public","protected","private","require","load","require_relative","extend","autoload","__END__","__FILE__","__LINE__","__dir__"],Mo=xn($t),Bo=xn(["def","class","case","for","while","until","module","catch","loop","proc","begin"]),jo=xn(["end","until"]),Dt={"[":"]","{":"}","(":")"},Wo={"]":"[","}":"{",")":"("},X;function ge(e,n,t){return t.tokenize.push(e),e(n,t)}function We(e,n){if(e.sol()&&e.match("=begin")&&e.eol())return n.tokenize.push(Go),"comment";if(e.eatSpace())return null;var t=e.next(),r;if(t=="`"||t=="'"||t=='"')return ge(Ee(t,"string",t=='"'||t=="`"),e,n);if(t=="/")return Uo(e)?ge(Ee(t,"string.special",!0),e,n):"operator";if(t=="%"){var i="string",o=!0;e.eat("s")?i="atom":e.eat(/[WQ]/)?i="string":e.eat(/[r]/)?i="string.special":e.eat(/[wxq]/)&&(i="string",o=!1);var a=e.eat(/[^\w\s=]/);return a?(Dt.propertyIsEnumerable(a)&&(a=Dt[a]),ge(Ee(a,i,o,!0),e,n)):"operator"}else{if(t=="#")return e.skipToEnd(),"comment";if(t=="<"&&(r=e.match(/^<([-~])[\`\"\']?([a-zA-Z_?]\w*)[\`\"\']?(?:;|$)/)))return ge(Ho(r[2],r[1]),e,n);if(t=="0")return e.eat("x")?e.eatWhile(/[\da-fA-F]/):e.eat("b")?e.eatWhile(/[01]/):e.eatWhile(/[0-7]/),"number";if(/\d/.test(t))return e.match(/^[\d_]*(?:\.[\d_]+)?(?:[eE][+\-]?[\d_]+)?/),"number";if(t=="?"){for(;e.match(/^\\[CM]-/););return e.eat("\\")?e.eatWhile(/\w/):e.next(),"string"}else{if(t==":")return e.eat("'")?ge(Ee("'","atom",!1),e,n):e.eat('"')?ge(Ee('"',"atom",!0),e,n):e.eat(/[\<\>]/)?(e.eat(/[\<\>]/),"atom"):e.eat(/[\+\-\*\/\&\|\:\!]/)?"atom":e.eat(/[a-zA-Z$@_\xa1-\uffff]/)?(e.eatWhile(/[\w$\xa1-\uffff]/),e.eat(/[\?\!\=]/),"atom"):"operator";if(t=="@"&&e.match(/^@?[a-zA-Z_\xa1-\uffff]/))return e.eat("@"),e.eatWhile(/[\w\xa1-\uffff]/),"propertyName";if(t=="$")return e.eat(/[a-zA-Z_]/)?e.eatWhile(/[\w]/):e.eat(/\d/)?e.eat(/\d/):e.next(),"variableName.special";if(/[a-zA-Z_\xa1-\uffff]/.test(t))return e.eatWhile(/[\w\xa1-\uffff]/),e.eat(/[\?\!]/),e.eat(":")?"atom":"variable";if(t=="|"&&(n.varList||n.lastTok=="{"||n.lastTok=="do"))return X="|",null;if(/[\(\)\[\]{}\\;]/.test(t))return X=t,null;if(t=="-"&&e.eat(">"))return"operator";if(/[=+\-\/*:\.^%<>~|]/.test(t)){var p=e.eatWhile(/[=+\-\/*:\.^%<>~|]/);return t=="."&&!p&&(X="."),"operator"}else return null}}}function Uo(e){for(var n=e.pos,t=0,r,i=!1,o=!1;(r=e.next())!=null;)if(o)o=!1;else{if("[{(".indexOf(r)>-1)t++;else if("]})".indexOf(r)>-1){if(t--,t<0)break}else if(r=="/"&&t==0){i=!0;break}o=r=="\\"}return e.backUp(e.pos-n),i}function _n(e){return e||(e=1),function(n,t){if(n.peek()=="}"){if(e==1)return t.tokenize.pop(),t.tokenize[t.tokenize.length-1](n,t);t.tokenize[t.tokenize.length-1]=_n(e-1)}else n.peek()=="{"&&(t.tokenize[t.tokenize.length-1]=_n(e+1));return We(n,t)}}function Ko(){var e=!1;return function(n,t){return e?(t.tokenize.pop(),t.tokenize[t.tokenize.length-1](n,t)):(e=!0,We(n,t))}}function Ee(e,n,t,r){return function(i,o){var a=!1,p;for(o.context.type==="read-quoted-paused"&&(o.context=o.context.prev,i.eat("}"));(p=i.next())!=null;){if(p==e&&(r||!a)){o.tokenize.pop();break}if(t&&p=="#"&&!a){if(i.eat("{")){e=="}"&&(o.context={prev:o.context,type:"read-quoted-paused"}),o.tokenize.push(_n());break}else if(/[@\$]/.test(i.peek())){o.tokenize.push(Ko());break}}a=!a&&p=="\\"}return n}}function Ho(e,n){return function(t,r){return n&&t.eatSpace(),t.match(e)?r.tokenize.pop():t.skipToEnd(),"string"}}function Go(e,n){return e.sol()&&e.match("=end")&&e.eol()&&n.tokenize.pop(),e.skipToEnd(),"comment"}var Zo={name:"ruby",startState:function(e){return{tokenize:[We],indented:0,context:{type:"top",indented:-e},continuedLine:!1,lastTok:null,varList:!1}},token:function(e,n){X=null,e.sol()&&(n.indented=e.indentation());var t=n.tokenize[n.tokenize.length-1](e,n),r,i=X;if(t=="variable"){var o=e.current();t=n.lastTok=="."?"property":Mo.propertyIsEnumerable(e.current())?"keyword":/^[A-Z]/.test(o)?"tag":n.lastTok=="def"||n.lastTok=="class"||n.varList?"def":"variable",t=="keyword"&&(i=o,Bo.propertyIsEnumerable(o)?r="indent":jo.propertyIsEnumerable(o)?r="dedent":((o=="if"||o=="unless")&&e.column()==e.indentation()||o=="do"&&n.context.indented<n.indented)&&(r="indent"))}return(X||t&&t!="comment")&&(n.lastTok=i),X=="|"&&(n.varList=!n.varList),r=="indent"||/[\(\[\{]/.test(X)?n.context={prev:n.context,type:X||t,indented:n.indented}:(r=="dedent"||/[\)\]\}]/.test(X))&&n.context.prev&&(n.context=n.context.prev),e.eol()&&(n.continuedLine=X=="\\"||t=="operator"),t},indent:function(e,n,t){if(e.tokenize[e.tokenize.length-1]!=We)return null;var r=n&&n.charAt(0),i=e.context,o=i.type==Wo[r]||i.type=="keyword"&&/^(?:end|until|else|elsif|when|rescue)\b/.test(n);return i.indented+(o?0:t.unit)+(e.continuedLine?t.unit:0)},languageData:{indentOnInput:/^\s*(?:end|rescue|elsif|else|\})$/,commentTokens:{line:"#"},autocomplete:$t}};function Nt(e){qt(e,"start");var n={},t=e.languageData||{},r=!1;for(var i in e)if(i!=t&&e.hasOwnProperty(i))for(var o=n[i]=[],a=e[i],p=0;p<a.length;p++){var S=a[p];o.push(new Xo(S,e)),(S.indent||S.dedent)&&(r=!0)}return{name:t.name,startState:function(){return{state:"start",pending:null,indent:r?[]:null}},copyState:function(E){var x={state:E.state,pending:E.pending,indent:E.indent&&E.indent.slice(0)};return E.stack&&(x.stack=E.stack.slice(0)),x},token:Jo(n),indent:Yo(n,t),languageData:t}}function qt(e,n){if(!e.hasOwnProperty(n))throw new Error("Undefined state "+n+" in simple mode")}function Qo(e,n){if(!e)return/(?:)/;var t="";return e instanceof RegExp?(e.ignoreCase&&(t="i"),e=e.source):e=String(e),new RegExp((n===!1?"":"^")+"(?:"+e+")",t)}function Vo(e){if(!e)return null;if(e.apply)return e;if(typeof e=="string")return e.replace(/\./g," ");for(var n=[],t=0;t<e.length;t++)n.push(e[t]&&e[t].replace(/\./g," "));return n}function Xo(e,n){(e.next||e.push)&&qt(n,e.next||e.push),this.regex=Qo(e.regex),this.token=Vo(e.token),this.data=e}function Jo(e){return function(n,t){if(t.pending){var r=t.pending.shift();return t.pending.length==0&&(t.pending=null),n.pos+=r.text.length,r.token}for(var i=e[t.state],o=0;o<i.length;o++){var a=i[o],p=(!a.data.sol||n.sol())&&n.match(a.regex);if(p){a.data.next?t.state=a.data.next:a.data.push?((t.stack||(t.stack=[])).push(t.state),t.state=a.data.push):a.data.pop&&t.stack&&t.stack.length&&(t.state=t.stack.pop()),a.data.indent&&t.indent.push(n.indentation()+n.indentUnit),a.data.dedent&&t.indent.pop();var S=a.token;if(S&&S.apply&&(S=S(p)),p.length>2&&a.token&&typeof a.token!="string"){t.pending=[];for(var E=2;E<p.length;E++)p[E]&&t.pending.push({text:p[E],token:a.token[E-1]});return n.backUp(p[0].length-(p[1]?p[1].length:0)),S[0]}else return S&&S.join?S[0]:S}}return n.next(),null}}function Yo(e,n){return function(t,r){if(t.indent==null||n.dontIndentStates&&n.dontIndentStates.indexOf(t.state)>-1)return null;var i=t.indent.length-1,o=e[t.state];e:for(;;){for(var a=0;a<o.length;a++){var p=o[a];if(p.data.dedent&&p.data.dedentIfLineStart!==!1){var S=p.regex.exec(r);if(S&&S[0]){i--,(p.next||p.push)&&(o=e[p.next||p.push]),r=r.slice(S[0].length);continue e}}}break}return i<0?0:t.indent[i]}}var ea=Nt({start:[{regex:/b?"/,token:"string",next:"string"},{regex:/b?r"/,token:"string",next:"string_raw"},{regex:/b?r#+"/,token:"string",next:"string_raw_hash"},{regex:/'(?:[^'\\]|\\(?:[nrt0'"]|x[\da-fA-F]{2}|u\{[\da-fA-F]{6}\}))'/,token:"string.special"},{regex:/b'(?:[^']|\\(?:['\\nrt0]|x[\da-fA-F]{2}))'/,token:"string.special"},{regex:/(?:(?:[0-9][0-9_]*)(?:(?:[Ee][+-]?[0-9_]+)|\.[0-9_]+(?:[Ee][+-]?[0-9_]+)?)(?:f32|f64)?)|(?:0(?:b[01_]+|(?:o[0-7_]+)|(?:x[0-9a-fA-F_]+))|(?:[0-9][0-9_]*))(?:u8|u16|u32|u64|i8|i16|i32|i64|isize|usize)?/,token:"number"},{regex:/(let(?:\s+mut)?|fn|enum|mod|struct|type|union)(\s+)([a-zA-Z_][a-zA-Z0-9_]*)/,token:["keyword",null,"def"]},{regex:/(?:abstract|alignof|as|async|await|box|break|continue|const|crate|do|dyn|else|enum|extern|fn|for|final|if|impl|in|loop|macro|match|mod|move|offsetof|override|priv|proc|pub|pure|ref|return|self|sizeof|static|struct|super|trait|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,token:"keyword"},{regex:/\b(?:Self|isize|usize|char|bool|u8|u16|u32|u64|f16|f32|f64|i8|i16|i32|i64|str|Option)\b/,token:"atom"},{regex:/\b(?:true|false|Some|None|Ok|Err)\b/,token:"builtin"},{regex:/\b(fn)(\s+)([a-zA-Z_][a-zA-Z0-9_]*)/,token:["keyword",null,"def"]},{regex:/#!?\[.*\]/,token:"meta"},{regex:/\/\/.*/,token:"comment"},{regex:/\/\*/,token:"comment",next:"comment"},{regex:/[-+\/*=<>!]+/,token:"operator"},{regex:/[a-zA-Z_]\w*!/,token:"macroName"},{regex:/[a-zA-Z_]\w*/,token:"variable"},{regex:/[\{\[\(]/,indent:!0},{regex:/[\}\]\)]/,dedent:!0}],string:[{regex:/"/,token:"string",next:"start"},{regex:/(?:[^\\"]|\\(?:.|$))*/,token:"string"}],string_raw:[{regex:/"/,token:"string",next:"start"},{regex:/[^"]*/,token:"string"}],string_raw_hash:[{regex:/"#+/,token:"string",next:"start"},{regex:/(?:[^"]|"(?!#))*/,token:"string"}],comment:[{regex:/.*?\*\//,token:"comment",next:"start"},{regex:/.*/,token:"comment"}],languageData:{name:"rust",dontIndentStates:["comment"],indentOnInput:/^\s*\}$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}});var q={},Ft={eq:"operator",lt:"operator",le:"operator",gt:"operator",ge:"operator",in:"operator",ne:"operator",or:"operator"},na=/(<=|>=|!=|<>)/,ta=/[=\(:\),{}.*<>+\-\/^\[\]]/;function j(e,n,t){if(t)for(var r=n.split(" "),i=0;i<r.length;i++)q[r[i]]={style:e,state:t}}j("def","stack pgm view source debug nesting nolist",["inDataStep"]);j("def","if while until for do do; end end; then else cancel",["inDataStep"]);j("def","label format _n_ _error_",["inDataStep"]);j("def","ALTER BUFNO BUFSIZE CNTLLEV COMPRESS DLDMGACTION ENCRYPT ENCRYPTKEY EXTENDOBSCOUNTER GENMAX GENNUM INDEX LABEL OBSBUF OUTREP PW PWREQ READ REPEMPTY REPLACE REUSE ROLE SORTEDBY SPILL TOBSNO TYPE WRITE FILECLOSE FIRSTOBS IN OBS POINTOBS WHERE WHEREUP IDXNAME IDXWHERE DROP KEEP RENAME",["inDataStep"]);j("def","filevar finfo finv fipname fipnamel fipstate first firstobs floor",["inDataStep"]);j("def","varfmt varinfmt varlabel varlen varname varnum varray varrayx vartype verify vformat vformatd vformatdx vformatn vformatnx vformatw vformatwx vformatx vinarray vinarrayx vinformat vinformatd vinformatdx vinformatn vinformatnx vinformatw vinformatwx vinformatx vlabel vlabelx vlength vlengthx vname vnamex vnferr vtype vtypex weekday",["inDataStep"]);j("def","zipfips zipname zipnamel zipstate",["inDataStep"]);j("def","put putc putn",["inDataStep"]);j("builtin","data run",["inDataStep"]);j("def","data",["inProc"]);j("def","%if %end %end; %else %else; %do %do; %then",["inMacro"]);j("builtin","proc run; quit; libname filename %macro %mend option options",["ALL"]);j("def","footnote title libname ods",["ALL"]);j("def","%let %put %global %sysfunc %eval ",["ALL"]);j("variable","&sysbuffr &syscc &syscharwidth &syscmd &sysdate &sysdate9 &sysday &sysdevic &sysdmg &sysdsn &sysencoding &sysenv &syserr &syserrortext &sysfilrc &syshostname &sysindex &sysinfo &sysjobid &syslast &syslckrc &syslibrc &syslogapplname &sysmacroname &sysmenv &sysmsg &sysncpu &sysodspath &sysparm &syspbuff &sysprocessid &sysprocessname &sysprocname &sysrc &sysscp &sysscpl &sysscpl &syssite &sysstartid &sysstartname &systcpiphostname &systime &sysuserid &sysver &sysvlong &sysvlong4 &syswarningtext",["ALL"]);j("def","source2 nosource2 page pageno pagesize",["ALL"]);j("def","_all_ _character_ _cmd_ _freq_ _i_ _infile_ _last_ _msg_ _null_ _numeric_ _temporary_ _type_ abort abs addr adjrsq airy alpha alter altlog altprint and arcos array arsin as atan attrc attrib attrn authserver autoexec awscontrol awsdef awsmenu awsmenumerge awstitle backward band base betainv between blocksize blshift bnot bor brshift bufno bufsize bxor by byerr byline byte calculated call cards cards4 catcache cbufno cdf ceil center cexist change chisq cinv class cleanup close cnonct cntllev coalesce codegen col collate collin column comamid comaux1 comaux2 comdef compbl compound compress config continue convert cos cosh cpuid create cross crosstab css curobs cv daccdb daccdbsl daccsl daccsyd dacctab dairy datalines datalines4 datejul datepart datetime day dbcslang dbcstype dclose ddfm ddm delete delimiter depdb depdbsl depsl depsyd deptab dequote descending descript design= device dflang dhms dif digamma dim dinfo display distinct dkricond dkrocond dlm dnum do dopen doptname doptnum dread drop dropnote dsname dsnferr echo else emaildlg emailid emailpw emailserver emailsys encrypt end endsas engine eof eov erf erfc error errorcheck errors exist exp fappend fclose fcol fdelete feedback fetch fetchobs fexist fget file fileclose fileexist filefmt filename fileref fmterr fmtsearch fnonct fnote font fontalias fopen foptname foptnum force formatted formchar formdelim formdlim forward fpoint fpos fput fread frewind frlen from fsep fuzz fwrite gaminv gamma getoption getvarc getvarn go goto group gwindow hbar hbound helpenv helploc hms honorappearance hosthelp hostprint hour hpct html hvar ibessel ibr id if index indexc indexw initcmd initstmt inner input inputc inputn inr insert int intck intnx into intrr invaliddata irr is jbessel join juldate keep kentb kurtosis label lag last lbound leave left length levels lgamma lib library libref line linesize link list log log10 log2 logpdf logpmf logsdf lostcard lowcase lrecl ls macro macrogen maps mautosource max maxdec maxr mdy mean measures median memtype merge merror min minute missing missover mlogic mod mode model modify month mopen mort mprint mrecall msglevel msymtabmax mvarsize myy n nest netpv new news nmiss no nobatch nobs nocaps nocardimage nocenter nocharcode nocmdmac nocol nocum nodate nodbcs nodetails nodmr nodms nodmsbatch nodup nodupkey noduplicates noechoauto noequals noerrorabend noexitwindows nofullstimer noicon noimplmac noint nolist noloadlist nomiss nomlogic nomprint nomrecall nomsgcase nomstored nomultenvappl nonotes nonumber noobs noovp nopad nopercent noprint noprintinit normal norow norsasuser nosetinit nosplash nosymbolgen note notes notitle notitles notsorted noverbose noxsync noxwait npv null number numkeys nummousekeys nway obs on open order ordinal otherwise out outer outp= output over ovp p(1 5 10 25 50 75 90 95 99) pad pad2 paired parm parmcards path pathdll pathname pdf peek peekc pfkey pmf point poisson poke position printer probbeta probbnml probchi probf probgam probhypr probit probnegb probnorm probsig probt procleave prt ps pw pwreq qtr quote r ranbin rancau random ranexp rangam range ranks rannor ranpoi rantbl rantri ranuni rcorr read recfm register regr remote remove rename repeat repeated replace resolve retain return reuse reverse rewind right round rsquare rtf rtrace rtraceloc s s2 samploc sasautos sascontrol sasfrscr sasmsg sasmstore sasscript sasuser saving scan sdf second select selection separated seq serror set setcomm setot sign simple sin sinh siteinfo skewness skip sle sls sortedby sortpgm sortseq sortsize soundex spedis splashlocation split spool sqrt start std stderr stdin stfips stimer stname stnamel stop stopover sub subgroup subpopn substr sum sumwgt symbol symbolgen symget symput sysget sysin sysleave sysmsg sysparm sysprint sysprintfont sysprod sysrc system t table tables tan tanh tapeclose tbufsize terminal test then timepart tinv tnonct to today tol tooldef totper transformout translate trantab tranwrd trigamma trim trimn trunc truncover type unformatted uniform union until upcase update user usericon uss validate value var weight when where while wincharset window work workinit workterm write wsum xsync xwait yearcutoff yes yyq min max",["inDataStep","inProc"]);j("operator","and not ",["inDataStep","inProc"]);function ra(e,n){var t=e.next();if(t==="/"&&e.eat("*"))return n.continueComment=!0,"comment";if(n.continueComment===!0)return t==="*"&&e.peek()==="/"?(e.next(),n.continueComment=!1):e.skipTo("*")?(e.skipTo("*"),e.next(),e.eat("/")&&(n.continueComment=!1)):e.skipToEnd(),"comment";if(t=="*"&&e.column()==e.indentation())return e.skipToEnd(),"comment";var r=t+e.peek();if((t==='"'||t==="'")&&!n.continueString)return n.continueString=t,"string";if(n.continueString)return n.continueString==t?n.continueString=null:e.skipTo(n.continueString)?(e.next(),n.continueString=null):e.skipToEnd(),"string";if(n.continueString!==null&&e.eol())return e.skipTo(n.continueString)||e.skipToEnd(),"string";if(/[\d\.]/.test(t))return t==="."?e.match(/^[0-9]+([eE][\-+]?[0-9]+)?/):t==="0"?e.match(/^[xX][0-9a-fA-F]+/)||e.match(/^0[0-7]+/):e.match(/^[0-9]*\.?[0-9]*([eE][\-+]?[0-9]+)?/),"number";if(na.test(t+e.peek()))return e.next(),"operator";if(Ft.hasOwnProperty(r)){if(e.next(),e.peek()===" ")return Ft[r.toLowerCase()]}else if(ta.test(t))return"operator";var i;if(e.match(/[%&;\w]+/,!1)!=null){if(i=t+e.match(/[%&;\w]+/,!0),/&/.test(i))return"variable"}else i=t;if(n.nextword)return e.match(/[\w]+/),e.peek()==="."&&e.skipTo(" "),n.nextword=!1,"variableName.special";if(i=i.toLowerCase(),n.inDataStep){if(i==="run;"||e.match(/run\s;/))return n.inDataStep=!1,"builtin";if(i&&e.next()===".")return/\w/.test(e.peek())?"variableName.special":"variable";if(i&&q.hasOwnProperty(i)&&(q[i].state.indexOf("inDataStep")!==-1||q[i].state.indexOf("ALL")!==-1)){e.start<e.pos&&e.backUp(e.pos-e.start);for(var o=0;o<i.length;++o)e.next();return q[i].style}}if(n.inProc){if(i==="run;"||i==="quit;")return n.inProc=!1,"builtin";if(i&&q.hasOwnProperty(i)&&(q[i].state.indexOf("inProc")!==-1||q[i].state.indexOf("ALL")!==-1))return e.match(/[\w]+/),q[i].style}return n.inMacro?i==="%mend"?(e.peek()===";"&&e.next(),n.inMacro=!1,"builtin"):i&&q.hasOwnProperty(i)&&(q[i].state.indexOf("inMacro")!==-1||q[i].state.indexOf("ALL")!==-1)?(e.match(/[\w]+/),q[i].style):"atom":i&&q.hasOwnProperty(i)?(e.backUp(1),e.match(/[\w]+/),i==="data"&&/=/.test(e.peek())===!1?(n.inDataStep=!0,n.nextword=!0,"builtin"):i==="proc"?(n.inProc=!0,n.nextword=!0,"builtin"):i==="%macro"?(n.inMacro=!0,n.nextword=!0,"builtin"):/title[1-9]/.test(i)?"def":i==="footnote"?(e.eat(/[1-9]/),"def"):n.inDataStep===!0&&q[i].state.indexOf("inDataStep")!==-1||n.inProc===!0&&q[i].state.indexOf("inProc")!==-1||n.inMacro===!0&&q[i].state.indexOf("inMacro")!==-1||q[i].state.indexOf("ALL")!==-1?q[i].style:null):null}var ia={name:"sas",startState:function(){return{inDataStep:!1,inProc:!1,inMacro:!1,nextword:!1,continueString:null,continueComment:!1}},token:function(e,n){return e.eatSpace()?null:ra(e,n)},languageData:{commentTokens:{block:{open:"/*",close:"*/"}}}};var oa="builtin",se="comment",Mt="string",Bt="symbol",Te="atom",jt="number",Wt="bracket",aa=2;function Ht(e){for(var n={},t=e.split(" "),r=0;r<t.length;++r)n[t[r]]=!0;return n}var Ut=Ht("\u03BB case-lambda call/cc class cond-expand define-class define-values exit-handler field import inherit init-field interface let*-values let-values let/ec mixin opt-lambda override protect provide public rename require require-for-syntax syntax syntax-case syntax-error unit/sig unless when with-syntax and begin call-with-current-continuation call-with-input-file call-with-output-file case cond define define-syntax define-macro defmacro delay do dynamic-wind else for-each if lambda let let* let-syntax letrec letrec-syntax map or syntax-rules abs acos angle append apply asin assoc assq assv atan boolean? caar cadr call-with-input-file call-with-output-file call-with-values car cdddar cddddr cdr ceiling char->integer char-alphabetic? char-ci<=? char-ci<? char-ci=? char-ci>=? char-ci>? char-downcase char-lower-case? char-numeric? char-ready? char-upcase char-upper-case? char-whitespace? char<=? char<? char=? char>=? char>? char? close-input-port close-output-port complex? cons cos current-input-port current-output-port denominator display eof-object? eq? equal? eqv? eval even? exact->inexact exact? exp expt #f floor force gcd imag-part inexact->exact inexact? input-port? integer->char integer? interaction-environment lcm length list list->string list->vector list-ref list-tail list? load log magnitude make-polar make-rectangular make-string make-vector max member memq memv min modulo negative? newline not null-environment null? number->string number? numerator odd? open-input-file open-output-file output-port? pair? peek-char port? positive? procedure? quasiquote quote quotient rational? rationalize read read-char real-part real? remainder reverse round scheme-report-environment set! set-car! set-cdr! sin sqrt string string->list string->number string->symbol string-append string-ci<=? string-ci<? string-ci=? string-ci>=? string-ci>? string-copy string-fill! string-length string-ref string-set! string<=? string<? string=? string>=? string>? string? substring symbol->string symbol? #t tan transcript-off transcript-on truncate values vector vector->list vector-fill! vector-length vector-ref vector-set! with-input-from-file with-output-to-file write write-char zero?"),la=Ht("define let letrec let* lambda define-macro defmacro let-syntax letrec-syntax let-values let*-values define-syntax syntax-rules define-values when unless");function ca(e,n,t){this.indent=e,this.type=n,this.prev=t}function wn(e,n,t){e.indentStack=new ca(n,t,e.indentStack)}function sa(e){e.indentStack=e.indentStack.prev}var ua=new RegExp(/^(?:[-+]i|[-+][01]+#*(?:\/[01]+#*)?i|[-+]?[01]+#*(?:\/[01]+#*)?@[-+]?[01]+#*(?:\/[01]+#*)?|[-+]?[01]+#*(?:\/[01]+#*)?[-+](?:[01]+#*(?:\/[01]+#*)?)?i|[-+]?[01]+#*(?:\/[01]+#*)?)(?=[()\s;"]|$)/i),da=new RegExp(/^(?:[-+]i|[-+][0-7]+#*(?:\/[0-7]+#*)?i|[-+]?[0-7]+#*(?:\/[0-7]+#*)?@[-+]?[0-7]+#*(?:\/[0-7]+#*)?|[-+]?[0-7]+#*(?:\/[0-7]+#*)?[-+](?:[0-7]+#*(?:\/[0-7]+#*)?)?i|[-+]?[0-7]+#*(?:\/[0-7]+#*)?)(?=[()\s;"]|$)/i),fa=new RegExp(/^(?:[-+]i|[-+][\da-f]+#*(?:\/[\da-f]+#*)?i|[-+]?[\da-f]+#*(?:\/[\da-f]+#*)?@[-+]?[\da-f]+#*(?:\/[\da-f]+#*)?|[-+]?[\da-f]+#*(?:\/[\da-f]+#*)?[-+](?:[\da-f]+#*(?:\/[\da-f]+#*)?)?i|[-+]?[\da-f]+#*(?:\/[\da-f]+#*)?)(?=[()\s;"]|$)/i),pa=new RegExp(/^(?:[-+]i|[-+](?:(?:(?:\d+#+\.?#*|\d+\.\d*#*|\.\d+#*|\d+)(?:[esfdl][-+]?\d+)?)|\d+#*\/\d+#*)i|[-+]?(?:(?:(?:\d+#+\.?#*|\d+\.\d*#*|\.\d+#*|\d+)(?:[esfdl][-+]?\d+)?)|\d+#*\/\d+#*)@[-+]?(?:(?:(?:\d+#+\.?#*|\d+\.\d*#*|\.\d+#*|\d+)(?:[esfdl][-+]?\d+)?)|\d+#*\/\d+#*)|[-+]?(?:(?:(?:\d+#+\.?#*|\d+\.\d*#*|\.\d+#*|\d+)(?:[esfdl][-+]?\d+)?)|\d+#*\/\d+#*)[-+](?:(?:(?:\d+#+\.?#*|\d+\.\d*#*|\.\d+#*|\d+)(?:[esfdl][-+]?\d+)?)|\d+#*\/\d+#*)?i|(?:(?:(?:\d+#+\.?#*|\d+\.\d*#*|\.\d+#*|\d+)(?:[esfdl][-+]?\d+)?)|\d+#*\/\d+#*))(?=[()\s;"]|$)/i);function ma(e){return e.match(ua)}function ha(e){return e.match(da)}function Sn(e,n){return n===!0&&e.backUp(1),e.match(pa)}function ga(e){return e.match(fa)}function Kt(e,n){for(var t,r=!1;(t=e.next())!=null;){if(t==n.token&&!r){n.state.mode=!1;break}r=!r&&t=="\\"}}var ba={name:"scheme",startState:function(){return{indentStack:null,indentation:0,mode:!1,sExprComment:!1,sExprQuote:!1}},token:function(e,n){if(n.indentStack==null&&e.sol()&&(n.indentation=e.indentation()),e.eatSpace())return null;var t=null;switch(n.mode){case"string":Kt(e,{token:'"',state:n}),t=Mt;break;case"symbol":Kt(e,{token:"|",state:n}),t=Bt;break;case"comment":for(var r,i=!1;(r=e.next())!=null;){if(r=="#"&&i){n.mode=!1;break}i=r=="|"}t=se;break;case"s-expr-comment":if(n.mode=!1,e.peek()=="("||e.peek()=="[")n.sExprComment=0;else{e.eatWhile(/[^\s\(\)\[\]]/),t=se;break}default:var o=e.next();if(o=='"')n.mode="string",t=Mt;else if(o=="'")e.peek()=="("||e.peek()=="["?(typeof n.sExprQuote!="number"&&(n.sExprQuote=0),t=Te):(e.eatWhile(/[\w_\-!$%&*+\.\/:<=>?@\^~]/),t=Te);else if(o=="|")n.mode="symbol",t=Bt;else if(o=="#")if(e.eat("|"))n.mode="comment",t=se;else if(e.eat(/[tf]/i))t=Te;else if(e.eat(";"))n.mode="s-expr-comment",t=se;else{var a=null,p=!1,S=!0;e.eat(/[ei]/i)?p=!0:e.backUp(1),e.match(/^#b/i)?a=ma:e.match(/^#o/i)?a=ha:e.match(/^#x/i)?a=ga:e.match(/^#d/i)?a=Sn:e.match(/^[-+0-9.]/,!1)?(S=!1,a=Sn):p||e.eat("#"),a!=null&&(S&&!p&&e.match(/^#[ei]/i),a(e)&&(t=jt))}else if(/^[-+0-9.]/.test(o)&&Sn(e,!0))t=jt;else if(o==";")e.skipToEnd(),t=se;else if(o=="("||o=="["){for(var E="",x=e.column(),c;(c=e.eat(/[^\s\(\[\;\)\]]/))!=null;)E+=c;E.length>0&&la.propertyIsEnumerable(E)?wn(n,x+aa,o):(e.eatSpace(),e.eol()||e.peek()==";"?wn(n,x+1,o):wn(n,x+e.current().length,o)),e.backUp(e.current().length-1),typeof n.sExprComment=="number"&&n.sExprComment++,typeof n.sExprQuote=="number"&&n.sExprQuote++,t=Wt}else o==")"||o=="]"?(t=Wt,n.indentStack!=null&&n.indentStack.type==(o==")"?"(":"[")&&(sa(n),typeof n.sExprComment=="number"&&--n.sExprComment==0&&(t=se,n.sExprComment=!1),typeof n.sExprQuote=="number"&&--n.sExprQuote==0&&(t=Te,n.sExprQuote=!1))):(e.eatWhile(/[\w_\-!$%&*+\.\/:<=>?@\^~]/),Ut&&Ut.propertyIsEnumerable(e.current())?t=oa:t="variable")}return typeof n.sExprComment=="number"?se:typeof n.sExprQuote=="number"?Te:t},indent:function(e){return e.indentStack==null?e.indentation:e.indentStack.indent},languageData:{closeBrackets:{brackets:["(","[","{",'"']},commentTokens:{line:";;"}}};var zn={};function En(e,n){for(var t=0;t<n.length;t++)zn[n[t]]=e}var Gt=["true","false"],Zt=["if","then","do","else","elif","while","until","for","in","esac","fi","fin","fil","done","exit","set","unset","export","function"],Qt=["ab","awk","bash","beep","cat","cc","cd","chown","chmod","chroot","clear","cp","curl","cut","diff","echo","find","gawk","gcc","get","git","grep","hg","kill","killall","ln","ls","make","mkdir","openssl","mv","nc","nl","node","npm","ping","ps","restart","rm","rmdir","sed","service","sh","shopt","shred","source","sort","sleep","ssh","start","stop","su","sudo","svn","tee","telnet","top","touch","vi","vim","wall","wc","wget","who","write","yes","zsh"];En("atom",Gt);En("keyword",Zt);En("builtin",Qt);function ya(e,n){if(e.eatSpace())return null;var t=e.sol(),r=e.next();if(r==="\\")return e.next(),null;if(r==="'"||r==='"'||r==="`")return n.tokens.unshift(Ue(r,r==="`"?"quote":"string")),be(e,n);if(r==="#")return t&&e.eat("!")?(e.skipToEnd(),"meta"):(e.skipToEnd(),"comment");if(r==="$")return n.tokens.unshift(Vt),be(e,n);if(r==="+"||r==="=")return"operator";if(r==="-")return e.eat("-"),e.eatWhile(/\w/),"attribute";if(r=="<"){if(e.match("<<"))return"operator";var i=e.match(/^<-?\s*(?:['"]([^'"]*)['"]|([^'"\s]*))/);if(i)return n.tokens.unshift(ka(i[1]||i[2])),"string.special"}if(/\d/.test(r)&&(e.eatWhile(/\d/),e.eol()||!/\w/.test(e.peek())))return"number";e.eatWhile(/[\w-]/);var o=e.current();return e.peek()==="="&&/\w+/.test(o)?"def":zn.hasOwnProperty(o)?zn[o]:null}function Ue(e,n){var t=e=="("?")":e=="{"?"}":e;return function(r,i){for(var o,a=!1;(o=r.next())!=null;){if(o===t&&!a){i.tokens.shift();break}else if(o==="$"&&!a&&e!=="'"&&r.peek()!=t){a=!0,r.backUp(1),i.tokens.unshift(Vt);break}else{if(!a&&e!==t&&o===e)return i.tokens.unshift(Ue(e,n)),be(r,i);if(!a&&/['"]/.test(o)&&!/['"]/.test(e)){i.tokens.unshift(va(o,"string")),r.backUp(1);break}}a=!a&&o==="\\"}return n}}function va(e,n){return function(t,r){return r.tokens[0]=Ue(e,n),t.next(),be(t,r)}}var Vt=function(e,n){n.tokens.length>1&&e.eat("$");var t=e.next();return/['"({]/.test(t)?(n.tokens[0]=Ue(t,t=="("?"quote":t=="{"?"def":"string"),be(e,n)):(/\d/.test(t)||e.eatWhile(/\w/),n.tokens.shift(),"def")};function ka(e){return function(n,t){return n.sol()&&n.string==e&&t.tokens.shift(),n.skipToEnd(),"string.special"}}function be(e,n){return(n.tokens[0]||ya)(e,n)}var _a={name:"shell",startState:function(){return{tokens:[]}},token:function(e,n){return be(e,n)},languageData:{autocomplete:Gt.concat(Zt,Qt),closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"#"}}};function G(e){var n=e.client||{},t=e.atoms||{false:!0,true:!0,null:!0},r=e.builtin||h(Jt),i=e.keywords||h(de),o=e.operatorChars||/^[*+\-%<>!=&|~^\/]/,a=e.support||{},p=e.hooks||{},S=e.dateSQL||{date:!0,time:!0,timestamp:!0},E=e.backslashStringEscapes!==!1,x=e.brackets||/^[\{}\(\)\[\]]/,c=e.punctuation||/^[;.,:]/;function d(u,T){var w=u.next();if(p[w]){var C=p[w](u,T);if(C!==!1)return C}if(a.hexNumber&&(w=="0"&&u.match(/^[xX][0-9a-fA-F]+/)||(w=="x"||w=="X")&&u.match(/^'[0-9a-fA-F]*'/)))return"number";if(a.binaryNumber&&((w=="b"||w=="B")&&u.match(/^'[01]+'/)||w=="0"&&u.match(/^b[01]*/)))return"number";if(w.charCodeAt(0)>47&&w.charCodeAt(0)<58)return u.match(/^[0-9]*(\.[0-9]+)?([eE][-+]?[0-9]+)?/),a.decimallessFloat&&u.match(/^\.(?!\.)/),"number";if(w=="?"&&(u.eatSpace()||u.eol()||u.eat(";")))return"macroName";if(w=="'"||w=='"'&&a.doubleQuote)return T.tokenize=y(w),T.tokenize(u,T);if((a.nCharCast&&(w=="n"||w=="N")||a.charsetCast&&w=="_"&&u.match(/[a-z][a-z0-9]*/i))&&(u.peek()=="'"||u.peek()=='"'))return"keyword";if(a.escapeConstant&&(w=="e"||w=="E")&&(u.peek()=="'"||u.peek()=='"'&&a.doubleQuote))return T.tokenize=function(s,I){return(I.tokenize=y(s.next(),!0))(s,I)},"keyword";if(a.commentSlashSlash&&w=="/"&&u.eat("/"))return u.skipToEnd(),"comment";if(a.commentHash&&w=="#"||w=="-"&&u.eat("-")&&(!a.commentSpaceRequired||u.eat(" ")))return u.skipToEnd(),"comment";if(w=="/"&&u.eat("*"))return T.tokenize=O(1),T.tokenize(u,T);if(w=="."){if(a.zerolessFloat&&u.match(/^(?:\d+(?:e[+-]?\d+)?)/i))return"number";if(u.match(/^\.+/))return null;if(a.ODBCdotTable&&u.match(/^[\w\d_$#]+/))return"type"}else{if(o.test(w))return u.eatWhile(o),"operator";if(x.test(w))return"bracket";if(c.test(w))return u.eatWhile(c),"punctuation";if(w=="{"&&(u.match(/^( )*(d|D|t|T|ts|TS)( )*'[^']*'( )*}/)||u.match(/^( )*(d|D|t|T|ts|TS)( )*"[^"]*"( )*}/)))return"number";u.eatWhile(/^[_\w\d]/);var l=u.current().toLowerCase();return S.hasOwnProperty(l)&&(u.match(/^( )+'[^']*'/)||u.match(/^( )+"[^"]*"/))?"number":t.hasOwnProperty(l)?"atom":r.hasOwnProperty(l)?"type":i.hasOwnProperty(l)?"keyword":n.hasOwnProperty(l)?"builtin":null}}function y(u,T){return function(w,C){for(var l=!1,s;(s=w.next())!=null;){if(s==u&&!l){C.tokenize=d;break}l=(E||T)&&!l&&s=="\\"}return"string"}}function O(u){return function(T,w){var C=T.match(/^.*?(\/\*|\*\/)/);return C?C[1]=="/*"?w.tokenize=O(u+1):u>1?w.tokenize=O(u-1):w.tokenize=d:T.skipToEnd(),"comment"}}function K(u,T,w){T.context={prev:T.context,indent:u.indentation(),col:u.column(),type:w}}function M(u){u.indent=u.context.indent,u.context=u.context.prev}return{name:"sql",startState:function(){return{tokenize:d,context:null}},token:function(u,T){if(u.sol()&&T.context&&T.context.align==null&&(T.context.align=!1),T.tokenize==d&&u.eatSpace())return null;var w=T.tokenize(u,T);if(w=="comment")return w;T.context&&T.context.align==null&&(T.context.align=!0);var C=u.current();return C=="("?K(u,T,")"):C=="["?K(u,T,"]"):T.context&&T.context.type==C&&M(T),w},indent:function(u,T,w){var C=u.context;if(!C)return null;var l=T.charAt(0)==C.type;return C.align?C.col+(l?0:1):C.indent+(l?0:w.unit)},languageData:{commentTokens:{line:a.commentSlashSlash?"//":a.commentHash?"#":"--",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}}}function Tn(e){for(var n;(n=e.next())!=null;)if(n=="`"&&!e.eat("`"))return"string.special";return e.backUp(e.current().length-1),e.eatWhile(/\w/)?"string.special":null}function xa(e){for(var n;(n=e.next())!=null;)if(n=='"'&&!e.eat('"'))return"string.special";return e.backUp(e.current().length-1),e.eatWhile(/\w/)?"string.special":null}function ue(e){return e.eat("@")&&(e.match("session."),e.match("local."),e.match("global.")),e.eat("'")?(e.match(/^.*'/),"string.special"):e.eat('"')?(e.match(/^.*"/),"string.special"):e.eat("`")?(e.match(/^.*`/),"string.special"):e.match(/^[0-9a-zA-Z$\.\_]+/)?"string.special":null}function Xt(e){return e.eat("N")?"atom":e.match(/^[a-zA-Z.#!?]/)?"string.special":null}var de="alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit ";function h(e){for(var n={},t=e.split(" "),r=0;r<t.length;++r)n[t[r]]=!0;return n}var Jt="bool boolean bit blob enum long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision real date datetime year unsigned signed decimal numeric",wa=G({keywords:h(de+"begin"),builtin:h(Jt),atoms:h("false true null unknown"),dateSQL:h("date time timestamp"),support:h("ODBCdotTable doubleQuote binaryNumber hexNumber")}),Sa=G({client:h("$partition binary_checksum checksum connectionproperty context_info current_request_id error_line error_message error_number error_procedure error_severity error_state formatmessage get_filestream_transaction_context getansinull host_id host_name isnull isnumeric min_active_rowversion newid newsequentialid rowcount_big xact_state object_id"),keywords:h(de+"begin trigger proc view index for add constraint key primary foreign collate clustered nonclustered declare exec go if use index holdlock nolock nowait paglock readcommitted readcommittedlock readpast readuncommitted repeatableread rowlock serializable snapshot tablock tablockx updlock with"),builtin:h("bigint numeric bit smallint decimal smallmoney int tinyint money float real char varchar text nchar nvarchar ntext binary varbinary image cursor timestamp hierarchyid uniqueidentifier sql_variant xml table "),atoms:h("is not null like and or in left right between inner outer join all any some cross unpivot pivot exists"),operatorChars:/^[*+\-%<>!=^\&|\/]/,brackets:/^[\{}\(\)]/,punctuation:/^[;.,:/]/,backslashStringEscapes:!1,dateSQL:h("date datetimeoffset datetime2 smalldatetime datetime time"),hooks:{"@":ue}}),za=G({client:h("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:h(de+"accessible action add after algorithm all analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general get global grant grants group group_concat handler hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show signal slave slow smallint snapshot soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:h("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:h("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:h("date time timestamp"),support:h("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":ue,"`":Tn,"\\":Xt}}),ec=G({client:h("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:h(de+"accessible action add after algorithm all always analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general generated get global grant grants group group_concat handler hard hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password persistent phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show shutdown signal slave slow smallint snapshot soft soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views virtual warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:h("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:h("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:h("date time timestamp"),support:h("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":ue,"`":Tn,"\\":Xt}}),Ea=G({client:h("auth backup bail binary changes check clone databases dbinfo dump echo eqp exit explain fullschema headers help import imposter indexes iotrace limit lint load log mode nullvalue once open output print prompt quit read restore save scanstats schema separator session shell show stats system tables testcase timeout timer trace vfsinfo vfslist vfsname width"),keywords:h(de+"abort action add after all analyze attach autoincrement before begin cascade case cast check collate column commit conflict constraint cross current_date current_time current_timestamp database default deferrable deferred detach each else end escape except exclusive exists explain fail for foreign full glob if ignore immediate index indexed initially inner instead intersect isnull key left limit match natural no notnull null of offset outer plan pragma primary query raise recursive references regexp reindex release rename replace restrict right rollback row savepoint temp temporary then to transaction trigger unique using vacuum view virtual when with without"),builtin:h("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text clob bigint int int2 int8 integer float double char varchar date datetime year unsigned signed numeric real"),atoms:h("null current_date current_time current_timestamp"),operatorChars:/^[*+\-%<>!=&|/~]/,dateSQL:h("date time timestamp datetime"),support:h("decimallessFloat zerolessFloat"),identifierQuote:'"',hooks:{"@":ue,":":ue,"?":ue,$:ue,'"':xa,"`":Tn}}),nc=G({client:{},keywords:h("add all allow alter and any apply as asc authorize batch begin by clustering columnfamily compact consistency count create custom delete desc distinct drop each_quorum exists filtering from grant if in index insert into key keyspace keyspaces level limit local_one local_quorum modify nan norecursive nosuperuser not of on one order password permission permissions primary quorum rename revoke schema select set storage superuser table three to token truncate ttl two type unlogged update use user users using values where with writetime"),builtin:h("ascii bigint blob boolean counter decimal double float frozen inet int list map static text timestamp timeuuid tuple uuid varchar varint"),atoms:h("false true infinity NaN"),operatorChars:/^[<>=]/,dateSQL:{},support:h("commentSlashSlash decimallessFloat"),hooks:{}}),Ta=G({client:h("appinfo arraysize autocommit autoprint autorecovery autotrace blockterminator break btitle cmdsep colsep compatibility compute concat copycommit copytypecheck define describe echo editfile embedded escape exec execute feedback flagger flush heading headsep instance linesize lno loboffset logsource long longchunksize markup native newpage numformat numwidth pagesize pause pno recsep recsepchar release repfooter repheader serveroutput shiftinout show showmode size spool sqlblanklines sqlcase sqlcode sqlcontinue sqlnumber sqlpluscompatibility sqlprefix sqlprompt sqlterminator suffix tab term termout time timing trimout trimspool ttitle underline verify version wrap"),keywords:h("abort accept access add all alter and any array arraylen as asc assert assign at attributes audit authorization avg base_table begin between binary_integer body boolean by case cast char char_base check close cluster clusters colauth column comment commit compress connect connected constant constraint crash create current currval cursor data_base database date dba deallocate debugoff debugon decimal declare default definition delay delete desc digits dispose distinct do drop else elseif elsif enable end entry escape exception exception_init exchange exclusive exists exit external fast fetch file for force form from function generic goto grant group having identified if immediate in increment index indexes indicator initial initrans insert interface intersect into is key level library like limited local lock log logging long loop master maxextents maxtrans member minextents minus mislabel mode modify multiset new next no noaudit nocompress nologging noparallel not nowait number_base object of off offline on online only open option or order out package parallel partition pctfree pctincrease pctused pls_integer positive positiven pragma primary prior private privileges procedure public raise range raw read rebuild record ref references refresh release rename replace resource restrict return returning returns reverse revoke rollback row rowid rowlabel rownum rows run savepoint schema segment select separate session set share snapshot some space split sql start statement storage subtype successful synonym tabauth table tables tablespace task terminate then to trigger truncate type union unique unlimited unrecoverable unusable update use using validate value values variable view views when whenever where while with work"),builtin:h("abs acos add_months ascii asin atan atan2 average bfile bfilename bigserial bit blob ceil character chartorowid chr clob concat convert cos cosh count dec decode deref dual dump dup_val_on_index empty error exp false float floor found glb greatest hextoraw initcap instr instrb int integer isopen last_day least length lengthb ln lower lpad ltrim lub make_ref max min mlslabel mod months_between natural naturaln nchar nclob new_time next_day nextval nls_charset_decl_len nls_charset_id nls_charset_name nls_initcap nls_lower nls_sort nls_upper nlssort no_data_found notfound null number numeric nvarchar2 nvl others power rawtohex real reftohex round rowcount rowidtochar rowtype rpad rtrim serial sign signtype sin sinh smallint soundex sqlcode sqlerrm sqrt stddev string substr substrb sum sysdate tan tanh to_char text to_date to_label to_multi_byte to_number to_single_byte translate true trunc uid unlogged upper user userenv varchar varchar2 variance varying vsize xml"),operatorChars:/^[*\/+\-%<>!=~]/,dateSQL:h("date time timestamp"),support:h("doubleQuote nCharCast zerolessFloat binaryNumber hexNumber")}),tc=G({keywords:h("select alter $elem$ $key$ $value$ add after all analyze and archive as asc before between binary both bucket buckets by cascade case cast change cluster clustered clusterstatus collection column columns comment compute concatenate continue create cross cursor data database databases dbproperties deferred delete delimited desc describe directory disable distinct distribute drop else enable end escaped exclusive exists explain export extended external fetch fields fileformat first format formatted from full function functions grant group having hold_ddltime idxproperties if import in index indexes inpath inputdriver inputformat insert intersect into is items join keys lateral left like limit lines load local location lock locks mapjoin materialized minus msck no_drop nocompress not of offline on option or order out outer outputdriver outputformat overwrite partition partitioned partitions percent plus preserve procedure purge range rcfile read readonly reads rebuild recordreader recordwriter recover reduce regexp rename repair replace restrict revoke right rlike row schema schemas semi sequencefile serde serdeproperties set shared show show_database sort sorted ssl statistics stored streamtable table tables tablesample tblproperties temporary terminated textfile then tmp to touch transform trigger unarchive undo union uniquejoin unlock update use using utc utc_tmestamp view when where while with admin authorization char compact compactions conf cube current current_date current_timestamp day decimal defined dependency directories elem_type exchange file following for grouping hour ignore inner interval jar less logical macro minute month more none noscan over owner partialscan preceding pretty principals protection reload rewrite role roles rollup rows second server sets skewed transactions truncate unbounded unset uri user values window year"),builtin:h("bool boolean long timestamp tinyint smallint bigint int float double date datetime unsigned string array struct map uniontype key_type utctimestamp value_type varchar"),atoms:h("false true null unknown"),operatorChars:/^[*+\-%<>!=]/,dateSQL:h("date timestamp"),support:h("ODBCdotTable doubleQuote binaryNumber hexNumber")}),Ca=G({client:h("source"),keywords:h(de+"a abort abs absent absolute access according action ada add admin after aggregate alias all allocate also alter always analyse analyze and any are array array_agg array_max_cardinality as asc asensitive assert assertion assignment asymmetric at atomic attach attribute attributes authorization avg backward base64 before begin begin_frame begin_partition bernoulli between bigint binary bit bit_length blob blocked bom boolean both breadth by c cache call called cardinality cascade cascaded case cast catalog catalog_name ceil ceiling chain char char_length character character_length character_set_catalog character_set_name character_set_schema characteristics characters check checkpoint class class_origin clob close cluster coalesce cobol collate collation collation_catalog collation_name collation_schema collect column column_name columns command_function command_function_code comment comments commit committed concurrently condition condition_number configuration conflict connect connection connection_name constant constraint constraint_catalog constraint_name constraint_schema constraints constructor contains content continue control conversion convert copy corr corresponding cost count covar_pop covar_samp create cross csv cube cume_dist current current_catalog current_date current_default_transform_group current_path current_role current_row current_schema current_time current_timestamp current_transform_group_for_type current_user cursor cursor_name cycle data database datalink datatype date datetime_interval_code datetime_interval_precision day db deallocate debug dec decimal declare default defaults deferrable deferred defined definer degree delete delimiter delimiters dense_rank depends depth deref derived desc describe descriptor detach detail deterministic diagnostics dictionary disable discard disconnect dispatch distinct dlnewcopy dlpreviouscopy dlurlcomplete dlurlcompleteonly dlurlcompletewrite dlurlpath dlurlpathonly dlurlpathwrite dlurlscheme dlurlserver dlvalue do document domain double drop dump dynamic dynamic_function dynamic_function_code each element else elseif elsif empty enable encoding encrypted end end_frame end_partition endexec enforced enum equals errcode error escape event every except exception exclude excluding exclusive exec execute exists exit exp explain expression extension external extract false family fetch file filter final first first_value flag float floor following for force foreach foreign fortran forward found frame_row free freeze from fs full function functions fusion g general generated get global go goto grant granted greatest group grouping groups handler having header hex hierarchy hint hold hour id identity if ignore ilike immediate immediately immutable implementation implicit import in include including increment indent index indexes indicator info inherit inherits initially inline inner inout input insensitive insert instance instantiable instead int integer integrity intersect intersection interval into invoker is isnull isolation join k key key_member key_type label lag language large last last_value lateral lead leading leakproof least left length level library like like_regex limit link listen ln load local localtime localtimestamp location locator lock locked log logged loop lower m map mapping match matched materialized max max_cardinality maxvalue member merge message message_length message_octet_length message_text method min minute minvalue mod mode modifies module month more move multiset mumps name names namespace national natural nchar nclob nesting new next nfc nfd nfkc nfkd nil no none normalize normalized not nothing notice notify notnull nowait nth_value ntile null nullable nullif nulls number numeric object occurrences_regex octet_length octets of off offset oids old on only open operator option options or order ordering ordinality others out outer output over overlaps overlay overriding owned owner p pad parallel parameter parameter_mode parameter_name parameter_ordinal_position parameter_specific_catalog parameter_specific_name parameter_specific_schema parser partial partition pascal passing passthrough password path percent percent_rank percentile_cont percentile_disc perform period permission pg_context pg_datatype_name pg_exception_context pg_exception_detail pg_exception_hint placing plans pli policy portion position position_regex power precedes preceding precision prepare prepared preserve primary print_strict_params prior privileges procedural procedure procedures program public publication query quote raise range rank read reads real reassign recheck recovery recursive ref references referencing refresh regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy regr_syy reindex relative release rename repeatable replace replica requiring reset respect restart restore restrict result result_oid return returned_cardinality returned_length returned_octet_length returned_sqlstate returning returns reverse revoke right role rollback rollup routine routine_catalog routine_name routine_schema routines row row_count row_number rows rowtype rule savepoint scale schema schema_name schemas scope scope_catalog scope_name scope_schema scroll search second section security select selective self sensitive sequence sequences serializable server server_name session session_user set setof sets share show similar simple size skip slice smallint snapshot some source space specific specific_name specifictype sql sqlcode sqlerror sqlexception sqlstate sqlwarning sqrt stable stacked standalone start state statement static statistics stddev_pop stddev_samp stdin stdout storage strict strip structure style subclass_origin submultiset subscription substring substring_regex succeeds sum symmetric sysid system system_time system_user t table table_name tables tablesample tablespace temp template temporary text then ties time timestamp timezone_hour timezone_minute to token top_level_count trailing transaction transaction_active transactions_committed transactions_rolled_back transform transforms translate translate_regex translation treat trigger trigger_catalog trigger_name trigger_schema trim trim_array true truncate trusted type types uescape unbounded uncommitted under unencrypted union unique unknown unlink unlisten unlogged unnamed unnest until untyped update upper uri usage use_column use_variable user user_defined_type_catalog user_defined_type_code user_defined_type_name user_defined_type_schema using vacuum valid validate validator value value_of values var_pop var_samp varbinary varchar variable_conflict variadic varying verbose version versioning view views volatile warning when whenever where while whitespace width_bucket window with within without work wrapper write xml xmlagg xmlattributes xmlbinary xmlcast xmlcomment xmlconcat xmldeclaration xmldocument xmlelement xmlexists xmlforest xmliterate xmlnamespaces xmlparse xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltext xmlvalidate year yes zone"),builtin:h("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:h("false true null unknown"),operatorChars:/^[*\/+\-%<>!=&|^\/#@?~]/,backslashStringEscapes:!1,dateSQL:h("date time timestamp"),support:h("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast escapeConstant")}),rc=G({keywords:h("ancestor and asc by contains desc descendant distinct from group has in is limit offset on order select superset where"),atoms:h("false true"),builtin:h("blob datetime first key __key__ string integer double boolean null"),operatorChars:/^[*+\-%<>!=]/}),ic=G({client:h("source"),keywords:h("abort absolute access action active add admin after aggregate all also alter always analyse analyze and any array as asc assertion assignment asymmetric at authorization backward before begin between bigint binary bit boolean both by cache called cascade cascaded case cast chain char character characteristics check checkpoint class close cluster coalesce codegen collate column comment commit committed concurrency concurrently configuration connection constraint constraints contains content continue conversion copy cost cpu_rate_limit create createdb createexttable createrole createuser cross csv cube current current_catalog current_date current_role current_schema current_time current_timestamp current_user cursor cycle data database day deallocate dec decimal declare decode default defaults deferrable deferred definer delete delimiter delimiters deny desc dictionary disable discard distinct distributed do document domain double drop dxl each else enable encoding encrypted end enum errors escape every except exchange exclude excluding exclusive execute exists explain extension external extract false family fetch fields filespace fill filter first float following for force foreign format forward freeze from full function global grant granted greatest group group_id grouping handler hash having header hold host hour identity if ignore ilike immediate immutable implicit in including inclusive increment index indexes inherit inherits initially inline inner inout input insensitive insert instead int integer intersect interval into invoker is isnull isolation join key language large last leading least left level like limit list listen load local localtime localtimestamp location lock log login mapping master match maxvalue median merge minute minvalue missing mode modifies modify month move name names national natural nchar new newline next no nocreatedb nocreateexttable nocreaterole nocreateuser noinherit nologin none noovercommit nosuperuser not nothing notify notnull nowait null nullif nulls numeric object of off offset oids old on only operator option options or order ordered others out outer over overcommit overlaps overlay owned owner parser partial partition partitions passing password percent percentile_cont percentile_disc placing plans position preceding precision prepare prepared preserve primary prior privileges procedural procedure protocol queue quote randomly range read readable reads real reassign recheck recursive ref references reindex reject relative release rename repeatable replace replica reset resource restart restrict returning returns revoke right role rollback rollup rootpartition row rows rule savepoint scatter schema scroll search second security segment select sequence serializable session session_user set setof sets share show similar simple smallint some split sql stable standalone start statement statistics stdin stdout storage strict strip subpartition subpartitions substring superuser symmetric sysid system table tablespace temp template temporary text then threshold ties time timestamp to trailing transaction treat trigger trim true truncate trusted type unbounded uncommitted unencrypted union unique unknown unlisten until update user using vacuum valid validation validator value values varchar variadic varying verbose version view volatile web when where whitespace window with within without work writable write xml xmlattributes xmlconcat xmlelement xmlexists xmlforest xmlparse xmlpi xmlroot xmlserialize year yes zone"),builtin:h("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:h("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:h("date time timestamp"),support:h("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast")}),oc=G({keywords:h("add after all alter analyze and anti archive array as asc at between bucket buckets by cache cascade case cast change clear cluster clustered codegen collection column columns comment commit compact compactions compute concatenate cost create cross cube current current_date current_timestamp database databases data dbproperties defined delete delimited deny desc describe dfs directories distinct distribute drop else end escaped except exchange exists explain export extended external false fields fileformat first following for format formatted from full function functions global grant group grouping having if ignore import in index indexes inner inpath inputformat insert intersect interval into is items join keys last lateral lazy left like limit lines list load local location lock locks logical macro map minus msck natural no not null nulls of on optimize option options or order out outer outputformat over overwrite partition partitioned partitions percent preceding principals purge range recordreader recordwriter recover reduce refresh regexp rename repair replace reset restrict revoke right rlike role roles rollback rollup row rows schema schemas select semi separated serde serdeproperties set sets show skewed sort sorted start statistics stored stratify struct table tables tablesample tblproperties temp temporary terminated then to touch transaction transactions transform true truncate unarchive unbounded uncache union unlock unset use using values view when where window with"),builtin:h("tinyint smallint int bigint boolean float double string binary timestamp decimal array map struct uniontype delimited serde sequencefile textfile rcfile inputformat outputformat"),atoms:h("false true null"),operatorChars:/^[*\/+\-%<>!=~&|^]/,dateSQL:h("date time timestamp"),support:h("ODBCdotTable doubleQuote zerolessFloat")}),ac=G({client:h("source"),keywords:h("alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit after all and as at asc avedev avg between by case cast coalesce count create current_timestamp day days delete define desc distinct else end escape events every exists false first from full group having hour hours in inner insert instanceof into irstream is istream join last lastweekday left limit like max match_recognize matches median measures metadatasql min minute minutes msec millisecond milliseconds not null offset on or order outer output partition pattern prev prior regexp retain-union retain-intersection right rstream sec second seconds select set some snapshot sql stddev sum then true unidirectional until update variable weekday when where window"),builtin:{},atoms:h("false true null"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:h("time"),support:h("decimallessFloat zerolessFloat binaryNumber hexNumber")});function Yt(e){function n(c,d){c.cmdState.push(d)}function t(c){return c.cmdState.length>0?c.cmdState[c.cmdState.length-1]:null}function r(c){var d=c.cmdState.pop();d&&d.closeBracket()}function i(c){for(var d=c.cmdState,y=d.length-1;y>=0;y--){var O=d[y];if(O.name!="DEFAULT")return O}return{styleIdentifier:function(){return null}}}function o(c,d,y){return function(){this.name=c,this.bracketNo=0,this.style=d,this.styles=y,this.argument=null,this.styleIdentifier=function(){return this.styles[this.bracketNo-1]||null},this.openBracket=function(){return this.bracketNo++,"bracket"},this.closeBracket=function(){}}}var a={};a.importmodule=o("importmodule","tag",["string","builtin"]),a.documentclass=o("documentclass","tag",["","atom"]),a.usepackage=o("usepackage","tag",["atom"]),a.begin=o("begin","tag",["atom"]),a.end=o("end","tag",["atom"]),a.label=o("label","tag",["atom"]),a.ref=o("ref","tag",["atom"]),a.eqref=o("eqref","tag",["atom"]),a.cite=o("cite","tag",["atom"]),a.bibitem=o("bibitem","tag",["atom"]),a.Bibitem=o("Bibitem","tag",["atom"]),a.RBibitem=o("RBibitem","tag",["atom"]),a.DEFAULT=function(){this.name="DEFAULT",this.style="tag",this.styleIdentifier=this.openBracket=this.closeBracket=function(){}};function p(c,d){c.f=d}function S(c,d){var y;if(c.match(/^\\[a-zA-Z@\xc0-\u1fff\u2060-\uffff]+/)){var O=c.current().slice(1);return y=a.hasOwnProperty(O)?a[O]:a.DEFAULT,y=new y,n(d,y),p(d,x),y.style}if(c.match(/^\\[$&%#{}_]/)||c.match(/^\\[,;!\/\\]/))return"tag";if(c.match("\\["))return p(d,function(M,u){return E(M,u,"\\]")}),"keyword";if(c.match("\\("))return p(d,function(M,u){return E(M,u,"\\)")}),"keyword";if(c.match("$$"))return p(d,function(M,u){return E(M,u,"$$")}),"keyword";if(c.match("$"))return p(d,function(M,u){return E(M,u,"$")}),"keyword";var K=c.next();if(K=="%")return c.skipToEnd(),"comment";if(K=="}"||K=="]"){if(y=t(d),y)y.closeBracket(K),p(d,x);else return"error";return"bracket"}else return K=="{"||K=="["?(y=a.DEFAULT,y=new y,n(d,y),"bracket"):/\d/.test(K)?(c.eatWhile(/[\w.%]/),"atom"):(c.eatWhile(/[\w\-_]/),y=i(d),y.name=="begin"&&(y.argument=c.current()),y.styleIdentifier())}function E(c,d,y){if(c.eatSpace())return null;if(y&&c.match(y))return p(d,S),"keyword";if(c.match(/^\\[a-zA-Z@]+/))return"tag";if(c.match(/^[a-zA-Z]+/))return"variableName.special";if(c.match(/^\\[$&%#{}_]/)||c.match(/^\\[,;!\/]/)||c.match(/^[\^_&]/))return"tag";if(c.match(/^[+\-<>|=,\/@!*:;'"`~#?]/))return null;if(c.match(/^(\d+\.\d*|\d*\.\d+|\d+)/))return"number";var O=c.next();return O=="{"||O=="}"||O=="["||O=="]"||O=="("||O==")"?"bracket":O=="%"?(c.skipToEnd(),"comment"):"error"}function x(c,d){var y=c.peek(),O;return y=="{"||y=="["?(O=t(d),O.openBracket(y),c.eat(y),p(d,S),"bracket"):/[ \t\r]/.test(y)?(c.eat(y),null):(p(d,S),r(d),S(c,d))}return{name:"stex",startState:function(){var c=e?function(d,y){return E(d,y)}:S;return{cmdState:[],f:c}},copyState:function(c){return{cmdState:c.cmdState.slice(),f:c.f}},token:function(c,d){return d.f(c,d)},blankLine:function(c){c.f=S,c.cmdState.length=0},languageData:{commentTokens:{line:"%"}}}}var Ia=Yt(!1),cc=Yt(!0);function Ke(e){for(var n={},t=0;t<e.length;t++)n[e[t]]=!0;return n}var Ra=Ke(["_","var","let","actor","class","enum","extension","import","protocol","struct","func","typealias","associatedtype","open","public","internal","fileprivate","private","deinit","init","new","override","self","subscript","super","convenience","dynamic","final","indirect","lazy","required","static","unowned","unowned(safe)","unowned(unsafe)","weak","as","is","break","case","continue","default","else","fallthrough","for","guard","if","in","repeat","switch","where","while","defer","return","inout","mutating","nonmutating","isolated","nonisolated","catch","do","rethrows","throw","throws","async","await","try","didSet","get","set","willSet","assignment","associativity","infix","left","none","operator","postfix","precedence","precedencegroup","prefix","right","Any","AnyObject","Type","dynamicType","Self","Protocol","__COLUMN__","__FILE__","__FUNCTION__","__LINE__"]),Oa=Ke(["var","let","actor","class","enum","extension","import","protocol","struct","func","typealias","associatedtype","for"]),Aa=Ke(["true","false","nil","self","super","_"]),Pa=Ke(["Array","Bool","Character","Dictionary","Double","Float","Int","Int8","Int16","Int32","Int64","Never","Optional","Set","String","UInt8","UInt16","UInt32","UInt64","Void"]),La="+-/*%=|&<>~^?!",Da=":;,.(){}[]",$a=/^\-?0b[01][01_]*/,Na=/^\-?0o[0-7][0-7_]*/,qa=/^\-?0x[\dA-Fa-f][\dA-Fa-f_]*(?:(?:\.[\dA-Fa-f][\dA-Fa-f_]*)?[Pp]\-?\d[\d_]*)?/,Fa=/^\-?\d[\d_]*(?:\.\d[\d_]*)?(?:[Ee]\-?\d[\d_]*)?/,Ma=/^\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1/,Ba=/^\.(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/,ja=/^\#[A-Za-z]+/,Wa=/^@(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/;function er(e,n,t){if(e.sol()&&(n.indented=e.indentation()),e.eatSpace())return null;var r=e.peek();if(r=="/"){if(e.match("//"))return e.skipToEnd(),"comment";if(e.match("/*"))return n.tokenize.push(Cn),Cn(e,n)}if(e.match(ja))return"builtin";if(e.match(Wa))return"attribute";if(e.match($a)||e.match(Na)||e.match(qa)||e.match(Fa))return"number";if(e.match(Ba))return"property";if(La.indexOf(r)>-1)return e.next(),"operator";if(Da.indexOf(r)>-1)return e.next(),e.match(".."),"punctuation";var i;if(i=e.match(/("""|"|')/)){var o=Ka.bind(null,i[0]);return n.tokenize.push(o),o(e,n)}if(e.match(Ma)){var a=e.current();return Pa.hasOwnProperty(a)?"type":Aa.hasOwnProperty(a)?"atom":Ra.hasOwnProperty(a)?(Oa.hasOwnProperty(a)&&(n.prev="define"),"keyword"):t=="define"?"def":"variable"}return e.next(),null}function Ua(){var e=0;return function(n,t,r){var i=er(n,t,r);if(i=="punctuation"){if(n.current()=="(")++e;else if(n.current()==")"){if(e==0)return n.backUp(1),t.tokenize.pop(),t.tokenize[t.tokenize.length-1](n,t);--e}}return i}}function Ka(e,n,t){for(var r=e.length==1,i,o=!1;i=n.peek();)if(o){if(n.next(),i=="(")return t.tokenize.push(Ua()),"string";o=!1}else{if(n.match(e))return t.tokenize.pop(),"string";n.next(),o=i=="\\"}return r&&t.tokenize.pop(),"string"}function Cn(e,n){for(var t;t=e.next();)if(t==="/"&&e.eat("*"))n.tokenize.push(Cn);else if(t==="*"&&e.eat("/")){n.tokenize.pop();break}return"comment"}function Ha(e,n,t){this.prev=e,this.align=n,this.indented=t}function Ga(e,n){var t=n.match(/^\s*($|\/[\/\*]|[)}\]])/,!1)?null:n.column()+1;e.context=new Ha(e.context,t,e.indented)}function Za(e){e.context&&(e.indented=e.context.indented,e.context=e.context.prev)}var Qa={name:"swift",startState:function(){return{prev:null,context:null,indented:0,tokenize:[]}},token:function(e,n){var t=n.prev;n.prev=null;var r=n.tokenize[n.tokenize.length-1]||er,i=r(e,n,t);if(!i||i=="comment"?n.prev=t:n.prev||(n.prev=i),i=="punctuation"){var o=/[\(\[\{]|([\]\)\}])/.exec(e.current());o&&(o[1]?Za:Ga)(n,e)}return i},indent:function(e,n,t){var r=e.context;if(!r)return 0;var i=/^[\]\}\)]/.test(n);return r.align!=null?r.align-(i?1:0):r.indented+(i?0:t.unit)},languageData:{indentOnInput:/^\s*[\)\}\]]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}};var Va={name:"toml",startState:function(){return{inString:!1,stringType:"",lhs:!0,inArray:0}},token:function(e,n){if(!n.inString&&(e.peek()=='"'||e.peek()=="'")&&(n.stringType=e.peek(),e.next(),n.inString=!0),e.sol()&&n.inArray===0&&(n.lhs=!0),n.inString){for(;n.inString&&!e.eol();)e.peek()===n.stringType?(e.next(),n.inString=!1):e.peek()==="\\"?(e.next(),e.next()):e.match(/^.[^\\\"\']*/);return n.lhs?"property":"string"}else{if(n.inArray&&e.peek()==="]")return e.next(),n.inArray--,"bracket";if(n.lhs&&e.peek()==="["&&e.skipTo("]"))return e.next(),e.peek()==="]"&&e.next(),"atom";if(e.peek()==="#")return e.skipToEnd(),"comment";if(e.eatSpace())return null;if(n.lhs&&e.eatWhile(function(t){return t!="="&&t!=" "}))return"property";if(n.lhs&&e.peek()==="=")return e.next(),n.lhs=!1,null;if(!n.lhs&&e.match(/^\d\d\d\d[\d\-\:\.T]*Z/))return"atom";if(!n.lhs&&(e.match("true")||e.match("false")))return"atom";if(!n.lhs&&e.peek()==="[")return n.inArray++,e.next(),"bracket";if(!n.lhs&&e.match(/^\-?\d+(?:\.\d+)?/))return"number";e.eatSpace()||e.next()}return null},languageData:{commentTokens:{line:"#"}}};var He="error";function ce(e){return new RegExp("^(("+e.join(")|(")+"))\\b","i")}var Xa=new RegExp("^[\\+\\-\\*/%&\\\\|\\^~<>!]"),Ja=new RegExp("^[\\(\\)\\[\\]\\{\\}@,:`=;\\.]"),Ya=new RegExp("^((==)|(<>)|(<=)|(>=)|(<>)|(<<)|(>>)|(//)|(\\*\\*))"),el=new RegExp("^((\\+=)|(\\-=)|(\\*=)|(%=)|(/=)|(&=)|(\\|=)|(\\^=))"),nl=new RegExp("^((//=)|(>>=)|(<<=)|(\\*\\*=))"),tl=new RegExp("^[_A-Za-z][_A-Za-z0-9]*"),nr=["class","module","sub","enum","select","while","if","function","get","set","property","try","structure","synclock","using","with"],tr=["else","elseif","case","catch","finally"],rr=["next","loop"],ir=["and","andalso","or","orelse","xor","in","not","is","isnot","like"],rl=ce(ir),or=["#const","#else","#elseif","#end","#if","#region","addhandler","addressof","alias","as","byref","byval","cbool","cbyte","cchar","cdate","cdbl","cdec","cint","clng","cobj","compare","const","continue","csbyte","cshort","csng","cstr","cuint","culng","cushort","declare","default","delegate","dim","directcast","each","erase","error","event","exit","explicit","false","for","friend","gettype","goto","handles","implements","imports","infer","inherits","interface","isfalse","istrue","lib","me","mod","mustinherit","mustoverride","my","mybase","myclass","namespace","narrowing","new","nothing","notinheritable","notoverridable","of","off","on","operator","option","optional","out","overloads","overridable","overrides","paramarray","partial","private","protected","public","raiseevent","readonly","redim","removehandler","resume","return","shadows","shared","static","step","stop","strict","then","throw","to","true","trycast","typeof","until","until","when","widening","withevents","writeonly"],ar=["object","boolean","char","string","byte","sbyte","short","ushort","int16","uint16","integer","uinteger","int32","uint32","long","ulong","int64","uint64","decimal","single","double","float","date","datetime","intptr","uintptr"],il=ce(or),ol=ce(ar),al='"',ll=ce(nr),lr=ce(tr),cr=ce(rr),sr=ce(["end"]),cl=ce(["do"]),sl=null;function In(e,n){n.currentIndent++}function Ce(e,n){n.currentIndent--}function Rn(e,n){if(e.eatSpace())return null;var t=e.peek();if(t==="'")return e.skipToEnd(),"comment";if(e.match(/^((&H)|(&O))?[0-9\.a-f]/i,!1)){var r=!1;if((e.match(/^\d*\.\d+F?/i)||e.match(/^\d+\.\d*F?/)||e.match(/^\.\d+F?/))&&(r=!0),r)return e.eat(/J/i),"number";var i=!1;if(e.match(/^&H[0-9a-f]+/i)||e.match(/^&O[0-7]+/i)?i=!0:e.match(/^[1-9]\d*F?/)?(e.eat(/J/i),i=!0):e.match(/^0(?![\dx])/i)&&(i=!0),i)return e.eat(/L/i),"number"}return e.match(al)?(n.tokenize=ul(e.current()),n.tokenize(e,n)):e.match(nl)||e.match(el)?null:e.match(Ya)||e.match(Xa)||e.match(rl)?"operator":e.match(Ja)?null:e.match(cl)?(In(e,n),n.doInCurrentLine=!0,"keyword"):e.match(ll)?(n.doInCurrentLine?n.doInCurrentLine=!1:In(e,n),"keyword"):e.match(lr)?"keyword":e.match(sr)?(Ce(e,n),Ce(e,n),"keyword"):e.match(cr)?(Ce(e,n),"keyword"):e.match(ol)||e.match(il)?"keyword":e.match(tl)?"variable":(e.next(),He)}function ul(e){var n=e.length==1,t="string";return function(r,i){for(;!r.eol();){if(r.eatWhile(/[^'"]/),r.match(e))return i.tokenize=Rn,t;r.eat(/['"]/)}return n&&(i.tokenize=Rn),t}}function dl(e,n){var t=n.tokenize(e,n),r=e.current();if(r===".")return t=n.tokenize(e,n),t==="variable"?"variable":He;var i="[({".indexOf(r);return i!==-1&&In(e,n),sl==="dedent"&&Ce(e,n)||(i="])}".indexOf(r),i!==-1&&Ce(e,n))?He:t}var fl={name:"vb",startState:function(){return{tokenize:Rn,lastToken:null,currentIndent:0,nextLineIndent:0,doInCurrentLine:!1}},token:function(e,n){e.sol()&&(n.currentIndent+=n.nextLineIndent,n.nextLineIndent=0,n.doInCurrentLine=0);var t=dl(e,n);return n.lastToken={style:t,content:e.current()},t},indent:function(e,n,t){var r=n.replace(/^\s+|\s+$/g,"");return r.match(cr)||r.match(sr)||r.match(lr)?t.unit*(e.currentIndent-1):e.currentIndent<0?0:e.currentIndent*t.unit},languageData:{closeBrackets:{brackets:["(","[","{",'"']},commentTokens:{line:"'"},autocomplete:nr.concat(tr).concat(rr).concat(ir).concat(or).concat(ar)}};function ur(e){var n="error";function t(g){return new RegExp("^(("+g.join(")|(")+"))\\b","i")}var r=new RegExp("^[\\+\\-\\*/&\\\\\\^<>=]"),i=new RegExp("^((<>)|(<=)|(>=))"),o=new RegExp("^[\\.,]"),a=new RegExp("^[\\(\\)]"),p=new RegExp("^[A-Za-z][_A-Za-z0-9]*"),S=["class","sub","select","while","if","function","property","with","for"],E=["else","elseif","case"],x=["next","loop","wend"],c=t(["and","or","not","xor","is","mod","eqv","imp"]),d=["dim","redim","then","until","randomize","byval","byref","new","property","exit","in","const","private","public","get","set","let","stop","on error resume next","on error goto 0","option explicit","call","me"],y=["true","false","nothing","empty","null"],O=["abs","array","asc","atn","cbool","cbyte","ccur","cdate","cdbl","chr","cint","clng","cos","csng","cstr","date","dateadd","datediff","datepart","dateserial","datevalue","day","escape","eval","execute","exp","filter","formatcurrency","formatdatetime","formatnumber","formatpercent","getlocale","getobject","getref","hex","hour","inputbox","instr","instrrev","int","fix","isarray","isdate","isempty","isnull","isnumeric","isobject","join","lbound","lcase","left","len","loadpicture","log","ltrim","rtrim","trim","maths","mid","minute","month","monthname","msgbox","now","oct","replace","rgb","right","rnd","round","scriptengine","scriptenginebuildversion","scriptenginemajorversion","scriptengineminorversion","second","setlocale","sgn","sin","space","split","sqr","strcomp","string","strreverse","tan","time","timer","timeserial","timevalue","typename","ubound","ucase","unescape","vartype","weekday","weekdayname","year"],K=["vbBlack","vbRed","vbGreen","vbYellow","vbBlue","vbMagenta","vbCyan","vbWhite","vbBinaryCompare","vbTextCompare","vbSunday","vbMonday","vbTuesday","vbWednesday","vbThursday","vbFriday","vbSaturday","vbUseSystemDayOfWeek","vbFirstJan1","vbFirstFourDays","vbFirstFullWeek","vbGeneralDate","vbLongDate","vbShortDate","vbLongTime","vbShortTime","vbObjectError","vbOKOnly","vbOKCancel","vbAbortRetryIgnore","vbYesNoCancel","vbYesNo","vbRetryCancel","vbCritical","vbQuestion","vbExclamation","vbInformation","vbDefaultButton1","vbDefaultButton2","vbDefaultButton3","vbDefaultButton4","vbApplicationModal","vbSystemModal","vbOK","vbCancel","vbAbort","vbRetry","vbIgnore","vbYes","vbNo","vbCr","VbCrLf","vbFormFeed","vbLf","vbNewLine","vbNullChar","vbNullString","vbTab","vbVerticalTab","vbUseDefault","vbTrue","vbFalse","vbEmpty","vbNull","vbInteger","vbLong","vbSingle","vbDouble","vbCurrency","vbDate","vbString","vbObject","vbError","vbBoolean","vbVariant","vbDataObject","vbDecimal","vbByte","vbArray"],M=["WScript","err","debug","RegExp"],u=["description","firstindex","global","helpcontext","helpfile","ignorecase","length","number","pattern","source","value","count"],T=["clear","execute","raise","replace","test","write","writeline","close","open","state","eof","update","addnew","end","createobject","quit"],w=["server","response","request","session","application"],C=["buffer","cachecontrol","charset","contenttype","expires","expiresabsolute","isclientconnected","pics","status","clientcertificate","cookies","form","querystring","servervariables","totalbytes","contents","staticobjects","codepage","lcid","sessionid","timeout","scripttimeout"],l=["addheader","appendtolog","binarywrite","end","flush","redirect","binaryread","remove","removeall","lock","unlock","abandon","getlasterror","htmlencode","mappath","transfer","urlencode"],s=T.concat(u);M=M.concat(K),e.isASP&&(M=M.concat(w),s=s.concat(l,C));var I=t(d),k=t(y),L=t(O),m=t(M),f=t(s),z='"',v=t(S),D=t(E),J=t(x),ye=t(["end"]),Qe=t(["do"]),fr=t(["on error resume next","exit"]),pr=t(["rem"]);function Ln(g,R){R.currentIndent++}function Ve(g,R){R.currentIndent--}function Xe(g,R){if(g.eatSpace())return null;var $=g.peek();if($==="'"||g.match(pr))return g.skipToEnd(),"comment";if(g.match(/^((&H)|(&O))?[0-9\.]/i,!1)&&!g.match(/^((&H)|(&O))?[0-9\.]+[a-z_]/i,!1)){var W=!1;if((g.match(/^\d*\.\d+/i)||g.match(/^\d+\.\d*/)||g.match(/^\.\d+/))&&(W=!0),W)return g.eat(/J/i),"number";var re=!1;if(g.match(/^&H[0-9a-f]+/i)||g.match(/^&O[0-7]+/i)?re=!0:g.match(/^[1-9]\d*F?/)?(g.eat(/J/i),re=!0):g.match(/^0(?![\dx])/i)&&(re=!0),re)return g.eat(/L/i),"number"}return g.match(z)?(R.tokenize=mr(g.current()),R.tokenize(g,R)):g.match(i)||g.match(r)||g.match(c)?"operator":g.match(o)?null:g.match(a)?"bracket":g.match(fr)?(R.doInCurrentLine=!0,"keyword"):g.match(Qe)?(Ln(g,R),R.doInCurrentLine=!0,"keyword"):g.match(v)?(R.doInCurrentLine?R.doInCurrentLine=!1:Ln(g,R),"keyword"):g.match(D)?"keyword":g.match(ye)?(Ve(g,R),Ve(g,R),"keyword"):g.match(J)?(R.doInCurrentLine?R.doInCurrentLine=!1:Ve(g,R),"keyword"):g.match(I)?"keyword":g.match(k)?"atom":g.match(f)?"variableName.special":g.match(L)||g.match(m)?"builtin":g.match(p)?"variable":(g.next(),n)}function mr(g){var R=g.length==1,$="string";return function(W,re){for(;!W.eol();){if(W.eatWhile(/[^'"]/),W.match(g))return re.tokenize=Xe,$;W.eat(/['"]/)}return R&&(re.tokenize=Xe),$}}function hr(g,R){var $=R.tokenize(g,R),W=g.current();return W==="."?($=R.tokenize(g,R),W=g.current(),$&&($.substr(0,8)==="variable"||$==="builtin"||$==="keyword")?(($==="builtin"||$==="keyword")&&($="variable"),s.indexOf(W.substr(1))>-1&&($="keyword"),$):n):$}return{name:"vbscript",startState:function(){return{tokenize:Xe,lastToken:null,currentIndent:0,nextLineIndent:0,doInCurrentLine:!1,ignoreKeyword:!1}},token:function(g,R){g.sol()&&(R.currentIndent+=R.nextLineIndent,R.nextLineIndent=0,R.doInCurrentLine=0);var $=hr(g,R);return R.lastToken={style:$,content:g.current()},$===null&&($=null),$},indent:function(g,R,$){var W=R.replace(/^\s+|\s+$/g,"");return W.match(J)||W.match(ye)||W.match(D)?$.unit*(g.currentIndent-1):g.currentIndent<0?0:g.currentIndent*$.unit}}}var pl=ur({}),pc=ur({isASP:!0});var ml=["true","false","on","off","yes","no"],hl=new RegExp("\\b(("+ml.join(")|(")+"))$","i"),gl={name:"yaml",token:function(e,n){var t=e.peek(),r=n.escaped;if(n.escaped=!1,t=="#"&&(e.pos==0||/\s/.test(e.string.charAt(e.pos-1))))return e.skipToEnd(),"comment";if(e.match(/^('([^']|\\.)*'?|"([^"]|\\.)*"?)/))return"string";if(n.literal&&e.indentation()>n.keyCol)return e.skipToEnd(),"string";if(n.literal&&(n.literal=!1),e.sol()){if(n.keyCol=0,n.pair=!1,n.pairStart=!1,e.match("---")||e.match("..."))return"def";if(e.match(/^\s*-\s+/))return"meta"}if(e.match(/^(\{|\}|\[|\])/))return t=="{"?n.inlinePairs++:t=="}"?n.inlinePairs--:t=="["?n.inlineList++:n.inlineList--,"meta";if(n.inlineList>0&&!r&&t==",")return e.next(),"meta";if(n.inlinePairs>0&&!r&&t==",")return n.keyCol=0,n.pair=!1,n.pairStart=!1,e.next(),"meta";if(n.pairStart){if(e.match(/^\s*(\||\>)\s*/))return n.literal=!0,"meta";if(e.match(/^\s*(\&|\*)[a-z0-9\._-]+\b/i))return"variable";if(n.inlinePairs==0&&e.match(/^\s*-?[0-9\.\,]+\s?$/)||n.inlinePairs>0&&e.match(/^\s*-?[0-9\.\,]+\s?(?=(,|}))/))return"number";if(e.match(hl))return"keyword"}return!n.pair&&e.match(/^\s*(?:[,\[\]{}&*!|>'"%@`][^\s'":]|[^,\[\]{}#&*!|>'"%@`])[^#]*?(?=\s*:($|\s))/)?(n.pair=!0,n.keyCol=e.indentation(),"atom"):n.pair&&e.match(/^:\s*/)?(n.pairStart=!0,"meta"):(n.pairStart=!1,n.escaped=t=="\\",e.next(),null)},startState:function(){return{pair:!1,pairStart:!1,keyCol:0,inlinePairs:0,inlineList:0,literal:!1,escaped:!1}},languageData:{commentTokens:{line:"#"}}};var Pn="}",Ie="{",On={token:e=>e.skipToEnd()},An=["debug","extends","function","include","literal"],Y={operatorChars:/[+\-*&%=<>!?]/,validIdentifier:/[a-zA-Z0-9_]/,stringChar:/['"]/},Ze;function U(e,n){return Ze=n,e}function bl(e,n,t){return n.tokenize=t,t(e,n)}function yl(e,n){return!1}function Ge(e,n){let t=e.string,r;for(let o=e.pos;r=t.indexOf(Ie,o),o=r+Ie.length,!(r===-1||!yl()););if(r===e.pos)return e.match(Ie),e.eat("*")?bl(e,n,kl("comment","*"+Pn)):(n.depth++,n.tokenize=dr,Ze="startTag","tag");r>-1&&(e.string=t.slice(0,r));let i=On.token(e,n.base);return r>-1&&(e.string=t),i}function dr(e,n){if(e.match(Pn,!0))return n.tokenize=Ge,U("tag",null);if(e.match(Ie,!0))return n.depth++,U("tag","startTag");let t=e.next();if(t==="$")return e.eatWhile(Y.validIdentifier),U("variable-2","variable");if(t==="|")return U("operator","pipe");if(t===".")return U("operator","property");if(Y.stringChar.test(t))return n.tokenize=vl(t),U("string","string");if(Y.operatorChars.test(t))return e.eatWhile(Y.operatorChars),U("operator","operator");if(t==="["||t==="]")return U("bracket","bracket");if(t==="("||t===")")return U("bracket","operator");if(/\d/.test(t))return e.eatWhile(/\d/),U("number","number");{if(n.last==="variable"){if(t==="@")return e.eatWhile(Y.validIdentifier),U("property","property");if(t==="|")return e.eatWhile(Y.validIdentifier),U("qualifier","modifier")}else{if(n.last==="pipe")return e.eatWhile(Y.validIdentifier),U("qualifier","modifier");if(n.last==="whitespace")return e.eatWhile(Y.validIdentifier),U("attribute","modifier")}if(n.last==="property")return e.eatWhile(Y.validIdentifier),U("property",null);if(/\s/.test(t))return Ze="whitespace",null;let r="";t!=="/"&&(r+=t);let i=null;for(;i=e.eat(Y.validIdentifier);)r+=i;for(let o=0,a=An.length;o<a;o++)if(An[o]===r)return U("keyword","keyword");return/\s/.test(t)?null:U("tag","tag")}}function vl(e){return function(n,t){let r=null,i=null;for(;!n.eol();){if(i=n.peek(),n.next()===e&&r!=="\\"){t.tokenize=dr;break}r=i}return"string"}}function kl(e,n){return function(t,r){for(;!t.eol();){if(t.match(n)){r.tokenize=Ge;break}t.next()}return e}}function _l(e,n){if(n===!0)return n;if(e.copyState)return e.copyState(n);let t={};for(let r in n){let i=n[r];i instanceof Array&&(i=i.concat([])),t[r]=i}return t}var xl={startState:function(){return{base:!0,tokenize:Ge,last:null,depth:0}},copyState:function(e){return{base:_l(On,e.base),tokenize:e.tokenize,last:e.last,depth:e.depth}},innerMode:function(e){if(e.tokenize===Ge)return{mode:On,state:e.base}},token:function(e,n){let t=n.tokenize(e,n);return n.last=Ze,t},indent:function(e,n,t){return null},languageData:{commentTokens:{block:{open:Ie+"*",close:"*"+Pn}},autocomplete:An}};export{yr as c,Br as clojure,vr as cpp,_r as csharp,Ir as dart,jr as diff,Bi as fSharp,Qr as fortran,Yr as go,ai as haskell,kr as java,Oi as julia,Sr as kotlin,Fi as lua,Sa as msSQL,za as mySQL,Gi as nginx,Mi as oCaml,io as octave,fo as pascal,oo as perl,Ca as pgSQL,Ta as plSQL,Co as powerShell,Io as properties,Ao as python,Fo as r,Zo as ruby,ea as rust,ia as sas,xr as scala,ba as scheme,_a as shell,xl as smarty,ji as sml,Ea as sqlite,wa as standardSQL,Ia as stex,Qa as swift,Va as toml,fl as vb,pl as vbScript,gl as yaml}; //# sourceMappingURL=legacy-modes.js.map diff --git a/public/dist/styles.css b/public/dist/styles.css index c807e2c47..c0b4fe43e 100644 --- a/public/dist/styles.css +++ b/public/dist/styles.css @@ -1 +1 @@ -html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after{content:"";content:none}q:before,q:after{content:"";content:none}table{border-collapse:collapse;border-spacing:0}:root{--font-body: -apple-system, BlinkMacSystemFont, Segoe UI, Oxygen, Ubuntu, Roboto, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;--font-code: Lucida Console, DejaVu Sans Mono, Ubuntu Mono, Monaco, monospace;--color-primary: #206ea7;--color-primary-light: rgba(32,110,167,0.15);--color-link: #206ea7;--color-page: #206ea7;--color-page-draft: #7e50b1;--color-chapter: #af4d0d;--color-book: #077b70;--color-bookshelf: #a94747;--color-positive: #0f7d15;--color-negative: #ab0f0e;--color-info: #0288D1;--color-warning: #cf4d03;--bg-disabled: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='100%25' width='100%25'%3E%3Cdefs%3E%3Cpattern id='doodad' width='19' height='19' viewBox='0 0 40 40' patternUnits='userSpaceOnUse' patternTransform='rotate(143)'%3E%3Crect width='100%25' height='100%25' fill='rgba(42, 67, 101,0)'/%3E%3Cpath d='M-10 30h60v20h-60zM-10-10h60v20h-60' fill='rgba(26, 32, 44,0)'/%3E%3Cpath d='M-10 10h60v20h-60zM-10-30h60v20h-60z' fill='rgba(0, 0, 0,0.05)'/%3E%3C/pattern%3E%3C/defs%3E%3Crect fill='url(%23doodad)' height='200%25' width='200%25'/%3E%3C/svg%3E")}:root.dark-mode{--bg-disabled: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='100%25' width='100%25'%3E%3Cdefs%3E%3Cpattern id='doodad' width='19' height='19' viewBox='0 0 40 40' patternUnits='userSpaceOnUse' patternTransform='rotate(143)'%3E%3Crect width='100%25' height='100%25' fill='rgba(42, 67, 101,0)'/%3E%3Cpath d='M-10 30h60v20h-60zM-10-10h60v20h-60' fill='rgba(26, 32, 44,0)'/%3E%3Cpath d='M-10 10h60v20h-60zM-10-30h60v20h-60z' fill='rgba(255, 255, 255,0.05)'/%3E%3C/pattern%3E%3C/defs%3E%3Crect fill='url(%23doodad)' height='200%25' width='200%25'/%3E%3C/svg%3E");color-scheme:only dark;--color-positive: #4aa850;--color-negative: #e85c5b;--color-warning: #de8a5a}:root:not(.dark-mode){color-scheme:only light}.m-none{margin:0 !important}.mx-none{margin-inline-start:0 !important;margin-inline-end:0 !important}.my-none{margin-top:0 !important;margin-bottom:0 !important}.mt-none{margin-top:0 !important}.mr-none{margin-inline-end:0 !important}.mb-none{margin-bottom:0 !important}.ml-none{margin-inline-start:0 !important}.m-xxs{margin:3px !important}.mx-xxs{margin-inline-start:3px !important;margin-inline-end:3px !important}.my-xxs{margin-top:3px !important;margin-bottom:3px !important}.mt-xxs{margin-top:3px !important}.mr-xxs{margin-inline-end:3px !important}.mb-xxs{margin-bottom:3px !important}.ml-xxs{margin-inline-start:3px !important}.m-xs{margin:6px !important}.mx-xs{margin-inline-start:6px !important;margin-inline-end:6px !important}.my-xs{margin-top:6px !important;margin-bottom:6px !important}.mt-xs{margin-top:6px !important}.mr-xs{margin-inline-end:6px !important}.mb-xs{margin-bottom:6px !important}.ml-xs{margin-inline-start:6px !important}.m-s{margin:12px !important}.mx-s{margin-inline-start:12px !important;margin-inline-end:12px !important}.my-s{margin-top:12px !important;margin-bottom:12px !important}.mt-s{margin-top:12px !important}.mr-s{margin-inline-end:12px !important}.mb-s{margin-bottom:12px !important}.ml-s{margin-inline-start:12px !important}.m-m{margin:16px !important}.mx-m{margin-inline-start:16px !important;margin-inline-end:16px !important}.my-m{margin-top:16px !important;margin-bottom:16px !important}.mt-m{margin-top:16px !important}.mr-m{margin-inline-end:16px !important}.mb-m{margin-bottom:16px !important}.ml-m{margin-inline-start:16px !important}.m-l{margin:24px !important}.mx-l{margin-inline-start:24px !important;margin-inline-end:24px !important}.my-l{margin-top:24px !important;margin-bottom:24px !important}.mt-l{margin-top:24px !important}.mr-l{margin-inline-end:24px !important}.mb-l{margin-bottom:24px !important}.ml-l{margin-inline-start:24px !important}.m-xl{margin:32px !important}.mx-xl{margin-inline-start:32px !important;margin-inline-end:32px !important}.my-xl{margin-top:32px !important;margin-bottom:32px !important}.mt-xl{margin-top:32px !important}.mr-xl{margin-inline-end:32px !important}.mb-xl{margin-bottom:32px !important}.ml-xl{margin-inline-start:32px !important}.m-xxl{margin:48px !important}.mx-xxl{margin-inline-start:48px !important;margin-inline-end:48px !important}.my-xxl{margin-top:48px !important;margin-bottom:48px !important}.mt-xxl{margin-top:48px !important}.mr-xxl{margin-inline-end:48px !important}.mb-xxl{margin-bottom:48px !important}.ml-xxl{margin-inline-start:48px !important}.m-auto{margin:auto !important}.mx-auto{margin-inline-start:auto !important;margin-inline-end:auto !important}.my-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-auto{margin-top:auto !important}.mr-auto{margin-inline-end:auto !important}.mb-auto{margin-bottom:auto !important}.ml-auto{margin-inline-start:auto !important}.p-none{padding:0 !important}.px-none{padding-inline-start:0 !important;padding-inline-end:0 !important}.py-none{padding-top:0 !important;padding-bottom:0 !important}.pt-none{padding-top:0 !important}.pr-none{padding-inline-end:0 !important}.pb-none{padding-bottom:0 !important}.pl-none{padding-inline-start:0 !important}.p-xxs{padding:3px !important}.px-xxs{padding-inline-start:3px !important;padding-inline-end:3px !important}.py-xxs{padding-top:3px !important;padding-bottom:3px !important}.pt-xxs{padding-top:3px !important}.pr-xxs{padding-inline-end:3px !important}.pb-xxs{padding-bottom:3px !important}.pl-xxs{padding-inline-start:3px !important}.p-xs{padding:6px !important}.px-xs{padding-inline-start:6px !important;padding-inline-end:6px !important}.py-xs{padding-top:6px !important;padding-bottom:6px !important}.pt-xs{padding-top:6px !important}.pr-xs{padding-inline-end:6px !important}.pb-xs{padding-bottom:6px !important}.pl-xs{padding-inline-start:6px !important}.p-s{padding:12px !important}.px-s{padding-inline-start:12px !important;padding-inline-end:12px !important}.py-s{padding-top:12px !important;padding-bottom:12px !important}.pt-s{padding-top:12px !important}.pr-s{padding-inline-end:12px !important}.pb-s{padding-bottom:12px !important}.pl-s{padding-inline-start:12px !important}.p-m{padding:16px !important}.px-m{padding-inline-start:16px !important;padding-inline-end:16px !important}.py-m{padding-top:16px !important;padding-bottom:16px !important}.pt-m{padding-top:16px !important}.pr-m{padding-inline-end:16px !important}.pb-m{padding-bottom:16px !important}.pl-m{padding-inline-start:16px !important}.p-l{padding:24px !important}.px-l{padding-inline-start:24px !important;padding-inline-end:24px !important}.py-l{padding-top:24px !important;padding-bottom:24px !important}.pt-l{padding-top:24px !important}.pr-l{padding-inline-end:24px !important}.pb-l{padding-bottom:24px !important}.pl-l{padding-inline-start:24px !important}.p-xl{padding:32px !important}.px-xl{padding-inline-start:32px !important;padding-inline-end:32px !important}.py-xl{padding-top:32px !important;padding-bottom:32px !important}.pt-xl{padding-top:32px !important}.pr-xl{padding-inline-end:32px !important}.pb-xl{padding-bottom:32px !important}.pl-xl{padding-inline-start:32px !important}.p-xxl{padding:48px !important}.px-xxl{padding-inline-start:48px !important;padding-inline-end:48px !important}.py-xxl{padding-top:48px !important;padding-bottom:48px !important}.pt-xxl{padding-top:48px !important}.pr-xxl{padding-inline-end:48px !important}.pb-xxl{padding-bottom:48px !important}.pl-xxl{padding-inline-start:48px !important}.p-auto{padding:auto !important}.px-auto{padding-inline-start:auto !important;padding-inline-end:auto !important}.py-auto{padding-top:auto !important;padding-bottom:auto !important}.pt-auto{padding-top:auto !important}.pr-auto{padding-inline-end:auto !important}.pb-auto{padding-bottom:auto !important}.pl-auto{padding-inline-start:auto !important}.gap-none{gap:0 !important}.gap-x-none{column-gap:0 !important}.gap-y-none{row-gap:0 !important}.gap-xxs{gap:3px !important}.gap-x-xxs{column-gap:3px !important}.gap-y-xxs{row-gap:3px !important}.gap-xs{gap:6px !important}.gap-x-xs{column-gap:6px !important}.gap-y-xs{row-gap:6px !important}.gap-s{gap:12px !important}.gap-x-s{column-gap:12px !important}.gap-y-s{row-gap:12px !important}.gap-m{gap:16px !important}.gap-x-m{column-gap:16px !important}.gap-y-m{row-gap:16px !important}.gap-l{gap:24px !important}.gap-x-l{column-gap:24px !important}.gap-y-l{row-gap:24px !important}.gap-xl{gap:32px !important}.gap-x-xl{column-gap:32px !important}.gap-y-xl{row-gap:32px !important}.gap-xxl{gap:48px !important}.gap-x-xxl{column-gap:48px !important}.gap-y-xxl{row-gap:48px !important}.gap-auto{gap:auto !important}.gap-x-auto{column-gap:auto !important}.gap-y-auto{row-gap:auto !important}.opacity-10{opacity:.1}.opacity-20{opacity:.2}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-90{opacity:.9}*{box-sizing:border-box;outline-color:var(--color-primary);outline-width:1px}*:focus{outline-style:dotted}html{height:100%;overflow-y:scroll;background-color:#f2f2f2}html.flexbox{overflow-y:hidden}html.dark-mode{background-color:#111}body{font-size:14px;line-height:1.6;color:#444;-webkit-font-smoothing:antialiased;height:100%;display:flex;flex-direction:column}html.dark-mode body{color:#aaa}body,button,input,select,label,textarea{font-family:var(--font-body)}pre,#markdown-editor-input,.text-mono,.code-base,span.code,code{font-family:var(--font-code)}h1{font-size:3.425em;line-height:1.22222222em;margin-top:.48888889em;margin-bottom:.48888889em}h2{font-size:2.8275em;line-height:1.294117647em;margin-top:.8627451em;margin-bottom:.43137255em}h3{font-size:2.333em;line-height:1.221428572em;margin-top:.78571429em;margin-bottom:.43137255em}h4{font-size:1.666em;line-height:1.375em;margin-top:.78571429em;margin-bottom:.43137255em}h1,h2,h3,h4,h5,h6{font-weight:400;position:relative;display:block;font-family:var(--font-heading, var(--font-body));color:#222}html.dark-mode h1,html.dark-mode h2,html.dark-mode h3,html.dark-mode h4,html.dark-mode h5,html.dark-mode h6{color:#bbb}h5{font-size:1.4em}h5,h6{line-height:1.2em;margin-top:.78571429em;margin-bottom:.66em}@media screen and (max-width: 600px){h1{font-size:2.8275em}h2{font-size:2.333em}h3{font-size:1.666em}h4{font-size:1.333em}h5{font-size:1.161616em}}.list-heading{font-size:2rem}h2.list-heading{font-size:1.333rem}a{color:var(--color-link);fill:currentColor;cursor:pointer;text-decoration:none;transition:filter ease-in-out 80ms;line-height:1.6}a:hover{text-decoration:underline}a.icon{display:inline-block}a svg{position:relative;display:inline-block}a:focus img:only-child{outline:2px dashed var(--color-link);outline-offset:2px}a.no-link-style{color:inherit}a.no-link-style:hover{text-decoration:none}.blended-links a{color:inherit}.blended-links a svg{fill:currentColor}p,ul,ol,pre,table,blockquote{margin-top:.3em;margin-bottom:1.375em}hr{border:0;height:1px;background:#eaeaea;margin-bottom:24px}html.dark-mode hr{background:#555}hr.faded{background-image:linear-gradient(to right, #FFF, #e3e0e0 20%, #e3e0e0 80%, #FFF)}hr.darker{background:#ddd}html.dark-mode hr.darker{background:#666}hr.margin-top,hr.even{margin-top:24px}strong,b,.bold,.strong{font-weight:bold}strong>strong,strong>b,strong>.bold,strong>.strong,b>strong,b>b,b>.bold,b>.strong,.bold>strong,.bold>b,.bold>.bold,.bold>.strong,.strong>strong,.strong>b,.strong>.bold,.strong>.strong{font-weight:bolder}em,i,.italic{font-style:italic}small,p.small,span.small,.text-small{font-size:.75rem}sup,.superscript{vertical-align:super;font-size:.8em}sub,.subscript{vertical-align:sub;font-size:.8em}pre{font-size:12px;border:1px solid #ddd;background-color:#fff;border-color:#ddd;border-radius:4px;padding-inline-start:26px;position:relative;padding-top:3px;padding-bottom:3px}html.dark-mode pre{background-color:#2b2b2b}html.dark-mode pre{border-color:#111}pre:before{content:"";display:block;position:absolute;top:0;width:22.4px;inset-inline-start:0;height:100%;background-color:#f5f5f5;border-inline-end:1px solid #ddd}html.dark-mode pre:before{background-color:#313335}html.dark-mode pre:before{border-inline-end:none}@media print{pre{padding-left:12px}pre:before{display:none}}blockquote{display:block;position:relative;border-left:4px solid rgba(0,0,0,0);border-left-color:var(--color-primary);background-color:#f8f8f8;padding:12px 16px 12px 32px;overflow:auto}html.dark-mode blockquote{background-color:#333}blockquote:before{content:"“";font-size:2em;font-weight:bold;position:absolute;top:12px;left:12px;color:#777}.text-mono{font-family:var(--font-code)}.text-uppercase{text-transform:uppercase}.text-capitals{text-transform:capitalize}.code-base,span.code,code{font-size:.84em;border:1px solid #ddd;border-radius:3px;background-color:#f8f8f8;border-color:#ddd}html.dark-mode .code-base,html.dark-mode span.code,html.dark-mode code{background-color:#2b2b2b}html.dark-mode .code-base,html.dark-mode span.code,html.dark-mode code{border-color:#444}code{display:inline;padding:1px 3px;white-space:pre-wrap;line-height:1.2em}span.code{padding:1px 6px}pre code{background-color:rgba(0,0,0,0);border:0;font-size:1em;display:block;line-height:1.6}span.highlight{font-weight:bold;padding:2px 4px}ul,ol{padding-left:32px;padding-right:32px;display:flow-root}ul p,ol p{margin:0}ul{list-style:disc}ul ul{list-style:circle}ul label{margin:0}ol{list-style:decimal}li>ol,li>ul{margin-top:0;margin-bottom:0;margin-block-end:0;margin-block-start:0;padding-block-end:0;padding-block-start:0;padding-left:19.2px;padding-right:19.2px}li.checkbox-item,li.task-list-item{display:list-item;list-style:none;margin-left:-19.2px;margin-inline-start:-19.2px;margin-inline-end:0}li.checkbox-item input[type=checkbox],li.task-list-item input[type=checkbox]{margin-right:6px;margin-inline-end:6px;margin-inline-start:0}li.checkbox-item li.checkbox-item,li.checkbox-item li.task-list-item,li.task-list-item li.checkbox-item,li.task-list-item li.task-list-item{margin-left:6px;margin-inline-start:6px;margin-inline-end:0}.underlined{text-decoration:underline}.text-center{text-align:center}.text-left{text-align:start}.text-right{text-align:end}@media screen and (min-width: 360px){.text-xxs-center{text-align:center}.text-xxs-left{text-align:start}.text-xxs-right{text-align:end}}@media screen and (min-width: 400px){.text-xs-center{text-align:center}.text-xs-left{text-align:start}.text-xs-right{text-align:end}}@media screen and (min-width: 600px){.text-s-center{text-align:center}.text-s-left{text-align:start}.text-s-right{text-align:end}}@media screen and (min-width: 880px){.text-m-center{text-align:center}.text-m-left{text-align:start}.text-m-right{text-align:end}}@media screen and (min-width: 1000px){.text-l-center{text-align:center}.text-l-left{text-align:start}.text-l-right{text-align:end}}@media screen and (min-width: 1100px){.text-xl-center{text-align:center}.text-xl-left{text-align:start}.text-xl-right{text-align:end}}.text-bigger{font-size:1.1em}.text-large{font-size:1.6666em}.no-color{color:inherit}.break-text{white-space:normal;word-wrap:break-word;overflow-wrap:break-word}.text-limit-lines-1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.text-limit-lines-2{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.header-group{margin:16px 0}.header-group h1,.header-group h2,.header-group h3,.header-group h4,.header-group h5,.header-group h6{margin:0}span.sep{color:#bbb;padding:0 6px}.list>*{display:block}.svg-icon{width:1em;height:1em;display:inline-block;position:relative;bottom:-0.105em;margin-inline-end:6px;pointer-events:none;fill:currentColor}.primary-background{background-color:var(--color-primary) !important}.primary-background-light{background-color:var(--color-primary-light)}html.dark-mode .primary-background-light{background:#000}html.dark-mode .primary-background-light .text-link{color:#aaa !important}.link-background{background-color:var(--color-link) !important}.text-pos,.text-pos:hover,.text-pos-hover:hover{color:var(--color-positive) !important;fill:var(--color-positive) !important}.text-warn,.text-warn:hover,.text-warn-hover:hover{color:var(--color-warning) !important;fill:var(--color-warning) !important}.text-neg,.text-neg:hover,.text-neg-hover:hover{color:var(--color-negative) !important;fill:var(--color-negative) !important}.text-primary,.text-primary:hover,.text-primary-hover:hover{color:var(--color-primary) !important;fill:var(--color-primary) !important}.text-link,.text-link:hover,.text-link-hover:hover{color:var(--color-link) !important;fill:var(--color-link) !important}.text-muted{color:#575757 !important;fill:currentColor !important}html.dark-mode .text-muted{color:#888 !important}.text-dark{color:#222 !important;fill:currentColor !important}html.dark-mode .text-dark{color:#ccc !important}.text-white{color:#fff;fill:currentColor !important}.text-bookshelf,.text-bookshelf:hover{color:var(--color-bookshelf);fill:var(--color-bookshelf)}.text-book,.text-book:hover{color:var(--color-book);fill:var(--color-book)}.text-page,.text-page:hover{color:var(--color-page);fill:var(--color-page)}.text-page.draft,.text-page.draft:hover{color:var(--color-page-draft);fill:var(--color-page-draft)}.text-chapter,.text-chapter:hover{color:var(--color-chapter);fill:var(--color-chapter)}.bg-white{background-color:#fff}.bg-book{background-color:var(--color-book)}.bg-chapter{background-color:var(--color-chapter)}.bg-bookshelf{background-color:var(--color-bookshelf)}.container{max-width:1400px;margin-inline-start:auto;margin-inline-end:auto;padding-inline-start:16px;padding-inline-end:16px}.container.medium{max-width:1100px}.container.small{max-width:840px}.container.very-small{max-width:480px}.grid{display:grid;grid-column-gap:24px;grid-row-gap:24px}.grid>*{min-width:0}.grid.half{grid-template-columns:1fr 1fr}.grid.third{grid-template-columns:1fr 1fr 1fr}.grid.left-focus{grid-template-columns:2fr 1fr}.grid.right-focus{grid-template-columns:1fr 3fr}.grid.gap-y-xs{grid-row-gap:6px}.grid.gap-xl{grid-column-gap:32px;grid-row-gap:32px}.grid.gap-xxl{grid-column-gap:48px;grid-row-gap:48px}.grid.v-center{align-items:center}.grid.v-end{align-items:end}.grid.no-gap{grid-row-gap:0;grid-column-gap:0}.grid.no-row-gap{grid-row-gap:0}@media screen and (max-width: 880px){.grid.third:not(.no-break){grid-template-columns:1fr 1fr}.grid.half:not(.no-break),.grid.left-focus:not(.no-break),.grid.right-focus:not(.no-break){grid-template-columns:1fr}.grid.half.collapse-xs{grid-template-columns:1fr 1fr}.grid.gap-xl{grid-column-gap:16px;grid-row-gap:16px}.grid.right-focus.reverse-collapse>*:nth-child(2){order:0}.grid.right-focus.reverse-collapse>*:nth-child(1){order:1}}@media screen and (max-width: 600px){.grid.third:not(.no-break){grid-template-columns:1fr}}@media screen and (max-width: 400px){.grid.half.collapse-xs{grid-template-columns:1fr}}#content{flex:1 0 auto}body.flexbox{display:flex;flex-direction:column;align-items:stretch;height:100%;min-height:100%;max-height:100%;overflow:hidden}body.flexbox #content{flex:1;display:flex;min-height:0}.flex-fill{display:flex;align-items:stretch;min-height:0;max-width:100%;position:relative}.flex-container-row{display:flex;flex-direction:row}.flex-container-row.v-center{align-items:center}.flex-container-column{display:flex;flex-direction:column}.flex-container-row.inline,.flex-container-column.inline{display:inline-flex !important}.flex-container-column.wrap,.flex-container-row.wrap{flex-wrap:wrap}.flex{min-height:0;flex:1;max-width:100%}.flex.fit-content{flex-basis:auto;flex-grow:0}.flex.fill-area{flex-grow:1;flex-shrink:0;min-width:fit-content}.flex-2{min-height:0;flex:2;max-width:100%}.flex-3{min-height:0;flex:3;max-width:100%}.flex-none{flex:none}.justify-flex-start{justify-content:flex-start}.justify-flex-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-space-between{justify-content:space-between}.items-center{align-items:center}.items-stretch{align-items:stretch}.min-width-xxxxs{min-width:60px}.min-width-xxxs{min-width:80px}.min-width-xxs{min-width:100px}.min-width-xs{min-width:120px}.min-width-s{min-width:160px}.min-width-m{min-width:200px}.min-width-l{min-width:240px}.min-width-xl{min-width:280px}.min-width-xxl{min-width:320px}.block{display:block !important;position:relative}.inline{display:inline !important}.block.inline{display:inline-block !important}.relative{position:relative}.fixed{position:fixed;z-index:20}.fixed.top-right{top:0;right:0}.hidden{display:none !important}.overflow-hidden{overflow:hidden}.height-fill{height:100%}.height-auto{height:auto !important}.float{float:left}.float.right{float:right}.sticky-top-m{position:sticky;top:16px}@media screen and (max-width: 360px){.hide-under-xxs{display:none !important}}@media screen and (min-width: 360px){.hide-over-xxs{display:none !important}}@media screen and (max-width: 400px){.hide-under-xs{display:none !important}}@media screen and (min-width: 400px){.hide-over-xs{display:none !important}}@media screen and (max-width: 600px){.hide-under-s{display:none !important}}@media screen and (min-width: 600px){.hide-over-s{display:none !important}}@media screen and (max-width: 880px){.hide-under-m{display:none !important}}@media screen and (min-width: 880px){.hide-over-m{display:none !important}}@media screen and (max-width: 1000px){.hide-under-l{display:none !important}}@media screen and (min-width: 1000px){.hide-over-l{display:none !important}}@media screen and (max-width: 1100px){.hide-under-xl{display:none !important}}@media screen and (min-width: 1100px){.hide-over-xl{display:none !important}}[hidden]{display:none !important}.screen-reader-only{position:absolute;inset-inline-start:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.rounded{border-radius:4px}.dual-column-content{columns:2}@media screen and (max-width: 880px){.dual-column-content{columns:1}}.clearfix::before,.clearfix::after{content:" ";display:table}.clearfix::after{clear:both}.tri-layout-container{display:grid;margin-inline-start:32px;margin-inline-end:32px;grid-template-columns:1fr 4fr 1fr;grid-template-areas:"a b c";grid-column-gap:32px;position:relative}.tri-layout-sides{grid-column-start:a;grid-column-end:c;grid-row:1;min-width:0;z-index:4}.tri-layout-sides-content{display:grid;grid-template-areas:"a b c";grid-template-columns:1fr 4fr 1fr;height:100%}.tri-layout-middle{grid-area:b;padding-top:16px;min-width:0;z-index:5}.tri-layout-right{grid-area:c;min-width:0}.tri-layout-left{grid-area:a;min-width:0}@media screen and (min-width: 1400px){.tri-layout-left-contents,.tri-layout-right-contents{padding:32px 16px;position:sticky;top:0;max-height:100vh;min-height:50vh;overflow-y:scroll;overflow-x:hidden;height:100%;scrollbar-width:none;-ms-overflow-style:none}.tri-layout-left-contents::-webkit-scrollbar,.tri-layout-right-contents::-webkit-scrollbar{display:none}.tri-layout-middle-contents{max-width:940px;margin:0 auto}}@media screen and (min-width: 1400px)and (max-width: 1700px){.tri-layout-sides-content,.tri-layout-container{grid-template-columns:1fr 972px 1fr}.tri-layout-container{grid-column-gap:12px;margin-inline-start:16px;margin-inline-end:16px}}@media screen and (max-width: 1400px){.tri-layout-container{grid-template-areas:"a b b";grid-template-columns:1fr 3fr;grid-template-rows:min-content min-content 1fr;padding-inline-end:24px}.tri-layout-sides{grid-column-start:a;grid-column-end:a}.tri-layout-sides-content{display:block}}@media screen and (min-width: 1000px)and (max-width: 1400px){.tri-layout-sides-content{position:sticky;top:0;max-height:100vh;min-height:50vh;overflow-y:scroll;overflow-x:hidden;height:100%;scrollbar-width:none;-ms-overflow-style:none}.tri-layout-sides-content::-webkit-scrollbar{display:none}}@media screen and (min-width: 1000px){.tri-layout-mobile-tabs{display:none}.tri-layout-left-contents>*,.tri-layout-right-contents>*{opacity:.6;transition:opacity ease-in-out 120ms}html.dark-mode .tri-layout-left-contents>*,html.dark-mode .tri-layout-right-contents>*{opacity:.75}.tri-layout-left-contents>*:hover,.tri-layout-left-contents>*:focus-within,.tri-layout-right-contents>*:hover,.tri-layout-right-contents>*:focus-within{opacity:1 !important}}@media screen and (min-width: 1000px)and (prefers-contrast: more){.tri-layout-left-contents>*,.tri-layout-right-contents>*{opacity:1 !important}}@media screen and (max-width: 1000px){.tri-layout-container{grid-template-areas:none;grid-template-columns:1fr;grid-column-gap:0;padding-inline-end:6px;padding-inline-start:6px}.tri-layout-container .tri-layout-sides{padding-inline-start:16px;padding-inline-end:16px;grid-column:1/1}.tri-layout-container .tri-layout-left>*,.tri-layout-container .tri-layout-right>*{display:none;pointer-events:none}.tri-layout-container .tri-layout-left,.tri-layout-container .tri-layout-right{padding-top:0 !important}.tri-layout-container .tri-layout-middle{grid-area:none;grid-row:3;grid-column:1/1;z-index:1;overflow:hidden;transition:transform ease-in-out 240ms}.tri-layout-container .tri-layout-left{grid-row:2}.tri-layout-container.show-info{overflow:hidden}.tri-layout-container.show-info .tri-layout-middle{display:none}.tri-layout-container.show-info .tri-layout-right>*,.tri-layout-container.show-info .tri-layout-left>*{display:block;pointer-events:auto}}@media screen and (max-width: 880px){.tri-layout-container{margin-inline-start:0;margin-inline-end:0}}.card{background-color:#fff;box-shadow:0 1px 6px -1px rgba(0,0,0,.1);border-radius:3px;break-inside:avoid}html.dark-mode .card{background-color:#222}.card .body,.card p.empty-text{padding-block:16px}.card a,.card p{word-wrap:break-word;word-break:break-word}.card-title{padding:16px 16px 6px;margin:0;font-size:14px;color:#222;fill:#222;font-weight:400}.card-title a{line-height:1}.card-footer-link,button.card-footer-link{display:block;padding:12px 16px;line-height:1;border-top:1px solid;width:100%;text-align:left;border-color:#ddd;border-radius:0 0 3px 3px;font-size:.9em;margin-top:6px}html.dark-mode .card-footer-link,html.dark-mode button.card-footer-link{border-color:#555}.card-footer-link:hover,button.card-footer-link:hover{text-decoration:none;background-color:#f2f2f2}html.dark-mode .card-footer-link:hover,html.dark-mode button.card-footer-link:hover{background-color:#2d2d2d}.card-footer-link:focus,button.card-footer-link:focus{background-color:#eee;outline:1px dotted #666;outline-offset:-2px}html.dark-mode .card-footer-link:focus,html.dark-mode button.card-footer-link:focus{background-color:#222}.card.border-card{border:1px solid;border-color:#ddd}html.dark-mode .card.border-card{border-color:#000}.card.drag-card{border:1px solid #ddd;border-color:#ddd;background-color:#fff;border-radius:4px;display:flex;padding:0 0 0 40px;margin:12px 0;position:relative}html.dark-mode .card.drag-card{border-color:#000}html.dark-mode .card.drag-card{background-color:#333}.card.drag-card .drag-card-action{cursor:pointer}.card.drag-card .handle,.card.drag-card .drag-card-action{display:flex;align-items:center;text-align:center;justify-content:center;width:28px;flex-grow:0;padding:0 6px}.card.drag-card .handle:hover,.card.drag-card .drag-card-action:hover{background-color:#eee}html.dark-mode .card.drag-card .handle:hover,html.dark-mode .card.drag-card .drag-card-action:hover{background-color:#2d2d2d}.card.drag-card .handle .svg-icon,.card.drag-card .drag-card-action .svg-icon{margin-inline-end:0px}.card.drag-card .outline input{margin:12px 0;width:100%}.card.drag-card .outline{position:relative}.card.drag-card .handle{background-color:#eee;left:0;position:absolute;top:0;bottom:0}html.dark-mode .card.drag-card .handle{background-color:#2d2d2d}.card.drag-card>div{padding:0 12px;max-width:80%;flex:1}.grid-card{display:flex;flex-direction:column;border:1px solid #ddd;border-color:#ddd;margin-bottom:24px;border-radius:4px;overflow:hidden;min-width:100px;color:#444;transition:border-color ease-in-out 120ms,box-shadow ease-in-out 120ms}html.dark-mode .grid-card{border-color:#000}.grid-card:hover{color:#444;text-decoration:none;box-shadow:0 1px 6px -1px rgba(0,0,0,.1)}html.dark-mode .grid-card:hover{box-shadow:0 1px 6px -1px rgba(0,0,0,.5)}.grid-card h2{width:100%;font-size:1.5em;margin:0 0 10px}.grid-card p{font-size:.7rem;margin:0;line-height:1.6em}.grid-card .grid-card-content{flex:1;border-top:0;border-bottom-width:2px}.grid-card .grid-card-content,.grid-card .grid-card-footer{padding:24px}.grid-card .grid-card-content+.grid-card-footer{padding-top:0}.book-grid-item .grid-card-footer p.small{font-size:.8em;margin:0}.content-wrap.card{padding:16px 48px;margin-inline-start:auto;margin-inline-end:auto;margin-bottom:24px;overflow:initial;min-height:60vh;border-radius:8px}.content-wrap.card.auto-height{min-height:0}.content-wrap.card.fill-width{width:100%}@media screen and (max-width: 1400px){.content-wrap.card{padding:16px 32px}}@media screen and (max-width: 880px){.content-wrap.card{padding:16px 24px}}@media screen and (max-width: 600px){.content-wrap.card{padding:16px 16px}}.sub-card{box-shadow:0 1px 3px 0 rgba(0,0,0,.1);border:1.5px solid;border-color:#e2e2e2;border-radius:4px}html.dark-mode .sub-card{border-color:#444}.outline-hover{border:1px solid rgba(0,0,0,0) !important}.outline-hover:hover{border:1px solid rgba(0,0,0,.1) !important}.fade-in-when-active{opacity:.6;transition:opacity ease-in-out 120ms}html.dark-mode .fade-in-when-active{opacity:.7}.fade-in-when-active:hover,.fade-in-when-active:focus-within{opacity:1 !important}@media(prefers-contrast: more){.fade-in-when-active{opacity:1 !important}}.tag-item{display:inline-flex;margin-bottom:6px;margin-inline-end:6px;border-radius:4px;border:1px solid;overflow:hidden;font-size:.85em;border-color:#ccc}html.dark-mode .tag-item{border-color:#666}.tag-item a,.tag-item span,.tag-item a:hover,.tag-item a:active{padding:4px 8px;color:rgba(0,0,0,.7);transition:background-color ease-in-out 80ms;text-decoration:none}html.dark-mode .tag-item a,html.dark-mode .tag-item span,html.dark-mode .tag-item a:hover,html.dark-mode .tag-item a:active{color:hsla(0,0%,100%,.8)}.tag-item a:hover{background-color:hsla(0,0%,100%,.7)}html.dark-mode .tag-item a:hover{background-color:hsla(0,0%,100%,.3)}.tag-item svg{fill:rgba(0,0,0,.5)}html.dark-mode .tag-item svg{fill:hsla(0,0%,100%,.5)}.tag-item .tag-value{border-inline-start:1px solid;border-color:#ddd;background-color:hsla(0,0%,100%,.5)}html.dark-mode .tag-item .tag-value{border-color:#666}html.dark-mode .tag-item .tag-value{background-color:hsla(0,0%,100%,.2)}.tag-name.highlight,.tag-value.highlight{font-weight:bold}.tag-list div:last-child .tag-item{margin-bottom:0}.item-list-row .tag-item{margin-bottom:0}.api-method{font-size:.75rem;background-color:#888;padding:6px;line-height:1.3;opacity:.7;vertical-align:top;border-radius:3px;color:#fff;display:inline-block;min-width:60px;text-align:center;font-weight:bold}.api-method[data-method=GET]{background-color:#077b70}.api-method[data-method=POST]{background-color:#cf4d03}.api-method[data-method=PUT]{background-color:#0288d1}.api-method[data-method=DELETE]{background-color:#ab0f0e}.sticky-sidebar{position:sticky;top:16px;max-height:calc(100vh - 16px);overflow-y:auto}button{background-color:rgba(0,0,0,0);border:0;font-size:100%}.button{text-decoration:none;font-size:.85rem;line-height:1.4em;padding:7.8px 16px;margin-top:6px;margin-bottom:6px;display:inline-block;font-weight:400;outline:0;border-radius:4px;cursor:pointer;transition:background-color ease-in-out 120ms,filter ease-in-out 120ms,box-shadow ease-in-out 120ms;box-shadow:none;background-color:var(--color-primary);color:#fff;border:1px solid var(--color-primary);vertical-align:top}.button:hover,.button:focus,.button:active{background-color:var(--color-primary);text-decoration:none;color:#fff}.button:hover{box-shadow:0 0 4px 1px #ccc;filter:brightness(110%)}html.dark-mode .button:hover{box-shadow:0 0 4px 1px rgba(0,0,0,.5)}.button:focus{outline:1px dotted currentColor;outline-offset:-6px;box-shadow:none;filter:brightness(90%)}.button:active{outline:0}.button.outline{background-color:rgba(0,0,0,0);color:#666;fill:currentColor;border:1px solid;border-color:#ccc}html.dark-mode .button.outline{color:#aaa}html.dark-mode .button.outline{border-color:#666}.button.outline:hover,.button.outline:focus,.button.outline:active{color:#444;border:1px solid #ccc;box-shadow:0 1px 4px 0 rgba(0,0,0,.1);background-color:#f2f2f2;background-color:#f8f8f8;filter:none}html.dark-mode .button.outline:hover,html.dark-mode .button.outline:focus,html.dark-mode .button.outline:active{color:#bbb}html.dark-mode .button.outline:hover,html.dark-mode .button.outline:focus,html.dark-mode .button.outline:active{background-color:#444}.button.outline:active{border-color:#bbb;background-color:#ddd;color:#666;box-shadow:inset 0 0 2px rgba(0,0,0,.1)}.button+.button{margin-inline-start:12px}.button.small{font-size:.75rem;padding:7.2px 12px}.text-button{cursor:pointer;background-color:rgba(0,0,0,0);padding:0;margin:0;border:none;user-select:none;font-size:.75rem;line-height:1.4em;color:var(--color-link)}.text-button:active{outline:0}.text-button:hover{text-decoration:none}.text-button:hover,.text-button:focus{color:var(--color-link);fill:var(--color-link)}.text-button.hover-underline:hover{text-decoration:underline}.button.block{width:100%;text-align:start;display:block}.button.icon .svg-icon,.icon-button .svg-icon,.text-button.icon .svg-icon{margin-inline-end:0}.icon-button{text-align:center;border:1px solid rgba(0,0,0,0)}.icon-button:hover{background-color:rgba(0,0,0,.05);border-radius:4px;border-color:#ddd;cursor:pointer}html.dark-mode .icon-button:hover{border-color:#444}.button.svg{display:flex;align-items:center;padding:12px 16px;padding-bottom:10px;width:100%}.button.svg svg{display:inline-block;width:24px;height:24px;bottom:auto;margin-inline-end:16px}.button[disabled]{background-color:#bbb;cursor:default;border-color:#ccc}.button[disabled]:hover{background-color:#bbb;cursor:default;box-shadow:none}table{min-width:100px;max-width:100%}table thead{background-color:#f8f8f8;font-weight:500}html.dark-mode table thead{background-color:#333}table td,table th{min-width:10px;padding:6px 8px;border:1px solid #ddd;overflow:auto;line-height:1.2;word-break:break-word;vertical-align:top}table td p,table th p{margin:0}table.table{width:100%}table.table tr td,table.table tr th{border-bottom:1px solid rgba(0,0,0,.05)}table.table th,table.table td{text-align:start;border:none;padding:12px 12px;vertical-align:middle;margin:0;overflow:visible}table.table th{font-weight:bold}table.table tr:hover{background-color:#f2f2f2}html.dark-mode table.table tr:hover{background-color:#333}table.table .text-right{text-align:end}table.table .text-center{text-align:center}table.table td.actions{overflow:visible}table.table a{display:inline-block}table.table.expand-to-padding{margin-left:-12px;margin-right:-12px;width:calc(100% + 2*12px);max-width:calc(100% + 2*12px)}table.no-style td{border:0;padding:0}table.list-table{margin:0 -6px}table.list-table td{border:0;vertical-align:middle;padding:6px}.input-base,input[type=text],input[type=number],input[type=email],input[type=date],input[type=search],input[type=url],input[type=color],input[type=password],select,textarea,.fake-input{border-radius:3px;border:1px solid #d4d4d4;background-color:#fff;border-color:#d4d4d4;color:#666;display:inline-block;font-size:14px;padding:10.8px;height:40px;width:250px;max-width:100%}html.dark-mode .input-base,html.dark-mode input[type=text],html.dark-mode input[type=number],html.dark-mode input[type=email],html.dark-mode input[type=date],html.dark-mode input[type=search],html.dark-mode input[type=url],html.dark-mode input[type=color],html.dark-mode input[type=password],html.dark-mode select,html.dark-mode textarea,html.dark-mode .fake-input{background-color:#333}html.dark-mode .input-base,html.dark-mode input[type=text],html.dark-mode input[type=number],html.dark-mode input[type=email],html.dark-mode input[type=date],html.dark-mode input[type=search],html.dark-mode input[type=url],html.dark-mode input[type=color],html.dark-mode input[type=password],html.dark-mode select,html.dark-mode textarea,html.dark-mode .fake-input{border-color:#111}html.dark-mode .input-base,html.dark-mode input[type=text],html.dark-mode input[type=number],html.dark-mode input[type=email],html.dark-mode input[type=date],html.dark-mode input[type=search],html.dark-mode input[type=url],html.dark-mode input[type=color],html.dark-mode input[type=password],html.dark-mode select,html.dark-mode textarea,html.dark-mode .fake-input{color:#aaa}.input-base.neg,input.neg[type=text],input.neg[type=number],input.neg[type=email],input.neg[type=date],input.neg[type=search],input.neg[type=url],input.neg[type=color],input.neg[type=password],select.neg,textarea.neg,.neg.fake-input,.input-base.invalid,input.invalid[type=text],input.invalid[type=number],input.invalid[type=email],input.invalid[type=date],input.invalid[type=search],input.invalid[type=url],input.invalid[type=color],input.invalid[type=password],select.invalid,textarea.invalid,.invalid.fake-input{border:1px solid var(--color-negative)}.input-base.pos,input.pos[type=text],input.pos[type=number],input.pos[type=email],input.pos[type=date],input.pos[type=search],input.pos[type=url],input.pos[type=color],input.pos[type=password],select.pos,textarea.pos,.pos.fake-input,.input-base.valid,input.valid[type=text],input.valid[type=number],input.valid[type=email],input.valid[type=date],input.valid[type=search],input.valid[type=url],input.valid[type=color],input.valid[type=password],select.valid,textarea.valid,.valid.fake-input{border:1px solid var(--color-positive)}.input-base.disabled,input.disabled[type=text],input.disabled[type=number],input.disabled[type=email],input.disabled[type=date],input.disabled[type=search],input.disabled[type=url],input.disabled[type=color],input.disabled[type=password],select.disabled,textarea.disabled,.disabled.fake-input,.input-base[disabled],input[disabled][type=text],input[disabled][type=number],input[disabled][type=email],input[disabled][type=date],input[disabled][type=search],input[disabled][type=url],input[disabled][type=color],input[disabled][type=password],select[disabled],textarea[disabled],[disabled].fake-input{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAYAAADEUlfTAAAAMUlEQVQIW2NkwAGuXbv2nxGbHEhCS0uLEUMSJgHShCKJLIEiiS4Bl8QmAZbEJQGSBAC62BuJ+tt7zgAAAABJRU5ErkJggg==)}.input-base[readonly],input[readonly][type=text],input[readonly][type=number],input[readonly][type=email],input[readonly][type=date],input[readonly][type=search],input[readonly][type=url],input[readonly][type=color],input[readonly][type=password],select[readonly],textarea[readonly],[readonly].fake-input{background-color:#f8f8f8}.input-base:focus,input[type=text]:focus,input[type=number]:focus,input[type=email]:focus,input[type=date]:focus,input[type=search]:focus,input[type=url]:focus,input[type=color]:focus,input[type=password]:focus,select:focus,textarea:focus,.fake-input:focus{border-color:var(--color-primary);outline:1px solid var(--color-primary)}.input-fill-width{width:100% !important}.fake-input{overflow:auto}#html-editor{display:none}#markdown-editor{position:relative;z-index:5}#markdown-editor #markdown-editor-input{font-style:normal;font-weight:400;padding:6px 16px;color:#444;border-radius:0;max-height:100%;flex:1;border:0;width:100%}#markdown-editor #markdown-editor-input:focus{outline:0}#markdown-editor.fullscreen{position:fixed;top:0;left:0;height:100%;z-index:2}.markdown-editor-wrap{border-top:1px solid #ddd;border-bottom:1px solid #ddd;border-color:#ddd;position:relative;flex:1;min-width:0}html.dark-mode .markdown-editor-wrap{border-color:#000}.markdown-editor-wrap+.markdown-editor-wrap{flex-basis:50%;flex-shrink:0;flex-grow:0}.markdown-editor-wrap .cm-editor{flex:1;max-width:100%;border:0;margin:0}.markdown-panel-divider{width:2px;background-color:#ddd;cursor:col-resize}html.dark-mode .markdown-panel-divider{background-color:#000}@media screen and (max-width: 880px){#markdown-editor{flex-direction:column}#markdown-editor .markdown-editor-wrap{width:100%;max-width:100%;flex-grow:1;flex-basis:auto !important;min-height:0}.editor-toolbar-label{float:none !important;border-color:#ddd;display:block}html.dark-mode .editor-toolbar-label{border-color:#555}.markdown-editor-wrap:not(.active) .editor-toolbar+div,.markdown-editor-wrap:not(.active) .editor-toolbar .buttons,.markdown-editor-wrap:not(.active) .markdown-display{display:none}#markdown-editor .markdown-editor-wrap:not(.active){flex-grow:0;flex:none}}.markdown-editor-display{background-color:#fff}.markdown-editor-display body{display:block;background-color:#fff;padding-inline-start:12px;padding-inline-end:12px;max-width:864px}.markdown-editor-display [drawio-diagram]:hover{outline:2px solid var(--color-primary)}html.markdown-editor-display.dark-mode{background-color:#222}html.markdown-editor-display.dark-mode body{background-color:#222}.editor-toolbar{height:32px;width:100%;font-size:11px;line-height:1.6;border-bottom:1px solid #ccc;background-color:#fff;border-color:#ccc;flex:none}html.dark-mode .editor-toolbar{background-color:#333}html.dark-mode .editor-toolbar{border-color:#000}html.dark-mode .editor-toolbar button{color:#aaa}.editor-toolbar .buttons{font-size:14px}.editor-toolbar .buttons .dropdown-menu{padding:0}.editor-toolbar .buttons .toggle-switch{margin:12px 0}.editor-toolbar .buttons button{font-size:.9rem;width:2rem;text-align:center;border-left:1px solid;border-color:#ddd}html.dark-mode .editor-toolbar .buttons button{border-color:#555}.editor-toolbar .buttons button svg{margin-inline-end:0}.editor-toolbar .buttons button:hover{background-color:#ddd}html.dark-mode .editor-toolbar .buttons button:hover{background-color:#222}label{color:#666;display:block;line-height:1.4em;font-size:.94em;font-weight:400;padding-bottom:2px;margin-bottom:.2em}html.dark-mode label{color:#ddd}label.inline{display:inline-block}label.radio,label.checkbox{font-weight:400;user-select:none}label.radio input[type=radio],label.radio input[type=checkbox],label.checkbox input[type=radio],label.checkbox input[type=checkbox]{margin-inline-end:6px}label.inline.checkbox{margin-inline-end:16px}label+p.small{margin-bottom:.8em}table.form-table{max-width:100%}table.form-table td{overflow:hidden;padding:1.5px 0}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='%23666666'><polygon points='0,0 100,0 50,50'/></svg>");background-size:10px 12px;background-position:calc(100% - 20px) 64%;background-repeat:no-repeat}html[dir=rtl] select{background-position:20px 70%}input[type=date]{width:190px}input[type=color]{height:60px}input[type=color].small{height:42px;width:60px;padding:2px}.toggle-switch{user-select:none;display:inline-grid;grid-template-columns:28px 1fr;align-items:center;margin:16px 0}.toggle-switch .custom-checkbox{width:16px;height:16px;border-radius:2px;display:inline-block;border:2px solid currentColor;overflow:hidden;fill:currentColor}.toggle-switch .custom-checkbox .svg-icon{width:100%;height:100%;margin:0;bottom:auto;top:-1.5px;left:0;transition:transform ease-in-out 120ms;transform:scale(0);transform-origin:center center}.toggle-switch input[type=checkbox]{display:none}.toggle-switch input[type=checkbox]:checked+.custom-checkbox .svg-icon{transform:scale(1)}.toggle-switch .custom-checkbox:hover{background-color:rgba(0,0,0,.05);opacity:.8}.toggle-switch input[type=checkbox][disabled]~*{opacity:.8;cursor:not-allowed}.toggle-switch input[type=checkbox][disabled]~.custom-checkbox{border-color:#999;color:#999 !important;background:#f2f2f2}.toggle-switch-list .toggle-switch{margin:6px 0}.toggle-switch-list.compact .toggle-switch{margin:1px 0}.form-group{margin-bottom:12px}.setting-list>div{border-bottom:1px solid #ddd;padding:32px 0}.setting-list>div:last-child{border-bottom:none}.setting-list-label{color:#222;color:#222;font-size:1rem}html.dark-mode .setting-list-label{color:#ddd}.setting-list-label+p.small{margin-bottom:0}.setting-list-label+.grid{margin-top:16px}.setting-list .grid input[type=text],.setting-list .grid input[type=email],.setting-list .grid input[type=password],.setting-list .grid select,.stretch-inputs input[type=text],.stretch-inputs input[type=email],.stretch-inputs input[type=password],.stretch-inputs select{width:100%}.simple-code-input{background-color:#f8f8f8;font-family:monospace;font-size:12px;min-height:100px;display:block;width:100%}.form-group div.text-pos,.form-group div.text-neg,.form-group p.text-post,.form-group p.text-neg{padding:6px 0}.form-group.collapsible{padding:0 16px;border:1px solid;border-color:#ddd;border-radius:4px}html.dark-mode .form-group.collapsible{border-color:#000}.form-group.collapsible .collapse-title{margin-inline-start:-16px;margin-inline-end:-16px;padding:12px 16px;display:block;width:calc(100% + 32px);text-align:start}.form-group.collapsible .collapse-title,.form-group.collapsible .collapse-title label{cursor:pointer}.form-group.collapsible .collapse-title label{padding-bottom:0;margin-bottom:0;color:inherit}.form-group.collapsible .collapse-title label:before{display:inline-block;content:"▸";margin-inline-end:16px;transition:all ease-in-out 400ms;transform:rotate(0)}.form-group.collapsible .collapse-content{display:none;padding-bottom:16px}.form-group.collapsible.open .collapse-title label:before{transform:rotate(90deg)}.form-group.ambrosia-container,.form-group.ambrosia-container *{position:absolute !important;height:1px !important;width:1px !important;margin:-1px !important;padding:0 !important;background:rgba(0,0,0,0) !important;color:rgba(0,0,0,0) !important;border:none !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important}.title-input input[type=text]{display:block;width:100%;padding:12px;margin-top:0;font-size:2em;height:auto}.description-input textarea{display:block;width:100%;padding:12px;font-size:14px;color:#666;height:auto}.description-input>.tox-tinymce{border:1px solid #ddd !important;border-color:#ddd !important;border-radius:3px}html.dark-mode .description-input>.tox-tinymce{border-color:#000 !important}.description-input>.tox-tinymce .tox-toolbar__primary{justify-content:end}.search-box{max-width:100%;position:relative}.search-box button[tabindex="-1"]{background-color:rgba(0,0,0,0);border:none;color:#666;padding:0;cursor:pointer;position:absolute;inset-inline-start:8px;top:10px}html.dark-mode .search-box button[tabindex="-1"]{color:#aaa}.search-box input{display:block;padding:9px;padding-inline-start:28px;width:300px;max-width:100%;height:auto}.search-box.flexible input{width:100%}.search-box button.search-box-cancel{left:auto;right:0}.contained-search-box{display:flex;height:38px;z-index:-1}.contained-search-box.floating{box-shadow:0 1px 3px 1px rgba(76,76,76,.26);border-radius:4px;overflow:hidden}html.dark-mode .contained-search-box.floating{border:1px solid #000}.contained-search-box input,.contained-search-box button{height:100%;border-radius:0;border:1px solid #ddd;border-color:#ddd;margin-inline-start:-1px}html.dark-mode .contained-search-box input,html.dark-mode .contained-search-box button{border-color:#000}.contained-search-box input:last-child,.contained-search-box button:last-child{border-inline-end:0}.contained-search-box input{border:0;flex:5;padding:6px 12px}.contained-search-box input:focus,.contained-search-box input:active{outline:1px dotted var(--color-primary);outline-offset:-2px;border:0}.contained-search-box button{border:0;width:48px;border-inline-start:1px solid #ddd;background-color:#fff;background-color:#fff;color:#444}html.dark-mode .contained-search-box button{background-color:#333}html.dark-mode .contained-search-box button{color:#aaa}.contained-search-box button:focus{outline:1px dotted var(--color-primary);outline-offset:-2px}.contained-search-box svg{margin:0}@media screen and (max-width: 600px){.contained-search-box{width:180px}}.outline>input{border:0;border-bottom:2px solid #ddd;border-radius:0}.outline>input:focus,.outline>input:active{border:0;border-bottom:2px solid #aaa;outline:0}.image-picker img{background-color:#bbb;max-width:100%}.custom-file-input{overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px;height:1px;border:0;clip:rect(0, 0, 0, 0)}.custom-file-input:focus+label{border-color:var(--color-primary);outline:1px solid var(--color-primary)}.custom-simple-file-input{max-width:100%;border:1px solid;border-color:#ddd;border-radius:4px;padding:12px 16px}html.dark-mode .custom-simple-file-input{border-color:#666}.custom-simple-file-input::file-selector-button{background-color:rgba(0,0,0,0);text-decoration:none;font-size:.8rem;line-height:1.4em;padding:6px 12px;border:1px solid;font-weight:400;outline:0;border-radius:4px;cursor:pointer;margin-right:16px;color:#666;border-color:#ccc}html.dark-mode .custom-simple-file-input::file-selector-button{color:#aaa}html.dark-mode .custom-simple-file-input::file-selector-button{border-color:#666}.custom-simple-file-input::file-selector-button:hover,.custom-simple-file-input::file-selector-button:focus,.custom-simple-file-input::file-selector-button:active{color:#444;border:1px solid #ccc;box-shadow:0 1px 4px 0 rgba(0,0,0,.1);background-color:#f2f2f2;background-color:#f8f8f8;filter:none}html.dark-mode .custom-simple-file-input::file-selector-button:hover,html.dark-mode .custom-simple-file-input::file-selector-button:focus,html.dark-mode .custom-simple-file-input::file-selector-button:active{color:#bbb}html.dark-mode .custom-simple-file-input::file-selector-button:hover,html.dark-mode .custom-simple-file-input::file-selector-button:focus,html.dark-mode .custom-simple-file-input::file-selector-button:active{background-color:#444}.custom-simple-file-input::file-selector-button:active{border-color:#bbb;background-color:#ddd;color:#666;box-shadow:inset 0 0 2px rgba(0,0,0,.1)}input.shortcut-input{width:auto;max-width:120px;height:auto}.anim.fadeIn{opacity:0;animation-name:fadeIn;animation-duration:120ms;animation-timing-function:ease-in-out;animation-fill-mode:forwards}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}.search-suggestions-animation{animation-name:searchSuggestions;animation-duration:120ms;animation-fill-mode:forwards;animation-timing-function:cubic-bezier(0.62, 0.28, 0.23, 0.99)}@keyframes searchSuggestions{0%{opacity:.5;transform:scale(0.9)}100%{opacity:1;transform:scale(1)}}@keyframes loadingBob{0%{transform:translate3d(0, 0, 0)}30%{transform:translate3d(0, 0, 0)}50%{transform:translate3d(0, -10px, 0)}70%{transform:translate3d(0, 0, 0)}100%{transform:translate3d(0, 0, 0)}}@keyframes pointer{0%{transform:translate3d(0, 20px, 0) scale3d(0, 0, 0)}100%{transform:translate3d(0, 0, 0) scale3d(1, 1, 1)}}.anim.pointer{transform-origin:50% 100%;animation-name:pointer;animation-duration:180ms;animation-delay:0s;animation-timing-function:cubic-bezier(0.62, 0.28, 0.23, 0.99)}.tox.tox-fullscreen{position:fixed;top:0;height:100%;width:100%;max-width:100%;z-index:100}.tox.tox-tinymce{border-inline:0;border-bottom:0}.page-content.mce-content-body{padding-block-start:1rem;padding-block-end:1rem;outline:0;display:block;max-width:870px}.wysiwyg-input.mce-content-body{padding-block-start:1rem;padding-block-end:1rem;outline:0;display:block}.wysiwyg-input.mce-content-body:before{padding:1rem;top:4px;font-style:italic;color:rgba(34,47,62,.5)}html.dark-mode .wysiwyg-input.mce-content-body:before{color:rgba(155,155,155,.5)}.page-content.mce-content-body doc-root{display:block}.page-content.mce-content-body code-block{display:block}body.page-content.mce-content-body{padding-bottom:5rem}.tox .tox-pop__dialog .tox-toolbar{background:rgba(0,0,0,0) !important}.tox-toolbar__primary{justify-content:center}.page-content.mce-content-body code-block>*{pointer-events:none}.page-content.mce-content-body code-block pre{display:none}.page-content.mce-content-body details summary{pointer-events:none}.page-content.mce-content-body details doc-root{padding:12px;margin-left:-10px;margin-right:-10px;margin-bottom:-10px;margin-top:-10px;overflow:hidden}.page-content.mce-content-body .mce-preview-object.align-right{float:right !important;margin:6px 0 6px 12px}.page-content.mce-content-body .mce-preview-object.align-left{float:left !important;margin:6px 16px 16px 0}.page-content.mce-content-body .mce-preview-object.align-center{display:block;margin-left:auto;margin-right:auto}.page-content.mce-content-body .mce-preview-object iframe,.page-content.mce-content-body .mce-preview-object video{display:block;margin:0 !important;float:none !important}.page-content.mce-content-body td[data-mce-selected]::after,.page-content.mce-content-body th[data-mce-selected]::after{top:1px;left:1px;bottom:1px;right:1px;outline:1px dashed #1a85ff;outline-offset:0}.dark-mode .tox .tox-toolbar__primary,.dark-mode .tox .tox-menu,.dark-mode .tox .tox-dialog__header,.dark-mode .tox .tox-dialog,.dark-mode .tox .tox-dialog__footer,.dark-mode .tox .tox-pop__dialog,.dark-mode .tox.tox-tinymce-aux .tox-toolbar__overflow{background-color:#333 !important}.dark-mode .tox .tox-tbtn svg,.dark-mode .tox .tox-tbtn,.dark-mode .tox .tox-collection--list .tox-collection__item--active:not(.tox-collection__item--state-disabled){color:#dbdbdb;fill:#dbdbdb}.tox .tox-tbtn--bespoke .tox-tbtn__select-label{width:6em !important}.tox-menu .tox-collection__item blockquote::before{content:none}.tox-menu .tox-collection__item blockquote{border-left:4px solid var(--color-primary) !important;padding:4px 6px !important}.tox-menu .tox-collection__item blockquote{border-left:4px solid var(--color-primary) !important;padding:4px 6px !important}.tox-menu .tox-collection__item p[style*=background-color]{padding:4px 6px !important;border-left:3px solid currentColor !important}.tox-menu .tox-collection__item[title^="<"]>div>div{font-family:var(--font-code) !important;border:1px solid #ddd !important;background-color:#eee !important;padding:4px 6px !important}.tox-menu .tox-collection__item-label{line-height:normal !important}.page-content.mce-content-body .task-list-item{margin-inline-start:0;position:relative}.page-content.mce-content-body .task-list-item>input[type=checkbox]{display:none}.page-content.mce-content-body .task-list-item:before{content:"";display:inline-block;border:2px solid #ccc;width:12px;height:12px;border-radius:2px;margin-inline-end:8px;vertical-align:text-top;cursor:pointer;position:absolute;inset-inline-start:-24px;top:4px}.page-content.mce-content-body .task-list-item[checked]:before{background-color:#ccc;background-image:url('data:image/svg+xml;utf8,<svg fill="%23FFFFFF" version="1.1" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m8.4856 20.274-6.736-6.736 2.9287-2.7823 3.8073 3.8073 10.836-10.836 2.9287 2.9287z" stroke-width="1.4644"/></svg>');background-position:50% 50%;background-size:100% 100%}:root{--editor-color-primary: #206ea7}.editor-container{background-color:#fff;position:relative}html.dark-mode .editor-container{background-color:#222}.editor-container.fullscreen{z-index:500}.editor-toolbar-main{display:flex;flex-wrap:wrap;justify-content:center;border-top:1px solid #ddd;border-bottom:1px solid #ddd;border-color:#ddd}html.dark-mode .editor-toolbar-main{border-color:#000}@media screen and (max-width: 1100px){.editor-toolbar-main{overflow-x:scroll;flex-wrap:nowrap;justify-content:start}}body.editor-is-fullscreen{overflow:hidden}body.editor-is-fullscreen .edit-area{z-index:20}.editor-content-area{min-height:100%;padding-block:1rem}.editor-content-area:focus{outline:0}.editor-content-wrap{position:relative;overflow-y:scroll;padding-inline:12px;flex:1}.editor-button{font-size:12px;padding:4px;color:#444;color:#444;border-radius:4px;display:flex;align-items:center;justify-content:center;margin:2px}html.dark-mode .editor-button{color:#999}.editor-button:hover{background-color:#eee;background-color:#eee;cursor:pointer;color:#000}html.dark-mode .editor-button:hover{background-color:#333}.editor-button[disabled]{pointer-events:none;cursor:not-allowed;opacity:.6}.editor-button-active,.editor-button-active:hover{background-color:#ceebff;color:#000}html.dark-mode .editor-button-active,html.dark-mode .editor-button-active:hover{background-color:#444}.editor-button-long{display:flex !important;flex-direction:row;align-items:center;justify-content:start;gap:.5rem}.editor-button-text{font-weight:400;color:#000;font-size:14px;flex:1;padding-inline-end:4px}html.dark-mode .editor-button-text{color:#aaa}.editor-button-format-preview{padding:4px 6px;display:block}.editor-button-long .editor-button-icon{width:24px;height:24px}.editor-button-icon svg{width:24px;height:24px;color:inherit;fill:currentColor;display:block}.editor-menu-button-icon{width:24px;height:24px}.editor-menu-button-icon svg{fill:#888}.editor-container[dir=rtl] .editor-menu-button-icon{rotate:180deg}.editor-button-with-menu-container{display:flex;flex-direction:row;gap:0;align-items:stretch;border-radius:4px}.editor-button-with-menu-container .editor-dropdown-menu-container{display:flex}.editor-button-with-menu-container .editor-dropdown-menu-container>.editor-dropdown-menu{top:100%}.editor-button-with-menu-container .editor-dropdown-menu-container>.editor-button{padding-inline:4px;margin-inline-start:-3px}.editor-button-with-menu-container .editor-dropdown-menu-container>.editor-button svg{width:12px;height:12px}.editor-button-with-menu-container:hover{outline:1px solid;outline-color:#ddd;outline-offset:-3px}html.dark-mode .editor-button-with-menu-container:hover{outline-color:#111}.editor-dropdown-menu-container{position:relative}.editor-dropdown-menu{position:absolute;border:1px solid;background-color:#fff;border-color:#fff;box-shadow:0 0 6px 0 rgba(0,0,0,.15);z-index:99;display:flex;flex-direction:row;border-radius:3px}html.dark-mode .editor-dropdown-menu{background-color:#292929}html.dark-mode .editor-dropdown-menu{border-color:#333}html.dark-mode .editor-dropdown-menu{box-shadow:0 1px 4px 0 rgba(0,0,0,.4)}.editor-dropdown-menu-vertical{display:flex;flex-direction:column;align-items:stretch;min-width:160px}.editor-dropdown-menu-vertical .editor-button{border-bottom:0;text-align:start;display:block;width:100%}.editor-dropdown-menu-vertical>.editor-dropdown-menu-container .editor-dropdown-menu{inset-inline-start:100%;top:0}.editor-separator{display:block;height:1px;opacity:.8;background-color:#ddd}html.dark-mode .editor-separator{background-color:#000}.editor-format-menu-toggle{width:130px;height:32px;font-size:13px;overflow:hidden;padding-inline:12px;justify-content:start;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="%23666" d="M7.41 8L12 12.58 16.59 8 18 9.41l-6 6-6-6z"/></svg>');background-repeat:no-repeat;background-position:98% 50%;background-size:28px}.editor-container[dir=rtl] .editor-format-menu-toggle{background-position:2% 50%}.editor-format-menu .editor-dropdown-menu{min-width:300px}.editor-format-menu .editor-dropdown-menu .editor-dropdown-menu{min-width:220px}.editor-format-menu .editor-dropdown-menu .editor-button-icon{display:none}.editor-format-menu .editor-dropdown-menu .editor-dropdown-menu-container>.editor-button{padding:8px 10px}.editor-overflow-container{display:flex;border-inline:1px solid #ddd;padding-inline:4px;border-color:#ddd}html.dark-mode .editor-overflow-container{border-color:#000}.editor-overflow-container:first-child{border-inline-start:none}.editor-overflow-container:last-child{border-inline-end:none}.editor-overflow-container+.editor-overflow-container{border-inline-start:none}.editor-context-toolbar{position:fixed;border:1px solid #ddd;background-color:#fff;border-color:#ddd;box-shadow:0 2px 4px 0 rgba(0,0,0,.12);padding:.2rem;border-radius:4px;display:flex;flex-direction:row}html.dark-mode .editor-context-toolbar{background-color:#222}html.dark-mode .editor-context-toolbar{border-color:#333}html.dark-mode .editor-context-toolbar{box-shadow:0 1px 4px 0 rgba(0,0,0,.4)}.editor-context-toolbar:before{content:"";z-index:-1;display:block;width:8px;height:8px;position:absolute;background-color:#fff;border-top:1px solid #ddd;border-left:1px solid #ddd;border-color:#ddd;transform:rotate(45deg);left:50%;margin-left:-4px;top:-5px}html.dark-mode .editor-context-toolbar:before{background-color:#222}html.dark-mode .editor-context-toolbar:before{border-color:#333}.editor-context-toolbar.is-above:before{top:calc(100% - 5px);transform:rotate(225deg)}.editor-modal-wrapper{position:fixed;display:flex;align-items:center;justify-content:center;z-index:999;background-color:rgba(0,0,0,.5);width:100%;height:100%}.editor-modal{background-color:#fff;border-radius:4px;overflow:hidden;box-shadow:0 0 15px 0 rgba(0,0,0,.3);margin:6px;max-height:100%;overflow-y:auto}html.dark-mode .editor-modal{background-color:#222}.editor-modal-header{display:flex;justify-content:space-between;align-items:stretch;background-color:var(--color-primary);color:#fff}.editor-modal-title{padding:8px 16px}.editor-modal-close{color:#fff;padding:8px 16px;align-items:center;justify-content:center;cursor:pointer}.editor-modal-close:hover{background-color:hsla(0,0%,100%,.1)}.editor-modal-close svg{width:1rem;height:1rem;fill:currentColor;display:block}.editor-modal-body{padding:16px}.editor-color-select-row{display:flex}.editor-color-select-option{width:28px;height:28px;cursor:pointer;display:flex;align-items:center;justify-content:center}.editor-color-select-option:hover{border-radius:3px;box-sizing:border-box;z-index:3;box-shadow:0 0 4px 1px rgba(0,0,0,.25)}.editor-color-select-option[data-color=""] svg{width:20px;height:20px;fill:#888}.editor-table-creator-row{display:flex}.editor-table-creator-cell{border:1px solid;border-color:#ddd;width:15px;height:15px;cursor:pointer}html.dark-mode .editor-table-creator-cell{border-color:#000}.editor-table-creator-cell.active{background-color:var(--editor-color-primary)}.editor-table-creator-display{text-align:center;padding:.2em}.editor-external-content{min-width:500px;min-height:500px}.editor-external-content h4:first-child{margin-top:0}.editor-image-wrap{position:relative;display:inline-flex}.editor-node-resizer{position:absolute;left:0;right:auto;display:inline-block;outline:2px dashed var(--editor-color-primary);direction:ltr}.editor-node-resizer-handle{position:absolute;display:block;width:10px;height:10px;border:2px solid var(--editor-color-primary);z-index:3;background-color:#fff;user-select:none}html.dark-mode .editor-node-resizer-handle{background-color:#000}.editor-node-resizer-handle.nw{inset-inline-start:-5px;inset-block-start:-5px;cursor:nw-resize}.editor-node-resizer-handle.ne{inset-inline-end:-5px;inset-block-start:-5px;cursor:ne-resize}.editor-node-resizer-handle.se{inset-inline-end:-5px;inset-block-end:-5px;cursor:se-resize}.editor-node-resizer-handle.sw{inset-inline-start:-5px;inset-block-end:-5px;cursor:sw-resize}.editor-node-resizer-ghost{opacity:.5;display:none;position:absolute;left:0;top:0;width:100%;height:100%;z-index:2;pointer-events:none;background-color:var(--editor-color-primary)}.editor-node-resizer.active .editor-node-resizer-ghost{display:block}.editor-table-marker{position:fixed;background-color:var(--editor-color-primary);z-index:99;user-select:none;opacity:0}.editor-table-marker:hover,.editor-table-marker.active{opacity:.4}.editor-table-marker-column{width:4px;cursor:col-resize}.editor-table-marker-row{height:4px;cursor:row-resize}.editor-code-block-wrap{user-select:none}.editor-code-block-wrap>*{pointer-events:none}.editor-code-block-wrap.selected .cm-editor{border:1px dashed var(--editor-color-primary)}.editor-diagram.selected{outline:2px dashed var(--editor-color-primary)}.editor-media-wrap{display:inline-block;cursor:not-allowed}.editor-media-wrap iframe{pointer-events:none}.editor-media-wrap.align-left{float:left}.editor-media-wrap.align-right{float:right}.editor-media-wrap.align-center{display:block;margin-inline:auto}.editor-content-area .task-list-item{margin-left:0;position:relative}.editor-content-area .task-list-item>input[type=checkbox]{display:none}.editor-content-area .task-list-item:before{content:"";display:inline-block;border:2px solid #ccc;width:12px;height:12px;border-radius:2px;margin-right:8px;vertical-align:text-top;cursor:pointer;position:absolute;left:-24px;top:4px}.editor-content-area .task-list-item[checked]:before{background-color:#ccc;background-image:url('data:image/svg+xml;utf8,<svg fill="%23FFFFFF" version="1.1" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m8.4856 20.274-6.736-6.736 2.9287-2.7823 3.8073 3.8073 10.836-10.836 2.9287 2.9287z" stroke-width="1.4644"/></svg>');background-position:50% 50%;background-size:100% 100%}.editor-form-field-wrapper{margin-bottom:.5rem}.editor-form-field-input{display:block;width:260px;min-width:100px;max-width:100%;border:1px solid;border-color:#ddd;padding:.5rem;border-radius:4px;color:#444}html.dark-mode .editor-form-field-input{border-color:#000}html.dark-mode .editor-form-field-input{color:#bbb}@media screen and (max-width: 400px){.editor-form-field-input{min-width:160px}}textarea.editor-form-field-input{font-family:var(--font-code);width:350px;height:250px;font-size:12px}.editor-form-field-label{color:#444;font-weight:700;font-size:12px}.editor-form-actions{display:flex;justify-content:end;gap:12px;margin-top:16px}.editor-form-actions>button{display:block;font-size:.85rem;line-height:1.4em;padding:7.8px 16px;font-weight:400;border-radius:4px;cursor:pointer;box-shadow:none}.editor-form-actions>button:focus{outline:1px dotted currentColor;outline-offset:-6px;box-shadow:none;filter:brightness(90%)}.editor-form-action-primary{background-color:var(--color-primary);color:#fff;border:1px solid var(--color-primary)}.editor-form-action-primary:hover{box-shadow:0 0 4px 1px #ccc;filter:brightness(110%)}html.dark-mode .editor-form-action-primary:hover{box-shadow:0 0 4px 1px rgba(0,0,0,.5)}.editor-form-action-secondary{border:1px solid;border-color:#ccc;color:#666}html.dark-mode .editor-form-action-secondary{border-color:#666}html.dark-mode .editor-form-action-secondary{color:#aaa}.editor-form-action-secondary:hover,.editor-form-action-secondary:focus,.editor-form-action-secondary:active{color:#444;border:1px solid #ccc;box-shadow:0 1px 4px 0 rgba(0,0,0,.1);background-color:#f2f2f2;background-color:#f8f8f8;filter:none}html.dark-mode .editor-form-action-secondary:hover,html.dark-mode .editor-form-action-secondary:focus,html.dark-mode .editor-form-action-secondary:active{color:#bbb}html.dark-mode .editor-form-action-secondary:hover,html.dark-mode .editor-form-action-secondary:focus,html.dark-mode .editor-form-action-secondary:active{background-color:#444}.editor-form-action-secondary:active{border-color:#bbb;background-color:#ddd;color:#666;box-shadow:inset 0 0 2px rgba(0,0,0,.1)}.editor-form-tab-container{display:flex;flex-direction:row;gap:2rem}.editor-form-tab-controls{display:flex;flex-direction:column;align-items:stretch;gap:.25rem}@media screen and (max-width: 880px){.editor-form-tab-container{flex-direction:column;gap:.5rem}.editor-form-tab-controls{flex-direction:row}}.editor-form-tab-control{font-weight:bold;font-size:14px;color:#444;border-bottom:2px solid rgba(0,0,0,0);position:relative;cursor:pointer;padding:.25rem .5rem;text-align:start}html.dark-mode .editor-form-tab-control{color:#666}.editor-form-tab-control[aria-selected=true]{border-color:var(--editor-color-primary);color:var(--editor-color-primary) !important}.editor-form-tab-control[aria-selected=true]:after,.editor-form-tab-control:hover:after{background-color:var(--editor-color-primary);opacity:.15;content:"";display:block;position:absolute;left:0;top:0;width:100%;height:100%}.editor-form-tab-contents{width:260px;max-width:100%}.editor-action-input-container{display:flex;flex-direction:row;align-items:end;justify-content:space-between;gap:.1rem}.editor-action-input-container .editor-button{margin-bottom:12px}.editor-action-input-container input{width:220px}.editor-theme-bold{font-weight:bold}.editor-theme-italic{font-style:italic}.editor-theme-strikethrough{text-decoration-line:line-through}.editor-theme-underline{text-decoration-line:underline}.editor-theme-underline-strikethrough{text-decoration:underline line-through}.cm-editor{font-size:12px;border:1px solid #ddd;line-height:1.4;margin-bottom:24px}.page-content .cm-editor,.CodeMirrorContainer .cm-editor{border-radius:4px}.cm-editor .cm-line{line-height:1.6}.cm-editor .cm-line,.cm-editor .cm-gutter{font-family:var(--font-code)}.dark-mode .cm-editor{border-color:#444}.cm-copy-button{position:absolute;display:flex;align-items:center;justify-content:center;top:-1px;inset-inline-end:-1px;background-color:#eee;border:1px solid #ddd;border-start-end-radius:4px;background-color:#eee;border-color:#ddd;color:#444;line-height:0;cursor:pointer;z-index:5;user-select:none;opacity:0;pointer-events:none;width:32px;height:32px;transition:background-color linear 60ms,color linear 60ms}html.dark-mode .cm-copy-button{background-color:#333}html.dark-mode .cm-copy-button{border-color:#444}html.dark-mode .cm-copy-button{color:#888}.cm-copy-button svg{fill:currentColor}.cm-copy-button.success{background:var(--color-positive);color:#fff}.cm-copy-button:focus{outline:0 !important}.cm-editor:hover .cm-copy-button{user-select:all;opacity:.6;pointer-events:all}.notification{position:fixed;top:0;right:0;margin:32px;padding:16px 24px;background-color:#fff;background-color:#fff;border-radius:4px;border-inline-start:6px solid currentColor;box-shadow:0 1px 6px 1px rgba(22,22,22,.2);z-index:999999;cursor:pointer;max-width:360px;transition:transform ease-in-out 280ms;transform:translateX(580px);display:grid;grid-template-columns:42px 1fr 12px;color:#444;font-weight:700}html.dark-mode .notification{background-color:#444}.notification span,.notification svg{vertical-align:middle;justify-self:center;align-self:center}.notification svg{width:2.8rem;height:2.8rem;padding-inline-end:12px;fill:currentColor}.notification .dismiss{margin-top:-8px}.notification .dismiss svg{height:1rem;color:#444}html.dark-mode .notification .dismiss svg{color:#888}.notification span{vertical-align:middle;line-height:1.3}html.dark-mode .notification span{color:#bbb}.notification.pos{color:var(--color-positive)}.notification.neg{color:var(--color-negative)}.notification.warning{color:var(--color-warning)}.notification.showing{transform:translateX(0)}.notification.showing:hover{transform:translate3d(0, -2px, 0)}.chapter-contents-toggle{cursor:pointer;margin:0;transition:all ease-in-out 180ms;user-select:none}.chapter-contents-toggle svg[data-icon=caret-right]{margin-inline-end:0;font-size:1rem;transition:all ease-in-out 180ms;transform:rotate(0deg);transform-origin:50% 50%}.chapter-contents-toggle.open svg[data-icon=caret-right]{transform:rotate(90deg)}.chapter-contents-toggle svg[data-icon=caret-right]+*{margin-inline-start:3px}[overlay],.popup-background{background-color:rgba(0,0,0,.333);position:fixed;z-index:95536;width:100%;height:100%;min-width:100%;min-height:100%;top:0;left:0;right:0;bottom:0;align-items:center;justify-content:center;display:none}html.dark-mode [overlay],html.dark-mode .popup-background{background-color:rgba(0,0,0,.6)}.popup-body-wrap{display:flex}.popup-body{background-color:#fff;max-height:90%;max-width:1200px;width:90%;height:auto;margin:2% auto;border-radius:4px;box-shadow:0 0 15px 0 rgba(0,0,0,.3);overflow:hidden;z-index:999;display:flex;flex-direction:column;position:relative}html.dark-mode .popup-body{background-color:#333}.popup-body.small{margin:2% auto;width:800px;max-width:90%}.popup-body.very-small{margin:2% auto;width:600px;max-width:90%}.popup-body:before{display:flex;align-self:flex-start}.popup-body .popup-content{overflow-y:auto}.popup-body:focus{outline:0}.popup-header button,.popup-footer button{margin:0;border-radius:0;box-shadow:none;color:#fff;padding:6px 16px;cursor:pointer}.popup-header button:not(.popup-header-close){font-size:.8rem}.popup-header button:hover{background-color:hsla(0,0%,100%,.1)}.popup-footer{justify-content:end;background-color:var(--color-primary-light);min-height:41px}.popup-footer button{padding:10px 16px}.popup-header-close{border:0;color:#fff;font-size:16px;cursor:pointer}.popup-header-close svg{margin-right:0}.popup-header,.popup-footer{display:flex;position:relative;height:40px;flex:0}.popup-header .popup-title,.popup-footer .popup-title{color:#fff;margin-inline-end:auto;padding:8px 16px}.popup-header.flex-container-row,.popup-footer.flex-container-row{display:flex !important}body.flexbox-support #entity-selector-wrap .popup-body .form-group{height:444px;min-height:444px}#entity-selector-wrap .popup-body .form-group{margin:0}.popup-body .entity-selector-container{flex:1}.dropzone-overlay{position:absolute;display:flex;justify-content:center;align-items:center;font-size:1.333rem;width:98%;height:98%;left:1%;top:1%;border-radius:4px;border:1px dashed var(--color-primary);font-style:italic;box-sizing:content-box;background-clip:padding-box;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3E%3Cpath fill='%23a9a9a9' fill-opacity='0.52' d='M1 3h1v1H1V3zm2-2h1v1H3V1z'%3E%3C/path%3E%3C/svg%3E");background-color:var(--color-primary);color:#fff;opacity:.8;z-index:9;pointer-events:none;animation:dzAnimIn 240ms ease-in-out}.dropzone-landing-area{background-color:var(--color-primary-light);padding:16px 24px;width:100%;border:1px dashed var(--color-primary);color:var(--color-primary);border-radius:4px}@keyframes dzAnimIn{0%{opacity:0;transform:scale(0.7)}60%{transform:scale(1.1)}100%{transform:scale(1);opacity:.8}}@keyframes dzFileItemIn{0%{opacity:.5;transform:translateY(28px)}100%{opacity:1;transform:translateY(0)}}@keyframes dzFileItemOut{0%{opacity:1;transform:translateY(0)}100%{opacity:.5;transform:translateY(28px)}}.dropzone-file-item{width:260px;height:80px;position:relative;display:flex;margin:1rem;flex-direction:row;background:#fff;box-shadow:0 1px 6px 1px rgba(22,22,22,.2);border-radius:4px;overflow:hidden;padding-bottom:3px;animation:dzFileItemIn ease-in-out 240ms;transition:transform ease-in-out 120ms,box-shadow ease-in-out 120ms;cursor:pointer}html.dark-mode .dropzone-file-item{background:#444}.dropzone-file-item:hover{transform:translateY(-3px);box-shadow:0 3px 8px 1px rgba(22,22,22,.2)}.dropzone-file-item.dismiss{animation:dzFileItemOut ease-in-out 240ms}.dropzone-file-item .loading-container{text-align:start !important;margin:0}.dropzone-file-item-image-wrap{width:80px;position:relative;background-color:var(--color-primary-light)}.dropzone-file-item-image-wrap img{object-fit:cover;width:100%;height:100%;opacity:.8}.dropzone-file-item-text-wrap{flex:1;display:block;padding:1rem;overflow:auto}.dropzone-file-item-progress{position:absolute;bottom:0;left:0;font-size:0;height:3px;background-color:var(--color-primary);transition:width ease-in-out 240ms}.dropzone-file-item-label{line-height:1.2;margin-bottom:.2rem}.dropzone-file-item-label,.dropzone-file-item-status{align-items:center;font-size:.8rem;font-weight:700}.dropzone-file-item-status[data-status]{display:flex;font-size:.6rem;font-weight:500;line-height:1.2}.dropzone-file-item-status[data-status=success]{color:var(--color-positive)}.dropzone-file-item-status[data-status=error]{color:var(--color-negative)}.dropzone-file-item-status[data-status]+.dropzone-file-item-label{display:none}.image-manager-body{min-height:70vh}.image-manager-filter-bar{position:sticky;top:0;z-index:5;background-color:hsla(0,0%,100%,.85)}html.dark-mode .image-manager-filter-bar{background-color:rgba(80,80,80,.85)}.image-manager-filter-bar-bg{position:absolute;left:0;top:0;width:100%;height:100%;opacity:.15;z-index:-1}.image-manager-filters{box-shadow:0 1px 3px 1px rgba(76,76,76,.26);border-radius:4px;overflow:hidden;border-bottom:0 !important}html.dark-mode .image-manager-filters{border:1px solid #000 !important}.image-manager-filters button{line-height:0;background-color:#fff}html.dark-mode .image-manager-filters button{background-color:#333}.image-manager-filters svg{margin:0}.image-manager-list{padding:3px;display:grid;grid-template-columns:repeat(auto-fill, minmax(max(140px, 17%), 1fr));gap:3px;z-index:3}.image-manager-list>div{aspect-ratio:1}.image-manager-list .image{display:block;position:relative;border-radius:0;margin:0;width:100%;text-align:start;padding:0;cursor:pointer;aspect-ratio:1;border-color:#ddd;transition:all linear 80ms;overflow:hidden}html.dark-mode .image-manager-list .image{border-color:#000}.image-manager-list .image.selected{background-color:var(--color-primary-light);outline:currentColor 3px solid;border-radius:3px;transform:scale3d(0.95, 0.95, 0.95)}.image-manager-list .image img{width:100%;max-width:100%;display:block;object-fit:cover;height:auto}.image-manager-list .image .image-meta{opacity:0;position:absolute;width:100%;bottom:0;left:0;color:#eee;background-color:rgba(0,0,0,.7);font-size:10px;padding:3px 4px;pointer-events:none;transition:opacity ease-in-out 80ms}.image-manager-list .image .image-meta span{display:block}.image-manager-list .image.selected .image-meta,.image-manager-list .image:hover .image-meta,.image-manager-list .image:focus .image-meta{opacity:1}@media screen and (max-width: 880px){.image-manager-list .image .image-meta{display:none}}.image-manager .load-more{text-align:center;padding:12px 16px;clear:both}.image-manager .load-more .loading-container{margin:0}.image-manager .loading-container{text-align:center}.image-manager-list .image-manager-list-warning{grid-column:1/-1;aspect-ratio:auto}.image-manager-warning{background:#fff;color:var(--color-warning);font-weight:bold;border-inline:3px solid var(--color-warning)}html.dark-mode .image-manager-warning{background:#333}.image-manager-sidebar{width:300px;margin:0 auto;overflow-y:auto;overflow-x:hidden;border-inline-start:1px solid #ddd;border-color:#ddd}html.dark-mode .image-manager-sidebar{border-color:#000}.image-manager-sidebar .inner{min-height:auto;padding:16px}.image-manager-sidebar .image-manager-viewer img{max-width:100%;max-height:180px;display:block;margin:0 auto 16px auto;box-shadow:0 1px 21px 1px rgba(76,76,76,.3)}.image-manager-sidebar .image-manager-viewer{height:196px;display:flex;align-items:center;justify-content:center}.image-manager-sidebar .image-manager-viewer a{display:inline-block}@media screen and (max-width: 880px){.image-manager-sidebar{border-inline-start:0}}.image-manager-content{display:flex;flex-direction:column;flex:1;overflow-y:scroll}.image-manager-content .container{width:100%}.image-manager-content .full-tab{text-align:center}.tab-container.bordered [role=tablist] button[role=tab]{border-inline-end:1px solid #ddd;border-inline-end-color:#ddd}html.dark-mode .tab-container.bordered [role=tablist] button[role=tab]{border-inline-end-color:#000}.tab-container.bordered [role=tablist] button[role=tab]:last-child{border-inline-end:none}.tab-container [role=tablist]{display:flex;align-items:end;justify-items:start;text-align:start;border-bottom:1px solid #ddd;border-color:#ddd;margin-bottom:16px}html.dark-mode .tab-container [role=tablist]{border-color:#444}.tab-container [role=tablist] button[role=tab]{display:inline-block;padding:12px;color:rgba(0,0,0,.5);cursor:pointer;border-bottom:2px solid rgba(0,0,0,0);margin-bottom:-1px}html.dark-mode .tab-container [role=tablist] button[role=tab]{color:hsla(0,0%,100%,.5)}.tab-container [role=tablist] button[role=tab][aria-selected=true]{color:var(--color-link) !important;border-bottom-color:var(--color-link) !important;outline:0 !important}.tab-container [role=tablist] button[role=tab]:hover,.tab-container [role=tablist] button[role=tab]:focus{color:rgba(0,0,0,.8);border-bottom-color:rgba(0,0,0,.2)}html.dark-mode .tab-container [role=tablist] button[role=tab]:hover,html.dark-mode .tab-container [role=tablist] button[role=tab]:focus{color:hsla(0,0%,100%,.8)}html.dark-mode .tab-container [role=tablist] button[role=tab]:hover,html.dark-mode .tab-container [role=tablist] button[role=tab]:focus{border-bottom-color:hsla(0,0%,100%,.2)}.tab-container [role=tablist] button[role=tab]:focus{outline:1px dotted var(--color-primary);outline-offset:-2px}.tab-container [role=tablist].controls-card{margin-bottom:0;border-bottom:0;padding:0 6px}.image-picker .none{display:none}.code-editor .CodeMirror{height:auto;min-height:50vh;border-bottom:0}.code-editor .lang-options{overflow-y:scroll;flex-basis:200px;flex-grow:1}.code-editor .lang-options button{display:block;padding:6px 16px;border-bottom:1px solid;color:#333;border-bottom-color:#eee;cursor:pointer;width:100%;text-align:left;font-family:var(--font-code);font-size:.7rem;padding-left:30px}html.dark-mode .code-editor .lang-options button{color:#aaa}html.dark-mode .code-editor .lang-options button{border-bottom-color:#000}.code-editor .lang-options button:hover,.code-editor .lang-options button.active{background-color:var(--color-primary-light);color:var(--color-primary)}.code-editor button.lang-option-favorite-toggle{position:absolute;top:0;left:0;width:28px;font-size:1rem;border:0;line-height:1;padding:2px;z-index:2;height:100%;text-align:center;color:var(--color-primary)}.code-editor button.lang-option-favorite-toggle svg{margin:0}.code-editor button[data-favourite=true]~.action-favourite,.code-editor button[data-favourite=false]~.action-unfavourite{display:none}.code-editor .action-favourite{opacity:.5}.code-editor button:hover~.action-favourite{opacity:1}.code-editor label{background-color:var(--color-primary-light);width:100%;color:var(--color-primary);padding:3px 12px;margin-bottom:0}.code-editor-language-list{position:relative;width:160px;z-index:2;align-items:stretch}.code-editor-language-list input{border-radius:0;border:0;border-bottom:1px solid #ddd;padding:6px 12px;height:auto}.code-editor-main{flex:1;min-width:0}.code-editor-main .cm-editor{margin-bottom:0;z-index:1;max-width:100%;width:100%}.code-editor-body-wrap{height:80vh}@media screen and (max-width: 600px){.code-editor .lang-options{display:none}.code-editor-body-wrap{flex-direction:column}.code-editor-language-list,.code-editor-language-list input{width:100%}}.comments-container{padding-inline:32px}@media screen and (max-width: 880px){.comments-container{padding-inline:6px}}.comment-box{border-radius:4px;border:1px solid #ddd;border-color:#ddd;background-color:#fff}html.dark-mode .comment-box{border-color:#000}html.dark-mode .comment-box{background-color:#222}.comment-box .content{font-size:.666em;padding:6px 12px}.comment-box .content p,.comment-box .content ul,.comment-box .content ol{font-size:14px;margin:.5em 0}.comment-box .actions{opacity:0;transition:opacity ease-in-out 120ms}.comment-box:hover .actions,.comment-box:focus-within .actions{opacity:1}.comment-box .actions button:focus{outline:1px dotted var(--color-primary)}@media screen and (max-width: 880px){.comment-box .actions{opacity:1}}.comment-box .header{border-bottom:1px solid #ddd;padding:6px 12px;border-color:#ddd}html.dark-mode .comment-box .header{border-color:#000}.comment-box .header a{color:inherit}.comment-box .header .text-muted{color:#999}.comment-box .header .meta a,.comment-box .header .meta span{white-space:nowrap}.comment-box .header .right-meta .text-muted{opacity:.8}.comment-thread-indicator{border-inline-start:3px dotted #ddd;border-color:#ddd;margin-inline-start:6px;width:24px;height:calc(100% - 16px)}html.dark-mode .comment-thread-indicator{border-color:#444}.comment-branch .comment-branch .comment-branch .comment-branch .comment-thread-indicator{display:none}.comment-reply{display:none;margin:0 !important;margin-bottom:-3px !important}.comment-branch .comment-branch .comment-branch .comment-branch .comment-reply{display:block}.comment-container-compact .comment-box .meta{font-size:.8rem}.comment-container-compact .comment-box .header{padding:6px}.comment-container-compact .comment-box .right-meta{display:none}.comment-container-compact .comment-box .content{padding:6px 12px}.comment-container-compact .comment-thread-indicator{width:16px}#tag-manager .drag-card{max-width:500px}.template-item{cursor:pointer;position:relative}.template-item:hover,.template-item .template-item-actions button:hover{background-color:#f2f2f2}.template-item .template-item-actions{position:absolute;top:0;inset-inline-end:0;width:50px;height:100%;display:flex;flex-direction:column;border-inline-start:1px solid;border-color:#ddd}html.dark-mode .template-item .template-item-actions{border-color:#000}.template-item .template-item-actions button{cursor:pointer;flex:1;background-color:#fff;border:0;border-top:1px solid;border-color:#ddd}html.dark-mode .template-item .template-item-actions button{background-color:#222}html.dark-mode .template-item .template-item-actions button{border-color:#000}.template-item .template-item-actions button svg{margin:0}.template-item .template-item-actions button:first-child{border-top:0}.dropdown-search{position:relative}.dropdown-search-toggle-breadcrumb{border:1px solid rgba(0,0,0,0);border-radius:4px;line-height:normal;padding:6px}.dropdown-search-toggle-breadcrumb:hover{border-color:#ddd}.dropdown-search-toggle-breadcrumb .svg-icon{margin-inline-end:0}.dropdown-search-toggle-select{display:flex;gap:12px;line-height:normal}.dropdown-search-toggle-select .svg-icon{height:26px;width:26px;margin:0}.dropdown-search-toggle-select .avatar{height:22px;width:22px}.dropdown-search-toggle-select .avatar+span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-search-toggle-select .dropdown-search-toggle-caret{font-size:1.15rem}.dropdown-search-toggle-select-label{min-width:0;white-space:nowrap}.dropdown-search-toggle-select-caret{line-height:0;margin-left:auto;margin-top:-2px;display:flex;align-items:center}.dropdown-search-dropdown{box-shadow:0 1px 3px 1px rgba(76,76,76,.26);overflow:hidden;min-height:100px;width:240px;display:none;position:absolute;z-index:80;right:0;top:0;margin-top:16px}html[dir=rtl] .dropdown-search-dropdown{right:auto;left:-16px}.dropdown-search-dropdown .dropdown-search-search .svg-icon{position:absolute;left:12px;top:11px;fill:#888;pointer-events:none}html[dir=rtl] .dropdown-search-dropdown .dropdown-search-search .svg-icon{right:12px;left:auto}.dropdown-search-dropdown .dropdown-search-list{max-height:400px;overflow-y:scroll;text-align:start}.dropdown-search-dropdown .dropdown-search-item{padding:12px 16px}.dropdown-search-dropdown .dropdown-search-item:hover,.dropdown-search-dropdown .dropdown-search-item:focus{background-color:#f2f2f2;text-decoration:none}.dropdown-search-dropdown input,.dropdown-search-dropdown input:focus{padding-inline-start:32px;border-radius:0;border:0;border-bottom:1px solid #ddd}.dropdown-search-dropdown input:focus{outline:0}@media screen and (max-width: 1000px){.dropdown-search-dropdown{inset-inline:16px auto}.dropdown-search-dropdown .dropdown-search-list{max-height:240px}}.item-list{box-shadow:0 1px 3px 0 rgba(0,0,0,.1)}.item-list-row{border:1.5px solid;border-color:#e2e2e2;border-bottom-width:0}html.dark-mode .item-list-row{border-color:#444}.item-list-row label{padding-bottom:0}.item-list-row:hover{background-color:#f6f6f6}html.dark-mode .item-list-row:hover{background-color:#333}.item-list-row:first-child{border-radius:4px 4px 0 0}.item-list-row:last-child{border-radius:0 0 4px 4px;border-bottom-width:1.5px}.item-list-row:first-child:last-child{border-radius:4px}.item-list-row-toggle-all{visibility:hidden}.item-list-row:hover .item-list-row-toggle-all{visibility:visible}.status-indicator-active,.status-indicator-inactive{width:8px;height:8px;border-radius:50%;display:inline-block}.status-indicator-active{background-color:var(--color-positive)}.status-indicator-inactive{background-color:var(--color-negative)}.shortcut-container{background-color:rgba(0,0,0,.25);pointer-events:none;position:fixed;left:0;top:0;width:100%;height:100%;z-index:99}.shortcut-linkage{position:fixed;box-shadow:0 0 4px 0 #fff;border-radius:3px}.shortcut-hint{position:fixed;padding:3px 3px;font-size:.85rem;font-weight:700;line-height:1;background-color:#eee;border-radius:3px;border:1px solid #b4b4b4;box-shadow:0 1px 1px rgba(0,0,0,.2),0 2px 0 0 hsla(0,0%,100%,.7) inset;color:#333}.back-to-top{background-color:var(--color-primary);position:fixed;bottom:16px;right:24px;padding:5px 7px;cursor:pointer;color:#fff;fill:#fff;width:40px;height:40px;border-radius:40px;transition:all ease-in-out 180ms;opacity:0;z-index:999;overflow:hidden}.back-to-top svg{width:26.6666666667px;height:26.6666666667px;margin-inline-end:4px}.back-to-top:hover{width:136px;opacity:1 !important}.back-to-top .inner{width:136px}.back-to-top span{position:relative;vertical-align:top;line-height:2}.scroll-box{list-style:none;padding:0;margin:0;max-height:280px;overflow-y:scroll;border:1px solid;border-color:#ddd;border-radius:3px;min-height:20px;background-color:#eee}html.dark-mode .scroll-box{border-color:#000}html.dark-mode .scroll-box{background-color:#000}.scroll-box-item{border-bottom:1px solid;border-top:1px solid;border-color:#ddd;margin-top:-1px;background-color:#fff;display:flex;align-items:flex-start;padding:1px}html.dark-mode .scroll-box-item{border-color:#000}html.dark-mode .scroll-box-item{background-color:#222}.scroll-box-item:last-child{border-bottom:0}.scroll-box-item:hover{cursor:pointer;background-color:#f8f8f8}html.dark-mode .scroll-box-item:hover{background-color:#333}.scroll-box-item .handle{color:#aaa;cursor:grab}.scroll-box-item button{opacity:.6}.scroll-box-item .handle svg{margin:0}.scroll-box-item>*{padding:6px 16px}.scroll-box-item .handle+*{padding-left:0}.scroll-box-item:hover .handle{color:#444}html.dark-mode .scroll-box-item:hover .handle{color:#fff}.scroll-box-item:hover button{opacity:1}.scroll-box-item a:hover{text-decoration:none}input.scroll-box-search,.scroll-box-header-item{font-size:.8rem;border:1px solid;border-color:#ddd;background-color:#fff;margin-bottom:-1px;border-radius:3px 3px 0 0;width:100%;max-width:100%;height:auto;line-height:1.4;color:#666}html.dark-mode input.scroll-box-search,html.dark-mode .scroll-box-header-item{border-color:#000}html.dark-mode input.scroll-box-search,html.dark-mode .scroll-box-header-item{background-color:#222}.scroll-box-search+.scroll-box,.scroll-box-header-item+.scroll-box{border-radius:0 0 3px 3px}.scroll-box[refs="shelf-sort@shelf-book-list"] [data-action=add]{display:none}.scroll-box[refs="shelf-sort@all-book-list"] [data-action=remove],.scroll-box[refs="shelf-sort@all-book-list"] [data-action=move_up],.scroll-box[refs="shelf-sort@all-book-list"] [data-action=move_down]{display:none}header.grid{grid-template-columns:minmax(max-content, 2fr) 1fr minmax(max-content, 2fr)}@media screen and (max-width: 1000px){header.grid{grid-template-columns:1fr;grid-row-gap:0}}header{position:relative;display:block;z-index:11;top:0;color:#fafafa;border-bottom:1px solid #ddd;box-shadow:0 1px 6px -1px rgba(0,0,0,.1);border-bottom-color:#ddd}html.dark-mode header{border-bottom-color:#000}header .header-links{display:flex;align-items:center;justify-content:end}header .links{display:inline-block;vertical-align:top}header .links a{display:inline-block;padding:10px 16px;color:#fff;border-radius:3px}header .links a:hover{text-decoration:none;background-color:hsla(0,0%,100%,.15)}header .dropdown-container{padding-inline-start:16px;padding-inline-end:0}header .avatar,header .user-name{display:inline-block}header .avatar{width:30px;height:30px}header .user-name{vertical-align:top;position:relative;display:inline-flex;align-items:center;cursor:pointer;padding:12px;margin:0 -12px;border-radius:3px;gap:6px}header .user-name>span{padding-inline-start:6px;display:inline-block;line-height:1}header .user-name>svg{font-size:18px;margin-top:-2px;margin-inline-end:0}header .user-name:hover{background-color:hsla(0,0%,100%,.15)}@media screen and (min-width: 1000px)and (max-width: 1100px){header .user-name{padding-inline-start:6px}header .user-name .name{display:none}}.header *,.primary-background *{outline-color:#fff}header .search-box{display:inline-block}header .search-box input{background-color:rgba(0,0,0,.2);border:1px solid hsla(0,0%,100%,.2);border-radius:40px;color:#eee;z-index:2;height:auto;padding:9px;padding-inline-start:40px}header .search-box input:focus{outline:none;border:1px solid hsla(0,0%,100%,.4)}header .search-box input::placeholder{color:#fff;opacity:.6}@media screen and (min-width: 1000px)and (max-width: 1100px){header .search-box{max-width:200px}}header .search-box:focus-within #header-search-box-button{opacity:1}#header-search-box-button{z-index:1;inset-inline-start:16px;top:10px;color:#fff;opacity:.6;color:hsla(0,0%,100%,.8)}html.dark-mode #header-search-box-button{color:#aaa}#header-search-box-button svg{margin-inline-end:0}.global-search-suggestions{display:none;position:absolute;top:-12px;left:0;right:0;z-index:-1;margin-left:-48px;margin-right:-48px;padding-top:56px;border-radius:3px;box-shadow:0 2px 2px 1px rgba(0,0,0,.13);transform-origin:top center;opacity:.5;transform:scale(0.9)}.global-search-suggestions .entity-item-snippet p{display:none}.global-search-suggestions .entity-item-snippet{font-size:.8rem}.global-search-suggestions .entity-list-item-name{font-size:.9rem;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.global-search-suggestions .global-search-loading{position:absolute;width:100%}header .search-box.search-active:focus-within .global-search-suggestions{display:block}header .search-box.search-active:focus-within input{background-color:#eee;border-color:#ddd}html.dark-mode header .search-box.search-active:focus-within input{background-color:#333}html.dark-mode header .search-box.search-active:focus-within input{border-color:#111}header .search-box.search-active:focus-within #header-search-box-button,header .search-box.search-active:focus-within input{color:#444}html.dark-mode header .search-box.search-active:focus-within #header-search-box-button,html.dark-mode header .search-box.search-active:focus-within input{color:#aaa}.logo{display:inline-flex;padding:6px 12px;margin:6px -12px;gap:12px;align-items:center;border-radius:4px}.logo:hover{color:#fff;text-decoration:none;background-color:hsla(0,0%,100%,.15)}.logo-text{font-size:1.8em;color:#fff;font-weight:400;line-height:1}.logo-image{height:43px}.mobile-menu-toggle{color:#fff;fill:#fff;font-size:2em;border:2px solid hsla(0,0%,100%,.8);border-radius:4px;padding:0 6px;line-height:1;cursor:pointer;user-select:none}.mobile-menu-toggle svg{margin:0;bottom:-2px}@media screen and (max-width: 1000px){header .header-links{background-color:#fff;display:none;z-index:10;inset-inline-end:16px;border-radius:4px;overflow:hidden;position:absolute;box-shadow:0 2px 2px 1px rgba(0,0,0,.13);margin-top:16px;padding:6px 0}html.dark-mode header .header-links{background-color:#333}header .header-links.show{display:block}header .links a,header .dropdown-container ul li a,header .dropdown-container ul li button{text-align:start;display:grid;align-items:center;padding:8px 16px;gap:16px;color:#444;grid-template-columns:16px auto;line-height:1.4;color:#444}html.dark-mode header .links a,html.dark-mode header .dropdown-container ul li a,html.dark-mode header .dropdown-container ul li button{color:#eee}header .links a svg,header .dropdown-container ul li a svg,header .dropdown-container ul li button svg{margin-inline-end:12px;width:16px}header .links a:hover,header .dropdown-container ul li a:hover,header .dropdown-container ul li button:hover{background-color:var(--color-primary-light);color:var(--color-primary);text-decoration:none}header .links a:focus,header .dropdown-container ul li a:focus,header .dropdown-container ul li button:focus{background-color:#eee;outline-color:var(--color-primary);color:var(--color-primary)}html.dark-mode header .links a:focus,html.dark-mode header .dropdown-container ul li a:focus,html.dark-mode header .dropdown-container ul li button:focus{background-color:#333}header .dropdown-container{display:block;padding-inline-start:0}header .links{display:block}header .dropdown-container ul{display:block !important;position:relative;background-color:rgba(0,0,0,0);border:0;padding:0;margin:0;box-shadow:none}}.tri-layout-mobile-tabs{position:sticky;top:0;z-index:5;background-color:#fff;border-bottom:1px solid #ddd;border-bottom-color:#ddd;box-shadow:0 1px 6px -1px rgba(0,0,0,.1)}html.dark-mode .tri-layout-mobile-tabs{border-bottom-color:#333}.tri-layout-mobile-tab{text-align:center;border-bottom:3px solid #bbb;cursor:pointer;margin:0;background-color:#fff;border-bottom-color:#bbb}html.dark-mode .tri-layout-mobile-tab{background-color:#222}html.dark-mode .tri-layout-mobile-tab{border-bottom-color:#333}.tri-layout-mobile-tab:first-child{border-inline-end:1px solid #ddd;border-inline-end-color:#ddd}html.dark-mode .tri-layout-mobile-tab:first-child{border-inline-end-color:#000}.tri-layout-mobile-tab[aria-selected=true]{border-bottom-color:currentColor !important}.breadcrumbs{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;flex-wrap:wrap;opacity:.7}.breadcrumbs .icon-list-item{width:auto;padding-top:6px;padding-bottom:6px}.breadcrumbs .separator{display:inline-block;fill:#aaa;font-size:1.6em;line-height:.8;margin:-2px 0 0}.breadcrumbs:hover,.breadcrumbs:focus-within{opacity:1}@media(prefers-contrast: more){.breadcrumbs{opacity:1}}@media screen and (max-width: 1000px){.breadcrumbs .icon-list-item{padding:6px}.breadcrumbs .icon-list-item>span+span{display:none}.breadcrumbs .icon-list-item>span:first-child{margin-inline-end:0}}.faded a,.faded button,.faded span,.faded span>div{color:#666;fill:#666}.faded .text-button{opacity:.5;transition:all ease-in-out 120ms}.faded .text-button:hover{opacity:1;text-decoration:none}.faded span.faded-text{display:inline-block;padding:12px}footer{flex-shrink:0;padding:1rem 1rem 2rem 1rem;text-align:center}footer a{margin:0 .5em}body.flexbox footer{display:none}.book-contents .entity-list-item .icon{width:4px;border-radius:1px;justify-self:stretch;align-self:stretch;height:auto;margin-inline-end:6px}.book-contents .entity-list-item .icon:after{opacity:.5}.book-contents .entity-list-item .icon svg{display:none}.book-contents .entity-list-item p{margin-bottom:0}.book-contents .entity-list-item .inner-page{padding-top:0;padding-bottom:0}.entity-list-item+.chapter-expansion{display:flex;padding:0 16px 16px 16px;align-items:center;border:0;width:100%;position:relative}.entity-list-item+.chapter-expansion>.icon{width:4px;height:auto;border-radius:0 0 1px 1px;align-self:stretch;flex-shrink:0}.entity-list-item+.chapter-expansion>.icon:before{position:absolute;top:0;left:0;width:100%;height:1px;background-color:currentColor;content:"";opacity:.5}.entity-list-item+.chapter-expansion>.icon:after{opacity:.5}.entity-list-item+.chapter-expansion .icon svg{display:none}.entity-list-item+.chapter-expansion>.content{flex:1}.entity-list-item+.chapter-expansion .chapter-contents-toggle{border-radius:0 4px 4px 0;padding:6px 19px;width:100%;text-align:start}.entity-list-item+.chapter-expansion .chapter-contents-toggle:hover{background-color:rgba(0,0,0,.06)}.entity-list-item.has-children{padding-bottom:0}.entity-list-item.has-children>.icon{border-radius:4px 4px 0 0}.inset-list{display:none}.inset-list .entity-list-item-name{font-size:1rem}.inset-list .entity-list-item-children{padding-top:0;padding-bottom:0}.sidebar-page-nav{list-style:none;margin-block-start:12px;margin-block-end:16px;margin-inline-start:6px;margin-inline-end:0;position:relative}.sidebar-page-nav:after{content:"";display:block;position:absolute;left:0;background-color:rgba(0,0,0,.2);width:2px;top:5px;bottom:5px;z-index:0}html[dir=rtl] .sidebar-page-nav:after{left:auto;right:0}html.dark-mode .sidebar-page-nav:after{background-color:hsla(0,0%,100%,.2)}.sidebar-page-nav li{margin-bottom:4px;font-size:.95em;position:relative}.sidebar-page-nav .h1{padding-inline-start:16px}.sidebar-page-nav .h2{padding-inline-start:24px}.sidebar-page-nav .h3{padding-inline-start:32px}.sidebar-page-nav .h4{padding-inline-start:40px}.sidebar-page-nav .h5{padding-inline-start:48px}.sidebar-page-nav .h6{padding-inline-start:56px}.sidebar-page-nav .current-heading{font-weight:bold}.sidebar-page-nav li:not(.current-heading) .sidebar-page-nav-bullet{background-color:#bbb !important}html.dark-mode .sidebar-page-nav li:not(.current-heading) .sidebar-page-nav-bullet{background-color:#666 !important}.sidebar-page-nav .sidebar-page-nav-bullet{width:6px;height:6px;position:absolute;left:-2px;top:30%;border-radius:50%;box-shadow:0 0 0 6px #f2f2f2;box-shadow:0 0 0 6px #f2f2f2;z-index:1}html.dark-mode .sidebar-page-nav .sidebar-page-nav-bullet{box-shadow:0 0 0 6px #111}html[dir=rtl] .sidebar-page-nav .sidebar-page-nav-bullet{left:auto;right:-2px}.book-tree .sidebar-page-list{list-style:none;margin-block-start:6px;margin-block-end:0;margin-inline-start:-12px;margin-inline-end:-12px;padding-inline-start:0;padding-inline-end:0}.book-tree .sidebar-page-list ul{list-style:none;padding-inline-start:1rem;padding-inline-end:0}.book-tree .sidebar-page-list .entity-list-item{padding-top:2px;padding-bottom:2px;background-clip:content-box;border-radius:0 3px 3px 0;padding-inline-end:0}.book-tree .sidebar-page-list .entity-list-item .content{width:100%;padding-top:6px;padding-bottom:6px;max-width:calc(100% - 20px)}.book-tree .sidebar-page-list .entity-list-item.selected{background-color:rgba(0,0,0,.06)}html.dark-mode .book-tree .sidebar-page-list .entity-list-item.selected{background-color:hsla(0,0%,100%,.06)}.book-tree .sidebar-page-list .entity-list-item.no-hover{margin-top:-6px;padding-inline-end:0}.book-tree .sidebar-page-list .entity-list-item-name{font-size:1em;margin:0;margin-inline-end:16px}.book-tree .sidebar-page-list .chapter-child-menu{font-size:.8rem;margin-top:-0.2rem;margin-inline-start:-1rem}.book-tree .sidebar-page-list .chapter-contents-toggle{display:block;width:100%;text-align:start;padding:3px 12px 6px 12px;border-radius:0 3px 3px 0;line-height:1;margin-top:-3px;margin-bottom:-3px}.book-tree .sidebar-page-list .chapter-contents-toggle:hover{background-color:rgba(0,0,0,.06)}html.dark-mode .book-tree .sidebar-page-list .chapter-contents-toggle:hover{background-color:hsla(0,0%,100%,.06)}.book-tree .sidebar-page-list .entity-list-item .icon{z-index:2;width:4px;height:auto;align-self:stretch;flex-shrink:0;border-radius:1px;opacity:.8}.book-tree .sidebar-page-list .entity-list-item .icon:after{opacity:1}.book-tree .sidebar-page-list .entity-list-item .icon svg{display:none}.chapter-child-menu ul.sub-menu{display:none;padding-inline-start:0;position:relative;margin-bottom:0}.sortable-page-list,.sortable-page-sublist{list-style:none}.sort-box{margin-bottom:16px;padding:16px 32px;position:relative}.sort-box::before{pointer-events:none;content:"";border-radius:4px;opacity:.5;border:2px solid var(--color-book);display:block;top:0;bottom:0;left:0;right:0;position:absolute}.sort-box-options{display:flex;flex-wrap:wrap;justify-content:space-between}.sort-box-options .button{margin-inline-start:0}.sortable-page-list{margin-inline-start:0;padding:0}.sortable-page-list .entity-list-item>span:first-child{align-self:flex-start}.sortable-page-list .sortable-selected,.sortable-page-list .sortable-selected:hover{outline:1px dotted var(--color-primary);background-color:var(--color-primary-light) !important}.sortable-page-list .entity-list-item>div{display:block;flex:1}.sortable-page-list>ul{margin-inline-start:0}.sortable-page-list .sortable-page-sublist{margin-bottom:16px;margin-top:0;padding-inline-start:16px}.sortable-page-list li{background-color:#fff;border:1px solid;border-color:#ddd;margin-top:-1px;min-height:38px}html.dark-mode .sortable-page-list li{background-color:#222}html.dark-mode .sortable-page-list li{border-color:#666}.sortable-page-list li.text-page,.sortable-page-list li.text-chapter{border-inline-start:2px solid currentColor}.sortable-page-list li:first-child{margin-top:6px}.sortable-page-list li.placeholder{position:relative}.sortable-page-list li.placeholder:before{position:absolute}.sort-box summary{list-style:none;font-size:.9rem;cursor:pointer}.sort-box summary::-webkit-details-marker{display:none}details.sort-box summary .caret-container svg{transition:transform ease-in-out 120ms}details.sort-box[open] summary .caret-container svg{transform:rotate(90deg)}.sort-box-actions .icon-button{opacity:.6}.sort-box .flex-container-row:hover .sort-box-actions .icon-button,.sort-box .flex-container-row:focus-within .sort-box-actions .icon-button{opacity:1}.sort-box-actions .icon-button[disabled]{visibility:hidden}.sort-box-actions .dropdown-menu button[disabled]{display:none}.sort-list-handle{cursor:grab}.activity-list-item{padding:12px 0;display:grid;grid-template-columns:min-content 1fr;grid-column-gap:16px;font-size:.9em}.card .activity-list-item{padding-block:12px}.user-list-item{display:inline-grid;padding:12px;grid-template-columns:min-content 1fr;grid-column-gap:16px;font-size:.9em;align-items:center}.user-list-item>div:first-child{line-height:0}ul.pagination{display:inline-flex;list-style:none;margin:16px 0;padding-inline-start:1px}ul.pagination li:first-child a,ul.pagination li:first-child span{border-radius:3px 0 0 3px}ul.pagination li:last-child a,ul.pagination li:last-child span{border-radius:0 3px 3px 0}ul.pagination a,ul.pagination span{display:block;padding:3px 12px;border:1px solid #ccc;margin-inline-start:-1px;user-select:none;color:#555;border-color:#ccc}html.dark-mode ul.pagination a,html.dark-mode ul.pagination span{color:#eee}html.dark-mode ul.pagination a,html.dark-mode ul.pagination span{border-color:#666}ul.pagination li.disabled{cursor:not-allowed}ul.pagination li.active span{color:#111;background-color:rgba(0,0,0,.05)}html.dark-mode ul.pagination li.active span{color:#eee}html.dark-mode ul.pagination li.active span{background-color:rgba(0,0,0,.5)}.compact ul.pagination{margin:0}.entity-list,.icon-list{margin:0 -16px}.entity-list h4,.icon-list h4{margin:0}.entity-list hr,.icon-list hr{margin:0}.entity-list .text-small.text-muted,.icon-list .text-small.text-muted{color:#aaa;font-size:.75em;margin-top:6px}.entity-list .text-muted p.text-muted,.icon-list .text-muted p.text-muted{margin-top:0}.entity-list .page.draft .text-page,.icon-list .page.draft .text-page{color:var(--color-page-draft);fill:var(--color-page-draft)}.entity-list>.dropdown-container,.icon-list>.dropdown-container{display:block}.icon-list hr{margin:12px 16px;max-width:140px;opacity:.25;height:1.1px}.icon-list hr+hr,.icon-list hr:first-child,.icon-list hr:last-child{display:none}.entity-list-item,.icon-list-item{padding:12px 16px;display:flex;align-items:center;gap:16px;background-color:rgba(0,0,0,0);border:0;width:100%;position:relative;word-break:break-word}.entity-list-item h4 a,.icon-list-item h4 a{color:#666}.entity-list-item>span:first-child,.icon-list-item>span:first-child{flex-basis:1.88em;flex:none}.entity-list-item>span:last-child,.icon-list-item>span:last-child{flex:1;text-align:start}.entity-list-item>.content,.icon-list-item>.content{min-width:0}.entity-list-item:not(.no-hover),.icon-list-item:not(.no-hover){cursor:pointer}.entity-list-item:not(.no-hover):hover,.icon-list-item:not(.no-hover):hover{background-color:rgba(0,0,0,.06);text-decoration:none;border-radius:4px}html.dark-mode .entity-list-item:not(.no-hover):hover,html.dark-mode .icon-list-item:not(.no-hover):hover{background-color:hsla(0,0%,100%,.06)}.entity-list-item.outline-hover:hover,.icon-list-item.outline-hover:hover{background-color:rgba(0,0,0,0)}.entity-list-item:focus,.icon-list-item:focus{background-color:#eee;outline:1px dotted #666;outline-offset:-2px}html.dark-mode .entity-list-item:focus,html.dark-mode .icon-list-item:focus{background-color:#222}.entity-list-item.disabled{pointer-events:none;cursor:not-allowed;opacity:.8;user-select:none;background:var(--bg-disabled)}.entity-list-item-path-sep{display:inline-block;vertical-align:top;position:relative;top:1px}.entity-list-item-path-sep svg{margin-inline-end:0}.split-icon-list-item{display:flex;align-items:center;gap:16px;background-color:rgba(0,0,0,0);border:0;width:100%;position:relative;word-break:break-word;border-radius:4px}.split-icon-list-item>a{padding:12px 16px;display:flex;align-items:center;gap:16px;flex:1}.split-icon-list-item>a:hover{text-decoration:none}.split-icon-list-item .icon{flex-basis:1.88em;flex:none}.split-icon-list-item:hover{background-color:rgba(0,0,0,.06)}html.dark-mode .split-icon-list-item:hover{background-color:hsla(0,0%,100%,.06)}.icon-list-item-dropdown{margin-inline-start:auto;align-self:stretch;display:flex;align-items:stretch;border-inline-start:1px solid rgba(0,0,0,.1);visibility:hidden}.split-icon-list-item:hover .icon-list-item-dropdown,.split-icon-list-item:focus-within .icon-list-item-dropdown{visibility:visible}.icon-list-item-dropdown-toggle{padding:6px;display:flex;align-items:center;cursor:pointer;color:#888}html.dark-mode .icon-list-item-dropdown-toggle{color:#999}.icon-list-item-dropdown-toggle svg{margin:0}.icon-list-item-dropdown-toggle:hover{background-color:rgba(0,0,0,.06)}html.dark-mode .icon-list-item-dropdown-toggle:hover{background-color:hsla(0,0%,100%,.06)}.card .entity-list-item:not(.no-hover,.book-contents .entity-list-item):hover{background-color:#f2f2f2;border-radius:0}html.dark-mode .card .entity-list-item:not(.no-hover,.book-contents .entity-list-item):hover{background-color:#2d2d2d}.card .entity-list-item .entity-list-item:hover{background-color:#eee}.entity-list-item-children{padding:16px 24px}.entity-list-item-children>div{overflow:hidden;padding:0 0 6px 0}.entity-list-item-children .entity-chip{text-overflow:ellipsis;height:2.5em;overflow:hidden;text-align:start;display:block;white-space:nowrap}.entity-list-item-children>.entity-list>.entity-list-item:last-child{margin-bottom:-6px}.entity-list-item-image{align-self:stretch;width:140px;flex:none;background-size:cover;background-position:50% 50%;border-radius:3px;position:relative;margin-inline-end:24px}.entity-list-item-image.entity-list-item-image-wide{width:220px}.entity-list-item-image .svg-icon{color:#fff;font-size:1.66rem;margin-inline-end:0;position:absolute;bottom:6px;left:6px}html.dark-mode .entity-list-item-image .svg-icon{color:hsla(0,0%,100%,.6)}@media screen and (max-width: 880px){.entity-list-item-image{width:80px}}.chapter>.entity-list-item-image{width:60px}.entity-list.compact{font-size:8.4px}.entity-list.compact h4,.entity-list.compact a{line-height:1.2}.entity-list.compact .entity-item-snippet{display:none}.entity-list.compact .entity-list-item p{font-size:11.2px;padding-top:6px}.entity-list.compact .entity-list-item p:empty{padding-top:0}.entity-list.compact p{margin:0}.entity-list.compact>p.empty-text{display:block;font-size:14px}.entity-list.compact hr{margin:0}@media screen and (max-width: 880px){.entity-list.compact h4{font-size:1.666em}}.entity-item-tags{font-size:.75rem;opacity:1}.entity-item-tags .primary-background-light{background:rgba(0,0,0,0)}.entity-item-tags .tag-name{background-color:rgba(0,0,0,.05)}.dropdown-container{display:inline-block;vertical-align:top;position:relative}.dropdown-menu{display:none;position:absolute;z-index:999;top:0;list-style:none;inset-inline-end:0;margin:16px 0;background-color:#fff;box-shadow:0 1px 6px 0 rgba(0,0,0,.18);border-radius:3px;min-width:180px;padding:6px 0;color:#555;fill:currentColor;text-align:start !important;max-height:500px;overflow-y:auto}html.dark-mode .dropdown-menu{background-color:#333}html.dark-mode .dropdown-menu{color:#eee}.dropdown-menu.anchor-left{inset-inline-end:auto;inset-inline-start:0}.dropdown-menu.wide{min-width:220px}.dropdown-menu.xl-limited{width:280px;max-width:100%}.dropdown-menu .text-muted{color:#999;fill:#999}.dropdown-menu li.active a{font-weight:600}.dropdown-menu button{width:100%;text-align:start}.dropdown-menu li.border-bottom{border-bottom:1px solid #ddd}.dropdown-menu li hr{margin:6px 0}.dropdown-menu .icon-item,.dropdown-menu .text-item,.dropdown-menu .label-item{padding:8px 16px;color:#555;fill:currentColor;white-space:nowrap;line-height:1.4;cursor:pointer}html.dark-mode .dropdown-menu .icon-item,html.dark-mode .dropdown-menu .text-item,html.dark-mode .dropdown-menu .label-item{color:#eee}.dropdown-menu .icon-item.break-text,.dropdown-menu .text-item.break-text,.dropdown-menu .label-item.break-text{white-space:normal;word-wrap:break-word;overflow-wrap:break-word}.dropdown-menu .icon-item:hover,.dropdown-menu .icon-item:focus,.dropdown-menu .text-item:hover,.dropdown-menu .text-item:focus,.dropdown-menu .label-item:hover,.dropdown-menu .label-item:focus{text-decoration:none;background-color:var(--color-primary-light);color:var(--color-primary)}.dropdown-menu .icon-item:focus,.dropdown-menu .text-item:focus,.dropdown-menu .label-item:focus{outline:1px solid var(--color-primary);outline-offset:-2px}.dropdown-menu .icon-item svg,.dropdown-menu .text-item svg,.dropdown-menu .label-item svg{margin-inline-end:12px;display:inline-block;width:16px}.dropdown-menu .text-item{display:block}.dropdown-menu .label-item{display:grid;align-items:center;grid-template-columns:auto min-content;gap:16px}.dropdown-menu .label-item>*:nth-child(2){opacity:.7}.dropdown-menu .label-item>*:nth-child(2):hover{opacity:1}.dropdown-menu .icon-item{display:grid;align-items:start;grid-template-columns:16px auto;gap:16px}.dropdown-menu .icon-item svg{margin-inline-end:0;margin-block-start:1px}.tri-layout-right .dropdown-menu,.tri-layout-left .dropdown-menu{inset-inline-end:6px}.featured-image-container{position:relative;overflow:hidden;min-height:140px;background-size:cover;background-position:50% 50%;transition:opacity ease-in-out 240ms}.featured-image-container a{display:block}.featured-image-container img{display:block;width:100%;max-width:100%;height:auto}.featured-image-container-wrap{position:relative}.featured-image-container-wrap .svg-icon{color:#fff;font-size:2rem;margin-inline-end:0;position:absolute;bottom:10px;left:6px}html.dark-mode .featured-image-container-wrap .svg-icon{color:hsla(0,0%,100%,.6)}.grid-card:hover .featured-image-container{opacity:.5}.action-link{background:rgba(0,0,0,0);border:none;color:currentColor;padding:16px 0}.active-link-list a{display:inline-block;padding:12px}.active-link-list a:not(.active){color:#444}html.dark-mode .active-link-list a:not(.active){color:#888}.active-link-list a:hover{background-color:rgba(0,0,0,.05);border-radius:4px;text-decoration:none}html.dark-mode .active-link-list a:hover{background-color:hsla(0,0%,100%,.05)}.active-link-list.in-sidebar a{display:block;margin-bottom:6px}.active-link-list.in-sidebar a.active{border-radius:4px;background-color:rgba(0,0,0,.05)}html.dark-mode .active-link-list.in-sidebar a.active{background-color:hsla(0,0%,100%,.05)}.entity-meta-item{display:flex;line-height:1.2;margin:.6em 0;align-content:start;gap:12px}.entity-meta-item a{line-height:1.2}.entity-meta-item svg{flex-shrink:0;width:1em;margin:0}.page-editor{display:flex;flex-direction:column;align-items:stretch}.page-editor .edit-area{flex:1;flex-direction:column;z-index:10;border-radius:0 0 8px 8px}.page-editor .mce-tinymce{box-shadow:none}.page-editor .mce-top-part::before{box-shadow:none}.page-editor-page-area{width:100%;border-radius:8px;box-shadow:0 1px 6px -1px rgba(0,0,0,.1);min-width:300px;background-color:#fff}html.dark-mode .page-editor-page-area{background-color:#333}.page-edit-toolbar{width:100%;margin:0 auto;display:grid;grid-template-columns:minmax(max-content, 2fr) 1.5fr minmax(max-content, 2fr);align-items:center}@media screen and (min-width: 1400px){.page-editor-wysiwyg2024 .page-edit-toolbar,.page-editor-wysiwyg2024 .page-editor-page-area,.page-editor-wysiwyg .page-edit-toolbar,.page-editor-wysiwyg .page-editor-page-area{max-width:1140px}.page-editor-wysiwyg .floating-toolbox,.page-editor-wysiwyg2024 .floating-toolbox{position:absolute}}@media screen and (max-width: 880px){.page-edit-toolbar{display:flex;flex-direction:row;justify-content:space-between}}.title-input.page-title{font-size:.8em}.title-input.page-title .input{border:0;margin-bottom:-1px}.title-input.page-title input[type=text]{max-width:840px;margin:0 auto;border:none;height:auto;display:block;width:100%;font-size:20px;border-radius:8px}.title-input.page-title input[type=text]:focus{position:relative;outline-offset:-1px;outline:1px dashed var(--color-primary);box-shadow:0 1px 6px -1px rgba(0,0,0,.1);z-index:50}.page-editor-markdown .title-input.page-title input[type=text]{max-width:100%}body.tox-fullscreen .page-editor .edit-area,body.markdown-fullscreen .page-editor .edit-area{z-index:12}body.tox-fullscreen .page-editor,body.tox-fullscreen .flex-fill,body.markdown-fullscreen .page-editor,body.markdown-fullscreen .flex-fill{overflow:visible}@media screen and (max-width: 600px){.page-edit-toolbar{overflow-x:scroll;overflow-y:visible}.page-edit-toolbar{white-space:nowrap}.page-edit-toolbar>div{display:inline-block}}.page-save-mobile-button{position:fixed;z-index:30;border-radius:50%;width:52px;height:52px;font-size:26px;inset-inline-end:6px;bottom:12px;box-shadow:0 2px 2px 1px rgba(0,0,0,.13);background-color:currentColor;text-align:center}.page-save-mobile-button svg{fill:#fff;margin-inline-end:0}.draft-notification{pointer-events:none;transform:scale(0);transition:transform ease-in-out 120ms;transform-origin:50% 50%}.draft-notification.visible{transform:scale(1)}.page-style.editor{padding:0 !important}.pointer-container{position:fixed;display:none;left:0;z-index:10}.pointer{border:1px solid #ccc;border-color:#ccc;border-radius:4px;box-shadow:0 0 12px 1px rgba(0,0,0,.1);background-color:#fff;width:275px}html.dark-mode .pointer{border-color:#000}html.dark-mode .pointer{background-color:#333}.pointer.is-page-editable{width:328px}.pointer:before{position:absolute;left:50%;bottom:-9px;width:16px;height:16px;margin-inline-start:-8px;content:"";display:block;transform:rotate(45deg);transform-origin:50% 50%;border-right:1px solid #ccc;border-bottom:1px solid #ccc;z-index:56;background-color:#fff;border-color:#ccc}html.dark-mode .pointer:before{background-color:#333}html.dark-mode .pointer:before{border-color:#000}.pointer input,.pointer button,.pointer a{position:relative;border-radius:0;height:28px;font-size:12px;vertical-align:top;padding:5px 16px}.pointer input{background-color:#fff;border:1px solid #ddd;border-color:#ddd;color:#666;width:160px;z-index:40;padding:5px 10px}html.dark-mode .pointer input{border-color:#000}.pointer .text-button{color:#444}html.dark-mode .pointer .text-button{color:#aaa}.pointer .input-group .button{line-height:1;margin:0 0 0 -4px;box-shadow:none}.pointer a.button{margin:0}.pointer .svg-icon{width:1.2em;height:1.2em}.pointer .button{border-color:#ddd}html.dark-mode .pointer .button{border-color:#000}.floating-toolbox{background-color:#fff;overflow:hidden;align-items:stretch;flex-direction:row;display:flex;max-height:100%;border-radius:8px;box-shadow:0 1px 6px -1px rgba(0,0,0,.1);margin-bottom:auto;margin-inline-start:24px;position:relative}html.dark-mode .floating-toolbox{background-color:#222}.floating-toolbox.open{position:relative;right:0;max-width:480px;margin-bottom:0}.floating-toolbox:not(.open) .toolbox-tab-content{display:none !important}.floating-toolbox .toolbox-toggle svg{transition:transform ease-in-out 180ms}.floating-toolbox .toolbox-toggle{transition:background-color ease-in-out 180ms}.floating-toolbox.open .toolbox-toggle{background-color:rgba(255,0,0,.2)}.floating-toolbox.open .toolbox-toggle svg{transform:rotate(180deg)}.floating-toolbox>div{flex:1;position:relative}.floating-toolbox .tabs{border-inline-end:1px solid #ddd;border-inline-end-color:#ddd;width:40px;flex:0 1 auto;margin-inline-end:-1px}html.dark-mode .floating-toolbox .tabs{border-inline-end-color:#000}.floating-toolbox .tabs-inner{background-color:#fff}html.dark-mode .floating-toolbox .tabs-inner{background-color:#222}.floating-toolbox .tabs svg{padding:0;margin:0}.floating-toolbox .tabs-inner>button{color:rgba(0,0,0,.7);display:block;cursor:pointer;padding:10px 6px;font-size:18px;line-height:1.6}html.dark-mode .floating-toolbox .tabs-inner>button{color:hsla(0,0%,100%,.5)}.floating-toolbox .tabs-inner>button:hover,.floating-toolbox.open .tabs-inner>button.active{color:var(--color-link) !important;position:relative}.floating-toolbox .tabs-inner>button:hover:after,.floating-toolbox.open .tabs-inner>button.active:after{content:"";display:block;position:absolute;left:0;width:100%;top:0;height:100%;background-color:currentColor;opacity:.075}.floating-toolbox.open .tabs-inner>button.active{border-inline-end:1px solid var(--color-link);margin-inline-end:-1px}.floating-toolbox h4{font-size:24px;margin:16px 0 0 0;padding:0 24px 12px 24px}.floating-toolbox .tags input{max-width:100%;width:100%;min-width:50px}.floating-toolbox .tags td,.floating-toolbox .inline-start-table>div>div>div{padding-inline-end:12px;padding-top:12px;position:relative}.floating-toolbox .handle{user-select:none;cursor:move;fill:#999}.floating-toolbox form{display:flex;flex:1;flex-direction:column;overflow-y:scroll}.floating-toolbox table td,.floating-toolbox table th{overflow:visible}@media screen and (max-width: 1400px){.floating-toolbox{margin-inline-start:12px}}@media screen and (max-width: 600px){.page-editor-page-area-wrap{margin:4px !important}.floating-toolbox{margin-inline-start:4px}.floating-toolbox .tabs{width:32px}.floating-toolbox .tabs-inner>button{font-size:12px}.page-edit-toolbar{padding-block:0 !important}.page-editor.toolbox-open .page-editor-page-area{display:none}}.toolbox-tab-content{display:none;overflow-y:auto;padding-bottom:45px}.suggestion-box{top:auto;margin:-4px 0 0;right:auto;left:0;padding:0}.suggestion-box li{display:block;border-bottom:1px solid #ddd}.suggestion-box li:last-child{border-bottom:0}.comments-container h5{color:#888;font-weight:normal;margin-top:.5em}.comment-editor .CodeMirror,.comment-editor .CodeMirror-scroll{min-height:175px}.mce-floatpanel[aria-label="Insert/edit media"] .mce-open{display:none}.entity-list-item>span:first-child,.icon-list-item>span:first-child,.split-icon-list-item>a>.icon,.chapter-expansion>.icon{font-size:.8rem;width:1.88em;height:1.88em;flex-shrink:0;display:flex;align-items:center;justify-content:center;text-align:center;border-radius:1em;position:relative;overflow:hidden}.entity-list-item>span:first-child svg,.icon-list-item>span:first-child svg,.split-icon-list-item>a>.icon svg,.chapter-expansion>.icon svg{margin:0;bottom:0}.entity-list-item>span:first-child:after,.icon-list-item>span:first-child:after,.split-icon-list-item>a>.icon:after,.chapter-expansion>.icon:after{content:"";position:absolute;background-color:currentColor;opacity:.2;left:0;top:0;width:100%;height:100%}.entity-chip{display:inline-block;align-items:center;justify-content:center;text-align:center;font-size:.9em;border-radius:3px;position:relative;overflow:hidden;padding:6px 12px;fill:currentColor;opacity:.85;transition:opacity ease-in-out 120ms}.entity-chip:after{content:"";position:absolute;background-color:currentColor;opacity:.15;left:0;top:0;width:100%;height:100%}.entity-chip:hover{text-decoration:none;opacity:1}@media(prefers-contrast: more){.entity-chip{opacity:1}}.page-content{width:100%;max-width:840px;margin:0 auto;overflow-wrap:break-word}.page-content .align-left{text-align:left}.page-content img.align-left,.page-content table.align-left,.page-content iframe.align-left,.page-content video.align-left{float:left !important;margin:6px 16px 16px 0}.page-content .align-right{text-align:right !important}.page-content img.align-right,.page-content table.align-right,.page-content iframe.align-right,.page-content video.align-right{float:right !important;margin:6px 0 6px 12px}.page-content .align-center{text-align:center}.page-content img.align-center,.page-content video.align-center,.page-content iframe.align-center{display:block}.page-content img.align-center,.page-content table.align-center,.page-content iframe.align-center,.page-content video.align-center{margin-left:auto;margin-right:auto}.page-content .align-justify{text-align:justify}.page-content h1,.page-content h2,.page-content h3,.page-content h4,.page-content h5,.page-content h6,.page-content pre{clear:left}.page-content hr{clear:both;margin:16px 0}.page-content table{hyphens:auto;table-layout:fixed;max-width:100%;height:auto !important}.page-content ins,.page-content del{text-decoration:none}.page-content ins{background:#dbffdb}.page-content del{background:#ffecec}.page-content details{border:1px solid;border-color:#ddd;margin-bottom:1em;padding:12px}html.dark-mode .page-content details{border-color:#555}.page-content details>summary{margin-top:-12px;margin-left:-12px;margin-right:-12px;margin-bottom:-12px;font-weight:bold;background-color:#eee;padding:6px 12px}html.dark-mode .page-content details>summary{background-color:#333}.page-content details[open]>summary{margin-bottom:12px;border-bottom:1px solid;border-color:#ddd}html.dark-mode .page-content details[open]>summary{border-color:#555}.page-content details>summary+*{margin-top:.2em}.page-content details:after{content:"";display:block;clear:both}.page-content li>input[type=checkbox]{vertical-align:top;margin-top:.3em}.page-content p:empty{min-height:1.6em}.page-content.page-revision pre code{white-space:pre-wrap}.page-content .cm-editor{margin-bottom:1.375em}.page-content video,.page-content iframe{max-width:100%}.page-content a{text-decoration:underline}body .page-content img,.page-content img:not([data-mce-object]){max-width:100%;height:auto}.callout{border-left:3px solid #bbb;border-inline-start:3px solid #bbb;border-inline-end:none;background-color:#eee;padding:12px;padding-left:32px;padding-inline-start:32px;padding-inline-end:12px;display:block;position:relative;overflow:auto}.callout:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9IiMwMTUzODAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+ICAgIDxwYXRoIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiLz4gICAgPHBhdGggZD0iTTEyIDJDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6bTEgMTVoLTJ2LTZoMnY2em0wLThoLTJWN2gydjJ6Ii8+PC9zdmc+");background-repeat:no-repeat;content:"";width:1.2em;height:1.2em;left:8px;inset-inline-start:8px;inset-inline-end:unset;top:50%;margin-top:-9px;display:inline-block;position:absolute;line-height:1;opacity:.8}.callout.success{border-color:#0f7d15;background-color:#eafdeb;color:#063409}html.dark-mode .callout.success{border-color:#4aa850}html.dark-mode .callout.success{background-color:#122913}html.dark-mode .callout.success{color:#4aa850}.callout.success:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9IiMzNzZjMzkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+ICAgIDxwYXRoIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiLz4gICAgPHBhdGggZD0iTTEyIDJDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6bS0yIDE1bC01LTUgMS40MS0xLjQxTDEwIDE0LjE3bDcuNTktNy41OUwxOSA4bC05IDl6Ii8+PC9zdmc+")}.callout.danger{border-color:#ab0f0e;background-color:#fcdbdb;color:#4d0706}html.dark-mode .callout.danger{border-color:#e85c5b}html.dark-mode .callout.danger{background-color:#250505}html.dark-mode .callout.danger{color:#e85c5b}.callout.danger:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9IiNiOTE4MTgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+ICAgIDxwYXRoIGQ9Ik0xNS43MyAzSDguMjdMMyA4LjI3djcuNDZMOC4yNyAyMWg3LjQ2TDIxIDE1LjczVjguMjdMMTUuNzMgM3pNMTIgMTcuM2MtLjcyIDAtMS4zLS41OC0xLjMtMS4zIDAtLjcyLjU4LTEuMyAxLjMtMS4zLjcyIDAgMS4zLjU4IDEuMyAxLjMgMCAuNzItLjU4IDEuMy0xLjMgMS4zem0xLTQuM2gtMlY3aDJ2NnoiLz4gICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPjwvc3ZnPg==")}.callout.info{border-color:#0288d1;background-color:#d3efff;color:#01466c}html.dark-mode .callout.info{border-color:#0288d1}html.dark-mode .callout.info{background-color:#001825}html.dark-mode .callout.info{color:#0288d1}.callout.warning{border-color:#cf4d03;background-color:#fee3d3;color:#6a2802}html.dark-mode .callout.warning{border-color:#de8a5a}html.dark-mode .callout.warning{background-color:#30170a}html.dark-mode .callout.warning{color:#de8a5a}.callout.warning:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9IiNiNjUzMWMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+ICAgIDxwYXRoIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiLz4gICAgPHBhdGggZD0iTTEgMjFoMjJMMTIgMiAxIDIxem0xMi0zaC0ydi0yaDJ2MnptMC00aC0ydi00aDJ2NHoiLz48L3N2Zz4=")}.callout a{color:inherit;text-decoration:underline}@media print{html,body{font-size:12px;background-color:#fff}.page-content{margin:0 auto}.print-hidden{display:none !important}.tri-layout-container{grid-template-columns:1fr;grid-template-areas:"b";margin-inline-start:0;margin-inline-end:0;display:block}.card{box-shadow:none}.content-wrap.card{padding-inline-start:0;padding-inline-end:0}}.dragged{position:absolute;opacity:.5;z-index:2000}body.dragging,body.dragging *{cursor:move !important}.avatar{border-radius:100%;background-color:#eee;width:30px;height:30px}html.dark-mode .avatar{background-color:#000}.avatar.med{width:40px;height:40px}.avatar.large{width:80px;height:80px}.avatar.huge{width:120px;height:120px}.avatar.square{border-radius:3px}html.dark-mode .avatar[src$="user_avatar.png"]{filter:invert(1)}.loading-container{position:relative;display:block;margin:32px auto}.loading-container>div{width:10px;height:10px;border-radius:10px;display:inline-block;vertical-align:top;transform:translate3d(-10px, 0, 0);margin-top:6px;animation-name:loadingBob;animation-duration:1.4s;animation-iteration-count:infinite;animation-timing-function:cubic-bezier(0.62, 0.28, 0.23, 0.99);margin-inline-end:4px;background-color:var(--color-page);animation-delay:-300ms}.loading-container>div:first-child{left:-16px;background-color:var(--color-book);animation-delay:-600ms}.loading-container>div:last-of-type{left:16px;background-color:var(--color-chapter);animation-delay:0ms}.loading-container>span{margin-inline-start:12px;font-style:italic;color:#888;vertical-align:top}.inline.block .loading-container{margin:6px 12px}.skip-to-content-link{position:fixed;top:-52px;left:0;background-color:#fff;z-index:15;border-radius:0 4px 4px 0;display:block;box-shadow:0 0 4px 1px rgba(0,0,0,.5);font-weight:bold}.skip-to-content-link:focus{top:32px;outline-offset:-10px;outline:2px dotted var(--color-link)}.entity-selector{border:1px solid #ddd;border-color:#ddd;border-radius:3px;overflow:hidden;font-size:.8em}html.dark-mode .entity-selector{border-color:#111}.entity-selector input[type=text]{width:100%;display:block;border-radius:0;border:0;border-bottom:1px solid #ddd;font-size:16px;padding:12px 16px}.entity-selector input[type=text]:focus{outline:1px solid var(--color-primary);border-radius:3px 3px 0 0;outline-offset:-1px}.entity-selector .entity-list{overflow-y:scroll;height:400px;background-color:#eee;margin-inline-end:0;margin-inline-start:0}html.dark-mode .entity-selector .entity-list{background-color:#222}.entity-selector .entity-list-item{background-color:#fff}html.dark-mode .entity-selector .entity-list-item{background-color:#222}.entity-selector .entity-list-item p{margin-bottom:0}.entity-selector .entity-list-item:focus{outline:2px dotted var(--color-primary);outline-offset:-4px}.entity-selector .entity-list-item.selected{background-color:rgba(0,0,0,.05)}html.dark-mode .entity-selector .entity-list-item.selected{background-color:hsla(0,0%,100%,.05)}.entity-selector .loading{height:400px;padding-top:24px}.entity-selector.compact{font-size:10px}.entity-selector.compact .entity-item-snippet{display:none}.entity-selector.compact h4{font-size:14px}.entity-selector.small .entity-list-item{padding:6px 16px}.entity-selector.small .entity-list,.entity-selector.small .loading{height:300px}.entity-selector.small input[type=text]{font-size:13px;padding:6px 16px;height:auto}.fullscreen{border:0;position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:100%;z-index:150}@media screen and (min-width: 600px)and (max-width: 880px){#home-default>.grid.third{display:block;columns:2;column-gap:24px !important}}.list-sort-container{display:inline-block}.list-sort-container form{display:inline-block}.list-sort-container .list-sort{display:inline-grid;margin-inline-start:12px;grid-template-columns:minmax(120px, max-content) 40px;font-size:.9rem;border:2px solid #ddd;border-color:#ddd;border-radius:4px}html.dark-mode .list-sort-container .list-sort{border-color:#444}.list-sort-container .list-sort-label{font-weight:bold;display:inline-block;color:#555}html.dark-mode .list-sort-container .list-sort-label{color:#888}.list-sort-container .list-sort-type{text-align:start}.list-sort-container .list-sort-type,.list-sort-container .list-sort-dir{padding:6px 12px;cursor:pointer}.list-sort-container .list-sort-dir{border-inline-start:2px solid #ddd;color:#888;border-color:#ddd}html.dark-mode .list-sort-container .list-sort-dir{border-color:#444}.list-sort-container .list-sort-dir .svg-icon{transition:transform ease-in-out 120ms}.list-sort-container .list-sort-dir:hover .svg-icon{transform:rotate(180deg)}.import-item{border-inline-start:2px solid currentColor;padding-inline-start:6px}/*# sourceMappingURL=styles.css.map */ +html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after{content:"";content:none}q:before,q:after{content:"";content:none}table{border-collapse:collapse;border-spacing:0}:root{--font-body: -apple-system, BlinkMacSystemFont, Segoe UI, Oxygen, Ubuntu, Roboto, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;--font-code: Lucida Console, DejaVu Sans Mono, Ubuntu Mono, Monaco, monospace;--color-primary: #206ea7;--color-primary-light: rgba(32,110,167,0.15);--color-link: #206ea7;--color-page: #206ea7;--color-page-draft: #7e50b1;--color-chapter: #af4d0d;--color-book: #077b70;--color-bookshelf: #a94747;--color-positive: #0f7d15;--color-negative: #ab0f0e;--color-info: #0288D1;--color-warning: #cf4d03;--bg-disabled: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='100%25' width='100%25'%3E%3Cdefs%3E%3Cpattern id='doodad' width='19' height='19' viewBox='0 0 40 40' patternUnits='userSpaceOnUse' patternTransform='rotate(143)'%3E%3Crect width='100%25' height='100%25' fill='rgba(42, 67, 101,0)'/%3E%3Cpath d='M-10 30h60v20h-60zM-10-10h60v20h-60' fill='rgba(26, 32, 44,0)'/%3E%3Cpath d='M-10 10h60v20h-60zM-10-30h60v20h-60z' fill='rgba(0, 0, 0,0.05)'/%3E%3C/pattern%3E%3C/defs%3E%3Crect fill='url(%23doodad)' height='200%25' width='200%25'/%3E%3C/svg%3E")}:root.dark-mode{--bg-disabled: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='100%25' width='100%25'%3E%3Cdefs%3E%3Cpattern id='doodad' width='19' height='19' viewBox='0 0 40 40' patternUnits='userSpaceOnUse' patternTransform='rotate(143)'%3E%3Crect width='100%25' height='100%25' fill='rgba(42, 67, 101,0)'/%3E%3Cpath d='M-10 30h60v20h-60zM-10-10h60v20h-60' fill='rgba(26, 32, 44,0)'/%3E%3Cpath d='M-10 10h60v20h-60zM-10-30h60v20h-60z' fill='rgba(255, 255, 255,0.05)'/%3E%3C/pattern%3E%3C/defs%3E%3Crect fill='url(%23doodad)' height='200%25' width='200%25'/%3E%3C/svg%3E");color-scheme:only dark;--color-positive: #4aa850;--color-negative: #e85c5b;--color-warning: #de8a5a}:root:not(.dark-mode){color-scheme:only light}.m-none{margin:0 !important}.mx-none{margin-inline-start:0 !important;margin-inline-end:0 !important}.my-none{margin-top:0 !important;margin-bottom:0 !important}.mt-none{margin-top:0 !important}.mr-none{margin-inline-end:0 !important}.mb-none{margin-bottom:0 !important}.ml-none{margin-inline-start:0 !important}.m-xxs{margin:3px !important}.mx-xxs{margin-inline-start:3px !important;margin-inline-end:3px !important}.my-xxs{margin-top:3px !important;margin-bottom:3px !important}.mt-xxs{margin-top:3px !important}.mr-xxs{margin-inline-end:3px !important}.mb-xxs{margin-bottom:3px !important}.ml-xxs{margin-inline-start:3px !important}.m-xs{margin:6px !important}.mx-xs{margin-inline-start:6px !important;margin-inline-end:6px !important}.my-xs{margin-top:6px !important;margin-bottom:6px !important}.mt-xs{margin-top:6px !important}.mr-xs{margin-inline-end:6px !important}.mb-xs{margin-bottom:6px !important}.ml-xs{margin-inline-start:6px !important}.m-s{margin:12px !important}.mx-s{margin-inline-start:12px !important;margin-inline-end:12px !important}.my-s{margin-top:12px !important;margin-bottom:12px !important}.mt-s{margin-top:12px !important}.mr-s{margin-inline-end:12px !important}.mb-s{margin-bottom:12px !important}.ml-s{margin-inline-start:12px !important}.m-m{margin:16px !important}.mx-m{margin-inline-start:16px !important;margin-inline-end:16px !important}.my-m{margin-top:16px !important;margin-bottom:16px !important}.mt-m{margin-top:16px !important}.mr-m{margin-inline-end:16px !important}.mb-m{margin-bottom:16px !important}.ml-m{margin-inline-start:16px !important}.m-l{margin:24px !important}.mx-l{margin-inline-start:24px !important;margin-inline-end:24px !important}.my-l{margin-top:24px !important;margin-bottom:24px !important}.mt-l{margin-top:24px !important}.mr-l{margin-inline-end:24px !important}.mb-l{margin-bottom:24px !important}.ml-l{margin-inline-start:24px !important}.m-xl{margin:32px !important}.mx-xl{margin-inline-start:32px !important;margin-inline-end:32px !important}.my-xl{margin-top:32px !important;margin-bottom:32px !important}.mt-xl{margin-top:32px !important}.mr-xl{margin-inline-end:32px !important}.mb-xl{margin-bottom:32px !important}.ml-xl{margin-inline-start:32px !important}.m-xxl{margin:48px !important}.mx-xxl{margin-inline-start:48px !important;margin-inline-end:48px !important}.my-xxl{margin-top:48px !important;margin-bottom:48px !important}.mt-xxl{margin-top:48px !important}.mr-xxl{margin-inline-end:48px !important}.mb-xxl{margin-bottom:48px !important}.ml-xxl{margin-inline-start:48px !important}.m-auto{margin:auto !important}.mx-auto{margin-inline-start:auto !important;margin-inline-end:auto !important}.my-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-auto{margin-top:auto !important}.mr-auto{margin-inline-end:auto !important}.mb-auto{margin-bottom:auto !important}.ml-auto{margin-inline-start:auto !important}.p-none{padding:0 !important}.px-none{padding-inline-start:0 !important;padding-inline-end:0 !important}.py-none{padding-top:0 !important;padding-bottom:0 !important}.pt-none{padding-top:0 !important}.pr-none{padding-inline-end:0 !important}.pb-none{padding-bottom:0 !important}.pl-none{padding-inline-start:0 !important}.p-xxs{padding:3px !important}.px-xxs{padding-inline-start:3px !important;padding-inline-end:3px !important}.py-xxs{padding-top:3px !important;padding-bottom:3px !important}.pt-xxs{padding-top:3px !important}.pr-xxs{padding-inline-end:3px !important}.pb-xxs{padding-bottom:3px !important}.pl-xxs{padding-inline-start:3px !important}.p-xs{padding:6px !important}.px-xs{padding-inline-start:6px !important;padding-inline-end:6px !important}.py-xs{padding-top:6px !important;padding-bottom:6px !important}.pt-xs{padding-top:6px !important}.pr-xs{padding-inline-end:6px !important}.pb-xs{padding-bottom:6px !important}.pl-xs{padding-inline-start:6px !important}.p-s{padding:12px !important}.px-s{padding-inline-start:12px !important;padding-inline-end:12px !important}.py-s{padding-top:12px !important;padding-bottom:12px !important}.pt-s{padding-top:12px !important}.pr-s{padding-inline-end:12px !important}.pb-s{padding-bottom:12px !important}.pl-s{padding-inline-start:12px !important}.p-m{padding:16px !important}.px-m{padding-inline-start:16px !important;padding-inline-end:16px !important}.py-m{padding-top:16px !important;padding-bottom:16px !important}.pt-m{padding-top:16px !important}.pr-m{padding-inline-end:16px !important}.pb-m{padding-bottom:16px !important}.pl-m{padding-inline-start:16px !important}.p-l{padding:24px !important}.px-l{padding-inline-start:24px !important;padding-inline-end:24px !important}.py-l{padding-top:24px !important;padding-bottom:24px !important}.pt-l{padding-top:24px !important}.pr-l{padding-inline-end:24px !important}.pb-l{padding-bottom:24px !important}.pl-l{padding-inline-start:24px !important}.p-xl{padding:32px !important}.px-xl{padding-inline-start:32px !important;padding-inline-end:32px !important}.py-xl{padding-top:32px !important;padding-bottom:32px !important}.pt-xl{padding-top:32px !important}.pr-xl{padding-inline-end:32px !important}.pb-xl{padding-bottom:32px !important}.pl-xl{padding-inline-start:32px !important}.p-xxl{padding:48px !important}.px-xxl{padding-inline-start:48px !important;padding-inline-end:48px !important}.py-xxl{padding-top:48px !important;padding-bottom:48px !important}.pt-xxl{padding-top:48px !important}.pr-xxl{padding-inline-end:48px !important}.pb-xxl{padding-bottom:48px !important}.pl-xxl{padding-inline-start:48px !important}.p-auto{padding:auto !important}.px-auto{padding-inline-start:auto !important;padding-inline-end:auto !important}.py-auto{padding-top:auto !important;padding-bottom:auto !important}.pt-auto{padding-top:auto !important}.pr-auto{padding-inline-end:auto !important}.pb-auto{padding-bottom:auto !important}.pl-auto{padding-inline-start:auto !important}.gap-none{gap:0 !important}.gap-x-none{column-gap:0 !important}.gap-y-none{row-gap:0 !important}.gap-xxs{gap:3px !important}.gap-x-xxs{column-gap:3px !important}.gap-y-xxs{row-gap:3px !important}.gap-xs{gap:6px !important}.gap-x-xs{column-gap:6px !important}.gap-y-xs{row-gap:6px !important}.gap-s{gap:12px !important}.gap-x-s{column-gap:12px !important}.gap-y-s{row-gap:12px !important}.gap-m{gap:16px !important}.gap-x-m{column-gap:16px !important}.gap-y-m{row-gap:16px !important}.gap-l{gap:24px !important}.gap-x-l{column-gap:24px !important}.gap-y-l{row-gap:24px !important}.gap-xl{gap:32px !important}.gap-x-xl{column-gap:32px !important}.gap-y-xl{row-gap:32px !important}.gap-xxl{gap:48px !important}.gap-x-xxl{column-gap:48px !important}.gap-y-xxl{row-gap:48px !important}.gap-auto{gap:auto !important}.gap-x-auto{column-gap:auto !important}.gap-y-auto{row-gap:auto !important}.opacity-10{opacity:.1}.opacity-20{opacity:.2}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-90{opacity:.9}*{box-sizing:border-box;outline-color:var(--color-primary);outline-width:1px}*:focus{outline-style:dotted}html{height:100%;overflow-y:scroll;background-color:#f2f2f2}html.flexbox{overflow-y:hidden}html.dark-mode{background-color:#111}body{font-size:14px;line-height:1.6;color:#444;-webkit-font-smoothing:antialiased;height:100%;display:flex;flex-direction:column}html.dark-mode body{color:#aaa}body,button,input,select,label,textarea{font-family:var(--font-body)}pre,#markdown-editor-input,.text-mono,.code-base,span.code,code{font-family:var(--font-code)}h1{font-size:3.425em;line-height:1.22222222em;margin-top:.48888889em;margin-bottom:.48888889em}h2{font-size:2.8275em;line-height:1.294117647em;margin-top:.8627451em;margin-bottom:.43137255em}h3{font-size:2.333em;line-height:1.221428572em;margin-top:.78571429em;margin-bottom:.43137255em}h4{font-size:1.666em;line-height:1.375em;margin-top:.78571429em;margin-bottom:.43137255em}h1,h2,h3,h4,h5,h6{font-weight:400;position:relative;display:block;font-family:var(--font-heading, var(--font-body));color:#222}html.dark-mode h1,html.dark-mode h2,html.dark-mode h3,html.dark-mode h4,html.dark-mode h5,html.dark-mode h6{color:#bbb}h5{font-size:1.4em}h5,h6{line-height:1.2em;margin-top:.78571429em;margin-bottom:.66em}@media screen and (max-width: 600px){h1{font-size:2.8275em}h2{font-size:2.333em}h3{font-size:1.666em}h4{font-size:1.333em}h5{font-size:1.161616em}}.list-heading{font-size:2rem}h2.list-heading{font-size:1.333rem}a{color:var(--color-link);fill:currentColor;cursor:pointer;text-decoration:none;transition:filter ease-in-out 80ms;line-height:1.6}a:hover{text-decoration:underline}a.icon{display:inline-block}a svg{position:relative;display:inline-block}a:focus img:only-child{outline:2px dashed var(--color-link);outline-offset:2px}a.no-link-style{color:inherit}a.no-link-style:hover{text-decoration:none}.blended-links a{color:inherit}.blended-links a svg{fill:currentColor}p,ul,ol,pre,table,blockquote{margin-top:.3em;margin-bottom:1.375em}hr{border:0;height:1px;background:#eaeaea;margin-bottom:24px}html.dark-mode hr{background:#555}hr.faded{background-image:linear-gradient(to right, #FFF, #e3e0e0 20%, #e3e0e0 80%, #FFF)}hr.darker{background:#ddd}html.dark-mode hr.darker{background:#666}hr.margin-top,hr.even{margin-top:24px}strong,b,.bold,.strong{font-weight:bold}strong>strong,strong>b,strong>.bold,strong>.strong,b>strong,b>b,b>.bold,b>.strong,.bold>strong,.bold>b,.bold>.bold,.bold>.strong,.strong>strong,.strong>b,.strong>.bold,.strong>.strong{font-weight:bolder}em,i,.italic{font-style:italic}small,p.small,span.small,.text-small{font-size:.75rem}sup,.superscript{vertical-align:super;font-size:.8em}sub,.subscript{vertical-align:sub;font-size:.8em}pre{font-size:12px;border:1px solid #ddd;background-color:#fff;border-color:#ddd;border-radius:4px;padding-inline-start:26px;position:relative;padding-top:3px;padding-bottom:3px}html.dark-mode pre{background-color:#2b2b2b}html.dark-mode pre{border-color:#111}pre:before{content:"";display:block;position:absolute;top:0;width:22.4px;inset-inline-start:0;height:100%;background-color:#f5f5f5;border-inline-end:1px solid #ddd}html.dark-mode pre:before{background-color:#313335}html.dark-mode pre:before{border-inline-end:none}@media print{pre{padding-left:12px}pre:before{display:none}}blockquote{display:block;position:relative;border-left:4px solid rgba(0,0,0,0);border-left-color:var(--color-primary);background-color:#f8f8f8;padding:12px 16px 12px 32px;overflow:auto}html.dark-mode blockquote{background-color:#333}blockquote:before{content:"“";font-size:2em;font-weight:bold;position:absolute;top:12px;left:12px;color:#777}.text-mono{font-family:var(--font-code)}.text-uppercase{text-transform:uppercase}.text-capitals{text-transform:capitalize}.code-base,span.code,code{font-size:.84em;border:1px solid #ddd;border-radius:3px;background-color:#f8f8f8;border-color:#ddd}html.dark-mode .code-base,html.dark-mode span.code,html.dark-mode code{background-color:#2b2b2b}html.dark-mode .code-base,html.dark-mode span.code,html.dark-mode code{border-color:#444}code{display:inline;padding:1px 3px;white-space:pre-wrap;line-height:1.2em}span.code{padding:1px 6px}pre code{background-color:rgba(0,0,0,0);border:0;font-size:1em;display:block;line-height:1.6}span.highlight{font-weight:bold;padding:2px 4px}ul,ol{padding-left:32px;padding-right:32px;display:flow-root}ul p,ol p{margin:0}ul{list-style:disc}ul ul{list-style:circle}ul label{margin:0}ol{list-style:decimal}li>ol,li>ul{margin-top:0;margin-bottom:0;margin-block-end:0;margin-block-start:0;padding-block-end:0;padding-block-start:0;padding-left:19.2px;padding-right:19.2px}li.checkbox-item,li.task-list-item{display:list-item;list-style:none;margin-left:-19.2px;margin-inline-start:-19.2px;margin-inline-end:0}li.checkbox-item input[type=checkbox],li.task-list-item input[type=checkbox]{margin-right:6px;margin-inline-end:6px;margin-inline-start:0}li.checkbox-item li.checkbox-item,li.checkbox-item li.task-list-item,li.task-list-item li.checkbox-item,li.task-list-item li.task-list-item{margin-left:6px;margin-inline-start:6px;margin-inline-end:0}.underlined{text-decoration:underline}.text-center{text-align:center}.text-left{text-align:start}.text-right{text-align:end}@media screen and (min-width: 361px){.text-xxs-center{text-align:center}.text-xxs-left{text-align:start}.text-xxs-right{text-align:end}}@media screen and (min-width: 401px){.text-xs-center{text-align:center}.text-xs-left{text-align:start}.text-xs-right{text-align:end}}@media screen and (min-width: 601px){.text-s-center{text-align:center}.text-s-left{text-align:start}.text-s-right{text-align:end}}@media screen and (min-width: 881px){.text-m-center{text-align:center}.text-m-left{text-align:start}.text-m-right{text-align:end}}@media screen and (min-width: 1001px){.text-l-center{text-align:center}.text-l-left{text-align:start}.text-l-right{text-align:end}}@media screen and (min-width: 1101px){.text-xl-center{text-align:center}.text-xl-left{text-align:start}.text-xl-right{text-align:end}}.text-bigger{font-size:1.1em}.text-large{font-size:1.6666em}.no-color{color:inherit}.break-text{white-space:normal;word-wrap:break-word;overflow-wrap:break-word}.text-limit-lines-1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.text-limit-lines-2{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.header-group{margin:16px 0}.header-group h1,.header-group h2,.header-group h3,.header-group h4,.header-group h5,.header-group h6{margin:0}span.sep{color:#bbb;padding:0 6px}.list>*{display:block}.svg-icon{width:1em;height:1em;display:inline-block;position:relative;bottom:-0.105em;margin-inline-end:6px;pointer-events:none;fill:currentColor}.primary-background{background-color:var(--color-primary) !important}.primary-background-light{background-color:var(--color-primary-light)}html.dark-mode .primary-background-light{background:#000}html.dark-mode .primary-background-light .text-link{color:#aaa !important}.link-background{background-color:var(--color-link) !important}.text-pos,.text-pos:hover,.text-pos-hover:hover{color:var(--color-positive) !important;fill:var(--color-positive) !important}.text-warn,.text-warn:hover,.text-warn-hover:hover{color:var(--color-warning) !important;fill:var(--color-warning) !important}.text-neg,.text-neg:hover,.text-neg-hover:hover{color:var(--color-negative) !important;fill:var(--color-negative) !important}.text-primary,.text-primary:hover,.text-primary-hover:hover{color:var(--color-primary) !important;fill:var(--color-primary) !important}.text-link,.text-link:hover,.text-link-hover:hover{color:var(--color-link) !important;fill:var(--color-link) !important}.text-muted{color:#575757 !important;fill:currentColor !important}html.dark-mode .text-muted{color:#888 !important}.text-dark{color:#222 !important;fill:currentColor !important}html.dark-mode .text-dark{color:#ccc !important}.text-white{color:#fff;fill:currentColor !important}.text-bookshelf,.text-bookshelf:hover{color:var(--color-bookshelf);fill:var(--color-bookshelf)}.text-book,.text-book:hover{color:var(--color-book);fill:var(--color-book)}.text-page,.text-page:hover{color:var(--color-page);fill:var(--color-page)}.text-page.draft,.text-page.draft:hover{color:var(--color-page-draft);fill:var(--color-page-draft)}.text-chapter,.text-chapter:hover{color:var(--color-chapter);fill:var(--color-chapter)}.bg-white{background-color:#fff}.bg-book{background-color:var(--color-book)}.bg-chapter{background-color:var(--color-chapter)}.bg-bookshelf{background-color:var(--color-bookshelf)}.container{max-width:1400px;margin-inline-start:auto;margin-inline-end:auto;padding-inline-start:16px;padding-inline-end:16px}.container.medium{max-width:1100px}.container.small{max-width:840px}.container.very-small{max-width:480px}.grid{display:grid;grid-column-gap:24px;grid-row-gap:24px}.grid>*{min-width:0}.grid.half{grid-template-columns:1fr 1fr}.grid.third{grid-template-columns:1fr 1fr 1fr}.grid.left-focus{grid-template-columns:2fr 1fr}.grid.right-focus{grid-template-columns:1fr 3fr}.grid.gap-y-xs{grid-row-gap:6px}.grid.gap-xl{grid-column-gap:32px;grid-row-gap:32px}.grid.gap-xxl{grid-column-gap:48px;grid-row-gap:48px}.grid.v-center{align-items:center}.grid.v-end{align-items:end}.grid.no-gap{grid-row-gap:0;grid-column-gap:0}.grid.no-row-gap{grid-row-gap:0}@media screen and (max-width: 880px){.grid.third:not(.no-break){grid-template-columns:1fr 1fr}.grid.half:not(.no-break),.grid.left-focus:not(.no-break),.grid.right-focus:not(.no-break){grid-template-columns:1fr}.grid.half.collapse-xs{grid-template-columns:1fr 1fr}.grid.gap-xl{grid-column-gap:16px;grid-row-gap:16px}.grid.right-focus.reverse-collapse>*:nth-child(2){order:0}.grid.right-focus.reverse-collapse>*:nth-child(1){order:1}}@media screen and (max-width: 600px){.grid.third:not(.no-break){grid-template-columns:1fr}}@media screen and (max-width: 400px){.grid.half.collapse-xs{grid-template-columns:1fr}}#content{flex:1 0 auto}body.flexbox{display:flex;flex-direction:column;align-items:stretch;height:100%;min-height:100%;max-height:100%;overflow:hidden}body.flexbox #content{flex:1;display:flex;min-height:0}.flex-fill{display:flex;align-items:stretch;min-height:0;max-width:100%;position:relative}.flex-container-row{display:flex;flex-direction:row}.flex-container-row.v-center{align-items:center}.flex-container-column{display:flex;flex-direction:column}.flex-container-row.inline,.flex-container-column.inline{display:inline-flex !important}.flex-container-column.wrap,.flex-container-row.wrap{flex-wrap:wrap}.flex{min-height:0;flex:1;max-width:100%}.flex.fit-content{flex-basis:auto;flex-grow:0}.flex.fill-area{flex-grow:1;flex-shrink:0;min-width:fit-content}.flex-2{min-height:0;flex:2;max-width:100%}.flex-3{min-height:0;flex:3;max-width:100%}.flex-none{flex:none}.justify-flex-start{justify-content:flex-start}.justify-flex-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-space-between{justify-content:space-between}.items-center{align-items:center}.items-stretch{align-items:stretch}.min-width-xxxxs{min-width:60px}.min-width-xxxs{min-width:80px}.min-width-xxs{min-width:100px}.min-width-xs{min-width:120px}.min-width-s{min-width:160px}.min-width-m{min-width:200px}.min-width-l{min-width:240px}.min-width-xl{min-width:280px}.min-width-xxl{min-width:320px}.block{display:block !important;position:relative}.inline{display:inline !important}.block.inline{display:inline-block !important}.relative{position:relative}.fixed{position:fixed;z-index:20}.fixed.top-right{top:0;right:0}.hidden{display:none !important}.overflow-hidden{overflow:hidden}.height-fill{height:100%}.height-auto{height:auto !important}.float{float:left}.float.right{float:right}.sticky-top-m{position:sticky;top:16px}@media screen and (max-width: 360px){.hide-under-xxs{display:none !important}}@media screen and (min-width: 361px){.hide-over-xxs{display:none !important}}@media screen and (max-width: 400px){.hide-under-xs{display:none !important}}@media screen and (min-width: 401px){.hide-over-xs{display:none !important}}@media screen and (max-width: 600px){.hide-under-s{display:none !important}}@media screen and (min-width: 601px){.hide-over-s{display:none !important}}@media screen and (max-width: 880px){.hide-under-m{display:none !important}}@media screen and (min-width: 881px){.hide-over-m{display:none !important}}@media screen and (max-width: 1000px){.hide-under-l{display:none !important}}@media screen and (min-width: 1001px){.hide-over-l{display:none !important}}@media screen and (max-width: 1100px){.hide-under-xl{display:none !important}}@media screen and (min-width: 1101px){.hide-over-xl{display:none !important}}[hidden]{display:none !important}.screen-reader-only{position:absolute;inset-inline-start:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.rounded{border-radius:4px}.dual-column-content{columns:2}@media screen and (max-width: 880px){.dual-column-content{columns:1}}.clearfix::before,.clearfix::after{content:" ";display:table}.clearfix::after{clear:both}.tri-layout-container{display:grid;margin-inline-start:32px;margin-inline-end:32px;grid-template-columns:1fr 4fr 1fr;grid-template-areas:"a b c";grid-column-gap:32px;position:relative}.tri-layout-sides{grid-column-start:a;grid-column-end:c;grid-row:1;min-width:0;z-index:4}.tri-layout-sides-content{display:grid;grid-template-areas:"a b c";grid-template-columns:1fr 4fr 1fr;height:100%}.tri-layout-middle{grid-area:b;padding-top:16px;min-width:0;z-index:5}.tri-layout-right{grid-area:c;min-width:0}.tri-layout-left{grid-area:a;min-width:0}@media screen and (min-width: 1401px){.tri-layout-left-contents,.tri-layout-right-contents{padding:32px 16px;position:sticky;top:0;max-height:100vh;min-height:50vh;overflow-y:scroll;overflow-x:hidden;height:100%;scrollbar-width:none;-ms-overflow-style:none}.tri-layout-left-contents::-webkit-scrollbar,.tri-layout-right-contents::-webkit-scrollbar{display:none}.tri-layout-middle-contents{max-width:940px;margin:0 auto}}@media screen and (min-width: 1401px)and (max-width: 1700px){.tri-layout-sides-content,.tri-layout-container{grid-template-columns:1fr 972px 1fr}.tri-layout-container{grid-column-gap:12px;margin-inline-start:16px;margin-inline-end:16px}}@media screen and (max-width: 1400px){.tri-layout-container{grid-template-areas:"a b b";grid-template-columns:1fr 3fr;grid-template-rows:min-content min-content 1fr;padding-inline-end:24px}.tri-layout-sides{grid-column-start:a;grid-column-end:a}.tri-layout-sides-content{display:block}}@media screen and (min-width: 1001px)and (max-width: 1400px){.tri-layout-sides-content{position:sticky;top:0;max-height:100vh;min-height:50vh;overflow-y:scroll;overflow-x:hidden;height:100%;scrollbar-width:none;-ms-overflow-style:none}.tri-layout-sides-content::-webkit-scrollbar{display:none}}@media screen and (min-width: 1001px){.tri-layout-mobile-tabs{display:none}.tri-layout-left-contents>*,.tri-layout-right-contents>*{opacity:.6;transition:opacity ease-in-out 120ms}html.dark-mode .tri-layout-left-contents>*,html.dark-mode .tri-layout-right-contents>*{opacity:.75}.tri-layout-left-contents>*:hover,.tri-layout-left-contents>*:focus-within,.tri-layout-right-contents>*:hover,.tri-layout-right-contents>*:focus-within{opacity:1 !important}}@media screen and (min-width: 1001px)and (prefers-contrast: more){.tri-layout-left-contents>*,.tri-layout-right-contents>*{opacity:1 !important}}@media screen and (max-width: 1000px){.tri-layout-container{grid-template-areas:none;grid-template-columns:1fr;grid-column-gap:0;padding-inline-end:6px;padding-inline-start:6px}.tri-layout-container .tri-layout-sides{padding-inline-start:16px;padding-inline-end:16px;grid-column:1/1}.tri-layout-container .tri-layout-left>*,.tri-layout-container .tri-layout-right>*{display:none;pointer-events:none}.tri-layout-container .tri-layout-left,.tri-layout-container .tri-layout-right{padding-top:0 !important}.tri-layout-container .tri-layout-middle{grid-area:none;grid-row:3;grid-column:1/1;z-index:1;overflow:hidden;transition:transform ease-in-out 240ms}.tri-layout-container .tri-layout-left{grid-row:2}.tri-layout-container.show-info{overflow:hidden}.tri-layout-container.show-info .tri-layout-middle{display:none}.tri-layout-container.show-info .tri-layout-right>*,.tri-layout-container.show-info .tri-layout-left>*{display:block;pointer-events:auto}}@media screen and (max-width: 880px){.tri-layout-container{margin-inline-start:0;margin-inline-end:0}}.card{background-color:#fff;box-shadow:0 1px 6px -1px rgba(0,0,0,.1);border-radius:3px;break-inside:avoid}html.dark-mode .card{background-color:#222}.card .body,.card p.empty-text{padding-block:16px}.card a,.card p{word-wrap:break-word;word-break:break-word}.card-title{padding:16px 16px 6px;margin:0;font-size:14px;color:#222;fill:#222;font-weight:400}.card-title a{line-height:1}.card-footer-link,button.card-footer-link{display:block;padding:12px 16px;line-height:1;border-top:1px solid;width:100%;text-align:left;border-color:#ddd;border-radius:0 0 3px 3px;font-size:.9em;margin-top:6px}html.dark-mode .card-footer-link,html.dark-mode button.card-footer-link{border-color:#555}.card-footer-link:hover,button.card-footer-link:hover{text-decoration:none;background-color:#f2f2f2}html.dark-mode .card-footer-link:hover,html.dark-mode button.card-footer-link:hover{background-color:#2d2d2d}.card-footer-link:focus,button.card-footer-link:focus{background-color:#eee;outline:1px dotted #666;outline-offset:-2px}html.dark-mode .card-footer-link:focus,html.dark-mode button.card-footer-link:focus{background-color:#222}.card.border-card{border:1px solid;border-color:#ddd}html.dark-mode .card.border-card{border-color:#000}.card.drag-card{border:1px solid #ddd;border-color:#ddd;background-color:#fff;border-radius:4px;display:flex;padding:0 0 0 40px;margin:12px 0;position:relative}html.dark-mode .card.drag-card{border-color:#000}html.dark-mode .card.drag-card{background-color:#333}.card.drag-card .drag-card-action{cursor:pointer}.card.drag-card .handle,.card.drag-card .drag-card-action{display:flex;align-items:center;text-align:center;justify-content:center;width:28px;flex-grow:0;padding:0 6px}.card.drag-card .handle:hover,.card.drag-card .drag-card-action:hover{background-color:#eee}html.dark-mode .card.drag-card .handle:hover,html.dark-mode .card.drag-card .drag-card-action:hover{background-color:#2d2d2d}.card.drag-card .handle .svg-icon,.card.drag-card .drag-card-action .svg-icon{margin-inline-end:0px}.card.drag-card .outline input{margin:12px 0;width:100%}.card.drag-card .outline{position:relative}.card.drag-card .handle{background-color:#eee;left:0;position:absolute;top:0;bottom:0}html.dark-mode .card.drag-card .handle{background-color:#2d2d2d}.card.drag-card>div{padding:0 12px;max-width:80%;flex:1}.grid-card{display:flex;flex-direction:column;border:1px solid #ddd;border-color:#ddd;margin-bottom:24px;border-radius:4px;overflow:hidden;min-width:100px;color:#444;transition:border-color ease-in-out 120ms,box-shadow ease-in-out 120ms}html.dark-mode .grid-card{border-color:#000}.grid-card:hover{color:#444;text-decoration:none;box-shadow:0 1px 6px -1px rgba(0,0,0,.1)}html.dark-mode .grid-card:hover{box-shadow:0 1px 6px -1px rgba(0,0,0,.5)}.grid-card h2{width:100%;font-size:1.5em;margin:0 0 10px}.grid-card p{font-size:.7rem;margin:0;line-height:1.6em}.grid-card .grid-card-content{flex:1;border-top:0;border-bottom-width:2px}.grid-card .grid-card-content,.grid-card .grid-card-footer{padding:24px}.grid-card .grid-card-content+.grid-card-footer{padding-top:0}.book-grid-item .grid-card-footer p.small{font-size:.8em;margin:0}.content-wrap.card{padding:16px 48px;margin-inline-start:auto;margin-inline-end:auto;margin-bottom:24px;overflow:initial;min-height:60vh;border-radius:8px}.content-wrap.card.auto-height{min-height:0}.content-wrap.card.fill-width{width:100%}@media screen and (max-width: 1400px){.content-wrap.card{padding:16px 32px}}@media screen and (max-width: 880px){.content-wrap.card{padding:16px 24px}}@media screen and (max-width: 600px){.content-wrap.card{padding:16px 16px}}.sub-card{box-shadow:0 1px 3px 0 rgba(0,0,0,.1);border:1.5px solid;border-color:#e2e2e2;border-radius:4px}html.dark-mode .sub-card{border-color:#444}.outline-hover{border:1px solid rgba(0,0,0,0) !important}.outline-hover:hover{border:1px solid rgba(0,0,0,.1) !important}.fade-in-when-active{opacity:.6;transition:opacity ease-in-out 120ms}html.dark-mode .fade-in-when-active{opacity:.7}.fade-in-when-active:hover,.fade-in-when-active:focus-within{opacity:1 !important}@media(prefers-contrast: more){.fade-in-when-active{opacity:1 !important}}.tag-item{display:inline-flex;margin-bottom:6px;margin-inline-end:6px;border-radius:4px;border:1px solid;overflow:hidden;font-size:.85em;border-color:#ccc}html.dark-mode .tag-item{border-color:#666}.tag-item a,.tag-item span,.tag-item a:hover,.tag-item a:active{padding:4px 8px;color:rgba(0,0,0,.7);transition:background-color ease-in-out 80ms;text-decoration:none}html.dark-mode .tag-item a,html.dark-mode .tag-item span,html.dark-mode .tag-item a:hover,html.dark-mode .tag-item a:active{color:hsla(0,0%,100%,.8)}.tag-item a:hover{background-color:hsla(0,0%,100%,.7)}html.dark-mode .tag-item a:hover{background-color:hsla(0,0%,100%,.3)}.tag-item svg{fill:rgba(0,0,0,.5)}html.dark-mode .tag-item svg{fill:hsla(0,0%,100%,.5)}.tag-item .tag-value{border-inline-start:1px solid;border-color:#ddd;background-color:hsla(0,0%,100%,.5)}html.dark-mode .tag-item .tag-value{border-color:#666}html.dark-mode .tag-item .tag-value{background-color:hsla(0,0%,100%,.2)}.tag-name.highlight,.tag-value.highlight{font-weight:bold}.tag-list div:last-child .tag-item{margin-bottom:0}.item-list-row .tag-item{margin-bottom:0}.api-method{font-size:.75rem;background-color:#888;padding:6px;line-height:1.3;opacity:.7;vertical-align:top;border-radius:3px;color:#fff;display:inline-block;min-width:60px;text-align:center;font-weight:bold}.api-method[data-method=GET]{background-color:#077b70}.api-method[data-method=POST]{background-color:#cf4d03}.api-method[data-method=PUT]{background-color:#0288d1}.api-method[data-method=DELETE]{background-color:#ab0f0e}.sticky-sidebar{position:sticky;top:16px;max-height:calc(100vh - 16px);overflow-y:auto}button{background-color:rgba(0,0,0,0);border:0;font-size:100%}.button{text-decoration:none;font-size:.85rem;line-height:1.4em;padding:7.8px 16px;margin-top:6px;margin-bottom:6px;display:inline-block;font-weight:400;outline:0;border-radius:4px;cursor:pointer;transition:background-color ease-in-out 120ms,filter ease-in-out 120ms,box-shadow ease-in-out 120ms;box-shadow:none;background-color:var(--color-primary);color:#fff;border:1px solid var(--color-primary);vertical-align:top}.button:hover,.button:focus,.button:active{background-color:var(--color-primary);text-decoration:none;color:#fff}.button:hover{box-shadow:0 0 4px 1px #ccc;filter:brightness(110%)}html.dark-mode .button:hover{box-shadow:0 0 4px 1px rgba(0,0,0,.5)}.button:focus{outline:1px dotted currentColor;outline-offset:-6px;box-shadow:none;filter:brightness(90%)}.button:active{outline:0}.button.outline{background-color:rgba(0,0,0,0);color:#666;fill:currentColor;border:1px solid;border-color:#ccc}html.dark-mode .button.outline{color:#aaa}html.dark-mode .button.outline{border-color:#666}.button.outline:hover,.button.outline:focus,.button.outline:active{color:#444;border:1px solid #ccc;box-shadow:0 1px 4px 0 rgba(0,0,0,.1);background-color:#f2f2f2;background-color:#f8f8f8;filter:none}html.dark-mode .button.outline:hover,html.dark-mode .button.outline:focus,html.dark-mode .button.outline:active{color:#bbb}html.dark-mode .button.outline:hover,html.dark-mode .button.outline:focus,html.dark-mode .button.outline:active{background-color:#444}.button.outline:active{border-color:#bbb;background-color:#ddd;color:#666;box-shadow:inset 0 0 2px rgba(0,0,0,.1)}.button+.button{margin-inline-start:12px}.button.small{font-size:.75rem;padding:7.2px 12px}.text-button{cursor:pointer;background-color:rgba(0,0,0,0);padding:0;margin:0;border:none;user-select:none;font-size:.75rem;line-height:1.4em;color:var(--color-link)}.text-button:active{outline:0}.text-button:hover{text-decoration:none}.text-button:hover,.text-button:focus{color:var(--color-link);fill:var(--color-link)}.text-button.hover-underline:hover{text-decoration:underline}.button.block{width:100%;text-align:start;display:block}.button.icon .svg-icon,.icon-button .svg-icon,.text-button.icon .svg-icon{margin-inline-end:0}.icon-button{text-align:center;border:1px solid rgba(0,0,0,0)}.icon-button:hover{background-color:rgba(0,0,0,.05);border-radius:4px;border-color:#ddd;cursor:pointer}html.dark-mode .icon-button:hover{border-color:#444}.button.svg{display:flex;align-items:center;padding:12px 16px;padding-bottom:10px;width:100%}.button.svg svg{display:inline-block;width:24px;height:24px;bottom:auto;margin-inline-end:16px}.button[disabled]{background-color:#bbb;cursor:default;border-color:#ccc}.button[disabled]:hover{background-color:#bbb;cursor:default;box-shadow:none}table{min-width:100px;max-width:100%}table thead{background-color:#f8f8f8;font-weight:500}html.dark-mode table thead{background-color:#333}table td,table th{min-width:10px;padding:6px 8px;border:1px solid #ddd;overflow:auto;line-height:1.2;word-break:break-word;vertical-align:top}table td p,table th p{margin:0}table.table{width:100%}table.table tr td,table.table tr th{border-bottom:1px solid rgba(0,0,0,.05)}table.table th,table.table td{text-align:start;border:none;padding:12px 12px;vertical-align:middle;margin:0;overflow:visible}table.table th{font-weight:bold}table.table tr:hover{background-color:#f2f2f2}html.dark-mode table.table tr:hover{background-color:#333}table.table .text-right{text-align:end}table.table .text-center{text-align:center}table.table td.actions{overflow:visible}table.table a{display:inline-block}table.table.expand-to-padding{margin-left:-12px;margin-right:-12px;width:calc(100% + 2*12px);max-width:calc(100% + 2*12px)}table.no-style td{border:0;padding:0}table.list-table{margin:0 -6px}table.list-table td{border:0;vertical-align:middle;padding:6px}.input-base,input[type=text],input[type=number],input[type=email],input[type=date],input[type=search],input[type=url],input[type=color],input[type=password],select,textarea,.fake-input{border-radius:3px;border:1px solid #d4d4d4;background-color:#fff;border-color:#d4d4d4;color:#666;display:inline-block;font-size:14px;padding:10.8px;height:40px;width:250px;max-width:100%}html.dark-mode .input-base,html.dark-mode input[type=text],html.dark-mode input[type=number],html.dark-mode input[type=email],html.dark-mode input[type=date],html.dark-mode input[type=search],html.dark-mode input[type=url],html.dark-mode input[type=color],html.dark-mode input[type=password],html.dark-mode select,html.dark-mode textarea,html.dark-mode .fake-input{background-color:#333}html.dark-mode .input-base,html.dark-mode input[type=text],html.dark-mode input[type=number],html.dark-mode input[type=email],html.dark-mode input[type=date],html.dark-mode input[type=search],html.dark-mode input[type=url],html.dark-mode input[type=color],html.dark-mode input[type=password],html.dark-mode select,html.dark-mode textarea,html.dark-mode .fake-input{border-color:#111}html.dark-mode .input-base,html.dark-mode input[type=text],html.dark-mode input[type=number],html.dark-mode input[type=email],html.dark-mode input[type=date],html.dark-mode input[type=search],html.dark-mode input[type=url],html.dark-mode input[type=color],html.dark-mode input[type=password],html.dark-mode select,html.dark-mode textarea,html.dark-mode .fake-input{color:#aaa}.input-base.neg,input.neg[type=text],input.neg[type=number],input.neg[type=email],input.neg[type=date],input.neg[type=search],input.neg[type=url],input.neg[type=color],input.neg[type=password],select.neg,textarea.neg,.neg.fake-input,.input-base.invalid,input.invalid[type=text],input.invalid[type=number],input.invalid[type=email],input.invalid[type=date],input.invalid[type=search],input.invalid[type=url],input.invalid[type=color],input.invalid[type=password],select.invalid,textarea.invalid,.invalid.fake-input{border:1px solid var(--color-negative)}.input-base.pos,input.pos[type=text],input.pos[type=number],input.pos[type=email],input.pos[type=date],input.pos[type=search],input.pos[type=url],input.pos[type=color],input.pos[type=password],select.pos,textarea.pos,.pos.fake-input,.input-base.valid,input.valid[type=text],input.valid[type=number],input.valid[type=email],input.valid[type=date],input.valid[type=search],input.valid[type=url],input.valid[type=color],input.valid[type=password],select.valid,textarea.valid,.valid.fake-input{border:1px solid var(--color-positive)}.input-base.disabled,input.disabled[type=text],input.disabled[type=number],input.disabled[type=email],input.disabled[type=date],input.disabled[type=search],input.disabled[type=url],input.disabled[type=color],input.disabled[type=password],select.disabled,textarea.disabled,.disabled.fake-input,.input-base[disabled],input[disabled][type=text],input[disabled][type=number],input[disabled][type=email],input[disabled][type=date],input[disabled][type=search],input[disabled][type=url],input[disabled][type=color],input[disabled][type=password],select[disabled],textarea[disabled],[disabled].fake-input{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAYAAADEUlfTAAAAMUlEQVQIW2NkwAGuXbv2nxGbHEhCS0uLEUMSJgHShCKJLIEiiS4Bl8QmAZbEJQGSBAC62BuJ+tt7zgAAAABJRU5ErkJggg==)}.input-base[readonly],input[readonly][type=text],input[readonly][type=number],input[readonly][type=email],input[readonly][type=date],input[readonly][type=search],input[readonly][type=url],input[readonly][type=color],input[readonly][type=password],select[readonly],textarea[readonly],[readonly].fake-input{background-color:#f8f8f8}.input-base:focus,input[type=text]:focus,input[type=number]:focus,input[type=email]:focus,input[type=date]:focus,input[type=search]:focus,input[type=url]:focus,input[type=color]:focus,input[type=password]:focus,select:focus,textarea:focus,.fake-input:focus{border-color:var(--color-primary);outline:1px solid var(--color-primary)}.input-fill-width{width:100% !important}.fake-input{overflow:auto}#html-editor{display:none}#markdown-editor{position:relative;z-index:5}#markdown-editor #markdown-editor-input{font-style:normal;font-weight:400;padding:6px 16px;color:#444;border-radius:0;max-height:100%;flex:1;border:0;width:100%}#markdown-editor #markdown-editor-input:focus{outline:0}#markdown-editor.fullscreen{position:fixed;top:0;left:0;height:100%;z-index:2}.markdown-editor-wrap{border-top:1px solid #ddd;border-bottom:1px solid #ddd;border-color:#ddd;position:relative;flex:1;min-width:0}html.dark-mode .markdown-editor-wrap{border-color:#000}.markdown-editor-wrap+.markdown-editor-wrap{flex-basis:50%;flex-shrink:0;flex-grow:0}.markdown-editor-wrap .cm-editor{flex:1;max-width:100%;border:0;margin:0}.markdown-panel-divider{width:2px;background-color:#ddd;cursor:col-resize}html.dark-mode .markdown-panel-divider{background-color:#000}@media screen and (max-width: 880px){#markdown-editor{flex-direction:column}#markdown-editor .markdown-editor-wrap{width:100%;max-width:100%;flex-grow:1;flex-basis:auto !important;min-height:0}.editor-toolbar-label{float:none !important;border-color:#ddd;display:block}html.dark-mode .editor-toolbar-label{border-color:#555}.markdown-editor-wrap:not(.active) .editor-toolbar+div,.markdown-editor-wrap:not(.active) .editor-toolbar .buttons,.markdown-editor-wrap:not(.active) .markdown-display{display:none}#markdown-editor .markdown-editor-wrap:not(.active){flex-grow:0;flex:none}}.markdown-editor-display{background-color:#fff}.markdown-editor-display body{display:block;background-color:#fff;padding-inline-start:12px;padding-inline-end:12px;max-width:864px}.markdown-editor-display [drawio-diagram]:hover{outline:2px solid var(--color-primary)}html.markdown-editor-display.dark-mode{background-color:#222}html.markdown-editor-display.dark-mode body{background-color:#222}.editor-toolbar{height:32px;width:100%;font-size:11px;line-height:1.6;border-bottom:1px solid #ccc;background-color:#fff;border-color:#ccc;flex:none}html.dark-mode .editor-toolbar{background-color:#333}html.dark-mode .editor-toolbar{border-color:#000}html.dark-mode .editor-toolbar button{color:#aaa}.editor-toolbar .buttons{font-size:14px}.editor-toolbar .buttons .dropdown-menu{padding:0}.editor-toolbar .buttons .toggle-switch{margin:12px 0}.editor-toolbar .buttons button{font-size:.9rem;width:2rem;text-align:center;border-left:1px solid;border-color:#ddd}html.dark-mode .editor-toolbar .buttons button{border-color:#555}.editor-toolbar .buttons button svg{margin-inline-end:0}.editor-toolbar .buttons button:hover{background-color:#ddd}html.dark-mode .editor-toolbar .buttons button:hover{background-color:#222}label{color:#666;display:block;line-height:1.4em;font-size:.94em;font-weight:400;padding-bottom:2px;margin-bottom:.2em}html.dark-mode label{color:#ddd}label.inline{display:inline-block}label.radio,label.checkbox{font-weight:400;user-select:none}label.radio input[type=radio],label.radio input[type=checkbox],label.checkbox input[type=radio],label.checkbox input[type=checkbox]{margin-inline-end:6px}label.inline.checkbox{margin-inline-end:16px}label+p.small{margin-bottom:.8em}table.form-table{max-width:100%}table.form-table td{overflow:hidden;padding:1.5px 0}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='%23666666'><polygon points='0,0 100,0 50,50'/></svg>");background-size:10px 12px;background-position:calc(100% - 20px) 64%;background-repeat:no-repeat}html[dir=rtl] select{background-position:20px 70%}input[type=date]{width:190px}input[type=color]{height:60px}input[type=color].small{height:42px;width:60px;padding:2px}.toggle-switch{user-select:none;display:inline-grid;grid-template-columns:28px 1fr;align-items:center;margin:16px 0}.toggle-switch .custom-checkbox{width:16px;height:16px;border-radius:2px;display:inline-block;border:2px solid currentColor;overflow:hidden;fill:currentColor}.toggle-switch .custom-checkbox .svg-icon{width:100%;height:100%;margin:0;bottom:auto;top:-1.5px;left:0;transition:transform ease-in-out 120ms;transform:scale(0);transform-origin:center center}.toggle-switch input[type=checkbox]{display:none}.toggle-switch input[type=checkbox]:checked+.custom-checkbox .svg-icon{transform:scale(1)}.toggle-switch .custom-checkbox:hover{background-color:rgba(0,0,0,.05);opacity:.8}.toggle-switch input[type=checkbox][disabled]~*{opacity:.8;cursor:not-allowed}.toggle-switch input[type=checkbox][disabled]~.custom-checkbox{border-color:#999;color:#999 !important;background:#f2f2f2}.toggle-switch-list .toggle-switch{margin:6px 0}.toggle-switch-list.compact .toggle-switch{margin:1px 0}.form-group{margin-bottom:12px}.setting-list>div{border-bottom:1px solid #ddd;padding:32px 0}.setting-list>div:last-child{border-bottom:none}.setting-list-label{color:#222;color:#222;font-size:1rem}html.dark-mode .setting-list-label{color:#ddd}.setting-list-label+p.small{margin-bottom:0}.setting-list-label+.grid{margin-top:16px}.setting-list .grid input[type=text],.setting-list .grid input[type=email],.setting-list .grid input[type=password],.setting-list .grid select,.stretch-inputs input[type=text],.stretch-inputs input[type=email],.stretch-inputs input[type=password],.stretch-inputs select{width:100%}.simple-code-input{background-color:#f8f8f8;font-family:monospace;font-size:12px;min-height:100px;display:block;width:100%}.form-group div.text-pos,.form-group div.text-neg,.form-group p.text-post,.form-group p.text-neg{padding:6px 0}.form-group.collapsible{padding:0 16px;border:1px solid;border-color:#ddd;border-radius:4px}html.dark-mode .form-group.collapsible{border-color:#000}.form-group.collapsible .collapse-title{margin-inline-start:-16px;margin-inline-end:-16px;padding:12px 16px;display:block;width:calc(100% + 32px);text-align:start}.form-group.collapsible .collapse-title,.form-group.collapsible .collapse-title label{cursor:pointer}.form-group.collapsible .collapse-title label{padding-bottom:0;margin-bottom:0;color:inherit}.form-group.collapsible .collapse-title label:before{display:inline-block;content:"▸";margin-inline-end:16px;transition:all ease-in-out 400ms;transform:rotate(0)}.form-group.collapsible .collapse-content{display:none;padding-bottom:16px}.form-group.collapsible.open .collapse-title label:before{transform:rotate(90deg)}.form-group.ambrosia-container,.form-group.ambrosia-container *{position:absolute !important;height:1px !important;width:1px !important;margin:-1px !important;padding:0 !important;background:rgba(0,0,0,0) !important;color:rgba(0,0,0,0) !important;border:none !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important}.title-input input[type=text]{display:block;width:100%;padding:12px;margin-top:0;font-size:2em;height:auto}.description-input textarea{display:block;width:100%;padding:12px;font-size:14px;color:#666;height:auto}.description-input>.tox-tinymce{border:1px solid #ddd !important;border-color:#ddd !important;border-radius:3px}html.dark-mode .description-input>.tox-tinymce{border-color:#000 !important}.description-input>.tox-tinymce .tox-toolbar__primary{justify-content:end}.search-box{max-width:100%;position:relative}.search-box button[tabindex="-1"]{background-color:rgba(0,0,0,0);border:none;color:#666;padding:0;cursor:pointer;position:absolute;inset-inline-start:8px;top:10px}html.dark-mode .search-box button[tabindex="-1"]{color:#aaa}.search-box input{display:block;padding:9px;padding-inline-start:28px;width:300px;max-width:100%;height:auto}.search-box.flexible input{width:100%}.search-box button.search-box-cancel{left:auto;right:0}.contained-search-box{display:flex;height:38px;z-index:-1}.contained-search-box.floating{box-shadow:0 1px 3px 1px rgba(76,76,76,.26);border-radius:4px;overflow:hidden}html.dark-mode .contained-search-box.floating{border:1px solid #000}.contained-search-box input,.contained-search-box button{height:100%;border-radius:0;border:1px solid #ddd;border-color:#ddd;margin-inline-start:-1px}html.dark-mode .contained-search-box input,html.dark-mode .contained-search-box button{border-color:#000}.contained-search-box input:last-child,.contained-search-box button:last-child{border-inline-end:0}.contained-search-box input{border:0;flex:5;padding:6px 12px}.contained-search-box input:focus,.contained-search-box input:active{outline:1px dotted var(--color-primary);outline-offset:-2px;border:0}.contained-search-box button{border:0;width:48px;border-inline-start:1px solid #ddd;background-color:#fff;background-color:#fff;color:#444}html.dark-mode .contained-search-box button{background-color:#333}html.dark-mode .contained-search-box button{color:#aaa}.contained-search-box button:focus{outline:1px dotted var(--color-primary);outline-offset:-2px}.contained-search-box svg{margin:0}@media screen and (max-width: 600px){.contained-search-box{width:180px}}.outline>input{border:0;border-bottom:2px solid #ddd;border-radius:0}.outline>input:focus,.outline>input:active{border:0;border-bottom:2px solid #aaa;outline:0}.image-picker img{background-color:#bbb;max-width:100%}.custom-file-input{overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px;height:1px;border:0;clip:rect(0, 0, 0, 0)}.custom-file-input:focus+label{border-color:var(--color-primary);outline:1px solid var(--color-primary)}.custom-simple-file-input{max-width:100%;border:1px solid;border-color:#ddd;border-radius:4px;padding:12px 16px}html.dark-mode .custom-simple-file-input{border-color:#666}.custom-simple-file-input::file-selector-button{background-color:rgba(0,0,0,0);text-decoration:none;font-size:.8rem;line-height:1.4em;padding:6px 12px;border:1px solid;font-weight:400;outline:0;border-radius:4px;cursor:pointer;margin-right:16px;color:#666;border-color:#ccc}html.dark-mode .custom-simple-file-input::file-selector-button{color:#aaa}html.dark-mode .custom-simple-file-input::file-selector-button{border-color:#666}.custom-simple-file-input::file-selector-button:hover,.custom-simple-file-input::file-selector-button:focus,.custom-simple-file-input::file-selector-button:active{color:#444;border:1px solid #ccc;box-shadow:0 1px 4px 0 rgba(0,0,0,.1);background-color:#f2f2f2;background-color:#f8f8f8;filter:none}html.dark-mode .custom-simple-file-input::file-selector-button:hover,html.dark-mode .custom-simple-file-input::file-selector-button:focus,html.dark-mode .custom-simple-file-input::file-selector-button:active{color:#bbb}html.dark-mode .custom-simple-file-input::file-selector-button:hover,html.dark-mode .custom-simple-file-input::file-selector-button:focus,html.dark-mode .custom-simple-file-input::file-selector-button:active{background-color:#444}.custom-simple-file-input::file-selector-button:active{border-color:#bbb;background-color:#ddd;color:#666;box-shadow:inset 0 0 2px rgba(0,0,0,.1)}input.shortcut-input{width:auto;max-width:120px;height:auto}.anim.fadeIn{opacity:0;animation-name:fadeIn;animation-duration:120ms;animation-timing-function:ease-in-out;animation-fill-mode:forwards}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}.search-suggestions-animation{animation-name:searchSuggestions;animation-duration:120ms;animation-fill-mode:forwards;animation-timing-function:cubic-bezier(0.62, 0.28, 0.23, 0.99)}@keyframes searchSuggestions{0%{opacity:.5;transform:scale(0.9)}100%{opacity:1;transform:scale(1)}}@keyframes loadingBob{0%{transform:translate3d(0, 0, 0)}30%{transform:translate3d(0, 0, 0)}50%{transform:translate3d(0, -10px, 0)}70%{transform:translate3d(0, 0, 0)}100%{transform:translate3d(0, 0, 0)}}@keyframes pointer{0%{transform:translate3d(0, 20px, 0) scale3d(0, 0, 0)}100%{transform:translate3d(0, 0, 0) scale3d(1, 1, 1)}}.anim.pointer{transform-origin:50% 100%;animation-name:pointer;animation-duration:180ms;animation-delay:0s;animation-timing-function:cubic-bezier(0.62, 0.28, 0.23, 0.99)}.tox.tox-fullscreen{position:fixed;top:0;height:100%;width:100%;max-width:100%;z-index:100}.tox.tox-tinymce{border-inline:0;border-bottom:0}.page-content.mce-content-body{padding-block-start:1rem;padding-block-end:1rem;outline:0;display:block;max-width:870px}.wysiwyg-input.mce-content-body{padding-block-start:1rem;padding-block-end:1rem;outline:0;display:block}.wysiwyg-input.mce-content-body:before{padding:1rem;top:4px;font-style:italic;color:rgba(34,47,62,.5)}html.dark-mode .wysiwyg-input.mce-content-body:before{color:rgba(155,155,155,.5)}.page-content.mce-content-body doc-root{display:block}.page-content.mce-content-body code-block{display:block}body.page-content.mce-content-body{padding-bottom:5rem}.tox .tox-pop__dialog .tox-toolbar{background:rgba(0,0,0,0) !important}.tox-toolbar__primary{justify-content:center}.page-content.mce-content-body code-block>*{pointer-events:none}.page-content.mce-content-body code-block pre{display:none}.page-content.mce-content-body details summary{pointer-events:none}.page-content.mce-content-body details doc-root{padding:12px;margin-left:-10px;margin-right:-10px;margin-bottom:-10px;margin-top:-10px;overflow:hidden}.page-content.mce-content-body .mce-preview-object.align-right{float:right !important;margin:6px 0 6px 12px}.page-content.mce-content-body .mce-preview-object.align-left{float:left !important;margin:6px 16px 16px 0}.page-content.mce-content-body .mce-preview-object.align-center{display:block;margin-left:auto;margin-right:auto}.page-content.mce-content-body .mce-preview-object iframe,.page-content.mce-content-body .mce-preview-object video{display:block;margin:0 !important;float:none !important}.page-content.mce-content-body td[data-mce-selected]::after,.page-content.mce-content-body th[data-mce-selected]::after{top:1px;left:1px;bottom:1px;right:1px;outline:1px dashed #1a85ff;outline-offset:0}.dark-mode .tox .tox-toolbar__primary,.dark-mode .tox .tox-menu,.dark-mode .tox .tox-dialog__header,.dark-mode .tox .tox-dialog,.dark-mode .tox .tox-dialog__footer,.dark-mode .tox .tox-pop__dialog,.dark-mode .tox.tox-tinymce-aux .tox-toolbar__overflow{background-color:#333 !important}.dark-mode .tox .tox-tbtn svg,.dark-mode .tox .tox-tbtn,.dark-mode .tox .tox-collection--list .tox-collection__item--active:not(.tox-collection__item--state-disabled){color:#dbdbdb;fill:#dbdbdb}.tox .tox-tbtn--bespoke .tox-tbtn__select-label{width:6em !important}.tox-menu .tox-collection__item blockquote::before{content:none}.tox-menu .tox-collection__item blockquote{border-left:4px solid var(--color-primary) !important;padding:4px 6px !important}.tox-menu .tox-collection__item blockquote{border-left:4px solid var(--color-primary) !important;padding:4px 6px !important}.tox-menu .tox-collection__item p[style*=background-color]{padding:4px 6px !important;border-left:3px solid currentColor !important}.tox-menu .tox-collection__item[title^="<"]>div>div{font-family:var(--font-code) !important;border:1px solid #ddd !important;background-color:#eee !important;padding:4px 6px !important}.tox-menu .tox-collection__item-label{line-height:normal !important}.page-content.mce-content-body .task-list-item{margin-inline-start:0;position:relative}.page-content.mce-content-body .task-list-item>input[type=checkbox]{display:none}.page-content.mce-content-body .task-list-item:before{content:"";display:inline-block;border:2px solid #ccc;width:12px;height:12px;border-radius:2px;margin-inline-end:8px;vertical-align:text-top;cursor:pointer;position:absolute;inset-inline-start:-24px;top:4px}.page-content.mce-content-body .task-list-item[checked]:before{background-color:#ccc;background-image:url('data:image/svg+xml;utf8,<svg fill="%23FFFFFF" version="1.1" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m8.4856 20.274-6.736-6.736 2.9287-2.7823 3.8073 3.8073 10.836-10.836 2.9287 2.9287z" stroke-width="1.4644"/></svg>');background-position:50% 50%;background-size:100% 100%}:root{--editor-color-primary: #206ea7}.editor-container{background-color:#fff;position:relative}html.dark-mode .editor-container{background-color:#222}.editor-container.fullscreen{z-index:500}.editor-toolbar-main{display:flex;flex-wrap:wrap;justify-content:center;border-top:1px solid #ddd;border-bottom:1px solid #ddd;border-color:#ddd}html.dark-mode .editor-toolbar-main{border-color:#000}@media screen and (max-width: 1100px){.editor-toolbar-main{overflow-x:scroll;flex-wrap:nowrap;justify-content:start}}body.editor-is-fullscreen{overflow:hidden}body.editor-is-fullscreen .edit-area{z-index:20}.editor-content-area{min-height:100%;padding-block:1rem}.editor-content-area:focus{outline:0}.editor-content-wrap{position:relative;overflow-y:scroll;padding-inline:12px;flex:1}.editor-button{font-size:12px;padding:4px;color:#444;color:#444;border-radius:4px;display:flex;align-items:center;justify-content:center;margin:2px}html.dark-mode .editor-button{color:#999}.editor-button:hover{background-color:#eee;background-color:#eee;cursor:pointer;color:#000}html.dark-mode .editor-button:hover{background-color:#333}.editor-button[disabled]{pointer-events:none;cursor:not-allowed;opacity:.6}.editor-button-active,.editor-button-active:hover{background-color:#ceebff;color:#000}html.dark-mode .editor-button-active,html.dark-mode .editor-button-active:hover{background-color:#444}.editor-button-long{display:flex !important;flex-direction:row;align-items:center;justify-content:start;gap:.5rem}.editor-button-text{font-weight:400;color:#000;font-size:14px;flex:1;padding-inline-end:4px}html.dark-mode .editor-button-text{color:#aaa}.editor-button-format-preview{padding:4px 6px;display:block}.editor-button-long .editor-button-icon{width:24px;height:24px}.editor-button-icon svg{width:24px;height:24px;color:inherit;fill:currentColor;display:block}.editor-menu-button-icon{width:24px;height:24px}.editor-menu-button-icon svg{fill:#888}.editor-container[dir=rtl] .editor-menu-button-icon{rotate:180deg}.editor-button-with-menu-container{display:flex;flex-direction:row;gap:0;align-items:stretch;border-radius:4px}.editor-button-with-menu-container .editor-dropdown-menu-container{display:flex}.editor-button-with-menu-container .editor-dropdown-menu-container>.editor-dropdown-menu{top:100%}.editor-button-with-menu-container .editor-dropdown-menu-container>.editor-button{padding-inline:4px;margin-inline-start:-3px}.editor-button-with-menu-container .editor-dropdown-menu-container>.editor-button svg{width:12px;height:12px}.editor-button-with-menu-container:hover{outline:1px solid;outline-color:#ddd;outline-offset:-3px}html.dark-mode .editor-button-with-menu-container:hover{outline-color:#111}.editor-dropdown-menu-container{position:relative}.editor-dropdown-menu{position:absolute;border:1px solid;background-color:#fff;border-color:#fff;box-shadow:0 0 6px 0 rgba(0,0,0,.15);z-index:99;display:flex;flex-direction:row;border-radius:3px}html.dark-mode .editor-dropdown-menu{background-color:#292929}html.dark-mode .editor-dropdown-menu{border-color:#333}html.dark-mode .editor-dropdown-menu{box-shadow:0 1px 4px 0 rgba(0,0,0,.4)}.editor-dropdown-menu-vertical{display:flex;flex-direction:column;align-items:stretch;min-width:160px}.editor-dropdown-menu-vertical .editor-button{border-bottom:0;text-align:start;display:block;width:100%}.editor-dropdown-menu-vertical>.editor-dropdown-menu-container .editor-dropdown-menu{inset-inline-start:100%;top:0}.editor-separator{display:block;height:1px;opacity:.8;background-color:#ddd}html.dark-mode .editor-separator{background-color:#000}.editor-format-menu-toggle{width:130px;height:32px;font-size:13px;overflow:hidden;padding-inline:12px;justify-content:start;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="%23666" d="M7.41 8L12 12.58 16.59 8 18 9.41l-6 6-6-6z"/></svg>');background-repeat:no-repeat;background-position:98% 50%;background-size:28px}.editor-container[dir=rtl] .editor-format-menu-toggle{background-position:2% 50%}.editor-format-menu .editor-dropdown-menu{min-width:300px}.editor-format-menu .editor-dropdown-menu .editor-dropdown-menu{min-width:220px}.editor-format-menu .editor-dropdown-menu .editor-button-icon{display:none}.editor-format-menu .editor-dropdown-menu .editor-dropdown-menu-container>.editor-button{padding:8px 10px}.editor-overflow-container{display:flex;border-inline:1px solid #ddd;padding-inline:4px;border-color:#ddd}html.dark-mode .editor-overflow-container{border-color:#000}.editor-overflow-container:first-child{border-inline-start:none}.editor-overflow-container:last-child{border-inline-end:none}.editor-overflow-container+.editor-overflow-container{border-inline-start:none}.editor-context-toolbar{position:fixed;border:1px solid #ddd;background-color:#fff;border-color:#ddd;box-shadow:0 2px 4px 0 rgba(0,0,0,.12);padding:.2rem;border-radius:4px;display:flex;flex-direction:row}html.dark-mode .editor-context-toolbar{background-color:#222}html.dark-mode .editor-context-toolbar{border-color:#333}html.dark-mode .editor-context-toolbar{box-shadow:0 1px 4px 0 rgba(0,0,0,.4)}.editor-context-toolbar:before{content:"";z-index:-1;display:block;width:8px;height:8px;position:absolute;background-color:#fff;border-top:1px solid #ddd;border-left:1px solid #ddd;border-color:#ddd;transform:rotate(45deg);left:50%;margin-left:-4px;top:-5px}html.dark-mode .editor-context-toolbar:before{background-color:#222}html.dark-mode .editor-context-toolbar:before{border-color:#333}.editor-context-toolbar.is-above:before{top:calc(100% - 5px);transform:rotate(225deg)}.editor-modal-wrapper{position:fixed;display:flex;align-items:center;justify-content:center;z-index:999;background-color:rgba(0,0,0,.5);width:100%;height:100%}.editor-modal{background-color:#fff;border-radius:4px;overflow:hidden;box-shadow:0 0 15px 0 rgba(0,0,0,.3);margin:6px;max-height:100%;overflow-y:auto}html.dark-mode .editor-modal{background-color:#222}.editor-modal-header{display:flex;justify-content:space-between;align-items:stretch;background-color:var(--color-primary);color:#fff}.editor-modal-title{padding:8px 16px}.editor-modal-close{color:#fff;padding:8px 16px;align-items:center;justify-content:center;cursor:pointer}.editor-modal-close:hover{background-color:hsla(0,0%,100%,.1)}.editor-modal-close svg{width:1rem;height:1rem;fill:currentColor;display:block}.editor-modal-body{padding:16px}.editor-color-select-row{display:flex}.editor-color-select-option{width:28px;height:28px;cursor:pointer;display:flex;align-items:center;justify-content:center}.editor-color-select-option:hover{border-radius:3px;box-sizing:border-box;z-index:3;box-shadow:0 0 4px 1px rgba(0,0,0,.25)}.editor-color-select-option[data-color=""] svg{width:20px;height:20px;fill:#888}.editor-table-creator-row{display:flex}.editor-table-creator-cell{border:1px solid;border-color:#ddd;width:15px;height:15px;cursor:pointer}html.dark-mode .editor-table-creator-cell{border-color:#000}.editor-table-creator-cell.active{background-color:var(--editor-color-primary)}.editor-table-creator-display{text-align:center;padding:.2em}.editor-external-content{min-width:500px;min-height:500px}.editor-external-content h4:first-child{margin-top:0}.editor-image-wrap{position:relative;display:inline-flex}.editor-node-resizer{position:absolute;left:0;right:auto;display:inline-block;outline:2px dashed var(--editor-color-primary);direction:ltr}.editor-node-resizer-handle{position:absolute;display:block;width:10px;height:10px;border:2px solid var(--editor-color-primary);z-index:3;background-color:#fff;user-select:none}html.dark-mode .editor-node-resizer-handle{background-color:#000}.editor-node-resizer-handle.nw{inset-inline-start:-5px;inset-block-start:-5px;cursor:nw-resize}.editor-node-resizer-handle.ne{inset-inline-end:-5px;inset-block-start:-5px;cursor:ne-resize}.editor-node-resizer-handle.se{inset-inline-end:-5px;inset-block-end:-5px;cursor:se-resize}.editor-node-resizer-handle.sw{inset-inline-start:-5px;inset-block-end:-5px;cursor:sw-resize}.editor-node-resizer-ghost{opacity:.5;display:none;position:absolute;left:0;top:0;width:100%;height:100%;z-index:2;pointer-events:none;background-color:var(--editor-color-primary)}.editor-node-resizer.active .editor-node-resizer-ghost{display:block}.editor-table-marker{position:fixed;background-color:var(--editor-color-primary);z-index:99;user-select:none;opacity:0}.editor-table-marker:hover,.editor-table-marker.active{opacity:.4}.editor-table-marker-column{width:4px;cursor:col-resize}.editor-table-marker-row{height:4px;cursor:row-resize}.editor-code-block-wrap{user-select:none}.editor-code-block-wrap>*{pointer-events:none}.editor-code-block-wrap.selected .cm-editor{border:1px dashed var(--editor-color-primary)}.editor-diagram.selected{outline:2px dashed var(--editor-color-primary)}.editor-media-wrap{display:inline-block;cursor:not-allowed}.editor-media-wrap iframe{pointer-events:none}.editor-media-wrap.align-left{float:left}.editor-media-wrap.align-right{float:right}.editor-media-wrap.align-center{display:block;margin-inline:auto}.editor-content-area .task-list-item{margin-left:0;position:relative}.editor-content-area .task-list-item>input[type=checkbox]{display:none}.editor-content-area .task-list-item:before{content:"";display:inline-block;border:2px solid #ccc;width:12px;height:12px;border-radius:2px;margin-right:8px;vertical-align:text-top;cursor:pointer;position:absolute;left:-24px;top:4px}.editor-content-area .task-list-item[checked]:before{background-color:#ccc;background-image:url('data:image/svg+xml;utf8,<svg fill="%23FFFFFF" version="1.1" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m8.4856 20.274-6.736-6.736 2.9287-2.7823 3.8073 3.8073 10.836-10.836 2.9287 2.9287z" stroke-width="1.4644"/></svg>');background-position:50% 50%;background-size:100% 100%}.editor-form-field-wrapper{margin-bottom:.5rem}.editor-form-field-input{display:block;width:260px;min-width:100px;max-width:100%;border:1px solid;border-color:#ddd;padding:.5rem;border-radius:4px;color:#444}html.dark-mode .editor-form-field-input{border-color:#000}html.dark-mode .editor-form-field-input{color:#bbb}@media screen and (max-width: 400px){.editor-form-field-input{min-width:160px}}textarea.editor-form-field-input{font-family:var(--font-code);width:350px;height:250px;font-size:12px}.editor-form-field-label{color:#444;font-weight:700;font-size:12px}.editor-form-actions{display:flex;justify-content:end;gap:12px;margin-top:16px}.editor-form-actions>button{display:block;font-size:.85rem;line-height:1.4em;padding:7.8px 16px;font-weight:400;border-radius:4px;cursor:pointer;box-shadow:none}.editor-form-actions>button:focus{outline:1px dotted currentColor;outline-offset:-6px;box-shadow:none;filter:brightness(90%)}.editor-form-action-primary{background-color:var(--color-primary);color:#fff;border:1px solid var(--color-primary)}.editor-form-action-primary:hover{box-shadow:0 0 4px 1px #ccc;filter:brightness(110%)}html.dark-mode .editor-form-action-primary:hover{box-shadow:0 0 4px 1px rgba(0,0,0,.5)}.editor-form-action-secondary{border:1px solid;border-color:#ccc;color:#666}html.dark-mode .editor-form-action-secondary{border-color:#666}html.dark-mode .editor-form-action-secondary{color:#aaa}.editor-form-action-secondary:hover,.editor-form-action-secondary:focus,.editor-form-action-secondary:active{color:#444;border:1px solid #ccc;box-shadow:0 1px 4px 0 rgba(0,0,0,.1);background-color:#f2f2f2;background-color:#f8f8f8;filter:none}html.dark-mode .editor-form-action-secondary:hover,html.dark-mode .editor-form-action-secondary:focus,html.dark-mode .editor-form-action-secondary:active{color:#bbb}html.dark-mode .editor-form-action-secondary:hover,html.dark-mode .editor-form-action-secondary:focus,html.dark-mode .editor-form-action-secondary:active{background-color:#444}.editor-form-action-secondary:active{border-color:#bbb;background-color:#ddd;color:#666;box-shadow:inset 0 0 2px rgba(0,0,0,.1)}.editor-form-tab-container{display:flex;flex-direction:row;gap:2rem}.editor-form-tab-controls{display:flex;flex-direction:column;align-items:stretch;gap:.25rem}@media screen and (max-width: 880px){.editor-form-tab-container{flex-direction:column;gap:.5rem}.editor-form-tab-controls{flex-direction:row}}.editor-form-tab-control{font-weight:bold;font-size:14px;color:#444;border-bottom:2px solid rgba(0,0,0,0);position:relative;cursor:pointer;padding:.25rem .5rem;text-align:start}html.dark-mode .editor-form-tab-control{color:#666}.editor-form-tab-control[aria-selected=true]{border-color:var(--editor-color-primary);color:var(--editor-color-primary) !important}.editor-form-tab-control[aria-selected=true]:after,.editor-form-tab-control:hover:after{background-color:var(--editor-color-primary);opacity:.15;content:"";display:block;position:absolute;left:0;top:0;width:100%;height:100%}.editor-form-tab-contents{width:260px;max-width:100%}.editor-action-input-container{display:flex;flex-direction:row;align-items:end;justify-content:space-between;gap:.1rem}.editor-action-input-container .editor-button{margin-bottom:12px}.editor-action-input-container input{width:220px}.editor-color-field-container{position:relative}.editor-color-field-container input{padding-left:36px}.editor-color-field-container .editor-dropdown-menu-container{position:absolute;bottom:0}.editor-theme-bold{font-weight:bold}.editor-theme-italic{font-style:italic}.editor-theme-strikethrough{text-decoration-line:line-through}.editor-theme-underline{text-decoration-line:underline}.editor-theme-underline-strikethrough{text-decoration:underline line-through}.cm-editor{font-size:12px;border:1px solid #ddd;line-height:1.4;margin-bottom:24px}.page-content .cm-editor,.CodeMirrorContainer .cm-editor{border-radius:4px}.cm-editor .cm-line{line-height:1.6}.cm-editor .cm-line,.cm-editor .cm-gutter{font-family:var(--font-code)}.dark-mode .cm-editor{border-color:#444}.cm-copy-button{position:absolute;display:flex;align-items:center;justify-content:center;top:-1px;inset-inline-end:-1px;background-color:#eee;border:1px solid #ddd;border-start-end-radius:4px;background-color:#eee;border-color:#ddd;color:#444;line-height:0;cursor:pointer;z-index:5;user-select:none;opacity:0;pointer-events:none;width:32px;height:32px;transition:background-color linear 60ms,color linear 60ms}html.dark-mode .cm-copy-button{background-color:#333}html.dark-mode .cm-copy-button{border-color:#444}html.dark-mode .cm-copy-button{color:#888}.cm-copy-button svg{fill:currentColor}.cm-copy-button.success{background:var(--color-positive);color:#fff}.cm-copy-button:focus{outline:0 !important}.cm-editor:hover .cm-copy-button{user-select:all;opacity:.6;pointer-events:all}.notification{position:fixed;top:0;right:0;margin:32px;padding:16px 24px;background-color:#fff;background-color:#fff;border-radius:4px;border-inline-start:6px solid currentColor;box-shadow:0 1px 6px 1px rgba(22,22,22,.2);z-index:999999;cursor:pointer;max-width:360px;transition:transform ease-in-out 280ms;transform:translateX(580px);display:grid;grid-template-columns:42px 1fr 12px;color:#444;font-weight:700}html.dark-mode .notification{background-color:#444}.notification span,.notification svg{vertical-align:middle;justify-self:center;align-self:center}.notification svg{width:2.8rem;height:2.8rem;padding-inline-end:12px;fill:currentColor}.notification .dismiss{margin-top:-8px}.notification .dismiss svg{height:1rem;color:#444}html.dark-mode .notification .dismiss svg{color:#888}.notification span{vertical-align:middle;line-height:1.3}html.dark-mode .notification span{color:#bbb}.notification.pos{color:var(--color-positive)}.notification.neg{color:var(--color-negative)}.notification.warning{color:var(--color-warning)}.notification.showing{transform:translateX(0)}.notification.showing:hover{transform:translate3d(0, -2px, 0)}.chapter-contents-toggle{cursor:pointer;margin:0;transition:all ease-in-out 180ms;user-select:none}.chapter-contents-toggle svg[data-icon=caret-right]{margin-inline-end:0;font-size:1rem;transition:all ease-in-out 180ms;transform:rotate(0deg);transform-origin:50% 50%}.chapter-contents-toggle.open svg[data-icon=caret-right]{transform:rotate(90deg)}.chapter-contents-toggle svg[data-icon=caret-right]+*{margin-inline-start:3px}[overlay],.popup-background{background-color:rgba(0,0,0,.333);position:fixed;z-index:95536;width:100%;height:100%;min-width:100%;min-height:100%;top:0;left:0;right:0;bottom:0;align-items:center;justify-content:center;display:none}html.dark-mode [overlay],html.dark-mode .popup-background{background-color:rgba(0,0,0,.6)}.popup-body-wrap{display:flex}.popup-body{background-color:#fff;max-height:90%;max-width:1200px;width:90%;height:auto;margin:2% auto;border-radius:4px;box-shadow:0 0 15px 0 rgba(0,0,0,.3);overflow:hidden;z-index:999;display:flex;flex-direction:column;position:relative}html.dark-mode .popup-body{background-color:#333}.popup-body.small{margin:2% auto;width:800px;max-width:90%}.popup-body.very-small{margin:2% auto;width:600px;max-width:90%}.popup-body:before{display:flex;align-self:flex-start}.popup-body .popup-content{overflow-y:auto}.popup-body:focus{outline:0}.popup-header button,.popup-footer button{margin:0;border-radius:0;box-shadow:none;color:#fff;padding:6px 16px;cursor:pointer}.popup-header button:not(.popup-header-close){font-size:.8rem}.popup-header button:hover{background-color:hsla(0,0%,100%,.1)}.popup-footer{justify-content:end;background-color:var(--color-primary-light);min-height:41px}.popup-footer button{padding:10px 16px}.popup-header-close{border:0;color:#fff;font-size:16px;cursor:pointer}.popup-header-close svg{margin-right:0}.popup-header,.popup-footer{display:flex;position:relative;height:40px;flex:0}.popup-header .popup-title,.popup-footer .popup-title{color:#fff;margin-inline-end:auto;padding:8px 16px}.popup-header.flex-container-row,.popup-footer.flex-container-row{display:flex !important}body.flexbox-support #entity-selector-wrap .popup-body .form-group{height:444px;min-height:444px}#entity-selector-wrap .popup-body .form-group{margin:0}.popup-body .entity-selector-container{flex:1}.dropzone-overlay{position:absolute;display:flex;justify-content:center;align-items:center;font-size:1.333rem;width:98%;height:98%;left:1%;top:1%;border-radius:4px;border:1px dashed var(--color-primary);font-style:italic;box-sizing:content-box;background-clip:padding-box;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3E%3Cpath fill='%23a9a9a9' fill-opacity='0.52' d='M1 3h1v1H1V3zm2-2h1v1H3V1z'%3E%3C/path%3E%3C/svg%3E");background-color:var(--color-primary);color:#fff;opacity:.8;z-index:9;pointer-events:none;animation:dzAnimIn 240ms ease-in-out}.dropzone-landing-area{background-color:var(--color-primary-light);padding:16px 24px;width:100%;border:1px dashed var(--color-primary);color:var(--color-primary);border-radius:4px}@keyframes dzAnimIn{0%{opacity:0;transform:scale(0.7)}60%{transform:scale(1.1)}100%{transform:scale(1);opacity:.8}}@keyframes dzFileItemIn{0%{opacity:.5;transform:translateY(28px)}100%{opacity:1;transform:translateY(0)}}@keyframes dzFileItemOut{0%{opacity:1;transform:translateY(0)}100%{opacity:.5;transform:translateY(28px)}}.dropzone-file-item{width:260px;height:80px;position:relative;display:flex;margin:1rem;flex-direction:row;background:#fff;box-shadow:0 1px 6px 1px rgba(22,22,22,.2);border-radius:4px;overflow:hidden;padding-bottom:3px;animation:dzFileItemIn ease-in-out 240ms;transition:transform ease-in-out 120ms,box-shadow ease-in-out 120ms;cursor:pointer}html.dark-mode .dropzone-file-item{background:#444}.dropzone-file-item:hover{transform:translateY(-3px);box-shadow:0 3px 8px 1px rgba(22,22,22,.2)}.dropzone-file-item.dismiss{animation:dzFileItemOut ease-in-out 240ms}.dropzone-file-item .loading-container{text-align:start !important;margin:0}.dropzone-file-item-image-wrap{width:80px;position:relative;background-color:var(--color-primary-light)}.dropzone-file-item-image-wrap img{object-fit:cover;width:100%;height:100%;opacity:.8}.dropzone-file-item-text-wrap{flex:1;display:block;padding:1rem;overflow:auto}.dropzone-file-item-progress{position:absolute;bottom:0;left:0;font-size:0;height:3px;background-color:var(--color-primary);transition:width ease-in-out 240ms}.dropzone-file-item-label{line-height:1.2;margin-bottom:.2rem}.dropzone-file-item-label,.dropzone-file-item-status{align-items:center;font-size:.8rem;font-weight:700}.dropzone-file-item-status[data-status]{display:flex;font-size:.6rem;font-weight:500;line-height:1.2}.dropzone-file-item-status[data-status=success]{color:var(--color-positive)}.dropzone-file-item-status[data-status=error]{color:var(--color-negative)}.dropzone-file-item-status[data-status]+.dropzone-file-item-label{display:none}.image-manager-body{min-height:70vh}.image-manager-filter-bar{position:sticky;top:0;z-index:5;background-color:hsla(0,0%,100%,.85)}html.dark-mode .image-manager-filter-bar{background-color:rgba(80,80,80,.85)}.image-manager-filter-bar-bg{position:absolute;left:0;top:0;width:100%;height:100%;opacity:.15;z-index:-1}.image-manager-filters{box-shadow:0 1px 3px 1px rgba(76,76,76,.26);border-radius:4px;overflow:hidden;border-bottom:0 !important}html.dark-mode .image-manager-filters{border:1px solid #000 !important}.image-manager-filters button{line-height:0;background-color:#fff}html.dark-mode .image-manager-filters button{background-color:#333}.image-manager-filters svg{margin:0}.image-manager-list{padding:3px;display:grid;grid-template-columns:repeat(auto-fill, minmax(max(140px, 17%), 1fr));gap:3px;z-index:3}.image-manager-list>div{aspect-ratio:1}.image-manager-list .image{display:block;position:relative;border-radius:0;margin:0;width:100%;text-align:start;padding:0;cursor:pointer;aspect-ratio:1;border-color:#ddd;transition:all linear 80ms;overflow:hidden}html.dark-mode .image-manager-list .image{border-color:#000}.image-manager-list .image.selected{background-color:var(--color-primary-light);outline:currentColor 3px solid;border-radius:3px;transform:scale3d(0.95, 0.95, 0.95)}.image-manager-list .image img{width:100%;max-width:100%;display:block;object-fit:cover;height:auto}.image-manager-list .image .image-meta{opacity:0;position:absolute;width:100%;bottom:0;left:0;color:#eee;background-color:rgba(0,0,0,.7);font-size:10px;padding:3px 4px;pointer-events:none;transition:opacity ease-in-out 80ms}.image-manager-list .image .image-meta span{display:block}.image-manager-list .image.selected .image-meta,.image-manager-list .image:hover .image-meta,.image-manager-list .image:focus .image-meta{opacity:1}@media screen and (max-width: 880px){.image-manager-list .image .image-meta{display:none}}.image-manager .load-more{text-align:center;padding:12px 16px;clear:both}.image-manager .load-more .loading-container{margin:0}.image-manager .loading-container{text-align:center}.image-manager-list .image-manager-list-warning{grid-column:1/-1;aspect-ratio:auto}.image-manager-warning{background:#fff;color:var(--color-warning);font-weight:bold;border-inline:3px solid var(--color-warning)}html.dark-mode .image-manager-warning{background:#333}.image-manager-sidebar{width:300px;margin:0 auto;overflow-y:auto;overflow-x:hidden;border-inline-start:1px solid #ddd;border-color:#ddd}html.dark-mode .image-manager-sidebar{border-color:#000}.image-manager-sidebar .inner{min-height:auto;padding:16px}.image-manager-sidebar .image-manager-viewer img{max-width:100%;max-height:180px;display:block;margin:0 auto 16px auto;box-shadow:0 1px 21px 1px rgba(76,76,76,.3)}.image-manager-sidebar .image-manager-viewer{height:196px;display:flex;align-items:center;justify-content:center}.image-manager-sidebar .image-manager-viewer a{display:inline-block}@media screen and (max-width: 880px){.image-manager-sidebar{border-inline-start:0}}.image-manager-content{display:flex;flex-direction:column;flex:1;overflow-y:scroll}.image-manager-content .container{width:100%}.image-manager-content .full-tab{text-align:center}.tab-container.bordered [role=tablist] button[role=tab]{border-inline-end:1px solid #ddd;border-inline-end-color:#ddd}html.dark-mode .tab-container.bordered [role=tablist] button[role=tab]{border-inline-end-color:#000}.tab-container.bordered [role=tablist] button[role=tab]:last-child{border-inline-end:none}.tab-container [role=tablist]{display:flex;align-items:end;justify-items:start;text-align:start;border-bottom:1px solid #ddd;border-color:#ddd;margin-bottom:16px}html.dark-mode .tab-container [role=tablist]{border-color:#444}.tab-container [role=tablist] button[role=tab]{display:inline-block;padding:12px;color:rgba(0,0,0,.5);cursor:pointer;border-bottom:2px solid rgba(0,0,0,0);margin-bottom:-1px}html.dark-mode .tab-container [role=tablist] button[role=tab]{color:hsla(0,0%,100%,.5)}.tab-container [role=tablist] button[role=tab][aria-selected=true]{color:var(--color-link) !important;border-bottom-color:var(--color-link) !important;outline:0 !important}.tab-container [role=tablist] button[role=tab]:hover,.tab-container [role=tablist] button[role=tab]:focus{color:rgba(0,0,0,.8);border-bottom-color:rgba(0,0,0,.2)}html.dark-mode .tab-container [role=tablist] button[role=tab]:hover,html.dark-mode .tab-container [role=tablist] button[role=tab]:focus{color:hsla(0,0%,100%,.8)}html.dark-mode .tab-container [role=tablist] button[role=tab]:hover,html.dark-mode .tab-container [role=tablist] button[role=tab]:focus{border-bottom-color:hsla(0,0%,100%,.2)}.tab-container [role=tablist] button[role=tab]:focus{outline:1px dotted var(--color-primary);outline-offset:-2px}.tab-container [role=tablist].controls-card{margin-bottom:0;border-bottom:0;padding:0 6px}.image-picker .none{display:none}.code-editor .CodeMirror{height:auto;min-height:50vh;border-bottom:0}.code-editor .lang-options{overflow-y:scroll;flex-basis:200px;flex-grow:1}.code-editor .lang-options button{display:block;padding:6px 16px;border-bottom:1px solid;color:#333;border-bottom-color:#eee;cursor:pointer;width:100%;text-align:left;font-family:var(--font-code);font-size:.7rem;padding-left:30px}html.dark-mode .code-editor .lang-options button{color:#aaa}html.dark-mode .code-editor .lang-options button{border-bottom-color:#000}.code-editor .lang-options button:hover,.code-editor .lang-options button.active{background-color:var(--color-primary-light);color:var(--color-primary)}.code-editor button.lang-option-favorite-toggle{position:absolute;top:0;left:0;width:28px;font-size:1rem;border:0;line-height:1;padding:2px;z-index:2;height:100%;text-align:center;color:var(--color-primary)}.code-editor button.lang-option-favorite-toggle svg{margin:0}.code-editor button[data-favourite=true]~.action-favourite,.code-editor button[data-favourite=false]~.action-unfavourite{display:none}.code-editor .action-favourite{opacity:.5}.code-editor button:hover~.action-favourite{opacity:1}.code-editor label{background-color:var(--color-primary-light);width:100%;color:var(--color-primary);padding:3px 12px;margin-bottom:0}.code-editor-language-list{position:relative;width:160px;z-index:2;align-items:stretch}.code-editor-language-list input{border-radius:0;border:0;border-bottom:1px solid #ddd;padding:6px 12px;height:auto}.code-editor-main{flex:1;min-width:0}.code-editor-main .cm-editor{margin-bottom:0;z-index:1;max-width:100%;width:100%}.code-editor-body-wrap{height:80vh}@media screen and (max-width: 600px){.code-editor .lang-options{display:none}.code-editor-body-wrap{flex-direction:column}.code-editor-language-list,.code-editor-language-list input{width:100%}}.comments-container{padding-inline:32px}@media screen and (max-width: 880px){.comments-container{padding-inline:6px}}.comment-box{border-radius:4px;border:1px solid #ddd;border-color:#ddd;background-color:#fff}html.dark-mode .comment-box{border-color:#000}html.dark-mode .comment-box{background-color:#222}.comment-box .content{font-size:.666em;padding:6px 12px}.comment-box .content p,.comment-box .content ul,.comment-box .content ol{font-size:14px;margin:.5em 0}.comment-box .actions{opacity:0;transition:opacity ease-in-out 120ms}.comment-box:hover .actions,.comment-box:focus-within .actions{opacity:1}.comment-box .actions button:focus{outline:1px dotted var(--color-primary)}@media screen and (max-width: 880px){.comment-box .actions{opacity:1}}.comment-box .header{border-bottom:1px solid #ddd;padding:6px 12px;border-color:#ddd}html.dark-mode .comment-box .header{border-color:#000}.comment-box .header a{color:inherit}.comment-box .header .text-muted{color:#999}.comment-box .header .meta a,.comment-box .header .meta span{white-space:nowrap}.comment-box .header .right-meta .text-muted{opacity:.8}.comment-thread-indicator{border-inline-start:3px dotted #ddd;border-color:#ddd;margin-inline-start:6px;width:24px;height:calc(100% - 16px)}html.dark-mode .comment-thread-indicator{border-color:#444}.comment-branch .comment-branch .comment-branch .comment-branch .comment-thread-indicator{display:none}.comment-reply{display:none;margin:0 !important;margin-bottom:-3px !important}.comment-branch .comment-branch .comment-branch .comment-branch .comment-reply{display:block}.comment-container-compact .comment-box .meta{font-size:.8rem}.comment-container-compact .comment-box .header{padding:6px}.comment-container-compact .comment-box .right-meta{display:none}.comment-container-compact .comment-box .content{padding:6px 12px}.comment-container-compact .comment-thread-indicator{width:16px}#tag-manager .drag-card{max-width:500px}.template-item{cursor:pointer;position:relative}.template-item:hover,.template-item .template-item-actions button:hover{background-color:#f2f2f2}.template-item .template-item-actions{position:absolute;top:0;inset-inline-end:0;width:50px;height:100%;display:flex;flex-direction:column;border-inline-start:1px solid;border-color:#ddd}html.dark-mode .template-item .template-item-actions{border-color:#000}.template-item .template-item-actions button{cursor:pointer;flex:1;background-color:#fff;border:0;border-top:1px solid;border-color:#ddd}html.dark-mode .template-item .template-item-actions button{background-color:#222}html.dark-mode .template-item .template-item-actions button{border-color:#000}.template-item .template-item-actions button svg{margin:0}.template-item .template-item-actions button:first-child{border-top:0}.dropdown-search{position:relative}.dropdown-search-toggle-breadcrumb{border:1px solid rgba(0,0,0,0);border-radius:4px;line-height:normal;padding:6px}.dropdown-search-toggle-breadcrumb:hover{border-color:#ddd}.dropdown-search-toggle-breadcrumb .svg-icon{margin-inline-end:0}.dropdown-search-toggle-select{display:flex;gap:12px;line-height:normal}.dropdown-search-toggle-select .svg-icon{height:26px;width:26px;margin:0}.dropdown-search-toggle-select .avatar{height:22px;width:22px}.dropdown-search-toggle-select .avatar+span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-search-toggle-select .dropdown-search-toggle-caret{font-size:1.15rem}.dropdown-search-toggle-select-label{min-width:0;white-space:nowrap}.dropdown-search-toggle-select-caret{line-height:0;margin-left:auto;margin-top:-2px;display:flex;align-items:center}.dropdown-search-dropdown{box-shadow:0 1px 3px 1px rgba(76,76,76,.26);overflow:hidden;min-height:100px;width:240px;display:none;position:absolute;z-index:80;right:0;top:0;margin-top:16px}html[dir=rtl] .dropdown-search-dropdown{right:auto;left:-16px}.dropdown-search-dropdown .dropdown-search-search .svg-icon{position:absolute;left:12px;top:11px;fill:#888;pointer-events:none}html[dir=rtl] .dropdown-search-dropdown .dropdown-search-search .svg-icon{right:12px;left:auto}.dropdown-search-dropdown .dropdown-search-list{max-height:400px;overflow-y:scroll;text-align:start}.dropdown-search-dropdown .dropdown-search-item{padding:12px 16px}.dropdown-search-dropdown .dropdown-search-item:hover,.dropdown-search-dropdown .dropdown-search-item:focus{background-color:#f2f2f2;text-decoration:none}.dropdown-search-dropdown input,.dropdown-search-dropdown input:focus{padding-inline-start:32px;border-radius:0;border:0;border-bottom:1px solid #ddd}.dropdown-search-dropdown input:focus{outline:0}@media screen and (max-width: 1000px){.dropdown-search-dropdown{inset-inline:16px auto}.dropdown-search-dropdown .dropdown-search-list{max-height:240px}}.item-list{box-shadow:0 1px 3px 0 rgba(0,0,0,.1)}.item-list-row{border:1.5px solid;border-color:#e2e2e2;border-bottom-width:0}html.dark-mode .item-list-row{border-color:#444}.item-list-row label{padding-bottom:0}.item-list-row:hover{background-color:#f6f6f6}html.dark-mode .item-list-row:hover{background-color:#333}.item-list-row:first-child{border-radius:4px 4px 0 0}.item-list-row:last-child{border-radius:0 0 4px 4px;border-bottom-width:1.5px}.item-list-row:first-child:last-child{border-radius:4px}.item-list-row-toggle-all{visibility:hidden}.item-list-row:hover .item-list-row-toggle-all{visibility:visible}.status-indicator-active,.status-indicator-inactive{width:8px;height:8px;border-radius:50%;display:inline-block}.status-indicator-active{background-color:var(--color-positive)}.status-indicator-inactive{background-color:var(--color-negative)}.shortcut-container{background-color:rgba(0,0,0,.25);pointer-events:none;position:fixed;left:0;top:0;width:100%;height:100%;z-index:99}.shortcut-linkage{position:fixed;box-shadow:0 0 4px 0 #fff;border-radius:3px}.shortcut-hint{position:fixed;padding:3px 3px;font-size:.85rem;font-weight:700;line-height:1;background-color:#eee;border-radius:3px;border:1px solid #b4b4b4;box-shadow:0 1px 1px rgba(0,0,0,.2),0 2px 0 0 hsla(0,0%,100%,.7) inset;color:#333}.back-to-top{background-color:var(--color-primary);position:fixed;bottom:16px;right:24px;padding:5px 7px;cursor:pointer;color:#fff;fill:#fff;width:40px;height:40px;border-radius:40px;transition:all ease-in-out 180ms;opacity:0;z-index:999;overflow:hidden}.back-to-top svg{width:26.6666666667px;height:26.6666666667px;margin-inline-end:4px}.back-to-top:hover{width:136px;opacity:1 !important}.back-to-top .inner{width:136px}.back-to-top span{position:relative;vertical-align:top;line-height:2}.scroll-box{list-style:none;padding:0;margin:0;max-height:280px;overflow-y:scroll;border:1px solid;border-color:#ddd;border-radius:3px;min-height:20px;background-color:#eee}html.dark-mode .scroll-box{border-color:#000}html.dark-mode .scroll-box{background-color:#000}.scroll-box-item{border-bottom:1px solid;border-top:1px solid;border-color:#ddd;margin-top:-1px;background-color:#fff;display:flex;align-items:flex-start;padding:1px}html.dark-mode .scroll-box-item{border-color:#000}html.dark-mode .scroll-box-item{background-color:#222}.scroll-box-item:last-child{border-bottom:0}.scroll-box-item:hover{cursor:pointer;background-color:#f8f8f8}html.dark-mode .scroll-box-item:hover{background-color:#333}.scroll-box-item.items-center{align-items:center}.scroll-box-item .handle{color:#aaa;cursor:grab}.scroll-box-item button{opacity:.6;line-height:1}.scroll-box-item .handle svg{margin:0}.scroll-box-item>*{padding:6px 16px}.scroll-box-item .handle+*{padding-left:0}.scroll-box-item:hover .handle{color:#444}html.dark-mode .scroll-box-item:hover .handle{color:#fff}.scroll-box-item:hover button{opacity:1}.scroll-box-item a:hover{text-decoration:none}input.scroll-box-search,.scroll-box-header-item{font-size:.8rem;border:1px solid;border-color:#ddd;background-color:#fff;margin-bottom:-1px;border-radius:3px 3px 0 0;width:100%;max-width:100%;height:auto;line-height:1.4;color:#666}html.dark-mode input.scroll-box-search,html.dark-mode .scroll-box-header-item{border-color:#000}html.dark-mode input.scroll-box-search,html.dark-mode .scroll-box-header-item{background-color:#222}.scroll-box-search+.scroll-box,.scroll-box-header-item+.scroll-box{border-radius:0 0 3px 3px}.scroll-box.configured-option-list [data-action=add]{display:none}.scroll-box.available-option-list [data-action=remove],.scroll-box.available-option-list [data-action=move_up],.scroll-box.available-option-list [data-action=move_down]{display:none}.scroll-box>li.empty-state{display:none}.scroll-box>li.empty-state:last-child{display:list-item}header.grid{grid-template-columns:minmax(max-content, 2fr) 1fr minmax(max-content, 2fr)}@media screen and (max-width: 1000px){header.grid{grid-template-columns:1fr;grid-row-gap:0}}header{position:relative;display:block;z-index:11;top:0;color:#fafafa;border-bottom:1px solid #ddd;box-shadow:0 1px 6px -1px rgba(0,0,0,.1);border-bottom-color:#ddd}html.dark-mode header{border-bottom-color:#000}header .header-links{display:flex;align-items:center;justify-content:end}header .links{display:inline-block;vertical-align:top}header .links a{display:inline-block;padding:10px 16px;color:#fff;border-radius:3px}header .links a:hover{text-decoration:none;background-color:hsla(0,0%,100%,.15)}header .dropdown-container{padding-inline-start:16px;padding-inline-end:0}header .avatar,header .user-name{display:inline-block}header .avatar{width:30px;height:30px}header .user-name{vertical-align:top;position:relative;display:inline-flex;align-items:center;cursor:pointer;padding:12px;margin:0 -12px;border-radius:3px;gap:6px}header .user-name>span{padding-inline-start:6px;display:inline-block;line-height:1}header .user-name>svg{font-size:18px;margin-top:-2px;margin-inline-end:0}header .user-name:hover{background-color:hsla(0,0%,100%,.15)}@media screen and (min-width: 1001px)and (max-width: 1100px){header .user-name{padding-inline-start:6px}header .user-name .name{display:none}}.header *,.primary-background *{outline-color:#fff}header .search-box{display:inline-block}header .search-box input{background-color:rgba(0,0,0,.2);border:1px solid hsla(0,0%,100%,.2);border-radius:40px;color:#eee;z-index:2;height:auto;padding:9px;padding-inline-start:40px}header .search-box input:focus{outline:none;border:1px solid hsla(0,0%,100%,.4)}header .search-box input::placeholder{color:#fff;opacity:.6}@media screen and (min-width: 1001px)and (max-width: 1100px){header .search-box{max-width:200px}}header .search-box:focus-within #header-search-box-button{opacity:1}#header-search-box-button{z-index:1;inset-inline-start:16px;top:10px;color:#fff;opacity:.6;color:hsla(0,0%,100%,.8)}html.dark-mode #header-search-box-button{color:#aaa}#header-search-box-button svg{margin-inline-end:0}.global-search-suggestions{display:none;position:absolute;top:-12px;left:0;right:0;z-index:-1;margin-left:-48px;margin-right:-48px;padding-top:56px;border-radius:3px;box-shadow:0 2px 2px 1px rgba(0,0,0,.13);transform-origin:top center;opacity:.5;transform:scale(0.9)}.global-search-suggestions .entity-item-snippet p{display:none}.global-search-suggestions .entity-item-snippet{font-size:.8rem}.global-search-suggestions .entity-list-item-name{font-size:.9rem;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.global-search-suggestions .global-search-loading{position:absolute;width:100%}header .search-box.search-active:focus-within .global-search-suggestions{display:block}header .search-box.search-active:focus-within input{background-color:#eee;border-color:#ddd}html.dark-mode header .search-box.search-active:focus-within input{background-color:#333}html.dark-mode header .search-box.search-active:focus-within input{border-color:#111}header .search-box.search-active:focus-within #header-search-box-button,header .search-box.search-active:focus-within input{color:#444}html.dark-mode header .search-box.search-active:focus-within #header-search-box-button,html.dark-mode header .search-box.search-active:focus-within input{color:#aaa}.logo{display:inline-flex;padding:6px 12px;margin:6px -12px;gap:12px;align-items:center;border-radius:4px}.logo:hover{color:#fff;text-decoration:none;background-color:hsla(0,0%,100%,.15)}.logo-text{font-size:1.8em;color:#fff;font-weight:400;line-height:1}.logo-image{height:43px}.mobile-menu-toggle{color:#fff;fill:#fff;font-size:2em;border:2px solid hsla(0,0%,100%,.8);border-radius:4px;padding:0 6px;line-height:1;cursor:pointer;user-select:none}.mobile-menu-toggle svg{margin:0;bottom:-2px}@media screen and (max-width: 1000px){header .header-links{background-color:#fff;display:none;z-index:10;inset-inline-end:16px;border-radius:4px;overflow:hidden;position:absolute;box-shadow:0 2px 2px 1px rgba(0,0,0,.13);margin-top:16px;padding:6px 0}html.dark-mode header .header-links{background-color:#333}header .header-links.show{display:block}header .links a,header .dropdown-container ul li a,header .dropdown-container ul li button{text-align:start;display:grid;align-items:center;padding:8px 16px;gap:16px;color:#444;grid-template-columns:16px auto;line-height:1.4;color:#444}html.dark-mode header .links a,html.dark-mode header .dropdown-container ul li a,html.dark-mode header .dropdown-container ul li button{color:#eee}header .links a svg,header .dropdown-container ul li a svg,header .dropdown-container ul li button svg{margin-inline-end:12px;width:16px}header .links a:hover,header .dropdown-container ul li a:hover,header .dropdown-container ul li button:hover{background-color:var(--color-primary-light);color:var(--color-primary);text-decoration:none}header .links a:focus,header .dropdown-container ul li a:focus,header .dropdown-container ul li button:focus{background-color:#eee;outline-color:var(--color-primary);color:var(--color-primary)}html.dark-mode header .links a:focus,html.dark-mode header .dropdown-container ul li a:focus,html.dark-mode header .dropdown-container ul li button:focus{background-color:#333}header .dropdown-container{display:block;padding-inline-start:0}header .links{display:block}header .dropdown-container ul{display:block !important;position:relative;background-color:rgba(0,0,0,0);border:0;padding:0;margin:0;box-shadow:none}}.tri-layout-mobile-tabs{position:sticky;top:0;z-index:5;background-color:#fff;border-bottom:1px solid #ddd;border-bottom-color:#ddd;box-shadow:0 1px 6px -1px rgba(0,0,0,.1)}html.dark-mode .tri-layout-mobile-tabs{border-bottom-color:#333}.tri-layout-mobile-tab{text-align:center;border-bottom:3px solid #bbb;cursor:pointer;margin:0;background-color:#fff;border-bottom-color:#bbb}html.dark-mode .tri-layout-mobile-tab{background-color:#222}html.dark-mode .tri-layout-mobile-tab{border-bottom-color:#333}.tri-layout-mobile-tab:first-child{border-inline-end:1px solid #ddd;border-inline-end-color:#ddd}html.dark-mode .tri-layout-mobile-tab:first-child{border-inline-end-color:#000}.tri-layout-mobile-tab[aria-selected=true]{border-bottom-color:currentColor !important}.breadcrumbs{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;flex-wrap:wrap;opacity:.7}.breadcrumbs .icon-list-item{width:auto;padding-top:6px;padding-bottom:6px}.breadcrumbs .separator{display:inline-block;fill:#aaa;font-size:1.6em;line-height:.8;margin:-2px 0 0}.breadcrumbs:hover,.breadcrumbs:focus-within{opacity:1}@media(prefers-contrast: more){.breadcrumbs{opacity:1}}@media screen and (max-width: 1000px){.breadcrumbs .icon-list-item{padding:6px}.breadcrumbs .icon-list-item>span+span{display:none}.breadcrumbs .icon-list-item>span:first-child{margin-inline-end:0}}.faded a,.faded button,.faded span,.faded span>div{color:#666;fill:#666}.faded .text-button{opacity:.5;transition:all ease-in-out 120ms}.faded .text-button:hover{opacity:1;text-decoration:none}.faded span.faded-text{display:inline-block;padding:12px}footer{flex-shrink:0;padding:1rem 1rem 2rem 1rem;text-align:center}footer a{margin:0 .5em}body.flexbox footer{display:none}.book-contents .entity-list-item .icon{width:4px;border-radius:1px;justify-self:stretch;align-self:stretch;height:auto;margin-inline-end:6px}.book-contents .entity-list-item .icon:after{opacity:.5}.book-contents .entity-list-item .icon svg{display:none}.book-contents .entity-list-item p{margin-bottom:0}.book-contents .entity-list-item .inner-page{padding-top:0;padding-bottom:0}.entity-list-item+.chapter-expansion{display:flex;padding:0 16px 16px 16px;align-items:center;border:0;width:100%;position:relative}.entity-list-item+.chapter-expansion>.icon{width:4px;height:auto;border-radius:0 0 1px 1px;align-self:stretch;flex-shrink:0}.entity-list-item+.chapter-expansion>.icon:before{position:absolute;top:0;left:0;width:100%;height:1px;background-color:currentColor;content:"";opacity:.5}.entity-list-item+.chapter-expansion>.icon:after{opacity:.5}.entity-list-item+.chapter-expansion .icon svg{display:none}.entity-list-item+.chapter-expansion>.content{flex:1}.entity-list-item+.chapter-expansion .chapter-contents-toggle{border-radius:0 4px 4px 0;padding:6px 19px;width:100%;text-align:start}.entity-list-item+.chapter-expansion .chapter-contents-toggle:hover{background-color:rgba(0,0,0,.06)}.entity-list-item.has-children{padding-bottom:0}.entity-list-item.has-children>.icon{border-radius:4px 4px 0 0}.inset-list{display:none}.inset-list .entity-list-item-name{font-size:1rem}.inset-list .entity-list-item-children{padding-top:0;padding-bottom:0}.sidebar-page-nav{list-style:none;margin-block-start:12px;margin-block-end:16px;margin-inline-start:6px;margin-inline-end:0;position:relative}.sidebar-page-nav:after{content:"";display:block;position:absolute;left:0;background-color:rgba(0,0,0,.2);width:2px;top:5px;bottom:5px;z-index:0}html[dir=rtl] .sidebar-page-nav:after{left:auto;right:0}html.dark-mode .sidebar-page-nav:after{background-color:hsla(0,0%,100%,.2)}.sidebar-page-nav li{margin-bottom:4px;font-size:.95em;position:relative}.sidebar-page-nav .h1{padding-inline-start:16px}.sidebar-page-nav .h2{padding-inline-start:24px}.sidebar-page-nav .h3{padding-inline-start:32px}.sidebar-page-nav .h4{padding-inline-start:40px}.sidebar-page-nav .h5{padding-inline-start:48px}.sidebar-page-nav .h6{padding-inline-start:56px}.sidebar-page-nav .current-heading{font-weight:bold}.sidebar-page-nav li:not(.current-heading) .sidebar-page-nav-bullet{background-color:#bbb !important}html.dark-mode .sidebar-page-nav li:not(.current-heading) .sidebar-page-nav-bullet{background-color:#666 !important}.sidebar-page-nav .sidebar-page-nav-bullet{width:6px;height:6px;position:absolute;left:-2px;top:30%;border-radius:50%;box-shadow:0 0 0 6px #f2f2f2;box-shadow:0 0 0 6px #f2f2f2;z-index:1}html.dark-mode .sidebar-page-nav .sidebar-page-nav-bullet{box-shadow:0 0 0 6px #111}html[dir=rtl] .sidebar-page-nav .sidebar-page-nav-bullet{left:auto;right:-2px}.book-tree .sidebar-page-list{list-style:none;margin-block-start:6px;margin-block-end:0;margin-inline-start:-12px;margin-inline-end:-12px;padding-inline-start:0;padding-inline-end:0}.book-tree .sidebar-page-list ul{list-style:none;padding-inline-start:1rem;padding-inline-end:0}.book-tree .sidebar-page-list .entity-list-item{padding-top:2px;padding-bottom:2px;background-clip:content-box;border-radius:0 3px 3px 0;padding-inline-end:0}.book-tree .sidebar-page-list .entity-list-item .content{width:100%;padding-top:6px;padding-bottom:6px;max-width:calc(100% - 20px)}.book-tree .sidebar-page-list .entity-list-item.selected{background-color:rgba(0,0,0,.06)}html.dark-mode .book-tree .sidebar-page-list .entity-list-item.selected{background-color:hsla(0,0%,100%,.06)}.book-tree .sidebar-page-list .entity-list-item.no-hover{margin-top:-6px;padding-inline-end:0}.book-tree .sidebar-page-list .entity-list-item-name{font-size:1em;margin:0;margin-inline-end:16px}.book-tree .sidebar-page-list .chapter-child-menu{font-size:.8rem;margin-top:-0.2rem;margin-inline-start:-1rem}.book-tree .sidebar-page-list .chapter-contents-toggle{display:block;width:100%;text-align:start;padding:3px 12px 6px 12px;border-radius:0 3px 3px 0;line-height:1;margin-top:-3px;margin-bottom:-3px}.book-tree .sidebar-page-list .chapter-contents-toggle:hover{background-color:rgba(0,0,0,.06)}html.dark-mode .book-tree .sidebar-page-list .chapter-contents-toggle:hover{background-color:hsla(0,0%,100%,.06)}.book-tree .sidebar-page-list .entity-list-item .icon{z-index:2;width:4px;height:auto;align-self:stretch;flex-shrink:0;border-radius:1px;opacity:.8}.book-tree .sidebar-page-list .entity-list-item .icon:after{opacity:1}.book-tree .sidebar-page-list .entity-list-item .icon svg{display:none}.chapter-child-menu ul.sub-menu{display:none;padding-inline-start:0;position:relative;margin-bottom:0}.sortable-page-list,.sortable-page-sublist{list-style:none}.sort-box{margin-bottom:16px;padding:16px 32px;position:relative}.sort-box summary:focus{outline:1px dashed var(--color-primary);outline-offset:5px}.sort-box::before{pointer-events:none;content:"";border-radius:4px;opacity:.5;border:2px solid var(--color-book);display:block;top:0;bottom:0;left:0;right:0;position:absolute}.sort-box-options{display:flex;flex-wrap:wrap;justify-content:space-between}.sort-box-options .button{margin-inline-start:0}.sortable-page-list{margin-inline-start:0;padding:0}.sortable-page-list .entity-list-item>span:first-child{align-self:flex-start}.sortable-page-list .sortable-selected,.sortable-page-list .sortable-selected:hover{outline:1px dotted var(--color-primary);background-color:var(--color-primary-light) !important}.sortable-page-list .entity-list-item>div{display:block;flex:1}.sortable-page-list>ul{margin-inline-start:0}.sortable-page-list .sortable-page-sublist{margin-bottom:16px;margin-top:0;padding-inline-start:16px}.sortable-page-list li{background-color:#fff;border:1px solid;border-color:#ddd;margin-top:-1px;min-height:38px}html.dark-mode .sortable-page-list li{background-color:#222}html.dark-mode .sortable-page-list li{border-color:#666}.sortable-page-list li.text-page,.sortable-page-list li.text-chapter{border-inline-start:2px solid currentColor}.sortable-page-list li:first-child{margin-top:6px}.sortable-page-list li.placeholder{position:relative}.sortable-page-list li.placeholder:before{position:absolute}.sort-box summary{list-style:none;font-size:.9rem;cursor:pointer}.sort-box summary::-webkit-details-marker{display:none}details.sort-box summary .caret-container svg{transition:transform ease-in-out 120ms}details.sort-box[open] summary .caret-container svg{transform:rotate(90deg)}.sort-box-actions .icon-button{opacity:.6}.sort-box .flex-container-row:hover .sort-box-actions .icon-button,.sort-box .flex-container-row:focus-within .sort-box-actions .icon-button{opacity:1}.sort-box-actions .icon-button[disabled]{visibility:hidden}.sort-box-actions .dropdown-menu button[disabled]{display:none}.sort-list-handle{cursor:grab}.activity-list-item{padding:12px 0;display:grid;grid-template-columns:min-content 1fr;grid-column-gap:16px;font-size:.9em}.card .activity-list-item{padding-block:12px}.user-list-item{display:inline-grid;padding:12px;grid-template-columns:min-content 1fr;grid-column-gap:16px;font-size:.9em;align-items:center}.user-list-item>div:first-child{line-height:0}ul.pagination{display:inline-flex;list-style:none;margin:16px 0;padding-inline-start:1px}ul.pagination li:first-child a,ul.pagination li:first-child span{border-radius:3px 0 0 3px}ul.pagination li:last-child a,ul.pagination li:last-child span{border-radius:0 3px 3px 0}ul.pagination a,ul.pagination span{display:block;padding:3px 12px;border:1px solid #ccc;margin-inline-start:-1px;user-select:none;color:#555;border-color:#ccc}html.dark-mode ul.pagination a,html.dark-mode ul.pagination span{color:#eee}html.dark-mode ul.pagination a,html.dark-mode ul.pagination span{border-color:#666}ul.pagination li.disabled{cursor:not-allowed}ul.pagination li.active span{color:#111;background-color:rgba(0,0,0,.05)}html.dark-mode ul.pagination li.active span{color:#eee}html.dark-mode ul.pagination li.active span{background-color:rgba(0,0,0,.5)}.compact ul.pagination{margin:0}.entity-list,.icon-list{margin:0 -16px}.entity-list h4,.icon-list h4{margin:0}.entity-list hr,.icon-list hr{margin:0}.entity-list .text-small.text-muted,.icon-list .text-small.text-muted{color:#aaa;font-size:.75em;margin-top:6px}.entity-list .text-muted p.text-muted,.icon-list .text-muted p.text-muted{margin-top:0}.entity-list .page.draft .text-page,.icon-list .page.draft .text-page{color:var(--color-page-draft);fill:var(--color-page-draft)}.entity-list>.dropdown-container,.icon-list>.dropdown-container{display:block}.icon-list hr{margin:12px 16px;max-width:140px;opacity:.25;height:1.1px}.icon-list hr+hr,.icon-list hr:first-child,.icon-list hr:last-child{display:none}.entity-list-item,.icon-list-item{padding:12px 16px;display:flex;align-items:center;gap:16px;background-color:rgba(0,0,0,0);border:0;width:100%;position:relative;word-break:break-word}.entity-list-item h4 a,.icon-list-item h4 a{color:#666}.entity-list-item>span:first-child,.icon-list-item>span:first-child{flex-basis:1.88em;flex:none}.entity-list-item>span:last-child,.icon-list-item>span:last-child{flex:1;text-align:start}.entity-list-item>.content,.icon-list-item>.content{min-width:0}.entity-list-item:not(.no-hover),.icon-list-item:not(.no-hover){cursor:pointer}.entity-list-item:not(.no-hover):hover,.icon-list-item:not(.no-hover):hover{background-color:rgba(0,0,0,.06);text-decoration:none;border-radius:4px}html.dark-mode .entity-list-item:not(.no-hover):hover,html.dark-mode .icon-list-item:not(.no-hover):hover{background-color:hsla(0,0%,100%,.06)}.entity-list-item.outline-hover:hover,.icon-list-item.outline-hover:hover{background-color:rgba(0,0,0,0)}.entity-list-item:focus,.icon-list-item:focus{background-color:#eee;outline:1px dotted #666;outline-offset:-2px}html.dark-mode .entity-list-item:focus,html.dark-mode .icon-list-item:focus{background-color:#222}.entity-list-item.disabled{pointer-events:none;cursor:not-allowed;opacity:.8;user-select:none;background:var(--bg-disabled)}.entity-list-item-path-sep{display:inline-block;vertical-align:top;position:relative;top:1px}.entity-list-item-path-sep svg{margin-inline-end:0}.split-icon-list-item{display:flex;align-items:center;gap:16px;background-color:rgba(0,0,0,0);border:0;width:100%;position:relative;word-break:break-word;border-radius:4px}.split-icon-list-item>a{padding:12px 16px;display:flex;align-items:center;gap:16px;flex:1}.split-icon-list-item>a:hover{text-decoration:none}.split-icon-list-item .icon{flex-basis:1.88em;flex:none}.split-icon-list-item:hover{background-color:rgba(0,0,0,.06)}html.dark-mode .split-icon-list-item:hover{background-color:hsla(0,0%,100%,.06)}.icon-list-item-dropdown{margin-inline-start:auto;align-self:stretch;display:flex;align-items:stretch;border-inline-start:1px solid rgba(0,0,0,.1);visibility:hidden}.split-icon-list-item:hover .icon-list-item-dropdown,.split-icon-list-item:focus-within .icon-list-item-dropdown{visibility:visible}.icon-list-item-dropdown-toggle{padding:6px;display:flex;align-items:center;cursor:pointer;color:#888}html.dark-mode .icon-list-item-dropdown-toggle{color:#999}.icon-list-item-dropdown-toggle svg{margin:0}.icon-list-item-dropdown-toggle:hover{background-color:rgba(0,0,0,.06)}html.dark-mode .icon-list-item-dropdown-toggle:hover{background-color:hsla(0,0%,100%,.06)}.card .entity-list-item:not(.no-hover,.book-contents .entity-list-item):hover{background-color:#f2f2f2;border-radius:0}html.dark-mode .card .entity-list-item:not(.no-hover,.book-contents .entity-list-item):hover{background-color:#2d2d2d}.card .entity-list-item .entity-list-item:hover{background-color:#eee}.entity-list-item-children{padding:16px 24px}.entity-list-item-children>div{overflow:hidden;padding:0 0 6px 0}.entity-list-item-children .entity-chip{text-overflow:ellipsis;height:2.5em;overflow:hidden;text-align:start;display:block;white-space:nowrap}.entity-list-item-children>.entity-list>.entity-list-item:last-child{margin-bottom:-6px}.entity-list-item-image{align-self:stretch;width:140px;flex:none;background-size:cover;background-position:50% 50%;border-radius:3px;position:relative;margin-inline-end:24px}.entity-list-item-image.entity-list-item-image-wide{width:220px}.entity-list-item-image .svg-icon{color:#fff;font-size:1.66rem;margin-inline-end:0;position:absolute;bottom:6px;left:6px}html.dark-mode .entity-list-item-image .svg-icon{color:hsla(0,0%,100%,.6)}@media screen and (max-width: 880px){.entity-list-item-image{width:80px}}.chapter>.entity-list-item-image{width:60px}.entity-list.compact{font-size:8.4px}.entity-list.compact h4,.entity-list.compact a{line-height:1.2}.entity-list.compact .entity-item-snippet{display:none}.entity-list.compact .entity-list-item p{font-size:11.2px;padding-top:6px}.entity-list.compact .entity-list-item p:empty{padding-top:0}.entity-list.compact p{margin:0}.entity-list.compact>p.empty-text{display:block;font-size:14px}.entity-list.compact hr{margin:0}@media screen and (max-width: 880px){.entity-list.compact h4{font-size:1.666em}}.entity-item-tags{font-size:.75rem;opacity:1}.entity-item-tags .primary-background-light{background:rgba(0,0,0,0)}.entity-item-tags .tag-name{background-color:rgba(0,0,0,.05)}.dropdown-container{display:inline-block;vertical-align:top;position:relative}.dropdown-menu{display:none;position:absolute;z-index:999;top:0;list-style:none;inset-inline-end:0;margin:16px 0;background-color:#fff;box-shadow:0 1px 6px 0 rgba(0,0,0,.18);border-radius:3px;min-width:180px;padding:6px 0;color:#555;fill:currentColor;text-align:start !important;max-height:500px;overflow-y:auto}html.dark-mode .dropdown-menu{background-color:#333}html.dark-mode .dropdown-menu{color:#eee}.dropdown-menu.anchor-left{inset-inline-end:auto;inset-inline-start:0}.dropdown-menu.wide{min-width:220px}.dropdown-menu.xl-limited{width:280px;max-width:100%}.dropdown-menu .text-muted{color:#999;fill:#999}.dropdown-menu li.active a{font-weight:600}.dropdown-menu button{width:100%;text-align:start}.dropdown-menu li.border-bottom{border-bottom:1px solid #ddd}.dropdown-menu li hr{margin:6px 0}.dropdown-menu .icon-item,.dropdown-menu .text-item,.dropdown-menu .label-item{padding:8px 16px;color:#555;fill:currentColor;white-space:nowrap;line-height:1.4;cursor:pointer}html.dark-mode .dropdown-menu .icon-item,html.dark-mode .dropdown-menu .text-item,html.dark-mode .dropdown-menu .label-item{color:#eee}.dropdown-menu .icon-item.break-text,.dropdown-menu .text-item.break-text,.dropdown-menu .label-item.break-text{white-space:normal;word-wrap:break-word;overflow-wrap:break-word}.dropdown-menu .icon-item:hover,.dropdown-menu .icon-item:focus,.dropdown-menu .text-item:hover,.dropdown-menu .text-item:focus,.dropdown-menu .label-item:hover,.dropdown-menu .label-item:focus{text-decoration:none;background-color:var(--color-primary-light);color:var(--color-primary)}.dropdown-menu .icon-item:focus,.dropdown-menu .text-item:focus,.dropdown-menu .label-item:focus{outline:1px solid var(--color-primary);outline-offset:-2px}.dropdown-menu .icon-item svg,.dropdown-menu .text-item svg,.dropdown-menu .label-item svg{margin-inline-end:12px;display:inline-block;width:16px}.dropdown-menu .text-item{display:block}.dropdown-menu .label-item{display:grid;align-items:center;grid-template-columns:auto min-content;gap:16px}.dropdown-menu .label-item>*:nth-child(2){opacity:.7}.dropdown-menu .label-item>*:nth-child(2):hover{opacity:1}.dropdown-menu .icon-item{display:grid;align-items:start;grid-template-columns:16px auto;gap:16px}.dropdown-menu .icon-item svg{margin-inline-end:0;margin-block-start:1px}.tri-layout-right .dropdown-menu,.tri-layout-left .dropdown-menu{inset-inline-end:6px}.featured-image-container{position:relative;overflow:hidden;min-height:140px;background-size:cover;background-position:50% 50%;transition:opacity ease-in-out 240ms}.featured-image-container a{display:block}.featured-image-container img{display:block;width:100%;max-width:100%;height:auto}.featured-image-container-wrap{position:relative}.featured-image-container-wrap .svg-icon{color:#fff;font-size:2rem;margin-inline-end:0;position:absolute;bottom:10px;left:6px}html.dark-mode .featured-image-container-wrap .svg-icon{color:hsla(0,0%,100%,.6)}.grid-card:hover .featured-image-container{opacity:.5}.action-link{background:rgba(0,0,0,0);border:none;color:currentColor;padding:16px 0}.active-link-list a{display:inline-block;padding:12px}.active-link-list a:not(.active){color:#444}html.dark-mode .active-link-list a:not(.active){color:#888}.active-link-list a:hover{background-color:rgba(0,0,0,.05);border-radius:4px;text-decoration:none}html.dark-mode .active-link-list a:hover{background-color:hsla(0,0%,100%,.05)}.active-link-list.in-sidebar a{display:block;margin-bottom:6px}.active-link-list.in-sidebar a.active{border-radius:4px;background-color:rgba(0,0,0,.05)}html.dark-mode .active-link-list.in-sidebar a.active{background-color:hsla(0,0%,100%,.05)}.entity-meta-item{display:flex;line-height:1.2;margin:.6em 0;align-content:start;gap:12px}.entity-meta-item a{line-height:1.2}.entity-meta-item svg{flex-shrink:0;width:1em;margin:0}.page-editor{display:flex;flex-direction:column;align-items:stretch}.page-editor .edit-area{flex:1;flex-direction:column;z-index:10;border-radius:0 0 8px 8px}.page-editor .mce-tinymce{box-shadow:none}.page-editor .mce-top-part::before{box-shadow:none}.page-editor-page-area{width:100%;border-radius:8px;box-shadow:0 1px 6px -1px rgba(0,0,0,.1);min-width:300px;background-color:#fff}html.dark-mode .page-editor-page-area{background-color:#333}.page-edit-toolbar{width:100%;margin:0 auto;display:grid;grid-template-columns:minmax(max-content, 2fr) 1.5fr minmax(max-content, 2fr);align-items:center}@media screen and (min-width: 1401px){.page-editor-wysiwyg2024 .page-edit-toolbar,.page-editor-wysiwyg2024 .page-editor-page-area,.page-editor-wysiwyg .page-edit-toolbar,.page-editor-wysiwyg .page-editor-page-area{max-width:1140px}.page-editor-wysiwyg .floating-toolbox,.page-editor-wysiwyg2024 .floating-toolbox{position:absolute}}@media screen and (max-width: 880px){.page-edit-toolbar{display:flex;flex-direction:row;justify-content:space-between}}.title-input.page-title{font-size:.8em}.title-input.page-title .input{border:0;margin-bottom:-1px}.title-input.page-title input[type=text]{max-width:840px;margin:0 auto;border:none;height:auto;display:block;width:100%;font-size:20px;border-radius:8px}.title-input.page-title input[type=text]:focus{position:relative;outline-offset:-1px;outline:1px dashed var(--color-primary);box-shadow:0 1px 6px -1px rgba(0,0,0,.1);z-index:50}.page-editor-markdown .title-input.page-title input[type=text]{max-width:100%}body.tox-fullscreen .page-editor .edit-area,body.markdown-fullscreen .page-editor .edit-area{z-index:12}body.tox-fullscreen .page-editor,body.tox-fullscreen .flex-fill,body.markdown-fullscreen .page-editor,body.markdown-fullscreen .flex-fill{overflow:visible}@media screen and (max-width: 600px){.page-edit-toolbar{overflow-x:scroll;overflow-y:visible}.page-edit-toolbar{white-space:nowrap}.page-edit-toolbar>div{display:inline-block}}.page-save-mobile-button{position:fixed;z-index:30;border-radius:50%;width:52px;height:52px;font-size:26px;inset-inline-end:6px;bottom:12px;box-shadow:0 2px 2px 1px rgba(0,0,0,.13);background-color:currentColor;text-align:center}.page-save-mobile-button svg{fill:#fff;margin-inline-end:0}.draft-notification{pointer-events:none;transform:scale(0);transition:transform ease-in-out 120ms;transform-origin:50% 50%}.draft-notification.visible{transform:scale(1)}.page-style.editor{padding:0 !important}.pointer-container{position:fixed;display:none;left:0;z-index:10}.pointer{border:1px solid #ccc;border-color:#ccc;border-radius:4px;box-shadow:0 0 12px 1px rgba(0,0,0,.1);background-color:#fff;width:275px}html.dark-mode .pointer{border-color:#000}html.dark-mode .pointer{background-color:#333}.pointer.is-page-editable{width:328px}.pointer:before{position:absolute;left:50%;bottom:-9px;width:16px;height:16px;margin-inline-start:-8px;content:"";display:block;transform:rotate(45deg);transform-origin:50% 50%;border-right:1px solid #ccc;border-bottom:1px solid #ccc;z-index:56;background-color:#fff;border-color:#ccc}html.dark-mode .pointer:before{background-color:#333}html.dark-mode .pointer:before{border-color:#000}.pointer input,.pointer button,.pointer a{position:relative;border-radius:0;height:28px;font-size:12px;vertical-align:top;padding:5px 16px}.pointer input{background-color:#fff;border:1px solid #ddd;border-color:#ddd;color:#666;width:160px;z-index:40;padding:5px 10px}html.dark-mode .pointer input{border-color:#000}.pointer .text-button{color:#444}html.dark-mode .pointer .text-button{color:#aaa}.pointer .input-group .button{line-height:1;margin:0 0 0 -4px;box-shadow:none}.pointer a.button{margin:0}.pointer .svg-icon{width:1.2em;height:1.2em}.pointer .button{border-color:#ddd}html.dark-mode .pointer .button{border-color:#000}.floating-toolbox{background-color:#fff;overflow:hidden;align-items:stretch;flex-direction:row;display:flex;max-height:100%;border-radius:8px;box-shadow:0 1px 6px -1px rgba(0,0,0,.1);margin-bottom:auto;margin-inline-start:24px;position:relative}html.dark-mode .floating-toolbox{background-color:#222}.floating-toolbox.open{position:relative;right:0;max-width:480px;margin-bottom:0}.floating-toolbox:not(.open) .toolbox-tab-content{display:none !important}.floating-toolbox .toolbox-toggle svg{transition:transform ease-in-out 180ms}.floating-toolbox .toolbox-toggle{transition:background-color ease-in-out 180ms}.floating-toolbox.open .toolbox-toggle{background-color:rgba(255,0,0,.2)}.floating-toolbox.open .toolbox-toggle svg{transform:rotate(180deg)}.floating-toolbox>div{flex:1;position:relative}.floating-toolbox .tabs{border-inline-end:1px solid #ddd;border-inline-end-color:#ddd;width:40px;flex:0 1 auto;margin-inline-end:-1px}html.dark-mode .floating-toolbox .tabs{border-inline-end-color:#000}.floating-toolbox .tabs-inner{background-color:#fff}html.dark-mode .floating-toolbox .tabs-inner{background-color:#222}.floating-toolbox .tabs svg{padding:0;margin:0}.floating-toolbox .tabs-inner>button{color:rgba(0,0,0,.7);display:block;cursor:pointer;padding:10px 6px;font-size:18px;line-height:1.6}html.dark-mode .floating-toolbox .tabs-inner>button{color:hsla(0,0%,100%,.5)}.floating-toolbox .tabs-inner>button:hover,.floating-toolbox.open .tabs-inner>button.active{color:var(--color-link) !important;position:relative}.floating-toolbox .tabs-inner>button:hover:after,.floating-toolbox.open .tabs-inner>button.active:after{content:"";display:block;position:absolute;left:0;width:100%;top:0;height:100%;background-color:currentColor;opacity:.075}.floating-toolbox.open .tabs-inner>button.active{border-inline-end:1px solid var(--color-link);margin-inline-end:-1px}.floating-toolbox h4{font-size:24px;margin:16px 0 0 0;padding:0 24px 12px 24px}.floating-toolbox .tags input{max-width:100%;width:100%;min-width:50px}.floating-toolbox .tags td,.floating-toolbox .inline-start-table>div>div>div{padding-inline-end:12px;padding-top:12px;position:relative}.floating-toolbox .handle{user-select:none;cursor:move;fill:#999}.floating-toolbox form{display:flex;flex:1;flex-direction:column;overflow-y:scroll}.floating-toolbox table td,.floating-toolbox table th{overflow:visible}@media screen and (max-width: 1400px){.floating-toolbox{margin-inline-start:12px}}@media screen and (max-width: 600px){.page-editor-page-area-wrap{margin:4px !important}.floating-toolbox{margin-inline-start:4px}.floating-toolbox .tabs{width:32px}.floating-toolbox .tabs-inner>button{font-size:12px}.page-edit-toolbar{padding-block:0 !important}.page-editor.toolbox-open .page-editor-page-area{display:none}}.toolbox-tab-content{display:none;overflow-y:auto;padding-bottom:45px}.suggestion-box{top:auto;margin:-4px 0 0;right:auto;left:0;padding:0}.suggestion-box li{display:block;border-bottom:1px solid #ddd}.suggestion-box li:last-child{border-bottom:0}.comments-container h5{color:#888;font-weight:normal;margin-top:.5em}.comment-editor .CodeMirror,.comment-editor .CodeMirror-scroll{min-height:175px}.mce-floatpanel[aria-label="Insert/edit media"] .mce-open{display:none}.entity-list-item>span:first-child,.icon-list-item>span:first-child,.split-icon-list-item>a>.icon,.chapter-expansion>.icon{font-size:.8rem;width:1.88em;height:1.88em;flex-shrink:0;display:flex;align-items:center;justify-content:center;text-align:center;border-radius:1em;position:relative;overflow:hidden}.entity-list-item>span:first-child svg,.icon-list-item>span:first-child svg,.split-icon-list-item>a>.icon svg,.chapter-expansion>.icon svg{margin:0;bottom:0}.entity-list-item>span:first-child:after,.icon-list-item>span:first-child:after,.split-icon-list-item>a>.icon:after,.chapter-expansion>.icon:after{content:"";position:absolute;background-color:currentColor;opacity:.2;left:0;top:0;width:100%;height:100%}.entity-chip{display:inline-block;align-items:center;justify-content:center;text-align:center;font-size:.9em;border-radius:3px;position:relative;overflow:hidden;padding:6px 12px;fill:currentColor;opacity:.85;transition:opacity ease-in-out 120ms}.entity-chip:after{content:"";position:absolute;background-color:currentColor;opacity:.15;left:0;top:0;width:100%;height:100%}.entity-chip:hover{text-decoration:none;opacity:1}@media(prefers-contrast: more){.entity-chip{opacity:1}}.page-content{width:100%;max-width:840px;margin:0 auto;overflow-wrap:break-word}.page-content .align-left{text-align:left}.page-content img.align-left,.page-content table.align-left,.page-content iframe.align-left,.page-content video.align-left{float:left !important;margin:6px 16px 16px 0}.page-content .align-right{text-align:right !important}.page-content img.align-right,.page-content table.align-right,.page-content iframe.align-right,.page-content video.align-right{float:right !important;margin:6px 0 6px 12px}.page-content .align-center{text-align:center}.page-content img.align-center,.page-content video.align-center,.page-content iframe.align-center{display:block}.page-content img.align-center,.page-content table.align-center,.page-content iframe.align-center,.page-content video.align-center{margin-left:auto;margin-right:auto}.page-content .align-justify{text-align:justify}.page-content h1,.page-content h2,.page-content h3,.page-content h4,.page-content h5,.page-content h6,.page-content pre{clear:left}.page-content hr{clear:both;margin:16px 0}.page-content table{hyphens:auto;table-layout:fixed;max-width:100%;height:auto !important}.page-content ins,.page-content del{text-decoration:none}.page-content ins{background:#dbffdb}.page-content del{background:#ffecec}.page-content details{border:1px solid;border-color:#ddd;margin-bottom:1em;padding:12px}html.dark-mode .page-content details{border-color:#555}.page-content details>summary{margin-top:-12px;margin-left:-12px;margin-right:-12px;margin-bottom:-12px;font-weight:bold;background-color:#eee;padding:6px 12px}html.dark-mode .page-content details>summary{background-color:#333}.page-content details[open]>summary{margin-bottom:12px;border-bottom:1px solid;border-color:#ddd}html.dark-mode .page-content details[open]>summary{border-color:#555}.page-content details>summary+*{margin-top:.2em}.page-content details:after{content:"";display:block;clear:both}.page-content li>input[type=checkbox]{vertical-align:top;margin-top:.3em}.page-content p:empty{min-height:1.6em}.page-content.page-revision pre code{white-space:pre-wrap}.page-content .cm-editor{margin-bottom:1.375em}.page-content video,.page-content iframe{max-width:100%}.page-content a{text-decoration:underline}body .page-content img,.page-content img:not([data-mce-object]){max-width:100%;height:auto}.callout{border-left:3px solid #bbb;border-inline-start:3px solid #bbb;border-inline-end:none;background-color:#eee;padding:12px;padding-left:32px;padding-inline-start:32px;padding-inline-end:12px;display:block;position:relative;overflow:auto}.callout:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9IiMwMTUzODAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+ICAgIDxwYXRoIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiLz4gICAgPHBhdGggZD0iTTEyIDJDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6bTEgMTVoLTJ2LTZoMnY2em0wLThoLTJWN2gydjJ6Ii8+PC9zdmc+");background-repeat:no-repeat;content:"";width:1.2em;height:1.2em;left:8px;inset-inline-start:8px;inset-inline-end:unset;top:50%;margin-top:-9px;display:inline-block;position:absolute;line-height:1;opacity:.8}.callout.success{border-color:#0f7d15;background-color:#eafdeb;color:#063409}html.dark-mode .callout.success{border-color:#4aa850}html.dark-mode .callout.success{background-color:#122913}html.dark-mode .callout.success{color:#4aa850}.callout.success:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9IiMzNzZjMzkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+ICAgIDxwYXRoIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiLz4gICAgPHBhdGggZD0iTTEyIDJDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6bS0yIDE1bC01LTUgMS40MS0xLjQxTDEwIDE0LjE3bDcuNTktNy41OUwxOSA4bC05IDl6Ii8+PC9zdmc+")}.callout.danger{border-color:#ab0f0e;background-color:#fcdbdb;color:#4d0706}html.dark-mode .callout.danger{border-color:#e85c5b}html.dark-mode .callout.danger{background-color:#250505}html.dark-mode .callout.danger{color:#e85c5b}.callout.danger:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9IiNiOTE4MTgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+ICAgIDxwYXRoIGQ9Ik0xNS43MyAzSDguMjdMMyA4LjI3djcuNDZMOC4yNyAyMWg3LjQ2TDIxIDE1LjczVjguMjdMMTUuNzMgM3pNMTIgMTcuM2MtLjcyIDAtMS4zLS41OC0xLjMtMS4zIDAtLjcyLjU4LTEuMyAxLjMtMS4zLjcyIDAgMS4zLjU4IDEuMyAxLjMgMCAuNzItLjU4IDEuMy0xLjMgMS4zem0xLTQuM2gtMlY3aDJ2NnoiLz4gICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPjwvc3ZnPg==")}.callout.info{border-color:#0288d1;background-color:#d3efff;color:#01466c}html.dark-mode .callout.info{border-color:#0288d1}html.dark-mode .callout.info{background-color:#001825}html.dark-mode .callout.info{color:#0288d1}.callout.warning{border-color:#cf4d03;background-color:#fee3d3;color:#6a2802}html.dark-mode .callout.warning{border-color:#de8a5a}html.dark-mode .callout.warning{background-color:#30170a}html.dark-mode .callout.warning{color:#de8a5a}.callout.warning:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9IiNiNjUzMWMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+ICAgIDxwYXRoIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiLz4gICAgPHBhdGggZD0iTTEgMjFoMjJMMTIgMiAxIDIxem0xMi0zaC0ydi0yaDJ2MnptMC00aC0ydi00aDJ2NHoiLz48L3N2Zz4=")}.callout a{color:inherit;text-decoration:underline}@media print{html,body{font-size:12px;background-color:#fff}.page-content{margin:0 auto}.print-hidden{display:none !important}.tri-layout-container{grid-template-columns:1fr;grid-template-areas:"b";margin-inline-start:0;margin-inline-end:0;display:block}.card{box-shadow:none}.content-wrap.card{padding-inline-start:0;padding-inline-end:0}}.dragged{position:absolute;opacity:.5;z-index:2000}body.dragging,body.dragging *{cursor:move !important}.avatar{border-radius:100%;background-color:#eee;width:30px;height:30px}html.dark-mode .avatar{background-color:#000}.avatar.med{width:40px;height:40px}.avatar.large{width:80px;height:80px}.avatar.huge{width:120px;height:120px}.avatar.square{border-radius:3px}html.dark-mode .avatar[src$="user_avatar.png"]{filter:invert(1)}.loading-container{position:relative;display:block;margin:32px auto}.loading-container>div{width:10px;height:10px;border-radius:10px;display:inline-block;vertical-align:top;transform:translate3d(-10px, 0, 0);margin-top:6px;animation-name:loadingBob;animation-duration:1.4s;animation-iteration-count:infinite;animation-timing-function:cubic-bezier(0.62, 0.28, 0.23, 0.99);margin-inline-end:4px;background-color:var(--color-page);animation-delay:-300ms}.loading-container>div:first-child{left:-16px;background-color:var(--color-book);animation-delay:-600ms}.loading-container>div:last-of-type{left:16px;background-color:var(--color-chapter);animation-delay:0ms}.loading-container>span{margin-inline-start:12px;font-style:italic;color:#888;vertical-align:top}.inline.block .loading-container{margin:6px 12px}.skip-to-content-link{position:fixed;top:-52px;left:0;background-color:#fff;z-index:15;border-radius:0 4px 4px 0;display:block;box-shadow:0 0 4px 1px rgba(0,0,0,.5);font-weight:bold}.skip-to-content-link:focus{top:32px;outline-offset:-10px;outline:2px dotted var(--color-link)}.entity-selector{border:1px solid #ddd;border-color:#ddd;border-radius:3px;overflow:hidden;font-size:.8em}html.dark-mode .entity-selector{border-color:#111}.entity-selector input[type=text]{width:100%;display:block;border-radius:0;border:0;border-bottom:1px solid #ddd;font-size:16px;padding:12px 16px}.entity-selector input[type=text]:focus{outline:1px solid var(--color-primary);border-radius:3px 3px 0 0;outline-offset:-1px}.entity-selector .entity-list{overflow-y:scroll;height:400px;background-color:#eee;margin-inline-end:0;margin-inline-start:0}html.dark-mode .entity-selector .entity-list{background-color:#222}.entity-selector .entity-list-item{background-color:#fff}html.dark-mode .entity-selector .entity-list-item{background-color:#222}.entity-selector .entity-list-item p{margin-bottom:0}.entity-selector .entity-list-item:focus{outline:2px dotted var(--color-primary);outline-offset:-4px}.entity-selector .entity-list-item.selected{background-color:rgba(0,0,0,.05)}html.dark-mode .entity-selector .entity-list-item.selected{background-color:hsla(0,0%,100%,.05)}.entity-selector .loading{height:400px;padding-top:24px}.entity-selector.compact{font-size:10px}.entity-selector.compact .entity-item-snippet{display:none}.entity-selector.compact h4{font-size:14px}.entity-selector.small .entity-list-item{padding:6px 16px}.entity-selector.small .entity-list,.entity-selector.small .loading{height:300px}.entity-selector.small input[type=text]{font-size:13px;padding:6px 16px;height:auto}.fullscreen{border:0;position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:100%;z-index:150}@media screen and (min-width: 601px)and (max-width: 880px){#home-default>.grid.third{display:block;columns:2;column-gap:24px !important}}.list-sort-container{display:inline-block}.list-sort-container form{display:inline-block}.list-sort-container .list-sort{display:inline-grid;margin-inline-start:12px;grid-template-columns:minmax(120px, max-content) 40px;font-size:.9rem;border:2px solid #ddd;border-color:#ddd;border-radius:4px}html.dark-mode .list-sort-container .list-sort{border-color:#444}.list-sort-container .list-sort-label{font-weight:bold;display:inline-block;color:#555}html.dark-mode .list-sort-container .list-sort-label{color:#888}.list-sort-container .list-sort-type{text-align:start}.list-sort-container .list-sort-type,.list-sort-container .list-sort-dir{padding:6px 12px;cursor:pointer}.list-sort-container .list-sort-dir{border-inline-start:2px solid #ddd;color:#888;border-color:#ddd}html.dark-mode .list-sort-container .list-sort-dir{border-color:#444}.list-sort-container .list-sort-dir .svg-icon{transition:transform ease-in-out 120ms}.list-sort-container .list-sort-dir:hover .svg-icon{transform:rotate(180deg)}.import-item{border-inline-start:2px solid currentColor;padding-inline-start:6px}/*# sourceMappingURL=styles.css.map */ diff --git a/public/dist/wysiwyg.js b/public/dist/wysiwyg.js index 4482cb0ae..fddd5dc9f 100644 --- a/public/dist/wysiwyg.js +++ b/public/dist/wysiwyg.js @@ -1,21 +1,31 @@ // See the "/licenses" URI for full package license details -function I(o){return __DEV__?{type:o}:{}}var ve=I("SELECTION_CHANGE_COMMAND"),jn=I("SELECTION_INSERT_CLIPBOARD_NODES_COMMAND"),Jn=I("CLICK_COMMAND"),Ze=I("DELETE_CHARACTER_COMMAND"),It=I("INSERT_LINE_BREAK_COMMAND"),$t=I("INSERT_PARAGRAPH_COMMAND"),rt=I("CONTROLLED_TEXT_INSERTION_COMMAND"),oo=I("PASTE_COMMAND"),ln=I("REMOVE_TEXT_COMMAND"),Tt=I("DELETE_WORD_COMMAND"),it=I("DELETE_LINE_COMMAND"),Ne=I("FORMAT_TEXT_COMMAND"),no=I("UNDO_COMMAND"),ro=I("REDO_COMMAND"),Ms=I("KEYDOWN_COMMAND"),So=I("KEY_ARROW_RIGHT_COMMAND"),vs=I("MOVE_TO_END"),Lo=I("KEY_ARROW_LEFT_COMMAND"),ws=I("MOVE_TO_START"),Mo=I("KEY_ARROW_UP_COMMAND"),Pt=I("KEY_ARROW_DOWN_COMMAND"),Fe=I("KEY_ENTER_COMMAND"),Qn=I("KEY_SPACE_COMMAND"),Bt=I("KEY_BACKSPACE_COMMAND"),vo=I("KEY_ESCAPE_COMMAND"),Ft=I("KEY_DELETE_COMMAND"),wo=I("KEY_TAB_COMMAND"),Ds=I("INSERT_TAB_COMMAND"),eh=I("INDENT_CONTENT_COMMAND"),th=I("OUTDENT_CONTENT_COMMAND"),Do=I("DROP_COMMAND"),Os=I("FORMAT_ELEMENT_COMMAND"),er=I("DRAGSTART_COMMAND"),tr=I("DRAGOVER_COMMAND"),As=I("DRAGEND_COMMAND"),io=I("COPY_COMMAND"),so=I("CUT_COMMAND"),an=I("SELECT_ALL_COMMAND"),Rs=I("CLEAR_EDITOR_COMMAND"),ks=I("CLEAR_HISTORY_COMMAND"),lo=I("CAN_REDO_COMMAND"),ao=I("CAN_UNDO_COMMAND"),or=I("FOCUS_COMMAND"),Is=I("BLUR_COMMAND"),$s=I("KEY_MODIFIER_COMMAND");var fe=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";var oh=fe&&"documentMode"in document?document.documentMode:null,He=fe&&/Mac|iPod|iPhone|iPad/.test(navigator.platform),Ke=fe&&/^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent),co=fe&&"InputEvent"in window&&!oh?"getTargetRanges"in new window.InputEvent("input"):!1,Ht=fe&&/Version\/[\d.]+.*Safari/.test(navigator.userAgent),_t=fe&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,Qa=fe&&/Android/.test(navigator.userAgent),Ps=fe&&/^(?=.*Chrome).*/i.test(navigator.userAgent),Bs=fe&&Qa&&Ps,Kt=fe&&/AppleWebKit\/[\d.]+/.test(navigator.userAgent)&&!Ps;var uo=1,Ue=3,Ct=0,Fs=1,Ut=2,ec=0,jr=1,Jr=2,nr=1,rr=2,cn=4,dn=8,ir=16,sr=32,lr=64,ar=128,Hs=nr|rr|cn|dn|ir|sr|lr|ar,Qr=1,un=2,nh=1,rh=2,ih=3,sh=4,lh=5,ah=6,tc="\xA0",ch="\u200B",fn=Ht||_t||Kt?tc:ch,Ve=` +function $(o){return __DEV__?{type:o}:{}}var we=$("SELECTION_CHANGE_COMMAND"),er=$("SELECTION_INSERT_CLIPBOARD_NODES_COMMAND"),tr=$("CLICK_COMMAND"),Ze=$("DELETE_CHARACTER_COMMAND"),$t=$("INSERT_LINE_BREAK_COMMAND"),Pt=$("INSERT_PARAGRAPH_COMMAND"),rt=$("CONTROLLED_TEXT_INSERTION_COMMAND"),no=$("PASTE_COMMAND"),cn=$("REMOVE_TEXT_COMMAND"),Tt=$("DELETE_WORD_COMMAND"),it=$("DELETE_LINE_COMMAND"),Ne=$("FORMAT_TEXT_COMMAND"),ro=$("UNDO_COMMAND"),io=$("REDO_COMMAND"),Ds=$("KEYDOWN_COMMAND"),Lo=$("KEY_ARROW_RIGHT_COMMAND"),Os=$("MOVE_TO_END"),Mo=$("KEY_ARROW_LEFT_COMMAND"),As=$("MOVE_TO_START"),wo=$("KEY_ARROW_UP_COMMAND"),Bt=$("KEY_ARROW_DOWN_COMMAND"),Fe=$("KEY_ENTER_COMMAND"),or=$("KEY_SPACE_COMMAND"),Ft=$("KEY_BACKSPACE_COMMAND"),vo=$("KEY_ESCAPE_COMMAND"),Ht=$("KEY_DELETE_COMMAND"),Do=$("KEY_TAB_COMMAND"),Rs=$("INSERT_TAB_COMMAND"),ph=$("INDENT_CONTENT_COMMAND"),gh=$("OUTDENT_CONTENT_COMMAND"),Oo=$("DROP_COMMAND"),nr=$("DRAGSTART_COMMAND"),rr=$("DRAGOVER_COMMAND"),ks=$("DRAGEND_COMMAND"),so=$("COPY_COMMAND"),lo=$("CUT_COMMAND"),dn=$("SELECT_ALL_COMMAND"),Is=$("CLEAR_EDITOR_COMMAND"),$s=$("CLEAR_HISTORY_COMMAND"),ao=$("CAN_REDO_COMMAND"),co=$("CAN_UNDO_COMMAND"),ir=$("FOCUS_COMMAND"),Ps=$("BLUR_COMMAND"),Bs=$("KEY_MODIFIER_COMMAND");var fe=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";var hh=fe&&"documentMode"in document?document.documentMode:null,He=fe&&/Mac|iPod|iPhone|iPad/.test(navigator.platform),Ke=fe&&/^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent),uo=fe&&"InputEvent"in window&&!hh?"getTargetRanges"in new window.InputEvent("input"):!1,Kt=fe&&/Version\/[\d.]+.*Safari/.test(navigator.userAgent),Ct=fe&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,sc=fe&&/Android/.test(navigator.userAgent),Fs=fe&&/^(?=.*Chrome).*/i.test(navigator.userAgent),Hs=fe&&sc&&Fs,Ut=fe&&/AppleWebKit\/[\d.]+/.test(navigator.userAgent)&&!Fs;var fo=1,Ue=3,_t=0,Ks=1,zt=2,lc=0,Qr=1,ei=2,sr=1,lr=2,un=4,fn=8,ar=16,cr=32,dr=64,ur=128,Us=sr|lr|un|fn|ar|cr|dr|ur,ti=1,mn=2;var ac="\xA0",Nh="\u200B",pn=Kt||Ct||Ut?ac:Nh,Ve=` -`,oc=Ke?tc:fn,nc="\u0591-\u07FF\uFB1D-\uFDFD\uFE70-\uFEFC",rc="A-Za-z\xC0-\xD6\xD8-\xF6\xF8-\u02B8\u0300-\u0590\u0800-\u1FFF\u200E\u2C00-\uFB1C\uFE00-\uFE6F\uFEFD-\uFFFF",dh=new RegExp("^[^"+rc+"]*["+nc+"]"),uh=new RegExp("^[^"+nc+"]*["+rc+"]"),Xe={bold:nr,code:ir,highlight:ar,italic:rr,strikethrough:cn,subscript:sr,superscript:lr,underline:dn},ic={directionless:Qr,unmergeable:un};var aT={[rh]:"center",[ah]:"end",[sh]:"justify",[nh]:"left",[ih]:"right",[lh]:"start"},sc={normal:ec,segmented:Jr,token:jr},lc={[ec]:"normal",[Jr]:"segmented",[jr]:"token"};function x(o,e,...t){if(!o)throw new Error("Internal Lexical error: invariant() is meant to be replaced at compile time. There is no runtime version. Error: "+e)}function yt(...o){let e=[];for(let t of o)if(t&&typeof t=="string")for(let[n]of t.matchAll(/\S+/g))e.push(n);return e}var fh=100,Us=!1,zs=0;function ac(){return Us}function mh(o){zs=o.timeStamp}function ph(o){zs===0&&mn(o).addEventListener("textInput",mh,!0)}function Ks(o,e,t){return e.__lexicalLineBreak===o||o[`__lexicalKey_${t._key}`]!==void 0}function gh(o){return o.getEditorState().read(()=>{let e=T();return e!==null?e.clone():null})}function hh(o,e,t){let n=ye(t._window),r=null,i=null;n!==null&&n.anchorNode===o&&(r=n.anchorOffset,i=n.focusOffset);let s=o.nodeValue;s!==null&&cr(e,s,r,i,!1)}function Nh(o,e,t){return e.nodeType===Ue&&t.isAttached()}function cc(o,e,t){Us=!0;let n=performance.now()-zs>fh;try{xe(o,()=>{let r=T()||gh(o),i=new Map,s=o.getRootElement(),l=o._editorState,a=o._blockCursorElement,c=!1,m="";for(let d=0;d<e.length;d++){let u=e[d],p=u.type,g=u.target,h=ee(g,l);if(!(h===null&&g!==s||B(h))){if(p==="characterData")n&&b(h)&&Nh(r,g,h)&&hh(g,h,o);else if(p==="childList"){c=!0;let _=u.addedNodes;for(let M=0;M<_.length;M++){let S=_[M],A=Ws(S),O=S.parentNode;if(O!=null&&S!==a&&A===null&&(S.nodeName!=="BR"||!Ks(S,O,o))){if(Ke){let R=S.innerText||S.nodeValue;R&&(m+=R)}O.removeChild(S)}}let N=u.removedNodes,L=N.length;if(L>0){let M=0;for(let S=0;S<L;S++){let A=N[S];(A.nodeName==="BR"&&Ks(A,g,o)||a===A)&&(g.appendChild(A),M++)}L!==M&&(g===s&&(h=qs(l)),i.set(g,h))}}}}if(i.size>0)for(let[d,u]of i)if(E(u)){let p=u.getChildrenKeys(),g=d.firstChild;for(let h=0;h<p.length;h++){let _=p[h],N=o.getElementByKey(_);N!==null&&(g==null?(d.appendChild(N),g=N):g!==N&&d.replaceChild(N,g),g=g.nextSibling)}}else b(u)&&u.markDirty();let f=t.takeRecords();if(f.length>0){for(let d=0;d<f.length;d++){let u=f[d],p=u.addedNodes,g=u.target;for(let h=0;h<p.length;h++){let _=p[h],N=_.parentNode;N!=null&&_.nodeName==="BR"&&!Ks(_,g,o)&&N.removeChild(_)}}t.takeRecords()}r!==null&&(c&&(r.dirty=!0,q(r)),Ke&&oi(o)&&r.insertRawText(m))})}finally{Us=!1}}function ei(o){let e=o._observer;if(e!==null){let t=e.takeRecords();cc(o,t,e)}}function ti(o){ph(o),o._observer=new MutationObserver((e,t)=>{cc(o,e,t)})}function dc(o,e){let t=o.__mode,n=o.__format,r=o.__style,i=e.__mode,s=e.__format,l=e.__style;return(t===null||t===i)&&(n===null||n===s)&&(r===null||r===l)}function uc(o,e){let t=o.mergeWithSibling(e),n=G()._normalizedNodes;return n.add(o.__key),n.add(e.__key),t}function Ys(o){let e=o;if(e.__text===""&&e.isSimpleText()&&!e.isUnmergeable()){e.remove();return}let t;for(;(t=e.getPreviousSibling())!==null&&b(t)&&t.isSimpleText()&&!t.isUnmergeable();)if(t.__text==="")t.remove();else if(dc(t,e)){e=uc(t,e);break}else break;let n;for(;(n=e.getNextSibling())!==null&&b(n)&&n.isSimpleText()&&!n.isUnmergeable();)if(n.__text==="")n.remove();else if(dc(e,n)){e=uc(e,n);break}else break}function Oo(o){return fc(o.anchor),fc(o.focus),o}function fc(o){for(;o.type==="element";){let e=o.getNode(),t=o.offset,n,r;if(t===e.getChildrenSize()?(n=e.getChildAtIndex(t-1),r=!0):(n=e.getChildAtIndex(t),r=!1),b(n)){o.set(n.__key,r?n.getTextContentSize():0,"text");break}else if(!E(n))break;o.set(n.__key,r?n.getChildrenSize():0,"element")}}var xh=1;function Eh(){return""+xh++}function gc(o,e){let t=o._nodes.get(e);return t===void 0&&x(!1,"registeredNode: Type %s not found",e),t}var kT=Array.isArray,hc=typeof queueMicrotask=="function"?queueMicrotask:o=>{Promise.resolve().then(o)};function Nc(o){return B(ee(o))}function Nn(o){let e=document.activeElement;if(e===null)return!1;let t=e.nodeName;return B(ee(o))&&(t==="INPUT"||t==="TEXTAREA"||e.contentEditable==="true"&&Ao(e)==null)}function zt(o,e,t){let n=o.getRootElement();try{return n!==null&&n.contains(e)&&n.contains(t)&&e!==null&&!Nn(e)&&ni(e)===o}catch{return!1}}function xn(o){return o instanceof po}function ni(o){let e=o;for(;e!=null;){let t=Ao(e);if(xn(t))return t;e=ai(e)}return null}function Ao(o){return o?o.__lexicalEditor:null}function ze(o){return o.isToken()||o.isSegmented()}function Th(o){return o.nodeType===Ue}function En(o){let e=o;for(;e!=null;){if(Th(e))return e;e=e.firstChild}return null}function ur(o,e,t){let n=Xe[e];if(t!==null&&(o&n)===(t&n))return o;let r=o^n;return e==="subscript"?r&=~Xe.superscript:e==="superscript"&&(r&=~Xe.subscript),r}function fr(o){return b(o)||we(o)||B(o)}function xc(o,e){if(e!=null){__DEV__&&_h(o,e),o.__key=e;return}ce(),ol();let t=G(),n=je(),r=Eh();n._nodeMap.set(r,o),E(o)?t._dirtyElements.set(r,!0):t._dirtyLeaves.add(r),t._cloneNotNeeded.add(r),t._dirtyType=Fs,o.__key=r}function _h(o,e){let t=nd();if(!t)return;let n=t._nodeMap.get(e);n&&n.constructor!==o.constructor&&(o.constructor.name!==n.constructor.name?x(!1,"Lexical node with constructor %s attempted to re-use key from node in active editor state with constructor %s. Keys must not be re-used when the type is changed.",o.constructor.name,n.constructor.name):x(!1,"Lexical node with constructor %s attempted to re-use key from node in active editor state with different constructor with the same name (possibly due to invalid Hot Module Replacement). Keys must not be re-used when the type is changed.",o.constructor.name))}function Ch(o,e,t){let n=o;for(;n!==null;){if(t.has(n))return;let r=e.get(n);if(r===void 0)break;t.set(n,!1),n=r.__parent}}function Wt(o){let e=o.getParent();if(e!==null){let t=o.getWritable(),n=e.getWritable(),r=o.getPreviousSibling(),i=o.getNextSibling();if(r===null)if(i!==null){let s=i.getWritable();n.__first=i.__key,s.__prev=null}else n.__first=null;else{let s=r.getWritable();if(i!==null){let l=i.getWritable();l.__prev=s.__key,s.__next=l.__key}else s.__next=null;t.__prev=null}if(i===null)if(r!==null){let s=r.getWritable();n.__last=r.__key,s.__next=null}else n.__last=null;else{let s=i.getWritable();if(r!==null){let l=r.getWritable();l.__next=s.__key,s.__prev=l.__key}else s.__prev=null;t.__next=null}n.__size--,t.__parent=null}}function dr(o){ol();let e=o.getLatest(),t=e.__parent,n=je(),r=G(),i=n._nodeMap,s=r._dirtyElements;t!==null&&Ch(t,i,s);let l=e.__key;r._dirtyType=Fs,E(o)?s.set(l,!0):r._dirtyLeaves.add(l)}function Ec(o){let e=o.getPreviousSibling(),t=o.getNextSibling();e!==null&&dr(e),t!==null&&dr(t)}function se(o){ce();let e=G(),t=e._compositionKey;if(o!==t){if(e._compositionKey=o,t!==null){let n=j(t);n!==null&&n.getWritable()}if(o!==null){let n=j(o);n!==null&&n.getWritable()}}}function Ge(){return st()?null:G()._compositionKey}function j(o,e){let n=(e||je())._nodeMap.get(o);return n===void 0?null:n}function Ws(o,e){let t=G(),n=o[`__lexicalKey_${t._key}`];return n!==void 0?j(n,e):null}function ee(o,e){let t=o;for(;t!=null;){let n=Ws(t,e);if(n!==null)return n;t=ai(t)}return null}function ri(o){let e=o._decorators,t=Object.assign({},e);return o._pendingDecorators=t,t}function Vs(o){return o.read(()=>F().getTextContent())}function Tc(o,e){xe(o,()=>{let t=je();if(t.isEmpty())return;if(e==="root"){F().markDirty();return}let n=t._nodeMap;for(let[,r]of n)r.markDirty()},o._pendingEditorState===null?{tag:"history-merge"}:void 0)}function F(){return qs(je())}function qs(o){return o._nodeMap.get("root")}function q(o){ce();let e=je();o!==null&&(__DEV__&&Object.isFrozen(o)&&x(!1,"$setSelection called on frozen selection object. Ensure selection is cloned before passing in."),o.dirty=!0,o.setCachedNodes(null)),e._selection=o}function _c(){ce();let o=G();ei(o)}function Ro(o){let e=G(),t=yh(o,e);if(t===null){let n=e.getRootElement();return o===n?j("root"):null}return j(t)}function Xs(o,e){return e?o.getTextContentSize():0}function yh(o,e){let t=o;for(;t!=null;){let n=t[`__lexicalKey_${e._key}`];if(n!==void 0)return n;t=ai(t)}return null}function ii(o){return/[\uD800-\uDBFF][\uDC00-\uDFFF]/g.test(o)}function mr(o){let e=[],t=o;for(;t!==null;)e.push(t),t=t._parentEditor;return e}function Gs(){return Math.random().toString(36).replace(/[^a-z]+/g,"").substr(0,5)}function js(o){return o.nodeType===Ue?o.nodeValue:null}function si(o,e,t){let n=ye(e._window);if(n===null)return;let r=n.anchorNode,{anchorOffset:i,focusOffset:s}=n;if(r!==null){let l=js(r),a=ee(r);if(l!==null&&b(a)){if(l===fn&&t){let c=t.length;l=t,i=c,s=c}l!==null&&cr(a,l,i,s,o)}}}function cr(o,e,t,n,r){let i=o;if(i.isAttached()&&(r||!i.isDirty())){let s=i.isComposing(),l=e;(s||r)&&e[e.length-1]===fn&&(l=e.slice(0,-1));let a=i.getTextContent();if(r||l!==a){if(l===""){if(se(null),!Ht&&!_t&&!Kt){let g=G();setTimeout(()=>{g.update(()=>{i.isAttached()&&i.remove()})},20)}else i.remove();return}let c=i.getParent(),m=We(),f=i.getTextContentSize(),d=Ge(),u=i.getKey();if(i.isToken()||d!==null&&u===d&&!s||C(m)&&(c!==null&&!c.canInsertTextBefore()&&m.anchor.offset===0||m.anchor.key===o.__key&&m.anchor.offset===0&&!i.canInsertTextBefore()&&!s||m.focus.key===o.__key&&m.focus.offset===f&&!i.canInsertTextAfter()&&!s)){i.markDirty();return}let p=T();if(!C(p)||t===null||n===null){i.setTextContent(l);return}if(p.setTextNodeRange(i,t,i,n),i.isSegmented()){let g=i.getTextContent(),h=Y(g);i.replace(h),i=h}i.setTextContent(l)}}}function bh(o){let e=o.getPreviousSibling();return(b(e)||E(e)&&e.isInline())&&!e.canInsertTextAfter()}function Cc(o,e){if(e.isSegmented())return!0;if(!o.isCollapsed())return!1;let t=o.anchor.offset,n=e.getParentOrThrow(),r=e.isToken();return t===0?!e.canInsertTextBefore()||!n.canInsertTextBefore()&&!e.isComposing()||r||bh(e):t===e.getTextContentSize()?!e.canInsertTextAfter()||!n.canInsertTextAfter()&&!e.isComposing()||r:!1}function yc(o,e,t,n){return o==="Tab"&&!e&&!t&&!n}function bc(o,e,t,n){return o.toLowerCase()==="b"&&!e&&pr(t,n)}function Sc(o,e,t,n){return o.toLowerCase()==="i"&&!e&&pr(t,n)}function Lc(o,e,t,n){return o.toLowerCase()==="u"&&!e&&pr(t,n)}function Mc(o,e){return Gc(o)&&!e}function vc(o,e){return Gc(o)&&e}function wc(o,e){return He&&e&&o.toLowerCase()==="o"}function Dc(o,e,t){return pn(o)&&(He?e:t)}function Oc(o,e,t){return gn(o)&&(He?e:t)}function Ac(o,e){return He&&e&&pn(o)}function Rc(o,e){return He&&e&&gn(o)}function kc(o,e,t,n){return He?e||t?!1:pn(o)||o.toLowerCase()==="h"&&n:n||e||t?!1:pn(o)}function Ic(o,e,t,n,r){return He?t||n||r?!1:gn(o)||o.toLowerCase()==="d"&&e:e||n||r?!1:gn(o)}function $c(o,e,t,n){return o.toLowerCase()==="z"&&!e&&pr(t,n)}function Pc(o,e,t,n){return He?o.toLowerCase()==="z"&&t&&e:o.toLowerCase()==="y"&&n||o.toLowerCase()==="z"&&n&&e}function Bc(o,e,t,n){return e?!1:o.toLowerCase()==="c"?He?t:n:!1}function Fc(o,e,t,n){return e?!1:o.toLowerCase()==="x"?He?t:n:!1}function Hc(o){return o==="ArrowLeft"}function Kc(o){return o==="ArrowRight"}function Sh(o){return o==="ArrowUp"}function Lh(o){return o==="ArrowDown"}function Uc(o,e,t,n){return Hc(o)&&!e&&!n&&!t}function zc(o,e,t,n,r){return Hc(o)&&!n&&!t&&(e||r)}function Wc(o,e,t,n){return Kc(o)&&!e&&!n&&!t}function qc(o,e,t,n,r){return Kc(o)&&!n&&!t&&(e||r)}function Yc(o,e,t){return Sh(o)&&!e&&!t}function Zc(o,e,t){return Lh(o)&&!e&&!t}function Vc(o,e,t,n){return o||e||t||n}function Xc(o){return o===" "}function pr(o,e){return He?o:e}function Gc(o){return o==="Enter"}function pn(o){return o==="Backspace"}function jc(o){return o==="Escape"}function gn(o){return o==="Delete"}function Js(o,e,t){return o.toLowerCase()==="a"&&pr(e,t)}function Qs(){let o=F(),e=o.select(0,o.getChildrenSize());q(Oo(e))}function fo(o,e){o.__lexicalClassNameCache===void 0&&(o.__lexicalClassNameCache={});let t=o.__lexicalClassNameCache,n=t[e];if(n!==void 0)return n;let r=o[e];if(typeof r=="string"){let i=yt(r);return t[e]=i,i}return r}function li(o,e,t,n,r){if(t.size===0)return;let i=n.__type,s=n.__key,l=e.get(i);l===void 0&&x(!1,"Type %s not in registeredNodes",i);let a=l.klass,c=o.get(a);c===void 0&&(c=new Map,o.set(a,c));let m=c.get(s),f=m==="destroyed"&&r==="created";(m===void 0||f)&&c.set(s,f?"updated":r)}function mc(o,e,t){let n=o.getParent(),r=t,i=o;return n!==null&&(e&&t===0?(r=i.getIndexWithinParent(),i=n):!e&&t===i.getChildrenSize()&&(r=i.getIndexWithinParent()+1,i=n)),i.getChildAtIndex(e?r-1:r)}function qt(o,e){let t=o.offset;if(o.type==="element"){let n=o.getNode();return mc(n,e,t)}else{let n=o.getNode();if(e&&t===0||!e&&t===n.getTextContentSize()){let r=e?n.getPreviousSibling():n.getNextSibling();return r===null?mc(n.getParentOrThrow(),e,n.getIndexWithinParent()+(e?0:1)):r}}return null}function oi(o){let e=mn(o).event,t=e&&e.inputType;return t==="insertFromPaste"||t==="insertFromPasteAsQuotation"}function D(o,e,t){return nl(o,e,t)}function gr(o){return!te(o)&&!o.isLastChild()&&!o.isInline()}function Tn(o,e){let t=o._keyToDOMMap.get(e);return t===void 0&&x(!1,"Reconciliation: could not find DOM element for node key %s",e),t}function ai(o){let e=o.assignedSlot||o.parentElement;return e!==null&&e.nodeType===11?e.host:e}function Jc(o,e,t){let n=t.ownerDocument,r=n.defaultView;if(r===null)return;let{top:i,bottom:s}=e,l=0,a=0,c=t;for(;c!==null;){let m=c===n.body;if(m)l=0,a=mn(o).innerHeight;else{let d=c.getBoundingClientRect();l=d.top,a=d.bottom}let f=0;if(i<l?f=-(l-i):s>a&&(f=s-a),f!==0)if(m)r.scrollBy(0,f);else{let d=c.scrollTop;c.scrollTop+=f;let u=c.scrollTop-d;i-=u,s-=u}if(m)break;c=ai(c)}}function Qc(o){let e=T();if(!C(e)||!E(o))return e;let{anchor:t,focus:n}=e,r=t.getNode(),i=n.getNode();return hn(r,o)&&t.set(o.__key,0,"element"),hn(i,o)&&n.set(o.__key,0,"element"),e}function hn(o,e){let t=o.getParent();for(;t!==null;){if(t.is(e))return!0;t=t.getParent()}return!1}function ed(o){let e=o.ownerDocument;return e&&e.defaultView||null}function mn(o){let e=o._window;return e===null&&x(!1,"window object not found"),e}function el(o){let e=o.getParentOrThrow();for(;e!==null;){if(me(e))return e;e=e.getParentOrThrow()}return e}var IT=Symbol.for("@lexical/ShadowRootNodeBrand");function me(o){return te(o)||E(o)&&o.isShadowRoot()}function oe(o){let e=G(),t=o.constructor.getType(),n=e._nodes.get(t);n===void 0&&x(!1,'$initializeNode failed. Ensure node has been registered to the editor. You can do this by passing the node class via the "nodes" array in the editor config.');let r=n.replace;if(r!==null){let i=r(o);return i instanceof o.constructor||x(!1,"$initializeNode failed. Ensure replacement node is a subclass of the original node."),i}return o}function ci(o,e){let t=o.getParent();te(t)&&!E(e)&&!B(e)&&x(!1,"Only element or decorator nodes can be inserted in to the root node")}function Mh(o){let e=o.theme,t=document.createElement("div");t.contentEditable="false",t.setAttribute("data-lexical-cursor","true");let n=e.blockCursor;if(n!==void 0){if(typeof n=="string"){let r=yt(n);n=e.blockCursor=r}n!==void 0&&t.classList.add(...n)}return t}function Zs(o){return(B(o)||E(o)&&!o.canBeEmpty())&&!o.isInline()}function hr(o,e,t){t.style.removeProperty("caret-color"),e._blockCursorElement=null;let n=o.parentElement;n!==null&&n.removeChild(o)}function td(o,e,t){let n=o._blockCursorElement;if(C(t)&&t.isCollapsed()&&t.anchor.type==="element"&&e.contains(document.activeElement)){let r=t.anchor,i=r.getNode(),s=r.offset,l=i.getChildrenSize(),a=!1,c=null;if(s===l){let m=i.getChildAtIndex(s-1);Zs(m)&&(a=!0)}else{let m=i.getChildAtIndex(s);if(Zs(m)){let f=m.getPreviousSibling();(f===null||Zs(f))&&(a=!0,c=o.getElementByKey(m.__key))}}if(a){let m=o.getElementByKey(i.__key);n===null&&(o._blockCursorElement=n=Mh(o._config)),e.style.caretColor="transparent",c===null?m.appendChild(n):m.insertBefore(n,c);return}}n!==null&&hr(n,o,e)}function ye(o){return fe?(o||window).getSelection():null}function di(o){return pe(o)&&o.tagName==="A"}function pe(o){return o.nodeType===1}function ko(o){let e=new RegExp(/^(a|abbr|acronym|b|cite|code|del|em|i|ins|kbd|label|output|q|ruby|s|samp|span|strong|sub|sup|time|u|tt|var|#text)$/,"i");return o.nodeName.match(e)!==null}function mo(o){let e=new RegExp(/^(address|article|aside|blockquote|canvas|dd|div|dl|dt|fieldset|figcaption|figure|footer|form|h1|h2|h3|h4|h5|h6|header|hr|li|main|nav|noscript|ol|p|pre|section|table|td|tfoot|ul|video)$/,"i");return o.nodeName.match(e)!==null}function Io(o){if(te(o)||B(o)&&!o.isInline())return!0;if(!E(o)||me(o))return!1;let e=o.getFirstChild(),t=e===null||we(e)||b(e)||e.isInline();return!o.isInline()&&o.canBeEmpty()!==!1&&t}function ui(o,e){let t=o;for(;t!==null&&t.getParent()!==null&&!e(t);)t=t.getParentOrThrow();return e(t)?t:null}function tl(){return G()}var pc=new WeakMap,vh=new Map;function od(o){if(!o._readOnly&&o.isEmpty())return vh;x(o._readOnly,"getCachedTypeToNodeMap called with a writable EditorState");let e=pc.get(o);if(!e){e=new Map,pc.set(o,e);for(let[t,n]of o._nodeMap){let r=n.__type,i=e.get(r);i||(i=new Map,e.set(r,i)),i.set(t,n)}}return e}function Yt(o){let e=o.constructor,t=e.clone(o);return t.afterCloneFrom(o),__DEV__&&(x(t.__key===o.__key,"$cloneWithProperties: %s.clone(node) (with type '%s') did not return a node with the same key, make sure to specify node.__key as the last argument to the constructor",e.name,e.getType()),x(t.__parent===o.__parent&&t.__next===o.__next&&t.__prev===o.__prev,"$cloneWithProperties: %s.clone(node) (with type '%s') overrided afterCloneFrom but did not call super.afterCloneFrom(prevNode)",e.name,e.getType())),t}function rd(o,e){let t=o._decorators,r=o._pendingDecorators||t,i=e._nodeMap,s;for(s in r)i.has(s)||(r===t&&(r=ri(o)),delete r[s])}function id(o,e,t,n,r,i){let s=o.getFirstChild();for(;s!==null;){let l=s.__key;s.__parent===e&&(E(s)&&id(s,l,t,n,r,i),t.has(l)||i.delete(l),r.push(l)),s=s.getNextSibling()}}function sd(o,e,t,n){let r=o._nodeMap,i=e._nodeMap,s=[];for(let[l]of n){let a=i.get(l);a!==void 0&&(a.isAttached()||(E(a)&&id(a,l,r,i,s,n),r.has(l)||n.delete(l),s.push(l)))}for(let l of s)i.delete(l);for(let l of t){let a=i.get(l);a!==void 0&&!a.isAttached()&&(r.has(l)||t.delete(l),i.delete(l))}}var de="",go=null,lt="",Zt="",_n,be,xr,ad=!1,mi=!1,pi,il,sl,$o,at,ll,Er;function gi(o,e){let t=$o.get(o);if(e!==null){let n=dl(o);n.parentNode===e&&e.removeChild(n)}if(at.has(o)||be._keyToDOMMap.delete(o),E(t)){let n=fi(t,$o);al(n,0,n.length-1,null)}t!==void 0&&li(Er,xr,pi,t,"destroyed")}function al(o,e,t,n){let r=e;for(;r<=t;++r){let i=o[r];i!==void 0&&gi(i,n)}}function hi(o,e,t){let n=at.get(o);n===void 0&&x(!1,"createNode: node does not exist in nodeMap");let r=n.createDOM(_n,be);if(Ih(o,r,be),b(n)?r.setAttribute("data-lexical-text","true"):B(n)&&r.setAttribute("data-lexical-decorator","true"),E(n)){let i=n.__size;if(i!==0){let s=i-1,l=fi(n,at);cl(l,n,0,s,r,null)}n.isInline()||cd(null,n,r),gr(n)&&(de+=Ve,Zt+=Ve)}else{let i=n.getTextContent();if(B(n)){let s=n.decorate(be,_n);s!==null&&dd(o,s),r.contentEditable="false"}de+=i,Zt+=i}if(e!==null)if(t!=null)e.insertBefore(r,t);else{let i=e.__lexicalLineBreak;i!=null?e.insertBefore(r,i):e.appendChild(r)}return __DEV__&&Object.freeze(n),li(Er,xr,pi,n,"created"),r}function cl(o,e,t,n,r,i){let s=de;de="";let l=t;for(;l<=n;++l){hi(o[l],r,i);let a=at.get(o[l]);a!==null&&b(a)&&(go===null&&(go=a.getFormat()),lt===""&&(lt=a.getStyle()))}gr(e)&&(de+=Ve),r.__lexicalTextContent=de,de=s+de}function ld(o,e){let t=e.get(o);return we(t)||B(t)&&t.isInline()}function cd(o,e,t){let n=o!==null&&(o.__size===0||ld(o.__last,$o)),r=e.__size===0||ld(e.__last,at);if(n){if(!r){let i=t.__lexicalLineBreak;if(i!=null)try{t.removeChild(i)}catch(s){if(typeof s=="object"&&s!=null){let l=`${s.toString()} Parent: ${t.tagName}, child: ${i.tagName}.`;throw new Error(l)}else throw s}t.__lexicalLineBreak=null}}else if(r){let i=document.createElement("br");t.__lexicalLineBreak=i,t.appendChild(i)}}function wh(o){ct(o)&&go!=null&&!mi&&o.setTextStyle(lt)}function Dh(o){ct(o)&<!==""&<!==o.__textStyle&&!mi&&o.setTextStyle(lt)}function Oh(o,e,t){go=null,lt="",Ah(o,e,t),wh(e),Dh(e)}function fi(o,e){let t=[],n=o.__first;for(;n!==null;){let r=e.get(n);r===void 0&&x(!1,"createChildrenArray: node does not exist in nodeMap"),t.push(n),n=r.__next}return t}function Ah(o,e,t){let n=de,r=o.__size,i=e.__size;if(de="",r===1&&i===1){let s=o.__first,l=e.__first;if(s===l)Nr(s,t);else{let c=dl(s),m=hi(l,null,null);try{t.replaceChild(m,c)}catch(f){if(typeof f=="object"&&f!=null){let d=`${f.toString()} Parent: ${t.tagName}, new child: {tag: ${m.tagName} key: ${l}}, old child: {tag: ${c.tagName}, key: ${s}}.`;throw new Error(d)}else throw f}gi(s,null)}let a=at.get(l);b(a)&&(go===null&&(go=a.getFormat()),lt===""&&(lt=a.getStyle()))}else{let s=fi(o,$o),l=fi(e,at);if(r===0)i!==0&&cl(l,e,0,i-1,t,null);else if(i===0){if(r!==0){let c=t.__lexicalLineBreak==null;al(s,0,r-1,c?null:t),c&&(t.textContent="")}}else kh(e,s,l,r,i,t)}gr(e)&&(de+=Ve),t.__lexicalTextContent=de,de=n+de}function Nr(o,e){let t=$o.get(o),n=at.get(o);(t===void 0||n===void 0)&&x(!1,"reconcileNode: prevNode or nextNode does not exist in nodeMap");let r=ad||sl.has(o)||il.has(o),i=Tn(be,o);if(t===n&&!r){if(E(t)){let s=i.__lexicalTextContent;s!==void 0&&(de+=s,Zt+=s)}else{let s=t.getTextContent();Zt+=s,de+=s}return i}if(t!==n&&r&&li(Er,xr,pi,n,"updated"),n.updateDOM(t,i,_n)){let s=hi(o,null,null);return e===null&&x(!1,"reconcileNode: parentDOM is null"),e.replaceChild(s,i),gi(o,null),s}if(E(t)&&E(n))r&&(Oh(t,n,i),!te(n)&&!n.isInline()&&cd(t,n,i)),gr(n)&&(de+=Ve,Zt+=Ve);else{let s=n.getTextContent();if(B(n)){let l=n.decorate(be,_n);l!==null&&dd(o,l)}de+=s,Zt+=s}if(!mi&&te(n)&&n.__cachedText!==Zt){let s=n.getWritable();s.__cachedText=Zt,n=s}return __DEV__&&Object.freeze(n),i}function dd(o,e){let t=be._pendingDecorators,n=be._decorators;if(t===null){if(n[o]===e)return;t=ri(be)}t[o]=e}function Rh(o){return o.firstChild}function rl(o){let e=o.nextSibling;return e!==null&&e===be._blockCursorElement&&(e=e.nextSibling),e}function kh(o,e,t,n,r,i){let s=n-1,l=r-1,a,c,m=Rh(i),f=0,d=0;for(;f<=s&&d<=l;){let g=e[f],h=t[d];if(g===h)m=rl(Nr(h,i)),f++,d++;else{a===void 0&&(a=new Set(e)),c===void 0&&(c=new Set(t));let N=c.has(g),L=a.has(h);if(!N)m=rl(dl(g)),gi(g,i),f++;else if(!L)hi(h,i,m),d++;else{let M=Tn(be,h);M===m?m=rl(Nr(h,i)):(m!=null?i.insertBefore(M,m):i.appendChild(M),Nr(h,i)),f++,d++}}let _=at.get(h);_!==null&&b(_)&&(go===null&&(go=_.getFormat()),lt===""&&(lt=_.getStyle()))}let u=f>s,p=d>l;if(u&&!p){let g=t[l+1],h=g===void 0?null:be.getElementByKey(g);cl(t,o,d,l,i,h)}else p&&!u&&al(e,f,s,i)}function ud(o,e,t,n,r,i){de="",Zt="",ad=n===Ut,be=t,_n=t._config,xr=t._nodes,pi=be._listeners.mutation,il=r,sl=i,$o=o._nodeMap,at=e._nodeMap,mi=e._readOnly,ll=new Map(t._keyToDOMMap);let s=new Map;return Er=s,Nr("root",null),be=void 0,xr=void 0,il=void 0,sl=void 0,$o=void 0,at=void 0,_n=void 0,ll=void 0,Er=void 0,s}function Ih(o,e,t){let n=t._keyToDOMMap;e["__lexicalKey_"+t._key]=o,n.set(o,e)}function dl(o){let e=ll.get(o);return e===void 0&&x(!1,"Reconciliation: could not find DOM element for node key %s",o),e}var Vt=Object.freeze({}),gl=30,ul=[["keydown",Wh],["pointerdown",Ph],["compositionstart",Uh],["compositionend",zh],["input",Kh],["click",$h],["cut",Vt],["copy",Vt],["dragstart",Vt],["dragover",Vt],["dragend",Vt],["paste",Vt],["focus",Vt],["blur",Vt],["drop",Vt]];co&&ul.push(["beforeinput",(o,e)=>Hh(o,e)]);var Cr=0,hd=null,Nd=0,Cn=null,Ni=new WeakMap,fl=!1,ml=!1,_r=!1,Tr=!1,xd=[0,"",0,"root",0];function Ed(o,e,t,n,r){let i=o.anchor,s=o.focus,l=i.getNode(),a=G(),c=ye(a._window),m=c!==null?c.anchorNode:null,f=i.key,d=a.getElementByKey(f),u=t.length;return f!==s.key||!b(l)||(!r&&(!co||Nd<n+50)||l.isDirty()&&u<2||ii(t))&&i.offset!==s.offset&&!l.isComposing()||ze(l)||l.isDirty()&&u>1||(r||!co)&&d!==null&&!l.isComposing()&&m!==En(d)||c!==null&&e!==null&&(!e.collapsed||e.startContainer!==c.anchorNode||e.startOffset!==c.anchorOffset)||l.getFormat()!==o.format||l.getStyle()!==o.style||Cc(o,l)}function fd(o,e){return o!==null&&o.nodeValue!==null&&o.nodeType===Ue&&e!==0&&e!==o.nodeValue.length}function md(o,e,t){let{anchorNode:n,anchorOffset:r,focusNode:i,focusOffset:s}=o;fl&&(fl=!1,fd(n,r)&&fd(i,s))||xe(e,()=>{if(!t){q(null);return}if(!zt(e,n,i))return;let l=T();if(C(l)){let a=l.anchor,c=a.getNode();if(l.isCollapsed()){o.type==="Range"&&o.anchorNode===o.focusNode&&(l.dirty=!0);let m=mn(e).event,f=m?m.timeStamp:performance.now(),[d,u,p,g,h]=xd,_=F(),N=e.isComposing()===!1&&_.getTextContent()==="";if(f<h+200&&a.offset===p&&a.key===g)l.format=d,l.style=u;else if(a.type==="text")x(b(c),"Point.getNode() must return TextNode when type is text"),l.format=c.getFormat(),l.style=c.getStyle();else if(a.type==="element"&&!N){let L=a.getNode();l.style="",L instanceof dt&&L.getChildrenSize()===0?l.style=L.getTextStyle():l.format=0}}else{let m=a.key,d=l.focus.key,u=l.getNodes(),p=u.length,g=l.isBackward(),h=g?s:r,_=g?r:s,N=g?d:m,L=g?m:d,M=Hs,S=!1;for(let A=0;A<p;A++){let O=u[A],R=O.getTextContentSize();if(b(O)&&R!==0&&!(A===0&&O.__key===N&&h===R||A===p-1&&O.__key===L&&_===0)&&(S=!0,M&=O.getFormat(),M===0))break}l.format=S?M:0}}D(e,ve,void 0)})}function $h(o,e){xe(e,()=>{let t=T(),n=ye(e._window),r=We();if(n){if(C(t)){let i=t.anchor,s=i.getNode();if(i.type==="element"&&i.offset===0&&t.isCollapsed()&&!te(s)&&F().getChildrenSize()===1&&s.getTopLevelElementOrThrow().isEmpty()&&r!==null&&t.is(r))n.removeAllRanges(),t.dirty=!0;else if(o.detail===3&&!t.isCollapsed()){let a=t.focus.getNode();s!==a&&(E(s)?s.select(0):s.getParentOrThrow().select(0))}}else if(o.pointerType==="touch"){let i=n.anchorNode;if(i!==null){let s=i.nodeType;if(s===uo||s===Ue){let l=yr(r,n,e,o);q(l)}}}}D(e,Jn,o)})}function Ph(o,e){let t=o.target,n=o.pointerType;t instanceof Node&&n!=="touch"&&xe(e,()=>{Nc(t)||(ml=!0)})}function Td(o){if(!o.getTargetRanges)return null;let e=o.getTargetRanges();return e.length===0?null:e[0]}function Bh(o,e){return o!==e||E(o)||E(e)||!o.isToken()||!e.isToken()}function Fh(o){return hd==="MediaLast"&&o<Cr+gl}function Hh(o,e){let t=o.inputType,n=Td(o);t==="deleteCompositionText"||Ke&&oi(e)||t!=="insertCompositionText"&&xe(e,()=>{let r=T();if(t==="deleteContentBackward"){if(r===null){let m=We();if(!C(m))return;q(m.clone())}if(C(r)){let m=r.anchor.key===r.focus.key;if(Fh(o.timeStamp)&&e.isComposing()&&m){if(se(null),Cr=0,setTimeout(()=>{xe(e,()=>{se(null)})},gl),C(r)){let f=r.anchor.getNode();f.markDirty(),x(b(f),"Anchor node must be a TextNode"),r.style=f.getStyle()}}else{se(null),o.preventDefault();let f=r.anchor.getNode().getTextContent(),d=r.anchor.offset===0&&r.focus.offset===f.length;Bs&&m&&!d||D(e,Ze,!0)}return}}if(!C(r))return;let i=o.data;Cn!==null&&si(!1,e,Cn),(!r.dirty||Cn!==null)&&r.isCollapsed()&&!te(r.anchor.getNode())&&n!==null&&r.applyDOMRange(n),Cn=null;let s=r.anchor,l=r.focus,a=s.getNode(),c=l.getNode();if(t==="insertText"||t==="insertTranspose"){if(i===` -`)o.preventDefault(),D(e,It,!1);else if(i===Ve)o.preventDefault(),D(e,$t,void 0);else if(i==null&&o.dataTransfer){let m=o.dataTransfer.getData("text/plain");o.preventDefault(),r.insertRawText(m)}else i!=null&&Ed(r,n,i,o.timeStamp,!0)?(o.preventDefault(),D(e,rt,i)):Cn=i;Nd=o.timeStamp;return}switch(o.preventDefault(),t){case"insertFromYank":case"insertFromDrop":case"insertReplacementText":{D(e,rt,o);break}case"insertFromComposition":{se(null),D(e,rt,o);break}case"insertLineBreak":{se(null),D(e,It,!1);break}case"insertParagraph":{se(null),_r&&!_t?(_r=!1,D(e,It,!1)):D(e,$t,void 0);break}case"insertFromPaste":case"insertFromPasteAsQuotation":{D(e,oo,o);break}case"deleteByComposition":{Bh(a,c)&&D(e,ln,o);break}case"deleteByDrag":case"deleteByCut":{D(e,ln,o);break}case"deleteContent":{D(e,Ze,!1);break}case"deleteWordBackward":{D(e,Tt,!0);break}case"deleteWordForward":{D(e,Tt,!1);break}case"deleteHardLineBackward":case"deleteSoftLineBackward":{D(e,it,!0);break}case"deleteContentForward":case"deleteHardLineForward":case"deleteSoftLineForward":{D(e,it,!1);break}case"formatStrikeThrough":{D(e,Ne,"strikethrough");break}case"formatBold":{D(e,Ne,"bold");break}case"formatItalic":{D(e,Ne,"italic");break}case"formatUnderline":{D(e,Ne,"underline");break}case"historyUndo":{D(e,no,void 0);break}case"historyRedo":{D(e,ro,void 0);break}default:}})}function Kh(o,e){o.stopPropagation(),xe(e,()=>{let t=T(),n=o.data,r=Td(o);if(n!=null&&C(t)&&Ed(t,r,n,o.timeStamp,!1)){Tr&&(pl(e,n),Tr=!1);let s=t.anchor.getNode(),l=ye(e._window);if(l===null)return;let a=t.isBackward(),c=a?t.anchor.offset:t.focus.offset,m=a?t.focus.offset:t.anchor.offset;(!co||t.isCollapsed()||!b(s)||l.anchorNode===null||s.getTextContent().slice(0,c)+n+s.getTextContent().slice(c+m)!==js(l.anchorNode))&&D(e,rt,n);let f=n.length;Ke&&f>1&&o.inputType==="insertCompositionText"&&!e.isComposing()&&(t.anchor.offset-=f),!Ht&&!_t&&!Kt&&e.isComposing()&&(Cr=0,se(null))}else si(!1,e,n!==null?n:void 0),Tr&&(pl(e,n||void 0),Tr=!1);_c()}),Cn=null}function Uh(o,e){xe(e,()=>{let t=T();if(C(t)&&!e.isComposing()){let n=t.anchor,r=t.anchor.getNode();se(n.key),(o.timeStamp<Cr+gl||n.type==="element"||!t.isCollapsed()||b(r)&&r.getStyle()!==t.style)&&D(e,rt,oc)}})}function pl(o,e){let t=o._compositionKey;if(se(null),t!==null&&e!=null){if(e===""){let n=j(t),r=En(o.getElementByKey(t));r!==null&&r.nodeValue!==null&&b(n)&&cr(n,r.nodeValue,null,null,!0);return}if(e[e.length-1]===` -`){let n=T();if(C(n)){let r=n.focus;n.anchor.set(r.key,r.offset,r.type),D(o,Fe,null);return}}}si(!0,o,e)}function zh(o,e){Ke?Tr=!0:xe(e,()=>{pl(e,o.data)})}function Wh(o,e){if(Cr=o.timeStamp,hd=o.key,e.isComposing())return;let{key:t,shiftKey:n,ctrlKey:r,metaKey:i,altKey:s}=o;if(!D(e,Ms,o)&&t!=null){if(Wc(t,r,s,i))D(e,So,o);else if(qc(t,r,n,s,i))D(e,vs,o);else if(Uc(t,r,s,i))D(e,Lo,o);else if(zc(t,r,n,s,i))D(e,ws,o);else if(Yc(t,r,i))D(e,Mo,o);else if(Zc(t,r,i))D(e,Pt,o);else if(vc(t,n))_r=!0,D(e,Fe,o);else if(Xc(t))D(e,Qn,o);else if(wc(t,r))o.preventDefault(),_r=!0,D(e,It,!0);else if(Mc(t,n))_r=!1,D(e,Fe,o);else if(kc(t,s,i,r))pn(t)?D(e,Bt,o):(o.preventDefault(),D(e,Ze,!0));else if(jc(t))D(e,vo,o);else if(Ic(t,r,n,s,i))gn(t)?D(e,Ft,o):(o.preventDefault(),D(e,Ze,!1));else if(Dc(t,s,r))o.preventDefault(),D(e,Tt,!0);else if(Oc(t,s,r))o.preventDefault(),D(e,Tt,!1);else if(Ac(t,i))o.preventDefault(),D(e,it,!0);else if(Rc(t,i))o.preventDefault(),D(e,it,!1);else if(bc(t,s,i,r))o.preventDefault(),D(e,Ne,"bold");else if(Lc(t,s,i,r))o.preventDefault(),D(e,Ne,"underline");else if(Sc(t,s,i,r))o.preventDefault(),D(e,Ne,"italic");else if(yc(t,s,r,i))D(e,wo,o);else if($c(t,n,i,r))o.preventDefault(),D(e,no,void 0);else if(Pc(t,n,i,r))o.preventDefault(),D(e,ro,void 0);else{let l=e._editorState._selection;Ee(l)?Bc(t,n,i,r)?(o.preventDefault(),D(e,io,o)):Fc(t,n,i,r)?(o.preventDefault(),D(e,so,o)):Js(t,i,r)&&(o.preventDefault(),D(e,an,o)):!Ke&&Js(t,i,r)&&(o.preventDefault(),D(e,an,o))}Vc(r,n,s,i)&&D(e,$s,o)}}function _d(o){let e=o.__lexicalEventHandles;return e===void 0&&(e=[],o.__lexicalEventHandles=e),e}var yn=new Map;function Cd(o){let e=o.target,t=e==null?null:e.nodeType===9?e.defaultView:e.ownerDocument.defaultView,n=ye(t);if(n===null)return;let r=ni(n.anchorNode);if(r===null)return;ml&&(ml=!1,xe(r,()=>{let m=We(),f=n.anchorNode;if(f===null)return;let d=f.nodeType;if(d!==uo&&d!==Ue)return;let u=yr(m,n,r,o);q(u)}));let i=mr(r),s=i[i.length-1],l=s._key,a=yn.get(l),c=a||s;c!==r&&md(n,c,!1),md(n,r,!0),r!==s?yn.set(l,r):a&&yn.delete(l)}function pd(o){o._lexicalHandled=!0}function gd(o){return o._lexicalHandled===!0}function yd(o,e){let t=o.ownerDocument,n=Ni.get(t);(n===void 0||n<1)&&t.addEventListener("selectionchange",Cd),Ni.set(t,(n||0)+1),o.__lexicalEditor=e;let r=_d(o);for(let i=0;i<ul.length;i++){let[s,l]=ul[i],a=typeof l=="function"?c=>{gd(c)||(pd(c),(e.isEditable()||s==="click")&&l(c,e))}:c=>{if(gd(c))return;pd(c);let m=e.isEditable();switch(s){case"cut":return m&&D(e,so,c);case"copy":return D(e,io,c);case"paste":return m&&D(e,oo,c);case"dragstart":return m&&D(e,er,c);case"dragover":return m&&D(e,tr,c);case"dragend":return m&&D(e,As,c);case"focus":return m&&D(e,or,c);case"blur":return m&&D(e,Is,c);case"drop":return m&&D(e,Do,c)}};o.addEventListener(s,a),r.push(()=>{o.removeEventListener(s,a)})}}function bd(o){let e=o.ownerDocument,t=Ni.get(e);x(t!==void 0,"Root element not registered");let n=t-1;x(n>=0,"Root element count less than 0"),Ni.set(e,n),n===0&&e.removeEventListener("selectionchange",Cd);let r=Ao(o);xn(r)?(qh(r),o.__lexicalEditor=null):r&&x(!1,"Attempted to remove event handlers from a node that does not belong to this build of Lexical");let i=_d(o);for(let s=0;s<i.length;s++)i[s]();o.__lexicalEventHandles=[]}function qh(o){if(o._parentEditor!==null){let e=mr(o),n=e[e.length-1]._key;yn.get(n)===o&&yn.delete(n)}else yn.delete(o._key)}function Sd(){fl=!0}function Ld(o,e,t,n,r){xd=[o,e,t,n,r]}function hl(o,e,t){ce();let n=o.__key,r=o.getParent();if(r===null)return;let i=Qc(o),s=!1;if(C(i)&&e){let l=i.anchor,a=i.focus;l.key===n&&(Sn(l,o,r,o.getPreviousSibling(),o.getNextSibling()),s=!0),a.key===n&&(Sn(a,o,r,o.getPreviousSibling(),o.getNextSibling()),s=!0)}else Ee(i)&&e&&o.isSelected()&&o.selectPrevious();if(C(i)&&e&&!s){let l=o.getIndexWithinParent();Wt(o),bn(i,r,l,-1)}else Wt(o);!t&&!me(r)&&!r.canBeEmpty()&&r.isEmpty()&&hl(r,e),e&&te(r)&&r.isEmpty()&&r.selectEnd()}var bt=class{static getType(){x(!1,"LexicalNode: Node %s does not implement .getType().",this.name)}static clone(e){x(!1,"LexicalNode: Node %s does not implement .clone().",this.name)}afterCloneFrom(e){this.__parent=e.__parent,this.__next=e.__next,this.__prev=e.__prev}constructor(e){this.__type=this.constructor.getType(),this.__parent=null,this.__prev=null,this.__next=null,xc(this,e),__DEV__&&this.__type!=="root"&&(ce(),Yh(this.__type,this.constructor))}getType(){return this.__type}isInline(){x(!1,"LexicalNode: Node %s does not implement .isInline().",this.constructor.name)}isAttached(){let e=this.__key;for(;e!==null;){if(e==="root")return!0;let t=j(e);if(t===null)break;e=t.__parent}return!1}isSelected(e){let t=e||T();if(t==null)return!1;let n=t.getNodes().some(i=>i.__key===this.__key);if(b(this))return n;if(C(t)&&t.anchor.type==="element"&&t.focus.type==="element"){if(t.isCollapsed())return!1;let i=this.getParent();if(B(this)&&this.isInline()&&i){let s=t.isBackward()?t.focus:t.anchor,l=s.getNode();if(s.offset===l.getChildrenSize()&&l.is(i)&&l.getLastChildOrThrow().is(this))return!1}}return n}getKey(){return this.__key}getIndexWithinParent(){let e=this.getParent();if(e===null)return-1;let t=e.getFirstChild(),n=0;for(;t!==null;){if(this.is(t))return n;n++,t=t.getNextSibling()}return-1}getParent(){let e=this.getLatest().__parent;return e===null?null:j(e)}getParentOrThrow(){let e=this.getParent();return e===null&&x(!1,"Expected node %s to have a parent.",this.__key),e}getTopLevelElement(){let e=this;for(;e!==null;){let t=e.getParent();if(me(t))return x(E(e)||e===this&&B(e),"Children of root nodes must be elements or decorators"),e;e=t}return null}getTopLevelElementOrThrow(){let e=this.getTopLevelElement();return e===null&&x(!1,"Expected node %s to have a top parent element.",this.__key),e}getParents(){let e=[],t=this.getParent();for(;t!==null;)e.push(t),t=t.getParent();return e}getParentKeys(){let e=[],t=this.getParent();for(;t!==null;)e.push(t.__key),t=t.getParent();return e}getPreviousSibling(){let t=this.getLatest().__prev;return t===null?null:j(t)}getPreviousSiblings(){let e=[],t=this.getParent();if(t===null)return e;let n=t.getFirstChild();for(;n!==null&&!n.is(this);)e.push(n),n=n.getNextSibling();return e}getNextSibling(){let t=this.getLatest().__next;return t===null?null:j(t)}getNextSiblings(){let e=[],t=this.getNextSibling();for(;t!==null;)e.push(t),t=t.getNextSibling();return e}getCommonAncestor(e){let t=this.getParents(),n=e.getParents();E(this)&&t.unshift(this),E(e)&&n.unshift(e);let r=t.length,i=n.length;if(r===0||i===0||t[r-1]!==n[i-1])return null;let s=new Set(n);for(let l=0;l<r;l++){let a=t[l];if(s.has(a))return a}return null}is(e){return e==null?!1:this.__key===e.__key}isBefore(e){if(this===e)return!1;if(e.isParentOf(this))return!0;if(this.isParentOf(e))return!1;let t=this.getCommonAncestor(e),n=0,r=0,i=this;for(;;){let s=i.getParentOrThrow();if(s===t){n=i.getIndexWithinParent();break}i=s}for(i=e;;){let s=i.getParentOrThrow();if(s===t){r=i.getIndexWithinParent();break}i=s}return n<r}isParentOf(e){let t=this.__key;if(t===e.__key)return!1;let n=e;for(;n!==null;){if(n.__key===t)return!0;n=n.getParent()}return!1}getNodesBetween(e){let t=this.isBefore(e),n=[],r=new Set,i=this;for(;i!==null;){let s=i.__key;if(r.has(s)||(r.add(s),n.push(i)),i===e)break;let l=E(i)?t?i.getFirstChild():i.getLastChild():null;if(l!==null){i=l;continue}let a=t?i.getNextSibling():i.getPreviousSibling();if(a!==null){i=a;continue}let c=i.getParentOrThrow();if(r.has(c.__key)||n.push(c),c===e)break;let m=null,f=c;do if(f===null&&x(!1,"getNodesBetween: ancestor is null"),m=t?f.getNextSibling():f.getPreviousSibling(),f=f.getParent(),f!==null)m===null&&!r.has(f.__key)&&n.push(f);else break;while(m===null);i=m}return t||n.reverse(),n}isDirty(){let t=G()._dirtyLeaves;return t!==null&&t.has(this.__key)}getLatest(){let e=j(this.__key);return e===null&&x(!1,"Lexical node does not exist in active editor state. Avoid using the same node references between nested closures from editorState.read/editor.update."),e}getWritable(){ce();let e=je(),t=G(),n=e._nodeMap,r=this.__key,i=this.getLatest(),s=t._cloneNotNeeded,l=T();if(l!==null&&l.setCachedNodes(null),s.has(r))return dr(i),i;let a=Yt(i);return s.add(r),dr(a),n.set(r,a),a}getTextContent(){return""}getTextContentSize(){return this.getTextContent().length}createDOM(e,t){x(!1,"createDOM: base method not extended")}updateDOM(e,t,n){x(!1,"updateDOM: base method not extended")}exportDOM(e){return{element:this.createDOM(e._config,e)}}exportJSON(){x(!1,"exportJSON: base method not extended")}static importJSON(e){x(!1,"LexicalNode: Node %s does not implement .importJSON().",this.name)}static transform(){return null}remove(e){hl(this,!0,e)}replace(e,t){ce();let n=T();n!==null&&(n=n.clone()),ci(this,e);let r=this.getLatest(),i=this.__key,s=e.__key,l=e.getWritable(),a=this.getParentOrThrow().getWritable(),c=a.__size;Wt(l);let m=r.getPreviousSibling(),f=r.getNextSibling(),d=r.__prev,u=r.__next,p=r.__parent;if(hl(r,!1,!0),m===null)a.__first=s;else{let g=m.getWritable();g.__next=s}if(l.__prev=d,f===null)a.__last=s;else{let g=f.getWritable();g.__prev=s}if(l.__next=u,l.__parent=p,a.__size=c,t&&(x(E(this)&&E(l),"includeChildren should only be true for ElementNodes"),this.getChildren().forEach(g=>{l.append(g)})),C(n)){q(n);let g=n.anchor,h=n.focus;g.key===i&&Nl(g,l),h.key===i&&Nl(h,l)}return Ge()===i&&se(s),l}insertAfter(e,t=!0){ce(),ci(this,e);let n=this.getWritable(),r=e.getWritable(),i=r.getParent(),s=T(),l=!1,a=!1;if(i!==null){let u=e.getIndexWithinParent();if(Wt(r),C(s)){let p=i.__key,g=s.anchor,h=s.focus;l=g.type==="element"&&g.key===p&&g.offset===u+1,a=h.type==="element"&&h.key===p&&h.offset===u+1}}let c=this.getNextSibling(),m=this.getParentOrThrow().getWritable(),f=r.__key,d=n.__next;if(c===null)m.__last=f;else{let u=c.getWritable();u.__prev=f}if(m.__size++,n.__next=f,r.__next=d,r.__prev=n.__key,r.__parent=n.__parent,t&&C(s)){let u=this.getIndexWithinParent();bn(s,m,u+1);let p=m.__key;l&&s.anchor.set(p,u+2,"element"),a&&s.focus.set(p,u+2,"element")}return e}insertBefore(e,t=!0){ce(),ci(this,e);let n=this.getWritable(),r=e.getWritable(),i=r.__key;Wt(r);let s=this.getPreviousSibling(),l=this.getParentOrThrow().getWritable(),a=n.__prev,c=this.getIndexWithinParent();if(s===null)l.__first=i;else{let f=s.getWritable();f.__next=i}l.__size++,n.__prev=i,r.__prev=a,r.__next=n.__key,r.__parent=n.__parent;let m=T();if(t&&C(m)){let f=this.getParentOrThrow();bn(m,f,c)}return e}isParentRequired(){return!1}createParentElementNode(){return $()}selectStart(){return this.selectPrevious()}selectEnd(){return this.selectNext(0,0)}selectPrevious(e,t){ce();let n=this.getPreviousSibling(),r=this.getParentOrThrow();if(n===null)return r.select(0,0);if(E(n))return n.select();if(!b(n)){let i=n.getIndexWithinParent()+1;return r.select(i,i)}return n.select(e,t)}selectNext(e,t){ce();let n=this.getNextSibling(),r=this.getParentOrThrow();if(n===null)return r.select();if(E(n))return n.select(0,0);if(!b(n)){let i=n.getIndexWithinParent();return r.select(i,i)}return n.select(e,t)}markDirty(){this.getWritable()}};function Yh(o,e){let t=G()._nodes.get(o);t===void 0&&x(!1,"Create node: Attempted to create node %s that was not configured to be used on the editor.",e.name);let n=t.klass;n!==e&&x(!1,"Create node: Type %s in node %s does not match registered node %s with the same type",o,e.name,n.name)}function Md(o,e,t){let n=t||e.getParentOrThrow().getLastChild(),r=e,i=[e];for(;r!==n;)r.getNextSibling()||x(!1,"insertRangeAfter: lastToInsert must be a later sibling of firstToInsert"),r=r.getNextSibling(),i.push(r);let s=o;for(let l of i)s=s.insertAfter(l)}var Po=class o extends bt{static getType(){return"linebreak"}static clone(e){return new o(e.__key)}constructor(e){super(e)}getTextContent(){return` -`}createDOM(){return document.createElement("br")}updateDOM(){return!1}static importDOM(){return{br:e=>Vh(e)||Xh(e)?null:{conversion:Zh,priority:0}}}static importJSON(e){return ut()}exportJSON(){return{type:"linebreak",version:1}}};function Zh(o){return{node:ut()}}function ut(){return oe(new Po)}function we(o){return o instanceof Po}function Vh(o){let e=o.parentElement;if(e!==null&&mo(e)){let t=e.firstChild;if(t===o||t.nextSibling===o&&xi(t)){let n=e.lastChild;if(n===o||n.previousSibling===o&&xi(n))return!0}}return!1}function Xh(o){let e=o.parentElement;if(e!==null&&mo(e)){let t=e.firstChild;if(t===o||t.nextSibling===o&&xi(t))return!1;let n=e.lastChild;if(n===o||n.previousSibling===o&&xi(n))return!0}return!1}function xi(o){return o.nodeType===Ue&&/^( |\t|\r?\n)+$/.test(o.textContent||"")}function xl(o,e){return e&ir?"code":e&ar?"mark":e&sr?"sub":e&lr?"sup":null}function El(o,e){return e&nr?"strong":e&rr?"em":"span"}function Od(o,e,t,n,r){let i=n.classList,s=fo(r,"base");s!==void 0&&i.add(...s),s=fo(r,"underlineStrikethrough");let l=!1,a=e&dn&&e&cn,c=t&dn&&t&cn;s!==void 0&&(c?(l=!0,a||i.add(...s)):a&&i.remove(...s));for(let m in Xe){let d=Xe[m];if(s=fo(r,m),s!==void 0)if(t&d){if(l&&(m==="underline"||m==="strikethrough")){e&d&&i.remove(...s);continue}(!(e&d)||a&&m==="underline"||m==="strikethrough")&&i.add(...s)}else e&d&&i.remove(...s)}}function Gh(o,e){let t=o.length,n=e.length,r=0,i=0;for(;r<t&&r<n&&o[r]===e[r];)r++;for(;i+r<t&&i+r<n&&o[t-i-1]===e[n-i-1];)i++;return[r,t-r-i,e.slice(r,n-i)]}function Ad(o,e,t){let n=e.firstChild,r=t.isComposing(),s=o+(r?fn:"");if(n==null)e.textContent=s;else{let l=n.nodeValue;if(l!==s)if(r||Ke){let[a,c,m]=Gh(l,s);c!==0&&n.deleteData(a,c),n.insertData(a,m)}else n.nodeValue=s}}function vd(o,e,t,n,r,i){Ad(r,o,e);let l=i.theme.text;l!==void 0&&Od(t,0,n,o,l)}function Ei(o,e){let t=document.createElement(e);return t.appendChild(o),t}var Je=class o extends bt{static getType(){return"text"}static clone(e){return new o(e.__text,e.__key)}afterCloneFrom(e){super.afterCloneFrom(e),this.__format=e.__format,this.__style=e.__style,this.__mode=e.__mode,this.__detail=e.__detail}constructor(e,t){super(t),this.__text=e,this.__format=0,this.__style="",this.__mode=0,this.__detail=0}getFormat(){return this.getLatest().__format}getDetail(){return this.getLatest().__detail}getMode(){let e=this.getLatest();return lc[e.__mode]}getStyle(){return this.getLatest().__style}isToken(){return this.getLatest().__mode===jr}isComposing(){return this.__key===Ge()}isSegmented(){return this.getLatest().__mode===Jr}isDirectionless(){return(this.getLatest().__detail&Qr)!==0}isUnmergeable(){return(this.getLatest().__detail&un)!==0}hasFormat(e){let t=Xe[e];return(this.getFormat()&t)!==0}isSimpleText(){return this.__type==="text"&&this.__mode===0}getTextContent(){return this.getLatest().__text}getFormatFlags(e,t){let r=this.getLatest().__format;return ur(r,e,t)}canHaveFormat(){return!0}createDOM(e,t){let n=this.__format,r=xl(this,n),i=El(this,n),s=r===null?i:r,l=document.createElement(s),a=l;this.hasFormat("code")&&l.setAttribute("spellcheck","false"),r!==null&&(a=document.createElement(i),l.appendChild(a));let c=this.__text;vd(a,this,i,n,c,e);let m=this.__style;return m!==""&&(l.style.cssText=m),l}updateDOM(e,t,n){let r=this.__text,i=e.__format,s=this.__format,l=xl(this,i),a=xl(this,s),c=El(this,i),m=El(this,s);if((l===null?c:l)!==(a===null?m:a))return!0;if(l===a&&c!==m){let N=t.firstChild;N==null&&x(!1,"updateDOM: prevInnerDOM is null or undefined");let L=document.createElement(m);return vd(L,this,m,s,r,n),t.replaceChild(L,N),!1}let u=t;a!==null&&l!==null&&(u=t.firstChild,u==null&&x(!1,"updateDOM: innerDOM is null or undefined")),Ad(r,u,this);let g=n.theme.text;g!==void 0&&i!==s&&Od(m,i,s,u,g);let h=e.__style,_=this.__style;return h!==_&&(t.style.cssText=_),!1}static importDOM(){return{"#text":()=>({conversion:tN,priority:0}),b:()=>({conversion:Jh,priority:0}),code:()=>({conversion:ho,priority:0}),em:()=>({conversion:ho,priority:0}),i:()=>({conversion:ho,priority:0}),s:()=>({conversion:ho,priority:0}),span:()=>({conversion:jh,priority:0}),strong:()=>({conversion:ho,priority:0}),sub:()=>({conversion:ho,priority:0}),sup:()=>({conversion:ho,priority:0}),u:()=>({conversion:ho,priority:0})}}static importJSON(e){let t=Y(e.text);return t.setFormat(e.format),t.setDetail(e.detail),t.setMode(e.mode),t.setStyle(e.style),t}exportDOM(e){let{element:t}=super.exportDOM(e);x(t!==null&&pe(t),"Expected TextNode createDOM to always return a HTMLElement");let n=this.getTextContent();/^\s|\s$/.test(n)&&(t.style.whiteSpace="pre-wrap");for(let r of Array.from(t.classList.values()))r.startsWith("editor-theme-")&&t.classList.remove(r);return t.classList.length===0&&t.removeAttribute("class"),t.nodeName==="SPAN"&&!t.getAttribute("style")&&(t=document.createTextNode(n)),this.hasFormat("bold")&&(t=Ei(t,"b")),this.hasFormat("italic")&&(t=Ei(t,"em")),this.hasFormat("strikethrough")&&(t=Ei(t,"s")),this.hasFormat("underline")&&(t=Ei(t,"u")),{element:t}}exportJSON(){return{detail:this.getDetail(),format:this.getFormat(),mode:this.getMode(),style:this.getStyle(),text:this.getTextContent(),type:"text",version:1}}selectionTransform(e,t){}setFormat(e){let t=this.getWritable();return t.__format=typeof e=="string"?Xe[e]:e,t}setDetail(e){let t=this.getWritable();return t.__detail=typeof e=="string"?ic[e]:e,t}setStyle(e){let t=this.getWritable();return t.__style=e,t}toggleFormat(e){let t=this.getFormat(),n=ur(t,e,null);return this.setFormat(n)}toggleDirectionless(){let e=this.getWritable();return e.__detail^=Qr,e}toggleUnmergeable(){let e=this.getWritable();return e.__detail^=un,e}setMode(e){let t=sc[e];if(this.__mode===t)return this;let n=this.getWritable();return n.__mode=t,n}setTextContent(e){if(this.__text===e)return this;let t=this.getWritable();return t.__text=e,t}select(e,t){ce();let n=e,r=t,i=T(),s=this.getTextContent(),l=this.__key;if(typeof s=="string"){let a=s.length;n===void 0&&(n=a),r===void 0&&(r=a)}else n=0,r=0;if(C(i)){let a=Ge();(a===i.anchor.key||a===i.focus.key)&&se(l),i.setTextNodeRange(this,n,this,r)}else return Ti(l,n,l,r,"text","text");return i}selectStart(){return this.select(0,0)}selectEnd(){let e=this.getTextContentSize();return this.select(e,e)}spliceText(e,t,n,r){let i=this.getWritable(),s=i.__text,l=n.length,a=e;a<0&&(a=l+a,a<0&&(a=0));let c=T();if(r&&C(c)){let f=e+l;c.setTextNodeRange(i,f,i,f)}let m=s.slice(0,a)+n+s.slice(a+t);return i.__text=m,i}canInsertTextBefore(){return!0}canInsertTextAfter(){return!0}splitText(...e){ce();let t=this.getLatest(),n=t.getTextContent(),r=t.__key,i=Ge(),s=new Set(e),l=[],a=n.length,c="";for(let S=0;S<a;S++)c!==""&&s.has(S)&&(l.push(c),c=""),c+=n[S];c!==""&&l.push(c);let m=l.length;if(m===0)return[];if(l[0]===n)return[t];let f=l[0],d=t.getParent(),u,p=t.getFormat(),g=t.getStyle(),h=t.__detail,_=!1;t.isSegmented()?(u=Y(f),u.__format=p,u.__style=g,u.__detail=h,_=!0):(u=t.getWritable(),u.__text=f);let N=T(),L=[u],M=f.length;for(let S=1;S<m;S++){let A=l[S],O=A.length,R=Y(A).getWritable();R.__format=p,R.__style=g,R.__detail=h;let P=R.__key,k=M+O;if(C(N)){let W=N.anchor,ie=N.focus;W.key===r&&W.type==="text"&&W.offset>M&&W.offset<=k&&(W.key=P,W.offset-=M,N.dirty=!0),ie.key===r&&ie.type==="text"&&ie.offset>M&&ie.offset<=k&&(ie.key=P,ie.offset-=M,N.dirty=!0)}i===r&&se(P),M=k,L.push(R)}if(d!==null){Ec(this);let S=d.getWritable(),A=this.getIndexWithinParent();_?(S.splice(A,0,L),this.remove()):S.splice(A,1,L),C(N)&&bn(N,d,A,m-1)}return L}mergeWithSibling(e){let t=e===this.getPreviousSibling();!t&&e!==this.getNextSibling()&&x(!1,"mergeWithSibling: sibling must be a previous or next sibling");let n=this.__key,r=e.__key,i=this.__text,s=i.length;Ge()===r&&se(n);let a=T();if(C(a)){let d=a.anchor,u=a.focus;d!==null&&d.key===r&&(Tl(d,t,n,e,s),a.dirty=!0),u!==null&&u.key===r&&(Tl(u,t,n,e,s),a.dirty=!0)}let c=e.__text,m=t?c+i:i+c;this.setTextContent(m);let f=this.getWritable();return e.remove(),f}isTextEntity(){return!1}};function jh(o){let t=o.style;return{forChild:_l(t),node:null}}function Jh(o){let e=o,t=e.style.fontWeight==="normal";return{forChild:_l(e.style,t?void 0:"bold"),node:null}}var wd=new WeakMap;function Qh(o){return o.nodeName==="PRE"||o.nodeType===uo&&o.style!==void 0&&o.style.whiteSpace!==void 0&&o.style.whiteSpace.startsWith("pre")}function eN(o){let e,t=o.parentNode,n=[o];for(;t!==null&&(e=wd.get(t))===void 0&&!Qh(t);)n.push(t),t=t.parentNode;let r=e===void 0?t:e;for(let i=0;i<n.length;i++)wd.set(n[i],r);return r}function tN(o){let e=o,t=o.parentElement;x(t!==null,"Expected parentElement of Text not to be null");let n=e.textContent||"";if(eN(e)!==null){let r=n.split(/(\r?\n|\t)/),i=[],s=r.length;for(let l=0;l<s;l++){let a=r[l];a===` +`,cc=Ke?ac:pn,dc="\u0591-\u07FF\uFB1D-\uFDFD\uFE70-\uFEFC",uc="A-Za-z\xC0-\xD6\xD8-\xF6\xF8-\u02B8\u0300-\u0590\u0800-\u1FFF\u200E\u2C00-\uFB1C\uFE00-\uFE6F\uFEFD-\uFFFF",xh=new RegExp("^[^"+uc+"]*["+dc+"]"),Eh=new RegExp("^[^"+dc+"]*["+uc+"]"),Xe={bold:sr,code:ar,highlight:ur,italic:lr,strikethrough:un,subscript:cr,superscript:dr,underline:fn},fc={directionless:ti,unmergeable:mn},mc={normal:lc,segmented:ei,token:Qr},pc={[lc]:"normal",[ei]:"segmented",[Qr]:"token"};function x(o,e,...t){if(!o){for(let n of t)e=(e||"").replace("%s",n);throw new Error(e)}}function bt(...o){let e=[];for(let t of o)if(t&&typeof t=="string")for(let[n]of t.matchAll(/\S+/g))e.push(n);return e}var Th=100,Ws=!1,qs=0;function gc(){return Ws}function Ch(o){qs=o.timeStamp}function _h(o){qs===0&&gn(o).addEventListener("textInput",Ch,!0)}function zs(o,e,t){return e.__lexicalLineBreak===o||o[`__lexicalKey_${t._key}`]!==void 0}function bh(o){return o.getEditorState().read(()=>{let e=T();return e!==null?e.clone():null})}function yh(o,e,t){let n=be(t._window),r=null,i=null;n!==null&&n.anchorNode===o&&(r=n.anchorOffset,i=n.focusOffset);let s=o.nodeValue;s!==null&&fr(e,s,r,i,!1)}function Sh(o,e,t){return e.nodeType===Ue&&t.isAttached()}function hc(o,e,t){Ws=!0;let n=performance.now()-qs>Th;try{xe(o,()=>{let r=T()||bh(o),i=new Map,s=o.getRootElement(),l=o._editorState,a=o._blockCursorElement,c=!1,m="";for(let d=0;d<e.length;d++){let u=e[d],p=u.type,g=u.target,h=ee(g,l);if(!(h===null&&g!==s||B(h))){if(p==="characterData")n&&y(h)&&Sh(r,g,h)&&yh(g,h,o);else if(p==="childList"){c=!0;let C=u.addedNodes;for(let M=0;M<C.length;M++){let S=C[M],A=Ys(S),O=S.parentNode;if(O!=null&&S!==a&&A===null&&(S.nodeName!=="BR"||!zs(S,O,o))){if(Ke){let R=S.innerText||S.nodeValue;R&&(m+=R)}O.removeChild(S)}}let N=u.removedNodes,L=N.length;if(L>0){let M=0;for(let S=0;S<L;S++){let A=N[S];(A.nodeName==="BR"&&zs(A,g,o)||a===A)&&(g.appendChild(A),M++)}L!==M&&(g===s&&(h=Zs(l)),i.set(g,h))}}}}if(i.size>0)for(let[d,u]of i)if(E(u)){let p=u.getChildrenKeys(),g=d.firstChild;for(let h=0;h<p.length;h++){let C=p[h],N=o.getElementByKey(C);N!==null&&(g==null?(d.appendChild(N),g=N):g!==N&&d.replaceChild(N,g),g=g.nextSibling)}}else y(u)&&u.markDirty();let f=t.takeRecords();if(f.length>0){for(let d=0;d<f.length;d++){let u=f[d],p=u.addedNodes,g=u.target;for(let h=0;h<p.length;h++){let C=p[h],N=C.parentNode;N!=null&&C.nodeName==="BR"&&!zs(C,g,o)&&N.removeChild(C)}}t.takeRecords()}r!==null&&(c&&(r.dirty=!0,Y(r)),Ke&&ri(o)&&r.insertRawText(m))})}finally{Ws=!1}}function oi(o){let e=o._observer;if(e!==null){let t=e.takeRecords();hc(o,t,e)}}function ni(o){_h(o),o._observer=new MutationObserver((e,t)=>{hc(o,e,t)})}function Nc(o,e){let t=o.__mode,n=o.__format,r=o.__style,i=e.__mode,s=e.__format,l=e.__style;return(t===null||t===i)&&(n===null||n===s)&&(r===null||r===l)}function xc(o,e){let t=o.mergeWithSibling(e),n=j()._normalizedNodes;return n.add(o.__key),n.add(e.__key),t}function Vs(o){let e=o;if(e.__text===""&&e.isSimpleText()&&!e.isUnmergeable()){e.remove();return}let t;for(;(t=e.getPreviousSibling())!==null&&y(t)&&t.isSimpleText()&&!t.isUnmergeable();)if(t.__text==="")t.remove();else if(Nc(t,e)){e=xc(t,e);break}else break;let n;for(;(n=e.getNextSibling())!==null&&y(n)&&n.isSimpleText()&&!n.isUnmergeable();)if(n.__text==="")n.remove();else if(Nc(e,n)){e=xc(e,n);break}else break}function Ao(o){return Ec(o.anchor),Ec(o.focus),o}function Ec(o){for(;o.type==="element";){let e=o.getNode(),t=o.offset,n,r;if(t===e.getChildrenSize()?(n=e.getChildAtIndex(t-1),r=!0):(n=e.getChildAtIndex(t),r=!1),y(n)){o.set(n.__key,r?n.getTextContentSize():0,"text");break}else if(!E(n))break;o.set(n.__key,r?n.getChildrenSize():0,"element")}}var Lh=1;function Mh(){return""+Lh++}function _c(o,e){let t=o._nodes.get(e);return t===void 0&&x(!1,"registeredNode: Type %s not found",e),t}var zT=Array.isArray,bc=typeof queueMicrotask=="function"?queueMicrotask:o=>{Promise.resolve().then(o)};function yc(o){return B(ee(o))}function En(o){let e=document.activeElement;if(e===null)return!1;let t=e.nodeName;return B(ee(o))&&(t==="INPUT"||t==="TEXTAREA"||e.contentEditable==="true"&&Ro(e)==null)}function Wt(o,e,t){let n=o.getRootElement();try{return n!==null&&n.contains(e)&&n.contains(t)&&e!==null&&!En(e)&&ii(e)===o}catch{return!1}}function Tn(o){return o instanceof go}function ii(o){let e=o;for(;e!=null;){let t=Ro(e);if(Tn(t))return t;e=di(e)}return null}function Ro(o){return o?o.__lexicalEditor:null}function ze(o){return o.isToken()||o.isSegmented()}function wh(o){return o.nodeType===Ue}function Cn(o){let e=o;for(;e!=null;){if(wh(e))return e;e=e.firstChild}return null}function pr(o,e,t){let n=Xe[e];if(t!==null&&(o&n)===(t&n))return o;let r=o^n;return e==="subscript"?r&=~Xe.superscript:e==="superscript"&&(r&=~Xe.subscript),r}function gr(o){return y(o)||ve(o)||B(o)}function Sc(o,e){if(e!=null){__DEV__&&vh(o,e),o.__key=e;return}ce(),rl();let t=j(),n=je(),r=Mh();n._nodeMap.set(r,o),E(o)?t._dirtyElements.set(r,!0):t._dirtyLeaves.add(r),t._cloneNotNeeded.add(r),t._dirtyType=Ks,o.__key=r}function vh(o,e){let t=dd();if(!t)return;let n=t._nodeMap.get(e);n&&n.constructor!==o.constructor&&(o.constructor.name!==n.constructor.name?x(!1,"Lexical node with constructor %s attempted to re-use key from node in active editor state with constructor %s. Keys must not be re-used when the type is changed.",o.constructor.name,n.constructor.name):x(!1,"Lexical node with constructor %s attempted to re-use key from node in active editor state with different constructor with the same name (possibly due to invalid Hot Module Replacement). Keys must not be re-used when the type is changed.",o.constructor.name))}function Dh(o,e,t){let n=o;for(;n!==null;){if(t.has(n))return;let r=e.get(n);if(r===void 0)break;t.set(n,!1),n=r.__parent}}function qt(o){let e=o.getParent();if(e!==null){let t=o.getWritable(),n=e.getWritable(),r=o.getPreviousSibling(),i=o.getNextSibling();if(r===null)if(i!==null){let s=i.getWritable();n.__first=i.__key,s.__prev=null}else n.__first=null;else{let s=r.getWritable();if(i!==null){let l=i.getWritable();l.__prev=s.__key,s.__next=l.__key}else s.__next=null;t.__prev=null}if(i===null)if(r!==null){let s=r.getWritable();n.__last=r.__key,s.__next=null}else n.__last=null;else{let s=i.getWritable();if(r!==null){let l=r.getWritable();l.__next=s.__key,s.__prev=l.__key}else s.__prev=null;t.__next=null}n.__size--,t.__parent=null}}function mr(o){rl();let e=o.getLatest(),t=e.__parent,n=je(),r=j(),i=n._nodeMap,s=r._dirtyElements;t!==null&&Dh(t,i,s);let l=e.__key;r._dirtyType=Ks,E(o)?s.set(l,!0):r._dirtyLeaves.add(l)}function Lc(o){let e=o.getPreviousSibling(),t=o.getNextSibling();e!==null&&mr(e),t!==null&&mr(t)}function se(o){ce();let e=j(),t=e._compositionKey;if(o!==t){if(e._compositionKey=o,t!==null){let n=J(t);n!==null&&n.getWritable()}if(o!==null){let n=J(o);n!==null&&n.getWritable()}}}function Ge(){return st()?null:j()._compositionKey}function J(o,e){let n=(e||je())._nodeMap.get(o);return n===void 0?null:n}function Ys(o,e){let t=j(),n=o[`__lexicalKey_${t._key}`];return n!==void 0?J(n,e):null}function ee(o,e){let t=o;for(;t!=null;){let n=Ys(t,e);if(n!==null)return n;t=di(t)}return null}function si(o){let e=o._decorators,t=Object.assign({},e);return o._pendingDecorators=t,t}function Gs(o){return o.read(()=>F().getTextContent())}function Mc(o,e){xe(o,()=>{let t=je();if(t.isEmpty())return;if(e==="root"){F().markDirty();return}let n=t._nodeMap;for(let[,r]of n)r.markDirty()},o._pendingEditorState===null?{tag:"history-merge"}:void 0)}function F(){return Zs(je())}function Zs(o){return o._nodeMap.get("root")}function Y(o){ce();let e=je();o!==null&&(__DEV__&&Object.isFrozen(o)&&x(!1,"$setSelection called on frozen selection object. Ensure selection is cloned before passing in."),o.dirty=!0,o.setCachedNodes(null)),e._selection=o}function wc(){ce();let o=j();oi(o)}function ko(o){let e=j(),t=Oh(o,e);if(t===null){let n=e.getRootElement();return o===n?J("root"):null}return J(t)}function js(o,e){return e?o.getTextContentSize():0}function Oh(o,e){let t=o;for(;t!=null;){let n=t[`__lexicalKey_${e._key}`];if(n!==void 0)return n;t=di(t)}return null}function li(o){return/[\uD800-\uDBFF][\uDC00-\uDFFF]/g.test(o)}function hr(o){let e=[],t=o;for(;t!==null;)e.push(t),t=t._parentEditor;return e}function Js(){return Math.random().toString(36).replace(/[^a-z]+/g,"").substr(0,5)}function Qs(o){return o.nodeType===Ue?o.nodeValue:null}function ai(o,e,t){let n=be(e._window);if(n===null)return;let r=n.anchorNode,{anchorOffset:i,focusOffset:s}=n;if(r!==null){let l=Qs(r),a=ee(r);if(l!==null&&y(a)){if(l===pn&&t){let c=t.length;l=t,i=c,s=c}l!==null&&fr(a,l,i,s,o)}}}function fr(o,e,t,n,r){let i=o;if(i.isAttached()&&(r||!i.isDirty())){let s=i.isComposing(),l=e;(s||r)&&e[e.length-1]===pn&&(l=e.slice(0,-1));let a=i.getTextContent();if(r||l!==a){if(l===""){if(se(null),!Kt&&!Ct&&!Ut){let g=j();setTimeout(()=>{g.update(()=>{i.isAttached()&&i.remove()})},20)}else i.remove();return}let c=i.getParent(),m=We(),f=i.getTextContentSize(),d=Ge(),u=i.getKey();if(i.isToken()||d!==null&&u===d&&!s||_(m)&&(c!==null&&!c.canInsertTextBefore()&&m.anchor.offset===0||m.anchor.key===o.__key&&m.anchor.offset===0&&!i.canInsertTextBefore()&&!s||m.focus.key===o.__key&&m.focus.offset===f&&!i.canInsertTextAfter()&&!s)){i.markDirty();return}let p=T();if(!_(p)||t===null||n===null){i.setTextContent(l);return}if(p.setTextNodeRange(i,t,i,n),i.isSegmented()){let g=i.getTextContent(),h=q(g);i.replace(h),i=h}i.setTextContent(l)}}}function Ah(o){let e=o.getPreviousSibling();return(y(e)||E(e)&&e.isInline())&&!e.canInsertTextAfter()}function vc(o,e){if(e.isSegmented())return!0;if(!o.isCollapsed())return!1;let t=o.anchor.offset,n=e.getParentOrThrow(),r=e.isToken();return t===0?!e.canInsertTextBefore()||!n.canInsertTextBefore()&&!e.isComposing()||r||Ah(e):t===e.getTextContentSize()?!e.canInsertTextAfter()||!n.canInsertTextAfter()&&!e.isComposing()||r:!1}function Dc(o,e,t,n){return o==="Tab"&&!e&&!t&&!n}function Oc(o,e,t,n){return o.toLowerCase()==="b"&&!e&&Nr(t,n)}function Ac(o,e,t,n){return o.toLowerCase()==="i"&&!e&&Nr(t,n)}function Rc(o,e,t,n){return o.toLowerCase()==="u"&&!e&&Nr(t,n)}function kc(o,e){return nd(o)&&!e}function Ic(o,e){return nd(o)&&e}function $c(o,e){return He&&e&&o.toLowerCase()==="o"}function Pc(o,e,t){return hn(o)&&(He?e:t)}function Bc(o,e,t){return Nn(o)&&(He?e:t)}function Fc(o,e){return He&&e&&hn(o)}function Hc(o,e){return He&&e&&Nn(o)}function Kc(o,e,t,n){return He?e||t?!1:hn(o)||o.toLowerCase()==="h"&&n:n||e||t?!1:hn(o)}function Uc(o,e,t,n,r){return He?t||n||r?!1:Nn(o)||o.toLowerCase()==="d"&&e:e||n||r?!1:Nn(o)}function zc(o,e,t,n){return o.toLowerCase()==="z"&&!e&&Nr(t,n)}function Wc(o,e,t,n){return He?o.toLowerCase()==="z"&&t&&e:o.toLowerCase()==="y"&&n||o.toLowerCase()==="z"&&n&&e}function qc(o,e,t,n){return e?!1:o.toLowerCase()==="c"?He?t:n:!1}function Yc(o,e,t,n){return e?!1:o.toLowerCase()==="x"?He?t:n:!1}function Zc(o){return o==="ArrowLeft"}function Vc(o){return o==="ArrowRight"}function Rh(o){return o==="ArrowUp"}function kh(o){return o==="ArrowDown"}function Xc(o,e,t,n){return Zc(o)&&!e&&!n&&!t}function Gc(o,e,t,n,r){return Zc(o)&&!n&&!t&&(e||r)}function jc(o,e,t,n){return Vc(o)&&!e&&!n&&!t}function Jc(o,e,t,n,r){return Vc(o)&&!n&&!t&&(e||r)}function Qc(o,e,t){return Rh(o)&&!e&&!t}function ed(o,e,t){return kh(o)&&!e&&!t}function td(o,e,t,n){return o||e||t||n}function od(o){return o===" "}function Nr(o,e){return He?o:e}function nd(o){return o==="Enter"}function hn(o){return o==="Backspace"}function rd(o){return o==="Escape"}function Nn(o){return o==="Delete"}function el(o,e,t){return o.toLowerCase()==="a"&&Nr(e,t)}function tl(){let o=F(),e=o.select(0,o.getChildrenSize());Y(Ao(e))}function mo(o,e){o.__lexicalClassNameCache===void 0&&(o.__lexicalClassNameCache={});let t=o.__lexicalClassNameCache,n=t[e];if(n!==void 0)return n;let r=o[e];if(typeof r=="string"){let i=bt(r);return t[e]=i,i}return r}function ci(o,e,t,n,r){if(t.size===0)return;let i=n.__type,s=n.__key,l=e.get(i);l===void 0&&x(!1,"Type %s not in registeredNodes",i);let a=l.klass,c=o.get(a);c===void 0&&(c=new Map,o.set(a,c));let m=c.get(s),f=m==="destroyed"&&r==="created";(m===void 0||f)&&c.set(s,f?"updated":r)}function Tc(o,e,t){let n=o.getParent(),r=t,i=o;return n!==null&&(e&&t===0?(r=i.getIndexWithinParent(),i=n):!e&&t===i.getChildrenSize()&&(r=i.getIndexWithinParent()+1,i=n)),i.getChildAtIndex(e?r-1:r)}function Yt(o,e){let t=o.offset;if(o.type==="element"){let n=o.getNode();return Tc(n,e,t)}else{let n=o.getNode();if(e&&t===0||!e&&t===n.getTextContentSize()){let r=e?n.getPreviousSibling():n.getNextSibling();return r===null?Tc(n.getParentOrThrow(),e,n.getIndexWithinParent()+(e?0:1)):r}}return null}function ri(o){let e=gn(o).event,t=e&&e.inputType;return t==="insertFromPaste"||t==="insertFromPasteAsQuotation"}function D(o,e,t){return il(o,e,t)}function xr(o){return!oe(o)&&!o.isLastChild()&&!o.isInline()}function _n(o,e){let t=o._keyToDOMMap.get(e);return t===void 0&&x(!1,"Reconciliation: could not find DOM element for node key %s",e),t}function di(o){let e=o.assignedSlot||o.parentElement;return e!==null&&e.nodeType===11?e.host:e}function id(o,e,t){let n=t.ownerDocument,r=n.defaultView;if(r===null)return;let{top:i,bottom:s}=e,l=0,a=0,c=t;for(;c!==null;){let m=c===n.body;if(m)l=0,a=gn(o).innerHeight;else{let d=c.getBoundingClientRect();l=d.top,a=d.bottom}let f=0;if(i<l?f=-(l-i):s>a&&(f=s-a),f!==0)if(m)r.scrollBy(0,f);else{let d=c.scrollTop;c.scrollTop+=f;let u=c.scrollTop-d;i-=u,s-=u}if(m)break;c=di(c)}}function sd(o){let e=T();if(!_(e)||!E(o))return e;let{anchor:t,focus:n}=e,r=t.getNode(),i=n.getNode();return xn(r,o)&&t.set(o.__key,0,"element"),xn(i,o)&&n.set(o.__key,0,"element"),e}function xn(o,e){let t=o.getParent();for(;t!==null;){if(t.is(e))return!0;t=t.getParent()}return!1}function ld(o){let e=o.ownerDocument;return e&&e.defaultView||null}function gn(o){let e=o._window;return e===null&&x(!1,"window object not found"),e}function ol(o){let e=o.getParentOrThrow();for(;e!==null;){if(me(e))return e;e=e.getParentOrThrow()}return e}var WT=Symbol.for("@lexical/ShadowRootNodeBrand");function me(o){return oe(o)||E(o)&&o.isShadowRoot()}function ne(o){let e=j(),t=o.constructor.getType(),n=e._nodes.get(t);n===void 0&&x(!1,'$initializeNode failed. Ensure node has been registered to the editor. You can do this by passing the node class via the "nodes" array in the editor config.');let r=n.replace;if(r!==null){let i=r(o);return i instanceof o.constructor||x(!1,"$initializeNode failed. Ensure replacement node is a subclass of the original node."),i}return o}function ui(o,e){let t=o.getParent();oe(t)&&!E(e)&&!B(e)&&x(!1,"Only element or decorator nodes can be inserted in to the root node")}function Ih(o){let e=o.theme,t=document.createElement("div");t.contentEditable="false",t.setAttribute("data-lexical-cursor","true");let n=e.blockCursor;if(n!==void 0){if(typeof n=="string"){let r=bt(n);n=e.blockCursor=r}n!==void 0&&t.classList.add(...n)}return t}function Xs(o){return(B(o)||E(o)&&!o.canBeEmpty())&&!o.isInline()}function Er(o,e,t){t.style.removeProperty("caret-color"),e._blockCursorElement=null;let n=o.parentElement;n!==null&&n.removeChild(o)}function ad(o,e,t){let n=o._blockCursorElement;if(_(t)&&t.isCollapsed()&&t.anchor.type==="element"&&e.contains(document.activeElement)){let r=t.anchor,i=r.getNode(),s=r.offset,l=i.getChildrenSize(),a=!1,c=null;if(s===l){let m=i.getChildAtIndex(s-1);Xs(m)&&(a=!0)}else{let m=i.getChildAtIndex(s);if(Xs(m)){let f=m.getPreviousSibling();(f===null||Xs(f))&&(a=!0,c=o.getElementByKey(m.__key))}}if(a){let m=o.getElementByKey(i.__key);n===null&&(o._blockCursorElement=n=Ih(o._config)),e.style.caretColor="transparent",c===null?m.appendChild(n):m.insertBefore(n,c);return}}n!==null&&Er(n,o,e)}function be(o){return fe?(o||window).getSelection():null}function fi(o){return pe(o)&&o.tagName==="A"}function pe(o){return o.nodeType===1}function Io(o){let e=new RegExp(/^(a|abbr|acronym|b|cite|code|del|em|i|ins|kbd|label|output|q|ruby|s|samp|span|strong|sub|sup|time|u|tt|var|#text)$/,"i");return o.nodeName.match(e)!==null}function po(o){let e=new RegExp(/^(address|article|aside|blockquote|canvas|dd|div|dl|dt|fieldset|figcaption|figure|footer|form|h1|h2|h3|h4|h5|h6|header|hr|li|main|nav|noscript|ol|p|pre|section|table|td|tfoot|ul|video)$/,"i");return o.nodeName.match(e)!==null}function $o(o){if(oe(o)||B(o)&&!o.isInline())return!0;if(!E(o)||me(o))return!1;let e=o.getFirstChild(),t=e===null||ve(e)||y(e)||e.isInline();return!o.isInline()&&o.canBeEmpty()!==!1&&t}function mi(o,e){let t=o;for(;t!==null&&t.getParent()!==null&&!e(t);)t=t.getParentOrThrow();return e(t)?t:null}function nl(){return j()}var Cc=new WeakMap,$h=new Map;function cd(o){if(!o._readOnly&&o.isEmpty())return $h;x(o._readOnly,"getCachedTypeToNodeMap called with a writable EditorState");let e=Cc.get(o);if(!e){e=new Map,Cc.set(o,e);for(let[t,n]of o._nodeMap){let r=n.__type,i=e.get(r);i||(i=new Map,e.set(r,i)),i.set(t,n)}}return e}function Zt(o){let e=o.constructor,t=e.clone(o);return t.afterCloneFrom(o),__DEV__&&(x(t.__key===o.__key,"$cloneWithProperties: %s.clone(node) (with type '%s') did not return a node with the same key, make sure to specify node.__key as the last argument to the constructor",e.name,e.getType()),x(t.__parent===o.__parent&&t.__next===o.__next&&t.__prev===o.__prev,"$cloneWithProperties: %s.clone(node) (with type '%s') overrided afterCloneFrom but did not call super.afterCloneFrom(prevNode)",e.name,e.getType())),t}function ud(o,e){let t=o._decorators,r=o._pendingDecorators||t,i=e._nodeMap,s;for(s in r)i.has(s)||(r===t&&(r=si(o)),delete r[s])}function fd(o,e,t,n,r,i){let s=o.getFirstChild();for(;s!==null;){let l=s.__key;s.__parent===e&&(E(s)&&fd(s,l,t,n,r,i),t.has(l)||i.delete(l),r.push(l)),s=s.getNextSibling()}}function md(o,e,t,n){let r=o._nodeMap,i=e._nodeMap,s=[];for(let[l]of n){let a=i.get(l);a!==void 0&&(a.isAttached()||(E(a)&&fd(a,l,r,i,s,n),r.has(l)||n.delete(l),s.push(l)))}for(let l of s)i.delete(l);for(let l of t){let a=i.get(l);a!==void 0&&!a.isAttached()&&(r.has(l)||t.delete(l),i.delete(l))}}var de="",ho=null,lt="",Vt="",bn,ye,Cr,gd=!1,gi=!1,hi,ll,al,Po,at,cl,_r;function Ni(o,e){let t=Po.get(o);if(e!==null){let n=fl(o);n.parentNode===e&&e.removeChild(n)}if(at.has(o)||ye._keyToDOMMap.delete(o),E(t)){let n=pi(t,Po);dl(n,0,n.length-1,null)}t!==void 0&&ci(_r,Cr,hi,t,"destroyed")}function dl(o,e,t,n){let r=e;for(;r<=t;++r){let i=o[r];i!==void 0&&Ni(i,n)}}function xi(o,e,t){let n=at.get(o);n===void 0&&x(!1,"createNode: node does not exist in nodeMap");let r=n.createDOM(bn,ye);if(zh(o,r,ye),y(n)?r.setAttribute("data-lexical-text","true"):B(n)&&r.setAttribute("data-lexical-decorator","true"),E(n)){let i=n.__size;if(i!==0){let s=i-1,l=pi(n,at);ul(l,n,0,s,r,null)}n.isInline()||hd(null,n,r),xr(n)&&(de+=Ve,Vt+=Ve)}else{let i=n.getTextContent();if(B(n)){let s=n.decorate(ye,bn);s!==null&&Nd(o,s),r.contentEditable="false"}de+=i,Vt+=i}if(e!==null&&!n?.insertDOMIntoParent(r,e))if(t!=null)e.insertBefore(r,t);else{let s=e.__lexicalLineBreak;s!=null?e.insertBefore(r,s):e.appendChild(r)}return __DEV__&&Object.freeze(n),ci(_r,Cr,hi,n,"created"),r}function ul(o,e,t,n,r,i){let s=de;de="";let l=t;for(;l<=n;++l){xi(o[l],r,i);let a=at.get(o[l]);a!==null&&y(a)&&(ho===null&&(ho=a.getFormat()),lt===""&&(lt=a.getStyle()))}xr(e)&&(de+=Ve),r.__lexicalTextContent=de,de=s+de}function pd(o,e){let t=e.get(o);return ve(t)||B(t)&&t.isInline()}function hd(o,e,t){let n=o!==null&&(o.__size===0||pd(o.__last,Po)),r=e.__size===0||pd(e.__last,at);if(n){if(!r){let i=t.__lexicalLineBreak;if(i!=null)try{t.removeChild(i)}catch(s){if(typeof s=="object"&&s!=null){let l=`${s.toString()} Parent: ${t.tagName}, child: ${i.tagName}.`;throw new Error(l)}else throw s}t.__lexicalLineBreak=null}}else if(r){let i=document.createElement("br");t.__lexicalLineBreak=i,t.appendChild(i)}}function Ph(o){ct(o)&&ho!=null&&!gi&&o.setTextStyle(lt)}function Bh(o){ct(o)&<!==""&<!==o.__textStyle&&!gi&&o.setTextStyle(lt)}function Fh(o,e,t){ho=null,lt="",Hh(o,e,t),Ph(e),Bh(e)}function pi(o,e){let t=[],n=o.__first;for(;n!==null;){let r=e.get(n);r===void 0&&x(!1,"createChildrenArray: node does not exist in nodeMap"),t.push(n),n=r.__next}return t}function Hh(o,e,t){let n=de,r=o.__size,i=e.__size;if(de="",r===1&&i===1){let s=o.__first,l=e.__first;if(s===l)Tr(s,t);else{let c=fl(s),m=xi(l,null,null);try{t.replaceChild(m,c)}catch(f){if(typeof f=="object"&&f!=null){let d=`${f.toString()} Parent: ${t.tagName}, new child: {tag: ${m.tagName} key: ${l}}, old child: {tag: ${c.tagName}, key: ${s}}.`;throw new Error(d)}else throw f}Ni(s,null)}let a=at.get(l);y(a)&&(ho===null&&(ho=a.getFormat()),lt===""&&(lt=a.getStyle()))}else{let s=pi(o,Po),l=pi(e,at);if(r===0)i!==0&&ul(l,e,0,i-1,t,null);else if(i===0){if(r!==0){let c=t.__lexicalLineBreak==null;dl(s,0,r-1,c?null:t),c&&(t.textContent="")}}else Uh(e,s,l,r,i,t)}xr(e)&&(de+=Ve),t.__lexicalTextContent=de,de=n+de}function Tr(o,e){let t=Po.get(o),n=at.get(o);(t===void 0||n===void 0)&&x(!1,"reconcileNode: prevNode or nextNode does not exist in nodeMap");let r=gd||al.has(o)||ll.has(o),i=_n(ye,o);if(t===n&&!r){if(E(t)){let s=i.__lexicalTextContent;s!==void 0&&(de+=s,Vt+=s)}else{let s=t.getTextContent();Vt+=s,de+=s}return i}if(t!==n&&r&&ci(_r,Cr,hi,n,"updated"),n.updateDOM(t,i,bn)){let s=xi(o,null,null);return e===null&&x(!1,"reconcileNode: parentDOM is null"),e.replaceChild(s,i),Ni(o,null),s}if(E(t)&&E(n))r&&(Fh(t,n,i),!oe(n)&&!n.isInline()&&hd(t,n,i)),xr(n)&&(de+=Ve,Vt+=Ve);else{let s=n.getTextContent();if(B(n)){let l=n.decorate(ye,bn);l!==null&&Nd(o,l)}de+=s,Vt+=s}if(!gi&&oe(n)&&n.__cachedText!==Vt){let s=n.getWritable();s.__cachedText=Vt,n=s}return __DEV__&&Object.freeze(n),i}function Nd(o,e){let t=ye._pendingDecorators,n=ye._decorators;if(t===null){if(n[o]===e)return;t=si(ye)}t[o]=e}function Kh(o){return o.firstChild}function sl(o){let e=o.nextSibling;return e!==null&&e===ye._blockCursorElement&&(e=e.nextSibling),e}function Uh(o,e,t,n,r,i){let s=n-1,l=r-1,a,c,m=Kh(i),f=0,d=0;for(;f<=s&&d<=l;){let g=e[f],h=t[d];if(g===h)m=sl(Tr(h,i)),f++,d++;else{a===void 0&&(a=new Set(e)),c===void 0&&(c=new Set(t));let N=c.has(g),L=a.has(h);if(!N)m=sl(fl(g)),Ni(g,i),f++;else if(!L)xi(h,i,m),d++;else{let M=_n(ye,h);M===m?m=sl(Tr(h,i)):(m!=null?i.insertBefore(M,m):i.appendChild(M),Tr(h,i)),f++,d++}}let C=at.get(h);C!==null&&y(C)&&(ho===null&&(ho=C.getFormat()),lt===""&&(lt=C.getStyle()))}let u=f>s,p=d>l;if(u&&!p){let g=t[l+1],h=g===void 0?null:ye.getElementByKey(g);ul(t,o,d,l,i,h)}else p&&!u&&dl(e,f,s,i)}function xd(o,e,t,n,r,i){de="",Vt="",gd=n===zt,ye=t,bn=t._config,Cr=t._nodes,hi=ye._listeners.mutation,ll=r,al=i,Po=o._nodeMap,at=e._nodeMap,gi=e._readOnly,cl=new Map(t._keyToDOMMap);let s=new Map;return _r=s,Tr("root",null),ye=void 0,Cr=void 0,ll=void 0,al=void 0,Po=void 0,at=void 0,bn=void 0,cl=void 0,_r=void 0,s}function zh(o,e,t){let n=t._keyToDOMMap;e["__lexicalKey_"+t._key]=o,n.set(o,e)}function fl(o){let e=cl.get(o);return e===void 0&&x(!1,"Reconciliation: could not find DOM element for node key %s",o),e}var Xt=Object.freeze({}),Nl=30,ml=[["keydown",Jh],["pointerdown",qh],["compositionstart",Gh],["compositionend",jh],["input",Xh],["click",Wh],["cut",Xt],["copy",Xt],["dragstart",Xt],["dragover",Xt],["dragend",Xt],["paste",Xt],["focus",Xt],["blur",Xt],["drop",Xt]];uo&&ml.push(["beforeinput",(o,e)=>Vh(o,e)]);var Sr=0,bd=null,yd=0,yn=null,Ei=new WeakMap,pl=!1,gl=!1,yr=!1,br=!1,Sd=[0,"",0,"root",0];function Ld(o,e,t,n,r){let i=o.anchor,s=o.focus,l=i.getNode(),a=j(),c=be(a._window),m=c!==null?c.anchorNode:null,f=i.key,d=a.getElementByKey(f),u=t.length;return f!==s.key||!y(l)||(!r&&(!uo||yd<n+50)||l.isDirty()&&u<2||li(t))&&i.offset!==s.offset&&!l.isComposing()||ze(l)||l.isDirty()&&u>1||(r||!uo)&&d!==null&&!l.isComposing()&&m!==Cn(d)||c!==null&&e!==null&&(!e.collapsed||e.startContainer!==c.anchorNode||e.startOffset!==c.anchorOffset)||l.getFormat()!==o.format||l.getStyle()!==o.style||vc(o,l)}function Ed(o,e){return o!==null&&o.nodeValue!==null&&o.nodeType===Ue&&e!==0&&e!==o.nodeValue.length}function Td(o,e,t){let{anchorNode:n,anchorOffset:r,focusNode:i,focusOffset:s}=o;pl&&(pl=!1,Ed(n,r)&&Ed(i,s))||xe(e,()=>{if(!t){Y(null);return}if(!Wt(e,n,i))return;let l=T();if(_(l)){let a=l.anchor,c=a.getNode();if(l.isCollapsed()){o.type==="Range"&&o.anchorNode===o.focusNode&&(l.dirty=!0);let m=gn(e).event,f=m?m.timeStamp:performance.now(),[d,u,p,g,h]=Sd,C=F(),N=e.isComposing()===!1&&C.getTextContent()==="";if(f<h+200&&a.offset===p&&a.key===g)l.format=d,l.style=u;else if(a.type==="text")x(y(c),"Point.getNode() must return TextNode when type is text"),l.format=c.getFormat(),l.style=c.getStyle();else if(a.type==="element"&&!N){let L=a.getNode();l.style="",L instanceof dt&&L.getChildrenSize()===0?l.style=L.getTextStyle():l.format=0}}else{let m=a.key,d=l.focus.key,u=l.getNodes(),p=u.length,g=l.isBackward(),h=g?s:r,C=g?r:s,N=g?d:m,L=g?m:d,M=Us,S=!1;for(let A=0;A<p;A++){let O=u[A],R=O.getTextContentSize();if(y(O)&&R!==0&&!(A===0&&O.__key===N&&h===R||A===p-1&&O.__key===L&&C===0)&&(S=!0,M&=O.getFormat(),M===0))break}l.format=S?M:0}}D(e,we,void 0)})}function Wh(o,e){xe(e,()=>{let t=T(),n=be(e._window),r=We();if(n){if(_(t)){let i=t.anchor,s=i.getNode();if(i.type==="element"&&i.offset===0&&t.isCollapsed()&&!oe(s)&&F().getChildrenSize()===1&&s.getTopLevelElementOrThrow().isEmpty()&&r!==null&&t.is(r))n.removeAllRanges(),t.dirty=!0;else if(o.detail===3&&!t.isCollapsed()){let a=t.focus.getNode();s!==a&&(E(s)?s.select(0):s.getParentOrThrow().select(0))}}else if(o.pointerType==="touch"){let i=n.anchorNode;if(i!==null){let s=i.nodeType;if(s===fo||s===Ue){let l=Lr(r,n,e,o);Y(l)}}}}D(e,tr,o)})}function qh(o,e){let t=o.target,n=o.pointerType;t instanceof Node&&n!=="touch"&&xe(e,()=>{yc(t)||(gl=!0)})}function Md(o){if(!o.getTargetRanges)return null;let e=o.getTargetRanges();return e.length===0?null:e[0]}function Yh(o,e){return o!==e||E(o)||E(e)||!o.isToken()||!e.isToken()}function Zh(o){return bd==="MediaLast"&&o<Sr+Nl}function Vh(o,e){let t=o.inputType,n=Md(o);t==="deleteCompositionText"||Ke&&ri(e)||t!=="insertCompositionText"&&xe(e,()=>{let r=T();if(t==="deleteContentBackward"){if(r===null){let m=We();if(!_(m))return;Y(m.clone())}if(_(r)){let m=r.anchor.key===r.focus.key;if(Zh(o.timeStamp)&&e.isComposing()&&m){if(se(null),Sr=0,setTimeout(()=>{xe(e,()=>{se(null)})},Nl),_(r)){let f=r.anchor.getNode();f.markDirty(),x(y(f),"Anchor node must be a TextNode"),r.style=f.getStyle()}}else{se(null),o.preventDefault();let f=r.anchor.getNode().getTextContent(),d=r.anchor.offset===0&&r.focus.offset===f.length;Hs&&m&&!d||D(e,Ze,!0)}return}}if(!_(r))return;let i=o.data;yn!==null&&ai(!1,e,yn),(!r.dirty||yn!==null)&&r.isCollapsed()&&!oe(r.anchor.getNode())&&n!==null&&r.applyDOMRange(n),yn=null;let s=r.anchor,l=r.focus,a=s.getNode(),c=l.getNode();if(t==="insertText"||t==="insertTranspose"){if(i===` +`)o.preventDefault(),D(e,$t,!1);else if(i===Ve)o.preventDefault(),D(e,Pt,void 0);else if(i==null&&o.dataTransfer){let m=o.dataTransfer.getData("text/plain");o.preventDefault(),r.insertRawText(m)}else i!=null&&Ld(r,n,i,o.timeStamp,!0)?(o.preventDefault(),D(e,rt,i)):yn=i;yd=o.timeStamp;return}switch(o.preventDefault(),t){case"insertFromYank":case"insertFromDrop":case"insertReplacementText":{D(e,rt,o);break}case"insertFromComposition":{se(null),D(e,rt,o);break}case"insertLineBreak":{se(null),D(e,$t,!1);break}case"insertParagraph":{se(null),yr&&!Ct?(yr=!1,D(e,$t,!1)):D(e,Pt,void 0);break}case"insertFromPaste":case"insertFromPasteAsQuotation":{D(e,no,o);break}case"deleteByComposition":{Yh(a,c)&&D(e,cn,o);break}case"deleteByDrag":case"deleteByCut":{D(e,cn,o);break}case"deleteContent":{D(e,Ze,!1);break}case"deleteWordBackward":{D(e,Tt,!0);break}case"deleteWordForward":{D(e,Tt,!1);break}case"deleteHardLineBackward":case"deleteSoftLineBackward":{D(e,it,!0);break}case"deleteContentForward":case"deleteHardLineForward":case"deleteSoftLineForward":{D(e,it,!1);break}case"formatStrikeThrough":{D(e,Ne,"strikethrough");break}case"formatBold":{D(e,Ne,"bold");break}case"formatItalic":{D(e,Ne,"italic");break}case"formatUnderline":{D(e,Ne,"underline");break}case"historyUndo":{D(e,ro,void 0);break}case"historyRedo":{D(e,io,void 0);break}default:}})}function Xh(o,e){o.stopPropagation(),xe(e,()=>{let t=T(),n=o.data,r=Md(o);if(n!=null&&_(t)&&Ld(t,r,n,o.timeStamp,!1)){br&&(hl(e,n),br=!1);let s=t.anchor.getNode(),l=be(e._window);if(l===null)return;let a=t.isBackward(),c=a?t.anchor.offset:t.focus.offset,m=a?t.focus.offset:t.anchor.offset;(!uo||t.isCollapsed()||!y(s)||l.anchorNode===null||s.getTextContent().slice(0,c)+n+s.getTextContent().slice(c+m)!==Qs(l.anchorNode))&&D(e,rt,n);let f=n.length;Ke&&f>1&&o.inputType==="insertCompositionText"&&!e.isComposing()&&(t.anchor.offset-=f),!Kt&&!Ct&&!Ut&&e.isComposing()&&(Sr=0,se(null))}else ai(!1,e,n!==null?n:void 0),br&&(hl(e,n||void 0),br=!1);wc()}),yn=null}function Gh(o,e){xe(e,()=>{let t=T();if(_(t)&&!e.isComposing()){let n=t.anchor,r=t.anchor.getNode();se(n.key),(o.timeStamp<Sr+Nl||n.type==="element"||!t.isCollapsed()||y(r)&&r.getStyle()!==t.style)&&D(e,rt,cc)}})}function hl(o,e){let t=o._compositionKey;if(se(null),t!==null&&e!=null){if(e===""){let n=J(t),r=Cn(o.getElementByKey(t));r!==null&&r.nodeValue!==null&&y(n)&&fr(n,r.nodeValue,null,null,!0);return}if(e[e.length-1]===` +`){let n=T();if(_(n)){let r=n.focus;n.anchor.set(r.key,r.offset,r.type),D(o,Fe,null);return}}}ai(!0,o,e)}function jh(o,e){Ke?br=!0:xe(e,()=>{hl(e,o.data)})}function Jh(o,e){if(Sr=o.timeStamp,bd=o.key,e.isComposing())return;let{key:t,shiftKey:n,ctrlKey:r,metaKey:i,altKey:s}=o;if(!D(e,Ds,o)&&t!=null){if(jc(t,r,s,i))D(e,Lo,o);else if(Jc(t,r,n,s,i))D(e,Os,o);else if(Xc(t,r,s,i))D(e,Mo,o);else if(Gc(t,r,n,s,i))D(e,As,o);else if(Qc(t,r,i))D(e,wo,o);else if(ed(t,r,i))D(e,Bt,o);else if(Ic(t,n))yr=!0,D(e,Fe,o);else if(od(t))D(e,or,o);else if($c(t,r))o.preventDefault(),yr=!0,D(e,$t,!0);else if(kc(t,n))yr=!1,D(e,Fe,o);else if(Kc(t,s,i,r))hn(t)?D(e,Ft,o):(o.preventDefault(),D(e,Ze,!0));else if(rd(t))D(e,vo,o);else if(Uc(t,r,n,s,i))Nn(t)?D(e,Ht,o):(o.preventDefault(),D(e,Ze,!1));else if(Pc(t,s,r))o.preventDefault(),D(e,Tt,!0);else if(Bc(t,s,r))o.preventDefault(),D(e,Tt,!1);else if(Fc(t,i))o.preventDefault(),D(e,it,!0);else if(Hc(t,i))o.preventDefault(),D(e,it,!1);else if(Oc(t,s,i,r))o.preventDefault(),D(e,Ne,"bold");else if(Rc(t,s,i,r))o.preventDefault(),D(e,Ne,"underline");else if(Ac(t,s,i,r))o.preventDefault(),D(e,Ne,"italic");else if(Dc(t,s,r,i))D(e,Do,o);else if(zc(t,n,i,r))o.preventDefault(),D(e,ro,void 0);else if(Wc(t,n,i,r))o.preventDefault(),D(e,io,void 0);else{let l=e._editorState._selection;Se(l)?qc(t,n,i,r)?(o.preventDefault(),D(e,so,o)):Yc(t,n,i,r)?(o.preventDefault(),D(e,lo,o)):el(t,i,r)&&(o.preventDefault(),D(e,dn,o)):!Ke&&el(t,i,r)&&(o.preventDefault(),D(e,dn,o))}td(r,n,s,i)&&D(e,Bs,o)}}function wd(o){let e=o.__lexicalEventHandles;return e===void 0&&(e=[],o.__lexicalEventHandles=e),e}var Sn=new Map;function vd(o){let e=o.target,t=e==null?null:e.nodeType===9?e.defaultView:e.ownerDocument.defaultView,n=be(t);if(n===null)return;let r=ii(n.anchorNode);if(r===null)return;gl&&(gl=!1,xe(r,()=>{let m=We(),f=n.anchorNode;if(f===null)return;let d=f.nodeType;if(d!==fo&&d!==Ue)return;let u=Lr(m,n,r,o);Y(u)}));let i=hr(r),s=i[i.length-1],l=s._key,a=Sn.get(l),c=a||s;c!==r&&Td(n,c,!1),Td(n,r,!0),r!==s?Sn.set(l,r):a&&Sn.delete(l)}function Cd(o){o._lexicalHandled=!0}function _d(o){return o._lexicalHandled===!0}function Dd(o,e){let t=o.ownerDocument,n=Ei.get(t);(n===void 0||n<1)&&t.addEventListener("selectionchange",vd),Ei.set(t,(n||0)+1),o.__lexicalEditor=e;let r=wd(o);for(let i=0;i<ml.length;i++){let[s,l]=ml[i],a=typeof l=="function"?c=>{_d(c)||(Cd(c),(e.isEditable()||s==="click")&&l(c,e))}:c=>{if(_d(c))return;Cd(c);let m=e.isEditable();switch(s){case"cut":return m&&D(e,lo,c);case"copy":return D(e,so,c);case"paste":return m&&D(e,no,c);case"dragstart":return m&&D(e,nr,c);case"dragover":return m&&D(e,rr,c);case"dragend":return m&&D(e,ks,c);case"focus":return m&&D(e,ir,c);case"blur":return m&&D(e,Ps,c);case"drop":return m&&D(e,Oo,c)}};o.addEventListener(s,a),r.push(()=>{o.removeEventListener(s,a)})}}function Od(o){let e=o.ownerDocument,t=Ei.get(e);x(t!==void 0,"Root element not registered");let n=t-1;x(n>=0,"Root element count less than 0"),Ei.set(e,n),n===0&&e.removeEventListener("selectionchange",vd);let r=Ro(o);Tn(r)?(Qh(r),o.__lexicalEditor=null):r&&x(!1,"Attempted to remove event handlers from a node that does not belong to this build of Lexical");let i=wd(o);for(let s=0;s<i.length;s++)i[s]();o.__lexicalEventHandles=[]}function Qh(o){if(o._parentEditor!==null){let e=hr(o),n=e[e.length-1]._key;Sn.get(n)===o&&Sn.delete(n)}else Sn.delete(o._key)}function Ad(){pl=!0}function Rd(o,e,t,n,r){Sd=[o,e,t,n,r]}function xl(o,e,t){ce();let n=o.__key,r=o.getParent();if(r===null)return;let i=sd(o),s=!1;if(_(i)&&e){let l=i.anchor,a=i.focus;l.key===n&&(Mn(l,o,r,o.getPreviousSibling(),o.getNextSibling()),s=!0),a.key===n&&(Mn(a,o,r,o.getPreviousSibling(),o.getNextSibling()),s=!0)}else Se(i)&&e&&o.isSelected()&&o.selectPrevious();if(_(i)&&e&&!s){let l=o.getIndexWithinParent();qt(o),Ln(i,r,l,-1)}else qt(o);!t&&!me(r)&&!r.canBeEmpty()&&r.isEmpty()&&xl(r,e),e&&oe(r)&&r.isEmpty()&&r.selectEnd()}var yt=class{static getType(){x(!1,"LexicalNode: Node %s does not implement .getType().",this.name)}static clone(e){x(!1,"LexicalNode: Node %s does not implement .clone().",this.name)}afterCloneFrom(e){this.__parent=e.__parent,this.__next=e.__next,this.__prev=e.__prev}constructor(e){this.__type=this.constructor.getType(),this.__parent=null,this.__prev=null,this.__next=null,Sc(this,e),__DEV__&&this.__type!=="root"&&(ce(),eN(this.__type,this.constructor))}getType(){return this.__type}isInline(){x(!1,"LexicalNode: Node %s does not implement .isInline().",this.constructor.name)}isAttached(){let e=this.__key;for(;e!==null;){if(e==="root")return!0;let t=J(e);if(t===null)break;e=t.__parent}return!1}isSelected(e){let t=e||T();if(t==null)return!1;let n=t.getNodes().some(i=>i.__key===this.__key);if(y(this))return n;if(_(t)&&t.anchor.type==="element"&&t.focus.type==="element"){if(t.isCollapsed())return!1;let i=this.getParent();if(B(this)&&this.isInline()&&i){let s=t.isBackward()?t.focus:t.anchor,l=s.getNode();if(s.offset===l.getChildrenSize()&&l.is(i)&&l.getLastChildOrThrow().is(this))return!1}}return n}getKey(){return this.__key}getIndexWithinParent(){let e=this.getParent();if(e===null)return-1;let t=e.getFirstChild(),n=0;for(;t!==null;){if(this.is(t))return n;n++,t=t.getNextSibling()}return-1}getParent(){let e=this.getLatest().__parent;return e===null?null:J(e)}getParentOrThrow(){let e=this.getParent();return e===null&&x(!1,"Expected node %s to have a parent.",this.__key),e}getTopLevelElement(){let e=this;for(;e!==null;){let t=e.getParent();if(me(t))return x(E(e)||e===this&&B(e),"Children of root nodes must be elements or decorators"),e;e=t}return null}getTopLevelElementOrThrow(){let e=this.getTopLevelElement();return e===null&&x(!1,"Expected node %s to have a top parent element.",this.__key),e}getParents(){let e=[],t=this.getParent();for(;t!==null;)e.push(t),t=t.getParent();return e}getParentKeys(){let e=[],t=this.getParent();for(;t!==null;)e.push(t.__key),t=t.getParent();return e}getPreviousSibling(){let t=this.getLatest().__prev;return t===null?null:J(t)}getPreviousSiblings(){let e=[],t=this.getParent();if(t===null)return e;let n=t.getFirstChild();for(;n!==null&&!n.is(this);)e.push(n),n=n.getNextSibling();return e}getNextSibling(){let t=this.getLatest().__next;return t===null?null:J(t)}getNextSiblings(){let e=[],t=this.getNextSibling();for(;t!==null;)e.push(t),t=t.getNextSibling();return e}getCommonAncestor(e){let t=this.getParents(),n=e.getParents();E(this)&&t.unshift(this),E(e)&&n.unshift(e);let r=t.length,i=n.length;if(r===0||i===0||t[r-1]!==n[i-1])return null;let s=new Set(n);for(let l=0;l<r;l++){let a=t[l];if(s.has(a))return a}return null}is(e){return e==null?!1:this.__key===e.__key}isBefore(e){if(this===e)return!1;if(e.isParentOf(this))return!0;if(this.isParentOf(e))return!1;let t=this.getCommonAncestor(e),n=0,r=0,i=this;for(;;){let s=i.getParentOrThrow();if(s===t){n=i.getIndexWithinParent();break}i=s}for(i=e;;){let s=i.getParentOrThrow();if(s===t){r=i.getIndexWithinParent();break}i=s}return n<r}isParentOf(e){let t=this.__key;if(t===e.__key)return!1;let n=e;for(;n!==null;){if(n.__key===t)return!0;n=n.getParent()}return!1}getNodesBetween(e){let t=this.isBefore(e),n=[],r=new Set,i=this;for(;i!==null;){let s=i.__key;if(r.has(s)||(r.add(s),n.push(i)),i===e)break;let l=E(i)?t?i.getFirstChild():i.getLastChild():null;if(l!==null){i=l;continue}let a=t?i.getNextSibling():i.getPreviousSibling();if(a!==null){i=a;continue}let c=i.getParentOrThrow();if(r.has(c.__key)||n.push(c),c===e)break;let m=null,f=c;do if(f===null&&x(!1,"getNodesBetween: ancestor is null"),m=t?f.getNextSibling():f.getPreviousSibling(),f=f.getParent(),f!==null)m===null&&!r.has(f.__key)&&n.push(f);else break;while(m===null);i=m}return t||n.reverse(),n}isDirty(){let t=j()._dirtyLeaves;return t!==null&&t.has(this.__key)}getLatest(){let e=J(this.__key);return e===null&&x(!1,"Lexical node does not exist in active editor state. Avoid using the same node references between nested closures from editorState.read/editor.update."),e}getWritable(){ce();let e=je(),t=j(),n=e._nodeMap,r=this.__key,i=this.getLatest(),s=t._cloneNotNeeded,l=T();if(l!==null&&l.setCachedNodes(null),s.has(r))return mr(i),i;let a=Zt(i);return s.add(r),mr(a),n.set(r,a),a}getTextContent(){return""}getTextContentSize(){return this.getTextContent().length}createDOM(e,t){x(!1,"createDOM: base method not extended")}updateDOM(e,t,n){x(!1,"updateDOM: base method not extended")}exportDOM(e){return{element:this.createDOM(e._config,e)}}exportJSON(){x(!1,"exportJSON: base method not extended")}static importJSON(e){x(!1,"LexicalNode: Node %s does not implement .importJSON().",this.name)}static transform(){return null}remove(e){xl(this,!0,e)}replace(e,t){ce();let n=T();n!==null&&(n=n.clone()),ui(this,e);let r=this.getLatest(),i=this.__key,s=e.__key,l=e.getWritable(),a=this.getParentOrThrow().getWritable(),c=a.__size;qt(l);let m=r.getPreviousSibling(),f=r.getNextSibling(),d=r.__prev,u=r.__next,p=r.__parent;if(xl(r,!1,!0),m===null)a.__first=s;else{let g=m.getWritable();g.__next=s}if(l.__prev=d,f===null)a.__last=s;else{let g=f.getWritable();g.__prev=s}if(l.__next=u,l.__parent=p,a.__size=c,t&&(x(E(this)&&E(l),"includeChildren should only be true for ElementNodes"),this.getChildren().forEach(g=>{l.append(g)})),_(n)){Y(n);let g=n.anchor,h=n.focus;g.key===i&&El(g,l),h.key===i&&El(h,l)}return Ge()===i&&se(s),l}insertAfter(e,t=!0){ce(),ui(this,e);let n=this.getWritable(),r=e.getWritable(),i=r.getParent(),s=T(),l=!1,a=!1;if(i!==null){let u=e.getIndexWithinParent();if(qt(r),_(s)){let p=i.__key,g=s.anchor,h=s.focus;l=g.type==="element"&&g.key===p&&g.offset===u+1,a=h.type==="element"&&h.key===p&&h.offset===u+1}}let c=this.getNextSibling(),m=this.getParentOrThrow().getWritable(),f=r.__key,d=n.__next;if(c===null)m.__last=f;else{let u=c.getWritable();u.__prev=f}if(m.__size++,n.__next=f,r.__next=d,r.__prev=n.__key,r.__parent=n.__parent,t&&_(s)){let u=this.getIndexWithinParent();Ln(s,m,u+1);let p=m.__key;l&&s.anchor.set(p,u+2,"element"),a&&s.focus.set(p,u+2,"element")}return e}insertBefore(e,t=!0){ce(),ui(this,e);let n=this.getWritable(),r=e.getWritable(),i=r.__key;qt(r);let s=this.getPreviousSibling(),l=this.getParentOrThrow().getWritable(),a=n.__prev,c=this.getIndexWithinParent();if(s===null)l.__first=i;else{let f=s.getWritable();f.__next=i}l.__size++,n.__prev=i,r.__prev=a,r.__next=n.__key,r.__parent=n.__parent;let m=T();if(t&&_(m)){let f=this.getParentOrThrow();Ln(m,f,c)}return e}isParentRequired(){return!1}createParentElementNode(){return I()}selectStart(){return this.selectPrevious()}selectEnd(){return this.selectNext(0,0)}selectPrevious(e,t){ce();let n=this.getPreviousSibling(),r=this.getParentOrThrow();if(n===null)return r.select(0,0);if(E(n))return n.select();if(!y(n)){let i=n.getIndexWithinParent()+1;return r.select(i,i)}return n.select(e,t)}selectNext(e,t){ce();let n=this.getNextSibling(),r=this.getParentOrThrow();if(n===null)return r.select();if(E(n))return n.select(0,0);if(!y(n)){let i=n.getIndexWithinParent();return r.select(i,i)}return n.select(e,t)}markDirty(){this.getWritable()}insertDOMIntoParent(e,t){return!1}};function eN(o,e){let t=j()._nodes.get(o);t===void 0&&x(!1,"Create node: Attempted to create node %s that was not configured to be used on the editor.",e.name);let n=t.klass;n!==e&&x(!1,"Create node: Type %s in node %s does not match registered node %s with the same type",o,e.name,n.name)}function kd(o,e,t){let n=t||e.getParentOrThrow().getLastChild(),r=e,i=[e];for(;r!==n;)r.getNextSibling()||x(!1,"insertRangeAfter: lastToInsert must be a later sibling of firstToInsert"),r=r.getNextSibling(),i.push(r);let s=o;for(let l of i)s=s.insertAfter(l)}var Bo=class o extends yt{static getType(){return"linebreak"}static clone(e){return new o(e.__key)}constructor(e){super(e)}getTextContent(){return` +`}createDOM(){return document.createElement("br")}updateDOM(){return!1}static importDOM(){return{br:e=>oN(e)||nN(e)?null:{conversion:tN,priority:0}}}static importJSON(e){return ut()}exportJSON(){return{type:"linebreak",version:1}}};function tN(o){return{node:ut()}}function ut(){return ne(new Bo)}function ve(o){return o instanceof Bo}function oN(o){let e=o.parentElement;if(e!==null&&po(e)){let t=e.firstChild;if(t===o||t.nextSibling===o&&Ti(t)){let n=e.lastChild;if(n===o||n.previousSibling===o&&Ti(n))return!0}}return!1}function nN(o){let e=o.parentElement;if(e!==null&&po(e)){let t=e.firstChild;if(t===o||t.nextSibling===o&&Ti(t))return!1;let n=e.lastChild;if(n===o||n.previousSibling===o&&Ti(n))return!0}return!1}function Ti(o){return o.nodeType===Ue&&/^( |\t|\r?\n)+$/.test(o.textContent||"")}function Tl(o,e){return e&ar?"code":e&ur?"mark":e&cr?"sub":e&dr?"sup":null}function Cl(o,e){return e&sr?"strong":e&lr?"em":"span"}function Bd(o,e,t,n,r){let i=n.classList,s=mo(r,"base");s!==void 0&&i.add(...s),s=mo(r,"underlineStrikethrough");let l=!1,a=e&fn&&e&un,c=t&fn&&t&un;s!==void 0&&(c?(l=!0,a||i.add(...s)):a&&i.remove(...s));for(let m in Xe){let d=Xe[m];if(s=mo(r,m),s!==void 0)if(t&d){if(l&&(m==="underline"||m==="strikethrough")){e&d&&i.remove(...s);continue}((e&d)===0||a&&m==="underline"||m==="strikethrough")&&i.add(...s)}else e&d&&i.remove(...s)}}function rN(o,e){let t=o.length,n=e.length,r=0,i=0;for(;r<t&&r<n&&o[r]===e[r];)r++;for(;i+r<t&&i+r<n&&o[t-i-1]===e[n-i-1];)i++;return[r,t-r-i,e.slice(r,n-i)]}function Fd(o,e,t){let n=e.firstChild,r=t.isComposing(),s=o+(r?pn:"");if(n==null)e.textContent=s;else{let l=n.nodeValue;if(l!==s)if(r||Ke){let[a,c,m]=rN(l,s);c!==0&&n.deleteData(a,c),n.insertData(a,m)}else n.nodeValue=s}}function Id(o,e,t,n,r,i){Fd(r,o,e);let l=i.theme.text;l!==void 0&&Bd(t,0,n,o,l)}function Ci(o,e){let t=document.createElement(e);return t.appendChild(o),t}var Je=class o extends yt{static getType(){return"text"}static clone(e){return new o(e.__text,e.__key)}afterCloneFrom(e){super.afterCloneFrom(e),this.__format=e.__format,this.__style=e.__style,this.__mode=e.__mode,this.__detail=e.__detail}constructor(e,t){super(t),this.__text=e,this.__format=0,this.__style="",this.__mode=0,this.__detail=0}getFormat(){return this.getLatest().__format}getDetail(){return this.getLatest().__detail}getMode(){let e=this.getLatest();return pc[e.__mode]}getStyle(){return this.getLatest().__style}isToken(){return this.getLatest().__mode===Qr}isComposing(){return this.__key===Ge()}isSegmented(){return this.getLatest().__mode===ei}isDirectionless(){return(this.getLatest().__detail&ti)!==0}isUnmergeable(){return(this.getLatest().__detail&mn)!==0}hasFormat(e){let t=Xe[e];return(this.getFormat()&t)!==0}isSimpleText(){return this.__type==="text"&&this.__mode===0}getTextContent(){return this.getLatest().__text}getFormatFlags(e,t){let r=this.getLatest().__format;return pr(r,e,t)}canHaveFormat(){return!0}createDOM(e,t){let n=this.__format,r=Tl(this,n),i=Cl(this,n),s=r===null?i:r,l=document.createElement(s),a=l;this.hasFormat("code")&&l.setAttribute("spellcheck","false"),r!==null&&(a=document.createElement(i),l.appendChild(a));let c=this.__text;Id(a,this,i,n,c,e);let m=this.__style;return m!==""&&(l.style.cssText=m),l}updateDOM(e,t,n){let r=this.__text,i=e.__format,s=this.__format,l=Tl(this,i),a=Tl(this,s),c=Cl(this,i),m=Cl(this,s);if((l===null?c:l)!==(a===null?m:a))return!0;if(l===a&&c!==m){let N=t.firstChild;N==null&&x(!1,"updateDOM: prevInnerDOM is null or undefined");let L=document.createElement(m);return Id(L,this,m,s,r,n),t.replaceChild(L,N),!1}let u=t;a!==null&&l!==null&&(u=t.firstChild,u==null&&x(!1,"updateDOM: innerDOM is null or undefined")),Fd(r,u,this);let g=n.theme.text;g!==void 0&&i!==s&&Bd(m,i,s,u,g);let h=e.__style,C=this.__style;return h!==C&&(t.style.cssText=C),!1}static importDOM(){return{"#text":()=>({conversion:cN,priority:0}),b:()=>({conversion:sN,priority:0}),code:()=>({conversion:No,priority:0}),em:()=>({conversion:No,priority:0}),i:()=>({conversion:No,priority:0}),s:()=>({conversion:No,priority:0}),span:()=>({conversion:iN,priority:0}),strong:()=>({conversion:No,priority:0}),sub:()=>({conversion:No,priority:0}),sup:()=>({conversion:No,priority:0}),u:()=>({conversion:No,priority:0})}}static importJSON(e){let t=q(e.text);return t.setFormat(e.format),t.setDetail(e.detail),t.setMode(e.mode),t.setStyle(e.style),t}exportDOM(e){let{element:t}=super.exportDOM(e);x(t!==null&&pe(t),"Expected TextNode createDOM to always return a HTMLElement");let n=this.getTextContent();/^\s|\s$/.test(n)&&(t.style.whiteSpace="pre-wrap");for(let r of Array.from(t.classList.values()))r.startsWith("editor-theme-")&&t.classList.remove(r);return t.classList.length===0&&t.removeAttribute("class"),t.nodeName==="SPAN"&&!t.getAttribute("style")&&(t=document.createTextNode(n)),this.hasFormat("bold")&&(t=Ci(t,"b")),this.hasFormat("italic")&&(t=Ci(t,"em")),this.hasFormat("strikethrough")&&(t=Ci(t,"s")),this.hasFormat("underline")&&(t=Ci(t,"u")),{element:t}}exportJSON(){return{detail:this.getDetail(),format:this.getFormat(),mode:this.getMode(),style:this.getStyle(),text:this.getTextContent(),type:"text",version:1}}selectionTransform(e,t){}setFormat(e){let t=this.getWritable();return t.__format=typeof e=="string"?Xe[e]:e,t}setDetail(e){let t=this.getWritable();return t.__detail=typeof e=="string"?fc[e]:e,t}setStyle(e){let t=this.getWritable();return t.__style=e,t}toggleFormat(e){let t=this.getFormat(),n=pr(t,e,null);return this.setFormat(n)}toggleDirectionless(){let e=this.getWritable();return e.__detail^=ti,e}toggleUnmergeable(){let e=this.getWritable();return e.__detail^=mn,e}setMode(e){let t=mc[e];if(this.__mode===t)return this;let n=this.getWritable();return n.__mode=t,n}setTextContent(e){if(this.__text===e)return this;let t=this.getWritable();return t.__text=e,t}select(e,t){ce();let n=e,r=t,i=T(),s=this.getTextContent(),l=this.__key;if(typeof s=="string"){let a=s.length;n===void 0&&(n=a),r===void 0&&(r=a)}else n=0,r=0;if(_(i)){let a=Ge();(a===i.anchor.key||a===i.focus.key)&&se(l),i.setTextNodeRange(this,n,this,r)}else return _i(l,n,l,r,"text","text");return i}selectStart(){return this.select(0,0)}selectEnd(){let e=this.getTextContentSize();return this.select(e,e)}spliceText(e,t,n,r){let i=this.getWritable(),s=i.__text,l=n.length,a=e;a<0&&(a=l+a,a<0&&(a=0));let c=T();if(r&&_(c)){let f=e+l;c.setTextNodeRange(i,f,i,f)}let m=s.slice(0,a)+n+s.slice(a+t);return i.__text=m,i}canInsertTextBefore(){return!0}canInsertTextAfter(){return!0}splitText(...e){ce();let t=this.getLatest(),n=t.getTextContent(),r=t.__key,i=Ge(),s=new Set(e),l=[],a=n.length,c="";for(let S=0;S<a;S++)c!==""&&s.has(S)&&(l.push(c),c=""),c+=n[S];c!==""&&l.push(c);let m=l.length;if(m===0)return[];if(l[0]===n)return[t];let f=l[0],d=t.getParent(),u,p=t.getFormat(),g=t.getStyle(),h=t.__detail,C=!1;t.isSegmented()?(u=q(f),u.__format=p,u.__style=g,u.__detail=h,C=!0):(u=t.getWritable(),u.__text=f);let N=T(),L=[u],M=f.length;for(let S=1;S<m;S++){let A=l[S],O=A.length,R=q(A).getWritable();R.__format=p,R.__style=g,R.__detail=h;let P=R.__key,k=M+O;if(_(N)){let W=N.anchor,ie=N.focus;W.key===r&&W.type==="text"&&W.offset>M&&W.offset<=k&&(W.key=P,W.offset-=M,N.dirty=!0),ie.key===r&&ie.type==="text"&&ie.offset>M&&ie.offset<=k&&(ie.key=P,ie.offset-=M,N.dirty=!0)}i===r&&se(P),M=k,L.push(R)}if(d!==null){Lc(this);let S=d.getWritable(),A=this.getIndexWithinParent();C?(S.splice(A,0,L),this.remove()):S.splice(A,1,L),_(N)&&Ln(N,d,A,m-1)}return L}mergeWithSibling(e){let t=e===this.getPreviousSibling();!t&&e!==this.getNextSibling()&&x(!1,"mergeWithSibling: sibling must be a previous or next sibling");let n=this.__key,r=e.__key,i=this.__text,s=i.length;Ge()===r&&se(n);let a=T();if(_(a)){let d=a.anchor,u=a.focus;d!==null&&d.key===r&&(_l(d,t,n,e,s),a.dirty=!0),u!==null&&u.key===r&&(_l(u,t,n,e,s),a.dirty=!0)}let c=e.__text,m=t?c+i:i+c;this.setTextContent(m);let f=this.getWritable();return e.remove(),f}isTextEntity(){return!1}};function iN(o){let t=o.style;return{forChild:bl(t),node:null}}function sN(o){let e=o,t=e.style.fontWeight==="normal";return{forChild:bl(e.style,t?void 0:"bold"),node:null}}var $d=new WeakMap;function lN(o){return o.nodeName==="PRE"||o.nodeType===fo&&o.style!==void 0&&o.style.whiteSpace!==void 0&&o.style.whiteSpace.startsWith("pre")}function aN(o){let e,t=o.parentNode,n=[o];for(;t!==null&&(e=$d.get(t))===void 0&&!lN(t);)n.push(t),t=t.parentNode;let r=e===void 0?t:e;for(let i=0;i<n.length;i++)$d.set(n[i],r);return r}function cN(o){let e=o,t=o.parentElement;x(t!==null,"Expected parentElement of Text not to be null");let n=e.textContent||"";if(aN(e)!==null){let r=n.split(/(\r?\n|\t)/),i=[],s=r.length;for(let l=0;l<s;l++){let a=r[l];a===` `||a===`\r -`?i.push(ut()):a===" "?i.push(St()):a!==""&&i.push(Y(a))}return{node:i}}if(n=n.replace(/\r/g,"").replace(/[ \t\n]+/g," "),n==="")return{node:null};if(n[0]===" "){let r=e,i=!0;for(;r!==null&&(r=Dd(r,!1))!==null;){let s=r.textContent||"";if(s.length>0){/[ \t\n]$/.test(s)&&(n=n.slice(1)),i=!1;break}}i&&(n=n.slice(1))}if(n[n.length-1]===" "){let r=e,i=!0;for(;r!==null&&(r=Dd(r,!0))!==null;)if((r.textContent||"").replace(/^( |\t|\r?\n)+/,"").length>0){i=!1;break}i&&(n=n.slice(0,n.length-1))}return n===""?{node:null}:{node:Y(n)}}function Dd(o,e){let t=o;for(;;){let n;for(;(n=e?t.nextSibling:t.previousSibling)===null;){let i=t.parentElement;if(i===null)return null;t=i}if(t=n,t.nodeType===uo){let i=t.style.display;if(i===""&&!ko(t)||i!==""&&!i.startsWith("inline"))return null}let r=t;for(;(r=e?t.firstChild:t.lastChild)!==null;)t=r;if(t.nodeType===Ue)return t;if(t.nodeName==="BR")return null}}var oN={code:"code",em:"italic",i:"italic",s:"strikethrough",strong:"bold",sub:"subscript",sup:"superscript",u:"underline"};function ho(o){let e=oN[o.nodeName.toLowerCase()];return e===void 0?{node:null}:{forChild:_l(o.style,e),node:null}}function Y(o=""){return oe(new Je(o))}function b(o){return o instanceof Je}function _l(o,e){let t=o.fontWeight,n=o.textDecoration.split(" "),r=t==="700"||t==="bold",i=n.includes("line-through"),s=o.fontStyle==="italic",l=n.includes("underline"),a=o.verticalAlign,c=o.color,m=o.backgroundColor;return f=>{if(!b(f))return f;r&&!f.hasFormat("bold")&&f.toggleFormat("bold"),i&&!f.hasFormat("strikethrough")&&f.toggleFormat("strikethrough"),s&&!f.hasFormat("italic")&&f.toggleFormat("italic"),l&&!f.hasFormat("underline")&&f.toggleFormat("underline"),a==="sub"&&!f.hasFormat("subscript")&&f.toggleFormat("subscript"),a==="super"&&!f.hasFormat("superscript")&&f.toggleFormat("superscript");let d=f.getStyle();return c&&(d+=`color: ${c};`),m&&m!=="transparent"&&(d+=`background-color: ${m};`),d&&f.setStyle(d),e&&!f.hasFormat(e)&&f.toggleFormat(e),f}}var Bo=class o extends Je{static getType(){return"tab"}static clone(e){return new o(e.__key)}afterCloneFrom(e){super.afterCloneFrom(e),this.__text=e.__text}constructor(e){super(" ",e),this.__detail=un}static importDOM(){return null}static importJSON(e){let t=St();return t.setFormat(e.format),t.setStyle(e.style),t}exportJSON(){return{...super.exportJSON(),type:"tab",version:1}}setTextContent(e){x(!1,"TabNode does not support setTextContent")}setDetail(e){x(!1,"TabNode does not support setDetail")}setMode(e){x(!1,"TabNode does not support setMode")}canInsertTextBefore(){return!1}canInsertTextAfter(){return!1}};function St(){return oe(new Bo)}function Cl(o){return o instanceof Bo}var Sl=class{constructor(e,t,n){this._selection=null,this.key=e,this.offset=t,this.type=n}is(e){return this.key===e.key&&this.offset===e.offset&&this.type===e.type}isBefore(e){let t=this.getNode(),n=e.getNode(),r=this.offset,i=e.offset;if(E(t)){let s=t.getDescendantByIndex(r);t=s??t}if(E(n)){let s=n.getDescendantByIndex(i);n=s??n}return t===n?r<i:t.isBefore(n)}getNode(){let e=this.key,t=j(e);return t===null&&x(!1,"Point.getNode: node not found"),t}set(e,t,n){let r=this._selection,i=this.key;this.key=e,this.offset=t,this.type=n,st()||(Ge()===i&&se(e),r!==null&&(r.setCachedNodes(null),r.dirty=!0))}};function De(o,e,t){return new Sl(o,e,t)}function yl(o,e){let t=e.__key,n=o.offset,r="element";if(b(e)){r="text";let i=e.getTextContentSize();n>i&&(n=i)}else if(!E(e)){let i=e.getNextSibling();if(b(i))t=i.__key,n=0,r="text";else{let s=e.getParent();s&&(t=s.__key,n=e.getIndexWithinParent()+1)}}o.set(t,n,r)}function Nl(o,e){if(E(e)){let t=e.getLastDescendant();E(t)||b(t)?yl(o,t):yl(o,e)}else yl(o,e)}function nN(o,e,t,n){let r=o.getNode(),i=r.getChildAtIndex(o.offset),s=Y(),l=te(r)?$().append(s):s;s.setFormat(t),s.setStyle(n),i===null?r.append(l):i.insertBefore(l),o.is(e)&&e.set(s.__key,0,"text"),o.set(s.__key,0,"text")}function No(o,e,t,n){o.key=e,o.offset=t,o.type=n}var _i=class o{constructor(e){this._cachedNodes=null,this._nodes=e,this.dirty=!1}getCachedNodes(){return this._cachedNodes}setCachedNodes(e){this._cachedNodes=e}is(e){if(!Ee(e))return!1;let t=this._nodes,n=e._nodes;return t.size===n.size&&Array.from(t).every(r=>n.has(r))}isCollapsed(){return!1}isBackward(){return!1}getStartEndPoints(){return null}add(e){this.dirty=!0,this._nodes.add(e),this._cachedNodes=null}delete(e){this.dirty=!0,this._nodes.delete(e),this._cachedNodes=null}clear(){this.dirty=!0,this._nodes.clear(),this._cachedNodes=null}has(e){return this._nodes.has(e)}clone(){return new o(new Set(this._nodes))}extract(){return this.getNodes()}insertRawText(e){}insertText(){}insertNodes(e){let t=this.getNodes(),n=t.length,r=t[n-1],i;if(b(r))i=r.select();else{let s=r.getIndexWithinParent()+1;i=r.getParentOrThrow().select(s,s)}i.insertNodes(e);for(let s=0;s<n;s++)t[s].remove()}getNodes(){let e=this._cachedNodes;if(e!==null)return e;let t=this._nodes,n=[];for(let r of t){let i=j(r);i!==null&&n.push(i)}return st()||(this._cachedNodes=n),n}getTextContent(){let e=this.getNodes(),t="";for(let n=0;n<e.length;n++)t+=e[n].getTextContent();return t}};function C(o){return o instanceof xo}var xo=class o{constructor(e,t,n,r){this.anchor=e,this.focus=t,e._selection=this,t._selection=this,this._cachedNodes=null,this.format=n,this.style=r,this.dirty=!1}getCachedNodes(){return this._cachedNodes}setCachedNodes(e){this._cachedNodes=e}is(e){return C(e)?this.anchor.is(e.anchor)&&this.focus.is(e.focus)&&this.format===e.format&&this.style===e.style:!1}isCollapsed(){return this.anchor.is(this.focus)}getNodes(){let e=this._cachedNodes;if(e!==null)return e;let t=this.anchor,n=this.focus,r=t.isBefore(n),i=r?t:n,s=r?n:t,l=i.getNode(),a=s.getNode(),c=i.offset,m=s.offset;if(E(l)){let d=l.getDescendantByIndex(c);l=d??l}if(E(a)){let d=a.getDescendantByIndex(m);d!==null&&d!==l&&a.getChildAtIndex(m)===d&&(d=d.getPreviousSibling()),a=d??a}let f;return l.is(a)?E(l)&&l.getChildrenSize()>0?f=[]:f=[l]:f=l.getNodesBetween(a),st()||(this._cachedNodes=f),f}setTextNodeRange(e,t,n,r){No(this.anchor,e.__key,t,"text"),No(this.focus,n.__key,r,"text"),this._cachedNodes=null,this.dirty=!0}getTextContent(){let e=this.getNodes();if(e.length===0)return"";let t=e[0],n=e[e.length-1],r=this.anchor,i=this.focus,s=r.isBefore(i),[l,a]=br(this),c="",m=!0;for(let f=0;f<e.length;f++){let d=e[f];if(E(d)&&!d.isInline())m||(c+=` -`),d.isEmpty()?m=!1:m=!0;else if(m=!1,b(d)){let u=d.getTextContent();d===t?d===n?(r.type!=="element"||i.type!=="element"||i.offset===r.offset)&&(u=l<a?u.slice(l,a):u.slice(a,l)):u=s?u.slice(l):u.slice(a):d===n&&(u=s?u.slice(0,a):u.slice(0,l)),c+=u}else(B(d)||we(d))&&(d!==n||!this.isCollapsed())&&(c+=d.getTextContent())}return c}applyDOMRange(e){let t=G(),r=t.getEditorState()._selection,i=Fd(e.startContainer,e.startOffset,e.endContainer,e.endOffset,t,r);if(i===null)return;let[s,l]=i;No(this.anchor,s.key,s.offset,s.type),No(this.focus,l.key,l.offset,l.type),this._cachedNodes=null}clone(){let e=this.anchor,t=this.focus;return new o(De(e.key,e.offset,e.type),De(t.key,t.offset,t.type),this.format,this.style)}toggleFormat(e){this.format=ur(this.format,e,null),this.dirty=!0}setStyle(e){this.style=e,this.dirty=!0}hasFormat(e){let t=Xe[e];return(this.format&t)!==0}insertRawText(e){let t=e.split(/(\r?\n|\t)/),n=[],r=t.length;for(let i=0;i<r;i++){let s=t[i];s===` +`?i.push(ut()):a===" "?i.push(St()):a!==""&&i.push(q(a))}return{node:i}}if(n=n.replace(/\r/g,"").replace(/[ \t\n]+/g," "),n==="")return{node:null};if(n[0]===" "){let r=e,i=!0;for(;r!==null&&(r=Pd(r,!1))!==null;){let s=r.textContent||"";if(s.length>0){/[ \t\n]$/.test(s)&&(n=n.slice(1)),i=!1;break}}i&&(n=n.slice(1))}if(n[n.length-1]===" "){let r=e,i=!0;for(;r!==null&&(r=Pd(r,!0))!==null;)if((r.textContent||"").replace(/^( |\t|\r?\n)+/,"").length>0){i=!1;break}i&&(n=n.slice(0,n.length-1))}return n===""?{node:null}:{node:q(n)}}function Pd(o,e){let t=o;for(;;){let n;for(;(n=e?t.nextSibling:t.previousSibling)===null;){let i=t.parentElement;if(i===null)return null;t=i}if(t=n,t.nodeType===fo){let i=t.style.display;if(i===""&&!Io(t)||i!==""&&!i.startsWith("inline"))return null}let r=t;for(;(r=e?t.firstChild:t.lastChild)!==null;)t=r;if(t.nodeType===Ue)return t;if(t.nodeName==="BR")return null}}var dN={code:"code",em:"italic",i:"italic",s:"strikethrough",strong:"bold",sub:"subscript",sup:"superscript",u:"underline"};function No(o){let e=dN[o.nodeName.toLowerCase()];return e==="code"&&o.closest("pre")?{node:null}:e===void 0?{node:null}:{forChild:bl(o.style,e),node:null}}function q(o=""){return ne(new Je(o))}function y(o){return o instanceof Je}function bl(o,e){let t=o.fontWeight,n=o.textDecoration.split(" "),r=t==="700"||t==="bold",i=n.includes("line-through"),s=o.fontStyle==="italic",l=n.includes("underline"),a=o.verticalAlign,c=o.color,m=o.backgroundColor;return f=>{if(!y(f))return f;r&&!f.hasFormat("bold")&&f.toggleFormat("bold"),i&&!f.hasFormat("strikethrough")&&f.toggleFormat("strikethrough"),s&&!f.hasFormat("italic")&&f.toggleFormat("italic"),l&&!f.hasFormat("underline")&&f.toggleFormat("underline"),a==="sub"&&!f.hasFormat("subscript")&&f.toggleFormat("subscript"),a==="super"&&!f.hasFormat("superscript")&&f.toggleFormat("superscript");let d=f.getStyle();return c&&(d+=`color: ${c};`),m&&m!=="transparent"&&(d+=`background-color: ${m};`),d&&f.setStyle(d),e&&!f.hasFormat(e)&&f.toggleFormat(e),f}}var Fo=class o extends Je{static getType(){return"tab"}static clone(e){return new o(e.__key)}afterCloneFrom(e){super.afterCloneFrom(e),this.__text=e.__text}constructor(e){super(" ",e),this.__detail=mn}static importDOM(){return null}static importJSON(e){let t=St();return t.setFormat(e.format),t.setStyle(e.style),t}exportJSON(){return{...super.exportJSON(),type:"tab",version:1}}setTextContent(e){x(!1,"TabNode does not support setTextContent")}setDetail(e){x(!1,"TabNode does not support setDetail")}setMode(e){x(!1,"TabNode does not support setMode")}canInsertTextBefore(){return!1}canInsertTextAfter(){return!1}};function St(){return ne(new Fo)}function yl(o){return o instanceof Fo}var Ml=class{constructor(e,t,n){this._selection=null,this.key=e,this.offset=t,this.type=n}is(e){return this.key===e.key&&this.offset===e.offset&&this.type===e.type}isBefore(e){let t=this.getNode(),n=e.getNode(),r=this.offset,i=e.offset;if(E(t)){let s=t.getDescendantByIndex(r);t=s??t}if(E(n)){let s=n.getDescendantByIndex(i);n=s??n}return t===n?r<i:t.isBefore(n)}getNode(){let e=this.key,t=J(e);return t===null&&x(!1,"Point.getNode: node not found"),t}set(e,t,n){let r=this._selection,i=this.key;this.key=e,this.offset=t,this.type=n,st()||(Ge()===i&&se(e),r!==null&&(r.setCachedNodes(null),r.dirty=!0))}};function De(o,e,t){return new Ml(o,e,t)}function Sl(o,e){let t=e.__key,n=o.offset,r="element";if(y(e)){r="text";let i=e.getTextContentSize();n>i&&(n=i)}else if(!E(e)){let i=e.getNextSibling();if(y(i))t=i.__key,n=0,r="text";else{let s=e.getParent();s&&(t=s.__key,n=e.getIndexWithinParent()+1)}}o.set(t,n,r)}function El(o,e){if(E(e)){let t=e.getLastDescendant();E(t)||y(t)?Sl(o,t):Sl(o,e)}else Sl(o,e)}function uN(o,e,t,n){let r=o.getNode(),i=r.getChildAtIndex(o.offset),s=q(),l=oe(r)?I().append(s):s;s.setFormat(t),s.setStyle(n),i===null?r.append(l):i.insertBefore(l),o.is(e)&&e.set(s.__key,0,"text"),o.set(s.__key,0,"text")}function xo(o,e,t,n){o.key=e,o.offset=t,o.type=n}var bi=class o{constructor(e){this._cachedNodes=null,this._nodes=e,this.dirty=!1}getCachedNodes(){return this._cachedNodes}setCachedNodes(e){this._cachedNodes=e}is(e){if(!Se(e))return!1;let t=this._nodes,n=e._nodes;return t.size===n.size&&Array.from(t).every(r=>n.has(r))}isCollapsed(){return!1}isBackward(){return!1}getStartEndPoints(){return null}add(e){this.dirty=!0,this._nodes.add(e),this._cachedNodes=null}delete(e){this.dirty=!0,this._nodes.delete(e),this._cachedNodes=null}clear(){this.dirty=!0,this._nodes.clear(),this._cachedNodes=null}has(e){return this._nodes.has(e)}clone(){return new o(new Set(this._nodes))}extract(){return this.getNodes()}insertRawText(e){}insertText(){}insertNodes(e){let t=this.getNodes(),n=t.length,r=t[n-1],i;if(y(r))i=r.select();else{let s=r.getIndexWithinParent()+1;i=r.getParentOrThrow().select(s,s)}i.insertNodes(e);for(let s=0;s<n;s++)t[s].remove()}getNodes(){let e=this._cachedNodes;if(e!==null)return e;let t=this._nodes,n=[];for(let r of t){let i=J(r);i!==null&&n.push(i)}return st()||(this._cachedNodes=n),n}getTextContent(){let e=this.getNodes(),t="";for(let n=0;n<e.length;n++)t+=e[n].getTextContent();return t}};function _(o){return o instanceof Eo}var Eo=class o{constructor(e,t,n,r){this.anchor=e,this.focus=t,e._selection=this,t._selection=this,this._cachedNodes=null,this.format=n,this.style=r,this.dirty=!1}getCachedNodes(){return this._cachedNodes}setCachedNodes(e){this._cachedNodes=e}is(e){return _(e)?this.anchor.is(e.anchor)&&this.focus.is(e.focus)&&this.format===e.format&&this.style===e.style:!1}isCollapsed(){return this.anchor.is(this.focus)}getNodes(){let e=this._cachedNodes;if(e!==null)return e;let t=this.anchor,n=this.focus,r=t.isBefore(n),i=r?t:n,s=r?n:t,l=i.getNode(),a=s.getNode(),c=i.offset,m=s.offset;if(E(l)){let d=l.getDescendantByIndex(c);l=d??l}if(E(a)){let d=a.getDescendantByIndex(m);d!==null&&d!==l&&a.getChildAtIndex(m)===d&&(d=d.getPreviousSibling()),a=d??a}let f;return l.is(a)?E(l)&&l.getChildrenSize()>0?f=[]:f=[l]:f=l.getNodesBetween(a),st()||(this._cachedNodes=f),f}setTextNodeRange(e,t,n,r){xo(this.anchor,e.__key,t,"text"),xo(this.focus,n.__key,r,"text"),this._cachedNodes=null,this.dirty=!0}getTextContent(){let e=this.getNodes();if(e.length===0)return"";let t=e[0],n=e[e.length-1],r=this.anchor,i=this.focus,s=r.isBefore(i),[l,a]=Mr(this),c="",m=!0;for(let f=0;f<e.length;f++){let d=e[f];if(E(d)&&!d.isInline())m||(c+=` +`),d.isEmpty()?m=!1:m=!0;else if(m=!1,y(d)){let u=d.getTextContent();d===t?d===n?(r.type!=="element"||i.type!=="element"||i.offset===r.offset)&&(u=l<a?u.slice(l,a):u.slice(a,l)):u=s?u.slice(l):u.slice(a):d===n&&(u=s?u.slice(0,a):u.slice(0,l)),c+=u}else(B(d)||ve(d))&&(d!==n||!this.isCollapsed())&&(c+=d.getTextContent())}return c}applyDOMRange(e){let t=j(),r=t.getEditorState()._selection,i=Yd(e.startContainer,e.startOffset,e.endContainer,e.endOffset,t,r);if(i===null)return;let[s,l]=i;xo(this.anchor,s.key,s.offset,s.type),xo(this.focus,l.key,l.offset,l.type),this._cachedNodes=null}clone(){let e=this.anchor,t=this.focus;return new o(De(e.key,e.offset,e.type),De(t.key,t.offset,t.type),this.format,this.style)}toggleFormat(e){this.format=pr(this.format,e,null),this.dirty=!0}setStyle(e){this.style=e,this.dirty=!0}hasFormat(e){let t=Xe[e];return(this.format&t)!==0}insertRawText(e){let t=e.split(/(\r?\n|\t)/),n=[],r=t.length;for(let i=0;i<r;i++){let s=t[i];s===` `||s===`\r -`?n.push(ut()):s===" "?n.push(St()):n.push(Y(s))}this.insertNodes(n)}insertText(e){let t=this.anchor,n=this.focus,r=this.format,i=this.style,s=t,l=n;!this.isCollapsed()&&n.isBefore(t)&&(s=n,l=t),s.type==="element"&&nN(s,l,r,i);let a=s.offset,c=l.offset,m=this.getNodes(),f=m.length,d=m[0];b(d)||x(!1,"insertText: first node is not a text node");let p=d.getTextContent().length,g=d.getParentOrThrow(),h=f-1,_=m[h];if(f===1&&l.type==="element"&&(c=p,l.set(s.key,c,"text")),this.isCollapsed()&&a===p&&(d.isSegmented()||d.isToken()||!d.canInsertTextAfter()||!g.canInsertTextAfter()&&d.getNextSibling()===null)){let N=d.getNextSibling();if((!b(N)||!N.canInsertTextBefore()||ze(N))&&(N=Y(),N.setFormat(r),N.setStyle(i),g.canInsertTextAfter()?d.insertAfter(N):g.insertAfter(N)),N.select(0,0),d=N,e!==""){this.insertText(e);return}}else if(this.isCollapsed()&&a===0&&(d.isSegmented()||d.isToken()||!d.canInsertTextBefore()||!g.canInsertTextBefore()&&d.getPreviousSibling()===null)){let N=d.getPreviousSibling();if((!b(N)||ze(N))&&(N=Y(),N.setFormat(r),g.canInsertTextBefore()?d.insertBefore(N):g.insertBefore(N)),N.select(),d=N,e!==""){this.insertText(e);return}}else if(d.isSegmented()&&a!==p){let N=Y(d.getTextContent());N.setFormat(r),d.replace(N),d=N}else if(!this.isCollapsed()&&e!==""){let N=_.getParent();if(!g.canInsertTextBefore()||!g.canInsertTextAfter()||E(N)&&(!N.canInsertTextBefore()||!N.canInsertTextAfter())){this.insertText(""),Bd(this.anchor,this.focus,null),this.insertText(e);return}}if(f===1){if(d.isToken()){let S=Y(e);S.select(),d.replace(S);return}let N=d.getFormat(),L=d.getStyle();if(a===c&&(N!==r||L!==i))if(d.getTextContent()==="")d.setFormat(r),d.setStyle(i);else{let S=Y(e);if(S.setFormat(r),S.setStyle(i),S.select(),a===0)d.insertBefore(S,!1);else{let[A]=d.splitText(a);A.insertAfter(S,!1)}S.isComposing()&&this.anchor.type==="text"&&(this.anchor.offset-=e.length);return}else if(Cl(d)){let S=Y(e);S.setFormat(r),S.setStyle(i),S.select(),d.replace(S);return}let M=c-a;d=d.spliceText(a,M,e,!0),d.getTextContent()===""?d.remove():this.anchor.type==="text"&&(d.isComposing()?this.anchor.offset-=e.length:(this.format=N,this.style=L))}else{let N=new Set([...d.getParentKeys(),..._.getParentKeys()]),L=E(d)?d:d.getParentOrThrow(),M=E(_)?_:_.getParentOrThrow(),S=_;if(!L.is(M)&&M.isInline())do S=M,M=M.getParentOrThrow();while(M.isInline());if(l.type==="text"&&(c!==0||_.getTextContent()==="")||l.type==="element"&&_.getIndexWithinParent()<c)if(b(_)&&!_.isToken()&&c!==_.getTextContentSize()){if(_.isSegmented()){let k=Y(_.getTextContent());_.replace(k),_=k}!te(l.getNode())&&l.type==="text"&&(_=_.spliceText(0,c,"")),N.add(_.__key)}else{let k=_.getParentOrThrow();!k.canBeEmpty()&&k.getChildrenSize()===1?k.remove():_.remove()}else N.add(_.__key);let A=M.getChildren(),O=new Set(m),R=L.is(M),P=L.isInline()&&d.getNextSibling()===null?L:d;for(let k=A.length-1;k>=0;k--){let W=A[k];if(W.is(d)||E(W)&&W.isParentOf(d))break;W.isAttached()&&(!O.has(W)||W.is(S)?R||P.insertAfter(W,!1):W.remove())}if(!R){let k=M,W=null;for(;k!==null;){let ie=k.getChildren(),rn=ie.length;(rn===0||ie[rn-1].is(W))&&(N.delete(k.__key),W=k),k=k.getParent()}}if(!d.isToken())d=d.spliceText(a,p-a,e,!0),d.getTextContent()===""?d.remove():d.isComposing()&&this.anchor.type==="text"&&(this.anchor.offset-=e.length);else if(a===p)d.select();else{let k=Y(e);k.select(),d.replace(k)}for(let k=1;k<f;k++){let W=m[k],ie=W.__key;N.has(ie)||W.remove()}}}removeText(){this.insertText("")}formatText(e){if(this.isCollapsed()){this.toggleFormat(e),se(null);return}let t=this.getNodes(),n=[];for(let N of t)b(N)&&n.push(N);let r=n.length;if(r===0){this.toggleFormat(e),se(null);return}let i=this.anchor,s=this.focus,l=this.isBackward(),a=l?s:i,c=l?i:s,m=0,f=n[0],d=a.type==="element"?0:a.offset;if(a.type==="text"&&d===f.getTextContentSize()&&(m=1,f=n[1],d=0),f==null)return;let u=f.getFormatFlags(e,null),p=r-1,g=n[p],h=c.type==="text"?c.offset:g.getTextContentSize();if(f.is(g)){if(d===h)return;if(ze(f)||d===0&&h===f.getTextContentSize())f.setFormat(u);else{let N=f.splitText(d,h),L=d===0?N[0]:N[1];L.setFormat(u),a.type==="text"&&a.set(L.__key,0,"text"),c.type==="text"&&c.set(L.__key,h-d,"text")}this.format=u;return}d!==0&&!ze(f)&&([,f]=f.splitText(d),d=0),f.setFormat(u);let _=g.getFormatFlags(e,u);h>0&&(h!==g.getTextContentSize()&&!ze(g)&&([g]=g.splitText(h)),g.setFormat(_));for(let N=m+1;N<p;N++){let L=n[N],M=L.getFormatFlags(e,_);L.setFormat(M)}a.type==="text"&&a.set(f.__key,d,"text"),c.type==="text"&&c.set(g.__key,h,"text"),this.format=u|_}insertNodes(e){if(e.length===0)return;if(this.anchor.key==="root"){this.insertParagraph();let h=T();return x(C(h),"Expected RangeSelection after insertParagraph"),h.insertNodes(e)}let t=this.isBackward()?this.focus:this.anchor,n=ui(t.getNode(),Io),r=e[e.length-1];if("__language"in n&&E(n)){if("__language"in e[0])this.insertText(e[0].getTextContent());else{let h=bl(this);n.splice(h,0,e),r.selectEnd()}return}let i=h=>(E(h)||B(h))&&!h.isInline();if(!e.some(i)){x(E(n),"Expected 'firstBlock' to be an ElementNode");let h=bl(this);n.splice(h,0,e),r.selectEnd();return}let s=cN(e),l=s.getLastDescendant(),a=s.getChildren(),c=h=>E(h)&&Io(h)&&!h.isEmpty()&&E(n)&&(!n.isEmpty()||n.canMergeWhenEmpty()),f=!E(n)||!n.isEmpty()?this.insertParagraph():null,d=a[a.length-1],u=a[0];c(u)&&(x(E(n),"Expected 'firstBlock' to be an ElementNode"),n.append(...u.getChildren()),u=a[1]),u&&Md(n,u);let p=ui(l,Io);f&&E(p)&&(f.canMergeWhenEmpty()||Io(d))&&(p.append(...f.getChildren()),f.remove()),E(n)&&n.isEmpty()&&n.remove(),l.selectEnd();let g=E(n)?n.getLastChild():null;we(g)&&p!==n&&g.remove()}insertParagraph(){if(this.anchor.key==="root"){let s=$();return F().splice(this.anchor.offset,0,[s]),s.select(),s}let e=bl(this),t=ui(this.anchor.getNode(),Io);x(E(t),"Expected ancestor to be an ElementNode");let n=t.getChildAtIndex(e),r=n?[n,...n.getNextSiblings()]:[],i=t.insertNewAfter(this,!1);return i?(i.append(...r),i.selectStart(),i):null}insertLineBreak(e){let t=ut();if(this.insertNodes([t]),e){let n=t.getParentOrThrow(),r=t.getIndexWithinParent();n.select(r,r)}}extract(){let e=this.getNodes(),t=e.length,n=t-1,r=this.anchor,i=this.focus,s=e[0],l=e[n],[a,c]=br(this);if(t===0)return[];if(t===1){if(b(s)&&!this.isCollapsed()){let f=a>c?c:a,d=a>c?a:c,u=s.splitText(f,d),p=f===0?u[0]:u[1];return p!=null?[p]:[]}return[s]}let m=r.isBefore(i);if(b(s)){let f=m?a:c;f===s.getTextContentSize()?e.shift():f!==0&&([,s]=s.splitText(f),e[0]=s)}if(b(l)){let d=l.getTextContent().length,u=m?c:a;u===0?e.pop():u!==d&&([l]=l.splitText(u),e[n]=l)}return e}modify(e,t,n){let r=this.focus,i=this.anchor,s=e==="move",l=qt(r,t);if(B(l)&&!l.isIsolated()){if(s&&l.isKeyboardSelectable()){let u=Fo();u.add(l.__key),q(u);return}let d=t?l.getPreviousSibling():l.getNextSibling();if(b(d)){let u=d.__key,p=t?d.getTextContent().length:0;r.set(u,p,"text"),s&&i.set(u,p,"text");return}else{let u=l.getParentOrThrow(),p,g;E(d)?(g=d.__key,p=t?d.getChildrenSize():0):(p=l.getIndexWithinParent(),g=u.__key,t||p++),r.set(g,p,"element"),s&&i.set(g,p,"element");return}}let a=G(),c=ye(a._window);if(!c)return;let m=a._blockCursorElement,f=a._rootElement;if(f!==null&&m!==null&&E(l)&&!l.isInline()&&!l.canBeEmpty()&&hr(m,a,f),iN(c,e,t?"backward":"forward",n),c.rangeCount>0){let d=c.getRangeAt(0),u=this.anchor.getNode(),p=te(u)?u:el(u);if(this.applyDOMRange(d),this.dirty=!0,!s){let g=this.getNodes(),h=[],_=!1;for(let N=0;N<g.length;N++){let L=g[N];hn(L,p)?h.push(L):_=!0}if(_&&h.length>0)if(t){let N=h[0];E(N)?N.selectStart():N.getParentOrThrow().selectStart()}else{let N=h[h.length-1];E(N)?N.selectEnd():N.getParentOrThrow().selectEnd()}(c.anchorNode!==d.startContainer||c.anchorOffset!==d.startOffset)&&rN(this)}}}forwardDeletion(e,t,n){if(!n&&(e.type==="element"&&E(t)&&e.offset===t.getChildrenSize()||e.type==="text"&&e.offset===t.getTextContentSize())){let r=t.getParent(),i=t.getNextSibling()||(r===null?null:r.getNextSibling());if(E(i)&&i.isShadowRoot())return!0}return!1}deleteCharacter(e){let t=this.isCollapsed();if(this.isCollapsed()){let n=this.anchor,r=n.getNode();if(this.forwardDeletion(n,r,e))return;let i=this.focus,s=qt(i,e);if(B(s)&&!s.isIsolated()){if(s.isKeyboardSelectable()&&E(r)&&r.getChildrenSize()===0){r.remove();let l=Fo();l.add(s.__key),q(l)}else s.remove(),G().dispatchCommand(ve,void 0);return}else if(!e&&E(s)&&E(r)&&r.isEmpty()){r.remove(),s.selectStart();return}if(this.modify("extend",e,"character"),this.isCollapsed()){if(e&&n.offset===0&&(n.type==="element"?n.getNode():n.getNode().getParentOrThrow()).collapseAtStart(this))return}else{let l=i.type==="text"?i.getNode():null;if(r=n.type==="text"?n.getNode():null,l!==null&&l.isSegmented()){let a=i.offset,c=l.getTextContentSize();if(l.is(r)||e&&a!==c||!e&&a!==0){kd(l,e,a);return}}else if(r!==null&&r.isSegmented()){let a=n.offset,c=r.getTextContentSize();if(r.is(l)||e&&a!==0||!e&&a!==c){kd(r,e,a);return}}sN(this,e)}}if(this.removeText(),e&&!t&&this.isCollapsed()&&this.anchor.type==="element"&&this.anchor.offset===0){let n=this.anchor.getNode();n.isEmpty()&&te(n.getParent())&&n.getIndexWithinParent()===0&&n.collapseAtStart(this)}}deleteLine(e){if(this.isCollapsed()){let t=this.anchor.type==="element";if(t&&this.insertText(" "),this.modify("extend",e,"lineboundary"),(e?this.focus:this.anchor).offset===0&&this.modify("extend",e,"character"),t){let r=e?this.anchor:this.focus;r.set(r.key,r.offset+1,r.type)}}this.removeText()}deleteWord(e){if(this.isCollapsed()){let t=this.anchor,n=t.getNode();if(this.forwardDeletion(t,n,e))return;this.modify("extend",e,"word")}this.removeText()}isBackward(){return this.focus.isBefore(this.anchor)}getStartEndPoints(){return[this.anchor,this.focus]}};function Ee(o){return o instanceof _i}function Rd(o){let e=o.offset;if(o.type==="text")return e;let t=o.getNode();return e===t.getChildrenSize()?t.getTextContent().length:0}function br(o){let e=o.getStartEndPoints();if(e===null)return[0,0];let[t,n]=e;return t.type==="element"&&n.type==="element"&&t.key===n.key&&t.offset===n.offset?[0,0]:[Rd(t),Rd(n)]}function rN(o){let e=o.focus,t=o.anchor,n=t.key,r=t.offset,i=t.type;No(t,e.key,e.offset,e.type),No(e,n,r,i),o._cachedNodes=null}function iN(o,e,t,n){o.modify(e,t,n)}function sN(o,e){let t=o.anchor,n=o.focus,r=t.getNode(),i=n.getNode();if(r===i&&t.type==="text"&&n.type==="text"){let s=t.offset,l=n.offset,a=s<l,c=a?s:l,m=a?l:s,f=m-1;if(c!==f){let d=r.getTextContent().slice(c,m);ii(d)||(e?n.offset=f:t.offset=f)}}}function kd(o,e,t){let n=o,i=n.getTextContent().split(/(?=\s)/g),s=i.length,l=0,a=0;for(let m=0;m<s;m++){let f=i[m],d=m===s-1;if(a=l,l+=f.length,e&&l===t||l>t||d){i.splice(m,1),d&&(a=void 0);break}}let c=i.join("").trim();c===""?n.remove():(n.setTextContent(c),n.select(a,a))}function lN(o,e,t){let n=o.getParent();return t===null||n===null||!n.canBeEmpty()||n!==t.getNode()}function Id(o,e,t,n){let r=e,i;if(o.nodeType===uo){let s=!1,l=o.childNodes,a=l.length,c=n._blockCursorElement;r===a&&(s=!0,r=a-1);let m=l[r],f=!1;if(m===c)m=l[r+1],f=!0;else if(c!==null){let d=c.parentNode;if(o===d){let u=Array.prototype.indexOf.call(d.children,c);e>u&&r--}}if(i=Ro(m),b(i))r=Xs(i,s);else{let d=Ro(o);if(d===null)return null;if(E(d)){r=Math.min(d.getChildrenSize(),r);let u=d.getChildAtIndex(r);if(E(u)&&lN(u,r,t)){let p=s?u.getLastDescendant():u.getFirstDescendant();p===null?d=u:(u=p,d=E(u)?u:u.getParentOrThrow()),r=0}b(u)?(i=u,d=null,r=Xs(u,s)):u!==d&&s&&!f&&r++}else{let u=d.getIndexWithinParent();e===0&&B(d)&&Ro(o)===d?r=u:r=u+1,d=d.getParentOrThrow()}if(E(d))return De(d.__key,r,"element")}}else i=Ro(o);return b(i)?De(i.__key,r,"text"):null}function $d(o,e,t){let n=o.offset,r=o.getNode();if(n===0){let i=r.getPreviousSibling(),s=r.getParent();if(!e)E(i)&&!t&&i.isInline()?(o.key=i.__key,o.offset=i.getChildrenSize(),o.type="element"):b(i)&&(o.key=i.__key,o.offset=i.getTextContent().length);else if((t||!e)&&i===null&&E(s)&&s.isInline()){let l=s.getPreviousSibling();b(l)&&(o.key=l.__key,o.offset=l.getTextContent().length)}}else if(n===r.getTextContent().length){let i=r.getNextSibling(),s=r.getParent();if(e&&E(i)&&i.isInline())o.key=i.__key,o.offset=0,o.type="element";else if((t||e)&&i===null&&E(s)&&s.isInline()&&!s.canInsertTextAfter()){let l=s.getNextSibling();b(l)&&(o.key=l.__key,o.offset=0)}}}function Bd(o,e,t){if(o.type==="text"&&e.type==="text"){let n=o.isBefore(e),r=o.is(e);$d(o,n,r),$d(e,!n,r),r&&(e.key=o.key,e.offset=o.offset,e.type=o.type);let i=G();if(i.isComposing()&&i._compositionKey!==o.key&&C(t)){let s=t.anchor,l=t.focus;No(o,s.key,s.offset,s.type),No(e,l.key,l.offset,l.type)}}}function Fd(o,e,t,n,r,i){if(o===null||t===null||!zt(r,o,t))return null;let s=Id(o,e,C(i)?i.anchor:null,r);if(s===null)return null;let l=Id(t,n,C(i)?i.focus:null,r);if(l===null)return null;if(s.type==="element"&&l.type==="element"){let a=Ro(o),c=Ro(t);if(B(a)&&B(c))return null}return Bd(s,l,i),[s,l]}function Ho(o){return E(o)&&!o.isInline()}function Ti(o,e,t,n,r,i){let s=je(),l=new xo(De(o,e,r),De(t,n,i),0,"");return l.dirty=!0,s._selection=l,l}function Ko(){let o=De("root",0,"element"),e=De("root",0,"element");return new xo(o,e,0,"")}function Fo(){return new _i(new Set)}function Hd(o){let t=o.getEditorState()._selection,n=ye(o._window);return C(t)||t==null?yr(t,n,o,null):t.clone()}function Ll(o,e){return yr(null,o,e,null)}function yr(o,e,t,n){let r=t._window;if(r===null)return null;let i=n||r.event,s=i?i.type:void 0,l=s==="selectionchange",a=!ac()&&(l||s==="beforeinput"||s==="compositionstart"||s==="compositionend"||s==="click"&&i&&i.detail===3||s==="drop"||s===void 0),c,m,f,d;if(!C(o)||a){if(e===null)return null;if(c=e.anchorNode,m=e.focusNode,f=e.anchorOffset,d=e.focusOffset,l&&C(o)&&!zt(t,c,m))return o.clone()}else return o.clone();let u=Fd(c,f,m,d,t,o);if(u===null)return null;let[p,g]=u;return new xo(p,g,C(o)?o.format:0,C(o)?o.style:"")}function T(){return je()._selection}function We(){return G()._editorState._selection}function bn(o,e,t,n=1){let r=o.anchor,i=o.focus,s=r.getNode(),l=i.getNode();if(!e.is(s)&&!e.is(l))return;let a=e.__key;if(o.isCollapsed()){let c=r.offset;if(t<=c&&n>0||t<c&&n<0){let m=Math.max(0,c+n);r.set(a,m,"element"),i.set(a,m,"element"),Pd(o)}}else{let c=o.isBackward(),m=c?i:r,f=m.getNode(),d=c?r:i,u=d.getNode();if(e.is(f)){let p=m.offset;(t<=p&&n>0||t<p&&n<0)&&m.set(a,Math.max(0,p+n),"element")}if(e.is(u)){let p=d.offset;(t<=p&&n>0||t<p&&n<0)&&d.set(a,Math.max(0,p+n),"element")}}Pd(o)}function Pd(o){let e=o.anchor,t=e.offset,n=o.focus,r=n.offset,i=e.getNode(),s=n.getNode();if(o.isCollapsed()){if(!E(i))return;let l=i.getChildrenSize(),a=t>=l,c=a?i.getChildAtIndex(l-1):i.getChildAtIndex(t);if(b(c)){let m=0;a&&(m=c.getTextContentSize()),e.set(c.__key,m,"text"),n.set(c.__key,m,"text")}return}if(E(i)){let l=i.getChildrenSize(),a=t>=l,c=a?i.getChildAtIndex(l-1):i.getChildAtIndex(t);if(b(c)){let m=0;a&&(m=c.getTextContentSize()),e.set(c.__key,m,"text")}}if(E(s)){let l=s.getChildrenSize(),a=r>=l,c=a?s.getChildAtIndex(l-1):s.getChildAtIndex(r);if(b(c)){let m=0;a&&(m=c.getTextContentSize()),n.set(c.__key,m,"text")}}}function Kd(o,e){let n=e.getEditorState()._selection,r=o._selection;if(C(r)){let i=r.anchor,s=r.focus,l;if(i.type==="text"&&(l=i.getNode(),l.selectionTransform(n,r)),s.type==="text"){let a=s.getNode();l!==a&&a.selectionTransform(n,r)}}}function Sn(o,e,t,n,r){let i=null,s=0,l=null;n!==null?(i=n.__key,b(n)?(s=n.getTextContentSize(),l="text"):E(n)&&(s=n.getChildrenSize(),l="element")):r!==null&&(i=r.__key,b(r)?l="text":E(r)&&(l="element")),i!==null&&l!==null?o.set(i,s,l):(s=e.getIndexWithinParent(),s===-1&&(s=t.getChildrenSize()),o.set(t.__key,s,"element"))}function Tl(o,e,t,n,r){o.type==="text"?(o.key=t,e||(o.offset+=r)):o.offset>n.getIndexWithinParent()&&(o.offset-=1)}function Ud(o,e,t,n,r,i,s){let l=n.anchorNode,a=n.focusNode,c=n.anchorOffset,m=n.focusOffset,f=document.activeElement;if(r.has("collaboration")&&f!==i||f!==null&&Nn(f))return;if(!C(e)){o!==null&&zt(t,l,a)&&n.removeAllRanges();return}let d=e.anchor,u=e.focus,p=d.key,g=u.key,h=Tn(t,p),_=Tn(t,g),N=d.offset,L=u.offset,M=e.format,S=e.style,A=e.isCollapsed(),O=h,R=_,P=!1;if(d.type==="text"){O=En(h);let k=d.getNode();P=k.getFormat()!==M||k.getStyle()!==S}else C(o)&&o.anchor.type==="text"&&(P=!0);if(u.type==="text"&&(R=En(_)),!(O===null||R===null)&&(A&&(o===null||P||C(o)&&(o.format!==M||o.style!==S))&&Ld(M,S,N,p,performance.now()),!(c===N&&m===L&&l===O&&a===R&&!(n.type==="Range"&&A)&&((f===null||!i.contains(f))&&i.focus({preventScroll:!0}),d.type!=="element")))){try{n.setBaseAndExtent(O,N,R,L)}catch(k){__DEV__&&console.warn(k)}if(!r.has("skip-scroll-into-view")&&e.isCollapsed()&&i!==null&&i===document.activeElement){let k=e instanceof xo&&e.anchor.type==="element"?O.childNodes[N]||null:n.rangeCount>0?n.getRangeAt(0):null;if(k!==null){let W;if(k instanceof Text){let ie=document.createRange();ie.selectNode(k),W=ie.getBoundingClientRect()}else W=k.getBoundingClientRect();Jc(t,W,i)}}Sd()}}function Oe(o){let e=T()||We();e===null&&(e=F().selectEnd()),e.insertNodes(o)}function bl(o){let e=o;o.isCollapsed()||e.removeText();let t=T();C(t)&&(e=t),x(C(e),"Unexpected dirty selection to be null");let n=e.anchor,r=n.getNode(),i=n.offset;for(;!Io(r);)[r,i]=aN(r,i);return i}function aN(o,e){let t=o.getParent();if(!t){let r=$();return F().append(r),r.select(),[F(),0]}if(b(o)){let r=o.splitText(e);if(r.length===0)return[t,o.getIndexWithinParent()];let i=e===0?0:1,s=r[0].getIndexWithinParent()+i;return[t,s]}if(!E(o)||e===0)return[t,o.getIndexWithinParent()];let n=o.getChildAtIndex(e);if(n){let r=new xo(De(o.__key,e,"element"),De(o.__key,e,"element"),0,""),i=o.insertNewAfter(r);i&&i.append(n,...n.getNextSiblings())}return[t,o.getIndexWithinParent()+1]}function cN(o){let e=$(),t=null;for(let n=0;n<o.length;n++){let r=o[n],i=we(r);if(i||B(r)&&r.isInline()||E(r)&&r.isInline()||b(r)||r.isParentRequired()){if(t===null&&(t=r.createParentElementNode(),e.append(t),i))continue;t!==null&&t.append(r)}else e.append(r),t=null}return e}var ue=null,ge=null,Ae=!1,Ml=!1,Ci=0,zd={characterData:!0,childList:!0,subtree:!0};function st(){return Ae||ue!==null&&ue._readOnly}function ce(){Ae&&x(!1,"Cannot use method in read-only mode.")}function ol(){Ci>99&&x(!1,"One or more transforms are endlessly triggering additional transforms. May have encountered infinite recursion caused by transforms that have their preconditions too lose and/or conflict with each other.")}function je(){return ue===null&&x(!1,"Unable to find an active editor state. State helpers or node methods can only be used synchronously during the callback of editor.update(), editor.read(), or editorState.read().%s",Zd()),ue}function G(){return ge===null&&x(!1,"Unable to find an active editor. This method can only be used synchronously during the callback of editor.update() or editor.read().%s",Zd()),ge}function Zd(){let o=0,e=new Set,t=po.version;if(typeof window<"u")for(let r of document.querySelectorAll("[contenteditable]")){let i=Ao(r);if(xn(i))o++;else if(i){let s=String(i.constructor.version||"<0.17.1");s===t&&(s+=" (separately built, likely a bundler configuration issue)"),e.add(s)}}let n=` Detected on the page: ${o} compatible editor(s) with version ${t}`;return e.size&&(n+=` and incompatible editors with versions ${Array.from(e).join(", ")}`),n}function Vd(){return ge}function nd(){return ue}function Wd(o,e,t){let n=e.__type,r=gc(o,n),i=t.get(n);i===void 0&&(i=Array.from(r.transforms),t.set(n,i));let s=i.length;for(let l=0;l<s&&(i[l](e),!!e.isAttached());l++);}function qd(o,e){return o!==void 0&&o.__key!==e&&o.isAttached()}function dN(o,e){let t=e._dirtyLeaves,n=o._nodeMap;for(let r of t){let i=n.get(r);b(i)&&i.isAttached()&&i.isSimpleText()&&!i.isUnmergeable()&&Ys(i)}}function uN(o,e){let t=e._dirtyLeaves,n=e._dirtyElements,r=o._nodeMap,i=Ge(),s=new Map,l=t,a=l.size,c=n,m=c.size;for(;a>0||m>0;){if(a>0){e._dirtyLeaves=new Set;for(let f of l){let d=r.get(f);b(d)&&d.isAttached()&&d.isSimpleText()&&!d.isUnmergeable()&&Ys(d),d!==void 0&&qd(d,i)&&Wd(e,d,s),t.add(f)}if(l=e._dirtyLeaves,a=l.size,a>0){Ci++;continue}}e._dirtyLeaves=new Set,e._dirtyElements=new Map;for(let f of c){let d=f[0],u=f[1];if(d!=="root"&&!u)continue;let p=r.get(d);p!==void 0&&qd(p,i)&&Wd(e,p,s),n.set(d,u)}l=e._dirtyLeaves,a=l.size,c=e._dirtyElements,m=c.size,Ci++}e._dirtyLeaves=t,e._dirtyElements=n}function vl(o){return wl(o,G()._nodes)}function wl(o,e){let t=o.type,n=e.get(t);n===void 0&&x(!1,'parseEditorState: type "%s" + not found',t);let r=n.klass;o.type!==r.getType()&&x(!1,"LexicalNode: Node %s does not implement .importJSON().",r.name);let i=r.importJSON(o),s=o.children;if(E(i)&&Array.isArray(s))for(let l=0;l<s.length;l++){let a=s[l],c=wl(a,e);i.append(c)}return i}function Xd(o,e,t){let n=Sr(),r=ue,i=Ae,s=ge,l=e._dirtyElements,a=e._dirtyLeaves,c=e._cloneNotNeeded,m=e._dirtyType;e._dirtyElements=new Map,e._dirtyLeaves=new Set,e._cloneNotNeeded=new Set,e._dirtyType=0,ue=n,Ae=!1,ge=e;try{let f=e._nodes,d=o.root;wl(d,f),t&&t(),n._readOnly=!0,__DEV__&&Gd(n)}catch(f){f instanceof Error&&e._onError(f)}finally{e._dirtyElements=l,e._dirtyLeaves=a,e._cloneNotNeeded=c,e._dirtyType=m,ue=r,Ae=i,ge=s}return n}function Dl(o,e,t){let n=ue,r=Ae,i=ge;ue=e,Ae=!0,ge=o;try{return t()}finally{ue=n,Ae=r,ge=i}}function Gd(o){let e=o._nodeMap;e.set=()=>{throw new Error("Cannot call set() on a frozen Lexical node map")},e.clear=()=>{throw new Error("Cannot call clear() on a frozen Lexical node map")},e.delete=()=>{throw new Error("Cannot call delete() on a frozen Lexical node map")}}function Lt(o,e){let t=o._pendingEditorState,n=o._rootElement,r=o._headless||n===null;if(t===null)return;let i=o._editorState,s=i._selection,l=t._selection,a=o._dirtyType!==Ct,c=ue,m=Ae,f=ge,d=o._updating,u=o._observer,p=null;if(o._pendingEditorState=null,o._editorState=t,!r&&a&&u!==null){ge=o,ue=t,Ae=!1,o._updating=!0;try{let O=o._dirtyType,R=o._dirtyElements,P=o._dirtyLeaves;u.disconnect(),p=ud(i,t,o,O,R,P)}catch(O){if(O instanceof Error&&o._onError(O),!Ml)Ol(o,null,n,t),ti(o),o._dirtyType=Ut,Ml=!0,Lt(o,i),Ml=!1;else throw O;return}finally{u.observe(n,zd),o._updating=d,ue=c,Ae=m,ge=f}}t._readOnly||(t._readOnly=!0,__DEV__&&(Gd(t),C(l)&&(Object.freeze(l.anchor),Object.freeze(l.focus)),Object.freeze(l)));let g=o._dirtyLeaves,h=o._dirtyElements,_=o._normalizedNodes,N=o._updateTags,L=o._deferred,M=t._nodeMap.size;a&&(o._dirtyType=Ct,o._cloneNotNeeded.clear(),o._dirtyLeaves=new Set,o._dirtyElements=new Map,o._normalizedNodes=new Set,o._updateTags=new Set),rd(o,t);let S=r?null:ye(o._window);if(o._editable&&S!==null&&(a||l===null||l.dirty)){ge=o,ue=t;try{if(u!==null&&u.disconnect(),a||l===null||l.dirty){let O=o._blockCursorElement;O!==null&&hr(O,o,n),Ud(s,l,o,S,N,n,M)}td(o,n,l),u!==null&&u.observe(n,zd)}finally{ge=f,ue=c}}p!==null&&mN(o,p,N,g,i),!C(l)&&l!==null&&(s===null||!s.is(l))&&o.dispatchCommand(ve,void 0);let A=o._pendingDecorators;A!==null&&(o._decorators=A,o._pendingDecorators=null,Ln("decorator",o,!0,A)),fN(o,e||i,t),Ln("update",o,!0,{dirtyElements:h,dirtyLeaves:g,editorState:t,normalizedNodes:_,prevEditorState:e||i,tags:N}),gN(o,L),pN(o)}function fN(o,e,t){let n=Vs(e),r=Vs(t);n!==r&&Ln("textcontent",o,!0,r)}function mN(o,e,t,n,r){let i=Array.from(o._listeners.mutation),s=i.length;for(let l=0;l<s;l++){let[a,c]=i[l],m=e.get(c);m!==void 0&&a(m,{dirtyLeaves:n,prevEditorState:r,updateTags:t})}}function Ln(o,e,t,...n){let r=e._updating;e._updating=t;try{let i=Array.from(e._listeners[o]);for(let s=0;s<i.length;s++)i[s].apply(null,n)}finally{e._updating=r}}function nl(o,e,t){if(o._updating===!1||ge!==o){let r=!1;return o.update(()=>{r=nl(o,e,t)}),r}let n=mr(o);for(let r=4;r>=0;r--)for(let i=0;i<n.length;i++){let a=n[i]._commands.get(e);if(a!==void 0){let c=a[r];if(c!==void 0){let m=Array.from(c),f=m.length;for(let d=0;d<f;d++)if(m[d](t,o)===!0)return!0}}}return!1}function pN(o){let e=o._updates;if(e.length!==0){let t=e.shift();if(t){let[n,r]=t;jd(o,n,r)}}}function gN(o,e){if(o._deferred=[],e.length!==0){let t=o._updating;o._updating=!0;try{for(let n=0;n<e.length;n++)e[n]()}finally{o._updating=t}}}function Yd(o,e){let t=o._updates,n=e||!1;for(;t.length!==0;){let r=t.shift();if(r){let[i,s]=r,l,a;if(s!==void 0){if(l=s.onUpdate,a=s.tag,s.skipTransforms&&(n=!0),s.discrete){let c=o._pendingEditorState;x(c!==null,"Unexpected empty pending editor state on discrete nested update"),c._flushSync=!0}l&&o._deferred.push(l),a&&o._updateTags.add(a)}i()}}return n}function jd(o,e,t){let n=o._updateTags,r,i,s=!1,l=!1;t!==void 0&&(r=t.onUpdate,i=t.tag,i!=null&&n.add(i),s=t.skipTransforms||!1,l=t.discrete||!1),r&&o._deferred.push(r);let a=o._editorState,c=o._pendingEditorState,m=!1;(c===null||c._readOnly)&&(c=o._pendingEditorState=Qd(c||a),m=!0),c._flushSync=l;let f=ue,d=Ae,u=ge,p=o._updating;ue=c,Ae=!1,o._updating=!0,ge=o;try{m&&(o._headless?a._selection!==null&&(c._selection=a._selection.clone()):c._selection=Hd(o));let h=o._compositionKey;e(),s=Yd(o,s),Kd(c,o),o._dirtyType!==Ct&&(s?dN(c,o):uN(c,o),Yd(o),sd(a,c,o._dirtyLeaves,o._dirtyElements));let _=o._compositionKey;h!==_&&(c._flushSync=!0);let N=c._selection;if(C(N)){let L=c._nodeMap,M=N.anchor.key,S=N.focus.key;(L.get(M)===void 0||L.get(S)===void 0)&&x(!1,"updateEditor: selection has been lost because the previously selected nodes have been removed and selection wasn't moved to another node. Ensure selection changes after removing/replacing a selected node.")}else Ee(N)&&N._nodes.size===0&&(c._selection=null)}catch(h){h instanceof Error&&o._onError(h),o._pendingEditorState=a,o._dirtyType=Ut,o._cloneNotNeeded.clear(),o._dirtyLeaves=new Set,o._dirtyElements.clear(),Lt(o);return}finally{ue=f,Ae=d,ge=u,o._updating=p,Ci=0}o._dirtyType!==Ct||Jd(c,o)?c._flushSync?(c._flushSync=!1,Lt(o)):m&&hc(()=>{Lt(o)}):(c._flushSync=!1,m&&(n.clear(),o._deferred=[],o._pendingEditorState=null))}function xe(o,e,t){o._updating?o._updates.push([e,t]):jd(o,e,t)}var J=class extends bt{constructor(e){super(e),this.__first=null,this.__last=null,this.__size=0,this.__style="",this.__dir=null}afterCloneFrom(e){super.afterCloneFrom(e),this.__first=e.__first,this.__last=e.__last,this.__size=e.__size,this.__style=e.__style,this.__dir=e.__dir}getStyle(){return this.getLatest().__style}getChildren(){let e=[],t=this.getFirstChild();for(;t!==null;)e.push(t),t=t.getNextSibling();return e}getChildrenKeys(){let e=[],t=this.getFirstChild();for(;t!==null;)e.push(t.__key),t=t.getNextSibling();return e}getChildrenSize(){return this.getLatest().__size}isEmpty(){return this.getChildrenSize()===0}isDirty(){let t=G()._dirtyElements;return t!==null&&t.has(this.__key)}isLastChild(){let e=this.getLatest(),t=this.getParentOrThrow().getLastChild();return t!==null&&t.is(e)}getAllTextNodes(){let e=[],t=this.getFirstChild();for(;t!==null;){if(b(t)&&e.push(t),E(t)){let n=t.getAllTextNodes();e.push(...n)}t=t.getNextSibling()}return e}getFirstDescendant(){let e=this.getFirstChild();for(;E(e);){let t=e.getFirstChild();if(t===null)break;e=t}return e}getLastDescendant(){let e=this.getLastChild();for(;E(e);){let t=e.getLastChild();if(t===null)break;e=t}return e}getDescendantByIndex(e){let t=this.getChildren(),n=t.length;if(e>=n){let i=t[n-1];return E(i)&&i.getLastDescendant()||i||null}let r=t[e];return E(r)&&r.getFirstDescendant()||r||null}getFirstChild(){let t=this.getLatest().__first;return t===null?null:j(t)}getFirstChildOrThrow(){let e=this.getFirstChild();return e===null&&x(!1,"Expected node %s to have a first child.",this.__key),e}getLastChild(){let t=this.getLatest().__last;return t===null?null:j(t)}getLastChildOrThrow(){let e=this.getLastChild();return e===null&&x(!1,"Expected node %s to have a last child.",this.__key),e}getChildAtIndex(e){let t=this.getChildrenSize(),n,r;if(e<t/2){for(n=this.getFirstChild(),r=0;n!==null&&r<=e;){if(r===e)return n;n=n.getNextSibling(),r++}return null}for(n=this.getLastChild(),r=t-1;n!==null&&r>=e;){if(r===e)return n;n=n.getPreviousSibling(),r--}return null}getTextContent(){let e="",t=this.getChildren(),n=t.length;for(let r=0;r<n;r++){let i=t[r];e+=i.getTextContent(),E(i)&&r!==n-1&&!i.isInline()&&(e+=Ve)}return e}getTextContentSize(){let e=0,t=this.getChildren(),n=t.length;for(let r=0;r<n;r++){let i=t[r];e+=i.getTextContentSize(),E(i)&&r!==n-1&&!i.isInline()&&(e+=Ve.length)}return e}getDirection(){return this.getLatest().__dir}select(e,t){ce();let n=T(),r=e,i=t,s=this.getChildrenSize();if(!this.canBeEmpty()){if(e===0&&t===0){let a=this.getFirstChild();if(b(a)||E(a))return a.select(0,0)}else if((e===void 0||e===s)&&(t===void 0||t===s)){let a=this.getLastChild();if(b(a)||E(a))return a.select()}}r===void 0&&(r=s),i===void 0&&(i=s);let l=this.__key;if(C(n))n.anchor.set(l,r,"element"),n.focus.set(l,i,"element"),n.dirty=!0;else return Ti(l,r,l,i,"element","element");return n}selectStart(){let e=this.getFirstDescendant();return e?e.selectStart():this.select()}selectEnd(){let e=this.getLastDescendant();return e?e.selectEnd():this.select()}clear(){let e=this.getWritable();return this.getChildren().forEach(n=>n.remove()),e}append(...e){return this.splice(this.getChildrenSize(),0,e)}setDirection(e){let t=this.getWritable();return t.__dir=e,t}setStyle(e){let t=this.getWritable();return t.__style=e||"",this}splice(e,t,n){let r=n.length,i=this.getChildrenSize(),s=this.getWritable(),l=s.__key,a=[],c=[],m=this.getChildAtIndex(e+t),f=null,d=i-t+r;if(e!==0)if(e===i)f=this.getLastChild();else{let p=this.getChildAtIndex(e);p!==null&&(f=p.getPreviousSibling())}if(t>0){let p=f===null?this.getFirstChild():f.getNextSibling();for(let g=0;g<t;g++){p===null&&x(!1,"splice: sibling not found");let h=p.getNextSibling(),_=p.__key,N=p.getWritable();Wt(N),c.push(_),p=h}}let u=f;for(let p=0;p<r;p++){let g=n[p];u!==null&&g.is(u)&&(f=u=u.getPreviousSibling());let h=g.getWritable();h.__parent===l&&d--,Wt(h);let _=g.__key;if(u===null)s.__first=_,h.__prev=null;else{let N=u.getWritable();N.__next=_,h.__prev=N.__key}g.__key===l&&x(!1,"append: attempting to append self"),h.__parent=l,a.push(_),u=g}if(e+t===i){if(u!==null){let p=u.getWritable();p.__next=null,s.__last=u.__key}}else if(m!==null){let p=m.getWritable();if(u!==null){let g=u.getWritable();p.__prev=u.__key,g.__next=m.__key}else p.__prev=null}if(s.__size=d,c.length){let p=T();if(C(p)){let g=new Set(c),h=new Set(a),{anchor:_,focus:N}=p;eu(_,g,h)&&Sn(_,_.getNode(),this,f,m),eu(N,g,h)&&Sn(N,N.getNode(),this,f,m),d===0&&!this.canBeEmpty()&&!me(this)&&this.remove()}}return s}exportJSON(){return{children:[],direction:this.getDirection(),type:"element",version:1}}insertNewAfter(e,t){return null}canIndent(){return!0}collapseAtStart(e){return!1}excludeFromCopy(e){return!1}canReplaceWith(e){return!0}canInsertAfter(e){return!0}canBeEmpty(){return!0}canInsertTextBefore(){return!0}canInsertTextAfter(){return!0}isInline(){return!1}isShadowRoot(){return!1}canMergeWith(e){return!1}extractWithChild(e,t,n){return!1}canMergeWhenEmpty(){return!1}};function E(o){return o instanceof J}function eu(o,e,t){let n=o.getNode();for(;n;){let r=n.__key;if(e.has(r)&&!t.has(r))return!0;n=n.getParent()}return!1}var Mt=class extends bt{constructor(e){super(e)}decorate(e,t){x(!1,"decorate: base method not extended")}isIsolated(){return!1}isInline(){return!0}isKeyboardSelectable(){return!0}};function B(o){return o instanceof Mt}var Uo=class o extends J{static getType(){return"root"}static clone(){return new o}constructor(){super("root"),this.__cachedText=null}getTopLevelElementOrThrow(){x(!1,"getTopLevelElementOrThrow: root nodes are not top level elements")}getTextContent(){let e=this.__cachedText;return(st()||G()._dirtyType===Ct)&&e!==null?e:super.getTextContent()}remove(){x(!1,"remove: cannot be called on root nodes")}replace(e){x(!1,"replace: cannot be called on root nodes")}insertBefore(e){x(!1,"insertBefore: cannot be called on root nodes")}insertAfter(e){x(!1,"insertAfter: cannot be called on root nodes")}updateDOM(e,t){return!1}append(...e){for(let t=0;t<e.length;t++){let n=e[t];!E(n)&&!B(n)&&x(!1,"rootNode.append: Only element or decorator nodes can be appended to the root node")}return super.append(...e)}static importJSON(e){let t=F();return t.setDirection(e.direction),t}exportJSON(){return{children:[],direction:this.getDirection(),type:"root",version:1}}collapseAtStart(){return!0}};function tu(){return new Uo}function te(o){return o instanceof Uo}function Jd(o,e){let t=e.getEditorState()._selection,n=o._selection;if(n!==null){if(n.dirty||!n.is(t))return!0}else if(t!==null)return!0;return!1}function Qd(o){return new yi(new Map(o._nodeMap))}function Sr(){return new yi(new Map([["root",tu()]]))}function ou(o){let e=o.exportJSON(),t=o.constructor;if(e.type!==t.getType()&&x(!1,"LexicalNode: Node %s does not match the serialized type. Check if .exportJSON() is implemented and it is returning the correct type.",t.name),E(o)){let n=e.children;Array.isArray(n)||x(!1,"LexicalNode: Node %s is an element but .exportJSON() does not have a children array.",t.name);let r=o.getChildren();for(let i=0;i<r.length;i++){let s=r[i],l=ou(s);n.push(l)}}return e}var yi=class o{constructor(e,t){this._nodeMap=e,this._selection=t||null,this._flushSync=!1,this._readOnly=!1}isEmpty(){return this._nodeMap.size===1&&this._selection===null}read(e,t){return Dl(t&&t.editor||null,this,e)}clone(e){let t=new o(this._nodeMap,e===void 0?this._selection:e);return t._readOnly=!0,t}toJSON(){return Dl(null,this,()=>({root:ou(F())}))}};var Eo=class extends J{static getType(){return"artificial"}createDOM(e){return document.createElement("div")}};function y(o,e={},t=[]){let n=document.createElement(o),r=Object.keys(e);for(let i of r)e[i]!==null&&n.setAttribute(i,e[i]);for(let i of t)typeof i=="string"?n.append(document.createTextNode(i)):n.append(i);return n}function nu(o){return new DOMParser().parseFromString(o,"text/html")}function ft(o,e="px"){return typeof o=="number"||/^-?\d+$/.test(o)?`${o}${e}`:o}function zo(o){return/^-?\d+$/.test(o)?Number(o):/^-?\d+\.\d+$/.test(o)?Math.round(Number(o)):/^-?\d+px\s*$/.test(o)?Number(o.trim().replace("px","")):0}function Mn(o){let e=new Map,n=(o.getAttribute("style")||"").split(";");for(let r of n){let[i,s]=r.split(":");!i||!s||e.set(i.trim().toLowerCase(),s.trim())}return e}function ru(o,e,t){t?o.setAttribute(e,t):o.removeAttribute(e)}var hN=["left","right","center","justify"];function Lr(o){let e=o.style.textAlign||"";return hN.includes(e)?e:o.classList.contains("align-left")?"left":o.classList.contains("align-right")?"right":o.classList.contains("align-center")?"center":o.classList.contains("align-justify")?"justify":""}function NN(o){let e=o.style.paddingLeft||"0";return zo(e)}function Mr(o){let e=(o.dir||"").toLowerCase();return e==="rtl"||e==="ltr"?e:null}function Qe(o,e){o.id&&e.setId(o.id),e.setAlignment(Lr(o)),e.setInset(NN(o)),e.setDirection(Mr(o))}function vt(o,e){return o.__id!==e.__id||o.__alignment!==e.__alignment||o.__inset!==e.__inset||o.__dir!==e.__dir}function et(o,e){e.__id&&o.setAttribute("id",e.__id),e.__alignment&&o.classList.add("align-"+e.__alignment),e.__inset&&(o.style.paddingLeft=`${e.__inset}px`),e.__dir&&(o.dir=e.__dir)}function tt(o,e){e.setId(o.id),e.setAlignment(o.alignment),e.setInset(o.inset),e.setDirection(o.direction)}var wt=class extends J{constructor(){super(...arguments);this.__id="";this.__alignment="";this.__inset=0}setId(t){let n=this.getWritable();n.__id=t}getId(){return this.getLatest().__id}setAlignment(t){let n=this.getWritable();n.__alignment=t}getAlignment(){return this.getLatest().__alignment}setInset(t){let n=this.getWritable();n.__inset=t}getInset(){return this.getLatest().__inset}exportJSON(){return{...super.exportJSON(),id:this.__id,alignment:this.__alignment,inset:this.__inset}}};function To(o,e){e.__alignment=o.__alignment,e.__inset=o.__inset}var dt=class o extends wt{constructor(e){super(e),this.__textStyle=""}static getType(){return"paragraph"}getTextStyle(){return this.getLatest().__textStyle}setTextStyle(e){let t=this.getWritable();return t.__textStyle=e,t}static clone(e){return new o(e.__key)}afterCloneFrom(e){super.afterCloneFrom(e),this.__textStyle=e.__textStyle,To(e,this)}createDOM(e){let t=document.createElement("p"),n=fo(e.theme,"paragraph");return n!==void 0&&t.classList.add(...n),et(t,this),t}updateDOM(e,t,n){return vt(e,this)}static importDOM(){return{p:e=>({conversion:xN,priority:0})}}exportDOM(e){let{element:t}=super.exportDOM(e);return t&&pe(t)&&this.isEmpty()&&t.append(document.createElement("br")),{element:t}}static importJSON(e){let t=$();return tt(e,t),t}exportJSON(){return{...super.exportJSON(),textStyle:this.getTextStyle(),type:"paragraph",version:1}}insertNewAfter(e,t){let n=$();n.setTextStyle(e.style);let r=this.getDirection();return n.setDirection(r),n.setStyle(this.getTextStyle()),this.insertAfter(n,t),n}collapseAtStart(){let e=this.getChildren();if(e.length===0||b(e[0])&&e[0].getTextContent().trim()===""){if(this.getNextSibling()!==null)return this.selectNext(),this.remove(),!0;if(this.getPreviousSibling()!==null)return this.selectPrevious(),this.remove(),!0}return!1}};function xN(o){let e=$();return Qe(o,e),{node:e}}function $(){return oe(new dt)}function ct(o){return o instanceof dt}var EN=!0,Z=0,Dt=1,bi=2,qe=3,Re=4;function Ol(o,e,t,n){let r=o._keyToDOMMap;r.clear(),o._editorState=Sr(),o._pendingEditorState=n,o._compositionKey=null,o._dirtyType=Ct,o._cloneNotNeeded.clear(),o._dirtyLeaves=new Set,o._dirtyElements.clear(),o._normalizedNodes=new Set,o._updateTags=new Set,o._updates=[],o._blockCursorElement=null;let i=o._observer;i!==null&&(i.disconnect(),o._observer=null),e!==null&&(e.textContent=""),t!==null&&(t.textContent="",r.set("root",t))}function TN(o,e){let t=new Map,n=new Set,r=i=>{Object.keys(i).forEach(s=>{let l=t.get(s);l===void 0&&(l=[],t.set(s,l)),l.push(i[s])})};return o.forEach(i=>{let s=i.klass.importDOM;if(s==null||n.has(s))return;n.add(s);let l=s.call(i.klass);l!==null&&r(l)}),e&&r(e),t}function Al(o){let e=o||{},t=Vd(),n=e.theme||{},r=o===void 0?t:e.parentEditor||null,i=e.disableEvents||!1,s=Sr(),l=e.namespace||(r!==null?r._config.namespace:Gs()),a=e.editorState,c=[Uo,Je,Po,Bo,dt,Eo,...e.nodes||[]],{onError:m,html:f}=e,d=e.editable!==void 0?e.editable:!0,u;if(o===void 0&&t!==null)u=t._nodes;else{u=new Map;for(let g=0;g<c.length;g++){let h=c[g],_=null,N=null;if(typeof h!="function"){let A=h;h=A.replace,_=A.with,N=A.withKlass||null}if(__DEV__){let A=Object.prototype.hasOwnProperty.call(h,"getType")&&h.getType(),O=h.name;if(N&&x(N.prototype instanceof h,"%s doesn't extend the %s",N.name,O),O!=="RootNode"&&A!=="root"&&A!=="artificial"){let R=h.prototype;["getType","clone"].forEach(P=>{h.hasOwnProperty(P)||console.warn(`${O} must implement static "${P}" method`)}),!h.hasOwnProperty("importDOM")&&h.hasOwnProperty("exportDOM")&&console.warn(`${O} should implement "importDOM" if using a custom "exportDOM" method to ensure HTML serialization (important for copy & paste) works as expected`),R instanceof Mt&&(R.hasOwnProperty("decorate")||console.warn(`${R.constructor.name} must implement "decorate" method`)),h.hasOwnProperty("importJSON")||console.warn(`${O} should implement "importJSON" method to ensure JSON and default HTML serialization works as expected`),R.hasOwnProperty("exportJSON")||console.warn(`${O} should implement "exportJSON" method to ensure JSON and default HTML serialization works as expected`)}}let L=h.getType(),M=h.transform(),S=new Set;M!==null&&S.add(M),u.set(L,{exportDOM:f&&f.export?f.export.get(h):void 0,klass:h,replace:_,replaceWithKlass:N,transforms:S})}}let p=new po(s,r,u,{disableEvents:i,namespace:l,theme:n},m||console.error,TN(u,f?f.import:void 0),d);return a!==void 0&&(p._pendingEditorState=a,p._dirtyType=Ut),p}var po=class{constructor(e,t,n,r,i,s,l){this._parentEditor=t,this._rootElement=null,this._editorState=e,this._pendingEditorState=null,this._compositionKey=null,this._deferred=[],this._keyToDOMMap=new Map,this._updates=[],this._updating=!1,this._listeners={decorator:new Set,editable:new Set,mutation:new Map,root:new Set,textcontent:new Set,update:new Set},this._commands=new Map,this._config=r,this._nodes=n,this._decorators={},this._pendingDecorators=null,this._dirtyType=Ct,this._cloneNotNeeded=new Set,this._dirtyLeaves=new Set,this._dirtyElements=new Map,this._normalizedNodes=new Set,this._updateTags=new Set,this._observer=null,this._key=Gs(),this._onError=i,this._htmlConversions=s,this._editable=l,this._headless=t!==null&&t._headless,this._window=null,this._blockCursorElement=null}isComposing(){return this._compositionKey!=null}registerUpdateListener(e){let t=this._listeners.update;return t.add(e),()=>{t.delete(e)}}registerEditableListener(e){let t=this._listeners.editable;return t.add(e),()=>{t.delete(e)}}registerDecoratorListener(e){let t=this._listeners.decorator;return t.add(e),()=>{t.delete(e)}}registerTextContentListener(e){let t=this._listeners.textcontent;return t.add(e),()=>{t.delete(e)}}registerRootListener(e){let t=this._listeners.root;return e(this._rootElement,null),t.add(e),()=>{e(null,this._rootElement),t.delete(e)}}registerCommand(e,t,n){n===void 0&&x(!1,'Listener for type "command" requires a "priority".');let r=this._commands;r.has(e)||r.set(e,[new Set,new Set,new Set,new Set,new Set]);let i=r.get(e);i===void 0&&x(!1,"registerCommand: Command %s not found in command map",String(e));let s=i[n];return s.add(t),()=>{s.delete(t),i.every(l=>l.size===0)&&r.delete(e)}}registerMutationListener(e,t,n){let r=this.resolveRegisteredNodeAfterReplacements(this.getRegisteredNode(e)).klass,i=this._listeners.mutation;i.set(t,r);let s=n&&n.skipInitialization;return(s===void 0?EN:s)||this.initializeMutationListener(t,r),()=>{i.delete(t)}}getRegisteredNode(e){let t=this._nodes.get(e.getType());return t===void 0&&x(!1,"Node %s has not been registered. Ensure node has been passed to createEditor.",e.name),t}resolveRegisteredNodeAfterReplacements(e){for(;e.replaceWithKlass;)e=this.getRegisteredNode(e.replaceWithKlass);return e}initializeMutationListener(e,t){let n=this._editorState,r=od(n).get(t.getType());if(!r)return;let i=new Map;for(let s of r.keys())i.set(s,"created");i.size>0&&e(i,{dirtyLeaves:new Set,prevEditorState:n,updateTags:new Set(["registerMutationListener"])})}registerNodeTransformToKlass(e,t){let n=this.getRegisteredNode(e);return n.transforms.add(t),n}registerNodeTransform(e,t){let n=this.registerNodeTransformToKlass(e,t),r=[n],i=n.replaceWithKlass;if(i!=null){let s=this.registerNodeTransformToKlass(i,t);r.push(s)}return Tc(this,e.getType()),()=>{r.forEach(s=>s.transforms.delete(t))}}hasNode(e){return this._nodes.has(e.getType())}hasNodes(e){return e.every(this.hasNode.bind(this))}dispatchCommand(e,t){return D(this,e,t)}getDecorators(){return this._decorators}getRootElement(){return this._rootElement}getKey(){return this._key}setRootElement(e){let t=this._rootElement;if(e!==t){let n=fo(this._config.theme,"root"),r=this._pendingEditorState||this._editorState;if(this._rootElement=e,Ol(this,t,e,r),t!==null&&(this._config.disableEvents||bd(t),n!=null&&t.classList.remove(...n)),e!==null){let i=ed(e),s=e.style;s.userSelect="text",s.whiteSpace="pre-wrap",s.wordBreak="break-word",e.setAttribute("data-lexical-editor","true"),this._window=i,this._dirtyType=Ut,ti(this),this._updateTags.add("history-merge"),Lt(this),this._config.disableEvents||yd(e,this),n!=null&&e.classList.add(...n)}else this._editorState=r,this._pendingEditorState=null,this._window=null;Ln("root",this,!1,e,t)}}getElementByKey(e){return this._keyToDOMMap.get(e)||null}getEditorState(){return this._editorState}setEditorState(e,t){e.isEmpty()&&x(!1,"setEditorState: the editor state is empty. Ensure the editor state's root node never becomes empty."),ei(this);let n=this._pendingEditorState,r=this._updateTags,i=t!==void 0?t.tag:null;n!==null&&!n.isEmpty()&&(i!=null&&r.add(i),Lt(this)),this._pendingEditorState=e,this._dirtyType=Ut,this._dirtyElements.set("root",!1),this._compositionKey=null,i!=null&&r.add(i),Lt(this)}parseEditorState(e,t){let n=typeof e=="string"?JSON.parse(e):e;return Xd(n,this,t)}read(e){return Lt(this),this.getEditorState().read(e,{editor:this})}update(e,t){xe(this,e,t)}updateAndCommit(e,t){this.update(e,t),this.commitUpdates()}focus(e,t={}){let n=this._rootElement;n!==null&&(n.setAttribute("autocapitalize","off"),xe(this,()=>{let r=T(),i=F();r!==null?r.dirty=!0:i.getChildrenSize()!==0&&(t.defaultSelection==="rootStart"?i.selectStart():i.selectEnd())},{onUpdate:()=>{n.removeAttribute("autocapitalize"),e&&e()},tag:"focus"}),this._pendingEditorState===null&&n.removeAttribute("autocapitalize"))}commitUpdates(){Lt(this)}blur(){let e=this._rootElement;e!==null&&e.blur();let t=ye(this._window);t!==null&&t.removeAllRanges()}isEditable(){return this._editable}setEditable(e){this._editable!==e&&(this._editable=e,Ln("editable",this,!0,e))}toJSON(){return{editorState:this._editorState.toJSON()}}};po.version="0.17.1";function Xt(...o){return()=>{for(let e=o.length-1;e>=0;e--)o[e]();o.length=0}}var vn=new Map;function Rl(o){let e={},t=o.split(";");for(let n of t)if(n!==""){let[r,i]=n.split(/:([^]+)/);r&&i&&(e[r.trim()]=i.trim())}return e}function wn(o){let e=vn.get(o);return e===void 0&&(e=Rl(o),vn.set(o,e)),__DEV__&&Object.freeze(e),e}function su(o){let e="";for(let t in o)t&&(e+=`${t}: ${o[t]};`);return e}function vr(o,e){let t=o.getStartEndPoints();if(e.isSelected(o)&&!e.isSegmented()&&!e.isToken()&&t!==null){let[n,r]=t,i=o.isBackward(),s=n.getNode(),l=r.getNode(),a=e.is(s),c=e.is(l);if(a||c){let[m,f]=br(o),d=s.is(l),u=e.is(i?l:s),p=e.is(i?s:l),g=0,h;if(d)g=m>f?f:m,h=m>f?m:f;else if(u)g=i?f:m,h=void 0;else if(p){let _=i?m:f;g=0,h=_}return e.__text=e.__text.slice(g,h),e}}return e}function kl(o){let e=o.getStyle(),t=Rl(e);vn.set(e,t)}function Dn(o,e){let t=wn("getStyle"in o?o.getStyle():o.style),n=Object.entries(e).reduce((i,[s,l])=>(typeof l=="function"?i[s]=l(t[s],o):l===null?delete i[s]:i[s]=l,i),{...t}),r=su(n);o.setStyle(r),vn.set(r,n)}function Il(o,e){let t=o.getNodes(),n=t.length,r=o.getStartEndPoints();if(r===null)return;let[i,s]=r,l=n-1,a=t[0],c=t[l];if(o.isCollapsed()&&C(o)){Dn(o,e);return}let f=a.getTextContent().length,d=s.offset,u=i.offset,p=i.isBefore(s),g=p?u:d,h=p?d:u,_=p?i.type:s.type,N=p?s.type:i.type,L=p?s.key:i.key;if(b(a)&&g===f){let M=a.getNextSibling();b(M)&&(u=0,g=0,a=M)}if(t.length===1){if(b(a)&&a.canHaveFormat()){if(g=_==="element"?0:u>d?d:u,h=N==="element"?f:u>d?u:d,g===h)return;if(ze(a)||g===0&&h===f)Dn(a,e),a.select(g,h);else{let M=a.splitText(g,h),S=g===0?M[0]:M[1];Dn(S,e),S.select(0,h-g)}}}else{if(b(a)&&g<a.getTextContentSize()&&a.canHaveFormat()&&(g!==0&&!ze(a)&&(a=a.splitText(g)[1],g=0,p?i.set(a.getKey(),g,"text"):s.set(a.getKey(),g,"text")),Dn(a,e)),b(c)&&c.canHaveFormat()){let S=c.getTextContent().length;c.__key!==L&&h!==0&&(h=S),h!==S&&!ze(c)&&([c]=c.splitText(h)),(h!==0||N==="element")&&Dn(c,e)}for(let M=1;M<l;M++){let S=t[M],A=S.getKey();b(S)&&S.canHaveFormat()&&A!==a.getKey()&&A!==c.getKey()&&!S.isToken()&&Dn(S,e)}}}function Si(o,e){if(o===null)return;let t=o.getStartEndPoints(),n=t?t[0]:null;if(n!==null&&n.key==="root"){let s=e(),l=F(),a=l.getFirstChild();a?a.replace(s,!0):l.append(s);return}let r=o.getNodes(),i=n!==null?CN(n.getNode(),lu):!1;i&&r.indexOf(i)===-1&&r.push(i);for(let s=0;s<r.length;s++){let l=r[s];if(!lu(l))continue;x(E(l),"Expected block node to be an ElementNode");let a=e();l.replace(a,!0)}}function Li(o,e){let t=qt(o.focus,e);return B(t)&&!t.isIsolated()||E(t)&&!t.isInline()&&!t.canBeEmpty()}function au(o,e,t,n){o.modify(e?"extend":"move",t,n)}function cu(o){let e=o.anchor.getNode();return(te(e)?e:e.getParentOrThrow()).getDirection()==="rtl"}function Mi(o,e,t){let n=cu(o);au(o,e,t?!n:n,"character")}function _N(o,e,t){let n=o.getStyle(),r=wn(n);return r!==null&&r[e]||t}function $l(o,e,t=""){let n=null,r=o.getNodes(),i=o.anchor,s=o.focus,l=o.isBackward(),a=l?s.offset:i.offset,c=l?s.getNode():i.getNode();if(C(o)&&o.isCollapsed()&&o.style!==""){let m=o.style,f=wn(m);if(f!==null&&e in f)return f[e]}for(let m=0;m<r.length;m++){let f=r[m];if(!(m!==0&&a===0&&f.is(c))&&b(f)){let d=_N(f,e,t);if(n===null)n=d;else if(n!==d){n="";break}}}return n===null?t:n}function lu(o){if(B(o)||!E(o)||me(o))return!1;let e=o.getFirstChild(),t=e===null||we(e)||b(e)||e.isInline();return!o.isInline()&&o.canBeEmpty()!==!1&&t}function CN(o,e){let t=o;for(;t!==null&&t.getParent()!==null&&!e(t);)t=t.getParentOrThrow();return e(t)?t:null}function Te(o,...e){let t=yt(...e);t.length>0&&o.classList.add(...t)}function vi(o,...e){let t=yt(...e);t.length>0&&o.classList.remove(...t)}function du(o,e){let t=o;for(;t!=null;){if(t instanceof e)return t;t=t.getParent()}return null}function uu(o){let e=H(o,t=>E(t)&&!t.isInline());return E(e)||x(!1,"Expected node %s to have closest block element node.",o.__key),e}var H=(o,e)=>{let t=o;for(;t!==F()&&t!=null;){if(e(t))return t;t=t.getParent()}return null};function mt(o,e){return o!==null?Object.getPrototypeOf(o).constructor.name===e.name:!1}var wi=0,Pl=1,Bl=2,pt=0,LN=1,fu=2,MN=3,vN=4;function wN(o,e,t){let n=o._nodeMap,r=[];for(let i of e){let s=n.get(i);s!==void 0&&r.push(s)}for(let[i,s]of t){if(!s)continue;let l=n.get(i);l!==void 0&&!te(l)&&r.push(l)}return r}function DN(o,e,t,n,r){if(o===null||t.size===0&&n.size===0&&!r)return pt;let i=e._selection,s=o._selection;if(r)return LN;if(!C(i)||!C(s)||!s.isCollapsed()||!i.isCollapsed())return pt;let l=wN(e,t,n);if(l.length===0)return pt;if(l.length>1){let _=e._nodeMap,N=_.get(i.anchor.key),L=_.get(s.anchor.key);return N&&L&&!o._nodeMap.has(N.__key)&&b(N)&&N.__text.length===1&&i.anchor.offset===1?fu:pt}let a=l[0],c=o._nodeMap.get(a.__key);if(!b(c)||!b(a)||c.__mode!==a.__mode)return pt;let m=c.__text,f=a.__text;if(m===f)return pt;let d=i.anchor,u=s.anchor;if(d.key!==u.key||d.type!=="text")return pt;let p=d.offset,g=u.offset,h=f.length-m.length;return h===1&&g===p-1?fu:h===-1&&g===p+1?MN:h===-1&&g===p?vN:pt}function ON(o,e,t){let n=e._nodeMap.get(o),r=t._nodeMap.get(o),i=e._selection,s=t._selection;return!(C(i)&&C(s)&&i.anchor.type==="element"&&i.focus.type==="element"&&s.anchor.type==="text"&&s.focus.type==="text")&&b(n)&&b(r)&&n.__parent===r.__parent?JSON.stringify(e.read(()=>n.exportJSON()))===JSON.stringify(t.read(()=>r.exportJSON())):!1}function AN(o,e){let t=Date.now(),n=pt;return(r,i,s,l,a,c)=>{let m=Date.now();if(c.has("historic"))return n=pt,t=m,Bl;let f=DN(r,i,l,a,o.isComposing()),d=(()=>{let u=s===null||s.editor===o,p=c.has("history-push");if(!p&&u&&c.has("history-merge"))return wi;if(r===null)return Pl;let h=i._selection;if(!(l.size>0||a.size>0))return h!==null?wi:Bl;if(p===!1&&f!==pt&&f===n&&m<t+e&&u)return wi;if(l.size===1){let N=Array.from(l)[0];if(ON(N,r,i))return wi}return Pl})();return t=m,n=f,d}}function RN(o,e){let t=e.redoStack,n=e.undoStack;if(t.length!==0){let r=e.current;r!==null&&(n.push(r),o.dispatchCommand(ao,!0));let i=t.pop();t.length===0&&o.dispatchCommand(lo,!1),e.current=i||null,i&&i.editor.setEditorState(i.editorState,{tag:"historic"})}}function kN(o,e){let t=e.redoStack,n=e.undoStack;if(n.length!==0){let i=e.current,s=n.pop();i!==null&&(t.push(i),o.dispatchCommand(lo,!0)),n.length===0&&o.dispatchCommand(ao,!1),e.current=s||null,s&&s.editor.setEditorState(s.editorState,{tag:"historic"})}}function mu(o){o.undoStack=[],o.redoStack=[],o.current=null}function pu(o,e,t){let n=AN(o,t),r=({editorState:s,prevEditorState:l,dirtyLeaves:a,dirtyElements:c,tags:m})=>{let f=e.current,d=e.redoStack,u=e.undoStack,p=f===null?null:f.editorState;if(f!==null&&s===p)return;let g=n(l,s,f,a,c,m);if(g===Pl)d.length!==0&&(e.redoStack=[],o.dispatchCommand(lo,!1)),f!==null&&(u.push({...f}),o.dispatchCommand(ao,!0));else if(g===Bl)return;e.current={editor:o,editorState:s}};return Xt(o.registerCommand(no,()=>(kN(o,e),!0),Z),o.registerCommand(ro,()=>(RN(o,e),!0),Z),o.registerCommand(Rs,()=>(mu(e),!1),Z),o.registerCommand(ks,()=>(mu(e),o.dispatchCommand(lo,!1),o.dispatchCommand(ao,!1),!0),Z),o.registerUpdateListener(r))}function gu(){return{current:null,redoStack:[],undoStack:[]}}function Di(o,e){let t=e.body?e.body.childNodes:[],n=[],r=[];for(let i=0;i<t.length;i++){let s=t[i];if(!xu.has(s.nodeName)){let l=Eu(s,o,r,!1);l!==null&&(n=n.concat(l))}}return $N(r),n}function Oi(o,e){if(typeof document>"u"||typeof window>"u"&&typeof global.window>"u")throw new Error("To use $generateHtmlFromNodes in headless mode please initialize a headless browser implementation such as JSDom before calling this function.");let t=document.createElement("div"),r=F().getChildren();for(let i=0;i<r.length;i++){let s=r[i];Nu(o,s,t,e)}return t.innerHTML}function Nu(o,e,t,n=null){let r=n!==null?e.isSelected(n):!0,i=E(e)&&e.excludeFromCopy("html"),s=e;if(n!==null){let u=Yt(e);u=b(u)&&n!==null?vr(n,u):u,s=u}let l=E(s)?s.getChildren():[],a=o._nodes.get(s.getType()),c;a&&a.exportDOM!==void 0?c=a.exportDOM(o,s):c=s.exportDOM(o);let{element:m,after:f}=c;if(!m)return!1;let d=document.createDocumentFragment();for(let u=0;u<l.length;u++){let p=l[u],g=Nu(o,p,d,n);!r&&E(e)&&g&&e.extractWithChild(p,n,"html")&&(r=!0)}if(r&&!i){if(pe(m)&&m.append(d),t.append(m),f){let u=f.call(s,m);u&&m.replaceWith(u)}}else t.append(d);return r}function IN(o,e){let{nodeName:t}=o,n=e._htmlConversions.get(t.toLowerCase()),r=null;if(n!==void 0)for(let i of n){let s=i(o);s!==null&&(r===null||(r.priority||0)<(s.priority||0))&&(r=s)}return r!==null?r.conversion:null}var xu=new Set(["STYLE","SCRIPT"]);function Eu(o,e,t,n,r=new Map,i){let s=[];if(xu.has(o.nodeName))return s;let l=null,a=IN(o,e),c=a?a(o):null,m=null;if(c!==null){m=c.after;let p=c.node;if(p==="ignore")return s;if(l=Array.isArray(p)?p[p.length-1]:p,l!==null){for(let[,g]of r)if(l=g(l,i),!l)break;l&&s.push(...Array.isArray(p)?p:[l])}c.forChild!=null&&r.set(o.nodeName,c.forChild)}let f=o.childNodes,d=[],u=l!=null&&me(l)?!1:l!=null&&Ho(l)||n;for(let p=0;p<f.length;p++)d.push(...Eu(f[p],e,t,u,new Map(r),l));return m!=null&&(d=m(d)),mo(o)&&(u?d=hu(o,d,()=>{let p=new Eo;return t.push(p),p}):d=hu(o,d,$)),l==null?d.length>0?s=s.concat(d):mo(o)&&PN(o)&&(s=s.concat(ut())):E(l)&&l.append(...d),s}function hu(o,e,t){let n=o.style.textAlign,r=[],i=[];for(let s=0;s<e.length;s++){let l=e[s];if(Ho(l))r.push(l);else if(i.push(l),s===e.length-1||s<e.length-1&&Ho(e[s+1])){let a=t();a.append(...i),r.push(a),i=[]}}return r}function $N(o){for(let e of o)e.getNextSibling()instanceof Eo&&e.insertAfter(ut());for(let e of o){let t=e.getChildren();for(let n of t)e.insertBefore(n);e.remove()}}function PN(o){return o.nextSibling==null||o.previousSibling==null?!1:ko(o.nextSibling)&&ko(o.previousSibling)}var _u=o=>fe?(o||window).getSelection():null;function Cu(o,e=T()){return e==null&&x(!1,"Expected valid LexicalSelection"),C(e)&&e.isCollapsed()||e.getNodes().length===0?"":Oi(o,e)}function yu(o,e=T()){return e==null&&x(!1,"Expected valid LexicalSelection"),C(e)&&e.isCollapsed()||e.getNodes().length===0?null:JSON.stringify(Su(o,e))}function Ai(o,e,t){let n=o.getData("application/x-lexical-editor");if(n)try{let s=JSON.parse(n);if(s.namespace===t._config.namespace&&Array.isArray(s.nodes)){let l=Lu(s.nodes);return Fl(t,l,e)}}catch{}let r=o.getData("text/html");if(r)try{let l=new DOMParser().parseFromString(r,"text/html"),a=Di(t,l);return Fl(t,a,e)}catch{}let i=o.getData("text/plain")||o.getData("text/uri-list");if(i!=null)if(C(e)){let s=i.split(/(\r?\n|\t)/);s[s.length-1]===""&&s.pop();for(let l=0;l<s.length;l++){let a=T();if(C(a)){let c=s[l];c===` +`?n.push(ut()):s===" "?n.push(St()):n.push(q(s))}this.insertNodes(n)}insertText(e){let t=this.anchor,n=this.focus,r=this.format,i=this.style,s=t,l=n;!this.isCollapsed()&&n.isBefore(t)&&(s=n,l=t),s.type==="element"&&uN(s,l,r,i);let a=s.offset,c=l.offset,m=this.getNodes(),f=m.length,d=m[0];y(d)||x(!1,"insertText: first node is not a text node");let p=d.getTextContent().length,g=d.getParentOrThrow(),h=f-1,C=m[h];if(f===1&&l.type==="element"&&(c=p,l.set(s.key,c,"text")),this.isCollapsed()&&a===p&&(d.isSegmented()||d.isToken()||!d.canInsertTextAfter()||!g.canInsertTextAfter()&&d.getNextSibling()===null)){let N=d.getNextSibling();if((!y(N)||!N.canInsertTextBefore()||ze(N))&&(N=q(),N.setFormat(r),N.setStyle(i),g.canInsertTextAfter()?d.insertAfter(N):g.insertAfter(N)),N.select(0,0),d=N,e!==""){this.insertText(e);return}}else if(this.isCollapsed()&&a===0&&(d.isSegmented()||d.isToken()||!d.canInsertTextBefore()||!g.canInsertTextBefore()&&d.getPreviousSibling()===null)){let N=d.getPreviousSibling();if((!y(N)||ze(N))&&(N=q(),N.setFormat(r),g.canInsertTextBefore()?d.insertBefore(N):g.insertBefore(N)),N.select(),d=N,e!==""){this.insertText(e);return}}else if(d.isSegmented()&&a!==p){let N=q(d.getTextContent());N.setFormat(r),d.replace(N),d=N}else if(!this.isCollapsed()&&e!==""){let N=C.getParent();if(!g.canInsertTextBefore()||!g.canInsertTextAfter()||E(N)&&(!N.canInsertTextBefore()||!N.canInsertTextAfter())){this.insertText(""),qd(this.anchor,this.focus,null),this.insertText(e);return}}if(f===1){if(d.isToken()){let S=q(e);S.select(),d.replace(S);return}let N=d.getFormat(),L=d.getStyle();if(a===c&&(N!==r||L!==i))if(d.getTextContent()==="")d.setFormat(r),d.setStyle(i);else{let S=q(e);if(S.setFormat(r),S.setStyle(i),S.select(),a===0)d.insertBefore(S,!1);else{let[A]=d.splitText(a);A.insertAfter(S,!1)}S.isComposing()&&this.anchor.type==="text"&&(this.anchor.offset-=e.length);return}else if(yl(d)){let S=q(e);S.setFormat(r),S.setStyle(i),S.select(),d.replace(S);return}let M=c-a;d=d.spliceText(a,M,e,!0),d.getTextContent()===""?d.remove():this.anchor.type==="text"&&(d.isComposing()?this.anchor.offset-=e.length:(this.format=N,this.style=L))}else{let N=new Set([...d.getParentKeys(),...C.getParentKeys()]),L=E(d)?d:d.getParentOrThrow(),M=E(C)?C:C.getParentOrThrow(),S=C;if(!L.is(M)&&M.isInline())do S=M,M=M.getParentOrThrow();while(M.isInline());if(l.type==="text"&&(c!==0||C.getTextContent()==="")||l.type==="element"&&C.getIndexWithinParent()<c)if(y(C)&&!C.isToken()&&c!==C.getTextContentSize()){if(C.isSegmented()){let k=q(C.getTextContent());C.replace(k),C=k}!oe(l.getNode())&&l.type==="text"&&(C=C.spliceText(0,c,"")),N.add(C.__key)}else{let k=C.getParentOrThrow();!k.canBeEmpty()&&k.getChildrenSize()===1?k.remove():C.remove()}else N.add(C.__key);let A=M.getChildren(),O=new Set(m),R=L.is(M),P=L.isInline()&&d.getNextSibling()===null?L:d;for(let k=A.length-1;k>=0;k--){let W=A[k];if(W.is(d)||E(W)&&W.isParentOf(d))break;W.isAttached()&&(!O.has(W)||W.is(S)?R||P.insertAfter(W,!1):W.remove())}if(!R){let k=M,W=null;for(;k!==null;){let ie=k.getChildren(),ln=ie.length;(ln===0||ie[ln-1].is(W))&&(N.delete(k.__key),W=k),k=k.getParent()}}if(!d.isToken())d=d.spliceText(a,p-a,e,!0),d.getTextContent()===""?d.remove():d.isComposing()&&this.anchor.type==="text"&&(this.anchor.offset-=e.length);else if(a===p)d.select();else{let k=q(e);k.select(),d.replace(k)}for(let k=1;k<f;k++){let W=m[k],ie=W.__key;N.has(ie)||W.remove()}}}removeText(){this.insertText("")}formatText(e){if(this.isCollapsed()){this.toggleFormat(e),se(null);return}let t=this.getNodes(),n=[];for(let N of t)y(N)&&n.push(N);let r=n.length;if(r===0){this.toggleFormat(e),se(null);return}let i=this.anchor,s=this.focus,l=this.isBackward(),a=l?s:i,c=l?i:s,m=0,f=n[0],d=a.type==="element"?0:a.offset;if(a.type==="text"&&d===f.getTextContentSize()&&(m=1,f=n[1],d=0),f==null)return;let u=f.getFormatFlags(e,null),p=r-1,g=n[p],h=c.type==="text"?c.offset:g.getTextContentSize();if(f.is(g)){if(d===h)return;if(ze(f)||d===0&&h===f.getTextContentSize())f.setFormat(u);else{let N=f.splitText(d,h),L=d===0?N[0]:N[1];L.setFormat(u),a.type==="text"&&a.set(L.__key,0,"text"),c.type==="text"&&c.set(L.__key,h-d,"text")}this.format=u;return}d!==0&&!ze(f)&&([,f]=f.splitText(d),d=0),f.setFormat(u);let C=g.getFormatFlags(e,u);h>0&&(h!==g.getTextContentSize()&&!ze(g)&&([g]=g.splitText(h)),g.setFormat(C));for(let N=m+1;N<p;N++){let L=n[N],M=L.getFormatFlags(e,C);L.setFormat(M)}a.type==="text"&&a.set(f.__key,d,"text"),c.type==="text"&&c.set(g.__key,h,"text"),this.format=u|C}insertNodes(e){if(e.length===0)return;if(this.anchor.key==="root"){this.insertParagraph();let h=T();return x(_(h),"Expected RangeSelection after insertParagraph"),h.insertNodes(e)}let t=this.isBackward()?this.focus:this.anchor,n=mi(t.getNode(),$o),r=e[e.length-1];if("__language"in n&&E(n)){if("__language"in e[0])this.insertText(e[0].getTextContent());else{let h=Ll(this);n.splice(h,0,e),r.selectEnd()}return}let i=h=>(E(h)||B(h))&&!h.isInline();if(!e.some(i)){x(E(n),"Expected 'firstBlock' to be an ElementNode");let h=Ll(this);n.splice(h,0,e),r.selectEnd();return}let s=NN(e),l=s.getLastDescendant(),a=s.getChildren(),c=h=>E(h)&&$o(h)&&!h.isEmpty()&&E(n)&&(!n.isEmpty()||n.canMergeWhenEmpty()),f=!E(n)||!n.isEmpty()?this.insertParagraph():null,d=a[a.length-1],u=a[0];c(u)&&(x(E(n),"Expected 'firstBlock' to be an ElementNode"),n.append(...u.getChildren()),u=a[1]),u&&kd(n,u);let p=mi(l,$o);f&&E(p)&&(f.canMergeWhenEmpty()||$o(d))&&(p.append(...f.getChildren()),f.remove()),E(n)&&n.isEmpty()&&n.remove(),l.selectEnd();let g=E(n)?n.getLastChild():null;ve(g)&&p!==n&&g.remove()}insertParagraph(){if(this.anchor.key==="root"){let s=I();return F().splice(this.anchor.offset,0,[s]),s.select(),s}let e=Ll(this),t=mi(this.anchor.getNode(),$o);x(E(t),"Expected ancestor to be an ElementNode");let n=t.getChildAtIndex(e),r=n?[n,...n.getNextSiblings()]:[],i=t.insertNewAfter(this,!1);return i?(i.append(...r),i.selectStart(),i):null}insertLineBreak(e){let t=ut();if(this.insertNodes([t]),e){let n=t.getParentOrThrow(),r=t.getIndexWithinParent();n.select(r,r)}}extract(){let e=this.getNodes(),t=e.length,n=t-1,r=this.anchor,i=this.focus,s=e[0],l=e[n],[a,c]=Mr(this);if(t===0)return[];if(t===1){if(y(s)&&!this.isCollapsed()){let f=a>c?c:a,d=a>c?a:c,u=s.splitText(f,d),p=f===0?u[0]:u[1];return p!=null?[p]:[]}return[s]}let m=r.isBefore(i);if(y(s)){let f=m?a:c;f===s.getTextContentSize()?e.shift():f!==0&&([,s]=s.splitText(f),e[0]=s)}if(y(l)){let d=l.getTextContent().length,u=m?c:a;u===0?e.pop():u!==d&&([l]=l.splitText(u),e[n]=l)}return e}modify(e,t,n){let r=this.focus,i=this.anchor,s=e==="move",l=Yt(r,t);if(B(l)&&!l.isIsolated()){if(s&&l.isKeyboardSelectable()){let u=Ho();u.add(l.__key),Y(u);return}let d=t?l.getPreviousSibling():l.getNextSibling();if(y(d)){let u=d.__key,p=t?d.getTextContent().length:0;r.set(u,p,"text"),s&&i.set(u,p,"text");return}else{let u=l.getParentOrThrow(),p,g;E(d)?(g=d.__key,p=t?d.getChildrenSize():0):(p=l.getIndexWithinParent(),g=u.__key,t||p++),r.set(g,p,"element"),s&&i.set(g,p,"element");return}}let a=j(),c=be(a._window);if(!c)return;let m=a._blockCursorElement,f=a._rootElement;if(f!==null&&m!==null&&E(l)&&!l.isInline()&&!l.canBeEmpty()&&Er(m,a,f),mN(c,e,t?"backward":"forward",n),c.rangeCount>0){let d=c.getRangeAt(0),u=this.anchor.getNode(),p=oe(u)?u:ol(u);if(this.applyDOMRange(d),this.dirty=!0,!s){let g=this.getNodes(),h=[],C=!1;for(let N=0;N<g.length;N++){let L=g[N];xn(L,p)?h.push(L):C=!0}if(C&&h.length>0)if(t){let N=h[0];E(N)?N.selectStart():N.getParentOrThrow().selectStart()}else{let N=h[h.length-1];E(N)?N.selectEnd():N.getParentOrThrow().selectEnd()}(c.anchorNode!==d.startContainer||c.anchorOffset!==d.startOffset)&&fN(this)}}}forwardDeletion(e,t,n){if(!n&&(e.type==="element"&&E(t)&&e.offset===t.getChildrenSize()||e.type==="text"&&e.offset===t.getTextContentSize())){let r=t.getParent(),i=t.getNextSibling()||(r===null?null:r.getNextSibling());if(E(i)&&i.isShadowRoot())return!0}return!1}deleteCharacter(e){let t=this.isCollapsed();if(this.isCollapsed()){let n=this.anchor,r=n.getNode();if(this.forwardDeletion(n,r,e))return;let i=this.focus,s=Yt(i,e);if(B(s)&&!s.isIsolated()){if(s.isKeyboardSelectable()&&E(r)&&r.getChildrenSize()===0){r.remove();let l=Ho();l.add(s.__key),Y(l)}else s.remove(),j().dispatchCommand(we,void 0);return}else if(!e&&E(s)&&E(r)&&r.isEmpty()){r.remove(),s.selectStart();return}if(this.modify("extend",e,"character"),this.isCollapsed()){if(e&&n.offset===0&&(n.type==="element"?n.getNode():n.getNode().getParentOrThrow()).collapseAtStart(this))return}else{let l=i.type==="text"?i.getNode():null;if(r=n.type==="text"?n.getNode():null,l!==null&&l.isSegmented()){let a=i.offset,c=l.getTextContentSize();if(l.is(r)||e&&a!==c||!e&&a!==0){Kd(l,e,a);return}}else if(r!==null&&r.isSegmented()){let a=n.offset,c=r.getTextContentSize();if(r.is(l)||e&&a!==0||!e&&a!==c){Kd(r,e,a);return}}pN(this,e)}}if(this.removeText(),e&&!t&&this.isCollapsed()&&this.anchor.type==="element"&&this.anchor.offset===0){let n=this.anchor.getNode();n.isEmpty()&&oe(n.getParent())&&n.getIndexWithinParent()===0&&n.collapseAtStart(this)}}deleteLine(e){if(this.isCollapsed()){let t=this.anchor.type==="element";if(t&&this.insertText(" "),this.modify("extend",e,"lineboundary"),(e?this.focus:this.anchor).offset===0&&this.modify("extend",e,"character"),t){let r=e?this.anchor:this.focus;r.set(r.key,r.offset+1,r.type)}}this.removeText()}deleteWord(e){if(this.isCollapsed()){let t=this.anchor,n=t.getNode();if(this.forwardDeletion(t,n,e))return;this.modify("extend",e,"word")}this.removeText()}isBackward(){return this.focus.isBefore(this.anchor)}getStartEndPoints(){return[this.anchor,this.focus]}};function Se(o){return o instanceof bi}function Hd(o){let e=o.offset;if(o.type==="text")return e;let t=o.getNode();return e===t.getChildrenSize()?t.getTextContent().length:0}function Mr(o){let e=o.getStartEndPoints();if(e===null)return[0,0];let[t,n]=e;return t.type==="element"&&n.type==="element"&&t.key===n.key&&t.offset===n.offset?[0,0]:[Hd(t),Hd(n)]}function fN(o){let e=o.focus,t=o.anchor,n=t.key,r=t.offset,i=t.type;xo(t,e.key,e.offset,e.type),xo(e,n,r,i),o._cachedNodes=null}function mN(o,e,t,n){o.modify(e,t,n)}function pN(o,e){let t=o.anchor,n=o.focus,r=t.getNode(),i=n.getNode();if(r===i&&t.type==="text"&&n.type==="text"){let s=t.offset,l=n.offset,a=s<l,c=a?s:l,m=a?l:s,f=m-1;if(c!==f){let d=r.getTextContent().slice(c,m);li(d)||(e?n.offset=f:t.offset=f)}}}function Kd(o,e,t){let n=o,i=n.getTextContent().split(/(?=\s)/g),s=i.length,l=0,a=0;for(let m=0;m<s;m++){let f=i[m],d=m===s-1;if(a=l,l+=f.length,e&&l===t||l>t||d){i.splice(m,1),d&&(a=void 0);break}}let c=i.join("").trim();c===""?n.remove():(n.setTextContent(c),n.select(a,a))}function gN(o,e,t){let n=o.getParent();return t===null||n===null||!n.canBeEmpty()||n!==t.getNode()}function Ud(o,e,t,n){let r=e,i;if(o.nodeType===fo){let s=!1,l=o.childNodes,a=l.length,c=n._blockCursorElement;r===a&&(s=!0,r=a-1);let m=l[r],f=!1;if(m===c)m=l[r+1],f=!0;else if(c!==null){let d=c.parentNode;if(o===d){let u=Array.prototype.indexOf.call(d.children,c);e>u&&r--}}if(i=ko(m),y(i))r=js(i,s);else{let d=ko(o);if(d===null)return null;if(E(d)){r=Math.min(d.getChildrenSize(),r);let u=d.getChildAtIndex(r);if(E(u)&&gN(u,r,t)){let p=s?u.getLastDescendant():u.getFirstDescendant();p===null?d=u:(u=p,d=E(u)?u:u.getParentOrThrow()),r=0}y(u)?(i=u,d=null,r=js(u,s)):u!==d&&s&&!f&&r++}else{let u=d.getIndexWithinParent();e===0&&B(d)&&ko(o)===d?r=u:r=u+1,d=d.getParentOrThrow()}if(E(d))return De(d.__key,r,"element")}}else i=ko(o);return y(i)?De(i.__key,r,"text"):null}function zd(o,e,t){let n=o.offset,r=o.getNode();if(n===0){let i=r.getPreviousSibling(),s=r.getParent();if(!e)E(i)&&!t&&i.isInline()?(o.key=i.__key,o.offset=i.getChildrenSize(),o.type="element"):y(i)&&(o.key=i.__key,o.offset=i.getTextContent().length);else if((t||!e)&&i===null&&E(s)&&s.isInline()){let l=s.getPreviousSibling();y(l)&&(o.key=l.__key,o.offset=l.getTextContent().length)}}else if(n===r.getTextContent().length){let i=r.getNextSibling(),s=r.getParent();if(e&&E(i)&&i.isInline())o.key=i.__key,o.offset=0,o.type="element";else if((t||e)&&i===null&&E(s)&&s.isInline()&&!s.canInsertTextAfter()){let l=s.getNextSibling();y(l)&&(o.key=l.__key,o.offset=0)}}}function qd(o,e,t){if(o.type==="text"&&e.type==="text"){let n=o.isBefore(e),r=o.is(e);zd(o,n,r),zd(e,!n,r),r&&(e.key=o.key,e.offset=o.offset,e.type=o.type);let i=j();if(i.isComposing()&&i._compositionKey!==o.key&&_(t)){let s=t.anchor,l=t.focus;xo(o,s.key,s.offset,s.type),xo(e,l.key,l.offset,l.type)}}}function Yd(o,e,t,n,r,i){if(o===null||t===null||!Wt(r,o,t))return null;let s=Ud(o,e,_(i)?i.anchor:null,r);if(s===null)return null;let l=Ud(t,n,_(i)?i.focus:null,r);if(l===null)return null;if(s.type==="element"&&l.type==="element"){let a=ko(o),c=ko(t);if(B(a)&&B(c))return null}return qd(s,l,i),[s,l]}function Ko(o){return E(o)&&!o.isInline()}function _i(o,e,t,n,r,i){let s=je(),l=new Eo(De(o,e,r),De(t,n,i),0,"");return l.dirty=!0,s._selection=l,l}function Uo(){let o=De("root",0,"element"),e=De("root",0,"element");return new Eo(o,e,0,"")}function Ho(){return new bi(new Set)}function Zd(o){let t=o.getEditorState()._selection,n=be(o._window);return _(t)||t==null?Lr(t,n,o,null):t.clone()}function wl(o,e){return Lr(null,o,e,null)}function Lr(o,e,t,n){let r=t._window;if(r===null)return null;let i=n||r.event,s=i?i.type:void 0,l=s==="selectionchange",a=!gc()&&(l||s==="beforeinput"||s==="compositionstart"||s==="compositionend"||s==="click"&&i&&i.detail===3||s==="drop"||s===void 0),c,m,f,d;if(!_(o)||a){if(e===null)return null;if(c=e.anchorNode,m=e.focusNode,f=e.anchorOffset,d=e.focusOffset,l&&_(o)&&!Wt(t,c,m))return o.clone()}else return o.clone();let u=Yd(c,f,m,d,t,o);if(u===null)return null;let[p,g]=u;return new Eo(p,g,_(o)?o.format:0,_(o)?o.style:"")}function T(){return je()._selection}function We(){return j()._editorState._selection}function Ln(o,e,t,n=1){let r=o.anchor,i=o.focus,s=r.getNode(),l=i.getNode();if(!e.is(s)&&!e.is(l))return;let a=e.__key;if(o.isCollapsed()){let c=r.offset;if(t<=c&&n>0||t<c&&n<0){let m=Math.max(0,c+n);r.set(a,m,"element"),i.set(a,m,"element"),Wd(o)}}else{let c=o.isBackward(),m=c?i:r,f=m.getNode(),d=c?r:i,u=d.getNode();if(e.is(f)){let p=m.offset;(t<=p&&n>0||t<p&&n<0)&&m.set(a,Math.max(0,p+n),"element")}if(e.is(u)){let p=d.offset;(t<=p&&n>0||t<p&&n<0)&&d.set(a,Math.max(0,p+n),"element")}}Wd(o)}function Wd(o){let e=o.anchor,t=e.offset,n=o.focus,r=n.offset,i=e.getNode(),s=n.getNode();if(o.isCollapsed()){if(!E(i))return;let l=i.getChildrenSize(),a=t>=l,c=a?i.getChildAtIndex(l-1):i.getChildAtIndex(t);if(y(c)){let m=0;a&&(m=c.getTextContentSize()),e.set(c.__key,m,"text"),n.set(c.__key,m,"text")}return}if(E(i)){let l=i.getChildrenSize(),a=t>=l,c=a?i.getChildAtIndex(l-1):i.getChildAtIndex(t);if(y(c)){let m=0;a&&(m=c.getTextContentSize()),e.set(c.__key,m,"text")}}if(E(s)){let l=s.getChildrenSize(),a=r>=l,c=a?s.getChildAtIndex(l-1):s.getChildAtIndex(r);if(y(c)){let m=0;a&&(m=c.getTextContentSize()),n.set(c.__key,m,"text")}}}function Vd(o,e){let n=e.getEditorState()._selection,r=o._selection;if(_(r)){let i=r.anchor,s=r.focus,l;if(i.type==="text"&&(l=i.getNode(),l.selectionTransform(n,r)),s.type==="text"){let a=s.getNode();l!==a&&a.selectionTransform(n,r)}}}function Mn(o,e,t,n,r){let i=null,s=0,l=null;n!==null?(i=n.__key,y(n)?(s=n.getTextContentSize(),l="text"):E(n)&&(s=n.getChildrenSize(),l="element")):r!==null&&(i=r.__key,y(r)?l="text":E(r)&&(l="element")),i!==null&&l!==null?o.set(i,s,l):(s=e.getIndexWithinParent(),s===-1&&(s=t.getChildrenSize()),o.set(t.__key,s,"element"))}function _l(o,e,t,n,r){o.type==="text"?(o.key=t,e||(o.offset+=r)):o.offset>n.getIndexWithinParent()&&(o.offset-=1)}function Xd(o,e,t,n,r,i,s){let l=n.anchorNode,a=n.focusNode,c=n.anchorOffset,m=n.focusOffset,f=document.activeElement;if(r.has("collaboration")&&f!==i||f!==null&&En(f))return;if(!_(e)){o!==null&&Wt(t,l,a)&&n.removeAllRanges();return}let d=e.anchor,u=e.focus,p=d.key,g=u.key,h=_n(t,p),C=_n(t,g),N=d.offset,L=u.offset,M=e.format,S=e.style,A=e.isCollapsed(),O=h,R=C,P=!1;if(d.type==="text"){O=Cn(h);let k=d.getNode();P=k.getFormat()!==M||k.getStyle()!==S}else _(o)&&o.anchor.type==="text"&&(P=!0);if(u.type==="text"&&(R=Cn(C)),!(O===null||R===null)&&(A&&(o===null||P||_(o)&&(o.format!==M||o.style!==S))&&Rd(M,S,N,p,performance.now()),!(c===N&&m===L&&l===O&&a===R&&!(n.type==="Range"&&A)&&((f===null||!i.contains(f))&&i.focus({preventScroll:!0}),d.type!=="element")))){try{n.setBaseAndExtent(O,N,R,L)}catch(k){__DEV__&&console.warn(k)}if(!r.has("skip-scroll-into-view")&&e.isCollapsed()&&i!==null&&i===document.activeElement){let k=e instanceof Eo&&e.anchor.type==="element"?O.childNodes[N]||null:n.rangeCount>0?n.getRangeAt(0):null;if(k!==null){let W;if(k instanceof Text){let ie=document.createRange();ie.selectNode(k),W=ie.getBoundingClientRect()}else W=k.getBoundingClientRect();id(t,W,i)}}Ad()}}function Oe(o){let e=T()||We();e===null&&(e=F().selectEnd()),e.insertNodes(o)}function Ll(o){let e=o;o.isCollapsed()||e.removeText();let t=T();_(t)&&(e=t),x(_(e),"Unexpected dirty selection to be null");let n=e.anchor,r=n.getNode(),i=n.offset;for(;!$o(r);)[r,i]=hN(r,i);return i}function hN(o,e){let t=o.getParent();if(!t){let r=I();return F().append(r),r.select(),[F(),0]}if(y(o)){let r=o.splitText(e);if(r.length===0)return[t,o.getIndexWithinParent()];let i=e===0?0:1,s=r[0].getIndexWithinParent()+i;return[t,s]}if(!E(o)||e===0)return[t,o.getIndexWithinParent()];let n=o.getChildAtIndex(e);if(n){let r=new Eo(De(o.__key,e,"element"),De(o.__key,e,"element"),0,""),i=o.insertNewAfter(r);i&&i.append(n,...n.getNextSiblings())}return[t,o.getIndexWithinParent()+1]}function NN(o){let e=I(),t=null;for(let n=0;n<o.length;n++){let r=o[n],i=ve(r);if(i||B(r)&&r.isInline()||E(r)&&r.isInline()||y(r)||r.isParentRequired()){if(t===null&&(t=r.createParentElementNode(),e.append(t),i))continue;t!==null&&t.append(r)}else e.append(r),t=null}return e}var ue=null,ge=null,Ae=!1,vl=!1,yi=0,Gd={characterData:!0,childList:!0,subtree:!0};function st(){return Ae||ue!==null&&ue._readOnly}function ce(){Ae&&x(!1,"Cannot use method in read-only mode.")}function rl(){yi>99&&x(!1,"One or more transforms are endlessly triggering additional transforms. May have encountered infinite recursion caused by transforms that have their preconditions too lose and/or conflict with each other.")}function je(){return ue===null&&x(!1,"Unable to find an active editor state. State helpers or node methods can only be used synchronously during the callback of editor.update(), editor.read(), or editorState.read().%s",eu()),ue}function j(){return ge===null&&x(!1,"Unable to find an active editor. This method can only be used synchronously during the callback of editor.update() or editor.read().%s",eu()),ge}function eu(){let o=0,e=new Set,t=go.version;if(typeof window<"u")for(let r of document.querySelectorAll("[contenteditable]")){let i=Ro(r);if(Tn(i))o++;else if(i){let s=String(i.constructor.version||"<0.17.1");s===t&&(s+=" (separately built, likely a bundler configuration issue)"),e.add(s)}}let n=` Detected on the page: ${o} compatible editor(s) with version ${t}`;return e.size&&(n+=` and incompatible editors with versions ${Array.from(e).join(", ")}`),n}function tu(){return ge}function dd(){return ue}function jd(o,e,t){let n=e.__type,r=_c(o,n),i=t.get(n);i===void 0&&(i=Array.from(r.transforms),t.set(n,i));let s=i.length;for(let l=0;l<s&&(i[l](e),!!e.isAttached());l++);}function Jd(o,e){return o!==void 0&&o.__key!==e&&o.isAttached()}function xN(o,e){let t=e._dirtyLeaves,n=o._nodeMap;for(let r of t){let i=n.get(r);y(i)&&i.isAttached()&&i.isSimpleText()&&!i.isUnmergeable()&&Vs(i)}}function EN(o,e){let t=e._dirtyLeaves,n=e._dirtyElements,r=o._nodeMap,i=Ge(),s=new Map,l=t,a=l.size,c=n,m=c.size;for(;a>0||m>0;){if(a>0){e._dirtyLeaves=new Set;for(let f of l){let d=r.get(f);y(d)&&d.isAttached()&&d.isSimpleText()&&!d.isUnmergeable()&&Vs(d),d!==void 0&&Jd(d,i)&&jd(e,d,s),t.add(f)}if(l=e._dirtyLeaves,a=l.size,a>0){yi++;continue}}e._dirtyLeaves=new Set,e._dirtyElements=new Map;for(let f of c){let d=f[0],u=f[1];if(d!=="root"&&!u)continue;let p=r.get(d);p!==void 0&&Jd(p,i)&&jd(e,p,s),n.set(d,u)}l=e._dirtyLeaves,a=l.size,c=e._dirtyElements,m=c.size,yi++}e._dirtyLeaves=t,e._dirtyElements=n}function Dl(o){return Ol(o,j()._nodes)}function Ol(o,e){let t=o.type,n=e.get(t);n===void 0&&x(!1,'parseEditorState: type "%s" + not found',t);let r=n.klass;o.type!==r.getType()&&x(!1,"LexicalNode: Node %s does not implement .importJSON().",r.name);let i=r.importJSON(o),s=o.children;if(E(i)&&Array.isArray(s))for(let l=0;l<s.length;l++){let a=s[l],c=Ol(a,e);i.append(c)}return i}function ou(o,e,t){let n=wr(),r=ue,i=Ae,s=ge,l=e._dirtyElements,a=e._dirtyLeaves,c=e._cloneNotNeeded,m=e._dirtyType;e._dirtyElements=new Map,e._dirtyLeaves=new Set,e._cloneNotNeeded=new Set,e._dirtyType=0,ue=n,Ae=!1,ge=e;try{let f=e._nodes,d=o.root;Ol(d,f),t&&t(),n._readOnly=!0,__DEV__&&nu(n)}catch(f){f instanceof Error&&e._onError(f)}finally{e._dirtyElements=l,e._dirtyLeaves=a,e._cloneNotNeeded=c,e._dirtyType=m,ue=r,Ae=i,ge=s}return n}function Al(o,e,t){let n=ue,r=Ae,i=ge;ue=e,Ae=!0,ge=o;try{return t()}finally{ue=n,Ae=r,ge=i}}function nu(o){let e=o._nodeMap;e.set=()=>{throw new Error("Cannot call set() on a frozen Lexical node map")},e.clear=()=>{throw new Error("Cannot call clear() on a frozen Lexical node map")},e.delete=()=>{throw new Error("Cannot call delete() on a frozen Lexical node map")}}function Lt(o,e){let t=o._pendingEditorState,n=o._rootElement,r=o._headless||n===null;if(t===null)return;let i=o._editorState,s=i._selection,l=t._selection,a=o._dirtyType!==_t,c=ue,m=Ae,f=ge,d=o._updating,u=o._observer,p=null;if(o._pendingEditorState=null,o._editorState=t,!r&&a&&u!==null){ge=o,ue=t,Ae=!1,o._updating=!0;try{let O=o._dirtyType,R=o._dirtyElements,P=o._dirtyLeaves;u.disconnect(),p=xd(i,t,o,O,R,P)}catch(O){if(O instanceof Error&&o._onError(O),!vl)Rl(o,null,n,t),ni(o),o._dirtyType=zt,vl=!0,Lt(o,i),vl=!1;else throw O;return}finally{u.observe(n,Gd),o._updating=d,ue=c,Ae=m,ge=f}}t._readOnly||(t._readOnly=!0,__DEV__&&(nu(t),_(l)&&(Object.freeze(l.anchor),Object.freeze(l.focus)),Object.freeze(l)));let g=o._dirtyLeaves,h=o._dirtyElements,C=o._normalizedNodes,N=o._updateTags,L=o._deferred,M=t._nodeMap.size;a&&(o._dirtyType=_t,o._cloneNotNeeded.clear(),o._dirtyLeaves=new Set,o._dirtyElements=new Map,o._normalizedNodes=new Set,o._updateTags=new Set),ud(o,t);let S=r?null:be(o._window);if(o._editable&&S!==null&&(a||l===null||l.dirty)){ge=o,ue=t;try{if(u!==null&&u.disconnect(),a||l===null||l.dirty){let O=o._blockCursorElement;O!==null&&Er(O,o,n),Xd(s,l,o,S,N,n,M)}ad(o,n,l),u!==null&&u.observe(n,Gd)}finally{ge=f,ue=c}}p!==null&&CN(o,p,N,g,i),!_(l)&&l!==null&&(s===null||!s.is(l))&&o.dispatchCommand(we,void 0);let A=o._pendingDecorators;A!==null&&(o._decorators=A,o._pendingDecorators=null,wn("decorator",o,!0,A)),TN(o,e||i,t),wn("update",o,!0,{dirtyElements:h,dirtyLeaves:g,editorState:t,normalizedNodes:C,prevEditorState:e||i,tags:N}),bN(o,L),_N(o)}function TN(o,e,t){let n=Gs(e),r=Gs(t);n!==r&&wn("textcontent",o,!0,r)}function CN(o,e,t,n,r){let i=Array.from(o._listeners.mutation),s=i.length;for(let l=0;l<s;l++){let[a,c]=i[l],m=e.get(c);m!==void 0&&a(m,{dirtyLeaves:n,prevEditorState:r,updateTags:t})}}function wn(o,e,t,...n){let r=e._updating;e._updating=t;try{let i=Array.from(e._listeners[o]);for(let s=0;s<i.length;s++)i[s].apply(null,n)}finally{e._updating=r}}function il(o,e,t){if(o._updating===!1||ge!==o){let r=!1;return o.update(()=>{r=il(o,e,t)}),r}let n=hr(o);for(let r=4;r>=0;r--)for(let i=0;i<n.length;i++){let a=n[i]._commands.get(e);if(a!==void 0){let c=a[r];if(c!==void 0){let m=Array.from(c),f=m.length;for(let d=0;d<f;d++)if(m[d](t,o)===!0)return!0}}}return!1}function _N(o){let e=o._updates;if(e.length!==0){let t=e.shift();if(t){let[n,r]=t;ru(o,n,r)}}}function bN(o,e){if(o._deferred=[],e.length!==0){let t=o._updating;o._updating=!0;try{for(let n=0;n<e.length;n++)e[n]()}finally{o._updating=t}}}function Qd(o,e){let t=o._updates,n=e||!1;for(;t.length!==0;){let r=t.shift();if(r){let[i,s]=r,l,a;if(s!==void 0){if(l=s.onUpdate,a=s.tag,s.skipTransforms&&(n=!0),s.discrete){let c=o._pendingEditorState;x(c!==null,"Unexpected empty pending editor state on discrete nested update"),c._flushSync=!0}l&&o._deferred.push(l),a&&o._updateTags.add(a)}i()}}return n}function ru(o,e,t){let n=o._updateTags,r,i,s=!1,l=!1;t!==void 0&&(r=t.onUpdate,i=t.tag,i!=null&&n.add(i),s=t.skipTransforms||!1,l=t.discrete||!1),r&&o._deferred.push(r);let a=o._editorState,c=o._pendingEditorState,m=!1;(c===null||c._readOnly)&&(c=o._pendingEditorState=su(c||a),m=!0),c._flushSync=l;let f=ue,d=Ae,u=ge,p=o._updating;ue=c,Ae=!1,o._updating=!0,ge=o;try{m&&(o._headless?a._selection!==null&&(c._selection=a._selection.clone()):c._selection=Zd(o));let h=o._compositionKey;e(),s=Qd(o,s),Vd(c,o),o._dirtyType!==_t&&(s?xN(c,o):EN(c,o),Qd(o),md(a,c,o._dirtyLeaves,o._dirtyElements));let C=o._compositionKey;h!==C&&(c._flushSync=!0);let N=c._selection;if(_(N)){let L=c._nodeMap,M=N.anchor.key,S=N.focus.key;(L.get(M)===void 0||L.get(S)===void 0)&&x(!1,"updateEditor: selection has been lost because the previously selected nodes have been removed and selection wasn't moved to another node. Ensure selection changes after removing/replacing a selected node.")}else Se(N)&&N._nodes.size===0&&(c._selection=null)}catch(h){h instanceof Error&&o._onError(h),o._pendingEditorState=a,o._dirtyType=zt,o._cloneNotNeeded.clear(),o._dirtyLeaves=new Set,o._dirtyElements.clear(),Lt(o);return}finally{ue=f,Ae=d,ge=u,o._updating=p,yi=0}o._dirtyType!==_t||iu(c,o)?c._flushSync?(c._flushSync=!1,Lt(o)):m&&bc(()=>{Lt(o)}):(c._flushSync=!1,m&&(n.clear(),o._deferred=[],o._pendingEditorState=null))}function xe(o,e,t){o._updating?o._updates.push([e,t]):ru(o,e,t)}var Z=class extends yt{constructor(e){super(e),this.__first=null,this.__last=null,this.__size=0,this.__style="",this.__dir=null}afterCloneFrom(e){super.afterCloneFrom(e),this.__first=e.__first,this.__last=e.__last,this.__size=e.__size,this.__style=e.__style,this.__dir=e.__dir}getStyle(){return this.getLatest().__style}getChildren(){let e=[],t=this.getFirstChild();for(;t!==null;)e.push(t),t=t.getNextSibling();return e}getChildrenKeys(){let e=[],t=this.getFirstChild();for(;t!==null;)e.push(t.__key),t=t.getNextSibling();return e}getChildrenSize(){return this.getLatest().__size}isEmpty(){return this.getChildrenSize()===0}isDirty(){let t=j()._dirtyElements;return t!==null&&t.has(this.__key)}isLastChild(){let e=this.getLatest(),t=this.getParentOrThrow().getLastChild();return t!==null&&t.is(e)}getAllTextNodes(){let e=[],t=this.getFirstChild();for(;t!==null;){if(y(t)&&e.push(t),E(t)){let n=t.getAllTextNodes();e.push(...n)}t=t.getNextSibling()}return e}getFirstDescendant(){let e=this.getFirstChild();for(;E(e);){let t=e.getFirstChild();if(t===null)break;e=t}return e}getLastDescendant(){let e=this.getLastChild();for(;E(e);){let t=e.getLastChild();if(t===null)break;e=t}return e}getDescendantByIndex(e){let t=this.getChildren(),n=t.length;if(e>=n){let i=t[n-1];return E(i)&&i.getLastDescendant()||i||null}let r=t[e];return E(r)&&r.getFirstDescendant()||r||null}getFirstChild(){let t=this.getLatest().__first;return t===null?null:J(t)}getFirstChildOrThrow(){let e=this.getFirstChild();return e===null&&x(!1,"Expected node %s to have a first child.",this.__key),e}getLastChild(){let t=this.getLatest().__last;return t===null?null:J(t)}getLastChildOrThrow(){let e=this.getLastChild();return e===null&&x(!1,"Expected node %s to have a last child.",this.__key),e}getChildAtIndex(e){let t=this.getChildrenSize(),n,r;if(e<t/2){for(n=this.getFirstChild(),r=0;n!==null&&r<=e;){if(r===e)return n;n=n.getNextSibling(),r++}return null}for(n=this.getLastChild(),r=t-1;n!==null&&r>=e;){if(r===e)return n;n=n.getPreviousSibling(),r--}return null}getTextContent(){let e="",t=this.getChildren(),n=t.length;for(let r=0;r<n;r++){let i=t[r];e+=i.getTextContent(),E(i)&&r!==n-1&&!i.isInline()&&(e+=Ve)}return e}getTextContentSize(){let e=0,t=this.getChildren(),n=t.length;for(let r=0;r<n;r++){let i=t[r];e+=i.getTextContentSize(),E(i)&&r!==n-1&&!i.isInline()&&(e+=Ve.length)}return e}getDirection(){return this.getLatest().__dir}select(e,t){ce();let n=T(),r=e,i=t,s=this.getChildrenSize();if(!this.canBeEmpty()){if(e===0&&t===0){let a=this.getFirstChild();if(y(a)||E(a))return a.select(0,0)}else if((e===void 0||e===s)&&(t===void 0||t===s)){let a=this.getLastChild();if(y(a)||E(a))return a.select()}}r===void 0&&(r=s),i===void 0&&(i=s);let l=this.__key;if(_(n))n.anchor.set(l,r,"element"),n.focus.set(l,i,"element"),n.dirty=!0;else return _i(l,r,l,i,"element","element");return n}selectStart(){let e=this.getFirstDescendant();return e?e.selectStart():this.select()}selectEnd(){let e=this.getLastDescendant();return e?e.selectEnd():this.select()}clear(){let e=this.getWritable();return this.getChildren().forEach(n=>n.remove()),e}append(...e){return this.splice(this.getChildrenSize(),0,e)}setDirection(e){let t=this.getWritable();return t.__dir=e,t}setStyle(e){let t=this.getWritable();return t.__style=e||"",this}splice(e,t,n){let r=n.length,i=this.getChildrenSize(),s=this.getWritable(),l=s.__key,a=[],c=[],m=this.getChildAtIndex(e+t),f=null,d=i-t+r;if(e!==0)if(e===i)f=this.getLastChild();else{let p=this.getChildAtIndex(e);p!==null&&(f=p.getPreviousSibling())}if(t>0){let p=f===null?this.getFirstChild():f.getNextSibling();for(let g=0;g<t;g++){p===null&&x(!1,"splice: sibling not found");let h=p.getNextSibling(),C=p.__key,N=p.getWritable();qt(N),c.push(C),p=h}}let u=f;for(let p=0;p<r;p++){let g=n[p];u!==null&&g.is(u)&&(f=u=u.getPreviousSibling());let h=g.getWritable();h.__parent===l&&d--,qt(h);let C=g.__key;if(u===null)s.__first=C,h.__prev=null;else{let N=u.getWritable();N.__next=C,h.__prev=N.__key}g.__key===l&&x(!1,"append: attempting to append self"),h.__parent=l,a.push(C),u=g}if(e+t===i){if(u!==null){let p=u.getWritable();p.__next=null,s.__last=u.__key}}else if(m!==null){let p=m.getWritable();if(u!==null){let g=u.getWritable();p.__prev=u.__key,g.__next=m.__key}else p.__prev=null}if(s.__size=d,c.length){let p=T();if(_(p)){let g=new Set(c),h=new Set(a),{anchor:C,focus:N}=p;lu(C,g,h)&&Mn(C,C.getNode(),this,f,m),lu(N,g,h)&&Mn(N,N.getNode(),this,f,m),d===0&&!this.canBeEmpty()&&!me(this)&&this.remove()}}return s}exportJSON(){return{children:[],direction:this.getDirection(),type:"element",version:1}}insertNewAfter(e,t){return null}canIndent(){return!0}collapseAtStart(e){return!1}excludeFromCopy(e){return!1}canReplaceWith(e){return!0}canInsertAfter(e){return!0}canBeEmpty(){return!0}canInsertTextBefore(){return!0}canInsertTextAfter(){return!0}isInline(){return!1}isShadowRoot(){return!1}canMergeWith(e){return!1}extractWithChild(e,t,n){return!1}canMergeWhenEmpty(){return!1}};function E(o){return o instanceof Z}function lu(o,e,t){let n=o.getNode();for(;n;){let r=n.__key;if(e.has(r)&&!t.has(r))return!0;n=n.getParent()}return!1}var Mt=class extends yt{constructor(e){super(e)}decorate(e,t){x(!1,"decorate: base method not extended")}isIsolated(){return!1}isInline(){return!0}isKeyboardSelectable(){return!0}};function B(o){return o instanceof Mt}var zo=class o extends Z{static getType(){return"root"}static clone(){return new o}constructor(){super("root"),this.__cachedText=null}getTopLevelElementOrThrow(){x(!1,"getTopLevelElementOrThrow: root nodes are not top level elements")}getTextContent(){let e=this.__cachedText;return(st()||j()._dirtyType===_t)&&e!==null?e:super.getTextContent()}remove(){x(!1,"remove: cannot be called on root nodes")}replace(e){x(!1,"replace: cannot be called on root nodes")}insertBefore(e){x(!1,"insertBefore: cannot be called on root nodes")}insertAfter(e){x(!1,"insertAfter: cannot be called on root nodes")}updateDOM(e,t){return!1}append(...e){for(let t=0;t<e.length;t++){let n=e[t];!E(n)&&!B(n)&&x(!1,"rootNode.append: Only element or decorator nodes can be appended to the root node")}return super.append(...e)}static importJSON(e){let t=F();return t.setDirection(e.direction),t}exportJSON(){return{children:[],direction:this.getDirection(),type:"root",version:1}}collapseAtStart(){return!0}};function au(){return new zo}function oe(o){return o instanceof zo}function iu(o,e){let t=e.getEditorState()._selection,n=o._selection;if(n!==null){if(n.dirty||!n.is(t))return!0}else if(t!==null)return!0;return!1}function su(o){return new Si(new Map(o._nodeMap))}function wr(){return new Si(new Map([["root",au()]]))}function cu(o){let e=o.exportJSON(),t=o.constructor;if(e.type!==t.getType()&&x(!1,"LexicalNode: Node %s does not match the serialized type. Check if .exportJSON() is implemented and it is returning the correct type.",t.name),E(o)){let n=e.children;Array.isArray(n)||x(!1,"LexicalNode: Node %s is an element but .exportJSON() does not have a children array.",t.name);let r=o.getChildren();for(let i=0;i<r.length;i++){let s=r[i],l=cu(s);n.push(l)}}return e}var Si=class o{constructor(e,t){this._nodeMap=e,this._selection=t||null,this._flushSync=!1,this._readOnly=!1}isEmpty(){return this._nodeMap.size===1&&this._selection===null}read(e,t){return Al(t&&t.editor||null,this,e)}clone(e){let t=new o(this._nodeMap,e===void 0?this._selection:e);return t._readOnly=!0,t}toJSON(){return Al(null,this,()=>({root:cu(F())}))}};var To=class extends Z{static getType(){return"artificial"}createDOM(e){return document.createElement("div")}};function b(o,e={},t=[]){let n=document.createElement(o),r=Object.keys(e);for(let i of r)e[i]!==null&&n.setAttribute(i,e[i]);for(let i of t)typeof i=="string"?n.append(document.createTextNode(i)):n.append(i);return n}function du(o){return new DOMParser().parseFromString(o,"text/html")}function ft(o,e="px"){return typeof o=="number"||/^-?\d+$/.test(o)?`${o}${e}`:o}function Wo(o){return/^-?\d+$/.test(o)?Number(o):/^-?\d+\.\d+$/.test(o)?Math.round(Number(o)):/^-?\d+px\s*$/.test(o)?Number(o.trim().replace("px","")):0}function vn(o){let e=new Map,n=(o.getAttribute("style")||"").split(";");for(let r of n){let[i,s]=r.split(":");!i||!s||e.set(i.trim().toLowerCase(),s.trim())}return e}function uu(o,e,t){t?o.setAttribute(e,t):o.removeAttribute(e)}var yN=["left","right","center","justify"];function vr(o){let e=o.style.textAlign||"";return yN.includes(e)?e:o.classList.contains("align-left")?"left":o.classList.contains("align-right")?"right":o.classList.contains("align-center")?"center":o.classList.contains("align-justify")?"justify":""}function SN(o){let e=o.style.paddingLeft||"0";return Wo(e)}function Dr(o){let e=(o.dir||"").toLowerCase();return e==="rtl"||e==="ltr"?e:null}function Qe(o,e){o.id&&e.setId(o.id),e.setAlignment(vr(o)),e.setInset(SN(o)),e.setDirection(Dr(o))}function wt(o,e){return o.__id!==e.__id||o.__alignment!==e.__alignment||o.__inset!==e.__inset||o.__dir!==e.__dir}function et(o,e){e.__id&&o.setAttribute("id",e.__id),e.__alignment&&o.classList.add("align-"+e.__alignment),e.__inset&&(o.style.paddingLeft=`${e.__inset}px`),e.__dir&&(o.dir=e.__dir)}function tt(o,e){e.setId(o.id),e.setAlignment(o.alignment),e.setInset(o.inset),e.setDirection(o.direction)}var vt=class extends Z{constructor(){super(...arguments);this.__id="";this.__alignment="";this.__inset=0}setId(t){let n=this.getWritable();n.__id=t}getId(){return this.getLatest().__id}setAlignment(t){let n=this.getWritable();n.__alignment=t}getAlignment(){return this.getLatest().__alignment}setInset(t){let n=this.getWritable();n.__inset=t}getInset(){return this.getLatest().__inset}exportJSON(){return{...super.exportJSON(),id:this.__id,alignment:this.__alignment,inset:this.__inset}}};function Co(o,e){e.__alignment=o.__alignment,e.__inset=o.__inset}var dt=class o extends vt{constructor(e){super(e),this.__textStyle=""}static getType(){return"paragraph"}getTextStyle(){return this.getLatest().__textStyle}setTextStyle(e){let t=this.getWritable();return t.__textStyle=e,t}static clone(e){return new o(e.__key)}afterCloneFrom(e){super.afterCloneFrom(e),this.__textStyle=e.__textStyle,Co(e,this)}createDOM(e){let t=document.createElement("p"),n=mo(e.theme,"paragraph");return n!==void 0&&t.classList.add(...n),et(t,this),t}updateDOM(e,t,n){return wt(e,this)}static importDOM(){return{p:e=>({conversion:LN,priority:0})}}exportDOM(e){let{element:t}=super.exportDOM(e);return t&&pe(t)&&this.isEmpty()&&t.append(document.createElement("br")),{element:t}}static importJSON(e){let t=I();return tt(e,t),t}exportJSON(){return{...super.exportJSON(),textStyle:this.getTextStyle(),type:"paragraph",version:1}}insertNewAfter(e,t){let n=I();n.setTextStyle(e.style);let r=this.getDirection();return n.setDirection(r),n.setStyle(this.getTextStyle()),this.insertAfter(n,t),n}collapseAtStart(){let e=this.getChildren();if(e.length===0||y(e[0])&&e[0].getTextContent().trim()===""){if(this.getNextSibling()!==null)return this.selectNext(),this.remove(),!0;if(this.getPreviousSibling()!==null)return this.selectPrevious(),this.remove(),!0}return!1}};function LN(o){let e=I();return Qe(o,e),{node:e}}function I(){return ne(new dt)}function ct(o){return o instanceof dt}var MN=!0,X=0,Dt=1,Li=2,qe=3,Re=4;function Rl(o,e,t,n){let r=o._keyToDOMMap;r.clear(),o._editorState=wr(),o._pendingEditorState=n,o._compositionKey=null,o._dirtyType=_t,o._cloneNotNeeded.clear(),o._dirtyLeaves=new Set,o._dirtyElements.clear(),o._normalizedNodes=new Set,o._updateTags=new Set,o._updates=[],o._blockCursorElement=null;let i=o._observer;i!==null&&(i.disconnect(),o._observer=null),e!==null&&(e.textContent=""),t!==null&&(t.textContent="",r.set("root",t))}function wN(o,e){let t=new Map,n=new Set,r=i=>{Object.keys(i).forEach(s=>{let l=t.get(s);l===void 0&&(l=[],t.set(s,l)),l.push(i[s])})};return o.forEach(i=>{let s=i.klass.importDOM;if(s==null||n.has(s))return;n.add(s);let l=s.call(i.klass);l!==null&&r(l)}),e&&r(e),t}function kl(o){let e=o||{},t=tu(),n=e.theme||{},r=o===void 0?t:e.parentEditor||null,i=e.disableEvents||!1,s=wr(),l=e.namespace||(r!==null?r._config.namespace:Js()),a=e.editorState,c=[zo,Je,Bo,Fo,dt,To,...e.nodes||[]],{onError:m,html:f}=e,d=e.editable!==void 0?e.editable:!0,u;if(o===void 0&&t!==null)u=t._nodes;else{u=new Map;for(let g=0;g<c.length;g++){let h=c[g],C=null,N=null;if(typeof h!="function"){let A=h;h=A.replace,C=A.with,N=A.withKlass||null}if(__DEV__){let A=Object.prototype.hasOwnProperty.call(h,"getType")&&h.getType(),O=h.name;if(N&&x(N.prototype instanceof h,"%s doesn't extend the %s",N.name,O),O!=="RootNode"&&A!=="root"&&A!=="artificial"){let R=h.prototype;["getType","clone"].forEach(P=>{h.hasOwnProperty(P)||console.warn(`${O} must implement static "${P}" method`)}),!h.hasOwnProperty("importDOM")&&h.hasOwnProperty("exportDOM")&&console.warn(`${O} should implement "importDOM" if using a custom "exportDOM" method to ensure HTML serialization (important for copy & paste) works as expected`),R instanceof Mt&&(R.hasOwnProperty("decorate")||console.warn(`${R.constructor.name} must implement "decorate" method`)),h.hasOwnProperty("importJSON")||console.warn(`${O} should implement "importJSON" method to ensure JSON and default HTML serialization works as expected`),R.hasOwnProperty("exportJSON")||console.warn(`${O} should implement "exportJSON" method to ensure JSON and default HTML serialization works as expected`)}}let L=h.getType(),M=h.transform(),S=new Set;M!==null&&S.add(M),u.set(L,{exportDOM:f&&f.export?f.export.get(h):void 0,klass:h,replace:C,replaceWithKlass:N,transforms:S})}}let p=new go(s,r,u,{disableEvents:i,namespace:l,theme:n},m||console.error,wN(u,f?f.import:void 0),d);return a!==void 0&&(p._pendingEditorState=a,p._dirtyType=zt),p}var go=class{constructor(e,t,n,r,i,s,l){this._parentEditor=t,this._rootElement=null,this._editorState=e,this._pendingEditorState=null,this._compositionKey=null,this._deferred=[],this._keyToDOMMap=new Map,this._updates=[],this._updating=!1,this._listeners={decorator:new Set,editable:new Set,mutation:new Map,root:new Set,textcontent:new Set,update:new Set},this._commands=new Map,this._config=r,this._nodes=n,this._decorators={},this._pendingDecorators=null,this._dirtyType=_t,this._cloneNotNeeded=new Set,this._dirtyLeaves=new Set,this._dirtyElements=new Map,this._normalizedNodes=new Set,this._updateTags=new Set,this._observer=null,this._key=Js(),this._onError=i,this._htmlConversions=s,this._editable=l,this._headless=t!==null&&t._headless,this._window=null,this._blockCursorElement=null}isComposing(){return this._compositionKey!=null}registerUpdateListener(e){let t=this._listeners.update;return t.add(e),()=>{t.delete(e)}}registerEditableListener(e){let t=this._listeners.editable;return t.add(e),()=>{t.delete(e)}}registerDecoratorListener(e){let t=this._listeners.decorator;return t.add(e),()=>{t.delete(e)}}registerTextContentListener(e){let t=this._listeners.textcontent;return t.add(e),()=>{t.delete(e)}}registerRootListener(e){let t=this._listeners.root;return e(this._rootElement,null),t.add(e),()=>{e(null,this._rootElement),t.delete(e)}}registerCommand(e,t,n){n===void 0&&x(!1,'Listener for type "command" requires a "priority".');let r=this._commands;r.has(e)||r.set(e,[new Set,new Set,new Set,new Set,new Set]);let i=r.get(e);i===void 0&&x(!1,"registerCommand: Command %s not found in command map",String(e));let s=i[n];return s.add(t),()=>{s.delete(t),i.every(l=>l.size===0)&&r.delete(e)}}registerMutationListener(e,t,n){let r=this.resolveRegisteredNodeAfterReplacements(this.getRegisteredNode(e)).klass,i=this._listeners.mutation;i.set(t,r);let s=n&&n.skipInitialization;return(s===void 0?MN:s)||this.initializeMutationListener(t,r),()=>{i.delete(t)}}getRegisteredNode(e){let t=this._nodes.get(e.getType());return t===void 0&&x(!1,"Node %s has not been registered. Ensure node has been passed to createEditor.",e.name),t}resolveRegisteredNodeAfterReplacements(e){for(;e.replaceWithKlass;)e=this.getRegisteredNode(e.replaceWithKlass);return e}initializeMutationListener(e,t){let n=this._editorState,r=cd(n).get(t.getType());if(!r)return;let i=new Map;for(let s of r.keys())i.set(s,"created");i.size>0&&e(i,{dirtyLeaves:new Set,prevEditorState:n,updateTags:new Set(["registerMutationListener"])})}registerNodeTransformToKlass(e,t){let n=this.getRegisteredNode(e);return n.transforms.add(t),n}registerNodeTransform(e,t){let n=this.registerNodeTransformToKlass(e,t),r=[n],i=n.replaceWithKlass;if(i!=null){let s=this.registerNodeTransformToKlass(i,t);r.push(s)}return Mc(this,e.getType()),()=>{r.forEach(s=>s.transforms.delete(t))}}hasNode(e){return this._nodes.has(e.getType())}hasNodes(e){return e.every(this.hasNode.bind(this))}dispatchCommand(e,t){return D(this,e,t)}getDecorators(){return this._decorators}getRootElement(){return this._rootElement}getKey(){return this._key}setRootElement(e){let t=this._rootElement;if(e!==t){let n=mo(this._config.theme,"root"),r=this._pendingEditorState||this._editorState;if(this._rootElement=e,Rl(this,t,e,r),t!==null&&(this._config.disableEvents||Od(t),n!=null&&t.classList.remove(...n)),e!==null){let i=ld(e),s=e.style;s.userSelect="text",s.whiteSpace="pre-wrap",s.wordBreak="break-word",e.setAttribute("data-lexical-editor","true"),this._window=i,this._dirtyType=zt,ni(this),this._updateTags.add("history-merge"),Lt(this),this._config.disableEvents||Dd(e,this),n!=null&&e.classList.add(...n)}else this._editorState=r,this._pendingEditorState=null,this._window=null;wn("root",this,!1,e,t)}}getElementByKey(e){return this._keyToDOMMap.get(e)||null}getEditorState(){return this._editorState}setEditorState(e,t){e.isEmpty()&&x(!1,"setEditorState: the editor state is empty. Ensure the editor state's root node never becomes empty."),oi(this);let n=this._pendingEditorState,r=this._updateTags,i=t!==void 0?t.tag:null;n!==null&&!n.isEmpty()&&(i!=null&&r.add(i),Lt(this)),this._pendingEditorState=e,this._dirtyType=zt,this._dirtyElements.set("root",!1),this._compositionKey=null,i!=null&&r.add(i),Lt(this)}parseEditorState(e,t){let n=typeof e=="string"?JSON.parse(e):e;return ou(n,this,t)}read(e){return Lt(this),this.getEditorState().read(e,{editor:this})}update(e,t){xe(this,e,t)}updateAndCommit(e,t){this.update(e,t),this.commitUpdates()}focus(e,t={}){let n=this._rootElement;n!==null&&(n.setAttribute("autocapitalize","off"),xe(this,()=>{let r=T(),i=F();r!==null?r.dirty=!0:i.getChildrenSize()!==0&&(t.defaultSelection==="rootStart"?i.selectStart():i.selectEnd())},{onUpdate:()=>{n.removeAttribute("autocapitalize"),e&&e()},tag:"focus"}),this._pendingEditorState===null&&n.removeAttribute("autocapitalize"))}commitUpdates(){Lt(this)}blur(){let e=this._rootElement;e!==null&&e.blur();let t=be(this._window);t!==null&&t.removeAllRanges()}isEditable(){return this._editable}setEditable(e){this._editable!==e&&(this._editable=e,wn("editable",this,!0,e))}toJSON(){return{editorState:this._editorState.toJSON()}}};go.version="0.17.1";function Gt(...o){return()=>{for(let e=o.length-1;e>=0;e--)o[e]();o.length=0}}var Dn=new Map;function Il(o){let e={},t=o.split(";");for(let n of t)if(n!==""){let[r,i]=n.split(/:([^]+)/);r&&i&&(e[r.trim()]=i.trim())}return e}function On(o){let e=Dn.get(o);return e===void 0&&(e=Il(o),Dn.set(o,e)),__DEV__&&Object.freeze(e),e}function mu(o){let e="";for(let t in o)t&&(e+=`${t}: ${o[t]};`);return e}function Or(o,e){let t=o.getStartEndPoints();if(e.isSelected(o)&&!e.isSegmented()&&!e.isToken()&&t!==null){let[n,r]=t,i=o.isBackward(),s=n.getNode(),l=r.getNode(),a=e.is(s),c=e.is(l);if(a||c){let[m,f]=Mr(o),d=s.is(l),u=e.is(i?l:s),p=e.is(i?s:l),g=0,h;if(d)g=m>f?f:m,h=m>f?m:f;else if(u)g=i?f:m,h=void 0;else if(p){let C=i?m:f;g=0,h=C}return e.__text=e.__text.slice(g,h),e}}return e}function $l(o){let e=o.getStyle(),t=Il(e);Dn.set(e,t)}function An(o,e){let t=On("getStyle"in o?o.getStyle():o.style),n=Object.entries(e).reduce((i,[s,l])=>(typeof l=="function"?i[s]=l(t[s],o):l===null?delete i[s]:i[s]=l,i),{...t}),r=mu(n);o.setStyle(r),Dn.set(r,n)}function Pl(o,e){let t=o.getNodes(),n=t.length,r=o.getStartEndPoints();if(r===null)return;let[i,s]=r,l=n-1,a=t[0],c=t[l];if(o.isCollapsed()&&_(o)){An(o,e);return}let f=a.getTextContent().length,d=s.offset,u=i.offset,p=i.isBefore(s),g=p?u:d,h=p?d:u,C=p?i.type:s.type,N=p?s.type:i.type,L=p?s.key:i.key;if(y(a)&&g===f){let M=a.getNextSibling();y(M)&&(u=0,g=0,a=M)}if(t.length===1){if(y(a)&&a.canHaveFormat()){if(g=C==="element"?0:u>d?d:u,h=N==="element"?f:u>d?u:d,g===h)return;if(ze(a)||g===0&&h===f)An(a,e),a.select(g,h);else{let M=a.splitText(g,h),S=g===0?M[0]:M[1];An(S,e),S.select(0,h-g)}}}else{if(y(a)&&g<a.getTextContentSize()&&a.canHaveFormat()&&(g!==0&&!ze(a)&&(a=a.splitText(g)[1],g=0,p?i.set(a.getKey(),g,"text"):s.set(a.getKey(),g,"text")),An(a,e)),y(c)&&c.canHaveFormat()){let S=c.getTextContent().length;c.__key!==L&&h!==0&&(h=S),h!==S&&!ze(c)&&([c]=c.splitText(h)),(h!==0||N==="element")&&An(c,e)}for(let M=1;M<l;M++){let S=t[M],A=S.getKey();y(S)&&S.canHaveFormat()&&A!==a.getKey()&&A!==c.getKey()&&!S.isToken()&&An(S,e)}}}function Mi(o,e){if(o===null)return;let t=o.getStartEndPoints(),n=t?t[0]:null;if(n!==null&&n.key==="root"){let s=e(),l=F(),a=l.getFirstChild();a?a.replace(s,!0):l.append(s);return}let r=o.getNodes(),i=n!==null?DN(n.getNode(),pu):!1;i&&r.indexOf(i)===-1&&r.push(i);for(let s=0;s<r.length;s++){let l=r[s];if(!pu(l))continue;x(E(l),"Expected block node to be an ElementNode");let a=e();l.replace(a,!0)}}function wi(o,e){let t=Yt(o.focus,e);return B(t)&&!t.isIsolated()||E(t)&&!t.isInline()&&!t.canBeEmpty()}function gu(o,e,t,n){o.modify(e?"extend":"move",t,n)}function hu(o){let e=o.anchor.getNode();return(oe(e)?e:e.getParentOrThrow()).getDirection()==="rtl"}function vi(o,e,t){let n=hu(o);gu(o,e,t?!n:n,"character")}function vN(o,e,t){let n=o.getStyle(),r=On(n);return r!==null&&r[e]||t}function Bl(o,e,t=""){let n=null,r=o.getNodes(),i=o.anchor,s=o.focus,l=o.isBackward(),a=l?s.offset:i.offset,c=l?s.getNode():i.getNode();if(_(o)&&o.isCollapsed()&&o.style!==""){let m=o.style,f=On(m);if(f!==null&&e in f)return f[e]}for(let m=0;m<r.length;m++){let f=r[m];if(!(m!==0&&a===0&&f.is(c))&&y(f)){let d=vN(f,e,t);if(n===null)n=d;else if(n!==d){n="";break}}}return n===null?t:n}function pu(o){if(B(o)||!E(o)||me(o))return!1;let e=o.getFirstChild(),t=e===null||ve(e)||y(e)||e.isInline();return!o.isInline()&&o.canBeEmpty()!==!1&&t}function DN(o,e){let t=o;for(;t!==null&&t.getParent()!==null&&!e(t);)t=t.getParentOrThrow();return e(t)?t:null}function Te(o,...e){let t=bt(...e);t.length>0&&o.classList.add(...t)}function Di(o,...e){let t=bt(...e);t.length>0&&o.classList.remove(...t)}function Nu(o,e){let t=o;for(;t!=null;){if(t instanceof e)return t;t=t.getParent()}return null}function xu(o){let e=H(o,t=>E(t)&&!t.isInline());return E(e)||x(!1,"Expected node %s to have closest block element node.",o.__key),e}var H=(o,e)=>{let t=o;for(;t!==F()&&t!=null;){if(e(t))return t;t=t.getParent()}return null};function mt(o,e){return o!==null?Object.getPrototypeOf(o).constructor.name===e.name:!1}var Oi=0,Fl=1,Hl=2,pt=0,kN=1,Eu=2,IN=3,$N=4;function PN(o,e,t){let n=o._nodeMap,r=[];for(let i of e){let s=n.get(i);s!==void 0&&r.push(s)}for(let[i,s]of t){if(!s)continue;let l=n.get(i);l!==void 0&&!oe(l)&&r.push(l)}return r}function BN(o,e,t,n,r){if(o===null||t.size===0&&n.size===0&&!r)return pt;let i=e._selection,s=o._selection;if(r)return kN;if(!_(i)||!_(s)||!s.isCollapsed()||!i.isCollapsed())return pt;let l=PN(e,t,n);if(l.length===0)return pt;if(l.length>1){let C=e._nodeMap,N=C.get(i.anchor.key),L=C.get(s.anchor.key);return N&&L&&!o._nodeMap.has(N.__key)&&y(N)&&N.__text.length===1&&i.anchor.offset===1?Eu:pt}let a=l[0],c=o._nodeMap.get(a.__key);if(!y(c)||!y(a)||c.__mode!==a.__mode)return pt;let m=c.__text,f=a.__text;if(m===f)return pt;let d=i.anchor,u=s.anchor;if(d.key!==u.key||d.type!=="text")return pt;let p=d.offset,g=u.offset,h=f.length-m.length;return h===1&&g===p-1?Eu:h===-1&&g===p+1?IN:h===-1&&g===p?$N:pt}function FN(o,e,t){let n=e._nodeMap.get(o),r=t._nodeMap.get(o),i=e._selection,s=t._selection;return!(_(i)&&_(s)&&i.anchor.type==="element"&&i.focus.type==="element"&&s.anchor.type==="text"&&s.focus.type==="text")&&y(n)&&y(r)&&n.__parent===r.__parent?JSON.stringify(e.read(()=>n.exportJSON()))===JSON.stringify(t.read(()=>r.exportJSON())):!1}function HN(o,e){let t=Date.now(),n=pt;return(r,i,s,l,a,c)=>{let m=Date.now();if(c.has("historic"))return n=pt,t=m,Hl;let f=BN(r,i,l,a,o.isComposing()),d=(()=>{let u=s===null||s.editor===o,p=c.has("history-push");if(!p&&u&&c.has("history-merge"))return Oi;if(r===null)return Fl;let h=i._selection;if(!(l.size>0||a.size>0))return h!==null?Oi:Hl;if(p===!1&&f!==pt&&f===n&&m<t+e&&u)return Oi;if(l.size===1){let N=Array.from(l)[0];if(FN(N,r,i))return Oi}return Fl})();return t=m,n=f,d}}function KN(o,e){let t=e.redoStack,n=e.undoStack;if(t.length!==0){let r=e.current;r!==null&&(n.push(r),o.dispatchCommand(co,!0));let i=t.pop();t.length===0&&o.dispatchCommand(ao,!1),e.current=i||null,i&&i.editor.setEditorState(i.editorState,{tag:"historic"})}}function UN(o,e){let t=e.redoStack,n=e.undoStack;if(n.length!==0){let i=e.current,s=n.pop();i!==null&&(t.push(i),o.dispatchCommand(ao,!0)),n.length===0&&o.dispatchCommand(co,!1),e.current=s||null,s&&s.editor.setEditorState(s.editorState,{tag:"historic"})}}function Tu(o){o.undoStack=[],o.redoStack=[],o.current=null}function Cu(o,e,t){let n=HN(o,t),r=({editorState:s,prevEditorState:l,dirtyLeaves:a,dirtyElements:c,tags:m})=>{let f=e.current,d=e.redoStack,u=e.undoStack,p=f===null?null:f.editorState;if(f!==null&&s===p)return;let g=n(l,s,f,a,c,m);if(g===Fl)d.length!==0&&(e.redoStack=[],o.dispatchCommand(ao,!1)),f!==null&&(u.push({...f}),o.dispatchCommand(co,!0));else if(g===Hl)return;e.current={editor:o,editorState:s}};return Gt(o.registerCommand(ro,()=>(UN(o,e),!0),X),o.registerCommand(io,()=>(KN(o,e),!0),X),o.registerCommand(Is,()=>(Tu(e),!1),X),o.registerCommand($s,()=>(Tu(e),o.dispatchCommand(ao,!1),o.dispatchCommand(co,!1),!0),X),o.registerUpdateListener(r))}function _u(){return{current:null,redoStack:[],undoStack:[]}}function Ai(o,e){let t=e.body?e.body.childNodes:[],n=[],r=[];for(let i=0;i<t.length;i++){let s=t[i];if(!Su.has(s.nodeName)){let l=Lu(s,o,r,!1);l!==null&&(n=n.concat(l))}}return WN(r),n}function Ri(o,e){if(typeof document>"u"||typeof window>"u"&&typeof global.window>"u")throw new Error("To use $generateHtmlFromNodes in headless mode please initialize a headless browser implementation such as JSDom before calling this function.");let t=document.createElement("div"),r=F().getChildren();for(let i=0;i<r.length;i++){let s=r[i];yu(o,s,t,e)}return t.innerHTML}function yu(o,e,t,n=null){let r=n!==null?e.isSelected(n):!0,i=E(e)&&e.excludeFromCopy("html"),s=e;if(n!==null){let u=Zt(e);u=y(u)&&n!==null?Or(n,u):u,s=u}let l=E(s)?s.getChildren():[],a=o._nodes.get(s.getType()),c;a&&a.exportDOM!==void 0?c=a.exportDOM(o,s):c=s.exportDOM(o);let{element:m,after:f}=c;if(!m)return!1;let d=document.createDocumentFragment();for(let u=0;u<l.length;u++){let p=l[u],g=yu(o,p,d,n);!r&&E(e)&&g&&e.extractWithChild(p,n,"html")&&(r=!0)}if(r&&!i){if(pe(m)&&m.append(d),t.append(m),f){let u=f.call(s,m);u&&m.replaceWith(u)}}else t.append(d);return r}function zN(o,e){let{nodeName:t}=o,n=e._htmlConversions.get(t.toLowerCase()),r=null;if(n!==void 0)for(let i of n){let s=i(o);s!==null&&(r===null||(r.priority||0)<(s.priority||0))&&(r=s)}return r!==null?r.conversion:null}var Su=new Set(["STYLE","SCRIPT"]);function Lu(o,e,t,n,r=new Map,i){let s=[];if(Su.has(o.nodeName))return s;let l=null,a=zN(o,e),c=a?a(o):null,m=null;if(c!==null){m=c.after;let p=c.node;if(p==="ignore")return s;if(l=Array.isArray(p)?p[p.length-1]:p,l!==null){for(let[,g]of r)if(l=g(l,i),!l)break;l&&s.push(...Array.isArray(p)?p:[l])}c.forChild!=null&&r.set(o.nodeName,c.forChild)}let f=o.childNodes,d=[],u=l!=null&&me(l)?!1:l!=null&&Ko(l)||n;for(let p=0;p<f.length;p++)d.push(...Lu(f[p],e,t,u,new Map(r),l));return m!=null&&(d=m(d)),po(o)&&(u?d=bu(o,d,()=>{let p=new To;return t.push(p),p}):d=bu(o,d,I)),l==null?d.length>0?s=s.concat(d):po(o)&&qN(o)&&(s=s.concat(ut())):E(l)&&l.append(...d),s}function bu(o,e,t){let n=[],r=[];for(let i=0;i<e.length;i++){let s=e[i];if(Ko(s))n.push(s);else if(r.push(s),i===e.length-1||i<e.length-1&&Ko(e[i+1])){let l=t();l.append(...r),n.push(l),r=[]}}return n}function WN(o){for(let e of o)e.getNextSibling()instanceof To&&e.insertAfter(ut());for(let e of o){let t=e.getChildren();for(let n of t)e.insertBefore(n);e.remove()}}function qN(o){return o.nextSibling==null||o.previousSibling==null?!1:Io(o.nextSibling)&&Io(o.previousSibling)}var wu=o=>fe?(o||window).getSelection():null;function vu(o,e=T()){return e==null&&x(!1,"Expected valid LexicalSelection"),_(e)&&e.isCollapsed()||e.getNodes().length===0?"":Ri(o,e)}function Du(o,e=T()){return e==null&&x(!1,"Expected valid LexicalSelection"),_(e)&&e.isCollapsed()||e.getNodes().length===0?null:JSON.stringify(Au(o,e))}function ki(o,e,t){let n=o.getData("application/x-lexical-editor");if(n)try{let s=JSON.parse(n);if(s.namespace===t._config.namespace&&Array.isArray(s.nodes)){let l=Ru(s.nodes);return Kl(t,l,e)}}catch{}let r=o.getData("text/html");if(r)try{let l=new DOMParser().parseFromString(r,"text/html"),a=Ai(t,l);return Kl(t,a,e)}catch{}let i=o.getData("text/plain")||o.getData("text/uri-list");if(i!=null)if(_(e)){let s=i.split(/(\r?\n|\t)/);s[s.length-1]===""&&s.pop();for(let l=0;l<s.length;l++){let a=T();if(_(a)){let c=s[l];c===` `||c===`\r -`?a.insertParagraph():c===" "?a.insertNodes([St()]):a.insertText(c)}}}else e.insertRawText(i)}function Fl(o,e,t){o.dispatchCommand(jn,{nodes:e,selection:t})||t.insertNodes(e)}function BN(o){let e=o.exportJSON(),t=o.constructor;if(e.type!==t.getType()&&x(!1,"LexicalNode: Node %s does not implement .exportJSON().",t.name),E(o)){let n=e.children;Array.isArray(n)||x(!1,"LexicalNode: Node %s is an element but .exportJSON() does not have a children array.",t.name)}return e}function bu(o,e,t,n=[]){let r=e!==null?t.isSelected(e):!0,i=E(t)&&t.excludeFromCopy("html"),s=t;if(e!==null){let c=Yt(t);c=b(c)&&e!==null?vr(e,c):c,s=c}let l=E(s)?s.getChildren():[],a=BN(s);if(b(s)){let c=s.__text;c.length>0?a.text=c:r=!1}for(let c=0;c<l.length;c++){let m=l[c],f=bu(o,e,m,a.children);!r&&E(t)&&f&&t.extractWithChild(m,e,"clone")&&(r=!0)}if(r&&!i)n.push(a);else if(Array.isArray(a.children))for(let c=0;c<a.children.length;c++){let m=a.children[c];n.push(m)}return r}function Su(o,e){let t=[],r=F().getChildren();for(let i=0;i<r.length;i++){let s=r[i];bu(o,e,s,t)}return{namespace:o._config.namespace,nodes:t}}function Lu(o){let e=[];for(let t=0;t<o.length;t++){let n=o[t],r=vl(n);b(r)&&kl(r),e.push(r)}return e}var FN=50,On=null;async function An(o,e,t){if(On!==null)return!1;if(e!==null)return new Promise((a,c)=>{o.update(()=>{a(Tu(o,e,t))})});let n=o.getRootElement(),r=o._window==null?window.document:o._window.document,i=_u(o._window);if(n===null||i===null)return!1;let s=r.createElement("span");s.style.cssText="position: fixed; top: -1000px;",s.append(r.createTextNode("#")),n.append(s);let l=new Range;return l.setStart(s,0),l.setEnd(s,1),i.removeAllRanges(),i.addRange(l),new Promise((a,c)=>{let m=o.registerCommand(io,f=>(mt(f,ClipboardEvent)&&(m(),On!==null&&(window.clearTimeout(On),On=null),a(Tu(o,f,t))),!0),Re);On=window.setTimeout(()=>{m(),On=null,a(!1)},FN),r.execCommand("copy"),s.remove()})}function Tu(o,e,t){if(t===void 0){let r=_u(o._window);if(!r)return!1;let i=r.anchorNode,s=r.focusNode;if(i!==null&&s!==null&&!zt(o,i,s))return!1;let l=T();if(l===null)return!1;t=Ri(l)}e.preventDefault();let n=e.clipboardData;return n===null?!1:(Mu(n,t),!0)}var HN=[["text/html",Cu],["application/x-lexical-editor",yu]];function Ri(o=T()){let e={"text/plain":o?o.getTextContent():""};if(o){let t=tl();for(let[n,r]of HN){let i=r(t,o);i!==null&&(e[n]=i)}}return e}function Mu(o,e){for(let t in e){let n=e[t];n!==void 0&&o.setData(t,n)}}function ki(o,e){if(typeof document.caretRangeFromPoint<"u"){let t=document.caretRangeFromPoint(o,e);return t===null?null:{node:t.startContainer,offset:t.startOffset}}else if(document.caretPositionFromPoint!=="undefined"){let t=document.caretPositionFromPoint(o,e);return t===null?null:{node:t.offsetNode,offset:t.offset}}else return null}var vu=I("DRAG_DROP_PASTE_FILE");function KN(o,e){o.preventDefault(),e.update(()=>{let t=T(),n=mt(o,InputEvent)||mt(o,KeyboardEvent)?null:o.clipboardData;n!=null&&t!==null&&Ai(n,t,e)},{tag:"paste"})}async function UN(o,e){await An(e,mt(o,ClipboardEvent)?o:null),e.update(()=>{let t=T();C(t)?t.removeText():Ee(t)&&t.getNodes().forEach(n=>n.remove())})}function Ii(o){let e=null;if(mt(o,DragEvent)?e=o.dataTransfer:mt(o,ClipboardEvent)&&(e=o.clipboardData),e===null)return[!1,[],!1];let t=e.types,n=t.includes("Files"),r=t.includes("text/html")||t.includes("text/plain");return[n,Array.from(e.files),r]}function $i(o){let e=ee(o);return B(e)}function zN(o){let e=o.focus;return e.key==="root"&&e.offset===F().getChildrenSize()}function wu(o){return Xt(o.registerCommand(Jn,t=>{let n=T();return Ee(n)?(n.clear(),!0):!1},0),o.registerCommand(Ze,t=>{let n=T();return C(n)?(n.deleteCharacter(t),!0):!1},Z),o.registerCommand(Tt,t=>{let n=T();return C(n)?(n.deleteWord(t),!0):!1},Z),o.registerCommand(it,t=>{let n=T();return C(n)?(n.deleteLine(t),!0):!1},Z),o.registerCommand(rt,t=>{let n=T();if(typeof t=="string")n!==null&&n.insertText(t);else{if(n===null)return!1;let r=t.dataTransfer;if(r!=null)Ai(r,n,o);else if(C(n)){let i=t.data;return i&&n.insertText(i),!0}}return!0},Z),o.registerCommand(ln,()=>{let t=T();return C(t)?(t.removeText(),!0):!1},Z),o.registerCommand(Ne,t=>{let n=T();return C(n)?(n.formatText(t),!0):!1},Z),o.registerCommand(Os,t=>{let n=T();if(!C(n)&&!Ee(n))return!1;let r=n.getNodes();for(let i of r){let s=H(i,l=>E(l)&&!l.isInline())}return!0},Z),o.registerCommand(It,t=>{let n=T();return C(n)?(n.insertLineBreak(t),!0):!1},Z),o.registerCommand($t,()=>{let t=T();return C(t)?(t.insertParagraph(),!0):!1},Z),o.registerCommand(Ds,()=>(Oe([St()]),!0),Z),o.registerCommand(Mo,t=>{let n=T();if(Ee(n)&&!$i(t.target)){let r=n.getNodes();if(r.length>0)return r[0].selectPrevious(),!0}else if(C(n)){let r=qt(n.focus,!0);if(!t.shiftKey&&B(r)&&!r.isIsolated()&&!r.isInline())return r.selectPrevious(),t.preventDefault(),!0}return!1},Z),o.registerCommand(Pt,t=>{let n=T();if(Ee(n)){let r=n.getNodes();if(r.length>0)return r[0].selectNext(0,0),!0}else if(C(n)){if(zN(n))return t.preventDefault(),!0;let r=qt(n.focus,!1);if(!t.shiftKey&&B(r)&&!r.isIsolated()&&!r.isInline())return r.selectNext(),t.preventDefault(),!0}return!1},Z),o.registerCommand(Lo,t=>{let n=T();if(Ee(n)){let r=n.getNodes();if(r.length>0)return t.preventDefault(),r[0].selectPrevious(),!0}if(!C(n))return!1;if(Li(n,!0)){let r=t.shiftKey;return t.preventDefault(),Mi(n,r,!0),!0}return!1},Z),o.registerCommand(So,t=>{let n=T();if(Ee(n)&&!$i(t.target)){let i=n.getNodes();if(i.length>0)return t.preventDefault(),i[0].selectNext(0,0),!0}if(!C(n))return!1;let r=t.shiftKey;return Li(n,!1)?(t.preventDefault(),Mi(n,r,!1),!0):!1},Z),o.registerCommand(Bt,t=>{if($i(t.target))return!1;let n=T();return C(n)?(t.preventDefault(),o.dispatchCommand(Ze,!0)):!1},Z),o.registerCommand(Ft,t=>{if($i(t.target))return!1;let n=T();return C(n)?(t.preventDefault(),o.dispatchCommand(Ze,!1)):!1},Z),o.registerCommand(Fe,t=>{let n=T();if(!C(n))return!1;if(t!==null){if((_t||Ht||Kt)&&co)return!1;if(t.preventDefault(),t.shiftKey)return o.dispatchCommand(It,!1)}return o.dispatchCommand($t,void 0)},Z),o.registerCommand(vo,()=>{let t=T();return C(t)?(o.blur(),!0):!1},Z),o.registerCommand(Do,t=>{let[,n]=Ii(t);if(n.length>0){let i=t.clientX,s=t.clientY,l=ki(i,s);if(l!==null){let{offset:a,node:c}=l,m=ee(c);if(m!==null){let f=Ko();if(b(m))f.anchor.set(m.getKey(),a,"text"),f.focus.set(m.getKey(),a,"text");else{let u=m.getParentOrThrow().getKey(),p=m.getIndexWithinParent()+1;f.anchor.set(u,p,"element"),f.focus.set(u,p,"element")}let d=Oo(f);q(d)}o.dispatchCommand(vu,n)}return t.preventDefault(),!0}let r=T();return!!C(r)},Z),o.registerCommand(er,t=>{let[n]=Ii(t),r=T();return!(n&&!C(r))},Z),o.registerCommand(tr,t=>{let[n]=Ii(t),r=T();if(n&&!C(r))return!1;let i=t.clientX,s=t.clientY,l=ki(i,s);if(l!==null){let a=ee(l.node);B(a)&&t.preventDefault()}return!0},Z),o.registerCommand(an,()=>(Qs(),!0),Z),o.registerCommand(io,t=>(An(o,mt(t,ClipboardEvent)?t:null),!0),Z),o.registerCommand(so,t=>(UN(t,o),!0),Z),o.registerCommand(oo,t=>{let[,n,r]=Ii(t);return n.length>0&&!r?(o.dispatchCommand(vu,n),!0):Nn(t.target)?!1:T()!==null?(KN(t,o),!0):!1},Z))}var Wo=class o extends J{constructor(t,n){super(n);this.__id="";this.__category="info";this.__alignment="";this.__inset=0;this.__category=t}static getType(){return"callout"}static clone(t){let n=new o(t.__category,t.__key);return n.__id=t.__id,n.__alignment=t.__alignment,n.__inset=t.__inset,n}setCategory(t){let n=this.getWritable();n.__category=t}getCategory(){return this.getLatest().__category}setId(t){let n=this.getWritable();n.__id=t}getId(){return this.getLatest().__id}setAlignment(t){let n=this.getWritable();n.__alignment=t}getAlignment(){return this.getLatest().__alignment}setInset(t){let n=this.getWritable();n.__inset=t}getInset(){return this.getLatest().__inset}createDOM(t,n){let r=document.createElement("p");return r.classList.add("callout",this.__category||""),et(r,this),r}updateDOM(t){return t.__category!==this.__category||vt(t,this)}insertNewAfter(t,n){let r=t?t.anchor.offset:0,i=r===this.getTextContentSize()||!t?$():Rn(this.__category);if(i.setDirection(this.getDirection()),this.insertAfter(i,n),r===0&&!this.isEmpty()&&t){let s=$();s.select(),this.replace(s,!0)}return i}static importDOM(){return{p(t){return t.classList.contains("callout")?{conversion:n=>{let r="info",i=["info","success","warning","danger"];for(let l of i)if(n.classList.contains(l)){r=l;break}let s=new o(r);return Qe(n,s),{node:s}},priority:3}:null}}}exportJSON(){return{...super.exportJSON(),type:"callout",version:1,category:this.__category,id:this.__id,alignment:this.__alignment,inset:this.__inset}}static importJSON(t){let n=Rn(t.category);return tt(t,n),n}};function Rn(o="info"){return new Wo(o)}function Hl(o){return o instanceof Wo}function Kl(o,e="info"){return o instanceof Wo&&o.getCategory()===e}var WN=new Set(["http:","https:","mailto:","sms:","tel:"]),kn=class o extends J{static getType(){return"link"}static clone(e){return new o(e.__url,{rel:e.__rel,target:e.__target,title:e.__title},e.__key)}constructor(e,t={},n){super(n);let{target:r=null,rel:i=null,title:s=null}=t;this.__url=e,this.__target=r,this.__rel=i,this.__title=s}createDOM(e){let t=document.createElement("a");return t.href=this.sanitizeUrl(this.__url),this.__target!==null&&(t.target=this.__target),this.__rel!==null&&(t.rel=this.__rel),this.__title!==null&&(t.title=this.__title),Te(t,e.theme.link),t}updateDOM(e,t,n){if(t instanceof HTMLAnchorElement){let r=this.__url,i=this.__target,s=this.__rel,l=this.__title;r!==e.__url&&(t.href=r),i!==e.__target&&(i?t.target=i:t.removeAttribute("target")),s!==e.__rel&&(s?t.rel=s:t.removeAttribute("rel")),l!==e.__title&&(l?t.title=l:t.removeAttribute("title"))}return!1}static importDOM(){return{a:e=>({conversion:qN,priority:1})}}static importJSON(e){let t=gt(e.url,{rel:e.rel,target:e.target,title:e.title});return t.setDirection(e.direction),t}sanitizeUrl(e){try{let t=new URL(e);if(!WN.has(t.protocol))return"about:blank"}catch{return e}return e}exportJSON(){return{...super.exportJSON(),rel:this.getRel(),target:this.getTarget(),title:this.getTitle(),type:"link",url:this.getURL(),version:1}}getURL(){return this.getLatest().__url}setURL(e){let t=this.getWritable();t.__url=e}getTarget(){return this.getLatest().__target}setTarget(e){let t=this.getWritable();t.__target=e}getRel(){return this.getLatest().__rel}setRel(e){let t=this.getWritable();t.__rel=e}getTitle(){return this.getLatest().__title}setTitle(e){let t=this.getWritable();t.__title=e}insertNewAfter(e,t=!0){let n=gt(this.__url,{rel:this.__rel,target:this.__target,title:this.__title});return this.insertAfter(n,t),n}canInsertTextBefore(){return!1}canInsertTextAfter(){return!1}canBeEmpty(){return!1}isInline(){return!0}extractWithChild(e,t,n){if(!C(t))return!1;let r=t.anchor.getNode(),i=t.focus.getNode();return this.isParentOf(r)&&this.isParentOf(i)&&t.getTextContent().length>0}isEmailURI(){return this.__url.startsWith("mailto:")}isWebSiteURI(){return this.__url.startsWith("https://")||this.__url.startsWith("http://")}};function qN(o){let e=null;if(di(o)){let t=o.textContent;(t!==null&&t!==""||o.children.length>0)&&(e=gt(o.getAttribute("href")||"",{rel:o.getAttribute("rel"),target:o.getAttribute("target"),title:o.getAttribute("title")}))}return{node:e}}function gt(o,e){return oe(new kn(o,e))}function Ot(o){return o instanceof kn}var MS=I("TOGGLE_LINK_COMMAND");function YN(o){return o.map(e=>{if(b(e)){let t=$();return t.append(e),t}return e})}function _o(o,e){let t=nu(e),n=Di(o,t);return YN(n)}function At(o,e){for(let t of o.getParents())if(e(t))return t;return null}function Ul(o,e){e||(e=F());let t=[];for(let n of e.getChildren())o(n)&&t.push(n),E(n)&&t.push(...Ul(o,n));return t}function Du(o,e,t){let n=F().getChildren();for(let r of n){let i=o.getElementByKey(r.__key);if(!i)continue;let s=i.getBoundingClientRect();if(t<=s.bottom)return r}return null}function In(o){let e=t=>(E(t)||B(t))&&!t.isInline()&&!te(t);return e(o)?o:H(o,e)}function wr(o){return"__alignment"in o}function Ou(o){return"__inset"in o}var Au=new WeakMap;function le(o){return Au.get(o)||null}function Ru(o,e){Au.set(o,e)}function ae(o,e){return V(o,e)!==null}function V(o,e){if(!o)return null;for(let t of o.getNodes()){if(e(t))return t;let n=At(t,e);if(n)return n}return null}function ku(o){return V(o,b)}function Iu(o,e){if(!o)return!1;for(let t of o.getNodes())if(b(t)&&t.hasFormat(e))return!0;return!1}function $n(o,e){let t=T(),n=t?uu(t.getNodes()[0]):null;t&&o(n)?Si(t,$):Si(t,e)}function qo(o,e=!0){zl([o],e)}function zl(o,e=!0){let t=T()?.getNodes()||[],n=t.length>0?In(t[0]):null;if(n)if(e)for(let r=o.length-1;r>=0;r--)n.insertAfter(o[r]);else for(let r of o)n.insertBefore(r);else F().append(...o)}function ke(o){let e=Fo();e.add(o.getKey()),q(e)}function $u(o){for(let e of o){if(b(e))return e;if(E(e)){let t=e.getChildren(),n=$u(t);if(n!==null)return n}}return null}function Pu(o){let e=[...o].reverse();for(let t of e){if(b(t))return t;if(E(t)){let n=[...t.getChildren()].reverse(),r=Pu(n);if(r!==null)return r}}return null}function Bu(o){if(o.length===0)return;let e=Ko(),t=$u(o),n=Pu(o);t&&n&&(e.setTextNodeRange(t,0,n,n.getTextContentSize()||0),q(e))}function Fu(o){let e=le(o);e&&window.requestAnimationFrame(()=>{o.update(()=>{q(e.clone())})})}function Pi(o,e){if(!o)return!1;let t=e.getKey();for(let n of o.getNodes())if(n.getKey()===t)return!0;return!1}function Dr(o,e){let t=[...o?.getNodes()||[],...Rt(o)];for(let n of t)if(wr(n)&&n.getAlignment()===e)return!0;return!1}function Wl(o,e){let t=[...o?.getNodes()||[],...Rt(o)];for(let n of t)if(Ho(n)&&n.getDirection()===e)return!0;return!1}function Rt(o){if(!o)return[];let e=new Map;for(let t of o.getNodes()){let n=In(t);E(n)&&e.set(n.getKey(),n)}return Array.from(e.values())}var Yo=class o extends J{constructor(t,n,r){super(r);this.__src="";this.__alt="";this.__width=0;this.__height=0;this.__alignment="";this.__src=t,n.alt&&(this.__alt=n.alt),n.width&&(this.__width=n.width),n.height&&(this.__height=n.height)}static getType(){return"image"}static clone(t){let n=new o(t.__src,{alt:t.__alt,width:t.__width,height:t.__height},t.__key);return n.__alignment=t.__alignment,n}setSrc(t){let n=this.getWritable();n.__src=t}getSrc(){return this.getLatest().__src}setAltText(t){let n=this.getWritable();n.__alt=t}getAltText(){return this.getLatest().__alt}setHeight(t){let n=this.getWritable();n.__height=t}getHeight(){return this.getLatest().__height}setWidth(t){let n=this.getWritable();n.__width=t}getWidth(){return this.getLatest().__width}setAlignment(t){let n=this.getWritable();n.__alignment=t}getAlignment(){return this.getLatest().__alignment}isInline(){return!0}createDOM(t,n){let r=document.createElement("img");return r.setAttribute("src",this.__src),this.__width&&r.setAttribute("width",String(this.__width)),this.__height&&r.setAttribute("height",String(this.__height)),this.__alt&&r.setAttribute("alt",this.__alt),this.__alignment&&r.classList.add("align-"+this.__alignment),r.addEventListener("click",i=>{n.update(()=>{ke(this)})}),r}updateDOM(t,n){return t.__src!==this.__src&&n.setAttribute("src",this.__src),t.__width!==this.__width&&(this.__width?n.setAttribute("width",String(this.__width)):n.removeAttribute("width")),t.__height!==this.__height&&(this.__height?n.setAttribute("height",String(this.__height)):n.removeAttribute("height")),t.__alt!==this.__alt&&(this.__alt?n.setAttribute("alt",String(this.__alt)):n.removeAttribute("alt")),t.__alignment!==this.__alignment&&(t.__alignment&&n.classList.remove("align-"+t.__alignment),this.__alignment&&n.classList.add("align-"+this.__alignment)),!1}static importDOM(){return{img(t){return{conversion:n=>{let r=n.getAttribute("src")||"",i={alt:n.getAttribute("alt")||"",height:Number.parseInt(n.getAttribute("height")||"0"),width:Number.parseInt(n.getAttribute("width")||"0")},s=new o(r,i);return s.setAlignment(Lr(n)),{node:s}},priority:3}}}}exportJSON(){return{...super.exportJSON(),type:"image",version:1,src:this.__src,alt:this.__alt,height:this.__height,width:this.__width,alignment:this.__alignment}}static importJSON(t){let n=Pn(t.src,{alt:t.alt,width:t.width,height:t.height});return n.setAlignment(t.alignment),n}};function Pn(o,e={}){return new Yo(o,e)}function ht(o){return o instanceof Yo}var Bn=class o extends J{constructor(){super(...arguments);this.__id="";this.__summary="";this.__open=!1}static getType(){return"details"}setId(t){let n=this.getWritable();n.__id=t}getId(){return this.getLatest().__id}setSummary(t){let n=this.getWritable();n.__summary=t}getSummary(){return this.getLatest().__summary}setOpen(t){let n=this.getWritable();n.__open=t}getOpen(){return this.getLatest().__open}static clone(t){let n=new o(t.__key);return n.__id=t.__id,n.__dir=t.__dir,n.__summary=t.__summary,n.__open=t.__open,n}createDOM(t,n){let r=document.createElement("details");this.__id&&r.setAttribute("id",this.__id),this.__dir&&r.setAttribute("dir",this.__dir),this.__open&&r.setAttribute("open","true");let i=document.createElement("summary");return i.textContent=this.__summary,i.setAttribute("contenteditable","false"),i.addEventListener("click",s=>{s.preventDefault(),n.update(()=>{this.select()})}),r.append(i),r}updateDOM(t,n){return t.__open!==this.__open&&n.toggleAttribute("open",this.__open),t.__id!==this.__id||t.__dir!==this.__dir||t.__summary!==this.__summary}static importDOM(){return{details(t){return{conversion:n=>{let r=new o;n.id&&r.setId(n.id),n.dir&&r.setDirection(Mr(n));let i=Array.from(n.children).find(s=>s.nodeName==="SUMMARY");return r.setSummary(i?.textContent||""),{node:r}},priority:3}},summary(t){return{conversion:n=>({node:"ignore"}),priority:3}}}}exportDOM(t){let n=this.createDOM(t._config,t),r=n.querySelectorAll("[contenteditable]");for(let i of r)i.removeAttribute("contenteditable");return n.removeAttribute("open"),{element:n}}exportJSON(){return{...super.exportJSON(),type:"details",version:1,id:this.__id,summary:this.__summary}}static importJSON(t){let n=ql();return n.setId(t.id),n.setDirection(t.direction),n}};function ql(){return new Bn}function Ie(o){return o instanceof Bn}function Yl(o){let e=1,t=o.getParent();for(;t!=null;){if(X(t)){let n=t.getParent();if(U(n)){e++,t=n.getParent();continue}x(!1,"A ListItemNode must have a ListNode for a parent.")}return e}return e}function Zl(o){let e=o.getParent();U(e)||x(!1,"A ListItemNode must have a ListNode for a parent.");let t=e;for(;t!==null;)t=t.getParent(),U(t)&&(e=t);return e}function Vl(o){let e=[],t=o.getChildren().filter(X);for(let n=0;n<t.length;n++){let r=t[n],i=r.getFirstChild();U(i)?e=e.concat(Vl(i)):e.push(r)}return e}var y0=Symbol.for("@lexical/NestedListNodeBrand");function Fn(o){return X(o)&&U(o.getFirstChild())}function Hu(o){return $e().append(o)}function Uu(o,e){return X(o)&&(e.length===0||e.length===1&&o.is(e[0])&&o.getChildrenSize()===0)}function Xl(o,e){o.update(()=>{let t=T();if(t!==null){let n=t.getNodes();if(C(t)){let i=t.getStartEndPoints();x(i!==null,"insertList: anchor should be defined");let[s]=i,l=s.getNode(),a=l.getParent();if(Uu(l,n)){let c=_e(e);if(me(a)){l.replace(c);let m=$e();c.append(m)}else if(X(l)){let m=l.getParentOrThrow();Or(c,m.getChildren()),m.replace(c)}return}}let r=new Set;for(let i=0;i<n.length;i++){let s=n[i];if(E(s)&&s.isEmpty()&&!X(s)&&!r.has(s.getKey())){Ku(s,e);continue}if(fr(s)){let l=s.getParent();for(;l!=null;){let a=l.getKey();if(U(l)){if(!r.has(a)){let c=_e(e);Or(c,l.getChildren()),l.replace(c),r.add(a)}break}else{let c=l.getParent();if(me(c)&&!r.has(a)){r.add(a),Ku(l,e);break}l=c}}}}}})}function Or(o,e){o.splice(o.getChildrenSize(),0,e)}function Ku(o,e){if(U(o))return o;let t=o.getPreviousSibling(),n=o.getNextSibling(),r=$e();if(Or(r,o.getChildren()),U(t)&&e===t.getListType())return t.append(r),o.remove(),U(n)&&e===n.getListType()&&(Or(t,n.getChildren()),n.remove()),t;if(U(n)&&e===n.getListType())return n.getFirstChildOrThrow().insertBefore(r),o.remove(),n;{let i=_e(e);return i.append(r),o.replace(i),i}}function Bi(o,e){let t=o.getLastChild(),n=e.getFirstChild();t&&n&&Fn(t)&&Fn(n)&&(Bi(t.getFirstChild(),n.getFirstChild()),n.remove());let r=e.getChildren();r.length>0&&o.append(...r),e.remove()}function Gl(o){o.update(()=>{let e=T();if(C(e)){let t=new Set,n=e.getNodes(),r=e.anchor.getNode();if(Uu(r,n))t.add(Zl(r));else for(let i=0;i<n.length;i++){let s=n[i];if(fr(s)){let l=du(s,Gt);l!=null&&t.add(Zl(l))}}for(let i of t){let s=i,l=Vl(i);for(let a of l){let c=$();Or(c,a.getChildren()),s.insertAfter(c),s=c,a.__key===e.anchor.key&&e.anchor.set(c.getKey(),0,"element"),a.__key===e.focus.key&&e.focus.set(c.getKey(),0,"element"),a.remove()}i.remove()}}})}function zu(o){let e=o.getListType()!=="check",t=o.getStart();for(let n of o.getChildren())X(n)&&(n.getValue()!==t&&n.setValue(t),e&&n.getLatest().__checked!=null&&n.setChecked(void 0),U(n.getFirstChild())||t++)}function Wu(o){let e=o.getNextSibling();U(e)&&o.getListType()===e.getListType()&&Bi(o,e)}var Gt=class o extends J{static getType(){return"listitem"}static clone(e){return new o(e.__value,e.__checked,e.__key)}constructor(e,t,n){super(n),this.__value=e===void 0?1:e,this.__checked=t}createDOM(e){let t=document.createElement("li"),n=this.getParent();return U(n)&&n.getListType()==="check"&&Yu(t,this),t.value=this.__value,qu(this)&&(t.style.listStyle="none"),t}updateDOM(e,t,n){let r=this.getParent();return U(r)&&r.getListType()==="check"&&Yu(t,this),t.style.listStyle=qu(this)?"none":"",t.value=this.__value,!1}static transform(){return e=>{if(x(X(e),"node is not a ListItemNode"),e.__checked==null)return;let t=e.getParent();U(t)&&t.getListType()!=="check"&&e.getChecked()!=null&&e.setChecked(void 0)}}static importDOM(){return{li:()=>({conversion:ZN,priority:0})}}static importJSON(e){let t=$e();return t.setChecked(e.checked),t.setValue(e.value),t.setDirection(e.direction),t}exportDOM(e){let t=this.createDOM(e._config);if(t.classList.contains("task-list-item")){let n=y("input",{type:"checkbox",disabled:"disabled"});t.hasAttribute("checked")&&(n.setAttribute("checked","checked"),t.removeAttribute("checked")),t.prepend(n)}return{element:t}}exportJSON(){return{...super.exportJSON(),checked:this.getChecked(),type:"listitem",value:this.getValue(),version:1}}append(...e){for(let t=0;t<e.length;t++){let n=e[t];if(E(n)&&this.canMergeWith(n)){let r=n.getChildren();this.append(...r),n.remove()}else super.append(n)}return this}replace(e,t){if(X(e))return super.replace(e);let n=this.getParentOrThrow();if(!U(n))return e;if(n.__first===this.getKey())n.insertBefore(e);else if(n.__last===this.getKey())n.insertAfter(e);else{let r=_e(n.getListType()),i=this.getNextSibling();for(;i;){let s=i;i=i.getNextSibling(),r.append(s)}n.insertAfter(e),e.insertAfter(r)}return t&&(x(E(e),"includeChildren should only be true for ElementNodes"),this.getChildren().forEach(r=>{e.append(r)})),this.remove(),n.getChildrenSize()===0&&n.remove(),e}insertAfter(e,t=!0){let n=this.getParentOrThrow();if(U(n)||x(!1,"insertAfter: list node is not parent of list item node"),X(e))return super.insertAfter(e,t);let r=this.getNextSiblings();if(n.insertAfter(e,t),r.length!==0){let i=_e(n.getListType());r.forEach(s=>i.append(s)),e.insertAfter(i,t)}return e}remove(e){let t=this.getPreviousSibling(),n=this.getNextSibling();super.remove(e),t&&n&&Fn(t)&&Fn(n)&&(Bi(t.getFirstChild(),n.getFirstChild()),n.remove())}insertNewAfter(e,t=!0){if(this.getTextContent().trim()===""&&this.isLastChild()){let r=this.getParentOrThrow(),i=r.getParent();if(X(i))return i.insertAfter(this),this.selectStart(),null;{let s=$();return r.insertAfter(s,t),this.remove(),s}}let n=$e(this.__checked==null?void 0:!1);return this.insertAfter(n,t),n}collapseAtStart(e){let t=$();this.getChildren().forEach(l=>t.append(l));let r=this.getParentOrThrow(),i=r.getParentOrThrow(),s=X(i);if(r.getChildrenSize()===1)if(s)r.remove(),i.select();else{r.insertBefore(t),r.remove();let l=e.anchor,a=e.focus,c=t.getKey();l.type==="element"&&l.getNode().is(this)&&l.set(c,l.offset,"element"),a.type==="element"&&a.getNode().is(this)&&a.set(c,a.offset,"element")}else r.insertBefore(t),this.remove();return!0}getValue(){return this.getLatest().__value}setValue(e){let t=this.getWritable();t.__value=e}getChecked(){let e=this.getLatest(),t,n=this.getParent();return U(n)&&(t=n.getListType()),t==="check"?!!e.__checked:void 0}setChecked(e){let t=this.getWritable();t.__checked=e}toggleChecked(){this.setChecked(!this.__checked)}canInsertAfter(e){return X(e)}canReplaceWith(e){return X(e)}canMergeWith(e){return ct(e)||X(e)}extractWithChild(e,t){if(!C(t))return!1;let n=t.anchor.getNode(),r=t.focus.getNode();return this.isParentOf(n)&&this.isParentOf(r)&&this.getTextContent().length===t.getTextContent().length}isParentRequired(){return!0}createParentElementNode(){return _e("bullet")}canMergeWhenEmpty(){return!0}};function qu(o){let e=o.getChildren(),t=!1,n=!1;for(let r of e)U(r)?n=!0:r.getTextContent().trim().length>0&&(t=!0);return n&&!t}function Yu(o,e){let t=!U(e.getFirstChild());o.classList.toggle("task-list-item",t),e.__checked?o.setAttribute("checked","checked"):o.removeAttribute("checked")}function ZN(o){if(o.classList.contains("task-list-item")){for(let r of o.children)if(r.tagName==="INPUT")return VN(r)}let t=o.getAttribute("aria-checked");return{node:$e(t==="true"?!0:t==="false"?!1:void 0)}}function VN(o){if(!(o.getAttribute("type")==="checkbox"))return{node:null};let t=o.hasAttribute("checked");return{node:$e(t)}}function $e(o){return oe(new Gt(void 0,o))}function X(o){return o instanceof Gt}var Zo=class o extends J{constructor(t,n,r){super(r);this.__id="";let i=jN[t]||t;this.__listType=i,this.__tag=i==="number"?"ol":"ul",this.__start=n}static getType(){return"list"}static clone(t){let n=new o(t.__listType,t.__start,t.__key);return n.__id=t.__id,n.__dir=t.__dir,n}getTag(){return this.__tag}setId(t){let n=this.getWritable();n.__id=t}getId(){return this.getLatest().__id}setListType(t){let n=this.getWritable();n.__listType=t,n.__tag=t==="number"?"ol":"ul"}getListType(){return this.__listType}getStart(){return this.__start}createDOM(t,n){let r=this.__tag,i=document.createElement(r);return this.__start!==1&&i.setAttribute("start",String(this.__start)),i.__lexicalListType=this.__listType,Zu(i,t.theme,this),this.__id&&i.setAttribute("id",this.__id),this.__dir&&i.setAttribute("dir",this.__dir),i}updateDOM(t,n,r){return t.__tag!==this.__tag||t.__dir!==this.__dir||t.__id!==this.__id?!0:(Zu(n,r.theme,this),!1)}static transform(){return t=>{x(U(t),"node is not a ListNode"),Wu(t),zu(t)}}static importDOM(){return{ol:()=>({conversion:Vu,priority:0}),ul:()=>({conversion:Vu,priority:0})}}static importJSON(t){let n=_e(t.listType,t.start);return n.setId(t.id),n.setDirection(t.direction),n}exportDOM(t){let{element:n}=super.exportDOM(t);return n&&pe(n)&&(this.__start!==1&&n.setAttribute("start",String(this.__start)),this.__listType==="check"&&n.setAttribute("__lexicalListType","check")),{element:n}}exportJSON(){return{...super.exportJSON(),listType:this.getListType(),start:this.getStart(),tag:this.getTag(),type:"list",version:1,id:this.__id}}canBeEmpty(){return!1}canIndent(){return!1}append(...t){for(let n=0;n<t.length;n++){let r=t[n];if(X(r))super.append(r);else{let i=$e();if(U(r))i.append(r);else if(E(r)){let s=Y(r.getTextContent());i.append(s)}else i.append(r);super.append(i)}}return this}extractWithChild(t){return X(t)}};function Zu(o,e,t){let n=[],r=[],i=e.list;if(i!==void 0){let s=i[`${t.__tag}Depth`]||[],l=Yl(t)-1,a=l%s.length,c=s[a],m=i[t.__tag],f,d=i.nested,u=i.checklist;if(d!==void 0&&d.list&&(f=d.list),m!==void 0&&n.push(m),u!==void 0&&t.__listType==="check"&&n.push(u),c!==void 0){n.push(...yt(c));for(let p=0;p<s.length;p++)p!==a&&r.push(t.__tag+p)}if(f!==void 0){let p=yt(f);l>1?n.push(...p):r.push(...p)}}r.length>0&&vi(o,...r),n.length>0&&Te(o,...n)}function XN(o){let e=[];for(let t of o)X(t)?e.push(t):e.push(Hu(t));return e}function GN(o){if(o.getAttribute("__lexicallisttype")==="check"||o.classList.contains("contains-task-list"))return!0;for(let e of o.childNodes)if(pe(e)&&e.hasAttribute("aria-checked"))return!0;return!1}function Vu(o){let e=o.nodeName.toLowerCase(),t=null;if(e==="ol"){let n=o.start;t=_e("number",n)}else e==="ul"&&(GN(o)?t=_e("check"):t=_e("bullet"));return o.id&&t&&t.setId(o.id),o.dir&&t&&t.setDirection(Mr(o)),{after:XN,node:t}}var jN={ol:"number",ul:"bullet"};function _e(o,e=1){return oe(new Zo(o,e))}function U(o){return o instanceof Zo}var xL=I("INSERT_UNORDERED_LIST_COMMAND"),EL=I("INSERT_ORDERED_LIST_COMMAND"),TL=I("INSERT_CHECK_LIST_COMMAND"),_L=I("REMOVE_LIST_COMMAND");var re={BOTH:3,COLUMN:2,NO_STATUS:0,ROW:1},jt=class o extends J{constructor(t=re.NO_STATUS,n=1,r,i){super(i);this.__styles=new Map;this.__alignment="";this.__colSpan=n,this.__rowSpan=1,this.__headerState=t,this.__width=r,this.__backgroundColor=null}static getType(){return"tablecell"}static clone(t){let n=new o(t.__headerState,t.__colSpan,t.__width,t.__key);return n.__rowSpan=t.__rowSpan,n.__backgroundColor=t.__backgroundColor,n.__styles=new Map(t.__styles),n.__alignment=t.__alignment,n}static importDOM(){return{td:t=>({conversion:Xu,priority:0}),th:t=>({conversion:Xu,priority:0})}}static importJSON(t){let n=Pe(t.headerState,t.colSpan,t.width);return t.rowSpan&&n.setRowSpan(t.rowSpan),n.setStyles(new Map(Object.entries(t.styles))),n.setAlignment(t.alignment),n}createDOM(t){let n=document.createElement(this.getTag());this.__width&&(n.style.width=`${this.__width}px`),this.__colSpan>1&&(n.colSpan=this.__colSpan),this.__rowSpan>1&&(n.rowSpan=this.__rowSpan),this.__backgroundColor!==null&&(n.style.backgroundColor=this.__backgroundColor),Te(n,t.theme.tableCell,this.hasHeader()&&t.theme.tableCellHeader);for(let[r,i]of this.__styles.entries())n.style.setProperty(r,i);return this.__alignment&&n.classList.add("align-"+this.__alignment),n}exportDOM(t){let{element:n}=super.exportDOM(t);return{element:n}}exportJSON(){return{...super.exportJSON(),backgroundColor:this.getBackgroundColor(),colSpan:this.__colSpan,headerState:this.__headerState,rowSpan:this.__rowSpan,type:"tablecell",width:this.getWidth(),styles:Object.fromEntries(this.__styles),alignment:this.__alignment}}getColSpan(){return this.__colSpan}setColSpan(t){return this.getWritable().__colSpan=t,this}getRowSpan(){return this.__rowSpan}setRowSpan(t){return this.getWritable().__rowSpan=t,this}getTag(){return this.hasHeader()?"th":"td"}setHeaderStyles(t){let n=this.getWritable();return n.__headerState=t,this.__headerState}getHeaderStyles(){return this.getLatest().__headerState}setWidth(t){let n=this.getWritable();return n.__width=t,this.__width}getWidth(){return this.getLatest().__width}clearWidth(){let t=this.getWritable();t.__width=void 0}getStyles(){let t=this.getLatest();return new Map(t.__styles)}setStyles(t){let n=this.getWritable();n.__styles=new Map(t)}setAlignment(t){let n=this.getWritable();n.__alignment=t}getAlignment(){return this.getLatest().__alignment}updateTag(t){let r=t.toLowerCase()==="th"?re.ROW:re.NO_STATUS,i=this.getWritable();i.__headerState=r}getBackgroundColor(){return this.getLatest().__backgroundColor}setBackgroundColor(t){this.getWritable().__backgroundColor=t}toggleHeaderStyle(t){let n=this.getWritable();return(n.__headerState&t)===t?n.__headerState-=t:n.__headerState+=t,n}hasHeaderState(t){return(this.getHeaderStyles()&t)===t}hasHeader(){return this.getLatest().__headerState!==re.NO_STATUS}updateDOM(t){return t.__headerState!==this.__headerState||t.__width!==this.__width||t.__colSpan!==this.__colSpan||t.__rowSpan!==this.__rowSpan||t.__backgroundColor!==this.__backgroundColor||t.__styles!==this.__styles||t.__alignment!==this.__alignment}isShadowRoot(){return!0}collapseAtStart(){return!0}canBeEmpty(){return!1}canIndent(){return!1}};function Xu(o){let e=o,t=o.nodeName.toLowerCase(),n;/^(\d+(?:\.\d+)?)px$/.test(e.style.width)&&(n=parseFloat(e.style.width));let i=Pe(t==="th"?re.ROW:re.NO_STATUS,e.colSpan,n);i.__rowSpan=e.rowSpan;let s=e.style,l=s.textDecoration.split(" "),a=s.fontWeight==="700"||s.fontWeight==="bold",c=l.includes("line-through"),m=s.fontStyle==="italic",f=l.includes("underline");return o instanceof HTMLElement&&(i.setStyles(Mn(o)),i.setAlignment(Lr(o))),{after:d=>(d.length===0&&d.push($()),d),forChild:(d,u)=>{if(w(u)&&!E(d)){let p=$();return we(d)&&d.getTextContent()===` -`?null:(b(d)&&(a&&d.toggleFormat("bold"),c&&d.toggleFormat("strikethrough"),m&&d.toggleFormat("italic"),f&&d.toggleFormat("underline")),p.append(d),p)}return d},node:i}}function Pe(o=re.NO_STATUS,e=1,t){return oe(new jt(o,e,t))}function w(o){return o instanceof jt}var JN=I("INSERT_TABLE_COMMAND");var Jt=class o extends J{constructor(t){super(t);this.__styles=new Map}static getType(){return"tablerow"}static clone(t){let n=new o(t.__key);return n.__styles=new Map(t.__styles),n}static importDOM(){return{tr:t=>({conversion:QN,priority:0})}}static importJSON(t){let n=Vo();return n.setStyles(new Map(Object.entries(t.styles))),n}exportJSON(){return{...super.exportJSON(),type:"tablerow",version:1,styles:Object.fromEntries(this.__styles),height:this.__height||0}}createDOM(t){let n=document.createElement("tr");this.__height&&(n.style.height=`${this.__height}px`);for(let[r,i]of this.__styles.entries())n.style.setProperty(r,i);return Te(n,t.theme.tableRow),n}isShadowRoot(){return!0}getStyles(){let t=this.getLatest();return new Map(t.__styles)}setStyles(t){let n=this.getWritable();n.__styles=new Map(t)}setHeight(t){let n=this.getWritable();return n.__height=t,this.__height}getHeight(){return this.getLatest().__height}updateDOM(t){return t.__height!==this.__height||t.__styles!==this.__styles}canBeEmpty(){return!1}canIndent(){return!1}};function QN(o){let e=Vo(),n=zo(o.style.height);return e.setHeight(n),o instanceof HTMLElement&&e.setStyles(Mn(o)),{node:e}}function Vo(){return oe(new Jt)}function Q(o){return o instanceof Jt}function Jl(o,e,t=!0){let n=Rr();for(let r=0;r<o;r++){let i=Vo();for(let s=0;s<e;s++){let l=re.NO_STATUS;typeof t=="object"?(r===0&&t.rows&&(l|=re.ROW),s===0&&t.columns&&(l|=re.COLUMN)):t&&(r===0&&(l|=re.ROW),s===0&&(l|=re.COLUMN));let a=Pe(l),c=$();c.append(Y()),a.append(c),i.append(a)}n.append(i)}return n}var jl=(o,e)=>o===re.BOTH||o===e?e:re.NO_STATUS;function Fi(o=!0){let e=T();x(C(e)||z(e),"Expected a RangeSelection or TableSelection");let t=e.focus.getNode(),[n,,r]=Se(t),[i,s]=ot(r,n,n),l=i[0].length,{startRow:a}=s;if(o){let c=a+n.__rowSpan-1,m=i[c],f=Vo();for(let u=0;u<l;u++){let{cell:p,startRow:g}=m[u];if(g+p.__rowSpan-1<=c){let _=m[u].cell.__headerState,N=jl(_,re.COLUMN);f.append(Pe(N).append($()))}else p.setRowSpan(p.__rowSpan+1)}let d=r.getChildAtIndex(c);x(Q(d),"focusEndRow is not a TableRowNode"),d.insertAfter(f)}else{let c=i[a],m=Vo();for(let d=0;d<l;d++){let{cell:u,startRow:p}=c[d];if(p===a){let h=c[d].cell.__headerState,_=jl(h,re.COLUMN);m.append(Pe(_).append($()))}else u.setRowSpan(u.__rowSpan+1)}let f=r.getChildAtIndex(a);x(Q(f),"focusEndRow is not a TableRowNode"),f.insertBefore(m)}}function Hi(o=!0){let e=T();x(C(e)||z(e),"Expected a RangeSelection or TableSelection");let t=e.anchor.getNode(),n=e.focus.getNode(),[r]=Se(t),[i,,s]=Se(n),[l,a,c]=ot(s,i,r),m=l.length,f=o?Math.max(a.startColumn,c.startColumn):Math.min(a.startColumn,c.startColumn),d=o?f+i.__colSpan-1:f-1,u=s.getFirstChild();x(Q(u),"Expected firstTable child to be a row");let p=null;function g(_=re.NO_STATUS){let N=Pe(_).append($());return p===null&&(p=N),N}let h=u;e:for(let _=0;_<m;_++){if(_!==0){let R=h.getNextSibling();x(Q(R),"Expected row nextSibling to be a row"),h=R}let N=l[_],L=N[d<0?0:d].cell.__headerState,M=jl(L,re.ROW);if(d<0){ta(h,g(M));continue}let{cell:S,startColumn:A,startRow:O}=N[d];if(A+S.__colSpan-1<=d){let R=S,P=O,k=d;for(;P!==_&&R.__rowSpan>1;)if(k-=S.__colSpan,k>=0){let{cell:W,startRow:ie}=N[k];R=W,P=ie}else{h.append(g(M));continue e}R.insertAfter(g(M))}else S.setColSpan(S.__colSpan+1)}p!==null&&Ar(p)}function Ql(){let o=T();x(C(o)||z(o),"Expected a RangeSelection or TableSelection");let e=o.anchor.getNode(),t=o.focus.getNode(),[n,,r]=Se(e),[i]=Se(t),[s,l,a]=ot(r,n,i),{startRow:c}=l,{startRow:m}=a,f=m+i.__rowSpan-1;if(s.length===f-c+1){r.remove();return}let d=s[0].length,u=s[f+1],p=r.getChildAtIndex(f+1);for(let g=f;g>=c;g--){for(let _=d-1;_>=0;_--){let{cell:N,startRow:L,startColumn:M}=s[g][_];if(M===_&&(g===c&&L<c&&N.setRowSpan(N.__rowSpan-(L-c)),L>=c&&L+N.__rowSpan-1>f))if(N.setRowSpan(N.__rowSpan-(f-L+1)),x(p!==null,"Expected nextRowNode not to be null"),_===0)ta(p,N);else{let{cell:S}=u[_-1];S.insertAfter(N)}}let h=r.getChildAtIndex(g);x(Q(h),"Expected GridNode childAtIndex(%s) to be RowNode",String(g)),h.remove()}if(u!==void 0){let{cell:g}=u[0];Ar(g)}else{let g=s[c-1],{cell:h}=g[0];Ar(h)}}function ea(){let o=T();x(C(o)||z(o),"Expected a RangeSelection or TableSelection");let e=o.anchor.getNode(),t=o.focus.getNode(),[n,,r]=Se(e),[i]=Se(t),[s,l,a]=ot(r,n,i),{startColumn:c}=l,{startRow:m,startColumn:f}=a,d=Math.min(c,f),u=Math.max(c+n.__colSpan-1,f+i.__colSpan-1),p=u-d+1;if(s[0].length===u-d+1){r.selectPrevious(),r.remove();return}let h=s.length;for(let L=0;L<h;L++)for(let M=d;M<=u;M++){let{cell:S,startColumn:A}=s[L][M];if(A<d){if(M===d){let O=d-A;S.setColSpan(S.__colSpan-Math.min(p,S.__colSpan-O))}}else if(A+S.__colSpan-1>u){if(M===u){let O=u-A+1;S.setColSpan(S.__colSpan-O)}}else S.remove()}let _=s[m],N=c>f?_[c+n.__colSpan]:_[f+i.__colSpan];if(N!==void 0){let{cell:L}=N;Ar(L)}else{let L=f<c?_[f-1]:_[c-1],{cell:M}=L;Ar(M)}}function Ar(o){let e=o.getFirstDescendant();e==null?o.selectStart():e.getParentOrThrow().selectStart()}function ta(o,e){let t=o.getFirstChild();t!==null?t.insertBefore(e):o.append(e)}function oa(){let o=T();x(C(o)||z(o),"Expected a RangeSelection or TableSelection");let e=o.anchor.getNode(),[t,n,r]=Se(e),i=t.__colSpan,s=t.__rowSpan;if(i>1){for(let l=1;l<i;l++)t.insertAfter(Pe(re.NO_STATUS).append($()));t.setColSpan(1)}if(s>1){let[l,a]=ot(r,t,t),{startColumn:c,startRow:m}=a,f;for(let d=1;d<s;d++){let u=m+d,p=l[u];f=(f||n).getNextSibling(),x(Q(f),"Expected row next sibling to be a row");let g=null;for(let h=0;h<c;h++){let _=p[h],N=_.cell;_.startRow===u&&(g=N),N.__colSpan>1&&(h+=N.__colSpan-1)}if(g===null)for(let h=0;h<i;h++)ta(f,Pe(re.NO_STATUS).append($()));else for(let h=0;h<i;h++)g.insertAfter(Pe(re.NO_STATUS).append($()))}t.setRowSpan(1)}}function ot(o,e,t){let[n,r,i]=Gu(o,e,t);return x(r!==null,"Anchor not found in Grid"),x(i!==null,"Focus not found in Grid"),[n,r,i]}function Gu(o,e,t){let n=[],r=null,i=null;function s(c,m,f){let d={cell:f,startColumn:m,startRow:c},u=f.__rowSpan,p=f.__colSpan;for(let g=0;g<u;g++){n[c+g]===void 0&&(n[c+g]=[]);for(let h=0;h<p;h++)n[c+g][m+h]=d}e!==null&&e.is(f)&&(r=d),t!==null&&t.is(f)&&(i=d)}function l(c,m){return n[c]===void 0||n[c][m]===void 0}let a=o.getChildren();for(let c=0;c<a.length;c++){let m=a[c];x(Q(m),"Expected GridNode children to be TableRowNode");let f=m.getChildren(),d=0;for(let u of f){for(x(w(u),"Expected TableRowNode children to be TableCellNode");!l(c,d);)d++;s(c,d,u),d+=u.__colSpan}}return[n,r,i]}function Se(o){let e;if(o instanceof jt)e=o;else if("__type"in o){let r=H(o,w);x(w(r),"Expected to find a parent TableCellNode"),e=r}else{let r=H(o.getNode(),w);x(w(r),"Expected to find a parent TableCellNode"),e=r}let t=e.getParent();x(Q(t),"Expected TableCellNode to have a parent TableRowNode");let n=t.getParent();return x(K(n),"Expected TableRowNode to have a parent GridNode"),[e,t,n]}function Ki(o){let[e,,t]=Se(o),n=t.getChildren(),r=n.length,i=n[0].getChildren().length,s=new Array(r);for(let l=0;l<r;l++)s[l]=new Array(i);for(let l=0;l<r;l++){let c=n[l].getChildren(),m=0;for(let f=0;f<c.length;f++){for(;s[l][m];)m++;let d=c[f],u=d.__rowSpan||1,p=d.__colSpan||1;for(let g=0;g<u;g++)for(let h=0;h<p;h++)s[l+g][m+h]=d;if(e===d)return{colSpan:p,columnIndex:m,rowIndex:l,rowSpan:u};m+=p}}return null}var Ui=class o{constructor(e,t,n){this.anchor=t,this.focus=n,t._selection=this,n._selection=this,this._cachedNodes=null,this.dirty=!1,this.tableKey=e}getStartEndPoints(){return[this.anchor,this.focus]}isBackward(){return this.focus.isBefore(this.anchor)}getCachedNodes(){return this._cachedNodes}setCachedNodes(e){this._cachedNodes=e}is(e){return z(e)?this.tableKey===e.tableKey&&this.anchor.is(e.anchor)&&this.focus.is(e.focus):!1}set(e,t,n){this.dirty=!0,this.tableKey=e,this.anchor.key=t,this.focus.key=n,this._cachedNodes=null}clone(){return new o(this.tableKey,this.anchor,this.focus)}isCollapsed(){return!1}extract(){return this.getNodes()}insertRawText(e){}insertText(){}insertNodes(e){let t=this.focus.getNode();x(E(t),"Expected TableSelection focus to be an ElementNode"),Oo(t.select(0,t.getChildrenSize())).insertNodes(e)}getShape(){let e=j(this.anchor.key);x(w(e),"Expected TableSelection anchor to be (or a child of) TableCellNode");let t=Ki(e);x(t!==null,"getCellRect: expected to find AnchorNode");let n=j(this.focus.key);x(w(n),"Expected TableSelection focus to be (or a child of) TableCellNode");let r=Ki(n);x(r!==null,"getCellRect: expected to find focusCellNode");let i=Math.min(t.columnIndex,r.columnIndex),s=Math.max(t.columnIndex,r.columnIndex),l=Math.min(t.rowIndex,r.rowIndex),a=Math.max(t.rowIndex,r.rowIndex);return{fromX:Math.min(i,s),fromY:Math.min(l,a),toX:Math.max(i,s),toY:Math.max(l,a)}}getNodes(){let e=this._cachedNodes;if(e!==null)return e;let t=this.anchor.getNode(),n=this.focus.getNode(),r=H(t,w),i=H(n,w);x(w(r),"Expected TableSelection anchor to be (or a child of) TableCellNode"),x(w(i),"Expected TableSelection focus to be (or a child of) TableCellNode");let s=r.getParent();x(Q(s),"Expected anchorCell to have a parent TableRowNode");let l=s.getParent();x(K(l),"Expected tableNode to have a parent TableNode");let a=i.getParents()[1];if(a!==l){if(l.isParentOf(i)){let O=a.getParent();x(O!=null,"Expected focusCellParent to have a parent"),this.set(this.tableKey,i.getKey(),O.getKey())}else{let O=l.getParent();x(O!=null,"Expected gridParent to have a parent"),this.set(this.tableKey,O.getKey(),i.getKey())}return this.getNodes()}let[c,m,f]=ot(l,r,i),d=Math.min(m.startColumn,f.startColumn),u=Math.min(m.startRow,f.startRow),p=Math.max(m.startColumn+m.cell.__colSpan-1,f.startColumn+f.cell.__colSpan-1),g=Math.max(m.startRow+m.cell.__rowSpan-1,f.startRow+f.cell.__rowSpan-1),h=d,_=u,N=d,L=u;function M(O){let{cell:R,startColumn:P,startRow:k}=O;d=Math.min(d,P),u=Math.min(u,k),p=Math.max(p,P+R.__colSpan-1),g=Math.max(g,k+R.__rowSpan-1)}for(;d<h||u<_||p>N||g>L;){if(d<h){let O=L-_,R=h-1;for(let P=0;P<=O;P++)M(c[_+P][R]);h=R}if(u<_){let O=N-h,R=_-1;for(let P=0;P<=O;P++)M(c[R][h+P]);_=R}if(p>N){let O=L-_,R=N+1;for(let P=0;P<=O;P++)M(c[_+P][R]);N=R}if(g>L){let O=N-h,R=L+1;for(let P=0;P<=O;P++)M(c[R][h+P]);L=R}}let S=[l],A=null;for(let O=u;O<=g;O++)for(let R=d;R<=p;R++){let{cell:P}=c[O][R],k=P.getParent();x(Q(k),"Expected TableCellNode parent to be a TableRowNode"),k!==A&&S.push(k),S.push(P,...ex(P)),A=k}return st()||(this._cachedNodes=S),S}getTextContent(){let e=this.getNodes().filter(n=>w(n)),t="";for(let n=0;n<e.length;n++){let r=e[n],i=r.__parent,s=(e[n+1]||{}).__parent;t+=r.getTextContent()+(s!==i?` -`:" ")}return t}};function z(o){return o instanceof Ui}function zi(){let o=De("root",0,"element"),e=De("root",0,"element");return new Ui("root",o,e)}function ex(o){let e=[],t=[o];for(;t.length>0;){let n=t.pop();x(n!==void 0,"Stack.length > 0; can't be undefined"),E(n)&&t.unshift(...n.getChildren()),n!==o&&e.push(n)}return e}var Ir=class{constructor(e,t){this.isHighlightingCells=!1,this.anchorX=-1,this.anchorY=-1,this.focusX=-1,this.focusY=-1,this.listenersToRemove=new Set,this.tableNodeKey=t,this.editor=e,this.table={columns:0,domRows:[],rows:0},this.tableSelection=null,this.anchorCellNodeKey=null,this.focusCellNodeKey=null,this.anchorCell=null,this.focusCell=null,this.hasHijackedSelectionStyles=!1,this.trackTable(),this.isSelecting=!1}getTable(){return this.table}removeListeners(){Array.from(this.listenersToRemove).forEach(e=>e())}trackTable(){let e=new MutationObserver(t=>{this.editor.update(()=>{let n=!1;for(let i=0;i<t.length;i++){let a=t[i].target.nodeName;if(a==="TABLE"||a==="TBODY"||a==="THEAD"||a==="TR"){n=!0;break}}if(!n)return;let r=this.editor.getElementByKey(this.tableNodeKey);if(!r)throw new Error("Expected to find TableElement in DOM");this.table=Xo(r)})});this.editor.update(()=>{let t=this.editor.getElementByKey(this.tableNodeKey);if(!t)throw new Error("Expected to find TableElement in DOM");this.table=Xo(t),e.observe(t,{attributes:!0,childList:!0,subtree:!0})})}clearHighlight(){let e=this.editor;this.isHighlightingCells=!1,this.anchorX=-1,this.anchorY=-1,this.focusX=-1,this.focusY=-1,this.tableSelection=null,this.anchorCellNodeKey=null,this.focusCellNodeKey=null,this.anchorCell=null,this.focusCell=null,this.hasHijackedSelectionStyles=!1,this.enableHighlightStyle(),e.update(()=>{let t=j(this.tableNodeKey);if(!K(t))throw new Error("Expected TableNode.");let n=e.getElementByKey(this.tableNodeKey);if(!n)throw new Error("Expected to find TableElement in DOM");let r=Xo(n);kr(e,r,null),q(null),e.dispatchCommand(ve,void 0)})}enableHighlightStyle(){let e=this.editor;e.update(()=>{let t=e.getElementByKey(this.tableNodeKey);if(!t)throw new Error("Expected to find TableElement in DOM");vi(t,e._config.theme.tableSelection),t.classList.remove("disable-selection"),this.hasHijackedSelectionStyles=!1})}disableHighlightStyle(){let e=this.editor;e.update(()=>{let t=e.getElementByKey(this.tableNodeKey);if(!t)throw new Error("Expected to find TableElement in DOM");Te(t,e._config.theme.tableSelection),this.hasHijackedSelectionStyles=!0})}updateTableTableSelection(e){if(e!==null&&e.tableKey===this.tableNodeKey){let t=this.editor;this.tableSelection=e,this.isHighlightingCells=!0,this.disableHighlightStyle(),kr(t,this.table,this.tableSelection)}else e==null?this.clearHighlight():(this.tableNodeKey=e.tableKey,this.updateTableTableSelection(e))}setFocusCellForSelection(e,t=!1){let n=this.editor;n.update(()=>{let r=j(this.tableNodeKey);if(!K(r))throw new Error("Expected TableNode.");if(!n.getElementByKey(this.tableNodeKey))throw new Error("Expected to find TableElement in DOM");let s=e.x,l=e.y;if(this.focusCell=e,this.anchorCell!==null){let a=na(n._window);a&&a.setBaseAndExtent(this.anchorCell.elem,0,this.focusCell.elem,0)}if(!this.isHighlightingCells&&(this.anchorX!==s||this.anchorY!==l||t))this.isHighlightingCells=!0,this.disableHighlightStyle();else if(s===this.focusX&&l===this.focusY)return;if(this.focusX=s,this.focusY=l,this.isHighlightingCells){let a=ee(e.elem);if(this.tableSelection!=null&&this.anchorCellNodeKey!=null&&w(a)&&r.is(Co(a))){let c=a.getKey();this.tableSelection=this.tableSelection.clone()||zi(),this.focusCellNodeKey=c,this.tableSelection.set(this.tableNodeKey,this.anchorCellNodeKey,this.focusCellNodeKey),q(this.tableSelection),n.dispatchCommand(ve,void 0),kr(n,this.table,this.tableSelection)}}})}setAnchorCellForSelection(e){this.isHighlightingCells=!1,this.anchorCell=e,this.anchorX=e.x,this.anchorY=e.y,this.editor.update(()=>{let t=ee(e.elem);if(w(t)){let n=t.getKey();this.tableSelection=this.tableSelection!=null?this.tableSelection.clone():zi(),this.anchorCellNodeKey=n}})}formatCells(e){this.editor.update(()=>{let t=T();z(t)||x(!1,"Expected grid selection");let n=Ko(),r=n.anchor,i=n.focus;t.getNodes().forEach(s=>{w(s)&&s.getTextContentSize()!==0&&(r.set(s.getKey(),0,"element"),i.set(s.getKey(),s.getChildrenSize(),"element"),n.formatText(e))}),q(t),this.editor.dispatchCommand(ve,void 0)})}clearText(){let e=this.editor;e.update(()=>{let t=j(this.tableNodeKey);if(!K(t))throw new Error("Expected TableNode.");let n=T();z(n)||x(!1,"Expected grid selection");let r=n.getNodes().filter(w);if(r.length===this.table.columns*this.table.rows){t.selectPrevious(),t.remove(),F().selectStart();return}r.forEach(i=>{if(E(i)){let s=$(),l=Y();s.append(l),i.append(s),i.getChildren().forEach(a=>{a!==s&&a.remove()})}}),kr(e,this.table,null),q(null),e.dispatchCommand(ve,void 0)})}};var tx="__lexicalTableSelection",na=o=>fe?(o||window).getSelection():null,ox=o=>(o.buttons&1)===1;function sa(o,e,t,n){let r=t.getRootElement();if(r===null)throw new Error("No root element.");let i=new Ir(t,o.getKey()),s=t._window||window;nx(e,i);let l=()=>{let d=()=>{i.isSelecting=!1,s.removeEventListener("mouseup",d),s.removeEventListener("mousemove",u)},u=p=>{setTimeout(()=>{if(!ox(p)&&i.isSelecting){i.isSelecting=!1,s.removeEventListener("mouseup",d),s.removeEventListener("mousemove",u);return}let g=ia(p.target);g!==null&&(i.anchorX!==g.x||i.anchorY!==g.y)&&(p.preventDefault(),i.setFocusCellForSelection(g))},0)};return{onMouseMove:u,onMouseUp:d}};e.addEventListener("mousedown",d=>{setTimeout(()=>{if(d.button!==0||!s)return;let u=ia(d.target);u!==null&&(jo(d),i.setAnchorCellForSelection(u));let{onMouseUp:p,onMouseMove:g}=l();i.isSelecting=!0,s.addEventListener("mouseup",p),s.addEventListener("mousemove",g)},0)});let a=d=>{d.button===0&&t.update(()=>{let u=T(),p=d.target;z(u)&&u.tableKey===i.tableNodeKey&&r.contains(p)&&i.clearHighlight()})};s.addEventListener("mousedown",a),i.listenersToRemove.add(()=>s.removeEventListener("mousedown",a)),i.listenersToRemove.add(t.registerCommand(Pt,d=>$r(t,d,"down",o,i),qe)),i.listenersToRemove.add(t.registerCommand(Mo,d=>$r(t,d,"up",o,i),qe)),i.listenersToRemove.add(t.registerCommand(Lo,d=>$r(t,d,"backward",o,i),qe)),i.listenersToRemove.add(t.registerCommand(So,d=>$r(t,d,"forward",o,i),qe)),i.listenersToRemove.add(t.registerCommand(vo,d=>{let u=T();if(z(u)){let p=H(u.focus.getNode(),w);if(w(p))return jo(d),p.selectEnd(),!0}return!1},qe));let c=d=>()=>{let u=T();if(!Go(u,o))return!1;if(z(u))return i.clearText(),!0;if(C(u)){let p=H(u.anchor.getNode(),A=>w(A));if(!w(p))return!1;let g=u.anchor.getNode(),h=u.focus.getNode(),_=o.isParentOf(g),N=o.isParentOf(h);if(_&&!N||N&&!_)return i.clearText(),!0;let M=H(u.anchor.getNode(),A=>E(A)),S=M&&H(M,A=>E(A)&&w(A.getParent()));if(!E(S)||!E(M))return!1;if(d===it&&S.getPreviousSibling()===null)return!0}return!1};[Tt,it,Ze].forEach(d=>{i.listenersToRemove.add(t.registerCommand(d,c(d),Re))});let m=d=>{let u=T();if(!Go(u,o)){let p=u?u.getNodes():null;if(p){let g=p.find(h=>K(h)&&h.getKey()===i.tableNodeKey);if(K(g)){if(!g.getParent())return!1;g.remove()}}return!1}if(z(u))return d&&(d.preventDefault(),d.stopPropagation()),i.clearText(),!0;if(C(u)){let p=H(u.anchor.getNode(),g=>w(g));if(!w(p))return!1}return!1};i.listenersToRemove.add(t.registerCommand(Bt,m,Re)),i.listenersToRemove.add(t.registerCommand(Ft,m,Re)),i.listenersToRemove.add(t.registerCommand(so,d=>{let u=T();if(u){if(!(z(u)||C(u)))return!1;An(t,mt(d,ClipboardEvent)?d:null,Ri(u));let p=m(d);return C(u)&&u.removeText(),p}return!1},Re)),i.listenersToRemove.add(t.registerCommand(Ne,d=>{let u=T();if(!Go(u,o))return!1;if(z(u))return i.formatCells(d),!0;if(C(u)){let p=H(u.anchor.getNode(),g=>w(g));if(!w(p))return!1}return!1},Re)),i.listenersToRemove.add(t.registerCommand(rt,d=>{let u=T();if(!Go(u,o))return!1;if(z(u))return i.clearHighlight(),!1;if(C(u)){let p=H(u.anchor.getNode(),g=>w(g));if(!w(p))return!1;if(typeof d=="string"){let g=Qu(t,u,o);if(g)return Ju(g,o,[Y(d)]),!0}}return!1},Re)),n&&i.listenersToRemove.add(t.registerCommand(wo,d=>{let u=T();if(!C(u)||!u.isCollapsed()||!Go(u,o))return!1;let p=qi(u.anchor.getNode());if(p===null)return!1;jo(d);let g=o.getCordsFromCellNode(p,i.table);return ef(i,o,g.x,g.y,d.shiftKey?"backward":"forward"),!0},Re)),i.listenersToRemove.add(t.registerCommand(or,d=>o.isSelected(),qe));function f(d){let u=o.getCordsFromCellNode(d,i.table);return o.getDOMCellFromCordsOrThrow(u.x,u.y,i.table)}return i.listenersToRemove.add(t.registerCommand(jn,d=>{let{nodes:u,selection:p}=d,g=p.getStartEndPoints(),h=z(p),N=C(p)&&H(p.anchor.getNode(),Be=>w(Be))!==null&&H(p.focus.getNode(),Be=>w(Be))!==null||h;if(u.length!==1||!K(u[0])||!N||g===null)return!1;let[L]=g,M=u[0],S=M.getChildren(),A=M.getFirstChildOrThrow().getChildrenSize(),O=M.getChildrenSize(),R=H(L.getNode(),Be=>w(Be)),P=R&&H(R,Be=>Q(Be)),k=P&&H(P,Be=>K(Be));if(!w(R)||!Q(P)||!K(k))return!1;let W=P.getIndexWithinParent(),ie=Math.min(k.getChildrenSize()-1,W+O-1),rn=R.getIndexWithinParent(),Za=Math.min(P.getChildrenSize()-1,rn+A-1),Yg=Math.min(rn,Za),Zg=Math.min(W,ie),Vg=Math.max(rn,Za),Xg=Math.max(W,ie),Gg=k.getChildren(),Va=0;for(let Be=Zg;Be<=Xg;Be++){let Xa=Gg[Be];if(!Q(Xa))return!1;let Ga=S[Va];if(!Q(Ga))return!1;let jg=Xa.getChildren(),Jg=Ga.getChildren(),ja=0;for(let Ls=Yg;Ls<=Vg;Ls++){let Gr=jg[Ls];if(!w(Gr))return!1;let Ja=Jg[ja];if(!w(Ja))return!1;let Qg=Gr.getChildren();Ja.getChildren().forEach(sn=>{b(sn)&&$().append(sn),Gr.append(sn)}),Qg.forEach(sn=>sn.remove()),ja++}Va++}return!0},Re)),i.listenersToRemove.add(t.registerCommand(ve,()=>{let d=T(),u=We();if(C(d)){let{anchor:p,focus:g}=d,h=p.getNode(),_=g.getNode(),N=qi(h),L=qi(_),M=!!(N&&o.is(Co(N))),S=!!(L&&o.is(Co(L))),A=M!==S,O=M&&S,R=d.isBackward();if(A){let P=d.clone();if(S){let[k]=ot(o,L,L),W=k[0][0].cell,ie=k[k.length-1].at(-1).cell;P.focus.set(R?W.getKey():ie.getKey(),R?W.getChildrenSize():ie.getChildrenSize(),"element")}q(P),ju(t,i)}else O&&(N.is(L)||(i.setAnchorCellForSelection(f(N)),i.setFocusCellForSelection(f(L),!0),i.isSelecting||setTimeout(()=>{let{onMouseUp:P,onMouseMove:k}=l();i.isSelecting=!0,s.addEventListener("mouseup",P),s.addEventListener("mousemove",k)},0)))}else if(d&&z(d)&&d.is(u)&&d.tableKey===o.getKey()){let p=na(t._window);if(p&&p.anchorNode&&p.focusNode){let g=ee(p.focusNode),h=g&&!o.is(Co(g)),_=ee(p.anchorNode),N=_&&o.is(Co(_));if(h&&N&&p.rangeCount>0){let L=Ll(p,t);L&&(L.anchor.set(o.getKey(),d.isBackward()?o.getChildrenSize():0,"element"),p.removeAllRanges(),q(L))}}}return d&&!d.is(u)&&(z(d)||z(u))&&i.tableSelection&&!i.tableSelection.is(u)?(z(d)&&d.tableKey===i.tableNodeKey?i.updateTableTableSelection(d):!z(d)&&z(u)&&u.tableKey===i.tableNodeKey&&i.updateTableTableSelection(null),!1):(i.hasHijackedSelectionStyles&&!o.isSelected()?rx(t,i):!i.hasHijackedSelectionStyles&&o.isSelected()&&ju(t,i),!1)},Re)),i.listenersToRemove.add(t.registerCommand($t,()=>{let d=T();if(!C(d)||!d.isCollapsed()||!Go(d,o))return!1;let u=Qu(t,d,o);return u?(Ju(u,o),!0):!1},Re)),i}function nx(o,e){o[tx]=e}function ia(o){let e=o;for(;e!=null;){let t=e.nodeName;if(t==="TD"||t==="TH"){let n=e._cell;return n===void 0?null:n}e=e.parentNode}return null}function Xo(o){let e=[],t={columns:0,domRows:e,rows:0},n=o.firstChild,r=0,i=0;for(e.length=0;n!=null;){let s=n.nodeName;if(s==="TD"||s==="TH"){let c=n,m={elem:c,hasBackgroundColor:c.style.backgroundColor!=="",highlighted:!1,x:r,y:i};n._cell=m;let f=e[i];f===void 0&&(f=e[i]=[]),f[r]=m}else{let c=n.firstChild;if(c!=null){n=c;continue}}let l=n.nextSibling;if(l!=null){r++,n=l;continue}let a=n.parentNode;if(a!=null){let c=a.nextSibling;if(c==null)break;i++,r=0,n=c}}return t.columns=r+1,t.rows=i+1,t}function kr(o,e,t){let n=new Set(t?t.getNodes():[]);la(e,(r,i)=>{let s=r.elem;n.has(i)?(r.highlighted=!0,tf(o,r)):(r.highlighted=!1,of(o,r),s.getAttribute("style")||s.removeAttribute("style"))})}function la(o,e){let{domRows:t}=o;for(let n=0;n<t.length;n++){let r=t[n];if(r)for(let i=0;i<r.length;i++){let s=r[i];if(!s)continue;let l=ee(s.elem);l!==null&&e(s,l,{x:i,y:n})}}}function ju(o,e){e.disableHighlightStyle(),la(e.table,t=>{t.highlighted=!0,tf(o,t)})}function rx(o,e){e.enableHighlightStyle(),la(e.table,t=>{let n=t.elem;t.highlighted=!1,of(o,t),n.getAttribute("style")||n.removeAttribute("style")})}var ef=(o,e,t,n,r)=>{let i=r==="forward";switch(r){case"backward":case"forward":return t!==(i?o.table.columns-1:0)?Wi(e.getCellNodeFromCordsOrThrow(t+(i?1:-1),n,o.table),i):n!==(i?o.table.rows-1:0)?Wi(e.getCellNodeFromCordsOrThrow(i?0:o.table.columns-1,n+(i?1:-1),o.table),i):i?e.selectNext():e.selectPrevious(),!0;case"up":return n!==0?Wi(e.getCellNodeFromCordsOrThrow(t,n-1,o.table),!1):e.selectPrevious(),!0;case"down":return n!==o.table.rows-1?Wi(e.getCellNodeFromCordsOrThrow(t,n+1,o.table),!0):e.selectNext(),!0;default:return!1}},ix=(o,e,t,n,r)=>{let i=r==="forward";switch(r){case"backward":case"forward":return t!==(i?o.table.columns-1:0)&&o.setFocusCellForSelection(e.getDOMCellFromCordsOrThrow(t+(i?1:-1),n,o.table)),!0;case"up":return n!==0?(o.setFocusCellForSelection(e.getDOMCellFromCordsOrThrow(t,n-1,o.table)),!0):!1;case"down":return n!==o.table.rows-1?(o.setFocusCellForSelection(e.getDOMCellFromCordsOrThrow(t,n+1,o.table)),!0):!1;default:return!1}};function Go(o,e){if(C(o)||z(o)){let t=e.isParentOf(o.anchor.getNode()),n=e.isParentOf(o.focus.getNode());return t&&n}return!1}function Wi(o,e){e?o.selectStart():o.selectEnd()}var ra="172,206,247";function tf(o,e){let t=e.elem,n=ee(t);x(w(n),"Expected to find LexicalNode from Table Cell DOMNode"),n.getBackgroundColor()===null?t.style.setProperty("background-color",`rgb(${ra})`):t.style.setProperty("background-image",`linear-gradient(to right, rgba(${ra},0.85), rgba(${ra},0.85))`),t.style.setProperty("caret-color","transparent")}function of(o,e){let t=e.elem,n=ee(t);x(w(n),"Expected to find LexicalNode from Table Cell DOMNode"),n.getBackgroundColor()===null&&t.style.removeProperty("background-color"),t.style.removeProperty("background-image"),t.style.removeProperty("caret-color")}function qi(o){let e=H(o,w);return w(e)?e:null}function Co(o){let e=H(o,K);return K(e)?e:null}function $r(o,e,t,n,r){if((t==="up"||t==="down")&&sx(o))return!1;let i=T();if(!Go(i,n)){if(C(i)){if(i.isCollapsed()&&t==="backward"){let s=i.anchor.type,l=i.anchor.offset;if(s!=="element"&&!(s==="text"&&l===0))return!1;let a=i.anchor.getNode();if(!a)return!1;let c=H(a,f=>E(f)&&!f.isInline());if(!c)return!1;let m=c.getPreviousSibling();return!m||!K(m)?!1:(jo(e),m.selectEnd(),!0)}else if(e.shiftKey&&(t==="up"||t==="down")){let s=i.focus.getNode();if(me(s)){let l=i.getNodes()[0];if(l){let a=H(l,w);if(a&&n.isParentOf(a)){let c=n.getFirstDescendant(),m=n.getLastDescendant();if(!c||!m)return!1;let[f]=Se(c),[d]=Se(m),u=n.getCordsFromCellNode(f,r.table),p=n.getCordsFromCellNode(d,r.table),g=n.getDOMCellFromCordsOrThrow(u.x,u.y,r.table),h=n.getDOMCellFromCordsOrThrow(p.x,p.y,r.table);return r.setAnchorCellForSelection(g),r.setFocusCellForSelection(h,!0),!0}}return!1}else{let l=H(s,c=>E(c)&&!c.isInline());if(!l)return!1;let a=t==="down"?l.getNextSibling():l.getPreviousSibling();if(K(a)&&r.tableNodeKey===a.getKey()){let c=a.getFirstDescendant(),m=a.getLastDescendant();if(!c||!m)return!1;let[f]=Se(c),[d]=Se(m),u=i.clone();return u.focus.set((t==="up"?f:d).getKey(),t==="up"?0:d.getChildrenSize(),"element"),q(u),!0}}}}return!1}if(C(i)&&i.isCollapsed()){let{anchor:s,focus:l}=i,a=H(s.getNode(),w),c=H(l.getNode(),w);if(!w(a)||!a.is(c))return!1;let m=Co(a);if(m!==n&&m!=null){let N=o.getElementByKey(m.getKey());if(N!=null)return r.table=Xo(N),$r(o,e,t,m,r)}if(t==="backward"||t==="forward"){let N=s.type,L=s.offset,M=s.getNode();if(!M)return!1;let S=i.getNodes();return S.length===1&&B(S[0])?!1:lx(N,L,M,t)?dx(e,M,n,t):!1}let f=o.getElementByKey(a.__key),d=o.getElementByKey(s.key);if(d==null||f==null)return!1;let u;if(s.type==="element")u=d.getBoundingClientRect();else{let N=window.getSelection();if(N===null||N.rangeCount===0)return!1;u=N.getRangeAt(0).getBoundingClientRect()}let p=t==="up"?a.getFirstChild():a.getLastChild();if(p==null)return!1;let g=o.getElementByKey(p.__key);if(g==null)return!1;let h=g.getBoundingClientRect();if(t==="up"?h.top>u.top-u.height:u.bottom+u.height>h.bottom){jo(e);let N=n.getCordsFromCellNode(a,r.table);if(e.shiftKey){let L=n.getDOMCellFromCordsOrThrow(N.x,N.y,r.table);r.setAnchorCellForSelection(L),r.setFocusCellForSelection(L,!0)}else return ef(r,n,N.x,N.y,t);return!0}}else if(z(i)){let{anchor:s,focus:l}=i,a=H(s.getNode(),w),c=H(l.getNode(),w),[m]=i.getNodes(),f=o.getElementByKey(m.getKey());if(!w(a)||!w(c)||!K(m)||f==null)return!1;r.updateTableTableSelection(i);let d=Xo(f),u=n.getCordsFromCellNode(a,d),p=n.getDOMCellFromCordsOrThrow(u.x,u.y,d);if(r.setAnchorCellForSelection(p),jo(e),e.shiftKey){let g=n.getCordsFromCellNode(c,d);return ix(r,m,g.x,g.y,t)}else c.selectEnd();return!0}return!1}function jo(o){o.preventDefault(),o.stopImmediatePropagation(),o.stopPropagation()}function sx(o){let e=o.getRootElement();return e?e.hasAttribute("aria-controls")&&e.getAttribute("aria-controls")==="typeahead-menu":!1}function lx(o,e,t,n){return ax(o,t,n)||cx(o,e,t,n)}function ax(o,e,t){return o==="element"&&(t==="backward"?e.getPreviousSibling()===null:e.getNextSibling()===null)}function cx(o,e,t,n){let r=H(t,s=>E(s)&&!s.isInline());if(!r)return!1;let i=n==="backward"?e===0:e===t.getTextContentSize();return o==="text"&&i&&(n==="backward"?r.getPreviousSibling()===null:r.getNextSibling()===null)}function dx(o,e,t,n){let r=H(e,w);if(!w(r))return!1;let[i,s]=ot(t,r,r);if(!ux(i,s,n))return!1;let l=fx(e,n,t);return!l||K(l)?!1:(jo(o),n==="backward"?l.selectEnd():l.selectStart(),!0)}function ux(o,e,t){let n=o[0][0],r=o[o.length-1][o[0].length-1],{startColumn:i,startRow:s}=e;return t==="backward"?i===n.startColumn&&s===n.startRow:i===r.startColumn&&s===r.startRow}function fx(o,e,t){let n=H(o,i=>E(i)&&!i.isInline());if(!n)return;let r=e==="backward"?n.getPreviousSibling():n.getNextSibling();return r&&K(r)?r:e==="backward"?t.getPreviousSibling():t.getNextSibling()}function Ju(o,e,t){let n=$();o==="first"?e.insertBefore(n):e.insertAfter(n),n.append(...t||[]),n.selectEnd()}function Qu(o,e,t){let n=t.getParent();if(!n)return;let r=o.getElementByKey(n.getKey());if(!r)return;let i=window.getSelection();if(!i||i.anchorNode!==r)return;let s=H(e.anchor.getNode(),h=>w(h));if(!s)return;let l=H(s,h=>K(h));if(!K(l)||!l.is(t))return;let[a,c]=ot(t,s,s),m=a[0][0],f=a[a.length-1][a[0].length-1],{startRow:d,startColumn:u}=c,p=d===m.startRow&&u===m.startColumn,g=d===f.startRow&&u===f.startColumn;return p?"first":g?"last":void 0}var kt=class{constructor(e){this.rowCount=0;this.columnCount=0;this.cells=[];this.buildCellMap(e)}buildCellMap(e){let t=[],n=(a,c,m)=>{typeof t[c]>"u"&&(t[c]=[]),t[c][a]=m},r=(a,c)=>!!(t[c]&&t[c][a]),i=e.getChildren().filter(a=>Q(a));for(let a=0;a<i.length;a++){let m=i[a].getChildren().filter(d=>w(d)),f=0;for(let d=0;d<m.length;d++){let u=m[d],p=u.getColSpan()||1,g=u.getRowSpan()||1;for(let h=f;h<f+p;h++)for(let _=a;_<a+g;_++){for(;r(h,_);)f+=1,h+=1;n(h,_,u)}f+=p}}this.rowCount=t.length,this.columnCount=Math.max(...t.map(a=>a.length));let s=[],l=t[0][0];for(let a=0;a<this.rowCount;a++)for(let c=0;c<this.columnCount;c++)!t[a]||!t[a][c]?s.push(l):(s.push(t[a][c]),l=t[a][c]);this.cells=s}getCellAtPosition(e,t){let n=t*this.columnCount+e;if(n>=this.cells.length)throw new Error(`TableMap Error: Attempted to get cell ${n+1} of ${this.cells.length}`);return this.cells[n]}getCellsInRange(e){let t=Math.max(Math.min(e.fromX,e.toX),0),n=Math.min(Math.max(e.fromX,e.toX),this.columnCount-1),r=Math.max(Math.min(e.fromY,e.toY),0),i=Math.min(Math.max(e.fromY,e.toY),this.rowCount-1),s=new Set;for(let l=r;l<=i;l++)for(let a=t;a<=n;a++)s.add(this.getCellAtPosition(a,l));return[...s.values()]}getCellsInColumn(e){return this.getCellsInRange({fromX:e,toX:e,fromY:0,toY:this.rowCount-1})}getRangeForCell(e){let t=null,n=e.getKey();for(let r=0;r<this.rowCount;r++)for(let i=0;i<this.columnCount;i++){let s=r*this.columnCount+i;this.cells[s].getKey()===n&&(t===null?t={fromX:i,toX:i,fromY:r,toY:r}:(t.fromX=Math.min(t.fromX,i),t.toX=Math.max(t.toX,i),t.fromY=Math.min(t.fromY,r),t.toY=Math.max(t.toY,r)))}return t}};function aa(o){return At(o,K)}function rf(o){let e=sf(o),t=o.querySelector("colgroup"),n=[];return t&&(t.childElementCount===e?.childElementCount||!e)&&(n=nf(t)),n.filter(Boolean).length===0&&e&&(n=nf(e)),n}function sf(o){let e=o.querySelectorAll("tr"),t=0,n=null;for(let r of e)r.childElementCount>t&&(n=r,t=r.childElementCount);return n}function nf(o){return[...o.children].map(e=>mx(e))}function mx(o){let e=o.style.width||o.getAttribute("width");return e&&!Number.isNaN(Number(e))&&(e=e+"px"),e||""}function ca(o,e,t){let n=o.getChildren(),r=0;for(let s of n){let l=s.getChildren().length;l>r&&(r=l)}let i=o.getColWidths();(i.length===0||i.length<r)&&(i=Array(r).fill("")),e+1>i.length&&console.error(`Attempted to set table column width for column [${e}] but only ${i.length} columns found`),i[e]=ft(t),o.setColWidths(i)}function lf(o,e,t){let n=e.getColWidths();if(n.length>t&&n[t].endsWith("px"))return Number(n[t].replace("px",""));let r=o.getElementByKey(e.__key);if(r){let i=sf(r);if(i&&i.children.length>t)return i.children[t].clientWidth}return 0}function af(o){let e=o.getParent();if(!Q(e))return-1;let t=0,n=e.getChildren();for(let r of n){let i=r.getColSpan()||1;if(t+=i,r.getKey()===o.getKey())break}return t-1}function cf(o,e){let t=aa(o),n=af(o);t&&n>=0&&ca(t,n,e)}function df(o,e){let t=aa(e),n=af(e);if(!t)return"";let r=t.getColWidths();return r.length>n?r[n]:""}function Jo(o){if(z(o))return o.getNodes().filter(n=>w(n));let e=V(o,w);return e?[e]:[]}function uf(o){let e=o.getShape(),t=Jo(o);if(t.length===0)return;let n=aa(t[0]);if(!n)return;let r=new kt(n),i=r.getCellAtPosition(e.toX,e.toY);if(!i)return;let s=e.toX+((i.getColSpan()||1)-1),l=e.toY+((i.getRowSpan()||1)-1),a=r.getCellsInRange({fromX:e.fromX,fromY:e.fromY,toX:s,toY:l});if(a.length===0)return;let c=a[0],m=Math.abs(e.fromX-s)+1,f=Math.abs(e.fromY-l)+1;for(let d=1;d<a.length;d++){let u=a[d];c.append(...u.getChildren()),u.remove()}c.setColSpan(m),c.setRowSpan(f)}function Qt(o){let e=Jo(o),t={};for(let n of e){let r=n.getParent();Q(r)&&(t[r.getKey()]=r)}return Object.values(t)}function Nt(o){let e=Jo(o);if(e.length===0)return null;let t=At(e[0],K);return K(t)?t:null}function ff(o){o.setColWidths([]);for(let e of o.getChildren()){if(!Q(e))continue;let t=e.getStyles();t.delete("height"),t.delete("width"),e.setStyles(t);let n=e.getChildren().filter(r=>w(r));for(let r of n){let i=r.getStyles();i.delete("height"),i.delete("width"),r.setStyles(i),r.clearWidth()}}}function mf(o){o.setColWidths([]),o.setStyles(new Map);for(let e of o.getChildren()){if(!Q(e))continue;e.setStyles(new Map);let t=e.getChildren().filter(n=>w(n));for(let n of t)n.setStyles(new Map),n.clearWidth()}}function da(o,e){e:for(let t of o.getChildren()){if(!Q(t))continue;let n=t.getChildren();for(let r of n){if(!w(r))return;if(e(r)===!1)break e}}}function pf(o){let e=null;return da(o,t=>{let n=t.getStyles().get("padding")||"";if(e===null&&(e=n),n!==e)return e=null,!1}),e||""}var xt=class o extends wt{constructor(t){super(t);this.__colWidths=[];this.__styles=new Map}static getType(){return"table"}static clone(t){let n=new o(t.__key);return To(t,n),n.__colWidths=t.__colWidths,n.__styles=new Map(t.__styles),n}static importDOM(){return{table:t=>({conversion:px,priority:1})}}static importJSON(t){let n=Rr();return tt(t,n),n.setColWidths(t.colWidths),n.setStyles(new Map(Object.entries(t.styles))),n}exportJSON(){return{...super.exportJSON(),type:"table",version:1,colWidths:this.__colWidths,styles:Object.fromEntries(this.__styles)}}createDOM(t,n){let r=document.createElement("table");Te(r,t.theme.table),et(r,this);let i=this.getColWidths();if(i.length>0){let s=y("colgroup");for(let l of i){let a=y("col");l&&(a.style.width=l),s.append(a)}r.append(s)}for(let[s,l]of this.__styles.entries())r.style.setProperty(s,l);return r}updateDOM(t){return vt(t,this)||this.__colWidths.join(":")!==t.__colWidths.join(":")||this.__styles.size!==t.__styles.size||Array.from(this.__styles.values()).join(":")!==Array.from(t.__styles.values()).join(":")}exportDOM(t){return{...super.exportDOM(t),after:n=>{if(!n)return;let r=n.cloneNode(),i=document.createElement("tbody");if(pe(n))for(let s of Array.from(n.children))s.nodeName==="TR"?i.append(s):r.append(s);return r.append(i),r}}}canBeEmpty(){return!1}isShadowRoot(){return!0}setColWidths(t){let n=this.getWritable();n.__colWidths=t}getColWidths(){return this.getLatest().__colWidths}getStyles(){let t=this.getLatest();return new Map(t.__styles)}setStyles(t){let n=this.getWritable();n.__styles=new Map(t)}getCordsFromCellNode(t,n){let{rows:r,domRows:i}=n;for(let s=0;s<r;s++){let l=i[s];if(l==null)continue;let a=l.findIndex(c=>{if(!c)return;let{elem:m}=c;return ee(m)===t});if(a!==-1)return{x:a,y:s}}throw new Error("Cell not found in table.")}getDOMCellFromCords(t,n,r){let{domRows:i}=r,s=i[n];if(s==null)return null;let l=t<s.length?t:s.length-1,a=s[l];return a??null}getDOMCellFromCordsOrThrow(t,n,r){let i=this.getDOMCellFromCords(t,n,r);if(!i)throw new Error("Cell not found at cords.");return i}getCellNodeFromCords(t,n,r){let i=this.getDOMCellFromCords(t,n,r);if(i==null)return null;let s=ee(i.elem);return w(s)?s:null}getCellNodeFromCordsOrThrow(t,n,r){let i=this.getCellNodeFromCords(t,n,r);if(!i)throw new Error("Node at cords not TableCellNode.");return i}canSelectBefore(){return!0}canIndent(){return!1}};function px(o){let e=Rr();Qe(o,e);let t=rf(o);return e.setColWidths(t),e.setStyles(Mn(o)),{node:e}}function Rr(){return oe(new xt)}function K(o){return o instanceof xt}var Hn=class o extends J{constructor(){super(...arguments);this.__id=""}static getType(){return"horizontal-rule"}setId(t){let n=this.getWritable();n.__id=t}getId(){return this.getLatest().__id}static clone(t){let n=new o(t.__key);return n.__id=t.__id,n}createDOM(t,n){let r=document.createElement("hr");return this.__id&&r.setAttribute("id",this.__id),r}updateDOM(t,n){return t.__id!==this.__id}static importDOM(){return{hr(t){return{conversion:n=>{let r=new o;return n.id&&r.setId(n.id),{node:r}},priority:3}}}}exportJSON(){return{...super.exportJSON(),type:"horizontal-rule",version:1,id:this.__id}}static importJSON(t){let n=ua();return n.setId(t.id),n}};function ua(){return new Hn}function gf(o){return o instanceof Hn}var hf=o=>(o.split(" ").filter(t=>t.startsWith("language-"))[0]||"").replace("language-",""),Qo=class o extends Mt{constructor(t="",n="",r){super(r);this.__id="";this.__language="";this.__code="";this.__language=t,this.__code=n}static getType(){return"code-block"}static clone(t){let n=new o(t.__language,t.__code,t.__key);return n.__id=t.__id,n}setLanguage(t){let n=this.getWritable();n.__language=t}getLanguage(){return this.getLatest().__language}setCode(t){let n=this.getWritable();n.__code=t}getCode(){return this.getLatest().__code}setId(t){let n=this.getWritable();n.__id=t}getId(){return this.getLatest().__id}decorate(t,n){return{type:"code",getNode:()=>this}}isInline(){return!1}isIsolated(){return!0}createDOM(t,n){let r=y("pre",{id:this.__id||null},[y("code",{class:this.__language?`language-${this.__language}`:null},[this.__code])]);return y("div",{class:"editor-code-block-wrap"},[r])}updateDOM(t,n){let r=n.querySelector("code");return r&&(t.__language!==this.__language&&(r.className=this.__language?`language-${this.__language}`:""),t.__id!==this.__id&&n.setAttribute("id",this.__id),t.__code!==this.__code&&(r.textContent=this.__code)),!1}exportDOM(t){return{element:this.createDOM(t._config,t).querySelector("pre")}}static importDOM(){return{pre(t){return{conversion:n=>{let r=n.querySelector("code"),i=hf(n.className)||r&&hf(r.className)||"",s=r?(r.textContent||"").trim():(n.textContent||"").trim(),l=Yi(i,s);return n.id&&l.setId(n.id),{node:l}},priority:3}}}}exportJSON(){return{type:"code-block",version:1,id:this.__id,language:this.__language,code:this.__code}}static importJSON(t){let n=Yi(t.language,t.code);return n.setId(t.id||""),n}};function Yi(o="",e=""){return new Qo(o,e)}function Zi(o){return o instanceof Qo}function Pr(o,e){let t=e.getCode(),n=e.getLanguage();window.$components.first("code-editor").open(t,n,"ltr",(i,s)=>{o.update(()=>{e.setCode(i),e.setLanguage(s)})},()=>{})}var yo=class o extends Mt{constructor(t,n,r){super(r);this.__id="";this.__drawingId="";this.__drawingUrl="";this.__drawingId=t,this.__drawingUrl=n}static getType(){return"diagram"}static clone(t){let n=new o(t.__drawingId,t.__drawingUrl);return n.__id=t.__id,n}setDrawingIdAndUrl(t,n){let r=this.getWritable();r.__drawingUrl=n,r.__drawingId=t}getDrawingIdAndUrl(){let t=this.getLatest();return{id:t.__drawingId,url:t.__drawingUrl}}setId(t){let n=this.getWritable();n.__id=t}getId(){return this.getLatest().__id}decorate(t,n){return{type:"diagram",getNode:()=>this}}isInline(){return!1}isIsolated(){return!0}createDOM(t,n){return y("div",{id:this.__id||null,"drawio-diagram":this.__drawingId},[y("img",{src:this.__drawingUrl})])}updateDOM(t,n){let r=n.querySelector("img");return r&&(t.__id!==this.__id&&n.setAttribute("id",this.__id),t.__drawingUrl!==this.__drawingUrl&&r.setAttribute("src",this.__drawingUrl),t.__drawingId!==this.__drawingId&&n.setAttribute("drawio-diagram",this.__drawingId)),!1}static importDOM(){return{div(t){return t.hasAttribute("drawio-diagram")?{conversion:n=>{let i=n.querySelector("img")?.getAttribute("src")||"",s=n.getAttribute("drawio-diagram")||"",l=Kn(s,i);return n.id&&l.setId(n.id),{node:l}},priority:3}:null}}}exportJSON(){return{type:"diagram",version:1,id:this.__id,drawingId:this.__drawingId,drawingUrl:this.__drawingUrl}}static importJSON(t){let n=Kn(t.drawingId,t.drawingUrl);return n.setId(t.id||""),n}};function Kn(o="",e=""){return new yo(o,e)}var gx=["width","height","style","title","name","src","allow","allowfullscreen","loading","sandbox","type","data","controls","autoplay","controlslist","loop","muted","playsinline","poster","preload"];function hx(o){let e={};for(let t of Object.keys(o))gx.includes(t)&&(e[t]=o[t]);return e}function Nf(o,e){let t=xf(o),n={};for(let i of e.attributes)n[i.name]=i.value;t.setAttributes(n);let r=[];if(o==="video"||o==="audio"){for(let i of e.children)if(i.tagName==="SOURCE"){let s=i.getAttribute("src"),l=i.getAttribute("type");s&&l&&r.push({src:s,type:l})}t.setSources(r)}return Qe(e,t),t}var en=class o extends J{constructor(t,n){super(n);this.__id="";this.__alignment="";this.__attributes={};this.__sources=[];this.__inset=0;this.__tag=t}static getType(){return"media"}static clone(t){let n=new o(t.__tag,t.__key);return n.__attributes=Object.assign({},t.__attributes),n.__sources=t.__sources.map(r=>Object.assign({},r)),n.__id=t.__id,n.__alignment=t.__alignment,n.__inset=t.__inset,n}setTag(t){let n=this.getWritable();n.__tag=t}getTag(){return this.getLatest().__tag}setAttributes(t){let n=this.getWritable();n.__attributes=hx(t)}getAttributes(){return this.getLatest().__attributes}setSources(t){let n=this.getWritable();n.__sources=t}getSources(){return this.getLatest().__sources}setSrc(t){let n=Object.assign({},this.getAttributes());this.__tag==="object"?n.data=t:n.src=t,this.setAttributes(n)}setWidthAndHeight(t,n){let r=Object.assign({},this.getAttributes(),{width:t,height:n});this.setAttributes(r)}setId(t){let n=this.getWritable();n.__id=t}getId(){return this.getLatest().__id}setAlignment(t){let n=this.getWritable();n.__alignment=t}getAlignment(){return this.getLatest().__alignment}setInset(t){let n=this.getWritable();n.__inset=t}getInset(){return this.getLatest().__inset}setHeight(t){if(!t)return;let n=Object.assign({},this.getAttributes(),{height:t});this.setAttributes(n)}getHeight(){let t=this.getLatest();return zo(t.__attributes.height||"0")}setWidth(t){let n=Object.assign({},this.getAttributes(),{width:t});this.setAttributes(n)}getWidth(){let t=this.getLatest();return zo(t.__attributes.width||"0")}isInline(){return!0}isParentRequired(){return!0}createInnerDOM(){let n=(this.__tag==="video"||this.__tag==="audio"?this.__sources:[]).map(i=>y("source",i)),r=y(this.__tag,this.__attributes,n);return et(r,this),r}createDOM(t,n){let r=this.createInnerDOM(),i=y("span",{class:r.className+" editor-media-wrap"},[r]);return i.addEventListener("click",s=>{n.update(()=>ke(this))}),i}updateDOM(t,n){if(t.__tag!==this.__tag||JSON.stringify(t.__sources)!==JSON.stringify(this.__sources)||JSON.stringify(t.__attributes)!==JSON.stringify(this.__attributes))return!0;let r=n.firstElementChild;return t.__id!==this.__id&&ru(r,"id",this.__id),t.__alignment!==this.__alignment&&(t.__alignment&&(n.classList.remove(`align-${t.__alignment}`),r.classList.remove(`align-${t.__alignment}`)),this.__alignment&&(n.classList.add(`align-${this.__alignment}`),r.classList.add(`align-${this.__alignment}`))),t.__inset!==this.__inset&&(n.style.paddingLeft=`${this.__inset}px`),!1}static importDOM(){let t=n=>r=>({conversion:i=>({node:Nf(n,i)}),priority:3});return{iframe:t("iframe"),embed:t("embed"),object:t("object"),video:t("video"),audio:t("audio")}}exportDOM(t){return{element:this.createInnerDOM()}}exportJSON(){return{...super.exportJSON(),type:"media",version:1,id:this.__id,alignment:this.__alignment,inset:this.__inset,tag:this.__tag,attributes:this.__attributes,sources:this.__sources}}static importJSON(t){let n=xf(t.tag);return tt(t,n),n}};function xf(o){return new en(o)}function Ef(o){let n=new DOMParser().parseFromString(`<body>${o}</body>`,"text/html").body.children[0];if(!(n instanceof HTMLElement))return null;let r=n.tagName.toLowerCase();return["embed","iframe","video","audio","object"].includes(r)?Nf(r,n):null}var Nx=["mp4","mpeg","m4v","m4p","mov"],xx=["3gp","aac","flac","mp3","m4a","ogg","wav","webm"],Ex=["html","htm","php","asp","aspx",""];function Tf(o){let e="iframe",n=(o.split("?")[0].split("/").pop()||"").split("."),r=(n.length>1?n[n.length-1]:"").toLowerCase();return Nx.includes(r)?e="video":xx.includes(r)?e="audio":r&&!Ex.includes(r)&&(e="embed"),new en(e)}function eo(o){return o instanceof en}var Wn=class o extends wt{static getType(){return"heading"}static clone(e){let t=new o(e.__tag,e.__key);return To(e,t),t}constructor(e,t){super(t),this.__tag=e}getTag(){return this.__tag}createDOM(e){let t=this.__tag,n=document.createElement(t),i=e.theme.heading;if(i!==void 0){let s=i[t];Te(n,s)}return et(n,this),n}updateDOM(e,t){return vt(e,this)}static importDOM(){return{h1:e=>({conversion:Un,priority:0}),h2:e=>({conversion:Un,priority:0}),h3:e=>({conversion:Un,priority:0}),h4:e=>({conversion:Un,priority:0}),h5:e=>({conversion:Un,priority:0}),h6:e=>({conversion:Un,priority:0})}}exportDOM(e){let{element:t}=super.exportDOM(e);return t&&pe(t)&&this.isEmpty()&&t.append(document.createElement("br")),{element:t}}static importJSON(e){let t=zn(e.tag);return tt(e,t),t}exportJSON(){return{...super.exportJSON(),tag:this.getTag(),type:"heading",version:1}}insertNewAfter(e,t=!0){let n=e?e.anchor.offset:0,r=this.getLastDescendant(),s=!r||e&&e.anchor.key===r.getKey()&&n===r.getTextContentSize()||!e?$():zn(this.getTag()),l=this.getDirection();if(s.setDirection(l),this.insertAfter(s,t),n===0&&!this.isEmpty()&&e){let a=$();a.select(),this.replace(a,!0)}return s}collapseAtStart(){let e=this.isEmpty()?$():zn(this.getTag());return this.getChildren().forEach(n=>e.append(n)),this.replace(e),!0}extractWithChild(){return!0}};function Un(o){let e=o.nodeName.toLowerCase(),t=null;return(e==="h1"||e==="h2"||e==="h3"||e==="h4"||e==="h5"||e==="h6")&&(t=zn(e),Qe(o,t)),{node:t}}function zn(o){return oe(new Wn(o))}function qn(o){return o instanceof Wn}var Yn=class o extends wt{static getType(){return"quote"}static clone(e){let t=new o(e.__key);return To(e,t),t}constructor(e){super(e)}createDOM(e){let t=document.createElement("blockquote");return Te(t,e.theme.quote),et(t,this),t}updateDOM(e,t){return vt(e,this)}static importDOM(){return{blockquote:e=>({conversion:Tx,priority:0})}}exportDOM(e){let{element:t}=super.exportDOM(e);return t&&pe(t)&&this.isEmpty()&&t.append(document.createElement("br")),{element:t}}static importJSON(e){let t=Vi();return tt(e,t),t}exportJSON(){return{...super.exportJSON(),type:"quote"}}insertNewAfter(e,t){let n=$(),r=this.getDirection();return n.setDirection(r),this.insertAfter(n,t),n}collapseAtStart(){let e=$();return this.getChildren().forEach(n=>e.append(n)),this.replace(e),!0}canMergeWhenEmpty(){return!0}};function Vi(){return oe(new Yn)}function Xi(o){return o instanceof Yn}function Tx(o){let e=Vi();return Qe(o,e),{node:e}}function _f(){return[Wo,Wn,Yn,Zo,Gt,xt,Jt,jt,Yo,Hn,Bn,Qo,yo,en,dt,kn]}function Cf(o){let e=[Yo,Qo,yo],t=n=>{for(let[r,i]of n)if(i==="destroyed"){let s=o.manager.getDecoratorByNodeKey(r);s&&s.destroy(o)}};for(let n of e)o.editor.registerMutationListener(n,r=>t(r))}function yf(o){return"build"in o}var Le=class{constructor(){this.dom=null;this.context=null}setContext(e){this.context=e}getContext(){if(this.context===null)throw new Error("Attempted to use EditorUIContext before it has been set");return this.context}getDOMElement(){return this.dom||(this.dom=this.buildDOM()),this.dom}trans(e){return this.getContext().translate(e)}updateState(e){}},ne=class extends Le{constructor(t){super();this.children=[];this.children.push(...t)}buildDOM(){return y("div",{},this.getChildren().map(t=>t.getDOMElement()))}getChildren(){return this.children}addChildren(...t){this.children.push(...t)}removeChildren(...t){for(let n of t)this.removeChild(n)}removeChild(t){let n=this.children.indexOf(t);n!==-1&&this.children.splice(n,1)}updateState(t){for(let n of this.children)n.updateState(t)}setContext(t){super.setContext(t);for(let n of this.getChildren())n.setContext(t)}},Gi=class extends ne{constructor(e,t){super(t),this.className=e}buildDOM(){return y("div",{class:this.className},this.getChildren().map(e=>e.getDOMElement()))}};var v=class extends Le{constructor(t){super();this.active=!1;this.completedSetup=!1;this.disabled=!1;t.action!==void 0?this.definition=t:this.definition={...t,action(){return!1},isActive:()=>!1}}setContext(t){super.setContext(t),this.definition.setup&&!this.completedSetup&&(this.definition.setup(t,this),this.completedSetup=!0)}buildDOM(){let t=this.getLabel(),n=this.definition.format||"small",r=[];if(this.definition.icon||n==="long"){let s=y("div",{class:"editor-button-icon"});s.innerHTML=this.definition.icon||"",r.push(s)}if(!this.definition.icon||n==="long"){let s=y("div",{class:"editor-button-text"},[t]);r.push(s)}let i=y("button",{type:"button",class:`editor-button editor-button-${n}`,title:this.definition.icon?t:null,disabled:this.disabled?"true":null},r);return i.addEventListener("click",this.onClick.bind(this)),i}onClick(){this.definition.action(this.getContext(),this)}updateActiveState(t){let n=this.definition.isActive(t,this.getContext());this.setActiveState(n)}updateDisabledState(t){if(this.definition.isDisabled){let n=this.definition.isDisabled(t,this.getContext());this.toggleDisabled(n)}}setActiveState(t){this.active=t,this.dom?.classList.toggle("editor-button-active",this.active)}updateState(t){this.updateActiveState(t.selection),this.updateDisabledState(t.selection)}isActive(){return this.active}getLabel(){return this.trans(this.definition.label)}toggleDisabled(t){this.disabled=t,t?this.dom?.setAttribute("disabled","true"):this.dom?.removeAttribute("disabled")}};function _x(o,e,t){let n=e.getBoundingClientRect(),r=o.getBoundingClientRect();if(o.style.position="fixed",t){let i=n.right;n.right+r.width>window.innerWidth&&(i=Math.max(n.left-r.width,0)),o.style.top=n.top+"px",o.style.left=i+"px"}else{let i=n.left+r.width>window.innerWidth,s=n.left;i&&(s=Math.max(n.right-r.width,0)),o.style.top=n.bottom+"px",o.style.left=s+"px"}}function ji(o){let{menu:e,toggle:t,onClose:n,onOpen:r,showOnHover:i,showAside:s}=o,l=null,a=()=>{e.hidden=!0,e.style.removeProperty("position"),e.style.removeProperty("left"),e.style.removeProperty("top"),l&&window.removeEventListener("click",l),n&&n()},c=()=>{e.hidden=!1,_x(e,t,!!s),l=f=>{!t.contains(f.target)&&!e.contains(f.target)&&a()},window.addEventListener("click",l),r&&r()},m=f=>{e.hasAttribute("hidden")?c():a()};t.addEventListener("click",m),i&&t.addEventListener("mouseenter",m),e.parentElement?.addEventListener("mouseleave",f=>{let d=t.getBoundingClientRect(),u=f.clientX<=d.right&&f.clientX>=d.left,p=f.clientY<=d.bottom&&f.clientY>=d.top;u&&p||a()})}var Ji=class extends ne{buildDOM(){let e=this.getChildren().map(i=>i.getDOMElement()),t=y("div",{class:"editor-format-menu-dropdown editor-dropdown-menu editor-dropdown-menu-vertical",hidden:"true"},e),n=y("button",{class:"editor-format-menu-toggle editor-button",type:"button"},[this.trans("Formats")]),r=y("div",{class:"editor-format-menu editor-dropdown-menu-container"},[n,t]);return ji({toggle:n,menu:t}),r}updateState(e){super.updateState(e);for(let t of this.children){if(t instanceof v&&t.isActive()){this.updateToggleLabel(t.getLabel());return}if(t instanceof ne){for(let n of t.getChildren())if(n instanceof v&&n.isActive()){this.updateToggleLabel(n.getLabel());return}}}this.updateToggleLabel(this.trans("Formats"))}updateToggleLabel(e){let t=this.getDOMElement().querySelector("button");t&&(t.innerText=e)}};var Ye=class extends v{constructor(e,t){super(t),this.previewSampleElement=e}buildDOM(){let e=super.buildDOM();e.innerHTML="";let t=y("span",{class:"editor-button-format-preview"},[this.getLabel()]),n=this.getStylesFromPreview();for(let r of Object.keys(n))t.style.setProperty(r,n[r]);return e.append(t),e}getStylesFromPreview(){let e=y("div",{style:"display: none",hidden:"true",class:"page-content"}),t=this.previewSampleElement.cloneNode();t.textContent=this.getLabel(),e.append(t),document.body.append(e);let n=["color","font-size","background-color","border-inline-start"],r={},i=window.getComputedStyle(t);for(let s of n)r[s]=i.getPropertyValue(s);return e.remove(),r}};var bf='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"/><path d="M0 0h24v24H0z" fill="none"/></svg>';var Qi=class extends v{buildDOM(){let e=super.buildDOM(),t=y("div",{class:"editor-menu-button-icon"});return t.innerHTML=bf,e.append(t),e}};var yx={showOnHover:!1,direction:"horizontal",showAside:void 0,button:{label:"Menu"}},Me=class extends ne{constructor(t,n){super(n);this.open=!1;if(this.childItems=n,this.options=Object.assign({},yx,t),t.button instanceof v)this.button=t.button;else{let r=t.button.format==="long"?Qi:v;this.button=new r({...t.button,action(){return!1},isActive:()=>this.open})}this.addChildren(this.button)}insertItems(...t){this.addChildren(...t),this.childItems.push(...t)}buildDOM(){let t=this.button.getDOMElement(),n=this.childItems.map(s=>s.getDOMElement()),r=y("div",{class:`editor-dropdown-menu editor-dropdown-menu-${this.options.direction}`,hidden:"true"},n),i=y("div",{class:"editor-dropdown-menu-container"},[t,r]);return ji({toggle:t,menu:r,showOnHover:this.options.showOnHover,showAside:typeof this.options.showAside=="boolean"?this.options.showAside:this.options.direction==="vertical",onOpen:()=>{this.open=!0,this.getContext().manager.triggerStateUpdateForElement(this.button)},onClose:()=>{this.open=!1,this.getContext().manager.triggerStateUpdateForElement(this.button)}}),i}};var Sf='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M800-436q0 36-8 69t-22 63l-62-60q6-17 9-34.5t3-37.5q0-47-17.5-89T650-600L480-768l-88 86-56-56 144-142 226 222q44 42 69 99.5T800-436Zm-8 380L668-180q-41 29-88 44.5T480-120q-133 0-226.5-92.5T160-436q0-51 16-98t48-90L56-792l56-56 736 736-56 56ZM480-200q36 0 68.5-10t61.5-28L280-566q-21 32-30.5 64t-9.5 66q0 98 70 167t170 69Zm-37-204Zm110-116Z"/></svg>';var Sx=["#000000","#ffffff","#BFEDD2","#FBEEB8","#F8CAC6","#ECCAFA","#C2E0F4","#2DC26B","#F1C40F","#E03E2D","#B96AD9","#3598DB","#169179","#E67E23","#BA372A","#843FA1","#236FA1","#ECF0F1","#CED4D9","#95A5A6","#7E8C8D","#34495E"],Br=class extends Le{constructor(e){super(),this.styleProperty=e}buildDOM(){let e=Sx.map(i=>y("div",{class:"editor-color-select-option",style:`background-color: ${i}`,"data-color":i,"aria-label":i})),t=y("div",{class:"editor-color-select-option","data-color":"",title:"Clear color"},[]);t.innerHTML=Sf,e.push(t);let n=[];for(let i=0;i<e.length;i+=5){let s=e.slice(i,i+5);n.push(y("div",{class:"editor-color-select-row"},s))}let r=y("div",{class:"editor-color-select"},n);return r.addEventListener("click",this.onClick.bind(this)),r}onClick(e){let t=e.target.closest("[data-color]");if(!t)return;let n=t.dataset.color;this.getContext().editor.update(()=>{let r=T();r&&Il(r,{[this.styleProperty]:n||null})})}};var es=class extends Le{buildDOM(){let t=[],n=[];for(let s=1;s<11;s++){let l=[];for(let a=1;a<11;a++){let c=y("div",{class:"editor-table-creator-cell","data-rows":String(s),"data-columns":String(a)});l.push(c),n.push(c)}t.push(y("div",{class:"editor-table-creator-row"},l))}let r=y("div",{class:"editor-table-creator-display"},["0 x 0"]),i=y("div",{class:"editor-table-creator-grid"},t);return i.addEventListener("mousemove",s=>{let l=s.target.closest(".editor-table-creator-cell");if(l){let a=Number(l.dataset.rows||0),c=Number(l.dataset.columns||0);this.updateGridSelection(a,c,n,r)}}),i.addEventListener("click",s=>{let l=s.target.closest(".editor-table-creator-cell");l&&this.onCellClick(l)}),i.addEventListener("mouseleave",s=>{this.updateGridSelection(0,0,n,r)}),y("div",{class:"editor-table-creator"},[i,r])}updateGridSelection(e,t,n,r){for(let i of n){let s=Number(i.dataset.rows)<=e&&Number(i.dataset.columns)<=t;i.classList.toggle("active",s)}r.textContent=`${e} x ${t}`}onCellClick(e){let t=Number(e.dataset.rows||0),n=Number(e.dataset.columns||0);if(t<1||n<1)return;let r=Math.min(Math.round(840/n),240),i=Array(n).fill(r+"px");this.getContext().editor.update(()=>{let s=Jl(t,n,!1);s.setColWidths(i),qo(s)})}};var Fr=class extends v{constructor(e,t){super(e),this.style=t}getColorBar(){let e=this.getDOMElement().querySelector("svg .editor-icon-color-bar");if(!e)throw new Error(`Could not find expected color bar in the icon for this ${this.definition.label} button`);return e}updateState(e){if(super.updateState(e),C(e.selection)){let t=$l(e.selection,this.style);this.getColorBar().setAttribute("fill",t)}}};var Lf='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M240-400q-33 0-56.5-23.5T160-480q0-33 23.5-56.5T240-560q33 0 56.5 23.5T320-480q0 33-23.5 56.5T240-400Zm240 0q-33 0-56.5-23.5T400-480q0-33 23.5-56.5T480-560q33 0 56.5 23.5T560-480q0 33-23.5 56.5T480-400Zm240 0q-33 0-56.5-23.5T640-480q0-33 23.5-56.5T720-560q33 0 56.5 23.5T800-480q0 33-23.5 56.5T720-400Z"/></svg>';var nt=class extends ne{constructor(e,t){super(t),this.size=e,this.content=t,this.overflowButton=new Me({button:{label:"More",icon:Lf}},[]),this.addChildren(this.overflowButton)}buildDOM(){let e=this.content.length>this.size?this.size-1:this.size,t=this.content.slice(0,e),n=this.content.slice(e),r=t.map(i=>i.getDOMElement());return n.length>0&&(this.removeChildren(...n),this.overflowButton.insertItems(...n),r.push(this.overflowButton.getDOMElement())),y("div",{class:"editor-overflow-container"},r)}};var fa='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200q-33 0-56.5-23.5T120-200Zm80-400h560v-160H200v160Zm213 200h134v-120H413v120Zm0 200h134v-120H413v120ZM200-400h133v-120H200v120Zm427 0h133v-120H627v120ZM200-200h133v-120H200v120Zm427 0h133v-120H627v120Z"/></svg>';var ts='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M5 21a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14c0 1.1-.9 2-2 2zm0-2h14V5H5v14z"/><path d="m13.711 15.423-1.71-1.712-1.712 1.712c-1.14 1.14-2.852-.57-1.71-1.712l1.71-1.71-1.71-1.712c-1.143-1.142.568-2.853 1.71-1.71L12 10.288l1.711-1.71c1.141-1.142 2.852.57 1.712 1.71L13.71 12l1.626 1.626c1.345 1.345-.76 2.663-1.626 1.797z" style="fill-rule:nonzero;stroke-width:1.20992"/></svg>';var Mf='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M21 19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14c1.1 0 2 .9 2 2zm-2 0V5h-4v2.2h-2V5h-2v2.2H9V5H5v14h4v-2.1h2V19h2v-2.1h2V19Z"/><path d="M14.829 10.585 13.415 12l1.414 1.414c.943.943-.472 2.357-1.414 1.414L12 13.414l-1.414 1.414c-.944.944-2.358-.47-1.414-1.414L10.586 12l-1.414-1.415c-.943-.942.471-2.357 1.414-1.414L12 10.585l1.344-1.343c1.111-1.112 2.2.627 1.485 1.343z" style="fill-rule:nonzero"/></svg>';var vf='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M5 21a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14c0 1.1-.9 2-2 2zm0-2h14v-4h-2.2v-2H19v-2h-2.2V9H19V5H5v4h2.1v2H5v2h2.1v2H5Z"/><path d="M13.415 14.829 12 13.415l-1.414 1.414c-.943.943-2.357-.472-1.414-1.414L10.586 12l-1.414-1.414c-.944-.944.47-2.358 1.414-1.414L12 10.586l1.415-1.414c.942-.943 2.357.471 1.414 1.414L13.415 12l1.343 1.344c1.112 1.111-.627 2.2-1.343 1.485z" style="fill-rule:nonzero"/></svg>';var wf='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M16 5h-5v14h5c1.235 0 1.234 2 0 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11c1.229 0 1.236 2 0 2zm-7 6V5H5v6zm0 8v-6H5v6zm11.076-6h-2v2c0 1.333-2 1.333-2 0v-2h-2c-1.335 0-1.335-2 0-2h2V9c0-1.333 2-1.333 2 0v2h1.9c1.572 0 1.113 2 .1 2z"/></svg>';var Df='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8 19h5V5H8C6.764 5 6.766 3 8 3h11a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H8c-1.229 0-1.236-2 0-2zm7-6v6h4v-6zm0-8v6h4V5ZM3.924 11h2V9c0-1.333 2-1.333 2 0v2h2c1.335 0 1.335 2 0 2h-2v2c0 1.333-2 1.333-2 0v-2h-1.9c-1.572 0-1.113-2-.1-2z"/></svg>';var Of='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M5 8v5h14V8c0-1.235 2-1.234 2 0v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8C3 6.77 5 6.764 5 8zm6 7H5v4h6zm8 0h-6v4h6zM13 3.924v2h2c1.333 0 1.333 2 0 2h-2v2c0 1.335-2 1.335-2 0v-2H9c-1.333 0-1.333-2 0-2h2v-1.9c0-1.572 2-1.113 2-.1z"/></svg>';var Af='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 16v-5H5v5c0 1.235-2 1.234-2 0V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v11c0 1.229-2 1.236-2 0zm-6-7h6V5h-6zM5 9h6V5H5Zm6 11.076v-2H9c-1.333 0-1.333-2 0-2h2v-2c0-1.335 2-1.335 2 0v2h2c1.333 0 1.333 2 0 2h-2v1.9c0 1.572-2 1.113-2 .1z"/></svg>';function Rf(){let o=()=>((1+Math.random())*65536|0).toString(16).substring(1);return`${o()+o()}-${o()}-${o()}-${o()}-${o()}${o()}${o()}`}function kf(){return((1+Math.random())*65536|0).toString(16).substring(1)}var bo=class extends Le{constructor(e){super(),this.definition=e}setValue(e){let t=this.getDOMElement().querySelector("input,select,textarea");t.value=e}getName(){return this.definition.name}buildDOM(){let e=`editor-form-field-${this.definition.name}-${Date.now()}`,t;if(this.definition.type==="select"){let n=this.definition.valuesByLabel,i=Object.keys(n).map(s=>y("option",{value:n[s]},[this.trans(s)]));t=y("select",{id:e,name:this.definition.name,class:"editor-form-field-input"},i)}else this.definition.type==="textarea"?t=y("textarea",{id:e,name:this.definition.name,class:"editor-form-field-input"}):t=y("input",{id:e,name:this.definition.name,class:"editor-form-field-input"});return y("div",{class:"editor-form-field-wrapper"},[y("label",{class:"editor-form-field-label",for:e},[this.trans(this.definition.label)]),t])}},os=class extends ne{constructor(t){let n=t.fields.map(r=>yf(r)?r.build():new bo(r));super(n);this.onCancel=null;this.onSuccessfulSubmit=null;this.definition=t}setValues(t){for(let n of Object.keys(t)){let r=this.getFieldByName(n);r&&r.setValue(t[n])}}setOnCancel(t){this.onCancel=t}setOnSuccessfulSubmit(t){this.onSuccessfulSubmit=t}getFieldByName(t){let n=r=>{for(let i of r){if(i instanceof bo&&i.getName()===t)return i;if(i instanceof ne){let s=n(i.getChildren());if(s)return s}}return null};return n(this.getChildren())}buildDOM(){let t=y("button",{type:"button",class:"editor-form-action-secondary"},[this.trans("Cancel")]),n=y("form",{},[...this.children.map(r=>r.getDOMElement()),y("div",{class:"editor-form-actions"},[t,y("button",{type:"submit",class:"editor-form-action-primary"},[this.trans(this.definition.submitText)])])]);return n.addEventListener("submit",async r=>{r.preventDefault();let i=new FormData(n);await this.definition.action(i,this.getContext())&&this.onSuccessfulSubmit&&this.onSuccessfulSubmit()}),t.addEventListener("click",r=>{this.onCancel&&this.onCancel()}),n}},ma=class extends ne{constructor(e){let t=e.contents.map(n=>new bo(n));super(t),this.definition=e,this.fields=t,this.id=Rf()}getLabel(){return this.getContext().translate(this.definition.label)}getId(){return this.id}buildDOM(){return y("div",{class:"editor-form-tab-content",role:"tabpanel",id:`editor-tabpanel-${this.id}`,"aria-labelledby":`editor-tab-${this.id}`},this.fields.map(e=>e.getDOMElement()))}},tn=class extends ne{constructor(t){let n=t.map(r=>new ma(r));super(n);this.definitions=[];this.tabs=[];this.definitions=t,this.tabs=n}buildDOM(){let t=[],n=[],r=i=>{for(let s=0;s<t.length;s++)t[s].setAttribute("aria-selected",s===i?"true":"false");for(let s=0;s<n.length;s++)n[s].hidden=s!==i};for(let i of this.tabs){let s=y("button",{class:"editor-form-tab-control",type:"button",role:"tab",id:`editor-tab-${i.getId()}`,"aria-controls":`editor-tabpanel-${i.getId()}`},[i.getLabel()]);n.push(i.getDOMElement()),t.push(s),s.addEventListener("click",l=>{r(t.indexOf(s))})}return r(0),y("div",{class:"editor-form-tab-container"},[y("div",{class:"editor-form-tab-controls"},t),y("div",{class:"editor-form-tab-contents"},n)])}};var pa={label:"Border style",name:"border_style",type:"select",valuesByLabel:{"Select...":"",Solid:"solid",Dotted:"dotted",Dashed:"dashed",Double:"double",Groove:"groove",Ridge:"ridge",Inset:"inset",Outset:"outset",None:"none",Hidden:"hidden"}},ga={label:"Border color",name:"border_color",type:"text"},ha={label:"Background color",name:"background_color",type:"text"},If={label:"Alignment",name:"align",type:"select",valuesByLabel:{None:"",Left:"left",Center:"center",Right:"right"}};function $f(o,e){let t=o.getStyles(),n=e.manager.createModal("cell_properties");return n.show({width:df(e.editor,o),height:t.get("height")||"",type:o.getTag(),h_align:o.getAlignment(),v_align:t.get("vertical-align")||"",border_width:t.get("border-width")||"",border_style:t.get("border-style")||"",border_color:t.get("border-color")||"",background_color:t.get("background-color")||""}),n}var Pf={submitText:"Save",async action(o,e){return e.editor.update(()=>{let t=Jo(T());for(let n of t){let r=o.get("width")?.toString()||"";cf(n,r),n.updateTag(o.get("type")?.toString()||""),n.setAlignment(o.get("h_align")?.toString()||"");let i=n.getStyles();i.set("height",ft(o.get("height")?.toString()||"")),i.set("vertical-align",o.get("v_align")?.toString()||""),i.set("border-width",ft(o.get("border_width")?.toString()||"")),i.set("border-style",o.get("border_style")?.toString()||""),i.set("border-color",o.get("border_color")?.toString()||""),i.set("background-color",o.get("background_color")?.toString()||""),n.setStyles(i)}}),!0},fields:[{build(){let o=[{label:"Width",name:"width",type:"text"},{label:"Height",name:"height",type:"text"},{label:"Cell type",name:"type",type:"select",valuesByLabel:{Cell:"td","Header cell":"th"}},{...If,label:"Horizontal align",name:"h_align"},{label:"Vertical align",name:"v_align",type:"select",valuesByLabel:{None:"",Top:"top",Middle:"middle",Bottom:"bottom"}}],e=[{label:"Border width",name:"border_width",type:"text"},pa,ga,ha];return new tn([{label:"General",contents:o},{label:"Advanced",contents:e}])}}]};function Bf(o,e){let t=o.getStyles(),n=e.manager.createModal("row_properties");return n.show({height:t.get("height")||"",border_style:t.get("border-style")||"",border_color:t.get("border-color")||"",background_color:t.get("background-color")||""}),n}var Ff={submitText:"Save",async action(o,e){return e.editor.update(()=>{let t=Qt(T());for(let n of t){let r=n.getStyles();r.set("height",ft(o.get("height")?.toString()||"")),r.set("border-style",o.get("border_style")?.toString()||""),r.set("border-color",o.get("border_color")?.toString()||""),r.set("background-color",o.get("background_color")?.toString()||""),n.setStyles(r)}}),!0},fields:[{label:"Height",name:"height",type:"text"},pa,ga,ha]};function Hf(o,e){let t=o.getStyles(),n=e.manager.createModal("table_properties");return n.show({width:t.get("width")||"",height:t.get("height")||"",cell_spacing:t.get("cell-spacing")||"",cell_padding:pf(o),border_width:t.get("border-width")||"",border_style:t.get("border-style")||"",border_color:t.get("border-color")||"",background_color:t.get("background-color")||"",align:o.getAlignment()}),n}var Kf={submitText:"Save",async action(o,e){return e.editor.update(()=>{let t=Nt(T());if(!t)return;let n=t.getStyles();n.set("width",ft(o.get("width")?.toString()||"")),n.set("height",ft(o.get("height")?.toString()||"")),n.set("cell-spacing",ft(o.get("cell_spacing")?.toString()||"")),n.set("border-width",ft(o.get("border_width")?.toString()||"")),n.set("border-style",o.get("border_style")?.toString()||""),n.set("border-color",o.get("border_color")?.toString()||""),n.set("background-color",o.get("background_color")?.toString()||""),t.setStyles(n),t.setAlignment(o.get("align"));let r=o.get("cell_padding")?.toString()||"";if(r){let i=ft(r);da(t,s=>{let l=s.getStyles();l.set("padding",i),s.setStyles(l)})}}),!0},fields:[{build(){let o=[{label:"Width",name:"width",type:"text"},{label:"Height",name:"height",type:"text"},{label:"Cell spacing",name:"cell_spacing",type:"text"},{label:"Cell padding",name:"cell_padding",type:"text"},{label:"Border width",name:"border_width",type:"text"},{label:"caption",name:"caption",type:"text"},If],e=[pa,ga,ha];return new tn([{label:"General",contents:o},{label:"Advanced",contents:e}])}}]};function Uf(o){let e=E(o)?o.getChildren():[];return{node:o.exportJSON(),children:e.map(t=>Uf(t))}}function zf(o,{node:e,children:t}){let n=o._nodes.get(e.type)?.klass.importJSON(e);if(!n)return null;let r=t.map(i=>zf(o,i));for(let i of r)i&&E(n)&&n.append(i);return n}var Hr=class{constructor(){this.store=[]}set(...e){this.store.splice(0,this.store.length);for(let t of e)this.store.push(Uf(t))}get(e){return this.store.map(t=>zf(e,t)).filter(t=>t!==null)}size(){return this.store.length}};var Kr=new Hr;function Na(){return Kr.size()===0}function Wf(o){let e=null;for(let t of o){let n=t.getChildren().filter(i=>w(i)),r=0;for(let i of n)if(r+=i.getColSpan()||1,i.getRowSpan()>1)throw Error("Cannot copy rows with merged cells");if(e===null)e=r;else if(e!==r)throw Error("Cannot copy rows with inconsistent sizes")}}function qf(o,e){let t=new kt(e).columnCount;for(let n of o){let r=n.getChildren().filter(s=>w(s)),i=0;for(let s of r)i+=s.getColSpan()||1;if(i>t)throw Error("Cannot paste rows that are wider than target table");for(;i<t;)n.append(Pe()),i++}}function Yf(){let o=Qt(T());Wf(o),Kr.set(...o);for(let e of o)e.remove()}function Zf(){let o=Qt(T());Wf(o),Kr.set(...o)}function Vf(o){let e=T(),t=Qt(e),n=Nt(e),r=t[t.length-1];if(r&&n){let i=Kr.get(o);qf(i,n);for(let s of i)r.insertBefore(s)}}function Xf(o){let e=T(),t=Qt(e),n=Nt(e),r=t[t.length-1];if(r&&n){let i=Kr.get(o).reverse();qf(i,n);for(let s of i)r.insertAfter(s)}}var ns=[];function Gf(o){let e=o.map(t=>{let n=new Hr;return n.set(...t),n});ns.splice(0,ns.length,...e)}function xa(){return ns.length===0}function jf(o){if(z(o)){let i=o.getShape();return{from:i.fromX,to:i.toX}}let e=V(o,w),t=Nt(o);if(!w(e)||!t)return null;let r=new kt(t).getRangeForCell(e);return r?{from:r.fromX,to:r.toX}:null}function Jf(o,e){let t=new kt(e),n=[];for(let r=o.from;r<=o.to;r++){let i=t.getCellsInColumn(r);n.push(i)}return n}function Qf(o){let e=null;for(let t of o){let n=0;for(let r of t)if(n+=r.getRowSpan()||1,r.getColSpan()>1)throw Error("Cannot copy columns with merged cells");if(e===null)e=n;else if(e!==n)throw Error("Cannot copy columns with inconsistent sizes")}}function em(){let o=T(),e=jf(o),t=Nt(o);if(!e||!t)return;let n=t.getColWidths(),r=Jf(e,t);Qf(r),Gf(r);for(let s of r)for(let l of s)l.remove();let i=[...n].splice(e.from,e.to-e.from+1);t.setColWidths(i)}function tm(){let o=T(),e=jf(o),t=Nt(o);if(!e||!t)return;let n=Jf(e,t);Qf(n),Gf(n)}function Ix(o,e){let t=new kt(e).rowCount;for(let n of o){let r=0;for(let i of n)r+=i.getRowSpan()||1;if(r>t)throw Error("Cannot paste columns that are taller than target table");for(;r<t;)n.push(Pe()),r++}}function om(o,e){let t=T(),n=Nt(t),r=Jo(t),i=r[e?0:r.length-1];if(!n||!i)return;let s=ns.map(u=>u.get(o));e||s.reverse(),Ix(s,n);let l=new kt(n),a=l.getRangeForCell(i);if(!a)return;let c=e?a.fromX:a.toX,m=n.getColWidths();for(let u=0;u<l.rowCount;u++){let p=l.getCellAtPosition(c,u);for(let g of s){let h=g[u];e?p.insertBefore(h):p.insertAfter(h)}}let f=m[c],d=s.map(u=>f);m.splice(e?c:c+1,0,...d)}function nm(o){om(o,!0)}function rm(o){om(o,!1)}var he=()=>!1,Ce=o=>!ae(o,w),im={label:"Table",icon:fa},Ea={label:"Table properties",icon:fa,action(o){o.editor.getEditorState().read(()=>{let e=Nt(T());K(e)&&Hf(e,o)})},isActive:he,isDisabled:Ce},sm={label:"Clear table formatting",format:"long",action(o){o.editor.update(()=>{let e=V(T(),w);if(!w(e))return;let t=At(e,K);K(t)&&mf(t)})},isActive:he,isDisabled:Ce},lm={label:"Resize to contents",format:"long",action(o){o.editor.update(()=>{let e=V(T(),w);if(!w(e))return;let t=At(e,K);K(t)&&ff(t)})},isActive:he,isDisabled:Ce},Ta={label:"Delete table",icon:ts,action(o){o.editor.update(()=>{let e=V(T(),K);e&&e.remove()})},isActive(){return!1}},am={...Ta,format:"long",isDisabled(o){return!ae(o,K)}},_a={label:"Insert row before",icon:Of,action(o){o.editor.update(()=>{Fi(!1)})},isActive:he,isDisabled:Ce},Ca={label:"Insert row after",icon:Af,action(o){o.editor.update(()=>{Fi(!0)})},isActive:he,isDisabled:Ce},ya={label:"Delete row",icon:vf,action(o){o.editor.update(()=>{Ql()})},isActive:he,isDisabled:Ce},cm={label:"Row properties",format:"long",action(o){o.editor.getEditorState().read(()=>{let e=Qt(T());Q(e[0])&&Bf(e[0],o)})},isActive:he,isDisabled:Ce},dm={label:"Cut row",format:"long",action(o){o.editor.update(()=>{try{Yf()}catch(e){o.error(e)}})},isActive:he,isDisabled:Ce},um={label:"Copy row",format:"long",action(o){o.editor.getEditorState().read(()=>{try{Zf()}catch(e){o.error(e)}})},isActive:he,isDisabled:Ce},fm={label:"Paste row before",format:"long",action(o){o.editor.update(()=>{try{Vf(o.editor)}catch(e){o.error(e)}})},isActive:he,isDisabled:o=>Ce(o)||Na()},mm={label:"Paste row after",format:"long",action(o){o.editor.update(()=>{try{Xf(o.editor)}catch(e){o.error(e)}})},isActive:he,isDisabled:o=>Ce(o)||Na()},pm={label:"Cut column",format:"long",action(o){o.editor.update(()=>{try{em()}catch(e){o.error(e)}})},isActive:he,isDisabled:Ce},gm={label:"Copy column",format:"long",action(o){o.editor.getEditorState().read(()=>{try{tm()}catch(e){o.error(e)}})},isActive:he,isDisabled:Ce},hm={label:"Paste column before",format:"long",action(o){o.editor.update(()=>{try{nm(o.editor)}catch(e){o.error(e)}})},isActive:he,isDisabled:o=>Ce(o)||xa()},Nm={label:"Paste column after",format:"long",action(o){o.editor.update(()=>{try{rm(o.editor)}catch(e){o.error(e)}})},isActive:he,isDisabled:o=>Ce(o)||xa()},ba={label:"Insert column before",icon:Df,action(o){o.editor.update(()=>{Hi(!1)})},isActive(){return!1}},Sa={label:"Insert column after",icon:wf,action(o){o.editor.update(()=>{Hi(!0)})},isActive(){return!1}},La={label:"Delete column",icon:Mf,action(o){o.editor.update(()=>{ea()})},isActive(){return!1}},xm={label:"Cell properties",format:"long",action(o){o.editor.getEditorState().read(()=>{let e=V(T(),w);w(e)&&$f(e,o)})},isActive:he,isDisabled:Ce},Em={label:"Merge cells",format:"long",action(o){o.editor.update(()=>{let e=T();z(e)&&uf(e)})},isActive:he,isDisabled(o){return!z(o)}},Tm={label:"Split cell",format:"long",action(o){o.editor.update(()=>{oa()})},isActive:he,isDisabled(o){let e=V(o,w);return e?!(e.getRowSpan()>1||e.getColSpan()>1):!0}};var _m='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M280-200v-80h284q63 0 109.5-40T720-420q0-60-46.5-100T564-560H312l104 104-56 56-200-200 200-200 56 56-104 104h252q97 0 166.5 63T800-420q0 94-69.5 157T564-200H280Z"/></svg>';var Cm='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960" ><path d="M396-200q-97 0-166.5-63T160-420q0-94 69.5-157T396-640h252L544-744l56-56 200 200-200 200-56-56 104-104H396q-63 0-109.5 40T240-420q0 60 46.5 100T396-280h284v80H396Z"/></svg>';var ym='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="m384-336 56-58-86-86 86-86-56-58-144 144 144 144Zm192 0 144-144-144-144-56 58 86 86-86 86 56 58ZM200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h168q13-36 43.5-58t68.5-22q38 0 68.5 22t43.5 58h168q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm0-80h560v-560H200v560Zm280-590q13 0 21.5-8.5T510-820q0-13-8.5-21.5T480-850q-13 0-21.5 8.5T450-820q0 13 8.5 21.5T480-790ZM200-200v-560 560Z"/></svg>';var bm='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M120-120v-200h80v120h120v80H120Zm520 0v-80h120v-120h80v200H640ZM120-640v-200h200v80H200v120h-80Zm640 0v-120H640v-80h200v200h-80Z"/></svg>';var Sm='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M478-240q21 0 35.5-14.5T528-290q0-21-14.5-35.5T478-340q-21 0-35.5 14.5T428-290q0 21 14.5 35.5T478-240Zm-36-154h74q0-33 7.5-52t42.5-52q26-26 41-49.5t15-56.5q0-56-41-86t-97-30q-57 0-92.5 30T342-618l66 26q5-18 22.5-39t53.5-21q32 0 48 17.5t16 38.5q0 20-12 37.5T506-526q-44 39-54 59t-10 73Zm38 314q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z"/></svg>';function Zn(o,e){o.update(()=>{let t=F();for(let r of t.getChildren())r.remove(!0);let n=_o(o,e);t.append(...n)})}function Lm(o,e){o.update(()=>{let t=F(),n=_o(o,e);t.append(...n)})}function Mm(o,e){o.update(()=>{let t=F(),n=_o(o,e),r=t.getChildren()[0];for(let i=n.length-1;i>=0;i--)r?r.insertBefore(n[i]):t.append(n[i]),r=n[i]})}function vm(o,e){o.update(()=>{let t=T(),n=_o(o,e),r=t?.getNodes()[0],i=r?.getParents()||[];if(i[i.length-1]&&r)for(let l=n.length-1;l>=0;l--)r.insertAfter(n[l])})}function rs(o){return new Promise((e,t)=>{o.getEditorState().read(()=>{let n=Oi(o);e(n)})})}function wm(o){o.focus(()=>{},{defaultSelection:"rootStart"})}var Dm={label:"Undo",icon:_m,action(o){o.editor.dispatchCommand(no,void 0),o.manager.triggerFutureStateRefresh()},isActive(o){return!1},setup(o,e){e.toggleDisabled(!0),o.editor.registerCommand(ao,t=>(e.toggleDisabled(!t),!1),Dt)}},Om={label:"Redo",icon:Cm,action(o){o.editor.dispatchCommand(ro,void 0),o.manager.triggerFutureStateRefresh()},isActive(o){return!1},setup(o,e){e.toggleDisabled(!0),o.editor.registerCommand(lo,t=>(e.toggleDisabled(!t),!1),Dt)}},Am={label:"Source",icon:ym,async action(o){let e=o.manager.createModal("source"),t=await rs(o.editor);e.show({source:t})},isActive(){return!1}},Rm={label:"Fullscreen",icon:bm,async action(o,e){let t=o.containerDOM.classList.contains("fullscreen");o.containerDOM.classList.toggle("fullscreen",!t),o.containerDOM.closest("body").classList.toggle("editor-is-fullscreen",!t),e.setActiveState(!t)},isActive(o,e){return e.containerDOM.classList.contains("fullscreen")}},km={label:"About the editor",icon:Sm,async action(o,e){o.manager.createModal("about").show({})},isActive(o,e){return!1}};var Kx=(o,e)=>qn(o)&&o.getTag()===e;function is(o,e){o.update(()=>{$n(t=>Kx(t,e),()=>zn(e))})}function Ur(o){o.update(()=>{$n(ct,$)})}function zr(o){o.update(()=>{$n(Xi,Vi)})}function Wr(o,e){o.getEditorState().read(()=>{let t=T();ae(t,r=>U(r)&&r.getListType()===e)?Gl(o):Xl(o,e)})}function qr(o){o.getEditorState().read(()=>{let e=T(),t=le(o),n=V(t,Zi);n===null?o.update(()=>{let r=Yi();r.setCode(e?.getTextContent()||"");let i=Rt(e),s=i[0],l=i.slice(1);s?(s.replace(r),l.forEach(a=>a.remove())):qo(r,!0),Pr(o,r),ke(r)}):Pr(o,n)})}function Im(o){o.update(()=>{let e=T(),t=Rt(e),n=!1;for(let i of t)Hl(i)||(i.replace(Rn("info"),!0),n=!0);if(n)return;let r=["info","warning","danger","success"];for(let i of t)if(Hl(i)){let s=i.getCategory(),a=(r.indexOf(s)+1)%r.length,c=r[a];i.setCategory(c)}})}function ss(o,e){o.update(()=>{let t=T(),n=V(t,Ot);if(Ot(n)?(n.setURL(e.url),n.setTarget(e.target),n.setTitle(e.title)):(n=gt(e.url,{title:e.title,target:e.target}),Oe([n])),Ot(n)){for(let r of n.getChildren())r.remove(!0);n.append(Y(e.text))}})}function ls(o,e){return{label:e,action(t){t.editor.update(()=>{$n(n=>Kl(n,o),()=>Rn(o))})},isActive(t){return ae(t,n=>Kl(n,o))}}}var $m=ls("info","Info"),Pm=ls("danger","Danger"),Bm=ls("warning","Warning"),Fm=ls("success","Success"),Ux=(o,e)=>qn(o)&&o.getTag()===e;function as(o,e){return{label:e,action(t){is(t.editor,o)},isActive(t){return ae(t,n=>Ux(n,o))}}}var Hm=as("h2","Large Header"),Km=as("h3","Medium Header"),Um=as("h4","Small Header"),zm=as("h5","Tiny Header"),Wm={label:"Blockquote",action(o){zr(o.editor)},isActive(o){return ae(o,Xi)}},qm={label:"Paragraph",action(o){Ur(o.editor)},isActive(o){return ae(o,ct)}};var Ym='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M272-200v-560h221q65 0 120 40t55 111q0 51-23 78.5T602-491q25 11 55.5 41t30.5 90q0 89-65 124.5T501-200H272Zm121-112h104q48 0 58.5-24.5T566-372q0-11-10.5-35.5T494-432H393v120Zm0-228h93q33 0 48-17t15-38q0-24-17-39t-44-15h-95v109Z"/></svg>';var Zm='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M200-200v-100h160l120-360H320v-100h400v100H580L460-300h140v100H200Z"/></svg>';var Vm='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M200-120v-80h560v80H200Zm280-160q-101 0-157-63t-56-167v-330h103v336q0 56 28 91t82 35q54 0 82-35t28-91v-336h103v330q0 104-56 167t-157 63Z"/></svg>';var Xm=`<svg version="1.1" viewBox="0 -960 960 960" xmlns="http://www.w3.org/2000/svg"><path class="editor-icon-color-bar" d="m80-3e-6v-160h800v160z"/><path d="m220-280 210-560h100l210 560h-96l-50-144h-226l-52 144zm176-224h168l-82-232h-4z"/></svg> -`;var Gm='<svg version="1.1" viewBox="0 -960 960 960" xmlns="http://www.w3.org/2000/svg"><path class="editor-icon-color-bar" d="m80-2e-6v-160h800v160z"/><path d="m584-480-104-104-160 160 103 104zm-47-160 103 103 160-159-104-104zm-84-29 216 216-189 190c-16 16-34.833 24-56.5 24s-40.5-8-56.5-24l-27 23h-200l126-125c-16-16-24.333-35.167-25-57.5s7-41.5 23-57.5zm0 0 187-187c16-16 34.833-24 56.5-24s40.5 8 56.5 24l104 103c16 16 24 34.833 24 56.5s-8 40.5-24 56.5l-188 187z"/></svg>';var jm='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M80-400v-80h800v80H80Zm340-160v-120H200v-120h560v120H540v120H420Zm0 400v-160h120v160H420Z"/></svg>';var Jm='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M760-600v-80q0-17 11.5-28.5T800-720h80v-40H760v-40h120q17 0 28.5 11.5T920-760v40q0 17-11.5 28.5T880-680h-80v40h120v40H760ZM235-160l185-291-172-269h106l124 200h4l123-200h107L539-451l186 291H618L482-377h-4L342-160H235Z"/></svg>';var Qm='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M760-160v-80q0-17 11.5-28.5T800-280h80v-40H760v-40h120q17 0 28.5 11.5T920-320v40q0 17-11.5 28.5T880-240h-80v40h120v40H760Zm-525-80 185-291-172-269h106l124 200h4l123-200h107L539-531l186 291H618L482-457h-4L342-240H235Z"/></svg>';var ep='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M320-240 80-480l240-240 57 57-184 184 183 183-56 56Zm320 0-57-57 184-184-183-183 56-56 240 240-240 240Z"/></svg>';var tp='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="m528-546-93-93-121-121h486v120H568l-40 94ZM792-56 460-388l-80 188H249l119-280L56-792l56-56 736 736-56 56Z"/></svg>';function on(o,e,t){return{label:o,icon:t,action(n){n.editor.dispatchCommand(Ne,e)},isActive(n){return Iu(n,e)}}}var op=on("Bold","bold",Ym),np=on("Italic","italic",Zm),rp=on("Underline","underline",Vm),ip={label:"Text color",icon:Xm},sp={label:"Background color",icon:Gm},lp=on("Strikethrough","strikethrough",jm),ap=on("Superscript","superscript",Jm),cp=on("Subscript","subscript",Qm),dp=on("Inline code","code",ep),up={label:"Clear formatting",icon:tp,action(o){o.editor.update(()=>{let e=T();for(let t of e?.getNodes()||[])b(t)&&(t.setFormat(0),t.setStyle(""))})},isActive(){return!1}};var fp='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M120-120v-80h720v80H120Zm0-160v-80h480v80H120Zm0-160v-80h720v80H120Zm0-160v-80h480v80H120Zm0-160v-80h720v80H120Z"/></svg>';var mp='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M120-120v-80h720v80H120Zm160-160v-80h400v80H280ZM120-440v-80h720v80H120Zm160-160v-80h400v80H280ZM120-760v-80h720v80H120Z"/></svg>';var pp='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M120-760v-80h720v80H120Zm240 160v-80h480v80H360ZM120-440v-80h720v80H120Zm240 160v-80h480v80H360ZM120-120v-80h720v80H120Z"/></svg>';var gp='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M120-120v-80h720v80H120Zm0-160v-80h720v80H120Zm0-160v-80h720v80H120Zm0-160v-80h720v80H120Zm0-160v-80h720v80H120Z"/></svg>';var hp='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M440-800v400q0 17-11.5 28.5T400-360q-17 0-28.5-11.5T360-400v-160q-66 0-113-47t-47-113q0-66 47-113t113-47h280q17 0 28.5 11.5T680-840q0 17-11.5 28.5T640-800h-40v400q0 17-11.5 28.5T560-360q-17 0-28.5-11.5T520-400v-400h-80Zm-80 160v-160q-33 0-56.5 23.5T280-720q0 33 23.5 56.5T360-640Zm0-80Zm328 520H160q-17 0-28.5-11.5T120-240q0-17 11.5-28.5T160-280h528l-36-36q-11-11-11-28t11-28q11-11 28-11t28 11l104 104q12 12 12 28t-12 28L708-108q-11 11-28 11t-28-11q-11-11-11-28t11-28l36-36Z"/></svg>';var Np='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M440-800v400q0 17-11.5 28.5T400-360q-17 0-28.5-11.5T360-400v-160q-66 0-113-47t-47-113q0-66 47-113t113-47h280q17 0 28.5 11.5T680-840q0 17-11.5 28.5T640-800h-40v400q0 17-11.5 28.5T560-360q-17 0-28.5-11.5T520-400v-400h-80ZM272-200l36 36q11 11 11 28t-11 28q-11 11-28 11t-28-11L148-212q-12-12-12-28t12-28l104-104q11-11 28-11t28 11q11 11 11 28t-11 28l-36 36h528q17 0 28.5 11.5T840-240q0 17-11.5 28.5T800-200H272Zm88-440v-160q-33 0-56.5 23.5T280-720q0 33 23.5 56.5T360-640Zm0-80Z"/></svg>';function cs(o,e){let t=le(o.editor),n=t?.getNodes()||[];if(n.length===1&&E(n[0])&&n[0].isInline()&&wr(n[0])){n[0].setAlignment(e),ke(n[0]),o.manager.triggerFutureStateRefresh();return}let i=Rt(t).filter(a=>wr(a)),l=i.every(a=>a.getAlignment()===e)?"":e;for(let a of i)a.setAlignment(l);o.manager.triggerFutureStateRefresh()}function xp(o,e){let t=le(o.editor),n=Rt(t);for(let r of n)r.setDirection(e);o.manager.triggerFutureStateRefresh()}var Ep={label:"Align left",icon:fp,action(o){o.editor.update(()=>cs(o,"left"))},isActive(o){return Dr(o,"left")}},Tp={label:"Align center",icon:mp,action(o){o.editor.update(()=>cs(o,"center"))},isActive(o){return Dr(o,"center")}},_p={label:"Align right",icon:pp,action(o){o.editor.update(()=>cs(o,"right"))},isActive(o){return Dr(o,"right")}},Cp={label:"Justify",icon:gp,action(o){o.editor.update(()=>cs(o,"justify"))},isActive(o){return Dr(o,"justify")}},yp={label:"Left to right",icon:hp,action(o){o.editor.update(()=>xp(o,"ltr"))},isActive(o){return Wl(o,"ltr")}},bp={label:"Right to left",icon:Np,action(o){o.editor.update(()=>xp(o,"rtl"))},isActive(o){return Wl(o,"rtl")}};var Sp='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M360-200v-80h480v80H360Zm0-240v-80h480v80H360Zm0-240v-80h480v80H360ZM200-160q-33 0-56.5-23.5T120-240q0-33 23.5-56.5T200-320q33 0 56.5 23.5T280-240q0 33-23.5 56.5T200-160Zm0-240q-33 0-56.5-23.5T120-480q0-33 23.5-56.5T200-560q33 0 56.5 23.5T280-480q0 33-23.5 56.5T200-400Zm0-240q-33 0-56.5-23.5T120-720q0-33 23.5-56.5T200-800q33 0 56.5 23.5T280-720q0 33-23.5 56.5T200-640Z"/></svg>';var Lp='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M120-80v-60h100v-30h-60v-60h60v-30H120v-60h120q17 0 28.5 11.5T280-280v40q0 17-11.5 28.5T240-200q17 0 28.5 11.5T280-160v40q0 17-11.5 28.5T240-80H120Zm0-280v-110q0-17 11.5-28.5T160-510h60v-30H120v-60h120q17 0 28.5 11.5T280-560v70q0 17-11.5 28.5T240-450h-60v30h100v60H120Zm60-280v-180h-60v-60h120v240h-60Zm180 440v-80h480v80H360Zm0-240v-80h480v80H360Zm0-240v-80h480v80H360Z"/></svg>';var Mp='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M222-200 80-342l56-56 85 85 170-170 56 57-225 226Zm0-320L80-662l56-56 85 85 170-170 56 57-225 226Zm298 240v-80h360v80H520Zm0-320v-80h360v80H520Z"/></svg>';var vp='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M120-120v-80h720v80H120Zm320-160v-80h400v80H440Zm0-160v-80h400v80H440Zm0-160v-80h400v80H440ZM120-760v-80h720v80H120Zm0 440v-320l160 160-160 160Z"/></svg>';var wp='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M120-120v-80h720v80H120Zm320-160v-80h400v80H440Zm0-160v-80h400v80H440Zm0-160v-80h400v80H440ZM120-760v-80h720v80H120Zm160 440L120-480l160-160v320Z"/></svg>';function dE(o){let e=o.getParent();if(!U(e))return o;let t=o.getChildren().filter(c=>U(c))[0]||null,n=t?.getChildren()||[],r=e.getChildren(),i=r.findIndex(c=>c.getKey()===o.getKey()),s=i===0,l=$e(),a=_e(e.getListType());if(a.append(l),l.append(...o.getChildren()),s?o.append(a):(r[i-1].append(a),o.remove()),t){for(let c of n)l.insertAfter(c);t.remove()}return l}function uE(o){let e=o.getParent(),t=e?.getParent(),n=t?.getParent();if(!U(e)||!U(n)||!X(t))return o;let r=o.getNextSiblings();if(t.insertAfter(o),e.getChildren().length===0&&e.remove(),t.getChildren().length===0&&t.remove(),r.length>0){let i=_e(e.getListType());i.append(...r),o.append(i)}return e.getChildrenSize()===0&&e.remove(),o}function fE(o){let e=o?.getNodes()||[],t=[];e:for(let n of e){if(X(n)){t.push(n);continue}let r=n.getParents();for(let i of r)if(X(i)){t.push(i);continue e}t.push(null)}return t}function mE(o){let e={};for(let t of o){if(t===null)continue;let n=t.getKey();typeof e[n]>"u"&&(e[n]=t)}return Object.values(e)}function Yr(o,e){let t=T(),n=t?.getStartEndPoints(),r=fE(t);if(r.length>0&&!r.includes(null)){let l=[],a=mE(r);if(e>0)for(let c of a)l.push(dE(c));else if(e<0){for(let c of[...a].reverse())l.push(uE(c));l.reverse()}if(l.length===1&&n){let c=l[0],m=c.getChildren()[0];m||(m=Y(""),c.append(m)),m.select(n[0].offset,n[1].offset)}else Bu(l);return}let s=Rt(t);for(let l of s)if(Ou(l)){let a=l.getInset(),c=Math.min(Math.max(a+e,0),500);l.setInset(c)}Fu(o)}function Ma(o,e,t){return{label:o,icon:t,action(n){Wr(n.editor,e)},isActive(n){return ae(n,r=>U(r)&&r.getListType()===e)}}}var Dp=Ma("Bullet list","bullet",Sp),Op=Ma("Numbered list","number",Lp),Ap=Ma("Task list","check",Mp),Rp={label:"Increase indent",icon:vp,action(o){o.editor.update(()=>{Yr(o.editor,40)})},isActive(){return!1}},kp={label:"Decrease indent",icon:wp,action(o){o.editor.update(()=>{Yr(o.editor,-40)})},isActive(){return!1}};var Ip='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M680-160v-120H560v-80h120v-120h80v120h120v80H760v120h-80ZM440-280H280q-83 0-141.5-58.5T80-480q0-83 58.5-141.5T280-680h160v80H280q-50 0-85 35t-35 85q0 50 35 85t85 35h160v80ZM320-440v-80h320v80H320Zm560-40h-80q0-50-35-85t-85-35H520v-80h160q83 0 141.5 58.5T880-480Z"/></svg>';var $p='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="m770-302-60-62q40-11 65-42.5t25-73.5q0-50-35-85t-85-35H520v-80h160q83 0 141.5 58.5T880-480q0 57-29.5 105T770-302ZM634-440l-80-80h86v80h-6ZM792-56 56-792l56-56 736 736-56 56ZM440-280H280q-83 0-141.5-58.5T80-480q0-69 42-123t108-71l74 74h-24q-50 0-85 35t-35 85q0 50 35 85t85 35h160v80ZM320-440v-80h65l79 80H320Z"/></svg>';var Pp='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h360v80H200v560h560v-360h80v360q0 33-23.5 56.5T760-120H200Zm480-480v-80h-80v-80h80v-80h80v80h80v80h-80v80h-80ZM240-280h480L570-480 450-320l-90-120-120 160Zm-40-480v560-560Z"/></svg>';var Bp='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M160-440v-80h640v80H160Z"/></svg>';var Fp='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="m384-336 56-57-87-87 87-87-56-57-144 144 144 144Zm192 0 144-144-144-144-56 57 87 87-87 87 56 57ZM200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm0-80h560v-560H200v560Zm0-560v560-560Z"/></svg>';var Hp='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 17.25V21h3.75L17.81 9.94l-3.75-3.75zM20.71 7.04a.996.996 0 0 0 0-1.41l-2.34-2.34a.996.996 0 0 0-1.41 0l-1.83 1.83 3.75 3.75z"/><path fill="none" d="M0 0h24v24H0z"/></svg>';var Kp='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M480-60q-63 0-106.5-43.5T330-210q0-52 31-91.5t79-53.5v-85H200v-160H100v-280h280v280H280v80h400v-85q-48-14-79-53.5T570-750q0-63 43.5-106.5T720-900q63 0 106.5 43.5T870-750q0 52-31 91.5T760-605v165H520v85q48 14 79 53.5t31 91.5q0 63-43.5 106.5T480-60Zm240-620q29 0 49.5-20.5T790-750q0-29-20.5-49.5T720-820q-29 0-49.5 20.5T650-750q0 29 20.5 49.5T720-680Zm-540 0h120v-120H180v120Zm300 540q29 0 49.5-20.5T550-210q0-29-20.5-49.5T480-280q-29 0-49.5 20.5T410-210q0 29 20.5 49.5T480-140ZM240-740Zm480-10ZM480-210Z"/></svg>';var Up='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm0-80h560v-480H200v480Zm80-280v-80h400v80H280Zm0 160v-80h240v80H280Z"/></svg>';var zp=`<svg viewbox="0 0 24 24"><path d="M8.12 19.3c.39.39 1.02.39 1.41 0L12 16.83l2.47 2.47c.39.39 1.02.39 1.41 0 .39-.39.39-1.02 0-1.41l-3.17-3.17c-.39-.39-1.02-.39-1.41 0l-3.17 3.17c-.4.38-.4 1.02-.01 1.41zm7.76-14.6c-.39-.39-1.02-.39-1.41 0L12 7.17 9.53 4.7c-.39-.39-1.02-.39-1.41 0-.39.39-.39 1.03 0 1.42l3.17 3.17c.39.39 1.02.39 1.41 0l3.17-3.17c.4-.39.4-1.03.01-1.42z"/></svg> -`;var Wp='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m21.41 11.41-8.83-8.83c-.37-.37-.88-.58-1.41-.58H4c-1.1 0-2 .9-2 2v7.17c0 .53.21 1.04.59 1.41l8.83 8.83c.78.78 2.05.78 2.83 0l7.17-7.17c.78-.78.78-2.04-.01-2.83M6.5 8C5.67 8 5 7.33 5 6.5S5.67 5 6.5 5 8 5.67 8 6.5 7.33 8 6.5 8"/></svg>';var qp='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="m380-300 280-180-280-180v360ZM200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm0-80h560v-560H200v560Zm0-560v560-560Z"/></svg>';var Vn=class extends Error{constructor(e,t){super(e.statusText),this.data=t,this.headers=e.headers,this.redirected=e.redirected,this.status=e.status,this.statusText=e.statusText,this.url=e.url,this.original=e}};function ds(o){return new Promise((e,t)=>{o.oncomplete=o.onsuccess=()=>e(o.result),o.onabort=o.onerror=()=>t(o.error)})}function SE(o,e){let t=indexedDB.open(o);t.onupgradeneeded=()=>t.result.createObjectStore(e);let n=ds(t);return(r,i)=>n.then(s=>i(s.transaction(e,r).objectStore(e)))}var va;function wa(){return va||(va=SE("keyval-store","keyval")),va}function Da(o,e=wa()){return e("readonly",t=>ds(t.get(o)))}function Oa(o,e,t=wa()){return t("readwrite",n=>(n.put(e,o),ds(n.transaction)))}function Aa(o,e=wa()){return e("readwrite",t=>(t.delete(o),ds(t.transaction)))}var Et=null,Ia,us,Ra,ka="last-drawing-save";function $a(o){Et?.contentWindow?.postMessage(JSON.stringify(o),Ia)}function ME(o){Oa(ka,o.data),Ra&&Ra(o.data).then(()=>{Aa(ka)})}function vE(o){$a({action:"export",format:"xmlpng",xml:o.xml,spin:"Updating drawing"})}function wE(){us&&us().then(o=>{$a({action:"load",autosave:1,xml:o})})}function DE(){let o={};Et&&(window.$events.emitPublic(Et,"editor-drawio::configure",{config:o}),$a({action:"configure",config:o}))}function Yp(){window.removeEventListener("message",Zp),Et&&document.body.removeChild(Et)}function Zp(o){if(!o.data||o.data.length<1||o.origin!==Ia)return;let e=JSON.parse(o.data);e.event==="init"?wE():e.event==="exit"?Yp():e.event==="save"?vE(e):e.event==="export"?ME(e):e.event==="configure"&&DE()}async function OE(){let o=await Da(ka),e=document.getElementById("unsaved-drawing-dialog");e||console.error("Missing expected unsaved-drawing dialog"),o&&e&&await window.$components.firstOnElement(e,"confirm-dialog").show()&&(us=async()=>o)}async function Vp(o,e,t){us=e,Ra=t,await OE(),Et=document.createElement("iframe"),Et.setAttribute("frameborder","0"),window.addEventListener("message",Zp),Et.setAttribute("src",o),Et.setAttribute("class","fullscreen"),Et.style.backgroundColor="#FFFFFF",document.body.appendChild(Et),Ia=new URL(o).origin}async function Xp(o,e){let t={image:o,uploaded_to:e};return(await window.$http.post(window.baseUrl("/images/drawio"),t)).data}function Pa(){Yp()}async function Gp(o){try{return`data:image/png;base64,${(await window.$http.get(window.baseUrl(`/images/drawio/base64/${o}`))).data.content}`}catch(e){throw e instanceof Vn&&window.$events.showResponseError(e),Pa(),e}}function Zr(o){return o instanceof yo}function RE(o,e){o.status===413?window.$events.emit("error",e.options.translations.serverUploadLimitText||""):window.$events.emit("error",e.options.translations.imageUploadErrorText||""),console.error(o)}async function kE(o,e){return await new Promise((n,r)=>{o.getEditorState().read(()=>{let{id:i}=e.getDrawingIdAndUrl();n(i)})})||""}async function IE(o,e,t,n){if(Pa(),n){let r=window.baseUrl("/loading.gif");o.editor.update(()=>{e.setDrawingIdAndUrl("",r)})}try{let r=await Xp(t,o.options.pageId);o.editor.update(()=>{e.setDrawingIdAndUrl(String(r.id),r.url)})}catch(r){throw r instanceof Vn&&RE(r,o),n&&o.editor.update(()=>{e.remove()}),new Error(`Failed to save image with error: ${r}`)}}function Vr(o,e){let t=!1;Vp(o.options.drawioUrl,async()=>{let n=await kE(o.editor,e);return t=!n,t?"":Gp(n)},async n=>IE(o,e,n,t))}function $E(o){window.$components.first("image-manager").show(t=>{o(t)},"drawio")}function jp(o){let e=le(o.editor);$E(t=>{o.editor.update(()=>{let n=Kn(t.id,t.url),r=V(e,Zr);Zr(r)?r.replace(n):Oe([n])})})}function fs(o){window.$components.first("image-manager").show(t=>{o(t)},"gallery")}function Jp(o){let e=o.thumbs?.display||o.url,t=gt(e,{target:"_blank"}),n=Pn(e,{alt:o.name});return t.append(n),t}async function Qp(o,e){if(o===null||o.type.indexOf("image")!==0)throw new Error("Not an image file");let t=o.name||`image-${Date.now()}.png`,n=new FormData;return n.append("file",o,t),n.append("uploaded_to",e),(await window.$http.post("/images/gallery",n)).data}var Xr=class extends ne{constructor(e,t){super([e,t]),this.input=e,this.action=t}buildDOM(){return y("div",{class:"editor-action-input-container"},[this.input.getDOMElement(),this.action.getDOMElement()])}};var eg='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h200v80H200v560h560v-214l80 80v134q0 33-23.5 56.5T760-120H200Zm40-160 120-160 90 120 120-160 150 200H240Zm622-144L738-548q-21 14-45 21t-51 7q-74 0-126-52.5T464-700q0-75 52.5-127.5T644-880q75 0 127.5 52.5T824-700q0 27-8 52t-20 46l122 122-56 56ZM644-600q42 0 71-29t29-71q0-42-29-71t-71-29q-42 0-71 29t-29 71q0 42 29 71t71 29Z"/></svg>';var tg='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15.5 14h-.79l-.28-.27A6.47 6.47 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14"/><path fill="none" d="M0 0h24v24H0z"/></svg>';function ms(o,e){window.$components.first("entity-selector-popup").show(n=>o(n),{initialValue:e,searchEndpoint:"/search/entity-selector",entityTypes:"page,book,chapter,bookshelf",entityPermission:"view"})}var ps=class extends ne{constructor(t){super([t]);this.headerMap=new Map;this.input=t}buildDOM(){let t="editor-form-datalist-"+this.input.getName()+"-"+Date.now(),n=this.input.getDOMElement(),r=n.querySelector("input");r?.setAttribute("list",t),r?.setAttribute("autocomplete","off");let i=y("datalist",{id:t}),s=y("div",{class:"editor-link-field-container"},[n,i]);return r?.addEventListener("focusin",()=>{this.updateDataList(i)}),r?.addEventListener("input",()=>{let l=r.value,a=this.headerMap.get(l);a&&this.updateFormFromHeader(a)}),s}updateFormFromHeader(t){this.getHeaderIdAndText(t).then(({id:n,text:r})=>{console.log("updating form",n,r);let i=this.getContext().manager.getActiveModal("link");i&&i.getForm().setValues({url:`#${n}`,text:r,title:r})})}getHeaderIdAndText(t){return new Promise(n=>{this.getContext().editor.update(()=>{let r=t.getId();console.log("header",r,t.__id),r||(r="header-"+kf(),t.setId(r));let i=t.getTextContent();n({id:r,text:i})})})}updateDataList(t){this.getContext().editor.getEditorState().read(()=>{let n=Ul(qn);this.headerMap.clear();let r=[];for(let i of n){let s="header-"+i.getKey();this.headerMap.set(s,i),r.push(y("option",{value:s,label:i.getTextContent().substring(0,54)}))}t.innerHTML="",t.append(...r)})}};function og(o,e){let t=e.manager.createModal("image"),n=o.getHeight(),r=o.getWidth(),i={src:o.getSrc(),alt:o.getAltText(),height:n===0?"":String(n),width:r===0?"":String(r)};t.show(i)}var ng={submitText:"Apply",async action(o,e){return e.editor.update(()=>{let t=le(e.editor),n=V(t,ht);ht(n)&&(n.setSrc(o.get("src")?.toString()||""),n.setAltText(o.get("alt")?.toString()||""),n.setWidth(Number(o.get("width")?.toString()||"0")),n.setHeight(Number(o.get("height")?.toString()||"0")))}),!0},fields:[{build(){return new Xr(new bo({label:"Source",name:"src",type:"text"}),new v({label:"Browse files",icon:eg,action(o){fs(e=>{let t=o.manager.getActiveModal("image");t&&t.getForm().setValues({src:e.thumbs?.display||e.url,alt:e.name})})}}))}},{label:"Alternative description",name:"alt",type:"text"},{label:"Width",name:"width",type:"text"},{label:"Height",name:"height",type:"text"}]};function gs(o,e){let t=e.manager.createModal("link");if(o){let n={url:o.getURL(),text:o.getTextContent(),title:o.getTitle()||"",target:o.getTarget()||""};e.editor.update(()=>{let r=Fo();r.add(o.getKey()),q(r)}),t.show(n)}else e.editor.getEditorState().read(()=>{let i={text:T()?.getTextContent()||""};t.show(i)})}var rg={submitText:"Apply",async action(o,e){return ss(e.editor,{url:o.get("url")?.toString()||"",title:o.get("title")?.toString()||"",target:o.get("target")?.toString()||"",text:o.get("text")?.toString()||""}),!0},fields:[{build(){return new Xr(new ps(new bo({label:"URL",name:"url",type:"text"})),new v({label:"Browse links",icon:tg,action(o){ms(e=>{let t=o.manager.getActiveModal("link");t&&t.getForm().setValues({url:e.link,text:e.name,title:e.name})})}}))}},{label:"Text to display",name:"text",type:"text"},{label:"Title",name:"title",type:"text"},{label:"Open link in...",name:"target",type:"select",valuesByLabel:{"Current window":"","New window":"_blank"}}]},ig={submitText:"Save",async action(o,e){let t=await new Promise((r,i)=>{e.editor.getEditorState().read(()=>{let s=V(T(),eo);r(s)})}),n=(o.get("embed")||"").toString().trim();return n?(e.editor.update(()=>{let r=Ef(n);t&&r?t.replace(r):r&&Oe([r])}),!0):(e.editor.update(()=>{let r=(o.get("src")||"").toString().trim(),i=(o.get("height")||"").toString().trim(),s=(o.get("width")||"").toString().trim(),l=t||Tf(r);l.setSrc(r),l.setWidthAndHeight(s,i),t||Oe([l])}),!0)},fields:[{build(){return new tn([{label:"General",contents:[{label:"Source",name:"src",type:"text"},{label:"Width",name:"width",type:"text"},{label:"Height",name:"height",type:"text"}]},{label:"Embed",contents:[{label:"Paste your embed code below:",name:"embed",type:"textarea"}]}])}}]};function sg(o,e){let t=e.manager.createModal("details");o&&t.show({summary:o.getSummary()})}var lg={submitText:"Save",async action(o,e){return e.editor.update(()=>{let t=V(T(),Ie),n=(o.get("summary")||"").toString().trim();Ie(t)&&t.setSummary(n)}),!0},fields:[{label:"Toggle label",name:"summary",type:"text"}]};var Ba={label:"Insert/edit link",icon:Ip,action(o){o.editor.getEditorState().read(()=>{let e=V(T(),Ot);gs(e,o)})},isActive(o){return ae(o,Ot)}},ag={label:"Remove link",icon:$p,action(o){o.editor.update(()=>{let e=le(o.editor),t=V(e,Ot);if(t){let n=t.getChildren().reverse();for(let r of n)t.insertAfter(r);t.remove(),n[n.length-1].selectStart(),o.manager.triggerFutureStateRefresh()}})},isActive(o){return!1}},Fa={label:"Insert/Edit Image",icon:Pp,action(o){o.editor.getEditorState().read(()=>{let e=le(o.editor),t=V(e,ht);if(t){og(t,o);return}fs(n=>{o.editor.update(()=>{let r=Jp(n);Oe([r])})})})},isActive(o){return ae(o,ht)}},cg={label:"Insert horizontal line",icon:Bp,action(o){o.editor.update(()=>{qo(ua(),!1)})},isActive(o){return ae(o,gf)}},Ha={label:"Insert code block",icon:Fp,action(o){qr(o.editor)},isActive(o){return ae(o,Zi)}},dg=Object.assign({},Ha,{label:"Edit code block",icon:Hp}),ug={label:"Insert/edit drawing",icon:Kp,action(o){o.editor.getEditorState().read(()=>{let e=le(o.editor),t=V(e,Zr);t===null?o.editor.update(()=>{let n=Kn();qo(n,!0),Vr(o,n),n.selectStart()}):Vr(o,t)})},isActive(o){return ae(o,Zr)}},fg={label:"Drawing manager",action(o){jp(o)},isActive(){return!1}},mg={label:"Insert/edit Media",icon:qp,action(o){let e=o.manager.createModal("media");o.editor.getEditorState().read(()=>{let t=T(),n=V(t,eo),r={};if(n){let i=n.getAttributes();r={src:i.src||i.data||"",width:i.width,height:i.height,embed:""}}e.show(r)})},isActive(o){return ae(o,eo)}},pg={label:"Insert collapsible block",icon:Up,action(o){o.editor.update(()=>{let e=T(),t=ql(),r=(e?.getNodes()||[]).map(s=>s.getTopLevelElement()).filter(s=>s!==null),i=[...new Set(r)];i.length>0?i[0].insertAfter(t):F().append(t);for(let s of i)t.append(s)})},isActive(o){return ae(o,Ie)}},gg={label:"Edit label",icon:Wp,action(o){o.editor.getEditorState().read(()=>{let e=V(T(),Ie);Ie(e)&&sg(e,o)})},isActive(o){return!1}},hg={label:"Toggle open/closed",icon:zp,action(o){o.editor.update(()=>{let e=V(T(),Ie);Ie(e)&&(e.setOpen(!e.getOpen()),o.manager.triggerLayoutUpdate())})},isActive(o){return!1}},Ng={label:"Unwrap",icon:ts,action(o){o.editor.update(()=>{let e=V(T(),Ie);if(Ie(e)){let t=e.getChildren();for(let n of t)e.insertBefore(n);e.remove(),o.manager.triggerLayoutUpdate()}})},isActive(o){return!1}};var xg=`<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m2 6.9159 10 10.168 10-10.168z" stroke-width="2.0168"/></svg> -`;var hs=class extends ne{constructor(e,t){super([e]),this.button=e,this.dropdownButton=new Me({button:{label:"Menu",icon:xg},showOnHover:!1,direction:"vertical",showAside:!1},t),this.addChildren(this.dropdownButton)}buildDOM(){return y("div",{class:"editor-button-with-menu-container"},[this.button.getDOMElement(),this.dropdownButton.getDOMElement()])}};var nn=class extends Le{buildDOM(){return y("div",{class:"editor-separator"})}};function Eg(o){let e=o.manager.getDefaultDirection()==="rtl";return new Gi("editor-toolbar-main",[new nt(2,[new v(Dm),new v(Om)]),new Ji([new Ye(y("h2"),Hm),new Ye(y("h3"),Km),new Ye(y("h4"),Um),new Ye(y("h5"),zm),new Ye(y("blockquote"),Wm),new Ye(y("p"),qm),new Me({button:{label:"Callouts",format:"long"},showOnHover:!0,direction:"vertical"},[new Ye(y("p",{class:"callout info"}),$m),new Ye(y("p",{class:"callout success"}),Fm),new Ye(y("p",{class:"callout warning"}),Bm),new Ye(y("p",{class:"callout danger"}),Pm)])]),new nt(6,[new v(op),new v(np),new v(rp),new Me({button:new Fr(ip,"color")},[new Br("color")]),new Me({button:new Fr(sp,"background-color")},[new Br("background-color")]),new v(lp),new v(ap),new v(cp),new v(dp),new v(up)]),new nt(6,[new v(Ep),new v(Tp),new v(_p),new v(Cp),e?new v(yp):null,e?new v(bp):null].filter(t=>t!==null)),new nt(3,[new v(Dp),new v(Op),new v(Ap),new v(kp),new v(Rp)]),new nt(4,[new v(Ba),new Me({button:im,direction:"vertical",showAside:!1},[new Me({button:{label:"Insert",format:"long"},showOnHover:!0,showAside:!0},[new es]),new nn,new Me({button:{label:"Cell",format:"long"},direction:"vertical",showOnHover:!0},[new v(xm),new v(Em),new v(Tm)]),new Me({button:{label:"Row",format:"long"},direction:"vertical",showOnHover:!0},[new v({..._a,format:"long"}),new v({...Ca,format:"long"}),new v({...ya,format:"long"}),new v(cm),new nn,new v(dm),new v(um),new v(fm),new v(mm)]),new Me({button:{label:"Column",format:"long"},direction:"vertical",showOnHover:!0},[new v({...ba,format:"long"}),new v({...Sa,format:"long"}),new v({...La,format:"long"}),new nn,new v(pm),new v(gm),new v(hm),new v(Nm)]),new nn,new v({...Ea,format:"long"}),new v(sm),new v(lm),new v(am)]),new v(Fa),new v(cg),new v(Ha),new hs(new v(ug),[new v(fg)]),new v(mg),new v(pg)]),new nt(3,[new v(Am),new v(km),new v(Rm)])])}function Tg(){return[new v(Fa)]}function _g(){return[new v(Ba),new v(ag)]}function Cg(){return[new v(dg)]}function yg(){return[new nt(2,[new v(Ea),new v(Ta)]),new nt(3,[new v(_a),new v(Ca),new v(ya)]),new nt(3,[new v(ba),new v(Sa),new v(La)])]}function bg(){return[new v(gg),new v(hg),new v(Ng)]}var Sg='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>';var Ns=class extends ne{constructor(e,t){super([new os(e.form)]),this.definition=e,this.key=t}show(e){let t=this.getDOMElement();document.body.append(t);let n=this.getForm();n.setValues(e),n.setOnCancel(this.hide.bind(this)),n.setOnSuccessfulSubmit(this.hide.bind(this)),this.getContext().manager.setModalActive(this.key,this)}hide(){this.getDOMElement().remove(),this.getContext().manager.setModalInactive(this.key)}getForm(){return this.children[0]}buildDOM(){let e=y("button",{class:"editor-modal-close",type:"button",title:this.trans("Close")});e.innerHTML=Sg,e.addEventListener("click",this.hide.bind(this));let t=y("div",{class:"editor-modal editor-form-modal"},[y("div",{class:"editor-modal-header"},[y("div",{class:"editor-modal-title"},[this.trans(this.definition.title)]),e]),y("div",{class:"editor-modal-body"},[this.getForm().getDOMElement()])]),n=y("div",{class:"editor-modal-wrapper"},[t]);return n.addEventListener("click",r=>{r.target&&!t.contains(r.target)&&this.hide()}),n}};var xs=class extends ne{constructor(e,t){super(t),this.target=e}buildDOM(){return y("div",{class:"editor-context-toolbar"},this.getChildren().map(e=>e.getDOMElement()))}updatePosition(){let e=this.getContext().scrollDOM.getBoundingClientRect(),t=this.target.getBoundingClientRect(),n=this.getDOMElement(),r=n.getBoundingClientRect(),i=t.bottom>e.top&&t.top<e.bottom;if(n.hidden=!i,!i)return;let s=t.bottom+6+r.height>e.bottom;n.classList.toggle("is-above",s);let a=t.left+t.width/2-r.width/2;s?n.style.top=t.top-6-r.height+"px":n.style.top=t.bottom+6+"px",n.style.left=a+"px"}insert(e){this.addChildren(...e),this.getDOMElement().append(...e.map(n=>n.getDOMElement()))}empty(){let e=this.getChildren();for(let t of e)t.getDOMElement().remove();this.removeChildren(...e)}destroy(){this.empty(),this.getDOMElement().remove()}};var Es=class{constructor(){this.modalDefinitionsByKey={};this.activeModalsByKey={};this.decoratorConstructorsByType={};this.decoratorInstancesByNodeKey={};this.context=null;this.toolbar=null;this.contextToolbarDefinitionsByKey={};this.activeContextToolbars=[];this.selectionChangeHandlers=new Set}setContext(e){this.context=e,this.setupEventListeners(e),this.setupEditor(e.editor)}getContext(){if(this.context===null)throw new Error("Context attempted to be used without being set");return this.context}triggerStateUpdateForElement(e){e.updateState({selection:null,editor:this.getContext().editor})}registerModal(e,t){this.modalDefinitionsByKey[e]=t}createModal(e){let t=this.modalDefinitionsByKey[e];if(!t)throw new Error(`Attempted to show modal of key [${e}] but no modal registered for that key`);let n=new Ns(t,e);return n.setContext(this.getContext()),n}setModalActive(e,t){this.activeModalsByKey[e]=t}setModalInactive(e){delete this.activeModalsByKey[e]}getActiveModal(e){return this.activeModalsByKey[e]}registerDecoratorType(e,t){this.decoratorConstructorsByType[e]=t}getDecorator(e,t){if(this.decoratorInstancesByNodeKey[t])return this.decoratorInstancesByNodeKey[t];let n=this.decoratorConstructorsByType[e];if(!n)throw new Error(`Attempted to use decorator of type [${e}] but not decorator registered for that type`);let r=new n(t);return this.decoratorInstancesByNodeKey[t]=r,r}getDecoratorByNodeKey(e){return this.decoratorInstancesByNodeKey[e]||null}setToolbar(e){this.toolbar&&this.toolbar.getDOMElement().remove(),this.toolbar=e,e.setContext(this.getContext()),this.getContext().containerDOM.prepend(e.getDOMElement())}registerContextToolbar(e,t){this.contextToolbarDefinitionsByKey[e]=t}triggerStateUpdate(e){Ru(e.editor,e.selection),this.toolbar?.updateState(e),this.updateContextToolbars(e);for(let t of this.activeContextToolbars)t.updateState(e);this.triggerSelectionChange(e.selection)}triggerStateRefresh(){let e=this.getContext().editor,t={editor:e,selection:le(e)};this.triggerStateUpdate(t),this.updateContextToolbars(t)}triggerFutureStateRefresh(){requestAnimationFrame(()=>{this.getContext().editor.getEditorState().read(()=>{this.triggerStateRefresh()})})}triggerSelectionChange(e){if(e)for(let t of this.selectionChangeHandlers)t(e)}onSelectionChange(e){this.selectionChangeHandlers.add(e)}offSelectionChange(e){this.selectionChangeHandlers.delete(e)}triggerLayoutUpdate(){window.requestAnimationFrame(()=>{for(let e of this.activeContextToolbars)e.updatePosition()})}getDefaultDirection(){return this.getContext().options.textDirection==="rtl"?"rtl":"ltr"}updateContextToolbars(e){for(let s=this.activeContextToolbars.length-1;s>=0;s--)this.activeContextToolbars[s].destroy(),this.activeContextToolbars.splice(s,1);let t=(e.selection?.getNodes()||[])[0]||null;if(!t)return;let n=e.editor.getElementByKey(t.getKey());if(!n)return;let r=Object.keys(this.contextToolbarDefinitionsByKey),i=new Map;for(let s of r){let l=this.contextToolbarDefinitionsByKey[s],a=n.closest(l.selector)||n.querySelector(l.selector);if(a){let c=l.displayTargetLocator?l.displayTargetLocator(a):a;i.has(c)||i.set(c,[]),i.get(c).push(...l.content)}}for(let[s,l]of i){let a=new xs(s,l);a.setContext(this.getContext()),this.activeContextToolbars.push(a),this.getContext().containerDOM.append(a.getDOMElement()),a.updatePosition()}}setupEditor(e){let t=n=>{e.getEditorState().read(()=>{let r=Object.keys(n);for(let i of r){let s=e.getElementByKey(i);if(!s)continue;let l=n[i],a=this.getDecorator(l.type,i);a.setNode(l.getNode());let c=a.render(this.getContext(),s);c&&s.append(c)}})};e.registerDecoratorListener(t),e.registerUpdateListener(({editorState:n,prevEditorState:r})=>{!r._selection?.is(n._selection)&&e.update(()=>{let s=T();this.triggerStateUpdate({editor:e,selection:s})})})}setupEventListeners(e){let t=this.triggerLayoutUpdate.bind(this);window.addEventListener("scroll",t,{capture:!0,passive:!0}),window.addEventListener("resize",t,{passive:!0})}};var Xn=class{constructor(e){this.node=null;this.onDestroyCallbacks=[];this.context=e}getNode(){if(!this.node)throw new Error("Attempted to get use node without it being set");return this.node}setNode(e){this.node=e}onDestroy(e){this.onDestroyCallbacks.push(e)}destroy(e){for(let t of this.onDestroyCallbacks)t()}};var Ts=class extends Xn{constructor(){super(...arguments);this.completedSetup=!1;this.latestCode="";this.latestLanguage="";this.editor=null}setup(t,n){let r=this.getNode(),i=n.querySelector("pre");if(!i)return;i&&(i.hidden=!0),this.latestCode=r.__code,this.latestLanguage=r.__language;let l=this.latestCode.split(` -`).length*19.2+18+24;n.style.height=`${l}px`;let a=Date.now();n.addEventListener("click",f=>{requestAnimationFrame(()=>{t.editor.update(()=>{ke(this.getNode())})})}),n.addEventListener("dblclick",f=>{t.editor.getEditorState().read(()=>{Pr(t.editor,this.getNode())})});let c=f=>{n.classList.toggle("selected",Pi(f,r))};t.manager.onSelectionChange(c),this.onDestroy(()=>{t.manager.offSelectionChange(c)});let m=f=>{this.editor=f.wysiwygView(n,document,this.latestCode,this.latestLanguage),setTimeout(()=>{n.style.height=""},12)};window.importVersioned("code").then(f=>{let d=Date.now()-a<20?20:0;setTimeout(()=>m(f),d)}),this.completedSetup=!0}update(){let t=this.getNode(),n=t.getCode(),r=t.getLanguage();this.latestCode===n&&this.latestLanguage===r||(this.latestLanguage=r,this.latestCode=n,this.editor&&(this.editor.setContent(n),this.editor.setMode(r,n)))}render(t,n){this.completedSetup?this.update():this.setup(t,n)}};var _s=class extends Xn{constructor(){super(...arguments);this.completedSetup=!1}setup(t,n){let r=this.getNode();n.classList.add("editor-diagram"),n.addEventListener("click",s=>{t.editor.update(()=>{ke(this.getNode())})}),n.addEventListener("dblclick",s=>{t.editor.getEditorState().read(()=>{Vr(t,this.getNode())})});let i=s=>{n.classList.toggle("selected",Pi(s,r))};t.manager.onSelectionChange(i),this.onDestroy(()=>{t.manager.offSelectionChange(i)}),this.completedSetup=!0}update(){}render(t,n){this.completedSetup?this.update():this.setup(t,n)}};var Cs=class extends Le{constructor(t){super();this.url="";this.url=t}buildDOM(){let t=y("div",{class:"editor-external-content"});return window.$http.get(this.url).then(n=>{typeof n.data=="string"&&(t.innerHTML=n.data)}),t}};var Lg={submitText:"Save",async action(o,e){return Zn(e.editor,o.get("source")?.toString()||""),!0},fields:[{label:"Source",name:"source",type:"textarea"}]},Mg={submitText:"Close",async action(){return!0},fields:[{build(){return new Cs("/help/wysiwyg")}}]};var Ka={link:{title:"Insert/Edit Link",form:rg},image:{title:"Insert/Edit Image",form:ng},media:{title:"Insert/Edit Media",form:ig},source:{title:"Source code",form:Lg},cell_properties:{title:"Cell Properties",form:Pf},row_properties:{title:"Row Properties",form:Ff},table_properties:{title:"Table Properties",form:Kf},details:{title:"Edit collapsible block",form:lg},about:{title:"About the WYSIWYG Editor",form:Mg}};function vg(o,e,t,n,r){let i=new Es,s={editor:n,containerDOM:o,editorDOM:e,scrollDOM:t,manager:i,translate(l){return r.translations[l]||l},error(l){let a=l instanceof Error?l.message:l;window.$events.error(a)},options:r};i.setContext(s),i.setToolbar(Eg(s));for(let l of Object.keys(Ka))i.registerModal(l,Ka[l]);return i.registerContextToolbar("image",{selector:"img:not([drawio-diagram] img)",content:Tg()}),i.registerContextToolbar("link",{selector:"a",content:_g(),displayTargetLocator(l){return l.querySelector("img")||l}}),i.registerContextToolbar("code",{selector:".editor-code-block-wrap",content:Cg()}),i.registerContextToolbar("table",{selector:"td,th",content:yg(),displayTargetLocator(l){return l.closest("table")}}),i.registerContextToolbar("details",{selector:"details",content:bg()}),i.registerDecoratorType("code",Ts),i.registerDecoratorType("diagram",_s),s}var Gn=class{constructor(e,t,n){this.startX=0;this.startY=0;this.target=null;this.container=e,this.dragTargetSelector=t,this.options=n,this.onMouseDown=this.onMouseDown.bind(this),this.onMouseMove=this.onMouseMove.bind(this),this.onMouseUp=this.onMouseUp.bind(this),this.container.addEventListener("mousedown",this.onMouseDown)}teardown(){this.container.removeEventListener("mousedown",this.onMouseDown),this.container.removeEventListener("mouseup",this.onMouseUp),this.container.removeEventListener("mousemove",this.onMouseMove)}onMouseDown(e){this.target=e.target.closest(this.dragTargetSelector),this.target&&(this.startX=e.screenX,this.startY=e.screenY,window.addEventListener("mousemove",this.onMouseMove),window.addEventListener("mouseup",this.onMouseUp),this.options.down&&this.options.down(e,this.target))}onMouseMove(e){this.options.move&&this.target&&this.options.move(e,this.target,{x:e.screenX-this.startX,y:e.screenY-this.startY})}onMouseUp(e){window.removeEventListener("mousemove",this.onMouseMove),window.removeEventListener("mouseup",this.onMouseUp),this.options.up&&this.target&&this.options.up(e,this.target,{x:e.screenX-this.startX,y:e.screenY-this.startY})}};var Ua=class{constructor(e,t){this.markerDom=null;this.mouseTracker=null;this.dragging=!1;this.targetCell=null;this.xMarkerAtStart=!1;this.yMarkerAtStart=!1;this.editor=e,this.editScrollContainer=t,this.setupListeners()}teardown(){this.editScrollContainer.removeEventListener("mousemove",this.onCellMouseMove),window.removeEventListener("scroll",this.onScrollOrResize,{capture:!0}),window.removeEventListener("resize",this.onScrollOrResize),this.mouseTracker&&this.mouseTracker.teardown()}setupListeners(){this.onCellMouseMove=this.onCellMouseMove.bind(this),this.onScrollOrResize=this.onScrollOrResize.bind(this),this.editScrollContainer.addEventListener("mousemove",this.onCellMouseMove),window.addEventListener("scroll",this.onScrollOrResize,{capture:!0,passive:!0}),window.addEventListener("resize",this.onScrollOrResize,{passive:!0})}onScrollOrResize(){this.updateCurrentMarkerTargetPosition()}onCellMouseMove(e){let t=e.target.closest("td,th");if(!t||this.dragging)return;let n=t.getBoundingClientRect(),r=n.left+n.width/2,i=n.top+n.height/2;this.targetCell=t,this.xMarkerAtStart=e.clientX<=r,this.yMarkerAtStart=e.clientY<=i;let s=this.xMarkerAtStart?n.left:n.right,l=this.yMarkerAtStart?n.top:n.bottom;this.updateMarkersTo(t,s,l)}updateMarkersTo(e,t,n){let r=this.getMarkers(),s=e.closest("table").getBoundingClientRect(),l=this.editScrollContainer.getBoundingClientRect(),a=Math.max(s.top,l.top),m=Math.min(s.bottom,l.bottom)-a;r.x.style.left=t+"px",r.x.style.top=a+"px",r.x.style.height=m+"px",r.y.style.top=n+"px",r.y.style.left=s.left+"px",r.y.style.width=s.width+"px",r.y.hidden=n<l.top||n>l.bottom,r.x.hidden=s.top>l.bottom||s.bottom<l.top}updateCurrentMarkerTargetPosition(){if(!this.targetCell)return;let e=this.targetCell.getBoundingClientRect(),t=this.xMarkerAtStart?e.left:e.right,n=this.yMarkerAtStart?e.top:e.bottom;this.updateMarkersTo(this.targetCell,t,n)}getMarkers(){if(!this.markerDom){this.markerDom={x:y("div",{class:"editor-table-marker editor-table-marker-column"}),y:y("div",{class:"editor-table-marker editor-table-marker-row"})};let e=y("div",{class:"editor-table-marker-wrap"},[this.markerDom.x,this.markerDom.y]);this.editScrollContainer.after(e),this.watchMarkerMouseDrags(e)}return this.markerDom}watchMarkerMouseDrags(e){let t=this,n=0,r="left";this.mouseTracker=new Gn(e,".editor-table-marker",{down(i,s){s.classList.add("active"),t.dragging=!0,r=s.classList.contains("editor-table-marker-column")?"left":"top",n=Number(s.style[r].replace("px",""))},move(i,s,l){s.style[r]=n+l[r==="left"?"x":"y"]+"px"},up(i,s,l){s.classList.remove("active"),s.style.left="0",s.style.top="0",t.dragging=!1;let a=t.targetCell?.closest("table");if(r==="left"&&t.targetCell&&a){let c=t.getTargetCellColumnIndex(),m=l.x;t.xMarkerAtStart&&c>0?c-=1:t.xMarkerAtStart&&c===0&&(m=-m),t.editor.update(()=>{let f=ee(a);if(f instanceof xt){let d=lf(t.editor,f,c),u=Math.max(d+m,10);ca(f,c,u)}})}if(r==="top"&&t.targetCell){let c=t.targetCell;t.editor.update(()=>{let f=ee(c)?.getParent(),d=f?.getIndexWithinParent()||0,u=l.y;t.yMarkerAtStart&&d>0?d-=1:t.yMarkerAtStart&&d===0&&(u=-u);let p=f?.getParent()?.getChildren()[d];if(p instanceof Jt){let g=p.getHeight()||0,h=Math.max(g+u,10);p.setHeight(h)}})}}})}getTargetCellColumnIndex(){let e=this.targetCell;if(e===null)return-1;let t=0,n=e.parentElement;for(let r of n?.children||[]){let i=Number(r.getAttribute("colspan"));if((Number.isNaN(i)||i<1)&&(i=1),t+=i,r===e)return t-1}return-1}};function wg(o,e){let t=new Ua(o,e);return()=>{t.teardown()}}function ys(o){return o.html||""}function Dg(o){window.$events.listen("editor::replace",t=>{let n=ys(t);Zn(o,n)}),window.$events.listen("editor::append",t=>{let n=ys(t);Lm(o,n)}),window.$events.listen("editor::prepend",t=>{let n=ys(t);Mm(o,n)}),window.$events.listen("editor::insert",t=>{let n=ys(t);vm(o,n)}),window.$events.listen("editor::focus",()=>{wm(o)});let e=!0;o.registerUpdateListener(({dirtyElements:t,dirtyLeaves:n,editorState:r,prevEditorState:i})=>{(t.size>0||n.size>0)&&(e?e=!1:window.$events.emit("editor-html-change",""))})}var bs=class{constructor(e){this.data=e}hasItems(){return!!this.data&&!!this.data.types&&this.data.types.length>0}containsTabularData(){let e=this.data.getData("text/rtf");return!!e&&e.includes("\\trowd")}getImages(){return this.getFiles().filter(e=>e.type.includes("image"))}getFiles(){let{files:e}=this.data;return[...e]}};function KE(o,e){let t=o.clientX,n=o.clientY;return document.elementFromPoint(t,n)?Du(e,o.clientX,o.clientY):null}function Og(o,e,t){let n=KE(e,t);n&&ke(n),zl(o,!0),(!B(n)||!n?.getTextContent())&&n?.remove()}async function UE(o,e,t){let i=((await window.$http.get(`/templates/${e}`)).data||{html:""}).html||"";o.update(()=>{let s=_o(o,i);Og(s,t,o)})}function Ag(o,e){let t=new bs(o),n=!1;if(!t.hasItems()||t.containsTabularData())return n;let r=t.getImages();return r.length>0&&(n=!0),e.editor.update(async()=>{for(let i of r){let s=window.baseUrl("/loading.gif"),l=Pn(s),a=$();a.append(l),Oe([a]);try{let c=await Qp(i,e.options.pageId),m=c.name.replace(/"/g,"");e.editor.update(()=>{let f=Pn(c.thumbs?.display||"",{alt:m}),d=gt(c.url,{target:"_blank"});d.append(f),l.replace(d)})}catch(c){e.editor.update(()=>{l.remove(!1)}),window.$events.error(c?.data?.message||e.options.translations.imageUploadErrorText),console.error(c)}}}),n}function zE(o){let e=o.editor;return t=>{let n=t.dataTransfer?.getData("bookstack/template")||"";if(n)return UE(e,n,t),t.preventDefault(),t.stopPropagation(),!0;let r=t.dataTransfer?.getData("text/html")||"";return r?(e.update(()=>{let i=_o(e,r);Og(i,t,e)}),t.preventDefault(),t.stopPropagation(),!0):t.dataTransfer&&Ag(t.dataTransfer,o)?(t.preventDefault(),t.stopPropagation(),!0):!1}}function WE(o){return e=>{if(!e.clipboardData)return!1;let t=Ag(e.clipboardData,o);return t&&e.preventDefault(),t}}function Rg(o){let e=zE(o),t=WE(o),n=o.editor.registerCommand(Do,e,qe),r=o.editor.registerCommand(oo,t,qe);return o.scrollDOM.addEventListener("drop",e),()=>{n(),r(),o.scrollDOM.removeEventListener("drop",e)}}var za=class{constructor(e,t){this.editor=e,this.editorContainer=t,this.setupListeners()}setupListeners(){this.handleClick=this.handleClick.bind(this),this.editorContainer.addEventListener("click",this.handleClick)}handleClick(e){let t=e.target;t instanceof HTMLElement&&t.nodeName==="LI"&&t.classList.contains("task-list-item")&&(this.handleTaskListItemClick(t,e),e.preventDefault())}handleTaskListItemClick(e,t){let n=e.getBoundingClientRect();t.clientX<=n.right&&t.clientX>=n.left&&t.clientY>=n.top&&t.clientY<=n.bottom||this.editor.update(()=>{let i=ee(e);X(i)&&i.setChecked(!i.getChecked())})}teardown(){this.editorContainer.removeEventListener("click",this.handleClick)}};function kg(o,e){let t=new za(o,e);return()=>{t.teardown()}}var Wa=class{constructor(e){this.tableSelections=new Map;this.unregisterMutationListener=()=>{};this.editor=e,this.init()}init(){this.unregisterMutationListener=this.editor.registerMutationListener(xt,e=>{for(let[t,n]of e)if(n==="created")this.editor.getEditorState().read(()=>{let r=j(t);K(r)&&this.initializeTableNode(r)});else if(n==="destroyed"){let r=this.tableSelections.get(t);r!==void 0&&(r.removeListeners(),this.tableSelections.delete(t))}})}initializeTableNode(e){let t=e.getKey(),n=this.editor.getElementByKey(t);if(n&&!this.tableSelections.has(t)){let r=sa(e,n,this.editor,!1);this.tableSelections.set(t,r)}}teardown(){this.unregisterMutationListener();for(let[,e]of this.tableSelections)e.removeListeners()}};function Ig(o){let e=new Wa(o);return()=>{e.teardown()}}function Ss(o,e){return is(o,e),!0}function to(o){return e=>(o(e),!0)}function $g(o){return o.dispatchCommand(Ne,"code"),!0}var Pg={"meta+s":()=>(window.$events.emit("editor-save-draft"),!0),"meta+enter":()=>(window.$events.emit("editor-save-page"),!0),"meta+1":o=>Ss(o,"h1"),"meta+2":o=>Ss(o,"h2"),"meta+3":o=>Ss(o,"h3"),"meta+4":o=>Ss(o,"h4"),"meta+5":to(Ur),"meta+d":to(Ur),"meta+6":to(zr),"meta+q":to(zr),"meta+7":to(qr),"meta+e":to(qr),"meta+8":$g,"meta+shift+e":$g,"meta+9":to(Im),"meta+o":to(o=>Wr(o,"number")),"meta+p":to(o=>Wr(o,"bullet")),"meta+k":(o,e)=>(o.getEditorState().read(()=>{let t=V(T(),Ot);gs(t,e)}),!0),"meta+shift+k":(o,e)=>(ms(t=>{ss(o,{text:t.name,title:t.link,target:"",url:t.link})}),!0)};function qE(o){return e=>{let t=YE(e);Pg[t]&&Pg[t](o.editor,o)&&(e.stopPropagation(),e.preventDefault())}}function YE(o){return[(Bg()?o.metaKey:o.ctrlKey)?"meta":"",o.shiftKey?"shift":"",o.key].filter(Boolean).join("+").toLowerCase()}function Bg(){return window.navigator.userAgent.includes("Mac OS X")}function ZE(o){o.registerCommand(Fe,e=>Bg()?e?.metaKey||!1:e?.ctrlKey||!1,qe)}function Fg(o){let e=qE(o);return ZE(o.editor),o.editor.registerRootListener((t,n)=>{t?.addEventListener("keydown",e),n?.removeEventListener("keydown",e)})}function VE(o){return ht(o)||eo(o)}var qa=class{constructor(e){this.dom=null;this.mouseTracker=null;this.activeSelection="";this.context=e,this.scrollContainer=e.scrollDOM,this.onSelectionChange=this.onSelectionChange.bind(this),e.manager.onSelectionChange(this.onSelectionChange)}onSelectionChange(e){let t=e?.getNodes()||[];if(this.activeSelection&&this.hide(),t.length===1&&VE(t[0])){let n=t[0],r=n.getKey(),i=this.context.editor.getElementByKey(r);i&&i.nodeName==="SPAN"&&(i=i.firstElementChild),i&&this.showForNode(n,i)}}teardown(){this.context.manager.offSelectionChange(this.onSelectionChange),this.hide()}showForNode(e,t){this.dom=this.buildDOM();let n=y("span",{class:"editor-node-resizer-ghost"});ht(e)&&(n=y("img",{src:t.getAttribute("src"),class:"editor-node-resizer-ghost"})),this.dom.append(n),this.context.scrollDOM.append(this.dom),this.updateDOMPosition(t),this.mouseTracker=this.setupTracker(this.dom,e,t),this.activeSelection=e.getKey()}updateDOMPosition(e){if(!this.dom)return;let t=this.scrollContainer.getBoundingClientRect(),n=e.getBoundingClientRect(),r=n.top-(t.top-this.scrollContainer.scrollTop),i=n.left-t.left;this.dom.style.top=`${r}px`,this.dom.style.left=`${i}px`,this.dom.style.width=n.width+"px",this.dom.style.height=n.height+"px"}updateDOMSize(e,t){this.dom&&(this.dom.style.width=e+"px",this.dom.style.height=t+"px")}hide(){this.mouseTracker?.teardown(),this.dom?.remove(),this.activeSelection=""}buildDOM(){let t=["nw","ne","se","sw"].map(n=>y("div",{class:`editor-node-resizer-handle ${n}`}));return y("div",{class:"editor-node-resizer"},t)}setupTracker(e,t,n){let r=0,i=0,s=0,l=!1,a=this,c=!1,m=!1,f=d=>{let u=d.x;c&&(u=0-u);let p=d.y;m&&(p=0-p);let g=Math.sqrt(Math.pow(Math.abs(u),2)+Math.pow(Math.abs(p),2)),_=u+p>0?g:0-g,N=Math.max(5,Math.round(r+_)),L=Math.round(N*s);return{width:N,height:L}};return new Gn(e,".editor-node-resizer-handle",{down(d,u){a.dom?.classList.add("active"),a.context.editor.getEditorState().read(()=>{let p=n.getBoundingClientRect();r=t.getWidth()||p.width,i=t.getHeight()||p.height,t.getHeight()&&(l=!0),s=i/r}),c=u.classList.contains("nw")||u.classList.contains("sw"),m=u.classList.contains("nw")||u.classList.contains("ne")},move(d,u,p){let g=f(p);a.updateDOMSize(g.width,g.height)},up(d,u,p){let g=f(p);a.context.editor.update(()=>{t.setWidth(g.width),t.setHeight(l?g.height:0),a.context.manager.triggerLayoutUpdate(),requestAnimationFrame(()=>{a.updateDOMPosition(n)})}),a.dom?.classList.remove("active")}})}};function Hg(o){let e=new qa(o);return()=>{e.teardown()}}function Ug(o){if(o.length===1){let e=o[0];if(B(e)||ht(e)||eo(e))return!0}return!1}function Kg(o){let e=le(o)?.getNodes()||[];Ug(e)&&o.update(()=>{e[0].remove()})}function XE(o,e){let t=le(o)?.getNodes()||[];if(Ug(t)){let n=t[0],r=In(n)||n;if(r)return requestAnimationFrame(()=>{o.update(()=>{let i=$();r.insertAfter(i),i.select()})}),e?.preventDefault(),!0}return!1}function GE(o,e){let t=zg(o);return t===null||t.detailsSibling?!1:(o.update(()=>{let n=$();t.parentDetails.insertAfter(n),n.select()}),e?.preventDefault(),!0)}function jE(o,e){let t=zg(o);if(t===null||t.parentBlock.getTextContent()!=="")return!1;e?.preventDefault();let n=t.parentDetails.getNextSibling();return o.update(()=>{if(n)n.selectStart();else{let r=$();t.parentDetails.insertAfter(r),r.select()}t.parentBlock.remove()}),!0}function zg(o){let t=le(o)?.getNodes()[0];if(!t)return null;let n=In(t),r=At(t,Ie);if(!Ie(r)||n===null||n.getKey()!==r.getLastChild()?.getKey())return null;let i=r.getNextSibling();return{parentDetails:r,parentBlock:n,detailsSibling:i}}function JE(o){if(o.length!==1)return!1;let e=o[0];return X(e)||X(e.getParent())}function QE(o,e){let t=e?.shiftKey?-40:40,r=T()?.getNodes()||[];return r.length>1||JE(r)?(o.update(()=>{Yr(o,t)}),e?.preventDefault(),!0):!1}function Wg(o){let e=o.editor.registerCommand(Bt,()=>(Kg(o.editor),!1),Dt),t=o.editor.registerCommand(Ft,()=>(Kg(o.editor),!1),Dt),n=o.editor.registerCommand(Fe,s=>XE(o.editor,s)||jE(o.editor,s),Dt),r=o.editor.registerCommand(wo,s=>QE(o.editor,s),Dt),i=o.editor.registerCommand(Pt,s=>GE(o.editor,s),Dt);return()=>{e(),t(),n(),r(),i()}}function eT(o){return o.toLowerCase().startsWith("http")?/(http|https):\/\/(\S+)\.\S+$/.test(o):!1}function tT(o,e,t){let n=e.getStartEndPoints();if(!n)return;let r=n[0].offset,i=o.getTextContent(),a=i.slice(0,r).lastIndexOf(" ")+1,c=i.slice(a,r);eT(c)&&t.update(()=>{let m=gt(c);m.append(new Je(c));let f=o.splitText(a,r),d=f.length===3?1:0,u=f[d];u&&u.replace(m)})}function qg(o){let e=r=>{let i=T(),s=ku(i);return s&&i&&tT(s,i,o),!1},t=o.registerCommand(Qn,e,bi),n=o.registerCommand(Fe,e,bi);return()=>{t(),n()}}function Z$(o,e,t={}){let n={namespace:"BookStackPageEditor",nodes:_f(),onError:console.error,theme:{text:{bold:"editor-theme-bold",code:"editor-theme-code",italic:"editor-theme-italic",strikethrough:"editor-theme-strikethrough",subscript:"editor-theme-subscript",superscript:"editor-theme-superscript",underline:"editor-theme-underline",underlineStrikethrough:"editor-theme-underline-strikethrough"}}},r=y("div",{contenteditable:"true",class:"editor-content-area page-content"}),i=y("div",{class:"editor-content-wrap"},[r]);o.append(i),o.classList.add("editor-container"),o.setAttribute("dir",t.textDirection),t.darkMode&&o.classList.add("editor-dark");let s=Al(n);s.setRootElement(r);let l=vg(o,r,i,s,t);Xt(wu(s),pu(s,gu(),300),Fg(l),Wg(l),wg(s,i),Ig(s),kg(s,r),Rg(l),Hg(l),qg(s)),Dg(s),Zn(s,e);let a=document.getElementById("lexical-debug");return a&&(a.hidden=!0,s.registerUpdateListener(({dirtyElements:c,dirtyLeaves:m,editorState:f,prevEditorState:d})=>{a.textContent=JSON.stringify(f.toJSON(),null,2)})),window.debugEditorState=()=>{console.log(s.getEditorState().toJSON())},Cf(l),new Ya(s)}var Ya=class{constructor(e){this.editor=e}async getContentAsHtml(){return await rs(this.editor)}};export{Ya as SimpleWysiwygEditorInterface,Z$ as createPageEditorInstance}; +`?a.insertParagraph():c===" "?a.insertNodes([St()]):a.insertText(c)}}}else e.insertRawText(i)}function Kl(o,e,t){o.dispatchCommand(er,{nodes:e,selection:t})||t.insertNodes(e)}function YN(o){let e=o.exportJSON(),t=o.constructor;if(e.type!==t.getType()&&x(!1,"LexicalNode: Node %s does not implement .exportJSON().",t.name),E(o)){let n=e.children;Array.isArray(n)||x(!1,"LexicalNode: Node %s is an element but .exportJSON() does not have a children array.",t.name)}return e}function Ou(o,e,t,n=[]){let r=e!==null?t.isSelected(e):!0,i=E(t)&&t.excludeFromCopy("html"),s=t;if(e!==null){let c=Zt(t);c=y(c)&&e!==null?Or(e,c):c,s=c}let l=E(s)?s.getChildren():[],a=YN(s);if(y(s)){let c=s.__text;c.length>0?a.text=c:r=!1}for(let c=0;c<l.length;c++){let m=l[c],f=Ou(o,e,m,a.children);!r&&E(t)&&f&&t.extractWithChild(m,e,"clone")&&(r=!0)}if(r&&!i)n.push(a);else if(Array.isArray(a.children))for(let c=0;c<a.children.length;c++){let m=a.children[c];n.push(m)}return r}function Au(o,e){let t=[],r=F().getChildren();for(let i=0;i<r.length;i++){let s=r[i];Ou(o,e,s,t)}return{namespace:o._config.namespace,nodes:t}}function Ru(o){let e=[];for(let t=0;t<o.length;t++){let n=o[t],r=Dl(n);y(r)&&$l(r),e.push(r)}return e}var ZN=50,Rn=null;async function kn(o,e,t){if(Rn!==null)return!1;if(e!==null)return new Promise((a,c)=>{o.update(()=>{a(Mu(o,e,t))})});let n=o.getRootElement(),r=o._window==null?window.document:o._window.document,i=wu(o._window);if(n===null||i===null)return!1;let s=r.createElement("span");s.style.cssText="position: fixed; top: -1000px;",s.append(r.createTextNode("#")),n.append(s);let l=new Range;return l.setStart(s,0),l.setEnd(s,1),i.removeAllRanges(),i.addRange(l),new Promise((a,c)=>{let m=o.registerCommand(so,f=>(mt(f,ClipboardEvent)&&(m(),Rn!==null&&(window.clearTimeout(Rn),Rn=null),a(Mu(o,f,t))),!0),Re);Rn=window.setTimeout(()=>{m(),Rn=null,a(!1)},ZN),r.execCommand("copy"),s.remove()})}function Mu(o,e,t){if(t===void 0){let r=wu(o._window);if(!r)return!1;let i=r.anchorNode,s=r.focusNode;if(i!==null&&s!==null&&!Wt(o,i,s))return!1;let l=T();if(l===null)return!1;t=Ii(l)}e.preventDefault();let n=e.clipboardData;return n===null?!1:(ku(n,t),!0)}var VN=[["text/html",vu],["application/x-lexical-editor",Du]];function Ii(o=T()){let e={"text/plain":o?o.getTextContent():""};if(o){let t=nl();for(let[n,r]of VN){let i=r(t,o);i!==null&&(e[n]=i)}}return e}function ku(o,e){for(let t in e){let n=e[t];n!==void 0&&o.setData(t,n)}}function $i(o,e){if(typeof document.caretRangeFromPoint<"u"){let t=document.caretRangeFromPoint(o,e);return t===null?null:{node:t.startContainer,offset:t.startOffset}}else if(document.caretPositionFromPoint!=="undefined"){let t=document.caretPositionFromPoint(o,e);return t===null?null:{node:t.offsetNode,offset:t.offset}}else return null}var Iu=$("DRAG_DROP_PASTE_FILE");function XN(o,e){o.preventDefault(),e.update(()=>{let t=T(),n=mt(o,InputEvent)||mt(o,KeyboardEvent)?null:o.clipboardData;n!=null&&t!==null&&ki(n,t,e)},{tag:"paste"})}async function GN(o,e){await kn(e,mt(o,ClipboardEvent)?o:null),e.update(()=>{let t=T();_(t)?t.removeText():Se(t)&&t.getNodes().forEach(n=>n.remove())})}function Pi(o){let e=null;if(mt(o,DragEvent)?e=o.dataTransfer:mt(o,ClipboardEvent)&&(e=o.clipboardData),e===null)return[!1,[],!1];let t=e.types,n=t.includes("Files"),r=t.includes("text/html")||t.includes("text/plain");return[n,Array.from(e.files),r]}function Bi(o){let e=ee(o);return B(e)}function jN(o){let e=o.focus;return e.key==="root"&&e.offset===F().getChildrenSize()}function $u(o){return Gt(o.registerCommand(tr,t=>{let n=T();return Se(n)?(n.clear(),!0):!1},0),o.registerCommand(Ze,t=>{let n=T();return _(n)?(n.deleteCharacter(t),!0):!1},X),o.registerCommand(Tt,t=>{let n=T();return _(n)?(n.deleteWord(t),!0):!1},X),o.registerCommand(it,t=>{let n=T();return _(n)?(n.deleteLine(t),!0):!1},X),o.registerCommand(rt,t=>{let n=T();if(typeof t=="string")n!==null&&n.insertText(t);else{if(n===null)return!1;let r=t.dataTransfer;if(r!=null)ki(r,n,o);else if(_(n)){let i=t.data;return i&&n.insertText(i),!0}}return!0},X),o.registerCommand(cn,()=>{let t=T();return _(t)?(t.removeText(),!0):!1},X),o.registerCommand(Ne,t=>{let n=T();return _(n)?(n.formatText(t),!0):!1},X),o.registerCommand($t,t=>{let n=T();return _(n)?(n.insertLineBreak(t),!0):!1},X),o.registerCommand(Pt,()=>{let t=T();return _(t)?(t.insertParagraph(),!0):!1},X),o.registerCommand(Rs,()=>(Oe([St()]),!0),X),o.registerCommand(wo,t=>{let n=T();if(Se(n)&&!Bi(t.target)){let r=n.getNodes();if(r.length>0)return r[0].selectPrevious(),!0}else if(_(n)){let r=Yt(n.focus,!0);if(!t.shiftKey&&B(r)&&!r.isIsolated()&&!r.isInline())return r.selectPrevious(),t.preventDefault(),!0}return!1},X),o.registerCommand(Bt,t=>{let n=T();if(Se(n)){let r=n.getNodes();if(r.length>0)return r[0].selectNext(0,0),!0}else if(_(n)){if(jN(n))return t.preventDefault(),!0;let r=Yt(n.focus,!1);if(!t.shiftKey&&B(r)&&!r.isIsolated()&&!r.isInline())return r.selectNext(),t.preventDefault(),!0}return!1},X),o.registerCommand(Mo,t=>{let n=T();if(Se(n)){let r=n.getNodes();if(r.length>0)return t.preventDefault(),r[0].selectPrevious(),!0}if(!_(n))return!1;if(wi(n,!0)){let r=t.shiftKey;return t.preventDefault(),vi(n,r,!0),!0}return!1},X),o.registerCommand(Lo,t=>{let n=T();if(Se(n)&&!Bi(t.target)){let i=n.getNodes();if(i.length>0)return t.preventDefault(),i[0].selectNext(0,0),!0}if(!_(n))return!1;let r=t.shiftKey;return wi(n,!1)?(t.preventDefault(),vi(n,r,!1),!0):!1},X),o.registerCommand(Ft,t=>{if(Bi(t.target))return!1;let n=T();return _(n)?(t.preventDefault(),o.dispatchCommand(Ze,!0)):!1},X),o.registerCommand(Ht,t=>{if(Bi(t.target))return!1;let n=T();return _(n)?(t.preventDefault(),o.dispatchCommand(Ze,!1)):!1},X),o.registerCommand(Fe,t=>{let n=T();if(!_(n))return!1;if(t!==null){if((Ct||Kt||Ut)&&uo)return!1;if(t.preventDefault(),t.shiftKey)return o.dispatchCommand($t,!1)}return o.dispatchCommand(Pt,void 0)},X),o.registerCommand(vo,()=>{let t=T();return _(t)?(o.blur(),!0):!1},X),o.registerCommand(Oo,t=>{let[,n]=Pi(t);if(n.length>0){let i=t.clientX,s=t.clientY,l=$i(i,s);if(l!==null){let{offset:a,node:c}=l,m=ee(c);if(m!==null){let f=Uo();if(y(m))f.anchor.set(m.getKey(),a,"text"),f.focus.set(m.getKey(),a,"text");else{let u=m.getParentOrThrow().getKey(),p=m.getIndexWithinParent()+1;f.anchor.set(u,p,"element"),f.focus.set(u,p,"element")}let d=Ao(f);Y(d)}o.dispatchCommand(Iu,n)}return t.preventDefault(),!0}let r=T();return!!_(r)},X),o.registerCommand(nr,t=>{let[n]=Pi(t),r=T();return!(n&&!_(r))},X),o.registerCommand(rr,t=>{let[n]=Pi(t),r=T();if(n&&!_(r))return!1;let i=t.clientX,s=t.clientY,l=$i(i,s);if(l!==null){let a=ee(l.node);B(a)&&t.preventDefault()}return!0},X),o.registerCommand(dn,()=>(tl(),!0),X),o.registerCommand(so,t=>(kn(o,mt(t,ClipboardEvent)?t:null),!0),X),o.registerCommand(lo,t=>(GN(t,o),!0),X),o.registerCommand(no,t=>{let[,n,r]=Pi(t);return n.length>0&&!r?(o.dispatchCommand(Iu,n),!0):En(t.target)?!1:T()!==null?(XN(t,o),!0):!1},X))}var qo=class o extends Z{constructor(t,n){super(n);this.__id="";this.__category="info";this.__alignment="";this.__inset=0;this.__category=t}static getType(){return"callout"}static clone(t){let n=new o(t.__category,t.__key);return n.__id=t.__id,n.__alignment=t.__alignment,n.__inset=t.__inset,n}setCategory(t){let n=this.getWritable();n.__category=t}getCategory(){return this.getLatest().__category}setId(t){let n=this.getWritable();n.__id=t}getId(){return this.getLatest().__id}setAlignment(t){let n=this.getWritable();n.__alignment=t}getAlignment(){return this.getLatest().__alignment}setInset(t){let n=this.getWritable();n.__inset=t}getInset(){return this.getLatest().__inset}createDOM(t,n){let r=document.createElement("p");return r.classList.add("callout",this.__category||""),et(r,this),r}updateDOM(t){return t.__category!==this.__category||wt(t,this)}insertNewAfter(t,n){let r=t?t.anchor.offset:0,i=r===this.getTextContentSize()||!t?I():In(this.__category);if(i.setDirection(this.getDirection()),this.insertAfter(i,n),r===0&&!this.isEmpty()&&t){let s=I();s.select(),this.replace(s,!0)}return i}static importDOM(){return{p(t){return t.classList.contains("callout")?{conversion:n=>{let r="info",i=["info","success","warning","danger"];for(let l of i)if(n.classList.contains(l)){r=l;break}let s=new o(r);return Qe(n,s),{node:s}},priority:3}:null}}}exportJSON(){return{...super.exportJSON(),type:"callout",version:1,category:this.__category,id:this.__id,alignment:this.__alignment,inset:this.__inset}}static importJSON(t){let n=In(t.category);return tt(t,n),n}};function In(o="info"){return new qo(o)}function Ul(o){return o instanceof qo}function zl(o,e="info"){return o instanceof qo&&o.getCategory()===e}var JN=new Set(["http:","https:","mailto:","sms:","tel:"]),$n=class o extends Z{static getType(){return"link"}static clone(e){return new o(e.__url,{rel:e.__rel,target:e.__target,title:e.__title},e.__key)}constructor(e,t={},n){super(n);let{target:r=null,rel:i=null,title:s=null}=t;this.__url=e,this.__target=r,this.__rel=i,this.__title=s}createDOM(e){let t=document.createElement("a");return t.href=this.sanitizeUrl(this.__url),this.__target!==null&&(t.target=this.__target),this.__rel!==null&&(t.rel=this.__rel),this.__title!==null&&(t.title=this.__title),Te(t,e.theme.link),t}updateDOM(e,t,n){if(t instanceof HTMLAnchorElement){let r=this.__url,i=this.__target,s=this.__rel,l=this.__title;r!==e.__url&&(t.href=r),i!==e.__target&&(i?t.target=i:t.removeAttribute("target")),s!==e.__rel&&(s?t.rel=s:t.removeAttribute("rel")),l!==e.__title&&(l?t.title=l:t.removeAttribute("title"))}return!1}static importDOM(){return{a:e=>({conversion:QN,priority:1})}}static importJSON(e){let t=gt(e.url,{rel:e.rel,target:e.target,title:e.title});return t.setDirection(e.direction),t}sanitizeUrl(e){try{let t=new URL(e);if(!JN.has(t.protocol))return"about:blank"}catch{return e}return e}exportJSON(){return{...super.exportJSON(),rel:this.getRel(),target:this.getTarget(),title:this.getTitle(),type:"link",url:this.getURL(),version:1}}getURL(){return this.getLatest().__url}setURL(e){let t=this.getWritable();t.__url=e}getTarget(){return this.getLatest().__target}setTarget(e){let t=this.getWritable();t.__target=e}getRel(){return this.getLatest().__rel}setRel(e){let t=this.getWritable();t.__rel=e}getTitle(){return this.getLatest().__title}setTitle(e){let t=this.getWritable();t.__title=e}insertNewAfter(e,t=!0){let n=gt(this.__url,{rel:this.__rel,target:this.__target,title:this.__title});return this.insertAfter(n,t),n}canInsertTextBefore(){return!1}canInsertTextAfter(){return!1}canBeEmpty(){return!1}isInline(){return!0}extractWithChild(e,t,n){if(!_(t))return!1;let r=t.anchor.getNode(),i=t.focus.getNode();return this.isParentOf(r)&&this.isParentOf(i)&&t.getTextContent().length>0}isEmailURI(){return this.__url.startsWith("mailto:")}isWebSiteURI(){return this.__url.startsWith("https://")||this.__url.startsWith("http://")}};function QN(o){let e=null;if(fi(o)){let t=o.textContent;(t!==null&&t!==""||o.children.length>0)&&(e=gt(o.getAttribute("href")||"",{rel:o.getAttribute("rel"),target:o.getAttribute("target"),title:o.getAttribute("title")}))}return{node:e}}function gt(o,e){return ne(new $n(o,e))}function Ot(o){return o instanceof $n}var $S=$("TOGGLE_LINK_COMMAND");function ex(o){return o.map(e=>{if(y(e)){let t=I();return t.append(e),t}return e})}function _o(o,e){let t=du(e),n=Ai(o,t);return ex(n)}function At(o,e){for(let t of o.getParents())if(e(t))return t;return null}function Wl(o,e){e||(e=F());let t=[];for(let n of e.getChildren())o(n)&&t.push(n),E(n)&&t.push(...Wl(o,n));return t}function Pu(o,e,t){let n=F().getChildren();for(let r of n){let i=o.getElementByKey(r.__key);if(!i)continue;let s=i.getBoundingClientRect();if(t<=s.bottom)return r}return null}function Pn(o){let e=t=>(E(t)||B(t))&&!t.isInline()&&!oe(t);return e(o)?o:H(o,e)}function Ar(o){return"__alignment"in o}function Bu(o){return"__inset"in o}var Fu=new WeakMap;function le(o){return Fu.get(o)||null}function Hu(o,e){Fu.set(o,e)}function ae(o,e){return V(o,e)!==null}function V(o,e){if(!o)return null;for(let t of o.getNodes()){if(e(t))return t;let n=At(t,e);if(n)return n}return null}function Ku(o){return V(o,y)}function Uu(o,e){if(!o)return!1;for(let t of o.getNodes())if(y(t)&&t.hasFormat(e))return!0;return!1}function Bn(o,e){let t=T(),n=t?xu(t.getNodes()[0]):null;t&&o(n)?Mi(t,I):Mi(t,e)}function Yo(o,e=!0){ql([o],e)}function ql(o,e=!0){let t=T()?.getNodes()||[],n=t.length>0?Pn(t[0]):null;if(n)if(e)for(let r=o.length-1;r>=0;r--)n.insertAfter(o[r]);else for(let r of o)n.insertBefore(r);else F().append(...o)}function ke(o){let e=Ho();e.add(o.getKey()),Y(e)}function zu(o){for(let e of o){if(y(e))return e;if(E(e)){let t=e.getChildren(),n=zu(t);if(n!==null)return n}}return null}function Wu(o){let e=[...o].reverse();for(let t of e){if(y(t))return t;if(E(t)){let n=[...t.getChildren()].reverse(),r=Wu(n);if(r!==null)return r}}return null}function qu(o){if(o.length===0)return;let e=Uo(),t=zu(o),n=Wu(o);t&&n&&(e.setTextNodeRange(t,0,n,n.getTextContentSize()||0),Y(e))}function Yu(o){let e=le(o);e&&window.requestAnimationFrame(()=>{o.update(()=>{Y(e.clone())})})}function Fi(o,e){if(!o)return!1;let t=e.getKey();for(let n of o.getNodes())if(n.getKey()===t)return!0;return!1}function Rr(o,e){let t=[...o?.getNodes()||[],...Rt(o)];for(let n of t)if(Ar(n)&&n.getAlignment()===e)return!0;return!1}function Yl(o,e){let t=[...o?.getNodes()||[],...Rt(o)];for(let n of t)if(Ko(n)&&n.getDirection()===e)return!0;return!1}function Rt(o){if(!o)return[];let e=new Map;for(let t of o.getNodes()){let n=Pn(t);E(n)&&e.set(n.getKey(),n)}return Array.from(e.values())}var Zo=class o extends Z{constructor(t,n,r){super(r);this.__src="";this.__alt="";this.__width=0;this.__height=0;this.__alignment="";this.__src=t,n.alt&&(this.__alt=n.alt),n.width&&(this.__width=n.width),n.height&&(this.__height=n.height)}static getType(){return"image"}static clone(t){let n=new o(t.__src,{alt:t.__alt,width:t.__width,height:t.__height},t.__key);return n.__alignment=t.__alignment,n}setSrc(t){let n=this.getWritable();n.__src=t}getSrc(){return this.getLatest().__src}setAltText(t){let n=this.getWritable();n.__alt=t}getAltText(){return this.getLatest().__alt}setHeight(t){let n=this.getWritable();n.__height=t}getHeight(){return this.getLatest().__height}setWidth(t){let n=this.getWritable();n.__width=t}getWidth(){return this.getLatest().__width}setAlignment(t){let n=this.getWritable();n.__alignment=t}getAlignment(){return this.getLatest().__alignment}isInline(){return!0}createDOM(t,n){let r=document.createElement("img");return r.setAttribute("src",this.__src),this.__width&&r.setAttribute("width",String(this.__width)),this.__height&&r.setAttribute("height",String(this.__height)),this.__alt&&r.setAttribute("alt",this.__alt),this.__alignment&&r.classList.add("align-"+this.__alignment),r.addEventListener("click",i=>{n.update(()=>{ke(this)})}),r}updateDOM(t,n){return t.__src!==this.__src&&n.setAttribute("src",this.__src),t.__width!==this.__width&&(this.__width?n.setAttribute("width",String(this.__width)):n.removeAttribute("width")),t.__height!==this.__height&&(this.__height?n.setAttribute("height",String(this.__height)):n.removeAttribute("height")),t.__alt!==this.__alt&&(this.__alt?n.setAttribute("alt",String(this.__alt)):n.removeAttribute("alt")),t.__alignment!==this.__alignment&&(t.__alignment&&n.classList.remove("align-"+t.__alignment),this.__alignment&&n.classList.add("align-"+this.__alignment)),!1}static importDOM(){return{img(t){return{conversion:n=>{let r=n.getAttribute("src")||"",i={alt:n.getAttribute("alt")||"",height:Number.parseInt(n.getAttribute("height")||"0"),width:Number.parseInt(n.getAttribute("width")||"0")},s=new o(r,i);return s.setAlignment(vr(n)),{node:s}},priority:3}}}}exportJSON(){return{...super.exportJSON(),type:"image",version:1,src:this.__src,alt:this.__alt,height:this.__height,width:this.__width,alignment:this.__alignment}}static importJSON(t){let n=Fn(t.src,{alt:t.alt,width:t.width,height:t.height});return n.setAlignment(t.alignment),n}};function Fn(o,e={}){return new Zo(o,e)}function ht(o){return o instanceof Zo}var Hn=class o extends Z{constructor(){super(...arguments);this.__id="";this.__summary="";this.__open=!1}static getType(){return"details"}setId(t){let n=this.getWritable();n.__id=t}getId(){return this.getLatest().__id}setSummary(t){let n=this.getWritable();n.__summary=t}getSummary(){return this.getLatest().__summary}setOpen(t){let n=this.getWritable();n.__open=t}getOpen(){return this.getLatest().__open}static clone(t){let n=new o(t.__key);return n.__id=t.__id,n.__dir=t.__dir,n.__summary=t.__summary,n.__open=t.__open,n}createDOM(t,n){let r=document.createElement("details");this.__id&&r.setAttribute("id",this.__id),this.__dir&&r.setAttribute("dir",this.__dir),this.__open&&r.setAttribute("open","true");let i=document.createElement("summary");return i.textContent=this.__summary,i.setAttribute("contenteditable","false"),i.addEventListener("click",s=>{s.preventDefault(),n.update(()=>{this.select()})}),r.append(i),r}updateDOM(t,n){return t.__open!==this.__open&&n.toggleAttribute("open",this.__open),t.__id!==this.__id||t.__dir!==this.__dir||t.__summary!==this.__summary}static importDOM(){return{details(t){return{conversion:n=>{let r=new o;n.id&&r.setId(n.id),n.dir&&r.setDirection(Dr(n));let i=Array.from(n.children).find(s=>s.nodeName==="SUMMARY");return r.setSummary(i?.textContent||""),{node:r}},priority:3}},summary(t){return{conversion:n=>({node:"ignore"}),priority:3}}}}exportDOM(t){let n=this.createDOM(t._config,t),r=n.querySelectorAll("[contenteditable]");for(let i of r)i.removeAttribute("contenteditable");return n.removeAttribute("open"),{element:n}}exportJSON(){return{...super.exportJSON(),type:"details",version:1,id:this.__id,summary:this.__summary}}static importJSON(t){let n=Zl();return n.setId(t.id),n.setDirection(t.direction),n}};function Zl(){return new Hn}function Ie(o){return o instanceof Hn}function Vl(o){let e=1,t=o.getParent();for(;t!=null;){if(G(t)){let n=t.getParent();if(U(n)){e++,t=n.getParent();continue}x(!1,"A ListItemNode must have a ListNode for a parent.")}return e}return e}function Xl(o){let e=o.getParent();U(e)||x(!1,"A ListItemNode must have a ListNode for a parent.");let t=e;for(;t!==null;)t=t.getParent(),U(t)&&(e=t);return e}function Gl(o){let e=[],t=o.getChildren().filter(G);for(let n=0;n<t.length;n++){let r=t[n],i=r.getFirstChild();U(i)?e=e.concat(Gl(i)):e.push(r)}return e}var A0=Symbol.for("@lexical/NestedListNodeBrand");function Kn(o){return G(o)&&U(o.getFirstChild())}function Zu(o){return $e().append(o)}function Xu(o,e){return G(o)&&(e.length===0||e.length===1&&o.is(e[0])&&o.getChildrenSize()===0)}function jl(o,e){o.update(()=>{let t=T();if(t!==null){let n=t.getNodes();if(_(t)){let i=t.getStartEndPoints();x(i!==null,"insertList: anchor should be defined");let[s]=i,l=s.getNode(),a=l.getParent();if(Xu(l,n)){let c=Ce(e);if(me(a)){l.replace(c);let m=$e();c.append(m)}else if(G(l)){let m=l.getParentOrThrow();kr(c,m.getChildren()),m.replace(c)}return}}let r=new Set;for(let i=0;i<n.length;i++){let s=n[i];if(E(s)&&s.isEmpty()&&!G(s)&&!r.has(s.getKey())){Vu(s,e);continue}if(gr(s)){let l=s.getParent();for(;l!=null;){let a=l.getKey();if(U(l)){if(!r.has(a)){let c=Ce(e);kr(c,l.getChildren()),l.replace(c),r.add(a)}break}else{let c=l.getParent();if(me(c)&&!r.has(a)){r.add(a),Vu(l,e);break}l=c}}}}}})}function kr(o,e){o.splice(o.getChildrenSize(),0,e)}function Vu(o,e){if(U(o))return o;let t=o.getPreviousSibling(),n=o.getNextSibling(),r=$e();if(kr(r,o.getChildren()),U(t)&&e===t.getListType())return t.append(r),o.remove(),U(n)&&e===n.getListType()&&(kr(t,n.getChildren()),n.remove()),t;if(U(n)&&e===n.getListType())return n.getFirstChildOrThrow().insertBefore(r),o.remove(),n;{let i=Ce(e);return i.append(r),o.replace(i),i}}function Hi(o,e){let t=o.getLastChild(),n=e.getFirstChild();t&&n&&Kn(t)&&Kn(n)&&(Hi(t.getFirstChild(),n.getFirstChild()),n.remove());let r=e.getChildren();r.length>0&&o.append(...r),e.remove()}function Jl(o){o.update(()=>{let e=T();if(_(e)){let t=new Set,n=e.getNodes(),r=e.anchor.getNode();if(Xu(r,n))t.add(Xl(r));else for(let i=0;i<n.length;i++){let s=n[i];if(gr(s)){let l=Nu(s,jt);l!=null&&t.add(Xl(l))}}for(let i of t){let s=i,l=Gl(i);for(let a of l){let c=I();kr(c,a.getChildren()),s.insertAfter(c),s=c,a.__key===e.anchor.key&&e.anchor.set(c.getKey(),0,"element"),a.__key===e.focus.key&&e.focus.set(c.getKey(),0,"element"),a.remove()}i.remove()}}})}function Gu(o){let e=o.getListType()!=="check",t=o.getStart();for(let n of o.getChildren())G(n)&&(n.getValue()!==t&&n.setValue(t),e&&n.getLatest().__checked!=null&&n.setChecked(void 0),U(n.getFirstChild())||t++)}function ju(o){let e=o.getNextSibling();U(e)&&o.getListType()===e.getListType()&&Hi(o,e)}var jt=class o extends Z{static getType(){return"listitem"}static clone(e){return new o(e.__value,e.__checked,e.__key)}constructor(e,t,n){super(n),this.__value=e===void 0?1:e,this.__checked=t}createDOM(e){let t=document.createElement("li"),n=this.getParent();return U(n)&&n.getListType()==="check"&&Qu(t,this),t.value=this.__value,Ju(this)&&(t.style.listStyle="none"),t}updateDOM(e,t,n){let r=this.getParent();return U(r)&&r.getListType()==="check"&&Qu(t,this),t.style.listStyle=Ju(this)?"none":"",t.value=this.__value,!1}static transform(){return e=>{if(x(G(e),"node is not a ListItemNode"),e.__checked==null)return;let t=e.getParent();U(t)&&t.getListType()!=="check"&&e.getChecked()!=null&&e.setChecked(void 0)}}static importDOM(){return{li:()=>({conversion:tx,priority:0})}}static importJSON(e){let t=$e();return t.setChecked(e.checked),t.setValue(e.value),t.setDirection(e.direction),t}exportDOM(e){let t=this.createDOM(e._config);if(t.classList.contains("task-list-item")){let n=b("input",{type:"checkbox",disabled:"disabled"});t.hasAttribute("checked")&&(n.setAttribute("checked","checked"),t.removeAttribute("checked")),t.prepend(n)}return{element:t}}exportJSON(){return{...super.exportJSON(),checked:this.getChecked(),type:"listitem",value:this.getValue(),version:1}}append(...e){for(let t=0;t<e.length;t++){let n=e[t];if(E(n)&&this.canMergeWith(n)){let r=n.getChildren();this.append(...r),n.remove()}else super.append(n)}return this}replace(e,t){if(G(e))return super.replace(e);let n=this.getParentOrThrow();if(!U(n))return e;if(n.__first===this.getKey())n.insertBefore(e);else if(n.__last===this.getKey())n.insertAfter(e);else{let r=Ce(n.getListType()),i=this.getNextSibling();for(;i;){let s=i;i=i.getNextSibling(),r.append(s)}n.insertAfter(e),e.insertAfter(r)}return t&&(x(E(e),"includeChildren should only be true for ElementNodes"),this.getChildren().forEach(r=>{e.append(r)})),this.remove(),n.getChildrenSize()===0&&n.remove(),e}insertAfter(e,t=!0){let n=this.getParentOrThrow();if(U(n)||x(!1,"insertAfter: list node is not parent of list item node"),G(e))return super.insertAfter(e,t);let r=this.getNextSiblings();if(n.insertAfter(e,t),r.length!==0){let i=Ce(n.getListType());r.forEach(s=>i.append(s)),e.insertAfter(i,t)}return e}remove(e){let t=this.getPreviousSibling(),n=this.getNextSibling();super.remove(e),t&&n&&Kn(t)&&Kn(n)&&(Hi(t.getFirstChild(),n.getFirstChild()),n.remove())}insertNewAfter(e,t=!0){if(this.getTextContent().trim()===""&&this.isLastChild()){let r=this.getParentOrThrow(),i=r.getParent();if(G(i))return i.insertAfter(this),this.selectStart(),null;{let s=I();return r.insertAfter(s,t),this.remove(),s}}let n=$e(this.__checked==null?void 0:!1);return this.insertAfter(n,t),n}collapseAtStart(e){let t=I();this.getChildren().forEach(l=>t.append(l));let r=this.getParentOrThrow(),i=r.getParentOrThrow(),s=G(i);if(r.getChildrenSize()===1)if(s)r.remove(),i.select();else{r.insertBefore(t),r.remove();let l=e.anchor,a=e.focus,c=t.getKey();l.type==="element"&&l.getNode().is(this)&&l.set(c,l.offset,"element"),a.type==="element"&&a.getNode().is(this)&&a.set(c,a.offset,"element")}else r.insertBefore(t),this.remove();return!0}getValue(){return this.getLatest().__value}setValue(e){let t=this.getWritable();t.__value=e}getChecked(){let e=this.getLatest(),t,n=this.getParent();return U(n)&&(t=n.getListType()),t==="check"?!!e.__checked:void 0}setChecked(e){let t=this.getWritable();t.__checked=e}toggleChecked(){this.setChecked(!this.__checked)}canInsertAfter(e){return G(e)}canReplaceWith(e){return G(e)}canMergeWith(e){return ct(e)||G(e)}extractWithChild(e,t){if(!_(t))return!1;let n=t.anchor.getNode(),r=t.focus.getNode();return this.isParentOf(n)&&this.isParentOf(r)&&this.getTextContent().length===t.getTextContent().length}isParentRequired(){return!0}createParentElementNode(){return Ce("bullet")}canMergeWhenEmpty(){return!0}};function Ju(o){let e=o.getChildren(),t=!1,n=!1;for(let r of e)U(r)?n=!0:r.getTextContent().trim().length>0&&(t=!0);return n&&!t}function Qu(o,e){let t=!U(e.getFirstChild());o.classList.toggle("task-list-item",t),e.__checked?o.setAttribute("checked","checked"):o.removeAttribute("checked")}function tx(o){if(o.classList.contains("task-list-item")){for(let r of o.children)if(r.tagName==="INPUT")return ox(r)}let t=o.getAttribute("aria-checked");return{node:$e(t==="true"?!0:t==="false"?!1:void 0)}}function ox(o){if(!(o.getAttribute("type")==="checkbox"))return{node:null};let t=o.hasAttribute("checked");return{node:$e(t)}}function $e(o){return ne(new jt(void 0,o))}function G(o){return o instanceof jt}var Vo=class o extends Z{constructor(t,n,r){super(r);this.__id="";let i=ix[t]||t;this.__listType=i,this.__tag=i==="number"?"ol":"ul",this.__start=n}static getType(){return"list"}static clone(t){let n=new o(t.__listType,t.__start,t.__key);return n.__id=t.__id,n.__dir=t.__dir,n}getTag(){return this.__tag}setId(t){let n=this.getWritable();n.__id=t}getId(){return this.getLatest().__id}setListType(t){let n=this.getWritable();n.__listType=t,n.__tag=t==="number"?"ol":"ul"}getListType(){return this.__listType}getStart(){return this.__start}createDOM(t,n){let r=this.__tag,i=document.createElement(r);return this.__start!==1&&i.setAttribute("start",String(this.__start)),i.__lexicalListType=this.__listType,ef(i,t.theme,this),this.__id&&i.setAttribute("id",this.__id),this.__dir&&i.setAttribute("dir",this.__dir),i}updateDOM(t,n,r){return t.__tag!==this.__tag||t.__dir!==this.__dir||t.__id!==this.__id?!0:(ef(n,r.theme,this),!1)}static transform(){return t=>{x(U(t),"node is not a ListNode"),ju(t),Gu(t)}}static importDOM(){return{ol:()=>({conversion:tf,priority:0}),ul:()=>({conversion:tf,priority:0})}}static importJSON(t){let n=Ce(t.listType,t.start);return n.setId(t.id),n.setDirection(t.direction),n}exportDOM(t){let{element:n}=super.exportDOM(t);return n&&pe(n)&&(this.__start!==1&&n.setAttribute("start",String(this.__start)),this.__listType==="check"&&n.setAttribute("__lexicalListType","check")),{element:n}}exportJSON(){return{...super.exportJSON(),listType:this.getListType(),start:this.getStart(),tag:this.getTag(),type:"list",version:1,id:this.__id}}canBeEmpty(){return!1}canIndent(){return!1}append(...t){for(let n=0;n<t.length;n++){let r=t[n];if(G(r))super.append(r);else{let i=$e();if(U(r))i.append(r);else if(E(r)){let s=q(r.getTextContent());i.append(s)}else i.append(r);super.append(i)}}return this}extractWithChild(t){return G(t)}};function ef(o,e,t){let n=[],r=[],i=e.list;if(i!==void 0){let s=i[`${t.__tag}Depth`]||[],l=Vl(t)-1,a=l%s.length,c=s[a],m=i[t.__tag],f,d=i.nested,u=i.checklist;if(d!==void 0&&d.list&&(f=d.list),m!==void 0&&n.push(m),u!==void 0&&t.__listType==="check"&&n.push(u),c!==void 0){n.push(...bt(c));for(let p=0;p<s.length;p++)p!==a&&r.push(t.__tag+p)}if(f!==void 0){let p=bt(f);l>1?n.push(...p):r.push(...p)}}r.length>0&&Di(o,...r),n.length>0&&Te(o,...n)}function nx(o){let e=[];for(let t of o)G(t)?e.push(t):e.push(Zu(t));return e}function rx(o){if(o.getAttribute("__lexicallisttype")==="check"||o.classList.contains("contains-task-list"))return!0;for(let e of o.childNodes)if(pe(e)&&e.hasAttribute("aria-checked"))return!0;return!1}function tf(o){let e=o.nodeName.toLowerCase(),t=null;if(e==="ol"){let n=o.start;t=Ce("number",n)}else e==="ul"&&(rx(o)?t=Ce("check"):t=Ce("bullet"));return o.id&&t&&t.setId(o.id),o.dir&&t&&t.setDirection(Dr(o)),{after:nx,node:t}}var ix={ol:"number",ul:"bullet"};function Ce(o,e=1){return ne(new Vo(o,e))}function U(o){return o instanceof Vo}var ML=$("INSERT_UNORDERED_LIST_COMMAND"),wL=$("INSERT_ORDERED_LIST_COMMAND"),vL=$("INSERT_CHECK_LIST_COMMAND"),DL=$("REMOVE_LIST_COMMAND");var re={BOTH:3,COLUMN:2,NO_STATUS:0,ROW:1},Jt=class o extends Z{constructor(t=re.NO_STATUS,n=1,r,i){super(i);this.__styles=new Map;this.__alignment="";this.__colSpan=n,this.__rowSpan=1,this.__headerState=t,this.__width=r,this.__backgroundColor=null}static getType(){return"tablecell"}static clone(t){let n=new o(t.__headerState,t.__colSpan,t.__width,t.__key);return n.__rowSpan=t.__rowSpan,n.__backgroundColor=t.__backgroundColor,n.__styles=new Map(t.__styles),n.__alignment=t.__alignment,n}static importDOM(){return{td:t=>({conversion:of,priority:0}),th:t=>({conversion:of,priority:0})}}static importJSON(t){let n=Pe(t.headerState,t.colSpan,t.width);return t.rowSpan&&n.setRowSpan(t.rowSpan),n.setStyles(new Map(Object.entries(t.styles))),n.setAlignment(t.alignment),n}createDOM(t){let n=document.createElement(this.getTag());this.__width&&(n.style.width=`${this.__width}px`),this.__colSpan>1&&(n.colSpan=this.__colSpan),this.__rowSpan>1&&(n.rowSpan=this.__rowSpan),this.__backgroundColor!==null&&(n.style.backgroundColor=this.__backgroundColor),Te(n,t.theme.tableCell,this.hasHeader()&&t.theme.tableCellHeader);for(let[r,i]of this.__styles.entries())n.style.setProperty(r,i);return this.__alignment&&n.classList.add("align-"+this.__alignment),n}exportDOM(t){let{element:n}=super.exportDOM(t);return{element:n}}exportJSON(){return{...super.exportJSON(),backgroundColor:this.getBackgroundColor(),colSpan:this.__colSpan,headerState:this.__headerState,rowSpan:this.__rowSpan,type:"tablecell",width:this.getWidth(),styles:Object.fromEntries(this.__styles),alignment:this.__alignment}}getColSpan(){return this.__colSpan}setColSpan(t){return this.getWritable().__colSpan=t,this}getRowSpan(){return this.__rowSpan}setRowSpan(t){return this.getWritable().__rowSpan=t,this}getTag(){return this.hasHeader()?"th":"td"}setHeaderStyles(t){let n=this.getWritable();return n.__headerState=t,this.__headerState}getHeaderStyles(){return this.getLatest().__headerState}setWidth(t){let n=this.getWritable();return n.__width=t,this.__width}getWidth(){return this.getLatest().__width}clearWidth(){let t=this.getWritable();t.__width=void 0}getStyles(){let t=this.getLatest();return new Map(t.__styles)}setStyles(t){let n=this.getWritable();n.__styles=new Map(t)}setAlignment(t){let n=this.getWritable();n.__alignment=t}getAlignment(){return this.getLatest().__alignment}updateTag(t){let r=t.toLowerCase()==="th"?re.ROW:re.NO_STATUS,i=this.getWritable();i.__headerState=r}getBackgroundColor(){return this.getLatest().__backgroundColor}setBackgroundColor(t){this.getWritable().__backgroundColor=t}toggleHeaderStyle(t){let n=this.getWritable();return(n.__headerState&t)===t?n.__headerState-=t:n.__headerState+=t,n}hasHeaderState(t){return(this.getHeaderStyles()&t)===t}hasHeader(){return this.getLatest().__headerState!==re.NO_STATUS}updateDOM(t){return t.__headerState!==this.__headerState||t.__width!==this.__width||t.__colSpan!==this.__colSpan||t.__rowSpan!==this.__rowSpan||t.__backgroundColor!==this.__backgroundColor||t.__styles!==this.__styles||t.__alignment!==this.__alignment}isShadowRoot(){return!0}collapseAtStart(){return!0}canBeEmpty(){return!1}canIndent(){return!1}};function of(o){let e=o,t=o.nodeName.toLowerCase(),n;/^(\d+(?:\.\d+)?)px$/.test(e.style.width)&&(n=parseFloat(e.style.width));let i=Pe(t==="th"?re.ROW:re.NO_STATUS,e.colSpan,n);i.__rowSpan=e.rowSpan;let s=e.style,l=s.textDecoration.split(" "),a=s.fontWeight==="700"||s.fontWeight==="bold",c=l.includes("line-through"),m=s.fontStyle==="italic",f=l.includes("underline");return o instanceof HTMLElement&&(i.setStyles(vn(o)),i.setAlignment(vr(o))),{after:d=>(d.length===0&&d.push(I()),d),forChild:(d,u)=>{if(v(u)&&!E(d)){let p=I();return ve(d)&&d.getTextContent()===` +`?null:(y(d)&&(a&&d.toggleFormat("bold"),c&&d.toggleFormat("strikethrough"),m&&d.toggleFormat("italic"),f&&d.toggleFormat("underline")),p.append(d),p)}return d},node:i}}function Pe(o=re.NO_STATUS,e=1,t){return ne(new Jt(o,e,t))}function v(o){return o instanceof Jt}var sx=$("INSERT_TABLE_COMMAND");var Qt=class o extends Z{constructor(t){super(t);this.__styles=new Map}static getType(){return"tablerow"}static clone(t){let n=new o(t.__key);return n.__styles=new Map(t.__styles),n}static importDOM(){return{tr:t=>({conversion:lx,priority:0})}}static importJSON(t){let n=Xo();return n.setStyles(new Map(Object.entries(t.styles))),n}exportJSON(){return{...super.exportJSON(),type:"tablerow",version:1,styles:Object.fromEntries(this.__styles),height:this.__height||0}}createDOM(t){let n=document.createElement("tr");this.__height&&(n.style.height=`${this.__height}px`);for(let[r,i]of this.__styles.entries())n.style.setProperty(r,i);return Te(n,t.theme.tableRow),n}isShadowRoot(){return!0}getStyles(){let t=this.getLatest();return new Map(t.__styles)}setStyles(t){let n=this.getWritable();n.__styles=new Map(t)}setHeight(t){let n=this.getWritable();return n.__height=t,this.__height}getHeight(){return this.getLatest().__height}updateDOM(t){return t.__height!==this.__height||t.__styles!==this.__styles}canBeEmpty(){return!1}canIndent(){return!1}};function lx(o){let e=Xo(),n=Wo(o.style.height);return e.setHeight(n),o instanceof HTMLElement&&e.setStyles(vn(o)),{node:e}}function Xo(){return ne(new Qt)}function Q(o){return o instanceof Qt}function ea(o,e,t=!0){let n=$r();for(let r=0;r<o;r++){let i=Xo();for(let s=0;s<e;s++){let l=re.NO_STATUS;typeof t=="object"?(r===0&&t.rows&&(l|=re.ROW),s===0&&t.columns&&(l|=re.COLUMN)):t&&(r===0&&(l|=re.ROW),s===0&&(l|=re.COLUMN));let a=Pe(l),c=I();c.append(q()),a.append(c),i.append(a)}n.append(i)}return n}var Ql=(o,e)=>o===re.BOTH||o===e?e:re.NO_STATUS;function Ki(o=!0){let e=T();x(_(e)||z(e),"Expected a RangeSelection or TableSelection");let t=e.focus.getNode(),[n,,r]=Le(t),[i,s]=ot(r,n,n),l=i[0].length,{startRow:a}=s;if(o){let c=a+n.__rowSpan-1,m=i[c],f=Xo();for(let u=0;u<l;u++){let{cell:p,startRow:g}=m[u];if(g+p.__rowSpan-1<=c){let C=m[u].cell.__headerState,N=Ql(C,re.COLUMN);f.append(Pe(N).append(I()))}else p.setRowSpan(p.__rowSpan+1)}let d=r.getChildAtIndex(c);x(Q(d),"focusEndRow is not a TableRowNode"),d.insertAfter(f)}else{let c=i[a],m=Xo();for(let d=0;d<l;d++){let{cell:u,startRow:p}=c[d];if(p===a){let h=c[d].cell.__headerState,C=Ql(h,re.COLUMN);m.append(Pe(C).append(I()))}else u.setRowSpan(u.__rowSpan+1)}let f=r.getChildAtIndex(a);x(Q(f),"focusEndRow is not a TableRowNode"),f.insertBefore(m)}}function Ui(o=!0){let e=T();x(_(e)||z(e),"Expected a RangeSelection or TableSelection");let t=e.anchor.getNode(),n=e.focus.getNode(),[r]=Le(t),[i,,s]=Le(n),[l,a,c]=ot(s,i,r),m=l.length,f=o?Math.max(a.startColumn,c.startColumn):Math.min(a.startColumn,c.startColumn),d=o?f+i.__colSpan-1:f-1,u=s.getFirstChild();x(Q(u),"Expected firstTable child to be a row");let p=null;function g(C=re.NO_STATUS){let N=Pe(C).append(I());return p===null&&(p=N),N}let h=u;e:for(let C=0;C<m;C++){if(C!==0){let R=h.getNextSibling();x(Q(R),"Expected row nextSibling to be a row"),h=R}let N=l[C],L=N[d<0?0:d].cell.__headerState,M=Ql(L,re.ROW);if(d<0){na(h,g(M));continue}let{cell:S,startColumn:A,startRow:O}=N[d];if(A+S.__colSpan-1<=d){let R=S,P=O,k=d;for(;P!==C&&R.__rowSpan>1;)if(k-=S.__colSpan,k>=0){let{cell:W,startRow:ie}=N[k];R=W,P=ie}else{h.append(g(M));continue e}R.insertAfter(g(M))}else S.setColSpan(S.__colSpan+1)}p!==null&&Ir(p)}function ta(){let o=T();x(_(o)||z(o),"Expected a RangeSelection or TableSelection");let e=o.anchor.getNode(),t=o.focus.getNode(),[n,,r]=Le(e),[i]=Le(t),[s,l,a]=ot(r,n,i),{startRow:c}=l,{startRow:m}=a,f=m+i.__rowSpan-1;if(s.length===f-c+1){r.remove();return}let d=s[0].length,u=s[f+1],p=r.getChildAtIndex(f+1);for(let g=f;g>=c;g--){for(let C=d-1;C>=0;C--){let{cell:N,startRow:L,startColumn:M}=s[g][C];if(M===C&&(g===c&&L<c&&N.setRowSpan(N.__rowSpan-(L-c)),L>=c&&L+N.__rowSpan-1>f))if(N.setRowSpan(N.__rowSpan-(f-L+1)),x(p!==null,"Expected nextRowNode not to be null"),C===0)na(p,N);else{let{cell:S}=u[C-1];S.insertAfter(N)}}let h=r.getChildAtIndex(g);x(Q(h),"Expected GridNode childAtIndex(%s) to be RowNode",String(g)),h.remove()}if(u!==void 0){let{cell:g}=u[0];Ir(g)}else{let g=s[c-1],{cell:h}=g[0];Ir(h)}}function oa(){let o=T();x(_(o)||z(o),"Expected a RangeSelection or TableSelection");let e=o.anchor.getNode(),t=o.focus.getNode(),[n,,r]=Le(e),[i]=Le(t),[s,l,a]=ot(r,n,i),{startColumn:c}=l,{startRow:m,startColumn:f}=a,d=Math.min(c,f),u=Math.max(c+n.__colSpan-1,f+i.__colSpan-1),p=u-d+1;if(s[0].length===u-d+1){r.selectPrevious(),r.remove();return}let h=s.length;for(let L=0;L<h;L++)for(let M=d;M<=u;M++){let{cell:S,startColumn:A}=s[L][M];if(A<d){if(M===d){let O=d-A;S.setColSpan(S.__colSpan-Math.min(p,S.__colSpan-O))}}else if(A+S.__colSpan-1>u){if(M===u){let O=u-A+1;S.setColSpan(S.__colSpan-O)}}else S.remove()}let C=s[m],N=c>f?C[c+n.__colSpan]:C[f+i.__colSpan];if(N!==void 0){let{cell:L}=N;Ir(L)}else{let L=f<c?C[f-1]:C[c-1],{cell:M}=L;Ir(M)}}function Ir(o){let e=o.getFirstDescendant();e==null?o.selectStart():e.getParentOrThrow().selectStart()}function na(o,e){let t=o.getFirstChild();t!==null?t.insertBefore(e):o.append(e)}function ra(){let o=T();x(_(o)||z(o),"Expected a RangeSelection or TableSelection");let e=o.anchor.getNode(),[t,n,r]=Le(e),i=t.__colSpan,s=t.__rowSpan;if(i>1){for(let l=1;l<i;l++)t.insertAfter(Pe(re.NO_STATUS).append(I()));t.setColSpan(1)}if(s>1){let[l,a]=ot(r,t,t),{startColumn:c,startRow:m}=a,f;for(let d=1;d<s;d++){let u=m+d,p=l[u];f=(f||n).getNextSibling(),x(Q(f),"Expected row next sibling to be a row");let g=null;for(let h=0;h<c;h++){let C=p[h],N=C.cell;C.startRow===u&&(g=N),N.__colSpan>1&&(h+=N.__colSpan-1)}if(g===null)for(let h=0;h<i;h++)na(f,Pe(re.NO_STATUS).append(I()));else for(let h=0;h<i;h++)g.insertAfter(Pe(re.NO_STATUS).append(I()))}t.setRowSpan(1)}}function ot(o,e,t){let[n,r,i]=nf(o,e,t);return x(r!==null,"Anchor not found in Grid"),x(i!==null,"Focus not found in Grid"),[n,r,i]}function nf(o,e,t){let n=[],r=null,i=null;function s(c,m,f){let d={cell:f,startColumn:m,startRow:c},u=f.__rowSpan,p=f.__colSpan;for(let g=0;g<u;g++){n[c+g]===void 0&&(n[c+g]=[]);for(let h=0;h<p;h++)n[c+g][m+h]=d}e!==null&&e.is(f)&&(r=d),t!==null&&t.is(f)&&(i=d)}function l(c,m){return n[c]===void 0||n[c][m]===void 0}let a=o.getChildren();for(let c=0;c<a.length;c++){let m=a[c];x(Q(m),"Expected GridNode children to be TableRowNode");let f=m.getChildren(),d=0;for(let u of f){for(x(v(u),"Expected TableRowNode children to be TableCellNode");!l(c,d);)d++;s(c,d,u),d+=u.__colSpan}}return[n,r,i]}function Le(o){let e;if(o instanceof Jt)e=o;else if("__type"in o){let r=H(o,v);x(v(r),"Expected to find a parent TableCellNode"),e=r}else{let r=H(o.getNode(),v);x(v(r),"Expected to find a parent TableCellNode"),e=r}let t=e.getParent();x(Q(t),"Expected TableCellNode to have a parent TableRowNode");let n=t.getParent();return x(K(n),"Expected TableRowNode to have a parent GridNode"),[e,t,n]}function zi(o){let[e,,t]=Le(o),n=t.getChildren(),r=n.length,i=n[0].getChildren().length,s=new Array(r);for(let l=0;l<r;l++)s[l]=new Array(i);for(let l=0;l<r;l++){let c=n[l].getChildren(),m=0;for(let f=0;f<c.length;f++){for(;s[l][m];)m++;let d=c[f],u=d.__rowSpan||1,p=d.__colSpan||1;for(let g=0;g<u;g++)for(let h=0;h<p;h++)s[l+g][m+h]=d;if(e===d)return{colSpan:p,columnIndex:m,rowIndex:l,rowSpan:u};m+=p}}return null}var Wi=class o{constructor(e,t,n){this.anchor=t,this.focus=n,t._selection=this,n._selection=this,this._cachedNodes=null,this.dirty=!1,this.tableKey=e}getStartEndPoints(){return[this.anchor,this.focus]}isBackward(){return this.focus.isBefore(this.anchor)}getCachedNodes(){return this._cachedNodes}setCachedNodes(e){this._cachedNodes=e}is(e){return z(e)?this.tableKey===e.tableKey&&this.anchor.is(e.anchor)&&this.focus.is(e.focus):!1}set(e,t,n){this.dirty=!0,this.tableKey=e,this.anchor.key=t,this.focus.key=n,this._cachedNodes=null}clone(){return new o(this.tableKey,this.anchor,this.focus)}isCollapsed(){return!1}extract(){return this.getNodes()}insertRawText(e){}insertText(){}insertNodes(e){let t=this.focus.getNode();x(E(t),"Expected TableSelection focus to be an ElementNode"),Ao(t.select(0,t.getChildrenSize())).insertNodes(e)}getShape(){let e=J(this.anchor.key);x(v(e),"Expected TableSelection anchor to be (or a child of) TableCellNode");let t=zi(e);x(t!==null,"getCellRect: expected to find AnchorNode");let n=J(this.focus.key);x(v(n),"Expected TableSelection focus to be (or a child of) TableCellNode");let r=zi(n);x(r!==null,"getCellRect: expected to find focusCellNode");let i=Math.min(t.columnIndex,r.columnIndex),s=Math.max(t.columnIndex,r.columnIndex),l=Math.min(t.rowIndex,r.rowIndex),a=Math.max(t.rowIndex,r.rowIndex);return{fromX:Math.min(i,s),fromY:Math.min(l,a),toX:Math.max(i,s),toY:Math.max(l,a)}}getNodes(){let e=this._cachedNodes;if(e!==null)return e;let t=this.anchor.getNode(),n=this.focus.getNode(),r=H(t,v),i=H(n,v);x(v(r),"Expected TableSelection anchor to be (or a child of) TableCellNode"),x(v(i),"Expected TableSelection focus to be (or a child of) TableCellNode");let s=r.getParent();x(Q(s),"Expected anchorCell to have a parent TableRowNode");let l=s.getParent();x(K(l),"Expected tableNode to have a parent TableNode");let a=i.getParents()[1];if(a!==l){if(l.isParentOf(i)){let O=a.getParent();x(O!=null,"Expected focusCellParent to have a parent"),this.set(this.tableKey,i.getKey(),O.getKey())}else{let O=l.getParent();x(O!=null,"Expected gridParent to have a parent"),this.set(this.tableKey,O.getKey(),i.getKey())}return this.getNodes()}let[c,m,f]=ot(l,r,i),d=Math.min(m.startColumn,f.startColumn),u=Math.min(m.startRow,f.startRow),p=Math.max(m.startColumn+m.cell.__colSpan-1,f.startColumn+f.cell.__colSpan-1),g=Math.max(m.startRow+m.cell.__rowSpan-1,f.startRow+f.cell.__rowSpan-1),h=d,C=u,N=d,L=u;function M(O){let{cell:R,startColumn:P,startRow:k}=O;d=Math.min(d,P),u=Math.min(u,k),p=Math.max(p,P+R.__colSpan-1),g=Math.max(g,k+R.__rowSpan-1)}for(;d<h||u<C||p>N||g>L;){if(d<h){let O=L-C,R=h-1;for(let P=0;P<=O;P++)M(c[C+P][R]);h=R}if(u<C){let O=N-h,R=C-1;for(let P=0;P<=O;P++)M(c[R][h+P]);C=R}if(p>N){let O=L-C,R=N+1;for(let P=0;P<=O;P++)M(c[C+P][R]);N=R}if(g>L){let O=N-h,R=L+1;for(let P=0;P<=O;P++)M(c[R][h+P]);L=R}}let S=[l],A=null;for(let O=u;O<=g;O++)for(let R=d;R<=p;R++){let{cell:P}=c[O][R],k=P.getParent();x(Q(k),"Expected TableCellNode parent to be a TableRowNode"),k!==A&&S.push(k),S.push(P,...ax(P)),A=k}return st()||(this._cachedNodes=S),S}getTextContent(){let e=this.getNodes().filter(n=>v(n)),t="";for(let n=0;n<e.length;n++){let r=e[n],i=r.__parent,s=(e[n+1]||{}).__parent;t+=r.getTextContent()+(s!==i?` +`:" ")}return t}};function z(o){return o instanceof Wi}function qi(){let o=De("root",0,"element"),e=De("root",0,"element");return new Wi("root",o,e)}function ax(o){let e=[],t=[o];for(;t.length>0;){let n=t.pop();x(n!==void 0,"Stack.length > 0; can't be undefined"),E(n)&&t.unshift(...n.getChildren()),n!==o&&e.push(n)}return e}var Br=class{constructor(e,t){this.isHighlightingCells=!1,this.anchorX=-1,this.anchorY=-1,this.focusX=-1,this.focusY=-1,this.listenersToRemove=new Set,this.tableNodeKey=t,this.editor=e,this.table={columns:0,domRows:[],rows:0},this.tableSelection=null,this.anchorCellNodeKey=null,this.focusCellNodeKey=null,this.anchorCell=null,this.focusCell=null,this.hasHijackedSelectionStyles=!1,this.trackTable(),this.isSelecting=!1}getTable(){return this.table}removeListeners(){Array.from(this.listenersToRemove).forEach(e=>e())}trackTable(){let e=new MutationObserver(t=>{this.editor.update(()=>{let n=!1;for(let i=0;i<t.length;i++){let a=t[i].target.nodeName;if(a==="TABLE"||a==="TBODY"||a==="THEAD"||a==="TR"){n=!0;break}}if(!n)return;let r=this.editor.getElementByKey(this.tableNodeKey);if(!r)throw new Error("Expected to find TableElement in DOM");this.table=Go(r)})});this.editor.update(()=>{let t=this.editor.getElementByKey(this.tableNodeKey);if(!t)throw new Error("Expected to find TableElement in DOM");this.table=Go(t),e.observe(t,{attributes:!0,childList:!0,subtree:!0})})}clearHighlight(){let e=this.editor;this.isHighlightingCells=!1,this.anchorX=-1,this.anchorY=-1,this.focusX=-1,this.focusY=-1,this.tableSelection=null,this.anchorCellNodeKey=null,this.focusCellNodeKey=null,this.anchorCell=null,this.focusCell=null,this.hasHijackedSelectionStyles=!1,this.enableHighlightStyle(),e.update(()=>{let t=J(this.tableNodeKey);if(!K(t))throw new Error("Expected TableNode.");let n=e.getElementByKey(this.tableNodeKey);if(!n)throw new Error("Expected to find TableElement in DOM");let r=Go(n);Pr(e,r,null),Y(null),e.dispatchCommand(we,void 0)})}enableHighlightStyle(){let e=this.editor;e.update(()=>{let t=e.getElementByKey(this.tableNodeKey);if(!t)throw new Error("Expected to find TableElement in DOM");Di(t,e._config.theme.tableSelection),t.classList.remove("disable-selection"),this.hasHijackedSelectionStyles=!1})}disableHighlightStyle(){let e=this.editor;e.update(()=>{let t=e.getElementByKey(this.tableNodeKey);if(!t)throw new Error("Expected to find TableElement in DOM");Te(t,e._config.theme.tableSelection),this.hasHijackedSelectionStyles=!0})}updateTableTableSelection(e){if(e!==null&&e.tableKey===this.tableNodeKey){let t=this.editor;this.tableSelection=e,this.isHighlightingCells=!0,this.disableHighlightStyle(),Pr(t,this.table,this.tableSelection)}else e==null?this.clearHighlight():(this.tableNodeKey=e.tableKey,this.updateTableTableSelection(e))}setFocusCellForSelection(e,t=!1){let n=this.editor;n.update(()=>{let r=J(this.tableNodeKey);if(!K(r))throw new Error("Expected TableNode.");if(!n.getElementByKey(this.tableNodeKey))throw new Error("Expected to find TableElement in DOM");let s=e.x,l=e.y;if(this.focusCell=e,this.anchorCell!==null){let a=ia(n._window);a&&a.setBaseAndExtent(this.anchorCell.elem,0,this.focusCell.elem,0)}if(!this.isHighlightingCells&&(this.anchorX!==s||this.anchorY!==l||t))this.isHighlightingCells=!0,this.disableHighlightStyle();else if(s===this.focusX&&l===this.focusY)return;if(this.focusX=s,this.focusY=l,this.isHighlightingCells){let a=ee(e.elem);if(this.tableSelection!=null&&this.anchorCellNodeKey!=null&&v(a)&&r.is(bo(a))){let c=a.getKey();this.tableSelection=this.tableSelection.clone()||qi(),this.focusCellNodeKey=c,this.tableSelection.set(this.tableNodeKey,this.anchorCellNodeKey,this.focusCellNodeKey),Y(this.tableSelection),n.dispatchCommand(we,void 0),Pr(n,this.table,this.tableSelection)}}})}setAnchorCellForSelection(e){this.isHighlightingCells=!1,this.anchorCell=e,this.anchorX=e.x,this.anchorY=e.y,this.editor.update(()=>{let t=ee(e.elem);if(v(t)){let n=t.getKey();this.tableSelection=this.tableSelection!=null?this.tableSelection.clone():qi(),this.anchorCellNodeKey=n}})}formatCells(e){this.editor.update(()=>{let t=T();z(t)||x(!1,"Expected grid selection");let n=Uo(),r=n.anchor,i=n.focus;t.getNodes().forEach(s=>{v(s)&&s.getTextContentSize()!==0&&(r.set(s.getKey(),0,"element"),i.set(s.getKey(),s.getChildrenSize(),"element"),n.formatText(e))}),Y(t),this.editor.dispatchCommand(we,void 0)})}clearText(){let e=this.editor;e.update(()=>{let t=J(this.tableNodeKey);if(!K(t))throw new Error("Expected TableNode.");let n=T();z(n)||x(!1,"Expected grid selection");let r=n.getNodes().filter(v);if(r.length===this.table.columns*this.table.rows){t.selectPrevious(),t.remove(),F().selectStart();return}r.forEach(i=>{if(E(i)){let s=I(),l=q();s.append(l),i.append(s),i.getChildren().forEach(a=>{a!==s&&a.remove()})}}),Pr(e,this.table,null),Y(null),e.dispatchCommand(we,void 0)})}};var cx="__lexicalTableSelection",ia=o=>fe?(o||window).getSelection():null,dx=o=>(o.buttons&1)===1;function aa(o,e,t,n){let r=t.getRootElement();if(r===null)throw new Error("No root element.");let i=new Br(t,o.getKey()),s=t._window||window;ux(e,i);let l=()=>{let d=()=>{i.isSelecting=!1,s.removeEventListener("mouseup",d),s.removeEventListener("mousemove",u)},u=p=>{setTimeout(()=>{if(!dx(p)&&i.isSelecting){i.isSelecting=!1,s.removeEventListener("mouseup",d),s.removeEventListener("mousemove",u);return}let g=la(p.target);g!==null&&(i.anchorX!==g.x||i.anchorY!==g.y)&&(p.preventDefault(),i.setFocusCellForSelection(g))},0)};return{onMouseMove:u,onMouseUp:d}};e.addEventListener("mousedown",d=>{setTimeout(()=>{if(d.button!==0||!s)return;let u=la(d.target);u!==null&&(Jo(d),i.setAnchorCellForSelection(u));let{onMouseUp:p,onMouseMove:g}=l();i.isSelecting=!0,s.addEventListener("mouseup",p),s.addEventListener("mousemove",g)},0)});let a=d=>{d.button===0&&t.update(()=>{let u=T(),p=d.target;z(u)&&u.tableKey===i.tableNodeKey&&r.contains(p)&&i.clearHighlight()})};s.addEventListener("mousedown",a),i.listenersToRemove.add(()=>s.removeEventListener("mousedown",a)),i.listenersToRemove.add(t.registerCommand(Bt,d=>Fr(t,d,"down",o,i),qe)),i.listenersToRemove.add(t.registerCommand(wo,d=>Fr(t,d,"up",o,i),qe)),i.listenersToRemove.add(t.registerCommand(Mo,d=>Fr(t,d,"backward",o,i),qe)),i.listenersToRemove.add(t.registerCommand(Lo,d=>Fr(t,d,"forward",o,i),qe)),i.listenersToRemove.add(t.registerCommand(vo,d=>{let u=T();if(z(u)){let p=H(u.focus.getNode(),v);if(v(p))return Jo(d),p.selectEnd(),!0}return!1},qe));let c=d=>()=>{let u=T();if(!jo(u,o))return!1;if(z(u))return i.clearText(),!0;if(_(u)){let p=H(u.anchor.getNode(),A=>v(A));if(!v(p))return!1;let g=u.anchor.getNode(),h=u.focus.getNode(),C=o.isParentOf(g),N=o.isParentOf(h);if(C&&!N||N&&!C)return i.clearText(),!0;let M=H(u.anchor.getNode(),A=>E(A)),S=M&&H(M,A=>E(A)&&v(A.getParent()));if(!E(S)||!E(M))return!1;if(d===it&&S.getPreviousSibling()===null)return!0}return!1};[Tt,it,Ze].forEach(d=>{i.listenersToRemove.add(t.registerCommand(d,c(d),Re))});let m=d=>{let u=T();if(!jo(u,o)){let p=u?u.getNodes():null;if(p){let g=p.find(h=>K(h)&&h.getKey()===i.tableNodeKey);if(K(g)){if(!g.getParent())return!1;g.remove()}}return!1}if(z(u))return d&&(d.preventDefault(),d.stopPropagation()),i.clearText(),!0;if(_(u)){let p=H(u.anchor.getNode(),g=>v(g));if(!v(p))return!1}return!1};i.listenersToRemove.add(t.registerCommand(Ft,m,Re)),i.listenersToRemove.add(t.registerCommand(Ht,m,Re)),i.listenersToRemove.add(t.registerCommand(lo,d=>{let u=T();if(u){if(!(z(u)||_(u)))return!1;kn(t,mt(d,ClipboardEvent)?d:null,Ii(u));let p=m(d);return _(u)&&u.removeText(),p}return!1},Re)),i.listenersToRemove.add(t.registerCommand(Ne,d=>{let u=T();if(!jo(u,o))return!1;if(z(u))return i.formatCells(d),!0;if(_(u)){let p=H(u.anchor.getNode(),g=>v(g));if(!v(p))return!1}return!1},Re)),i.listenersToRemove.add(t.registerCommand(rt,d=>{let u=T();if(!jo(u,o))return!1;if(z(u))return i.clearHighlight(),!1;if(_(u)){let p=H(u.anchor.getNode(),g=>v(g));if(!v(p))return!1;if(typeof d=="string"){let g=lf(t,u,o);if(g)return sf(g,o,[q(d)]),!0}}return!1},Re)),n&&i.listenersToRemove.add(t.registerCommand(Do,d=>{let u=T();if(!_(u)||!u.isCollapsed()||!jo(u,o))return!1;let p=Zi(u.anchor.getNode());if(p===null)return!1;Jo(d);let g=o.getCordsFromCellNode(p,i.table);return af(i,o,g.x,g.y,d.shiftKey?"backward":"forward"),!0},Re)),i.listenersToRemove.add(t.registerCommand(ir,d=>o.isSelected(),qe));function f(d){let u=o.getCordsFromCellNode(d,i.table);return o.getDOMCellFromCordsOrThrow(u.x,u.y,i.table)}return i.listenersToRemove.add(t.registerCommand(er,d=>{let{nodes:u,selection:p}=d,g=p.getStartEndPoints(),h=z(p),N=_(p)&&H(p.anchor.getNode(),Be=>v(Be))!==null&&H(p.focus.getNode(),Be=>v(Be))!==null||h;if(u.length!==1||!K(u[0])||!N||g===null)return!1;let[L]=g,M=u[0],S=M.getChildren(),A=M.getFirstChildOrThrow().getChildrenSize(),O=M.getChildrenSize(),R=H(L.getNode(),Be=>v(Be)),P=R&&H(R,Be=>Q(Be)),k=P&&H(P,Be=>K(Be));if(!v(R)||!Q(P)||!K(k))return!1;let W=P.getIndexWithinParent(),ie=Math.min(k.getChildrenSize()-1,W+O-1),ln=R.getIndexWithinParent(),ec=Math.min(P.getChildrenSize()-1,ln+A-1),sh=Math.min(ln,ec),lh=Math.min(W,ie),ah=Math.max(ln,ec),ch=Math.max(W,ie),dh=k.getChildren(),tc=0;for(let Be=lh;Be<=ch;Be++){let oc=dh[Be];if(!Q(oc))return!1;let nc=S[tc];if(!Q(nc))return!1;let uh=oc.getChildren(),fh=nc.getChildren(),rc=0;for(let vs=sh;vs<=ah;vs++){let Jr=uh[vs];if(!v(Jr))return!1;let ic=fh[rc];if(!v(ic))return!1;let mh=Jr.getChildren();ic.getChildren().forEach(an=>{y(an)&&I().append(an),Jr.append(an)}),mh.forEach(an=>an.remove()),rc++}tc++}return!0},Re)),i.listenersToRemove.add(t.registerCommand(we,()=>{let d=T(),u=We();if(_(d)){let{anchor:p,focus:g}=d,h=p.getNode(),C=g.getNode(),N=Zi(h),L=Zi(C),M=!!(N&&o.is(bo(N))),S=!!(L&&o.is(bo(L))),A=M!==S,O=M&&S,R=d.isBackward();if(A){let P=d.clone();if(S){let[k]=ot(o,L,L),W=k[0][0].cell,ie=k[k.length-1].at(-1).cell;P.focus.set(R?W.getKey():ie.getKey(),R?W.getChildrenSize():ie.getChildrenSize(),"element")}Y(P),rf(t,i)}else O&&(N.is(L)||(i.setAnchorCellForSelection(f(N)),i.setFocusCellForSelection(f(L),!0),i.isSelecting||setTimeout(()=>{let{onMouseUp:P,onMouseMove:k}=l();i.isSelecting=!0,s.addEventListener("mouseup",P),s.addEventListener("mousemove",k)},0)))}else if(d&&z(d)&&d.is(u)&&d.tableKey===o.getKey()){let p=ia(t._window);if(p&&p.anchorNode&&p.focusNode){let g=ee(p.focusNode),h=g&&!o.is(bo(g)),C=ee(p.anchorNode),N=C&&o.is(bo(C));if(h&&N&&p.rangeCount>0){let L=wl(p,t);L&&(L.anchor.set(o.getKey(),d.isBackward()?o.getChildrenSize():0,"element"),p.removeAllRanges(),Y(L))}}}return d&&!d.is(u)&&(z(d)||z(u))&&i.tableSelection&&!i.tableSelection.is(u)?(z(d)&&d.tableKey===i.tableNodeKey?i.updateTableTableSelection(d):!z(d)&&z(u)&&u.tableKey===i.tableNodeKey&&i.updateTableTableSelection(null),!1):(i.hasHijackedSelectionStyles&&!o.isSelected()?fx(t,i):!i.hasHijackedSelectionStyles&&o.isSelected()&&rf(t,i),!1)},Re)),i.listenersToRemove.add(t.registerCommand(Pt,()=>{let d=T();if(!_(d)||!d.isCollapsed()||!jo(d,o))return!1;let u=lf(t,d,o);return u?(sf(u,o),!0):!1},Re)),i}function ux(o,e){o[cx]=e}function la(o){let e=o;for(;e!=null;){let t=e.nodeName;if(t==="TD"||t==="TH"){let n=e._cell;return n===void 0?null:n}e=e.parentNode}return null}function Go(o){let e=[],t={columns:0,domRows:e,rows:0},n=o.firstChild,r=0,i=0;for(e.length=0;n!=null;){let s=n.nodeName;if(s==="TD"||s==="TH"){let c=n,m={elem:c,hasBackgroundColor:c.style.backgroundColor!=="",highlighted:!1,x:r,y:i};n._cell=m;let f=e[i];f===void 0&&(f=e[i]=[]),f[r]=m}else{let c=n.firstChild;if(c!=null){n=c;continue}}let l=n.nextSibling;if(l!=null){r++,n=l;continue}let a=n.parentNode;if(a!=null){let c=a.nextSibling;if(c==null)break;i++,r=0,n=c}}return t.columns=r+1,t.rows=i+1,t}function Pr(o,e,t){let n=new Set(t?t.getNodes():[]);ca(e,(r,i)=>{let s=r.elem;n.has(i)?(r.highlighted=!0,cf(o,r)):(r.highlighted=!1,df(o,r),s.getAttribute("style")||s.removeAttribute("style"))})}function ca(o,e){let{domRows:t}=o;for(let n=0;n<t.length;n++){let r=t[n];if(r)for(let i=0;i<r.length;i++){let s=r[i];if(!s)continue;let l=ee(s.elem);l!==null&&e(s,l,{x:i,y:n})}}}function rf(o,e){e.disableHighlightStyle(),ca(e.table,t=>{t.highlighted=!0,cf(o,t)})}function fx(o,e){e.enableHighlightStyle(),ca(e.table,t=>{let n=t.elem;t.highlighted=!1,df(o,t),n.getAttribute("style")||n.removeAttribute("style")})}var af=(o,e,t,n,r)=>{let i=r==="forward";switch(r){case"backward":case"forward":return t!==(i?o.table.columns-1:0)?Yi(e.getCellNodeFromCordsOrThrow(t+(i?1:-1),n,o.table),i):n!==(i?o.table.rows-1:0)?Yi(e.getCellNodeFromCordsOrThrow(i?0:o.table.columns-1,n+(i?1:-1),o.table),i):i?e.selectNext():e.selectPrevious(),!0;case"up":return n!==0?Yi(e.getCellNodeFromCordsOrThrow(t,n-1,o.table),!1):e.selectPrevious(),!0;case"down":return n!==o.table.rows-1?Yi(e.getCellNodeFromCordsOrThrow(t,n+1,o.table),!0):e.selectNext(),!0;default:return!1}},mx=(o,e,t,n,r)=>{let i=r==="forward";switch(r){case"backward":case"forward":return t!==(i?o.table.columns-1:0)&&o.setFocusCellForSelection(e.getDOMCellFromCordsOrThrow(t+(i?1:-1),n,o.table)),!0;case"up":return n!==0?(o.setFocusCellForSelection(e.getDOMCellFromCordsOrThrow(t,n-1,o.table)),!0):!1;case"down":return n!==o.table.rows-1?(o.setFocusCellForSelection(e.getDOMCellFromCordsOrThrow(t,n+1,o.table)),!0):!1;default:return!1}};function jo(o,e){if(_(o)||z(o)){let t=e.isParentOf(o.anchor.getNode()),n=e.isParentOf(o.focus.getNode());return t&&n}return!1}function Yi(o,e){e?o.selectStart():o.selectEnd()}var sa="172,206,247";function cf(o,e){let t=e.elem,n=ee(t);x(v(n),"Expected to find LexicalNode from Table Cell DOMNode"),n.getBackgroundColor()===null?t.style.setProperty("background-color",`rgb(${sa})`):t.style.setProperty("background-image",`linear-gradient(to right, rgba(${sa},0.85), rgba(${sa},0.85))`),t.style.setProperty("caret-color","transparent")}function df(o,e){let t=e.elem,n=ee(t);x(v(n),"Expected to find LexicalNode from Table Cell DOMNode"),n.getBackgroundColor()===null&&t.style.removeProperty("background-color"),t.style.removeProperty("background-image"),t.style.removeProperty("caret-color")}function Zi(o){let e=H(o,v);return v(e)?e:null}function bo(o){let e=H(o,K);return K(e)?e:null}function Fr(o,e,t,n,r){if((t==="up"||t==="down")&&px(o))return!1;let i=T();if(!jo(i,n)){if(_(i)){if(i.isCollapsed()&&t==="backward"){let s=i.anchor.type,l=i.anchor.offset;if(s!=="element"&&!(s==="text"&&l===0))return!1;let a=i.anchor.getNode();if(!a)return!1;let c=H(a,f=>E(f)&&!f.isInline());if(!c)return!1;let m=c.getPreviousSibling();return!m||!K(m)?!1:(Jo(e),m.selectEnd(),!0)}else if(e.shiftKey&&(t==="up"||t==="down")){let s=i.focus.getNode();if(me(s)){let l=i.getNodes()[0];if(l){let a=H(l,v);if(a&&n.isParentOf(a)){let c=n.getFirstDescendant(),m=n.getLastDescendant();if(!c||!m)return!1;let[f]=Le(c),[d]=Le(m),u=n.getCordsFromCellNode(f,r.table),p=n.getCordsFromCellNode(d,r.table),g=n.getDOMCellFromCordsOrThrow(u.x,u.y,r.table),h=n.getDOMCellFromCordsOrThrow(p.x,p.y,r.table);return r.setAnchorCellForSelection(g),r.setFocusCellForSelection(h,!0),!0}}return!1}else{let l=H(s,c=>E(c)&&!c.isInline());if(!l)return!1;let a=t==="down"?l.getNextSibling():l.getPreviousSibling();if(K(a)&&r.tableNodeKey===a.getKey()){let c=a.getFirstDescendant(),m=a.getLastDescendant();if(!c||!m)return!1;let[f]=Le(c),[d]=Le(m),u=i.clone();return u.focus.set((t==="up"?f:d).getKey(),t==="up"?0:d.getChildrenSize(),"element"),Y(u),!0}}}}return!1}if(_(i)&&i.isCollapsed()){let{anchor:s,focus:l}=i,a=H(s.getNode(),v),c=H(l.getNode(),v);if(!v(a)||!a.is(c))return!1;let m=bo(a);if(m!==n&&m!=null){let N=o.getElementByKey(m.getKey());if(N!=null)return r.table=Go(N),Fr(o,e,t,m,r)}if(t==="backward"||t==="forward"){let N=s.type,L=s.offset,M=s.getNode();if(!M)return!1;let S=i.getNodes();return S.length===1&&B(S[0])?!1:gx(N,L,M,t)?xx(e,M,n,t):!1}let f=o.getElementByKey(a.__key),d=o.getElementByKey(s.key);if(d==null||f==null)return!1;let u;if(s.type==="element")u=d.getBoundingClientRect();else{let N=window.getSelection();if(N===null||N.rangeCount===0)return!1;u=N.getRangeAt(0).getBoundingClientRect()}let p=t==="up"?a.getFirstChild():a.getLastChild();if(p==null)return!1;let g=o.getElementByKey(p.__key);if(g==null)return!1;let h=g.getBoundingClientRect();if(t==="up"?h.top>u.top-u.height:u.bottom+u.height>h.bottom){Jo(e);let N=n.getCordsFromCellNode(a,r.table);if(e.shiftKey){let L=n.getDOMCellFromCordsOrThrow(N.x,N.y,r.table);r.setAnchorCellForSelection(L),r.setFocusCellForSelection(L,!0)}else return af(r,n,N.x,N.y,t);return!0}}else if(z(i)){let{anchor:s,focus:l}=i,a=H(s.getNode(),v),c=H(l.getNode(),v),[m]=i.getNodes(),f=o.getElementByKey(m.getKey());if(!v(a)||!v(c)||!K(m)||f==null)return!1;r.updateTableTableSelection(i);let d=Go(f),u=n.getCordsFromCellNode(a,d),p=n.getDOMCellFromCordsOrThrow(u.x,u.y,d);if(r.setAnchorCellForSelection(p),Jo(e),e.shiftKey){let g=n.getCordsFromCellNode(c,d);return mx(r,m,g.x,g.y,t)}else c.selectEnd();return!0}return!1}function Jo(o){o.preventDefault(),o.stopImmediatePropagation(),o.stopPropagation()}function px(o){let e=o.getRootElement();return e?e.hasAttribute("aria-controls")&&e.getAttribute("aria-controls")==="typeahead-menu":!1}function gx(o,e,t,n){return hx(o,t,n)||Nx(o,e,t,n)}function hx(o,e,t){return o==="element"&&(t==="backward"?e.getPreviousSibling()===null:e.getNextSibling()===null)}function Nx(o,e,t,n){let r=H(t,s=>E(s)&&!s.isInline());if(!r)return!1;let i=n==="backward"?e===0:e===t.getTextContentSize();return o==="text"&&i&&(n==="backward"?r.getPreviousSibling()===null:r.getNextSibling()===null)}function xx(o,e,t,n){let r=H(e,v);if(!v(r))return!1;let[i,s]=ot(t,r,r);if(!Ex(i,s,n))return!1;let l=Tx(e,n,t);return!l||K(l)?!1:(Jo(o),n==="backward"?l.selectEnd():l.selectStart(),!0)}function Ex(o,e,t){let n=o[0][0],r=o[o.length-1][o[0].length-1],{startColumn:i,startRow:s}=e;return t==="backward"?i===n.startColumn&&s===n.startRow:i===r.startColumn&&s===r.startRow}function Tx(o,e,t){let n=H(o,i=>E(i)&&!i.isInline());if(!n)return;let r=e==="backward"?n.getPreviousSibling():n.getNextSibling();return r&&K(r)?r:e==="backward"?t.getPreviousSibling():t.getNextSibling()}function sf(o,e,t){let n=I();o==="first"?e.insertBefore(n):e.insertAfter(n),n.append(...t||[]),n.selectEnd()}function lf(o,e,t){let n=t.getParent();if(!n)return;let r=o.getElementByKey(n.getKey());if(!r)return;let i=window.getSelection();if(!i||i.anchorNode!==r)return;let s=H(e.anchor.getNode(),h=>v(h));if(!s)return;let l=H(s,h=>K(h));if(!K(l)||!l.is(t))return;let[a,c]=ot(t,s,s),m=a[0][0],f=a[a.length-1][a[0].length-1],{startRow:d,startColumn:u}=c,p=d===m.startRow&&u===m.startColumn,g=d===f.startRow&&u===f.startColumn;return p?"first":g?"last":void 0}var kt=class{constructor(e){this.rowCount=0;this.columnCount=0;this.cells=[];this.buildCellMap(e)}buildCellMap(e){let t=[],n=(a,c,m)=>{typeof t[c]>"u"&&(t[c]=[]),t[c][a]=m},r=(a,c)=>!!(t[c]&&t[c][a]),i=e.getChildren().filter(a=>Q(a));for(let a=0;a<i.length;a++){let m=i[a].getChildren().filter(d=>v(d)),f=0;for(let d=0;d<m.length;d++){let u=m[d],p=u.getColSpan()||1,g=u.getRowSpan()||1;for(let h=f;h<f+p;h++)for(let C=a;C<a+g;C++){for(;r(h,C);)f+=1,h+=1;n(h,C,u)}f+=p}}this.rowCount=t.length,this.columnCount=Math.max(...t.map(a=>a.length));let s=[],l=t[0][0];for(let a=0;a<this.rowCount;a++)for(let c=0;c<this.columnCount;c++)!t[a]||!t[a][c]?s.push(l):(s.push(t[a][c]),l=t[a][c]);this.cells=s}getCellAtPosition(e,t){let n=t*this.columnCount+e;if(n>=this.cells.length)throw new Error(`TableMap Error: Attempted to get cell ${n+1} of ${this.cells.length}`);return this.cells[n]}getCellsInRange(e){let t=Math.max(Math.min(e.fromX,e.toX),0),n=Math.min(Math.max(e.fromX,e.toX),this.columnCount-1),r=Math.max(Math.min(e.fromY,e.toY),0),i=Math.min(Math.max(e.fromY,e.toY),this.rowCount-1),s=new Set;for(let l=r;l<=i;l++)for(let a=t;a<=n;a++)s.add(this.getCellAtPosition(a,l));return[...s.values()]}getCellsInColumn(e){return this.getCellsInRange({fromX:e,toX:e,fromY:0,toY:this.rowCount-1})}getRangeForCell(e){let t=null,n=e.getKey();for(let r=0;r<this.rowCount;r++)for(let i=0;i<this.columnCount;i++){let s=r*this.columnCount+i;this.cells[s].getKey()===n&&(t===null?t={fromX:i,toX:i,fromY:r,toY:r}:(t.fromX=Math.min(t.fromX,i),t.toX=Math.max(t.toX,i),t.fromY=Math.min(t.fromY,r),t.toY=Math.max(t.toY,r)))}return t}};function da(o){return At(o,K)}function ff(o){let e=mf(o),t=o.querySelector("colgroup"),n=[];return t&&(t.childElementCount===e?.childElementCount||!e)&&(n=uf(t)),n.filter(Boolean).length===0&&e&&(n=uf(e)),n}function mf(o){let e=o.querySelectorAll("tr"),t=0,n=null;for(let r of e)r.childElementCount>t&&(n=r,t=r.childElementCount);return n}function uf(o){return[...o.children].map(e=>Cx(e))}function Cx(o){let e=o.style.width||o.getAttribute("width");return e&&!Number.isNaN(Number(e))&&(e=e+"px"),e||""}function ua(o,e,t){let n=o.getChildren(),r=0;for(let s of n){let l=s.getChildren().length;l>r&&(r=l)}let i=o.getColWidths();(i.length===0||i.length<r)&&(i=Array(r).fill("")),e+1>i.length&&console.error(`Attempted to set table column width for column [${e}] but only ${i.length} columns found`),i[e]=ft(t),o.setColWidths(i)}function pf(o,e,t){let n=e.getColWidths();if(n.length>t&&n[t].endsWith("px"))return Number(n[t].replace("px",""));let r=o.getElementByKey(e.__key);if(r){let i=mf(r);if(i&&i.children.length>t)return i.children[t].clientWidth}return 0}function gf(o){let e=o.getParent();if(!Q(e))return-1;let t=0,n=e.getChildren();for(let r of n){let i=r.getColSpan()||1;if(t+=i,r.getKey()===o.getKey())break}return t-1}function hf(o,e){let t=da(o),n=gf(o);t&&n>=0&&ua(t,n,e)}function Nf(o,e){let t=da(e),n=gf(e);if(!t)return"";let r=t.getColWidths();return r.length>n?r[n]:""}function Qo(o){if(z(o))return o.getNodes().filter(n=>v(n));let e=V(o,v);return e?[e]:[]}function xf(o){let e=o.getShape(),t=Qo(o);if(t.length===0)return;let n=da(t[0]);if(!n)return;let r=new kt(n),i=r.getCellAtPosition(e.toX,e.toY);if(!i)return;let s=e.toX+((i.getColSpan()||1)-1),l=e.toY+((i.getRowSpan()||1)-1),a=r.getCellsInRange({fromX:e.fromX,fromY:e.fromY,toX:s,toY:l});if(a.length===0)return;let c=a[0],m=Math.abs(e.fromX-s)+1,f=Math.abs(e.fromY-l)+1;for(let d=1;d<a.length;d++){let u=a[d];c.append(...u.getChildren()),u.remove()}c.setColSpan(m),c.setRowSpan(f)}function eo(o){let e=Qo(o),t={};for(let n of e){let r=n.getParent();Q(r)&&(t[r.getKey()]=r)}return Object.values(t)}function Nt(o){let e=Qo(o);if(e.length===0)return null;let t=At(e[0],K);return K(t)?t:null}function Ef(o){o.setColWidths([]);for(let e of o.getChildren()){if(!Q(e))continue;let t=e.getStyles();t.delete("height"),t.delete("width"),e.setStyles(t);let n=e.getChildren().filter(r=>v(r));for(let r of n){let i=r.getStyles();i.delete("height"),i.delete("width"),r.setStyles(i),r.clearWidth()}}}function Tf(o){o.setColWidths([]),o.setStyles(new Map);for(let e of o.getChildren()){if(!Q(e))continue;e.setStyles(new Map);let t=e.getChildren().filter(n=>v(n));for(let n of t)n.setStyles(new Map),n.clearWidth()}}function fa(o,e){e:for(let t of o.getChildren()){if(!Q(t))continue;let n=t.getChildren();for(let r of n){if(!v(r))return;if(e(r)===!1)break e}}}function Cf(o){let e=null;return fa(o,t=>{let n=t.getStyles().get("padding")||"";if(e===null&&(e=n),n!==e)return e=null,!1}),e||""}var xt=class o extends vt{constructor(t){super(t);this.__colWidths=[];this.__styles=new Map}static getType(){return"table"}static clone(t){let n=new o(t.__key);return Co(t,n),n.__colWidths=t.__colWidths,n.__styles=new Map(t.__styles),n}static importDOM(){return{table:t=>({conversion:_x,priority:1})}}static importJSON(t){let n=$r();return tt(t,n),n.setColWidths(t.colWidths),n.setStyles(new Map(Object.entries(t.styles))),n}exportJSON(){return{...super.exportJSON(),type:"table",version:1,colWidths:this.__colWidths,styles:Object.fromEntries(this.__styles)}}createDOM(t,n){let r=document.createElement("table");Te(r,t.theme.table),et(r,this);let i=this.getColWidths();if(i.length>0){let s=b("colgroup");for(let l of i){let a=b("col");l&&(a.style.width=l),s.append(a)}r.append(s)}for(let[s,l]of this.__styles.entries())r.style.setProperty(s,l);return r}updateDOM(t){return wt(t,this)||this.__colWidths.join(":")!==t.__colWidths.join(":")||this.__styles.size!==t.__styles.size||Array.from(this.__styles.values()).join(":")!==Array.from(t.__styles.values()).join(":")}exportDOM(t){return{...super.exportDOM(t),after:n=>{if(!n)return;let r=n.cloneNode(),i=document.createElement("tbody");if(pe(n))for(let s of Array.from(n.children))s.nodeName==="TR"?i.append(s):s.nodeName==="CAPTION"?r.insertBefore(s,r.firstChild):r.append(s);return r.append(i),r}}}canBeEmpty(){return!1}isShadowRoot(){return!0}setColWidths(t){let n=this.getWritable();n.__colWidths=t}getColWidths(){return this.getLatest().__colWidths}getStyles(){let t=this.getLatest();return new Map(t.__styles)}setStyles(t){let n=this.getWritable();n.__styles=new Map(t)}getCordsFromCellNode(t,n){let{rows:r,domRows:i}=n;for(let s=0;s<r;s++){let l=i[s];if(l==null)continue;let a=l.findIndex(c=>{if(!c)return;let{elem:m}=c;return ee(m)===t});if(a!==-1)return{x:a,y:s}}throw new Error("Cell not found in table.")}getDOMCellFromCords(t,n,r){let{domRows:i}=r,s=i[n];if(s==null)return null;let l=t<s.length?t:s.length-1,a=s[l];return a??null}getDOMCellFromCordsOrThrow(t,n,r){let i=this.getDOMCellFromCords(t,n,r);if(!i)throw new Error("Cell not found at cords.");return i}getCellNodeFromCords(t,n,r){let i=this.getDOMCellFromCords(t,n,r);if(i==null)return null;let s=ee(i.elem);return v(s)?s:null}getCellNodeFromCordsOrThrow(t,n,r){let i=this.getCellNodeFromCords(t,n,r);if(!i)throw new Error("Node at cords not TableCellNode.");return i}canSelectBefore(){return!0}canIndent(){return!1}};function _x(o){let e=$r();Qe(o,e);let t=ff(o);return e.setColWidths(t),e.setStyles(vn(o)),{node:e}}function $r(){return ne(new xt)}function K(o){return o instanceof xt}var Un=class o extends Z{constructor(){super(...arguments);this.__id=""}static getType(){return"horizontal-rule"}setId(t){let n=this.getWritable();n.__id=t}getId(){return this.getLatest().__id}static clone(t){let n=new o(t.__key);return n.__id=t.__id,n}createDOM(t,n){let r=document.createElement("hr");return this.__id&&r.setAttribute("id",this.__id),r}updateDOM(t,n){return t.__id!==this.__id}static importDOM(){return{hr(t){return{conversion:n=>{let r=new o;return n.id&&r.setId(n.id),{node:r}},priority:3}}}}exportJSON(){return{...super.exportJSON(),type:"horizontal-rule",version:1,id:this.__id}}static importJSON(t){let n=ma();return n.setId(t.id),n}};function ma(){return new Un}function _f(o){return o instanceof Un}var bf=o=>(o.split(" ").filter(t=>t.startsWith("language-"))[0]||"").replace("language-",""),en=class o extends Mt{constructor(t="",n="",r){super(r);this.__id="";this.__language="";this.__code="";this.__language=t,this.__code=n}static getType(){return"code-block"}static clone(t){let n=new o(t.__language,t.__code,t.__key);return n.__id=t.__id,n}setLanguage(t){let n=this.getWritable();n.__language=t}getLanguage(){return this.getLatest().__language}setCode(t){let n=this.getWritable();n.__code=t}getCode(){return this.getLatest().__code}setId(t){let n=this.getWritable();n.__id=t}getId(){return this.getLatest().__id}decorate(t,n){return{type:"code",getNode:()=>this}}isInline(){return!1}isIsolated(){return!0}createDOM(t,n){let r=b("pre",{id:this.__id||null},[b("code",{class:this.__language?`language-${this.__language}`:null},[this.__code])]);return b("div",{class:"editor-code-block-wrap"},[r])}updateDOM(t,n){let r=n.querySelector("code");return r&&(t.__language!==this.__language&&(r.className=this.__language?`language-${this.__language}`:""),t.__id!==this.__id&&n.setAttribute("id",this.__id),t.__code!==this.__code&&(r.textContent=this.__code)),!1}exportDOM(t){return{element:this.createDOM(t._config,t).querySelector("pre")}}static importDOM(){return{pre(t){return{conversion:n=>{let r=n.querySelector("code"),i=bf(n.className)||r&&bf(r.className)||"",s=r?(r.textContent||"").trim():(n.textContent||"").trim(),l=Vi(i,s);return n.id&&l.setId(n.id),{node:l,after(a){return[]}}},priority:3}}}}exportJSON(){return{type:"code-block",version:1,id:this.__id,language:this.__language,code:this.__code}}static importJSON(t){let n=Vi(t.language,t.code);return n.setId(t.id||""),n}};function Vi(o="",e=""){return new en(o,e)}function Xi(o){return o instanceof en}function Hr(o,e){let t=e.getCode(),n=e.getLanguage();window.$components.first("code-editor").open(t,n,"ltr",(i,s)=>{o.update(()=>{e.setCode(i),e.setLanguage(s)})},()=>{})}var yo=class o extends Mt{constructor(t,n,r){super(r);this.__id="";this.__drawingId="";this.__drawingUrl="";this.__drawingId=t,this.__drawingUrl=n}static getType(){return"diagram"}static clone(t){let n=new o(t.__drawingId,t.__drawingUrl);return n.__id=t.__id,n}setDrawingIdAndUrl(t,n){let r=this.getWritable();r.__drawingUrl=n,r.__drawingId=t}getDrawingIdAndUrl(){let t=this.getLatest();return{id:t.__drawingId,url:t.__drawingUrl}}setId(t){let n=this.getWritable();n.__id=t}getId(){return this.getLatest().__id}decorate(t,n){return{type:"diagram",getNode:()=>this}}isInline(){return!1}isIsolated(){return!0}createDOM(t,n){return b("div",{id:this.__id||null,"drawio-diagram":this.__drawingId},[b("img",{src:this.__drawingUrl})])}updateDOM(t,n){let r=n.querySelector("img");return r&&(t.__id!==this.__id&&n.setAttribute("id",this.__id),t.__drawingUrl!==this.__drawingUrl&&r.setAttribute("src",this.__drawingUrl),t.__drawingId!==this.__drawingId&&n.setAttribute("drawio-diagram",this.__drawingId)),!1}static importDOM(){return{div(t){return t.hasAttribute("drawio-diagram")?{conversion:n=>{let i=n.querySelector("img")?.getAttribute("src")||"",s=n.getAttribute("drawio-diagram")||"",l=zn(s,i);return n.id&&l.setId(n.id),{node:l}},priority:3}:null}}}exportJSON(){return{type:"diagram",version:1,id:this.__id,drawingId:this.__drawingId,drawingUrl:this.__drawingUrl}}static importJSON(t){let n=zn(t.drawingId,t.drawingUrl);return n.setId(t.id||""),n}};function zn(o="",e=""){return new yo(o,e)}var bx=["width","height","style","title","name","src","allow","allowfullscreen","loading","sandbox","type","data","controls","autoplay","controlslist","loop","muted","playsinline","poster","preload"];function yx(o){let e={};for(let t of Object.keys(o))bx.includes(t)&&(e[t]=o[t]);return e}function yf(o,e){let t=Sf(o),n={};for(let i of e.attributes)n[i.name]=i.value;t.setAttributes(n);let r=[];if(o==="video"||o==="audio"){for(let i of e.children)if(i.tagName==="SOURCE"){let s=i.getAttribute("src"),l=i.getAttribute("type");s&&l&&r.push({src:s,type:l})}t.setSources(r)}return Qe(e,t),t}var So=class o extends Z{constructor(t,n){super(n);this.__id="";this.__alignment="";this.__attributes={};this.__sources=[];this.__inset=0;this.__tag=t}static getType(){return"media"}static clone(t){let n=new o(t.__tag,t.__key);return n.__attributes=Object.assign({},t.__attributes),n.__sources=t.__sources.map(r=>Object.assign({},r)),n.__id=t.__id,n.__alignment=t.__alignment,n.__inset=t.__inset,n}setTag(t){let n=this.getWritable();n.__tag=t}getTag(){return this.getLatest().__tag}setAttributes(t){let n=this.getWritable();n.__attributes=yx(t)}getAttributes(){return this.getLatest().__attributes}setSources(t){let n=this.getWritable();n.__sources=t}getSources(){return this.getLatest().__sources}setSrc(t){let n=Object.assign({},this.getAttributes());this.__tag==="object"?n.data=t:n.src=t,this.setAttributes(n)}setWidthAndHeight(t,n){let r=Object.assign({},this.getAttributes(),{width:t,height:n});this.setAttributes(r)}setId(t){let n=this.getWritable();n.__id=t}getId(){return this.getLatest().__id}setAlignment(t){let n=this.getWritable();n.__alignment=t}getAlignment(){return this.getLatest().__alignment}setInset(t){let n=this.getWritable();n.__inset=t}getInset(){return this.getLatest().__inset}setHeight(t){if(!t)return;let n=Object.assign({},this.getAttributes(),{height:t});this.setAttributes(n)}getHeight(){let t=this.getLatest();return Wo(t.__attributes.height||"0")}setWidth(t){let n=Object.assign({},this.getAttributes(),{width:t});this.setAttributes(n)}getWidth(){let t=this.getLatest();return Wo(t.__attributes.width||"0")}isInline(){return!0}isParentRequired(){return!0}createInnerDOM(){let n=(this.__tag==="video"||this.__tag==="audio"?this.__sources:[]).map(i=>b("source",i)),r=b(this.__tag,this.__attributes,n);return et(r,this),r}createDOM(t,n){let r=this.createInnerDOM(),i=b("span",{class:r.className+" editor-media-wrap"},[r]);return i.addEventListener("click",s=>{n.update(()=>ke(this))}),i}updateDOM(t,n){if(t.__tag!==this.__tag||JSON.stringify(t.__sources)!==JSON.stringify(this.__sources)||JSON.stringify(t.__attributes)!==JSON.stringify(this.__attributes))return!0;let r=n.firstElementChild;return t.__id!==this.__id&&uu(r,"id",this.__id),t.__alignment!==this.__alignment&&(t.__alignment&&(n.classList.remove(`align-${t.__alignment}`),r.classList.remove(`align-${t.__alignment}`)),this.__alignment&&(n.classList.add(`align-${this.__alignment}`),r.classList.add(`align-${this.__alignment}`))),t.__inset!==this.__inset&&(n.style.paddingLeft=`${this.__inset}px`),!1}static importDOM(){let t=n=>r=>({conversion:i=>({node:yf(n,i)}),priority:3});return{iframe:t("iframe"),embed:t("embed"),object:t("object"),video:t("video"),audio:t("audio")}}exportDOM(t){return{element:this.createInnerDOM()}}exportJSON(){return{...super.exportJSON(),type:"media",version:1,id:this.__id,alignment:this.__alignment,inset:this.__inset,tag:this.__tag,attributes:this.__attributes,sources:this.__sources}}static importJSON(t){let n=Sf(t.tag);return tt(t,n),n}};function Sf(o){return new So(o)}function Lf(o){let n=new DOMParser().parseFromString(`<body>${o}</body>`,"text/html").body.children[0];if(!(n instanceof HTMLElement))return null;let r=n.tagName.toLowerCase();return["embed","iframe","video","audio","object"].includes(r)?yf(r,n):null}var Sx=[{regex:/.*?youtu\.be\/([\w\-_\?&=.]+)/i,w:560,h:314,url:"https://www.youtube.com/embed/$1"},{regex:/.*youtube\.com(.+)v=([^&]+)(&([a-z0-9&=\-_]+))?.*/i,w:560,h:314,url:"https://www.youtube.com/embed/$2?$4"},{regex:/.*youtube.com\/embed\/([a-z0-9\?&=\-_]+).*/i,w:560,h:314,url:"https://www.youtube.com/embed/$1"}],Lx=["mp4","mpeg","m4v","m4p","mov"],Mx=["3gp","aac","flac","mp3","m4a","ogg","wav","webm"],wx=["html","htm","php","asp","aspx",""];function Mf(o){for(let s of Sx)if(o.match(s.regex)){let a=o.replace(s.regex,s.url),c=new So("iframe");return c.setSrc(a),c.setHeight(s.h),c.setWidth(s.w),c}let e="iframe",n=(o.split("?")[0].split("/").pop()||"").split("."),r=(n.length>1?n[n.length-1]:"").toLowerCase();Lx.includes(r)?e="video":Mx.includes(r)?e="audio":r&&!wx.includes(r)&&(e="embed");let i=new So(e);return i.setSrc(o),i}function to(o){return o instanceof So}var Yn=class o extends vt{static getType(){return"heading"}static clone(e){let t=new o(e.__tag,e.__key);return Co(e,t),t}constructor(e,t){super(t),this.__tag=e}getTag(){return this.__tag}createDOM(e){let t=this.__tag,n=document.createElement(t),i=e.theme.heading;if(i!==void 0){let s=i[t];Te(n,s)}return et(n,this),n}updateDOM(e,t){return wt(e,this)}static importDOM(){return{h1:e=>({conversion:Wn,priority:0}),h2:e=>({conversion:Wn,priority:0}),h3:e=>({conversion:Wn,priority:0}),h4:e=>({conversion:Wn,priority:0}),h5:e=>({conversion:Wn,priority:0}),h6:e=>({conversion:Wn,priority:0})}}exportDOM(e){let{element:t}=super.exportDOM(e);return t&&pe(t)&&this.isEmpty()&&t.append(document.createElement("br")),{element:t}}static importJSON(e){let t=qn(e.tag);return tt(e,t),t}exportJSON(){return{...super.exportJSON(),tag:this.getTag(),type:"heading",version:1}}insertNewAfter(e,t=!0){let n=e?e.anchor.offset:0,r=this.getLastDescendant(),s=!r||e&&e.anchor.key===r.getKey()&&n===r.getTextContentSize()||!e?I():qn(this.getTag()),l=this.getDirection();if(s.setDirection(l),this.insertAfter(s,t),n===0&&!this.isEmpty()&&e){let a=I();a.select(),this.replace(a,!0)}return s}collapseAtStart(){let e=this.isEmpty()?I():qn(this.getTag());return this.getChildren().forEach(n=>e.append(n)),this.replace(e),!0}extractWithChild(){return!0}};function Wn(o){let e=o.nodeName.toLowerCase(),t=null;return(e==="h1"||e==="h2"||e==="h3"||e==="h4"||e==="h5"||e==="h6")&&(t=qn(e),Qe(o,t)),{node:t}}function qn(o){return ne(new Yn(o))}function Zn(o){return o instanceof Yn}var Vn=class o extends vt{static getType(){return"quote"}static clone(e){let t=new o(e.__key);return Co(e,t),t}constructor(e){super(e)}createDOM(e){let t=document.createElement("blockquote");return Te(t,e.theme.quote),et(t,this),t}updateDOM(e,t){return wt(e,this)}static importDOM(){return{blockquote:e=>({conversion:vx,priority:0})}}exportDOM(e){let{element:t}=super.exportDOM(e);return t&&pe(t)&&this.isEmpty()&&t.append(document.createElement("br")),{element:t}}static importJSON(e){let t=Gi();return tt(e,t),t}exportJSON(){return{...super.exportJSON(),type:"quote"}}insertNewAfter(e,t){let n=I(),r=this.getDirection();return n.setDirection(r),this.insertAfter(n,t),n}collapseAtStart(){let e=I();return this.getChildren().forEach(n=>e.append(n)),this.replace(e),!0}canMergeWhenEmpty(){return!0}};function Gi(){return ne(new Vn)}function ji(o){return o instanceof Vn}function vx(o){let e=Gi();return Qe(o,e),{node:e}}var Xn=class o extends Z{static getType(){return"caption"}static clone(e){return new o(e.__key)}createDOM(e,t){return document.createElement("caption")}updateDOM(e,t,n){return!1}isParentRequired(){return!0}canBeEmpty(){return!1}exportJSON(){return{...super.exportJSON(),type:"caption",version:1}}insertDOMIntoParent(e,t){return t.insertBefore(e,t.firstChild),!0}static importJSON(e){return pa()}static importDOM(){return{caption:e=>({conversion(t){return{node:pa()}},priority:0})}}};function pa(){return new Xn}function ga(o){return o instanceof Xn}function ha(o){for(let e of o.getChildren())if(ga(e))return!0;return!1}function wf(o,e=""){let t=pa(),n=q(e||" ");t.append(n),o.append(t)}function vf(){return[qo,Yn,Vn,Vo,jt,xt,Qt,Jt,Xn,Zo,Un,Hn,en,yo,So,dt,$n]}function Df(o){let e=[Zo,en,yo],t=n=>{for(let[r,i]of n)if(i==="destroyed"){let s=o.manager.getDecoratorByNodeKey(r);s&&s.destroy(o)}};for(let n of e)o.editor.registerMutationListener(n,r=>t(r))}function Na(o){return"build"in o}var Me=class{constructor(){this.dom=null;this.context=null}setContext(e){this.context=e}getContext(){if(this.context===null)throw new Error("Attempted to use EditorUIContext before it has been set");return this.context}getDOMElement(){return this.dom||(this.dom=this.buildDOM()),this.dom}rebuildDOM(){let e=this.buildDOM();return this.dom?.replaceWith(e),this.dom=e,this.dom}trans(e){return this.getContext().translate(e)}updateState(e){}},te=class extends Me{constructor(t){super();this.children=[];this.children.push(...t)}buildDOM(){return b("div",{},this.getChildren().map(t=>t.getDOMElement()))}getChildren(){return this.children}addChildren(...t){this.children.push(...t)}removeChildren(...t){for(let n of t)this.removeChild(n)}removeChild(t){let n=this.children.indexOf(t);n!==-1&&this.children.splice(n,1)}updateState(t){for(let n of this.children)n.updateState(t)}setContext(t){super.setContext(t);for(let n of this.getChildren())n.setContext(t)}},Ji=class extends te{constructor(e,t){super(t),this.className=e}buildDOM(){return b("div",{class:this.className},this.getChildren().map(e=>e.getDOMElement()))}};var w=class extends Me{constructor(t){super();this.active=!1;this.completedSetup=!1;this.disabled=!1;t.action!==void 0?this.definition=t:this.definition={...t,action(){return!1},isActive:()=>!1}}setContext(t){super.setContext(t),this.definition.setup&&!this.completedSetup&&(this.definition.setup(t,this),this.completedSetup=!0)}buildDOM(){let t=this.getLabel(),n=this.definition.format||"small",r=[];if(this.definition.icon||n==="long"){let s=b("div",{class:"editor-button-icon"});s.innerHTML=this.definition.icon||"",r.push(s)}if(!this.definition.icon||n==="long"){let s=b("div",{class:"editor-button-text"},[t]);r.push(s)}let i=b("button",{type:"button",class:`editor-button editor-button-${n}`,title:this.definition.icon?t:null,disabled:this.disabled?"true":null},r);return i.addEventListener("click",this.onClick.bind(this)),i}onClick(){this.definition.action(this.getContext(),this)}updateActiveState(t){let n=this.definition.isActive(t,this.getContext());this.setActiveState(n)}updateDisabledState(t){if(this.definition.isDisabled){let n=this.definition.isDisabled(t,this.getContext());this.toggleDisabled(n)}}setActiveState(t){this.active=t,this.dom?.classList.toggle("editor-button-active",this.active)}updateState(t){this.updateActiveState(t.selection),this.updateDisabledState(t.selection)}isActive(){return this.active}getLabel(){return this.trans(this.definition.label)}toggleDisabled(t){this.disabled=t,t?this.dom?.setAttribute("disabled","true"):this.dom?.removeAttribute("disabled")}};function Dx(o,e,t){let n=e.getBoundingClientRect(),r=o.getBoundingClientRect();if(o.style.position="fixed",t){let i=n.right;n.right+r.width>window.innerWidth&&(i=Math.max(n.left-r.width,0)),o.style.top=n.top+"px",o.style.left=i+"px"}else{let i=n.left+r.width>window.innerWidth,s=n.left;i&&(s=Math.max(n.right-r.width,0)),o.style.top=n.bottom+"px",o.style.left=s+"px"}}function Qi(o){let{menu:e,toggle:t,onClose:n,onOpen:r,showOnHover:i,showAside:s}=o,l=null,a=()=>{e.hidden=!0,e.style.removeProperty("position"),e.style.removeProperty("left"),e.style.removeProperty("top"),l&&window.removeEventListener("click",l),n&&n()},c=()=>{e.hidden=!1,Dx(e,t,!!s),l=f=>{!t.contains(f.target)&&!e.contains(f.target)&&a()},window.addEventListener("click",l),r&&r()},m=f=>{e.hasAttribute("hidden")?c():a()};t.addEventListener("click",m),i&&t.addEventListener("mouseenter",m),e.parentElement?.addEventListener("mouseleave",f=>{let d=t.getBoundingClientRect(),u=f.clientX<=d.right&&f.clientX>=d.left,p=f.clientY<=d.bottom&&f.clientY>=d.top;u&&p||a()})}var es=class extends te{buildDOM(){let e=this.getChildren().map(i=>i.getDOMElement()),t=b("div",{class:"editor-format-menu-dropdown editor-dropdown-menu editor-dropdown-menu-vertical",hidden:"true"},e),n=b("button",{class:"editor-format-menu-toggle editor-button",type:"button"},[this.trans("Formats")]),r=b("div",{class:"editor-format-menu editor-dropdown-menu-container"},[n,t]);return Qi({toggle:n,menu:t}),r}updateState(e){super.updateState(e);for(let t of this.children){if(t instanceof w&&t.isActive()){this.updateToggleLabel(t.getLabel());return}if(t instanceof te){for(let n of t.getChildren())if(n instanceof w&&n.isActive()){this.updateToggleLabel(n.getLabel());return}}}this.updateToggleLabel(this.trans("Formats"))}updateToggleLabel(e){let t=this.getDOMElement().querySelector("button");t&&(t.innerText=e)}};var Ye=class extends w{constructor(e,t){super(t),this.previewSampleElement=e}buildDOM(){let e=super.buildDOM();e.innerHTML="";let t=b("span",{class:"editor-button-format-preview"},[this.getLabel()]),n=this.getStylesFromPreview();for(let r of Object.keys(n))t.style.setProperty(r,n[r]);return e.append(t),e}getStylesFromPreview(){let e=b("div",{style:"display: none",hidden:"true",class:"page-content"}),t=this.previewSampleElement.cloneNode();t.textContent=this.getLabel(),e.append(t),document.body.append(e);let n=["color","font-size","background-color","border-inline-start"],r={},i=window.getComputedStyle(t);for(let s of n)r[s]=i.getPropertyValue(s);return e.remove(),r}};var Of='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"/><path d="M0 0h24v24H0z" fill="none"/></svg>';var ts=class extends w{buildDOM(){let e=super.buildDOM(),t=b("div",{class:"editor-menu-button-icon"});return t.innerHTML=Of,e.append(t),e}};var Ax={showOnHover:!1,direction:"horizontal",showAside:void 0,button:{label:"Menu"}},Ee=class extends te{constructor(t,n){super(n);this.open=!1;if(this.childItems=n,this.options=Object.assign({},Ax,t),t.button instanceof w)this.button=t.button;else{let r=t.button.format==="long"?ts:w;this.button=new r({...t.button,action(){return!1},isActive:()=>this.open})}this.addChildren(this.button)}insertItems(...t){this.addChildren(...t),this.childItems.push(...t)}buildDOM(){let t=this.button.getDOMElement(),n=this.childItems.map(s=>s.getDOMElement()),r=b("div",{class:`editor-dropdown-menu editor-dropdown-menu-${this.options.direction}`,hidden:"true"},n),i=b("div",{class:"editor-dropdown-menu-container"},[t,r]);return Qi({toggle:t,menu:r,showOnHover:this.options.showOnHover,showAside:typeof this.options.showAside=="boolean"?this.options.showAside:this.options.direction==="vertical",onOpen:()=>{this.open=!0,this.getContext().manager.triggerStateUpdateForElement(this.button)},onClose:()=>{this.open=!1,this.getContext().manager.triggerStateUpdateForElement(this.button)}}),i}};var Af='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M800-436q0 36-8 69t-22 63l-62-60q6-17 9-34.5t3-37.5q0-47-17.5-89T650-600L480-768l-88 86-56-56 144-142 226 222q44 42 69 99.5T800-436Zm-8 380L668-180q-41 29-88 44.5T480-120q-133 0-226.5-92.5T160-436q0-51 16-98t48-90L56-792l56-56 736 736-56 56ZM480-200q36 0 68.5-10t61.5-28L280-566q-21 32-30.5 64t-9.5 66q0 98 70 167t170 69Zm-37-204Zm110-116Z"/></svg>';var Rf='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M480-80q-82 0-155-31.5t-127.5-86Q143-252 111.5-325T80-480q0-83 32.5-156t88-127Q256-817 330-848.5T488-880q80 0 151 27.5t124.5 76q53.5 48.5 85 115T880-518q0 115-70 176.5T640-280h-74q-9 0-12.5 5t-3.5 11q0 12 15 34.5t15 51.5q0 50-27.5 74T480-80Zm0-400Zm-220 40q26 0 43-17t17-43q0-26-17-43t-43-17q-26 0-43 17t-17 43q0 26 17 43t43 17Zm120-160q26 0 43-17t17-43q0-26-17-43t-43-17q-26 0-43 17t-17 43q0 26 17 43t43 17Zm200 0q26 0 43-17t17-43q0-26-17-43t-43-17q-26 0-43 17t-17 43q0 26 17 43t43 17Zm120 160q26 0 43-17t17-43q0-26-17-43t-43-17q-26 0-43 17t-17 43q0 26 17 43t43 17ZM480-160q9 0 14.5-5t5.5-13q0-14-15-33t-15-57q0-42 29-67t71-25h70q66 0 113-38.5T800-518q0-121-92.5-201.5T488-800q-136 0-232 93t-96 227q0 133 93.5 226.5T480-160Z"/></svg>';function kf(){let o=()=>((1+Math.random())*65536|0).toString(16).substring(1);return`${o()+o()}-${o()}-${o()}-${o()}-${o()}${o()}${o()}`}function os(){return((1+Math.random())*65536|0).toString(16).substring(1)}var If=["#000000","#ffffff","#BFEDD2","#FBEEB8","#F8CAC6","#ECCAFA","#C2E0F4","#2DC26B","#F1C40F","#E03E2D","#B96AD9","#3598DB","#169179","#E67E23","#BA372A","#843FA1","#236FA1","#ECF0F1","#CED4D9","#95A5A6","#7E8C8D","#34495E"],$f="bs-lexical-custom-colors",tn=class extends Me{constructor(e){super(),this.callback=e}buildDOM(){let e=os(),n=[...If,...this.getCustomColorChoices()].map(c=>b("div",{class:"editor-color-select-option",style:`background-color: ${c}`,"data-color":c,"aria-label":c})),r=b("div",{class:"editor-color-select-option","data-color":"",title:this.getContext().translate("Remove color")},[]);r.innerHTML=Af,n.push(r);let i=b("label",{class:"editor-color-select-option",for:`color-select-${e}`,"data-color":"",title:this.getContext().translate("Custom color")},[]);i.innerHTML=Rf,n.push(i);let s=b("input",{type:"color",hidden:"true",id:`color-select-${e}`});n.push(s),s.addEventListener("change",c=>{s.value&&(this.storeCustomColorChoice(s.value),this.setColor(s.value),this.rebuildDOM())});let l=[];for(let c=0;c<n.length;c+=5){let m=n.slice(c,c+5);l.push(b("div",{class:"editor-color-select-row"},m))}let a=b("div",{class:"editor-color-select"},l);return a.addEventListener("click",this.onClick.bind(this)),a}storeCustomColorChoice(e){if(If.includes(e))return;let t=this.getCustomColorChoices();t.includes(e)||(t.push(e),window.localStorage.setItem($f,JSON.stringify(t)))}getCustomColorChoices(){return JSON.parse(window.localStorage.getItem($f)||"[]")}onClick(e){let t=e.target.closest("[data-color]");if(!t)return;let n=t.dataset.color;this.setColor(n)}setColor(e){this.callback(e,this.getContext())}};var ns=class extends Me{buildDOM(){let t=[],n=[];for(let s=1;s<11;s++){let l=[];for(let a=1;a<11;a++){let c=b("div",{class:"editor-table-creator-cell","data-rows":String(s),"data-columns":String(a)});l.push(c),n.push(c)}t.push(b("div",{class:"editor-table-creator-row"},l))}let r=b("div",{class:"editor-table-creator-display"},["0 x 0"]),i=b("div",{class:"editor-table-creator-grid"},t);return i.addEventListener("mousemove",s=>{let l=s.target.closest(".editor-table-creator-cell");if(l){let a=Number(l.dataset.rows||0),c=Number(l.dataset.columns||0);this.updateGridSelection(a,c,n,r)}}),i.addEventListener("click",s=>{let l=s.target.closest(".editor-table-creator-cell");l&&this.onCellClick(l)}),i.addEventListener("mouseleave",s=>{this.updateGridSelection(0,0,n,r)}),b("div",{class:"editor-table-creator"},[i,r])}updateGridSelection(e,t,n,r){for(let i of n){let s=Number(i.dataset.rows)<=e&&Number(i.dataset.columns)<=t;i.classList.toggle("active",s)}r.textContent=`${e} x ${t}`}onCellClick(e){let t=Number(e.dataset.rows||0),n=Number(e.dataset.columns||0);if(t<1||n<1)return;let r=Math.min(Math.round(840/n),240),i=Array(n).fill(r+"px");this.getContext().editor.update(()=>{let s=ea(t,n,!1);s.setColWidths(i),Yo(s)})}};var Kr=class extends w{constructor(e,t){super(e),this.style=t}getColorBar(){let e=this.getDOMElement().querySelector("svg .editor-icon-color-bar");if(!e)throw new Error(`Could not find expected color bar in the icon for this ${this.definition.label} button`);return e}updateState(e){if(super.updateState(e),_(e.selection)){let t=Bl(e.selection,this.style);this.getColorBar().setAttribute("fill",t)}}};var Pf='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M240-400q-33 0-56.5-23.5T160-480q0-33 23.5-56.5T240-560q33 0 56.5 23.5T320-480q0 33-23.5 56.5T240-400Zm240 0q-33 0-56.5-23.5T400-480q0-33 23.5-56.5T480-560q33 0 56.5 23.5T560-480q0 33-23.5 56.5T480-400Zm240 0q-33 0-56.5-23.5T640-480q0-33 23.5-56.5T720-560q33 0 56.5 23.5T800-480q0 33-23.5 56.5T720-400Z"/></svg>';var nt=class extends te{constructor(e,t){super(t),this.size=e,this.content=t,this.overflowButton=new Ee({button:{label:"More",icon:Pf}},[]),this.addChildren(this.overflowButton)}buildDOM(){let e=this.content.length>this.size?this.size-1:this.size,t=this.content.slice(0,e),n=this.content.slice(e),r=t.map(i=>i.getDOMElement());return n.length>0&&(this.removeChildren(...n),this.overflowButton.insertItems(...n),r.push(this.overflowButton.getDOMElement())),b("div",{class:"editor-overflow-container"},r)}};var xa='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200q-33 0-56.5-23.5T120-200Zm80-400h560v-160H200v160Zm213 200h134v-120H413v120Zm0 200h134v-120H413v120ZM200-400h133v-120H200v120Zm427 0h133v-120H627v120ZM200-200h133v-120H200v120Zm427 0h133v-120H627v120Z"/></svg>';var rs='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M5 21a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14c0 1.1-.9 2-2 2zm0-2h14V5H5v14z"/><path d="m13.711 15.423-1.71-1.712-1.712 1.712c-1.14 1.14-2.852-.57-1.71-1.712l1.71-1.71-1.71-1.712c-1.143-1.142.568-2.853 1.71-1.71L12 10.288l1.711-1.71c1.141-1.142 2.852.57 1.712 1.71L13.71 12l1.626 1.626c1.345 1.345-.76 2.663-1.626 1.797z" style="fill-rule:nonzero;stroke-width:1.20992"/></svg>';var Bf='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M21 19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14c1.1 0 2 .9 2 2zm-2 0V5h-4v2.2h-2V5h-2v2.2H9V5H5v14h4v-2.1h2V19h2v-2.1h2V19Z"/><path d="M14.829 10.585 13.415 12l1.414 1.414c.943.943-.472 2.357-1.414 1.414L12 13.414l-1.414 1.414c-.944.944-2.358-.47-1.414-1.414L10.586 12l-1.414-1.415c-.943-.942.471-2.357 1.414-1.414L12 10.585l1.344-1.343c1.111-1.112 2.2.627 1.485 1.343z" style="fill-rule:nonzero"/></svg>';var Ff='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M5 21a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14c0 1.1-.9 2-2 2zm0-2h14v-4h-2.2v-2H19v-2h-2.2V9H19V5H5v4h2.1v2H5v2h2.1v2H5Z"/><path d="M13.415 14.829 12 13.415l-1.414 1.414c-.943.943-2.357-.472-1.414-1.414L10.586 12l-1.414-1.414c-.944-.944.47-2.358 1.414-1.414L12 10.586l1.415-1.414c.942-.943 2.357.471 1.414 1.414L13.415 12l1.343 1.344c1.112 1.111-.627 2.2-1.343 1.485z" style="fill-rule:nonzero"/></svg>';var Hf='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M16 5h-5v14h5c1.235 0 1.234 2 0 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11c1.229 0 1.236 2 0 2zm-7 6V5H5v6zm0 8v-6H5v6zm11.076-6h-2v2c0 1.333-2 1.333-2 0v-2h-2c-1.335 0-1.335-2 0-2h2V9c0-1.333 2-1.333 2 0v2h1.9c1.572 0 1.113 2 .1 2z"/></svg>';var Kf='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8 19h5V5H8C6.764 5 6.766 3 8 3h11a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H8c-1.229 0-1.236-2 0-2zm7-6v6h4v-6zm0-8v6h4V5ZM3.924 11h2V9c0-1.333 2-1.333 2 0v2h2c1.335 0 1.335 2 0 2h-2v2c0 1.333-2 1.333-2 0v-2h-1.9c-1.572 0-1.113-2-.1-2z"/></svg>';var Uf='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M5 8v5h14V8c0-1.235 2-1.234 2 0v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8C3 6.77 5 6.764 5 8zm6 7H5v4h6zm8 0h-6v4h6zM13 3.924v2h2c1.333 0 1.333 2 0 2h-2v2c0 1.335-2 1.335-2 0v-2H9c-1.333 0-1.333-2 0-2h2v-1.9c0-1.572 2-1.113 2-.1z"/></svg>';var zf='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 16v-5H5v5c0 1.235-2 1.234-2 0V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v11c0 1.229-2 1.236-2 0zm-6-7h6V5h-6zM5 9h6V5H5Zm6 11.076v-2H9c-1.333 0-1.333-2 0-2h2v-2c0-1.335 2-1.335 2 0v2h2c1.333 0 1.333 2 0 2h-2v1.9c0 1.572-2 1.113-2 .1z"/></svg>';var It=class extends Me{constructor(e){super(),this.definition=e}setValue(e){let t=this.getDOMElement().querySelector("input,select,textarea");this.definition.type==="checkbox"?t.checked=!!e:t.value=e,t.dispatchEvent(new Event("change"))}getName(){return this.definition.name}buildDOM(){let e=`editor-form-field-${this.definition.name}-${Date.now()}`,t;if(this.definition.type==="select"){let n=this.definition.valuesByLabel,i=Object.keys(n).map(s=>b("option",{value:n[s]},[this.trans(s)]));t=b("select",{id:e,name:this.definition.name,class:"editor-form-field-input"},i)}else this.definition.type==="textarea"?t=b("textarea",{id:e,name:this.definition.name,class:"editor-form-field-input"}):this.definition.type==="checkbox"?t=b("input",{id:e,name:this.definition.name,type:"checkbox",class:"editor-form-field-input-checkbox",value:"true"}):t=b("input",{id:e,name:this.definition.name,class:"editor-form-field-input"});return b("div",{class:"editor-form-field-wrapper"},[b("label",{class:"editor-form-field-label",for:e},[this.trans(this.definition.label)]),t])}},is=class extends te{constructor(t){let n=t.fields.map(r=>Na(r)?r.build():new It(r));super(n);this.onCancel=null;this.onSuccessfulSubmit=null;this.definition=t}setValues(t){for(let n of Object.keys(t)){let r=this.getFieldByName(n);r&&r.setValue(t[n])}}setOnCancel(t){this.onCancel=t}setOnSuccessfulSubmit(t){this.onSuccessfulSubmit=t}getFieldByName(t){let n=r=>{for(let i of r){if(i instanceof It&&i.getName()===t)return i;if(i instanceof te){let s=n(i.getChildren());if(s)return s}}return null};return n(this.getChildren())}buildDOM(){let t=b("button",{type:"button",class:"editor-form-action-secondary"},[this.trans("Cancel")]),n=b("form",{},[...this.children.map(r=>r.getDOMElement()),b("div",{class:"editor-form-actions"},[t,b("button",{type:"submit",class:"editor-form-action-primary"},[this.trans(this.definition.submitText)])])]);return n.addEventListener("submit",async r=>{r.preventDefault();let i=new FormData(n);await this.definition.action(i,this.getContext())&&this.onSuccessfulSubmit&&this.onSuccessfulSubmit()}),t.addEventListener("click",r=>{this.onCancel&&this.onCancel()}),n}},Ea=class extends te{constructor(e){let t=e.contents.map(n=>Na(n)?n.build():new It(n));super(t),this.definition=e,this.fields=t,this.id=kf()}getLabel(){return this.getContext().translate(this.definition.label)}getId(){return this.id}buildDOM(){return b("div",{class:"editor-form-tab-content",role:"tabpanel",id:`editor-tabpanel-${this.id}`,"aria-labelledby":`editor-tab-${this.id}`},this.fields.map(e=>e.getDOMElement()))}},on=class extends te{constructor(t){let n=t.map(r=>new Ea(r));super(n);this.definitions=[];this.tabs=[];this.definitions=t,this.tabs=n}buildDOM(){let t=[],n=[],r=i=>{for(let s=0;s<t.length;s++)t[s].setAttribute("aria-selected",s===i?"true":"false");for(let s=0;s<n.length;s++)n[s].hidden=s!==i};for(let i of this.tabs){let s=b("button",{class:"editor-form-tab-control",type:"button",role:"tab",id:`editor-tab-${i.getId()}`,"aria-controls":`editor-tabpanel-${i.getId()}`},[i.getLabel()]);n.push(i.getDOMElement()),t.push(s),s.addEventListener("click",l=>{r(t.indexOf(s))})}return r(0),b("div",{class:"editor-form-tab-container"},[b("div",{class:"editor-form-tab-controls"},t),b("div",{class:"editor-form-tab-contents"},n)])}};var Wf=`<svg version="1.1" viewBox="0 -960 960 960" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <defs> + <pattern id="pattern2" x="0.40000001" patternTransform="scale(200)" preserveAspectRatio="xMidYMid" xlink:href="#Checkerboard"/> + <pattern id="Checkerboard" width="2" height="2" fill="#b6b6b6" patternTransform="translate(0) scale(10)" patternUnits="userSpaceOnUse" preserveAspectRatio="xMidYMid"> + <rect width="1" height="1"/> + <rect x="1" y="1" width="1" height="1"/> + </pattern> + </defs> + <rect class="editor-icon-color-display" x="103.53" y="-856.47" width="752.94" height="752.94" rx="47.059" ry="47.059" fill="url(#pattern2)" stroke="#666" stroke-linecap="square" stroke-linejoin="round" stroke-width="47.059"/> +</svg> +`;var Ta=class extends te{constructor(e){super([]),this.input=e,this.pickerButton=new Ee({button:{icon:Wf,label:"Select color"}},[new tn(this.onColorSelect.bind(this))]),this.addChildren(this.pickerButton,this.input)}buildDOM(){let e=this.input.getDOMElement();e.append(this.pickerButton.getDOMElement()),e.classList.add("editor-color-field-container");let t=e.querySelector("input");return t.addEventListener("change",()=>{this.setIconColor(t.value)}),e}onColorSelect(e,t){this.input.setValue(e)}setIconColor(e){let t=this.getDOMElement().querySelector("svg .editor-icon-color-display");t&&t.setAttribute("fill",e||"url(#pattern2)")}};function nn(o){return{build(){return new Ta(new It(o))}}}var Ca={label:"Border style",name:"border_style",type:"select",valuesByLabel:{"Select...":"",Solid:"solid",Dotted:"dotted",Dashed:"dashed",Double:"double",Groove:"groove",Ridge:"ridge",Inset:"inset",Outset:"outset",None:"none",Hidden:"hidden"}},_a={label:"Border color",name:"border_color",type:"text"},ba={label:"Background color",name:"background_color",type:"text"},qf={label:"Alignment",name:"align",type:"select",valuesByLabel:{None:"",Left:"left",Center:"center",Right:"right"}};function Yf(o,e){let t=o.getStyles(),n=e.manager.createModal("cell_properties");return n.show({width:Nf(e.editor,o),height:t.get("height")||"",type:o.getTag(),h_align:o.getAlignment(),v_align:t.get("vertical-align")||"",border_width:t.get("border-width")||"",border_style:t.get("border-style")||"",border_color:t.get("border-color")||"",background_color:t.get("background-color")||""}),n}var Zf={submitText:"Save",async action(o,e){return e.editor.update(()=>{let t=Qo(T());for(let n of t){let r=o.get("width")?.toString()||"";hf(n,r),n.updateTag(o.get("type")?.toString()||""),n.setAlignment(o.get("h_align")?.toString()||"");let i=n.getStyles();i.set("height",ft(o.get("height")?.toString()||"")),i.set("vertical-align",o.get("v_align")?.toString()||""),i.set("border-width",ft(o.get("border_width")?.toString()||"")),i.set("border-style",o.get("border_style")?.toString()||""),i.set("border-color",o.get("border_color")?.toString()||""),i.set("background-color",o.get("background_color")?.toString()||""),n.setStyles(i)}}),!0},fields:[{build(){let o=[{label:"Width",name:"width",type:"text"},{label:"Height",name:"height",type:"text"},{label:"Cell type",name:"type",type:"select",valuesByLabel:{Cell:"td","Header cell":"th"}},{...qf,label:"Horizontal align",name:"h_align"},{label:"Vertical align",name:"v_align",type:"select",valuesByLabel:{None:"",Top:"top",Middle:"middle",Bottom:"bottom"}}],e=[{label:"Border width",name:"border_width",type:"text"},Ca,nn(_a),nn(ba)];return new on([{label:"General",contents:o},{label:"Advanced",contents:e}])}}]};function Vf(o,e){let t=o.getStyles(),n=e.manager.createModal("row_properties");return n.show({height:t.get("height")||"",border_style:t.get("border-style")||"",border_color:t.get("border-color")||"",background_color:t.get("background-color")||""}),n}var Xf={submitText:"Save",async action(o,e){return e.editor.update(()=>{let t=eo(T());for(let n of t){let r=n.getStyles();r.set("height",ft(o.get("height")?.toString()||"")),r.set("border-style",o.get("border_style")?.toString()||""),r.set("border-color",o.get("border_color")?.toString()||""),r.set("background-color",o.get("background_color")?.toString()||""),n.setStyles(r)}}),!0},fields:[{label:"Height",name:"height",type:"text"},Ca,nn(_a),nn(ba)]};function Gf(o,e){let t=o.getStyles(),n=e.manager.createModal("table_properties");return n.show({width:t.get("width")||"",height:t.get("height")||"",cell_spacing:t.get("cell-spacing")||"",cell_padding:Cf(o),border_width:t.get("border-width")||"",border_style:t.get("border-style")||"",border_color:t.get("border-color")||"",background_color:t.get("background-color")||"",caption:ha(o)?"true":"",align:o.getAlignment()}),n}var jf={submitText:"Save",async action(o,e){return e.editor.update(()=>{let t=Nt(T());if(!t)return;let n=t.getStyles();n.set("width",ft(o.get("width")?.toString()||"")),n.set("height",ft(o.get("height")?.toString()||"")),n.set("cell-spacing",ft(o.get("cell_spacing")?.toString()||"")),n.set("border-width",ft(o.get("border_width")?.toString()||"")),n.set("border-style",o.get("border_style")?.toString()||""),n.set("border-color",o.get("border_color")?.toString()||""),n.set("background-color",o.get("background_color")?.toString()||""),t.setStyles(n),t.setAlignment(o.get("align"));let r=o.get("cell_padding")?.toString()||"";if(r){let l=ft(r);fa(t,a=>{let c=a.getStyles();c.set("padding",l),a.setStyles(c)})}let i=!!o.get("caption")?.toString(),s=ha(t);if(i&&!s)wf(t,e.translate("Caption"));else if(!i&&s)for(let l of t.getChildren())ga(l)&&l.remove()}),!0},fields:[{build(){let o=[{label:"Width",name:"width",type:"text"},{label:"Height",name:"height",type:"text"},{label:"Cell spacing",name:"cell_spacing",type:"text"},{label:"Cell padding",name:"cell_padding",type:"text"},{label:"Border width",name:"border_width",type:"text"},{label:"Show caption",name:"caption",type:"checkbox"},qf],e=[Ca,nn(_a),nn(ba)];return new on([{label:"General",contents:o},{label:"Advanced",contents:e}])}}]};function Jf(o){let e=E(o)?o.getChildren():[];return{node:o.exportJSON(),children:e.map(t=>Jf(t))}}function Qf(o,{node:e,children:t}){let n=o._nodes.get(e.type)?.klass.importJSON(e);if(!n)return null;let r=t.map(i=>Qf(o,i));for(let i of r)i&&E(n)&&n.append(i);return n}var Ur=class{constructor(){this.store=[]}set(...e){this.store.splice(0,this.store.length);for(let t of e)this.store.push(Jf(t))}get(e){return this.store.map(t=>Qf(e,t)).filter(t=>t!==null)}size(){return this.store.length}};var zr=new Ur;function ya(){return zr.size()===0}function em(o){let e=null;for(let t of o){let n=t.getChildren().filter(i=>v(i)),r=0;for(let i of n)if(r+=i.getColSpan()||1,i.getRowSpan()>1)throw Error("Cannot copy rows with merged cells");if(e===null)e=r;else if(e!==r)throw Error("Cannot copy rows with inconsistent sizes")}}function tm(o,e){let t=new kt(e).columnCount;for(let n of o){let r=n.getChildren().filter(s=>v(s)),i=0;for(let s of r)i+=s.getColSpan()||1;if(i>t)throw Error("Cannot paste rows that are wider than target table");for(;i<t;)n.append(Pe()),i++}}function om(){let o=eo(T());em(o),zr.set(...o);for(let e of o)e.remove()}function nm(){let o=eo(T());em(o),zr.set(...o)}function rm(o){let e=T(),t=eo(e),n=Nt(e),r=t[t.length-1];if(r&&n){let i=zr.get(o);tm(i,n);for(let s of i)r.insertBefore(s)}}function im(o){let e=T(),t=eo(e),n=Nt(e),r=t[t.length-1];if(r&&n){let i=zr.get(o).reverse();tm(i,n);for(let s of i)r.insertAfter(s)}}var ss=[];function sm(o){let e=o.map(t=>{let n=new Ur;return n.set(...t),n});ss.splice(0,ss.length,...e)}function Sa(){return ss.length===0}function lm(o){if(z(o)){let i=o.getShape();return{from:i.fromX,to:i.toX}}let e=V(o,v),t=Nt(o);if(!v(e)||!t)return null;let r=new kt(t).getRangeForCell(e);return r?{from:r.fromX,to:r.toX}:null}function am(o,e){let t=new kt(e),n=[];for(let r=o.from;r<=o.to;r++){let i=t.getCellsInColumn(r);n.push(i)}return n}function cm(o){let e=null;for(let t of o){let n=0;for(let r of t)if(n+=r.getRowSpan()||1,r.getColSpan()>1)throw Error("Cannot copy columns with merged cells");if(e===null)e=n;else if(e!==n)throw Error("Cannot copy columns with inconsistent sizes")}}function dm(){let o=T(),e=lm(o),t=Nt(o);if(!e||!t)return;let n=t.getColWidths(),r=am(e,t);cm(r),sm(r);for(let s of r)for(let l of s)l.remove();let i=[...n].splice(e.from,e.to-e.from+1);t.setColWidths(i)}function um(){let o=T(),e=lm(o),t=Nt(o);if(!e||!t)return;let n=am(e,t);cm(n),sm(n)}function qx(o,e){let t=new kt(e).rowCount;for(let n of o){let r=0;for(let i of n)r+=i.getRowSpan()||1;if(r>t)throw Error("Cannot paste columns that are taller than target table");for(;r<t;)n.push(Pe()),r++}}function fm(o,e){let t=T(),n=Nt(t),r=Qo(t),i=r[e?0:r.length-1];if(!n||!i)return;let s=ss.map(u=>u.get(o));e||s.reverse(),qx(s,n);let l=new kt(n),a=l.getRangeForCell(i);if(!a)return;let c=e?a.fromX:a.toX,m=n.getColWidths();for(let u=0;u<l.rowCount;u++){let p=l.getCellAtPosition(c,u);for(let g of s){let h=g[u];e?p.insertBefore(h):p.insertAfter(h)}}let f=m[c],d=s.map(u=>f);m.splice(e?c:c+1,0,...d)}function mm(o){fm(o,!0)}function pm(o){fm(o,!1)}var he=()=>!1,_e=o=>!ae(o,v),gm={label:"Table",icon:xa},La={label:"Table properties",icon:xa,action(o){o.editor.getEditorState().read(()=>{let e=Nt(T());K(e)&&Gf(e,o)})},isActive:he,isDisabled:_e},hm={label:"Clear table formatting",format:"long",action(o){o.editor.update(()=>{let e=V(T(),v);if(!v(e))return;let t=At(e,K);K(t)&&Tf(t)})},isActive:he,isDisabled:_e},Nm={label:"Resize to contents",format:"long",action(o){o.editor.update(()=>{let e=V(T(),v);if(!v(e))return;let t=At(e,K);K(t)&&Ef(t)})},isActive:he,isDisabled:_e},Ma={label:"Delete table",icon:rs,action(o){o.editor.update(()=>{let e=V(T(),K);e&&e.remove()})},isActive(){return!1}},xm={...Ma,format:"long",isDisabled(o){return!ae(o,K)}},wa={label:"Insert row before",icon:Uf,action(o){o.editor.update(()=>{Ki(!1)})},isActive:he,isDisabled:_e},va={label:"Insert row after",icon:zf,action(o){o.editor.update(()=>{Ki(!0)})},isActive:he,isDisabled:_e},Da={label:"Delete row",icon:Ff,action(o){o.editor.update(()=>{ta()})},isActive:he,isDisabled:_e},Em={label:"Row properties",format:"long",action(o){o.editor.getEditorState().read(()=>{let e=eo(T());Q(e[0])&&Vf(e[0],o)})},isActive:he,isDisabled:_e},Tm={label:"Cut row",format:"long",action(o){o.editor.update(()=>{try{om()}catch(e){o.error(e)}})},isActive:he,isDisabled:_e},Cm={label:"Copy row",format:"long",action(o){o.editor.getEditorState().read(()=>{try{nm()}catch(e){o.error(e)}})},isActive:he,isDisabled:_e},_m={label:"Paste row before",format:"long",action(o){o.editor.update(()=>{try{rm(o.editor)}catch(e){o.error(e)}})},isActive:he,isDisabled:o=>_e(o)||ya()},bm={label:"Paste row after",format:"long",action(o){o.editor.update(()=>{try{im(o.editor)}catch(e){o.error(e)}})},isActive:he,isDisabled:o=>_e(o)||ya()},ym={label:"Cut column",format:"long",action(o){o.editor.update(()=>{try{dm()}catch(e){o.error(e)}})},isActive:he,isDisabled:_e},Sm={label:"Copy column",format:"long",action(o){o.editor.getEditorState().read(()=>{try{um()}catch(e){o.error(e)}})},isActive:he,isDisabled:_e},Lm={label:"Paste column before",format:"long",action(o){o.editor.update(()=>{try{mm(o.editor)}catch(e){o.error(e)}})},isActive:he,isDisabled:o=>_e(o)||Sa()},Mm={label:"Paste column after",format:"long",action(o){o.editor.update(()=>{try{pm(o.editor)}catch(e){o.error(e)}})},isActive:he,isDisabled:o=>_e(o)||Sa()},Oa={label:"Insert column before",icon:Kf,action(o){o.editor.update(()=>{Ui(!1)})},isActive(){return!1}},Aa={label:"Insert column after",icon:Hf,action(o){o.editor.update(()=>{Ui(!0)})},isActive(){return!1}},Ra={label:"Delete column",icon:Bf,action(o){o.editor.update(()=>{oa()})},isActive(){return!1}},wm={label:"Cell properties",format:"long",action(o){o.editor.getEditorState().read(()=>{let e=V(T(),v);v(e)&&Yf(e,o)})},isActive:he,isDisabled:_e},vm={label:"Merge cells",format:"long",action(o){o.editor.update(()=>{let e=T();z(e)&&xf(e)})},isActive:he,isDisabled(o){return!z(o)}},Dm={label:"Split cell",format:"long",action(o){o.editor.update(()=>{ra()})},isActive:he,isDisabled(o){let e=V(o,v);return e?!(e.getRowSpan()>1||e.getColSpan()>1):!0}};var Om='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M280-200v-80h284q63 0 109.5-40T720-420q0-60-46.5-100T564-560H312l104 104-56 56-200-200 200-200 56 56-104 104h252q97 0 166.5 63T800-420q0 94-69.5 157T564-200H280Z"/></svg>';var Am='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960" ><path d="M396-200q-97 0-166.5-63T160-420q0-94 69.5-157T396-640h252L544-744l56-56 200 200-200 200-56-56 104-104H396q-63 0-109.5 40T240-420q0 60 46.5 100T396-280h284v80H396Z"/></svg>';var Rm='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="m384-336 56-58-86-86 86-86-56-58-144 144 144 144Zm192 0 144-144-144-144-56 58 86 86-86 86 56 58ZM200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h168q13-36 43.5-58t68.5-22q38 0 68.5 22t43.5 58h168q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm0-80h560v-560H200v560Zm280-590q13 0 21.5-8.5T510-820q0-13-8.5-21.5T480-850q-13 0-21.5 8.5T450-820q0 13 8.5 21.5T480-790ZM200-200v-560 560Z"/></svg>';var km='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M120-120v-200h80v120h120v80H120Zm520 0v-80h120v-120h80v200H640ZM120-640v-200h200v80H200v120h-80Zm640 0v-120H640v-80h200v200h-80Z"/></svg>';var Im='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M478-240q21 0 35.5-14.5T528-290q0-21-14.5-35.5T478-340q-21 0-35.5 14.5T428-290q0 21 14.5 35.5T478-240Zm-36-154h74q0-33 7.5-52t42.5-52q26-26 41-49.5t15-56.5q0-56-41-86t-97-30q-57 0-92.5 30T342-618l66 26q5-18 22.5-39t53.5-21q32 0 48 17.5t16 38.5q0 20-12 37.5T506-526q-44 39-54 59t-10 73Zm38 314q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z"/></svg>';function Gn(o,e){o.update(()=>{let t=F();for(let r of t.getChildren())r.remove(!0);let n=_o(o,e);t.append(...n)})}function $m(o,e){o.update(()=>{let t=F(),n=_o(o,e);t.append(...n)})}function Pm(o,e){o.update(()=>{let t=F(),n=_o(o,e),r=t.getChildren()[0];for(let i=n.length-1;i>=0;i--)r?r.insertBefore(n[i]):t.append(n[i]),r=n[i]})}function Bm(o,e){o.update(()=>{let t=T(),n=_o(o,e),r=t?.getNodes()[0],i=r?.getParents()||[];if(i[i.length-1]&&r)for(let l=n.length-1;l>=0;l--)r.insertAfter(n[l])})}function ls(o){return new Promise((e,t)=>{o.getEditorState().read(()=>{let n=Ri(o);e(n)})})}function Fm(o){o.focus(()=>{},{defaultSelection:"rootStart"})}var Hm={label:"Undo",icon:Om,action(o){o.editor.dispatchCommand(ro,void 0),o.manager.triggerFutureStateRefresh()},isActive(o){return!1},setup(o,e){e.toggleDisabled(!0),o.editor.registerCommand(co,t=>(e.toggleDisabled(!t),!1),Dt)}},Km={label:"Redo",icon:Am,action(o){o.editor.dispatchCommand(io,void 0),o.manager.triggerFutureStateRefresh()},isActive(o){return!1},setup(o,e){e.toggleDisabled(!0),o.editor.registerCommand(ao,t=>(e.toggleDisabled(!t),!1),Dt)}},Um={label:"Source code",icon:Rm,async action(o){let e=o.manager.createModal("source"),t=await ls(o.editor);e.show({source:t})},isActive(){return!1}},zm={label:"Fullscreen",icon:km,async action(o,e){let t=o.containerDOM.classList.contains("fullscreen");o.containerDOM.classList.toggle("fullscreen",!t),o.containerDOM.closest("body").classList.toggle("editor-is-fullscreen",!t),e.setActiveState(!t)},isActive(o,e){return e.containerDOM.classList.contains("fullscreen")}},Wm={label:"About the editor",icon:Im,async action(o,e){o.manager.createModal("about").show({})},isActive(o,e){return!1}};var jx=(o,e)=>Zn(o)&&o.getTag()===e;function as(o,e){o.update(()=>{Bn(t=>jx(t,e),()=>qn(e))})}function Wr(o){o.update(()=>{Bn(ct,I)})}function qr(o){o.update(()=>{Bn(ji,Gi)})}function Yr(o,e){o.getEditorState().read(()=>{let t=T();ae(t,r=>U(r)&&r.getListType()===e)?Jl(o):jl(o,e)})}function Zr(o){o.getEditorState().read(()=>{let e=T(),t=le(o),n=V(t,Xi);n===null?o.update(()=>{let r=Vi();r.setCode(e?.getTextContent()||"");let i=Rt(e),s=i[0],l=i.slice(1);s?(s.replace(r),l.forEach(a=>a.remove())):Yo(r,!0),Hr(o,r),ke(r)}):Hr(o,n)})}function qm(o){o.update(()=>{let e=T(),t=Rt(e),n=!1;for(let i of t)Ul(i)||(i.replace(In("info"),!0),n=!0);if(n)return;let r=["info","warning","danger","success"];for(let i of t)if(Ul(i)){let s=i.getCategory(),a=(r.indexOf(s)+1)%r.length,c=r[a];i.setCategory(c)}})}function cs(o,e){o.update(()=>{let t=T(),n=V(t,Ot);if(Ot(n)?(n.setURL(e.url),n.setTarget(e.target),n.setTitle(e.title)):(n=gt(e.url,{title:e.title,target:e.target}),Oe([n])),Ot(n)){for(let r of n.getChildren())r.remove(!0);n.append(q(e.text))}})}function ds(o,e){return{label:e,action(t){t.editor.update(()=>{Bn(n=>zl(n,o),()=>In(o))})},isActive(t){return ae(t,n=>zl(n,o))}}}var Ym=ds("info","Info"),Zm=ds("danger","Danger"),Vm=ds("warning","Warning"),Xm=ds("success","Success"),Jx=(o,e)=>Zn(o)&&o.getTag()===e;function us(o,e){return{label:e,action(t){as(t.editor,o)},isActive(t){return ae(t,n=>Jx(n,o))}}}var Gm=us("h2","Large Header"),jm=us("h3","Medium Header"),Jm=us("h4","Small Header"),Qm=us("h5","Tiny Header"),ep={label:"Blockquote",action(o){qr(o.editor)},isActive(o){return ae(o,ji)}},tp={label:"Paragraph",action(o){Wr(o.editor)},isActive(o){return ae(o,ct)}};var op='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M272-200v-560h221q65 0 120 40t55 111q0 51-23 78.5T602-491q25 11 55.5 41t30.5 90q0 89-65 124.5T501-200H272Zm121-112h104q48 0 58.5-24.5T566-372q0-11-10.5-35.5T494-432H393v120Zm0-228h93q33 0 48-17t15-38q0-24-17-39t-44-15h-95v109Z"/></svg>';var np='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M200-200v-100h160l120-360H320v-100h400v100H580L460-300h140v100H200Z"/></svg>';var rp='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M200-120v-80h560v80H200Zm280-160q-101 0-157-63t-56-167v-330h103v336q0 56 28 91t82 35q54 0 82-35t28-91v-336h103v330q0 104-56 167t-157 63Z"/></svg>';var ip=`<svg version="1.1" viewBox="0 -960 960 960" xmlns="http://www.w3.org/2000/svg"><path class="editor-icon-color-bar" d="m80-3e-6v-160h800v160z"/><path d="m220-280 210-560h100l210 560h-96l-50-144h-226l-52 144zm176-224h168l-82-232h-4z"/></svg> +`;var sp='<svg version="1.1" viewBox="0 -960 960 960" xmlns="http://www.w3.org/2000/svg"><path class="editor-icon-color-bar" d="m80-2e-6v-160h800v160z"/><path d="m584-480-104-104-160 160 103 104zm-47-160 103 103 160-159-104-104zm-84-29 216 216-189 190c-16 16-34.833 24-56.5 24s-40.5-8-56.5-24l-27 23h-200l126-125c-16-16-24.333-35.167-25-57.5s7-41.5 23-57.5zm0 0 187-187c16-16 34.833-24 56.5-24s40.5 8 56.5 24l104 103c16 16 24 34.833 24 56.5s-8 40.5-24 56.5l-188 187z"/></svg>';var lp='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M80-400v-80h800v80H80Zm340-160v-120H200v-120h560v120H540v120H420Zm0 400v-160h120v160H420Z"/></svg>';var ap='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M760-600v-80q0-17 11.5-28.5T800-720h80v-40H760v-40h120q17 0 28.5 11.5T920-760v40q0 17-11.5 28.5T880-680h-80v40h120v40H760ZM235-160l185-291-172-269h106l124 200h4l123-200h107L539-451l186 291H618L482-377h-4L342-160H235Z"/></svg>';var cp='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M760-160v-80q0-17 11.5-28.5T800-280h80v-40H760v-40h120q17 0 28.5 11.5T920-320v40q0 17-11.5 28.5T880-240h-80v40h120v40H760Zm-525-80 185-291-172-269h106l124 200h4l123-200h107L539-531l186 291H618L482-457h-4L342-240H235Z"/></svg>';var dp='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M320-240 80-480l240-240 57 57-184 184 183 183-56 56Zm320 0-57-57 184-184-183-183 56-56 240 240-240 240Z"/></svg>';var up='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="m528-546-93-93-121-121h486v120H568l-40 94ZM792-56 460-388l-80 188H249l119-280L56-792l56-56 736 736-56 56Z"/></svg>';function rn(o,e,t){return{label:o,icon:t,action(n){n.editor.dispatchCommand(Ne,e)},isActive(n){return Uu(n,e)}}}var fp=rn("Bold","bold",op),mp=rn("Italic","italic",np),pp=rn("Underline","underline",rp),gp={label:"Text color",icon:ip},hp={label:"Background color",icon:sp};function Np(o,e,t){o.editor.update(()=>{let n=T();n&&Pl(n,{[e]:t||null})})}var xp=(o,e)=>Np(e,"color",o),Ep=(o,e)=>Np(e,"color",o),Tp=rn("Strikethrough","strikethrough",lp),Cp=rn("Superscript","superscript",ap),_p=rn("Subscript","subscript",cp),bp=rn("Inline code","code",dp),yp={label:"Clear formatting",icon:up,action(o){o.editor.update(()=>{let e=T();for(let t of e?.getNodes()||[])y(t)&&(t.setFormat(0),t.setStyle(""))})},isActive(){return!1}};var Sp='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M120-120v-80h720v80H120Zm0-160v-80h480v80H120Zm0-160v-80h720v80H120Zm0-160v-80h480v80H120Zm0-160v-80h720v80H120Z"/></svg>';var Lp='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M120-120v-80h720v80H120Zm160-160v-80h400v80H280ZM120-440v-80h720v80H120Zm160-160v-80h400v80H280ZM120-760v-80h720v80H120Z"/></svg>';var Mp='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M120-760v-80h720v80H120Zm240 160v-80h480v80H360ZM120-440v-80h720v80H120Zm240 160v-80h480v80H360ZM120-120v-80h720v80H120Z"/></svg>';var wp='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M120-120v-80h720v80H120Zm0-160v-80h720v80H120Zm0-160v-80h720v80H120Zm0-160v-80h720v80H120Zm0-160v-80h720v80H120Z"/></svg>';var vp='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M440-800v400q0 17-11.5 28.5T400-360q-17 0-28.5-11.5T360-400v-160q-66 0-113-47t-47-113q0-66 47-113t113-47h280q17 0 28.5 11.5T680-840q0 17-11.5 28.5T640-800h-40v400q0 17-11.5 28.5T560-360q-17 0-28.5-11.5T520-400v-400h-80Zm-80 160v-160q-33 0-56.5 23.5T280-720q0 33 23.5 56.5T360-640Zm0-80Zm328 520H160q-17 0-28.5-11.5T120-240q0-17 11.5-28.5T160-280h528l-36-36q-11-11-11-28t11-28q11-11 28-11t28 11l104 104q12 12 12 28t-12 28L708-108q-11 11-28 11t-28-11q-11-11-11-28t11-28l36-36Z"/></svg>';var Dp='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M440-800v400q0 17-11.5 28.5T400-360q-17 0-28.5-11.5T360-400v-160q-66 0-113-47t-47-113q0-66 47-113t113-47h280q17 0 28.5 11.5T680-840q0 17-11.5 28.5T640-800h-40v400q0 17-11.5 28.5T560-360q-17 0-28.5-11.5T520-400v-400h-80ZM272-200l36 36q11 11 11 28t-11 28q-11 11-28 11t-28-11L148-212q-12-12-12-28t12-28l104-104q11-11 28-11t28 11q11 11 11 28t-11 28l-36 36h528q17 0 28.5 11.5T840-240q0 17-11.5 28.5T800-200H272Zm88-440v-160q-33 0-56.5 23.5T280-720q0 33 23.5 56.5T360-640Zm0-80Z"/></svg>';function fs(o,e){let t=le(o.editor),n=t?.getNodes()||[];if(n.length===1&&E(n[0])&&n[0].isInline()&&Ar(n[0])){n[0].setAlignment(e),ke(n[0]),o.manager.triggerFutureStateRefresh();return}let i=Rt(t).filter(a=>Ar(a)),l=i.every(a=>a.getAlignment()===e)?"":e;for(let a of i)a.setAlignment(l);o.manager.triggerFutureStateRefresh()}function Op(o,e){let t=le(o.editor),n=Rt(t);for(let r of n)r.setDirection(e);o.manager.triggerFutureStateRefresh()}var Ap={label:"Align left",icon:Sp,action(o){o.editor.update(()=>fs(o,"left"))},isActive(o){return Rr(o,"left")}},Rp={label:"Align center",icon:Lp,action(o){o.editor.update(()=>fs(o,"center"))},isActive(o){return Rr(o,"center")}},kp={label:"Align right",icon:Mp,action(o){o.editor.update(()=>fs(o,"right"))},isActive(o){return Rr(o,"right")}},Ip={label:"Justify",icon:wp,action(o){o.editor.update(()=>fs(o,"justify"))},isActive(o){return Rr(o,"justify")}},$p={label:"Left to right",icon:vp,action(o){o.editor.update(()=>Op(o,"ltr"))},isActive(o){return Yl(o,"ltr")}},Pp={label:"Right to left",icon:Dp,action(o){o.editor.update(()=>Op(o,"rtl"))},isActive(o){return Yl(o,"rtl")}};var Bp='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M360-200v-80h480v80H360Zm0-240v-80h480v80H360Zm0-240v-80h480v80H360ZM200-160q-33 0-56.5-23.5T120-240q0-33 23.5-56.5T200-320q33 0 56.5 23.5T280-240q0 33-23.5 56.5T200-160Zm0-240q-33 0-56.5-23.5T120-480q0-33 23.5-56.5T200-560q33 0 56.5 23.5T280-480q0 33-23.5 56.5T200-400Zm0-240q-33 0-56.5-23.5T120-720q0-33 23.5-56.5T200-800q33 0 56.5 23.5T280-720q0 33-23.5 56.5T200-640Z"/></svg>';var Fp='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M120-80v-60h100v-30h-60v-60h60v-30H120v-60h120q17 0 28.5 11.5T280-280v40q0 17-11.5 28.5T240-200q17 0 28.5 11.5T280-160v40q0 17-11.5 28.5T240-80H120Zm0-280v-110q0-17 11.5-28.5T160-510h60v-30H120v-60h120q17 0 28.5 11.5T280-560v70q0 17-11.5 28.5T240-450h-60v30h100v60H120Zm60-280v-180h-60v-60h120v240h-60Zm180 440v-80h480v80H360Zm0-240v-80h480v80H360Zm0-240v-80h480v80H360Z"/></svg>';var Hp='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M222-200 80-342l56-56 85 85 170-170 56 57-225 226Zm0-320L80-662l56-56 85 85 170-170 56 57-225 226Zm298 240v-80h360v80H520Zm0-320v-80h360v80H520Z"/></svg>';var Kp='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M120-120v-80h720v80H120Zm320-160v-80h400v80H440Zm0-160v-80h400v80H440Zm0-160v-80h400v80H440ZM120-760v-80h720v80H120Zm0 440v-320l160 160-160 160Z"/></svg>';var Up='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M120-120v-80h720v80H120Zm320-160v-80h400v80H440Zm0-160v-80h400v80H440Zm0-160v-80h400v80H440ZM120-760v-80h720v80H120Zm160 440L120-480l160-160v320Z"/></svg>';function TE(o){let e=o.getParent();if(!U(e))return o;let t=o.getChildren().filter(c=>U(c))[0]||null,n=t?.getChildren()||[],r=e.getChildren(),i=r.findIndex(c=>c.getKey()===o.getKey()),s=i===0,l=$e(),a=Ce(e.getListType());if(a.append(l),l.append(...o.getChildren()),s?o.append(a):(r[i-1].append(a),o.remove()),t){for(let c of n)l.insertAfter(c);t.remove()}return l}function CE(o){let e=o.getParent(),t=e?.getParent(),n=t?.getParent();if(!U(e)||!U(n)||!G(t))return o;let r=o.getNextSiblings();if(t.insertAfter(o),e.getChildren().length===0&&e.remove(),t.getChildren().length===0&&t.remove(),r.length>0){let i=Ce(e.getListType());i.append(...r),o.append(i)}return e.getChildrenSize()===0&&e.remove(),o}function _E(o){let e=o?.getNodes()||[],t=[];e:for(let n of e){if(G(n)){t.push(n);continue}let r=n.getParents();for(let i of r)if(G(i)){t.push(i);continue e}t.push(null)}return t}function bE(o){let e={};for(let t of o){if(t===null)continue;let n=t.getKey();typeof e[n]>"u"&&(e[n]=t)}return Object.values(e)}function Vr(o,e){let t=T(),n=t?.getStartEndPoints(),r=_E(t);if(r.length>0&&!r.includes(null)){let l=[],a=bE(r);if(e>0)for(let c of a)l.push(TE(c));else if(e<0){for(let c of[...a].reverse())l.push(CE(c));l.reverse()}if(l.length===1&&n){let c=l[0],m=c.getChildren()[0];m||(m=q(""),c.append(m)),m.select(n[0].offset,n[1].offset)}else qu(l);return}let s=Rt(t);for(let l of s)if(Bu(l)){let a=l.getInset(),c=Math.min(Math.max(a+e,0),500);l.setInset(c)}Yu(o)}function ka(o,e,t){return{label:o,icon:t,action(n){Yr(n.editor,e)},isActive(n){return ae(n,r=>U(r)&&r.getListType()===e)}}}var zp=ka("Bullet list","bullet",Bp),Wp=ka("Numbered list","number",Fp),qp=ka("Task list","check",Hp),Yp={label:"Increase indent",icon:Kp,action(o){o.editor.update(()=>{Vr(o.editor,40)})},isActive(){return!1}},Zp={label:"Decrease indent",icon:Up,action(o){o.editor.update(()=>{Vr(o.editor,-40)})},isActive(){return!1}};var Vp='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M680-160v-120H560v-80h120v-120h80v120h120v80H760v120h-80ZM440-280H280q-83 0-141.5-58.5T80-480q0-83 58.5-141.5T280-680h160v80H280q-50 0-85 35t-35 85q0 50 35 85t85 35h160v80ZM320-440v-80h320v80H320Zm560-40h-80q0-50-35-85t-85-35H520v-80h160q83 0 141.5 58.5T880-480Z"/></svg>';var Xp='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="m770-302-60-62q40-11 65-42.5t25-73.5q0-50-35-85t-85-35H520v-80h160q83 0 141.5 58.5T880-480q0 57-29.5 105T770-302ZM634-440l-80-80h86v80h-6ZM792-56 56-792l56-56 736 736-56 56ZM440-280H280q-83 0-141.5-58.5T80-480q0-69 42-123t108-71l74 74h-24q-50 0-85 35t-35 85q0 50 35 85t85 35h160v80ZM320-440v-80h65l79 80H320Z"/></svg>';var Gp='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h360v80H200v560h560v-360h80v360q0 33-23.5 56.5T760-120H200Zm480-480v-80h-80v-80h80v-80h80v80h80v80h-80v80h-80ZM240-280h480L570-480 450-320l-90-120-120 160Zm-40-480v560-560Z"/></svg>';var jp='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M160-440v-80h640v80H160Z"/></svg>';var Jp='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="m384-336 56-57-87-87 87-87-56-57-144 144 144 144Zm192 0 144-144-144-144-56 57 87 87-87 87 56 57ZM200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm0-80h560v-560H200v560Zm0-560v560-560Z"/></svg>';var Qp='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 17.25V21h3.75L17.81 9.94l-3.75-3.75zM20.71 7.04a.996.996 0 0 0 0-1.41l-2.34-2.34a.996.996 0 0 0-1.41 0l-1.83 1.83 3.75 3.75z"/><path fill="none" d="M0 0h24v24H0z"/></svg>';var eg='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M480-60q-63 0-106.5-43.5T330-210q0-52 31-91.5t79-53.5v-85H200v-160H100v-280h280v280H280v80h400v-85q-48-14-79-53.5T570-750q0-63 43.5-106.5T720-900q63 0 106.5 43.5T870-750q0 52-31 91.5T760-605v165H520v85q48 14 79 53.5t31 91.5q0 63-43.5 106.5T480-60Zm240-620q29 0 49.5-20.5T790-750q0-29-20.5-49.5T720-820q-29 0-49.5 20.5T650-750q0 29 20.5 49.5T720-680Zm-540 0h120v-120H180v120Zm300 540q29 0 49.5-20.5T550-210q0-29-20.5-49.5T480-280q-29 0-49.5 20.5T410-210q0 29 20.5 49.5T480-140ZM240-740Zm480-10ZM480-210Z"/></svg>';var tg='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm0-80h560v-480H200v480Zm80-280v-80h400v80H280Zm0 160v-80h240v80H280Z"/></svg>';var og=`<svg viewbox="0 0 24 24"><path d="M8.12 19.3c.39.39 1.02.39 1.41 0L12 16.83l2.47 2.47c.39.39 1.02.39 1.41 0 .39-.39.39-1.02 0-1.41l-3.17-3.17c-.39-.39-1.02-.39-1.41 0l-3.17 3.17c-.4.38-.4 1.02-.01 1.41zm7.76-14.6c-.39-.39-1.02-.39-1.41 0L12 7.17 9.53 4.7c-.39-.39-1.02-.39-1.41 0-.39.39-.39 1.03 0 1.42l3.17 3.17c.39.39 1.02.39 1.41 0l3.17-3.17c.4-.39.4-1.03.01-1.42z"/></svg> +`;var ng='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m21.41 11.41-8.83-8.83c-.37-.37-.88-.58-1.41-.58H4c-1.1 0-2 .9-2 2v7.17c0 .53.21 1.04.59 1.41l8.83 8.83c.78.78 2.05.78 2.83 0l7.17-7.17c.78-.78.78-2.04-.01-2.83M6.5 8C5.67 8 5 7.33 5 6.5S5.67 5 6.5 5 8 5.67 8 6.5 7.33 8 6.5 8"/></svg>';var rg='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="m380-300 280-180-280-180v360ZM200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm0-80h560v-560H200v560Zm0-560v560-560Z"/></svg>';var jn=class extends Error{constructor(e,t){super(e.statusText),this.data=t,this.headers=e.headers,this.redirected=e.redirected,this.status=e.status,this.statusText=e.statusText,this.url=e.url,this.original=e}};function ms(o){return new Promise((e,t)=>{o.oncomplete=o.onsuccess=()=>e(o.result),o.onabort=o.onerror=()=>t(o.error)})}function IE(o,e){let t=indexedDB.open(o);t.onupgradeneeded=()=>t.result.createObjectStore(e);let n=ms(t);return(r,i)=>n.then(s=>i(s.transaction(e,r).objectStore(e)))}var Ia;function $a(){return Ia||(Ia=IE("keyval-store","keyval")),Ia}function Pa(o,e=$a()){return e("readonly",t=>ms(t.get(o)))}function Ba(o,e,t=$a()){return t("readwrite",n=>(n.put(e,o),ms(n.transaction)))}function Fa(o,e=$a()){return e("readwrite",t=>(t.delete(o),ms(t.transaction)))}var Et=null,Ua,ps,Ha,Ka="last-drawing-save";function za(o){Et?.contentWindow?.postMessage(JSON.stringify(o),Ua)}function PE(o){Ba(Ka,o.data),Ha&&Ha(o.data).then(()=>{Fa(Ka)})}function BE(o){za({action:"export",format:"xmlpng",xml:o.xml,spin:"Updating drawing"})}function FE(){ps&&ps().then(o=>{za({action:"load",autosave:1,xml:o})})}function HE(){let o={};Et&&(window.$events.emitPublic(Et,"editor-drawio::configure",{config:o}),za({action:"configure",config:o}))}function ig(){window.removeEventListener("message",sg),Et&&document.body.removeChild(Et)}function sg(o){if(!o.data||o.data.length<1||o.origin!==Ua)return;let e=JSON.parse(o.data);e.event==="init"?FE():e.event==="exit"?ig():e.event==="save"?BE(e):e.event==="export"?PE(e):e.event==="configure"&&HE()}async function KE(){let o=await Pa(Ka),e=document.getElementById("unsaved-drawing-dialog");e||console.error("Missing expected unsaved-drawing dialog"),o&&e&&await window.$components.firstOnElement(e,"confirm-dialog").show()&&(ps=async()=>o)}async function lg(o,e,t){ps=e,Ha=t,await KE(),Et=document.createElement("iframe"),Et.setAttribute("frameborder","0"),window.addEventListener("message",sg),Et.setAttribute("src",o),Et.setAttribute("class","fullscreen"),Et.style.backgroundColor="#FFFFFF",document.body.appendChild(Et),Ua=new URL(o).origin}async function ag(o,e){let t={image:o,uploaded_to:e};return(await window.$http.post(window.baseUrl("/images/drawio"),t)).data}function Wa(){ig()}async function cg(o){try{return`data:image/png;base64,${(await window.$http.get(window.baseUrl(`/images/drawio/base64/${o}`))).data.content}`}catch(e){throw e instanceof jn&&window.$events.showResponseError(e),Wa(),e}}function Xr(o){return o instanceof yo}function zE(o,e){o.status===413?window.$events.emit("error",e.options.translations.serverUploadLimitText||""):window.$events.emit("error",e.options.translations.imageUploadErrorText||""),console.error(o)}async function WE(o,e){return await new Promise((n,r)=>{o.getEditorState().read(()=>{let{id:i}=e.getDrawingIdAndUrl();n(i)})})||""}async function qE(o,e,t,n){if(Wa(),n){let r=window.baseUrl("/loading.gif");o.editor.update(()=>{e.setDrawingIdAndUrl("",r)})}try{let r=await ag(t,o.options.pageId);o.editor.update(()=>{e.setDrawingIdAndUrl(String(r.id),r.url)})}catch(r){throw r instanceof jn&&zE(r,o),n&&o.editor.update(()=>{e.remove()}),new Error(`Failed to save image with error: ${r}`)}}function Gr(o,e){let t=!1;lg(o.options.drawioUrl,async()=>{let n=await WE(o.editor,e);return t=!n,t?"":cg(n)},async n=>qE(o,e,n,t))}function YE(o){window.$components.first("image-manager").show(t=>{o(t)},"drawio")}function dg(o){let e=le(o.editor);YE(t=>{o.editor.update(()=>{let n=zn(t.id,t.url),r=V(e,Xr);Xr(r)?r.replace(n):Oe([n])})})}function gs(o){window.$components.first("image-manager").show(t=>{o(t)},"gallery")}function ug(o){let e=o.thumbs?.display||o.url,t=gt(e,{target:"_blank"}),n=Fn(e,{alt:o.name});return t.append(n),t}async function fg(o,e){if(o===null||o.type.indexOf("image")!==0)throw new Error("Not an image file");let t=o.name||`image-${Date.now()}.png`,n=new FormData;return n.append("file",o,t),n.append("uploaded_to",e),(await window.$http.post("/images/gallery",n)).data}var jr=class extends te{constructor(e,t){super([e,t]),this.input=e,this.action=t}buildDOM(){return b("div",{class:"editor-action-input-container"},[this.input.getDOMElement(),this.action.getDOMElement()])}};var mg='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h200v80H200v560h560v-214l80 80v134q0 33-23.5 56.5T760-120H200Zm40-160 120-160 90 120 120-160 150 200H240Zm622-144L738-548q-21 14-45 21t-51 7q-74 0-126-52.5T464-700q0-75 52.5-127.5T644-880q75 0 127.5 52.5T824-700q0 27-8 52t-20 46l122 122-56 56ZM644-600q42 0 71-29t29-71q0-42-29-71t-71-29q-42 0-71 29t-29 71q0 42 29 71t71 29Z"/></svg>';var pg='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15.5 14h-.79l-.28-.27A6.47 6.47 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14"/><path fill="none" d="M0 0h24v24H0z"/></svg>';function hs(o,e){window.$components.first("entity-selector-popup").show(n=>o(n),{initialValue:e,searchEndpoint:"/search/entity-selector",entityTypes:"page,book,chapter,bookshelf",entityPermission:"view"})}var Ns=class extends te{constructor(t){super([t]);this.headerMap=new Map;this.input=t}buildDOM(){let t="editor-form-datalist-"+this.input.getName()+"-"+Date.now(),n=this.input.getDOMElement(),r=n.querySelector("input");r?.setAttribute("list",t),r?.setAttribute("autocomplete","off");let i=b("datalist",{id:t}),s=b("div",{class:"editor-link-field-container"},[n,i]);return r?.addEventListener("focusin",()=>{this.updateDataList(i)}),r?.addEventListener("input",()=>{let l=r.value,a=this.headerMap.get(l);a&&this.updateFormFromHeader(a)}),s}updateFormFromHeader(t){this.getHeaderIdAndText(t).then(({id:n,text:r})=>{let i=this.getContext().manager.getActiveModal("link");i&&i.getForm().setValues({url:`#${n}`,text:r,title:r})})}getHeaderIdAndText(t){return new Promise(n=>{this.getContext().editor.update(()=>{let r=t.getId();r||(r="header-"+os(),t.setId(r));let i=t.getTextContent();n({id:r,text:i})})})}updateDataList(t){this.getContext().editor.getEditorState().read(()=>{let n=Wl(Zn);this.headerMap.clear();let r=[];for(let i of n){let s="header-"+i.getKey();this.headerMap.set(s,i),r.push(b("option",{value:s,label:i.getTextContent().substring(0,54)}))}t.innerHTML="",t.append(...r)})}};function gg(o,e){let t=e.manager.createModal("image"),n=o.getHeight(),r=o.getWidth(),i={src:o.getSrc(),alt:o.getAltText(),height:n===0?"":String(n),width:r===0?"":String(r)};t.show(i)}var hg={submitText:"Apply",async action(o,e){return e.editor.update(()=>{let t=le(e.editor),n=V(t,ht);ht(n)&&(n.setSrc(o.get("src")?.toString()||""),n.setAltText(o.get("alt")?.toString()||""),n.setWidth(Number(o.get("width")?.toString()||"0")),n.setHeight(Number(o.get("height")?.toString()||"0")))}),!0},fields:[{build(){return new jr(new It({label:"Source",name:"src",type:"text"}),new w({label:"Browse files",icon:mg,action(o){gs(e=>{let t=o.manager.getActiveModal("image");t&&t.getForm().setValues({src:e.thumbs?.display||e.url,alt:e.name})})}}))}},{label:"Alternative description",name:"alt",type:"text"},{label:"Width",name:"width",type:"text"},{label:"Height",name:"height",type:"text"}]};function xs(o,e){let t=e.manager.createModal("link");if(o){let n={url:o.getURL(),text:o.getTextContent(),title:o.getTitle()||"",target:o.getTarget()||""};e.editor.update(()=>{let r=Ho();r.add(o.getKey()),Y(r)}),t.show(n)}else e.editor.getEditorState().read(()=>{let i={text:T()?.getTextContent()||""};t.show(i)})}var Ng={submitText:"Apply",async action(o,e){return cs(e.editor,{url:o.get("url")?.toString()||"",title:o.get("title")?.toString()||"",target:o.get("target")?.toString()||"",text:o.get("text")?.toString()||""}),!0},fields:[{build(){return new jr(new Ns(new It({label:"URL",name:"url",type:"text"})),new w({label:"Browse links",icon:pg,action(o){hs(e=>{let t=o.manager.getActiveModal("link");t&&t.getForm().setValues({url:e.link,text:e.name,title:e.name})})}}))}},{label:"Text to display",name:"text",type:"text"},{label:"Title",name:"title",type:"text"},{label:"Open link in...",name:"target",type:"select",valuesByLabel:{"Current window":"","New window":"_blank"}}]};function xg(o,e){let t=e.manager.createModal("media"),n={};if(o){let r=o.getAttributes();n={src:r.src||r.data||"",width:r.width,height:r.height,embed:""}}t.show(n)}var Eg={submitText:"Save",async action(o,e){let t=await new Promise((r,i)=>{e.editor.getEditorState().read(()=>{let s=V(T(),to);r(s)})}),n=(o.get("embed")||"").toString().trim();return n?(e.editor.update(()=>{let r=Lf(n);t&&r?t.replace(r):r&&Oe([r])}),!0):(e.editor.update(()=>{let r=(o.get("src")||"").toString().trim(),i=(o.get("height")||"").toString().trim(),s=(o.get("width")||"").toString().trim();if(t){t.setSrc(r),t.setWidthAndHeight(s,i);return}let l=Mf(r);(s||i)&&l.setWidthAndHeight(s,i),Oe([l])}),!0)},fields:[{build(){return new on([{label:"General",contents:[{label:"Source",name:"src",type:"text"},{label:"Width",name:"width",type:"text"},{label:"Height",name:"height",type:"text"}]},{label:"Embed",contents:[{label:"Paste your embed code below:",name:"embed",type:"textarea"}]}])}}]};function Tg(o,e){let t=e.manager.createModal("details");o&&t.show({summary:o.getSummary()})}var Cg={submitText:"Save",async action(o,e){return e.editor.update(()=>{let t=V(T(),Ie),n=(o.get("summary")||"").toString().trim();Ie(t)&&t.setSummary(n)}),!0},fields:[{label:"Toggle label",name:"summary",type:"text"}]};var qa={label:"Insert/edit link",icon:Vp,action(o){o.editor.getEditorState().read(()=>{let e=V(T(),Ot);xs(e,o)})},isActive(o){return ae(o,Ot)}},_g={label:"Remove link",icon:Xp,action(o){o.editor.update(()=>{let e=le(o.editor),t=V(e,Ot);if(t){let n=t.getChildren().reverse();for(let r of n)t.insertAfter(r);t.remove(),n[n.length-1].selectStart(),o.manager.triggerFutureStateRefresh()}})},isActive(o){return!1}},Ya={label:"Insert/Edit Image",icon:Gp,action(o){o.editor.getEditorState().read(()=>{let e=le(o.editor),t=V(e,ht);if(t){gg(t,o);return}gs(n=>{o.editor.update(()=>{let r=ug(n);Oe([r])})})})},isActive(o){return ae(o,ht)}},bg={label:"Insert horizontal line",icon:jp,action(o){o.editor.update(()=>{Yo(ma(),!1)})},isActive(o){return ae(o,_f)}},Za={label:"Insert code block",icon:Jp,action(o){Zr(o.editor)},isActive(o){return ae(o,Xi)}},yg=Object.assign({},Za,{label:"Edit code block",icon:Qp}),Sg={label:"Insert/edit drawing",icon:eg,action(o){o.editor.getEditorState().read(()=>{let e=le(o.editor),t=V(e,Xr);t===null?o.editor.update(()=>{let n=zn();Yo(n,!0),Gr(o,n),n.selectStart()}):Gr(o,t)})},isActive(o){return ae(o,Xr)}},Lg={label:"Drawing manager",action(o){dg(o)},isActive(){return!1}},Mg={label:"Insert/edit media",icon:rg,action(o){o.editor.getEditorState().read(()=>{let e=T(),t=V(e,to);xg(t,o)})},isActive(o){return ae(o,to)}},wg={label:"Insert collapsible block",icon:tg,action(o){o.editor.update(()=>{let e=T(),t=Zl(),r=(e?.getNodes()||[]).map(s=>s.getTopLevelElement()).filter(s=>s!==null),i=[...new Set(r)];i.length>0?i[0].insertAfter(t):F().append(t);for(let s of i)t.append(s)})},isActive(o){return ae(o,Ie)}},vg={label:"Edit label",icon:ng,action(o){o.editor.getEditorState().read(()=>{let e=V(T(),Ie);Ie(e)&&Tg(e,o)})},isActive(o){return!1}},Dg={label:"Toggle open/closed",icon:og,action(o){o.editor.update(()=>{let e=V(T(),Ie);Ie(e)&&(e.setOpen(!e.getOpen()),o.manager.triggerLayoutUpdate())})},isActive(o){return!1}},Og={label:"Unwrap",icon:rs,action(o){o.editor.update(()=>{let e=V(T(),Ie);if(Ie(e)){let t=e.getChildren();for(let n of t)e.insertBefore(n);e.remove(),o.manager.triggerLayoutUpdate()}})},isActive(o){return!1}};var Ag=`<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m2 6.9159 10 10.168 10-10.168z" stroke-width="2.0168"/></svg> +`;var Es=class extends te{constructor(e,t){super([e]),this.button=e,this.dropdownButton=new Ee({button:{label:"Menu",icon:Ag},showOnHover:!1,direction:"vertical",showAside:!1},t),this.addChildren(this.dropdownButton)}buildDOM(){return b("div",{class:"editor-button-with-menu-container"},[this.button.getDOMElement(),this.dropdownButton.getDOMElement()])}};var sn=class extends Me{buildDOM(){return b("div",{class:"editor-separator"})}};function Rg(o){let e=o.manager.getDefaultDirection()==="rtl";return new Ji("editor-toolbar-main",[new nt(2,[new w(Hm),new w(Km)]),new es([new Ye(b("h2"),Gm),new Ye(b("h3"),jm),new Ye(b("h4"),Jm),new Ye(b("h5"),Qm),new Ye(b("blockquote"),ep),new Ye(b("p"),tp),new Ee({button:{label:"Callouts",format:"long"},showOnHover:!0,direction:"vertical"},[new Ye(b("p",{class:"callout info"}),Ym),new Ye(b("p",{class:"callout success"}),Xm),new Ye(b("p",{class:"callout warning"}),Vm),new Ye(b("p",{class:"callout danger"}),Zm)])]),new nt(6,[new w(fp),new w(mp),new w(pp),new Ee({button:new Kr(gp,"color")},[new tn(xp)]),new Ee({button:new Kr(hp,"background-color")},[new tn(Ep)]),new w(Tp),new w(Cp),new w(_p),new w(bp),new w(yp)]),new nt(6,[new w(Ap),new w(Rp),new w(kp),new w(Ip),e?new w($p):null,e?new w(Pp):null].filter(t=>t!==null)),new nt(3,[new w(zp),new w(Wp),new w(qp),new w(Zp),new w(Yp)]),new nt(4,[new w(qa),new Ee({button:gm,direction:"vertical",showAside:!1},[new Ee({button:{label:"Insert",format:"long"},showOnHover:!0,showAside:!0},[new ns]),new sn,new Ee({button:{label:"Cell",format:"long"},direction:"vertical",showOnHover:!0},[new w(wm),new w(vm),new w(Dm)]),new Ee({button:{label:"Row",format:"long"},direction:"vertical",showOnHover:!0},[new w({...wa,format:"long"}),new w({...va,format:"long"}),new w({...Da,format:"long"}),new w(Em),new sn,new w(Tm),new w(Cm),new w(_m),new w(bm)]),new Ee({button:{label:"Column",format:"long"},direction:"vertical",showOnHover:!0},[new w({...Oa,format:"long"}),new w({...Aa,format:"long"}),new w({...Ra,format:"long"}),new sn,new w(ym),new w(Sm),new w(Lm),new w(Mm)]),new sn,new w({...La,format:"long"}),new w(hm),new w(Nm),new w(xm)]),new w(Ya),new w(bg),new w(Za),new Es(new w(Sg),[new w(Lg)]),new w(Mg),new w(wg)]),new nt(3,[new w(Um),new w(Wm),new w(zm)])])}function kg(){return[new w(Ya)]}function Ig(){return[new w(qa),new w(_g)]}function $g(){return[new w(yg)]}function Pg(){return[new nt(2,[new w(La),new w(Ma)]),new nt(3,[new w(wa),new w(va),new w(Da)]),new nt(3,[new w(Oa),new w(Aa),new w(Ra)])]}function Bg(){return[new w(vg),new w(Dg),new w(Og)]}var Fg='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>';var Ts=class extends te{constructor(e,t){super([new is(e.form)]),this.definition=e,this.key=t}show(e){let t=this.getDOMElement();document.body.append(t);let n=this.getForm();n.setValues(e),n.setOnCancel(this.hide.bind(this)),n.setOnSuccessfulSubmit(this.hide.bind(this)),this.getContext().manager.setModalActive(this.key,this)}hide(){this.getDOMElement().remove(),this.getContext().manager.setModalInactive(this.key)}getForm(){return this.children[0]}buildDOM(){let e=b("button",{class:"editor-modal-close",type:"button",title:this.trans("Close")});e.innerHTML=Fg,e.addEventListener("click",this.hide.bind(this));let t=b("div",{class:"editor-modal editor-form-modal"},[b("div",{class:"editor-modal-header"},[b("div",{class:"editor-modal-title"},[this.trans(this.definition.title)]),e]),b("div",{class:"editor-modal-body"},[this.getForm().getDOMElement()])]),n=b("div",{class:"editor-modal-wrapper"},[t]);return n.addEventListener("click",r=>{r.target&&!t.contains(r.target)&&this.hide()}),n}};var Cs=class extends te{constructor(e,t){super(t),this.target=e}buildDOM(){return b("div",{class:"editor-context-toolbar"},this.getChildren().map(e=>e.getDOMElement()))}updatePosition(){let e=this.getContext().scrollDOM.getBoundingClientRect(),t=this.target.getBoundingClientRect(),n=this.getDOMElement(),r=n.getBoundingClientRect(),i=t.bottom>e.top&&t.top<e.bottom;if(n.hidden=!i,!i)return;let s=t.bottom+6+r.height>e.bottom;n.classList.toggle("is-above",s);let a=t.left+t.width/2-r.width/2;s?n.style.top=t.top-6-r.height+"px":n.style.top=t.bottom+6+"px",n.style.left=a+"px"}insert(e){this.addChildren(...e),this.getDOMElement().append(...e.map(n=>n.getDOMElement()))}empty(){let e=this.getChildren();for(let t of e)t.getDOMElement().remove();this.removeChildren(...e)}destroy(){this.empty(),this.getDOMElement().remove()}};var _s=class{constructor(){this.modalDefinitionsByKey={};this.activeModalsByKey={};this.decoratorConstructorsByType={};this.decoratorInstancesByNodeKey={};this.context=null;this.toolbar=null;this.contextToolbarDefinitionsByKey={};this.activeContextToolbars=[];this.selectionChangeHandlers=new Set}setContext(e){this.context=e,this.setupEventListeners(e),this.setupEditor(e.editor)}getContext(){if(this.context===null)throw new Error("Context attempted to be used without being set");return this.context}triggerStateUpdateForElement(e){e.updateState({selection:null,editor:this.getContext().editor})}registerModal(e,t){this.modalDefinitionsByKey[e]=t}createModal(e){let t=this.modalDefinitionsByKey[e];if(!t)throw new Error(`Attempted to show modal of key [${e}] but no modal registered for that key`);let n=new Ts(t,e);return n.setContext(this.getContext()),n}setModalActive(e,t){this.activeModalsByKey[e]=t}setModalInactive(e){delete this.activeModalsByKey[e]}getActiveModal(e){return this.activeModalsByKey[e]}registerDecoratorType(e,t){this.decoratorConstructorsByType[e]=t}getDecorator(e,t){if(this.decoratorInstancesByNodeKey[t])return this.decoratorInstancesByNodeKey[t];let n=this.decoratorConstructorsByType[e];if(!n)throw new Error(`Attempted to use decorator of type [${e}] but not decorator registered for that type`);let r=new n(t);return this.decoratorInstancesByNodeKey[t]=r,r}getDecoratorByNodeKey(e){return this.decoratorInstancesByNodeKey[e]||null}setToolbar(e){this.toolbar&&this.toolbar.getDOMElement().remove(),this.toolbar=e,e.setContext(this.getContext()),this.getContext().containerDOM.prepend(e.getDOMElement())}registerContextToolbar(e,t){this.contextToolbarDefinitionsByKey[e]=t}triggerStateUpdate(e){Hu(e.editor,e.selection),this.toolbar?.updateState(e),this.updateContextToolbars(e);for(let t of this.activeContextToolbars)t.updateState(e);this.triggerSelectionChange(e.selection)}triggerStateRefresh(){let e=this.getContext().editor,t={editor:e,selection:le(e)};this.triggerStateUpdate(t),this.updateContextToolbars(t)}triggerFutureStateRefresh(){requestAnimationFrame(()=>{this.getContext().editor.getEditorState().read(()=>{this.triggerStateRefresh()})})}triggerSelectionChange(e){if(e)for(let t of this.selectionChangeHandlers)t(e)}onSelectionChange(e){this.selectionChangeHandlers.add(e)}offSelectionChange(e){this.selectionChangeHandlers.delete(e)}triggerLayoutUpdate(){window.requestAnimationFrame(()=>{for(let e of this.activeContextToolbars)e.updatePosition()})}getDefaultDirection(){return this.getContext().options.textDirection==="rtl"?"rtl":"ltr"}updateContextToolbars(e){for(let s=this.activeContextToolbars.length-1;s>=0;s--)this.activeContextToolbars[s].destroy(),this.activeContextToolbars.splice(s,1);let t=(e.selection?.getNodes()||[])[0]||null;if(!t)return;let n=e.editor.getElementByKey(t.getKey());if(!n)return;let r=Object.keys(this.contextToolbarDefinitionsByKey),i=new Map;for(let s of r){let l=this.contextToolbarDefinitionsByKey[s],a=n.closest(l.selector)||n.querySelector(l.selector);if(a){let c=l.displayTargetLocator?l.displayTargetLocator(a):a;i.has(c)||i.set(c,[]),i.get(c).push(...l.content)}}for(let[s,l]of i){let a=new Cs(s,l);a.setContext(this.getContext()),this.activeContextToolbars.push(a),this.getContext().containerDOM.append(a.getDOMElement()),a.updatePosition()}}setupEditor(e){let t=n=>{e.getEditorState().read(()=>{let r=Object.keys(n);for(let i of r){let s=e.getElementByKey(i);if(!s)continue;let l=n[i],a=this.getDecorator(l.type,i);a.setNode(l.getNode());let c=a.render(this.getContext(),s);c&&s.append(c)}})};e.registerDecoratorListener(t),e.registerUpdateListener(({editorState:n,prevEditorState:r})=>{!r._selection?.is(n._selection)&&e.update(()=>{let s=T();this.triggerStateUpdate({editor:e,selection:s})})})}setupEventListeners(e){let t=this.triggerLayoutUpdate.bind(this);window.addEventListener("scroll",t,{capture:!0,passive:!0}),window.addEventListener("resize",t,{passive:!0})}};var Jn=class{constructor(e){this.node=null;this.onDestroyCallbacks=[];this.context=e}getNode(){if(!this.node)throw new Error("Attempted to get use node without it being set");return this.node}setNode(e){this.node=e}onDestroy(e){this.onDestroyCallbacks.push(e)}destroy(e){for(let t of this.onDestroyCallbacks)t()}};var bs=class extends Jn{constructor(){super(...arguments);this.completedSetup=!1;this.latestCode="";this.latestLanguage="";this.editor=null}setup(t,n){let r=this.getNode(),i=n.querySelector("pre");if(!i)return;i&&(i.hidden=!0),this.latestCode=r.__code,this.latestLanguage=r.__language;let l=this.latestCode.split(` +`).length*19.2+18+24;n.style.height=`${l}px`;let a=Date.now();n.addEventListener("click",f=>{requestAnimationFrame(()=>{t.editor.update(()=>{ke(this.getNode())})})}),n.addEventListener("dblclick",f=>{t.editor.getEditorState().read(()=>{Hr(t.editor,this.getNode())})});let c=f=>{n.classList.toggle("selected",Fi(f,r))};t.manager.onSelectionChange(c),this.onDestroy(()=>{t.manager.offSelectionChange(c)});let m=f=>{this.editor=f.wysiwygView(n,document,this.latestCode,this.latestLanguage),setTimeout(()=>{n.style.height=""},12)};window.importVersioned("code").then(f=>{let d=Date.now()-a<20?20:0;setTimeout(()=>m(f),d)}),this.completedSetup=!0}update(){let t=this.getNode(),n=t.getCode(),r=t.getLanguage();this.latestCode===n&&this.latestLanguage===r||(this.latestLanguage=r,this.latestCode=n,this.editor&&(this.editor.setContent(n),this.editor.setMode(r,n)))}render(t,n){this.completedSetup?this.update():this.setup(t,n)}};var ys=class extends Jn{constructor(){super(...arguments);this.completedSetup=!1}setup(t,n){let r=this.getNode();n.classList.add("editor-diagram"),n.addEventListener("click",s=>{t.editor.update(()=>{ke(this.getNode())})}),n.addEventListener("dblclick",s=>{t.editor.getEditorState().read(()=>{Gr(t,this.getNode())})});let i=s=>{n.classList.toggle("selected",Fi(s,r))};t.manager.onSelectionChange(i),this.onDestroy(()=>{t.manager.offSelectionChange(i)}),this.completedSetup=!0}update(){}render(t,n){this.completedSetup?this.update():this.setup(t,n)}};var Ss=class extends Me{constructor(t){super();this.url="";this.url=t}buildDOM(){let t=b("div",{class:"editor-external-content"});return window.$http.get(this.url).then(n=>{typeof n.data=="string"&&(t.innerHTML=n.data)}),t}};var Hg={submitText:"Save",async action(o,e){return Gn(e.editor,o.get("source")?.toString()||""),!0},fields:[{label:"Source",name:"source",type:"textarea"}]},Kg={submitText:"Close",async action(){return!0},fields:[{build(){return new Ss("/help/wysiwyg")}}]};var Va={link:{title:"Insert/Edit Link",form:Ng},image:{title:"Insert/Edit Image",form:hg},media:{title:"Insert/Edit Media",form:Eg},source:{title:"Source code",form:Hg},cell_properties:{title:"Cell Properties",form:Zf},row_properties:{title:"Row Properties",form:Xf},table_properties:{title:"Table Properties",form:jf},details:{title:"Edit collapsible block",form:Cg},about:{title:"About the WYSIWYG Editor",form:Kg}};function Ug(o,e,t,n,r){let i=new _s,s={editor:n,containerDOM:o,editorDOM:e,scrollDOM:t,manager:i,translate(l){return r.translations[l]||l},error(l){let a=l instanceof Error?l.message:l;window.$events.error(a)},options:r};i.setContext(s),i.setToolbar(Rg(s));for(let l of Object.keys(Va))i.registerModal(l,Va[l]);return i.registerContextToolbar("image",{selector:"img:not([drawio-diagram] img)",content:kg()}),i.registerContextToolbar("link",{selector:"a",content:Ig(),displayTargetLocator(l){return l.querySelector("img")||l}}),i.registerContextToolbar("code",{selector:".editor-code-block-wrap",content:$g()}),i.registerContextToolbar("table",{selector:"td,th",content:Pg(),displayTargetLocator(l){return l.closest("table")}}),i.registerContextToolbar("details",{selector:"details",content:Bg()}),i.registerDecoratorType("code",bs),i.registerDecoratorType("diagram",ys),s}var Qn=class{constructor(e,t,n){this.startX=0;this.startY=0;this.target=null;this.container=e,this.dragTargetSelector=t,this.options=n,this.onMouseDown=this.onMouseDown.bind(this),this.onMouseMove=this.onMouseMove.bind(this),this.onMouseUp=this.onMouseUp.bind(this),this.container.addEventListener("mousedown",this.onMouseDown)}teardown(){this.container.removeEventListener("mousedown",this.onMouseDown),this.container.removeEventListener("mouseup",this.onMouseUp),this.container.removeEventListener("mousemove",this.onMouseMove)}onMouseDown(e){this.target=e.target.closest(this.dragTargetSelector),this.target&&(this.startX=e.screenX,this.startY=e.screenY,window.addEventListener("mousemove",this.onMouseMove),window.addEventListener("mouseup",this.onMouseUp),this.options.down&&this.options.down(e,this.target))}onMouseMove(e){this.options.move&&this.target&&this.options.move(e,this.target,{x:e.screenX-this.startX,y:e.screenY-this.startY})}onMouseUp(e){window.removeEventListener("mousemove",this.onMouseMove),window.removeEventListener("mouseup",this.onMouseUp),this.options.up&&this.target&&this.options.up(e,this.target,{x:e.screenX-this.startX,y:e.screenY-this.startY})}};var Xa=class{constructor(e,t){this.markerDom=null;this.mouseTracker=null;this.dragging=!1;this.targetCell=null;this.xMarkerAtStart=!1;this.yMarkerAtStart=!1;this.editor=e,this.editScrollContainer=t,this.setupListeners()}teardown(){this.editScrollContainer.removeEventListener("mousemove",this.onCellMouseMove),window.removeEventListener("scroll",this.onScrollOrResize,{capture:!0}),window.removeEventListener("resize",this.onScrollOrResize),this.mouseTracker&&this.mouseTracker.teardown()}setupListeners(){this.onCellMouseMove=this.onCellMouseMove.bind(this),this.onScrollOrResize=this.onScrollOrResize.bind(this),this.editScrollContainer.addEventListener("mousemove",this.onCellMouseMove),window.addEventListener("scroll",this.onScrollOrResize,{capture:!0,passive:!0}),window.addEventListener("resize",this.onScrollOrResize,{passive:!0})}onScrollOrResize(){this.updateCurrentMarkerTargetPosition()}onCellMouseMove(e){let t=e.target.closest("td,th");if(!t||this.dragging)return;let n=t.getBoundingClientRect(),r=n.left+n.width/2,i=n.top+n.height/2;this.targetCell=t,this.xMarkerAtStart=e.clientX<=r,this.yMarkerAtStart=e.clientY<=i;let s=this.xMarkerAtStart?n.left:n.right,l=this.yMarkerAtStart?n.top:n.bottom;this.updateMarkersTo(t,s,l)}updateMarkersTo(e,t,n){let r=this.getMarkers(),s=e.closest("table").getBoundingClientRect(),l=this.editScrollContainer.getBoundingClientRect(),a=Math.max(s.top,l.top),m=Math.min(s.bottom,l.bottom)-a;r.x.style.left=t+"px",r.x.style.top=a+"px",r.x.style.height=m+"px",r.y.style.top=n+"px",r.y.style.left=s.left+"px",r.y.style.width=s.width+"px",r.y.hidden=n<l.top||n>l.bottom,r.x.hidden=s.top>l.bottom||s.bottom<l.top}updateCurrentMarkerTargetPosition(){if(!this.targetCell)return;let e=this.targetCell.getBoundingClientRect(),t=this.xMarkerAtStart?e.left:e.right,n=this.yMarkerAtStart?e.top:e.bottom;this.updateMarkersTo(this.targetCell,t,n)}getMarkers(){if(!this.markerDom){this.markerDom={x:b("div",{class:"editor-table-marker editor-table-marker-column"}),y:b("div",{class:"editor-table-marker editor-table-marker-row"})};let e=b("div",{class:"editor-table-marker-wrap"},[this.markerDom.x,this.markerDom.y]);this.editScrollContainer.after(e),this.watchMarkerMouseDrags(e)}return this.markerDom}watchMarkerMouseDrags(e){let t=this,n=0,r="left";this.mouseTracker=new Qn(e,".editor-table-marker",{down(i,s){s.classList.add("active"),t.dragging=!0,r=s.classList.contains("editor-table-marker-column")?"left":"top",n=Number(s.style[r].replace("px",""))},move(i,s,l){s.style[r]=n+l[r==="left"?"x":"y"]+"px"},up(i,s,l){s.classList.remove("active"),s.style.left="0",s.style.top="0",t.dragging=!1;let a=t.targetCell?.closest("table");if(r==="left"&&t.targetCell&&a){let c=t.getTargetCellColumnIndex(),m=l.x;t.xMarkerAtStart&&c>0?c-=1:t.xMarkerAtStart&&c===0&&(m=-m),t.editor.update(()=>{let f=ee(a);if(f instanceof xt){let d=pf(t.editor,f,c),u=Math.max(d+m,10);ua(f,c,u)}})}if(r==="top"&&t.targetCell){let c=t.targetCell;t.editor.update(()=>{let f=ee(c)?.getParent(),d=f?.getIndexWithinParent()||0,u=l.y;t.yMarkerAtStart&&d>0?d-=1:t.yMarkerAtStart&&d===0&&(u=-u);let p=f?.getParent()?.getChildren()[d];if(p instanceof Qt){let g=p.getHeight()||0,h=Math.max(g+u,10);p.setHeight(h)}})}}})}getTargetCellColumnIndex(){let e=this.targetCell;if(e===null)return-1;let t=0,n=e.parentElement;for(let r of n?.children||[]){let i=Number(r.getAttribute("colspan"));if((Number.isNaN(i)||i<1)&&(i=1),t+=i,r===e)return t-1}return-1}};function zg(o,e){let t=new Xa(o,e);return()=>{t.teardown()}}function Ls(o){return o.html||""}function Wg(o){window.$events.listen("editor::replace",t=>{let n=Ls(t);Gn(o,n)}),window.$events.listen("editor::append",t=>{let n=Ls(t);$m(o,n)}),window.$events.listen("editor::prepend",t=>{let n=Ls(t);Pm(o,n)}),window.$events.listen("editor::insert",t=>{let n=Ls(t);Bm(o,n)}),window.$events.listen("editor::focus",()=>{Fm(o)});let e=!0;o.registerUpdateListener(({dirtyElements:t,dirtyLeaves:n,editorState:r,prevEditorState:i})=>{(t.size>0||n.size>0)&&(e?e=!1:window.$events.emit("editor-html-change",""))})}var Ms=class{constructor(e){this.data=e}hasItems(){return!!this.data&&!!this.data.types&&this.data.types.length>0}containsTabularData(){let e=this.data.getData("text/rtf");return!!e&&e.includes("\\trowd")}getImages(){return this.getFiles().filter(e=>e.type.includes("image"))}getFiles(){let{files:e}=this.data;return[...e]}};function jE(o,e){let t=o.clientX,n=o.clientY;return document.elementFromPoint(t,n)?Pu(e,o.clientX,o.clientY):null}function qg(o,e,t){let n=jE(e,t);n&&ke(n),ql(o,!0),(!B(n)||!n?.getTextContent())&&n?.remove()}async function JE(o,e,t){let i=((await window.$http.get(`/templates/${e}`)).data||{html:""}).html||"";o.update(()=>{let s=_o(o,i);qg(s,t,o)})}function Yg(o,e){let t=new Ms(o),n=!1;if(!t.hasItems()||t.containsTabularData())return n;let r=t.getImages();return r.length>0&&(n=!0),e.editor.update(async()=>{for(let i of r){let s=window.baseUrl("/loading.gif"),l=Fn(s),a=I();a.append(l),Oe([a]);try{let c=await fg(i,e.options.pageId),m=c.name.replace(/"/g,"");e.editor.update(()=>{let f=Fn(c.thumbs?.display||"",{alt:m}),d=gt(c.url,{target:"_blank"});d.append(f),l.replace(d)})}catch(c){e.editor.update(()=>{l.remove(!1)}),window.$events.error(c?.data?.message||e.options.translations.imageUploadErrorText),console.error(c)}}}),n}function QE(o){let e=o.editor;return t=>{let n=t.dataTransfer?.getData("bookstack/template")||"";if(n)return JE(e,n,t),t.preventDefault(),t.stopPropagation(),!0;let r=t.dataTransfer?.getData("text/html")||"";return r?(e.update(()=>{let i=_o(e,r);qg(i,t,e)}),t.preventDefault(),t.stopPropagation(),!0):t.dataTransfer&&Yg(t.dataTransfer,o)?(t.preventDefault(),t.stopPropagation(),!0):!1}}function eT(o){return e=>{if(!e.clipboardData)return!1;let t=Yg(e.clipboardData,o);return t&&e.preventDefault(),t}}function Zg(o){let e=QE(o),t=eT(o),n=o.editor.registerCommand(Oo,e,qe),r=o.editor.registerCommand(no,t,qe);return o.scrollDOM.addEventListener("drop",e),()=>{n(),r(),o.scrollDOM.removeEventListener("drop",e)}}var Ga=class{constructor(e,t){this.editor=e,this.editorContainer=t,this.setupListeners()}setupListeners(){this.handleClick=this.handleClick.bind(this),this.editorContainer.addEventListener("click",this.handleClick)}handleClick(e){let t=e.target;t instanceof HTMLElement&&t.nodeName==="LI"&&t.classList.contains("task-list-item")&&(this.handleTaskListItemClick(t,e),e.preventDefault())}handleTaskListItemClick(e,t){let n=e.getBoundingClientRect();t.clientX<=n.right&&t.clientX>=n.left&&t.clientY>=n.top&&t.clientY<=n.bottom||this.editor.update(()=>{let i=ee(e);G(i)&&i.setChecked(!i.getChecked())})}teardown(){this.editorContainer.removeEventListener("click",this.handleClick)}};function Vg(o,e){let t=new Ga(o,e);return()=>{t.teardown()}}var ja=class{constructor(e){this.tableSelections=new Map;this.unregisterMutationListener=()=>{};this.editor=e,this.init()}init(){this.unregisterMutationListener=this.editor.registerMutationListener(xt,e=>{for(let[t,n]of e)if(n==="created")this.editor.getEditorState().read(()=>{let r=J(t);K(r)&&this.initializeTableNode(r)});else if(n==="destroyed"){let r=this.tableSelections.get(t);r!==void 0&&(r.removeListeners(),this.tableSelections.delete(t))}})}initializeTableNode(e){let t=e.getKey(),n=this.editor.getElementByKey(t);if(n&&!this.tableSelections.has(t)){let r=aa(e,n,this.editor,!1);this.tableSelections.set(t,r)}}teardown(){this.unregisterMutationListener();for(let[,e]of this.tableSelections)e.removeListeners()}};function Xg(o){let e=new ja(o);return()=>{e.teardown()}}function ws(o,e){return as(o,e),!0}function oo(o){return e=>(o(e),!0)}function Gg(o){return o.dispatchCommand(Ne,"code"),!0}var jg={"meta+s":()=>(window.$events.emit("editor-save-draft"),!0),"meta+enter":()=>(window.$events.emit("editor-save-page"),!0),"meta+1":o=>ws(o,"h1"),"meta+2":o=>ws(o,"h2"),"meta+3":o=>ws(o,"h3"),"meta+4":o=>ws(o,"h4"),"meta+5":oo(Wr),"meta+d":oo(Wr),"meta+6":oo(qr),"meta+q":oo(qr),"meta+7":oo(Zr),"meta+e":oo(Zr),"meta+8":Gg,"meta+shift+e":Gg,"meta+9":oo(qm),"meta+o":oo(o=>Yr(o,"number")),"meta+p":oo(o=>Yr(o,"bullet")),"meta+k":(o,e)=>(o.getEditorState().read(()=>{let t=V(T(),Ot);xs(t,e)}),!0),"meta+shift+k":(o,e)=>(hs(t=>{cs(o,{text:t.name,title:t.link,target:"",url:t.link})}),!0)};function tT(o){return e=>{let t=oT(e);jg[t]&&jg[t](o.editor,o)&&(e.stopPropagation(),e.preventDefault())}}function oT(o){return[(Jg()?o.metaKey:o.ctrlKey)?"meta":"",o.shiftKey?"shift":"",o.key].filter(Boolean).join("+").toLowerCase()}function Jg(){return window.navigator.userAgent.includes("Mac OS X")}function nT(o){o.registerCommand(Fe,e=>Jg()?e?.metaKey||!1:e?.ctrlKey||!1,qe)}function Qg(o){let e=tT(o);return nT(o.editor),o.editor.registerRootListener((t,n)=>{t?.addEventListener("keydown",e),n?.removeEventListener("keydown",e)})}function rT(o){return ht(o)||to(o)}var Ja=class{constructor(e){this.dom=null;this.mouseTracker=null;this.activeSelection="";this.context=e,this.scrollContainer=e.scrollDOM,this.onSelectionChange=this.onSelectionChange.bind(this),e.manager.onSelectionChange(this.onSelectionChange)}onSelectionChange(e){let t=e?.getNodes()||[];if(this.activeSelection&&this.hide(),t.length===1&&rT(t[0])){let n=t[0],r=n.getKey(),i=this.context.editor.getElementByKey(r);i&&i.nodeName==="SPAN"&&(i=i.firstElementChild),i&&this.showForNode(n,i)}}teardown(){this.context.manager.offSelectionChange(this.onSelectionChange),this.hide()}showForNode(e,t){this.dom=this.buildDOM();let n=b("span",{class:"editor-node-resizer-ghost"});ht(e)&&(n=b("img",{src:t.getAttribute("src"),class:"editor-node-resizer-ghost"})),this.dom.append(n),this.context.scrollDOM.append(this.dom),this.updateDOMPosition(t),this.mouseTracker=this.setupTracker(this.dom,e,t),this.activeSelection=e.getKey()}updateDOMPosition(e){if(!this.dom)return;let t=this.scrollContainer.getBoundingClientRect(),n=e.getBoundingClientRect(),r=n.top-(t.top-this.scrollContainer.scrollTop),i=n.left-t.left;this.dom.style.top=`${r}px`,this.dom.style.left=`${i}px`,this.dom.style.width=n.width+"px",this.dom.style.height=n.height+"px"}updateDOMSize(e,t){this.dom&&(this.dom.style.width=e+"px",this.dom.style.height=t+"px")}hide(){this.mouseTracker?.teardown(),this.dom?.remove(),this.activeSelection=""}buildDOM(){let t=["nw","ne","se","sw"].map(n=>b("div",{class:`editor-node-resizer-handle ${n}`}));return b("div",{class:"editor-node-resizer"},t)}setupTracker(e,t,n){let r=0,i=0,s=0,l=!1,a=this,c=!1,m=!1,f=d=>{let u=d.x;c&&(u=0-u);let p=d.y;m&&(p=0-p);let g=Math.sqrt(Math.pow(Math.abs(u),2)+Math.pow(Math.abs(p),2)),C=u+p>0?g:0-g,N=Math.max(5,Math.round(r+C)),L=Math.round(N*s);return{width:N,height:L}};return new Qn(e,".editor-node-resizer-handle",{down(d,u){a.dom?.classList.add("active"),a.context.editor.getEditorState().read(()=>{let p=n.getBoundingClientRect();r=t.getWidth()||p.width,i=t.getHeight()||p.height,t.getHeight()&&(l=!0),s=i/r}),c=u.classList.contains("nw")||u.classList.contains("sw"),m=u.classList.contains("nw")||u.classList.contains("ne")},move(d,u,p){let g=f(p);a.updateDOMSize(g.width,g.height)},up(d,u,p){let g=f(p);a.context.editor.update(()=>{t.setWidth(g.width),t.setHeight(l?g.height:0),a.context.manager.triggerLayoutUpdate(),requestAnimationFrame(()=>{a.updateDOMPosition(n)})}),a.dom?.classList.remove("active")}})}};function eh(o){let e=new Ja(o);return()=>{e.teardown()}}function oh(o){if(o.length===1){let e=o[0];if(B(e)||ht(e)||to(e))return!0}return!1}function th(o){let e=le(o)?.getNodes()||[];oh(e)&&o.update(()=>{e[0].remove()})}function iT(o,e){let t=le(o)?.getNodes()||[];if(oh(t)){let n=t[0],r=Pn(n)||n;if(r)return requestAnimationFrame(()=>{o.update(()=>{let i=I();r.insertAfter(i),i.select()})}),e?.preventDefault(),!0}return!1}function sT(o,e){let t=nh(o);return t===null||t.detailsSibling?!1:(o.update(()=>{let n=I();t.parentDetails.insertAfter(n),n.select()}),e?.preventDefault(),!0)}function lT(o,e){let t=nh(o);if(t===null||t.parentBlock.getTextContent()!=="")return!1;e?.preventDefault();let n=t.parentDetails.getNextSibling();return o.update(()=>{if(n)n.selectStart();else{let r=I();t.parentDetails.insertAfter(r),r.select()}t.parentBlock.remove()}),!0}function nh(o){let t=le(o)?.getNodes()[0];if(!t)return null;let n=Pn(t),r=At(t,Ie);if(!Ie(r)||n===null||n.getKey()!==r.getLastChild()?.getKey())return null;let i=r.getNextSibling();return{parentDetails:r,parentBlock:n,detailsSibling:i}}function aT(o){if(o.length!==1)return!1;let e=o[0];return G(e)||G(e.getParent())}function cT(o,e){let t=e?.shiftKey?-40:40,r=T()?.getNodes()||[];return r.length>1||aT(r)?(o.update(()=>{Vr(o,t)}),e?.preventDefault(),!0):!1}function rh(o){let e=o.editor.registerCommand(Ft,()=>(th(o.editor),!1),Dt),t=o.editor.registerCommand(Ht,()=>(th(o.editor),!1),Dt),n=o.editor.registerCommand(Fe,s=>iT(o.editor,s)||lT(o.editor,s),Dt),r=o.editor.registerCommand(Do,s=>cT(o.editor,s),Dt),i=o.editor.registerCommand(Bt,s=>sT(o.editor,s),Dt);return()=>{e(),t(),n(),r(),i()}}function dT(o){return o.toLowerCase().startsWith("http")?/(http|https):\/\/(\S+)\.\S+$/.test(o):!1}function uT(o,e,t){let n=e.getStartEndPoints();if(!n)return;let r=n[0].offset,i=o.getTextContent(),a=i.slice(0,r).lastIndexOf(" ")+1,c=i.slice(a,r);dT(c)&&t.update(()=>{let m=gt(c);m.append(new Je(c));let f=o.splitText(a,r),d=a>0?1:0,u=f[d];u&&u.replace(m)})}function ih(o){let e=r=>{let i=T(),s=Ku(i);return s&&i&&uT(s,i,o),!1},t=o.registerCommand(or,e,Li),n=o.registerCommand(Fe,e,Li);return()=>{t(),n()}}function MP(o,e,t={}){let n={namespace:"BookStackPageEditor",nodes:vf(),onError:console.error,theme:{text:{bold:"editor-theme-bold",code:"editor-theme-code",italic:"editor-theme-italic",strikethrough:"editor-theme-strikethrough",subscript:"editor-theme-subscript",superscript:"editor-theme-superscript",underline:"editor-theme-underline",underlineStrikethrough:"editor-theme-underline-strikethrough"}}},r=b("div",{contenteditable:"true",class:"editor-content-area page-content"}),i=b("div",{class:"editor-content-wrap"},[r]);o.append(i),o.classList.add("editor-container"),o.setAttribute("dir",t.textDirection),t.darkMode&&o.classList.add("editor-dark");let s=kl(n);s.setRootElement(r);let l=Ug(o,r,i,s,t);Gt($u(s),Cu(s,_u(),300),Qg(l),rh(l),zg(s,i),Xg(s),Vg(s,r),Zg(l),eh(l),ih(s)),Wg(s),Gn(s,e);let a=document.getElementById("lexical-debug");return a&&(a.hidden=!0,s.registerUpdateListener(({dirtyElements:c,dirtyLeaves:m,editorState:f,prevEditorState:d})=>{a.textContent=JSON.stringify(f.toJSON(),null,2)})),window.debugEditorState=()=>{console.log(s.getEditorState().toJSON())},Df(l),new Qa(s)}var Qa=class{constructor(e){this.editor=e}async getContentAsHtml(){return await ls(this.editor)}};export{Qa as SimpleWysiwygEditorInterface,MP as createPageEditorInstance}; //# sourceMappingURL=wysiwyg.js.map