@limetech/lime-elements 37.67.0 → 37.68.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +9 -0
- package/dist/cjs/lime-elements.cjs.js +1 -1
- package/dist/cjs/limel-action-bar_4.cjs.entry.js +1 -1
- package/dist/cjs/limel-callout.cjs.entry.js +1 -1
- package/dist/cjs/limel-chart.cjs.entry.js +216 -0
- package/dist/cjs/limel-chart.cjs.entry.js.map +1 -0
- package/dist/cjs/limel-chip_2.cjs.entry.js +1 -1
- package/dist/cjs/limel-file-viewer.cjs.entry.js +1 -1
- package/dist/cjs/limel-file.cjs.entry.js +1 -1
- package/dist/cjs/limel-flatpickr-adapter.cjs.entry.js +1 -1
- package/dist/cjs/limel-icon.cjs.entry.js +208 -0
- package/dist/cjs/limel-icon.cjs.entry.js.map +1 -0
- package/dist/cjs/limel-linear-progress.cjs.entry.js +1 -1
- package/dist/cjs/{limel-icon_2.cjs.entry.js → limel-portal.cjs.entry.js} +1 -201
- package/dist/cjs/limel-portal.cjs.entry.js.map +1 -0
- package/dist/cjs/limel-prosemirror-adapter.cjs.entry.js +1 -1
- package/dist/cjs/limel-snackbar.cjs.entry.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{translations-6c4447f4.js → translations-9ccca4b6.js} +9 -1
- package/dist/cjs/translations-9ccca4b6.js.map +1 -0
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/chart/chart.css +758 -0
- package/dist/collection/components/chart/chart.js +418 -0
- package/dist/collection/components/chart/chart.js.map +1 -0
- package/dist/collection/components/chart/chart.types.js +2 -0
- package/dist/collection/components/chart/chart.types.js.map +1 -0
- package/dist/collection/style/mixins.scss +16 -0
- package/dist/collection/translations/da.js +1 -0
- package/dist/collection/translations/da.js.map +1 -1
- package/dist/collection/translations/de.js +1 -0
- package/dist/collection/translations/de.js.map +1 -1
- package/dist/collection/translations/en.js +1 -0
- package/dist/collection/translations/en.js.map +1 -1
- package/dist/collection/translations/fi.js +1 -0
- package/dist/collection/translations/fi.js.map +1 -1
- package/dist/collection/translations/fr.js +1 -0
- package/dist/collection/translations/fr.js.map +1 -1
- package/dist/collection/translations/nl.js +1 -0
- package/dist/collection/translations/nl.js.map +1 -1
- package/dist/collection/translations/no.js +1 -0
- package/dist/collection/translations/no.js.map +1 -1
- package/dist/collection/translations/sv.js +1 -0
- package/dist/collection/translations/sv.js.map +1 -1
- package/dist/esm/lime-elements.js +1 -1
- package/dist/esm/limel-action-bar_4.entry.js +1 -1
- package/dist/esm/limel-callout.entry.js +1 -1
- package/dist/esm/limel-chart.entry.js +212 -0
- package/dist/esm/limel-chart.entry.js.map +1 -0
- package/dist/esm/limel-chip_2.entry.js +1 -1
- package/dist/esm/limel-file-viewer.entry.js +1 -1
- package/dist/esm/limel-file.entry.js +1 -1
- package/dist/esm/limel-flatpickr-adapter.entry.js +1 -1
- package/dist/esm/limel-icon.entry.js +204 -0
- package/dist/esm/limel-icon.entry.js.map +1 -0
- package/dist/esm/limel-linear-progress.entry.js +1 -1
- package/dist/esm/{limel-icon_2.entry.js → limel-portal.entry.js} +2 -201
- package/dist/esm/limel-portal.entry.js.map +1 -0
- package/dist/esm/limel-prosemirror-adapter.entry.js +1 -1
- package/dist/esm/limel-snackbar.entry.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{translations-26583a3b.js → translations-453e0db7.js} +9 -1
- package/dist/esm/translations-453e0db7.js.map +1 -0
- package/dist/lime-elements/lime-elements.esm.js +1 -1
- package/dist/lime-elements/lime-elements.esm.js.map +1 -1
- package/dist/lime-elements/{p-5d12d8d2.entry.js → p-0ee1d461.entry.js} +2 -2
- package/dist/lime-elements/{p-195df464.entry.js → p-1e99b371.entry.js} +2 -2
- package/dist/lime-elements/{p-4fd0ac1e.entry.js → p-2cbfe8f9.entry.js} +2 -2
- package/dist/lime-elements/{p-adfa2c05.entry.js → p-3fcb2b67.entry.js} +2 -2
- package/dist/lime-elements/{p-1a0aaf41.entry.js → p-488decb0.entry.js} +2 -2
- package/dist/lime-elements/{p-61047574.entry.js → p-589ba37a.entry.js} +2 -2
- package/dist/lime-elements/p-5d08ef7d.entry.js +2 -0
- package/dist/lime-elements/p-5d08ef7d.entry.js.map +1 -0
- package/dist/lime-elements/p-8915fa60.js +2 -0
- package/dist/lime-elements/p-8915fa60.js.map +1 -0
- package/dist/lime-elements/{p-fbaa1b19.entry.js → p-9d2f6454.entry.js} +2 -2
- package/dist/lime-elements/{p-03eea223.entry.js → p-a451cece.entry.js} +2 -2
- package/dist/lime-elements/p-d696f6b8.entry.js +2 -0
- package/dist/lime-elements/p-d696f6b8.entry.js.map +1 -0
- package/dist/lime-elements/p-d93f1964.entry.js +2 -0
- package/dist/lime-elements/p-d93f1964.entry.js.map +1 -0
- package/dist/lime-elements/{p-0f484317.entry.js → p-dd031410.entry.js} +2 -2
- package/dist/lime-elements/style/mixins.scss +16 -0
- package/dist/scss/mixins.scss +16 -0
- package/dist/types/components/chart/chart.d.ts +94 -0
- package/dist/types/components/chart/chart.types.d.ts +25 -0
- package/dist/types/components.d.ts +203 -0
- package/dist/types/translations/da.d.ts +1 -0
- package/dist/types/translations/de.d.ts +1 -0
- package/dist/types/translations/en.d.ts +1 -0
- package/dist/types/translations/fi.d.ts +1 -0
- package/dist/types/translations/fr.d.ts +1 -0
- package/dist/types/translations/nl.d.ts +1 -0
- package/dist/types/translations/no.d.ts +1 -0
- package/dist/types/translations/sv.d.ts +1 -0
- package/package.json +1 -1
- package/dist/cjs/limel-icon_2.cjs.entry.js.map +0 -1
- package/dist/cjs/translations-6c4447f4.js.map +0 -1
- package/dist/esm/limel-icon_2.entry.js.map +0 -1
- package/dist/esm/translations-26583a3b.js.map +0 -1
- package/dist/lime-elements/p-e78fcffb.entry.js +0 -2
- package/dist/lime-elements/p-e78fcffb.entry.js.map +0 -1
- package/dist/lime-elements/p-fe15bcbb.js +0 -2
- package/dist/lime-elements/p-fe15bcbb.js.map +0 -1
- /package/dist/lime-elements/{p-5d12d8d2.entry.js.map → p-0ee1d461.entry.js.map} +0 -0
- /package/dist/lime-elements/{p-195df464.entry.js.map → p-1e99b371.entry.js.map} +0 -0
- /package/dist/lime-elements/{p-4fd0ac1e.entry.js.map → p-2cbfe8f9.entry.js.map} +0 -0
- /package/dist/lime-elements/{p-adfa2c05.entry.js.map → p-3fcb2b67.entry.js.map} +0 -0
- /package/dist/lime-elements/{p-1a0aaf41.entry.js.map → p-488decb0.entry.js.map} +0 -0
- /package/dist/lime-elements/{p-61047574.entry.js.map → p-589ba37a.entry.js.map} +0 -0
- /package/dist/lime-elements/{p-fbaa1b19.entry.js.map → p-9d2f6454.entry.js.map} +0 -0
- /package/dist/lime-elements/{p-03eea223.entry.js.map → p-a451cece.entry.js.map} +0 -0
- /package/dist/lime-elements/{p-0f484317.entry.js.map → p-dd031410.entry.js.map} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as t,c as e,h as r,g as i}from"./p-443111b3.js";import{k as n,q as s,U as l,f as o,g as u,t as f,u as h,i as a,j as c,v as d}from"./p-1b9d3851.js";import{b as p,a as m}from"./p-b28128d2.js";import{k as w,b as g,g as b,a as k}from"./p-22704cbc.js";import{i as D,r as v,S as y}from"./p-c93050d6.js";import{i as F}from"./p-0b1af919.js";import{i as E}from"./p-858c6b82.js";import{d as M,m as x}from"./p-086509a5.js";import{t as A}from"./p-fe15bcbb.js";import{c as C}from"./p-3ccdc4a3.js";import{i as S}from"./p-91741e79.js";import{i as O}from"./p-d0bdb2e3.js";import{d as $}from"./p-18c97232.js";import"./p-eda23c05.js";import"./p-4c3358cb.js";import"./p-9acf7b5d.js";import"./p-5fdb83c9.js";import"./p-eab67c09.js";import"./p-365098fe.js";import"./p-d529bb7d.js";var _=Object.create;var B=function(){function t(){}return function(e){if(!D(e)){return{}}if(_){return _(e)}t.prototype=e;var r=new t;t.prototype=undefined;return r}}();function R(t,e){var r=-1,i=t.length;e||(e=Array(i));while(++r<i){e[r]=t[r]}return e}function j(t,e){var r=-1,i=t==null?0:t.length;while(++r<i){if(e(t[r],r,t)===false){break}}return t}function N(t,e,r,i){var n=!r;r||(r={});var s=-1,l=e.length;while(++s<l){var o=e[s];var u=i?i(r[o],t[o],o,r,t):undefined;if(u===undefined){u=t[o]}if(n){p(r,o,u)}else{m(r,o,u)}}return r}function q(t,e){return t&&N(e,n(e),t)}function z(t,e){return t&&N(e,w(e),t)}var T=typeof exports=="object"&&exports&&!exports.nodeType&&exports;var I=T&&typeof module=="object"&&module&&!module.nodeType&&module;var P=I&&I.exports===T;var J=P?v.Buffer:undefined,L=J?J.allocUnsafe:undefined;function W(t,e){if(e){return t.slice()}var r=t.length,i=L?L(r):new t.constructor(r);t.copy(i);return i}function U(t,e){return N(t,s(t),e)}function H(t,e){return N(t,g(t),e)}var Z=Object.prototype;var K=Z.hasOwnProperty;function V(t){var e=t.length,r=new t.constructor(e);if(e&&typeof t[0]=="string"&&K.call(t,"index")){r.index=t.index;r.input=t.input}return r}function G(t){var e=new t.constructor(t.byteLength);new l(e).set(new l(t));return e}function X(t,e){var r=e?G(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}var Y=/\w*$/;function Q(t){var e=new t.constructor(t.source,Y.exec(t));e.lastIndex=t.lastIndex;return e}var tt=y?y.prototype:undefined,et=tt?tt.valueOf:undefined;function rt(t){return et?Object(et.call(t)):{}}function it(t,e){var r=e?G(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}var nt="[object Boolean]",st="[object Date]",lt="[object Map]",ot="[object Number]",ut="[object RegExp]",ft="[object Set]",ht="[object String]",at="[object Symbol]";var ct="[object ArrayBuffer]",dt="[object DataView]",pt="[object Float32Array]",mt="[object Float64Array]",wt="[object Int8Array]",gt="[object Int16Array]",bt="[object Int32Array]",kt="[object Uint8Array]",Dt="[object Uint8ClampedArray]",vt="[object Uint16Array]",yt="[object Uint32Array]";function Ft(t,e,r){var i=t.constructor;switch(e){case ct:return G(t);case nt:case st:return new i(+t);case dt:return X(t,r);case pt:case mt:case wt:case gt:case bt:case kt:case Dt:case vt:case yt:return it(t,r);case lt:return new i;case ot:case ht:return new i(t);case ut:return Q(t);case ft:return new i;case at:return rt(t)}}function Et(t){return typeof t.constructor=="function"&&!o(t)?B(b(t)):{}}var Mt="[object Map]";function xt(t){return E(t)&&u(t)==Mt}var At=h&&h.isMap;var Ct=At?f(At):xt;var St="[object Set]";function Ot(t){return E(t)&&u(t)==St}var $t=h&&h.isSet;var _t=$t?f($t):Ot;var Bt=1,Rt=2,jt=4;var Nt="[object Arguments]",qt="[object Array]",zt="[object Boolean]",Tt="[object Date]",It="[object Error]",Pt="[object Function]",Jt="[object GeneratorFunction]",Lt="[object Map]",Wt="[object Number]",Ut="[object Object]",Ht="[object RegExp]",Zt="[object Set]",Kt="[object String]",Vt="[object Symbol]",Gt="[object WeakMap]";var Xt="[object ArrayBuffer]",Yt="[object DataView]",Qt="[object Float32Array]",te="[object Float64Array]",ee="[object Int8Array]",re="[object Int16Array]",ie="[object Int32Array]",ne="[object Uint8Array]",se="[object Uint8ClampedArray]",le="[object Uint16Array]",oe="[object Uint32Array]";var ue={};ue[Nt]=ue[qt]=ue[Xt]=ue[Yt]=ue[zt]=ue[Tt]=ue[Qt]=ue[te]=ue[ee]=ue[re]=ue[ie]=ue[Lt]=ue[Wt]=ue[Ut]=ue[Ht]=ue[Zt]=ue[Kt]=ue[Vt]=ue[ne]=ue[se]=ue[le]=ue[oe]=true;ue[It]=ue[Pt]=ue[Gt]=false;function fe(t,e,r,i,s,l){var o,f=e&Bt,h=e&Rt,p=e&jt;if(r){o=s?r(t,i,s,l):r(t)}if(o!==undefined){return o}if(!D(t)){return t}var g=F(t);if(g){o=V(t);if(!f){return R(t,o)}}else{var b=u(t),v=b==Pt||b==Jt;if(a(t)){return W(t,f)}if(b==Ut||b==Nt||v&&!s){o=h||v?{}:Et(t);if(!f){return h?H(t,z(o,t)):U(t,q(o,t))}}else{if(!ue[b]){return s?t:{}}o=Ft(t,b,f)}}l||(l=new c);var y=l.get(t);if(y){return y}l.set(t,o);if(_t(t)){t.forEach((function(i){o.add(fe(i,e,r,i,t,l))}))}else if(Ct(t)){t.forEach((function(i,n){o.set(n,fe(i,e,r,n,t,l))}))}var E=p?h?k:d:h?w:n;var M=g?undefined:E(t);j(M||t,(function(i,n){if(M){n=i;i=t[n]}m(o,n,fe(i,e,r,n,t,l))}));return o}var he=1,ae=4;function ce(t){return fe(t,he|ae)}function de(t){this.content=t}de.prototype={constructor:de,find:function(t){for(var e=0;e<this.content.length;e+=2)if(this.content[e]===t)return e;return-1},get:function(t){var e=this.find(t);return e==-1?undefined:this.content[e+1]},update:function(t,e,r){var i=r&&r!=t?this.remove(r):this;var n=i.find(t),s=i.content.slice();if(n==-1){s.push(r||t,e)}else{s[n+1]=e;if(r)s[n]=r}return new de(s)},remove:function(t){var e=this.find(t);if(e==-1)return this;var r=this.content.slice();r.splice(e,2);return new de(r)},addToStart:function(t,e){return new de([t,e].concat(this.remove(t).content))},addToEnd:function(t,e){var r=this.remove(t).content.slice();r.push(t,e);return new de(r)},addBefore:function(t,e,r){var i=this.remove(e),n=i.content.slice();var s=i.find(t);n.splice(s==-1?n.length:s,0,e,r);return new de(n)},forEach:function(t){for(var e=0;e<this.content.length;e+=2)t(this.content[e],this.content[e+1])},prepend:function(t){t=de.from(t);if(!t.size)return this;return new de(t.content.concat(this.subtract(t).content))},append:function(t){t=de.from(t);if(!t.size)return this;return new de(this.subtract(t).content.concat(t.content))},subtract:function(t){var e=this;t=de.from(t);for(var r=0;r<t.content.length;r+=2)e=e.remove(t.content[r]);return e},toObject:function(){var t={};this.forEach((function(e,r){t[e]=r}));return t},get size(){return this.content.length>>1}};de.from=function(t){if(t instanceof de)return t;var e=[];if(t)for(var r in t)e.push(r,t[r]);return new de(e)};function pe(t,e,r){for(let i=0;;i++){if(i==t.childCount||i==e.childCount)return t.childCount==e.childCount?null:r;let n=t.child(i),s=e.child(i);if(n==s){r+=n.nodeSize;continue}if(!n.sameMarkup(s))return r;if(n.isText&&n.text!=s.text){for(let t=0;n.text[t]==s.text[t];t++)r++;return r}if(n.content.size||s.content.size){let t=pe(n.content,s.content,r+1);if(t!=null)return t}r+=n.nodeSize}}function me(t,e,r,i){for(let n=t.childCount,s=e.childCount;;){if(n==0||s==0)return n==s?null:{a:r,b:i};let l=t.child(--n),o=e.child(--s),u=l.nodeSize;if(l==o){r-=u;i-=u;continue}if(!l.sameMarkup(o))return{a:r,b:i};if(l.isText&&l.text!=o.text){let t=0,e=Math.min(l.text.length,o.text.length);while(t<e&&l.text[l.text.length-t-1]==o.text[o.text.length-t-1]){t++;r--;i--}return{a:r,b:i}}if(l.content.size||o.content.size){let t=me(l.content,o.content,r-1,i-1);if(t)return t}r-=u;i-=u}}class we{constructor(t,e){this.content=t;this.size=e||0;if(e==null)for(let e=0;e<t.length;e++)this.size+=t[e].nodeSize}nodesBetween(t,e,r,i=0,n){for(let s=0,l=0;l<e;s++){let o=this.content[s],u=l+o.nodeSize;if(u>t&&r(o,i+l,n||null,s)!==false&&o.content.size){let n=l+1;o.nodesBetween(Math.max(0,t-n),Math.min(o.content.size,e-n),r,i+n)}l=u}}descendants(t){this.nodesBetween(0,this.size,t)}textBetween(t,e,r,i){let n="",s=true;this.nodesBetween(t,e,((l,o)=>{let u=l.isText?l.text.slice(Math.max(t,o)-o,e-o):!l.isLeaf?"":i?typeof i==="function"?i(l):i:l.type.spec.leafText?l.type.spec.leafText(l):"";if(l.isBlock&&(l.isLeaf&&u||l.isTextblock)&&r){if(s)s=false;else n+=r}n+=u}),0);return n}append(t){if(!t.size)return this;if(!this.size)return t;let e=this.lastChild,r=t.firstChild,i=this.content.slice(),n=0;if(e.isText&&e.sameMarkup(r)){i[i.length-1]=e.withText(e.text+r.text);n=1}for(;n<t.content.length;n++)i.push(t.content[n]);return new we(i,this.size+t.size)}cut(t,e=this.size){if(t==0&&e==this.size)return this;let r=[],i=0;if(e>t)for(let n=0,s=0;s<e;n++){let l=this.content[n],o=s+l.nodeSize;if(o>t){if(s<t||o>e){if(l.isText)l=l.cut(Math.max(0,t-s),Math.min(l.text.length,e-s));else l=l.cut(Math.max(0,t-s-1),Math.min(l.content.size,e-s-1))}r.push(l);i+=l.nodeSize}s=o}return new we(r,i)}cutByIndex(t,e){if(t==e)return we.empty;if(t==0&&e==this.content.length)return this;return new we(this.content.slice(t,e))}replaceChild(t,e){let r=this.content[t];if(r==e)return this;let i=this.content.slice();let n=this.size+e.nodeSize-r.nodeSize;i[t]=e;return new we(i,n)}addToStart(t){return new we([t].concat(this.content),this.size+t.nodeSize)}addToEnd(t){return new we(this.content.concat(t),this.size+t.nodeSize)}eq(t){if(this.content.length!=t.content.length)return false;for(let e=0;e<this.content.length;e++)if(!this.content[e].eq(t.content[e]))return false;return true}get firstChild(){return this.content.length?this.content[0]:null}get lastChild(){return this.content.length?this.content[this.content.length-1]:null}get childCount(){return this.content.length}child(t){let e=this.content[t];if(!e)throw new RangeError("Index "+t+" out of range for "+this);return e}maybeChild(t){return this.content[t]||null}forEach(t){for(let e=0,r=0;e<this.content.length;e++){let i=this.content[e];t(i,r,e);r+=i.nodeSize}}findDiffStart(t,e=0){return pe(this,t,e)}findDiffEnd(t,e=this.size,r=t.size){return me(this,t,e,r)}findIndex(t,e=-1){if(t==0)return be(0,t);if(t==this.size)return be(this.content.length,t);if(t>this.size||t<0)throw new RangeError(`Position ${t} outside of fragment (${this})`);for(let r=0,i=0;;r++){let n=this.child(r),s=i+n.nodeSize;if(s>=t){if(s==t||e>0)return be(r+1,s);return be(r,i)}i=s}}toString(){return"<"+this.toStringInner()+">"}toStringInner(){return this.content.join(", ")}toJSON(){return this.content.length?this.content.map((t=>t.toJSON())):null}static fromJSON(t,e){if(!e)return we.empty;if(!Array.isArray(e))throw new RangeError("Invalid input for Fragment.fromJSON");return new we(e.map(t.nodeFromJSON))}static fromArray(t){if(!t.length)return we.empty;let e,r=0;for(let i=0;i<t.length;i++){let n=t[i];r+=n.nodeSize;if(i&&n.isText&&t[i-1].sameMarkup(n)){if(!e)e=t.slice(0,i);e[e.length-1]=n.withText(e[e.length-1].text+n.text)}else if(e){e.push(n)}}return new we(e||t,r)}static from(t){if(!t)return we.empty;if(t instanceof we)return t;if(Array.isArray(t))return this.fromArray(t);if(t.attrs)return new we([t],t.nodeSize);throw new RangeError("Can not convert "+t+" to a Fragment"+(t.nodesBetween?" (looks like multiple versions of prosemirror-model were loaded)":""))}}we.empty=new we([],0);const ge={index:0,offset:0};function be(t,e){ge.index=t;ge.offset=e;return ge}function ke(t,e){if(t===e)return true;if(!(t&&typeof t=="object")||!(e&&typeof e=="object"))return false;let r=Array.isArray(t);if(Array.isArray(e)!=r)return false;if(r){if(t.length!=e.length)return false;for(let r=0;r<t.length;r++)if(!ke(t[r],e[r]))return false}else{for(let r in t)if(!(r in e)||!ke(t[r],e[r]))return false;for(let r in e)if(!(r in t))return false}return true}class De{constructor(t,e){this.type=t;this.attrs=e}addToSet(t){let e,r=false;for(let i=0;i<t.length;i++){let n=t[i];if(this.eq(n))return t;if(this.type.excludes(n.type)){if(!e)e=t.slice(0,i)}else if(n.type.excludes(this.type)){return t}else{if(!r&&n.type.rank>this.type.rank){if(!e)e=t.slice(0,i);e.push(this);r=true}if(e)e.push(n)}}if(!e)e=t.slice();if(!r)e.push(this);return e}removeFromSet(t){for(let e=0;e<t.length;e++)if(this.eq(t[e]))return t.slice(0,e).concat(t.slice(e+1));return t}isInSet(t){for(let e=0;e<t.length;e++)if(this.eq(t[e]))return true;return false}eq(t){return this==t||this.type==t.type&&ke(this.attrs,t.attrs)}toJSON(){let t={type:this.type.name};for(let e in this.attrs){t.attrs=this.attrs;break}return t}static fromJSON(t,e){if(!e)throw new RangeError("Invalid input for Mark.fromJSON");let r=t.marks[e.type];if(!r)throw new RangeError(`There is no mark type ${e.type} in this schema`);let i=r.create(e.attrs);r.checkAttrs(i.attrs);return i}static sameSet(t,e){if(t==e)return true;if(t.length!=e.length)return false;for(let r=0;r<t.length;r++)if(!t[r].eq(e[r]))return false;return true}static setFrom(t){if(!t||Array.isArray(t)&&t.length==0)return De.none;if(t instanceof De)return[t];let e=t.slice();e.sort(((t,e)=>t.type.rank-e.type.rank));return e}}De.none=[];class ve extends Error{}class ye{constructor(t,e,r){this.content=t;this.openStart=e;this.openEnd=r}get size(){return this.content.size-this.openStart-this.openEnd}insertAt(t,e){let r=Ee(this.content,t+this.openStart,e);return r&&new ye(r,this.openStart,this.openEnd)}removeBetween(t,e){return new ye(Fe(this.content,t+this.openStart,e+this.openStart),this.openStart,this.openEnd)}eq(t){return this.content.eq(t.content)&&this.openStart==t.openStart&&this.openEnd==t.openEnd}toString(){return this.content+"("+this.openStart+","+this.openEnd+")"}toJSON(){if(!this.content.size)return null;let t={content:this.content.toJSON()};if(this.openStart>0)t.openStart=this.openStart;if(this.openEnd>0)t.openEnd=this.openEnd;return t}static fromJSON(t,e){if(!e)return ye.empty;let r=e.openStart||0,i=e.openEnd||0;if(typeof r!="number"||typeof i!="number")throw new RangeError("Invalid input for Slice.fromJSON");return new ye(we.fromJSON(t,e.content),r,i)}static maxOpen(t,e=true){let r=0,i=0;for(let i=t.firstChild;i&&!i.isLeaf&&(e||!i.type.spec.isolating);i=i.firstChild)r++;for(let r=t.lastChild;r&&!r.isLeaf&&(e||!r.type.spec.isolating);r=r.lastChild)i++;return new ye(t,r,i)}}ye.empty=new ye(we.empty,0,0);function Fe(t,e,r){let{index:i,offset:n}=t.findIndex(e),s=t.maybeChild(i);let{index:l,offset:o}=t.findIndex(r);if(n==e||s.isText){if(o!=r&&!t.child(l).isText)throw new RangeError("Removing non-flat range");return t.cut(0,e).append(t.cut(r))}if(i!=l)throw new RangeError("Removing non-flat range");return t.replaceChild(i,s.copy(Fe(s.content,e-n-1,r-n-1)))}function Ee(t,e,r,i){let{index:n,offset:s}=t.findIndex(e),l=t.maybeChild(n);if(s==e||l.isText){if(i&&!i.canReplace(n,n,r))return null;return t.cut(0,e).append(r).append(t.cut(e))}let o=Ee(l.content,e-s-1,r);return o&&t.replaceChild(n,l.copy(o))}function Me(t,e,r){if(r.openStart>t.depth)throw new ve("Inserted content deeper than insertion position");if(t.depth-r.openStart!=e.depth-r.openEnd)throw new ve("Inconsistent open depths");return xe(t,e,r,0)}function xe(t,e,r,i){let n=t.index(i),s=t.node(i);if(n==e.index(i)&&i<t.depth-r.openStart){let l=xe(t,e,r,i+1);return s.copy(s.content.replaceChild(n,l))}else if(!r.content.size){return $e(s,Be(t,e,i))}else if(!r.openStart&&!r.openEnd&&t.depth==i&&e.depth==i){let i=t.parent,n=i.content;return $e(i,n.cut(0,t.parentOffset).append(r.content).append(n.cut(e.parentOffset)))}else{let{start:n,end:l}=Re(r,t);return $e(s,_e(t,n,l,e,i))}}function Ae(t,e){if(!e.type.compatibleContent(t.type))throw new ve("Cannot join "+e.type.name+" onto "+t.type.name)}function Ce(t,e,r){let i=t.node(r);Ae(i,e.node(r));return i}function Se(t,e){let r=e.length-1;if(r>=0&&t.isText&&t.sameMarkup(e[r]))e[r]=t.withText(e[r].text+t.text);else e.push(t)}function Oe(t,e,r,i){let n=(e||t).node(r);let s=0,l=e?e.index(r):n.childCount;if(t){s=t.index(r);if(t.depth>r){s++}else if(t.textOffset){Se(t.nodeAfter,i);s++}}for(let t=s;t<l;t++)Se(n.child(t),i);if(e&&e.depth==r&&e.textOffset)Se(e.nodeBefore,i)}function $e(t,e){t.type.checkContent(e);return t.copy(e)}function _e(t,e,r,i,n){let s=t.depth>n&&Ce(t,e,n+1);let l=i.depth>n&&Ce(r,i,n+1);let o=[];Oe(null,t,n,o);if(s&&l&&e.index(n)==r.index(n)){Ae(s,l);Se($e(s,_e(t,e,r,i,n+1)),o)}else{if(s)Se($e(s,Be(t,e,n+1)),o);Oe(e,r,n,o);if(l)Se($e(l,Be(r,i,n+1)),o)}Oe(i,null,n,o);return new we(o)}function Be(t,e,r){let i=[];Oe(null,t,r,i);if(t.depth>r){let n=Ce(t,e,r+1);Se($e(n,Be(t,e,r+1)),i)}Oe(e,null,r,i);return new we(i)}function Re(t,e){let r=e.depth-t.openStart,i=e.node(r);let n=i.copy(t.content);for(let t=r-1;t>=0;t--)n=e.node(t).copy(we.from(n));return{start:n.resolveNoCache(t.openStart+r),end:n.resolveNoCache(n.content.size-t.openEnd-r)}}class je{constructor(t,e,r){this.pos=t;this.path=e;this.parentOffset=r;this.depth=e.length/3-1}resolveDepth(t){if(t==null)return this.depth;if(t<0)return this.depth+t;return t}get parent(){return this.node(this.depth)}get doc(){return this.node(0)}node(t){return this.path[this.resolveDepth(t)*3]}index(t){return this.path[this.resolveDepth(t)*3+1]}indexAfter(t){t=this.resolveDepth(t);return this.index(t)+(t==this.depth&&!this.textOffset?0:1)}start(t){t=this.resolveDepth(t);return t==0?0:this.path[t*3-1]+1}end(t){t=this.resolveDepth(t);return this.start(t)+this.node(t).content.size}before(t){t=this.resolveDepth(t);if(!t)throw new RangeError("There is no position before the top-level node");return t==this.depth+1?this.pos:this.path[t*3-1]}after(t){t=this.resolveDepth(t);if(!t)throw new RangeError("There is no position after the top-level node");return t==this.depth+1?this.pos:this.path[t*3-1]+this.path[t*3].nodeSize}get textOffset(){return this.pos-this.path[this.path.length-1]}get nodeAfter(){let t=this.parent,e=this.index(this.depth);if(e==t.childCount)return null;let r=this.pos-this.path[this.path.length-1],i=t.child(e);return r?t.child(e).cut(r):i}get nodeBefore(){let t=this.index(this.depth);let e=this.pos-this.path[this.path.length-1];if(e)return this.parent.child(t).cut(0,e);return t==0?null:this.parent.child(t-1)}posAtIndex(t,e){e=this.resolveDepth(e);let r=this.path[e*3],i=e==0?0:this.path[e*3-1]+1;for(let e=0;e<t;e++)i+=r.child(e).nodeSize;return i}marks(){let t=this.parent,e=this.index();if(t.content.size==0)return De.none;if(this.textOffset)return t.child(e).marks;let r=t.maybeChild(e-1),i=t.maybeChild(e);if(!r){let t=r;r=i;i=t}let n=r.marks;for(var s=0;s<n.length;s++)if(n[s].type.spec.inclusive===false&&(!i||!n[s].isInSet(i.marks)))n=n[s--].removeFromSet(n);return n}marksAcross(t){let e=this.parent.maybeChild(this.index());if(!e||!e.isInline)return null;let r=e.marks,i=t.parent.maybeChild(t.index());for(var n=0;n<r.length;n++)if(r[n].type.spec.inclusive===false&&(!i||!r[n].isInSet(i.marks)))r=r[n--].removeFromSet(r);return r}sharedDepth(t){for(let e=this.depth;e>0;e--)if(this.start(e)<=t&&this.end(e)>=t)return e;return 0}blockRange(t=this,e){if(t.pos<this.pos)return t.blockRange(this);for(let r=this.depth-(this.parent.inlineContent||this.pos==t.pos?1:0);r>=0;r--)if(t.pos<=this.end(r)&&(!e||e(this.node(r))))return new Te(this,t,r);return null}sameParent(t){return this.pos-this.parentOffset==t.pos-t.parentOffset}max(t){return t.pos>this.pos?t:this}min(t){return t.pos<this.pos?t:this}toString(){let t="";for(let e=1;e<=this.depth;e++)t+=(t?"/":"")+this.node(e).type.name+"_"+this.index(e-1);return t+":"+this.parentOffset}static resolve(t,e){if(!(e>=0&&e<=t.content.size))throw new RangeError("Position "+e+" out of range");let r=[];let i=0,n=e;for(let e=t;;){let{index:t,offset:s}=e.content.findIndex(n);let l=n-s;r.push(e,t,i+s);if(!l)break;e=e.child(t);if(e.isText)break;n=l-1;i+=s+1}return new je(e,r,n)}static resolveCached(t,e){let r=ze.get(t);if(r){for(let t=0;t<r.elts.length;t++){let i=r.elts[t];if(i.pos==e)return i}}else{ze.set(t,r=new Ne)}let i=r.elts[r.i]=je.resolve(t,e);r.i=(r.i+1)%qe;return i}}class Ne{constructor(){this.elts=[];this.i=0}}const qe=12,ze=new WeakMap;class Te{constructor(t,e,r){this.$from=t;this.$to=e;this.depth=r}get start(){return this.$from.before(this.depth+1)}get end(){return this.$to.after(this.depth+1)}get parent(){return this.$from.node(this.depth)}get startIndex(){return this.$from.index(this.depth)}get endIndex(){return this.$to.indexAfter(this.depth)}}const Ie=Object.create(null);class Pe{constructor(t,e,r,i=De.none){this.type=t;this.attrs=e;this.marks=i;this.content=r||we.empty}get nodeSize(){return this.isLeaf?1:2+this.content.size}get childCount(){return this.content.childCount}child(t){return this.content.child(t)}maybeChild(t){return this.content.maybeChild(t)}forEach(t){this.content.forEach(t)}nodesBetween(t,e,r,i=0){this.content.nodesBetween(t,e,r,i,this)}descendants(t){this.nodesBetween(0,this.content.size,t)}get textContent(){return this.isLeaf&&this.type.spec.leafText?this.type.spec.leafText(this):this.textBetween(0,this.content.size,"")}textBetween(t,e,r,i){return this.content.textBetween(t,e,r,i)}get firstChild(){return this.content.firstChild}get lastChild(){return this.content.lastChild}eq(t){return this==t||this.sameMarkup(t)&&this.content.eq(t.content)}sameMarkup(t){return this.hasMarkup(t.type,t.attrs,t.marks)}hasMarkup(t,e,r){return this.type==t&&ke(this.attrs,e||t.defaultAttrs||Ie)&&De.sameSet(this.marks,r||De.none)}copy(t=null){if(t==this.content)return this;return new Pe(this.type,this.attrs,t,this.marks)}mark(t){return t==this.marks?this:new Pe(this.type,this.attrs,this.content,t)}cut(t,e=this.content.size){if(t==0&&e==this.content.size)return this;return this.copy(this.content.cut(t,e))}slice(t,e=this.content.size,r=false){if(t==e)return ye.empty;let i=this.resolve(t),n=this.resolve(e);let s=r?0:i.sharedDepth(e);let l=i.start(s),o=i.node(s);let u=o.content.cut(i.pos-l,n.pos-l);return new ye(u,i.depth-s,n.depth-s)}replace(t,e,r){return Me(this.resolve(t),this.resolve(e),r)}nodeAt(t){for(let e=this;;){let{index:r,offset:i}=e.content.findIndex(t);e=e.maybeChild(r);if(!e)return null;if(i==t||e.isText)return e;t-=i+1}}childAfter(t){let{index:e,offset:r}=this.content.findIndex(t);return{node:this.content.maybeChild(e),index:e,offset:r}}childBefore(t){if(t==0)return{node:null,index:0,offset:0};let{index:e,offset:r}=this.content.findIndex(t);if(r<t)return{node:this.content.child(e),index:e,offset:r};let i=this.content.child(e-1);return{node:i,index:e-1,offset:r-i.nodeSize}}resolve(t){return je.resolveCached(this,t)}resolveNoCache(t){return je.resolve(this,t)}rangeHasMark(t,e,r){let i=false;if(e>t)this.nodesBetween(t,e,(t=>{if(r.isInSet(t.marks))i=true;return!i}));return i}get isBlock(){return this.type.isBlock}get isTextblock(){return this.type.isTextblock}get inlineContent(){return this.type.inlineContent}get isInline(){return this.type.isInline}get isText(){return this.type.isText}get isLeaf(){return this.type.isLeaf}get isAtom(){return this.type.isAtom}toString(){if(this.type.spec.toDebugString)return this.type.spec.toDebugString(this);let t=this.type.name;if(this.content.size)t+="("+this.content.toStringInner()+")";return Le(this.marks,t)}contentMatchAt(t){let e=this.type.contentMatch.matchFragment(this.content,0,t);if(!e)throw new Error("Called contentMatchAt on a node with invalid content");return e}canReplace(t,e,r=we.empty,i=0,n=r.childCount){let s=this.contentMatchAt(t).matchFragment(r,i,n);let l=s&&s.matchFragment(this.content,e);if(!l||!l.validEnd)return false;for(let t=i;t<n;t++)if(!this.type.allowsMarks(r.child(t).marks))return false;return true}canReplaceWith(t,e,r,i){if(i&&!this.type.allowsMarks(i))return false;let n=this.contentMatchAt(t).matchType(r);let s=n&&n.matchFragment(this.content,e);return s?s.validEnd:false}canAppend(t){if(t.content.size)return this.canReplace(this.childCount,this.childCount,t.content);else return this.type.compatibleContent(t.type)}check(){this.type.checkContent(this.content);this.type.checkAttrs(this.attrs);let t=De.none;for(let e=0;e<this.marks.length;e++){let r=this.marks[e];r.type.checkAttrs(r.attrs);t=r.addToSet(t)}if(!De.sameSet(t,this.marks))throw new RangeError(`Invalid collection of marks for node ${this.type.name}: ${this.marks.map((t=>t.type.name))}`);this.content.forEach((t=>t.check()))}toJSON(){let t={type:this.type.name};for(let e in this.attrs){t.attrs=this.attrs;break}if(this.content.size)t.content=this.content.toJSON();if(this.marks.length)t.marks=this.marks.map((t=>t.toJSON()));return t}static fromJSON(t,e){if(!e)throw new RangeError("Invalid input for Node.fromJSON");let r=undefined;if(e.marks){if(!Array.isArray(e.marks))throw new RangeError("Invalid mark data for Node.fromJSON");r=e.marks.map(t.markFromJSON)}if(e.type=="text"){if(typeof e.text!="string")throw new RangeError("Invalid text node in JSON");return t.text(e.text,r)}let i=we.fromJSON(t,e.content);let n=t.nodeType(e.type).create(e.attrs,i,r);n.type.checkAttrs(n.attrs);return n}}Pe.prototype.text=undefined;class Je extends Pe{constructor(t,e,r,i){super(t,e,null,i);if(!r)throw new RangeError("Empty text nodes are not allowed");this.text=r}toString(){if(this.type.spec.toDebugString)return this.type.spec.toDebugString(this);return Le(this.marks,JSON.stringify(this.text))}get textContent(){return this.text}textBetween(t,e){return this.text.slice(t,e)}get nodeSize(){return this.text.length}mark(t){return t==this.marks?this:new Je(this.type,this.attrs,this.text,t)}withText(t){if(t==this.text)return this;return new Je(this.type,this.attrs,t,this.marks)}cut(t=0,e=this.text.length){if(t==0&&e==this.text.length)return this;return this.withText(this.text.slice(t,e))}eq(t){return this.sameMarkup(t)&&this.text==t.text}toJSON(){let t=super.toJSON();t.text=this.text;return t}}function Le(t,e){for(let r=t.length-1;r>=0;r--)e=t[r].type.name+"("+e+")";return e}class We{constructor(t){this.validEnd=t;this.next=[];this.wrapCache=[]}static parse(t,e){let r=new Ue(t,e);if(r.next==null)return We.empty;let i=He(r);if(r.next)r.err("Unexpected trailing text");let n=rr(Qe(i));ir(n,r);return n}matchType(t){for(let e=0;e<this.next.length;e++)if(this.next[e].type==t)return this.next[e].next;return null}matchFragment(t,e=0,r=t.childCount){let i=this;for(let n=e;i&&n<r;n++)i=i.matchType(t.child(n).type);return i}get inlineContent(){return this.next.length!=0&&this.next[0].type.isInline}get defaultType(){for(let t=0;t<this.next.length;t++){let{type:e}=this.next[t];if(!(e.isText||e.hasRequiredAttrs()))return e}return null}compatible(t){for(let e=0;e<this.next.length;e++)for(let r=0;r<t.next.length;r++)if(this.next[e].type==t.next[r].type)return true;return false}fillBefore(t,e=false,r=0){let i=[this];function n(s,l){let o=s.matchFragment(t,r);if(o&&(!e||o.validEnd))return we.from(l.map((t=>t.createAndFill())));for(let t=0;t<s.next.length;t++){let{type:e,next:r}=s.next[t];if(!(e.isText||e.hasRequiredAttrs())&&i.indexOf(r)==-1){i.push(r);let t=n(r,l.concat(e));if(t)return t}}return null}return n(this,[])}findWrapping(t){for(let e=0;e<this.wrapCache.length;e+=2)if(this.wrapCache[e]==t)return this.wrapCache[e+1];let e=this.computeWrapping(t);this.wrapCache.push(t,e);return e}computeWrapping(t){let e=Object.create(null),r=[{match:this,type:null,via:null}];while(r.length){let i=r.shift(),n=i.match;if(n.matchType(t)){let t=[];for(let e=i;e.type;e=e.via)t.push(e.type);return t.reverse()}for(let t=0;t<n.next.length;t++){let{type:s,next:l}=n.next[t];if(!s.isLeaf&&!s.hasRequiredAttrs()&&!(s.name in e)&&(!i.type||l.validEnd)){r.push({match:s.contentMatch,type:s,via:i});e[s.name]=true}}}return null}get edgeCount(){return this.next.length}edge(t){if(t>=this.next.length)throw new RangeError(`There's no ${t}th edge in this content match`);return this.next[t]}toString(){let t=[];function e(r){t.push(r);for(let i=0;i<r.next.length;i++)if(t.indexOf(r.next[i].next)==-1)e(r.next[i].next)}e(this);return t.map(((e,r)=>{let i=r+(e.validEnd?"*":" ")+" ";for(let r=0;r<e.next.length;r++)i+=(r?", ":"")+e.next[r].type.name+"->"+t.indexOf(e.next[r].next);return i})).join("\n")}}We.empty=new We(true);class Ue{constructor(t,e){this.string=t;this.nodeTypes=e;this.inline=null;this.pos=0;this.tokens=t.split(/\s*(?=\b|\W|$)/);if(this.tokens[this.tokens.length-1]=="")this.tokens.pop();if(this.tokens[0]=="")this.tokens.shift()}get next(){return this.tokens[this.pos]}eat(t){return this.next==t&&(this.pos++||true)}err(t){throw new SyntaxError(t+" (in content expression '"+this.string+"')")}}function He(t){let e=[];do{e.push(Ze(t))}while(t.eat("|"));return e.length==1?e[0]:{type:"choice",exprs:e}}function Ze(t){let e=[];do{e.push(Ke(t))}while(t.next&&t.next!=")"&&t.next!="|");return e.length==1?e[0]:{type:"seq",exprs:e}}function Ke(t){let e=Ye(t);for(;;){if(t.eat("+"))e={type:"plus",expr:e};else if(t.eat("*"))e={type:"star",expr:e};else if(t.eat("?"))e={type:"opt",expr:e};else if(t.eat("{"))e=Ge(t,e);else break}return e}function Ve(t){if(/\D/.test(t.next))t.err("Expected number, got '"+t.next+"'");let e=Number(t.next);t.pos++;return e}function Ge(t,e){let r=Ve(t),i=r;if(t.eat(",")){if(t.next!="}")i=Ve(t);else i=-1}if(!t.eat("}"))t.err("Unclosed braced range");return{type:"range",min:r,max:i,expr:e}}function Xe(t,e){let r=t.nodeTypes,i=r[e];if(i)return[i];let n=[];for(let t in r){let i=r[t];if(i.groups.indexOf(e)>-1)n.push(i)}if(n.length==0)t.err("No node type or group '"+e+"' found");return n}function Ye(t){if(t.eat("(")){let e=He(t);if(!t.eat(")"))t.err("Missing closing paren");return e}else if(!/\W/.test(t.next)){let e=Xe(t,t.next).map((e=>{if(t.inline==null)t.inline=e.isInline;else if(t.inline!=e.isInline)t.err("Mixing inline and block content");return{type:"name",value:e}}));t.pos++;return e.length==1?e[0]:{type:"choice",exprs:e}}else{t.err("Unexpected token '"+t.next+"'")}}function Qe(t){let e=[[]];n(s(t,0),r());return e;function r(){return e.push([])-1}function i(t,r,i){let n={term:i,to:r};e[t].push(n);return n}function n(t,e){t.forEach((t=>t.to=e))}function s(t,e){if(t.type=="choice"){return t.exprs.reduce(((t,r)=>t.concat(s(r,e))),[])}else if(t.type=="seq"){for(let i=0;;i++){let l=s(t.exprs[i],e);if(i==t.exprs.length-1)return l;n(l,e=r())}}else if(t.type=="star"){let l=r();i(e,l);n(s(t.expr,l),l);return[i(l)]}else if(t.type=="plus"){let l=r();n(s(t.expr,e),l);n(s(t.expr,l),l);return[i(l)]}else if(t.type=="opt"){return[i(e)].concat(s(t.expr,e))}else if(t.type=="range"){let l=e;for(let e=0;e<t.min;e++){let e=r();n(s(t.expr,l),e);l=e}if(t.max==-1){n(s(t.expr,l),l)}else{for(let e=t.min;e<t.max;e++){let e=r();i(l,e);n(s(t.expr,l),e);l=e}}return[i(l)]}else if(t.type=="name"){return[i(e,undefined,t.value)]}else{throw new Error("Unknown expr type")}}}function tr(t,e){return e-t}function er(t,e){let r=[];i(e);return r.sort(tr);function i(e){let n=t[e];if(n.length==1&&!n[0].term)return i(n[0].to);r.push(e);for(let t=0;t<n.length;t++){let{term:e,to:s}=n[t];if(!e&&r.indexOf(s)==-1)i(s)}}}function rr(t){let e=Object.create(null);return r(er(t,0));function r(i){let n=[];i.forEach((e=>{t[e].forEach((({term:e,to:r})=>{if(!e)return;let i;for(let t=0;t<n.length;t++)if(n[t][0]==e)i=n[t][1];er(t,r).forEach((t=>{if(!i)n.push([e,i=[]]);if(i.indexOf(t)==-1)i.push(t)}))}))}));let s=e[i.join(",")]=new We(i.indexOf(t.length-1)>-1);for(let t=0;t<n.length;t++){let i=n[t][1].sort(tr);s.next.push({type:n[t][0],next:e[i.join(",")]||r(i)})}return s}}function ir(t,e){for(let r=0,i=[t];r<i.length;r++){let t=i[r],n=!t.validEnd,s=[];for(let e=0;e<t.next.length;e++){let{type:r,next:l}=t.next[e];s.push(r.name);if(n&&!(r.isText||r.hasRequiredAttrs()))n=false;if(i.indexOf(l)==-1)i.push(l)}if(n)e.err("Only non-generatable nodes ("+s.join(", ")+") in a required position (see https://prosemirror.net/docs/guide/#generatable)")}}function nr(t){let e=Object.create(null);for(let r in t){let i=t[r];if(!i.hasDefault)return null;e[r]=i.default}return e}function sr(t,e){let r=Object.create(null);for(let i in t){let n=e&&e[i];if(n===undefined){let e=t[i];if(e.hasDefault)n=e.default;else throw new RangeError("No value supplied for attribute "+i)}r[i]=n}return r}function lr(t,e,r,i){for(let i in e)if(!(i in t))throw new RangeError(`Unsupported attribute ${i} for ${r} of type ${i}`);for(let r in t){let i=t[r];if(i.validate)i.validate(e[r])}}function or(t,e){let r=Object.create(null);if(e)for(let i in e)r[i]=new hr(t,i,e[i]);return r}class ur{constructor(t,e,r){this.name=t;this.schema=e;this.spec=r;this.markSet=null;this.groups=r.group?r.group.split(" "):[];this.attrs=or(t,r.attrs);this.defaultAttrs=nr(this.attrs);this.contentMatch=null;this.inlineContent=null;this.isBlock=!(r.inline||t=="text");this.isText=t=="text"}get isInline(){return!this.isBlock}get isTextblock(){return this.isBlock&&this.inlineContent}get isLeaf(){return this.contentMatch==We.empty}get isAtom(){return this.isLeaf||!!this.spec.atom}get whitespace(){return this.spec.whitespace||(this.spec.code?"pre":"normal")}hasRequiredAttrs(){for(let t in this.attrs)if(this.attrs[t].isRequired)return true;return false}compatibleContent(t){return this==t||this.contentMatch.compatible(t.contentMatch)}computeAttrs(t){if(!t&&this.defaultAttrs)return this.defaultAttrs;else return sr(this.attrs,t)}create(t=null,e,r){if(this.isText)throw new Error("NodeType.create can't construct text nodes");return new Pe(this,this.computeAttrs(t),we.from(e),De.setFrom(r))}createChecked(t=null,e,r){e=we.from(e);this.checkContent(e);return new Pe(this,this.computeAttrs(t),e,De.setFrom(r))}createAndFill(t=null,e,r){t=this.computeAttrs(t);e=we.from(e);if(e.size){let t=this.contentMatch.fillBefore(e);if(!t)return null;e=t.append(e)}let i=this.contentMatch.matchFragment(e);let n=i&&i.fillBefore(we.empty,true);if(!n)return null;return new Pe(this,t,e.append(n),De.setFrom(r))}validContent(t){let e=this.contentMatch.matchFragment(t);if(!e||!e.validEnd)return false;for(let e=0;e<t.childCount;e++)if(!this.allowsMarks(t.child(e).marks))return false;return true}checkContent(t){if(!this.validContent(t))throw new RangeError(`Invalid content for node ${this.name}: ${t.toString().slice(0,50)}`)}checkAttrs(t){lr(this.attrs,t,"node")}allowsMarkType(t){return this.markSet==null||this.markSet.indexOf(t)>-1}allowsMarks(t){if(this.markSet==null)return true;for(let e=0;e<t.length;e++)if(!this.allowsMarkType(t[e].type))return false;return true}allowedMarks(t){if(this.markSet==null)return t;let e;for(let r=0;r<t.length;r++){if(!this.allowsMarkType(t[r].type)){if(!e)e=t.slice(0,r)}else if(e){e.push(t[r])}}return!e?t:e.length?e:De.none}static compile(t,e){let r=Object.create(null);t.forEach(((t,i)=>r[t]=new ur(t,e,i)));let i=e.spec.topNode||"doc";if(!r[i])throw new RangeError("Schema is missing its top node type ('"+i+"')");if(!r.text)throw new RangeError("Every schema needs a 'text' type");for(let t in r.text.attrs)throw new RangeError("The text node type should not have attributes");return r}}function fr(t,e,r){let i=r.split("|");return r=>{let n=r===null?"null":typeof r;if(i.indexOf(n)<0)throw new RangeError(`Expected value of type ${i} for attribute ${e} on type ${t}, got ${n}`)}}class hr{constructor(t,e,r){this.hasDefault=Object.prototype.hasOwnProperty.call(r,"default");this.default=r.default;this.validate=typeof r.validate=="string"?fr(t,e,r.validate):r.validate}get isRequired(){return!this.hasDefault}}class ar{constructor(t,e,r,i){this.name=t;this.rank=e;this.schema=r;this.spec=i;this.attrs=or(t,i.attrs);this.excluded=null;let n=nr(this.attrs);this.instance=n?new De(this,n):null}create(t=null){if(!t&&this.instance)return this.instance;return new De(this,sr(this.attrs,t))}static compile(t,e){let r=Object.create(null),i=0;t.forEach(((t,n)=>r[t]=new ar(t,i++,e,n)));return r}removeFromSet(t){for(var e=0;e<t.length;e++)if(t[e].type==this){t=t.slice(0,e).concat(t.slice(e+1));e--}return t}isInSet(t){for(let e=0;e<t.length;e++)if(t[e].type==this)return t[e]}checkAttrs(t){lr(this.attrs,t,"mark")}excludes(t){return this.excluded.indexOf(t)>-1}}class cr{constructor(t){this.linebreakReplacement=null;this.cached=Object.create(null);let e=this.spec={};for(let r in t)e[r]=t[r];e.nodes=de.from(t.nodes),e.marks=de.from(t.marks||{}),this.nodes=ur.compile(this.spec.nodes,this);this.marks=ar.compile(this.spec.marks,this);let r=Object.create(null);for(let t in this.nodes){if(t in this.marks)throw new RangeError(t+" can not be both a node and a mark");let e=this.nodes[t],i=e.spec.content||"",n=e.spec.marks;e.contentMatch=r[i]||(r[i]=We.parse(i,this.nodes));e.inlineContent=e.contentMatch.inlineContent;if(e.spec.linebreakReplacement){if(this.linebreakReplacement)throw new RangeError("Multiple linebreak nodes defined");if(!e.isInline||!e.isLeaf)throw new RangeError("Linebreak replacement nodes must be inline leaf nodes");this.linebreakReplacement=e}e.markSet=n=="_"?null:n?dr(this,n.split(" ")):n==""||!e.inlineContent?[]:null}for(let t in this.marks){let e=this.marks[t],r=e.spec.excludes;e.excluded=r==null?[e]:r==""?[]:dr(this,r.split(" "))}this.nodeFromJSON=this.nodeFromJSON.bind(this);this.markFromJSON=this.markFromJSON.bind(this);this.topNodeType=this.nodes[this.spec.topNode||"doc"];this.cached.wrappings=Object.create(null)}node(t,e=null,r,i){if(typeof t=="string")t=this.nodeType(t);else if(!(t instanceof ur))throw new RangeError("Invalid node type: "+t);else if(t.schema!=this)throw new RangeError("Node type from different schema used ("+t.name+")");return t.createChecked(e,r,i)}text(t,e){let r=this.nodes.text;return new Je(r,r.defaultAttrs,t,De.setFrom(e))}mark(t,e){if(typeof t=="string")t=this.marks[t];return t.create(e)}nodeFromJSON(t){return Pe.fromJSON(this,t)}markFromJSON(t){return De.fromJSON(this,t)}nodeType(t){let e=this.nodes[t];if(!e)throw new RangeError("Unknown node type: "+t);return e}}function dr(t,e){let r=[];for(let i=0;i<e.length;i++){let n=e[i],s=t.marks[n],l=s;if(s){r.push(s)}else{for(let e in t.marks){let i=t.marks[e];if(n=="_"||i.spec.group&&i.spec.group.split(" ").indexOf(n)>-1)r.push(l=i)}}if(!l)throw new SyntaxError("Unknown mark type: '"+e[i]+"'")}return r}function pr(t){return t.tag!=null}function mr(t){return t.style!=null}class wr{constructor(t,e){this.schema=t;this.rules=e;this.tags=[];this.styles=[];let r=this.matchedStyles=[];e.forEach((t=>{if(pr(t)){this.tags.push(t)}else if(mr(t)){let e=/[^=]*/.exec(t.style)[0];if(r.indexOf(e)<0)r.push(e);this.styles.push(t)}}));this.normalizeLists=!this.tags.some((e=>{if(!/^(ul|ol)\b/.test(e.tag)||!e.node)return false;let r=t.nodes[e.node];return r.contentMatch.matchType(r)}))}parse(t,e={}){let r=new Mr(this,e,false);r.addAll(t,De.none,e.from,e.to);return r.finish()}parseSlice(t,e={}){let r=new Mr(this,e,true);r.addAll(t,De.none,e.from,e.to);return ye.maxOpen(r.finish())}matchTag(t,e,r){for(let i=r?this.tags.indexOf(r)+1:0;i<this.tags.length;i++){let r=this.tags[i];if(Ar(t,r.tag)&&(r.namespace===undefined||t.namespaceURI==r.namespace)&&(!r.context||e.matchesContext(r.context))){if(r.getAttrs){let e=r.getAttrs(t);if(e===false)continue;r.attrs=e||undefined}return r}}}matchStyle(t,e,r,i){for(let n=i?this.styles.indexOf(i)+1:0;n<this.styles.length;n++){let i=this.styles[n],s=i.style;if(s.indexOf(t)!=0||i.context&&!r.matchesContext(i.context)||s.length>t.length&&(s.charCodeAt(t.length)!=61||s.slice(t.length+1)!=e))continue;if(i.getAttrs){let t=i.getAttrs(e);if(t===false)continue;i.attrs=t||undefined}return i}}static schemaRules(t){let e=[];function r(t){let r=t.priority==null?50:t.priority,i=0;for(;i<e.length;i++){let t=e[i],n=t.priority==null?50:t.priority;if(n<r)break}e.splice(i,0,t)}for(let e in t.marks){let i=t.marks[e].spec.parseDOM;if(i)i.forEach((t=>{r(t=Cr(t));if(!(t.mark||t.ignore||t.clearMark))t.mark=e}))}for(let e in t.nodes){let i=t.nodes[e].spec.parseDOM;if(i)i.forEach((t=>{r(t=Cr(t));if(!(t.node||t.ignore||t.mark))t.node=e}))}return e}static fromSchema(t){return t.cached.domParser||(t.cached.domParser=new wr(t,wr.schemaRules(t)))}}const gr={address:true,article:true,aside:true,blockquote:true,canvas:true,dd:true,div:true,dl:true,fieldset:true,figcaption:true,figure:true,footer:true,form:true,h1:true,h2:true,h3:true,h4:true,h5:true,h6:true,header:true,hgroup:true,hr:true,li:true,noscript:true,ol:true,output:true,p:true,pre:true,section:true,table:true,tfoot:true,ul:true};const br={head:true,noscript:true,object:true,script:true,style:true,title:true};const kr={ol:true,ul:true};const Dr=1,vr=2,yr=4;function Fr(t,e,r){if(e!=null)return(e?Dr:0)|(e==="full"?vr:0);return t&&t.whitespace=="pre"?Dr|vr:r&~yr}class Er{constructor(t,e,r,i,n,s){this.type=t;this.attrs=e;this.marks=r;this.solid=i;this.options=s;this.content=[];this.activeMarks=De.none;this.match=n||(s&yr?null:t.contentMatch)}findWrapping(t){if(!this.match){if(!this.type)return[];let e=this.type.contentMatch.fillBefore(we.from(t));if(e){this.match=this.type.contentMatch.matchFragment(e)}else{let e=this.type.contentMatch,r;if(r=e.findWrapping(t.type)){this.match=e;return r}else{return null}}}return this.match.findWrapping(t.type)}finish(t){if(!(this.options&Dr)){let t=this.content[this.content.length-1],e;if(t&&t.isText&&(e=/[ \t\r\n\u000c]+$/.exec(t.text))){let r=t;if(t.text.length==e[0].length)this.content.pop();else this.content[this.content.length-1]=r.withText(r.text.slice(0,r.text.length-e[0].length))}}let e=we.from(this.content);if(!t&&this.match)e=e.append(this.match.fillBefore(we.empty,true));return this.type?this.type.create(this.attrs,e,this.marks):e}inlineContext(t){if(this.type)return this.type.inlineContent;if(this.content.length)return this.content[0].isInline;return t.parentNode&&!gr.hasOwnProperty(t.parentNode.nodeName.toLowerCase())}}class Mr{constructor(t,e,r){this.parser=t;this.options=e;this.isOpen=r;this.open=0;let i=e.topNode,n;let s=Fr(null,e.preserveWhitespace,0)|(r?yr:0);if(i)n=new Er(i.type,i.attrs,De.none,true,e.topMatch||i.type.contentMatch,s);else if(r)n=new Er(null,null,De.none,true,null,s);else n=new Er(t.schema.topNodeType,null,De.none,true,null,s);this.nodes=[n];this.find=e.findPositions;this.needsBlock=false}get top(){return this.nodes[this.open]}addDOM(t,e){if(t.nodeType==3)this.addTextNode(t,e);else if(t.nodeType==1)this.addElement(t,e)}addTextNode(t,e){let r=t.nodeValue;let i=this.top;if(i.options&vr||i.inlineContext(t)||/[^ \t\r\n\u000c]/.test(r)){if(!(i.options&Dr)){r=r.replace(/[ \t\r\n\u000c]+/g," ");if(/^[ \t\r\n\u000c]/.test(r)&&this.open==this.nodes.length-1){let e=i.content[i.content.length-1];let n=t.previousSibling;if(!e||n&&n.nodeName=="BR"||e.isText&&/[ \t\r\n\u000c]$/.test(e.text))r=r.slice(1)}}else if(!(i.options&vr)){r=r.replace(/\r?\n|\r/g," ")}else{r=r.replace(/\r\n?/g,"\n")}if(r)this.insertNode(this.parser.schema.text(r),e);this.findInText(t)}else{this.findInside(t)}}addElement(t,e,r){let i=t.nodeName.toLowerCase(),n;if(kr.hasOwnProperty(i)&&this.parser.normalizeLists)xr(t);let s=this.options.ruleFromNode&&this.options.ruleFromNode(t)||(n=this.parser.matchTag(t,this,r));if(s?s.ignore:br.hasOwnProperty(i)){this.findInside(t);this.ignoreFallback(t,e)}else if(!s||s.skip||s.closeParent){if(s&&s.closeParent)this.open=Math.max(0,this.open-1);else if(s&&s.skip.nodeType)t=s.skip;let r,n=this.top,l=this.needsBlock;if(gr.hasOwnProperty(i)){if(n.content.length&&n.content[0].isInline&&this.open){this.open--;n=this.top}r=true;if(!n.type)this.needsBlock=true}else if(!t.firstChild){this.leafFallback(t,e);return}let o=s&&s.skip?e:this.readStyles(t,e);if(o)this.addAll(t,o);if(r)this.sync(n);this.needsBlock=l}else{let r=this.readStyles(t,e);if(r)this.addElementByRule(t,s,r,s.consuming===false?n:undefined)}}leafFallback(t,e){if(t.nodeName=="BR"&&this.top.type&&this.top.type.inlineContent)this.addTextNode(t.ownerDocument.createTextNode("\n"),e)}ignoreFallback(t,e){if(t.nodeName=="BR"&&(!this.top.type||!this.top.type.inlineContent))this.findPlace(this.parser.schema.text("-"),e)}readStyles(t,e){let r=t.style;if(r&&r.length)for(let t=0;t<this.parser.matchedStyles.length;t++){let i=this.parser.matchedStyles[t],n=r.getPropertyValue(i);if(n)for(let t=undefined;;){let r=this.parser.matchStyle(i,n,this,t);if(!r)break;if(r.ignore)return null;if(r.clearMark)e=e.filter((t=>!r.clearMark(t)));else e=e.concat(this.parser.schema.marks[r.mark].create(r.attrs));if(r.consuming===false)t=r;else break}}return e}addElementByRule(t,e,r,i){let n,s;if(e.node){s=this.parser.schema.nodes[e.node];if(!s.isLeaf){let t=this.enter(s,e.attrs||null,r,e.preserveWhitespace);if(t){n=true;r=t}}else if(!this.insertNode(s.create(e.attrs),r)){this.leafFallback(t,r)}}else{let t=this.parser.schema.marks[e.mark];r=r.concat(t.create(e.attrs))}let l=this.top;if(s&&s.isLeaf){this.findInside(t)}else if(i){this.addElement(t,r,i)}else if(e.getContent){this.findInside(t);e.getContent(t,this.parser.schema).forEach((t=>this.insertNode(t,r)))}else{let i=t;if(typeof e.contentElement=="string")i=t.querySelector(e.contentElement);else if(typeof e.contentElement=="function")i=e.contentElement(t);else if(e.contentElement)i=e.contentElement;this.findAround(t,i,true);this.addAll(i,r)}if(n&&this.sync(l))this.open--}addAll(t,e,r,i){let n=r||0;for(let s=r?t.childNodes[r]:t.firstChild,l=i==null?null:t.childNodes[i];s!=l;s=s.nextSibling,++n){this.findAtPoint(t,n);this.addDOM(s,e)}this.findAtPoint(t,n)}findPlace(t,e){let r,i;for(let e=this.open;e>=0;e--){let n=this.nodes[e];let s=n.findWrapping(t);if(s&&(!r||r.length>s.length)){r=s;i=n;if(!s.length)break}if(n.solid)break}if(!r)return null;this.sync(i);for(let t=0;t<r.length;t++)e=this.enterInner(r[t],null,e,false);return e}insertNode(t,e){if(t.isInline&&this.needsBlock&&!this.top.type){let t=this.textblockFromContext();if(t)e=this.enterInner(t,null,e)}let r=this.findPlace(t,e);if(r){this.closeExtra();let e=this.top;if(e.match)e.match=e.match.matchType(t.type);let i=De.none;for(let n of r.concat(t.marks))if(e.type?e.type.allowsMarkType(n.type):Sr(n.type,t.type))i=n.addToSet(i);e.content.push(t.mark(i));return true}return false}enter(t,e,r,i){let n=this.findPlace(t.create(e),r);if(n)n=this.enterInner(t,e,r,true,i);return n}enterInner(t,e,r,i=false,n){this.closeExtra();let s=this.top;s.match=s.match&&s.match.matchType(t);let l=Fr(t,n,s.options);if(s.options&yr&&s.content.length==0)l|=yr;let o=De.none;r=r.filter((e=>{if(s.type?s.type.allowsMarkType(e.type):Sr(e.type,t)){o=e.addToSet(o);return false}return true}));this.nodes.push(new Er(t,e,o,i,null,l));this.open++;return r}closeExtra(t=false){let e=this.nodes.length-1;if(e>this.open){for(;e>this.open;e--)this.nodes[e-1].content.push(this.nodes[e].finish(t));this.nodes.length=this.open+1}}finish(){this.open=0;this.closeExtra(this.isOpen);return this.nodes[0].finish(this.isOpen||this.options.topOpen)}sync(t){for(let e=this.open;e>=0;e--)if(this.nodes[e]==t){this.open=e;return true}return false}get currentPos(){this.closeExtra();let t=0;for(let e=this.open;e>=0;e--){let r=this.nodes[e].content;for(let e=r.length-1;e>=0;e--)t+=r[e].nodeSize;if(e)t++}return t}findAtPoint(t,e){if(this.find)for(let r=0;r<this.find.length;r++){if(this.find[r].node==t&&this.find[r].offset==e)this.find[r].pos=this.currentPos}}findInside(t){if(this.find)for(let e=0;e<this.find.length;e++){if(this.find[e].pos==null&&t.nodeType==1&&t.contains(this.find[e].node))this.find[e].pos=this.currentPos}}findAround(t,e,r){if(t!=e&&this.find)for(let i=0;i<this.find.length;i++){if(this.find[i].pos==null&&t.nodeType==1&&t.contains(this.find[i].node)){let t=e.compareDocumentPosition(this.find[i].node);if(t&(r?2:4))this.find[i].pos=this.currentPos}}}findInText(t){if(this.find)for(let e=0;e<this.find.length;e++){if(this.find[e].node==t)this.find[e].pos=this.currentPos-(t.nodeValue.length-this.find[e].offset)}}matchesContext(t){if(t.indexOf("|")>-1)return t.split(/\s*\|\s*/).some(this.matchesContext,this);let e=t.split("/");let r=this.options.context;let i=!this.isOpen&&(!r||r.parent.type==this.nodes[0].type);let n=-(r?r.depth+1:0)+(i?0:1);let s=(t,l)=>{for(;t>=0;t--){let o=e[t];if(o==""){if(t==e.length-1||t==0)continue;for(;l>=n;l--)if(s(t-1,l))return true;return false}else{let t=l>0||l==0&&i?this.nodes[l].type:r&&l>=n?r.node(l-n).type:null;if(!t||t.name!=o&&t.groups.indexOf(o)==-1)return false;l--}}return true};return s(e.length-1,this.open)}textblockFromContext(){let t=this.options.context;if(t)for(let e=t.depth;e>=0;e--){let r=t.node(e).contentMatchAt(t.indexAfter(e)).defaultType;if(r&&r.isTextblock&&r.defaultAttrs)return r}for(let t in this.parser.schema.nodes){let e=this.parser.schema.nodes[t];if(e.isTextblock&&e.defaultAttrs)return e}}}function xr(t){for(let e=t.firstChild,r=null;e;e=e.nextSibling){let t=e.nodeType==1?e.nodeName.toLowerCase():null;if(t&&kr.hasOwnProperty(t)&&r){r.appendChild(e);e=r}else if(t=="li"){r=e}else if(t){r=null}}}function Ar(t,e){return(t.matches||t.msMatchesSelector||t.webkitMatchesSelector||t.mozMatchesSelector).call(t,e)}function Cr(t){let e={};for(let r in t)e[r]=t[r];return e}function Sr(t,e){let r=e.schema.nodes;for(let i in r){let n=r[i];if(!n.allowsMarkType(t))continue;let s=[],l=t=>{s.push(t);for(let r=0;r<t.edgeCount;r++){let{type:i,next:n}=t.edge(r);if(i==e)return true;if(s.indexOf(n)<0&&l(n))return true}};if(l(n.contentMatch))return true}}class Or{constructor(t,e){this.nodes=t;this.marks=e}serializeFragment(t,e={},r){if(!r)r=_r(e).createDocumentFragment();let i=r,n=[];t.forEach((t=>{if(n.length||t.marks.length){let r=0,s=0;while(r<n.length&&s<t.marks.length){let e=t.marks[s];if(!this.marks[e.type.name]){s++;continue}if(!e.eq(n[r][0])||e.type.spec.spanning===false)break;r++;s++}while(r<n.length)i=n.pop()[1];while(s<t.marks.length){let r=t.marks[s++];let l=this.serializeMark(r,t.isInline,e);if(l){n.push([r,i]);i.appendChild(l.dom);i=l.contentDOM||l.dom}}}i.appendChild(this.serializeNodeInner(t,e))}));return r}serializeNodeInner(t,e){let{dom:r,contentDOM:i}=Nr(_r(e),this.nodes[t.type.name](t),null,t.attrs);if(i){if(t.isLeaf)throw new RangeError("Content hole not allowed in a leaf node spec");this.serializeFragment(t.content,e,i)}return r}serializeNode(t,e={}){let r=this.serializeNodeInner(t,e);for(let i=t.marks.length-1;i>=0;i--){let n=this.serializeMark(t.marks[i],t.isInline,e);if(n){(n.contentDOM||n.dom).appendChild(r);r=n.dom}}return r}serializeMark(t,e,r={}){let i=this.marks[t.type.name];return i&&Nr(_r(r),i(t,e),null,t.attrs)}static renderSpec(t,e,r=null,i){return Nr(t,e,r,i)}static fromSchema(t){return t.cached.domSerializer||(t.cached.domSerializer=new Or(this.nodesFromSchema(t),this.marksFromSchema(t)))}static nodesFromSchema(t){let e=$r(t.nodes);if(!e.text)e.text=t=>t.text;return e}static marksFromSchema(t){return $r(t.marks)}}function $r(t){let e={};for(let r in t){let i=t[r].spec.toDOM;if(i)e[r]=i}return e}function _r(t){return t.document||window.document}const Br=new WeakMap;function Rr(t){let e=Br.get(t);if(e===undefined)Br.set(t,e=jr(t));return e}function jr(t){let e=null;function r(t){if(t&&typeof t=="object"){if(Array.isArray(t)){if(typeof t[0]=="string"){if(!e)e=[];e.push(t)}else{for(let e=0;e<t.length;e++)r(t[e])}}else{for(let e in t)r(t[e])}}}r(t);return e}function Nr(t,e,r,i){if(typeof e=="string")return{dom:t.createTextNode(e)};if(e.nodeType!=null)return{dom:e};if(e.dom&&e.dom.nodeType!=null)return e;let n=e[0],s;if(typeof n!="string")throw new RangeError("Invalid array passed to renderSpec");if(i&&(s=Rr(i))&&s.indexOf(e)>-1)throw new RangeError("Using an array from an attribute object as a DOM spec. This may be an attempted cross site scripting attack.");let l=n.indexOf(" ");if(l>0){r=n.slice(0,l);n=n.slice(l+1)}let o;let u=r?t.createElementNS(r,n):t.createElement(n);let f=e[1],h=1;if(f&&typeof f=="object"&&f.nodeType==null&&!Array.isArray(f)){h=2;for(let t in f)if(f[t]!=null){let e=t.indexOf(" ");if(e>0)u.setAttributeNS(t.slice(0,e),t.slice(e+1),f[t]);else u.setAttribute(t,f[t])}}for(let n=h;n<e.length;n++){let s=e[n];if(s===0){if(n<e.length-1||n>h)throw new RangeError("Content hole must be the only child of its parent node");return{dom:u,contentDOM:u}}else{let{dom:e,contentDOM:n}=Nr(t,s,r,i);u.appendChild(e);if(n){if(o)throw new RangeError("Multiple content holes");o=n}}}return{dom:u,contentDOM:o}}const qr=65535;const zr=Math.pow(2,16);function Tr(t,e){return t+e*zr}function Ir(t){return t&qr}function Pr(t){return(t-(t&qr))/zr}const Jr=1,Lr=2,Wr=4,Ur=8;class Hr{constructor(t,e,r){this.pos=t;this.delInfo=e;this.recover=r}get deleted(){return(this.delInfo&Ur)>0}get deletedBefore(){return(this.delInfo&(Jr|Wr))>0}get deletedAfter(){return(this.delInfo&(Lr|Wr))>0}get deletedAcross(){return(this.delInfo&Wr)>0}}class Zr{constructor(t,e=false){this.ranges=t;this.inverted=e;if(!t.length&&Zr.empty)return Zr.empty}recover(t){let e=0,r=Ir(t);if(!this.inverted)for(let t=0;t<r;t++)e+=this.ranges[t*3+2]-this.ranges[t*3+1];return this.ranges[r*3]+e+Pr(t)}mapResult(t,e=1){return this._map(t,e,false)}map(t,e=1){return this._map(t,e,true)}_map(t,e,r){let i=0,n=this.inverted?2:1,s=this.inverted?1:2;for(let l=0;l<this.ranges.length;l+=3){let o=this.ranges[l]-(this.inverted?i:0);if(o>t)break;let u=this.ranges[l+n],f=this.ranges[l+s],h=o+u;if(t<=h){let n=!u?e:t==o?-1:t==h?1:e;let s=o+i+(n<0?0:f);if(r)return s;let a=t==(e<0?o:h)?null:Tr(l/3,t-o);let c=t==o?Lr:t==h?Jr:Wr;if(e<0?t!=o:t!=h)c|=Ur;return new Hr(s,c,a)}i+=f-u}return r?t+i:new Hr(t+i,0,null)}touches(t,e){let r=0,i=Ir(e);let n=this.inverted?2:1,s=this.inverted?1:2;for(let e=0;e<this.ranges.length;e+=3){let l=this.ranges[e]-(this.inverted?r:0);if(l>t)break;let o=this.ranges[e+n],u=l+o;if(t<=u&&e==i*3)return true;r+=this.ranges[e+s]-o}return false}forEach(t){let e=this.inverted?2:1,r=this.inverted?1:2;for(let i=0,n=0;i<this.ranges.length;i+=3){let s=this.ranges[i],l=s-(this.inverted?n:0),o=s+(this.inverted?0:n);let u=this.ranges[i+e],f=this.ranges[i+r];t(l,l+u,o,o+f);n+=f-u}}invert(){return new Zr(this.ranges,!this.inverted)}toString(){return(this.inverted?"-":"")+JSON.stringify(this.ranges)}static offset(t){return t==0?Zr.empty:new Zr(t<0?[0,-t,0]:[0,0,t])}}Zr.empty=new Zr([]);class Kr{constructor(t=[],e,r=0,i=t.length){this.maps=t;this.mirror=e;this.from=r;this.to=i}slice(t=0,e=this.maps.length){return new Kr(this.maps,this.mirror,t,e)}copy(){return new Kr(this.maps.slice(),this.mirror&&this.mirror.slice(),this.from,this.to)}appendMap(t,e){this.to=this.maps.push(t);if(e!=null)this.setMirror(this.maps.length-1,e)}appendMapping(t){for(let e=0,r=this.maps.length;e<t.maps.length;e++){let i=t.getMirror(e);this.appendMap(t.maps[e],i!=null&&i<e?r+i:undefined)}}getMirror(t){if(this.mirror)for(let e=0;e<this.mirror.length;e++)if(this.mirror[e]==t)return this.mirror[e+(e%2?-1:1)]}setMirror(t,e){if(!this.mirror)this.mirror=[];this.mirror.push(t,e)}appendMappingInverted(t){for(let e=t.maps.length-1,r=this.maps.length+t.maps.length;e>=0;e--){let i=t.getMirror(e);this.appendMap(t.maps[e].invert(),i!=null&&i>e?r-i-1:undefined)}}invert(){let t=new Kr;t.appendMappingInverted(this);return t}map(t,e=1){if(this.mirror)return this._map(t,e,true);for(let r=this.from;r<this.to;r++)t=this.maps[r].map(t,e);return t}mapResult(t,e=1){return this._map(t,e,false)}_map(t,e,r){let i=0;for(let r=this.from;r<this.to;r++){let n=this.maps[r],s=n.mapResult(t,e);if(s.recover!=null){let e=this.getMirror(r);if(e!=null&&e>r&&e<this.to){r=e;t=this.maps[e].recover(s.recover);continue}}i|=s.delInfo;t=s.pos}return r?t:new Hr(t,i,null)}}const Vr=Object.create(null);class Gr{getMap(){return Zr.empty}merge(t){return null}static fromJSON(t,e){if(!e||!e.stepType)throw new RangeError("Invalid input for Step.fromJSON");let r=Vr[e.stepType];if(!r)throw new RangeError(`No step type ${e.stepType} defined`);return r.fromJSON(t,e)}static jsonID(t,e){if(t in Vr)throw new RangeError("Duplicate use of step JSON ID "+t);Vr[t]=e;e.prototype.jsonID=t;return e}}class Xr{constructor(t,e){this.doc=t;this.failed=e}static ok(t){return new Xr(t,null)}static fail(t){return new Xr(null,t)}static fromReplace(t,e,r,i){try{return Xr.ok(t.replace(e,r,i))}catch(t){if(t instanceof ve)return Xr.fail(t.message);throw t}}}function Yr(t,e,r){let i=[];for(let n=0;n<t.childCount;n++){let s=t.child(n);if(s.content.size)s=s.copy(Yr(s.content,e,s));if(s.isInline)s=e(s,r,n);i.push(s)}return we.fromArray(i)}class Qr extends Gr{constructor(t,e,r){super();this.from=t;this.to=e;this.mark=r}apply(t){let e=t.slice(this.from,this.to),r=t.resolve(this.from);let i=r.node(r.sharedDepth(this.to));let n=new ye(Yr(e.content,((t,e)=>{if(!t.isAtom||!e.type.allowsMarkType(this.mark.type))return t;return t.mark(this.mark.addToSet(t.marks))}),i),e.openStart,e.openEnd);return Xr.fromReplace(t,this.from,this.to,n)}invert(){return new ti(this.from,this.to,this.mark)}map(t){let e=t.mapResult(this.from,1),r=t.mapResult(this.to,-1);if(e.deleted&&r.deleted||e.pos>=r.pos)return null;return new Qr(e.pos,r.pos,this.mark)}merge(t){if(t instanceof Qr&&t.mark.eq(this.mark)&&this.from<=t.to&&this.to>=t.from)return new Qr(Math.min(this.from,t.from),Math.max(this.to,t.to),this.mark);return null}toJSON(){return{stepType:"addMark",mark:this.mark.toJSON(),from:this.from,to:this.to}}static fromJSON(t,e){if(typeof e.from!="number"||typeof e.to!="number")throw new RangeError("Invalid input for AddMarkStep.fromJSON");return new Qr(e.from,e.to,t.markFromJSON(e.mark))}}Gr.jsonID("addMark",Qr);class ti extends Gr{constructor(t,e,r){super();this.from=t;this.to=e;this.mark=r}apply(t){let e=t.slice(this.from,this.to);let r=new ye(Yr(e.content,(t=>t.mark(this.mark.removeFromSet(t.marks))),t),e.openStart,e.openEnd);return Xr.fromReplace(t,this.from,this.to,r)}invert(){return new Qr(this.from,this.to,this.mark)}map(t){let e=t.mapResult(this.from,1),r=t.mapResult(this.to,-1);if(e.deleted&&r.deleted||e.pos>=r.pos)return null;return new ti(e.pos,r.pos,this.mark)}merge(t){if(t instanceof ti&&t.mark.eq(this.mark)&&this.from<=t.to&&this.to>=t.from)return new ti(Math.min(this.from,t.from),Math.max(this.to,t.to),this.mark);return null}toJSON(){return{stepType:"removeMark",mark:this.mark.toJSON(),from:this.from,to:this.to}}static fromJSON(t,e){if(typeof e.from!="number"||typeof e.to!="number")throw new RangeError("Invalid input for RemoveMarkStep.fromJSON");return new ti(e.from,e.to,t.markFromJSON(e.mark))}}Gr.jsonID("removeMark",ti);class ei extends Gr{constructor(t,e){super();this.pos=t;this.mark=e}apply(t){let e=t.nodeAt(this.pos);if(!e)return Xr.fail("No node at mark step's position");let r=e.type.create(e.attrs,null,this.mark.addToSet(e.marks));return Xr.fromReplace(t,this.pos,this.pos+1,new ye(we.from(r),0,e.isLeaf?0:1))}invert(t){let e=t.nodeAt(this.pos);if(e){let t=this.mark.addToSet(e.marks);if(t.length==e.marks.length){for(let r=0;r<e.marks.length;r++)if(!e.marks[r].isInSet(t))return new ei(this.pos,e.marks[r]);return new ei(this.pos,this.mark)}}return new ri(this.pos,this.mark)}map(t){let e=t.mapResult(this.pos,1);return e.deletedAfter?null:new ei(e.pos,this.mark)}toJSON(){return{stepType:"addNodeMark",pos:this.pos,mark:this.mark.toJSON()}}static fromJSON(t,e){if(typeof e.pos!="number")throw new RangeError("Invalid input for AddNodeMarkStep.fromJSON");return new ei(e.pos,t.markFromJSON(e.mark))}}Gr.jsonID("addNodeMark",ei);class ri extends Gr{constructor(t,e){super();this.pos=t;this.mark=e}apply(t){let e=t.nodeAt(this.pos);if(!e)return Xr.fail("No node at mark step's position");let r=e.type.create(e.attrs,null,this.mark.removeFromSet(e.marks));return Xr.fromReplace(t,this.pos,this.pos+1,new ye(we.from(r),0,e.isLeaf?0:1))}invert(t){let e=t.nodeAt(this.pos);if(!e||!this.mark.isInSet(e.marks))return this;return new ei(this.pos,this.mark)}map(t){let e=t.mapResult(this.pos,1);return e.deletedAfter?null:new ri(e.pos,this.mark)}toJSON(){return{stepType:"removeNodeMark",pos:this.pos,mark:this.mark.toJSON()}}static fromJSON(t,e){if(typeof e.pos!="number")throw new RangeError("Invalid input for RemoveNodeMarkStep.fromJSON");return new ri(e.pos,t.markFromJSON(e.mark))}}Gr.jsonID("removeNodeMark",ri);class ii extends Gr{constructor(t,e,r,i=false){super();this.from=t;this.to=e;this.slice=r;this.structure=i}apply(t){if(this.structure&&si(t,this.from,this.to))return Xr.fail("Structure replace would overwrite content");return Xr.fromReplace(t,this.from,this.to,this.slice)}getMap(){return new Zr([this.from,this.to-this.from,this.slice.size])}invert(t){return new ii(this.from,this.from+this.slice.size,t.slice(this.from,this.to))}map(t){let e=t.mapResult(this.from,1),r=t.mapResult(this.to,-1);if(e.deletedAcross&&r.deletedAcross)return null;return new ii(e.pos,Math.max(e.pos,r.pos),this.slice)}merge(t){if(!(t instanceof ii)||t.structure||this.structure)return null;if(this.from+this.slice.size==t.from&&!this.slice.openEnd&&!t.slice.openStart){let e=this.slice.size+t.slice.size==0?ye.empty:new ye(this.slice.content.append(t.slice.content),this.slice.openStart,t.slice.openEnd);return new ii(this.from,this.to+(t.to-t.from),e,this.structure)}else if(t.to==this.from&&!this.slice.openStart&&!t.slice.openEnd){let e=this.slice.size+t.slice.size==0?ye.empty:new ye(t.slice.content.append(this.slice.content),t.slice.openStart,this.slice.openEnd);return new ii(t.from,this.to,e,this.structure)}else{return null}}toJSON(){let t={stepType:"replace",from:this.from,to:this.to};if(this.slice.size)t.slice=this.slice.toJSON();if(this.structure)t.structure=true;return t}static fromJSON(t,e){if(typeof e.from!="number"||typeof e.to!="number")throw new RangeError("Invalid input for ReplaceStep.fromJSON");return new ii(e.from,e.to,ye.fromJSON(t,e.slice),!!e.structure)}}Gr.jsonID("replace",ii);class ni extends Gr{constructor(t,e,r,i,n,s,l=false){super();this.from=t;this.to=e;this.gapFrom=r;this.gapTo=i;this.slice=n;this.insert=s;this.structure=l}apply(t){if(this.structure&&(si(t,this.from,this.gapFrom)||si(t,this.gapTo,this.to)))return Xr.fail("Structure gap-replace would overwrite content");let e=t.slice(this.gapFrom,this.gapTo);if(e.openStart||e.openEnd)return Xr.fail("Gap is not a flat range");let r=this.slice.insertAt(this.insert,e.content);if(!r)return Xr.fail("Content does not fit in gap");return Xr.fromReplace(t,this.from,this.to,r)}getMap(){return new Zr([this.from,this.gapFrom-this.from,this.insert,this.gapTo,this.to-this.gapTo,this.slice.size-this.insert])}invert(t){let e=this.gapTo-this.gapFrom;return new ni(this.from,this.from+this.slice.size+e,this.from+this.insert,this.from+this.insert+e,t.slice(this.from,this.to).removeBetween(this.gapFrom-this.from,this.gapTo-this.from),this.gapFrom-this.from,this.structure)}map(t){let e=t.mapResult(this.from,1),r=t.mapResult(this.to,-1);let i=t.map(this.gapFrom,-1),n=t.map(this.gapTo,1);if(e.deletedAcross&&r.deletedAcross||i<e.pos||n>r.pos)return null;return new ni(e.pos,r.pos,i,n,this.slice,this.insert,this.structure)}toJSON(){let t={stepType:"replaceAround",from:this.from,to:this.to,gapFrom:this.gapFrom,gapTo:this.gapTo,insert:this.insert};if(this.slice.size)t.slice=this.slice.toJSON();if(this.structure)t.structure=true;return t}static fromJSON(t,e){if(typeof e.from!="number"||typeof e.to!="number"||typeof e.gapFrom!="number"||typeof e.gapTo!="number"||typeof e.insert!="number")throw new RangeError("Invalid input for ReplaceAroundStep.fromJSON");return new ni(e.from,e.to,e.gapFrom,e.gapTo,ye.fromJSON(t,e.slice),e.insert,!!e.structure)}}Gr.jsonID("replaceAround",ni);function si(t,e,r){let i=t.resolve(e),n=r-e,s=i.depth;while(n>0&&s>0&&i.indexAfter(s)==i.node(s).childCount){s--;n--}if(n>0){let t=i.node(s).maybeChild(i.indexAfter(s));while(n>0){if(!t||t.isLeaf)return true;t=t.firstChild;n--}}return false}function li(t,e,r,i){let n=[],s=[];let l,o;t.doc.nodesBetween(e,r,((t,u,f)=>{if(!t.isInline)return;let h=t.marks;if(!i.isInSet(h)&&f.type.allowsMarkType(i.type)){let f=Math.max(u,e),a=Math.min(u+t.nodeSize,r);let c=i.addToSet(h);for(let t=0;t<h.length;t++){if(!h[t].isInSet(c)){if(l&&l.to==f&&l.mark.eq(h[t]))l.to=a;else n.push(l=new ti(f,a,h[t]))}}if(o&&o.to==f)o.to=a;else s.push(o=new Qr(f,a,i))}}));n.forEach((e=>t.step(e)));s.forEach((e=>t.step(e)))}function oi(t,e,r,i){let n=[],s=0;t.doc.nodesBetween(e,r,((t,l)=>{if(!t.isInline)return;s++;let o=null;if(i instanceof ar){let e=t.marks,r;while(r=i.isInSet(e)){(o||(o=[])).push(r);e=r.removeFromSet(e)}}else if(i){if(i.isInSet(t.marks))o=[i]}else{o=t.marks}if(o&&o.length){let i=Math.min(l+t.nodeSize,r);for(let t=0;t<o.length;t++){let r=o[t],u;for(let t=0;t<n.length;t++){let e=n[t];if(e.step==s-1&&r.eq(n[t].style))u=e}if(u){u.to=i;u.step=s}else{n.push({style:r,from:Math.max(l,e),to:i,step:s})}}}}));n.forEach((e=>t.step(new ti(e.from,e.to,e.style))))}function ui(t,e,r,i=r.contentMatch){let n=t.doc.nodeAt(e);let s=[],l=e+1;for(let e=0;e<n.childCount;e++){let o=n.child(e),u=l+o.nodeSize;let f=i.matchType(o.type);if(!f){s.push(new ii(l,u,ye.empty))}else{i=f;for(let e=0;e<o.marks.length;e++)if(!r.allowsMarkType(o.marks[e].type))t.step(new ti(l,u,o.marks[e]));if(o.isText&&!r.spec.code){let t,e=/\r?\n|\r/g,i;while(t=e.exec(o.text)){if(!i)i=new ye(we.from(r.schema.text(" ",r.allowedMarks(o.marks))),0,0);s.push(new ii(l+t.index,l+t.index+t[0].length,i))}}}l=u}if(!i.validEnd){let e=i.fillBefore(we.empty,true);t.replace(l,l,new ye(e,0,0))}for(let e=s.length-1;e>=0;e--)t.step(s[e])}function fi(t,e,r){return(e==0||t.canReplace(e,t.childCount))&&(r==t.childCount||t.canReplace(0,r))}function hi(t){let e=t.parent;let r=e.content.cutByIndex(t.startIndex,t.endIndex);for(let e=t.depth;;--e){let i=t.$from.node(e);let n=t.$from.index(e),s=t.$to.indexAfter(e);if(e<t.depth&&i.canReplace(n,s,r))return e;if(e==0||i.type.spec.isolating||!fi(i,n,s))break}return null}function ai(t,e,r){let{$from:i,$to:n,depth:s}=e;let l=i.before(s+1),o=n.after(s+1);let u=l,f=o;let h=we.empty,a=0;for(let t=s,e=false;t>r;t--)if(e||i.index(t)>0){e=true;h=we.from(i.node(t).copy(h));a++}else{u--}let c=we.empty,d=0;for(let t=s,e=false;t>r;t--)if(e||n.after(t+1)<n.end(t)){e=true;c=we.from(n.node(t).copy(c));d++}else{f++}t.step(new ni(u,f,l,o,new ye(h.append(c),a,d),h.size-a,true))}function ci(t,e,r=null,i=t){let n=pi(t,e);let s=n&&mi(i,e);if(!s)return null;return n.map(di).concat({type:e,attrs:r}).concat(s.map(di))}function di(t){return{type:t,attrs:null}}function pi(t,e){let{parent:r,startIndex:i,endIndex:n}=t;let s=r.contentMatchAt(i).findWrapping(e);if(!s)return null;let l=s.length?s[0]:e;return r.canReplaceWith(i,n,l)?s:null}function mi(t,e){let{parent:r,startIndex:i,endIndex:n}=t;let s=r.child(i);let l=e.contentMatch.findWrapping(s.type);if(!l)return null;let o=l.length?l[l.length-1]:e;let u=o.contentMatch;for(let t=i;u&&t<n;t++)u=u.matchType(r.child(t).type);if(!u||!u.validEnd)return null;return l}function wi(t,e,r){let i=we.empty;for(let t=r.length-1;t>=0;t--){if(i.size){let e=r[t].type.contentMatch.matchFragment(i);if(!e||!e.validEnd)throw new RangeError("Wrapper type given to Transform.wrap does not form valid content of its parent wrapper")}i=we.from(r[t].type.create(r[t].attrs,i))}let n=e.start,s=e.end;t.step(new ni(n,s,n,s,new ye(i,0,0),r.length,true))}function gi(t,e,r,i,n){if(!i.isTextblock)throw new RangeError("Type given to setBlockType should be a textblock");let s=t.steps.length;t.doc.nodesBetween(e,r,((e,r)=>{if(e.isTextblock&&!e.hasMarkup(i,n)&&bi(t.doc,t.mapping.slice(s).map(r),i)){t.clearIncompatible(t.mapping.slice(s).map(r,1),i);let l=t.mapping.slice(s);let o=l.map(r,1),u=l.map(r+e.nodeSize,1);t.step(new ni(o,u,o+1,u-1,new ye(we.from(i.create(n,null,e.marks)),0,0),1,true));return false}}))}function bi(t,e,r){let i=t.resolve(e),n=i.index();return i.parent.canReplaceWith(n,n+1,r)}function ki(t,e,r,i,n){let s=t.doc.nodeAt(e);if(!s)throw new RangeError("No node at given position");if(!r)r=s.type;let l=r.create(i,null,n||s.marks);if(s.isLeaf)return t.replaceWith(e,e+s.nodeSize,l);if(!r.validContent(s.content))throw new RangeError("Invalid content for node type "+r.name);t.step(new ni(e,e+s.nodeSize,e+1,e+s.nodeSize-1,new ye(we.from(l),0,0),1,true))}function Di(t,e,r=1,i){let n=t.resolve(e),s=n.depth-r;let l=i&&i[i.length-1]||n.parent;if(s<0||n.parent.type.spec.isolating||!n.parent.canReplace(n.index(),n.parent.childCount)||!l.type.validContent(n.parent.content.cutByIndex(n.index(),n.parent.childCount)))return false;for(let t=n.depth-1,e=r-2;t>s;t--,e--){let r=n.node(t),s=n.index(t);if(r.type.spec.isolating)return false;let l=r.content.cutByIndex(s,r.childCount);let o=i&&i[e+1];if(o)l=l.replaceChild(0,o.type.create(o.attrs));let u=i&&i[e]||r;if(!r.canReplace(s+1,r.childCount)||!u.type.validContent(l))return false}let o=n.indexAfter(s);let u=i&&i[0];return n.node(s).canReplaceWith(o,o,u?u.type:n.node(s+1).type)}function vi(t,e,r=1,i){let n=t.doc.resolve(e),s=we.empty,l=we.empty;for(let t=n.depth,e=n.depth-r,o=r-1;t>e;t--,o--){s=we.from(n.node(t).copy(s));let e=i&&i[o];l=we.from(e?e.type.create(e.attrs,l):n.node(t).copy(l))}t.step(new ii(e,e,new ye(s.append(l),r,r),true))}function yi(t,e){let r=t.resolve(e),i=r.index();return Fi(r.nodeBefore,r.nodeAfter)&&r.parent.canReplace(i,i+1)}function Fi(t,e){return!!(t&&e&&!t.isLeaf&&t.canAppend(e))}function Ei(t,e,r=-1){let i=t.resolve(e);for(let t=i.depth;;t--){let n,s,l=i.index(t);if(t==i.depth){n=i.nodeBefore;s=i.nodeAfter}else if(r>0){n=i.node(t+1);l++;s=i.node(t).maybeChild(l)}else{n=i.node(t).maybeChild(l-1);s=i.node(t+1)}if(n&&!n.isTextblock&&Fi(n,s)&&i.node(t).canReplace(l,l+1))return e;if(t==0)break;e=r<0?i.before(t):i.after(t)}}function Mi(t,e,r){let i=new ii(e-r,e+r,ye.empty,true);t.step(i)}function xi(t,e,r){let i=t.resolve(e);if(i.parent.canReplaceWith(i.index(),i.index(),r))return e;if(i.parentOffset==0)for(let t=i.depth-1;t>=0;t--){let e=i.index(t);if(i.node(t).canReplaceWith(e,e,r))return i.before(t+1);if(e>0)return null}if(i.parentOffset==i.parent.content.size)for(let t=i.depth-1;t>=0;t--){let e=i.indexAfter(t);if(i.node(t).canReplaceWith(e,e,r))return i.after(t+1);if(e<i.node(t).childCount)return null}return null}function Ai(t,e,r){let i=t.resolve(e);if(!r.content.size)return e;let n=r.content;for(let t=0;t<r.openStart;t++)n=n.firstChild.content;for(let t=1;t<=(r.openStart==0&&r.size?2:1);t++){for(let e=i.depth;e>=0;e--){let r=e==i.depth?0:i.pos<=(i.start(e+1)+i.end(e+1))/2?-1:1;let s=i.index(e)+(r>0?1:0);let l=i.node(e),o=false;if(t==1){o=l.canReplace(s,s,n)}else{let t=l.contentMatchAt(s).findWrapping(n.firstChild.type);o=t&&l.canReplaceWith(s,s,t[0])}if(o)return r==0?i.pos:r<0?i.before(e+1):i.after(e+1)}}return null}function Ci(t,e,r=e,i=ye.empty){if(e==r&&!i.size)return null;let n=t.resolve(e),s=t.resolve(r);if(Si(n,s,i))return new ii(e,r,i);return new Oi(n,s,i).fit()}function Si(t,e,r){return!r.openStart&&!r.openEnd&&t.start()==e.start()&&t.parent.canReplace(t.index(),e.index(),r.content)}class Oi{constructor(t,e,r){this.$from=t;this.$to=e;this.unplaced=r;this.frontier=[];this.placed=we.empty;for(let e=0;e<=t.depth;e++){let r=t.node(e);this.frontier.push({type:r.type,match:r.contentMatchAt(t.indexAfter(e))})}for(let e=t.depth;e>0;e--)this.placed=we.from(t.node(e).copy(this.placed))}get depth(){return this.frontier.length-1}fit(){while(this.unplaced.size){let t=this.findFittable();if(t)this.placeNodes(t);else this.openMore()||this.dropNode()}let t=this.mustMoveInline(),e=this.placed.size-this.depth-this.$from.depth;let r=this.$from,i=this.close(t<0?this.$to:r.doc.resolve(t));if(!i)return null;let n=this.placed,s=r.depth,l=i.depth;while(s&&l&&n.childCount==1){n=n.firstChild.content;s--;l--}let o=new ye(n,s,l);if(t>-1)return new ni(r.pos,t,this.$to.pos,this.$to.end(),o,e);if(o.size||r.pos!=this.$to.pos)return new ii(r.pos,i.pos,o);return null}findFittable(){let t=this.unplaced.openStart;for(let e=this.unplaced.content,r=0,i=this.unplaced.openEnd;r<t;r++){let n=e.firstChild;if(e.childCount>1)i=0;if(n.type.spec.isolating&&i<=r){t=r;break}e=n.content}for(let e=1;e<=2;e++){for(let r=e==1?t:this.unplaced.openStart;r>=0;r--){let t,i=null;if(r){i=Bi(this.unplaced.content,r-1).firstChild;t=i.content}else{t=this.unplaced.content}let n=t.firstChild;for(let t=this.depth;t>=0;t--){let{type:s,match:l}=this.frontier[t],o,u=null;if(e==1&&(n?l.matchType(n.type)||(u=l.fillBefore(we.from(n),false)):i&&s.compatibleContent(i.type)))return{sliceDepth:r,frontierDepth:t,parent:i,inject:u};else if(e==2&&n&&(o=l.findWrapping(n.type)))return{sliceDepth:r,frontierDepth:t,parent:i,wrap:o};if(i&&l.matchType(i.type))break}}}}openMore(){let{content:t,openStart:e,openEnd:r}=this.unplaced;let i=Bi(t,e);if(!i.childCount||i.firstChild.isLeaf)return false;this.unplaced=new ye(t,e+1,Math.max(r,i.size+e>=t.size-r?e+1:0));return true}dropNode(){let{content:t,openStart:e,openEnd:r}=this.unplaced;let i=Bi(t,e);if(i.childCount<=1&&e>0){let n=t.size-e<=e+i.size;this.unplaced=new ye($i(t,e-1,1),e-1,n?e-1:r)}else{this.unplaced=new ye($i(t,e,1),e,r)}}placeNodes({sliceDepth:t,frontierDepth:e,parent:r,inject:i,wrap:n}){while(this.depth>e)this.closeFrontierNode();if(n)for(let t=0;t<n.length;t++)this.openFrontierNode(n[t]);let s=this.unplaced,l=r?r.content:s.content;let o=s.openStart-t;let u=0,f=[];let{match:h,type:a}=this.frontier[e];if(i){for(let t=0;t<i.childCount;t++)f.push(i.child(t));h=h.matchFragment(i)}let c=l.size+t-(s.content.size-s.openEnd);while(u<l.childCount){let t=l.child(u),e=h.matchType(t.type);if(!e)break;u++;if(u>1||o==0||t.content.size){h=e;f.push(Ri(t.mark(a.allowedMarks(t.marks)),u==1?o:0,u==l.childCount?c:-1))}}let d=u==l.childCount;if(!d)c=-1;this.placed=_i(this.placed,e,we.from(f));this.frontier[e].match=h;if(d&&c<0&&r&&r.type==this.frontier[this.depth].type&&this.frontier.length>1)this.closeFrontierNode();for(let t=0,e=l;t<c;t++){let t=e.lastChild;this.frontier.push({type:t.type,match:t.contentMatchAt(t.childCount)});e=t.content}this.unplaced=!d?new ye($i(s.content,t,u),s.openStart,s.openEnd):t==0?ye.empty:new ye($i(s.content,t-1,1),t-1,c<0?s.openEnd:t-1)}mustMoveInline(){if(!this.$to.parent.isTextblock)return-1;let t=this.frontier[this.depth],e;if(!t.type.isTextblock||!ji(this.$to,this.$to.depth,t.type,t.match,false)||this.$to.depth==this.depth&&(e=this.findCloseLevel(this.$to))&&e.depth==this.depth)return-1;let{depth:r}=this.$to,i=this.$to.after(r);while(r>1&&i==this.$to.end(--r))++i;return i}findCloseLevel(t){t:for(let e=Math.min(this.depth,t.depth);e>=0;e--){let{match:r,type:i}=this.frontier[e];let n=e<t.depth&&t.end(e+1)==t.pos+(t.depth-(e+1));let s=ji(t,e,i,r,n);if(!s)continue;for(let r=e-1;r>=0;r--){let{match:e,type:i}=this.frontier[r];let n=ji(t,r,i,e,true);if(!n||n.childCount)continue t}return{depth:e,fit:s,move:n?t.doc.resolve(t.after(e+1)):t}}}close(t){let e=this.findCloseLevel(t);if(!e)return null;while(this.depth>e.depth)this.closeFrontierNode();if(e.fit.childCount)this.placed=_i(this.placed,e.depth,e.fit);t=e.move;for(let r=e.depth+1;r<=t.depth;r++){let e=t.node(r),i=e.type.contentMatch.fillBefore(e.content,true,t.index(r));this.openFrontierNode(e.type,e.attrs,i)}return t}openFrontierNode(t,e=null,r){let i=this.frontier[this.depth];i.match=i.match.matchType(t);this.placed=_i(this.placed,this.depth,we.from(t.create(e,r)));this.frontier.push({type:t,match:t.contentMatch})}closeFrontierNode(){let t=this.frontier.pop();let e=t.match.fillBefore(we.empty,true);if(e.childCount)this.placed=_i(this.placed,this.frontier.length,e)}}function $i(t,e,r){if(e==0)return t.cutByIndex(r,t.childCount);return t.replaceChild(0,t.firstChild.copy($i(t.firstChild.content,e-1,r)))}function _i(t,e,r){if(e==0)return t.append(r);return t.replaceChild(t.childCount-1,t.lastChild.copy(_i(t.lastChild.content,e-1,r)))}function Bi(t,e){for(let r=0;r<e;r++)t=t.firstChild.content;return t}function Ri(t,e,r){if(e<=0)return t;let i=t.content;if(e>1)i=i.replaceChild(0,Ri(i.firstChild,e-1,i.childCount==1?r-1:0));if(e>0){i=t.type.contentMatch.fillBefore(i).append(i);if(r<=0)i=i.append(t.type.contentMatch.matchFragment(i).fillBefore(we.empty,true))}return t.copy(i)}function ji(t,e,r,i,n){let s=t.node(e),l=n?t.indexAfter(e):t.index(e);if(l==s.childCount&&!r.compatibleContent(s.type))return null;let o=i.fillBefore(s.content,true,l);return o&&!Ni(r,s.content,l)?o:null}function Ni(t,e,r){for(let i=r;i<e.childCount;i++)if(!t.allowsMarks(e.child(i).marks))return true;return false}function qi(t){return t.spec.defining||t.spec.definingForContent}function zi(t,e,r,i){if(!i.size)return t.deleteRange(e,r);let n=t.doc.resolve(e),s=t.doc.resolve(r);if(Si(n,s,i))return t.step(new ii(e,r,i));let l=Ji(n,t.doc.resolve(r));if(l[l.length-1]==0)l.pop();let o=-(n.depth+1);l.unshift(o);for(let t=n.depth,e=n.pos-1;t>0;t--,e--){let r=n.node(t).type.spec;if(r.defining||r.definingAsContext||r.isolating)break;if(l.indexOf(t)>-1)o=t;else if(n.before(t)==e)l.splice(1,0,-t)}let u=l.indexOf(o);let f=[],h=i.openStart;for(let t=i.content,e=0;;e++){let r=t.firstChild;f.push(r);if(e==i.openStart)break;t=r.content}for(let t=h-1;t>=0;t--){let e=f[t],r=qi(e.type);if(r&&!e.sameMarkup(n.node(Math.abs(o)-1)))h=t;else if(r||!e.type.isTextblock)break}for(let e=i.openStart;e>=0;e--){let o=(e+h+1)%(i.openStart+1);let a=f[o];if(!a)continue;for(let e=0;e<l.length;e++){let f=l[(e+u)%l.length],h=true;if(f<0){h=false;f=-f}let c=n.node(f-1),d=n.index(f-1);if(c.canReplaceWith(d,d,a.type,a.marks))return t.replace(n.before(f),h?s.after(f):r,new ye(Ti(i.content,0,i.openStart,o),o,i.openEnd))}}let a=t.steps.length;for(let o=l.length-1;o>=0;o--){t.replace(e,r,i);if(t.steps.length>a)break;let u=l[o];if(u<0)continue;e=n.before(u);r=s.after(u)}}function Ti(t,e,r,i,n){if(e<r){let n=t.firstChild;t=t.replaceChild(0,n.copy(Ti(n.content,e+1,r,i,n)))}if(e>i){let e=n.contentMatchAt(0);let r=e.fillBefore(t).append(t);t=r.append(e.matchFragment(r).fillBefore(we.empty,true))}return t}function Ii(t,e,r,i){if(!i.isInline&&e==r&&t.doc.resolve(e).parent.content.size){let n=xi(t.doc,e,i.type);if(n!=null)e=r=n}t.replaceRange(e,r,new ye(we.from(i),0,0))}function Pi(t,e,r){let i=t.doc.resolve(e),n=t.doc.resolve(r);let s=Ji(i,n);for(let e=0;e<s.length;e++){let r=s[e],l=e==s.length-1;if(l&&r==0||i.node(r).type.contentMatch.validEnd)return t.delete(i.start(r),n.end(r));if(r>0&&(l||i.node(r-1).canReplace(i.index(r-1),n.indexAfter(r-1))))return t.delete(i.before(r),n.after(r))}for(let s=1;s<=i.depth&&s<=n.depth;s++){if(e-i.start(s)==i.depth-s&&r>i.end(s)&&n.end(s)-r!=n.depth-s)return t.delete(i.before(s),r)}t.delete(e,r)}function Ji(t,e){let r=[],i=Math.min(t.depth,e.depth);for(let n=i;n>=0;n--){let i=t.start(n);if(i<t.pos-(t.depth-n)||e.end(n)>e.pos+(e.depth-n)||t.node(n).type.spec.isolating||e.node(n).type.spec.isolating)break;if(i==e.start(n)||n==t.depth&&n==e.depth&&t.parent.inlineContent&&e.parent.inlineContent&&n&&e.start(n-1)==i-1)r.push(n)}return r}class Li extends Gr{constructor(t,e,r){super();this.pos=t;this.attr=e;this.value=r}apply(t){let e=t.nodeAt(this.pos);if(!e)return Xr.fail("No node at attribute step's position");let r=Object.create(null);for(let t in e.attrs)r[t]=e.attrs[t];r[this.attr]=this.value;let i=e.type.create(r,null,e.marks);return Xr.fromReplace(t,this.pos,this.pos+1,new ye(we.from(i),0,e.isLeaf?0:1))}getMap(){return Zr.empty}invert(t){return new Li(this.pos,this.attr,t.nodeAt(this.pos).attrs[this.attr])}map(t){let e=t.mapResult(this.pos,1);return e.deletedAfter?null:new Li(e.pos,this.attr,this.value)}toJSON(){return{stepType:"attr",pos:this.pos,attr:this.attr,value:this.value}}static fromJSON(t,e){if(typeof e.pos!="number"||typeof e.attr!="string")throw new RangeError("Invalid input for AttrStep.fromJSON");return new Li(e.pos,e.attr,e.value)}}Gr.jsonID("attr",Li);class Wi extends Gr{constructor(t,e){super();this.attr=t;this.value=e}apply(t){let e=Object.create(null);for(let r in t.attrs)e[r]=t.attrs[r];e[this.attr]=this.value;let r=t.type.create(e,t.content,t.marks);return Xr.ok(r)}getMap(){return Zr.empty}invert(t){return new Wi(this.attr,t.attrs[this.attr])}map(t){return this}toJSON(){return{stepType:"docAttr",attr:this.attr,value:this.value}}static fromJSON(t,e){if(typeof e.attr!="string")throw new RangeError("Invalid input for DocAttrStep.fromJSON");return new Wi(e.attr,e.value)}}Gr.jsonID("docAttr",Wi);let Ui=class extends Error{};Ui=function t(e){let r=Error.call(this,e);r.__proto__=t.prototype;return r};Ui.prototype=Object.create(Error.prototype);Ui.prototype.constructor=Ui;Ui.prototype.name="TransformError";class Hi{constructor(t){this.doc=t;this.steps=[];this.docs=[];this.mapping=new Kr}get before(){return this.docs.length?this.docs[0]:this.doc}step(t){let e=this.maybeStep(t);if(e.failed)throw new Ui(e.failed);return this}maybeStep(t){let e=t.apply(this.doc);if(!e.failed)this.addStep(t,e.doc);return e}get docChanged(){return this.steps.length>0}addStep(t,e){this.docs.push(this.doc);this.steps.push(t);this.mapping.appendMap(t.getMap());this.doc=e}replace(t,e=t,r=ye.empty){let i=Ci(this.doc,t,e,r);if(i)this.step(i);return this}replaceWith(t,e,r){return this.replace(t,e,new ye(we.from(r),0,0))}delete(t,e){return this.replace(t,e,ye.empty)}insert(t,e){return this.replaceWith(t,t,e)}replaceRange(t,e,r){zi(this,t,e,r);return this}replaceRangeWith(t,e,r){Ii(this,t,e,r);return this}deleteRange(t,e){Pi(this,t,e);return this}lift(t,e){ai(this,t,e);return this}join(t,e=1){Mi(this,t,e);return this}wrap(t,e){wi(this,t,e);return this}setBlockType(t,e=t,r,i=null){gi(this,t,e,r,i);return this}setNodeMarkup(t,e,r=null,i){ki(this,t,e,r,i);return this}setNodeAttribute(t,e,r){this.step(new Li(t,e,r));return this}setDocAttribute(t,e){this.step(new Wi(t,e));return this}addNodeMark(t,e){this.step(new ei(t,e));return this}removeNodeMark(t,e){if(!(e instanceof De)){let r=this.doc.nodeAt(t);if(!r)throw new RangeError("No node at position "+t);e=e.isInSet(r.marks);if(!e)return this}this.step(new ri(t,e));return this}split(t,e=1,r){vi(this,t,e,r);return this}addMark(t,e,r){li(this,t,e,r);return this}removeMark(t,e,r){oi(this,t,e,r);return this}clearIncompatible(t,e,r){ui(this,t,e,r);return this}}const Zi=Object.create(null);class Ki{constructor(t,e,r){this.$anchor=t;this.$head=e;this.ranges=r||[new Vi(t.min(e),t.max(e))]}get anchor(){return this.$anchor.pos}get head(){return this.$head.pos}get from(){return this.$from.pos}get to(){return this.$to.pos}get $from(){return this.ranges[0].$from}get $to(){return this.ranges[0].$to}get empty(){let t=this.ranges;for(let e=0;e<t.length;e++)if(t[e].$from.pos!=t[e].$to.pos)return false;return true}content(){return this.$from.doc.slice(this.from,this.to,true)}replace(t,e=ye.empty){let r=e.content.lastChild,i=null;for(let t=0;t<e.openEnd;t++){i=r;r=r.lastChild}let n=t.steps.length,s=this.ranges;for(let l=0;l<s.length;l++){let{$from:o,$to:u}=s[l],f=t.mapping.slice(n);t.replaceRange(f.map(o.pos),f.map(u.pos),l?ye.empty:e);if(l==0)ln(t,n,(r?r.isInline:i&&i.isTextblock)?-1:1)}}replaceWith(t,e){let r=t.steps.length,i=this.ranges;for(let n=0;n<i.length;n++){let{$from:s,$to:l}=i[n],o=t.mapping.slice(r);let u=o.map(s.pos),f=o.map(l.pos);if(n){t.deleteRange(u,f)}else{t.replaceRangeWith(u,f,e);ln(t,r,e.isInline?-1:1)}}}static findFrom(t,e,r=false){let i=t.parent.inlineContent?new Yi(t):sn(t.node(0),t.parent,t.pos,t.index(),e,r);if(i)return i;for(let i=t.depth-1;i>=0;i--){let n=e<0?sn(t.node(0),t.node(i),t.before(i+1),t.index(i),e,r):sn(t.node(0),t.node(i),t.after(i+1),t.index(i)+1,e,r);if(n)return n}return null}static near(t,e=1){return this.findFrom(t,e)||this.findFrom(t,-e)||new rn(t.node(0))}static atStart(t){return sn(t,t,0,0,1)||new rn(t)}static atEnd(t){return sn(t,t,t.content.size,t.childCount,-1)||new rn(t)}static fromJSON(t,e){if(!e||!e.type)throw new RangeError("Invalid input for Selection.fromJSON");let r=Zi[e.type];if(!r)throw new RangeError(`No selection type ${e.type} defined`);return r.fromJSON(t,e)}static jsonID(t,e){if(t in Zi)throw new RangeError("Duplicate use of selection JSON ID "+t);Zi[t]=e;e.prototype.jsonID=t;return e}getBookmark(){return Yi.between(this.$anchor,this.$head).getBookmark()}}Ki.prototype.visible=true;class Vi{constructor(t,e){this.$from=t;this.$to=e}}let Gi=false;function Xi(t){if(!Gi&&!t.parent.inlineContent){Gi=true;console["warn"]("TextSelection endpoint not pointing into a node with inline content ("+t.parent.type.name+")")}}class Yi extends Ki{constructor(t,e=t){Xi(t);Xi(e);super(t,e)}get $cursor(){return this.$anchor.pos==this.$head.pos?this.$head:null}map(t,e){let r=t.resolve(e.map(this.head));if(!r.parent.inlineContent)return Ki.near(r);let i=t.resolve(e.map(this.anchor));return new Yi(i.parent.inlineContent?i:r,r)}replace(t,e=ye.empty){super.replace(t,e);if(e==ye.empty){let e=this.$from.marksAcross(this.$to);if(e)t.ensureMarks(e)}}eq(t){return t instanceof Yi&&t.anchor==this.anchor&&t.head==this.head}getBookmark(){return new Qi(this.anchor,this.head)}toJSON(){return{type:"text",anchor:this.anchor,head:this.head}}static fromJSON(t,e){if(typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid input for TextSelection.fromJSON");return new Yi(t.resolve(e.anchor),t.resolve(e.head))}static create(t,e,r=e){let i=t.resolve(e);return new this(i,r==e?i:t.resolve(r))}static between(t,e,r){let i=t.pos-e.pos;if(!r||i)r=i>=0?1:-1;if(!e.parent.inlineContent){let t=Ki.findFrom(e,r,true)||Ki.findFrom(e,-r,true);if(t)e=t.$head;else return Ki.near(e,r)}if(!t.parent.inlineContent){if(i==0){t=e}else{t=(Ki.findFrom(t,-r,true)||Ki.findFrom(t,r,true)).$anchor;if(t.pos<e.pos!=i<0)t=e}}return new Yi(t,e)}}Ki.jsonID("text",Yi);class Qi{constructor(t,e){this.anchor=t;this.head=e}map(t){return new Qi(t.map(this.anchor),t.map(this.head))}resolve(t){return Yi.between(t.resolve(this.anchor),t.resolve(this.head))}}class tn extends Ki{constructor(t){let e=t.nodeAfter;let r=t.node(0).resolve(t.pos+e.nodeSize);super(t,r);this.node=e}map(t,e){let{deleted:r,pos:i}=e.mapResult(this.anchor);let n=t.resolve(i);if(r)return Ki.near(n);return new tn(n)}content(){return new ye(we.from(this.node),0,0)}eq(t){return t instanceof tn&&t.anchor==this.anchor}toJSON(){return{type:"node",anchor:this.anchor}}getBookmark(){return new en(this.anchor)}static fromJSON(t,e){if(typeof e.anchor!="number")throw new RangeError("Invalid input for NodeSelection.fromJSON");return new tn(t.resolve(e.anchor))}static create(t,e){return new tn(t.resolve(e))}static isSelectable(t){return!t.isText&&t.type.spec.selectable!==false}}tn.prototype.visible=false;Ki.jsonID("node",tn);class en{constructor(t){this.anchor=t}map(t){let{deleted:e,pos:r}=t.mapResult(this.anchor);return e?new Qi(r,r):new en(r)}resolve(t){let e=t.resolve(this.anchor),r=e.nodeAfter;if(r&&tn.isSelectable(r))return new tn(e);return Ki.near(e)}}class rn extends Ki{constructor(t){super(t.resolve(0),t.resolve(t.content.size))}replace(t,e=ye.empty){if(e==ye.empty){t.delete(0,t.doc.content.size);let e=Ki.atStart(t.doc);if(!e.eq(t.selection))t.setSelection(e)}else{super.replace(t,e)}}toJSON(){return{type:"all"}}static fromJSON(t){return new rn(t)}map(t){return new rn(t)}eq(t){return t instanceof rn}getBookmark(){return nn}}Ki.jsonID("all",rn);const nn={map(){return this},resolve(t){return new rn(t)}};function sn(t,e,r,i,n,s=false){if(e.inlineContent)return Yi.create(t,r);for(let l=i-(n>0?0:1);n>0?l<e.childCount:l>=0;l+=n){let i=e.child(l);if(!i.isAtom){let e=sn(t,i,r+n,n<0?i.childCount:0,n,s);if(e)return e}else if(!s&&tn.isSelectable(i)){return tn.create(t,r-(n<0?i.nodeSize:0))}r+=i.nodeSize*n}return null}function ln(t,e,r){let i=t.steps.length-1;if(i<e)return;let n=t.steps[i];if(!(n instanceof ii||n instanceof ni))return;let s=t.mapping.maps[i],l;s.forEach(((t,e,r,i)=>{if(l==null)l=i}));t.setSelection(Ki.near(t.doc.resolve(l),r))}const on=1,un=2,fn=4;class hn extends Hi{constructor(t){super(t.doc);this.curSelectionFor=0;this.updated=0;this.meta=Object.create(null);this.time=Date.now();this.curSelection=t.selection;this.storedMarks=t.storedMarks}get selection(){if(this.curSelectionFor<this.steps.length){this.curSelection=this.curSelection.map(this.doc,this.mapping.slice(this.curSelectionFor));this.curSelectionFor=this.steps.length}return this.curSelection}setSelection(t){if(t.$from.doc!=this.doc)throw new RangeError("Selection passed to setSelection must point at the current document");this.curSelection=t;this.curSelectionFor=this.steps.length;this.updated=(this.updated|on)&~un;this.storedMarks=null;return this}get selectionSet(){return(this.updated&on)>0}setStoredMarks(t){this.storedMarks=t;this.updated|=un;return this}ensureMarks(t){if(!De.sameSet(this.storedMarks||this.selection.$from.marks(),t))this.setStoredMarks(t);return this}addStoredMark(t){return this.ensureMarks(t.addToSet(this.storedMarks||this.selection.$head.marks()))}removeStoredMark(t){return this.ensureMarks(t.removeFromSet(this.storedMarks||this.selection.$head.marks()))}get storedMarksSet(){return(this.updated&un)>0}addStep(t,e){super.addStep(t,e);this.updated=this.updated&~un;this.storedMarks=null}setTime(t){this.time=t;return this}replaceSelection(t){this.selection.replace(this,t);return this}replaceSelectionWith(t,e=true){let r=this.selection;if(e)t=t.mark(this.storedMarks||(r.empty?r.$from.marks():r.$from.marksAcross(r.$to)||De.none));r.replaceWith(this,t);return this}deleteSelection(){this.selection.replace(this);return this}insertText(t,e,r){let i=this.doc.type.schema;if(e==null){if(!t)return this.deleteSelection();return this.replaceSelectionWith(i.text(t),true)}else{if(r==null)r=e;r=r==null?e:r;if(!t)return this.deleteRange(e,r);let n=this.storedMarks;if(!n){let t=this.doc.resolve(e);n=r==e?t.marks():t.marksAcross(this.doc.resolve(r))}this.replaceRangeWith(e,r,i.text(t,n));if(!this.selection.empty)this.setSelection(Ki.near(this.selection.$to));return this}}setMeta(t,e){this.meta[typeof t=="string"?t:t.key]=e;return this}getMeta(t){return this.meta[typeof t=="string"?t:t.key]}get isGeneric(){for(let t in this.meta)return false;return true}scrollIntoView(){this.updated|=fn;return this}get scrolledIntoView(){return(this.updated&fn)>0}}function an(t,e){return!e||!t?t:t.bind(e)}class cn{constructor(t,e,r){this.name=t;this.init=an(e.init,r);this.apply=an(e.apply,r)}}const dn=[new cn("doc",{init(t){return t.doc||t.schema.topNodeType.createAndFill()},apply(t){return t.doc}}),new cn("selection",{init(t,e){return t.selection||Ki.atStart(e.doc)},apply(t){return t.selection}}),new cn("storedMarks",{init(t){return t.storedMarks||null},apply(t,e,r,i){return i.selection.$cursor?t.storedMarks:null}}),new cn("scrollToSelection",{init(){return 0},apply(t,e){return t.scrolledIntoView?e+1:e}})];class pn{constructor(t,e){this.schema=t;this.plugins=[];this.pluginsByKey=Object.create(null);this.fields=dn.slice();if(e)e.forEach((t=>{if(this.pluginsByKey[t.key])throw new RangeError("Adding different instances of a keyed plugin ("+t.key+")");this.plugins.push(t);this.pluginsByKey[t.key]=t;if(t.spec.state)this.fields.push(new cn(t.key,t.spec.state,t))}))}}class mn{constructor(t){this.config=t}get schema(){return this.config.schema}get plugins(){return this.config.plugins}apply(t){return this.applyTransaction(t).state}filterTransaction(t,e=-1){for(let r=0;r<this.config.plugins.length;r++)if(r!=e){let e=this.config.plugins[r];if(e.spec.filterTransaction&&!e.spec.filterTransaction.call(e,t,this))return false}return true}applyTransaction(t){if(!this.filterTransaction(t))return{state:this,transactions:[]};let e=[t],r=this.applyInner(t),i=null;for(;;){let n=false;for(let s=0;s<this.config.plugins.length;s++){let l=this.config.plugins[s];if(l.spec.appendTransaction){let o=i?i[s].n:0,u=i?i[s].state:this;let f=o<e.length&&l.spec.appendTransaction.call(l,o?e.slice(o):e,u,r);if(f&&r.filterTransaction(f,s)){f.setMeta("appendedTransaction",t);if(!i){i=[];for(let t=0;t<this.config.plugins.length;t++)i.push(t<s?{state:r,n:e.length}:{state:this,n:0})}e.push(f);r=r.applyInner(f);n=true}if(i)i[s]={state:r,n:e.length}}}if(!n)return{state:r,transactions:e}}}applyInner(t){if(!t.before.eq(this.doc))throw new RangeError("Applying a mismatched transaction");let e=new mn(this.config),r=this.config.fields;for(let i=0;i<r.length;i++){let n=r[i];e[n.name]=n.apply(t,this[n.name],this,e)}return e}get tr(){return new hn(this)}static create(t){let e=new pn(t.doc?t.doc.type.schema:t.schema,t.plugins);let r=new mn(e);for(let i=0;i<e.fields.length;i++)r[e.fields[i].name]=e.fields[i].init(t,r);return r}reconfigure(t){let e=new pn(this.schema,t.plugins);let r=e.fields,i=new mn(e);for(let e=0;e<r.length;e++){let n=r[e].name;i[n]=this.hasOwnProperty(n)?this[n]:r[e].init(t,i)}return i}toJSON(t){let e={doc:this.doc.toJSON(),selection:this.selection.toJSON()};if(this.storedMarks)e.storedMarks=this.storedMarks.map((t=>t.toJSON()));if(t&&typeof t=="object")for(let r in t){if(r=="doc"||r=="selection")throw new RangeError("The JSON fields `doc` and `selection` are reserved");let i=t[r],n=i.spec.state;if(n&&n.toJSON)e[r]=n.toJSON.call(i,this[i.key])}return e}static fromJSON(t,e,r){if(!e)throw new RangeError("Invalid input for EditorState.fromJSON");if(!t.schema)throw new RangeError("Required config field 'schema' missing");let i=new pn(t.schema,t.plugins);let n=new mn(i);i.fields.forEach((i=>{if(i.name=="doc"){n.doc=Pe.fromJSON(t.schema,e.doc)}else if(i.name=="selection"){n.selection=Ki.fromJSON(n.doc,e.selection)}else if(i.name=="storedMarks"){if(e.storedMarks)n.storedMarks=e.storedMarks.map(t.schema.markFromJSON)}else{if(r)for(let s in r){let l=r[s],o=l.spec.state;if(l.key==i.name&&o&&o.fromJSON&&Object.prototype.hasOwnProperty.call(e,s)){n[i.name]=o.fromJSON.call(l,t,e[s],n);return}}n[i.name]=i.init(t,n)}}));return n}}function wn(t,e,r){for(let i in t){let n=t[i];if(n instanceof Function)n=n.bind(e);else if(i=="handleDOMEvents")n=wn(n,e,{});r[i]=n}return r}class gn{constructor(t){this.spec=t;this.props={};if(t.props)wn(t.props,this,this.props);this.key=t.key?t.key.key:kn("plugin")}getState(t){return t[this.key]}}const bn=Object.create(null);function kn(t){if(t in bn)return t+"$"+ ++bn[t];bn[t]=0;return t+"$"}class Dn{constructor(t="key"){this.key=kn(t)}get(t){return t.config.pluginsByKey[this.key]}getState(t){return t[this.key]}}const vn=function(t){for(var e=0;;e++){t=t.previousSibling;if(!t)return e}};const yn=function(t){let e=t.assignedSlot||t.parentNode;return e&&e.nodeType==11?e.host:e};let Fn=null;const En=function(t,e,r){let i=Fn||(Fn=document.createRange());i.setEnd(t,r==null?t.nodeValue.length:r);i.setStart(t,e||0);return i};const Mn=function(t,e,r,i){return r&&(An(t,e,r,i,-1)||An(t,e,r,i,1))};const xn=/^(img|br|input|textarea|hr)$/i;function An(t,e,r,i,n){for(;;){if(t==r&&e==i)return true;if(e==(n<0?0:Cn(t))){let r=t.parentNode;if(!r||r.nodeType!=1||On(t)||xn.test(t.nodeName)||t.contentEditable=="false")return false;e=vn(t)+(n<0?0:1);t=r}else if(t.nodeType==1){t=t.childNodes[e+(n<0?-1:0)];if(t.contentEditable=="false")return false;e=n<0?Cn(t):0}else{return false}}}function Cn(t){return t.nodeType==3?t.nodeValue.length:t.childNodes.length}function Sn(t,e,r){for(let i=e==0,n=e==Cn(t);i||n;){if(t==r)return true;let e=vn(t);t=t.parentNode;if(!t)return false;i=i&&e==0;n=n&&e==Cn(t)}}function On(t){let e;for(let r=t;r;r=r.parentNode)if(e=r.pmViewDesc)break;return e&&e.node&&e.node.isBlock&&(e.dom==t||e.contentDOM==t)}const $n=function(t){return t.focusNode&&Mn(t.focusNode,t.focusOffset,t.anchorNode,t.anchorOffset)};function _n(t,e){let r=document.createEvent("Event");r.initEvent("keydown",true,true);r.keyCode=t;r.key=r.code=e;return r}function Bn(t){let e=t.activeElement;while(e&&e.shadowRoot)e=e.shadowRoot.activeElement;return e}function Rn(t,e,r){if(t.caretPositionFromPoint){try{let i=t.caretPositionFromPoint(e,r);if(i)return{node:i.offsetNode,offset:i.offset}}catch(t){}}if(t.caretRangeFromPoint){let i=t.caretRangeFromPoint(e,r);if(i)return{node:i.startContainer,offset:i.startOffset}}}const jn=typeof navigator!="undefined"?navigator:null;const Nn=typeof document!="undefined"?document:null;const qn=jn&&jn.userAgent||"";const zn=/Edge\/(\d+)/.exec(qn);const Tn=/MSIE \d/.exec(qn);const In=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(qn);const Pn=!!(Tn||In||zn);const Jn=Tn?document.documentMode:In?+In[1]:zn?+zn[1]:0;const Ln=!Pn&&/gecko\/(\d+)/i.test(qn);Ln&&+(/Firefox\/(\d+)/.exec(qn)||[0,0])[1];const Wn=!Pn&&/Chrome\/(\d+)/.exec(qn);const Un=!!Wn;const Hn=Wn?+Wn[1]:0;const Zn=!Pn&&!!jn&&/Apple Computer/.test(jn.vendor);const Kn=Zn&&(/Mobile\/\w+/.test(qn)||!!jn&&jn.maxTouchPoints>2);const Vn=Kn||(jn?/Mac/.test(jn.platform):false);const Gn=jn?/Win/.test(jn.platform):false;const Xn=/Android \d/.test(qn);const Yn=!!Nn&&"webkitFontSmoothing"in Nn.documentElement.style;const Qn=Yn?+(/\bAppleWebKit\/(\d+)/.exec(navigator.userAgent)||[0,0])[1]:0;function ts(t){return{left:0,right:t.documentElement.clientWidth,top:0,bottom:t.documentElement.clientHeight}}function es(t,e){return typeof t=="number"?t:t[e]}function rs(t){let e=t.getBoundingClientRect();let r=e.width/t.offsetWidth||1;let i=e.height/t.offsetHeight||1;return{left:e.left,right:e.left+t.clientWidth*r,top:e.top,bottom:e.top+t.clientHeight*i}}function is(t,e,r){let i=t.someProp("scrollThreshold")||0,n=t.someProp("scrollMargin")||5;let s=t.dom.ownerDocument;for(let l=r||t.dom;;l=yn(l)){if(!l)break;if(l.nodeType!=1)continue;let t=l;let r=t==s.body;let o=r?ts(s):rs(t);let u=0,f=0;if(e.top<o.top+es(i,"top"))f=-(o.top-e.top+es(n,"top"));else if(e.bottom>o.bottom-es(i,"bottom"))f=e.bottom-e.top>o.bottom-o.top?e.top+es(n,"top")-o.top:e.bottom-o.bottom+es(n,"bottom");if(e.left<o.left+es(i,"left"))u=-(o.left-e.left+es(n,"left"));else if(e.right>o.right-es(i,"right"))u=e.right-o.right+es(n,"right");if(u||f){if(r){s.defaultView.scrollBy(u,f)}else{let r=t.scrollLeft,i=t.scrollTop;if(f)t.scrollTop+=f;if(u)t.scrollLeft+=u;let n=t.scrollLeft-r,s=t.scrollTop-i;e={left:e.left-n,top:e.top-s,right:e.right-n,bottom:e.bottom-s}}}if(r||/^(fixed|sticky)$/.test(getComputedStyle(l).position))break}}function ns(t){let e=t.dom.getBoundingClientRect(),r=Math.max(0,e.top);let i,n;for(let s=(e.left+e.right)/2,l=r+1;l<Math.min(innerHeight,e.bottom);l+=5){let e=t.root.elementFromPoint(s,l);if(!e||e==t.dom||!t.dom.contains(e))continue;let o=e.getBoundingClientRect();if(o.top>=r-20){i=e;n=o.top;break}}return{refDOM:i,refTop:n,stack:ss(t.dom)}}function ss(t){let e=[],r=t.ownerDocument;for(let i=t;i;i=yn(i)){e.push({dom:i,top:i.scrollTop,left:i.scrollLeft});if(t==r)break}return e}function ls({refDOM:t,refTop:e,stack:r}){let i=t?t.getBoundingClientRect().top:0;us(r,i==0?0:i-e)}function us(t,e){for(let r=0;r<t.length;r++){let{dom:i,top:n,left:s}=t[r];if(i.scrollTop!=n+e)i.scrollTop=n+e;if(i.scrollLeft!=s)i.scrollLeft=s}}let fs=null;function hs(t){if(t.setActive)return t.setActive();if(fs)return t.focus(fs);let e=ss(t);t.focus(fs==null?{get preventScroll(){fs={preventScroll:true};return true}}:undefined);if(!fs){fs=false;us(e,0)}}function as(t,e){let r,i=2e8,n,s=0;let l=e.top,o=e.top;let u,f;for(let h=t.firstChild,a=0;h;h=h.nextSibling,a++){let t;if(h.nodeType==1)t=h.getClientRects();else if(h.nodeType==3)t=En(h).getClientRects();else continue;for(let c=0;c<t.length;c++){let d=t[c];if(d.top<=l&&d.bottom>=o){l=Math.max(d.bottom,l);o=Math.min(d.top,o);let t=d.left>e.left?d.left-e.left:d.right<e.left?e.left-d.right:0;if(t<i){r=h;i=t;n=t&&r.nodeType==3?{left:d.right<e.left?d.right:d.left,top:e.top}:e;if(h.nodeType==1&&t)s=a+(e.left>=(d.left+d.right)/2?1:0);continue}}else if(d.top>e.top&&!u&&d.left<=e.left&&d.right>=e.left){u=h;f={left:Math.max(d.left,Math.min(d.right,e.left)),top:d.top}}if(!r&&(e.left>=d.right&&e.top>=d.top||e.left>=d.left&&e.top>=d.bottom))s=a+1}}if(!r&&u){r=u;n=f;i=0}if(r&&r.nodeType==3)return cs(r,n);if(!r||i&&r.nodeType==1)return{node:t,offset:s};return as(r,n)}function cs(t,e){let r=t.nodeValue.length;let i=document.createRange();for(let n=0;n<r;n++){i.setEnd(t,n+1);i.setStart(t,n);let r=Ds(i,1);if(r.top==r.bottom)continue;if(ds(e,r))return{node:t,offset:n+(e.left>=(r.left+r.right)/2?1:0)}}return{node:t,offset:0}}function ds(t,e){return t.left>=e.left-1&&t.left<=e.right+1&&t.top>=e.top-1&&t.top<=e.bottom+1}function ps(t,e){let r=t.parentNode;if(r&&/^li$/i.test(r.nodeName)&&e.left<t.getBoundingClientRect().left)return r;return t}function ms(t,e,r){let{node:i,offset:n}=as(e,r),s=-1;if(i.nodeType==1&&!i.firstChild){let t=i.getBoundingClientRect();s=t.left!=t.right&&r.left>(t.left+t.right)/2?1:-1}return t.docView.posFromDOM(i,n,s)}function ws(t,e,r,i){let n=-1;for(let r=e,s=false;;){if(r==t.dom)break;let e=t.docView.nearestDesc(r,true);if(!e)return null;if(e.dom.nodeType==1&&(e.node.isBlock&&e.parent&&!s||!e.contentDOM)){let t=e.dom.getBoundingClientRect();if(e.node.isBlock&&e.parent&&!s){s=true;if(t.left>i.left||t.top>i.top)n=e.posBefore;else if(t.right<i.left||t.bottom<i.top)n=e.posAfter}if(!e.contentDOM&&n<0&&!e.node.isText){let r=e.node.isBlock?i.top<(t.top+t.bottom)/2:i.left<(t.left+t.right)/2;return r?e.posBefore:e.posAfter}}r=e.dom.parentNode}return n>-1?n:t.docView.posFromDOM(e,r,-1)}function gs(t,e,r){let i=t.childNodes.length;if(i&&r.top<r.bottom){for(let n=Math.max(0,Math.min(i-1,Math.floor(i*(e.top-r.top)/(r.bottom-r.top))-2)),s=n;;){let r=t.childNodes[s];if(r.nodeType==1){let t=r.getClientRects();for(let i=0;i<t.length;i++){let n=t[i];if(ds(e,n))return gs(r,e,n)}}if((s=(s+1)%i)==n)break}}return t}function bs(t,e){let r=t.dom.ownerDocument,i,n=0;let s=Rn(r,e.left,e.top);if(s)({node:i,offset:n}=s);let l=(t.root.elementFromPoint?t.root:r).elementFromPoint(e.left,e.top);let o;if(!l||!t.dom.contains(l.nodeType!=1?l.parentNode:l)){let r=t.dom.getBoundingClientRect();if(!ds(e,r))return null;l=gs(t.dom,e,r);if(!l)return null}if(Zn){for(let t=l;i&&t;t=yn(t))if(t.draggable)i=undefined}l=ps(l,e);if(i){if(Ln&&i.nodeType==1){n=Math.min(n,i.childNodes.length);if(n<i.childNodes.length){let t=i.childNodes[n],r;if(t.nodeName=="IMG"&&(r=t.getBoundingClientRect()).right<=e.left&&r.bottom>e.top)n++}}let r;if(Yn&&n&&i.nodeType==1&&(r=i.childNodes[n-1]).nodeType==1&&r.contentEditable=="false"&&r.getBoundingClientRect().top>=e.top)n--;if(i==t.dom&&n==i.childNodes.length-1&&i.lastChild.nodeType==1&&e.top>i.lastChild.getBoundingClientRect().bottom)o=t.state.doc.content.size;else if(n==0||i.nodeType!=1||i.childNodes[n-1].nodeName!="BR")o=ws(t,i,n,e)}if(o==null)o=ms(t,l,e);let u=t.docView.nearestDesc(l,true);return{pos:o,inside:u?u.posAtStart-u.border:-1}}function ks(t){return t.top<t.bottom||t.left<t.right}function Ds(t,e){let r=t.getClientRects();if(r.length){let t=r[e<0?0:r.length-1];if(ks(t))return t}return Array.prototype.find.call(r,ks)||t.getBoundingClientRect()}const vs=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/;function ys(t,e,r){let{node:i,offset:n,atom:s}=t.docView.domFromPos(e,r<0?-1:1);let l=Yn||Ln;if(i.nodeType==3){if(l&&(vs.test(i.nodeValue)||(r<0?!n:n==i.nodeValue.length))){let t=Ds(En(i,n,n),r);if(Ln&&n&&/\s/.test(i.nodeValue[n-1])&&n<i.nodeValue.length){let e=Ds(En(i,n-1,n-1),-1);if(e.top==t.top){let r=Ds(En(i,n,n+1),-1);if(r.top!=t.top)return Fs(r,r.left<e.left)}}return t}else{let t=n,e=n,s=r<0?1:-1;if(r<0&&!n){e++;s=-1}else if(r>=0&&n==i.nodeValue.length){t--;s=1}else if(r<0){t--}else{e++}return Fs(Ds(En(i,t,e),s),s<0)}}let o=t.state.doc.resolve(e-(s||0));if(!o.parent.inlineContent){if(s==null&&n&&(r<0||n==Cn(i))){let t=i.childNodes[n-1];if(t.nodeType==1)return Es(t.getBoundingClientRect(),false)}if(s==null&&n<Cn(i)){let t=i.childNodes[n];if(t.nodeType==1)return Es(t.getBoundingClientRect(),true)}return Es(i.getBoundingClientRect(),r>=0)}if(s==null&&n&&(r<0||n==Cn(i))){let t=i.childNodes[n-1];let e=t.nodeType==3?En(t,Cn(t)-(l?0:1)):t.nodeType==1&&(t.nodeName!="BR"||!t.nextSibling)?t:null;if(e)return Fs(Ds(e,1),false)}if(s==null&&n<Cn(i)){let t=i.childNodes[n];while(t.pmViewDesc&&t.pmViewDesc.ignoreForCoords)t=t.nextSibling;let e=!t?null:t.nodeType==3?En(t,0,l?0:1):t.nodeType==1?t:null;if(e)return Fs(Ds(e,-1),true)}return Fs(Ds(i.nodeType==3?En(i):i,-r),r>=0)}function Fs(t,e){if(t.width==0)return t;let r=e?t.left:t.right;return{top:t.top,bottom:t.bottom,left:r,right:r}}function Es(t,e){if(t.height==0)return t;let r=e?t.top:t.bottom;return{top:r,bottom:r,left:t.left,right:t.right}}function Ms(t,e,r){let i=t.state,n=t.root.activeElement;if(i!=e)t.updateState(e);if(n!=t.dom)t.focus();try{return r()}finally{if(i!=e)t.updateState(i);if(n!=t.dom&&n)n.focus()}}function xs(t,e,r){let i=e.selection;let n=r=="up"?i.$from:i.$to;return Ms(t,e,(()=>{let{node:e}=t.docView.domFromPos(n.pos,r=="up"?-1:1);for(;;){let r=t.docView.nearestDesc(e,true);if(!r)break;if(r.node.isBlock){e=r.contentDOM||r.dom;break}e=r.dom.parentNode}let i=ys(t,n.pos,1);for(let t=e.firstChild;t;t=t.nextSibling){let e;if(t.nodeType==1)e=t.getClientRects();else if(t.nodeType==3)e=En(t,0,t.nodeValue.length).getClientRects();else continue;for(let t=0;t<e.length;t++){let n=e[t];if(n.bottom>n.top+1&&(r=="up"?i.top-n.top>(n.bottom-i.top)*2:n.bottom-i.bottom>(i.bottom-n.top)*2))return false}}return true}))}const As=/[\u0590-\u08ac]/;function Cs(t,e,r){let{$head:i}=e.selection;if(!i.parent.isTextblock)return false;let n=i.parentOffset,s=!n,l=n==i.parent.content.size;let o=t.domSelection();if(!As.test(i.parent.textContent)||!o.modify)return r=="left"||r=="backward"?s:l;return Ms(t,e,(()=>{let{focusNode:e,focusOffset:n,anchorNode:s,anchorOffset:l}=t.domSelectionRange();let u=o.caretBidiLevel;o.modify("move",r,"character");let f=i.depth?t.docView.domAfterPos(i.before()):t.dom;let{focusNode:h,focusOffset:a}=t.domSelectionRange();let c=h&&!f.contains(h.nodeType==1?h:h.parentNode)||e==h&&n==a;try{o.collapse(s,l);if(e&&(e!=s||n!=l)&&o.extend)o.extend(e,n)}catch(t){}if(u!=null)o.caretBidiLevel=u;return c}))}let Ss=null;let Os=null;let $s=false;function _s(t,e,r){if(Ss==e&&Os==r)return $s;Ss=e;Os=r;return $s=r=="up"||r=="down"?xs(t,e,r):Cs(t,e,r)}const Bs=0,Rs=1,js=2,Ns=3;class qs{constructor(t,e,r,i){this.parent=t;this.children=e;this.dom=r;this.contentDOM=i;this.dirty=Bs;r.pmViewDesc=this}matchesWidget(t){return false}matchesMark(t){return false}matchesNode(t,e,r){return false}matchesHack(t){return false}parseRule(){return null}stopEvent(t){return false}get size(){let t=0;for(let e=0;e<this.children.length;e++)t+=this.children[e].size;return t}get border(){return 0}destroy(){this.parent=undefined;if(this.dom.pmViewDesc==this)this.dom.pmViewDesc=undefined;for(let t=0;t<this.children.length;t++)this.children[t].destroy()}posBeforeChild(t){for(let e=0,r=this.posAtStart;;e++){let i=this.children[e];if(i==t)return r;r+=i.size}}get posBefore(){return this.parent.posBeforeChild(this)}get posAtStart(){return this.parent?this.parent.posBeforeChild(this)+this.border:0}get posAfter(){return this.posBefore+this.size}get posAtEnd(){return this.posAtStart+this.size-2*this.border}localPosFromDOM(t,e,r){if(this.contentDOM&&this.contentDOM.contains(t.nodeType==1?t:t.parentNode)){if(r<0){let r,i;if(t==this.contentDOM){r=t.childNodes[e-1]}else{while(t.parentNode!=this.contentDOM)t=t.parentNode;r=t.previousSibling}while(r&&!((i=r.pmViewDesc)&&i.parent==this))r=r.previousSibling;return r?this.posBeforeChild(i)+i.size:this.posAtStart}else{let r,i;if(t==this.contentDOM){r=t.childNodes[e]}else{while(t.parentNode!=this.contentDOM)t=t.parentNode;r=t.nextSibling}while(r&&!((i=r.pmViewDesc)&&i.parent==this))r=r.nextSibling;return r?this.posBeforeChild(i):this.posAtEnd}}let i;if(t==this.dom&&this.contentDOM){i=e>vn(this.contentDOM)}else if(this.contentDOM&&this.contentDOM!=this.dom&&this.dom.contains(this.contentDOM)){i=t.compareDocumentPosition(this.contentDOM)&2}else if(this.dom.firstChild){if(e==0)for(let e=t;;e=e.parentNode){if(e==this.dom){i=false;break}if(e.previousSibling)break}if(i==null&&e==t.childNodes.length)for(let e=t;;e=e.parentNode){if(e==this.dom){i=true;break}if(e.nextSibling)break}}return(i==null?r>0:i)?this.posAtEnd:this.posAtStart}nearestDesc(t,e=false){for(let r=true,i=t;i;i=i.parentNode){let n=this.getDesc(i),s;if(n&&(!e||n.node)){if(r&&(s=n.nodeDOM)&&!(s.nodeType==1?s.contains(t.nodeType==1?t:t.parentNode):s==t))r=false;else return n}}}getDesc(t){let e=t.pmViewDesc;for(let t=e;t;t=t.parent)if(t==this)return e}posFromDOM(t,e,r){for(let i=t;i;i=i.parentNode){let n=this.getDesc(i);if(n)return n.localPosFromDOM(t,e,r)}return-1}descAt(t){for(let e=0,r=0;e<this.children.length;e++){let i=this.children[e],n=r+i.size;if(r==t&&n!=r){while(!i.border&&i.children.length)i=i.children[0];return i}if(t<n)return i.descAt(t-r-i.border);r=n}}domFromPos(t,e){if(!this.contentDOM)return{node:this.dom,offset:0,atom:t+1};let r=0,i=0;for(let e=0;r<this.children.length;r++){let n=this.children[r],s=e+n.size;if(s>t||n instanceof Ws){i=t-e;break}e=s}if(i)return this.children[r].domFromPos(i-this.children[r].border,e);for(let t;r&&!(t=this.children[r-1]).size&&t instanceof zs&&t.side>=0;r--){}if(e<=0){let t,i=true;for(;;r--,i=false){t=r?this.children[r-1]:null;if(!t||t.dom.parentNode==this.contentDOM)break}if(t&&e&&i&&!t.border&&!t.domAtom)return t.domFromPos(t.size,e);return{node:this.contentDOM,offset:t?vn(t.dom)+1:0}}else{let t,i=true;for(;;r++,i=false){t=r<this.children.length?this.children[r]:null;if(!t||t.dom.parentNode==this.contentDOM)break}if(t&&i&&!t.border&&!t.domAtom)return t.domFromPos(0,e);return{node:this.contentDOM,offset:t?vn(t.dom):this.contentDOM.childNodes.length}}}parseRange(t,e,r=0){if(this.children.length==0)return{node:this.contentDOM,from:t,to:e,fromOffset:0,toOffset:this.contentDOM.childNodes.length};let i=-1,n=-1;for(let s=r,l=0;;l++){let r=this.children[l],o=s+r.size;if(i==-1&&t<=o){let n=s+r.border;if(t>=n&&e<=o-r.border&&r.node&&r.contentDOM&&this.contentDOM.contains(r.contentDOM))return r.parseRange(t,e,n);t=s;for(let e=l;e>0;e--){let r=this.children[e-1];if(r.size&&r.dom.parentNode==this.contentDOM&&!r.emptyChildAt(1)){i=vn(r.dom)+1;break}t-=r.size}if(i==-1)i=0}if(i>-1&&(o>e||l==this.children.length-1)){e=o;for(let t=l+1;t<this.children.length;t++){let r=this.children[t];if(r.size&&r.dom.parentNode==this.contentDOM&&!r.emptyChildAt(-1)){n=vn(r.dom);break}e+=r.size}if(n==-1)n=this.contentDOM.childNodes.length;break}s=o}return{node:this.contentDOM,from:t,to:e,fromOffset:i,toOffset:n}}emptyChildAt(t){if(this.border||!this.contentDOM||!this.children.length)return false;let e=this.children[t<0?0:this.children.length-1];return e.size==0||e.emptyChildAt(t)}domAfterPos(t){let{node:e,offset:r}=this.domFromPos(t,0);if(e.nodeType!=1||r==e.childNodes.length)throw new RangeError("No node after pos "+t);return e.childNodes[r]}setSelection(t,e,r,i=false){let n=Math.min(t,e),s=Math.max(t,e);for(let l=0,o=0;l<this.children.length;l++){let u=this.children[l],f=o+u.size;if(n>o&&s<f)return u.setSelection(t-o-u.border,e-o-u.border,r,i);o=f}let l=this.domFromPos(t,t?-1:1);let o=e==t?l:this.domFromPos(e,e?-1:1);let u=r.getSelection();let f=false;if((Ln||Zn)&&t==e){let{node:t,offset:e}=l;if(t.nodeType==3){f=!!(e&&t.nodeValue[e-1]=="\n");if(f&&e==t.nodeValue.length){for(let e=t,r;e;e=e.parentNode){if(r=e.nextSibling){if(r.nodeName=="BR")l=o={node:r.parentNode,offset:vn(r)+1};break}let t=e.pmViewDesc;if(t&&t.node&&t.node.isBlock)break}}}else{let r=t.childNodes[e-1];f=r&&(r.nodeName=="BR"||r.contentEditable=="false")}}if(Ln&&u.focusNode&&u.focusNode!=o.node&&u.focusNode.nodeType==1){let t=u.focusNode.childNodes[u.focusOffset];if(t&&t.contentEditable=="false")i=true}if(!(i||f&&Zn)&&Mn(l.node,l.offset,u.anchorNode,u.anchorOffset)&&Mn(o.node,o.offset,u.focusNode,u.focusOffset))return;let h=false;if((u.extend||t==e)&&!f){u.collapse(l.node,l.offset);try{if(t!=e)u.extend(o.node,o.offset);h=true}catch(t){}}if(!h){if(t>e){let t=l;l=o;o=t}let r=document.createRange();r.setEnd(o.node,o.offset);r.setStart(l.node,l.offset);u.removeAllRanges();u.addRange(r)}}ignoreMutation(t){return!this.contentDOM&&t.type!="selection"}get contentLost(){return this.contentDOM&&this.contentDOM!=this.dom&&!this.dom.contains(this.contentDOM)}markDirty(t,e){for(let r=0,i=0;i<this.children.length;i++){let n=this.children[i],s=r+n.size;if(r==s?t<=s&&e>=r:t<s&&e>r){let i=r+n.border,l=s-n.border;if(t>=i&&e<=l){this.dirty=t==r||e==s?js:Rs;if(t==i&&e==l&&(n.contentLost||n.dom.parentNode!=this.contentDOM))n.dirty=Ns;else n.markDirty(t-i,e-i);return}else{n.dirty=n.dom==n.contentDOM&&n.dom.parentNode==this.contentDOM&&!n.children.length?js:Ns}}r=s}this.dirty=js}markParentsDirty(){let t=1;for(let e=this.parent;e;e=e.parent,t++){let r=t==1?js:Rs;if(e.dirty<r)e.dirty=r}}get domAtom(){return false}get ignoreForCoords(){return false}}class zs extends qs{constructor(t,e,r,i){let n,s=e.type.toDOM;if(typeof s=="function")s=s(r,(()=>{if(!n)return i;if(n.parent)return n.parent.posBeforeChild(n)}));if(!e.type.spec.raw){if(s.nodeType!=1){let t=document.createElement("span");t.appendChild(s);s=t}s.contentEditable="false";s.classList.add("ProseMirror-widget")}super(t,[],s,null);this.widget=e;this.widget=e;n=this}matchesWidget(t){return this.dirty==Bs&&t.type.eq(this.widget.type)}parseRule(){return{ignore:true}}stopEvent(t){let e=this.widget.spec.stopEvent;return e?e(t):false}ignoreMutation(t){return t.type!="selection"||this.widget.spec.ignoreSelection}destroy(){this.widget.type.destroy(this.dom);super.destroy()}get domAtom(){return true}get side(){return this.widget.type.side}}class Ts extends qs{constructor(t,e,r,i){super(t,[],e,null);this.textDOM=r;this.text=i}get size(){return this.text.length}localPosFromDOM(t,e){if(t!=this.textDOM)return this.posAtStart+(e?this.size:0);return this.posAtStart+e}domFromPos(t){return{node:this.textDOM,offset:t}}ignoreMutation(t){return t.type==="characterData"&&t.target.nodeValue==t.oldValue}}class Is extends qs{constructor(t,e,r,i){super(t,[],r,i);this.mark=e}static create(t,e,r,i){let n=i.nodeViews[e.type.name];let s=n&&n(e,i,r);if(!s||!s.dom)s=Or.renderSpec(document,e.type.spec.toDOM(e,r));return new Is(t,e,s.dom,s.contentDOM||s.dom)}parseRule(){if(this.dirty&Ns||this.mark.type.spec.reparseInView)return null;return{mark:this.mark.type.name,attrs:this.mark.attrs,contentElement:this.contentDOM}}matchesMark(t){return this.dirty!=Ns&&this.mark.eq(t)}markDirty(t,e){super.markDirty(t,e);if(this.dirty!=Bs){let t=this.parent;while(!t.node)t=t.parent;if(t.dirty<this.dirty)t.dirty=this.dirty;this.dirty=Bs}}slice(t,e,r){let i=Is.create(this.parent,this.mark,true,r);let n=this.children,s=this.size;if(e<s)n=ul(n,e,s,r);if(t>0)n=ul(n,0,t,r);for(let t=0;t<n.length;t++)n[t].parent=i;i.children=n;return i}}class Ps extends qs{constructor(t,e,r,i,n,s,l,o,u){super(t,[],n,s);this.node=e;this.outerDeco=r;this.innerDeco=i;this.nodeDOM=l}static create(t,e,r,i,n,s){let l=n.nodeViews[e.type.name],o;let u=l&&l(e,n,(()=>{if(!o)return s;if(o.parent)return o.parent.posBeforeChild(o)}),r,i);let f=u&&u.dom,h=u&&u.contentDOM;if(e.isText){if(!f)f=document.createTextNode(e.text);else if(f.nodeType!=3)throw new RangeError("Text must be rendered as a DOM text node")}else if(!f){({dom:f,contentDOM:h}=Or.renderSpec(document,e.type.spec.toDOM(e)))}if(!h&&!e.isText&&f.nodeName!="BR"){if(!f.hasAttribute("contenteditable"))f.contentEditable="false";if(e.type.spec.draggable)f.draggable=true}let a=f;f=Ys(f,r,e);if(u)return o=new Us(t,e,r,i,f,h||null,a,u,n,s+1);else if(e.isText)return new Ls(t,e,r,i,f,a,n);else return new Ps(t,e,r,i,f,h||null,a,n,s+1)}parseRule(){if(this.node.type.spec.reparseInView)return null;let t={node:this.node.type.name,attrs:this.node.attrs};if(this.node.type.whitespace=="pre")t.preserveWhitespace="full";if(!this.contentDOM){t.getContent=()=>this.node.content}else if(!this.contentLost){t.contentElement=this.contentDOM}else{for(let e=this.children.length-1;e>=0;e--){let r=this.children[e];if(this.dom.contains(r.dom.parentNode)){t.contentElement=r.dom.parentNode;break}}if(!t.contentElement)t.getContent=()=>we.empty}return t}matchesNode(t,e,r){return this.dirty==Bs&&t.eq(this.node)&&Qs(e,this.outerDeco)&&r.eq(this.innerDeco)}get size(){return this.node.nodeSize}get border(){return this.node.isLeaf?0:1}updateChildren(t,e){let r=this.node.inlineContent,i=e;let n=t.composing?this.localCompositionInfo(t,e):null;let s=n&&n.pos>-1?n:null;let l=n&&n.pos<0;let o=new el(this,s&&s.node,t);nl(this.node,this.innerDeco,((e,n,s)=>{if(e.spec.marks)o.syncToMarks(e.spec.marks,r,t);else if(e.type.side>=0&&!s)o.syncToMarks(n==this.node.childCount?De.none:this.node.child(n).marks,r,t);o.placeWidget(e,t,i)}),((e,s,u,f)=>{o.syncToMarks(e.marks,r,t);let h;if(o.findNodeMatch(e,s,u,f));else if(l&&t.state.selection.from>i&&t.state.selection.to<i+e.nodeSize&&(h=o.findIndexWithChild(n.node))>-1&&o.updateNodeAt(e,s,u,h,t));else if(o.updateNextNode(e,s,u,t,f,i));else{o.addNode(e,s,u,t,i)}i+=e.nodeSize}));o.syncToMarks([],r,t);if(this.node.isTextblock)o.addTextblockHacks();o.destroyRest();if(o.changed||this.dirty==js){if(s)this.protectLocalComposition(t,s);Hs(this.contentDOM,this.children,t);if(Kn)sl(this.dom)}}localCompositionInfo(t,e){let{from:r,to:i}=t.state.selection;if(!(t.state.selection instanceof Yi)||r<e||i>e+this.node.content.size)return null;let n=t.domSelectionRange();let s=ll(n.focusNode,n.focusOffset);if(!s||!this.dom.contains(s.parentNode))return null;if(this.node.inlineContent){let t=s.nodeValue;let n=ol(this.node.content,t,r-e,i-e);return n<0?null:{node:s,pos:n,text:t}}else{return{node:s,pos:-1,text:""}}}protectLocalComposition(t,{node:e,pos:r,text:i}){if(this.getDesc(e))return;let n=e;for(;;n=n.parentNode){if(n.parentNode==this.contentDOM)break;while(n.previousSibling)n.parentNode.removeChild(n.previousSibling);while(n.nextSibling)n.parentNode.removeChild(n.nextSibling);if(n.pmViewDesc)n.pmViewDesc=undefined}let s=new Ts(this,n,e,i);t.input.compositionNodes.push(s);this.children=ul(this.children,r,r+i.length,t,s)}update(t,e,r,i){if(this.dirty==Ns||!t.sameMarkup(this.node))return false;this.updateInner(t,e,r,i);return true}updateInner(t,e,r,i){this.updateOuterDeco(e);this.node=t;this.innerDeco=r;if(this.contentDOM)this.updateChildren(i,this.posAtStart);this.dirty=Bs}updateOuterDeco(t){if(Qs(t,this.outerDeco))return;let e=this.nodeDOM.nodeType!=1;let r=this.dom;this.dom=Gs(this.dom,this.nodeDOM,Vs(this.outerDeco,this.node,e),Vs(t,this.node,e));if(this.dom!=r){r.pmViewDesc=undefined;this.dom.pmViewDesc=this}this.outerDeco=t}selectNode(){if(this.nodeDOM.nodeType==1)this.nodeDOM.classList.add("ProseMirror-selectednode");if(this.contentDOM||!this.node.type.spec.draggable)this.dom.draggable=true}deselectNode(){if(this.nodeDOM.nodeType==1)this.nodeDOM.classList.remove("ProseMirror-selectednode");if(this.contentDOM||!this.node.type.spec.draggable)this.dom.removeAttribute("draggable")}get domAtom(){return this.node.isAtom}}function Js(t,e,r,i,n){Ys(i,e,t);let s=new Ps(undefined,t,e,r,i,i,i,n,0);if(s.contentDOM)s.updateChildren(n,0);return s}class Ls extends Ps{constructor(t,e,r,i,n,s,l){super(t,e,r,i,n,null,s,l,0)}parseRule(){let t=this.nodeDOM.parentNode;while(t&&t!=this.dom&&!t.pmIsDeco)t=t.parentNode;return{skip:t||true}}update(t,e,r,i){if(this.dirty==Ns||this.dirty!=Bs&&!this.inParent()||!t.sameMarkup(this.node))return false;this.updateOuterDeco(e);if((this.dirty!=Bs||t.text!=this.node.text)&&t.text!=this.nodeDOM.nodeValue){this.nodeDOM.nodeValue=t.text;if(i.trackWrites==this.nodeDOM)i.trackWrites=null}this.node=t;this.dirty=Bs;return true}inParent(){let t=this.parent.contentDOM;for(let e=this.nodeDOM;e;e=e.parentNode)if(e==t)return true;return false}domFromPos(t){return{node:this.nodeDOM,offset:t}}localPosFromDOM(t,e,r){if(t==this.nodeDOM)return this.posAtStart+Math.min(e,this.node.text.length);return super.localPosFromDOM(t,e,r)}ignoreMutation(t){return t.type!="characterData"&&t.type!="selection"}slice(t,e,r){let i=this.node.cut(t,e),n=document.createTextNode(i.text);return new Ls(this.parent,i,this.outerDeco,this.innerDeco,n,n,r)}markDirty(t,e){super.markDirty(t,e);if(this.dom!=this.nodeDOM&&(t==0||e==this.nodeDOM.nodeValue.length))this.dirty=Ns}get domAtom(){return false}}class Ws extends qs{parseRule(){return{ignore:true}}matchesHack(t){return this.dirty==Bs&&this.dom.nodeName==t}get domAtom(){return true}get ignoreForCoords(){return this.dom.nodeName=="IMG"}}class Us extends Ps{constructor(t,e,r,i,n,s,l,o,u,f){super(t,e,r,i,n,s,l,u,f);this.spec=o}update(t,e,r,i){if(this.dirty==Ns)return false;if(this.spec.update){let n=this.spec.update(t,e,r);if(n)this.updateInner(t,e,r,i);return n}else if(!this.contentDOM&&!t.isLeaf){return false}else{return super.update(t,e,r,i)}}selectNode(){this.spec.selectNode?this.spec.selectNode():super.selectNode()}deselectNode(){this.spec.deselectNode?this.spec.deselectNode():super.deselectNode()}setSelection(t,e,r,i){this.spec.setSelection?this.spec.setSelection(t,e,r):super.setSelection(t,e,r,i)}destroy(){if(this.spec.destroy)this.spec.destroy();super.destroy()}stopEvent(t){return this.spec.stopEvent?this.spec.stopEvent(t):false}ignoreMutation(t){return this.spec.ignoreMutation?this.spec.ignoreMutation(t):super.ignoreMutation(t)}}function Hs(t,e,r){let i=t.firstChild,n=false;for(let s=0;s<e.length;s++){let l=e[s],o=l.dom;if(o.parentNode==t){while(o!=i){i=tl(i);n=true}i=i.nextSibling}else{n=true;t.insertBefore(o,i)}if(l instanceof Is){let e=i?i.previousSibling:t.lastChild;Hs(l.contentDOM,l.children,r);i=e?e.nextSibling:t.firstChild}}while(i){i=tl(i);n=true}if(n&&r.trackWrites==t)r.trackWrites=null}const Zs=function(t){if(t)this.nodeName=t};Zs.prototype=Object.create(null);const Ks=[new Zs];function Vs(t,e,r){if(t.length==0)return Ks;let i=r?Ks[0]:new Zs,n=[i];for(let s=0;s<t.length;s++){let l=t[s].type.attrs;if(!l)continue;if(l.nodeName)n.push(i=new Zs(l.nodeName));for(let t in l){let s=l[t];if(s==null)continue;if(r&&n.length==1)n.push(i=new Zs(e.isInline?"span":"div"));if(t=="class")i.class=(i.class?i.class+" ":"")+s;else if(t=="style")i.style=(i.style?i.style+";":"")+s;else if(t!="nodeName")i[t]=s}}return n}function Gs(t,e,r,i){if(r==Ks&&i==Ks)return e;let n=e;for(let e=0;e<i.length;e++){let s=i[e],l=r[e];if(e){let e;if(l&&l.nodeName==s.nodeName&&n!=t&&(e=n.parentNode)&&e.nodeName.toLowerCase()==s.nodeName){n=e}else{e=document.createElement(s.nodeName);e.pmIsDeco=true;e.appendChild(n);l=Ks[0];n=e}}Xs(n,l||Ks[0],s)}return n}function Xs(t,e,r){for(let i in e)if(i!="class"&&i!="style"&&i!="nodeName"&&!(i in r))t.removeAttribute(i);for(let i in r)if(i!="class"&&i!="style"&&i!="nodeName"&&r[i]!=e[i])t.setAttribute(i,r[i]);if(e.class!=r.class){let i=e.class?e.class.split(" ").filter(Boolean):[];let n=r.class?r.class.split(" ").filter(Boolean):[];for(let e=0;e<i.length;e++)if(n.indexOf(i[e])==-1)t.classList.remove(i[e]);for(let e=0;e<n.length;e++)if(i.indexOf(n[e])==-1)t.classList.add(n[e]);if(t.classList.length==0)t.removeAttribute("class")}if(e.style!=r.style){if(e.style){let r=/\s*([\w\-\xa1-\uffff]+)\s*:(?:"(?:\\.|[^"])*"|'(?:\\.|[^'])*'|\(.*?\)|[^;])*/g,i;while(i=r.exec(e.style))t.style.removeProperty(i[1])}if(r.style)t.style.cssText+=r.style}}function Ys(t,e,r){return Gs(t,t,Ks,Vs(e,r,t.nodeType!=1))}function Qs(t,e){if(t.length!=e.length)return false;for(let r=0;r<t.length;r++)if(!t[r].type.eq(e[r].type))return false;return true}function tl(t){let e=t.nextSibling;t.parentNode.removeChild(t);return e}class el{constructor(t,e,r){this.lock=e;this.view=r;this.index=0;this.stack=[];this.changed=false;this.top=t;this.preMatch=rl(t.node.content,t)}destroyBetween(t,e){if(t==e)return;for(let r=t;r<e;r++)this.top.children[r].destroy();this.top.children.splice(t,e-t);this.changed=true}destroyRest(){this.destroyBetween(this.index,this.top.children.length)}syncToMarks(t,e,r){let i=0,n=this.stack.length>>1;let s=Math.min(n,t.length);while(i<s&&(i==n-1?this.top:this.stack[i+1<<1]).matchesMark(t[i])&&t[i].type.spec.spanning!==false)i++;while(i<n){this.destroyRest();this.top.dirty=Bs;this.index=this.stack.pop();this.top=this.stack.pop();n--}while(n<t.length){this.stack.push(this.top,this.index+1);let i=-1;for(let e=this.index;e<Math.min(this.index+3,this.top.children.length);e++){let r=this.top.children[e];if(r.matchesMark(t[n])&&!this.isLocked(r.dom)){i=e;break}}if(i>-1){if(i>this.index){this.changed=true;this.destroyBetween(this.index,i)}this.top=this.top.children[this.index]}else{let i=Is.create(this.top,t[n],e,r);this.top.children.splice(this.index,0,i);this.top=i;this.changed=true}this.index=0;n++}}findNodeMatch(t,e,r,i){let n=-1,s;if(i>=this.preMatch.index&&(s=this.preMatch.matches[i-this.preMatch.index]).parent==this.top&&s.matchesNode(t,e,r)){n=this.top.children.indexOf(s,this.index)}else{for(let i=this.index,s=Math.min(this.top.children.length,i+5);i<s;i++){let s=this.top.children[i];if(s.matchesNode(t,e,r)&&!this.preMatch.matched.has(s)){n=i;break}}}if(n<0)return false;this.destroyBetween(this.index,n);this.index++;return true}updateNodeAt(t,e,r,i,n){let s=this.top.children[i];if(s.dirty==Ns&&s.dom==s.contentDOM)s.dirty=js;if(!s.update(t,e,r,n))return false;this.destroyBetween(this.index,i);this.index++;return true}findIndexWithChild(t){for(;;){let e=t.parentNode;if(!e)return-1;if(e==this.top.contentDOM){let e=t.pmViewDesc;if(e)for(let t=this.index;t<this.top.children.length;t++){if(this.top.children[t]==e)return t}return-1}t=e}}updateNextNode(t,e,r,i,n,s){for(let l=this.index;l<this.top.children.length;l++){let o=this.top.children[l];if(o instanceof Ps){let u=this.preMatch.matched.get(o);if(u!=null&&u!=n)return false;let f=o.dom,h;let a=this.isLocked(f)&&!(t.isText&&o.node&&o.node.isText&&o.nodeDOM.nodeValue==t.text&&o.dirty!=Ns&&Qs(e,o.outerDeco));if(!a&&o.update(t,e,r,i)){this.destroyBetween(this.index,l);if(o.dom!=f)this.changed=true;this.index++;return true}else if(!a&&(h=this.recreateWrapper(o,t,e,r,i,s))){this.top.children[this.index]=h;if(h.contentDOM){h.dirty=js;h.updateChildren(i,s+1);h.dirty=Bs}this.changed=true;this.index++;return true}break}}return false}recreateWrapper(t,e,r,i,n,s){if(t.dirty||e.isAtom||!t.children.length||!t.node.content.eq(e.content))return null;let l=Ps.create(this.top,e,r,i,n,s);if(l.contentDOM){l.children=t.children;t.children=[];for(let t of l.children)t.parent=l}t.destroy();return l}addNode(t,e,r,i,n){let s=Ps.create(this.top,t,e,r,i,n);if(s.contentDOM)s.updateChildren(i,n+1);this.top.children.splice(this.index++,0,s);this.changed=true}placeWidget(t,e,r){let i=this.index<this.top.children.length?this.top.children[this.index]:null;if(i&&i.matchesWidget(t)&&(t==i.widget||!i.widget.type.toDOM.parentNode)){this.index++}else{let i=new zs(this.top,t,e,r);this.top.children.splice(this.index++,0,i);this.changed=true}}addTextblockHacks(){let t=this.top.children[this.index-1],e=this.top;while(t instanceof Is){e=t;t=e.children[e.children.length-1]}if(!t||!(t instanceof Ls)||/\n$/.test(t.node.text)||this.view.requiresGeckoHackNode&&/\s$/.test(t.node.text)){if((Zn||Un)&&t&&t.dom.contentEditable=="false")this.addHackNode("IMG",e);this.addHackNode("BR",this.top)}}addHackNode(t,e){if(e==this.top&&this.index<e.children.length&&e.children[this.index].matchesHack(t)){this.index++}else{let r=document.createElement(t);if(t=="IMG"){r.className="ProseMirror-separator";r.alt=""}if(t=="BR")r.className="ProseMirror-trailingBreak";let i=new Ws(this.top,[],r,null);if(e!=this.top)e.children.push(i);else e.children.splice(this.index++,0,i);this.changed=true}}isLocked(t){return this.lock&&(t==this.lock||t.nodeType==1&&t.contains(this.lock.parentNode))}}function rl(t,e){let r=e,i=r.children.length;let n=t.childCount,s=new Map,l=[];t:while(n>0){let o;for(;;){if(i){let t=r.children[i-1];if(t instanceof Is){r=t;i=t.children.length}else{o=t;i--;break}}else if(r==e){break t}else{i=r.parent.children.indexOf(r);r=r.parent}}let u=o.node;if(!u)continue;if(u!=t.child(n-1))break;--n;s.set(o,n);l.push(o)}return{index:n,matched:s,matches:l.reverse()}}function il(t,e){return t.type.side-e.type.side}function nl(t,e,r,i){let n=e.locals(t),s=0;if(n.length==0){for(let r=0;r<t.childCount;r++){let l=t.child(r);i(l,n,e.forChild(s,l),r);s+=l.nodeSize}return}let l=0,o=[],u=null;for(let f=0;;){let h,a;while(l<n.length&&n[l].to==s){let t=n[l++];if(t.widget){if(!h)h=t;else(a||(a=[h])).push(t)}}if(h){if(a){a.sort(il);for(let t=0;t<a.length;t++)r(a[t],f,!!u)}else{r(h,f,!!u)}}let c,d;if(u){d=-1;c=u;u=null}else if(f<t.childCount){d=f;c=t.child(f++)}else{break}for(let t=0;t<o.length;t++)if(o[t].to<=s)o.splice(t--,1);while(l<n.length&&n[l].from<=s&&n[l].to>s)o.push(n[l++]);let p=s+c.nodeSize;if(c.isText){let t=p;if(l<n.length&&n[l].from<t)t=n[l].from;for(let e=0;e<o.length;e++)if(o[e].to<t)t=o[e].to;if(t<p){u=c.cut(t-s);c=c.cut(0,t-s);p=t;d=-1}}else{while(l<n.length&&n[l].to<p)l++}let m=c.isInline&&!c.isLeaf?o.filter((t=>!t.inline)):o.slice();i(c,m,e.forChild(s,c),d);s=p}}function sl(t){if(t.nodeName=="UL"||t.nodeName=="OL"){let e=t.style.cssText;t.style.cssText=e+"; list-style: square !important";window.getComputedStyle(t).listStyle;t.style.cssText=e}}function ll(t,e){for(;;){if(t.nodeType==3)return t;if(t.nodeType==1&&e>0){if(t.childNodes.length>e&&t.childNodes[e].nodeType==3)return t.childNodes[e];t=t.childNodes[e-1];e=Cn(t)}else if(t.nodeType==1&&e<t.childNodes.length){t=t.childNodes[e];e=0}else{return null}}}function ol(t,e,r,i){for(let n=0,s=0;n<t.childCount&&s<=i;){let l=t.child(n++),o=s;s+=l.nodeSize;if(!l.isText)continue;let u=l.text;while(n<t.childCount){let e=t.child(n++);s+=e.nodeSize;if(!e.isText)break;u+=e.text}if(s>=r){if(s>=i&&u.slice(i-e.length-o,i-o)==e)return i-e.length;let t=o<i?u.lastIndexOf(e,i-o-1):-1;if(t>=0&&t+e.length+o>=r)return o+t;if(r==i&&u.length>=i+e.length-o&&u.slice(i-o,i-o+e.length)==e)return i}}return-1}function ul(t,e,r,i,n){let s=[];for(let l=0,o=0;l<t.length;l++){let u=t[l],f=o,h=o+=u.size;if(f>=r||h<=e){s.push(u)}else{if(f<e)s.push(u.slice(0,e-f,i));if(n){s.push(n);n=undefined}if(h>r)s.push(u.slice(r-f,u.size,i))}}return s}function fl(t,e=null){let r=t.domSelectionRange(),i=t.state.doc;if(!r.focusNode)return null;let n=t.docView.nearestDesc(r.focusNode),s=n&&n.size==0;let l=t.docView.posFromDOM(r.focusNode,r.focusOffset,1);if(l<0)return null;let o=i.resolve(l),u,f;if($n(r)){u=o;while(n&&!n.node)n=n.parent;let t=n.node;if(n&&t.isAtom&&tn.isSelectable(t)&&n.parent&&!(t.isInline&&Sn(r.focusNode,r.focusOffset,n.dom))){let t=n.posBefore;f=new tn(l==t?o:i.resolve(t))}}else{let e=t.docView.posFromDOM(r.anchorNode,r.anchorOffset,1);if(e<0)return null;u=i.resolve(e)}if(!f){let r=e=="pointer"||t.state.selection.head<o.pos&&!s?1:-1;f=Dl(t,u,o,r)}return f}function hl(t){return t.editable?t.hasFocus():yl(t)&&document.activeElement&&document.activeElement.contains(t.dom)}function al(t,e=false){let r=t.state.selection;bl(t,r);if(!hl(t))return;if(!e&&t.input.mouseDown&&t.input.mouseDown.allowDefault&&Un){let e=t.domSelectionRange(),r=t.domObserver.currentSelection;if(e.anchorNode&&r.anchorNode&&Mn(e.anchorNode,e.anchorOffset,r.anchorNode,r.anchorOffset)){t.input.mouseDown.delayedSelectionSync=true;t.domObserver.setCurSelection();return}}t.domObserver.disconnectSelection();if(t.cursorWrapper){gl(t)}else{let{anchor:i,head:n}=r,s,l;if(cl&&!(r instanceof Yi)){if(!r.$from.parent.inlineContent)s=dl(t,r.from);if(!r.empty&&!r.$from.parent.inlineContent)l=dl(t,r.to)}t.docView.setSelection(i,n,t.root,e);if(cl){if(s)ml(s);if(l)ml(l)}if(r.visible){t.dom.classList.remove("ProseMirror-hideselection")}else{t.dom.classList.add("ProseMirror-hideselection");if("onselectionchange"in document)wl(t)}}t.domObserver.setCurSelection();t.domObserver.connectSelection()}const cl=Zn||Un&&Hn<63;function dl(t,e){let{node:r,offset:i}=t.docView.domFromPos(e,0);let n=i<r.childNodes.length?r.childNodes[i]:null;let s=i?r.childNodes[i-1]:null;if(Zn&&n&&n.contentEditable=="false")return pl(n);if((!n||n.contentEditable=="false")&&(!s||s.contentEditable=="false")){if(n)return pl(n);else if(s)return pl(s)}}function pl(t){t.contentEditable="true";if(Zn&&t.draggable){t.draggable=false;t.wasDraggable=true}return t}function ml(t){t.contentEditable="false";if(t.wasDraggable){t.draggable=true;t.wasDraggable=null}}function wl(t){let e=t.dom.ownerDocument;e.removeEventListener("selectionchange",t.input.hideSelectionGuard);let r=t.domSelectionRange();let i=r.anchorNode,n=r.anchorOffset;e.addEventListener("selectionchange",t.input.hideSelectionGuard=()=>{if(r.anchorNode!=i||r.anchorOffset!=n){e.removeEventListener("selectionchange",t.input.hideSelectionGuard);setTimeout((()=>{if(!hl(t)||t.state.selection.visible)t.dom.classList.remove("ProseMirror-hideselection")}),20)}})}function gl(t){let e=t.domSelection(),r=document.createRange();let i=t.cursorWrapper.dom,n=i.nodeName=="IMG";if(n)r.setEnd(i.parentNode,vn(i)+1);else r.setEnd(i,0);r.collapse(false);e.removeAllRanges();e.addRange(r);if(!n&&!t.state.selection.visible&&Pn&&Jn<=11){i.disabled=true;i.disabled=false}}function bl(t,e){if(e instanceof tn){let r=t.docView.descAt(e.from);if(r!=t.lastSelectedViewDesc){kl(t);if(r)r.selectNode();t.lastSelectedViewDesc=r}}else{kl(t)}}function kl(t){if(t.lastSelectedViewDesc){if(t.lastSelectedViewDesc.parent)t.lastSelectedViewDesc.deselectNode();t.lastSelectedViewDesc=undefined}}function Dl(t,e,r,i){return t.someProp("createSelectionBetween",(i=>i(t,e,r)))||Yi.between(e,r,i)}function vl(t){if(t.editable&&!t.hasFocus())return false;return yl(t)}function yl(t){let e=t.domSelectionRange();if(!e.anchorNode)return false;try{return t.dom.contains(e.anchorNode.nodeType==3?e.anchorNode.parentNode:e.anchorNode)&&(t.editable||t.dom.contains(e.focusNode.nodeType==3?e.focusNode.parentNode:e.focusNode))}catch(t){return false}}function Fl(t){let e=t.docView.domFromPos(t.state.selection.anchor,0);let r=t.domSelectionRange();return Mn(e.node,e.offset,r.anchorNode,r.anchorOffset)}function El(t,e){let{$anchor:r,$head:i}=t.selection;let n=e>0?r.max(i):r.min(i);let s=!n.parent.inlineContent?n:n.depth?t.doc.resolve(e>0?n.after():n.before()):null;return s&&Ki.findFrom(s,e)}function Ml(t,e){t.dispatch(t.state.tr.setSelection(e).scrollIntoView());return true}function xl(t,e,r){let i=t.state.selection;if(i instanceof Yi){if(r.indexOf("s")>-1){let{$head:r}=i,n=r.textOffset?null:e<0?r.nodeBefore:r.nodeAfter;if(!n||n.isText||!n.isLeaf)return false;let s=t.state.doc.resolve(r.pos+n.nodeSize*(e<0?-1:1));return Ml(t,new Yi(i.$anchor,s))}else if(!i.empty){return false}else if(t.endOfTextblock(e>0?"forward":"backward")){let r=El(t.state,e);if(r&&r instanceof tn)return Ml(t,r);return false}else if(!(Vn&&r.indexOf("m")>-1)){let r=i.$head,n=r.textOffset?null:e<0?r.nodeBefore:r.nodeAfter,s;if(!n||n.isText)return false;let l=e<0?r.pos-n.nodeSize:r.pos;if(!(n.isAtom||(s=t.docView.descAt(l))&&!s.contentDOM))return false;if(tn.isSelectable(n)){return Ml(t,new tn(e<0?t.state.doc.resolve(r.pos-n.nodeSize):r))}else if(Yn){return Ml(t,new Yi(t.state.doc.resolve(e<0?l:l+n.nodeSize)))}else{return false}}}else if(i instanceof tn&&i.node.isInline){return Ml(t,new Yi(e>0?i.$to:i.$from))}else{let r=El(t.state,e);if(r)return Ml(t,r);return false}}function Al(t){return t.nodeType==3?t.nodeValue.length:t.childNodes.length}function Cl(t,e){let r=t.pmViewDesc;return r&&r.size==0&&(e<0||t.nextSibling||t.nodeName!="BR")}function Sl(t,e){return e<0?Ol(t):$l(t)}function Ol(t){let e=t.domSelectionRange();let r=e.focusNode,i=e.focusOffset;if(!r)return;let n,s,l=false;if(Ln&&r.nodeType==1&&i<Al(r)&&Cl(r.childNodes[i],-1))l=true;for(;;){if(i>0){if(r.nodeType!=1){break}else{let t=r.childNodes[i-1];if(Cl(t,-1)){n=r;s=--i}else if(t.nodeType==3){r=t;i=r.nodeValue.length}else break}}else if(_l(r)){break}else{let e=r.previousSibling;while(e&&Cl(e,-1)){n=r.parentNode;s=vn(e);e=e.previousSibling}if(!e){r=r.parentNode;if(r==t.dom)break;i=0}else{r=e;i=Al(r)}}}if(l)jl(t,r,i);else if(n)jl(t,n,s)}function $l(t){let e=t.domSelectionRange();let r=e.focusNode,i=e.focusOffset;if(!r)return;let n=Al(r);let s,l;for(;;){if(i<n){if(r.nodeType!=1)break;let t=r.childNodes[i];if(Cl(t,1)){s=r;l=++i}else break}else if(_l(r)){break}else{let e=r.nextSibling;while(e&&Cl(e,1)){s=e.parentNode;l=vn(e)+1;e=e.nextSibling}if(!e){r=r.parentNode;if(r==t.dom)break;i=n=0}else{r=e;i=0;n=Al(r)}}}if(s)jl(t,s,l)}function _l(t){let e=t.pmViewDesc;return e&&e.node&&e.node.isBlock}function Bl(t,e){while(t&&e==t.childNodes.length&&!On(t)){e=vn(t)+1;t=t.parentNode}while(t&&e<t.childNodes.length){let r=t.childNodes[e];if(r.nodeType==3)return r;if(r.nodeType==1&&r.contentEditable=="false")break;t=r;e=0}}function Rl(t,e){while(t&&!e&&!On(t)){e=vn(t);t=t.parentNode}while(t&&e){let r=t.childNodes[e-1];if(r.nodeType==3)return r;if(r.nodeType==1&&r.contentEditable=="false")break;t=r;e=t.childNodes.length}}function jl(t,e,r){if(e.nodeType!=3){let t,i;if(i=Bl(e,r)){e=i;r=0}else if(t=Rl(e,r)){e=t;r=t.nodeValue.length}}let i=t.domSelection();if($n(i)){let t=document.createRange();t.setEnd(e,r);t.setStart(e,r);i.removeAllRanges();i.addRange(t)}else if(i.extend){i.extend(e,r)}t.domObserver.setCurSelection();let{state:n}=t;setTimeout((()=>{if(t.state==n)al(t)}),50)}function Nl(t,e){let r=t.state.doc.resolve(e);if(!(Un||Gn)&&r.parent.inlineContent){let i=t.coordsAtPos(e);if(e>r.start()){let r=t.coordsAtPos(e-1);let n=(r.top+r.bottom)/2;if(n>i.top&&n<i.bottom&&Math.abs(r.left-i.left)>1)return r.left<i.left?"ltr":"rtl"}if(e<r.end()){let r=t.coordsAtPos(e+1);let n=(r.top+r.bottom)/2;if(n>i.top&&n<i.bottom&&Math.abs(r.left-i.left)>1)return r.left>i.left?"ltr":"rtl"}}let i=getComputedStyle(t.dom).direction;return i=="rtl"?"rtl":"ltr"}function ql(t,e,r){let i=t.state.selection;if(i instanceof Yi&&!i.empty||r.indexOf("s")>-1)return false;if(Vn&&r.indexOf("m")>-1)return false;let{$from:n,$to:s}=i;if(!n.parent.inlineContent||t.endOfTextblock(e<0?"up":"down")){let r=El(t.state,e);if(r&&r instanceof tn)return Ml(t,r)}if(!n.parent.inlineContent){let r=e<0?n:s;let l=i instanceof rn?Ki.near(r,e):Ki.findFrom(r,e);return l?Ml(t,l):false}return false}function zl(t,e){if(!(t.state.selection instanceof Yi))return true;let{$head:r,$anchor:i,empty:n}=t.state.selection;if(!r.sameParent(i))return true;if(!n)return false;if(t.endOfTextblock(e>0?"forward":"backward"))return true;let s=!r.textOffset&&(e<0?r.nodeBefore:r.nodeAfter);if(s&&!s.isText){let i=t.state.tr;if(e<0)i.delete(r.pos-s.nodeSize,r.pos);else i.delete(r.pos,r.pos+s.nodeSize);t.dispatch(i);return true}return false}function Tl(t,e,r){t.domObserver.stop();e.contentEditable=r;t.domObserver.start()}function Il(t){if(!Zn||t.state.selection.$head.parentOffset>0)return false;let{focusNode:e,focusOffset:r}=t.domSelectionRange();if(e&&e.nodeType==1&&r==0&&e.firstChild&&e.firstChild.contentEditable=="false"){let r=e.firstChild;Tl(t,r,"true");setTimeout((()=>Tl(t,r,"false")),20)}return false}function Pl(t){let e="";if(t.ctrlKey)e+="c";if(t.metaKey)e+="m";if(t.altKey)e+="a";if(t.shiftKey)e+="s";return e}function Jl(t,e){let r=e.keyCode,i=Pl(e);if(r==8||Vn&&r==72&&i=="c"){return zl(t,-1)||Sl(t,-1)}else if(r==46&&!e.shiftKey||Vn&&r==68&&i=="c"){return zl(t,1)||Sl(t,1)}else if(r==13||r==27){return true}else if(r==37||Vn&&r==66&&i=="c"){let e=r==37?Nl(t,t.state.selection.from)=="ltr"?-1:1:-1;return xl(t,e,i)||Sl(t,e)}else if(r==39||Vn&&r==70&&i=="c"){let e=r==39?Nl(t,t.state.selection.from)=="ltr"?1:-1:1;return xl(t,e,i)||Sl(t,e)}else if(r==38||Vn&&r==80&&i=="c"){return ql(t,-1,i)||Sl(t,-1)}else if(r==40||Vn&&r==78&&i=="c"){return Il(t)||ql(t,1,i)||Sl(t,1)}else if(i==(Vn?"m":"c")&&(r==66||r==73||r==89||r==90)){return true}return false}function Ll(t,e){t.someProp("transformCopied",(r=>{e=r(e,t)}));let r=[],{content:i,openStart:n,openEnd:s}=e;while(n>1&&s>1&&i.childCount==1&&i.firstChild.childCount==1){n--;s--;let t=i.firstChild;r.push(t.type.name,t.attrs!=t.type.defaultAttrs?t.attrs:null);i=t.content}let l=t.someProp("clipboardSerializer")||Or.fromSchema(t.state.schema);let o=to(),u=o.createElement("div");u.appendChild(l.serializeFragment(i,{document:o}));let f=u.firstChild,h,a=0;while(f&&f.nodeType==1&&(h=Yl[f.nodeName.toLowerCase()])){for(let t=h.length-1;t>=0;t--){let e=o.createElement(h[t]);while(u.firstChild)e.appendChild(u.firstChild);u.appendChild(e);a++}f=u.firstChild}if(f&&f.nodeType==1)f.setAttribute("data-pm-slice",`${n} ${s}${a?` -${a}`:""} ${JSON.stringify(r)}`);let c=t.someProp("clipboardTextSerializer",(r=>r(e,t)))||e.content.textBetween(0,e.content.size,"\n\n");return{dom:u,text:c}}function Wl(t,e,r,i,n){let s=n.parent.type.spec.code;let l,o;if(!r&&!e)return null;let u=e&&(i||s||!r);if(u){t.someProp("transformPastedText",(r=>{e=r(e,s||i,t)}));if(s)return e?new ye(we.from(t.state.schema.text(e.replace(/\r\n?/g,"\n"))),0,0):ye.empty;let r=t.someProp("clipboardTextParser",(r=>r(e,n,i,t)));if(r){o=r}else{let r=n.marks();let{schema:i}=t.state,s=Or.fromSchema(i);l=document.createElement("div");e.split(/(?:\r\n?|\n)+/).forEach((t=>{let e=l.appendChild(document.createElement("p"));if(t)e.appendChild(s.serializeNode(i.text(t,r)))}))}}else{t.someProp("transformPastedHTML",(e=>{r=e(r,t)}));l=eo(r);if(Yn)ro(l)}let f=l&&l.querySelector("[data-pm-slice]");let h=f&&/^(\d+) (\d+)(?: -(\d+))? (.*)/.exec(f.getAttribute("data-pm-slice")||"");if(h&&h[3])for(let t=+h[3];t>0;t--){let t=l.firstChild;while(t&&t.nodeType!=1)t=t.nextSibling;if(!t)break;l=t}if(!o){let e=t.someProp("clipboardParser")||t.someProp("domParser")||wr.fromSchema(t.state.schema);o=e.parseSlice(l,{preserveWhitespace:!!(u||h),context:n,ruleFromNode(t){if(t.nodeName=="BR"&&!t.nextSibling&&t.parentNode&&!Ul.test(t.parentNode.nodeName))return{ignore:true};return null}})}if(h){o=io(Xl(o,+h[1],+h[2]),h[4])}else{o=ye.maxOpen(Hl(o.content,n),true);if(o.openStart||o.openEnd){let t=0,e=0;for(let e=o.content.firstChild;t<o.openStart&&!e.type.spec.isolating;t++,e=e.firstChild){}for(let t=o.content.lastChild;e<o.openEnd&&!t.type.spec.isolating;e++,t=t.lastChild){}o=Xl(o,t,e)}}t.someProp("transformPasted",(e=>{o=e(o,t)}));return o}const Ul=/^(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)$/i;function Hl(t,e){if(t.childCount<2)return t;for(let r=e.depth;r>=0;r--){let i=e.node(r);let n=i.contentMatchAt(e.index(r));let s,l=[];t.forEach((t=>{if(!l)return;let e=n.findWrapping(t.type),r;if(!e)return l=null;if(r=l.length&&s.length&&Kl(e,s,t,l[l.length-1],0)){l[l.length-1]=r}else{if(l.length)l[l.length-1]=Vl(l[l.length-1],s.length);let r=Zl(t,e);l.push(r);n=n.matchType(r.type);s=e}}));if(l)return we.from(l)}return t}function Zl(t,e,r=0){for(let i=e.length-1;i>=r;i--)t=e[i].create(null,we.from(t));return t}function Kl(t,e,r,i,n){if(n<t.length&&n<e.length&&t[n]==e[n]){let s=Kl(t,e,r,i.lastChild,n+1);if(s)return i.copy(i.content.replaceChild(i.childCount-1,s));let l=i.contentMatchAt(i.childCount);if(l.matchType(n==t.length-1?r.type:t[n+1]))return i.copy(i.content.append(we.from(Zl(r,t,n+1))))}}function Vl(t,e){if(e==0)return t;let r=t.content.replaceChild(t.childCount-1,Vl(t.lastChild,e-1));let i=t.contentMatchAt(t.childCount).fillBefore(we.empty,true);return t.copy(r.append(i))}function Gl(t,e,r,i,n,s){let l=e<0?t.firstChild:t.lastChild,o=l.content;if(t.childCount>1)s=0;if(n<i-1)o=Gl(o,e,r,i,n+1,s);if(n>=r)o=e<0?l.contentMatchAt(0).fillBefore(o,s<=n).append(o):o.append(l.contentMatchAt(l.childCount).fillBefore(we.empty,true));return t.replaceChild(e<0?0:t.childCount-1,l.copy(o))}function Xl(t,e,r){if(e<t.openStart)t=new ye(Gl(t.content,-1,e,t.openStart,0,t.openEnd),e,t.openEnd);if(r<t.openEnd)t=new ye(Gl(t.content,1,r,t.openEnd,0,0),t.openStart,r);return t}const Yl={thead:["table"],tbody:["table"],tfoot:["table"],caption:["table"],colgroup:["table"],col:["table","colgroup"],tr:["table","tbody"],td:["table","tbody","tr"],th:["table","tbody","tr"]};let Ql=null;function to(){return Ql||(Ql=document.implementation.createHTMLDocument("title"))}function eo(t){let e=/^(\s*<meta [^>]*>)*/.exec(t);if(e)t=t.slice(e[0].length);let r=to().createElement("div");let i=/<([a-z][^>\s]+)/i.exec(t),n;if(n=i&&Yl[i[1].toLowerCase()])t=n.map((t=>"<"+t+">")).join("")+t+n.map((t=>"</"+t+">")).reverse().join("");r.innerHTML=t;if(n)for(let t=0;t<n.length;t++)r=r.querySelector(n[t])||r;return r}function ro(t){let e=t.querySelectorAll(Un?"span:not([class]):not([style])":"span.Apple-converted-space");for(let r=0;r<e.length;r++){let i=e[r];if(i.childNodes.length==1&&i.textContent==" "&&i.parentNode)i.parentNode.replaceChild(t.ownerDocument.createTextNode(" "),i)}}function io(t,e){if(!t.size)return t;let r=t.content.firstChild.type.schema,i;try{i=JSON.parse(e)}catch(e){return t}let{content:n,openStart:s,openEnd:l}=t;for(let t=i.length-2;t>=0;t-=2){let e=r.nodes[i[t]];if(!e||e.hasRequiredAttrs())break;n=we.from(e.create(i[t+1],n));s++;l++}return new ye(n,s,l)}const no={};const so={};const lo={touchstart:true,touchmove:true};class oo{constructor(){this.shiftKey=false;this.mouseDown=null;this.lastKeyCode=null;this.lastKeyCodeTime=0;this.lastClick={time:0,x:0,y:0,type:""};this.lastSelectionOrigin=null;this.lastSelectionTime=0;this.lastIOSEnter=0;this.lastIOSEnterFallbackTimeout=-1;this.lastFocus=0;this.lastTouch=0;this.lastAndroidDelete=0;this.composing=false;this.composingTimeout=-1;this.compositionNodes=[];this.compositionEndedAt=-2e8;this.compositionID=1;this.compositionPendingChanges=0;this.domChangeCount=0;this.eventHandlers=Object.create(null);this.hideSelectionGuard=null}}function uo(t){for(let e in no){let r=no[e];t.dom.addEventListener(e,t.input.eventHandlers[e]=e=>{if(po(t,e)&&!co(t,e)&&(t.editable||!(e.type in so)))r(t,e)},lo[e]?{passive:true}:undefined)}if(Zn)t.dom.addEventListener("input",(()=>null));ao(t)}function fo(t,e){t.input.lastSelectionOrigin=e;t.input.lastSelectionTime=Date.now()}function ho(t){t.domObserver.stop();for(let e in t.input.eventHandlers)t.dom.removeEventListener(e,t.input.eventHandlers[e]);clearTimeout(t.input.composingTimeout);clearTimeout(t.input.lastIOSEnterFallbackTimeout)}function ao(t){t.someProp("handleDOMEvents",(e=>{for(let r in e)if(!t.input.eventHandlers[r])t.dom.addEventListener(r,t.input.eventHandlers[r]=e=>co(t,e))}))}function co(t,e){return t.someProp("handleDOMEvents",(r=>{let i=r[e.type];return i?i(t,e)||e.defaultPrevented:false}))}function po(t,e){if(!e.bubbles)return true;if(e.defaultPrevented)return false;for(let r=e.target;r!=t.dom;r=r.parentNode)if(!r||r.nodeType==11||r.pmViewDesc&&r.pmViewDesc.stopEvent(e))return false;return true}function mo(t,e){if(!co(t,e)&&no[e.type]&&(t.editable||!(e.type in so)))no[e.type](t,e)}so.keydown=(t,e)=>{let r=e;t.input.shiftKey=r.keyCode==16||r.shiftKey;if(So(t,r))return;t.input.lastKeyCode=r.keyCode;t.input.lastKeyCodeTime=Date.now();if(Xn&&Un&&r.keyCode==13)return;if(r.keyCode!=229)t.domObserver.forceFlush();if(Kn&&r.keyCode==13&&!r.ctrlKey&&!r.altKey&&!r.metaKey){let e=Date.now();t.input.lastIOSEnter=e;t.input.lastIOSEnterFallbackTimeout=setTimeout((()=>{if(t.input.lastIOSEnter==e){t.someProp("handleKeyDown",(e=>e(t,_n(13,"Enter"))));t.input.lastIOSEnter=0}}),200)}else if(t.someProp("handleKeyDown",(e=>e(t,r)))||Jl(t,r)){r.preventDefault()}else{fo(t,"key")}};so.keyup=(t,e)=>{if(e.keyCode==16)t.input.shiftKey=false};so.keypress=(t,e)=>{let r=e;if(So(t,r)||!r.charCode||r.ctrlKey&&!r.altKey||Vn&&r.metaKey)return;if(t.someProp("handleKeyPress",(e=>e(t,r)))){r.preventDefault();return}let i=t.state.selection;if(!(i instanceof Yi)||!i.$from.sameParent(i.$to)){let e=String.fromCharCode(r.charCode);if(!/[\r\n]/.test(e)&&!t.someProp("handleTextInput",(r=>r(t,i.$from.pos,i.$to.pos,e))))t.dispatch(t.state.tr.insertText(e).scrollIntoView());r.preventDefault()}};function wo(t){return{left:t.clientX,top:t.clientY}}function go(t,e){let r=e.x-t.clientX,i=e.y-t.clientY;return r*r+i*i<100}function bo(t,e,r,i,n){if(i==-1)return false;let s=t.state.doc.resolve(i);for(let i=s.depth+1;i>0;i--){if(t.someProp(e,(e=>i>s.depth?e(t,r,s.nodeAfter,s.before(i),n,true):e(t,r,s.node(i),s.before(i),n,false))))return true}return false}function ko(t,e,r){if(!t.focused)t.focus();let i=t.state.tr.setSelection(e);if(r=="pointer")i.setMeta("pointer",true);t.dispatch(i)}function Do(t,e){if(e==-1)return false;let r=t.state.doc.resolve(e),i=r.nodeAfter;if(i&&i.isAtom&&tn.isSelectable(i)){ko(t,new tn(r),"pointer");return true}return false}function vo(t,e){if(e==-1)return false;let r=t.state.selection,i,n;if(r instanceof tn)i=r.node;let s=t.state.doc.resolve(e);for(let t=s.depth+1;t>0;t--){let e=t>s.depth?s.nodeAfter:s.node(t);if(tn.isSelectable(e)){if(i&&r.$from.depth>0&&t>=r.$from.depth&&s.before(r.$from.depth+1)==r.$from.pos)n=s.before(r.$from.depth);else n=s.before(t);break}}if(n!=null){ko(t,tn.create(t.state.doc,n),"pointer");return true}else{return false}}function yo(t,e,r,i,n){return bo(t,"handleClickOn",e,r,i)||t.someProp("handleClick",(r=>r(t,e,i)))||(n?vo(t,r):Do(t,r))}function Fo(t,e,r,i){return bo(t,"handleDoubleClickOn",e,r,i)||t.someProp("handleDoubleClick",(r=>r(t,e,i)))}function Eo(t,e,r,i){return bo(t,"handleTripleClickOn",e,r,i)||t.someProp("handleTripleClick",(r=>r(t,e,i)))||Mo(t,r,i)}function Mo(t,e,r){if(r.button!=0)return false;let i=t.state.doc;if(e==-1){if(i.inlineContent){ko(t,Yi.create(i,0,i.content.size),"pointer");return true}return false}let n=i.resolve(e);for(let e=n.depth+1;e>0;e--){let r=e>n.depth?n.nodeAfter:n.node(e);let s=n.before(e);if(r.inlineContent)ko(t,Yi.create(i,s+1,s+1+r.content.size),"pointer");else if(tn.isSelectable(r))ko(t,tn.create(i,s),"pointer");else continue;return true}}function xo(t){return Ro(t)}const Ao=Vn?"metaKey":"ctrlKey";no.mousedown=(t,e)=>{let r=e;t.input.shiftKey=r.shiftKey;let i=xo(t);let n=Date.now(),s="singleClick";if(n-t.input.lastClick.time<500&&go(r,t.input.lastClick)&&!r[Ao]){if(t.input.lastClick.type=="singleClick")s="doubleClick";else if(t.input.lastClick.type=="doubleClick")s="tripleClick"}t.input.lastClick={time:n,x:r.clientX,y:r.clientY,type:s};let l=t.posAtCoords(wo(r));if(!l)return;if(s=="singleClick"){if(t.input.mouseDown)t.input.mouseDown.done();t.input.mouseDown=new Co(t,l,r,!!i)}else if((s=="doubleClick"?Fo:Eo)(t,l.pos,l.inside,r)){r.preventDefault()}else{fo(t,"pointer")}};class Co{constructor(t,e,r,i){this.view=t;this.pos=e;this.event=r;this.flushed=i;this.delayedSelectionSync=false;this.mightDrag=null;this.startDoc=t.state.doc;this.selectNode=!!r[Ao];this.allowDefault=r.shiftKey;let n,s;if(e.inside>-1){n=t.state.doc.nodeAt(e.inside);s=e.inside}else{let r=t.state.doc.resolve(e.pos);n=r.parent;s=r.depth?r.before():0}const l=i?null:r.target;const o=l?t.docView.nearestDesc(l,true):null;this.target=o?o.dom:null;let{selection:u}=t.state;if(r.button==0&&n.type.spec.draggable&&n.type.spec.selectable!==false||u instanceof tn&&u.from<=s&&u.to>s)this.mightDrag={node:n,pos:s,addAttr:!!(this.target&&!this.target.draggable),setUneditable:!!(this.target&&Ln&&!this.target.hasAttribute("contentEditable"))};if(this.target&&this.mightDrag&&(this.mightDrag.addAttr||this.mightDrag.setUneditable)){this.view.domObserver.stop();if(this.mightDrag.addAttr)this.target.draggable=true;if(this.mightDrag.setUneditable)setTimeout((()=>{if(this.view.input.mouseDown==this)this.target.setAttribute("contentEditable","false")}),20);this.view.domObserver.start()}t.root.addEventListener("mouseup",this.up=this.up.bind(this));t.root.addEventListener("mousemove",this.move=this.move.bind(this));fo(t,"pointer")}done(){this.view.root.removeEventListener("mouseup",this.up);this.view.root.removeEventListener("mousemove",this.move);if(this.mightDrag&&this.target){this.view.domObserver.stop();if(this.mightDrag.addAttr)this.target.removeAttribute("draggable");if(this.mightDrag.setUneditable)this.target.removeAttribute("contentEditable");this.view.domObserver.start()}if(this.delayedSelectionSync)setTimeout((()=>al(this.view)));this.view.input.mouseDown=null}up(t){this.done();if(!this.view.dom.contains(t.target))return;let e=this.pos;if(this.view.state.doc!=this.startDoc)e=this.view.posAtCoords(wo(t));this.updateAllowDefault(t);if(this.allowDefault||!e){fo(this.view,"pointer")}else if(yo(this.view,e.pos,e.inside,t,this.selectNode)){t.preventDefault()}else if(t.button==0&&(this.flushed||Zn&&this.mightDrag&&!this.mightDrag.node.isAtom||Un&&!this.view.state.selection.visible&&Math.min(Math.abs(e.pos-this.view.state.selection.from),Math.abs(e.pos-this.view.state.selection.to))<=2)){ko(this.view,Ki.near(this.view.state.doc.resolve(e.pos)),"pointer");t.preventDefault()}else{fo(this.view,"pointer")}}move(t){this.updateAllowDefault(t);fo(this.view,"pointer");if(t.buttons==0)this.done()}updateAllowDefault(t){if(!this.allowDefault&&(Math.abs(this.event.x-t.clientX)>4||Math.abs(this.event.y-t.clientY)>4))this.allowDefault=true}}no.touchstart=t=>{t.input.lastTouch=Date.now();xo(t);fo(t,"pointer")};no.touchmove=t=>{t.input.lastTouch=Date.now();fo(t,"pointer")};no.contextmenu=t=>xo(t);function So(t,e){if(t.composing)return true;if(Zn&&Math.abs(e.timeStamp-t.input.compositionEndedAt)<500){t.input.compositionEndedAt=-2e8;return true}return false}const Oo=Xn?5e3:-1;so.compositionstart=so.compositionupdate=t=>{if(!t.composing){t.domObserver.flush();let{state:e}=t,r=e.selection.$from;if(e.selection.empty&&(e.storedMarks||!r.textOffset&&r.parentOffset&&r.nodeBefore.marks.some((t=>t.type.spec.inclusive===false)))){t.markCursor=t.state.storedMarks||r.marks();Ro(t,true);t.markCursor=null}else{Ro(t);if(Ln&&e.selection.empty&&r.parentOffset&&!r.textOffset&&r.nodeBefore.marks.length){let e=t.domSelectionRange();for(let r=e.focusNode,i=e.focusOffset;r&&r.nodeType==1&&i!=0;){let e=i<0?r.lastChild:r.childNodes[i-1];if(!e)break;if(e.nodeType==3){t.domSelection().collapse(e,e.nodeValue.length);break}else{r=e;i=-1}}}}t.input.composing=true}$o(t,Oo)};so.compositionend=(t,e)=>{if(t.composing){t.input.composing=false;t.input.compositionEndedAt=e.timeStamp;t.input.compositionPendingChanges=t.domObserver.pendingRecords().length?t.input.compositionID:0;if(t.input.compositionPendingChanges)Promise.resolve().then((()=>t.domObserver.flush()));t.input.compositionID++;$o(t,20)}};function $o(t,e){clearTimeout(t.input.composingTimeout);if(e>-1)t.input.composingTimeout=setTimeout((()=>Ro(t)),e)}function _o(t){if(t.composing){t.input.composing=false;t.input.compositionEndedAt=Bo()}while(t.input.compositionNodes.length>0)t.input.compositionNodes.pop().markParentsDirty()}function Bo(){let t=document.createEvent("Event");t.initEvent("event",true,true);return t.timeStamp}function Ro(t,e=false){if(Xn&&t.domObserver.flushingSoon>=0)return;t.domObserver.forceFlush();_o(t);if(e||t.docView&&t.docView.dirty){let e=fl(t);if(e&&!e.eq(t.state.selection))t.dispatch(t.state.tr.setSelection(e));else t.updateState(t.state);return true}return false}function jo(t,e){if(!t.dom.parentNode)return;let r=t.dom.parentNode.appendChild(document.createElement("div"));r.appendChild(e);r.style.cssText="position: fixed; left: -10000px; top: 10px";let i=getSelection(),n=document.createRange();n.selectNodeContents(e);t.dom.blur();i.removeAllRanges();i.addRange(n);setTimeout((()=>{if(r.parentNode)r.parentNode.removeChild(r);t.focus()}),50)}const No=Pn&&Jn<15||Kn&&Qn<604;no.copy=so.cut=(t,e)=>{let r=e;let i=t.state.selection,n=r.type=="cut";if(i.empty)return;let s=No?null:r.clipboardData;let l=i.content(),{dom:o,text:u}=Ll(t,l);if(s){r.preventDefault();s.clearData();s.setData("text/html",o.innerHTML);s.setData("text/plain",u)}else{jo(t,o)}if(n)t.dispatch(t.state.tr.deleteSelection().scrollIntoView().setMeta("uiEvent","cut"))};function qo(t){return t.openStart==0&&t.openEnd==0&&t.content.childCount==1?t.content.firstChild:null}function zo(t,e){if(!t.dom.parentNode)return;let r=t.input.shiftKey||t.state.selection.$from.parent.type.spec.code;let i=t.dom.parentNode.appendChild(document.createElement(r?"textarea":"div"));if(!r)i.contentEditable="true";i.style.cssText="position: fixed; left: -10000px; top: 10px";i.focus();let n=t.input.shiftKey&&t.input.lastKeyCode!=45;setTimeout((()=>{t.focus();if(i.parentNode)i.parentNode.removeChild(i);if(r)To(t,i.value,null,n,e);else To(t,i.textContent,i.innerHTML,n,e)}),50)}function To(t,e,r,i,n){let s=Wl(t,e,r,i,t.state.selection.$from);if(t.someProp("handlePaste",(e=>e(t,n,s||ye.empty))))return true;if(!s)return false;let l=qo(s);let o=l?t.state.tr.replaceSelectionWith(l,i):t.state.tr.replaceSelection(s);t.dispatch(o.scrollIntoView().setMeta("paste",true).setMeta("uiEvent","paste"));return true}function Io(t){let e=t.getData("text/plain")||t.getData("Text");if(e)return e;let r=t.getData("text/uri-list");return r?r.replace(/\r?\n/g," "):""}so.paste=(t,e)=>{let r=e;if(t.composing&&!Xn)return;let i=No?null:r.clipboardData;let n=t.input.shiftKey&&t.input.lastKeyCode!=45;if(i&&To(t,Io(i),i.getData("text/html"),n,r))r.preventDefault();else zo(t,r)};class Po{constructor(t,e,r){this.slice=t;this.move=e;this.node=r}}const Jo=Vn?"altKey":"ctrlKey";no.dragstart=(t,e)=>{let r=e;let i=t.input.mouseDown;if(i)i.done();if(!r.dataTransfer)return;let n=t.state.selection;let s=n.empty?null:t.posAtCoords(wo(r));let l;if(s&&s.pos>=n.from&&s.pos<=(n instanceof tn?n.to-1:n.to));else if(i&&i.mightDrag){l=tn.create(t.state.doc,i.mightDrag.pos)}else if(r.target&&r.target.nodeType==1){let e=t.docView.nearestDesc(r.target,true);if(e&&e.node.type.spec.draggable&&e!=t.docView)l=tn.create(t.state.doc,e.posBefore)}let o=(l||t.state.selection).content(),{dom:u,text:f}=Ll(t,o);r.dataTransfer.clearData();r.dataTransfer.setData(No?"Text":"text/html",u.innerHTML);r.dataTransfer.effectAllowed="copyMove";if(!No)r.dataTransfer.setData("text/plain",f);t.dragging=new Po(o,!r[Jo],l)};no.dragend=t=>{let e=t.dragging;window.setTimeout((()=>{if(t.dragging==e)t.dragging=null}),50)};so.dragover=so.dragenter=(t,e)=>e.preventDefault();so.drop=(t,e)=>{let r=e;let i=t.dragging;t.dragging=null;if(!r.dataTransfer)return;let n=t.posAtCoords(wo(r));if(!n)return;let s=t.state.doc.resolve(n.pos);let l=i&&i.slice;if(l){t.someProp("transformPasted",(e=>{l=e(l,t)}))}else{l=Wl(t,Io(r.dataTransfer),No?null:r.dataTransfer.getData("text/html"),false,s)}let o=!!(i&&!r[Jo]);if(t.someProp("handleDrop",(e=>e(t,r,l||ye.empty,o)))){r.preventDefault();return}if(!l)return;r.preventDefault();let u=l?Ai(t.state.doc,s.pos,l):s.pos;if(u==null)u=s.pos;let f=t.state.tr;if(o){let{node:t}=i;if(t)t.replace(f);else f.deleteSelection()}let h=f.mapping.map(u);let a=l.openStart==0&&l.openEnd==0&&l.content.childCount==1;let c=f.doc;if(a)f.replaceRangeWith(h,h,l.content.firstChild);else f.replaceRange(h,h,l);if(f.doc.eq(c))return;let d=f.doc.resolve(h);if(a&&tn.isSelectable(l.content.firstChild)&&d.nodeAfter&&d.nodeAfter.sameMarkup(l.content.firstChild)){f.setSelection(new tn(d))}else{let e=f.mapping.map(u);f.mapping.maps[f.mapping.maps.length-1].forEach(((t,r,i,n)=>e=n));f.setSelection(Dl(t,d,f.doc.resolve(e)))}t.focus();t.dispatch(f.setMeta("uiEvent","drop"))};no.focus=t=>{t.input.lastFocus=Date.now();if(!t.focused){t.domObserver.stop();t.dom.classList.add("ProseMirror-focused");t.domObserver.start();t.focused=true;setTimeout((()=>{if(t.docView&&t.hasFocus()&&!t.domObserver.currentSelection.eq(t.domSelectionRange()))al(t)}),20)}};no.blur=(t,e)=>{let r=e;if(t.focused){t.domObserver.stop();t.dom.classList.remove("ProseMirror-focused");t.domObserver.start();if(r.relatedTarget&&t.dom.contains(r.relatedTarget))t.domObserver.currentSelection.clear();t.focused=false}};no.beforeinput=(t,e)=>{let r=e;if(Un&&Xn&&r.inputType=="deleteContentBackward"){t.domObserver.flushSoon();let{domChangeCount:e}=t.input;setTimeout((()=>{if(t.input.domChangeCount!=e)return;t.dom.blur();t.focus();if(t.someProp("handleKeyDown",(e=>e(t,_n(8,"Backspace")))))return;let{$cursor:r}=t.state.selection;if(r&&r.pos>0)t.dispatch(t.state.tr.delete(r.pos-1,r.pos).scrollIntoView())}),50)}};for(let t in so)no[t]=so[t];function Lo(t,e){if(t==e)return true;for(let r in t)if(t[r]!==e[r])return false;for(let r in e)if(!(r in t))return false;return true}class Wo{constructor(t,e){this.toDOM=t;this.spec=e||Vo;this.side=this.spec.side||0}map(t,e,r,i){let{pos:n,deleted:s}=t.mapResult(e.from+i,this.side<0?-1:1);return s?null:new Zo(n-r,n-r,this)}valid(){return true}eq(t){return this==t||t instanceof Wo&&(this.spec.key&&this.spec.key==t.spec.key||this.toDOM==t.toDOM&&Lo(this.spec,t.spec))}destroy(t){if(this.spec.destroy)this.spec.destroy(t)}}class Uo{constructor(t,e){this.attrs=t;this.spec=e||Vo}map(t,e,r,i){let n=t.map(e.from+i,this.spec.inclusiveStart?-1:1)-r;let s=t.map(e.to+i,this.spec.inclusiveEnd?1:-1)-r;return n>=s?null:new Zo(n,s,this)}valid(t,e){return e.from<e.to}eq(t){return this==t||t instanceof Uo&&Lo(this.attrs,t.attrs)&&Lo(this.spec,t.spec)}static is(t){return t.type instanceof Uo}destroy(){}}class Ho{constructor(t,e){this.attrs=t;this.spec=e||Vo}map(t,e,r,i){let n=t.mapResult(e.from+i,1);if(n.deleted)return null;let s=t.mapResult(e.to+i,-1);if(s.deleted||s.pos<=n.pos)return null;return new Zo(n.pos-r,s.pos-r,this)}valid(t,e){let{index:r,offset:i}=t.content.findIndex(e.from),n;return i==e.from&&!(n=t.child(r)).isText&&i+n.nodeSize==e.to}eq(t){return this==t||t instanceof Ho&&Lo(this.attrs,t.attrs)&&Lo(this.spec,t.spec)}destroy(){}}class Zo{constructor(t,e,r){this.from=t;this.to=e;this.type=r}copy(t,e){return new Zo(t,e,this.type)}eq(t,e=0){return this.type.eq(t.type)&&this.from+e==t.from&&this.to+e==t.to}map(t,e,r){return this.type.map(t,this,e,r)}static widget(t,e,r){return new Zo(t,t,new Wo(e,r))}static inline(t,e,r,i){return new Zo(t,e,new Uo(r,i))}static node(t,e,r,i){return new Zo(t,e,new Ho(r,i))}get spec(){return this.type.spec}get inline(){return this.type instanceof Uo}get widget(){return this.type instanceof Wo}}const Ko=[],Vo={};class Go{constructor(t,e){this.local=t.length?t:Ko;this.children=e.length?e:Ko}static create(t,e){return e.length?nu(e,t,0,Vo):Xo}find(t,e,r){let i=[];this.findInner(t==null?0:t,e==null?1e9:e,i,0,r);return i}findInner(t,e,r,i,n){for(let s=0;s<this.local.length;s++){let l=this.local[s];if(l.from<=e&&l.to>=t&&(!n||n(l.spec)))r.push(l.copy(l.from+i,l.to+i))}for(let s=0;s<this.children.length;s+=3){if(this.children[s]<e&&this.children[s+1]>t){let l=this.children[s]+1;this.children[s+2].findInner(t-l,e-l,r,i+l,n)}}}map(t,e,r){if(this==Xo||t.maps.length==0)return this;return this.mapInner(t,e,0,0,r||Vo)}mapInner(t,e,r,i,n){let s;for(let l=0;l<this.local.length;l++){let o=this.local[l].map(t,r,i);if(o&&o.type.valid(e,o))(s||(s=[])).push(o);else if(n.onRemove)n.onRemove(this.local[l].spec)}if(this.children.length)return Qo(this.children,s||[],t,e,r,i,n);else return s?new Go(s.sort(su),Ko):Xo}add(t,e){if(!e.length)return this;if(this==Xo)return Go.create(t,e);return this.addInner(t,e,0)}addInner(t,e,r){let i,n=0;t.forEach(((t,s)=>{let l=s+r,o;if(!(o=ru(e,t,l)))return;if(!i)i=this.children.slice();while(n<i.length&&i[n]<s)n+=3;if(i[n]==s)i[n+2]=i[n+2].addInner(t,o,l+1);else i.splice(n,0,s,s+t.nodeSize,nu(o,t,l+1,Vo));n+=3}));let s=tu(n?iu(e):e,-r);for(let e=0;e<s.length;e++)if(!s[e].type.valid(t,s[e]))s.splice(e--,1);return new Go(s.length?this.local.concat(s).sort(su):this.local,i||this.children)}remove(t){if(t.length==0||this==Xo)return this;return this.removeInner(t,0)}removeInner(t,e){let r=this.children,i=this.local;for(let i=0;i<r.length;i+=3){let n;let s=r[i]+e,l=r[i+1]+e;for(let e=0,r;e<t.length;e++)if(r=t[e]){if(r.from>s&&r.to<l){t[e]=null;(n||(n=[])).push(r)}}if(!n)continue;if(r==this.children)r=this.children.slice();let o=r[i+2].removeInner(n,s+1);if(o!=Xo){r[i+2]=o}else{r.splice(i,3);i-=3}}if(i.length)for(let r=0,n;r<t.length;r++)if(n=t[r]){for(let t=0;t<i.length;t++)if(i[t].eq(n,e)){if(i==this.local)i=this.local.slice();i.splice(t--,1)}}if(r==this.children&&i==this.local)return this;return i.length||r.length?new Go(i,r):Xo}forChild(t,e){if(this==Xo)return this;if(e.isLeaf)return Go.empty;let r,i;for(let e=0;e<this.children.length;e+=3)if(this.children[e]>=t){if(this.children[e]==t)r=this.children[e+2];break}let n=t+1,s=n+e.content.size;for(let t=0;t<this.local.length;t++){let e=this.local[t];if(e.from<s&&e.to>n&&e.type instanceof Uo){let t=Math.max(n,e.from)-n,r=Math.min(s,e.to)-n;if(t<r)(i||(i=[])).push(e.copy(t,r))}}if(i){let t=new Go(i.sort(su),Ko);return r?new Yo([t,r]):t}return r||Xo}eq(t){if(this==t)return true;if(!(t instanceof Go)||this.local.length!=t.local.length||this.children.length!=t.children.length)return false;for(let e=0;e<this.local.length;e++)if(!this.local[e].eq(t.local[e]))return false;for(let e=0;e<this.children.length;e+=3)if(this.children[e]!=t.children[e]||this.children[e+1]!=t.children[e+1]||!this.children[e+2].eq(t.children[e+2]))return false;return true}locals(t){return lu(this.localsInner(t))}localsInner(t){if(this==Xo)return Ko;if(t.inlineContent||!this.local.some(Uo.is))return this.local;let e=[];for(let t=0;t<this.local.length;t++){if(!(this.local[t].type instanceof Uo))e.push(this.local[t])}return e}}Go.empty=new Go([],[]);Go.removeOverlap=lu;const Xo=Go.empty;class Yo{constructor(t){this.members=t}map(t,e){const r=this.members.map((r=>r.map(t,e,Vo)));return Yo.from(r)}forChild(t,e){if(e.isLeaf)return Go.empty;let r=[];for(let i=0;i<this.members.length;i++){let n=this.members[i].forChild(t,e);if(n==Xo)continue;if(n instanceof Yo)r=r.concat(n.members);else r.push(n)}return Yo.from(r)}eq(t){if(!(t instanceof Yo)||t.members.length!=this.members.length)return false;for(let e=0;e<this.members.length;e++)if(!this.members[e].eq(t.members[e]))return false;return true}locals(t){let e,r=true;for(let i=0;i<this.members.length;i++){let n=this.members[i].localsInner(t);if(!n.length)continue;if(!e){e=n}else{if(r){e=e.slice();r=false}for(let t=0;t<n.length;t++)e.push(n[t])}}return e?lu(r?e:e.sort(su)):Ko}static from(t){switch(t.length){case 0:return Xo;case 1:return t[0];default:return new Yo(t.every((t=>t instanceof Go))?t:t.reduce(((t,e)=>t.concat(e instanceof Go?e:e.members)),[]))}}}function Qo(t,e,r,i,n,s,l){let o=t.slice();for(let t=0,e=s;t<r.maps.length;t++){let i=0;r.maps[t].forEach(((t,r,n,s)=>{let l=s-n-(r-t);for(let n=0;n<o.length;n+=3){let s=o[n+1];if(s<0||t>s+e-i)continue;let u=o[n]+e-i;if(r>=u){o[n+1]=t<=u?-2:-1}else if(t>=e&&l){o[n]+=l;o[n+1]+=l}}i+=l}));e=r.maps[t].map(e,-1)}let u=false;for(let e=0;e<o.length;e+=3)if(o[e+1]<0){if(o[e+1]==-2){u=true;o[e+1]=-1;continue}let f=r.map(t[e]+s),h=f-n;if(h<0||h>=i.content.size){u=true;continue}let a=r.map(t[e+1]+s,-1),c=a-n;let{index:d,offset:p}=i.content.findIndex(h);let m=i.maybeChild(d);if(m&&p==h&&p+m.nodeSize==c){let i=o[e+2].mapInner(r,m,f+1,t[e]+s+1,l);if(i!=Xo){o[e]=h;o[e+1]=c;o[e+2]=i}else{o[e+1]=-2;u=true}}else{u=true}}if(u){let u=eu(o,t,e,r,n,s,l);let f=nu(u,i,0,l);e=f.local;for(let t=0;t<o.length;t+=3)if(o[t+1]<0){o.splice(t,3);t-=3}for(let t=0,e=0;t<f.children.length;t+=3){let r=f.children[t];while(e<o.length&&o[e]<r)e+=3;o.splice(e,0,f.children[t],f.children[t+1],f.children[t+2])}}return new Go(e.sort(su),o)}function tu(t,e){if(!e||!t.length)return t;let r=[];for(let i=0;i<t.length;i++){let n=t[i];r.push(new Zo(n.from+e,n.to+e,n.type))}return r}function eu(t,e,r,i,n,s,l){function o(t,e){for(let s=0;s<t.local.length;s++){let o=t.local[s].map(i,n,e);if(o)r.push(o);else if(l.onRemove)l.onRemove(t.local[s].spec)}for(let r=0;r<t.children.length;r+=3)o(t.children[r+2],t.children[r]+e+1)}for(let r=0;r<t.length;r+=3)if(t[r+1]==-1)o(t[r+2],e[r]+s+1);return r}function ru(t,e,r){if(e.isLeaf)return null;let i=r+e.nodeSize,n=null;for(let e=0,s;e<t.length;e++){if((s=t[e])&&s.from>r&&s.to<i){(n||(n=[])).push(s);t[e]=null}}return n}function iu(t){let e=[];for(let r=0;r<t.length;r++)if(t[r]!=null)e.push(t[r]);return e}function nu(t,e,r,i){let n=[],s=false;e.forEach(((e,l)=>{let o=ru(t,e,l+r);if(o){s=true;let t=nu(o,e,r+l+1,i);if(t!=Xo)n.push(l,l+e.nodeSize,t)}}));let l=tu(s?iu(t):t,-r).sort(su);for(let t=0;t<l.length;t++)if(!l[t].type.valid(e,l[t])){if(i.onRemove)i.onRemove(l[t].spec);l.splice(t--,1)}return l.length||n.length?new Go(l,n):Xo}function su(t,e){return t.from-e.from||t.to-e.to}function lu(t){let e=t;for(let r=0;r<e.length-1;r++){let i=e[r];if(i.from!=i.to)for(let n=r+1;n<e.length;n++){let s=e[n];if(s.from==i.from){if(s.to!=i.to){if(e==t)e=t.slice();e[n]=s.copy(s.from,i.to);ou(e,n+1,s.copy(i.to,s.to))}continue}else{if(s.from<i.to){if(e==t)e=t.slice();e[r]=i.copy(i.from,s.from);ou(e,n,i.copy(s.from,i.to))}break}}}return e}function ou(t,e,r){while(e<t.length&&su(r,t[e])>0)e++;t.splice(e,0,r)}function uu(t){let e=[];t.someProp("decorations",(r=>{let i=r(t.state);if(i&&i!=Xo)e.push(i)}));if(t.cursorWrapper)e.push(Go.create(t.state.doc,[t.cursorWrapper.deco]));return Yo.from(e)}const fu={childList:true,characterData:true,characterDataOldValue:true,attributes:true,attributeOldValue:true,subtree:true};const hu=Pn&&Jn<=11;class au{constructor(){this.anchorNode=null;this.anchorOffset=0;this.focusNode=null;this.focusOffset=0}set(t){this.anchorNode=t.anchorNode;this.anchorOffset=t.anchorOffset;this.focusNode=t.focusNode;this.focusOffset=t.focusOffset}clear(){this.anchorNode=this.focusNode=null}eq(t){return t.anchorNode==this.anchorNode&&t.anchorOffset==this.anchorOffset&&t.focusNode==this.focusNode&&t.focusOffset==this.focusOffset}}class cu{constructor(t,e){this.view=t;this.handleDOMChange=e;this.queue=[];this.flushingSoon=-1;this.observer=null;this.currentSelection=new au;this.onCharData=null;this.suppressingSelectionUpdates=false;this.observer=window.MutationObserver&&new window.MutationObserver((t=>{for(let e=0;e<t.length;e++)this.queue.push(t[e]);if(Pn&&Jn<=11&&t.some((t=>t.type=="childList"&&t.removedNodes.length||t.type=="characterData"&&t.oldValue.length>t.target.nodeValue.length)))this.flushSoon();else this.flush()}));if(hu){this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.prevValue});this.flushSoon()}}this.onSelectionChange=this.onSelectionChange.bind(this)}flushSoon(){if(this.flushingSoon<0)this.flushingSoon=window.setTimeout((()=>{this.flushingSoon=-1;this.flush()}),20)}forceFlush(){if(this.flushingSoon>-1){window.clearTimeout(this.flushingSoon);this.flushingSoon=-1;this.flush()}}start(){if(this.observer){this.observer.takeRecords();this.observer.observe(this.view.dom,fu)}if(this.onCharData)this.view.dom.addEventListener("DOMCharacterDataModified",this.onCharData);this.connectSelection()}stop(){if(this.observer){let t=this.observer.takeRecords();if(t.length){for(let e=0;e<t.length;e++)this.queue.push(t[e]);window.setTimeout((()=>this.flush()),20)}this.observer.disconnect()}if(this.onCharData)this.view.dom.removeEventListener("DOMCharacterDataModified",this.onCharData);this.disconnectSelection()}connectSelection(){this.view.dom.ownerDocument.addEventListener("selectionchange",this.onSelectionChange)}disconnectSelection(){this.view.dom.ownerDocument.removeEventListener("selectionchange",this.onSelectionChange)}suppressSelectionUpdates(){this.suppressingSelectionUpdates=true;setTimeout((()=>this.suppressingSelectionUpdates=false),50)}onSelectionChange(){if(!vl(this.view))return;if(this.suppressingSelectionUpdates)return al(this.view);if(Pn&&Jn<=11&&!this.view.state.selection.empty){let t=this.view.domSelectionRange();if(t.focusNode&&Mn(t.focusNode,t.focusOffset,t.anchorNode,t.anchorOffset))return this.flushSoon()}this.flush()}setCurSelection(){this.currentSelection.set(this.view.domSelectionRange())}ignoreSelectionChange(t){if(!t.focusNode)return true;let e=new Set,r;for(let r=t.focusNode;r;r=yn(r))e.add(r);for(let i=t.anchorNode;i;i=yn(i))if(e.has(i)){r=i;break}let i=r&&this.view.docView.nearestDesc(r);if(i&&i.ignoreMutation({type:"selection",target:r.nodeType==3?r.parentNode:r})){this.setCurSelection();return true}}pendingRecords(){if(this.observer)for(let t of this.observer.takeRecords())this.queue.push(t);return this.queue}flush(){let{view:t}=this;if(!t.docView||this.flushingSoon>-1)return;let e=this.pendingRecords();if(e.length)this.queue=[];let r=t.domSelectionRange();let i=!this.suppressingSelectionUpdates&&!this.currentSelection.eq(r)&&vl(t)&&!this.ignoreSelectionChange(r);let n=-1,s=-1,l=false,o=[];if(t.editable){for(let t=0;t<e.length;t++){let r=this.registerMutation(e[t],o);if(r){n=n<0?r.from:Math.min(r.from,n);s=s<0?r.to:Math.max(r.to,s);if(r.typeOver)l=true}}}if(Ln&&o.length>1){let t=o.filter((t=>t.nodeName=="BR"));if(t.length==2){let e=t[0],r=t[1];if(e.parentNode&&e.parentNode.parentNode==r.parentNode)r.remove();else e.remove()}}let u=null;if(n<0&&i&&t.input.lastFocus>Date.now()-200&&Math.max(t.input.lastTouch,t.input.lastClick.time)<Date.now()-300&&$n(r)&&(u=fl(t))&&u.eq(Ki.near(t.state.doc.resolve(0),1))){t.input.lastFocus=0;al(t);this.currentSelection.set(r);t.scrollToSelection()}else if(n>-1||i){if(n>-1){t.docView.markDirty(n,s);mu(t)}this.handleDOMChange(n,s,l,o);if(t.docView&&t.docView.dirty)t.updateState(t.state);else if(!this.currentSelection.eq(r))al(t);this.currentSelection.set(r)}}registerMutation(t,e){if(e.indexOf(t.target)>-1)return null;let r=this.view.docView.nearestDesc(t.target);if(t.type=="attributes"&&(r==this.view.docView||t.attributeName=="contenteditable"||t.attributeName=="style"&&!t.oldValue&&!t.target.getAttribute("style")))return null;if(!r||r.ignoreMutation(t))return null;if(t.type=="childList"){for(let r=0;r<t.addedNodes.length;r++)e.push(t.addedNodes[r]);if(r.contentDOM&&r.contentDOM!=r.dom&&!r.contentDOM.contains(t.target))return{from:r.posBefore,to:r.posAfter};let i=t.previousSibling,n=t.nextSibling;if(Pn&&Jn<=11&&t.addedNodes.length){for(let e=0;e<t.addedNodes.length;e++){let{previousSibling:r,nextSibling:s}=t.addedNodes[e];if(!r||Array.prototype.indexOf.call(t.addedNodes,r)<0)i=r;if(!s||Array.prototype.indexOf.call(t.addedNodes,s)<0)n=s}}let s=i&&i.parentNode==t.target?vn(i)+1:0;let l=r.localPosFromDOM(t.target,s,-1);let o=n&&n.parentNode==t.target?vn(n):t.target.childNodes.length;let u=r.localPosFromDOM(t.target,o,1);return{from:l,to:u}}else if(t.type=="attributes"){return{from:r.posAtStart-r.border,to:r.posAtEnd+r.border}}else{return{from:r.posAtStart,to:r.posAtEnd,typeOver:t.target.nodeValue==t.oldValue}}}}let du=new WeakMap;let pu=false;function mu(t){if(du.has(t))return;du.set(t,null);if(["normal","nowrap","pre-line"].indexOf(getComputedStyle(t.dom).whiteSpace)!==-1){t.requiresGeckoHackNode=Ln;if(pu)return;console["warn"]("ProseMirror expects the CSS white-space property to be set, preferably to 'pre-wrap'. It is recommended to load style/prosemirror.css from the prosemirror-view package.");pu=true}}function wu(t){let e;function r(t){t.preventDefault();t.stopImmediatePropagation();e=t.getTargetRanges()[0]}t.dom.addEventListener("beforeinput",r,true);document.execCommand("indent");t.dom.removeEventListener("beforeinput",r,true);let i=e.startContainer,n=e.startOffset;let s=e.endContainer,l=e.endOffset;let o=t.domAtPos(t.state.selection.anchor);if(Mn(o.node,o.offset,s,l))[i,n,s,l]=[s,l,i,n];return{anchorNode:i,anchorOffset:n,focusNode:s,focusOffset:l}}function gu(t,e,r){let{node:i,fromOffset:n,toOffset:s,from:l,to:o}=t.docView.parseRange(e,r);let u=t.domSelectionRange();let f;let h=u.anchorNode;if(h&&t.dom.contains(h.nodeType==1?h:h.parentNode)){f=[{node:h,offset:u.anchorOffset}];if(!$n(u))f.push({node:u.focusNode,offset:u.focusOffset})}if(Un&&t.input.lastKeyCode===8){for(let t=s;t>n;t--){let e=i.childNodes[t-1],r=e.pmViewDesc;if(e.nodeName=="BR"&&!r){s=t;break}if(!r||r.size)break}}let a=t.state.doc;let c=t.someProp("domParser")||wr.fromSchema(t.state.schema);let d=a.resolve(l);let p=null,m=c.parse(i,{topNode:d.parent,topMatch:d.parent.contentMatchAt(d.index()),topOpen:true,from:n,to:s,preserveWhitespace:d.parent.type.whitespace=="pre"?"full":true,findPositions:f,ruleFromNode:bu,context:d});if(f&&f[0].pos!=null){let t=f[0].pos,e=f[1]&&f[1].pos;if(e==null)e=t;p={anchor:t+l,head:e+l}}return{doc:m,sel:p,from:l,to:o}}function bu(t){let e=t.pmViewDesc;if(e){return e.parseRule()}else if(t.nodeName=="BR"&&t.parentNode){if(Zn&&/^(ul|ol)$/i.test(t.parentNode.nodeName)){let t=document.createElement("div");t.appendChild(document.createElement("li"));return{skip:t}}else if(t.parentNode.lastChild==t||Zn&&/^(tr|table)$/i.test(t.parentNode.nodeName)){return{ignore:true}}}else if(t.nodeName=="IMG"&&t.getAttribute("mark-placeholder")){return{ignore:true}}return null}const ku=/^(a|abbr|acronym|b|bd[io]|big|br|button|cite|code|data(list)?|del|dfn|em|i|ins|kbd|label|map|mark|meter|output|q|ruby|s|samp|small|span|strong|su[bp]|time|u|tt|var)$/i;function Du(t,e,r,i,n){let s=t.input.compositionPendingChanges||(t.composing?t.input.compositionID:0);t.input.compositionPendingChanges=0;if(e<0){let e=t.input.lastSelectionTime>Date.now()-50?t.input.lastSelectionOrigin:null;let r=fl(t,e);if(r&&!t.state.selection.eq(r)){if(Un&&Xn&&t.input.lastKeyCode===13&&Date.now()-100<t.input.lastKeyCodeTime&&t.someProp("handleKeyDown",(e=>e(t,_n(13,"Enter")))))return;let i=t.state.tr.setSelection(r);if(e=="pointer")i.setMeta("pointer",true);else if(e=="key")i.scrollIntoView();if(s)i.setMeta("composition",s);t.dispatch(i)}return}let l=t.state.doc.resolve(e);let o=l.sharedDepth(r);e=l.before(o+1);r=t.state.doc.resolve(r).after(o+1);let u=t.state.selection;let f=gu(t,e,r);let h=t.state.doc,a=h.slice(f.from,f.to);let c,d;if(t.input.lastKeyCode===8&&Date.now()-100<t.input.lastKeyCodeTime){c=t.state.selection.to;d="end"}else{c=t.state.selection.from;d="start"}t.input.lastKeyCode=null;let p=Mu(a.content,f.doc.content,f.from,c,d);if((Kn&&t.input.lastIOSEnter>Date.now()-225||Xn)&&n.some((t=>t.nodeType==1&&!ku.test(t.nodeName)))&&(!p||p.endA>=p.endB)&&t.someProp("handleKeyDown",(e=>e(t,_n(13,"Enter"))))){t.input.lastIOSEnter=0;return}if(!p){if(i&&u instanceof Yi&&!u.empty&&u.$head.sameParent(u.$anchor)&&!t.composing&&!(f.sel&&f.sel.anchor!=f.sel.head)){p={start:u.from,endA:u.to,endB:u.to}}else{if(f.sel){let e=vu(t,t.state.doc,f.sel);if(e&&!e.eq(t.state.selection)){let r=t.state.tr.setSelection(e);if(s)r.setMeta("composition",s);t.dispatch(r)}}return}}if(Un&&t.cursorWrapper&&f.sel&&f.sel.anchor==t.cursorWrapper.deco.from&&f.sel.head==f.sel.anchor){let t=p.endB-p.start;f.sel={anchor:f.sel.anchor+t,head:f.sel.anchor+t}}t.input.domChangeCount++;if(t.state.selection.from<t.state.selection.to&&p.start==p.endB&&t.state.selection instanceof Yi){if(p.start>t.state.selection.from&&p.start<=t.state.selection.from+2&&t.state.selection.from>=f.from){p.start=t.state.selection.from}else if(p.endA<t.state.selection.to&&p.endA>=t.state.selection.to-2&&t.state.selection.to<=f.to){p.endB+=t.state.selection.to-p.endA;p.endA=t.state.selection.to}}if(Pn&&Jn<=11&&p.endB==p.start+1&&p.endA==p.start&&p.start>f.from&&f.doc.textBetween(p.start-f.from-1,p.start-f.from+1)==" "){p.start--;p.endA--;p.endB--}let m=f.doc.resolveNoCache(p.start-f.from);let w=f.doc.resolveNoCache(p.endB-f.from);let g=h.resolve(p.start);let b=m.sameParent(w)&&m.parent.inlineContent&&g.end()>=p.endA;let k;if((Kn&&t.input.lastIOSEnter>Date.now()-225&&(!b||n.some((t=>t.nodeName=="DIV"||t.nodeName=="P")))||!b&&m.pos<f.doc.content.size&&!m.sameParent(w)&&(k=Ki.findFrom(f.doc.resolve(m.pos+1),1,true))&&k.head==w.pos)&&t.someProp("handleKeyDown",(e=>e(t,_n(13,"Enter"))))){t.input.lastIOSEnter=0;return}if(t.state.selection.anchor>p.start&&Fu(h,p.start,p.endA,m,w)&&t.someProp("handleKeyDown",(e=>e(t,_n(8,"Backspace"))))){if(Xn&&Un)t.domObserver.suppressSelectionUpdates();return}if(Un&&Xn&&p.endB==p.start)t.input.lastAndroidDelete=Date.now();if(Xn&&!b&&m.start()!=w.start()&&w.parentOffset==0&&m.depth==w.depth&&f.sel&&f.sel.anchor==f.sel.head&&f.sel.head==p.endA){p.endB-=2;w=f.doc.resolveNoCache(p.endB-f.from);setTimeout((()=>{t.someProp("handleKeyDown",(function(e){return e(t,_n(13,"Enter"))}))}),20)}let D=p.start,v=p.endA;let y,F,E;if(b){if(m.pos==w.pos){if(Pn&&Jn<=11&&m.parentOffset==0){t.domObserver.suppressSelectionUpdates();setTimeout((()=>al(t)),20)}y=t.state.tr.delete(D,v);F=h.resolve(p.start).marksAcross(h.resolve(p.endA))}else if(p.endA==p.endB&&(E=yu(m.parent.content.cut(m.parentOffset,w.parentOffset),g.parent.content.cut(g.parentOffset,p.endA-g.start())))){y=t.state.tr;if(E.type=="add")y.addMark(D,v,E.mark);else y.removeMark(D,v,E.mark)}else if(m.parent.child(m.index()).isText&&m.index()==w.index()-(w.textOffset?0:1)){let e=m.parent.textBetween(m.parentOffset,w.parentOffset);if(t.someProp("handleTextInput",(r=>r(t,D,v,e))))return;y=t.state.tr.insertText(e,D,v)}}if(!y)y=t.state.tr.replace(D,v,f.doc.slice(p.start-f.from,p.endB-f.from));if(f.sel){let e=vu(t,y.doc,f.sel);if(e&&!(Un&&Xn&&t.composing&&e.empty&&(p.start!=p.endB||t.input.lastAndroidDelete<Date.now()-100)&&(e.head==D||e.head==y.mapping.map(v)-1)||Pn&&e.empty&&e.head==D))y.setSelection(e)}if(F)y.ensureMarks(F);if(s)y.setMeta("composition",s);t.dispatch(y.scrollIntoView())}function vu(t,e,r){if(Math.max(r.anchor,r.head)>e.content.size)return null;return Dl(t,e.resolve(r.anchor),e.resolve(r.head))}function yu(t,e){let r=t.firstChild.marks,i=e.firstChild.marks;let n=r,s=i,l,o,u;for(let t=0;t<i.length;t++)n=i[t].removeFromSet(n);for(let t=0;t<r.length;t++)s=r[t].removeFromSet(s);if(n.length==1&&s.length==0){o=n[0];l="add";u=t=>t.mark(o.addToSet(t.marks))}else if(n.length==0&&s.length==1){o=s[0];l="remove";u=t=>t.mark(o.removeFromSet(t.marks))}else{return null}let f=[];for(let t=0;t<e.childCount;t++)f.push(u(e.child(t)));if(we.from(f).eq(t))return{mark:o,type:l}}function Fu(t,e,r,i,n){if(!i.parent.isTextblock||r-e<=n.pos-i.pos||Eu(i,true,false)<n.pos)return false;let s=t.resolve(e);if(s.parentOffset<s.parent.content.size||!s.parent.isTextblock)return false;let l=t.resolve(Eu(s,true,true));if(!l.parent.isTextblock||l.pos>r||Eu(l,true,false)<r)return false;return i.parent.content.cut(i.parentOffset).eq(l.parent.content)}function Eu(t,e,r){let i=t.depth,n=e?t.end():t.pos;while(i>0&&(e||t.indexAfter(i)==t.node(i).childCount)){i--;n++;e=false}if(r){let e=t.node(i).maybeChild(t.indexAfter(i));while(e&&!e.isLeaf){e=e.firstChild;n++}}return n}function Mu(t,e,r,i,n){let s=t.findDiffStart(e,r);if(s==null)return null;let{a:l,b:o}=t.findDiffEnd(e,r+t.size,r+e.size);if(n=="end"){let t=Math.max(0,s-Math.min(l,o));i-=l+t-s}if(l<s&&t.size<e.size){let t=i<=s&&i>=l?s-i:0;s-=t;if(s&&s<e.size&&xu(e.textBetween(s-1,s+1)))s+=t?1:-1;o=s+(o-l);l=s}else if(o<s){let e=i<=s&&i>=o?s-i:0;s-=e;if(s&&s<t.size&&xu(t.textBetween(s-1,s+1)))s+=e?1:-1;l=s+(l-o);o=s}return{start:s,endA:l,endB:o}}function xu(t){if(t.length!=2)return false;let e=t.charCodeAt(0),r=t.charCodeAt(1);return e>=56320&&e<=57343&&r>=55296&&r<=56319}class Au{constructor(t,e){this._root=null;this.focused=false;this.trackWrites=null;this.mounted=false;this.markCursor=null;this.cursorWrapper=null;this.lastSelectedViewDesc=undefined;this.input=new oo;this.prevDirectPlugins=[];this.pluginViews=[];this.requiresGeckoHackNode=false;this.dragging=null;this._props=e;this.state=e.state;this.directPlugins=e.plugins||[];this.directPlugins.forEach(Ru);this.dispatch=this.dispatch.bind(this);this.dom=t&&t.mount||document.createElement("div");if(t){if(t.appendChild)t.appendChild(this.dom);else if(typeof t=="function")t(this.dom);else if(t.mount)this.mounted=true}this.editable=Ou(this);Su(this);this.nodeViews=_u(this);this.docView=Js(this.state.doc,Cu(this),uu(this),this.dom,this);this.domObserver=new cu(this,((t,e,r,i)=>Du(this,t,e,r,i)));this.domObserver.start();uo(this);this.updatePluginViews()}get composing(){return this.input.composing}get props(){if(this._props.state!=this.state){let t=this._props;this._props={};for(let e in t)this._props[e]=t[e];this._props.state=this.state}return this._props}update(t){if(t.handleDOMEvents!=this._props.handleDOMEvents)ao(this);let e=this._props;this._props=t;if(t.plugins){t.plugins.forEach(Ru);this.directPlugins=t.plugins}this.updateStateInner(t.state,e)}setProps(t){let e={};for(let t in this._props)e[t]=this._props[t];e.state=this.state;for(let r in t)e[r]=t[r];this.update(e)}updateState(t){this.updateStateInner(t,this._props)}updateStateInner(t,e){var r;let i=this.state,n=false,s=false;if(t.storedMarks&&this.composing){_o(this);s=true}this.state=t;let l=i.plugins!=t.plugins||this._props.plugins!=e.plugins;if(l||this._props.plugins!=e.plugins||this._props.nodeViews!=e.nodeViews){let t=_u(this);if(Bu(t,this.nodeViews)){this.nodeViews=t;n=true}}if(l||e.handleDOMEvents!=this._props.handleDOMEvents){ao(this)}this.editable=Ou(this);Su(this);let o=uu(this),u=Cu(this);let f=i.plugins!=t.plugins&&!i.doc.eq(t.doc)?"reset":t.scrollToSelection>i.scrollToSelection?"to selection":"preserve";let h=n||!this.docView.matchesNode(t.doc,u,o);if(h||!t.selection.eq(i.selection))s=true;let a=f=="preserve"&&s&&this.dom.style.overflowAnchor==null&&ns(this);if(s){this.domObserver.stop();let e=h&&(Pn||Un)&&!this.composing&&!i.selection.empty&&!t.selection.empty&&$u(i.selection,t.selection);if(h){let r=Un?this.trackWrites=this.domSelectionRange().focusNode:null;if(n||!this.docView.update(t.doc,u,o,this)){this.docView.updateOuterDeco([]);this.docView.destroy();this.docView=Js(t.doc,u,o,this.dom,this)}if(r&&!this.trackWrites)e=true}if(e||!(this.input.mouseDown&&this.domObserver.currentSelection.eq(this.domSelectionRange())&&Fl(this))){al(this,e)}else{bl(this,t.selection);this.domObserver.setCurSelection()}this.domObserver.start()}this.updatePluginViews(i);if(((r=this.dragging)===null||r===void 0?void 0:r.node)&&!i.doc.eq(t.doc))this.updateDraggedNode(this.dragging,i);if(f=="reset"){this.dom.scrollTop=0}else if(f=="to selection"){this.scrollToSelection()}else if(a){ls(a)}}scrollToSelection(){let t=this.domSelectionRange().focusNode;if(this.someProp("handleScrollToSelection",(t=>t(this))));else if(this.state.selection instanceof tn){let e=this.docView.domAfterPos(this.state.selection.from);if(e.nodeType==1)is(this,e.getBoundingClientRect(),t)}else{is(this,this.coordsAtPos(this.state.selection.head,1),t)}}destroyPluginViews(){let t;while(t=this.pluginViews.pop())if(t.destroy)t.destroy()}updatePluginViews(t){if(!t||t.plugins!=this.state.plugins||this.directPlugins!=this.prevDirectPlugins){this.prevDirectPlugins=this.directPlugins;this.destroyPluginViews();for(let t=0;t<this.directPlugins.length;t++){let e=this.directPlugins[t];if(e.spec.view)this.pluginViews.push(e.spec.view(this))}for(let t=0;t<this.state.plugins.length;t++){let e=this.state.plugins[t];if(e.spec.view)this.pluginViews.push(e.spec.view(this))}}else{for(let e=0;e<this.pluginViews.length;e++){let r=this.pluginViews[e];if(r.update)r.update(this,t)}}}updateDraggedNode(t,e){let r=t.node,i=-1;if(this.state.doc.nodeAt(r.from)==r.node){i=r.from}else{let t=r.from+(this.state.doc.content.size-e.doc.content.size);let n=t>0&&this.state.doc.nodeAt(t);if(n==r.node)i=t}this.dragging=new Po(t.slice,t.move,i<0?undefined:tn.create(this.state.doc,i))}someProp(t,e){let r=this._props&&this._props[t],i;if(r!=null&&(i=e?e(r):r))return i;for(let r=0;r<this.directPlugins.length;r++){let n=this.directPlugins[r].props[t];if(n!=null&&(i=e?e(n):n))return i}let n=this.state.plugins;if(n)for(let r=0;r<n.length;r++){let s=n[r].props[t];if(s!=null&&(i=e?e(s):s))return i}}hasFocus(){if(Pn){let t=this.root.activeElement;if(t==this.dom)return true;if(!t||!this.dom.contains(t))return false;while(t&&this.dom!=t&&this.dom.contains(t)){if(t.contentEditable=="false")return false;t=t.parentElement}return true}return this.root.activeElement==this.dom}focus(){this.domObserver.stop();if(this.editable)hs(this.dom);al(this);this.domObserver.start()}get root(){let t=this._root;if(t==null)for(let t=this.dom.parentNode;t;t=t.parentNode){if(t.nodeType==9||t.nodeType==11&&t.host){if(!t.getSelection)Object.getPrototypeOf(t).getSelection=()=>t.ownerDocument.getSelection();return this._root=t}}return t||document}updateRoot(){this._root=null}posAtCoords(t){return bs(this,t)}coordsAtPos(t,e=1){return ys(this,t,e)}domAtPos(t,e=0){return this.docView.domFromPos(t,e)}nodeDOM(t){let e=this.docView.descAt(t);return e?e.nodeDOM:null}posAtDOM(t,e,r=-1){let i=this.docView.posFromDOM(t,e,r);if(i==null)throw new RangeError("DOM position not inside the editor");return i}endOfTextblock(t,e){return _s(this,e||this.state,t)}pasteHTML(t,e){return To(this,"",t,false,e||new ClipboardEvent("paste"))}pasteText(t,e){return To(this,t,null,true,e||new ClipboardEvent("paste"))}destroy(){if(!this.docView)return;ho(this);this.destroyPluginViews();if(this.mounted){this.docView.update(this.state.doc,[],uu(this),this);this.dom.textContent=""}else if(this.dom.parentNode){this.dom.parentNode.removeChild(this.dom)}this.docView.destroy();this.docView=null}get isDestroyed(){return this.docView==null}dispatchEvent(t){return mo(this,t)}dispatch(t){let e=this._props.dispatchTransaction;if(e)e.call(this,t);else this.updateState(this.state.apply(t))}domSelectionRange(){return Zn&&this.root.nodeType===11&&Bn(this.dom.ownerDocument)==this.dom?wu(this):this.domSelection()}domSelection(){return this.root.getSelection()}}function Cu(t){let e=Object.create(null);e.class="ProseMirror";e.contenteditable=String(t.editable);t.someProp("attributes",(r=>{if(typeof r=="function")r=r(t.state);if(r)for(let t in r){if(t=="class")e.class+=" "+r[t];else if(t=="style")e.style=(e.style?e.style+";":"")+r[t];else if(!e[t]&&t!="contenteditable"&&t!="nodeName")e[t]=String(r[t])}}));if(!e.translate)e.translate="no";return[Zo.node(0,t.state.doc.content.size,e)]}function Su(t){if(t.markCursor){let e=document.createElement("img");e.className="ProseMirror-separator";e.setAttribute("mark-placeholder","true");e.setAttribute("alt","");t.cursorWrapper={dom:e,deco:Zo.widget(t.state.selection.head,e,{raw:true,marks:t.markCursor})}}else{t.cursorWrapper=null}}function Ou(t){return!t.someProp("editable",(e=>e(t.state)===false))}function $u(t,e){let r=Math.min(t.$anchor.sharedDepth(t.head),e.$anchor.sharedDepth(e.head));return t.$anchor.start(r)!=e.$anchor.start(r)}function _u(t){let e=Object.create(null);function r(t){for(let r in t)if(!Object.prototype.hasOwnProperty.call(e,r))e[r]=t[r]}t.someProp("nodeViews",r);t.someProp("markViews",r);return e}function Bu(t,e){let r=0,i=0;for(let i in t){if(t[i]!=e[i])return true;r++}for(let t in e)i++;return r!=i}function Ru(t){if(t.spec.state||t.spec.filterTransaction||t.spec.appendTransaction)throw new RangeError("Plugins passed directly to the view must not have a state component")}const ju=["p",0],Nu=["blockquote",0],qu=["hr"],zu=["pre",["code",0]],Tu=["br"];const Iu={doc:{content:"block+"},paragraph:{content:"inline*",group:"block",parseDOM:[{tag:"p"}],toDOM(){return ju}},blockquote:{content:"block+",group:"block",defining:true,parseDOM:[{tag:"blockquote"}],toDOM(){return Nu}},horizontal_rule:{group:"block",parseDOM:[{tag:"hr"}],toDOM(){return qu}},heading:{attrs:{level:{default:1,validate:"number"}},content:"inline*",group:"block",defining:true,parseDOM:[{tag:"h1",attrs:{level:1}},{tag:"h2",attrs:{level:2}},{tag:"h3",attrs:{level:3}},{tag:"h4",attrs:{level:4}},{tag:"h5",attrs:{level:5}},{tag:"h6",attrs:{level:6}}],toDOM(t){return["h"+t.attrs.level,0]}},code_block:{content:"text*",marks:"",group:"block",code:true,defining:true,parseDOM:[{tag:"pre",preserveWhitespace:"full"}],toDOM(){return zu}},text:{group:"inline"},image:{inline:true,attrs:{src:{validate:"string"},alt:{default:null,validate:"string|null"},title:{default:null,validate:"string|null"}},group:"inline",draggable:true,parseDOM:[{tag:"img[src]",getAttrs(t){return{src:t.getAttribute("src"),title:t.getAttribute("title"),alt:t.getAttribute("alt")}}}],toDOM(t){let{src:e,alt:r,title:i}=t.attrs;return["img",{src:e,alt:r,title:i}]}},hard_break:{inline:true,group:"inline",selectable:false,parseDOM:[{tag:"br"}],toDOM(){return Tu}}};const Pu=["em",0],Ju=["strong",0],Lu=["code",0];const Wu={link:{attrs:{href:{validate:"string"},title:{default:null,validate:"string|null"}},inclusive:false,parseDOM:[{tag:"a[href]",getAttrs(t){return{href:t.getAttribute("href"),title:t.getAttribute("title")}}}],toDOM(t){let{href:e,title:r}=t.attrs;return["a",{href:e,title:r},0]}},em:{parseDOM:[{tag:"i"},{tag:"em"},{style:"font-style=italic"},{style:"font-style=normal",clearMark:t=>t.type.name=="em"}],toDOM(){return Pu}},strong:{parseDOM:[{tag:"strong"},{tag:"b",getAttrs:t=>t.style.fontWeight!="normal"&&null},{style:"font-weight=400",clearMark:t=>t.type.name=="strong"},{style:"font-weight",getAttrs:t=>/^(bold(er)?|[5-9]\d{2,})$/.test(t)&&null}],toDOM(){return Ju}},code:{parseDOM:[{tag:"code"}],toDOM(){return Lu}}};const Uu=new cr({nodes:Iu,marks:Wu});const Hu=["ol",0],Zu=["ul",0],Ku=["li",0];const Vu={attrs:{order:{default:1}},parseDOM:[{tag:"ol",getAttrs(t){return{order:t.hasAttribute("start")?+t.getAttribute("start"):1}}}],toDOM(t){return t.attrs.order==1?Hu:["ol",{start:t.attrs.order},0]}};const Gu={parseDOM:[{tag:"ul"}],toDOM(){return Zu}};const Xu={parseDOM:[{tag:"li"}],toDOM(){return Ku},defining:true};function Yu(t,e){let r={};for(let e in t)r[e]=t[e];for(let t in e)r[t]=e[t];return r}function Qu(t,e,r){return t.append({ordered_list:Yu(Vu,{content:"list_item+",group:r}),bullet_list:Yu(Gu,{content:"list_item+",group:r}),list_item:Yu(Xu,{content:e})})}function tf(t,e=null){return function(r,i){let{$from:n,$to:s}=r.selection;let l=n.blockRange(s),o=false,u=l;if(!l)return false;if(l.depth>=2&&n.node(l.depth-1).type.compatibleContent(t)&&l.startIndex==0){if(n.index(l.depth-1)==0)return false;let t=r.doc.resolve(l.start-2);u=new Te(t,t,l.depth);if(l.endIndex<l.parent.childCount)l=new Te(n,r.doc.resolve(s.end(l.depth)),l.depth);o=true}let f=ci(u,t,e,l);if(!f)return false;if(i)i(ef(r.tr,l,f,o,t).scrollIntoView());return true}}function ef(t,e,r,i,n){let s=we.empty;for(let t=r.length-1;t>=0;t--)s=we.from(r[t].type.create(r[t].attrs,s));t.step(new ni(e.start-(i?2:0),e.end,e.start,e.end,new ye(s,0,0),r.length,true));let l=0;for(let t=0;t<r.length;t++)if(r[t].type==n)l=t+1;let o=r.length-l;let u=e.start+r.length-(i?2:0),f=e.parent;for(let r=e.startIndex,i=e.endIndex,n=true;r<i;r++,n=false){if(!n&&Di(t.doc,u,o)){t.split(u,o);u+=2*o}u+=f.child(r).nodeSize}return t}function rf(t,e){return function(r,i){let{$from:n,$to:s,node:l}=r.selection;if(l&&l.isBlock||n.depth<2||!n.sameParent(s))return false;let o=n.node(-1);if(o.type!=t)return false;if(n.parent.content.size==0&&n.node(-1).childCount==n.indexAfter(-1)){if(n.depth==3||n.node(-3).type!=t||n.index(-2)!=n.node(-2).childCount-1)return false;if(i){let e=we.empty;let s=n.index(-1)?1:n.index(-2)?2:3;for(let t=n.depth-s;t>=n.depth-3;t--)e=we.from(n.node(t).copy(e));let l=n.indexAfter(-1)<n.node(-2).childCount?1:n.indexAfter(-2)<n.node(-3).childCount?2:3;e=e.append(we.from(t.createAndFill()));let o=n.before(n.depth-(s-1));let u=r.tr.replace(o,n.after(-l),new ye(e,4-s,0));let f=-1;u.doc.nodesBetween(o,u.doc.content.size,((t,e)=>{if(f>-1)return false;if(t.isTextblock&&t.content.size==0)f=e+1}));if(f>-1)u.setSelection(Ki.near(u.doc.resolve(f)));i(u.scrollIntoView())}return true}let u=s.pos==n.end()?o.contentMatchAt(0).defaultType:null;let f=r.tr.delete(n.pos,s.pos);let h=u?[e?{type:t,attrs:e}:null,{type:u}]:undefined;if(!Di(f.doc,n.pos,2,h))return false;if(i)i(f.split(n.pos,2,h).scrollIntoView());return true}}function nf(t){return function(e,r){let{$from:i,$to:n}=e.selection;let s=i.blockRange(n,(e=>e.childCount>0&&e.firstChild.type==t));if(!s)return false;if(!r)return true;if(i.node(s.depth-1).type==t)return sf(e,r,t,s);else return lf(e,r,s)}}function sf(t,e,r,i){let n=t.tr,s=i.end,l=i.$to.end(i.depth);if(s<l){n.step(new ni(s-1,l,s,l,new ye(we.from(r.create(null,i.parent.copy())),1,0),1,true));i=new Te(n.doc.resolve(i.$from.pos),n.doc.resolve(l),i.depth)}const o=hi(i);if(o==null)return false;n.lift(i,o);let u=n.mapping.map(s,-1)-1;if(yi(n.doc,u))n.join(u);e(n.scrollIntoView());return true}function lf(t,e,r){let i=t.tr,n=r.parent;for(let t=r.end,e=r.endIndex-1,s=r.startIndex;e>s;e--){t-=n.child(e).nodeSize;i.delete(t-1,t+1)}let s=i.doc.resolve(r.start),l=s.nodeAfter;if(i.mapping.map(r.end)!=r.start+s.nodeAfter.nodeSize)return false;let o=r.startIndex==0,u=r.endIndex==n.childCount;let f=s.node(-1),h=s.index(-1);if(!f.canReplace(h+(o?0:1),h+1,l.content.append(u?we.empty:we.from(n))))return false;let a=s.pos,c=a+l.nodeSize;i.step(new ni(a-(o?1:0),c+(u?1:0),a+1,c-1,new ye((o?we.empty:we.from(n.copy(we.empty))).append(u?we.empty:we.from(n.copy(we.empty))),o?0:1,u?0:1),o?0:1));e(i.scrollIntoView());return true}function of(t){return function(e,r){let{$from:i,$to:n}=e.selection;let s=i.blockRange(n,(e=>e.childCount>0&&e.firstChild.type==t));if(!s)return false;let l=s.startIndex;if(l==0)return false;let o=s.parent,u=o.child(l-1);if(u.type!=t)return false;if(r){let i=u.lastChild&&u.lastChild.type==o.type;let n=we.from(i?t.create():null);let l=new ye(we.from(t.create(null,we.from(o.type.create(null,n)))),i?3:1,0);let f=s.start,h=s.end;r(e.tr.step(new ni(f-(i?3:1),h,f,h,l,1,true)).scrollIntoView())}return true}}var uf={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:"'"};var ff={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'};var hf=typeof navigator!="undefined"&&/Mac/.test(navigator.platform);var af=typeof navigator!="undefined"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(var cf=0;cf<10;cf++)uf[48+cf]=uf[96+cf]=String(cf);for(var cf=1;cf<=24;cf++)uf[cf+111]="F"+cf;for(var cf=65;cf<=90;cf++){uf[cf]=String.fromCharCode(cf+32);ff[cf]=String.fromCharCode(cf)}for(var df in uf)if(!ff.hasOwnProperty(df))ff[df]=uf[df];function pf(t){var e=hf&&t.metaKey&&t.shiftKey&&!t.ctrlKey&&!t.altKey||af&&t.shiftKey&&t.key&&t.key.length==1||t.key=="Unidentified";var r=!e&&t.key||(t.shiftKey?ff:uf)[t.keyCode]||t.key||"Unidentified";if(r=="Esc")r="Escape";if(r=="Del")r="Delete";if(r=="Left")r="ArrowLeft";if(r=="Up")r="ArrowUp";if(r=="Right")r="ArrowRight";if(r=="Down")r="ArrowDown";return r}const mf=typeof navigator!="undefined"?/Mac|iP(hone|[oa]d)/.test(navigator.platform):false;function wf(t){let e=t.split(/-(?!$)/),r=e[e.length-1];if(r=="Space")r=" ";let i,n,s,l;for(let t=0;t<e.length-1;t++){let r=e[t];if(/^(cmd|meta|m)$/i.test(r))l=true;else if(/^a(lt)?$/i.test(r))i=true;else if(/^(c|ctrl|control)$/i.test(r))n=true;else if(/^s(hift)?$/i.test(r))s=true;else if(/^mod$/i.test(r)){if(mf)l=true;else n=true}else throw new Error("Unrecognized modifier name: "+r)}if(i)r="Alt-"+r;if(n)r="Ctrl-"+r;if(l)r="Meta-"+r;if(s)r="Shift-"+r;return r}function gf(t){let e=Object.create(null);for(let r in t)e[wf(r)]=t[r];return e}function bf(t,e,r=true){if(e.altKey)t="Alt-"+t;if(e.ctrlKey)t="Ctrl-"+t;if(e.metaKey)t="Meta-"+t;if(r&&e.shiftKey)t="Shift-"+t;return t}function kf(t){return new gn({props:{handleKeyDown:Df(t)}})}function Df(t){let e=gf(t);return function(t,r){let i=pf(r),n,s=e[bf(i,r)];if(s&&s(t.state,t.dispatch,t))return true;if(i.length==1&&i!=" "){if(r.shiftKey){let n=e[bf(i,r,false)];if(n&&n(t.state,t.dispatch,t))return true}if((r.shiftKey||r.altKey||r.metaKey||i.charCodeAt(0)>127)&&(n=uf[r.keyCode])&&n!=i){let i=e[bf(n,r)];if(i&&i(t.state,t.dispatch,t))return true}}return false}}var vf=200;var yf=function t(){};yf.prototype.append=function t(e){if(!e.length){return this}e=yf.from(e);return!this.length&&e||e.length<vf&&this.leafAppend(e)||this.length<vf&&e.leafPrepend(this)||this.appendInner(e)};yf.prototype.prepend=function t(e){if(!e.length){return this}return yf.from(e).append(this)};yf.prototype.appendInner=function t(e){return new Ef(this,e)};yf.prototype.slice=function t(e,r){if(e===void 0)e=0;if(r===void 0)r=this.length;if(e>=r){return yf.empty}return this.sliceInner(Math.max(0,e),Math.min(this.length,r))};yf.prototype.get=function t(e){if(e<0||e>=this.length){return undefined}return this.getInner(e)};yf.prototype.forEach=function t(e,r,i){if(r===void 0)r=0;if(i===void 0)i=this.length;if(r<=i){this.forEachInner(e,r,i,0)}else{this.forEachInvertedInner(e,r,i,0)}};yf.prototype.map=function t(e,r,i){if(r===void 0)r=0;if(i===void 0)i=this.length;var n=[];this.forEach((function(t,r){return n.push(e(t,r))}),r,i);return n};yf.from=function t(e){if(e instanceof yf){return e}return e&&e.length?new Ff(e):yf.empty};var Ff=function(t){function e(e){t.call(this);this.values=e}if(t)e.__proto__=t;e.prototype=Object.create(t&&t.prototype);e.prototype.constructor=e;var r={length:{configurable:true},depth:{configurable:true}};e.prototype.flatten=function t(){return this.values};e.prototype.sliceInner=function t(r,i){if(r==0&&i==this.length){return this}return new e(this.values.slice(r,i))};e.prototype.getInner=function t(e){return this.values[e]};e.prototype.forEachInner=function t(e,r,i,n){for(var s=r;s<i;s++){if(e(this.values[s],n+s)===false){return false}}};e.prototype.forEachInvertedInner=function t(e,r,i,n){for(var s=r-1;s>=i;s--){if(e(this.values[s],n+s)===false){return false}}};e.prototype.leafAppend=function t(r){if(this.length+r.length<=vf){return new e(this.values.concat(r.flatten()))}};e.prototype.leafPrepend=function t(r){if(this.length+r.length<=vf){return new e(r.flatten().concat(this.values))}};r.length.get=function(){return this.values.length};r.depth.get=function(){return 0};Object.defineProperties(e.prototype,r);return e}(yf);yf.empty=new Ff([]);var Ef=function(t){function e(e,r){t.call(this);this.left=e;this.right=r;this.length=e.length+r.length;this.depth=Math.max(e.depth,r.depth)+1}if(t)e.__proto__=t;e.prototype=Object.create(t&&t.prototype);e.prototype.constructor=e;e.prototype.flatten=function t(){return this.left.flatten().concat(this.right.flatten())};e.prototype.getInner=function t(e){return e<this.left.length?this.left.get(e):this.right.get(e-this.left.length)};e.prototype.forEachInner=function t(e,r,i,n){var s=this.left.length;if(r<s&&this.left.forEachInner(e,r,Math.min(i,s),n)===false){return false}if(i>s&&this.right.forEachInner(e,Math.max(r-s,0),Math.min(this.length,i)-s,n+s)===false){return false}};e.prototype.forEachInvertedInner=function t(e,r,i,n){var s=this.left.length;if(r>s&&this.right.forEachInvertedInner(e,r-s,Math.max(i,s)-s,n+s)===false){return false}if(i<s&&this.left.forEachInvertedInner(e,Math.min(r,s),i,n)===false){return false}};e.prototype.sliceInner=function t(e,r){if(e==0&&r==this.length){return this}var i=this.left.length;if(r<=i){return this.left.slice(e,r)}if(e>=i){return this.right.slice(e-i,r-i)}return this.left.slice(e,i).append(this.right.slice(0,r-i))};e.prototype.leafAppend=function t(r){var i=this.right.leafAppend(r);if(i){return new e(this.left,i)}};e.prototype.leafPrepend=function t(r){var i=this.left.leafPrepend(r);if(i){return new e(i,this.right)}};e.prototype.appendInner=function t(r){if(this.left.depth>=Math.max(this.right.depth,r.depth)+1){return new e(this.left,new e(this.right,r))}return new e(this,r)};return e}(yf);const Mf=500;class xf{constructor(t,e){this.items=t;this.eventCount=e}popEvent(t,e){if(this.eventCount==0)return null;let r=this.items.length;for(;;r--){let t=this.items.get(r-1);if(t.selection){--r;break}}let i,n;if(e){i=this.remapping(r,this.items.length);n=i.maps.length}let s=t.tr;let l,o;let u=[],f=[];this.items.forEach(((t,e)=>{if(!t.step){if(!i){i=this.remapping(r,e+1);n=i.maps.length}n--;f.push(t);return}if(i){f.push(new Cf(t.map));let e=t.step.map(i.slice(n)),r;if(e&&s.maybeStep(e).doc){r=s.mapping.maps[s.mapping.maps.length-1];u.push(new Cf(r,undefined,undefined,u.length+f.length))}n--;if(r)i.appendMap(r,n)}else{s.maybeStep(t.step)}if(t.selection){l=i?t.selection.map(i.slice(n)):t.selection;o=new xf(this.items.slice(0,r).append(f.reverse().concat(u)),this.eventCount-1);return false}}),this.items.length,0);return{remaining:o,transform:s,selection:l}}addTransform(t,e,r,i){let n=[],s=this.eventCount;let l=this.items,o=!i&&l.length?l.get(l.length-1):null;for(let r=0;r<t.steps.length;r++){let u=t.steps[r].invert(t.docs[r]);let f=new Cf(t.mapping.maps[r],u,e),h;if(h=o&&o.merge(f)){f=h;if(r)n.pop();else l=l.slice(0,l.length-1)}n.push(f);if(e){s++;e=undefined}if(!i)o=f}let u=s-r.depth;if(u>Of){l=Af(l,u);s-=u}return new xf(l.append(n),s)}remapping(t,e){let r=new Kr;this.items.forEach(((e,i)=>{let n=e.mirrorOffset!=null&&i-e.mirrorOffset>=t?r.maps.length-e.mirrorOffset:undefined;r.appendMap(e.map,n)}),t,e);return r}addMaps(t){if(this.eventCount==0)return this;return new xf(this.items.append(t.map((t=>new Cf(t)))),this.eventCount)}rebased(t,e){if(!this.eventCount)return this;let r=[],i=Math.max(0,this.items.length-e);let n=t.mapping;let s=t.steps.length;let l=this.eventCount;this.items.forEach((t=>{if(t.selection)l--}),i);let o=e;this.items.forEach((e=>{let i=n.getMirror(--o);if(i==null)return;s=Math.min(s,i);let u=n.maps[i];if(e.step){let s=t.steps[i].invert(t.docs[i]);let f=e.selection&&e.selection.map(n.slice(o+1,i));if(f)l++;r.push(new Cf(u,s,f))}else{r.push(new Cf(u))}}),i);let u=[];for(let t=e;t<s;t++)u.push(new Cf(n.maps[t]));let f=this.items.slice(0,i).append(u).append(r);let h=new xf(f,l);if(h.emptyItemCount()>Mf)h=h.compress(this.items.length-r.length);return h}emptyItemCount(){let t=0;this.items.forEach((e=>{if(!e.step)t++}));return t}compress(t=this.items.length){let e=this.remapping(0,t),r=e.maps.length;let i=[],n=0;this.items.forEach(((s,l)=>{if(l>=t){i.push(s);if(s.selection)n++}else if(s.step){let t=s.step.map(e.slice(r)),l=t&&t.getMap();r--;if(l)e.appendMap(l,r);if(t){let o=s.selection&&s.selection.map(e.slice(r));if(o)n++;let u=new Cf(l.invert(),t,o),f,h=i.length-1;if(f=i.length&&i[h].merge(u))i[h]=f;else i.push(u)}}else if(s.map){r--}}),this.items.length,0);return new xf(yf.from(i.reverse()),n)}}xf.empty=new xf(yf.empty,0);function Af(t,e){let r;t.forEach(((t,i)=>{if(t.selection&&e--==0){r=i;return false}}));return t.slice(r)}class Cf{constructor(t,e,r,i){this.map=t;this.step=e;this.selection=r;this.mirrorOffset=i}merge(t){if(this.step&&t.step&&!t.selection){let e=t.step.merge(this.step);if(e)return new Cf(e.getMap().invert(),e,this.selection)}}}class Sf{constructor(t,e,r,i,n){this.done=t;this.undone=e;this.prevRanges=r;this.prevTime=i;this.prevComposition=n}}const Of=20;function $f(t,e,r,i){let n=r.getMeta(Tf),s;if(n)return n.historyState;if(r.getMeta(If))t=new Sf(t.done,t.undone,null,0,-1);let l=r.getMeta("appendedTransaction");if(r.steps.length==0){return t}else if(l&&l.getMeta(Tf)){if(l.getMeta(Tf).redo)return new Sf(t.done.addTransform(r,undefined,i,zf(e)),t.undone,Bf(r.mapping.maps[r.steps.length-1]),t.prevTime,t.prevComposition);else return new Sf(t.done,t.undone.addTransform(r,undefined,i,zf(e)),null,t.prevTime,t.prevComposition)}else if(r.getMeta("addToHistory")!==false&&!(l&&l.getMeta("addToHistory")===false)){let n=r.getMeta("composition");let s=t.prevTime==0||!l&&t.prevComposition!=n&&(t.prevTime<(r.time||0)-i.newGroupDelay||!_f(r,t.prevRanges));let o=l?Rf(t.prevRanges,r.mapping):Bf(r.mapping.maps[r.steps.length-1]);return new Sf(t.done.addTransform(r,s?e.selection.getBookmark():undefined,i,zf(e)),xf.empty,o,r.time,n==null?t.prevComposition:n)}else if(s=r.getMeta("rebased")){return new Sf(t.done.rebased(r,s),t.undone.rebased(r,s),Rf(t.prevRanges,r.mapping),t.prevTime,t.prevComposition)}else{return new Sf(t.done.addMaps(r.mapping.maps),t.undone.addMaps(r.mapping.maps),Rf(t.prevRanges,r.mapping),t.prevTime,t.prevComposition)}}function _f(t,e){if(!e)return false;if(!t.docChanged)return true;let r=false;t.mapping.maps[0].forEach(((t,i)=>{for(let n=0;n<e.length;n+=2)if(t<=e[n+1]&&i>=e[n])r=true}));return r}function Bf(t){let e=[];t.forEach(((t,r,i,n)=>e.push(i,n)));return e}function Rf(t,e){if(!t)return null;let r=[];for(let i=0;i<t.length;i+=2){let n=e.map(t[i],1),s=e.map(t[i+1],-1);if(n<=s)r.push(n,s)}return r}function jf(t,e,r,i){let n=zf(e);let s=Tf.get(e).spec.config;let l=(i?t.undone:t.done).popEvent(e,n);if(!l)return;let o=l.selection.resolve(l.transform.doc);let u=(i?t.done:t.undone).addTransform(l.transform,e.selection.getBookmark(),s,n);let f=new Sf(i?u:l.remaining,i?l.remaining:u,null,0,-1);r(l.transform.setSelection(o).setMeta(Tf,{redo:i,historyState:f}).scrollIntoView())}let Nf=false,qf=null;function zf(t){let e=t.plugins;if(qf!=e){Nf=false;qf=e;for(let t=0;t<e.length;t++)if(e[t].spec.historyPreserveItems){Nf=true;break}}return Nf}const Tf=new Dn("history");const If=new Dn("closeHistory");function Pf(t={}){t={depth:t.depth||100,newGroupDelay:t.newGroupDelay||500};return new gn({key:Tf,state:{init(){return new Sf(xf.empty,xf.empty,null,0,-1)},apply(e,r,i){return $f(r,i,e,t)}},config:t,props:{handleDOMEvents:{beforeinput(t,e){let r=e.inputType;let i=r=="historyUndo"?Jf:r=="historyRedo"?Lf:null;if(!i)return false;e.preventDefault();return i(t.state,t.dispatch)}}}})}const Jf=(t,e)=>{let r=Tf.getState(t);if(!r||r.done.eventCount==0)return false;if(e)jf(r,t,e,false);return true};const Lf=(t,e)=>{let r=Tf.getState(t);if(!r||r.undone.eventCount==0)return false;if(e)jf(r,t,e,true);return true};const Wf=(t,e)=>{if(t.selection.empty)return false;if(e)e(t.tr.deleteSelection().scrollIntoView());return true};function Uf(t,e){let{$cursor:r}=t.selection;if(!r||(e?!e.endOfTextblock("backward",t):r.parentOffset>0))return null;return r}const Hf=(t,e,r)=>{let i=Uf(t,r);if(!i)return false;let n=Vf(i);if(!n){let r=i.blockRange(),n=r&&hi(r);if(n==null)return false;if(e)e(t.tr.lift(r,n).scrollIntoView());return true}let s=n.nodeBefore;if(!s.type.spec.isolating&&dh(t,n,e))return true;if(i.parent.content.size==0&&(Zf(s,"end")||tn.isSelectable(s))){let r=Ci(t.doc,i.before(),i.after(),ye.empty);if(r&&r.slice.size<r.to-r.from){if(e){let i=t.tr.step(r);i.setSelection(Zf(s,"end")?Ki.findFrom(i.doc.resolve(i.mapping.map(n.pos,-1)),-1):tn.create(i.doc,n.pos-s.nodeSize));e(i.scrollIntoView())}return true}}if(s.isAtom&&n.depth==i.depth-1){if(e)e(t.tr.delete(n.pos-s.nodeSize,n.pos).scrollIntoView());return true}return false};function Zf(t,e,r=false){for(let i=t;i;i=e=="start"?i.firstChild:i.lastChild){if(i.isTextblock)return true;if(r&&i.childCount!=1)return false}return false}const Kf=(t,e,r)=>{let{$head:i,empty:n}=t.selection,s=i;if(!n)return false;if(i.parent.isTextblock){if(r?!r.endOfTextblock("backward",t):i.parentOffset>0)return false;s=Vf(i)}let l=s&&s.nodeBefore;if(!l||!tn.isSelectable(l))return false;if(e)e(t.tr.setSelection(tn.create(t.doc,s.pos-l.nodeSize)).scrollIntoView());return true};function Vf(t){if(!t.parent.type.spec.isolating)for(let e=t.depth-1;e>=0;e--){if(t.index(e)>0)return t.doc.resolve(t.before(e+1));if(t.node(e).type.spec.isolating)break}return null}function Gf(t,e){let{$cursor:r}=t.selection;if(!r||(e?!e.endOfTextblock("forward",t):r.parentOffset<r.parent.content.size))return null;return r}const Xf=(t,e,r)=>{let i=Gf(t,r);if(!i)return false;let n=Qf(i);if(!n)return false;let s=n.nodeAfter;if(dh(t,n,e))return true;if(i.parent.content.size==0&&(Zf(s,"start")||tn.isSelectable(s))){let r=Ci(t.doc,i.before(),i.after(),ye.empty);if(r&&r.slice.size<r.to-r.from){if(e){let i=t.tr.step(r);i.setSelection(Zf(s,"start")?Ki.findFrom(i.doc.resolve(i.mapping.map(n.pos)),1):tn.create(i.doc,i.mapping.map(n.pos)));e(i.scrollIntoView())}return true}}if(s.isAtom&&n.depth==i.depth-1){if(e)e(t.tr.delete(n.pos,n.pos+s.nodeSize).scrollIntoView());return true}return false};const Yf=(t,e,r)=>{let{$head:i,empty:n}=t.selection,s=i;if(!n)return false;if(i.parent.isTextblock){if(r?!r.endOfTextblock("forward",t):i.parentOffset<i.parent.content.size)return false;s=Qf(i)}let l=s&&s.nodeAfter;if(!l||!tn.isSelectable(l))return false;if(e)e(t.tr.setSelection(tn.create(t.doc,s.pos)).scrollIntoView());return true};function Qf(t){if(!t.parent.type.spec.isolating)for(let e=t.depth-1;e>=0;e--){let r=t.node(e);if(t.index(e)+1<r.childCount)return t.doc.resolve(t.after(e+1));if(r.type.spec.isolating)break}return null}const th=(t,e)=>{let r=t.selection,i=r instanceof tn,n;if(i){if(r.node.isTextblock||!yi(t.doc,r.from))return false;n=r.from}else{n=Ei(t.doc,r.from,-1);if(n==null)return false}if(e){let r=t.tr.join(n);if(i)r.setSelection(tn.create(r.doc,n-t.doc.resolve(n).nodeBefore.nodeSize));e(r.scrollIntoView())}return true};const eh=(t,e)=>{let r=t.selection,i;if(r instanceof tn){if(r.node.isTextblock||!yi(t.doc,r.to))return false;i=r.to}else{i=Ei(t.doc,r.to,1);if(i==null)return false}if(e)e(t.tr.join(i).scrollIntoView());return true};const rh=(t,e)=>{let{$from:r,$to:i}=t.selection;let n=r.blockRange(i),s=n&&hi(n);if(s==null)return false;if(e)e(t.tr.lift(n,s).scrollIntoView());return true};const ih=(t,e)=>{let{$head:r,$anchor:i}=t.selection;if(!r.parent.type.spec.code||!r.sameParent(i))return false;if(e)e(t.tr.insertText("\n").scrollIntoView());return true};function nh(t){for(let e=0;e<t.edgeCount;e++){let{type:r}=t.edge(e);if(r.isTextblock&&!r.hasRequiredAttrs())return r}return null}const sh=(t,e)=>{let{$head:r,$anchor:i}=t.selection;if(!r.parent.type.spec.code||!r.sameParent(i))return false;let n=r.node(-1),s=r.indexAfter(-1),l=nh(n.contentMatchAt(s));if(!l||!n.canReplaceWith(s,s,l))return false;if(e){let i=r.after(),n=t.tr.replaceWith(i,i,l.createAndFill());n.setSelection(Ki.near(n.doc.resolve(i),1));e(n.scrollIntoView())}return true};const lh=(t,e)=>{let r=t.selection,{$from:i,$to:n}=r;if(r instanceof rn||i.parent.inlineContent||n.parent.inlineContent)return false;let s=nh(n.parent.contentMatchAt(n.indexAfter()));if(!s||!s.isTextblock)return false;if(e){let r=(!i.parentOffset&&n.index()<n.parent.childCount?i:n).pos;let l=t.tr.insert(r,s.createAndFill());l.setSelection(Yi.create(l.doc,r+1));e(l.scrollIntoView())}return true};const oh=(t,e)=>{let{$cursor:r}=t.selection;if(!r||r.parent.content.size)return false;if(r.depth>1&&r.after()!=r.end(-1)){let i=r.before();if(Di(t.doc,i)){if(e)e(t.tr.split(i).scrollIntoView());return true}}let i=r.blockRange(),n=i&&hi(i);if(n==null)return false;if(e)e(t.tr.lift(i,n).scrollIntoView());return true};function uh(t){return(e,r)=>{let{$from:i,$to:n}=e.selection;if(e.selection instanceof tn&&e.selection.node.isBlock){if(!i.parentOffset||!Di(e.doc,i.pos))return false;if(r)r(e.tr.split(i.pos).scrollIntoView());return true}if(!i.parent.isBlock)return false;if(r){let s=n.parentOffset==n.parent.content.size;let l=e.tr;if(e.selection instanceof Yi||e.selection instanceof rn)l.deleteSelection();let o=i.depth==0?null:nh(i.node(-1).contentMatchAt(i.indexAfter(-1)));let u=t&&t(n.parent,s);let f=u?[u]:s&&o?[{type:o}]:undefined;let h=Di(l.doc,l.mapping.map(i.pos),1,f);if(!f&&!h&&Di(l.doc,l.mapping.map(i.pos),1,o?[{type:o}]:undefined)){if(o)f=[{type:o}];h=true}if(h){l.split(l.mapping.map(i.pos),1,f);if(!s&&!i.parentOffset&&i.parent.type!=o){let t=l.mapping.map(i.before()),e=l.doc.resolve(t);if(o&&i.node(-1).canReplaceWith(e.index(),e.index()+1,o))l.setNodeMarkup(l.mapping.map(i.before()),o)}}r(l.scrollIntoView())}return true}}const fh=uh();const hh=(t,e)=>{let{$from:r,to:i}=t.selection,n;let s=r.sharedDepth(i);if(s==0)return false;n=r.before(s);if(e)e(t.tr.setSelection(tn.create(t.doc,n)));return true};const ah=(t,e)=>{if(e)e(t.tr.setSelection(new rn(t.doc)));return true};function ch(t,e,r){let i=e.nodeBefore,n=e.nodeAfter,s=e.index();if(!i||!n||!i.type.compatibleContent(n.type))return false;if(!i.content.size&&e.parent.canReplace(s-1,s)){if(r)r(t.tr.delete(e.pos-i.nodeSize,e.pos).scrollIntoView());return true}if(!e.parent.canReplace(s,s+1)||!(n.isTextblock||yi(t.doc,e.pos)))return false;if(r)r(t.tr.clearIncompatible(e.pos,i.type,i.contentMatchAt(i.childCount)).join(e.pos).scrollIntoView());return true}function dh(t,e,r){let i=e.nodeBefore,n=e.nodeAfter,s,l;if(i.type.spec.isolating||n.type.spec.isolating)return false;if(ch(t,e,r))return true;let o=e.parent.canReplace(e.index(),e.index()+1);if(o&&(s=(l=i.contentMatchAt(i.childCount)).findWrapping(n.type))&&l.matchType(s[0]||n.type).validEnd){if(r){let l=e.pos+n.nodeSize,o=we.empty;for(let t=s.length-1;t>=0;t--)o=we.from(s[t].create(null,o));o=we.from(i.copy(o));let u=t.tr.step(new ni(e.pos-1,l,e.pos,l,new ye(o,1,0),s.length,true));let f=l+2*s.length;if(yi(u.doc,f))u.join(f);r(u.scrollIntoView())}return true}let u=Ki.findFrom(e,1);let f=u&&u.$from.blockRange(u.$to),h=f&&hi(f);if(h!=null&&h>=e.depth){if(r)r(t.tr.lift(f,h).scrollIntoView());return true}if(o&&Zf(n,"start",true)&&Zf(i,"end")){let s=i,l=[];for(;;){l.push(s);if(s.isTextblock)break;s=s.lastChild}let o=n,u=1;for(;!o.isTextblock;o=o.firstChild)u++;if(s.canReplace(s.childCount,s.childCount,o.content)){if(r){let i=we.empty;for(let t=l.length-1;t>=0;t--)i=we.from(l[t].copy(i));let s=t.tr.step(new ni(e.pos-l.length,e.pos+n.nodeSize,e.pos+u,e.pos+n.nodeSize-u,new ye(i,l.length,0),0,true));r(s.scrollIntoView())}return true}}return false}function ph(t){return function(e,r){let i=e.selection,n=t<0?i.$from:i.$to;let s=n.depth;while(n.node(s).isInline){if(!s)return false;s--}if(!n.node(s).isTextblock)return false;if(r)r(e.tr.setSelection(Yi.create(e.doc,t<0?n.start(s):n.end(s))));return true}}const mh=ph(-1);const wh=ph(1);function gh(t,e=null){return function(r,i){let{$from:n,$to:s}=r.selection;let l=n.blockRange(s),o=l&&ci(l,t,e);if(!o)return false;if(i)i(r.tr.wrap(l,o).scrollIntoView());return true}}function bh(t,e=null){return function(r,i){let n=false;for(let i=0;i<r.selection.ranges.length&&!n;i++){let{$from:{pos:s},$to:{pos:l}}=r.selection.ranges[i];r.doc.nodesBetween(s,l,((i,s)=>{if(n)return false;if(!i.isTextblock||i.hasMarkup(t,e))return;if(i.type==t){n=true}else{let e=r.doc.resolve(s),i=e.index();n=e.parent.canReplaceWith(i,i+1,t)}}))}if(!n)return false;if(i){let n=r.tr;for(let i=0;i<r.selection.ranges.length;i++){let{$from:{pos:s},$to:{pos:l}}=r.selection.ranges[i];n.setBlockType(s,l,t,e)}i(n.scrollIntoView())}return true}}function kh(t,e,r){for(let i=0;i<e.length;i++){let{$from:n,$to:s}=e[i];let l=n.depth==0?t.inlineContent&&t.type.allowsMarkType(r):false;t.nodesBetween(n.pos,s.pos,(t=>{if(l)return false;l=t.inlineContent&&t.type.allowsMarkType(r)}));if(l)return true}return false}function Dh(t,e=null){return function(r,i){let{empty:n,$cursor:s,ranges:l}=r.selection;if(n&&!s||!kh(r.doc,l,t))return false;if(i){if(s){if(t.isInSet(r.storedMarks||s.marks()))i(r.tr.removeStoredMark(t));else i(r.tr.addStoredMark(t.create(e)))}else{let n=false,s=r.tr;for(let e=0;!n&&e<l.length;e++){let{$from:i,$to:s}=l[e];n=r.doc.rangeHasMark(i.pos,s.pos,t)}for(let r=0;r<l.length;r++){let{$from:i,$to:o}=l[r];if(n){s.removeMark(i.pos,o.pos,t)}else{let r=i.pos,n=o.pos,l=i.nodeAfter,u=o.nodeBefore;let f=l&&l.isText?/^\s*/.exec(l.text)[0].length:0;let h=u&&u.isText?/\s*$/.exec(u.text)[0].length:0;if(r+f<n){r+=f;n-=h}s.addMark(r,n,t.create(e))}}i(s.scrollIntoView())}}return true}}function vh(...t){return function(e,r,i){for(let n=0;n<t.length;n++)if(t[n](e,r,i))return true;return false}}let yh=vh(Wf,Hf,Kf);let Fh=vh(Wf,Xf,Yf);const Eh={Enter:vh(ih,lh,oh,fh),"Mod-Enter":sh,Backspace:yh,"Mod-Backspace":yh,"Shift-Backspace":yh,Delete:Fh,"Mod-Delete":Fh,"Mod-a":ah};const Mh={"Ctrl-h":Eh["Backspace"],"Alt-Backspace":Eh["Mod-Backspace"],"Ctrl-d":Eh["Delete"],"Ctrl-Alt-Backspace":Eh["Mod-Delete"],"Alt-Delete":Eh["Mod-Delete"],"Alt-d":Eh["Mod-Delete"],"Ctrl-a":mh,"Ctrl-e":wh};for(let t in Eh)Mh[t]=Eh[t];const xh=typeof navigator!="undefined"?/Mac|iP(hone|[oa]d)/.test(navigator.platform):typeof os!="undefined"&&os.platform?os.platform()=="darwin":false;const Ah=xh?Mh:Eh;function Ch(t={}){return new gn({view(e){return new Sh(e,t)}})}class Sh{constructor(t,e){var r;this.editorView=t;this.cursorPos=null;this.element=null;this.timeout=-1;this.width=(r=e.width)!==null&&r!==void 0?r:1;this.color=e.color===false?undefined:e.color||"black";this.class=e.class;this.handlers=["dragover","dragend","drop","dragleave"].map((e=>{let r=t=>{this[e](t)};t.dom.addEventListener(e,r);return{name:e,handler:r}}))}destroy(){this.handlers.forEach((({name:t,handler:e})=>this.editorView.dom.removeEventListener(t,e)))}update(t,e){if(this.cursorPos!=null&&e.doc!=t.state.doc){if(this.cursorPos>t.state.doc.content.size)this.setCursor(null);else this.updateOverlay()}}setCursor(t){if(t==this.cursorPos)return;this.cursorPos=t;if(t==null){this.element.parentNode.removeChild(this.element);this.element=null}else{this.updateOverlay()}}updateOverlay(){let t=this.editorView.state.doc.resolve(this.cursorPos);let e=!t.parent.inlineContent,r;if(e){let e=t.nodeBefore,i=t.nodeAfter;if(e||i){let t=this.editorView.nodeDOM(this.cursorPos-(e?e.nodeSize:0));if(t){let n=t.getBoundingClientRect();let s=e?n.bottom:n.top;if(e&&i)s=(s+this.editorView.nodeDOM(this.cursorPos).getBoundingClientRect().top)/2;r={left:n.left,right:n.right,top:s-this.width/2,bottom:s+this.width/2}}}}if(!r){let t=this.editorView.coordsAtPos(this.cursorPos);r={left:t.left-this.width/2,right:t.left+this.width/2,top:t.top,bottom:t.bottom}}let i=this.editorView.dom.offsetParent;if(!this.element){this.element=i.appendChild(document.createElement("div"));if(this.class)this.element.className=this.class;this.element.style.cssText="position: absolute; z-index: 50; pointer-events: none;";if(this.color){this.element.style.backgroundColor=this.color}}this.element.classList.toggle("prosemirror-dropcursor-block",e);this.element.classList.toggle("prosemirror-dropcursor-inline",!e);let n,s;if(!i||i==document.body&&getComputedStyle(i).position=="static"){n=-pageXOffset;s=-pageYOffset}else{let t=i.getBoundingClientRect();n=t.left-i.scrollLeft;s=t.top-i.scrollTop}this.element.style.left=r.left-n+"px";this.element.style.top=r.top-s+"px";this.element.style.width=r.right-r.left+"px";this.element.style.height=r.bottom-r.top+"px"}scheduleRemoval(t){clearTimeout(this.timeout);this.timeout=setTimeout((()=>this.setCursor(null)),t)}dragover(t){if(!this.editorView.editable)return;let e=this.editorView.posAtCoords({left:t.clientX,top:t.clientY});let r=e&&e.inside>=0&&this.editorView.state.doc.nodeAt(e.inside);let i=r&&r.type.spec.disableDropCursor;let n=typeof i=="function"?i(this.editorView,e,t):i;if(e&&!n){let t=e.pos;if(this.editorView.dragging&&this.editorView.dragging.slice){let e=Ai(this.editorView.state.doc,t,this.editorView.dragging.slice);if(e!=null)t=e}this.setCursor(t);this.scheduleRemoval(5e3)}}dragend(){this.scheduleRemoval(20)}drop(){this.scheduleRemoval(20)}dragleave(t){if(t.target==this.editorView.dom||!this.editorView.dom.contains(t.relatedTarget))this.setCursor(null)}}class Oh extends Ki{constructor(t){super(t,t)}map(t,e){let r=t.resolve(e.map(this.head));return Oh.valid(r)?new Oh(r):Ki.near(r)}content(){return ye.empty}eq(t){return t instanceof Oh&&t.head==this.head}toJSON(){return{type:"gapcursor",pos:this.head}}static fromJSON(t,e){if(typeof e.pos!="number")throw new RangeError("Invalid input for GapCursor.fromJSON");return new Oh(t.resolve(e.pos))}getBookmark(){return new $h(this.anchor)}static valid(t){let e=t.parent;if(e.isTextblock||!_h(t)||!Bh(t))return false;let r=e.type.spec.allowGapCursor;if(r!=null)return r;let i=e.contentMatchAt(t.index()).defaultType;return i&&i.isTextblock}static findGapCursorFrom(t,e,r=false){t:for(;;){if(!r&&Oh.valid(t))return t;let i=t.pos,n=null;for(let r=t.depth;;r--){let s=t.node(r);if(e>0?t.indexAfter(r)<s.childCount:t.index(r)>0){n=s.child(e>0?t.indexAfter(r):t.index(r)-1);break}else if(r==0){return null}i+=e;let l=t.doc.resolve(i);if(Oh.valid(l))return l}for(;;){let s=e>0?n.firstChild:n.lastChild;if(!s){if(n.isAtom&&!n.isText&&!tn.isSelectable(n)){t=t.doc.resolve(i+n.nodeSize*e);r=false;continue t}break}n=s;i+=e;let l=t.doc.resolve(i);if(Oh.valid(l))return l}return null}}}Oh.prototype.visible=false;Oh.findFrom=Oh.findGapCursorFrom;Ki.jsonID("gapcursor",Oh);class $h{constructor(t){this.pos=t}map(t){return new $h(t.map(this.pos))}resolve(t){let e=t.resolve(this.pos);return Oh.valid(e)?new Oh(e):Ki.near(e)}}function _h(t){for(let e=t.depth;e>=0;e--){let r=t.index(e),i=t.node(e);if(r==0){if(i.type.spec.isolating)return true;continue}for(let t=i.child(r-1);;t=t.lastChild){if(t.childCount==0&&!t.inlineContent||t.isAtom||t.type.spec.isolating)return true;if(t.inlineContent)return false}}return true}function Bh(t){for(let e=t.depth;e>=0;e--){let r=t.indexAfter(e),i=t.node(e);if(r==i.childCount){if(i.type.spec.isolating)return true;continue}for(let t=i.child(r);;t=t.firstChild){if(t.childCount==0&&!t.inlineContent||t.isAtom||t.type.spec.isolating)return true;if(t.inlineContent)return false}}return true}function Rh(){return new gn({props:{decorations:Th,createSelectionBetween(t,e,r){return e.pos==r.pos&&Oh.valid(r)?new Oh(r):null},handleClick:qh,handleKeyDown:jh,handleDOMEvents:{beforeinput:zh}}})}const jh=Df({ArrowLeft:Nh("horiz",-1),ArrowRight:Nh("horiz",1),ArrowUp:Nh("vert",-1),ArrowDown:Nh("vert",1)});function Nh(t,e){const r=t=="vert"?e>0?"down":"up":e>0?"right":"left";return function(t,i,n){let s=t.selection;let l=e>0?s.$to:s.$from,o=s.empty;if(s instanceof Yi){if(!n.endOfTextblock(r)||l.depth==0)return false;o=false;l=t.doc.resolve(e>0?l.after():l.before())}let u=Oh.findGapCursorFrom(l,e,o);if(!u)return false;if(i)i(t.tr.setSelection(new Oh(u)));return true}}function qh(t,e,r){if(!t||!t.editable)return false;let i=t.state.doc.resolve(e);if(!Oh.valid(i))return false;let n=t.posAtCoords({left:r.clientX,top:r.clientY});if(n&&n.inside>-1&&tn.isSelectable(t.state.doc.nodeAt(n.inside)))return false;t.dispatch(t.state.tr.setSelection(new Oh(i)));return true}function zh(t,e){if(e.inputType!="insertCompositionText"||!(t.state.selection instanceof Oh))return false;let{$from:r}=t.state.selection;let i=r.parent.contentMatchAt(r.index()).findWrapping(t.state.schema.nodes.text);if(!i)return false;let n=we.empty;for(let t=i.length-1;t>=0;t--)n=we.from(i[t].createAndFill(null,n));let s=t.state.tr.replace(r.pos,r.pos,new ye(n,0,0));s.setSelection(Yi.near(s.doc.resolve(r.pos+1)));t.dispatch(s);return false}function Th(t){if(!(t.selection instanceof Oh))return null;let e=document.createElement("div");e.className="ProseMirror-gapcursor";return Go.create(t.doc,[Zo.widget(t.selection.head,e,{key:"gapcursor"})])}function Ih(){var t=arguments[0];if(typeof t=="string")t=document.createElement(t);var e=1,r=arguments[1];if(r&&typeof r=="object"&&r.nodeType==null&&!Array.isArray(r)){for(var i in r)if(Object.prototype.hasOwnProperty.call(r,i)){var n=r[i];if(typeof n=="string")t.setAttribute(i,n);else if(n!=null)t[i]=n}e++}for(;e<arguments.length;e++)Ph(t,arguments[e]);return t}function Ph(t,e){if(typeof e=="string"){t.appendChild(document.createTextNode(e))}else if(e==null);else if(e.nodeType!=null){t.appendChild(e)}else if(Array.isArray(e)){for(var r=0;r<e.length;r++)Ph(t,e[r])}else{throw new RangeError("Unsupported child node: "+e)}}const Jh="http://www.w3.org/2000/svg";const Lh="http://www.w3.org/1999/xlink";const Wh="ProseMirror-icon";function Uh(t){let e=0;for(let r=0;r<t.length;r++)e=(e<<5)-e+t.charCodeAt(r)|0;return e}function Hh(t,e){let r=(t.nodeType==9?t:t.ownerDocument)||document;let i=r.createElement("div");i.className=Wh;if(e.path){let{path:n,width:s,height:l}=e;let o="pm-icon-"+Uh(n).toString(16);if(!r.getElementById(o))Zh(t,o,e);let u=i.appendChild(r.createElementNS(Jh,"svg"));u.style.width=s/l+"em";let f=u.appendChild(r.createElementNS(Jh,"use"));f.setAttributeNS(Lh,"href",/([^#]*)/.exec(r.location.toString())[1]+"#"+o)}else if(e.dom){i.appendChild(e.dom.cloneNode(true))}else{let{text:t,css:n}=e;i.appendChild(r.createElement("span")).textContent=t||"";if(n)i.firstChild.style.cssText=n}return i}function Zh(t,e,r){let[i,n]=t.nodeType==9?[t,t.body]:[t.ownerDocument||document,t];let s=i.getElementById(Wh+"-collection");if(!s){s=i.createElementNS(Jh,"svg");s.id=Wh+"-collection";s.style.display="none";n.insertBefore(s,n.firstChild)}let l=i.createElementNS(Jh,"symbol");l.id=e;l.setAttribute("viewBox","0 0 "+r.width+" "+r.height);let o=l.appendChild(i.createElementNS(Jh,"path"));o.setAttribute("d",r.path);s.appendChild(l)}const Kh="ProseMirror-menu";class Vh{constructor(t){this.spec=t}render(t){let e=this.spec;let r=e.render?e.render(t):e.icon?Hh(t.root,e.icon):e.label?Ih("div",null,Gh(t,e.label)):null;if(!r)throw new RangeError("MenuItem without icon or label property");if(e.title){const i=typeof e.title==="function"?e.title(t.state):e.title;r.setAttribute("title",Gh(t,i))}if(e.class)r.classList.add(e.class);if(e.css)r.style.cssText+=e.css;r.addEventListener("mousedown",(i=>{i.preventDefault();if(!r.classList.contains(Kh+"-disabled"))e.run(t.state,t.dispatch,t,i)}));function i(t){if(e.select){let i=e.select(t);r.style.display=i?"":"none";if(!i)return false}let i=true;if(e.enable){i=e.enable(t)||false;pa(r,Kh+"-disabled",!i)}if(e.active){let n=i&&e.active(t)||false;pa(r,Kh+"-active",n)}return true}return{dom:r,update:i}}}function Gh(t,e){return t._props.translate?t._props.translate(e):e}let Xh={time:0,node:null};function Yh(t){Xh.time=Date.now();Xh.node=t.target}function Qh(t){return Date.now()-100<Xh.time&&Xh.node&&t.contains(Xh.node)}class ta{constructor(t,e={}){this.options=e;this.options=e||{};this.content=Array.isArray(t)?t:[t]}render(t){let e=ea(this.content,t);let r=t.dom.ownerDocument.defaultView||window;let i=Ih("div",{class:Kh+"-dropdown "+(this.options.class||""),style:this.options.css},Gh(t,this.options.label||""));if(this.options.title)i.setAttribute("title",Gh(t,this.options.title));let n=Ih("div",{class:Kh+"-dropdown-wrap"},i);let s=null;let l=null;let o=()=>{if(s&&s.close()){s=null;r.removeEventListener("mousedown",l)}};i.addEventListener("mousedown",(t=>{t.preventDefault();Yh(t);if(s){o()}else{s=this.expand(n,e.dom);r.addEventListener("mousedown",l=()=>{if(!Qh(n))o()})}}));function u(t){let r=e.update(t);n.style.display=r?"":"none";return r}return{dom:n,update:u}}expand(t,e){let r=Ih("div",{class:Kh+"-dropdown-menu "+(this.options.class||"")},e);let i=false;function n(){if(i)return false;i=true;t.removeChild(r);return true}t.appendChild(r);return{close:n,node:r}}}function ea(t,e){let r=[],i=[];for(let n=0;n<t.length;n++){let{dom:s,update:l}=t[n].render(e);r.push(Ih("div",{class:Kh+"-dropdown-item"},s));i.push(l)}return{dom:r,update:ra(i,r)}}function ra(t,e){return r=>{let i=false;for(let n=0;n<t.length;n++){let s=t[n](r);e[n].style.display=s?"":"none";if(s)i=true}return i}}class ia{constructor(t,e={}){this.options=e;this.content=Array.isArray(t)?t:[t]}render(t){let e=ea(this.content,t);let r=t.dom.ownerDocument.defaultView||window;let i=Ih("div",{class:Kh+"-submenu-label"},Gh(t,this.options.label||""));let n=Ih("div",{class:Kh+"-submenu-wrap"},i,Ih("div",{class:Kh+"-submenu"},e.dom));let s=null;i.addEventListener("mousedown",(t=>{t.preventDefault();Yh(t);pa(n,Kh+"-submenu-wrap-active",false);if(!s)r.addEventListener("mousedown",s=()=>{if(!Qh(n)){n.classList.remove(Kh+"-submenu-wrap-active");r.removeEventListener("mousedown",s);s=null}})}));function l(t){let r=e.update(t);n.style.display=r?"":"none";return r}return{dom:n,update:l}}}function na(t,e){let r=document.createDocumentFragment();let i=[],n=[];for(let s=0;s<e.length;s++){let l=e[s],o=[],u=[];for(let e=0;e<l.length;e++){let{dom:i,update:n}=l[e].render(t);let s=Ih("span",{class:Kh+"item"},i);r.appendChild(s);u.push(s);o.push(n)}if(o.length){i.push(ra(o,u));if(s<e.length-1)n.push(r.appendChild(sa()))}}function s(t){let e=false,r=false;for(let s=0;s<i.length;s++){let l=i[s](t);if(s)n[s-1].style.display=r&&l?"":"none";r=l;if(l)e=true}return e}return{dom:r,update:s}}function sa(){return Ih("span",{class:Kh+"separator"})}const la={join:{width:800,height:900,path:"M0 75h800v125h-800z M0 825h800v-125h-800z M250 400h100v-100h100v100h100v100h-100v100h-100v-100h-100z"},lift:{width:1024,height:1024,path:"M219 310v329q0 7-5 12t-12 5q-8 0-13-5l-164-164q-5-5-5-13t5-13l164-164q5-5 13-5 7 0 12 5t5 12zM1024 749v109q0 7-5 12t-12 5h-987q-7 0-12-5t-5-12v-109q0-7 5-12t12-5h987q7 0 12 5t5 12zM1024 530v109q0 7-5 12t-12 5h-621q-7 0-12-5t-5-12v-109q0-7 5-12t12-5h621q7 0 12 5t5 12zM1024 310v109q0 7-5 12t-12 5h-621q-7 0-12-5t-5-12v-109q0-7 5-12t12-5h621q7 0 12 5t5 12zM1024 91v109q0 7-5 12t-12 5h-987q-7 0-12-5t-5-12v-109q0-7 5-12t12-5h987q7 0 12 5t5 12z"},selectParentNode:{text:"⬚",css:"font-weight: bold"},undo:{width:1024,height:1024,path:"M761 1024c113-206 132-520-313-509v253l-384-384 384-384v248c534-13 594 472 313 775z"},redo:{width:1024,height:1024,path:"M576 248v-248l384 384-384 384v-253c-446-10-427 303-313 509-280-303-221-789 313-775z"},strong:{width:805,height:1024,path:"M317 869q42 18 80 18 214 0 214-191 0-65-23-102-15-25-35-42t-38-26-46-14-48-6-54-1q-41 0-57 5 0 30-0 90t-0 90q0 4-0 38t-0 55 2 47 6 38zM309 442q24 4 62 4 46 0 81-7t62-25 42-51 14-81q0-40-16-70t-45-46-61-24-70-8q-28 0-74 7 0 28 2 86t2 86q0 15-0 45t-0 45q0 26 0 39zM0 950l1-53q8-2 48-9t60-15q4-6 7-15t4-19 3-18 1-21 0-19v-37q0-561-12-585-2-4-12-8t-25-6-28-4-27-2-17-1l-2-47q56-1 194-6t213-5q13 0 39 0t38 0q40 0 78 7t73 24 61 40 42 59 16 78q0 29-9 54t-22 41-36 32-41 25-48 22q88 20 146 76t58 141q0 57-20 102t-53 74-78 48-93 27-100 8q-25 0-75-1t-75-1q-60 0-175 6t-132 6z"},em:{width:585,height:1024,path:"M0 949l9-48q3-1 46-12t63-21q16-20 23-57 0-4 35-165t65-310 29-169v-14q-13-7-31-10t-39-4-33-3l10-58q18 1 68 3t85 4 68 1q27 0 56-1t69-4 56-3q-2 22-10 50-17 5-58 16t-62 19q-4 10-8 24t-5 22-4 26-3 24q-15 84-50 239t-44 203q-1 5-7 33t-11 51-9 47-3 32l0 10q9 2 105 17-1 25-9 56-6 0-18 0t-18 0q-16 0-49-5t-49-5q-78-1-117-1-29 0-81 5t-69 6z"},code:{width:896,height:1024,path:"M608 192l-96 96 224 224-224 224 96 96 288-320-288-320zM288 192l-288 320 288 320 96-96-224-224 224-224-96-96z"},link:{width:951,height:1024,path:"M832 694q0-22-16-38l-118-118q-16-16-38-16-24 0-41 18 1 1 10 10t12 12 8 10 7 14 2 15q0 22-16 38t-38 16q-8 0-15-2t-14-7-10-8-12-12-10-10q-18 17-18 41 0 22 16 38l117 118q15 15 38 15 22 0 38-14l84-83q16-16 16-38zM430 292q0-22-16-38l-117-118q-16-16-38-16-22 0-38 15l-84 83q-16 16-16 38 0 22 16 38l118 118q15 15 38 15 24 0 41-17-1-1-10-10t-12-12-8-10-7-14-2-15q0-22 16-38t38-16q8 0 15 2t14 7 10 8 12 12 10 10q18-17 18-41zM941 694q0 68-48 116l-84 83q-47 47-116 47-69 0-116-48l-117-118q-47-47-47-116 0-70 50-119l-50-50q-49 50-118 50-68 0-116-48l-118-118q-48-48-48-116t48-116l84-83q47-47 116-47 69 0 116 48l117 118q47 47 47 116 0 70-50 119l50 50q49-50 118-50 68 0 116 48l118 118q48 48 48 116z"},bulletList:{width:768,height:896,path:"M0 512h128v-128h-128v128zM0 256h128v-128h-128v128zM0 768h128v-128h-128v128zM256 512h512v-128h-512v128zM256 256h512v-128h-512v128zM256 768h512v-128h-512v128z"},orderedList:{width:768,height:896,path:"M320 512h448v-128h-448v128zM320 768h448v-128h-448v128zM320 128v128h448v-128h-448zM79 384h78v-256h-36l-85 23v50l43-2v185zM189 590c0-36-12-78-96-78-33 0-64 6-83 16l1 66c21-10 42-15 67-15s32 11 32 28c0 26-30 58-110 112v50h192v-67l-91 2c49-30 87-66 87-113l1-1z"},blockquote:{width:640,height:896,path:"M0 448v256h256v-256h-128c0 0 0-128 128-128v-128c0 0-256 0-256 256zM640 320v-128c0 0-256 0-256 256v256h256v-256h-128c0 0 0-128 128-128z"}};const oa=new Vh({title:"Join with above block",run:th,select:t=>th(t),icon:la.join});const ua=new Vh({title:"Lift out of enclosing block",run:rh,select:t=>rh(t),icon:la.lift});const fa=new Vh({title:"Select parent node",run:hh,select:t=>hh(t),icon:la.selectParentNode});let ha=new Vh({title:"Undo last change",run:Jf,enable:t=>Jf(t),icon:la.undo});let aa=new Vh({title:"Redo last undone change",run:Lf,enable:t=>Lf(t),icon:la.redo});function ca(t,e){let r={run(r,i){return gh(t,e.attrs)(r,i)},select(r){return gh(t,e.attrs)(r)}};for(let t in e)r[t]=e[t];return new Vh(r)}function da(t,e){let r=bh(t,e.attrs);let i={run:r,enable(t){return r(t)},active(r){let{$from:i,to:n,node:s}=r.selection;if(s)return s.hasMarkup(t,e.attrs);return n<=i.end()&&i.parent.hasMarkup(t,e.attrs)}};for(let t in e)i[t]=e[t];return new Vh(i)}function pa(t,e,r){if(r)t.classList.add(e);else t.classList.remove(e)}const ma="ProseMirror-menubar";function wa(){if(typeof navigator=="undefined")return false;let t=navigator.userAgent;return!/Edge\/\d/.test(t)&&/AppleWebKit/.test(t)&&/Mobile\/\w+/.test(t)}function ga(t){return new gn({view(e){return new ba(e,t)}})}class ba{constructor(t,e){this.editorView=t;this.options=e;this.spacer=null;this.maxHeight=0;this.widthForMaxHeight=0;this.floating=false;this.scrollHandler=null;this.wrapper=Ih("div",{class:ma+"-wrapper"});this.menu=this.wrapper.appendChild(Ih("div",{class:ma}));this.menu.className=ma;if(t.dom.parentNode)t.dom.parentNode.replaceChild(this.wrapper,t.dom);this.wrapper.appendChild(t.dom);let{dom:r,update:i}=na(this.editorView,this.options.content);this.contentUpdate=i;this.menu.appendChild(r);this.update();if(e.floating&&!wa()){this.updateFloat();let t=va(this.wrapper);this.scrollHandler=e=>{let r=this.editorView.root;if(!(r.body||r).contains(this.wrapper))t.forEach((t=>t.removeEventListener("scroll",this.scrollHandler)));else this.updateFloat(e.target.getBoundingClientRect?e.target:undefined)};t.forEach((t=>t.addEventListener("scroll",this.scrollHandler)))}}update(){this.contentUpdate(this.editorView.state);if(this.floating){this.updateScrollCursor()}else{if(this.menu.offsetWidth!=this.widthForMaxHeight){this.widthForMaxHeight=this.menu.offsetWidth;this.maxHeight=0}if(this.menu.offsetHeight>this.maxHeight){this.maxHeight=this.menu.offsetHeight;this.menu.style.minHeight=this.maxHeight+"px"}}}updateScrollCursor(){let t=this.editorView.root.getSelection();if(!t.focusNode)return;let e=t.getRangeAt(0).getClientRects();let r=e[ka(t)?0:e.length-1];if(!r)return;let i=this.menu.getBoundingClientRect();if(r.top<i.bottom&&r.bottom>i.top){let t=Da(this.wrapper);if(t)t.scrollTop-=i.bottom-r.top}}updateFloat(t){let e=this.wrapper,r=e.getBoundingClientRect(),i=t?Math.max(0,t.getBoundingClientRect().top):0;if(this.floating){if(r.top>=i||r.bottom<this.menu.offsetHeight+10){this.floating=false;this.menu.style.position=this.menu.style.left=this.menu.style.top=this.menu.style.width="";this.menu.style.display="";this.spacer.parentNode.removeChild(this.spacer);this.spacer=null}else{let n=(e.offsetWidth-e.clientWidth)/2;this.menu.style.left=r.left+n+"px";this.menu.style.display=r.top>(this.editorView.dom.ownerDocument.defaultView||window).innerHeight?"none":"";if(t)this.menu.style.top=i+"px"}}else{if(r.top<i&&r.bottom>=this.menu.offsetHeight+10){this.floating=true;let r=this.menu.getBoundingClientRect();this.menu.style.left=r.left+"px";this.menu.style.width=r.width+"px";if(t)this.menu.style.top=i+"px";this.menu.style.position="fixed";this.spacer=Ih("div",{class:ma+"-spacer",style:`height: ${r.height}px`});e.insertBefore(this.spacer,this.menu)}}}destroy(){if(this.wrapper.parentNode)this.wrapper.parentNode.replaceChild(this.editorView.dom,this.wrapper)}}function ka(t){if(t.anchorNode==t.focusNode)return t.anchorOffset>t.focusOffset;return t.anchorNode.compareDocumentPosition(t.focusNode)==Node.DOCUMENT_POSITION_FOLLOWING}function Da(t){for(let e=t.parentNode;e;e=e.parentNode)if(e.scrollHeight>e.clientHeight)return e}function va(t){let e=[t.ownerDocument.defaultView||window];for(let r=t.parentNode;r;r=r.parentNode)e.push(r);return e}class ya{constructor(t,e,r={}){this.match=t;this.match=t;this.handler=typeof e=="string"?Fa(e):e;this.undoable=r.undoable!==false;this.inCode=r.inCode||false}}function Fa(t){return function(e,r,i,n){let s=t;if(r[1]){let t=r[0].lastIndexOf(r[1]);s+=r[0].slice(t+r[1].length);i+=t;let e=i-n;if(e>0){s=r[0].slice(t-e,t)+s;i=n}}return e.tr.insertText(s,i,n)}}const Ea=500;function Ma({rules:t}){let e=new gn({state:{init(){return null},apply(t,e){let r=t.getMeta(this);if(r)return r;return t.selectionSet||t.docChanged?null:e}},props:{handleTextInput(r,i,n,s){return xa(r,i,n,s,t,e)},handleDOMEvents:{compositionend:r=>{setTimeout((()=>{let{$cursor:i}=r.state.selection;if(i)xa(r,i.pos,i.pos,"",t,e)}))}}},isInputRules:true});return e}function xa(t,e,r,i,n,s){if(t.composing)return false;let l=t.state,o=l.doc.resolve(e);let u=o.parent.textBetween(Math.max(0,o.parentOffset-Ea),o.parentOffset,null,"")+i;for(let f=0;f<n.length;f++){let h=n[f];if(o.parent.type.spec.code){if(!h.inCode)continue}else if(h.inCode==="only"){continue}let a=h.match.exec(u);let c=a&&h.handler(l,a,e-(a[0].length-i.length),r);if(!c)continue;if(h.undoable)c.setMeta(s,{transform:c,from:e,to:r,text:i});t.dispatch(c);return true}return false}const Aa=(t,e)=>{let r=t.plugins;for(let i=0;i<r.length;i++){let n=r[i],s;if(n.spec.isInputRules&&(s=n.getState(t))){if(e){let r=t.tr,i=s.transform;for(let t=i.steps.length-1;t>=0;t--)r.step(i.steps[t].invert(i.docs[t]));if(s.text){let e=r.doc.resolve(s.from).marks();r.replaceWith(s.from,s.to,t.schema.text(s.text,e))}else{r.delete(s.from,s.to)}e(r)}return true}}return false};const Ca=new ya(/--$/,"—");const Sa=new ya(/\.\.\.$/,"…");const Oa=new ya(/(?:^|[\s\{\[\(\<'"\u2018\u201C])(")$/,"“");const $a=new ya(/"$/,"”");const _a=new ya(/(?:^|[\s\{\[\(\<'"\u2018\u201C])(')$/,"‘");const Ba=new ya(/'$/,"’");const Ra=[Oa,$a,_a,Ba];function ja(t,e,r=null,i){return new ya(t,((t,n,s,l)=>{let o=r instanceof Function?r(n):r;let u=t.tr.delete(s,l);let f=u.doc.resolve(s),h=f.blockRange(),a=h&&ci(h,e,o);if(!a)return null;u.wrap(h,a);let c=u.doc.resolve(s-1).nodeBefore;if(c&&c.type==e&&yi(u.doc,s-1)&&(!i||i(n,c)))u.join(s-1);return u}))}function Na(t,e,r=null){return new ya(t,((t,i,n,s)=>{let l=t.doc.resolve(n);let o=r instanceof Function?r(i):r;if(!l.node(-1).canReplaceWith(l.index(-1),l.indexAfter(-1),e))return null;return t.tr.delete(n,s).setBlockType(n,n,e,o)}))}const qa="ProseMirror-prompt";function za(t){let e=document.body.appendChild(document.createElement("div"));e.className=qa;let r=t=>{if(!e.contains(t.target))i()};setTimeout((()=>window.addEventListener("mousedown",r)),50);let i=()=>{window.removeEventListener("mousedown",r);if(e.parentNode)e.parentNode.removeChild(e)};let n=[];for(let e in t.fields)n.push(t.fields[e].render());let s=document.createElement("button");s.type="submit";s.className=qa+"-submit";s.textContent="OK";let l=document.createElement("button");l.type="button";l.className=qa+"-cancel";l.textContent="Cancel";l.addEventListener("click",i);let o=e.appendChild(document.createElement("form"));if(t.title)o.appendChild(document.createElement("h5")).textContent=t.title;n.forEach((t=>{o.appendChild(document.createElement("div")).appendChild(t)}));let u=o.appendChild(document.createElement("div"));u.className=qa+"-buttons";u.appendChild(s);u.appendChild(document.createTextNode(" "));u.appendChild(l);let f=e.getBoundingClientRect();e.style.top=(window.innerHeight-f.height)/2+"px";e.style.left=(window.innerWidth-f.width)/2+"px";let h=()=>{let e=Ta(t.fields,n);if(e){i();t.callback(e)}};o.addEventListener("submit",(t=>{t.preventDefault();h()}));o.addEventListener("keydown",(t=>{if(t.keyCode==27){t.preventDefault();i()}else if(t.keyCode==13&&!(t.ctrlKey||t.metaKey||t.shiftKey)){t.preventDefault();h()}else if(t.keyCode==9){window.setTimeout((()=>{if(!e.contains(document.activeElement))i()}),500)}}));let a=o.elements[0];if(a)a.focus()}function Ta(t,e){let r=Object.create(null),i=0;for(let n in t){let s=t[n],l=e[i++];let o=s.read(l),u=s.validate(o);if(u){Ia(l,u);return null}r[n]=s.clean(o)}return r}function Ia(t,e){let r=t.parentNode;let i=r.appendChild(document.createElement("div"));i.style.left=t.offsetLeft+t.offsetWidth+2+"px";i.style.top=t.offsetTop-5+"px";i.className="ProseMirror-invalid";i.textContent=e;setTimeout((()=>r.removeChild(i)),1500)}class Pa{constructor(t){this.options=t}read(t){return t.value}validateType(t){return null}validate(t){if(!t&&this.options.required)return"Required field";return this.validateType(t)||(this.options.validate?this.options.validate(t):null)}clean(t){return this.options.clean?this.options.clean(t):t}}class Ja extends Pa{render(){let t=document.createElement("input");t.type="text";t.placeholder=this.options.label;t.value=this.options.value||"";t.autocomplete="off";return t}}function La(t,e){let r=t.selection.$from;for(let t=r.depth;t>=0;t--){let i=r.index(t);if(r.node(t).canReplaceWith(i,i,e))return true}return false}function Wa(t){return new Vh({title:"Insert image",label:"Image",enable(e){return La(e,t)},run(e,r,i){let{from:n,to:s}=e.selection,l=null;if(e.selection instanceof tn&&e.selection.node.type==t)l=e.selection.node.attrs;za({title:"Insert image",fields:{src:new Ja({label:"Location",required:true,value:l&&l.src}),title:new Ja({label:"Title",value:l&&l.title}),alt:new Ja({label:"Description",value:l?l.alt:e.doc.textBetween(n,s," ")})},callback(e){i.dispatch(i.state.tr.replaceSelectionWith(t.createAndFill(e)));i.focus()}})}})}function Ua(t,e){let r={label:e.title,run:t};for(let t in e)r[t]=e[t];if(!e.enable&&!e.select)r[e.enable?"enable":"select"]=e=>t(e);return new Vh(r)}function Ha(t,e){let{from:r,$from:i,to:n,empty:s}=t.selection;if(s)return!!e.isInSet(t.storedMarks||i.marks());else return t.doc.rangeHasMark(r,n,e)}function Za(t,e){let r={active(e){return Ha(e,t)}};for(let t in e)r[t]=e[t];return Ua(Dh(t),r)}function Ka(t){return new Vh({title:"Add or remove link",icon:la.link,active(e){return Ha(e,t)},enable(t){return!t.selection.empty},run(e,r,i){if(Ha(e,t)){Dh(t)(e,r);return true}za({title:"Create a link",fields:{href:new Ja({label:"Link target",required:true}),title:new Ja({label:"Title"})},callback(e){Dh(t,e)(i.state,i.dispatch);i.focus()}})}})}function Va(t,e){return Ua(tf(t,e.attrs),e)}function Ga(t){let e={};let r;if(r=t.marks.strong)e.toggleStrong=Za(r,{title:"Toggle strong style",icon:la.strong});if(r=t.marks.em)e.toggleEm=Za(r,{title:"Toggle emphasis",icon:la.em});if(r=t.marks.code)e.toggleCode=Za(r,{title:"Toggle code font",icon:la.code});if(r=t.marks.link)e.toggleLink=Ka(r);let i;if(i=t.nodes.image)e.insertImage=Wa(i);if(i=t.nodes.bullet_list)e.wrapBulletList=Va(i,{title:"Wrap in bullet list",icon:la.bulletList});if(i=t.nodes.ordered_list)e.wrapOrderedList=Va(i,{title:"Wrap in ordered list",icon:la.orderedList});if(i=t.nodes.blockquote)e.wrapBlockQuote=ca(i,{title:"Wrap in block quote",icon:la.blockquote});if(i=t.nodes.paragraph)e.makeParagraph=da(i,{title:"Change to paragraph",label:"Plain"});if(i=t.nodes.code_block)e.makeCodeBlock=da(i,{title:"Change to code block",label:"Code"});if(i=t.nodes.heading)for(let t=1;t<=10;t++)e["makeHead"+t]=da(i,{title:"Change to heading "+t,label:"Level "+t,attrs:{level:t}});if(i=t.nodes.horizontal_rule){let t=i;e.insertHorizontalRule=new Vh({title:"Insert horizontal rule",label:"Horizontal rule",enable(e){return La(e,t)},run(e,r){r(e.tr.replaceSelectionWith(t.create()))}})}let n=t=>t.filter((t=>t));e.insertMenu=new ta(n([e.insertImage,e.insertHorizontalRule]),{label:"Insert"});e.typeMenu=new ta(n([e.makeParagraph,e.makeCodeBlock,e.makeHead1&&new ia(n([e.makeHead1,e.makeHead2,e.makeHead3,e.makeHead4,e.makeHead5,e.makeHead6]),{label:"Heading"})]),{label:"Type..."});e.inlineMenu=[n([e.toggleStrong,e.toggleEm,e.toggleCode,e.toggleLink])];e.blockMenu=[n([e.wrapBulletList,e.wrapOrderedList,e.wrapBlockQuote,oa,ua,fa])];e.fullMenu=e.inlineMenu.concat([[e.insertMenu,e.typeMenu]],[[ha,aa]],e.blockMenu);return e}const Xa=typeof navigator!="undefined"?/Mac|iP(hone|[oa]d)/.test(navigator.platform):false;function Ya(t,e){let r={},i;function n(t,i){if(e){let r=e[t];if(r===false)return;if(r)t=r}r[t]=i}n("Mod-z",Jf);n("Shift-Mod-z",Lf);n("Backspace",Aa);if(!Xa)n("Mod-y",Lf);n("Alt-ArrowUp",th);n("Alt-ArrowDown",eh);n("Mod-BracketLeft",rh);n("Escape",hh);if(i=t.marks.strong){n("Mod-b",Dh(i));n("Mod-B",Dh(i))}if(i=t.marks.em){n("Mod-i",Dh(i));n("Mod-I",Dh(i))}if(i=t.marks.code)n("Mod-`",Dh(i));if(i=t.nodes.bullet_list)n("Shift-Ctrl-8",tf(i));if(i=t.nodes.ordered_list)n("Shift-Ctrl-9",tf(i));if(i=t.nodes.blockquote)n("Ctrl->",gh(i));if(i=t.nodes.hard_break){let t=i,e=vh(sh,((e,r)=>{if(r)r(e.tr.replaceSelectionWith(t.create()).scrollIntoView());return true}));n("Mod-Enter",e);n("Shift-Enter",e);if(Xa)n("Ctrl-Enter",e)}if(i=t.nodes.list_item){n("Enter",rf(i));n("Mod-[",nf(i));n("Mod-]",of(i))}if(i=t.nodes.paragraph)n("Shift-Ctrl-0",bh(i));if(i=t.nodes.code_block)n("Shift-Ctrl-\\",bh(i));if(i=t.nodes.heading)for(let t=1;t<=6;t++)n("Shift-Ctrl-"+t,bh(i,{level:t}));if(i=t.nodes.horizontal_rule){let t=i;n("Mod-_",((e,r)=>{if(r)r(e.tr.replaceSelectionWith(t.create()).scrollIntoView());return true}))}return r}function Qa(t){return ja(/^\s*>\s$/,t)}function tc(t){return ja(/^(\d+)\.\s$/,t,(t=>({order:+t[1]})),((t,e)=>e.childCount+e.attrs.order==+t[1]))}function ec(t){return ja(/^\s*([-+*])\s$/,t)}function rc(t){return Na(/^```$/,t)}function ic(t,e){return Na(new RegExp("^(#{1,"+e+"})\\s$"),t,(t=>({level:t[1].length})))}function nc(t){let e=Ra.concat(Sa,Ca),r;if(r=t.nodes.blockquote)e.push(Qa(r));if(r=t.nodes.ordered_list)e.push(tc(r));if(r=t.nodes.bullet_list)e.push(ec(r));if(r=t.nodes.code_block)e.push(rc(r));if(r=t.nodes.heading)e.push(ic(r,6));return Ma({rules:e})}function sc(t){let e=[nc(t.schema),kf(Ya(t.schema,t.mapKeys)),kf(Ah),Ch(),Rh()];if(t.menuBar!==false)e.push(ga({floating:t.floatingMenu!==false,content:t.menuContent||Ga(t.schema).fullMenu}));if(t.history!==false)e.push(Pf());return e.concat(new gn({props:{attributes:{class:"ProseMirror-example-setup-style"}}}))}const lc={Bold:"strong",Italic:"em",Blockquote:"blockquote",HeaderLevel1:"headerlevel1",HeaderLevel2:"headerlevel2",HeaderLevel3:"headerlevel3",Link:"link",OrderedList:"ordered_list",BulletList:"bullet_list",Strikethrough:"strikethrough",Code:"code",CodeBlock:"code_block"};const oc=Object.values(lc);const uc={Heading:"heading",one:1,two:2,three:3};const fc={Left:0,Middle:1,Right:2};const hc=(t,e)=>{t.active=t=>{const{from:r,$from:i,to:n,empty:s}=t.selection;if(s){return!!e.isInSet(t.storedMarks||i.marks())}else{return t.doc.rangeHasMark(r,n,e)}}};const ac=(t,e,r)=>{t.active=t=>{const{$from:i}=t.selection;const n=i.node(i.depth);if(n&&n.type.name===e.name){if(e.name===uc.Heading&&r){return n.attrs.level===r}return true}return false}};const cc=(t,e)=>{t.active=t=>{const{from:r,to:i}=t.selection;for(let n=r;n<=i;n++){const r=t.doc.resolve(n);for(let t=r.depth;t>0;t--){const i=r.node(t);if(i&&i.type.name===e.name){return true}}}return false}};const dc=(t,e,r)=>{const i=(e,i)=>{const{from:n,to:s}=e.selection;if(n===s){const s=t.marks.link.create({href:r.href,title:r.href,target:wc(r.href)?"_blank":null});const l=r.text||r.href;const o=t.text(l,[s]);i(e.tr.insert(n,o))}else{const l=t.marks.link.create({href:r.href,title:r.href,target:wc(r.href)?"_blank":null});const o=e.doc.textBetween(n,s," ");const u=t.text(r.text||o,[l]);i(e.tr.replaceWith(n,s,u))}return true};hc(i,t.marks.link);return i};const pc=(t,e,r)=>{const i=t.marks[e];if(!i){throw new Error(`Mark "${e}" not found in schema`)}const n=mc(e,r);const s=Dh(i,n);hc(s,i);return s};const mc=(t,e)=>{if(t===lc.Link&&e.href){return{href:e.href,target:wc(e.href)?"_blank":null}}return undefined};const wc=t=>!t.startsWith(window.location.origin);const gc=(t,e,r={},i=false)=>{const n=t.nodes[e];const s=t.nodes.paragraph;return(t,e)=>{const{$from:l,$to:o}=t.selection;const u=l.node(l.depth-1).type===n;if(t.selection instanceof Yi&&l.sameParent(l.doc.resolve(o.pos))){if(l.parent.type===n){if(e){e(t.tr.setBlockType(l.pos,o.pos,s))}return true}else{if(u){return rh(t,e)}if(i){return gh(n,r)(t,e)}else{return bh(n,r)(t,e)}}}return false}};const bc=t=>{try{new URL(t)}catch(t){return false}return true};const kc=(t,e,r)=>{const i=t.nodes[e];if(!i){throw new Error(`Node type "${e}" not found in schema`)}let n;if(e===uc.Heading&&r){n=gc(t,uc.Heading,{level:r})}else if(e===lc.CodeBlock){n=gc(t,lc.CodeBlock)}else{n=bh(i)}ac(n,i,r);return n};const Dc=(t,e)=>{const r=t.nodes[e];if(!r){throw new Error(`Node type "${e}" not found in schema`)}let i;if(e===lc.Blockquote){i=gc(t,lc.Blockquote,{},true)}else{i=gh(r)}cc(i,r);return i};const vc=t=>(e,r)=>{const{$from:i,$to:n}=e.selection;const s=i.blockRange(n);if(!s){return false}const l=s&&ci(s,t);if(l){if(r){r(e.tr.wrap(s,l).scrollIntoView())}return true}else{const t=s&&hi(s);if(t!==null){if(r){r(e.tr.lift(s,t).scrollIntoView())}return true}return false}};const yc=(t,e)=>{const r=t.nodes[e];if(!r){throw new Error(`List type "${e}" not found in schema`)}const i=vc(r);cc(i,r);return i};const Fc=(t,e)=>{const{from:r,to:i}=t.selection;if(r===i){return false}const n=window.clipboardData;if(!n){return false}const s=n.getData("text");if(!bc(s)){return false}const l=t.schema.marks.link.create({href:s,target:wc(s)?"_blank":null});const o=t.doc.textBetween(r,i," ");const u=t.schema.text(o,[l]);e(t.tr.replaceWith(r,i,u))};const Ec={strong:pc,em:pc,underline:pc,strikethrough:pc,code:pc,link:dc,headerlevel1:t=>kc(t,uc.Heading,uc.one),headerlevel2:t=>kc(t,uc.Heading,uc.two),headerlevel3:t=>kc(t,uc.Heading,uc.three),blockquote:t=>Dc(t,lc.Blockquote),code_block:t=>kc(t,lc.CodeBlock),ordered_list:t=>yc(t,lc.OrderedList),bullet_list:t=>yc(t,lc.BulletList)};class Mc{constructor(t){this.schema=t}getCommand(t,e){const r=Ec[t];if(!r){throw new Error(`The Mark "${t}" is not supported`)}return r(this.schema,t,e)}buildKeymap(){return{"Mod-B":this.getCommand(lc.Bold),"Mod-I":this.getCommand(lc.Italic),"Mod-Shift-1":this.getCommand(lc.HeaderLevel1),"Mod-Shift-2":this.getCommand(lc.HeaderLevel2),"Mod-Shift-3":this.getCommand(lc.HeaderLevel3),"Mod-Shift-X":this.getCommand(lc.Strikethrough),"Mod-`":this.getCommand(lc.Code),"Mod-Shift-C":this.getCommand(lc.CodeBlock),"Mod-v":Fc}}}const xc=()=>{const t=/Macintosh|MacIntel|MacPPC|Mac68K/;if(navigator.userAgent.match(t)){return{mod:"⌘",option:"⌥",shift:"⇧"}}return{mod:"Ctrl",option:"Alt",shift:"Shift"}};const{mod:Ac,shift:Cc}=xc();const Sc=[{value:lc.Bold,text:"Bold",commandText:`${Ac} B`,icon:"-lime-text-bold",iconOnly:true,selected:false},{value:lc.Italic,text:"Italic",commandText:`${Ac} I`,icon:"-lime-text-italic",iconOnly:true,selected:false},{value:lc.Strikethrough,text:"Strikethrough",commandText:`${Ac} ${Cc} X`,icon:"-lime-text-strikethrough",iconOnly:true,selected:false},{value:lc.Link,text:"Link",icon:"-lime-text-link",iconOnly:true},{separator:true},{value:lc.BulletList,text:"Bullet list",icon:"-lime-text-bulleted-list",iconOnly:true,selected:false},{value:lc.OrderedList,text:"Numbered list",icon:"-lime-text-ordered-list",iconOnly:true,selected:false},{separator:true},{value:lc.HeaderLevel1,text:"Header 1",commandText:`${Ac} ${Cc} 1`,icon:"-lime-text-h-heading-1",iconOnly:true,selected:false},{value:lc.HeaderLevel2,text:"Header 2",commandText:`${Ac} ${Cc} 2`,icon:"-lime-text-h-heading-2",iconOnly:true,selected:false},{value:lc.HeaderLevel3,text:"Header 3",commandText:`${Ac} ${Cc} 3`,icon:"-lime-text-h-heading-3",iconOnly:true,selected:false},{separator:true},{value:lc.Blockquote,text:"Blockquote",icon:"-lime-text-blockquote",iconOnly:true,selected:false},{separator:true},{value:lc.Code,text:"Code",commandText:`${Ac} \``,icon:"-lime-text-code",iconOnly:true,selected:false},{value:lc.CodeBlock,text:"Code Block",commandText:`${Ac} ${Cc} C`,icon:"-lime-text-code-block",iconOnly:true,selected:false}];const Oc=()=>ce(Sc);const $c={strong:"editor-menu.bold",em:"editor-menu.italic",headerlevel1:"editor-menu.h1",headerlevel2:"editor-menu.h2",headerlevel3:"editor-menu.h3",bullet_list:"editor-menu.bulleted-list",ordered_list:"editor-menu.numbered-list",code_block:"editor-menu.code-block",blockquote:"editor-menu.blockquote",link:"editor-menu.link",strikethrough:"editor-menu.strikethrough",code:"editor-menu.code"};const _c={};function Bc(t){let e=_c[t];if(e){return e}e=_c[t]=[];for(let t=0;t<128;t++){const r=String.fromCharCode(t);e.push(r)}for(let r=0;r<t.length;r++){const i=t.charCodeAt(r);e[i]="%"+("0"+i.toString(16).toUpperCase()).slice(-2)}return e}function Rc(t,e){if(typeof e!=="string"){e=Rc.defaultChars}const r=Bc(e);return t.replace(/(%[a-f0-9]{2})+/gi,(function(t){let e="";for(let i=0,n=t.length;i<n;i+=3){const s=parseInt(t.slice(i+1,i+3),16);if(s<128){e+=r[s];continue}if((s&224)===192&&i+3<n){const r=parseInt(t.slice(i+4,i+6),16);if((r&192)===128){const t=s<<6&1984|r&63;if(t<128){e+="��"}else{e+=String.fromCharCode(t)}i+=3;continue}}if((s&240)===224&&i+6<n){const r=parseInt(t.slice(i+4,i+6),16);const n=parseInt(t.slice(i+7,i+9),16);if((r&192)===128&&(n&192)===128){const t=s<<12&61440|r<<6&4032|n&63;if(t<2048||t>=55296&&t<=57343){e+="���"}else{e+=String.fromCharCode(t)}i+=6;continue}}if((s&248)===240&&i+9<n){const r=parseInt(t.slice(i+4,i+6),16);const n=parseInt(t.slice(i+7,i+9),16);const l=parseInt(t.slice(i+10,i+12),16);if((r&192)===128&&(n&192)===128&&(l&192)===128){let t=s<<18&1835008|r<<12&258048|n<<6&4032|l&63;if(t<65536||t>1114111){e+="����"}else{t-=65536;e+=String.fromCharCode(55296+(t>>10),56320+(t&1023))}i+=9;continue}}e+="�"}return e}))}Rc.defaultChars=";/?:@&=+$,#";Rc.componentChars="";const jc={};function Nc(t){let e=jc[t];if(e){return e}e=jc[t]=[];for(let t=0;t<128;t++){const r=String.fromCharCode(t);if(/^[0-9a-z]$/i.test(r)){e.push(r)}else{e.push("%"+("0"+t.toString(16).toUpperCase()).slice(-2))}}for(let r=0;r<t.length;r++){e[t.charCodeAt(r)]=t[r]}return e}function qc(t,e,r){if(typeof e!=="string"){r=e;e=qc.defaultChars}if(typeof r==="undefined"){r=true}const i=Nc(e);let n="";for(let e=0,s=t.length;e<s;e++){const l=t.charCodeAt(e);if(r&&l===37&&e+2<s){if(/^[0-9a-f]{2}$/i.test(t.slice(e+1,e+3))){n+=t.slice(e,e+3);e+=2;continue}}if(l<128){n+=i[l];continue}if(l>=55296&&l<=57343){if(l>=55296&&l<=56319&&e+1<s){const r=t.charCodeAt(e+1);if(r>=56320&&r<=57343){n+=encodeURIComponent(t[e]+t[e+1]);e++;continue}}n+="%EF%BF%BD";continue}n+=encodeURIComponent(t[e])}return n}qc.defaultChars=";/?:@&=+$,-_.!~*'()#";qc.componentChars="-_.!~*'()";function zc(t){let e="";e+=t.protocol||"";e+=t.slashes?"//":"";e+=t.auth?t.auth+"@":"";if(t.hostname&&t.hostname.indexOf(":")!==-1){e+="["+t.hostname+"]"}else{e+=t.hostname||""}e+=t.port?":"+t.port:"";e+=t.pathname||"";e+=t.search||"";e+=t.hash||"";return e}function Tc(){this.protocol=null;this.slashes=null;this.auth=null;this.port=null;this.hostname=null;this.hash=null;this.search=null;this.pathname=null}const Ic=/^([a-z0-9.+-]+:)/i;const Pc=/:[0-9]*$/;const Jc=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/;const Lc=["<",">",'"',"`"," ","\r","\n","\t"];const Wc=["{","}","|","\\","^","`"].concat(Lc);const Uc=["'"].concat(Wc);const Hc=["%","/","?",";","#"].concat(Uc);const Zc=["/","?","#"];const Kc=255;const Vc=/^[+a-z0-9A-Z_-]{0,63}$/;const Gc=/^([+a-z0-9A-Z_-]{0,63})(.*)$/;const Xc={javascript:true,"javascript:":true};const Yc={http:true,https:true,ftp:true,gopher:true,file:true,"http:":true,"https:":true,"ftp:":true,"gopher:":true,"file:":true};function Qc(t,e){if(t&&t instanceof Tc)return t;const r=new Tc;r.parse(t,e);return r}Tc.prototype.parse=function(t,e){let r,i,n;let s=t;s=s.trim();if(!e&&t.split("#").length===1){const t=Jc.exec(s);if(t){this.pathname=t[1];if(t[2]){this.search=t[2]}return this}}let l=Ic.exec(s);if(l){l=l[0];r=l.toLowerCase();this.protocol=l;s=s.substr(l.length)}if(e||l||s.match(/^\/\/[^@\/]+@[^@\/]+/)){n=s.substr(0,2)==="//";if(n&&!(l&&Xc[l])){s=s.substr(2);this.slashes=true}}if(!Xc[l]&&(n||l&&!Yc[l])){let t=-1;for(let e=0;e<Zc.length;e++){i=s.indexOf(Zc[e]);if(i!==-1&&(t===-1||i<t)){t=i}}let e,r;if(t===-1){r=s.lastIndexOf("@")}else{r=s.lastIndexOf("@",t)}if(r!==-1){e=s.slice(0,r);s=s.slice(r+1);this.auth=e}t=-1;for(let e=0;e<Hc.length;e++){i=s.indexOf(Hc[e]);if(i!==-1&&(t===-1||i<t)){t=i}}if(t===-1){t=s.length}if(s[t-1]===":"){t--}const n=s.slice(0,t);s=s.slice(t);this.parseHost(n);this.hostname=this.hostname||"";const l=this.hostname[0]==="["&&this.hostname[this.hostname.length-1]==="]";if(!l){const t=this.hostname.split(/\./);for(let e=0,r=t.length;e<r;e++){const r=t[e];if(!r){continue}if(!r.match(Vc)){let i="";for(let t=0,e=r.length;t<e;t++){if(r.charCodeAt(t)>127){i+="x"}else{i+=r[t]}}if(!i.match(Vc)){const i=t.slice(0,e);const n=t.slice(e+1);const l=r.match(Gc);if(l){i.push(l[1]);n.unshift(l[2])}if(n.length){s=n.join(".")+s}this.hostname=i.join(".");break}}}}if(this.hostname.length>Kc){this.hostname=""}if(l){this.hostname=this.hostname.substr(1,this.hostname.length-2)}}const o=s.indexOf("#");if(o!==-1){this.hash=s.substr(o);s=s.slice(0,o)}const u=s.indexOf("?");if(u!==-1){this.search=s.substr(u);s=s.slice(0,u)}if(s){this.pathname=s}if(Yc[r]&&this.hostname&&!this.pathname){this.pathname=""}return this};Tc.prototype.parseHost=function(t){let e=Pc.exec(t);if(e){e=e[0];if(e!==":"){this.port=e.substr(1)}t=t.substr(0,t.length-e.length)}if(t){this.hostname=t}};const td=Object.freeze({__proto__:null,decode:Rc,encode:qc,format:zc,parse:Qc});const ed=/[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/;const rd=/[\0-\x1F\x7F-\x9F]/;const id=/[\xAD\u0600-\u0605\u061C\u06DD\u070F\u0890\u0891\u08E2\u180E\u200B-\u200F\u202A-\u202E\u2060-\u2064\u2066-\u206F\uFEFF\uFFF9-\uFFFB]|\uD804[\uDCBD\uDCCD]|\uD80D[\uDC30-\uDC3F]|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|\uDB40[\uDC01\uDC20-\uDC7F]/;const nd=/[!-#%-\*,-\/:;\?@\[-\]_\{\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061D-\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1B7D\u1B7E\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52-\u2E5D\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDEAD\uDF55-\uDF59\uDF86-\uDF89]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5A\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDEB9\uDF3C-\uDF3E]|\uD806[\uDC3B\uDD44-\uDD46\uDDE2\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2\uDF00-\uDF09]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8\uDF43-\uDF4F\uDFFF]|\uD809[\uDC70-\uDC74]|\uD80B[\uDFF1\uDFF2]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A\uDFE2]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]/;const sd=/[\$\+<->\^`\|~\xA2-\xA6\xA8\xA9\xAC\xAE-\xB1\xB4\xB8\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0384\u0385\u03F6\u0482\u058D-\u058F\u0606-\u0608\u060B\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u07FE\u07FF\u0888\u09F2\u09F3\u09FA\u09FB\u0AF1\u0B70\u0BF3-\u0BFA\u0C7F\u0D4F\u0D79\u0E3F\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u166D\u17DB\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u1FBD\u1FBF-\u1FC1\u1FCD-\u1FCF\u1FDD-\u1FDF\u1FED-\u1FEF\u1FFD\u1FFE\u2044\u2052\u207A-\u207C\u208A-\u208C\u20A0-\u20C0\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F\u218A\u218B\u2190-\u2307\u230C-\u2328\u232B-\u2426\u2440-\u244A\u249C-\u24E9\u2500-\u2767\u2794-\u27C4\u27C7-\u27E5\u27F0-\u2982\u2999-\u29D7\u29DC-\u29FB\u29FE-\u2B73\u2B76-\u2B95\u2B97-\u2BFF\u2CE5-\u2CEA\u2E50\u2E51\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFF\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u309B\u309C\u3190\u3191\u3196-\u319F\u31C0-\u31E3\u31EF\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA700-\uA716\uA720\uA721\uA789\uA78A\uA828-\uA82B\uA836-\uA839\uAA77-\uAA79\uAB5B\uAB6A\uAB6B\uFB29\uFBB2-\uFBC2\uFD40-\uFD4F\uFDCF\uFDFC-\uFDFF\uFE62\uFE64-\uFE66\uFE69\uFF04\uFF0B\uFF1C-\uFF1E\uFF3E\uFF40\uFF5C\uFF5E\uFFE0-\uFFE6\uFFE8-\uFFEE\uFFFC\uFFFD]|\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9C\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|\uD805\uDF3F|\uD807[\uDFD5-\uDFF1]|\uD81A[\uDF3C-\uDF3F\uDF45]|\uD82F\uDC9C|\uD833[\uDF50-\uDFC3]|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDEA\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|\uD838[\uDD4F\uDEFF]|\uD83B[\uDCAC\uDCB0\uDD2E\uDEF0\uDEF1]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD0D-\uDDAD\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFF]|\uD83D[\uDC00-\uDED7\uDEDC-\uDEEC\uDEF0-\uDEFC\uDF00-\uDF76\uDF7B-\uDFD9\uDFE0-\uDFEB\uDFF0]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0\uDCB1\uDD00-\uDE53\uDE60-\uDE6D\uDE70-\uDE7C\uDE80-\uDE88\uDE90-\uDEBD\uDEBF-\uDEC5\uDECE-\uDEDB\uDEE0-\uDEE8\uDEF0-\uDEF8\uDF00-\uDF92\uDF94-\uDFCA]/;const ld=/[ \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/;const od=Object.freeze({__proto__:null,Any:ed,Cc:rd,Cf:id,P:nd,S:sd,Z:ld});function ud(t){return Object.prototype.toString.call(t)}function fd(t){return ud(t)==="[object String]"}const hd=Object.prototype.hasOwnProperty;function ad(t,e){return hd.call(t,e)}function cd(t){const e=Array.prototype.slice.call(arguments,1);e.forEach((function(e){if(!e){return}if(typeof e!=="object"){throw new TypeError(e+"must be object")}Object.keys(e).forEach((function(r){t[r]=e[r]}))}));return t}function dd(t,e,r){return[].concat(t.slice(0,e),r,t.slice(e+1))}function pd(t){if(t>=55296&&t<=57343){return false}if(t>=64976&&t<=65007){return false}if((t&65535)===65535||(t&65535)===65534){return false}if(t>=0&&t<=8){return false}if(t===11){return false}if(t>=14&&t<=31){return false}if(t>=127&&t<=159){return false}if(t>1114111){return false}return true}function md(t){if(t>65535){t-=65536;const e=55296+(t>>10);const r=56320+(t&1023);return String.fromCharCode(e,r)}return String.fromCharCode(t)}const wd=/\\([!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~])/g;const gd=/&([a-z#][a-z0-9]{1,31});/gi;const bd=new RegExp(wd.source+"|"+gd.source,"gi");const kd=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))$/i;function Dd(t,e){if(e.charCodeAt(0)===35&&kd.test(e)){const r=e[1].toLowerCase()==="x"?parseInt(e.slice(2),16):parseInt(e.slice(1),10);if(pd(r)){return md(r)}return t}const r=M(t);if(r!==t){return r}return t}function vd(t){if(t.indexOf("\\")<0){return t}return t.replace(wd,"$1")}function yd(t){if(t.indexOf("\\")<0&&t.indexOf("&")<0){return t}return t.replace(bd,(function(t,e,r){if(e){return e}return Dd(t,r)}))}const Fd=/[&<>"]/;const Ed=/[&<>"]/g;const Md={"&":"&","<":"<",">":">",'"':"""};function xd(t){return Md[t]}function Ad(t){if(Fd.test(t)){return t.replace(Ed,xd)}return t}const Cd=/[.?*+^$[\]\\(){}|-]/g;function Sd(t){return t.replace(Cd,"\\$&")}function Od(t){switch(t){case 9:case 32:return true}return false}function $d(t){if(t>=8192&&t<=8202){return true}switch(t){case 9:case 10:case 11:case 12:case 13:case 32:case 160:case 5760:case 8239:case 8287:case 12288:return true}return false}function _d(t){return nd.test(t)||sd.test(t)}function Bd(t){switch(t){case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 124:case 125:case 126:return true;default:return false}}function Rd(t){t=t.trim().replace(/\s+/g," ");if("ẞ".toLowerCase()==="Ṿ"){t=t.replace(/ẞ/g,"ß")}return t.toLowerCase().toUpperCase()}const jd={mdurl:td,ucmicro:od};const Nd=Object.freeze({__proto__:null,lib:jd,assign:cd,isString:fd,has:ad,unescapeMd:vd,unescapeAll:yd,isValidEntityCode:pd,fromCodePoint:md,escapeHtml:Ad,arrayReplaceAt:dd,isSpace:Od,isWhiteSpace:$d,isMdAsciiPunct:Bd,isPunctChar:_d,escapeRE:Sd,normalizeReference:Rd});function qd(t,e,r){let i,n,s,l;const o=t.posMax;const u=t.pos;t.pos=e+1;i=1;while(t.pos<o){s=t.src.charCodeAt(t.pos);if(s===93){i--;if(i===0){n=true;break}}l=t.pos;t.md.inline.skipToken(t);if(s===91){if(l===t.pos-1){i++}else if(r){t.pos=u;return-1}}}let f=-1;if(n){f=t.pos}t.pos=u;return f}function zd(t,e,r){let i;let n=e;const s={ok:false,pos:0,str:""};if(t.charCodeAt(n)===60){n++;while(n<r){i=t.charCodeAt(n);if(i===10){return s}if(i===60){return s}if(i===62){s.pos=n+1;s.str=yd(t.slice(e+1,n));s.ok=true;return s}if(i===92&&n+1<r){n+=2;continue}n++}return s}let l=0;while(n<r){i=t.charCodeAt(n);if(i===32){break}if(i<32||i===127){break}if(i===92&&n+1<r){if(t.charCodeAt(n+1)===32){break}n+=2;continue}if(i===40){l++;if(l>32){return s}}if(i===41){if(l===0){break}l--}n++}if(e===n){return s}if(l!==0){return s}s.str=yd(t.slice(e,n));s.pos=n;s.ok=true;return s}function Td(t,e,r,i){let n;let s=e;const l={ok:false,can_continue:false,pos:0,str:"",marker:0};if(i){l.str=i.str;l.marker=i.marker}else{if(s>=r){return l}let i=t.charCodeAt(s);if(i!==34&&i!==39&&i!==40){return l}e++;s++;if(i===40){i=41}l.marker=i}while(s<r){n=t.charCodeAt(s);if(n===l.marker){l.pos=s+1;l.str+=yd(t.slice(e,s));l.ok=true;return l}else if(n===40&&l.marker===41){return l}else if(n===92&&s+1<r){s++}s++}l.can_continue=true;l.str+=yd(t.slice(e,s));return l}const Id=Object.freeze({__proto__:null,parseLinkLabel:qd,parseLinkDestination:zd,parseLinkTitle:Td});const Pd={};Pd.code_inline=function(t,e,r,i,n){const s=t[e];return"<code"+n.renderAttrs(s)+">"+Ad(s.content)+"</code>"};Pd.code_block=function(t,e,r,i,n){const s=t[e];return"<pre"+n.renderAttrs(s)+"><code>"+Ad(t[e].content)+"</code></pre>\n"};Pd.fence=function(t,e,r,i,n){const s=t[e];const l=s.info?yd(s.info).trim():"";let o="";let u="";if(l){const t=l.split(/(\s+)/g);o=t[0];u=t.slice(2).join("")}let f;if(r.highlight){f=r.highlight(s.content,o,u)||Ad(s.content)}else{f=Ad(s.content)}if(f.indexOf("<pre")===0){return f+"\n"}if(l){const t=s.attrIndex("class");const e=s.attrs?s.attrs.slice():[];if(t<0){e.push(["class",r.langPrefix+o])}else{e[t]=e[t].slice();e[t][1]+=" "+r.langPrefix+o}const i={attrs:e};return`<pre><code${n.renderAttrs(i)}>${f}</code></pre>\n`}return`<pre><code${n.renderAttrs(s)}>${f}</code></pre>\n`};Pd.image=function(t,e,r,i,n){const s=t[e];s.attrs[s.attrIndex("alt")][1]=n.renderInlineAsText(s.children,r,i);return n.renderToken(t,e,r)};Pd.hardbreak=function(t,e,r){return r.xhtmlOut?"<br />\n":"<br>\n"};Pd.softbreak=function(t,e,r){return r.breaks?r.xhtmlOut?"<br />\n":"<br>\n":"\n"};Pd.text=function(t,e){return Ad(t[e].content)};Pd.html_block=function(t,e){return t[e].content};Pd.html_inline=function(t,e){return t[e].content};function Jd(){this.rules=cd({},Pd)}Jd.prototype.renderAttrs=function t(e){let r,i,n;if(!e.attrs){return""}n="";for(r=0,i=e.attrs.length;r<i;r++){n+=" "+Ad(e.attrs[r][0])+'="'+Ad(e.attrs[r][1])+'"'}return n};Jd.prototype.renderToken=function t(e,r,i){const n=e[r];let s="";if(n.hidden){return""}if(n.block&&n.nesting!==-1&&r&&e[r-1].hidden){s+="\n"}s+=(n.nesting===-1?"</":"<")+n.tag;s+=this.renderAttrs(n);if(n.nesting===0&&i.xhtmlOut){s+=" /"}let l=false;if(n.block){l=true;if(n.nesting===1){if(r+1<e.length){const t=e[r+1];if(t.type==="inline"||t.hidden){l=false}else if(t.nesting===-1&&t.tag===n.tag){l=false}}}}s+=l?">\n":">";return s};Jd.prototype.renderInline=function(t,e,r){let i="";const n=this.rules;for(let s=0,l=t.length;s<l;s++){const l=t[s].type;if(typeof n[l]!=="undefined"){i+=n[l](t,s,e,r,this)}else{i+=this.renderToken(t,s,e)}}return i};Jd.prototype.renderInlineAsText=function(t,e,r){let i="";for(let n=0,s=t.length;n<s;n++){switch(t[n].type){case"text":i+=t[n].content;break;case"image":i+=this.renderInlineAsText(t[n].children,e,r);break;case"html_inline":case"html_block":i+=t[n].content;break;case"softbreak":case"hardbreak":i+="\n";break}}return i};Jd.prototype.render=function(t,e,r){let i="";const n=this.rules;for(let s=0,l=t.length;s<l;s++){const l=t[s].type;if(l==="inline"){i+=this.renderInline(t[s].children,e,r)}else if(typeof n[l]!=="undefined"){i+=n[l](t,s,e,r,this)}else{i+=this.renderToken(t,s,e,r)}}return i};function Ld(){this.__rules__=[];this.__cache__=null}Ld.prototype.__find__=function(t){for(let e=0;e<this.__rules__.length;e++){if(this.__rules__[e].name===t){return e}}return-1};Ld.prototype.__compile__=function(){const t=this;const e=[""];t.__rules__.forEach((function(t){if(!t.enabled){return}t.alt.forEach((function(t){if(e.indexOf(t)<0){e.push(t)}}))}));t.__cache__={};e.forEach((function(e){t.__cache__[e]=[];t.__rules__.forEach((function(r){if(!r.enabled){return}if(e&&r.alt.indexOf(e)<0){return}t.__cache__[e].push(r.fn)}))}))};Ld.prototype.at=function(t,e,r){const i=this.__find__(t);const n=r||{};if(i===-1){throw new Error("Parser rule not found: "+t)}this.__rules__[i].fn=e;this.__rules__[i].alt=n.alt||[];this.__cache__=null};Ld.prototype.before=function(t,e,r,i){const n=this.__find__(t);const s=i||{};if(n===-1){throw new Error("Parser rule not found: "+t)}this.__rules__.splice(n,0,{name:e,enabled:true,fn:r,alt:s.alt||[]});this.__cache__=null};Ld.prototype.after=function(t,e,r,i){const n=this.__find__(t);const s=i||{};if(n===-1){throw new Error("Parser rule not found: "+t)}this.__rules__.splice(n+1,0,{name:e,enabled:true,fn:r,alt:s.alt||[]});this.__cache__=null};Ld.prototype.push=function(t,e,r){const i=r||{};this.__rules__.push({name:t,enabled:true,fn:e,alt:i.alt||[]});this.__cache__=null};Ld.prototype.enable=function(t,e){if(!Array.isArray(t)){t=[t]}const r=[];t.forEach((function(t){const i=this.__find__(t);if(i<0){if(e){return}throw new Error("Rules manager: invalid rule name "+t)}this.__rules__[i].enabled=true;r.push(t)}),this);this.__cache__=null;return r};Ld.prototype.enableOnly=function(t,e){if(!Array.isArray(t)){t=[t]}this.__rules__.forEach((function(t){t.enabled=false}));this.enable(t,e)};Ld.prototype.disable=function(t,e){if(!Array.isArray(t)){t=[t]}const r=[];t.forEach((function(t){const i=this.__find__(t);if(i<0){if(e){return}throw new Error("Rules manager: invalid rule name "+t)}this.__rules__[i].enabled=false;r.push(t)}),this);this.__cache__=null;return r};Ld.prototype.getRules=function(t){if(this.__cache__===null){this.__compile__()}return this.__cache__[t]||[]};function Wd(t,e,r){this.type=t;this.tag=e;this.attrs=null;this.map=null;this.nesting=r;this.level=0;this.children=null;this.content="";this.markup="";this.info="";this.meta=null;this.block=false;this.hidden=false}Wd.prototype.attrIndex=function t(e){if(!this.attrs){return-1}const r=this.attrs;for(let t=0,i=r.length;t<i;t++){if(r[t][0]===e){return t}}return-1};Wd.prototype.attrPush=function t(e){if(this.attrs){this.attrs.push(e)}else{this.attrs=[e]}};Wd.prototype.attrSet=function t(e,r){const i=this.attrIndex(e);const n=[e,r];if(i<0){this.attrPush(n)}else{this.attrs[i]=n}};Wd.prototype.attrGet=function t(e){const r=this.attrIndex(e);let i=null;if(r>=0){i=this.attrs[r][1]}return i};Wd.prototype.attrJoin=function t(e,r){const i=this.attrIndex(e);if(i<0){this.attrPush([e,r])}else{this.attrs[i][1]=this.attrs[i][1]+" "+r}};function Ud(t,e,r){this.src=t;this.env=r;this.tokens=[];this.inlineMode=false;this.md=e}Ud.prototype.Token=Wd;const Hd=/\r\n?|\n/g;const Zd=/\0/g;function Kd(t){let e;e=t.src.replace(Hd,"\n");e=e.replace(Zd,"�");t.src=e}function Vd(t){let e;if(t.inlineMode){e=new t.Token("inline","",0);e.content=t.src;e.map=[0,1];e.children=[];t.tokens.push(e)}else{t.md.block.parse(t.src,t.md,t.env,t.tokens)}}function Gd(t){const e=t.tokens;for(let r=0,i=e.length;r<i;r++){const i=e[r];if(i.type==="inline"){t.md.inline.parse(i.content,t.md,t.env,i.children)}}}function Xd(t){return/^<a[>\s]/i.test(t)}function Yd(t){return/^<\/a\s*>/i.test(t)}function Qd(t){const e=t.tokens;if(!t.md.options.linkify){return}for(let r=0,i=e.length;r<i;r++){if(e[r].type!=="inline"||!t.md.linkify.pretest(e[r].content)){continue}let i=e[r].children;let n=0;for(let s=i.length-1;s>=0;s--){const l=i[s];if(l.type==="link_close"){s--;while(i[s].level!==l.level&&i[s].type!=="link_open"){s--}continue}if(l.type==="html_inline"){if(Xd(l.content)&&n>0){n--}if(Yd(l.content)){n++}}if(n>0){continue}if(l.type==="text"&&t.md.linkify.test(l.content)){const n=l.content;let o=t.md.linkify.match(n);const u=[];let f=l.level;let h=0;if(o.length>0&&o[0].index===0&&s>0&&i[s-1].type==="text_special"){o=o.slice(1)}for(let e=0;e<o.length;e++){const r=o[e].url;const i=t.md.normalizeLink(r);if(!t.md.validateLink(i)){continue}let s=o[e].text;if(!o[e].schema){s=t.md.normalizeLinkText("http://"+s).replace(/^http:\/\//,"")}else if(o[e].schema==="mailto:"&&!/^mailto:/i.test(s)){s=t.md.normalizeLinkText("mailto:"+s).replace(/^mailto:/,"")}else{s=t.md.normalizeLinkText(s)}const l=o[e].index;if(l>h){const e=new t.Token("text","",0);e.content=n.slice(h,l);e.level=f;u.push(e)}const a=new t.Token("link_open","a",1);a.attrs=[["href",i]];a.level=f++;a.markup="linkify";a.info="auto";u.push(a);const c=new t.Token("text","",0);c.content=s;c.level=f;u.push(c);const d=new t.Token("link_close","a",-1);d.level=--f;d.markup="linkify";d.info="auto";u.push(d);h=o[e].lastIndex}if(h<n.length){const e=new t.Token("text","",0);e.content=n.slice(h);e.level=f;u.push(e)}e[r].children=i=dd(i,s,u)}}}}const tp=/\+-|\.\.|\?\?\?\?|!!!!|,,|--/;const ep=/\((c|tm|r)\)/i;const rp=/\((c|tm|r)\)/gi;const ip={c:"©",r:"®",tm:"™"};function np(t,e){return ip[e.toLowerCase()]}function sp(t){let e=0;for(let r=t.length-1;r>=0;r--){const i=t[r];if(i.type==="text"&&!e){i.content=i.content.replace(rp,np)}if(i.type==="link_open"&&i.info==="auto"){e--}if(i.type==="link_close"&&i.info==="auto"){e++}}}function lp(t){let e=0;for(let r=t.length-1;r>=0;r--){const i=t[r];if(i.type==="text"&&!e){if(tp.test(i.content)){i.content=i.content.replace(/\+-/g,"±").replace(/\.{2,}/g,"…").replace(/([?!])…/g,"$1..").replace(/([?!]){4,}/g,"$1$1$1").replace(/,{2,}/g,",").replace(/(^|[^-])---(?=[^-]|$)/gm,"$1—").replace(/(^|\s)--(?=\s|$)/gm,"$1–").replace(/(^|[^-\s])--(?=[^-\s]|$)/gm,"$1–")}}if(i.type==="link_open"&&i.info==="auto"){e--}if(i.type==="link_close"&&i.info==="auto"){e++}}}function op(t){let e;if(!t.md.options.typographer){return}for(e=t.tokens.length-1;e>=0;e--){if(t.tokens[e].type!=="inline"){continue}if(ep.test(t.tokens[e].content)){sp(t.tokens[e].children)}if(tp.test(t.tokens[e].content)){lp(t.tokens[e].children)}}}const up=/['"]/;const fp=/['"]/g;const hp="’";function ap(t,e,r){return t.slice(0,e)+r+t.slice(e+1)}function cp(t,e){let r;const i=[];for(let n=0;n<t.length;n++){const s=t[n];const l=t[n].level;for(r=i.length-1;r>=0;r--){if(i[r].level<=l){break}}i.length=r+1;if(s.type!=="text"){continue}let o=s.content;let u=0;let f=o.length;t:while(u<f){fp.lastIndex=u;const h=fp.exec(o);if(!h){break}let a=true;let c=true;u=h.index+1;const d=h[0]==="'";let p=32;if(h.index-1>=0){p=o.charCodeAt(h.index-1)}else{for(r=n-1;r>=0;r--){if(t[r].type==="softbreak"||t[r].type==="hardbreak")break;if(!t[r].content)continue;p=t[r].content.charCodeAt(t[r].content.length-1);break}}let m=32;if(u<f){m=o.charCodeAt(u)}else{for(r=n+1;r<t.length;r++){if(t[r].type==="softbreak"||t[r].type==="hardbreak")break;if(!t[r].content)continue;m=t[r].content.charCodeAt(0);break}}const w=Bd(p)||_d(String.fromCharCode(p));const g=Bd(m)||_d(String.fromCharCode(m));const b=$d(p);const k=$d(m);if(k){a=false}else if(g){if(!(b||w)){a=false}}if(b){c=false}else if(w){if(!(k||g)){c=false}}if(m===34&&h[0]==='"'){if(p>=48&&p<=57){c=a=false}}if(a&&c){a=w;c=g}if(!a&&!c){if(d){s.content=ap(s.content,h.index,hp)}continue}if(c){for(r=i.length-1;r>=0;r--){let a=i[r];if(i[r].level<l){break}if(a.single===d&&i[r].level===l){a=i[r];let l;let c;if(d){l=e.md.options.quotes[2];c=e.md.options.quotes[3]}else{l=e.md.options.quotes[0];c=e.md.options.quotes[1]}s.content=ap(s.content,h.index,c);t[a.token].content=ap(t[a.token].content,a.pos,l);u+=c.length-1;if(a.token===n){u+=l.length-1}o=s.content;f=o.length;i.length=r;continue t}}}if(a){i.push({token:n,pos:h.index,single:d,level:l})}else if(c&&d){s.content=ap(s.content,h.index,hp)}}}}function dp(t){if(!t.md.options.typographer){return}for(let e=t.tokens.length-1;e>=0;e--){if(t.tokens[e].type!=="inline"||!up.test(t.tokens[e].content)){continue}cp(t.tokens[e].children,t)}}function pp(t){let e,r;const i=t.tokens;const n=i.length;for(let t=0;t<n;t++){if(i[t].type!=="inline")continue;const n=i[t].children;const s=n.length;for(e=0;e<s;e++){if(n[e].type==="text_special"){n[e].type="text"}}for(e=r=0;e<s;e++){if(n[e].type==="text"&&e+1<s&&n[e+1].type==="text"){n[e+1].content=n[e].content+n[e+1].content}else{if(e!==r){n[r]=n[e]}r++}}if(e!==r){n.length=r}}}const mp=[["normalize",Kd],["block",Vd],["inline",Gd],["linkify",Qd],["replacements",op],["smartquotes",dp],["text_join",pp]];function wp(){this.ruler=new Ld;for(let t=0;t<mp.length;t++){this.ruler.push(mp[t][0],mp[t][1])}}wp.prototype.process=function(t){const e=this.ruler.getRules("");for(let r=0,i=e.length;r<i;r++){e[r](t)}};wp.prototype.State=Ud;function gp(t,e,r,i){this.src=t;this.md=e;this.env=r;this.tokens=i;this.bMarks=[];this.eMarks=[];this.tShift=[];this.sCount=[];this.bsCount=[];this.blkIndent=0;this.line=0;this.lineMax=0;this.tight=false;this.ddIndent=-1;this.listIndent=-1;this.parentType="root";this.level=0;const n=this.src;for(let t=0,e=0,r=0,i=0,s=n.length,l=false;e<s;e++){const o=n.charCodeAt(e);if(!l){if(Od(o)){r++;if(o===9){i+=4-i%4}else{i++}continue}else{l=true}}if(o===10||e===s-1){if(o!==10){e++}this.bMarks.push(t);this.eMarks.push(e);this.tShift.push(r);this.sCount.push(i);this.bsCount.push(0);l=false;r=0;i=0;t=e+1}}this.bMarks.push(n.length);this.eMarks.push(n.length);this.tShift.push(0);this.sCount.push(0);this.bsCount.push(0);this.lineMax=this.bMarks.length-1}gp.prototype.push=function(t,e,r){const i=new Wd(t,e,r);i.block=true;if(r<0)this.level--;i.level=this.level;if(r>0)this.level++;this.tokens.push(i);return i};gp.prototype.isEmpty=function t(e){return this.bMarks[e]+this.tShift[e]>=this.eMarks[e]};gp.prototype.skipEmptyLines=function t(e){for(let t=this.lineMax;e<t;e++){if(this.bMarks[e]+this.tShift[e]<this.eMarks[e]){break}}return e};gp.prototype.skipSpaces=function t(e){for(let t=this.src.length;e<t;e++){const t=this.src.charCodeAt(e);if(!Od(t)){break}}return e};gp.prototype.skipSpacesBack=function t(e,r){if(e<=r){return e}while(e>r){if(!Od(this.src.charCodeAt(--e))){return e+1}}return e};gp.prototype.skipChars=function t(e,r){for(let t=this.src.length;e<t;e++){if(this.src.charCodeAt(e)!==r){break}}return e};gp.prototype.skipCharsBack=function t(e,r,i){if(e<=i){return e}while(e>i){if(r!==this.src.charCodeAt(--e)){return e+1}}return e};gp.prototype.getLines=function t(e,r,i,n){if(e>=r){return""}const s=new Array(r-e);for(let t=0,l=e;l<r;l++,t++){let e=0;const o=this.bMarks[l];let u=o;let f;if(l+1<r||n){f=this.eMarks[l]+1}else{f=this.eMarks[l]}while(u<f&&e<i){const t=this.src.charCodeAt(u);if(Od(t)){if(t===9){e+=4-(e+this.bsCount[l])%4}else{e++}}else if(u-o<this.tShift[l]){e++}else{break}u++}if(e>i){s[t]=new Array(e-i+1).join(" ")+this.src.slice(u,f)}else{s[t]=this.src.slice(u,f)}}return s.join("")};gp.prototype.Token=Wd;const bp=65536;function kp(t,e){const r=t.bMarks[e]+t.tShift[e];const i=t.eMarks[e];return t.src.slice(r,i)}function Dp(t){const e=[];const r=t.length;let i=0;let n=t.charCodeAt(i);let s=false;let l=0;let o="";while(i<r){if(n===124){if(!s){e.push(o+t.substring(l,i));o="";l=i+1}else{o+=t.substring(l,i-1);l=i}}s=n===92;i++;n=t.charCodeAt(i)}e.push(o+t.substring(l));return e}function vp(t,e,r,i){if(e+2>r){return false}let n=e+1;if(t.sCount[n]<t.blkIndent){return false}if(t.sCount[n]-t.blkIndent>=4){return false}let s=t.bMarks[n]+t.tShift[n];if(s>=t.eMarks[n]){return false}const l=t.src.charCodeAt(s++);if(l!==124&&l!==45&&l!==58){return false}if(s>=t.eMarks[n]){return false}const o=t.src.charCodeAt(s++);if(o!==124&&o!==45&&o!==58&&!Od(o)){return false}if(l===45&&Od(o)){return false}while(s<t.eMarks[n]){const e=t.src.charCodeAt(s);if(e!==124&&e!==45&&e!==58&&!Od(e)){return false}s++}let u=kp(t,e+1);let f=u.split("|");const h=[];for(let t=0;t<f.length;t++){const e=f[t].trim();if(!e){if(t===0||t===f.length-1){continue}else{return false}}if(!/^:?-+:?$/.test(e)){return false}if(e.charCodeAt(e.length-1)===58){h.push(e.charCodeAt(0)===58?"center":"right")}else if(e.charCodeAt(0)===58){h.push("left")}else{h.push("")}}u=kp(t,e).trim();if(u.indexOf("|")===-1){return false}if(t.sCount[e]-t.blkIndent>=4){return false}f=Dp(u);if(f.length&&f[0]==="")f.shift();if(f.length&&f[f.length-1]==="")f.pop();const a=f.length;if(a===0||a!==h.length){return false}if(i){return true}const c=t.parentType;t.parentType="table";const d=t.md.block.ruler.getRules("blockquote");const p=t.push("table_open","table",1);const m=[e,0];p.map=m;const w=t.push("thead_open","thead",1);w.map=[e,e+1];const g=t.push("tr_open","tr",1);g.map=[e,e+1];for(let e=0;e<f.length;e++){const r=t.push("th_open","th",1);if(h[e]){r.attrs=[["style","text-align:"+h[e]]]}const i=t.push("inline","",0);i.content=f[e].trim();i.children=[];t.push("th_close","th",-1)}t.push("tr_close","tr",-1);t.push("thead_close","thead",-1);let b;let k=0;for(n=e+2;n<r;n++){if(t.sCount[n]<t.blkIndent){break}let i=false;for(let e=0,s=d.length;e<s;e++){if(d[e](t,n,r,true)){i=true;break}}if(i){break}u=kp(t,n).trim();if(!u){break}if(t.sCount[n]-t.blkIndent>=4){break}f=Dp(u);if(f.length&&f[0]==="")f.shift();if(f.length&&f[f.length-1]==="")f.pop();k+=a-f.length;if(k>bp){break}if(n===e+2){const r=t.push("tbody_open","tbody",1);r.map=b=[e+2,0]}const s=t.push("tr_open","tr",1);s.map=[n,n+1];for(let e=0;e<a;e++){const r=t.push("td_open","td",1);if(h[e]){r.attrs=[["style","text-align:"+h[e]]]}const i=t.push("inline","",0);i.content=f[e]?f[e].trim():"";i.children=[];t.push("td_close","td",-1)}t.push("tr_close","tr",-1)}if(b){t.push("tbody_close","tbody",-1);b[1]=n}t.push("table_close","table",-1);m[1]=n;t.parentType=c;t.line=n;return true}function yp(t,e,r){if(t.sCount[e]-t.blkIndent<4){return false}let i=e+1;let n=i;while(i<r){if(t.isEmpty(i)){i++;continue}if(t.sCount[i]-t.blkIndent>=4){i++;n=i;continue}break}t.line=n;const s=t.push("code_block","code",0);s.content=t.getLines(e,n,4+t.blkIndent,false)+"\n";s.map=[e,t.line];return true}function Fp(t,e,r,i){let n=t.bMarks[e]+t.tShift[e];let s=t.eMarks[e];if(t.sCount[e]-t.blkIndent>=4){return false}if(n+3>s){return false}const l=t.src.charCodeAt(n);if(l!==126&&l!==96){return false}let o=n;n=t.skipChars(n,l);let u=n-o;if(u<3){return false}const f=t.src.slice(o,n);const h=t.src.slice(n,s);if(l===96){if(h.indexOf(String.fromCharCode(l))>=0){return false}}if(i){return true}let a=e;let c=false;for(;;){a++;if(a>=r){break}n=o=t.bMarks[a]+t.tShift[a];s=t.eMarks[a];if(n<s&&t.sCount[a]<t.blkIndent){break}if(t.src.charCodeAt(n)!==l){continue}if(t.sCount[a]-t.blkIndent>=4){continue}n=t.skipChars(n,l);if(n-o<u){continue}n=t.skipSpaces(n);if(n<s){continue}c=true;break}u=t.sCount[e];t.line=a+(c?1:0);const d=t.push("fence","code",0);d.info=h;d.content=t.getLines(e+1,a,u,true);d.markup=f;d.map=[e,t.line];return true}function Ep(t,e,r,i){let n=t.bMarks[e]+t.tShift[e];let s=t.eMarks[e];const l=t.lineMax;if(t.sCount[e]-t.blkIndent>=4){return false}if(t.src.charCodeAt(n)!==62){return false}if(i){return true}const o=[];const u=[];const f=[];const h=[];const a=t.md.block.ruler.getRules("blockquote");const c=t.parentType;t.parentType="blockquote";let d=false;let p;for(p=e;p<r;p++){const e=t.sCount[p]<t.blkIndent;n=t.bMarks[p]+t.tShift[p];s=t.eMarks[p];if(n>=s){break}if(t.src.charCodeAt(n++)===62&&!e){let e=t.sCount[p]+1;let r;let i;if(t.src.charCodeAt(n)===32){n++;e++;i=false;r=true}else if(t.src.charCodeAt(n)===9){r=true;if((t.bsCount[p]+e)%4===3){n++;e++;i=false}else{i=true}}else{r=false}let l=e;o.push(t.bMarks[p]);t.bMarks[p]=n;while(n<s){const e=t.src.charCodeAt(n);if(Od(e)){if(e===9){l+=4-(l+t.bsCount[p]+(i?1:0))%4}else{l++}}else{break}n++}d=n>=s;u.push(t.bsCount[p]);t.bsCount[p]=t.sCount[p]+1+(r?1:0);f.push(t.sCount[p]);t.sCount[p]=l-e;h.push(t.tShift[p]);t.tShift[p]=n-t.bMarks[p];continue}if(d){break}let i=false;for(let e=0,n=a.length;e<n;e++){if(a[e](t,p,r,true)){i=true;break}}if(i){t.lineMax=p;if(t.blkIndent!==0){o.push(t.bMarks[p]);u.push(t.bsCount[p]);h.push(t.tShift[p]);f.push(t.sCount[p]);t.sCount[p]-=t.blkIndent}break}o.push(t.bMarks[p]);u.push(t.bsCount[p]);h.push(t.tShift[p]);f.push(t.sCount[p]);t.sCount[p]=-1}const m=t.blkIndent;t.blkIndent=0;const w=t.push("blockquote_open","blockquote",1);w.markup=">";const g=[e,0];w.map=g;t.md.block.tokenize(t,e,p);const b=t.push("blockquote_close","blockquote",-1);b.markup=">";t.lineMax=l;t.parentType=c;g[1]=t.line;for(let r=0;r<h.length;r++){t.bMarks[r+e]=o[r];t.tShift[r+e]=h[r];t.sCount[r+e]=f[r];t.bsCount[r+e]=u[r]}t.blkIndent=m;return true}function Mp(t,e,r,i){const n=t.eMarks[e];if(t.sCount[e]-t.blkIndent>=4){return false}let s=t.bMarks[e]+t.tShift[e];const l=t.src.charCodeAt(s++);if(l!==42&&l!==45&&l!==95){return false}let o=1;while(s<n){const e=t.src.charCodeAt(s++);if(e!==l&&!Od(e)){return false}if(e===l){o++}}if(o<3){return false}if(i){return true}t.line=e+1;const u=t.push("hr","hr",0);u.map=[e,t.line];u.markup=Array(o+1).join(String.fromCharCode(l));return true}function xp(t,e){const r=t.eMarks[e];let i=t.bMarks[e]+t.tShift[e];const n=t.src.charCodeAt(i++);if(n!==42&&n!==45&&n!==43){return-1}if(i<r){const e=t.src.charCodeAt(i);if(!Od(e)){return-1}}return i}function Ap(t,e){const r=t.bMarks[e]+t.tShift[e];const i=t.eMarks[e];let n=r;if(n+1>=i){return-1}let s=t.src.charCodeAt(n++);if(s<48||s>57){return-1}for(;;){if(n>=i){return-1}s=t.src.charCodeAt(n++);if(s>=48&&s<=57){if(n-r>=10){return-1}continue}if(s===41||s===46){break}return-1}if(n<i){s=t.src.charCodeAt(n);if(!Od(s)){return-1}}return n}function Cp(t,e){const r=t.level+2;for(let i=e+2,n=t.tokens.length-2;i<n;i++){if(t.tokens[i].level===r&&t.tokens[i].type==="paragraph_open"){t.tokens[i+2].hidden=true;t.tokens[i].hidden=true;i+=2}}}function Sp(t,e,r,i){let n,s,l,o;let u=e;let f=true;if(t.sCount[u]-t.blkIndent>=4){return false}if(t.listIndent>=0&&t.sCount[u]-t.listIndent>=4&&t.sCount[u]<t.blkIndent){return false}let h=false;if(i&&t.parentType==="paragraph"){if(t.sCount[u]>=t.blkIndent){h=true}}let a;let c;let d;if((d=Ap(t,u))>=0){a=true;l=t.bMarks[u]+t.tShift[u];c=Number(t.src.slice(l,d-1));if(h&&c!==1)return false}else if((d=xp(t,u))>=0){a=false}else{return false}if(h){if(t.skipSpaces(d)>=t.eMarks[u])return false}if(i){return true}const p=t.src.charCodeAt(d-1);const m=t.tokens.length;if(a){o=t.push("ordered_list_open","ol",1);if(c!==1){o.attrs=[["start",c]]}}else{o=t.push("bullet_list_open","ul",1)}const w=[u,0];o.map=w;o.markup=String.fromCharCode(p);let g=false;const b=t.md.block.ruler.getRules("list");const k=t.parentType;t.parentType="list";while(u<r){s=d;n=t.eMarks[u];const e=t.sCount[u]+d-(t.bMarks[u]+t.tShift[u]);let i=e;while(s<n){const e=t.src.charCodeAt(s);if(e===9){i+=4-(i+t.bsCount[u])%4}else if(e===32){i++}else{break}s++}const h=s;let c;if(h>=n){c=1}else{c=i-e}if(c>4){c=1}const m=e+c;o=t.push("list_item_open","li",1);o.markup=String.fromCharCode(p);const w=[u,0];o.map=w;if(a){o.info=t.src.slice(l,d-1)}const k=t.tight;const D=t.tShift[u];const v=t.sCount[u];const y=t.listIndent;t.listIndent=t.blkIndent;t.blkIndent=m;t.tight=true;t.tShift[u]=h-t.bMarks[u];t.sCount[u]=i;if(h>=n&&t.isEmpty(u+1)){t.line=Math.min(t.line+2,r)}else{t.md.block.tokenize(t,u,r,true)}if(!t.tight||g){f=false}g=t.line-u>1&&t.isEmpty(t.line-1);t.blkIndent=t.listIndent;t.listIndent=y;t.tShift[u]=D;t.sCount[u]=v;t.tight=k;o=t.push("list_item_close","li",-1);o.markup=String.fromCharCode(p);u=t.line;w[1]=u;if(u>=r){break}if(t.sCount[u]<t.blkIndent){break}if(t.sCount[u]-t.blkIndent>=4){break}let F=false;for(let e=0,i=b.length;e<i;e++){if(b[e](t,u,r,true)){F=true;break}}if(F){break}if(a){d=Ap(t,u);if(d<0){break}l=t.bMarks[u]+t.tShift[u]}else{d=xp(t,u);if(d<0){break}}if(p!==t.src.charCodeAt(d-1)){break}}if(a){o=t.push("ordered_list_close","ol",-1)}else{o=t.push("bullet_list_close","ul",-1)}o.markup=String.fromCharCode(p);w[1]=u;t.line=u;t.parentType=k;if(f){Cp(t,m)}return true}function Op(t,e,r,i){let n=t.bMarks[e]+t.tShift[e];let s=t.eMarks[e];let l=e+1;if(t.sCount[e]-t.blkIndent>=4){return false}if(t.src.charCodeAt(n)!==91){return false}function o(e){const r=t.lineMax;if(e>=r||t.isEmpty(e)){return null}let i=false;if(t.sCount[e]-t.blkIndent>3){i=true}if(t.sCount[e]<0){i=true}if(!i){const i=t.md.block.ruler.getRules("reference");const n=t.parentType;t.parentType="reference";let s=false;for(let n=0,l=i.length;n<l;n++){if(i[n](t,e,r,true)){s=true;break}}t.parentType=n;if(s){return null}}const n=t.bMarks[e]+t.tShift[e];const s=t.eMarks[e];return t.src.slice(n,s+1)}let u=t.src.slice(n,s+1);s=u.length;let f=-1;for(n=1;n<s;n++){const t=u.charCodeAt(n);if(t===91){return false}else if(t===93){f=n;break}else if(t===10){const t=o(l);if(t!==null){u+=t;s=u.length;l++}}else if(t===92){n++;if(n<s&&u.charCodeAt(n)===10){const t=o(l);if(t!==null){u+=t;s=u.length;l++}}}}if(f<0||u.charCodeAt(f+1)!==58){return false}for(n=f+2;n<s;n++){const t=u.charCodeAt(n);if(t===10){const t=o(l);if(t!==null){u+=t;s=u.length;l++}}else if(Od(t));else{break}}const h=t.md.helpers.parseLinkDestination(u,n,s);if(!h.ok){return false}const a=t.md.normalizeLink(h.str);if(!t.md.validateLink(a)){return false}n=h.pos;const c=n;const d=l;const p=n;for(;n<s;n++){const t=u.charCodeAt(n);if(t===10){const t=o(l);if(t!==null){u+=t;s=u.length;l++}}else if(Od(t));else{break}}let m=t.md.helpers.parseLinkTitle(u,n,s);while(m.can_continue){const e=o(l);if(e===null)break;u+=e;n=s;s=u.length;l++;m=t.md.helpers.parseLinkTitle(u,n,s,m)}let w;if(n<s&&p!==n&&m.ok){w=m.str;n=m.pos}else{w="";n=c;l=d}while(n<s){const t=u.charCodeAt(n);if(!Od(t)){break}n++}if(n<s&&u.charCodeAt(n)!==10){if(w){w="";n=c;l=d;while(n<s){const t=u.charCodeAt(n);if(!Od(t)){break}n++}}}if(n<s&&u.charCodeAt(n)!==10){return false}const g=Rd(u.slice(1,f));if(!g){return false}if(i){return true}if(typeof t.env.references==="undefined"){t.env.references={}}if(typeof t.env.references[g]==="undefined"){t.env.references[g]={title:w,href:a}}t.line=l;return true}const $p=["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","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"];const _p="[a-zA-Z_:][a-zA-Z0-9:._-]*";const Bp="[^\"'=<>`\\x00-\\x20]+";const Rp="'[^']*'";const jp='"[^"]*"';const Np="(?:"+Bp+"|"+Rp+"|"+jp+")";const qp="(?:\\s+"+_p+"(?:\\s*=\\s*"+Np+")?)";const zp="<[A-Za-z][A-Za-z0-9\\-]*"+qp+"*\\s*\\/?>";const Tp="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>";const Ip="\x3c!---?>|\x3c!--(?:[^-]|-[^-]|--[^>])*--\x3e";const Pp="<[?][\\s\\S]*?[?]>";const Jp="<![A-Za-z][^>]*>";const Lp="<!\\[CDATA\\[[\\s\\S]*?\\]\\]>";const Wp=new RegExp("^(?:"+zp+"|"+Tp+"|"+Ip+"|"+Pp+"|"+Jp+"|"+Lp+")");const Up=new RegExp("^(?:"+zp+"|"+Tp+")");const Hp=[[/^<(script|pre|style|textarea)(?=(\s|>|$))/i,/<\/(script|pre|style|textarea)>/i,true],[/^<!--/,/-->/,true],[/^<\?/,/\?>/,true],[/^<![A-Z]/,/>/,true],[/^<!\[CDATA\[/,/\]\]>/,true],[new RegExp("^</?("+$p.join("|")+")(?=(\\s|/?>|$))","i"),/^$/,true],[new RegExp(Up.source+"\\s*$"),/^$/,false]];function Zp(t,e,r,i){let n=t.bMarks[e]+t.tShift[e];let s=t.eMarks[e];if(t.sCount[e]-t.blkIndent>=4){return false}if(!t.md.options.html){return false}if(t.src.charCodeAt(n)!==60){return false}let l=t.src.slice(n,s);let o=0;for(;o<Hp.length;o++){if(Hp[o][0].test(l)){break}}if(o===Hp.length){return false}if(i){return Hp[o][2]}let u=e+1;if(!Hp[o][1].test(l)){for(;u<r;u++){if(t.sCount[u]<t.blkIndent){break}n=t.bMarks[u]+t.tShift[u];s=t.eMarks[u];l=t.src.slice(n,s);if(Hp[o][1].test(l)){if(l.length!==0){u++}break}}}t.line=u;const f=t.push("html_block","",0);f.map=[e,u];f.content=t.getLines(e,u,t.blkIndent,true);return true}function Kp(t,e,r,i){let n=t.bMarks[e]+t.tShift[e];let s=t.eMarks[e];if(t.sCount[e]-t.blkIndent>=4){return false}let l=t.src.charCodeAt(n);if(l!==35||n>=s){return false}let o=1;l=t.src.charCodeAt(++n);while(l===35&&n<s&&o<=6){o++;l=t.src.charCodeAt(++n)}if(o>6||n<s&&!Od(l)){return false}if(i){return true}s=t.skipSpacesBack(s,n);const u=t.skipCharsBack(s,35,n);if(u>n&&Od(t.src.charCodeAt(u-1))){s=u}t.line=e+1;const f=t.push("heading_open","h"+String(o),1);f.markup="########".slice(0,o);f.map=[e,t.line];const h=t.push("inline","",0);h.content=t.src.slice(n,s).trim();h.map=[e,t.line];h.children=[];const a=t.push("heading_close","h"+String(o),-1);a.markup="########".slice(0,o);return true}function Vp(t,e,r){const i=t.md.block.ruler.getRules("paragraph");if(t.sCount[e]-t.blkIndent>=4){return false}const n=t.parentType;t.parentType="paragraph";let s=0;let l;let o=e+1;for(;o<r&&!t.isEmpty(o);o++){if(t.sCount[o]-t.blkIndent>3){continue}if(t.sCount[o]>=t.blkIndent){let e=t.bMarks[o]+t.tShift[o];const r=t.eMarks[o];if(e<r){l=t.src.charCodeAt(e);if(l===45||l===61){e=t.skipChars(e,l);e=t.skipSpaces(e);if(e>=r){s=l===61?1:2;break}}}}if(t.sCount[o]<0){continue}let e=false;for(let n=0,s=i.length;n<s;n++){if(i[n](t,o,r,true)){e=true;break}}if(e){break}}if(!s){return false}const u=t.getLines(e,o,t.blkIndent,false).trim();t.line=o+1;const f=t.push("heading_open","h"+String(s),1);f.markup=String.fromCharCode(l);f.map=[e,t.line];const h=t.push("inline","",0);h.content=u;h.map=[e,t.line-1];h.children=[];const a=t.push("heading_close","h"+String(s),-1);a.markup=String.fromCharCode(l);t.parentType=n;return true}function Gp(t,e,r){const i=t.md.block.ruler.getRules("paragraph");const n=t.parentType;let s=e+1;t.parentType="paragraph";for(;s<r&&!t.isEmpty(s);s++){if(t.sCount[s]-t.blkIndent>3){continue}if(t.sCount[s]<0){continue}let e=false;for(let n=0,l=i.length;n<l;n++){if(i[n](t,s,r,true)){e=true;break}}if(e){break}}const l=t.getLines(e,s,t.blkIndent,false).trim();t.line=s;const o=t.push("paragraph_open","p",1);o.map=[e,t.line];const u=t.push("inline","",0);u.content=l;u.map=[e,t.line];u.children=[];t.push("paragraph_close","p",-1);t.parentType=n;return true}const Xp=[["table",vp,["paragraph","reference"]],["code",yp],["fence",Fp,["paragraph","reference","blockquote","list"]],["blockquote",Ep,["paragraph","reference","blockquote","list"]],["hr",Mp,["paragraph","reference","blockquote","list"]],["list",Sp,["paragraph","reference","blockquote"]],["reference",Op],["html_block",Zp,["paragraph","reference","blockquote"]],["heading",Kp,["paragraph","reference","blockquote"]],["lheading",Vp],["paragraph",Gp]];function Yp(){this.ruler=new Ld;for(let t=0;t<Xp.length;t++){this.ruler.push(Xp[t][0],Xp[t][1],{alt:(Xp[t][2]||[]).slice()})}}Yp.prototype.tokenize=function(t,e,r){const i=this.ruler.getRules("");const n=i.length;const s=t.md.options.maxNesting;let l=e;let o=false;while(l<r){t.line=l=t.skipEmptyLines(l);if(l>=r){break}if(t.sCount[l]<t.blkIndent){break}if(t.level>=s){t.line=r;break}const e=t.line;let u=false;for(let s=0;s<n;s++){u=i[s](t,l,r,false);if(u){if(e>=t.line){throw new Error("block rule didn't increment state.line")}break}}if(!u)throw new Error("none of the block rules matched");t.tight=!o;if(t.isEmpty(t.line-1)){o=true}l=t.line;if(l<r&&t.isEmpty(l)){o=true;l++;t.line=l}}};Yp.prototype.parse=function(t,e,r,i){if(!t){return}const n=new this.State(t,e,r,i);this.tokenize(n,n.line,n.lineMax)};Yp.prototype.State=gp;function Qp(t,e,r,i){this.src=t;this.env=r;this.md=e;this.tokens=i;this.tokens_meta=Array(i.length);this.pos=0;this.posMax=this.src.length;this.level=0;this.pending="";this.pendingLevel=0;this.cache={};this.delimiters=[];this._prev_delimiters=[];this.backticks={};this.backticksScanned=false;this.linkLevel=0}Qp.prototype.pushPending=function(){const t=new Wd("text","",0);t.content=this.pending;t.level=this.pendingLevel;this.tokens.push(t);this.pending="";return t};Qp.prototype.push=function(t,e,r){if(this.pending){this.pushPending()}const i=new Wd(t,e,r);let n=null;if(r<0){this.level--;this.delimiters=this._prev_delimiters.pop()}i.level=this.level;if(r>0){this.level++;this._prev_delimiters.push(this.delimiters);this.delimiters=[];n={delimiters:this.delimiters}}this.pendingLevel=this.level;this.tokens.push(i);this.tokens_meta.push(n);return i};Qp.prototype.scanDelims=function(t,e){const r=this.posMax;const i=this.src.charCodeAt(t);const n=t>0?this.src.charCodeAt(t-1):32;let s=t;while(s<r&&this.src.charCodeAt(s)===i){s++}const l=s-t;const o=s<r?this.src.charCodeAt(s):32;const u=Bd(n)||_d(String.fromCharCode(n));const f=Bd(o)||_d(String.fromCharCode(o));const h=$d(n);const a=$d(o);const c=!a&&(!f||h||u);const d=!h&&(!u||a||f);const p=c&&(e||!d||u);const m=d&&(e||!c||f);return{can_open:p,can_close:m,length:l}};Qp.prototype.Token=Wd;function tm(t){switch(t){case 10:case 33:case 35:case 36:case 37:case 38:case 42:case 43:case 45:case 58:case 60:case 61:case 62:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 125:case 126:return true;default:return false}}function em(t,e){let r=t.pos;while(r<t.posMax&&!tm(t.src.charCodeAt(r))){r++}if(r===t.pos){return false}if(!e){t.pending+=t.src.slice(t.pos,r)}t.pos=r;return true}const rm=/(?:^|[^a-z0-9.+-])([a-z][a-z0-9.+-]*)$/i;function im(t,e){if(!t.md.options.linkify)return false;if(t.linkLevel>0)return false;const r=t.pos;const i=t.posMax;if(r+3>i)return false;if(t.src.charCodeAt(r)!==58)return false;if(t.src.charCodeAt(r+1)!==47)return false;if(t.src.charCodeAt(r+2)!==47)return false;const n=t.pending.match(rm);if(!n)return false;const s=n[1];const l=t.md.linkify.matchAtStart(t.src.slice(r-s.length));if(!l)return false;let o=l.url;if(o.length<=s.length)return false;o=o.replace(/\*+$/,"");const u=t.md.normalizeLink(o);if(!t.md.validateLink(u))return false;if(!e){t.pending=t.pending.slice(0,-s.length);const e=t.push("link_open","a",1);e.attrs=[["href",u]];e.markup="linkify";e.info="auto";const r=t.push("text","",0);r.content=t.md.normalizeLinkText(o);const i=t.push("link_close","a",-1);i.markup="linkify";i.info="auto"}t.pos+=o.length-s.length;return true}function nm(t,e){let r=t.pos;if(t.src.charCodeAt(r)!==10){return false}const i=t.pending.length-1;const n=t.posMax;if(!e){if(i>=0&&t.pending.charCodeAt(i)===32){if(i>=1&&t.pending.charCodeAt(i-1)===32){let e=i-1;while(e>=1&&t.pending.charCodeAt(e-1)===32)e--;t.pending=t.pending.slice(0,e);t.push("hardbreak","br",0)}else{t.pending=t.pending.slice(0,-1);t.push("softbreak","br",0)}}else{t.push("softbreak","br",0)}}r++;while(r<n&&Od(t.src.charCodeAt(r))){r++}t.pos=r;return true}const sm=[];for(let t=0;t<256;t++){sm.push(0)}"\\!\"#$%&'()*+,./:;<=>?@[]^_`{|}~-".split("").forEach((function(t){sm[t.charCodeAt(0)]=1}));function lm(t,e){let r=t.pos;const i=t.posMax;if(t.src.charCodeAt(r)!==92)return false;r++;if(r>=i)return false;let n=t.src.charCodeAt(r);if(n===10){if(!e){t.push("hardbreak","br",0)}r++;while(r<i){n=t.src.charCodeAt(r);if(!Od(n))break;r++}t.pos=r;return true}let s=t.src[r];if(n>=55296&&n<=56319&&r+1<i){const e=t.src.charCodeAt(r+1);if(e>=56320&&e<=57343){s+=t.src[r+1];r++}}const l="\\"+s;if(!e){const e=t.push("text_special","",0);if(n<256&&sm[n]!==0){e.content=s}else{e.content=l}e.markup=l;e.info="escape"}t.pos=r+1;return true}function om(t,e){let r=t.pos;const i=t.src.charCodeAt(r);if(i!==96){return false}const n=r;r++;const s=t.posMax;while(r<s&&t.src.charCodeAt(r)===96){r++}const l=t.src.slice(n,r);const o=l.length;if(t.backticksScanned&&(t.backticks[o]||0)<=n){if(!e)t.pending+=l;t.pos+=o;return true}let u=r;let f;while((f=t.src.indexOf("`",u))!==-1){u=f+1;while(u<s&&t.src.charCodeAt(u)===96){u++}const i=u-f;if(i===o){if(!e){const e=t.push("code_inline","code",0);e.markup=l;e.content=t.src.slice(r,f).replace(/\n/g," ").replace(/^ (.+) $/,"$1")}t.pos=u;return true}t.backticks[i]=f}t.backticksScanned=true;if(!e)t.pending+=l;t.pos+=o;return true}function um(t,e){const r=t.pos;const i=t.src.charCodeAt(r);if(e){return false}if(i!==126){return false}const n=t.scanDelims(t.pos,true);let s=n.length;const l=String.fromCharCode(i);if(s<2){return false}let o;if(s%2){o=t.push("text","",0);o.content=l;s--}for(let e=0;e<s;e+=2){o=t.push("text","",0);o.content=l+l;t.delimiters.push({marker:i,length:0,token:t.tokens.length-1,end:-1,open:n.can_open,close:n.can_close})}t.pos+=n.length;return true}function fm(t,e){let r;const i=[];const n=e.length;for(let s=0;s<n;s++){const n=e[s];if(n.marker!==126){continue}if(n.end===-1){continue}const l=e[n.end];r=t.tokens[n.token];r.type="s_open";r.tag="s";r.nesting=1;r.markup="~~";r.content="";r=t.tokens[l.token];r.type="s_close";r.tag="s";r.nesting=-1;r.markup="~~";r.content="";if(t.tokens[l.token-1].type==="text"&&t.tokens[l.token-1].content==="~"){i.push(l.token-1)}}while(i.length){const e=i.pop();let n=e+1;while(n<t.tokens.length&&t.tokens[n].type==="s_close"){n++}n--;if(e!==n){r=t.tokens[n];t.tokens[n]=t.tokens[e];t.tokens[e]=r}}}function hm(t){const e=t.tokens_meta;const r=t.tokens_meta.length;fm(t,t.delimiters);for(let i=0;i<r;i++){if(e[i]&&e[i].delimiters){fm(t,e[i].delimiters)}}}const am={tokenize:um,postProcess:hm};function cm(t,e){const r=t.pos;const i=t.src.charCodeAt(r);if(e){return false}if(i!==95&&i!==42){return false}const n=t.scanDelims(t.pos,i===42);for(let e=0;e<n.length;e++){const e=t.push("text","",0);e.content=String.fromCharCode(i);t.delimiters.push({marker:i,length:n.length,token:t.tokens.length-1,end:-1,open:n.can_open,close:n.can_close})}t.pos+=n.length;return true}function dm(t,e){const r=e.length;for(let i=r-1;i>=0;i--){const r=e[i];if(r.marker!==95&&r.marker!==42){continue}if(r.end===-1){continue}const n=e[r.end];const s=i>0&&e[i-1].end===r.end+1&&e[i-1].marker===r.marker&&e[i-1].token===r.token-1&&e[r.end+1].token===n.token+1;const l=String.fromCharCode(r.marker);const o=t.tokens[r.token];o.type=s?"strong_open":"em_open";o.tag=s?"strong":"em";o.nesting=1;o.markup=s?l+l:l;o.content="";const u=t.tokens[n.token];u.type=s?"strong_close":"em_close";u.tag=s?"strong":"em";u.nesting=-1;u.markup=s?l+l:l;u.content="";if(s){t.tokens[e[i-1].token].content="";t.tokens[e[r.end+1].token].content="";i--}}}function pm(t){const e=t.tokens_meta;const r=t.tokens_meta.length;dm(t,t.delimiters);for(let i=0;i<r;i++){if(e[i]&&e[i].delimiters){dm(t,e[i].delimiters)}}}const mm={tokenize:cm,postProcess:pm};function wm(t,e){let r,i,n,s;let l="";let o="";let u=t.pos;let f=true;if(t.src.charCodeAt(t.pos)!==91){return false}const h=t.pos;const a=t.posMax;const c=t.pos+1;const d=t.md.helpers.parseLinkLabel(t,t.pos,true);if(d<0){return false}let p=d+1;if(p<a&&t.src.charCodeAt(p)===40){f=false;p++;for(;p<a;p++){r=t.src.charCodeAt(p);if(!Od(r)&&r!==10){break}}if(p>=a){return false}u=p;n=t.md.helpers.parseLinkDestination(t.src,p,t.posMax);if(n.ok){l=t.md.normalizeLink(n.str);if(t.md.validateLink(l)){p=n.pos}else{l=""}u=p;for(;p<a;p++){r=t.src.charCodeAt(p);if(!Od(r)&&r!==10){break}}n=t.md.helpers.parseLinkTitle(t.src,p,t.posMax);if(p<a&&u!==p&&n.ok){o=n.str;p=n.pos;for(;p<a;p++){r=t.src.charCodeAt(p);if(!Od(r)&&r!==10){break}}}}if(p>=a||t.src.charCodeAt(p)!==41){f=true}p++}if(f){if(typeof t.env.references==="undefined"){return false}if(p<a&&t.src.charCodeAt(p)===91){u=p+1;p=t.md.helpers.parseLinkLabel(t,p);if(p>=0){i=t.src.slice(u,p++)}else{p=d+1}}else{p=d+1}if(!i){i=t.src.slice(c,d)}s=t.env.references[Rd(i)];if(!s){t.pos=h;return false}l=s.href;o=s.title}if(!e){t.pos=c;t.posMax=d;const e=t.push("link_open","a",1);const r=[["href",l]];e.attrs=r;if(o){r.push(["title",o])}t.linkLevel++;t.md.inline.tokenize(t);t.linkLevel--;t.push("link_close","a",-1)}t.pos=p;t.posMax=a;return true}function gm(t,e){let r,i,n,s,l,o,u,f;let h="";const a=t.pos;const c=t.posMax;if(t.src.charCodeAt(t.pos)!==33){return false}if(t.src.charCodeAt(t.pos+1)!==91){return false}const d=t.pos+2;const p=t.md.helpers.parseLinkLabel(t,t.pos+1,false);if(p<0){return false}s=p+1;if(s<c&&t.src.charCodeAt(s)===40){s++;for(;s<c;s++){r=t.src.charCodeAt(s);if(!Od(r)&&r!==10){break}}if(s>=c){return false}f=s;o=t.md.helpers.parseLinkDestination(t.src,s,t.posMax);if(o.ok){h=t.md.normalizeLink(o.str);if(t.md.validateLink(h)){s=o.pos}else{h=""}}f=s;for(;s<c;s++){r=t.src.charCodeAt(s);if(!Od(r)&&r!==10){break}}o=t.md.helpers.parseLinkTitle(t.src,s,t.posMax);if(s<c&&f!==s&&o.ok){u=o.str;s=o.pos;for(;s<c;s++){r=t.src.charCodeAt(s);if(!Od(r)&&r!==10){break}}}else{u=""}if(s>=c||t.src.charCodeAt(s)!==41){t.pos=a;return false}s++}else{if(typeof t.env.references==="undefined"){return false}if(s<c&&t.src.charCodeAt(s)===91){f=s+1;s=t.md.helpers.parseLinkLabel(t,s);if(s>=0){n=t.src.slice(f,s++)}else{s=p+1}}else{s=p+1}if(!n){n=t.src.slice(d,p)}l=t.env.references[Rd(n)];if(!l){t.pos=a;return false}h=l.href;u=l.title}if(!e){i=t.src.slice(d,p);const e=[];t.md.inline.parse(i,t.md,t.env,e);const r=t.push("image","img",0);const n=[["src",h],["alt",""]];r.attrs=n;r.children=e;r.content=i;if(u){n.push(["title",u])}}t.pos=s;t.posMax=c;return true}const bm=/^([a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)$/;const km=/^([a-zA-Z][a-zA-Z0-9+.-]{1,31}):([^<>\x00-\x20]*)$/;function Dm(t,e){let r=t.pos;if(t.src.charCodeAt(r)!==60){return false}const i=t.pos;const n=t.posMax;for(;;){if(++r>=n)return false;const e=t.src.charCodeAt(r);if(e===60)return false;if(e===62)break}const s=t.src.slice(i+1,r);if(km.test(s)){const r=t.md.normalizeLink(s);if(!t.md.validateLink(r)){return false}if(!e){const e=t.push("link_open","a",1);e.attrs=[["href",r]];e.markup="autolink";e.info="auto";const i=t.push("text","",0);i.content=t.md.normalizeLinkText(s);const n=t.push("link_close","a",-1);n.markup="autolink";n.info="auto"}t.pos+=s.length+2;return true}if(bm.test(s)){const r=t.md.normalizeLink("mailto:"+s);if(!t.md.validateLink(r)){return false}if(!e){const e=t.push("link_open","a",1);e.attrs=[["href",r]];e.markup="autolink";e.info="auto";const i=t.push("text","",0);i.content=t.md.normalizeLinkText(s);const n=t.push("link_close","a",-1);n.markup="autolink";n.info="auto"}t.pos+=s.length+2;return true}return false}function vm(t){return/^<a[>\s]/i.test(t)}function ym(t){return/^<\/a\s*>/i.test(t)}function Fm(t){const e=t|32;return e>=97&&e<=122}function Em(t,e){if(!t.md.options.html){return false}const r=t.posMax;const i=t.pos;if(t.src.charCodeAt(i)!==60||i+2>=r){return false}const n=t.src.charCodeAt(i+1);if(n!==33&&n!==63&&n!==47&&!Fm(n)){return false}const s=t.src.slice(i).match(Wp);if(!s){return false}if(!e){const e=t.push("html_inline","",0);e.content=s[0];if(vm(e.content))t.linkLevel++;if(ym(e.content))t.linkLevel--}t.pos+=s[0].length;return true}const Mm=/^&#((?:x[a-f0-9]{1,6}|[0-9]{1,7}));/i;const xm=/^&([a-z][a-z0-9]{1,31});/i;function Am(t,e){const r=t.pos;const i=t.posMax;if(t.src.charCodeAt(r)!==38)return false;if(r+1>=i)return false;const n=t.src.charCodeAt(r+1);if(n===35){const i=t.src.slice(r).match(Mm);if(i){if(!e){const e=i[1][0].toLowerCase()==="x"?parseInt(i[1].slice(1),16):parseInt(i[1],10);const r=t.push("text_special","",0);r.content=pd(e)?md(e):md(65533);r.markup=i[0];r.info="entity"}t.pos+=i[0].length;return true}}else{const i=t.src.slice(r).match(xm);if(i){const r=M(i[0]);if(r!==i[0]){if(!e){const e=t.push("text_special","",0);e.content=r;e.markup=i[0];e.info="entity"}t.pos+=i[0].length;return true}}}return false}function Cm(t){const e={};const r=t.length;if(!r)return;let i=0;let n=-2;const s=[];for(let l=0;l<r;l++){const r=t[l];s.push(0);if(t[i].marker!==r.marker||n!==r.token-1){i=l}n=r.token;r.length=r.length||0;if(!r.close)continue;if(!e.hasOwnProperty(r.marker)){e[r.marker]=[-1,-1,-1,-1,-1,-1]}const o=e[r.marker][(r.open?3:0)+r.length%3];let u=i-s[i]-1;let f=u;for(;u>o;u-=s[u]+1){const e=t[u];if(e.marker!==r.marker)continue;if(e.open&&e.end<0){let i=false;if(e.close||r.open){if((e.length+r.length)%3===0){if(e.length%3!==0||r.length%3!==0){i=true}}}if(!i){const i=u>0&&!t[u-1].open?s[u-1]+1:0;s[l]=l-u+i;s[u]=i;r.open=false;e.end=l;e.close=false;f=-1;n=-2;break}}}if(f!==-1){e[r.marker][(r.open?3:0)+(r.length||0)%3]=f}}}function Sm(t){const e=t.tokens_meta;const r=t.tokens_meta.length;Cm(t.delimiters);for(let t=0;t<r;t++){if(e[t]&&e[t].delimiters){Cm(e[t].delimiters)}}}function Om(t){let e,r;let i=0;const n=t.tokens;const s=t.tokens.length;for(e=r=0;e<s;e++){if(n[e].nesting<0)i--;n[e].level=i;if(n[e].nesting>0)i++;if(n[e].type==="text"&&e+1<s&&n[e+1].type==="text"){n[e+1].content=n[e].content+n[e+1].content}else{if(e!==r){n[r]=n[e]}r++}}if(e!==r){n.length=r}}const $m=[["text",em],["linkify",im],["newline",nm],["escape",lm],["backticks",om],["strikethrough",am.tokenize],["emphasis",mm.tokenize],["link",wm],["image",gm],["autolink",Dm],["html_inline",Em],["entity",Am]];const _m=[["balance_pairs",Sm],["strikethrough",am.postProcess],["emphasis",mm.postProcess],["fragments_join",Om]];function Bm(){this.ruler=new Ld;for(let t=0;t<$m.length;t++){this.ruler.push($m[t][0],$m[t][1])}this.ruler2=new Ld;for(let t=0;t<_m.length;t++){this.ruler2.push(_m[t][0],_m[t][1])}}Bm.prototype.skipToken=function(t){const e=t.pos;const r=this.ruler.getRules("");const i=r.length;const n=t.md.options.maxNesting;const s=t.cache;if(typeof s[e]!=="undefined"){t.pos=s[e];return}let l=false;if(t.level<n){for(let n=0;n<i;n++){t.level++;l=r[n](t,true);t.level--;if(l){if(e>=t.pos){throw new Error("inline rule didn't increment state.pos")}break}}}else{t.pos=t.posMax}if(!l){t.pos++}s[e]=t.pos};Bm.prototype.tokenize=function(t){const e=this.ruler.getRules("");const r=e.length;const i=t.posMax;const n=t.md.options.maxNesting;while(t.pos<i){const s=t.pos;let l=false;if(t.level<n){for(let i=0;i<r;i++){l=e[i](t,false);if(l){if(s>=t.pos){throw new Error("inline rule didn't increment state.pos")}break}}}if(l){if(t.pos>=i){break}continue}t.pending+=t.src[t.pos++]}if(t.pending){t.pushPending()}};Bm.prototype.parse=function(t,e,r,i){const n=new this.State(t,e,r,i);this.tokenize(n);const s=this.ruler2.getRules("");const l=s.length;for(let t=0;t<l;t++){s[t](n)}};Bm.prototype.State=Qp;function Rm(t){const e={};t=t||{};e.src_Any=ed.source;e.src_Cc=rd.source;e.src_Z=ld.source;e.src_P=nd.source;e.src_ZPCc=[e.src_Z,e.src_P,e.src_Cc].join("|");e.src_ZCc=[e.src_Z,e.src_Cc].join("|");const r="[><|]";e.src_pseudo_letter="(?:(?!"+r+"|"+e.src_ZPCc+")"+e.src_Any+")";e.src_ip4="(?:(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)";e.src_auth="(?:(?:(?!"+e.src_ZCc+"|[@/\\[\\]()]).)+@)?";e.src_port="(?::(?:6(?:[0-4]\\d{3}|5(?:[0-4]\\d{2}|5(?:[0-2]\\d|3[0-5])))|[1-5]?\\d{1,4}))?";e.src_host_terminator="(?=$|"+r+"|"+e.src_ZPCc+")"+"(?!"+(t["---"]?"-(?!--)|":"-|")+"_|:\\d|\\.-|\\.(?!$|"+e.src_ZPCc+"))";e.src_path="(?:"+"[/?#]"+"(?:"+"(?!"+e.src_ZCc+"|"+r+"|[()[\\]{}.,\"'?!\\-;]).|"+"\\[(?:(?!"+e.src_ZCc+"|\\]).)*\\]|"+"\\((?:(?!"+e.src_ZCc+"|[)]).)*\\)|"+"\\{(?:(?!"+e.src_ZCc+"|[}]).)*\\}|"+'\\"(?:(?!'+e.src_ZCc+'|["]).)+\\"|'+"\\'(?:(?!"+e.src_ZCc+"|[']).)+\\'|"+"\\'(?="+e.src_pseudo_letter+"|[-])|"+"\\.{2,}[a-zA-Z0-9%/&]|"+"\\.(?!"+e.src_ZCc+"|[.]|$)|"+(t["---"]?"\\-(?!--(?:[^-]|$))(?:-*)|":"\\-+|")+",(?!"+e.src_ZCc+"|$)|"+";(?!"+e.src_ZCc+"|$)|"+"\\!+(?!"+e.src_ZCc+"|[!]|$)|"+"\\?(?!"+e.src_ZCc+"|[?]|$)"+")+"+"|\\/"+")?";e.src_email_name='[\\-;:&=\\+\\$,\\.a-zA-Z0-9_][\\-;:&=\\+\\$,\\"\\.a-zA-Z0-9_]*';e.src_xn="xn--[a-z0-9\\-]{1,59}";e.src_domain_root="(?:"+e.src_xn+"|"+e.src_pseudo_letter+"{1,63}"+")";e.src_domain="(?:"+e.src_xn+"|"+"(?:"+e.src_pseudo_letter+")"+"|"+"(?:"+e.src_pseudo_letter+"(?:-|"+e.src_pseudo_letter+"){0,61}"+e.src_pseudo_letter+")"+")";e.src_host="(?:"+"(?:(?:(?:"+e.src_domain+")\\.)*"+e.src_domain+")"+")";e.tpl_host_fuzzy="(?:"+e.src_ip4+"|"+"(?:(?:(?:"+e.src_domain+")\\.)+(?:%TLDS%))"+")";e.tpl_host_no_ip_fuzzy="(?:(?:(?:"+e.src_domain+")\\.)+(?:%TLDS%))";e.src_host_strict=e.src_host+e.src_host_terminator;e.tpl_host_fuzzy_strict=e.tpl_host_fuzzy+e.src_host_terminator;e.src_host_port_strict=e.src_host+e.src_port+e.src_host_terminator;e.tpl_host_port_fuzzy_strict=e.tpl_host_fuzzy+e.src_port+e.src_host_terminator;e.tpl_host_port_no_ip_fuzzy_strict=e.tpl_host_no_ip_fuzzy+e.src_port+e.src_host_terminator;e.tpl_host_fuzzy_test="localhost|www\\.|\\.\\d{1,3}\\.|(?:\\.(?:%TLDS%)(?:"+e.src_ZPCc+"|>|$))";e.tpl_email_fuzzy="(^|"+r+'|"|\\(|'+e.src_ZCc+")"+"("+e.src_email_name+"@"+e.tpl_host_fuzzy_strict+")";e.tpl_link_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`||]|"+e.src_ZPCc+"))"+"((?![$+<=>^`||])"+e.tpl_host_port_fuzzy_strict+e.src_path+")";e.tpl_link_no_ip_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`||]|"+e.src_ZPCc+"))"+"((?![$+<=>^`||])"+e.tpl_host_port_no_ip_fuzzy_strict+e.src_path+")";return e}function jm(t){const e=Array.prototype.slice.call(arguments,1);e.forEach((function(e){if(!e){return}Object.keys(e).forEach((function(r){t[r]=e[r]}))}));return t}function Nm(t){return Object.prototype.toString.call(t)}function qm(t){return Nm(t)==="[object String]"}function zm(t){return Nm(t)==="[object Object]"}function Tm(t){return Nm(t)==="[object RegExp]"}function Im(t){return Nm(t)==="[object Function]"}function Pm(t){return t.replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}const Jm={fuzzyLink:true,fuzzyEmail:true,fuzzyIP:false};function Lm(t){return Object.keys(t||{}).reduce((function(t,e){return t||Jm.hasOwnProperty(e)}),false)}const Wm={"http:":{validate:function(t,e,r){const i=t.slice(e);if(!r.re.http){r.re.http=new RegExp("^\\/\\/"+r.re.src_auth+r.re.src_host_port_strict+r.re.src_path,"i")}if(r.re.http.test(i)){return i.match(r.re.http)[0].length}return 0}},"https:":"http:","ftp:":"http:","//":{validate:function(t,e,r){const i=t.slice(e);if(!r.re.no_http){r.re.no_http=new RegExp("^"+r.re.src_auth+"(?:localhost|(?:(?:"+r.re.src_domain+")\\.)+"+r.re.src_domain_root+")"+r.re.src_port+r.re.src_host_terminator+r.re.src_path,"i")}if(r.re.no_http.test(i)){if(e>=3&&t[e-3]===":"){return 0}if(e>=3&&t[e-3]==="/"){return 0}return i.match(r.re.no_http)[0].length}return 0}},"mailto:":{validate:function(t,e,r){const i=t.slice(e);if(!r.re.mailto){r.re.mailto=new RegExp("^"+r.re.src_email_name+"@"+r.re.src_host_strict,"i")}if(r.re.mailto.test(i)){return i.match(r.re.mailto)[0].length}return 0}}};const Um="a[cdefgilmnoqrstuwxz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvwxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdeghklmnopqrstuvwxyz]|n[acefgilopruz]|om|p[aefghklmnrstwy]|qa|r[eosuw]|s[abcdeghijklmnortuvxyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[et]|z[amw]";const Hm="biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф".split("|");function Zm(t){t.__index__=-1;t.__text_cache__=""}function Km(t){return function(e,r){const i=e.slice(r);if(t.test(i)){return i.match(t)[0].length}return 0}}function Vm(){return function(t,e){e.normalize(t)}}function Gm(t){const e=t.re=Rm(t.__opts__);const r=t.__tlds__.slice();t.onCompile();if(!t.__tlds_replaced__){r.push(Um)}r.push(e.src_xn);e.src_tlds=r.join("|");function i(t){return t.replace("%TLDS%",e.src_tlds)}e.email_fuzzy=RegExp(i(e.tpl_email_fuzzy),"i");e.link_fuzzy=RegExp(i(e.tpl_link_fuzzy),"i");e.link_no_ip_fuzzy=RegExp(i(e.tpl_link_no_ip_fuzzy),"i");e.host_fuzzy_test=RegExp(i(e.tpl_host_fuzzy_test),"i");const n=[];t.__compiled__={};function s(t,e){throw new Error('(LinkifyIt) Invalid schema "'+t+'": '+e)}Object.keys(t.__schemas__).forEach((function(e){const r=t.__schemas__[e];if(r===null){return}const i={validate:null,link:null};t.__compiled__[e]=i;if(zm(r)){if(Tm(r.validate)){i.validate=Km(r.validate)}else if(Im(r.validate)){i.validate=r.validate}else{s(e,r)}if(Im(r.normalize)){i.normalize=r.normalize}else if(!r.normalize){i.normalize=Vm()}else{s(e,r)}return}if(qm(r)){n.push(e);return}s(e,r)}));n.forEach((function(e){if(!t.__compiled__[t.__schemas__[e]]){return}t.__compiled__[e].validate=t.__compiled__[t.__schemas__[e]].validate;t.__compiled__[e].normalize=t.__compiled__[t.__schemas__[e]].normalize}));t.__compiled__[""]={validate:null,normalize:Vm()};const l=Object.keys(t.__compiled__).filter((function(e){return e.length>0&&t.__compiled__[e]})).map(Pm).join("|");t.re.schema_test=RegExp("(^|(?!_)(?:[><|]|"+e.src_ZPCc+"))("+l+")","i");t.re.schema_search=RegExp("(^|(?!_)(?:[><|]|"+e.src_ZPCc+"))("+l+")","ig");t.re.schema_at_start=RegExp("^"+t.re.schema_search.source,"i");t.re.pretest=RegExp("("+t.re.schema_test.source+")|("+t.re.host_fuzzy_test.source+")|@","i");Zm(t)}function Xm(t,e){const r=t.__index__;const i=t.__last_index__;const n=t.__text_cache__.slice(r,i);this.schema=t.__schema__.toLowerCase();this.index=r+e;this.lastIndex=i+e;this.raw=n;this.text=n;this.url=n}function Ym(t,e){const r=new Xm(t,e);t.__compiled__[r.schema].normalize(r,t);return r}function Qm(t,e){if(!(this instanceof Qm)){return new Qm(t,e)}if(!e){if(Lm(t)){e=t;t={}}}this.__opts__=jm({},Jm,e);this.__index__=-1;this.__last_index__=-1;this.__schema__="";this.__text_cache__="";this.__schemas__=jm({},Wm,t);this.__compiled__={};this.__tlds__=Hm;this.__tlds_replaced__=false;this.re={};Gm(this)}Qm.prototype.add=function t(e,r){this.__schemas__[e]=r;Gm(this);return this};Qm.prototype.set=function t(e){this.__opts__=jm(this.__opts__,e);return this};Qm.prototype.test=function t(e){this.__text_cache__=e;this.__index__=-1;if(!e.length){return false}let r,i,n,s,l,o,u,f,h;if(this.re.schema_test.test(e)){u=this.re.schema_search;u.lastIndex=0;while((r=u.exec(e))!==null){s=this.testSchemaAt(e,r[2],u.lastIndex);if(s){this.__schema__=r[2];this.__index__=r.index+r[1].length;this.__last_index__=r.index+r[0].length+s;break}}}if(this.__opts__.fuzzyLink&&this.__compiled__["http:"]){f=e.search(this.re.host_fuzzy_test);if(f>=0){if(this.__index__<0||f<this.__index__){if((i=e.match(this.__opts__.fuzzyIP?this.re.link_fuzzy:this.re.link_no_ip_fuzzy))!==null){l=i.index+i[1].length;if(this.__index__<0||l<this.__index__){this.__schema__="";this.__index__=l;this.__last_index__=i.index+i[0].length}}}}}if(this.__opts__.fuzzyEmail&&this.__compiled__["mailto:"]){h=e.indexOf("@");if(h>=0){if((n=e.match(this.re.email_fuzzy))!==null){l=n.index+n[1].length;o=n.index+n[0].length;if(this.__index__<0||l<this.__index__||l===this.__index__&&o>this.__last_index__){this.__schema__="mailto:";this.__index__=l;this.__last_index__=o}}}}return this.__index__>=0};Qm.prototype.pretest=function t(e){return this.re.pretest.test(e)};Qm.prototype.testSchemaAt=function t(e,r,i){if(!this.__compiled__[r.toLowerCase()]){return 0}return this.__compiled__[r.toLowerCase()].validate(e,i,this)};Qm.prototype.match=function t(e){const r=[];let i=0;if(this.__index__>=0&&this.__text_cache__===e){r.push(Ym(this,i));i=this.__last_index__}let n=i?e.slice(i):e;while(this.test(n)){r.push(Ym(this,i));n=n.slice(this.__last_index__);i+=this.__last_index__}if(r.length){return r}return null};Qm.prototype.matchAtStart=function t(e){this.__text_cache__=e;this.__index__=-1;if(!e.length)return null;const r=this.re.schema_at_start.exec(e);if(!r)return null;const i=this.testSchemaAt(e,r[2],r[0].length);if(!i)return null;this.__schema__=r[2];this.__index__=r.index+r[1].length;this.__last_index__=r.index+r[0].length+i;return Ym(this,0)};Qm.prototype.tlds=function t(e,r){e=Array.isArray(e)?e:[e];if(!r){this.__tlds__=e.slice();this.__tlds_replaced__=true;Gm(this);return this}this.__tlds__=this.__tlds__.concat(e).sort().filter((function(t,e,r){return t!==r[e-1]})).reverse();Gm(this);return this};Qm.prototype.normalize=function t(e){if(!e.schema){e.url="http://"+e.url}if(e.schema==="mailto:"&&!/^mailto:/i.test(e.url)){e.url="mailto:"+e.url}};Qm.prototype.onCompile=function t(){};const tw=2147483647;const ew=36;const rw=1;const iw=26;const nw=38;const sw=700;const lw=72;const ow=128;const uw="-";const fw=/^xn--/;const hw=/[^\0-\x7F]/;const aw=/[\x2E\u3002\uFF0E\uFF61]/g;const cw={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"};const dw=ew-rw;const pw=Math.floor;const mw=String.fromCharCode;function ww(t){throw new RangeError(cw[t])}function gw(t,e){const r=[];let i=t.length;while(i--){r[i]=e(t[i])}return r}function bw(t,e){const r=t.split("@");let i="";if(r.length>1){i=r[0]+"@";t=r[1]}t=t.replace(aw,".");const n=t.split(".");const s=gw(n,e).join(".");return i+s}function kw(t){const e=[];let r=0;const i=t.length;while(r<i){const n=t.charCodeAt(r++);if(n>=55296&&n<=56319&&r<i){const i=t.charCodeAt(r++);if((i&64512)==56320){e.push(((n&1023)<<10)+(i&1023)+65536)}else{e.push(n);r--}}else{e.push(n)}}return e}const Dw=t=>String.fromCodePoint(...t);const vw=function(t){if(t>=48&&t<58){return 26+(t-48)}if(t>=65&&t<91){return t-65}if(t>=97&&t<123){return t-97}return ew};const yw=function(t,e){return t+22+75*(t<26)-((e!=0)<<5)};const Fw=function(t,e,r){let i=0;t=r?pw(t/sw):t>>1;t+=pw(t/e);for(;t>dw*iw>>1;i+=ew){t=pw(t/dw)}return pw(i+(dw+1)*t/(t+nw))};const Ew=function(t){const e=[];const r=t.length;let i=0;let n=ow;let s=lw;let l=t.lastIndexOf(uw);if(l<0){l=0}for(let r=0;r<l;++r){if(t.charCodeAt(r)>=128){ww("not-basic")}e.push(t.charCodeAt(r))}for(let o=l>0?l+1:0;o<r;){const l=i;for(let e=1,n=ew;;n+=ew){if(o>=r){ww("invalid-input")}const l=vw(t.charCodeAt(o++));if(l>=ew){ww("invalid-input")}if(l>pw((tw-i)/e)){ww("overflow")}i+=l*e;const u=n<=s?rw:n>=s+iw?iw:n-s;if(l<u){break}const f=ew-u;if(e>pw(tw/f)){ww("overflow")}e*=f}const u=e.length+1;s=Fw(i-l,u,l==0);if(pw(i/u)>tw-n){ww("overflow")}n+=pw(i/u);i%=u;e.splice(i++,0,n)}return String.fromCodePoint(...e)};const Mw=function(t){const e=[];t=kw(t);const r=t.length;let i=ow;let n=0;let s=lw;for(const r of t){if(r<128){e.push(mw(r))}}const l=e.length;let o=l;if(l){e.push(uw)}while(o<r){let r=tw;for(const e of t){if(e>=i&&e<r){r=e}}const u=o+1;if(r-i>pw((tw-n)/u)){ww("overflow")}n+=(r-i)*u;i=r;for(const r of t){if(r<i&&++n>tw){ww("overflow")}if(r===i){let t=n;for(let r=ew;;r+=ew){const i=r<=s?rw:r>=s+iw?iw:r-s;if(t<i){break}const n=t-i;const l=ew-i;e.push(mw(yw(i+n%l,0)));t=pw(n/l)}e.push(mw(yw(t,0)));s=Fw(n,u,o===l);n=0;++o}}++n;++i}return e.join("")};const xw=function(t){return bw(t,(function(t){return fw.test(t)?Ew(t.slice(4).toLowerCase()):t}))};const Aw=function(t){return bw(t,(function(t){return hw.test(t)?"xn--"+Mw(t):t}))};const Cw={version:"2.3.1",ucs2:{decode:kw,encode:Dw},decode:Ew,encode:Mw,toASCII:Aw,toUnicode:xw};const Sw={options:{html:false,xhtmlOut:false,breaks:false,langPrefix:"language-",linkify:false,typographer:false,quotes:"“”‘’",highlight:null,maxNesting:100},components:{core:{},block:{},inline:{}}};const Ow={options:{html:false,xhtmlOut:false,breaks:false,langPrefix:"language-",linkify:false,typographer:false,quotes:"“”‘’",highlight:null,maxNesting:20},components:{core:{rules:["normalize","block","inline","text_join"]},block:{rules:["paragraph"]},inline:{rules:["text"],rules2:["balance_pairs","fragments_join"]}}};const $w={options:{html:true,xhtmlOut:true,breaks:false,langPrefix:"language-",linkify:false,typographer:false,quotes:"“”‘’",highlight:null,maxNesting:20},components:{core:{rules:["normalize","block","inline","text_join"]},block:{rules:["blockquote","code","fence","heading","hr","html_block","lheading","list","reference","paragraph"]},inline:{rules:["autolink","backticks","emphasis","entity","escape","html_inline","image","link","newline","text"],rules2:["balance_pairs","emphasis","fragments_join"]}}};const _w={default:Sw,zero:Ow,commonmark:$w};const Bw=/^(vbscript|javascript|file|data):/;const Rw=/^data:image\/(gif|png|jpeg|webp);/;function jw(t){const e=t.trim().toLowerCase();return Bw.test(e)?Rw.test(e):true}const Nw=["http:","https:","mailto:"];function qw(t){const e=Qc(t,true);if(e.hostname){if(!e.protocol||Nw.indexOf(e.protocol)>=0){try{e.hostname=Cw.toASCII(e.hostname)}catch(t){}}}return qc(zc(e))}function zw(t){const e=Qc(t,true);if(e.hostname){if(!e.protocol||Nw.indexOf(e.protocol)>=0){try{e.hostname=Cw.toUnicode(e.hostname)}catch(t){}}}return Rc(zc(e),Rc.defaultChars+"%")}function Tw(t,e){if(!(this instanceof Tw)){return new Tw(t,e)}if(!e){if(!fd(t)){e=t||{};t="default"}}this.inline=new Bm;this.block=new Yp;this.core=new wp;this.renderer=new Jd;this.linkify=new Qm;this.validateLink=jw;this.normalizeLink=qw;this.normalizeLinkText=zw;this.utils=Nd;this.helpers=cd({},Id);this.options={};this.configure(t);if(e){this.set(e)}}Tw.prototype.set=function(t){cd(this.options,t);return this};Tw.prototype.configure=function(t){const e=this;if(fd(t)){const e=t;t=_w[e];if(!t){throw new Error('Wrong `markdown-it` preset "'+e+'", check name')}}if(!t){throw new Error("Wrong `markdown-it` preset, can't be empty")}if(t.options){e.set(t.options)}if(t.components){Object.keys(t.components).forEach((function(r){if(t.components[r].rules){e[r].ruler.enableOnly(t.components[r].rules)}if(t.components[r].rules2){e[r].ruler2.enableOnly(t.components[r].rules2)}}))}return this};Tw.prototype.enable=function(t,e){let r=[];if(!Array.isArray(t)){t=[t]}["core","block","inline"].forEach((function(e){r=r.concat(this[e].ruler.enable(t,true))}),this);r=r.concat(this.inline.ruler2.enable(t,true));const i=t.filter((function(t){return r.indexOf(t)<0}));if(i.length&&!e){throw new Error("MarkdownIt. Failed to enable unknown rule(s): "+i)}return this};Tw.prototype.disable=function(t,e){let r=[];if(!Array.isArray(t)){t=[t]}["core","block","inline"].forEach((function(e){r=r.concat(this[e].ruler.disable(t,true))}),this);r=r.concat(this.inline.ruler2.disable(t,true));const i=t.filter((function(t){return r.indexOf(t)<0}));if(i.length&&!e){throw new Error("MarkdownIt. Failed to disable unknown rule(s): "+i)}return this};Tw.prototype.use=function(t){const e=[this].concat(Array.prototype.slice.call(arguments,1));t.apply(t,e);return this};Tw.prototype.parse=function(t,e){if(typeof t!=="string"){throw new Error("Input data should be a String")}const r=new this.core.State(t,this,e);this.core.process(r);return r.tokens};Tw.prototype.render=function(t,e){e=e||{};return this.renderer.render(this.parse(t,e),this.options,e)};Tw.prototype.parseInline=function(t,e){const r=new this.core.State(t,this,e);r.inlineMode=true;this.core.process(r);return r.tokens};Tw.prototype.renderInline=function(t,e){e=e||{};return this.renderer.render(this.parseInline(t,e),this.options,e)};const Iw=new cr({nodes:{doc:{content:"block+"},paragraph:{content:"inline*",group:"block",parseDOM:[{tag:"p"}],toDOM(){return["p",0]}},blockquote:{content:"block+",group:"block",parseDOM:[{tag:"blockquote"}],toDOM(){return["blockquote",0]}},horizontal_rule:{group:"block",parseDOM:[{tag:"hr"}],toDOM(){return["div",["hr"]]}},heading:{attrs:{level:{default:1}},content:"(text | image)*",group:"block",defining:true,parseDOM:[{tag:"h1",attrs:{level:1}},{tag:"h2",attrs:{level:2}},{tag:"h3",attrs:{level:3}},{tag:"h4",attrs:{level:4}},{tag:"h5",attrs:{level:5}},{tag:"h6",attrs:{level:6}}],toDOM(t){return["h"+t.attrs.level,0]}},code_block:{content:"text*",group:"block",code:true,defining:true,marks:"",attrs:{params:{default:""}},parseDOM:[{tag:"pre",preserveWhitespace:"full",getAttrs:t=>({params:t.getAttribute("data-params")||""})}],toDOM(t){return["pre",t.attrs.params?{"data-params":t.attrs.params}:{},["code",0]]}},ordered_list:{content:"list_item+",group:"block",attrs:{order:{default:1},tight:{default:false}},parseDOM:[{tag:"ol",getAttrs(t){return{order:t.hasAttribute("start")?+t.getAttribute("start"):1,tight:t.hasAttribute("data-tight")}}}],toDOM(t){return["ol",{start:t.attrs.order==1?null:t.attrs.order,"data-tight":t.attrs.tight?"true":null},0]}},bullet_list:{content:"list_item+",group:"block",attrs:{tight:{default:false}},parseDOM:[{tag:"ul",getAttrs:t=>({tight:t.hasAttribute("data-tight")})}],toDOM(t){return["ul",{"data-tight":t.attrs.tight?"true":null},0]}},list_item:{content:"block+",defining:true,parseDOM:[{tag:"li"}],toDOM(){return["li",0]}},text:{group:"inline"},image:{inline:true,attrs:{src:{},alt:{default:null},title:{default:null}},group:"inline",draggable:true,parseDOM:[{tag:"img[src]",getAttrs(t){return{src:t.getAttribute("src"),title:t.getAttribute("title"),alt:t.getAttribute("alt")}}}],toDOM(t){return["img",t.attrs]}},hard_break:{inline:true,group:"inline",selectable:false,parseDOM:[{tag:"br"}],toDOM(){return["br"]}}},marks:{em:{parseDOM:[{tag:"i"},{tag:"em"},{style:"font-style=italic"},{style:"font-style=normal",clearMark:t=>t.type.name=="em"}],toDOM(){return["em"]}},strong:{parseDOM:[{tag:"strong"},{tag:"b",getAttrs:t=>t.style.fontWeight!="normal"&&null},{style:"font-weight=400",clearMark:t=>t.type.name=="strong"},{style:"font-weight",getAttrs:t=>/^(bold(er)?|[5-9]\d{2,})$/.test(t)&&null}],toDOM(){return["strong"]}},link:{attrs:{href:{},title:{default:null}},inclusive:false,parseDOM:[{tag:"a[href]",getAttrs(t){return{href:t.getAttribute("href"),title:t.getAttribute("title")}}}],toDOM(t){return["a",t.attrs]}},code:{parseDOM:[{tag:"code"}],toDOM(){return["code"]}}}});function Pw(t,e){if(t.isText&&e.isText&&De.sameSet(t.marks,e.marks))return t.withText(t.text+e.text)}class Jw{constructor(t,e){this.schema=t;this.tokenHandlers=e;this.stack=[{type:t.topNodeType,attrs:null,content:[],marks:De.none}]}top(){return this.stack[this.stack.length-1]}push(t){if(this.stack.length)this.top().content.push(t)}addText(t){if(!t)return;let e=this.top(),r=e.content,i=r[r.length-1];let n=this.schema.text(t,e.marks),s;if(i&&(s=Pw(i,n)))r[r.length-1]=s;else r.push(n)}openMark(t){let e=this.top();e.marks=t.addToSet(e.marks)}closeMark(t){let e=this.top();e.marks=t.removeFromSet(e.marks)}parseTokens(t){for(let e=0;e<t.length;e++){let r=t[e];let i=this.tokenHandlers[r.type];if(!i)throw new Error("Token type `"+r.type+"` not supported by Markdown parser");i(this,r,t,e)}}addNode(t,e,r){let i=this.top();let n=t.createAndFill(e,r,i?i.marks:[]);if(!n)return null;this.push(n);return n}openNode(t,e){this.stack.push({type:t,attrs:e,content:[],marks:De.none})}closeNode(){let t=this.stack.pop();return this.addNode(t.type,t.attrs,t.content)}}function Lw(t,e,r,i){if(t.getAttrs)return t.getAttrs(e,r,i);else if(t.attrs instanceof Function)return t.attrs(e);else return t.attrs}function Ww(t,e){return t.noCloseToken||e=="code_inline"||e=="code_block"||e=="fence"}function Uw(t){return t[t.length-1]=="\n"?t.slice(0,t.length-1):t}function Hw(){}function Zw(t,e){let r=Object.create(null);for(let i in e){let n=e[i];if(n.block){let e=t.nodeType(n.block);if(Ww(n,i)){r[i]=(t,r,i,s)=>{t.openNode(e,Lw(n,r,i,s));t.addText(Uw(r.content));t.closeNode()}}else{r[i+"_open"]=(t,r,i,s)=>t.openNode(e,Lw(n,r,i,s));r[i+"_close"]=t=>t.closeNode()}}else if(n.node){let e=t.nodeType(n.node);r[i]=(t,r,i,s)=>t.addNode(e,Lw(n,r,i,s))}else if(n.mark){let e=t.marks[n.mark];if(Ww(n,i)){r[i]=(t,r,i,s)=>{t.openMark(e.create(Lw(n,r,i,s)));t.addText(Uw(r.content));t.closeMark(e)}}else{r[i+"_open"]=(t,r,i,s)=>t.openMark(e.create(Lw(n,r,i,s)));r[i+"_close"]=t=>t.closeMark(e)}}else if(n.ignore){if(Ww(n,i)){r[i]=Hw}else{r[i+"_open"]=Hw;r[i+"_close"]=Hw}}else{throw new RangeError("Unrecognized parsing spec "+JSON.stringify(n))}}r.text=(t,e)=>t.addText(e.content);r.inline=(t,e)=>t.parseTokens(e.children);r.softbreak=r.softbreak||(t=>t.addText(" "));return r}class Kw{constructor(t,e,r){this.schema=t;this.tokenizer=e;this.tokens=r;this.tokenHandlers=Zw(t,r)}parse(t,e={}){let r=new Jw(this.schema,this.tokenHandlers),i;r.parseTokens(this.tokenizer.parse(t,e));do{i=r.closeNode()}while(r.stack.length);return i||this.schema.topNodeType.createAndFill()}}function Vw(t,e){while(++e<t.length)if(t[e].type!="list_item_open")return t[e].hidden;return false}new Kw(Iw,Tw("commonmark",{html:false}),{blockquote:{block:"blockquote"},paragraph:{block:"paragraph"},list_item:{block:"list_item"},bullet_list:{block:"bullet_list",getAttrs:(t,e,r)=>({tight:Vw(e,r)})},ordered_list:{block:"ordered_list",getAttrs:(t,e,r)=>({order:+t.attrGet("start")||1,tight:Vw(e,r)})},heading:{block:"heading",getAttrs:t=>({level:+t.tag.slice(1)})},code_block:{block:"code_block",noCloseToken:true},fence:{block:"code_block",getAttrs:t=>({params:t.info||""}),noCloseToken:true},hr:{node:"horizontal_rule"},image:{node:"image",getAttrs:t=>({src:t.attrGet("src"),title:t.attrGet("title")||null,alt:t.children[0]&&t.children[0].content||null})},hardbreak:{node:"hard_break"},em:{mark:"em"},strong:{mark:"strong"},link:{mark:"link",getAttrs:t=>({href:t.attrGet("href"),title:t.attrGet("title")||null})},code_inline:{mark:"code",noCloseToken:true}});const Gw={open:"",close:"",mixable:true};class Xw{constructor(t,e,r={}){this.nodes=t;this.marks=e;this.options=r}serialize(t,e={}){e=Object.assign({},this.options,e);let r=new eg(this.nodes,this.marks,e);r.renderContent(t);return r.out}}const Yw=new Xw({blockquote(t,e){t.wrapBlock("> ",null,e,(()=>t.renderContent(e)))},code_block(t,e){const r=e.textContent.match(/`{3,}/gm);const i=r?r.sort().slice(-1)[0]+"`":"```";t.write(i+(e.attrs.params||"")+"\n");t.text(e.textContent,false);t.write("\n");t.write(i);t.closeBlock(e)},heading(t,e){t.write(t.repeat("#",e.attrs.level)+" ");t.renderInline(e,false);t.closeBlock(e)},horizontal_rule(t,e){t.write(e.attrs.markup||"---");t.closeBlock(e)},bullet_list(t,e){t.renderList(e," ",(()=>(e.attrs.bullet||"*")+" "))},ordered_list(t,e){let r=e.attrs.order||1;let i=String(r+e.childCount-1).length;let n=t.repeat(" ",i+2);t.renderList(e,n,(e=>{let n=String(r+e);return t.repeat(" ",i-n.length)+n+". "}))},list_item(t,e){t.renderContent(e)},paragraph(t,e){t.renderInline(e);t.closeBlock(e)},image(t,e){t.write("]/g,"\\$&")+(e.attrs.title?' "'+e.attrs.title.replace(/"/g,'\\"')+'"':"")+")")},hard_break(t,e,r,i){for(let n=i+1;n<r.childCount;n++)if(r.child(n).type!=e.type){t.write("\\\n");return}},text(t,e){t.text(e.text,!t.inAutolink)}},{em:{open:"*",close:"*",mixable:true,expelEnclosingWhitespace:true},strong:{open:"**",close:"**",mixable:true,expelEnclosingWhitespace:true},link:{open(t,e,r,i){t.inAutolink=tg(e,r,i);return t.inAutolink?"<":"["},close(t,e,r,i){let{inAutolink:n}=t;t.inAutolink=undefined;return n?">":"]("+e.attrs.href.replace(/[\(\)"]/g,"\\$&")+(e.attrs.title?` "${e.attrs.title.replace(/"/g,'\\"')}"`:"")+")"},mixable:true},code:{open(t,e,r,i){return Qw(r.child(i),-1)},close(t,e,r,i){return Qw(r.child(i-1),1)},escape:false}});function Qw(t,e){let r=/`+/g,i,n=0;if(t.isText)while(i=r.exec(t.text))n=Math.max(n,i[0].length);let s=n>0&&e>0?" `":"`";for(let t=0;t<n;t++)s+="`";if(n>0&&e<0)s+=" ";return s}function tg(t,e,r){if(t.attrs.title||!/^\w+:/.test(t.attrs.href))return false;let i=e.child(r);if(!i.isText||i.text!=t.attrs.href||i.marks[i.marks.length-1]!=t)return false;return r==e.childCount-1||!t.isInSet(e.child(r+1).marks)}class eg{constructor(t,e,r){this.nodes=t;this.marks=e;this.options=r;this.delim="";this.out="";this.closed=null;this.inAutolink=undefined;this.atBlockStart=false;this.inTightList=false;if(typeof this.options.tightLists=="undefined")this.options.tightLists=false;if(typeof this.options.hardBreakNodeName=="undefined")this.options.hardBreakNodeName="hard_break"}flushClose(t=2){if(this.closed){if(!this.atBlank())this.out+="\n";if(t>1){let e=this.delim;let r=/\s+$/.exec(e);if(r)e=e.slice(0,e.length-r[0].length);for(let r=1;r<t;r++)this.out+=e+"\n"}this.closed=null}}getMark(t){let e=this.marks[t];if(!e){if(this.options.strict!==false)throw new Error(`Mark type \`${t}\` not supported by Markdown renderer`);e=Gw}return e}wrapBlock(t,e,r,i){let n=this.delim;this.write(e!=null?e:t);this.delim+=t;i();this.delim=n;this.closeBlock(r)}atBlank(){return/(^|\n)$/.test(this.out)}ensureNewLine(){if(!this.atBlank())this.out+="\n"}write(t){this.flushClose();if(this.delim&&this.atBlank())this.out+=this.delim;if(t)this.out+=t}closeBlock(t){this.closed=t}text(t,e=true){let r=t.split("\n");for(let t=0;t<r.length;t++){this.write();if(!e&&r[t][0]=="["&&/(^|[^\\])\!$/.test(this.out))this.out=this.out.slice(0,this.out.length-1)+"\\!";this.out+=e?this.esc(r[t],this.atBlockStart):r[t];if(t!=r.length-1)this.out+="\n"}}render(t,e,r){if(this.nodes[t.type.name]){this.nodes[t.type.name](this,t,e,r)}else{if(this.options.strict!==false){throw new Error("Token type `"+t.type.name+"` not supported by Markdown renderer")}else if(!t.type.isLeaf){if(t.type.inlineContent)this.renderInline(t);else this.renderContent(t);if(t.isBlock)this.closeBlock(t)}}}renderContent(t){t.forEach(((e,r,i)=>this.render(e,t,i)))}renderInline(t,e=true){this.atBlockStart=e;let r=[],i="";let n=(e,n,s)=>{let l=e?e.marks:[];if(e&&e.type.name===this.options.hardBreakNodeName)l=l.filter((e=>{if(s+1==t.childCount)return false;let r=t.child(s+1);return e.isInSet(r.marks)&&(!r.isText||/\S/.test(r.text))}));let o=i;i="";if(e&&e.isText&&l.some((t=>{let e=this.getMark(t.type.name);return e&&e.expelEnclosingWhitespace&&!t.isInSet(r)}))){let[t,i,n]=/^(\s*)(.*)$/m.exec(e.text);if(i){o+=i;e=n?e.withText(n):null;if(!e)l=r}}if(e&&e.isText&&l.some((e=>{let r=this.getMark(e.type.name);return r&&r.expelEnclosingWhitespace&&(s==t.childCount-1||!e.isInSet(t.child(s+1).marks))}))){let[t,n,s]=/^(.*?)(\s*)$/m.exec(e.text);if(s){i=s;e=n?e.withText(n):null;if(!e)l=r}}let u=l.length?l[l.length-1]:null;let f=u&&this.getMark(u.type.name).escape===false;let h=l.length-(f?1:0);t:for(let t=0;t<h;t++){let e=l[t];if(!this.getMark(e.type.name).mixable)break;for(let i=0;i<r.length;i++){let n=r[i];if(!this.getMark(n.type.name).mixable)break;if(e.eq(n)){if(t>i)l=l.slice(0,i).concat(e).concat(l.slice(i,t)).concat(l.slice(t+1,h));else if(i>t)l=l.slice(0,t).concat(l.slice(t+1,i)).concat(e).concat(l.slice(i,h));continue t}}}let a=0;while(a<Math.min(r.length,h)&&l[a].eq(r[a]))++a;while(a<r.length)this.text(this.markString(r.pop(),false,t,s),false);if(o)this.text(o);if(e){while(r.length<h){let e=l[r.length];r.push(e);this.text(this.markString(e,true,t,s),false);this.atBlockStart=false}if(f&&e.isText)this.text(this.markString(u,true,t,s)+e.text+this.markString(u,false,t,s+1),false);else this.render(e,t,s);this.atBlockStart=false}if((e===null||e===void 0?void 0:e.isText)&&e.nodeSize>0){this.atBlockStart=false}};t.forEach(n);n(null,0,t.childCount);this.atBlockStart=false}renderList(t,e,r){if(this.closed&&this.closed.type==t.type)this.flushClose(3);else if(this.inTightList)this.flushClose(1);let i=typeof t.attrs.tight!="undefined"?t.attrs.tight:this.options.tightLists;let n=this.inTightList;this.inTightList=i;t.forEach(((n,s,l)=>{if(l&&i)this.flushClose(1);this.wrapBlock(e,r(l),t,(()=>this.render(n,t,l)))}));this.inTightList=n}esc(t,e=false){t=t.replace(/[`*\\~\[\]_]/g,((e,r)=>e=="_"&&r>0&&r+1<t.length&&t[r-1].match(/\w/)&&t[r+1].match(/\w/)?e:"\\"+e));if(e)t=t.replace(/^(\+[ ]|[\-*>])/,"\\$&").replace(/^(\s*)(#{1,6})(\s|$)/,"$1\\$2$3").replace(/^(\s*\d+)\.\s/,"$1\\. ");if(this.options.escapeExtraCharacters)t=t.replace(this.options.escapeExtraCharacters,"\\$&");return t}quote(t){let e=t.indexOf('"')==-1?'""':t.indexOf("'")==-1?"''":"()";return e[0]+t+e[1]}repeat(t,e){let r="";for(let i=0;i<e;i++)r+=t;return r}markString(t,e,r,i){let n=this.getMark(t.type.name);let s=e?n.open:n.close;return typeof s=="string"?s:s(this,t,r,i)}getEnclosingWhitespace(t){return{leading:(t.match(/^(\s+)/)||[undefined])[0],trailing:(t.match(/(\s+)$/)||[undefined])[0]}}}const rg=t=>(e,r)=>{const i=`<${t.tagName}`+t.attributes.map((t=>` ${t}="${r.attrs[t]}"`)).join("")+">";const n=`</${t.tagName}>`;e.write(i);e.renderContent(r);e.write(n)};const ig=t=>{const e={};t.forEach((t=>{e[t.tagName]=rg(t)}));const r=Object.assign(Object.assign({},Yw.nodes),e);const i=Object.assign(Object.assign({},Yw.marks),{strikethrough:{open:"~~",close:"~~",mixable:true,expelEnclosingWhitespace:true}});return new Xw(r,i)};class ng{constructor(t){this.parseAsHTML=t=>{const e=this.customNodes.map((t=>({tagName:t.tagName,attributes:t.attributes})));return x(t,{whitelist:e})};this.serialize=t=>{if(t.dom.textContent===""){return""}else{return this.markdownSerializer.serialize(t.state.doc)}};this.markdownSerializer=ig(t);this.customNodes=t}}class sg{constructor(){this.parseAsHTML=t=>new Promise((e=>{e(t)}));this.serialize=t=>{if(t.dom.textContent===""){return""}else{return t.dom.innerHTML}}}}const lg={parseDOM:[{tag:"s"},{tag:"del"},{tag:"strike"},{style:"text-decoration=line-through"}],toDOM:()=>["s",0]};const og=new Dn("linkPlugin");const ug=(t,e)=>{const{from:r,to:i}=t.state.selection;let n="";let s="";t.state.doc.nodesBetween(r,i,((t,e)=>{if(t.type.name!=="text"){return}const l=Math.max(0,r-e);const o=Math.min(t.text.length,i-e);n+=t.text.slice(l,o);t.marks.forEach((t=>{if(t.type.name==="link"){s=t.attrs.href}}))}));if(e){e(n,s)}};const fg=(t,e,r)=>{while(e>0){const i=t.nodeAt(e-1);if(!(i===null||i===void 0?void 0:i.isText)||!i.marks.some((t=>t.type.name===lc.Link&&t.attrs.href===r))){break}e--}return e};const hg=(t,e,r)=>{while(e<t.content.size){const i=t.nodeAt(e);if(!(i===null||i===void 0?void 0:i.isText)||!i.marks.some((t=>t.type.name===lc.Link&&t.attrs.href===r))){break}e++}return e};const ag=(t,e)=>{const r=t.posAtCoords({left:e.clientX,top:e.clientY});const i=t.state.doc.nodeAt(r.pos);if(!i){return null}const n=i.marks.find((t=>t.type.name===lc.Link));if(!n){return null}const s=n.attrs.href;const l=fg(t.state.doc,r.pos,s);const o=hg(t.state.doc,r.pos,s);const u=t.state.doc.textBetween(l,o," ");return{href:s,text:u,from:l,to:o}};const cg=(t,e)=>{const{href:r}=ag(t,e);if(r){window.open(r,"_blank");return true}return false};const dg=(t,e,r)=>{const i=new CustomEvent("open-editor-link-menu",{detail:{href:e,text:r},bubbles:true,composed:true});t.dom.dispatchEvent(i)};let pg=0;const mg=200;let wg;const gg=(t,e)=>{const r=Date.now();if(r-pg<mg){clearTimeout(wg);pg=r;return false}pg=r;wg=setTimeout((()=>{const r=ag(t,e);if(r){const{href:e,text:i,from:n,to:s}=r;const l=t.state.tr.setSelection(Yi.create(t.state.doc,n,s));t.dispatch(l);dg(t,e,i)}}),mg);return true};const bg=(t,e)=>{const r=e.clipboardData;if(!r){return false}const i=r.getData("text/plain");if(bc(i)){kg(t,i);return true}return false};const kg=(t,e)=>{const{state:r,dispatch:i}=t;const{from:n,to:s}=r.selection;const l=Uu.marks.link.create({href:e,title:e,target:wc(e)?"_blank":null});const o=r.doc.textBetween(n,s," ")||e;const u=r.tr.insertText(o,n,s).addMark(n,n+o.length,l);i(u)};const Dg=t=>new gn({key:og,props:{handlePaste:(t,e)=>bg(t,e),handleDOMEvents:{mousedown:(t,e)=>{if((e.metaKey||e.ctrlKey)&&e.button===0){return cg(t,e)}if(e.button!==fc.Right){return gg(t,e)}return true},click:(t,e)=>{if(!(e.target instanceof HTMLElement)){return}const r=e.target.closest("a");if(r){e.preventDefault();e.stopPropagation()}}}},view:()=>({update:e=>{ug(e,t)}})});const vg=new Dn("imageRemoverPlugin");const yg=()=>new gn({key:vg,props:{handlePaste:(t,e,r)=>Mg(t,e,r)}});const Fg=t=>{if(t instanceof Pe){if(t.type.name==="image"){return true}let e=false;t.content.forEach((t=>{if(Fg(t)){e=true}}));return e}else if(t instanceof we){let e=false;t.forEach((t=>{if(Fg(t)){e=true}}));return e}return false};const Eg=t=>{const e=[];t.forEach((t=>{if(!Fg(t)){if(t.content.size>0){const r=Eg(t.content);const i=t.copy(r);e.push(i)}else{e.push(t)}}}));return we.fromArray(e)};const Mg=(t,e,r)=>{const i=e.clipboardData;if(!i){return false}const n=new ye(Eg(r.content),r.openStart,r.openEnd);if(n.content.childCount<r.content.childCount){const{state:e,dispatch:r}=t;const i=e.tr.replaceSelection(n);r(i);return true}return false};const xg=new Dn("actionBarPlugin");const Ag=(t,e,r)=>{const i={};t.forEach((t=>{const n=e.getCommand(t);i[t]=n&&n.active&&n.active(r.state)}));return i};const Cg=(t,e,r)=>new gn({key:xg,state:{init:()=>({}),apply:(t,e)=>{const r=t.getMeta(xg);return r?r:e}},view:()=>({update:i=>{const n=xg.getState(i.state);const s=Ag(t,e,i);if(!O(n,s)){const t=i.state.tr.setMeta(xg,s);i.dispatch(t);r(s)}}})});const Sg=new Dn("actionBarInteractionPlugin");const Og=(t,e)=>{const{state:r}=e;const i=r.selection;let n=r.tr;if(!i.empty){n.setSelection(i)}t(r,(t=>{n=t}));e.dispatch(n);e.focus()};const $g=t=>new gn({key:Sg,props:{handleDOMEvents:{actionBarItemClick:(e,r)=>{r.preventDefault();r.stopPropagation();const{value:i}=r.detail;try{const r=t.getCommand(i);Og(r,e)}catch(t){console.error(`Error executing command: ${t}`)}return true},saveLinkMenu:(e,r)=>{r.preventDefault();r.stopPropagation();const{type:i,link:n}=r.detail;if(i===lc.Link){try{const r=t.getCommand(i,n);Og(r,e)}catch(t){console.error(`Error executing command: ${t}`)}}return true}}}});const _g=t=>{const e={};t.attributes.forEach((t=>e[t]={}));const r=`${t.tagName}[${t.attributes.map((t=>t)).join("][")}]`;return{group:"inline",content:"(text* | inline*)",inline:true,atom:true,selectable:true,attrs:e,toDOM:e=>[t.tagName,e.attrs],parseDOM:[{tag:r,getAttrs:e=>{const r={};t.attributes.forEach((t=>r[t]=e.getAttribute(t)));return r}}]}};const Bg=t=>{const e=Ng(t);return{insert:r=>{const{state:i,dispatch:n}=t;const{schema:s,selection:l}=i;const{$from:o}=l;let u;try{u=Rg(r,s)}catch(t){console.error(t.message);return}const f=s.text(" ");const h=s.nodes.doc.create(null,[u,f]);const a=i.tr.replaceWith(e,o.pos,h);a.setMeta("stopTrigger",true);n(a)}}};const Rg=(t,e)=>{var r;if(typeof t==="string"){return e.text(t)}const i=t.node;if(typeof i==="string"){return e.text(i)}const n=jg(i.tagName,e);const s=((r=t.children)!==null&&r!==void 0?r:[]).map((t=>Rg(t,e))).filter(Boolean);return n.create(i.attributes,s)};const jg=(t,e)=>{const r=Object.values(e.nodes).find((e=>e.name===t));if(!r){throw new Error(`A custom element hasn't been registered for node ${t}`)}return r};const Ng=t=>{var e,r,i;return(i=(r=(e=t.state)===null||e===void 0?void 0:e.selection)===null||r===void 0?void 0:r.$from)===null||i===void 0?void 0:i.pos};const qg=(t,e)=>t.length===1&&e.includes(t);const zg=t=>{const{$from:e}=t.selection;if(e.pos===1){return true}const r=e.pos-1;if(r>0){if(e.parentOffset===0){return true}const i=t.doc.textBetween(r,e.pos);return i===" "||i==="\n"}return false};const Tg=(t,e,r,i)=>{const n=t.selection.$from.pos;if(n<r||n>r+i+1){return false}return t.doc.textBetween(r,r+1)===e};const Ig=(t,e,r)=>({trigger:e,textEditor:Bg(t),value:r});const Pg=(t,e,r,i)=>{const n=new CustomEvent(t,{detail:Ig(e,r,i),bubbles:true,composed:true});e.dom.dispatchEvent(n)};const Jg=(t,e,r)=>{let i="";let n="";e.forEach((t=>{if(t.docChanged){t.steps.forEach((t=>{if(t instanceof ii||t instanceof ni){const e=t.slice;const s=t.from;const l=t.to;if(e===null||e===void 0?void 0:e.size){i+=e.content.textBetween(0,e.size)}else if(s!==l){const t=r.doc.textBetween(s,l);n+=t}}}))}}));if(i){t+=i}else if(n){t=t.slice(0,-n.length)}return t};const Lg=t=>{let e=null;let r="";let i=null;let n=null;const s=()=>{r="";Pg("triggerStop",i,e,r);n=null;e=null};const l=(i,l)=>{const{state:o}=i;if(l.key==="Escape"){s();return true}if(qg(l.key,t)&&zg(o)){e=l.key;r="";n=o.selection.$from.pos-r.length;Pg("triggerStart",i,e,r);return false}return false};const o=(t,s,l)=>{if(!e||!n||!i){return}if(!Tg(l,e,n,r.length)){return}const o=Jg(r,t,s);if(o!==r){r=o;Pg("triggerChange",i,e,r.slice(1))}};return new gn({key:new Dn("triggerPlugin"),view:t=>{i=t;return{}},state:{init:()=>({}),apply:t=>{if(t.getMeta("stopTrigger")){s()}return{}}},props:{handleKeyDown:l},appendTransaction:o})};var Wg;var Ug;if(typeof WeakMap!="undefined"){let t=new WeakMap;Wg=e=>t.get(e);Ug=(e,r)=>{t.set(e,r);return r}}else{const t=[];const e=10;let r=0;Wg=e=>{for(let r=0;r<t.length;r+=2)if(t[r]==e)return t[r+1]};Ug=(i,n)=>{if(r==e)r=0;t[r++]=i;return t[r++]=n}}var Hg=class{constructor(t,e,r,i){this.width=t;this.height=e;this.map=r;this.problems=i}findCell(t){for(let e=0;e<this.map.length;e++){const r=this.map[e];if(r!=t)continue;const i=e%this.width;const n=e/this.width|0;let s=i+1;let l=n+1;for(let t=1;s<this.width&&this.map[e+t]==r;t++){s++}for(let t=1;l<this.height&&this.map[e+this.width*t]==r;t++){l++}return{left:i,top:n,right:s,bottom:l}}throw new RangeError(`No cell with offset ${t} found`)}colCount(t){for(let e=0;e<this.map.length;e++){if(this.map[e]==t){return e%this.width}}throw new RangeError(`No cell with offset ${t} found`)}nextCell(t,e,r){const{left:i,right:n,top:s,bottom:l}=this.findCell(t);if(e=="horiz"){if(r<0?i==0:n==this.width)return null;return this.map[s*this.width+(r<0?i-1:n)]}else{if(r<0?s==0:l==this.height)return null;return this.map[i+this.width*(r<0?s-1:l)]}}rectBetween(t,e){const{left:r,right:i,top:n,bottom:s}=this.findCell(t);const{left:l,right:o,top:u,bottom:f}=this.findCell(e);return{left:Math.min(r,l),top:Math.min(n,u),right:Math.max(i,o),bottom:Math.max(s,f)}}cellsInRect(t){const e=[];const r={};for(let i=t.top;i<t.bottom;i++){for(let n=t.left;n<t.right;n++){const s=i*this.width+n;const l=this.map[s];if(r[l])continue;r[l]=true;if(n==t.left&&n&&this.map[s-1]==l||i==t.top&&i&&this.map[s-this.width]==l){continue}e.push(l)}}return e}positionAt(t,e,r){for(let i=0,n=0;;i++){const s=n+r.child(i).nodeSize;if(i==t){let r=e+t*this.width;const i=(t+1)*this.width;while(r<i&&this.map[r]<n)r++;return r==i?s-1:this.map[r]}n=s}}static get(t){return Wg(t)||Ug(t,Zg(t))}};function Zg(t){if(t.type.spec.tableRole!="table")throw new RangeError("Not a table node: "+t.type.name);const e=Kg(t),r=t.childCount;const i=[];let n=0;let s=null;const l=[];for(let t=0,n=e*r;t<n;t++)i[t]=0;for(let o=0,u=0;o<r;o++){const f=t.child(o);u++;for(let t=0;;t++){while(n<i.length&&i[n]!=0)n++;if(t==f.childCount)break;const h=f.child(t);const{colspan:a,rowspan:c,colwidth:d}=h.attrs;for(let t=0;t<c;t++){if(t+o>=r){(s||(s=[])).push({type:"overlong_rowspan",pos:u,n:c-t});break}const f=n+t*e;for(let t=0;t<a;t++){if(i[f+t]==0)i[f+t]=u;else(s||(s=[])).push({type:"collision",row:o,pos:u,n:a-t});const r=d&&d[t];if(r){const i=(f+t)%e*2,n=l[i];if(n==null||n!=r&&l[i+1]==1){l[i]=r;l[i+1]=1}else if(n==r){l[i+1]++}}}}n+=a;u+=h.nodeSize}const h=(o+1)*e;let a=0;while(n<h)if(i[n++]==0)a++;if(a)(s||(s=[])).push({type:"missing",row:o,n:a});u++}const o=new Hg(e,r,i,s);let u=false;for(let t=0;!u&&t<l.length;t+=2)if(l[t]!=null&&l[t+1]<r)u=true;if(u)Vg(o,l,t);return o}function Kg(t){let e=-1;let r=false;for(let i=0;i<t.childCount;i++){const n=t.child(i);let s=0;if(r)for(let e=0;e<i;e++){const r=t.child(e);for(let t=0;t<r.childCount;t++){const n=r.child(t);if(e+n.attrs.rowspan>i)s+=n.attrs.colspan}}for(let t=0;t<n.childCount;t++){const e=n.child(t);s+=e.attrs.colspan;if(e.attrs.rowspan>1)r=true}if(e==-1)e=s;else if(e!=s)e=Math.max(e,s)}return e}function Vg(t,e,r){if(!t.problems)t.problems=[];const i={};for(let n=0;n<t.map.length;n++){const s=t.map[n];if(i[s])continue;i[s]=true;const l=r.nodeAt(s);if(!l){throw new RangeError(`No cell with offset ${s} found`)}let o=null;const u=l.attrs;for(let r=0;r<u.colspan;r++){const i=(n+r)%t.width;const s=e[i*2];if(s!=null&&(!u.colwidth||u.colwidth[r]!=s))(o||(o=Gg(u)))[r]=s}if(o)t.problems.unshift({type:"colwidth mismatch",pos:s,colwidth:o})}}function Gg(t){if(t.colwidth)return t.colwidth.slice();const e=[];for(let r=0;r<t.colspan;r++)e.push(0);return e}function Xg(t,e){if(typeof t==="string"){return{}}const r=t.getAttribute("data-colwidth");const i=r&&/^\d+(,\d+)*$/.test(r)?r.split(",").map((t=>Number(t))):null;const n=Number(t.getAttribute("colspan")||1);const s={colspan:n,rowspan:Number(t.getAttribute("rowspan")||1),colwidth:i&&i.length==n?i:null};for(const r in e){const i=e[r].getFromDOM;const n=i&&i(t);if(n!=null){s[r]=n}}return s}function Yg(t,e){const r={};if(t.attrs.colspan!=1)r.colspan=t.attrs.colspan;if(t.attrs.rowspan!=1)r.rowspan=t.attrs.rowspan;if(t.attrs.colwidth)r["data-colwidth"]=t.attrs.colwidth.join(",");for(const i in e){const n=e[i].setDOMAttr;if(n)n(t.attrs[i],r)}return r}function Qg(t){const e=t.cellAttributes||{};const r={colspan:{default:1},rowspan:{default:1},colwidth:{default:null}};for(const t in e)r[t]={default:e[t].default};return{table:{content:"table_row+",tableRole:"table",isolating:true,group:t.tableGroup,parseDOM:[{tag:"table"}],toDOM(){return["table",["tbody",0]]}},table_row:{content:"(table_cell | table_header)*",tableRole:"row",parseDOM:[{tag:"tr"}],toDOM(){return["tr",0]}},table_cell:{content:t.cellContent,attrs:r,tableRole:"cell",isolating:true,parseDOM:[{tag:"td",getAttrs:t=>Xg(t,e)}],toDOM(t){return["td",Yg(t,e),0]}},table_header:{content:t.cellContent,attrs:r,tableRole:"header_cell",isolating:true,parseDOM:[{tag:"th",getAttrs:t=>Xg(t,e)}],toDOM(t){return["th",Yg(t,e),0]}}}}function tb(t){let e=t.cached.tableNodeTypes;if(!e){e=t.cached.tableNodeTypes={};for(const r in t.nodes){const i=t.nodes[r],n=i.spec.tableRole;if(n)e[n]=i}}return e}var eb=new Dn("selectingCells");function rb(t){for(let e=t.depth-1;e>0;e--)if(t.node(e).type.spec.tableRole=="row")return t.node(0).resolve(t.before(e+1));return null}function ib(t){const e=t.selection.$head;for(let t=e.depth;t>0;t--)if(e.node(t).type.spec.tableRole=="row")return true;return false}function nb(t){const e=t.selection;if("$anchorCell"in e&&e.$anchorCell){return e.$anchorCell.pos>e.$headCell.pos?e.$anchorCell:e.$headCell}else if("node"in e&&e.node&&e.node.type.spec.tableRole=="cell"){return e.$anchor}const r=rb(e.$head)||sb(e.$head);if(r){return r}throw new RangeError(`No cell found around position ${e.head}`)}function sb(t){for(let e=t.nodeAfter,r=t.pos;e;e=e.firstChild,r++){const i=e.type.spec.tableRole;if(i=="cell"||i=="header_cell")return t.doc.resolve(r)}for(let e=t.nodeBefore,r=t.pos;e;e=e.lastChild,r--){const i=e.type.spec.tableRole;if(i=="cell"||i=="header_cell")return t.doc.resolve(r-e.nodeSize)}}function lb(t){return t.parent.type.spec.tableRole=="row"&&!!t.nodeAfter}function ob(t,e){return t.depth==e.depth&&t.pos>=e.start(-1)&&t.pos<=e.end(-1)}function ub(t,e,r){const i=t.node(-1);const n=Hg.get(i);const s=t.start(-1);const l=n.nextCell(t.pos-s,e,r);return l==null?null:t.node(0).resolve(s+l)}function fb(t,e,r=1){const i={...t,colspan:t.colspan-r};if(i.colwidth){i.colwidth=i.colwidth.slice();i.colwidth.splice(e,r);if(!i.colwidth.some((t=>t>0)))i.colwidth=null}return i}var hb=class t extends Ki{constructor(t,e=t){const r=t.node(-1);const i=Hg.get(r);const n=t.start(-1);const s=i.rectBetween(t.pos-n,e.pos-n);const l=t.node(0);const o=i.cellsInRect(s).filter((t=>t!=e.pos-n));o.unshift(e.pos-n);const u=o.map((t=>{const e=r.nodeAt(t);if(!e){throw RangeError(`No cell with offset ${t} found`)}const i=n+t+1;return new Vi(l.resolve(i),l.resolve(i+e.content.size))}));super(u[0].$from,u[0].$to,u);this.$anchorCell=t;this.$headCell=e}map(e,r){const i=e.resolve(r.map(this.$anchorCell.pos));const n=e.resolve(r.map(this.$headCell.pos));if(lb(i)&&lb(n)&&ob(i,n)){const e=this.$anchorCell.node(-1)!=i.node(-1);if(e&&this.isRowSelection())return t.rowSelection(i,n);else if(e&&this.isColSelection())return t.colSelection(i,n);else return new t(i,n)}return Yi.between(i,n)}content(){const t=this.$anchorCell.node(-1);const e=Hg.get(t);const r=this.$anchorCell.start(-1);const i=e.rectBetween(this.$anchorCell.pos-r,this.$headCell.pos-r);const n={};const s=[];for(let r=i.top;r<i.bottom;r++){const l=[];for(let s=r*e.width+i.left,o=i.left;o<i.right;o++,s++){const r=e.map[s];if(n[r])continue;n[r]=true;const o=e.findCell(r);let u=t.nodeAt(r);if(!u){throw RangeError(`No cell with offset ${r} found`)}const f=i.left-o.left;const h=o.right-i.right;if(f>0||h>0){let t=u.attrs;if(f>0){t=fb(t,0,f)}if(h>0){t=fb(t,t.colspan-h,h)}if(o.left<i.left){u=u.type.createAndFill(t);if(!u){throw RangeError(`Could not create cell with attrs ${JSON.stringify(t)}`)}}else{u=u.type.create(t,u.content)}}if(o.top<i.top||o.bottom>i.bottom){const t={...u.attrs,rowspan:Math.min(o.bottom,i.bottom)-Math.max(o.top,i.top)};if(o.top<i.top){u=u.type.createAndFill(t)}else{u=u.type.create(t,u.content)}}l.push(u)}s.push(t.child(r).copy(we.from(l)))}const l=this.isColSelection()&&this.isRowSelection()?t:s;return new ye(we.from(l),1,1)}replace(t,e=ye.empty){const r=t.steps.length,i=this.ranges;for(let n=0;n<i.length;n++){const{$from:s,$to:l}=i[n],o=t.mapping.slice(r);t.replace(o.map(s.pos),o.map(l.pos),n?ye.empty:e)}const n=Ki.findFrom(t.doc.resolve(t.mapping.slice(r).map(this.to)),-1);if(n)t.setSelection(n)}replaceWith(t,e){this.replace(t,new ye(we.from(e),0,0))}forEachCell(t){const e=this.$anchorCell.node(-1);const r=Hg.get(e);const i=this.$anchorCell.start(-1);const n=r.cellsInRect(r.rectBetween(this.$anchorCell.pos-i,this.$headCell.pos-i));for(let r=0;r<n.length;r++){t(e.nodeAt(n[r]),i+n[r])}}isColSelection(){const t=this.$anchorCell.index(-1);const e=this.$headCell.index(-1);if(Math.min(t,e)>0)return false;const r=t+this.$anchorCell.nodeAfter.attrs.rowspan;const i=e+this.$headCell.nodeAfter.attrs.rowspan;return Math.max(r,i)==this.$headCell.node(-1).childCount}static colSelection(e,r=e){const i=e.node(-1);const n=Hg.get(i);const s=e.start(-1);const l=n.findCell(e.pos-s);const o=n.findCell(r.pos-s);const u=e.node(0);if(l.top<=o.top){if(l.top>0)e=u.resolve(s+n.map[l.left]);if(o.bottom<n.height)r=u.resolve(s+n.map[n.width*(n.height-1)+o.right-1])}else{if(o.top>0)r=u.resolve(s+n.map[o.left]);if(l.bottom<n.height)e=u.resolve(s+n.map[n.width*(n.height-1)+l.right-1])}return new t(e,r)}isRowSelection(){const t=this.$anchorCell.node(-1);const e=Hg.get(t);const r=this.$anchorCell.start(-1);const i=e.colCount(this.$anchorCell.pos-r);const n=e.colCount(this.$headCell.pos-r);if(Math.min(i,n)>0)return false;const s=i+this.$anchorCell.nodeAfter.attrs.colspan;const l=n+this.$headCell.nodeAfter.attrs.colspan;return Math.max(s,l)==e.width}eq(e){return e instanceof t&&e.$anchorCell.pos==this.$anchorCell.pos&&e.$headCell.pos==this.$headCell.pos}static rowSelection(e,r=e){const i=e.node(-1);const n=Hg.get(i);const s=e.start(-1);const l=n.findCell(e.pos-s);const o=n.findCell(r.pos-s);const u=e.node(0);if(l.left<=o.left){if(l.left>0)e=u.resolve(s+n.map[l.top*n.width]);if(o.right<n.width)r=u.resolve(s+n.map[n.width*(o.top+1)-1])}else{if(o.left>0)r=u.resolve(s+n.map[o.top*n.width]);if(l.right<n.width)e=u.resolve(s+n.map[n.width*(l.top+1)-1])}return new t(e,r)}toJSON(){return{type:"cell",anchor:this.$anchorCell.pos,head:this.$headCell.pos}}static fromJSON(e,r){return new t(e.resolve(r.anchor),e.resolve(r.head))}static create(e,r,i=r){return new t(e.resolve(r),e.resolve(i))}getBookmark(){return new ab(this.$anchorCell.pos,this.$headCell.pos)}};hb.prototype.visible=false;Ki.jsonID("cell",hb);var ab=class t{constructor(t,e){this.anchor=t;this.head=e}map(e){return new t(e.map(this.anchor),e.map(this.head))}resolve(t){const e=t.resolve(this.anchor),r=t.resolve(this.head);if(e.parent.type.spec.tableRole=="row"&&r.parent.type.spec.tableRole=="row"&&e.index()<e.parent.childCount&&r.index()<r.parent.childCount&&ob(e,r))return new hb(e,r);else return Ki.near(r,1)}};function cb(t){if(!(t.selection instanceof hb))return null;const e=[];t.selection.forEachCell(((t,r)=>{e.push(Zo.node(r,r+t.nodeSize,{class:"selectedCell"}))}));return Go.create(t.doc,e)}function db({$from:t,$to:e}){if(t.pos==e.pos||t.pos<t.pos-6)return false;let r=t.pos;let i=e.pos;let n=t.depth;for(;n>=0;n--,r++)if(t.after(n+1)<t.end(n))break;for(let t=e.depth;t>=0;t--,i--)if(e.before(t+1)>e.start(t))break;return r==i&&/row|table/.test(t.node(n).type.spec.tableRole)}function pb({$from:t,$to:e}){let r;let i;for(let e=t.depth;e>0;e--){const i=t.node(e);if(i.type.spec.tableRole==="cell"||i.type.spec.tableRole==="header_cell"){r=i;break}}for(let t=e.depth;t>0;t--){const r=e.node(t);if(r.type.spec.tableRole==="cell"||r.type.spec.tableRole==="header_cell"){i=r;break}}return r!==i&&e.parentOffset===0}function mb(t,e,r){const i=(e||t).selection;const n=(e||t).doc;let s;let l;if(i instanceof tn&&(l=i.node.type.spec.tableRole)){if(l=="cell"||l=="header_cell"){s=hb.create(n,i.from)}else if(l=="row"){const t=n.resolve(i.from+1);s=hb.rowSelection(t,t)}else if(!r){const t=Hg.get(i.node);const e=i.from+1;const r=e+t.map[t.width*t.height-1];s=hb.create(n,e+1,r)}}else if(i instanceof Yi&&db(i)){s=Yi.create(n,i.from)}else if(i instanceof Yi&&pb(i)){s=Yi.create(n,i.$from.start(),i.$from.end())}if(s)(e||(e=t.tr)).setSelection(s);return e}var wb=new Dn("fix-tables");function gb(t,e,r,i){const n=t.childCount,s=e.childCount;t:for(let l=0,o=0;l<s;l++){const s=e.child(l);for(let e=o,i=Math.min(n,l+3);e<i;e++){if(t.child(e)==s){o=e+1;r+=s.nodeSize;continue t}}i(s,r);if(o<n&&t.child(o).sameMarkup(s))gb(t.child(o),s,r+1,i);else s.nodesBetween(0,s.content.size,i,r+1);r+=s.nodeSize}}function bb(t,e){let r;const i=(e,i)=>{if(e.type.spec.tableRole=="table")r=kb(t,e,i,r)};if(!e)t.doc.descendants(i);else if(e.doc!=t.doc)gb(e.doc,t.doc,0,i);return r}function kb(t,e,r,i){const n=Hg.get(e);if(!n.problems)return i;if(!i)i=t.tr;const s=[];for(let t=0;t<n.height;t++)s.push(0);for(let t=0;t<n.problems.length;t++){const l=n.problems[t];if(l.type=="collision"){const t=e.nodeAt(l.pos);if(!t)continue;const n=t.attrs;for(let t=0;t<n.rowspan;t++)s[l.row+t]+=l.n;i.setNodeMarkup(i.mapping.map(r+1+l.pos),null,fb(n,n.colspan-l.n,l.n))}else if(l.type=="missing"){s[l.row]+=l.n}else if(l.type=="overlong_rowspan"){const t=e.nodeAt(l.pos);if(!t)continue;i.setNodeMarkup(i.mapping.map(r+1+l.pos),null,{...t.attrs,rowspan:t.attrs.rowspan-l.n})}else if(l.type=="colwidth mismatch"){const t=e.nodeAt(l.pos);if(!t)continue;i.setNodeMarkup(i.mapping.map(r+1+l.pos),null,{...t.attrs,colwidth:l.colwidth})}}let l,o;for(let t=0;t<s.length;t++)if(s[t]){if(l==null)l=t;o=t}for(let u=0,f=r+1;u<n.height;u++){const r=e.child(u);const n=f+r.nodeSize;const h=s[u];if(h>0){let e="cell";if(r.firstChild){e=r.firstChild.type.spec.tableRole}const s=[];for(let r=0;r<h;r++){const r=tb(t.schema)[e].createAndFill();if(r)s.push(r)}const a=(u==0||l==u-1)&&o==u?f+1:n-1;i.insert(i.mapping.map(a),s)}f=n}return i.setMeta(wb,{fixTables:true})}function Db(t,e){const r=t.selection;if(!(r instanceof hb))return false;if(e){const i=t.tr;const n=tb(t.schema).cell.createAndFill().content;r.forEachCell(((t,e)=>{if(!t.content.eq(n))i.replace(i.mapping.map(e+1),i.mapping.map(e+t.nodeSize-1),new ye(n,0,0))}));if(i.docChanged)e(i)}return true}function vb(t){if(!t.size)return null;let{content:e,openStart:r,openEnd:i}=t;while(e.childCount==1&&(r>0&&i>0||e.child(0).type.spec.tableRole=="table")){r--;i--;e=e.child(0).content}const n=e.child(0);const s=n.type.spec.tableRole;const l=n.type.schema,o=[];if(s=="row"){for(let t=0;t<e.childCount;t++){let n=e.child(t).content;const s=t?0:Math.max(0,r-1);const u=t<e.childCount-1?0:Math.max(0,i-1);if(s||u)n=Fb(tb(l).row,new ye(n,s,u)).content;o.push(n)}}else if(s=="cell"||s=="header_cell"){o.push(r||i?Fb(tb(l).row,new ye(e,r,i)).content:e)}else{return null}return yb(l,o)}function yb(t,e){const r=[];for(let t=0;t<e.length;t++){const i=e[t];for(let e=i.childCount-1;e>=0;e--){const{rowspan:n,colspan:s}=i.child(e).attrs;for(let e=t;e<t+n;e++)r[e]=(r[e]||0)+s}}let i=0;for(let t=0;t<r.length;t++)i=Math.max(i,r[t]);for(let n=0;n<r.length;n++){if(n>=e.length)e.push(we.empty);if(r[n]<i){const s=tb(t).cell.createAndFill();const l=[];for(let t=r[n];t<i;t++){l.push(s)}e[n]=e[n].append(we.from(l))}}return{height:e.length,width:i,rows:e}}function Fb(t,e){const r=t.createAndFill();const i=new Hi(r).replace(0,r.content.size,e);return i.doc}function Eb({width:t,height:e,rows:r},i,n){if(t!=i){const e=[];const n=[];for(let t=0;t<r.length;t++){const s=r[t],l=[];for(let r=e[t]||0,n=0;r<i;n++){let o=s.child(n%s.childCount);if(r+o.attrs.colspan>i)o=o.type.createChecked(fb(o.attrs,o.attrs.colspan,r+o.attrs.colspan-i),o.content);l.push(o);r+=o.attrs.colspan;for(let r=1;r<o.attrs.rowspan;r++)e[t+r]=(e[t+r]||0)+o.attrs.colspan}n.push(we.from(l))}r=n;t=i}if(e!=n){const t=[];for(let i=0,s=0;i<n;i++,s++){const l=[],o=r[s%e];for(let t=0;t<o.childCount;t++){let e=o.child(t);if(i+e.attrs.rowspan>n)e=e.type.create({...e.attrs,rowspan:Math.max(1,n-e.attrs.rowspan)},e.content);l.push(e)}t.push(we.from(l))}r=t;e=n}return{width:t,height:e,rows:r}}function Mb(t,e,r,i,n,s,l){const o=t.doc.type.schema;const u=tb(o);let f;let h;if(n>e.width){for(let s=0,o=0;s<e.height;s++){const a=r.child(s);o+=a.nodeSize;const c=[];let d;if(a.lastChild==null||a.lastChild.type==u.cell)d=f||(f=u.cell.createAndFill());else d=h||(h=u.header_cell.createAndFill());for(let t=e.width;t<n;t++)c.push(d);t.insert(t.mapping.slice(l).map(o-1+i),c)}}if(s>e.height){const o=[];for(let t=0,i=(e.height-1)*e.width;t<Math.max(e.width,n);t++){const n=t>=e.width?false:r.nodeAt(e.map[i+t]).type==u.header_cell;o.push(n?h||(h=u.header_cell.createAndFill()):f||(f=u.cell.createAndFill()))}const a=u.row.create(null,we.from(o)),c=[];for(let t=e.height;t<s;t++)c.push(a);t.insert(t.mapping.slice(l).map(i+r.nodeSize-2),c)}return!!(f||h)}function xb(t,e,r,i,n,s,l,o){if(l==0||l==e.height)return false;let u=false;for(let f=n;f<s;f++){const n=l*e.width+f,s=e.map[n];if(e.map[n-e.width]==s){u=true;const n=r.nodeAt(s);const{top:h,left:a}=e.findCell(s);t.setNodeMarkup(t.mapping.slice(o).map(s+i),null,{...n.attrs,rowspan:l-h});t.insert(t.mapping.slice(o).map(e.positionAt(l,a,r)),n.type.createAndFill({...n.attrs,rowspan:h+n.attrs.rowspan-l}));f+=n.attrs.colspan-1}}return u}function Ab(t,e,r,i,n,s,l,o){if(l==0||l==e.width)return false;let u=false;for(let f=n;f<s;f++){const n=f*e.width+l,s=e.map[n];if(e.map[n-1]==s){u=true;const n=r.nodeAt(s);const h=e.colCount(s);const a=t.mapping.slice(o).map(s+i);t.setNodeMarkup(a,null,fb(n.attrs,l-h,n.attrs.colspan-(l-h)));t.insert(a+n.nodeSize,n.type.createAndFill(fb(n.attrs,0,l-h)));f+=n.attrs.rowspan-1}}return u}function Cb(t,e,r,i,n){let s=r?t.doc.nodeAt(r-1):t.doc;if(!s){throw new Error("No table found")}let l=Hg.get(s);const{top:o,left:u}=i;const f=u+n.width,h=o+n.height;const a=t.tr;let c=0;function d(){s=r?a.doc.nodeAt(r-1):a.doc;if(!s){throw new Error("No table found")}l=Hg.get(s);c=a.mapping.maps.length}if(Mb(a,l,s,r,f,h,c))d();if(xb(a,l,s,r,u,f,o,c))d();if(xb(a,l,s,r,u,f,h,c))d();if(Ab(a,l,s,r,o,h,u,c))d();if(Ab(a,l,s,r,o,h,f,c))d();for(let t=o;t<h;t++){const e=l.positionAt(t,u,s),i=l.positionAt(t,f,s);a.replace(a.mapping.slice(c).map(e+r),a.mapping.slice(c).map(i+r),new ye(n.rows[t-o],0,0))}d();a.setSelection(new hb(a.doc.resolve(r+l.positionAt(o,u,s)),a.doc.resolve(r+l.positionAt(h-1,f-1,s))));e(a)}var Sb=Df({ArrowLeft:$b("horiz",-1),ArrowRight:$b("horiz",1),ArrowUp:$b("vert",-1),ArrowDown:$b("vert",1),"Shift-ArrowLeft":_b("horiz",-1),"Shift-ArrowRight":_b("horiz",1),"Shift-ArrowUp":_b("vert",-1),"Shift-ArrowDown":_b("vert",1),Backspace:Db,"Mod-Backspace":Db,Delete:Db,"Mod-Delete":Db});function Ob(t,e,r){if(r.eq(t.selection))return false;if(e)e(t.tr.setSelection(r).scrollIntoView());return true}function $b(t,e){return(r,i,n)=>{if(!n)return false;const s=r.selection;if(s instanceof hb){return Ob(r,i,Ki.near(s.$headCell,e))}if(t!="horiz"&&!s.empty)return false;const l=Nb(n,t,e);if(l==null)return false;if(t=="horiz"){return Ob(r,i,Ki.near(r.doc.resolve(s.head+e),e))}else{const n=r.doc.resolve(l);const s=ub(n,t,e);let o;if(s)o=Ki.near(s,1);else if(e<0)o=Ki.near(r.doc.resolve(n.before(-1)),-1);else o=Ki.near(r.doc.resolve(n.after(-1)),1);return Ob(r,i,o)}}}function _b(t,e){return(r,i,n)=>{if(!n)return false;const s=r.selection;let l;if(s instanceof hb){l=s}else{const i=Nb(n,t,e);if(i==null)return false;l=new hb(r.doc.resolve(i))}const o=ub(l.$headCell,t,e);if(!o)return false;return Ob(r,i,new hb(l.$anchorCell,o))}}function Bb(t,e){const r=t.state.doc,i=rb(r.resolve(e));if(!i)return false;t.dispatch(t.state.tr.setSelection(new hb(i)));return true}function Rb(t,e,r){if(!ib(t.state))return false;let i=vb(r);const n=t.state.selection;if(n instanceof hb){if(!i)i={width:1,height:1,rows:[we.from(Fb(tb(t.state.schema).cell,r))]};const e=n.$anchorCell.node(-1);const s=n.$anchorCell.start(-1);const l=Hg.get(e).rectBetween(n.$anchorCell.pos-s,n.$headCell.pos-s);i=Eb(i,l.right-l.left,l.bottom-l.top);Cb(t.state,t.dispatch,s,l,i);return true}else if(i){const e=nb(t.state);const r=e.start(-1);Cb(t.state,t.dispatch,r,Hg.get(e.node(-1)).findCell(e.pos-r),i);return true}else{return false}}function jb(t,e){var r;if(e.ctrlKey||e.metaKey)return;const i=qb(t,e.target);let n;if(e.shiftKey&&t.state.selection instanceof hb){s(t.state.selection.$anchorCell,e);e.preventDefault()}else if(e.shiftKey&&i&&(n=rb(t.state.selection.$anchor))!=null&&((r=zb(t,e))==null?void 0:r.pos)!=n.pos){s(n,e);e.preventDefault()}else if(!i){return}function s(e,r){let i=zb(t,r);const n=eb.getState(t.state)==null;if(!i||!ob(e,i)){if(n)i=e;else return}const s=new hb(e,i);if(n||!t.state.selection.eq(s)){const r=t.state.tr.setSelection(s);if(n)r.setMeta(eb,e.pos);t.dispatch(r)}}function l(){t.root.removeEventListener("mouseup",l);t.root.removeEventListener("dragstart",l);t.root.removeEventListener("mousemove",o);if(eb.getState(t.state)!=null)t.dispatch(t.state.tr.setMeta(eb,-1))}function o(r){const n=r;const o=eb.getState(t.state);let u;if(o!=null){u=t.state.doc.resolve(o)}else if(qb(t,n.target)!=i){u=zb(t,e);if(!u)return l()}if(u)s(u,n)}t.root.addEventListener("mouseup",l);t.root.addEventListener("dragstart",l);t.root.addEventListener("mousemove",o)}function Nb(t,e,r){if(!(t.state.selection instanceof Yi))return null;const{$head:i}=t.state.selection;for(let n=i.depth-1;n>=0;n--){const s=i.node(n),l=r<0?i.index(n):i.indexAfter(n);if(l!=(r<0?0:s.childCount))return null;if(s.type.spec.tableRole=="cell"||s.type.spec.tableRole=="header_cell"){const s=i.before(n);const l=e=="vert"?r>0?"down":"up":r>0?"right":"left";return t.endOfTextblock(l)?s:null}}return null}function qb(t,e){for(;e&&e!=t.dom;e=e.parentNode){if(e.nodeName=="TD"||e.nodeName=="TH"){return e}}return null}function zb(t,e){const r=t.posAtCoords({left:e.clientX,top:e.clientY});if(!r)return null;return r?rb(t.state.doc.resolve(r.pos)):null}new Dn("tableColumnResizing");function Tb({allowTableNodeSelection:t=false}={}){return new gn({key:eb,state:{init(){return null},apply(t,e){const r=t.getMeta(eb);if(r!=null)return r==-1?null:r;if(e==null||!t.docChanged)return e;const{deleted:i,pos:n}=t.mapping.mapResult(e);return i?null:n}},props:{decorations:cb,handleDOMEvents:{mousedown:jb},createSelectionBetween(t){return eb.getState(t.state)!=null?t.state.selection:null},handleTripleClick:Bb,handleKeyDown:Sb,handlePaste:Rb},appendTransaction(e,r,i){return mb(i,bb(i,r),t)}})}const Ib=t=>{if(t){return[Tb()]}return[]};const Pb=t=>({default:null,getFromDOM:e=>e.style[t]||null,setDOMAttr:(e,r)=>{if(e){r.style=(r.style||"")+`${t}: ${e};`}}});const Jb=()=>Qg({tableGroup:"block",cellContent:"block+",cellAttributes:{background:Pb("background-color"),color:Pb("color")}});const Lb='@charset "UTF-8";:host{--mdc-theme-primary:var(\n --lime-primary-color,\n rgb(var(--color-teal-default))\n );--mdc-theme-secondary:var(\n --lime-secondary-color,\n rgb(var(--contrast-1100))\n );--mdc-theme-on-primary:var(\n --lime-on-primary-color,\n rgb(var(--contrast-100))\n );--mdc-theme-on-secondary:var(\n --lime-on-secondary-color,\n rgb(var(--contrast-100))\n );--mdc-theme-text-disabled-on-background:var(\n --lime-text-disabled-on-background-color,\n rgba(var(--contrast-1700), 0.38)\n );--mdc-theme-text-primary-on-background:var(\n --lime-text-primary-on-background-color,\n rgba(var(--contrast-1700), 0.87)\n );--mdc-theme-text-secondary-on-background:var(\n --lime-text-secondary-on-background-color,\n rgba(var(--contrast-1700), 0.54)\n );--mdc-theme-error:var(\n --lime-error-background-color,\n rgb(var(--color-red-dark))\n );--lime-error-text-color:rgb(var(--color-red-darker));--mdc-theme-surface:var(\n --lime-surface-background-color,\n rgb(var(--contrast-100))\n );--mdc-theme-on-surface:var(\n --lime-on-surface-color,\n rgb(var(--contrast-1500))\n )}:host(limel-prosemirror-adapter){display:flex;flex-direction:column}:host(limel-prosemirror-adapter) .toolbar{order:1}:host(limel-prosemirror-adapter) div#editor{order:2;height:100%;flex-grow:1}:host(limel-prosemirror-adapter) div[contenteditable=true]{height:100%}*{box-sizing:border-box}:host(limel-prosemirror-adapter:hover) .toolbar,:host(limel-prosemirror-adapter:focus-within) .toolbar{will-change:grid-template-rows}:host(limel-prosemirror-adapter:hover) limel-action-bar,:host(limel-prosemirror-adapter:focus-within) limel-action-bar{will-change:opacity, padding}:host(limel-prosemirror-adapter:hover) .ProseMirror,:host(limel-prosemirror-adapter:focus-within) .ProseMirror{will-change:padding}.ProseMirror-menubar-wrapper{display:grid;grid-template-rows:auto 1fr}.ProseMirror-textblock-dropdown{min-width:3em}.ProseMirror-tooltip .ProseMirror-menu{width:-webkit-fit-content;width:fit-content;white-space:pre}.toolbar{--action-bar-border-radius:0.25rem;border-radius:var(--action-bar-border-radius);flex-shrink:0;position:sticky;z-index:1;top:0;width:100%;display:grid;grid-template-rows:var(--limel-prosemirror-adapter-toolbar-grid-template-rows);transition-property:grid-template-rows;transition-duration:var(--limel-prosemirror-adapter-toolbar-grid-template-rows-transition-duration);transition-timing-function:var(--limel-prosemirror-adapter-toolbar-transition-timing-function);background-color:rgba(var(--contrast-200), 0.5);backdrop-filter:blur(0.5rem);-webkit-backdrop-filter:blur(0.5rem)}limel-action-bar{min-width:0;transition-property:padding, opacity;transition-duration:var(--limel-prosemirror-adapter-toolbar-grid-template-rows-transition-duration);transition-timing-function:var(--limel-prosemirror-adapter-toolbar-transition-timing-function);opacity:var(--limel-prosemirror-adapter-toolbar-opacity);padding:var(--limel-prosemirror-adapter-action-bar-padding-top-bottom, 0.125rem) 0.25rem;background-color:transparent;overflow:hidden}.ProseMirror{transition-duration:padding;transition-duration:var(--limel-prosemirror-adapter-toolbar-grid-template-rows-transition-duration);transition-timing-function:var(--limel-prosemirror-adapter-toolbar-transition-timing-function);position:relative;word-wrap:break-word;white-space:pre-wrap;white-space:break-spaces;-webkit-font-variant-ligatures:none;font-variant-ligatures:none;font-feature-settings:"liga" 0;padding:var(--limel-text-editor-padding)}.ProseMirror [draggable][contenteditable=false]{user-select:text}.ProseMirror:focus-visible{outline:none}.ProseMirror-hideselection{caret-color:transparent}.ProseMirror-hideselection *::selection{background:transparent}.ProseMirror-hideselection *::-moz-selection{background:transparent}.ProseMirror-selectednode{outline:0.125rem solid rgb(var(--color-sky-light))}li.ProseMirror-selectednode{outline:none}li.ProseMirror-selectednode:after{content:"";position:absolute;left:-2rem;right:-0.125rem;top:-0.125rem;bottom:-0.125rem;border:0.125rem solid rgb(var(--color-sky-light));pointer-events:none}img.ProseMirror-separator{display:inline !important;border:none !important;margin:0 !important}limel-portal{width:25rem}blockquote{position:relative;font-weight:100;font-size:0.875rem;max-width:100%;line-height:1.4;margin:0;padding:0.5rem 1.25rem;border-radius:0.05rem 0.75rem;background-color:rgb(var(--contrast-300))}blockquote:before,blockquote:after{position:absolute;font-size:2.75rem;opacity:0.4}blockquote:before{content:"“";left:0;top:-0.75rem}blockquote:after{content:"”";right:0;bottom:-2rem}:host(limel-markdown.truncate-paragraphs) p{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}p,li{font-size:0.875rem;word-break:break-word;hyphens:auto;-webkit-hyphens:auto}a{word-break:break-all}p{margin-top:0;margin-bottom:0.5rem}p:only-child{margin-bottom:0}a{transition:color 0.2s ease;color:var(--markdown-hyperlink-color, rgb(var(--color-blue-dark)));text-decoration:none}a:hover{color:var(--markdown-hyperlink-color--hovered, rgb(var(--color-blue-default)))}hr{margin:1.75rem 0 2rem 0;border-width:0;border-top:1px solid rgb(var(--contrast-500))}dl{display:grid;grid-template-columns:1fr 2fr;grid-template-rows:1fr;margin-bottom:2rem;border:1px solid rgb(var(--contrast-400));border-radius:0.375rem;background-color:rgb(var(--contrast-200))}dl dt,dl dd{padding:0.375rem 0.5rem;font-size:0.875rem;margin:0}dl dt:nth-of-type(even),dl dd:nth-of-type(even){background-color:rgb(var(--contrast-300))}dl dt:first-child{border-top-left-radius:0.375rem}dl dt:last-child{border-bottom-left-radius:0.375rem}dl dd:first-child{border-top-right-radius:0.375rem}dl dd:last-child{border-bottom-right-radius:0.375rem}h1{font-size:1.5rem}h2{font-size:1.25rem}h3{font-size:1.125rem}h4{font-size:1rem}h5{font-size:0.875rem}h6{font-size:0.75rem}h1,h2{margin-top:0.5rem;margin-bottom:0.5rem;letter-spacing:-0.03125rem;font-weight:500}h3,h4{margin-top:0.75rem;margin-bottom:0.25rem;font-weight:600}h5,h6{margin-top:0.5rem;margin-bottom:0.125rem;font-weight:600}h1,h2,h3,h4,h5,h6{word-break:break-word;hyphens:auto;-webkit-hyphens:auto}:not([contenteditable=true]) h1,:not([contenteditable=true]) h2,:not([contenteditable=true]) h3,:not([contenteditable=true]) h4,:not([contenteditable=true]) h5,:not([contenteditable=true]) h6{text-wrap:balance}[contenteditable=true] h1,[contenteditable=true] h2,[contenteditable=true] h3,[contenteditable=true] h4,[contenteditable=true] h5,[contenteditable=true] h6{text-wrap:initial}ul{list-style:none}ul li{position:relative;margin-left:0.75rem}ul li:before{content:"";position:absolute;left:-0.5rem;top:0.5rem;width:0.25rem;height:0.25rem;border-radius:50%;background-color:rgb(var(--contrast-700));display:block}ol{margin-top:0.25rem;padding-left:1rem}ul{margin-top:0.25rem;padding-left:0}ul ul,ul ol,ol ol,ol ul{margin-left:0}li{margin-bottom:0.25rem}code{font-family:ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, Consolas, "DejaVu Sans Mono", monospace;font-size:0.8125rem;letter-spacing:-0.0125rem;color:rgb(var(--contrast-1300));-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none;display:inline-block;border-radius:0.25rem;padding:0.03125rem 0.25rem;background-color:rgb(var(--contrast-600))}pre>code{display:block;margin:0.5rem 0;padding:0.5rem 0.75rem;overflow:auto;white-space:pre-wrap}:host(limel-markdown:not(.no-table-styles)) table{table-layout:auto;min-width:100%;border-collapse:collapse;border-spacing:0;background:transparent;margin:0.75rem 0;border:1px solid rgb(var(--contrast-400))}:host(limel-markdown:not(.no-table-styles)) th,:host(limel-markdown:not(.no-table-styles)) td{text-align:left;vertical-align:top;transition:background-color 0.2s ease;font-size:0.875rem}:host(limel-markdown:not(.no-table-styles)) td{padding:0.5rem 0.375rem 0.75rem 0.375rem}:host(limel-markdown:not(.no-table-styles)) tr th{background-color:rgb(var(--contrast-400));padding:0.25rem 0.375rem;font-weight:normal}:host(limel-markdown:not(.no-table-styles)) tr th:only-child{text-align:center}:host(limel-markdown:not(.no-table-styles)) tbody tr:nth-child(odd) td{background-color:rgb(var(--contrast-200))}:host(limel-markdown:not(.no-table-styles)) tbody tr:hover td{background-color:rgb(var(--contrast-300))}';const Wb=300;const Ub=class{constructor(r){t(this,r);this.change=e(this,"change",7);this.changeWaiting=false;this.suppressChangeEvent=false;this.getActionBarItems=()=>{this.actionBarItems=Oc().map(this.getTranslatedItem)};this.getTranslatedItem=t=>{const e=ce(t);if(S(t)){const r=$c[t.value];if(r){e.text=A.get(r,this.language)}}return e};this.updateActiveActionBarItems=t=>{const e=Oc().map((e=>{if(S(e)){return Object.assign(Object.assign({},e),{selected:t[e.value]})}return e}));this.actionBarItems=e};this.handleTransaction=t=>{const e=this.view.state.apply(t);this.view.updateState(e);if(this.suppressChangeEvent||t.getMeta("pointer")){return}const r=this.contentConverter.serialize(this.view,this.schema);if(r===this.lastEmittedValue){return}this.lastEmittedValue=r;this.changeWaiting=true;this.changeEmitter(r)};this.handleActionBarItem=t=>{t.preventDefault();t.stopImmediatePropagation();const{value:e}=t.detail;if(e===lc.Link){this.isLinkMenuOpen=true;return}const r=new CustomEvent("actionBarItemClick",{detail:t.detail});this.view.dom.dispatchEvent(r)};this.handleCancelLinkMenu=t=>{t.preventDefault();t.stopPropagation();this.isLinkMenuOpen=false;this.link={text:"",href:"https://"}};this.handleSaveLinkMenu=()=>{this.isLinkMenuOpen=false;const t=new CustomEvent("saveLinkMenu",{detail:{type:lc.Link,link:this.link}});this.view.dom.dispatchEvent(t);this.link={href:"https://"}};this.handleLinkChange=t=>{this.link=t.detail};this.handleNewLinkSelection=(t,e)=>{this.link.text=t;this.link.href=e||"https://"};this.handleOpenLinkMenu=t=>{t.stopImmediatePropagation();const{href:e,text:r}=t.detail;this.link={href:e,text:r};this.isLinkMenuOpen=true};this.changeEmitter=$((t=>{this.change.emit(t);this.changeWaiting=false}),Wb);this.handleBlur=()=>{this.changeEmitter.flush()};this.contentType="markdown";this.value=undefined;this.language=undefined;this.customElements=[];this.triggerCharacters=[];this.view=undefined;this.actionBarItems=[];this.link={href:"https://"};this.isLinkMenuOpen=false;this.portalId=C()}watchValue(t){if(!this.view){return}if(this.changeWaiting){return}const e=this.contentConverter.serialize(this.view,this.schema);if(t===e){return}this.updateView(t)}componentWillLoad(){this.getActionBarItems();this.setupContentConverter()}componentDidLoad(){setTimeout((()=>{this.initializeTextEditor()}),0)}connectedCallback(){if(this.view){this.initializeTextEditor()}this.host.addEventListener("open-editor-link-menu",this.handleOpenLinkMenu)}disconnectedCallback(){var t,e,r;this.host.removeEventListener("open-editor-link-menu",this.handleOpenLinkMenu);(e=(t=this.view)===null||t===void 0?void 0:t.dom)===null||e===void 0?void 0:e.removeEventListener("blur",this.handleBlur);(r=this.view)===null||r===void 0?void 0:r.destroy()}render(){return[r("div",{id:"editor"}),r("div",{class:"toolbar"},r("limel-action-bar",{ref:t=>this.actionBarElement=t,accessibleLabel:"Toolbar",actions:this.actionBarItems,onItemSelected:this.handleActionBarItem})),this.renderLinkMenu()]}renderLinkMenu(){if(!this.isLinkMenuOpen){return}return r("limel-portal",{containerId:this.portalId,visible:this.isLinkMenuOpen,openDirection:"top",inheritParentWidth:true,anchor:this.actionBarElement},r("limel-text-editor-link-menu",{link:this.link,isOpen:this.isLinkMenuOpen,onLinkChange:this.handleLinkChange,onCancel:this.handleCancelLinkMenu,onSave:this.handleSaveLinkMenu}))}setupContentConverter(){if(this.contentType==="markdown"){this.contentConverter=new ng(this.customElements)}else if(this.contentType==="html"){this.contentConverter=new sg}else{throw new Error(`Unsupported content type: ${this.contentType}. Only 'markdown' and 'html' are supported.`)}}async initializeTextEditor(){this.schema=this.initializeSchema();const t=await this.parseInitialContent();this.menuCommandFactory=new Mc(this.schema);this.view=new Au(this.host.shadowRoot.querySelector("#editor"),{state:this.createEditorState(t),dispatchTransaction:this.handleTransaction});this.view.dom.addEventListener("blur",this.handleBlur);if(this.value){this.updateView(this.value)}}initializeSchema(){let t=Uu.spec.nodes;this.customElements.forEach((e=>{const r=_g(e);const i=e.tagName;t=t.append({[i]:r})}));t=Qu(t,"paragraph block*","block");if(this.contentType==="html"){t=t.append(Jb())}return new cr({nodes:t,marks:Uu.spec.marks.append({strikethrough:lg})})}async parseInitialContent(){const t=document.createElement("div");if(this.value){t.innerHTML=await this.contentConverter.parseAsHTML(this.value,this.schema)}else{t.innerHTML="<p></p>"}return wr.fromSchema(this.schema).parse(t)}createEditorState(t){return mn.create({doc:t,plugins:[...sc({schema:this.schema,menuBar:false}),kf(this.menuCommandFactory.buildKeymap()),Dg(this.handleNewLinkSelection),Lg(this.triggerCharacters),yg(),Cg(oc,this.menuCommandFactory,this.updateActiveActionBarItems),$g(this.menuCommandFactory),...Ib(this.contentType==="html")]})}async updateView(t){this.suppressChangeEvent=true;const e=await this.contentConverter.parseAsHTML(t,this.schema);const r=wr.fromSchema(this.view.state.schema);const i=new window.DOMParser;const n=i.parseFromString(e,"text/html");const s=r.parse(n.body);const l=this.view.state.tr;l.replaceWith(0,l.doc.content.size,s.content);this.view.dispatch(l);this.suppressChangeEvent=false}setFocus(){var t;(t=this.view)===null||t===void 0?void 0:t.focus()}get host(){return i(this)}static get watchers(){return{value:["watchValue"]}}};Ub.style=Lb;export{Ub as limel_prosemirror_adapter};
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as t,c as e,h as r,g as i}from"./p-443111b3.js";import{k as n,q as s,U as l,f as o,g as u,t as f,u as h,i as a,j as c,v as d}from"./p-1b9d3851.js";import{b as p,a as m}from"./p-b28128d2.js";import{k as w,b as g,g as b,a as k}from"./p-22704cbc.js";import{i as D,r as v,S as y}from"./p-c93050d6.js";import{i as F}from"./p-0b1af919.js";import{i as E}from"./p-858c6b82.js";import{d as M,m as x}from"./p-086509a5.js";import{t as A}from"./p-8915fa60.js";import{c as C}from"./p-3ccdc4a3.js";import{i as S}from"./p-91741e79.js";import{i as O}from"./p-d0bdb2e3.js";import{d as $}from"./p-18c97232.js";import"./p-eda23c05.js";import"./p-4c3358cb.js";import"./p-9acf7b5d.js";import"./p-5fdb83c9.js";import"./p-eab67c09.js";import"./p-365098fe.js";import"./p-d529bb7d.js";var _=Object.create;var B=function(){function t(){}return function(e){if(!D(e)){return{}}if(_){return _(e)}t.prototype=e;var r=new t;t.prototype=undefined;return r}}();function R(t,e){var r=-1,i=t.length;e||(e=Array(i));while(++r<i){e[r]=t[r]}return e}function j(t,e){var r=-1,i=t==null?0:t.length;while(++r<i){if(e(t[r],r,t)===false){break}}return t}function N(t,e,r,i){var n=!r;r||(r={});var s=-1,l=e.length;while(++s<l){var o=e[s];var u=i?i(r[o],t[o],o,r,t):undefined;if(u===undefined){u=t[o]}if(n){p(r,o,u)}else{m(r,o,u)}}return r}function q(t,e){return t&&N(e,n(e),t)}function z(t,e){return t&&N(e,w(e),t)}var T=typeof exports=="object"&&exports&&!exports.nodeType&&exports;var I=T&&typeof module=="object"&&module&&!module.nodeType&&module;var P=I&&I.exports===T;var J=P?v.Buffer:undefined,L=J?J.allocUnsafe:undefined;function W(t,e){if(e){return t.slice()}var r=t.length,i=L?L(r):new t.constructor(r);t.copy(i);return i}function U(t,e){return N(t,s(t),e)}function H(t,e){return N(t,g(t),e)}var Z=Object.prototype;var K=Z.hasOwnProperty;function V(t){var e=t.length,r=new t.constructor(e);if(e&&typeof t[0]=="string"&&K.call(t,"index")){r.index=t.index;r.input=t.input}return r}function G(t){var e=new t.constructor(t.byteLength);new l(e).set(new l(t));return e}function X(t,e){var r=e?G(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}var Y=/\w*$/;function Q(t){var e=new t.constructor(t.source,Y.exec(t));e.lastIndex=t.lastIndex;return e}var tt=y?y.prototype:undefined,et=tt?tt.valueOf:undefined;function rt(t){return et?Object(et.call(t)):{}}function it(t,e){var r=e?G(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}var nt="[object Boolean]",st="[object Date]",lt="[object Map]",ot="[object Number]",ut="[object RegExp]",ft="[object Set]",ht="[object String]",at="[object Symbol]";var ct="[object ArrayBuffer]",dt="[object DataView]",pt="[object Float32Array]",mt="[object Float64Array]",wt="[object Int8Array]",gt="[object Int16Array]",bt="[object Int32Array]",kt="[object Uint8Array]",Dt="[object Uint8ClampedArray]",vt="[object Uint16Array]",yt="[object Uint32Array]";function Ft(t,e,r){var i=t.constructor;switch(e){case ct:return G(t);case nt:case st:return new i(+t);case dt:return X(t,r);case pt:case mt:case wt:case gt:case bt:case kt:case Dt:case vt:case yt:return it(t,r);case lt:return new i;case ot:case ht:return new i(t);case ut:return Q(t);case ft:return new i;case at:return rt(t)}}function Et(t){return typeof t.constructor=="function"&&!o(t)?B(b(t)):{}}var Mt="[object Map]";function xt(t){return E(t)&&u(t)==Mt}var At=h&&h.isMap;var Ct=At?f(At):xt;var St="[object Set]";function Ot(t){return E(t)&&u(t)==St}var $t=h&&h.isSet;var _t=$t?f($t):Ot;var Bt=1,Rt=2,jt=4;var Nt="[object Arguments]",qt="[object Array]",zt="[object Boolean]",Tt="[object Date]",It="[object Error]",Pt="[object Function]",Jt="[object GeneratorFunction]",Lt="[object Map]",Wt="[object Number]",Ut="[object Object]",Ht="[object RegExp]",Zt="[object Set]",Kt="[object String]",Vt="[object Symbol]",Gt="[object WeakMap]";var Xt="[object ArrayBuffer]",Yt="[object DataView]",Qt="[object Float32Array]",te="[object Float64Array]",ee="[object Int8Array]",re="[object Int16Array]",ie="[object Int32Array]",ne="[object Uint8Array]",se="[object Uint8ClampedArray]",le="[object Uint16Array]",oe="[object Uint32Array]";var ue={};ue[Nt]=ue[qt]=ue[Xt]=ue[Yt]=ue[zt]=ue[Tt]=ue[Qt]=ue[te]=ue[ee]=ue[re]=ue[ie]=ue[Lt]=ue[Wt]=ue[Ut]=ue[Ht]=ue[Zt]=ue[Kt]=ue[Vt]=ue[ne]=ue[se]=ue[le]=ue[oe]=true;ue[It]=ue[Pt]=ue[Gt]=false;function fe(t,e,r,i,s,l){var o,f=e&Bt,h=e&Rt,p=e&jt;if(r){o=s?r(t,i,s,l):r(t)}if(o!==undefined){return o}if(!D(t)){return t}var g=F(t);if(g){o=V(t);if(!f){return R(t,o)}}else{var b=u(t),v=b==Pt||b==Jt;if(a(t)){return W(t,f)}if(b==Ut||b==Nt||v&&!s){o=h||v?{}:Et(t);if(!f){return h?H(t,z(o,t)):U(t,q(o,t))}}else{if(!ue[b]){return s?t:{}}o=Ft(t,b,f)}}l||(l=new c);var y=l.get(t);if(y){return y}l.set(t,o);if(_t(t)){t.forEach((function(i){o.add(fe(i,e,r,i,t,l))}))}else if(Ct(t)){t.forEach((function(i,n){o.set(n,fe(i,e,r,n,t,l))}))}var E=p?h?k:d:h?w:n;var M=g?undefined:E(t);j(M||t,(function(i,n){if(M){n=i;i=t[n]}m(o,n,fe(i,e,r,n,t,l))}));return o}var he=1,ae=4;function ce(t){return fe(t,he|ae)}function de(t){this.content=t}de.prototype={constructor:de,find:function(t){for(var e=0;e<this.content.length;e+=2)if(this.content[e]===t)return e;return-1},get:function(t){var e=this.find(t);return e==-1?undefined:this.content[e+1]},update:function(t,e,r){var i=r&&r!=t?this.remove(r):this;var n=i.find(t),s=i.content.slice();if(n==-1){s.push(r||t,e)}else{s[n+1]=e;if(r)s[n]=r}return new de(s)},remove:function(t){var e=this.find(t);if(e==-1)return this;var r=this.content.slice();r.splice(e,2);return new de(r)},addToStart:function(t,e){return new de([t,e].concat(this.remove(t).content))},addToEnd:function(t,e){var r=this.remove(t).content.slice();r.push(t,e);return new de(r)},addBefore:function(t,e,r){var i=this.remove(e),n=i.content.slice();var s=i.find(t);n.splice(s==-1?n.length:s,0,e,r);return new de(n)},forEach:function(t){for(var e=0;e<this.content.length;e+=2)t(this.content[e],this.content[e+1])},prepend:function(t){t=de.from(t);if(!t.size)return this;return new de(t.content.concat(this.subtract(t).content))},append:function(t){t=de.from(t);if(!t.size)return this;return new de(this.subtract(t).content.concat(t.content))},subtract:function(t){var e=this;t=de.from(t);for(var r=0;r<t.content.length;r+=2)e=e.remove(t.content[r]);return e},toObject:function(){var t={};this.forEach((function(e,r){t[e]=r}));return t},get size(){return this.content.length>>1}};de.from=function(t){if(t instanceof de)return t;var e=[];if(t)for(var r in t)e.push(r,t[r]);return new de(e)};function pe(t,e,r){for(let i=0;;i++){if(i==t.childCount||i==e.childCount)return t.childCount==e.childCount?null:r;let n=t.child(i),s=e.child(i);if(n==s){r+=n.nodeSize;continue}if(!n.sameMarkup(s))return r;if(n.isText&&n.text!=s.text){for(let t=0;n.text[t]==s.text[t];t++)r++;return r}if(n.content.size||s.content.size){let t=pe(n.content,s.content,r+1);if(t!=null)return t}r+=n.nodeSize}}function me(t,e,r,i){for(let n=t.childCount,s=e.childCount;;){if(n==0||s==0)return n==s?null:{a:r,b:i};let l=t.child(--n),o=e.child(--s),u=l.nodeSize;if(l==o){r-=u;i-=u;continue}if(!l.sameMarkup(o))return{a:r,b:i};if(l.isText&&l.text!=o.text){let t=0,e=Math.min(l.text.length,o.text.length);while(t<e&&l.text[l.text.length-t-1]==o.text[o.text.length-t-1]){t++;r--;i--}return{a:r,b:i}}if(l.content.size||o.content.size){let t=me(l.content,o.content,r-1,i-1);if(t)return t}r-=u;i-=u}}class we{constructor(t,e){this.content=t;this.size=e||0;if(e==null)for(let e=0;e<t.length;e++)this.size+=t[e].nodeSize}nodesBetween(t,e,r,i=0,n){for(let s=0,l=0;l<e;s++){let o=this.content[s],u=l+o.nodeSize;if(u>t&&r(o,i+l,n||null,s)!==false&&o.content.size){let n=l+1;o.nodesBetween(Math.max(0,t-n),Math.min(o.content.size,e-n),r,i+n)}l=u}}descendants(t){this.nodesBetween(0,this.size,t)}textBetween(t,e,r,i){let n="",s=true;this.nodesBetween(t,e,((l,o)=>{let u=l.isText?l.text.slice(Math.max(t,o)-o,e-o):!l.isLeaf?"":i?typeof i==="function"?i(l):i:l.type.spec.leafText?l.type.spec.leafText(l):"";if(l.isBlock&&(l.isLeaf&&u||l.isTextblock)&&r){if(s)s=false;else n+=r}n+=u}),0);return n}append(t){if(!t.size)return this;if(!this.size)return t;let e=this.lastChild,r=t.firstChild,i=this.content.slice(),n=0;if(e.isText&&e.sameMarkup(r)){i[i.length-1]=e.withText(e.text+r.text);n=1}for(;n<t.content.length;n++)i.push(t.content[n]);return new we(i,this.size+t.size)}cut(t,e=this.size){if(t==0&&e==this.size)return this;let r=[],i=0;if(e>t)for(let n=0,s=0;s<e;n++){let l=this.content[n],o=s+l.nodeSize;if(o>t){if(s<t||o>e){if(l.isText)l=l.cut(Math.max(0,t-s),Math.min(l.text.length,e-s));else l=l.cut(Math.max(0,t-s-1),Math.min(l.content.size,e-s-1))}r.push(l);i+=l.nodeSize}s=o}return new we(r,i)}cutByIndex(t,e){if(t==e)return we.empty;if(t==0&&e==this.content.length)return this;return new we(this.content.slice(t,e))}replaceChild(t,e){let r=this.content[t];if(r==e)return this;let i=this.content.slice();let n=this.size+e.nodeSize-r.nodeSize;i[t]=e;return new we(i,n)}addToStart(t){return new we([t].concat(this.content),this.size+t.nodeSize)}addToEnd(t){return new we(this.content.concat(t),this.size+t.nodeSize)}eq(t){if(this.content.length!=t.content.length)return false;for(let e=0;e<this.content.length;e++)if(!this.content[e].eq(t.content[e]))return false;return true}get firstChild(){return this.content.length?this.content[0]:null}get lastChild(){return this.content.length?this.content[this.content.length-1]:null}get childCount(){return this.content.length}child(t){let e=this.content[t];if(!e)throw new RangeError("Index "+t+" out of range for "+this);return e}maybeChild(t){return this.content[t]||null}forEach(t){for(let e=0,r=0;e<this.content.length;e++){let i=this.content[e];t(i,r,e);r+=i.nodeSize}}findDiffStart(t,e=0){return pe(this,t,e)}findDiffEnd(t,e=this.size,r=t.size){return me(this,t,e,r)}findIndex(t,e=-1){if(t==0)return be(0,t);if(t==this.size)return be(this.content.length,t);if(t>this.size||t<0)throw new RangeError(`Position ${t} outside of fragment (${this})`);for(let r=0,i=0;;r++){let n=this.child(r),s=i+n.nodeSize;if(s>=t){if(s==t||e>0)return be(r+1,s);return be(r,i)}i=s}}toString(){return"<"+this.toStringInner()+">"}toStringInner(){return this.content.join(", ")}toJSON(){return this.content.length?this.content.map((t=>t.toJSON())):null}static fromJSON(t,e){if(!e)return we.empty;if(!Array.isArray(e))throw new RangeError("Invalid input for Fragment.fromJSON");return new we(e.map(t.nodeFromJSON))}static fromArray(t){if(!t.length)return we.empty;let e,r=0;for(let i=0;i<t.length;i++){let n=t[i];r+=n.nodeSize;if(i&&n.isText&&t[i-1].sameMarkup(n)){if(!e)e=t.slice(0,i);e[e.length-1]=n.withText(e[e.length-1].text+n.text)}else if(e){e.push(n)}}return new we(e||t,r)}static from(t){if(!t)return we.empty;if(t instanceof we)return t;if(Array.isArray(t))return this.fromArray(t);if(t.attrs)return new we([t],t.nodeSize);throw new RangeError("Can not convert "+t+" to a Fragment"+(t.nodesBetween?" (looks like multiple versions of prosemirror-model were loaded)":""))}}we.empty=new we([],0);const ge={index:0,offset:0};function be(t,e){ge.index=t;ge.offset=e;return ge}function ke(t,e){if(t===e)return true;if(!(t&&typeof t=="object")||!(e&&typeof e=="object"))return false;let r=Array.isArray(t);if(Array.isArray(e)!=r)return false;if(r){if(t.length!=e.length)return false;for(let r=0;r<t.length;r++)if(!ke(t[r],e[r]))return false}else{for(let r in t)if(!(r in e)||!ke(t[r],e[r]))return false;for(let r in e)if(!(r in t))return false}return true}class De{constructor(t,e){this.type=t;this.attrs=e}addToSet(t){let e,r=false;for(let i=0;i<t.length;i++){let n=t[i];if(this.eq(n))return t;if(this.type.excludes(n.type)){if(!e)e=t.slice(0,i)}else if(n.type.excludes(this.type)){return t}else{if(!r&&n.type.rank>this.type.rank){if(!e)e=t.slice(0,i);e.push(this);r=true}if(e)e.push(n)}}if(!e)e=t.slice();if(!r)e.push(this);return e}removeFromSet(t){for(let e=0;e<t.length;e++)if(this.eq(t[e]))return t.slice(0,e).concat(t.slice(e+1));return t}isInSet(t){for(let e=0;e<t.length;e++)if(this.eq(t[e]))return true;return false}eq(t){return this==t||this.type==t.type&&ke(this.attrs,t.attrs)}toJSON(){let t={type:this.type.name};for(let e in this.attrs){t.attrs=this.attrs;break}return t}static fromJSON(t,e){if(!e)throw new RangeError("Invalid input for Mark.fromJSON");let r=t.marks[e.type];if(!r)throw new RangeError(`There is no mark type ${e.type} in this schema`);let i=r.create(e.attrs);r.checkAttrs(i.attrs);return i}static sameSet(t,e){if(t==e)return true;if(t.length!=e.length)return false;for(let r=0;r<t.length;r++)if(!t[r].eq(e[r]))return false;return true}static setFrom(t){if(!t||Array.isArray(t)&&t.length==0)return De.none;if(t instanceof De)return[t];let e=t.slice();e.sort(((t,e)=>t.type.rank-e.type.rank));return e}}De.none=[];class ve extends Error{}class ye{constructor(t,e,r){this.content=t;this.openStart=e;this.openEnd=r}get size(){return this.content.size-this.openStart-this.openEnd}insertAt(t,e){let r=Ee(this.content,t+this.openStart,e);return r&&new ye(r,this.openStart,this.openEnd)}removeBetween(t,e){return new ye(Fe(this.content,t+this.openStart,e+this.openStart),this.openStart,this.openEnd)}eq(t){return this.content.eq(t.content)&&this.openStart==t.openStart&&this.openEnd==t.openEnd}toString(){return this.content+"("+this.openStart+","+this.openEnd+")"}toJSON(){if(!this.content.size)return null;let t={content:this.content.toJSON()};if(this.openStart>0)t.openStart=this.openStart;if(this.openEnd>0)t.openEnd=this.openEnd;return t}static fromJSON(t,e){if(!e)return ye.empty;let r=e.openStart||0,i=e.openEnd||0;if(typeof r!="number"||typeof i!="number")throw new RangeError("Invalid input for Slice.fromJSON");return new ye(we.fromJSON(t,e.content),r,i)}static maxOpen(t,e=true){let r=0,i=0;for(let i=t.firstChild;i&&!i.isLeaf&&(e||!i.type.spec.isolating);i=i.firstChild)r++;for(let r=t.lastChild;r&&!r.isLeaf&&(e||!r.type.spec.isolating);r=r.lastChild)i++;return new ye(t,r,i)}}ye.empty=new ye(we.empty,0,0);function Fe(t,e,r){let{index:i,offset:n}=t.findIndex(e),s=t.maybeChild(i);let{index:l,offset:o}=t.findIndex(r);if(n==e||s.isText){if(o!=r&&!t.child(l).isText)throw new RangeError("Removing non-flat range");return t.cut(0,e).append(t.cut(r))}if(i!=l)throw new RangeError("Removing non-flat range");return t.replaceChild(i,s.copy(Fe(s.content,e-n-1,r-n-1)))}function Ee(t,e,r,i){let{index:n,offset:s}=t.findIndex(e),l=t.maybeChild(n);if(s==e||l.isText){if(i&&!i.canReplace(n,n,r))return null;return t.cut(0,e).append(r).append(t.cut(e))}let o=Ee(l.content,e-s-1,r);return o&&t.replaceChild(n,l.copy(o))}function Me(t,e,r){if(r.openStart>t.depth)throw new ve("Inserted content deeper than insertion position");if(t.depth-r.openStart!=e.depth-r.openEnd)throw new ve("Inconsistent open depths");return xe(t,e,r,0)}function xe(t,e,r,i){let n=t.index(i),s=t.node(i);if(n==e.index(i)&&i<t.depth-r.openStart){let l=xe(t,e,r,i+1);return s.copy(s.content.replaceChild(n,l))}else if(!r.content.size){return $e(s,Be(t,e,i))}else if(!r.openStart&&!r.openEnd&&t.depth==i&&e.depth==i){let i=t.parent,n=i.content;return $e(i,n.cut(0,t.parentOffset).append(r.content).append(n.cut(e.parentOffset)))}else{let{start:n,end:l}=Re(r,t);return $e(s,_e(t,n,l,e,i))}}function Ae(t,e){if(!e.type.compatibleContent(t.type))throw new ve("Cannot join "+e.type.name+" onto "+t.type.name)}function Ce(t,e,r){let i=t.node(r);Ae(i,e.node(r));return i}function Se(t,e){let r=e.length-1;if(r>=0&&t.isText&&t.sameMarkup(e[r]))e[r]=t.withText(e[r].text+t.text);else e.push(t)}function Oe(t,e,r,i){let n=(e||t).node(r);let s=0,l=e?e.index(r):n.childCount;if(t){s=t.index(r);if(t.depth>r){s++}else if(t.textOffset){Se(t.nodeAfter,i);s++}}for(let t=s;t<l;t++)Se(n.child(t),i);if(e&&e.depth==r&&e.textOffset)Se(e.nodeBefore,i)}function $e(t,e){t.type.checkContent(e);return t.copy(e)}function _e(t,e,r,i,n){let s=t.depth>n&&Ce(t,e,n+1);let l=i.depth>n&&Ce(r,i,n+1);let o=[];Oe(null,t,n,o);if(s&&l&&e.index(n)==r.index(n)){Ae(s,l);Se($e(s,_e(t,e,r,i,n+1)),o)}else{if(s)Se($e(s,Be(t,e,n+1)),o);Oe(e,r,n,o);if(l)Se($e(l,Be(r,i,n+1)),o)}Oe(i,null,n,o);return new we(o)}function Be(t,e,r){let i=[];Oe(null,t,r,i);if(t.depth>r){let n=Ce(t,e,r+1);Se($e(n,Be(t,e,r+1)),i)}Oe(e,null,r,i);return new we(i)}function Re(t,e){let r=e.depth-t.openStart,i=e.node(r);let n=i.copy(t.content);for(let t=r-1;t>=0;t--)n=e.node(t).copy(we.from(n));return{start:n.resolveNoCache(t.openStart+r),end:n.resolveNoCache(n.content.size-t.openEnd-r)}}class je{constructor(t,e,r){this.pos=t;this.path=e;this.parentOffset=r;this.depth=e.length/3-1}resolveDepth(t){if(t==null)return this.depth;if(t<0)return this.depth+t;return t}get parent(){return this.node(this.depth)}get doc(){return this.node(0)}node(t){return this.path[this.resolveDepth(t)*3]}index(t){return this.path[this.resolveDepth(t)*3+1]}indexAfter(t){t=this.resolveDepth(t);return this.index(t)+(t==this.depth&&!this.textOffset?0:1)}start(t){t=this.resolveDepth(t);return t==0?0:this.path[t*3-1]+1}end(t){t=this.resolveDepth(t);return this.start(t)+this.node(t).content.size}before(t){t=this.resolveDepth(t);if(!t)throw new RangeError("There is no position before the top-level node");return t==this.depth+1?this.pos:this.path[t*3-1]}after(t){t=this.resolveDepth(t);if(!t)throw new RangeError("There is no position after the top-level node");return t==this.depth+1?this.pos:this.path[t*3-1]+this.path[t*3].nodeSize}get textOffset(){return this.pos-this.path[this.path.length-1]}get nodeAfter(){let t=this.parent,e=this.index(this.depth);if(e==t.childCount)return null;let r=this.pos-this.path[this.path.length-1],i=t.child(e);return r?t.child(e).cut(r):i}get nodeBefore(){let t=this.index(this.depth);let e=this.pos-this.path[this.path.length-1];if(e)return this.parent.child(t).cut(0,e);return t==0?null:this.parent.child(t-1)}posAtIndex(t,e){e=this.resolveDepth(e);let r=this.path[e*3],i=e==0?0:this.path[e*3-1]+1;for(let e=0;e<t;e++)i+=r.child(e).nodeSize;return i}marks(){let t=this.parent,e=this.index();if(t.content.size==0)return De.none;if(this.textOffset)return t.child(e).marks;let r=t.maybeChild(e-1),i=t.maybeChild(e);if(!r){let t=r;r=i;i=t}let n=r.marks;for(var s=0;s<n.length;s++)if(n[s].type.spec.inclusive===false&&(!i||!n[s].isInSet(i.marks)))n=n[s--].removeFromSet(n);return n}marksAcross(t){let e=this.parent.maybeChild(this.index());if(!e||!e.isInline)return null;let r=e.marks,i=t.parent.maybeChild(t.index());for(var n=0;n<r.length;n++)if(r[n].type.spec.inclusive===false&&(!i||!r[n].isInSet(i.marks)))r=r[n--].removeFromSet(r);return r}sharedDepth(t){for(let e=this.depth;e>0;e--)if(this.start(e)<=t&&this.end(e)>=t)return e;return 0}blockRange(t=this,e){if(t.pos<this.pos)return t.blockRange(this);for(let r=this.depth-(this.parent.inlineContent||this.pos==t.pos?1:0);r>=0;r--)if(t.pos<=this.end(r)&&(!e||e(this.node(r))))return new Te(this,t,r);return null}sameParent(t){return this.pos-this.parentOffset==t.pos-t.parentOffset}max(t){return t.pos>this.pos?t:this}min(t){return t.pos<this.pos?t:this}toString(){let t="";for(let e=1;e<=this.depth;e++)t+=(t?"/":"")+this.node(e).type.name+"_"+this.index(e-1);return t+":"+this.parentOffset}static resolve(t,e){if(!(e>=0&&e<=t.content.size))throw new RangeError("Position "+e+" out of range");let r=[];let i=0,n=e;for(let e=t;;){let{index:t,offset:s}=e.content.findIndex(n);let l=n-s;r.push(e,t,i+s);if(!l)break;e=e.child(t);if(e.isText)break;n=l-1;i+=s+1}return new je(e,r,n)}static resolveCached(t,e){let r=ze.get(t);if(r){for(let t=0;t<r.elts.length;t++){let i=r.elts[t];if(i.pos==e)return i}}else{ze.set(t,r=new Ne)}let i=r.elts[r.i]=je.resolve(t,e);r.i=(r.i+1)%qe;return i}}class Ne{constructor(){this.elts=[];this.i=0}}const qe=12,ze=new WeakMap;class Te{constructor(t,e,r){this.$from=t;this.$to=e;this.depth=r}get start(){return this.$from.before(this.depth+1)}get end(){return this.$to.after(this.depth+1)}get parent(){return this.$from.node(this.depth)}get startIndex(){return this.$from.index(this.depth)}get endIndex(){return this.$to.indexAfter(this.depth)}}const Ie=Object.create(null);class Pe{constructor(t,e,r,i=De.none){this.type=t;this.attrs=e;this.marks=i;this.content=r||we.empty}get nodeSize(){return this.isLeaf?1:2+this.content.size}get childCount(){return this.content.childCount}child(t){return this.content.child(t)}maybeChild(t){return this.content.maybeChild(t)}forEach(t){this.content.forEach(t)}nodesBetween(t,e,r,i=0){this.content.nodesBetween(t,e,r,i,this)}descendants(t){this.nodesBetween(0,this.content.size,t)}get textContent(){return this.isLeaf&&this.type.spec.leafText?this.type.spec.leafText(this):this.textBetween(0,this.content.size,"")}textBetween(t,e,r,i){return this.content.textBetween(t,e,r,i)}get firstChild(){return this.content.firstChild}get lastChild(){return this.content.lastChild}eq(t){return this==t||this.sameMarkup(t)&&this.content.eq(t.content)}sameMarkup(t){return this.hasMarkup(t.type,t.attrs,t.marks)}hasMarkup(t,e,r){return this.type==t&&ke(this.attrs,e||t.defaultAttrs||Ie)&&De.sameSet(this.marks,r||De.none)}copy(t=null){if(t==this.content)return this;return new Pe(this.type,this.attrs,t,this.marks)}mark(t){return t==this.marks?this:new Pe(this.type,this.attrs,this.content,t)}cut(t,e=this.content.size){if(t==0&&e==this.content.size)return this;return this.copy(this.content.cut(t,e))}slice(t,e=this.content.size,r=false){if(t==e)return ye.empty;let i=this.resolve(t),n=this.resolve(e);let s=r?0:i.sharedDepth(e);let l=i.start(s),o=i.node(s);let u=o.content.cut(i.pos-l,n.pos-l);return new ye(u,i.depth-s,n.depth-s)}replace(t,e,r){return Me(this.resolve(t),this.resolve(e),r)}nodeAt(t){for(let e=this;;){let{index:r,offset:i}=e.content.findIndex(t);e=e.maybeChild(r);if(!e)return null;if(i==t||e.isText)return e;t-=i+1}}childAfter(t){let{index:e,offset:r}=this.content.findIndex(t);return{node:this.content.maybeChild(e),index:e,offset:r}}childBefore(t){if(t==0)return{node:null,index:0,offset:0};let{index:e,offset:r}=this.content.findIndex(t);if(r<t)return{node:this.content.child(e),index:e,offset:r};let i=this.content.child(e-1);return{node:i,index:e-1,offset:r-i.nodeSize}}resolve(t){return je.resolveCached(this,t)}resolveNoCache(t){return je.resolve(this,t)}rangeHasMark(t,e,r){let i=false;if(e>t)this.nodesBetween(t,e,(t=>{if(r.isInSet(t.marks))i=true;return!i}));return i}get isBlock(){return this.type.isBlock}get isTextblock(){return this.type.isTextblock}get inlineContent(){return this.type.inlineContent}get isInline(){return this.type.isInline}get isText(){return this.type.isText}get isLeaf(){return this.type.isLeaf}get isAtom(){return this.type.isAtom}toString(){if(this.type.spec.toDebugString)return this.type.spec.toDebugString(this);let t=this.type.name;if(this.content.size)t+="("+this.content.toStringInner()+")";return Le(this.marks,t)}contentMatchAt(t){let e=this.type.contentMatch.matchFragment(this.content,0,t);if(!e)throw new Error("Called contentMatchAt on a node with invalid content");return e}canReplace(t,e,r=we.empty,i=0,n=r.childCount){let s=this.contentMatchAt(t).matchFragment(r,i,n);let l=s&&s.matchFragment(this.content,e);if(!l||!l.validEnd)return false;for(let t=i;t<n;t++)if(!this.type.allowsMarks(r.child(t).marks))return false;return true}canReplaceWith(t,e,r,i){if(i&&!this.type.allowsMarks(i))return false;let n=this.contentMatchAt(t).matchType(r);let s=n&&n.matchFragment(this.content,e);return s?s.validEnd:false}canAppend(t){if(t.content.size)return this.canReplace(this.childCount,this.childCount,t.content);else return this.type.compatibleContent(t.type)}check(){this.type.checkContent(this.content);this.type.checkAttrs(this.attrs);let t=De.none;for(let e=0;e<this.marks.length;e++){let r=this.marks[e];r.type.checkAttrs(r.attrs);t=r.addToSet(t)}if(!De.sameSet(t,this.marks))throw new RangeError(`Invalid collection of marks for node ${this.type.name}: ${this.marks.map((t=>t.type.name))}`);this.content.forEach((t=>t.check()))}toJSON(){let t={type:this.type.name};for(let e in this.attrs){t.attrs=this.attrs;break}if(this.content.size)t.content=this.content.toJSON();if(this.marks.length)t.marks=this.marks.map((t=>t.toJSON()));return t}static fromJSON(t,e){if(!e)throw new RangeError("Invalid input for Node.fromJSON");let r=undefined;if(e.marks){if(!Array.isArray(e.marks))throw new RangeError("Invalid mark data for Node.fromJSON");r=e.marks.map(t.markFromJSON)}if(e.type=="text"){if(typeof e.text!="string")throw new RangeError("Invalid text node in JSON");return t.text(e.text,r)}let i=we.fromJSON(t,e.content);let n=t.nodeType(e.type).create(e.attrs,i,r);n.type.checkAttrs(n.attrs);return n}}Pe.prototype.text=undefined;class Je extends Pe{constructor(t,e,r,i){super(t,e,null,i);if(!r)throw new RangeError("Empty text nodes are not allowed");this.text=r}toString(){if(this.type.spec.toDebugString)return this.type.spec.toDebugString(this);return Le(this.marks,JSON.stringify(this.text))}get textContent(){return this.text}textBetween(t,e){return this.text.slice(t,e)}get nodeSize(){return this.text.length}mark(t){return t==this.marks?this:new Je(this.type,this.attrs,this.text,t)}withText(t){if(t==this.text)return this;return new Je(this.type,this.attrs,t,this.marks)}cut(t=0,e=this.text.length){if(t==0&&e==this.text.length)return this;return this.withText(this.text.slice(t,e))}eq(t){return this.sameMarkup(t)&&this.text==t.text}toJSON(){let t=super.toJSON();t.text=this.text;return t}}function Le(t,e){for(let r=t.length-1;r>=0;r--)e=t[r].type.name+"("+e+")";return e}class We{constructor(t){this.validEnd=t;this.next=[];this.wrapCache=[]}static parse(t,e){let r=new Ue(t,e);if(r.next==null)return We.empty;let i=He(r);if(r.next)r.err("Unexpected trailing text");let n=rr(Qe(i));ir(n,r);return n}matchType(t){for(let e=0;e<this.next.length;e++)if(this.next[e].type==t)return this.next[e].next;return null}matchFragment(t,e=0,r=t.childCount){let i=this;for(let n=e;i&&n<r;n++)i=i.matchType(t.child(n).type);return i}get inlineContent(){return this.next.length!=0&&this.next[0].type.isInline}get defaultType(){for(let t=0;t<this.next.length;t++){let{type:e}=this.next[t];if(!(e.isText||e.hasRequiredAttrs()))return e}return null}compatible(t){for(let e=0;e<this.next.length;e++)for(let r=0;r<t.next.length;r++)if(this.next[e].type==t.next[r].type)return true;return false}fillBefore(t,e=false,r=0){let i=[this];function n(s,l){let o=s.matchFragment(t,r);if(o&&(!e||o.validEnd))return we.from(l.map((t=>t.createAndFill())));for(let t=0;t<s.next.length;t++){let{type:e,next:r}=s.next[t];if(!(e.isText||e.hasRequiredAttrs())&&i.indexOf(r)==-1){i.push(r);let t=n(r,l.concat(e));if(t)return t}}return null}return n(this,[])}findWrapping(t){for(let e=0;e<this.wrapCache.length;e+=2)if(this.wrapCache[e]==t)return this.wrapCache[e+1];let e=this.computeWrapping(t);this.wrapCache.push(t,e);return e}computeWrapping(t){let e=Object.create(null),r=[{match:this,type:null,via:null}];while(r.length){let i=r.shift(),n=i.match;if(n.matchType(t)){let t=[];for(let e=i;e.type;e=e.via)t.push(e.type);return t.reverse()}for(let t=0;t<n.next.length;t++){let{type:s,next:l}=n.next[t];if(!s.isLeaf&&!s.hasRequiredAttrs()&&!(s.name in e)&&(!i.type||l.validEnd)){r.push({match:s.contentMatch,type:s,via:i});e[s.name]=true}}}return null}get edgeCount(){return this.next.length}edge(t){if(t>=this.next.length)throw new RangeError(`There's no ${t}th edge in this content match`);return this.next[t]}toString(){let t=[];function e(r){t.push(r);for(let i=0;i<r.next.length;i++)if(t.indexOf(r.next[i].next)==-1)e(r.next[i].next)}e(this);return t.map(((e,r)=>{let i=r+(e.validEnd?"*":" ")+" ";for(let r=0;r<e.next.length;r++)i+=(r?", ":"")+e.next[r].type.name+"->"+t.indexOf(e.next[r].next);return i})).join("\n")}}We.empty=new We(true);class Ue{constructor(t,e){this.string=t;this.nodeTypes=e;this.inline=null;this.pos=0;this.tokens=t.split(/\s*(?=\b|\W|$)/);if(this.tokens[this.tokens.length-1]=="")this.tokens.pop();if(this.tokens[0]=="")this.tokens.shift()}get next(){return this.tokens[this.pos]}eat(t){return this.next==t&&(this.pos++||true)}err(t){throw new SyntaxError(t+" (in content expression '"+this.string+"')")}}function He(t){let e=[];do{e.push(Ze(t))}while(t.eat("|"));return e.length==1?e[0]:{type:"choice",exprs:e}}function Ze(t){let e=[];do{e.push(Ke(t))}while(t.next&&t.next!=")"&&t.next!="|");return e.length==1?e[0]:{type:"seq",exprs:e}}function Ke(t){let e=Ye(t);for(;;){if(t.eat("+"))e={type:"plus",expr:e};else if(t.eat("*"))e={type:"star",expr:e};else if(t.eat("?"))e={type:"opt",expr:e};else if(t.eat("{"))e=Ge(t,e);else break}return e}function Ve(t){if(/\D/.test(t.next))t.err("Expected number, got '"+t.next+"'");let e=Number(t.next);t.pos++;return e}function Ge(t,e){let r=Ve(t),i=r;if(t.eat(",")){if(t.next!="}")i=Ve(t);else i=-1}if(!t.eat("}"))t.err("Unclosed braced range");return{type:"range",min:r,max:i,expr:e}}function Xe(t,e){let r=t.nodeTypes,i=r[e];if(i)return[i];let n=[];for(let t in r){let i=r[t];if(i.groups.indexOf(e)>-1)n.push(i)}if(n.length==0)t.err("No node type or group '"+e+"' found");return n}function Ye(t){if(t.eat("(")){let e=He(t);if(!t.eat(")"))t.err("Missing closing paren");return e}else if(!/\W/.test(t.next)){let e=Xe(t,t.next).map((e=>{if(t.inline==null)t.inline=e.isInline;else if(t.inline!=e.isInline)t.err("Mixing inline and block content");return{type:"name",value:e}}));t.pos++;return e.length==1?e[0]:{type:"choice",exprs:e}}else{t.err("Unexpected token '"+t.next+"'")}}function Qe(t){let e=[[]];n(s(t,0),r());return e;function r(){return e.push([])-1}function i(t,r,i){let n={term:i,to:r};e[t].push(n);return n}function n(t,e){t.forEach((t=>t.to=e))}function s(t,e){if(t.type=="choice"){return t.exprs.reduce(((t,r)=>t.concat(s(r,e))),[])}else if(t.type=="seq"){for(let i=0;;i++){let l=s(t.exprs[i],e);if(i==t.exprs.length-1)return l;n(l,e=r())}}else if(t.type=="star"){let l=r();i(e,l);n(s(t.expr,l),l);return[i(l)]}else if(t.type=="plus"){let l=r();n(s(t.expr,e),l);n(s(t.expr,l),l);return[i(l)]}else if(t.type=="opt"){return[i(e)].concat(s(t.expr,e))}else if(t.type=="range"){let l=e;for(let e=0;e<t.min;e++){let e=r();n(s(t.expr,l),e);l=e}if(t.max==-1){n(s(t.expr,l),l)}else{for(let e=t.min;e<t.max;e++){let e=r();i(l,e);n(s(t.expr,l),e);l=e}}return[i(l)]}else if(t.type=="name"){return[i(e,undefined,t.value)]}else{throw new Error("Unknown expr type")}}}function tr(t,e){return e-t}function er(t,e){let r=[];i(e);return r.sort(tr);function i(e){let n=t[e];if(n.length==1&&!n[0].term)return i(n[0].to);r.push(e);for(let t=0;t<n.length;t++){let{term:e,to:s}=n[t];if(!e&&r.indexOf(s)==-1)i(s)}}}function rr(t){let e=Object.create(null);return r(er(t,0));function r(i){let n=[];i.forEach((e=>{t[e].forEach((({term:e,to:r})=>{if(!e)return;let i;for(let t=0;t<n.length;t++)if(n[t][0]==e)i=n[t][1];er(t,r).forEach((t=>{if(!i)n.push([e,i=[]]);if(i.indexOf(t)==-1)i.push(t)}))}))}));let s=e[i.join(",")]=new We(i.indexOf(t.length-1)>-1);for(let t=0;t<n.length;t++){let i=n[t][1].sort(tr);s.next.push({type:n[t][0],next:e[i.join(",")]||r(i)})}return s}}function ir(t,e){for(let r=0,i=[t];r<i.length;r++){let t=i[r],n=!t.validEnd,s=[];for(let e=0;e<t.next.length;e++){let{type:r,next:l}=t.next[e];s.push(r.name);if(n&&!(r.isText||r.hasRequiredAttrs()))n=false;if(i.indexOf(l)==-1)i.push(l)}if(n)e.err("Only non-generatable nodes ("+s.join(", ")+") in a required position (see https://prosemirror.net/docs/guide/#generatable)")}}function nr(t){let e=Object.create(null);for(let r in t){let i=t[r];if(!i.hasDefault)return null;e[r]=i.default}return e}function sr(t,e){let r=Object.create(null);for(let i in t){let n=e&&e[i];if(n===undefined){let e=t[i];if(e.hasDefault)n=e.default;else throw new RangeError("No value supplied for attribute "+i)}r[i]=n}return r}function lr(t,e,r,i){for(let i in e)if(!(i in t))throw new RangeError(`Unsupported attribute ${i} for ${r} of type ${i}`);for(let r in t){let i=t[r];if(i.validate)i.validate(e[r])}}function or(t,e){let r=Object.create(null);if(e)for(let i in e)r[i]=new hr(t,i,e[i]);return r}class ur{constructor(t,e,r){this.name=t;this.schema=e;this.spec=r;this.markSet=null;this.groups=r.group?r.group.split(" "):[];this.attrs=or(t,r.attrs);this.defaultAttrs=nr(this.attrs);this.contentMatch=null;this.inlineContent=null;this.isBlock=!(r.inline||t=="text");this.isText=t=="text"}get isInline(){return!this.isBlock}get isTextblock(){return this.isBlock&&this.inlineContent}get isLeaf(){return this.contentMatch==We.empty}get isAtom(){return this.isLeaf||!!this.spec.atom}get whitespace(){return this.spec.whitespace||(this.spec.code?"pre":"normal")}hasRequiredAttrs(){for(let t in this.attrs)if(this.attrs[t].isRequired)return true;return false}compatibleContent(t){return this==t||this.contentMatch.compatible(t.contentMatch)}computeAttrs(t){if(!t&&this.defaultAttrs)return this.defaultAttrs;else return sr(this.attrs,t)}create(t=null,e,r){if(this.isText)throw new Error("NodeType.create can't construct text nodes");return new Pe(this,this.computeAttrs(t),we.from(e),De.setFrom(r))}createChecked(t=null,e,r){e=we.from(e);this.checkContent(e);return new Pe(this,this.computeAttrs(t),e,De.setFrom(r))}createAndFill(t=null,e,r){t=this.computeAttrs(t);e=we.from(e);if(e.size){let t=this.contentMatch.fillBefore(e);if(!t)return null;e=t.append(e)}let i=this.contentMatch.matchFragment(e);let n=i&&i.fillBefore(we.empty,true);if(!n)return null;return new Pe(this,t,e.append(n),De.setFrom(r))}validContent(t){let e=this.contentMatch.matchFragment(t);if(!e||!e.validEnd)return false;for(let e=0;e<t.childCount;e++)if(!this.allowsMarks(t.child(e).marks))return false;return true}checkContent(t){if(!this.validContent(t))throw new RangeError(`Invalid content for node ${this.name}: ${t.toString().slice(0,50)}`)}checkAttrs(t){lr(this.attrs,t,"node")}allowsMarkType(t){return this.markSet==null||this.markSet.indexOf(t)>-1}allowsMarks(t){if(this.markSet==null)return true;for(let e=0;e<t.length;e++)if(!this.allowsMarkType(t[e].type))return false;return true}allowedMarks(t){if(this.markSet==null)return t;let e;for(let r=0;r<t.length;r++){if(!this.allowsMarkType(t[r].type)){if(!e)e=t.slice(0,r)}else if(e){e.push(t[r])}}return!e?t:e.length?e:De.none}static compile(t,e){let r=Object.create(null);t.forEach(((t,i)=>r[t]=new ur(t,e,i)));let i=e.spec.topNode||"doc";if(!r[i])throw new RangeError("Schema is missing its top node type ('"+i+"')");if(!r.text)throw new RangeError("Every schema needs a 'text' type");for(let t in r.text.attrs)throw new RangeError("The text node type should not have attributes");return r}}function fr(t,e,r){let i=r.split("|");return r=>{let n=r===null?"null":typeof r;if(i.indexOf(n)<0)throw new RangeError(`Expected value of type ${i} for attribute ${e} on type ${t}, got ${n}`)}}class hr{constructor(t,e,r){this.hasDefault=Object.prototype.hasOwnProperty.call(r,"default");this.default=r.default;this.validate=typeof r.validate=="string"?fr(t,e,r.validate):r.validate}get isRequired(){return!this.hasDefault}}class ar{constructor(t,e,r,i){this.name=t;this.rank=e;this.schema=r;this.spec=i;this.attrs=or(t,i.attrs);this.excluded=null;let n=nr(this.attrs);this.instance=n?new De(this,n):null}create(t=null){if(!t&&this.instance)return this.instance;return new De(this,sr(this.attrs,t))}static compile(t,e){let r=Object.create(null),i=0;t.forEach(((t,n)=>r[t]=new ar(t,i++,e,n)));return r}removeFromSet(t){for(var e=0;e<t.length;e++)if(t[e].type==this){t=t.slice(0,e).concat(t.slice(e+1));e--}return t}isInSet(t){for(let e=0;e<t.length;e++)if(t[e].type==this)return t[e]}checkAttrs(t){lr(this.attrs,t,"mark")}excludes(t){return this.excluded.indexOf(t)>-1}}class cr{constructor(t){this.linebreakReplacement=null;this.cached=Object.create(null);let e=this.spec={};for(let r in t)e[r]=t[r];e.nodes=de.from(t.nodes),e.marks=de.from(t.marks||{}),this.nodes=ur.compile(this.spec.nodes,this);this.marks=ar.compile(this.spec.marks,this);let r=Object.create(null);for(let t in this.nodes){if(t in this.marks)throw new RangeError(t+" can not be both a node and a mark");let e=this.nodes[t],i=e.spec.content||"",n=e.spec.marks;e.contentMatch=r[i]||(r[i]=We.parse(i,this.nodes));e.inlineContent=e.contentMatch.inlineContent;if(e.spec.linebreakReplacement){if(this.linebreakReplacement)throw new RangeError("Multiple linebreak nodes defined");if(!e.isInline||!e.isLeaf)throw new RangeError("Linebreak replacement nodes must be inline leaf nodes");this.linebreakReplacement=e}e.markSet=n=="_"?null:n?dr(this,n.split(" ")):n==""||!e.inlineContent?[]:null}for(let t in this.marks){let e=this.marks[t],r=e.spec.excludes;e.excluded=r==null?[e]:r==""?[]:dr(this,r.split(" "))}this.nodeFromJSON=this.nodeFromJSON.bind(this);this.markFromJSON=this.markFromJSON.bind(this);this.topNodeType=this.nodes[this.spec.topNode||"doc"];this.cached.wrappings=Object.create(null)}node(t,e=null,r,i){if(typeof t=="string")t=this.nodeType(t);else if(!(t instanceof ur))throw new RangeError("Invalid node type: "+t);else if(t.schema!=this)throw new RangeError("Node type from different schema used ("+t.name+")");return t.createChecked(e,r,i)}text(t,e){let r=this.nodes.text;return new Je(r,r.defaultAttrs,t,De.setFrom(e))}mark(t,e){if(typeof t=="string")t=this.marks[t];return t.create(e)}nodeFromJSON(t){return Pe.fromJSON(this,t)}markFromJSON(t){return De.fromJSON(this,t)}nodeType(t){let e=this.nodes[t];if(!e)throw new RangeError("Unknown node type: "+t);return e}}function dr(t,e){let r=[];for(let i=0;i<e.length;i++){let n=e[i],s=t.marks[n],l=s;if(s){r.push(s)}else{for(let e in t.marks){let i=t.marks[e];if(n=="_"||i.spec.group&&i.spec.group.split(" ").indexOf(n)>-1)r.push(l=i)}}if(!l)throw new SyntaxError("Unknown mark type: '"+e[i]+"'")}return r}function pr(t){return t.tag!=null}function mr(t){return t.style!=null}class wr{constructor(t,e){this.schema=t;this.rules=e;this.tags=[];this.styles=[];let r=this.matchedStyles=[];e.forEach((t=>{if(pr(t)){this.tags.push(t)}else if(mr(t)){let e=/[^=]*/.exec(t.style)[0];if(r.indexOf(e)<0)r.push(e);this.styles.push(t)}}));this.normalizeLists=!this.tags.some((e=>{if(!/^(ul|ol)\b/.test(e.tag)||!e.node)return false;let r=t.nodes[e.node];return r.contentMatch.matchType(r)}))}parse(t,e={}){let r=new Mr(this,e,false);r.addAll(t,De.none,e.from,e.to);return r.finish()}parseSlice(t,e={}){let r=new Mr(this,e,true);r.addAll(t,De.none,e.from,e.to);return ye.maxOpen(r.finish())}matchTag(t,e,r){for(let i=r?this.tags.indexOf(r)+1:0;i<this.tags.length;i++){let r=this.tags[i];if(Ar(t,r.tag)&&(r.namespace===undefined||t.namespaceURI==r.namespace)&&(!r.context||e.matchesContext(r.context))){if(r.getAttrs){let e=r.getAttrs(t);if(e===false)continue;r.attrs=e||undefined}return r}}}matchStyle(t,e,r,i){for(let n=i?this.styles.indexOf(i)+1:0;n<this.styles.length;n++){let i=this.styles[n],s=i.style;if(s.indexOf(t)!=0||i.context&&!r.matchesContext(i.context)||s.length>t.length&&(s.charCodeAt(t.length)!=61||s.slice(t.length+1)!=e))continue;if(i.getAttrs){let t=i.getAttrs(e);if(t===false)continue;i.attrs=t||undefined}return i}}static schemaRules(t){let e=[];function r(t){let r=t.priority==null?50:t.priority,i=0;for(;i<e.length;i++){let t=e[i],n=t.priority==null?50:t.priority;if(n<r)break}e.splice(i,0,t)}for(let e in t.marks){let i=t.marks[e].spec.parseDOM;if(i)i.forEach((t=>{r(t=Cr(t));if(!(t.mark||t.ignore||t.clearMark))t.mark=e}))}for(let e in t.nodes){let i=t.nodes[e].spec.parseDOM;if(i)i.forEach((t=>{r(t=Cr(t));if(!(t.node||t.ignore||t.mark))t.node=e}))}return e}static fromSchema(t){return t.cached.domParser||(t.cached.domParser=new wr(t,wr.schemaRules(t)))}}const gr={address:true,article:true,aside:true,blockquote:true,canvas:true,dd:true,div:true,dl:true,fieldset:true,figcaption:true,figure:true,footer:true,form:true,h1:true,h2:true,h3:true,h4:true,h5:true,h6:true,header:true,hgroup:true,hr:true,li:true,noscript:true,ol:true,output:true,p:true,pre:true,section:true,table:true,tfoot:true,ul:true};const br={head:true,noscript:true,object:true,script:true,style:true,title:true};const kr={ol:true,ul:true};const Dr=1,vr=2,yr=4;function Fr(t,e,r){if(e!=null)return(e?Dr:0)|(e==="full"?vr:0);return t&&t.whitespace=="pre"?Dr|vr:r&~yr}class Er{constructor(t,e,r,i,n,s){this.type=t;this.attrs=e;this.marks=r;this.solid=i;this.options=s;this.content=[];this.activeMarks=De.none;this.match=n||(s&yr?null:t.contentMatch)}findWrapping(t){if(!this.match){if(!this.type)return[];let e=this.type.contentMatch.fillBefore(we.from(t));if(e){this.match=this.type.contentMatch.matchFragment(e)}else{let e=this.type.contentMatch,r;if(r=e.findWrapping(t.type)){this.match=e;return r}else{return null}}}return this.match.findWrapping(t.type)}finish(t){if(!(this.options&Dr)){let t=this.content[this.content.length-1],e;if(t&&t.isText&&(e=/[ \t\r\n\u000c]+$/.exec(t.text))){let r=t;if(t.text.length==e[0].length)this.content.pop();else this.content[this.content.length-1]=r.withText(r.text.slice(0,r.text.length-e[0].length))}}let e=we.from(this.content);if(!t&&this.match)e=e.append(this.match.fillBefore(we.empty,true));return this.type?this.type.create(this.attrs,e,this.marks):e}inlineContext(t){if(this.type)return this.type.inlineContent;if(this.content.length)return this.content[0].isInline;return t.parentNode&&!gr.hasOwnProperty(t.parentNode.nodeName.toLowerCase())}}class Mr{constructor(t,e,r){this.parser=t;this.options=e;this.isOpen=r;this.open=0;let i=e.topNode,n;let s=Fr(null,e.preserveWhitespace,0)|(r?yr:0);if(i)n=new Er(i.type,i.attrs,De.none,true,e.topMatch||i.type.contentMatch,s);else if(r)n=new Er(null,null,De.none,true,null,s);else n=new Er(t.schema.topNodeType,null,De.none,true,null,s);this.nodes=[n];this.find=e.findPositions;this.needsBlock=false}get top(){return this.nodes[this.open]}addDOM(t,e){if(t.nodeType==3)this.addTextNode(t,e);else if(t.nodeType==1)this.addElement(t,e)}addTextNode(t,e){let r=t.nodeValue;let i=this.top;if(i.options&vr||i.inlineContext(t)||/[^ \t\r\n\u000c]/.test(r)){if(!(i.options&Dr)){r=r.replace(/[ \t\r\n\u000c]+/g," ");if(/^[ \t\r\n\u000c]/.test(r)&&this.open==this.nodes.length-1){let e=i.content[i.content.length-1];let n=t.previousSibling;if(!e||n&&n.nodeName=="BR"||e.isText&&/[ \t\r\n\u000c]$/.test(e.text))r=r.slice(1)}}else if(!(i.options&vr)){r=r.replace(/\r?\n|\r/g," ")}else{r=r.replace(/\r\n?/g,"\n")}if(r)this.insertNode(this.parser.schema.text(r),e);this.findInText(t)}else{this.findInside(t)}}addElement(t,e,r){let i=t.nodeName.toLowerCase(),n;if(kr.hasOwnProperty(i)&&this.parser.normalizeLists)xr(t);let s=this.options.ruleFromNode&&this.options.ruleFromNode(t)||(n=this.parser.matchTag(t,this,r));if(s?s.ignore:br.hasOwnProperty(i)){this.findInside(t);this.ignoreFallback(t,e)}else if(!s||s.skip||s.closeParent){if(s&&s.closeParent)this.open=Math.max(0,this.open-1);else if(s&&s.skip.nodeType)t=s.skip;let r,n=this.top,l=this.needsBlock;if(gr.hasOwnProperty(i)){if(n.content.length&&n.content[0].isInline&&this.open){this.open--;n=this.top}r=true;if(!n.type)this.needsBlock=true}else if(!t.firstChild){this.leafFallback(t,e);return}let o=s&&s.skip?e:this.readStyles(t,e);if(o)this.addAll(t,o);if(r)this.sync(n);this.needsBlock=l}else{let r=this.readStyles(t,e);if(r)this.addElementByRule(t,s,r,s.consuming===false?n:undefined)}}leafFallback(t,e){if(t.nodeName=="BR"&&this.top.type&&this.top.type.inlineContent)this.addTextNode(t.ownerDocument.createTextNode("\n"),e)}ignoreFallback(t,e){if(t.nodeName=="BR"&&(!this.top.type||!this.top.type.inlineContent))this.findPlace(this.parser.schema.text("-"),e)}readStyles(t,e){let r=t.style;if(r&&r.length)for(let t=0;t<this.parser.matchedStyles.length;t++){let i=this.parser.matchedStyles[t],n=r.getPropertyValue(i);if(n)for(let t=undefined;;){let r=this.parser.matchStyle(i,n,this,t);if(!r)break;if(r.ignore)return null;if(r.clearMark)e=e.filter((t=>!r.clearMark(t)));else e=e.concat(this.parser.schema.marks[r.mark].create(r.attrs));if(r.consuming===false)t=r;else break}}return e}addElementByRule(t,e,r,i){let n,s;if(e.node){s=this.parser.schema.nodes[e.node];if(!s.isLeaf){let t=this.enter(s,e.attrs||null,r,e.preserveWhitespace);if(t){n=true;r=t}}else if(!this.insertNode(s.create(e.attrs),r)){this.leafFallback(t,r)}}else{let t=this.parser.schema.marks[e.mark];r=r.concat(t.create(e.attrs))}let l=this.top;if(s&&s.isLeaf){this.findInside(t)}else if(i){this.addElement(t,r,i)}else if(e.getContent){this.findInside(t);e.getContent(t,this.parser.schema).forEach((t=>this.insertNode(t,r)))}else{let i=t;if(typeof e.contentElement=="string")i=t.querySelector(e.contentElement);else if(typeof e.contentElement=="function")i=e.contentElement(t);else if(e.contentElement)i=e.contentElement;this.findAround(t,i,true);this.addAll(i,r)}if(n&&this.sync(l))this.open--}addAll(t,e,r,i){let n=r||0;for(let s=r?t.childNodes[r]:t.firstChild,l=i==null?null:t.childNodes[i];s!=l;s=s.nextSibling,++n){this.findAtPoint(t,n);this.addDOM(s,e)}this.findAtPoint(t,n)}findPlace(t,e){let r,i;for(let e=this.open;e>=0;e--){let n=this.nodes[e];let s=n.findWrapping(t);if(s&&(!r||r.length>s.length)){r=s;i=n;if(!s.length)break}if(n.solid)break}if(!r)return null;this.sync(i);for(let t=0;t<r.length;t++)e=this.enterInner(r[t],null,e,false);return e}insertNode(t,e){if(t.isInline&&this.needsBlock&&!this.top.type){let t=this.textblockFromContext();if(t)e=this.enterInner(t,null,e)}let r=this.findPlace(t,e);if(r){this.closeExtra();let e=this.top;if(e.match)e.match=e.match.matchType(t.type);let i=De.none;for(let n of r.concat(t.marks))if(e.type?e.type.allowsMarkType(n.type):Sr(n.type,t.type))i=n.addToSet(i);e.content.push(t.mark(i));return true}return false}enter(t,e,r,i){let n=this.findPlace(t.create(e),r);if(n)n=this.enterInner(t,e,r,true,i);return n}enterInner(t,e,r,i=false,n){this.closeExtra();let s=this.top;s.match=s.match&&s.match.matchType(t);let l=Fr(t,n,s.options);if(s.options&yr&&s.content.length==0)l|=yr;let o=De.none;r=r.filter((e=>{if(s.type?s.type.allowsMarkType(e.type):Sr(e.type,t)){o=e.addToSet(o);return false}return true}));this.nodes.push(new Er(t,e,o,i,null,l));this.open++;return r}closeExtra(t=false){let e=this.nodes.length-1;if(e>this.open){for(;e>this.open;e--)this.nodes[e-1].content.push(this.nodes[e].finish(t));this.nodes.length=this.open+1}}finish(){this.open=0;this.closeExtra(this.isOpen);return this.nodes[0].finish(this.isOpen||this.options.topOpen)}sync(t){for(let e=this.open;e>=0;e--)if(this.nodes[e]==t){this.open=e;return true}return false}get currentPos(){this.closeExtra();let t=0;for(let e=this.open;e>=0;e--){let r=this.nodes[e].content;for(let e=r.length-1;e>=0;e--)t+=r[e].nodeSize;if(e)t++}return t}findAtPoint(t,e){if(this.find)for(let r=0;r<this.find.length;r++){if(this.find[r].node==t&&this.find[r].offset==e)this.find[r].pos=this.currentPos}}findInside(t){if(this.find)for(let e=0;e<this.find.length;e++){if(this.find[e].pos==null&&t.nodeType==1&&t.contains(this.find[e].node))this.find[e].pos=this.currentPos}}findAround(t,e,r){if(t!=e&&this.find)for(let i=0;i<this.find.length;i++){if(this.find[i].pos==null&&t.nodeType==1&&t.contains(this.find[i].node)){let t=e.compareDocumentPosition(this.find[i].node);if(t&(r?2:4))this.find[i].pos=this.currentPos}}}findInText(t){if(this.find)for(let e=0;e<this.find.length;e++){if(this.find[e].node==t)this.find[e].pos=this.currentPos-(t.nodeValue.length-this.find[e].offset)}}matchesContext(t){if(t.indexOf("|")>-1)return t.split(/\s*\|\s*/).some(this.matchesContext,this);let e=t.split("/");let r=this.options.context;let i=!this.isOpen&&(!r||r.parent.type==this.nodes[0].type);let n=-(r?r.depth+1:0)+(i?0:1);let s=(t,l)=>{for(;t>=0;t--){let o=e[t];if(o==""){if(t==e.length-1||t==0)continue;for(;l>=n;l--)if(s(t-1,l))return true;return false}else{let t=l>0||l==0&&i?this.nodes[l].type:r&&l>=n?r.node(l-n).type:null;if(!t||t.name!=o&&t.groups.indexOf(o)==-1)return false;l--}}return true};return s(e.length-1,this.open)}textblockFromContext(){let t=this.options.context;if(t)for(let e=t.depth;e>=0;e--){let r=t.node(e).contentMatchAt(t.indexAfter(e)).defaultType;if(r&&r.isTextblock&&r.defaultAttrs)return r}for(let t in this.parser.schema.nodes){let e=this.parser.schema.nodes[t];if(e.isTextblock&&e.defaultAttrs)return e}}}function xr(t){for(let e=t.firstChild,r=null;e;e=e.nextSibling){let t=e.nodeType==1?e.nodeName.toLowerCase():null;if(t&&kr.hasOwnProperty(t)&&r){r.appendChild(e);e=r}else if(t=="li"){r=e}else if(t){r=null}}}function Ar(t,e){return(t.matches||t.msMatchesSelector||t.webkitMatchesSelector||t.mozMatchesSelector).call(t,e)}function Cr(t){let e={};for(let r in t)e[r]=t[r];return e}function Sr(t,e){let r=e.schema.nodes;for(let i in r){let n=r[i];if(!n.allowsMarkType(t))continue;let s=[],l=t=>{s.push(t);for(let r=0;r<t.edgeCount;r++){let{type:i,next:n}=t.edge(r);if(i==e)return true;if(s.indexOf(n)<0&&l(n))return true}};if(l(n.contentMatch))return true}}class Or{constructor(t,e){this.nodes=t;this.marks=e}serializeFragment(t,e={},r){if(!r)r=_r(e).createDocumentFragment();let i=r,n=[];t.forEach((t=>{if(n.length||t.marks.length){let r=0,s=0;while(r<n.length&&s<t.marks.length){let e=t.marks[s];if(!this.marks[e.type.name]){s++;continue}if(!e.eq(n[r][0])||e.type.spec.spanning===false)break;r++;s++}while(r<n.length)i=n.pop()[1];while(s<t.marks.length){let r=t.marks[s++];let l=this.serializeMark(r,t.isInline,e);if(l){n.push([r,i]);i.appendChild(l.dom);i=l.contentDOM||l.dom}}}i.appendChild(this.serializeNodeInner(t,e))}));return r}serializeNodeInner(t,e){let{dom:r,contentDOM:i}=Nr(_r(e),this.nodes[t.type.name](t),null,t.attrs);if(i){if(t.isLeaf)throw new RangeError("Content hole not allowed in a leaf node spec");this.serializeFragment(t.content,e,i)}return r}serializeNode(t,e={}){let r=this.serializeNodeInner(t,e);for(let i=t.marks.length-1;i>=0;i--){let n=this.serializeMark(t.marks[i],t.isInline,e);if(n){(n.contentDOM||n.dom).appendChild(r);r=n.dom}}return r}serializeMark(t,e,r={}){let i=this.marks[t.type.name];return i&&Nr(_r(r),i(t,e),null,t.attrs)}static renderSpec(t,e,r=null,i){return Nr(t,e,r,i)}static fromSchema(t){return t.cached.domSerializer||(t.cached.domSerializer=new Or(this.nodesFromSchema(t),this.marksFromSchema(t)))}static nodesFromSchema(t){let e=$r(t.nodes);if(!e.text)e.text=t=>t.text;return e}static marksFromSchema(t){return $r(t.marks)}}function $r(t){let e={};for(let r in t){let i=t[r].spec.toDOM;if(i)e[r]=i}return e}function _r(t){return t.document||window.document}const Br=new WeakMap;function Rr(t){let e=Br.get(t);if(e===undefined)Br.set(t,e=jr(t));return e}function jr(t){let e=null;function r(t){if(t&&typeof t=="object"){if(Array.isArray(t)){if(typeof t[0]=="string"){if(!e)e=[];e.push(t)}else{for(let e=0;e<t.length;e++)r(t[e])}}else{for(let e in t)r(t[e])}}}r(t);return e}function Nr(t,e,r,i){if(typeof e=="string")return{dom:t.createTextNode(e)};if(e.nodeType!=null)return{dom:e};if(e.dom&&e.dom.nodeType!=null)return e;let n=e[0],s;if(typeof n!="string")throw new RangeError("Invalid array passed to renderSpec");if(i&&(s=Rr(i))&&s.indexOf(e)>-1)throw new RangeError("Using an array from an attribute object as a DOM spec. This may be an attempted cross site scripting attack.");let l=n.indexOf(" ");if(l>0){r=n.slice(0,l);n=n.slice(l+1)}let o;let u=r?t.createElementNS(r,n):t.createElement(n);let f=e[1],h=1;if(f&&typeof f=="object"&&f.nodeType==null&&!Array.isArray(f)){h=2;for(let t in f)if(f[t]!=null){let e=t.indexOf(" ");if(e>0)u.setAttributeNS(t.slice(0,e),t.slice(e+1),f[t]);else u.setAttribute(t,f[t])}}for(let n=h;n<e.length;n++){let s=e[n];if(s===0){if(n<e.length-1||n>h)throw new RangeError("Content hole must be the only child of its parent node");return{dom:u,contentDOM:u}}else{let{dom:e,contentDOM:n}=Nr(t,s,r,i);u.appendChild(e);if(n){if(o)throw new RangeError("Multiple content holes");o=n}}}return{dom:u,contentDOM:o}}const qr=65535;const zr=Math.pow(2,16);function Tr(t,e){return t+e*zr}function Ir(t){return t&qr}function Pr(t){return(t-(t&qr))/zr}const Jr=1,Lr=2,Wr=4,Ur=8;class Hr{constructor(t,e,r){this.pos=t;this.delInfo=e;this.recover=r}get deleted(){return(this.delInfo&Ur)>0}get deletedBefore(){return(this.delInfo&(Jr|Wr))>0}get deletedAfter(){return(this.delInfo&(Lr|Wr))>0}get deletedAcross(){return(this.delInfo&Wr)>0}}class Zr{constructor(t,e=false){this.ranges=t;this.inverted=e;if(!t.length&&Zr.empty)return Zr.empty}recover(t){let e=0,r=Ir(t);if(!this.inverted)for(let t=0;t<r;t++)e+=this.ranges[t*3+2]-this.ranges[t*3+1];return this.ranges[r*3]+e+Pr(t)}mapResult(t,e=1){return this._map(t,e,false)}map(t,e=1){return this._map(t,e,true)}_map(t,e,r){let i=0,n=this.inverted?2:1,s=this.inverted?1:2;for(let l=0;l<this.ranges.length;l+=3){let o=this.ranges[l]-(this.inverted?i:0);if(o>t)break;let u=this.ranges[l+n],f=this.ranges[l+s],h=o+u;if(t<=h){let n=!u?e:t==o?-1:t==h?1:e;let s=o+i+(n<0?0:f);if(r)return s;let a=t==(e<0?o:h)?null:Tr(l/3,t-o);let c=t==o?Lr:t==h?Jr:Wr;if(e<0?t!=o:t!=h)c|=Ur;return new Hr(s,c,a)}i+=f-u}return r?t+i:new Hr(t+i,0,null)}touches(t,e){let r=0,i=Ir(e);let n=this.inverted?2:1,s=this.inverted?1:2;for(let e=0;e<this.ranges.length;e+=3){let l=this.ranges[e]-(this.inverted?r:0);if(l>t)break;let o=this.ranges[e+n],u=l+o;if(t<=u&&e==i*3)return true;r+=this.ranges[e+s]-o}return false}forEach(t){let e=this.inverted?2:1,r=this.inverted?1:2;for(let i=0,n=0;i<this.ranges.length;i+=3){let s=this.ranges[i],l=s-(this.inverted?n:0),o=s+(this.inverted?0:n);let u=this.ranges[i+e],f=this.ranges[i+r];t(l,l+u,o,o+f);n+=f-u}}invert(){return new Zr(this.ranges,!this.inverted)}toString(){return(this.inverted?"-":"")+JSON.stringify(this.ranges)}static offset(t){return t==0?Zr.empty:new Zr(t<0?[0,-t,0]:[0,0,t])}}Zr.empty=new Zr([]);class Kr{constructor(t=[],e,r=0,i=t.length){this.maps=t;this.mirror=e;this.from=r;this.to=i}slice(t=0,e=this.maps.length){return new Kr(this.maps,this.mirror,t,e)}copy(){return new Kr(this.maps.slice(),this.mirror&&this.mirror.slice(),this.from,this.to)}appendMap(t,e){this.to=this.maps.push(t);if(e!=null)this.setMirror(this.maps.length-1,e)}appendMapping(t){for(let e=0,r=this.maps.length;e<t.maps.length;e++){let i=t.getMirror(e);this.appendMap(t.maps[e],i!=null&&i<e?r+i:undefined)}}getMirror(t){if(this.mirror)for(let e=0;e<this.mirror.length;e++)if(this.mirror[e]==t)return this.mirror[e+(e%2?-1:1)]}setMirror(t,e){if(!this.mirror)this.mirror=[];this.mirror.push(t,e)}appendMappingInverted(t){for(let e=t.maps.length-1,r=this.maps.length+t.maps.length;e>=0;e--){let i=t.getMirror(e);this.appendMap(t.maps[e].invert(),i!=null&&i>e?r-i-1:undefined)}}invert(){let t=new Kr;t.appendMappingInverted(this);return t}map(t,e=1){if(this.mirror)return this._map(t,e,true);for(let r=this.from;r<this.to;r++)t=this.maps[r].map(t,e);return t}mapResult(t,e=1){return this._map(t,e,false)}_map(t,e,r){let i=0;for(let r=this.from;r<this.to;r++){let n=this.maps[r],s=n.mapResult(t,e);if(s.recover!=null){let e=this.getMirror(r);if(e!=null&&e>r&&e<this.to){r=e;t=this.maps[e].recover(s.recover);continue}}i|=s.delInfo;t=s.pos}return r?t:new Hr(t,i,null)}}const Vr=Object.create(null);class Gr{getMap(){return Zr.empty}merge(t){return null}static fromJSON(t,e){if(!e||!e.stepType)throw new RangeError("Invalid input for Step.fromJSON");let r=Vr[e.stepType];if(!r)throw new RangeError(`No step type ${e.stepType} defined`);return r.fromJSON(t,e)}static jsonID(t,e){if(t in Vr)throw new RangeError("Duplicate use of step JSON ID "+t);Vr[t]=e;e.prototype.jsonID=t;return e}}class Xr{constructor(t,e){this.doc=t;this.failed=e}static ok(t){return new Xr(t,null)}static fail(t){return new Xr(null,t)}static fromReplace(t,e,r,i){try{return Xr.ok(t.replace(e,r,i))}catch(t){if(t instanceof ve)return Xr.fail(t.message);throw t}}}function Yr(t,e,r){let i=[];for(let n=0;n<t.childCount;n++){let s=t.child(n);if(s.content.size)s=s.copy(Yr(s.content,e,s));if(s.isInline)s=e(s,r,n);i.push(s)}return we.fromArray(i)}class Qr extends Gr{constructor(t,e,r){super();this.from=t;this.to=e;this.mark=r}apply(t){let e=t.slice(this.from,this.to),r=t.resolve(this.from);let i=r.node(r.sharedDepth(this.to));let n=new ye(Yr(e.content,((t,e)=>{if(!t.isAtom||!e.type.allowsMarkType(this.mark.type))return t;return t.mark(this.mark.addToSet(t.marks))}),i),e.openStart,e.openEnd);return Xr.fromReplace(t,this.from,this.to,n)}invert(){return new ti(this.from,this.to,this.mark)}map(t){let e=t.mapResult(this.from,1),r=t.mapResult(this.to,-1);if(e.deleted&&r.deleted||e.pos>=r.pos)return null;return new Qr(e.pos,r.pos,this.mark)}merge(t){if(t instanceof Qr&&t.mark.eq(this.mark)&&this.from<=t.to&&this.to>=t.from)return new Qr(Math.min(this.from,t.from),Math.max(this.to,t.to),this.mark);return null}toJSON(){return{stepType:"addMark",mark:this.mark.toJSON(),from:this.from,to:this.to}}static fromJSON(t,e){if(typeof e.from!="number"||typeof e.to!="number")throw new RangeError("Invalid input for AddMarkStep.fromJSON");return new Qr(e.from,e.to,t.markFromJSON(e.mark))}}Gr.jsonID("addMark",Qr);class ti extends Gr{constructor(t,e,r){super();this.from=t;this.to=e;this.mark=r}apply(t){let e=t.slice(this.from,this.to);let r=new ye(Yr(e.content,(t=>t.mark(this.mark.removeFromSet(t.marks))),t),e.openStart,e.openEnd);return Xr.fromReplace(t,this.from,this.to,r)}invert(){return new Qr(this.from,this.to,this.mark)}map(t){let e=t.mapResult(this.from,1),r=t.mapResult(this.to,-1);if(e.deleted&&r.deleted||e.pos>=r.pos)return null;return new ti(e.pos,r.pos,this.mark)}merge(t){if(t instanceof ti&&t.mark.eq(this.mark)&&this.from<=t.to&&this.to>=t.from)return new ti(Math.min(this.from,t.from),Math.max(this.to,t.to),this.mark);return null}toJSON(){return{stepType:"removeMark",mark:this.mark.toJSON(),from:this.from,to:this.to}}static fromJSON(t,e){if(typeof e.from!="number"||typeof e.to!="number")throw new RangeError("Invalid input for RemoveMarkStep.fromJSON");return new ti(e.from,e.to,t.markFromJSON(e.mark))}}Gr.jsonID("removeMark",ti);class ei extends Gr{constructor(t,e){super();this.pos=t;this.mark=e}apply(t){let e=t.nodeAt(this.pos);if(!e)return Xr.fail("No node at mark step's position");let r=e.type.create(e.attrs,null,this.mark.addToSet(e.marks));return Xr.fromReplace(t,this.pos,this.pos+1,new ye(we.from(r),0,e.isLeaf?0:1))}invert(t){let e=t.nodeAt(this.pos);if(e){let t=this.mark.addToSet(e.marks);if(t.length==e.marks.length){for(let r=0;r<e.marks.length;r++)if(!e.marks[r].isInSet(t))return new ei(this.pos,e.marks[r]);return new ei(this.pos,this.mark)}}return new ri(this.pos,this.mark)}map(t){let e=t.mapResult(this.pos,1);return e.deletedAfter?null:new ei(e.pos,this.mark)}toJSON(){return{stepType:"addNodeMark",pos:this.pos,mark:this.mark.toJSON()}}static fromJSON(t,e){if(typeof e.pos!="number")throw new RangeError("Invalid input for AddNodeMarkStep.fromJSON");return new ei(e.pos,t.markFromJSON(e.mark))}}Gr.jsonID("addNodeMark",ei);class ri extends Gr{constructor(t,e){super();this.pos=t;this.mark=e}apply(t){let e=t.nodeAt(this.pos);if(!e)return Xr.fail("No node at mark step's position");let r=e.type.create(e.attrs,null,this.mark.removeFromSet(e.marks));return Xr.fromReplace(t,this.pos,this.pos+1,new ye(we.from(r),0,e.isLeaf?0:1))}invert(t){let e=t.nodeAt(this.pos);if(!e||!this.mark.isInSet(e.marks))return this;return new ei(this.pos,this.mark)}map(t){let e=t.mapResult(this.pos,1);return e.deletedAfter?null:new ri(e.pos,this.mark)}toJSON(){return{stepType:"removeNodeMark",pos:this.pos,mark:this.mark.toJSON()}}static fromJSON(t,e){if(typeof e.pos!="number")throw new RangeError("Invalid input for RemoveNodeMarkStep.fromJSON");return new ri(e.pos,t.markFromJSON(e.mark))}}Gr.jsonID("removeNodeMark",ri);class ii extends Gr{constructor(t,e,r,i=false){super();this.from=t;this.to=e;this.slice=r;this.structure=i}apply(t){if(this.structure&&si(t,this.from,this.to))return Xr.fail("Structure replace would overwrite content");return Xr.fromReplace(t,this.from,this.to,this.slice)}getMap(){return new Zr([this.from,this.to-this.from,this.slice.size])}invert(t){return new ii(this.from,this.from+this.slice.size,t.slice(this.from,this.to))}map(t){let e=t.mapResult(this.from,1),r=t.mapResult(this.to,-1);if(e.deletedAcross&&r.deletedAcross)return null;return new ii(e.pos,Math.max(e.pos,r.pos),this.slice)}merge(t){if(!(t instanceof ii)||t.structure||this.structure)return null;if(this.from+this.slice.size==t.from&&!this.slice.openEnd&&!t.slice.openStart){let e=this.slice.size+t.slice.size==0?ye.empty:new ye(this.slice.content.append(t.slice.content),this.slice.openStart,t.slice.openEnd);return new ii(this.from,this.to+(t.to-t.from),e,this.structure)}else if(t.to==this.from&&!this.slice.openStart&&!t.slice.openEnd){let e=this.slice.size+t.slice.size==0?ye.empty:new ye(t.slice.content.append(this.slice.content),t.slice.openStart,this.slice.openEnd);return new ii(t.from,this.to,e,this.structure)}else{return null}}toJSON(){let t={stepType:"replace",from:this.from,to:this.to};if(this.slice.size)t.slice=this.slice.toJSON();if(this.structure)t.structure=true;return t}static fromJSON(t,e){if(typeof e.from!="number"||typeof e.to!="number")throw new RangeError("Invalid input for ReplaceStep.fromJSON");return new ii(e.from,e.to,ye.fromJSON(t,e.slice),!!e.structure)}}Gr.jsonID("replace",ii);class ni extends Gr{constructor(t,e,r,i,n,s,l=false){super();this.from=t;this.to=e;this.gapFrom=r;this.gapTo=i;this.slice=n;this.insert=s;this.structure=l}apply(t){if(this.structure&&(si(t,this.from,this.gapFrom)||si(t,this.gapTo,this.to)))return Xr.fail("Structure gap-replace would overwrite content");let e=t.slice(this.gapFrom,this.gapTo);if(e.openStart||e.openEnd)return Xr.fail("Gap is not a flat range");let r=this.slice.insertAt(this.insert,e.content);if(!r)return Xr.fail("Content does not fit in gap");return Xr.fromReplace(t,this.from,this.to,r)}getMap(){return new Zr([this.from,this.gapFrom-this.from,this.insert,this.gapTo,this.to-this.gapTo,this.slice.size-this.insert])}invert(t){let e=this.gapTo-this.gapFrom;return new ni(this.from,this.from+this.slice.size+e,this.from+this.insert,this.from+this.insert+e,t.slice(this.from,this.to).removeBetween(this.gapFrom-this.from,this.gapTo-this.from),this.gapFrom-this.from,this.structure)}map(t){let e=t.mapResult(this.from,1),r=t.mapResult(this.to,-1);let i=t.map(this.gapFrom,-1),n=t.map(this.gapTo,1);if(e.deletedAcross&&r.deletedAcross||i<e.pos||n>r.pos)return null;return new ni(e.pos,r.pos,i,n,this.slice,this.insert,this.structure)}toJSON(){let t={stepType:"replaceAround",from:this.from,to:this.to,gapFrom:this.gapFrom,gapTo:this.gapTo,insert:this.insert};if(this.slice.size)t.slice=this.slice.toJSON();if(this.structure)t.structure=true;return t}static fromJSON(t,e){if(typeof e.from!="number"||typeof e.to!="number"||typeof e.gapFrom!="number"||typeof e.gapTo!="number"||typeof e.insert!="number")throw new RangeError("Invalid input for ReplaceAroundStep.fromJSON");return new ni(e.from,e.to,e.gapFrom,e.gapTo,ye.fromJSON(t,e.slice),e.insert,!!e.structure)}}Gr.jsonID("replaceAround",ni);function si(t,e,r){let i=t.resolve(e),n=r-e,s=i.depth;while(n>0&&s>0&&i.indexAfter(s)==i.node(s).childCount){s--;n--}if(n>0){let t=i.node(s).maybeChild(i.indexAfter(s));while(n>0){if(!t||t.isLeaf)return true;t=t.firstChild;n--}}return false}function li(t,e,r,i){let n=[],s=[];let l,o;t.doc.nodesBetween(e,r,((t,u,f)=>{if(!t.isInline)return;let h=t.marks;if(!i.isInSet(h)&&f.type.allowsMarkType(i.type)){let f=Math.max(u,e),a=Math.min(u+t.nodeSize,r);let c=i.addToSet(h);for(let t=0;t<h.length;t++){if(!h[t].isInSet(c)){if(l&&l.to==f&&l.mark.eq(h[t]))l.to=a;else n.push(l=new ti(f,a,h[t]))}}if(o&&o.to==f)o.to=a;else s.push(o=new Qr(f,a,i))}}));n.forEach((e=>t.step(e)));s.forEach((e=>t.step(e)))}function oi(t,e,r,i){let n=[],s=0;t.doc.nodesBetween(e,r,((t,l)=>{if(!t.isInline)return;s++;let o=null;if(i instanceof ar){let e=t.marks,r;while(r=i.isInSet(e)){(o||(o=[])).push(r);e=r.removeFromSet(e)}}else if(i){if(i.isInSet(t.marks))o=[i]}else{o=t.marks}if(o&&o.length){let i=Math.min(l+t.nodeSize,r);for(let t=0;t<o.length;t++){let r=o[t],u;for(let t=0;t<n.length;t++){let e=n[t];if(e.step==s-1&&r.eq(n[t].style))u=e}if(u){u.to=i;u.step=s}else{n.push({style:r,from:Math.max(l,e),to:i,step:s})}}}}));n.forEach((e=>t.step(new ti(e.from,e.to,e.style))))}function ui(t,e,r,i=r.contentMatch){let n=t.doc.nodeAt(e);let s=[],l=e+1;for(let e=0;e<n.childCount;e++){let o=n.child(e),u=l+o.nodeSize;let f=i.matchType(o.type);if(!f){s.push(new ii(l,u,ye.empty))}else{i=f;for(let e=0;e<o.marks.length;e++)if(!r.allowsMarkType(o.marks[e].type))t.step(new ti(l,u,o.marks[e]));if(o.isText&&!r.spec.code){let t,e=/\r?\n|\r/g,i;while(t=e.exec(o.text)){if(!i)i=new ye(we.from(r.schema.text(" ",r.allowedMarks(o.marks))),0,0);s.push(new ii(l+t.index,l+t.index+t[0].length,i))}}}l=u}if(!i.validEnd){let e=i.fillBefore(we.empty,true);t.replace(l,l,new ye(e,0,0))}for(let e=s.length-1;e>=0;e--)t.step(s[e])}function fi(t,e,r){return(e==0||t.canReplace(e,t.childCount))&&(r==t.childCount||t.canReplace(0,r))}function hi(t){let e=t.parent;let r=e.content.cutByIndex(t.startIndex,t.endIndex);for(let e=t.depth;;--e){let i=t.$from.node(e);let n=t.$from.index(e),s=t.$to.indexAfter(e);if(e<t.depth&&i.canReplace(n,s,r))return e;if(e==0||i.type.spec.isolating||!fi(i,n,s))break}return null}function ai(t,e,r){let{$from:i,$to:n,depth:s}=e;let l=i.before(s+1),o=n.after(s+1);let u=l,f=o;let h=we.empty,a=0;for(let t=s,e=false;t>r;t--)if(e||i.index(t)>0){e=true;h=we.from(i.node(t).copy(h));a++}else{u--}let c=we.empty,d=0;for(let t=s,e=false;t>r;t--)if(e||n.after(t+1)<n.end(t)){e=true;c=we.from(n.node(t).copy(c));d++}else{f++}t.step(new ni(u,f,l,o,new ye(h.append(c),a,d),h.size-a,true))}function ci(t,e,r=null,i=t){let n=pi(t,e);let s=n&&mi(i,e);if(!s)return null;return n.map(di).concat({type:e,attrs:r}).concat(s.map(di))}function di(t){return{type:t,attrs:null}}function pi(t,e){let{parent:r,startIndex:i,endIndex:n}=t;let s=r.contentMatchAt(i).findWrapping(e);if(!s)return null;let l=s.length?s[0]:e;return r.canReplaceWith(i,n,l)?s:null}function mi(t,e){let{parent:r,startIndex:i,endIndex:n}=t;let s=r.child(i);let l=e.contentMatch.findWrapping(s.type);if(!l)return null;let o=l.length?l[l.length-1]:e;let u=o.contentMatch;for(let t=i;u&&t<n;t++)u=u.matchType(r.child(t).type);if(!u||!u.validEnd)return null;return l}function wi(t,e,r){let i=we.empty;for(let t=r.length-1;t>=0;t--){if(i.size){let e=r[t].type.contentMatch.matchFragment(i);if(!e||!e.validEnd)throw new RangeError("Wrapper type given to Transform.wrap does not form valid content of its parent wrapper")}i=we.from(r[t].type.create(r[t].attrs,i))}let n=e.start,s=e.end;t.step(new ni(n,s,n,s,new ye(i,0,0),r.length,true))}function gi(t,e,r,i,n){if(!i.isTextblock)throw new RangeError("Type given to setBlockType should be a textblock");let s=t.steps.length;t.doc.nodesBetween(e,r,((e,r)=>{if(e.isTextblock&&!e.hasMarkup(i,n)&&bi(t.doc,t.mapping.slice(s).map(r),i)){t.clearIncompatible(t.mapping.slice(s).map(r,1),i);let l=t.mapping.slice(s);let o=l.map(r,1),u=l.map(r+e.nodeSize,1);t.step(new ni(o,u,o+1,u-1,new ye(we.from(i.create(n,null,e.marks)),0,0),1,true));return false}}))}function bi(t,e,r){let i=t.resolve(e),n=i.index();return i.parent.canReplaceWith(n,n+1,r)}function ki(t,e,r,i,n){let s=t.doc.nodeAt(e);if(!s)throw new RangeError("No node at given position");if(!r)r=s.type;let l=r.create(i,null,n||s.marks);if(s.isLeaf)return t.replaceWith(e,e+s.nodeSize,l);if(!r.validContent(s.content))throw new RangeError("Invalid content for node type "+r.name);t.step(new ni(e,e+s.nodeSize,e+1,e+s.nodeSize-1,new ye(we.from(l),0,0),1,true))}function Di(t,e,r=1,i){let n=t.resolve(e),s=n.depth-r;let l=i&&i[i.length-1]||n.parent;if(s<0||n.parent.type.spec.isolating||!n.parent.canReplace(n.index(),n.parent.childCount)||!l.type.validContent(n.parent.content.cutByIndex(n.index(),n.parent.childCount)))return false;for(let t=n.depth-1,e=r-2;t>s;t--,e--){let r=n.node(t),s=n.index(t);if(r.type.spec.isolating)return false;let l=r.content.cutByIndex(s,r.childCount);let o=i&&i[e+1];if(o)l=l.replaceChild(0,o.type.create(o.attrs));let u=i&&i[e]||r;if(!r.canReplace(s+1,r.childCount)||!u.type.validContent(l))return false}let o=n.indexAfter(s);let u=i&&i[0];return n.node(s).canReplaceWith(o,o,u?u.type:n.node(s+1).type)}function vi(t,e,r=1,i){let n=t.doc.resolve(e),s=we.empty,l=we.empty;for(let t=n.depth,e=n.depth-r,o=r-1;t>e;t--,o--){s=we.from(n.node(t).copy(s));let e=i&&i[o];l=we.from(e?e.type.create(e.attrs,l):n.node(t).copy(l))}t.step(new ii(e,e,new ye(s.append(l),r,r),true))}function yi(t,e){let r=t.resolve(e),i=r.index();return Fi(r.nodeBefore,r.nodeAfter)&&r.parent.canReplace(i,i+1)}function Fi(t,e){return!!(t&&e&&!t.isLeaf&&t.canAppend(e))}function Ei(t,e,r=-1){let i=t.resolve(e);for(let t=i.depth;;t--){let n,s,l=i.index(t);if(t==i.depth){n=i.nodeBefore;s=i.nodeAfter}else if(r>0){n=i.node(t+1);l++;s=i.node(t).maybeChild(l)}else{n=i.node(t).maybeChild(l-1);s=i.node(t+1)}if(n&&!n.isTextblock&&Fi(n,s)&&i.node(t).canReplace(l,l+1))return e;if(t==0)break;e=r<0?i.before(t):i.after(t)}}function Mi(t,e,r){let i=new ii(e-r,e+r,ye.empty,true);t.step(i)}function xi(t,e,r){let i=t.resolve(e);if(i.parent.canReplaceWith(i.index(),i.index(),r))return e;if(i.parentOffset==0)for(let t=i.depth-1;t>=0;t--){let e=i.index(t);if(i.node(t).canReplaceWith(e,e,r))return i.before(t+1);if(e>0)return null}if(i.parentOffset==i.parent.content.size)for(let t=i.depth-1;t>=0;t--){let e=i.indexAfter(t);if(i.node(t).canReplaceWith(e,e,r))return i.after(t+1);if(e<i.node(t).childCount)return null}return null}function Ai(t,e,r){let i=t.resolve(e);if(!r.content.size)return e;let n=r.content;for(let t=0;t<r.openStart;t++)n=n.firstChild.content;for(let t=1;t<=(r.openStart==0&&r.size?2:1);t++){for(let e=i.depth;e>=0;e--){let r=e==i.depth?0:i.pos<=(i.start(e+1)+i.end(e+1))/2?-1:1;let s=i.index(e)+(r>0?1:0);let l=i.node(e),o=false;if(t==1){o=l.canReplace(s,s,n)}else{let t=l.contentMatchAt(s).findWrapping(n.firstChild.type);o=t&&l.canReplaceWith(s,s,t[0])}if(o)return r==0?i.pos:r<0?i.before(e+1):i.after(e+1)}}return null}function Ci(t,e,r=e,i=ye.empty){if(e==r&&!i.size)return null;let n=t.resolve(e),s=t.resolve(r);if(Si(n,s,i))return new ii(e,r,i);return new Oi(n,s,i).fit()}function Si(t,e,r){return!r.openStart&&!r.openEnd&&t.start()==e.start()&&t.parent.canReplace(t.index(),e.index(),r.content)}class Oi{constructor(t,e,r){this.$from=t;this.$to=e;this.unplaced=r;this.frontier=[];this.placed=we.empty;for(let e=0;e<=t.depth;e++){let r=t.node(e);this.frontier.push({type:r.type,match:r.contentMatchAt(t.indexAfter(e))})}for(let e=t.depth;e>0;e--)this.placed=we.from(t.node(e).copy(this.placed))}get depth(){return this.frontier.length-1}fit(){while(this.unplaced.size){let t=this.findFittable();if(t)this.placeNodes(t);else this.openMore()||this.dropNode()}let t=this.mustMoveInline(),e=this.placed.size-this.depth-this.$from.depth;let r=this.$from,i=this.close(t<0?this.$to:r.doc.resolve(t));if(!i)return null;let n=this.placed,s=r.depth,l=i.depth;while(s&&l&&n.childCount==1){n=n.firstChild.content;s--;l--}let o=new ye(n,s,l);if(t>-1)return new ni(r.pos,t,this.$to.pos,this.$to.end(),o,e);if(o.size||r.pos!=this.$to.pos)return new ii(r.pos,i.pos,o);return null}findFittable(){let t=this.unplaced.openStart;for(let e=this.unplaced.content,r=0,i=this.unplaced.openEnd;r<t;r++){let n=e.firstChild;if(e.childCount>1)i=0;if(n.type.spec.isolating&&i<=r){t=r;break}e=n.content}for(let e=1;e<=2;e++){for(let r=e==1?t:this.unplaced.openStart;r>=0;r--){let t,i=null;if(r){i=Bi(this.unplaced.content,r-1).firstChild;t=i.content}else{t=this.unplaced.content}let n=t.firstChild;for(let t=this.depth;t>=0;t--){let{type:s,match:l}=this.frontier[t],o,u=null;if(e==1&&(n?l.matchType(n.type)||(u=l.fillBefore(we.from(n),false)):i&&s.compatibleContent(i.type)))return{sliceDepth:r,frontierDepth:t,parent:i,inject:u};else if(e==2&&n&&(o=l.findWrapping(n.type)))return{sliceDepth:r,frontierDepth:t,parent:i,wrap:o};if(i&&l.matchType(i.type))break}}}}openMore(){let{content:t,openStart:e,openEnd:r}=this.unplaced;let i=Bi(t,e);if(!i.childCount||i.firstChild.isLeaf)return false;this.unplaced=new ye(t,e+1,Math.max(r,i.size+e>=t.size-r?e+1:0));return true}dropNode(){let{content:t,openStart:e,openEnd:r}=this.unplaced;let i=Bi(t,e);if(i.childCount<=1&&e>0){let n=t.size-e<=e+i.size;this.unplaced=new ye($i(t,e-1,1),e-1,n?e-1:r)}else{this.unplaced=new ye($i(t,e,1),e,r)}}placeNodes({sliceDepth:t,frontierDepth:e,parent:r,inject:i,wrap:n}){while(this.depth>e)this.closeFrontierNode();if(n)for(let t=0;t<n.length;t++)this.openFrontierNode(n[t]);let s=this.unplaced,l=r?r.content:s.content;let o=s.openStart-t;let u=0,f=[];let{match:h,type:a}=this.frontier[e];if(i){for(let t=0;t<i.childCount;t++)f.push(i.child(t));h=h.matchFragment(i)}let c=l.size+t-(s.content.size-s.openEnd);while(u<l.childCount){let t=l.child(u),e=h.matchType(t.type);if(!e)break;u++;if(u>1||o==0||t.content.size){h=e;f.push(Ri(t.mark(a.allowedMarks(t.marks)),u==1?o:0,u==l.childCount?c:-1))}}let d=u==l.childCount;if(!d)c=-1;this.placed=_i(this.placed,e,we.from(f));this.frontier[e].match=h;if(d&&c<0&&r&&r.type==this.frontier[this.depth].type&&this.frontier.length>1)this.closeFrontierNode();for(let t=0,e=l;t<c;t++){let t=e.lastChild;this.frontier.push({type:t.type,match:t.contentMatchAt(t.childCount)});e=t.content}this.unplaced=!d?new ye($i(s.content,t,u),s.openStart,s.openEnd):t==0?ye.empty:new ye($i(s.content,t-1,1),t-1,c<0?s.openEnd:t-1)}mustMoveInline(){if(!this.$to.parent.isTextblock)return-1;let t=this.frontier[this.depth],e;if(!t.type.isTextblock||!ji(this.$to,this.$to.depth,t.type,t.match,false)||this.$to.depth==this.depth&&(e=this.findCloseLevel(this.$to))&&e.depth==this.depth)return-1;let{depth:r}=this.$to,i=this.$to.after(r);while(r>1&&i==this.$to.end(--r))++i;return i}findCloseLevel(t){t:for(let e=Math.min(this.depth,t.depth);e>=0;e--){let{match:r,type:i}=this.frontier[e];let n=e<t.depth&&t.end(e+1)==t.pos+(t.depth-(e+1));let s=ji(t,e,i,r,n);if(!s)continue;for(let r=e-1;r>=0;r--){let{match:e,type:i}=this.frontier[r];let n=ji(t,r,i,e,true);if(!n||n.childCount)continue t}return{depth:e,fit:s,move:n?t.doc.resolve(t.after(e+1)):t}}}close(t){let e=this.findCloseLevel(t);if(!e)return null;while(this.depth>e.depth)this.closeFrontierNode();if(e.fit.childCount)this.placed=_i(this.placed,e.depth,e.fit);t=e.move;for(let r=e.depth+1;r<=t.depth;r++){let e=t.node(r),i=e.type.contentMatch.fillBefore(e.content,true,t.index(r));this.openFrontierNode(e.type,e.attrs,i)}return t}openFrontierNode(t,e=null,r){let i=this.frontier[this.depth];i.match=i.match.matchType(t);this.placed=_i(this.placed,this.depth,we.from(t.create(e,r)));this.frontier.push({type:t,match:t.contentMatch})}closeFrontierNode(){let t=this.frontier.pop();let e=t.match.fillBefore(we.empty,true);if(e.childCount)this.placed=_i(this.placed,this.frontier.length,e)}}function $i(t,e,r){if(e==0)return t.cutByIndex(r,t.childCount);return t.replaceChild(0,t.firstChild.copy($i(t.firstChild.content,e-1,r)))}function _i(t,e,r){if(e==0)return t.append(r);return t.replaceChild(t.childCount-1,t.lastChild.copy(_i(t.lastChild.content,e-1,r)))}function Bi(t,e){for(let r=0;r<e;r++)t=t.firstChild.content;return t}function Ri(t,e,r){if(e<=0)return t;let i=t.content;if(e>1)i=i.replaceChild(0,Ri(i.firstChild,e-1,i.childCount==1?r-1:0));if(e>0){i=t.type.contentMatch.fillBefore(i).append(i);if(r<=0)i=i.append(t.type.contentMatch.matchFragment(i).fillBefore(we.empty,true))}return t.copy(i)}function ji(t,e,r,i,n){let s=t.node(e),l=n?t.indexAfter(e):t.index(e);if(l==s.childCount&&!r.compatibleContent(s.type))return null;let o=i.fillBefore(s.content,true,l);return o&&!Ni(r,s.content,l)?o:null}function Ni(t,e,r){for(let i=r;i<e.childCount;i++)if(!t.allowsMarks(e.child(i).marks))return true;return false}function qi(t){return t.spec.defining||t.spec.definingForContent}function zi(t,e,r,i){if(!i.size)return t.deleteRange(e,r);let n=t.doc.resolve(e),s=t.doc.resolve(r);if(Si(n,s,i))return t.step(new ii(e,r,i));let l=Ji(n,t.doc.resolve(r));if(l[l.length-1]==0)l.pop();let o=-(n.depth+1);l.unshift(o);for(let t=n.depth,e=n.pos-1;t>0;t--,e--){let r=n.node(t).type.spec;if(r.defining||r.definingAsContext||r.isolating)break;if(l.indexOf(t)>-1)o=t;else if(n.before(t)==e)l.splice(1,0,-t)}let u=l.indexOf(o);let f=[],h=i.openStart;for(let t=i.content,e=0;;e++){let r=t.firstChild;f.push(r);if(e==i.openStart)break;t=r.content}for(let t=h-1;t>=0;t--){let e=f[t],r=qi(e.type);if(r&&!e.sameMarkup(n.node(Math.abs(o)-1)))h=t;else if(r||!e.type.isTextblock)break}for(let e=i.openStart;e>=0;e--){let o=(e+h+1)%(i.openStart+1);let a=f[o];if(!a)continue;for(let e=0;e<l.length;e++){let f=l[(e+u)%l.length],h=true;if(f<0){h=false;f=-f}let c=n.node(f-1),d=n.index(f-1);if(c.canReplaceWith(d,d,a.type,a.marks))return t.replace(n.before(f),h?s.after(f):r,new ye(Ti(i.content,0,i.openStart,o),o,i.openEnd))}}let a=t.steps.length;for(let o=l.length-1;o>=0;o--){t.replace(e,r,i);if(t.steps.length>a)break;let u=l[o];if(u<0)continue;e=n.before(u);r=s.after(u)}}function Ti(t,e,r,i,n){if(e<r){let n=t.firstChild;t=t.replaceChild(0,n.copy(Ti(n.content,e+1,r,i,n)))}if(e>i){let e=n.contentMatchAt(0);let r=e.fillBefore(t).append(t);t=r.append(e.matchFragment(r).fillBefore(we.empty,true))}return t}function Ii(t,e,r,i){if(!i.isInline&&e==r&&t.doc.resolve(e).parent.content.size){let n=xi(t.doc,e,i.type);if(n!=null)e=r=n}t.replaceRange(e,r,new ye(we.from(i),0,0))}function Pi(t,e,r){let i=t.doc.resolve(e),n=t.doc.resolve(r);let s=Ji(i,n);for(let e=0;e<s.length;e++){let r=s[e],l=e==s.length-1;if(l&&r==0||i.node(r).type.contentMatch.validEnd)return t.delete(i.start(r),n.end(r));if(r>0&&(l||i.node(r-1).canReplace(i.index(r-1),n.indexAfter(r-1))))return t.delete(i.before(r),n.after(r))}for(let s=1;s<=i.depth&&s<=n.depth;s++){if(e-i.start(s)==i.depth-s&&r>i.end(s)&&n.end(s)-r!=n.depth-s)return t.delete(i.before(s),r)}t.delete(e,r)}function Ji(t,e){let r=[],i=Math.min(t.depth,e.depth);for(let n=i;n>=0;n--){let i=t.start(n);if(i<t.pos-(t.depth-n)||e.end(n)>e.pos+(e.depth-n)||t.node(n).type.spec.isolating||e.node(n).type.spec.isolating)break;if(i==e.start(n)||n==t.depth&&n==e.depth&&t.parent.inlineContent&&e.parent.inlineContent&&n&&e.start(n-1)==i-1)r.push(n)}return r}class Li extends Gr{constructor(t,e,r){super();this.pos=t;this.attr=e;this.value=r}apply(t){let e=t.nodeAt(this.pos);if(!e)return Xr.fail("No node at attribute step's position");let r=Object.create(null);for(let t in e.attrs)r[t]=e.attrs[t];r[this.attr]=this.value;let i=e.type.create(r,null,e.marks);return Xr.fromReplace(t,this.pos,this.pos+1,new ye(we.from(i),0,e.isLeaf?0:1))}getMap(){return Zr.empty}invert(t){return new Li(this.pos,this.attr,t.nodeAt(this.pos).attrs[this.attr])}map(t){let e=t.mapResult(this.pos,1);return e.deletedAfter?null:new Li(e.pos,this.attr,this.value)}toJSON(){return{stepType:"attr",pos:this.pos,attr:this.attr,value:this.value}}static fromJSON(t,e){if(typeof e.pos!="number"||typeof e.attr!="string")throw new RangeError("Invalid input for AttrStep.fromJSON");return new Li(e.pos,e.attr,e.value)}}Gr.jsonID("attr",Li);class Wi extends Gr{constructor(t,e){super();this.attr=t;this.value=e}apply(t){let e=Object.create(null);for(let r in t.attrs)e[r]=t.attrs[r];e[this.attr]=this.value;let r=t.type.create(e,t.content,t.marks);return Xr.ok(r)}getMap(){return Zr.empty}invert(t){return new Wi(this.attr,t.attrs[this.attr])}map(t){return this}toJSON(){return{stepType:"docAttr",attr:this.attr,value:this.value}}static fromJSON(t,e){if(typeof e.attr!="string")throw new RangeError("Invalid input for DocAttrStep.fromJSON");return new Wi(e.attr,e.value)}}Gr.jsonID("docAttr",Wi);let Ui=class extends Error{};Ui=function t(e){let r=Error.call(this,e);r.__proto__=t.prototype;return r};Ui.prototype=Object.create(Error.prototype);Ui.prototype.constructor=Ui;Ui.prototype.name="TransformError";class Hi{constructor(t){this.doc=t;this.steps=[];this.docs=[];this.mapping=new Kr}get before(){return this.docs.length?this.docs[0]:this.doc}step(t){let e=this.maybeStep(t);if(e.failed)throw new Ui(e.failed);return this}maybeStep(t){let e=t.apply(this.doc);if(!e.failed)this.addStep(t,e.doc);return e}get docChanged(){return this.steps.length>0}addStep(t,e){this.docs.push(this.doc);this.steps.push(t);this.mapping.appendMap(t.getMap());this.doc=e}replace(t,e=t,r=ye.empty){let i=Ci(this.doc,t,e,r);if(i)this.step(i);return this}replaceWith(t,e,r){return this.replace(t,e,new ye(we.from(r),0,0))}delete(t,e){return this.replace(t,e,ye.empty)}insert(t,e){return this.replaceWith(t,t,e)}replaceRange(t,e,r){zi(this,t,e,r);return this}replaceRangeWith(t,e,r){Ii(this,t,e,r);return this}deleteRange(t,e){Pi(this,t,e);return this}lift(t,e){ai(this,t,e);return this}join(t,e=1){Mi(this,t,e);return this}wrap(t,e){wi(this,t,e);return this}setBlockType(t,e=t,r,i=null){gi(this,t,e,r,i);return this}setNodeMarkup(t,e,r=null,i){ki(this,t,e,r,i);return this}setNodeAttribute(t,e,r){this.step(new Li(t,e,r));return this}setDocAttribute(t,e){this.step(new Wi(t,e));return this}addNodeMark(t,e){this.step(new ei(t,e));return this}removeNodeMark(t,e){if(!(e instanceof De)){let r=this.doc.nodeAt(t);if(!r)throw new RangeError("No node at position "+t);e=e.isInSet(r.marks);if(!e)return this}this.step(new ri(t,e));return this}split(t,e=1,r){vi(this,t,e,r);return this}addMark(t,e,r){li(this,t,e,r);return this}removeMark(t,e,r){oi(this,t,e,r);return this}clearIncompatible(t,e,r){ui(this,t,e,r);return this}}const Zi=Object.create(null);class Ki{constructor(t,e,r){this.$anchor=t;this.$head=e;this.ranges=r||[new Vi(t.min(e),t.max(e))]}get anchor(){return this.$anchor.pos}get head(){return this.$head.pos}get from(){return this.$from.pos}get to(){return this.$to.pos}get $from(){return this.ranges[0].$from}get $to(){return this.ranges[0].$to}get empty(){let t=this.ranges;for(let e=0;e<t.length;e++)if(t[e].$from.pos!=t[e].$to.pos)return false;return true}content(){return this.$from.doc.slice(this.from,this.to,true)}replace(t,e=ye.empty){let r=e.content.lastChild,i=null;for(let t=0;t<e.openEnd;t++){i=r;r=r.lastChild}let n=t.steps.length,s=this.ranges;for(let l=0;l<s.length;l++){let{$from:o,$to:u}=s[l],f=t.mapping.slice(n);t.replaceRange(f.map(o.pos),f.map(u.pos),l?ye.empty:e);if(l==0)ln(t,n,(r?r.isInline:i&&i.isTextblock)?-1:1)}}replaceWith(t,e){let r=t.steps.length,i=this.ranges;for(let n=0;n<i.length;n++){let{$from:s,$to:l}=i[n],o=t.mapping.slice(r);let u=o.map(s.pos),f=o.map(l.pos);if(n){t.deleteRange(u,f)}else{t.replaceRangeWith(u,f,e);ln(t,r,e.isInline?-1:1)}}}static findFrom(t,e,r=false){let i=t.parent.inlineContent?new Yi(t):sn(t.node(0),t.parent,t.pos,t.index(),e,r);if(i)return i;for(let i=t.depth-1;i>=0;i--){let n=e<0?sn(t.node(0),t.node(i),t.before(i+1),t.index(i),e,r):sn(t.node(0),t.node(i),t.after(i+1),t.index(i)+1,e,r);if(n)return n}return null}static near(t,e=1){return this.findFrom(t,e)||this.findFrom(t,-e)||new rn(t.node(0))}static atStart(t){return sn(t,t,0,0,1)||new rn(t)}static atEnd(t){return sn(t,t,t.content.size,t.childCount,-1)||new rn(t)}static fromJSON(t,e){if(!e||!e.type)throw new RangeError("Invalid input for Selection.fromJSON");let r=Zi[e.type];if(!r)throw new RangeError(`No selection type ${e.type} defined`);return r.fromJSON(t,e)}static jsonID(t,e){if(t in Zi)throw new RangeError("Duplicate use of selection JSON ID "+t);Zi[t]=e;e.prototype.jsonID=t;return e}getBookmark(){return Yi.between(this.$anchor,this.$head).getBookmark()}}Ki.prototype.visible=true;class Vi{constructor(t,e){this.$from=t;this.$to=e}}let Gi=false;function Xi(t){if(!Gi&&!t.parent.inlineContent){Gi=true;console["warn"]("TextSelection endpoint not pointing into a node with inline content ("+t.parent.type.name+")")}}class Yi extends Ki{constructor(t,e=t){Xi(t);Xi(e);super(t,e)}get $cursor(){return this.$anchor.pos==this.$head.pos?this.$head:null}map(t,e){let r=t.resolve(e.map(this.head));if(!r.parent.inlineContent)return Ki.near(r);let i=t.resolve(e.map(this.anchor));return new Yi(i.parent.inlineContent?i:r,r)}replace(t,e=ye.empty){super.replace(t,e);if(e==ye.empty){let e=this.$from.marksAcross(this.$to);if(e)t.ensureMarks(e)}}eq(t){return t instanceof Yi&&t.anchor==this.anchor&&t.head==this.head}getBookmark(){return new Qi(this.anchor,this.head)}toJSON(){return{type:"text",anchor:this.anchor,head:this.head}}static fromJSON(t,e){if(typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid input for TextSelection.fromJSON");return new Yi(t.resolve(e.anchor),t.resolve(e.head))}static create(t,e,r=e){let i=t.resolve(e);return new this(i,r==e?i:t.resolve(r))}static between(t,e,r){let i=t.pos-e.pos;if(!r||i)r=i>=0?1:-1;if(!e.parent.inlineContent){let t=Ki.findFrom(e,r,true)||Ki.findFrom(e,-r,true);if(t)e=t.$head;else return Ki.near(e,r)}if(!t.parent.inlineContent){if(i==0){t=e}else{t=(Ki.findFrom(t,-r,true)||Ki.findFrom(t,r,true)).$anchor;if(t.pos<e.pos!=i<0)t=e}}return new Yi(t,e)}}Ki.jsonID("text",Yi);class Qi{constructor(t,e){this.anchor=t;this.head=e}map(t){return new Qi(t.map(this.anchor),t.map(this.head))}resolve(t){return Yi.between(t.resolve(this.anchor),t.resolve(this.head))}}class tn extends Ki{constructor(t){let e=t.nodeAfter;let r=t.node(0).resolve(t.pos+e.nodeSize);super(t,r);this.node=e}map(t,e){let{deleted:r,pos:i}=e.mapResult(this.anchor);let n=t.resolve(i);if(r)return Ki.near(n);return new tn(n)}content(){return new ye(we.from(this.node),0,0)}eq(t){return t instanceof tn&&t.anchor==this.anchor}toJSON(){return{type:"node",anchor:this.anchor}}getBookmark(){return new en(this.anchor)}static fromJSON(t,e){if(typeof e.anchor!="number")throw new RangeError("Invalid input for NodeSelection.fromJSON");return new tn(t.resolve(e.anchor))}static create(t,e){return new tn(t.resolve(e))}static isSelectable(t){return!t.isText&&t.type.spec.selectable!==false}}tn.prototype.visible=false;Ki.jsonID("node",tn);class en{constructor(t){this.anchor=t}map(t){let{deleted:e,pos:r}=t.mapResult(this.anchor);return e?new Qi(r,r):new en(r)}resolve(t){let e=t.resolve(this.anchor),r=e.nodeAfter;if(r&&tn.isSelectable(r))return new tn(e);return Ki.near(e)}}class rn extends Ki{constructor(t){super(t.resolve(0),t.resolve(t.content.size))}replace(t,e=ye.empty){if(e==ye.empty){t.delete(0,t.doc.content.size);let e=Ki.atStart(t.doc);if(!e.eq(t.selection))t.setSelection(e)}else{super.replace(t,e)}}toJSON(){return{type:"all"}}static fromJSON(t){return new rn(t)}map(t){return new rn(t)}eq(t){return t instanceof rn}getBookmark(){return nn}}Ki.jsonID("all",rn);const nn={map(){return this},resolve(t){return new rn(t)}};function sn(t,e,r,i,n,s=false){if(e.inlineContent)return Yi.create(t,r);for(let l=i-(n>0?0:1);n>0?l<e.childCount:l>=0;l+=n){let i=e.child(l);if(!i.isAtom){let e=sn(t,i,r+n,n<0?i.childCount:0,n,s);if(e)return e}else if(!s&&tn.isSelectable(i)){return tn.create(t,r-(n<0?i.nodeSize:0))}r+=i.nodeSize*n}return null}function ln(t,e,r){let i=t.steps.length-1;if(i<e)return;let n=t.steps[i];if(!(n instanceof ii||n instanceof ni))return;let s=t.mapping.maps[i],l;s.forEach(((t,e,r,i)=>{if(l==null)l=i}));t.setSelection(Ki.near(t.doc.resolve(l),r))}const on=1,un=2,fn=4;class hn extends Hi{constructor(t){super(t.doc);this.curSelectionFor=0;this.updated=0;this.meta=Object.create(null);this.time=Date.now();this.curSelection=t.selection;this.storedMarks=t.storedMarks}get selection(){if(this.curSelectionFor<this.steps.length){this.curSelection=this.curSelection.map(this.doc,this.mapping.slice(this.curSelectionFor));this.curSelectionFor=this.steps.length}return this.curSelection}setSelection(t){if(t.$from.doc!=this.doc)throw new RangeError("Selection passed to setSelection must point at the current document");this.curSelection=t;this.curSelectionFor=this.steps.length;this.updated=(this.updated|on)&~un;this.storedMarks=null;return this}get selectionSet(){return(this.updated&on)>0}setStoredMarks(t){this.storedMarks=t;this.updated|=un;return this}ensureMarks(t){if(!De.sameSet(this.storedMarks||this.selection.$from.marks(),t))this.setStoredMarks(t);return this}addStoredMark(t){return this.ensureMarks(t.addToSet(this.storedMarks||this.selection.$head.marks()))}removeStoredMark(t){return this.ensureMarks(t.removeFromSet(this.storedMarks||this.selection.$head.marks()))}get storedMarksSet(){return(this.updated&un)>0}addStep(t,e){super.addStep(t,e);this.updated=this.updated&~un;this.storedMarks=null}setTime(t){this.time=t;return this}replaceSelection(t){this.selection.replace(this,t);return this}replaceSelectionWith(t,e=true){let r=this.selection;if(e)t=t.mark(this.storedMarks||(r.empty?r.$from.marks():r.$from.marksAcross(r.$to)||De.none));r.replaceWith(this,t);return this}deleteSelection(){this.selection.replace(this);return this}insertText(t,e,r){let i=this.doc.type.schema;if(e==null){if(!t)return this.deleteSelection();return this.replaceSelectionWith(i.text(t),true)}else{if(r==null)r=e;r=r==null?e:r;if(!t)return this.deleteRange(e,r);let n=this.storedMarks;if(!n){let t=this.doc.resolve(e);n=r==e?t.marks():t.marksAcross(this.doc.resolve(r))}this.replaceRangeWith(e,r,i.text(t,n));if(!this.selection.empty)this.setSelection(Ki.near(this.selection.$to));return this}}setMeta(t,e){this.meta[typeof t=="string"?t:t.key]=e;return this}getMeta(t){return this.meta[typeof t=="string"?t:t.key]}get isGeneric(){for(let t in this.meta)return false;return true}scrollIntoView(){this.updated|=fn;return this}get scrolledIntoView(){return(this.updated&fn)>0}}function an(t,e){return!e||!t?t:t.bind(e)}class cn{constructor(t,e,r){this.name=t;this.init=an(e.init,r);this.apply=an(e.apply,r)}}const dn=[new cn("doc",{init(t){return t.doc||t.schema.topNodeType.createAndFill()},apply(t){return t.doc}}),new cn("selection",{init(t,e){return t.selection||Ki.atStart(e.doc)},apply(t){return t.selection}}),new cn("storedMarks",{init(t){return t.storedMarks||null},apply(t,e,r,i){return i.selection.$cursor?t.storedMarks:null}}),new cn("scrollToSelection",{init(){return 0},apply(t,e){return t.scrolledIntoView?e+1:e}})];class pn{constructor(t,e){this.schema=t;this.plugins=[];this.pluginsByKey=Object.create(null);this.fields=dn.slice();if(e)e.forEach((t=>{if(this.pluginsByKey[t.key])throw new RangeError("Adding different instances of a keyed plugin ("+t.key+")");this.plugins.push(t);this.pluginsByKey[t.key]=t;if(t.spec.state)this.fields.push(new cn(t.key,t.spec.state,t))}))}}class mn{constructor(t){this.config=t}get schema(){return this.config.schema}get plugins(){return this.config.plugins}apply(t){return this.applyTransaction(t).state}filterTransaction(t,e=-1){for(let r=0;r<this.config.plugins.length;r++)if(r!=e){let e=this.config.plugins[r];if(e.spec.filterTransaction&&!e.spec.filterTransaction.call(e,t,this))return false}return true}applyTransaction(t){if(!this.filterTransaction(t))return{state:this,transactions:[]};let e=[t],r=this.applyInner(t),i=null;for(;;){let n=false;for(let s=0;s<this.config.plugins.length;s++){let l=this.config.plugins[s];if(l.spec.appendTransaction){let o=i?i[s].n:0,u=i?i[s].state:this;let f=o<e.length&&l.spec.appendTransaction.call(l,o?e.slice(o):e,u,r);if(f&&r.filterTransaction(f,s)){f.setMeta("appendedTransaction",t);if(!i){i=[];for(let t=0;t<this.config.plugins.length;t++)i.push(t<s?{state:r,n:e.length}:{state:this,n:0})}e.push(f);r=r.applyInner(f);n=true}if(i)i[s]={state:r,n:e.length}}}if(!n)return{state:r,transactions:e}}}applyInner(t){if(!t.before.eq(this.doc))throw new RangeError("Applying a mismatched transaction");let e=new mn(this.config),r=this.config.fields;for(let i=0;i<r.length;i++){let n=r[i];e[n.name]=n.apply(t,this[n.name],this,e)}return e}get tr(){return new hn(this)}static create(t){let e=new pn(t.doc?t.doc.type.schema:t.schema,t.plugins);let r=new mn(e);for(let i=0;i<e.fields.length;i++)r[e.fields[i].name]=e.fields[i].init(t,r);return r}reconfigure(t){let e=new pn(this.schema,t.plugins);let r=e.fields,i=new mn(e);for(let e=0;e<r.length;e++){let n=r[e].name;i[n]=this.hasOwnProperty(n)?this[n]:r[e].init(t,i)}return i}toJSON(t){let e={doc:this.doc.toJSON(),selection:this.selection.toJSON()};if(this.storedMarks)e.storedMarks=this.storedMarks.map((t=>t.toJSON()));if(t&&typeof t=="object")for(let r in t){if(r=="doc"||r=="selection")throw new RangeError("The JSON fields `doc` and `selection` are reserved");let i=t[r],n=i.spec.state;if(n&&n.toJSON)e[r]=n.toJSON.call(i,this[i.key])}return e}static fromJSON(t,e,r){if(!e)throw new RangeError("Invalid input for EditorState.fromJSON");if(!t.schema)throw new RangeError("Required config field 'schema' missing");let i=new pn(t.schema,t.plugins);let n=new mn(i);i.fields.forEach((i=>{if(i.name=="doc"){n.doc=Pe.fromJSON(t.schema,e.doc)}else if(i.name=="selection"){n.selection=Ki.fromJSON(n.doc,e.selection)}else if(i.name=="storedMarks"){if(e.storedMarks)n.storedMarks=e.storedMarks.map(t.schema.markFromJSON)}else{if(r)for(let s in r){let l=r[s],o=l.spec.state;if(l.key==i.name&&o&&o.fromJSON&&Object.prototype.hasOwnProperty.call(e,s)){n[i.name]=o.fromJSON.call(l,t,e[s],n);return}}n[i.name]=i.init(t,n)}}));return n}}function wn(t,e,r){for(let i in t){let n=t[i];if(n instanceof Function)n=n.bind(e);else if(i=="handleDOMEvents")n=wn(n,e,{});r[i]=n}return r}class gn{constructor(t){this.spec=t;this.props={};if(t.props)wn(t.props,this,this.props);this.key=t.key?t.key.key:kn("plugin")}getState(t){return t[this.key]}}const bn=Object.create(null);function kn(t){if(t in bn)return t+"$"+ ++bn[t];bn[t]=0;return t+"$"}class Dn{constructor(t="key"){this.key=kn(t)}get(t){return t.config.pluginsByKey[this.key]}getState(t){return t[this.key]}}const vn=function(t){for(var e=0;;e++){t=t.previousSibling;if(!t)return e}};const yn=function(t){let e=t.assignedSlot||t.parentNode;return e&&e.nodeType==11?e.host:e};let Fn=null;const En=function(t,e,r){let i=Fn||(Fn=document.createRange());i.setEnd(t,r==null?t.nodeValue.length:r);i.setStart(t,e||0);return i};const Mn=function(t,e,r,i){return r&&(An(t,e,r,i,-1)||An(t,e,r,i,1))};const xn=/^(img|br|input|textarea|hr)$/i;function An(t,e,r,i,n){for(;;){if(t==r&&e==i)return true;if(e==(n<0?0:Cn(t))){let r=t.parentNode;if(!r||r.nodeType!=1||On(t)||xn.test(t.nodeName)||t.contentEditable=="false")return false;e=vn(t)+(n<0?0:1);t=r}else if(t.nodeType==1){t=t.childNodes[e+(n<0?-1:0)];if(t.contentEditable=="false")return false;e=n<0?Cn(t):0}else{return false}}}function Cn(t){return t.nodeType==3?t.nodeValue.length:t.childNodes.length}function Sn(t,e,r){for(let i=e==0,n=e==Cn(t);i||n;){if(t==r)return true;let e=vn(t);t=t.parentNode;if(!t)return false;i=i&&e==0;n=n&&e==Cn(t)}}function On(t){let e;for(let r=t;r;r=r.parentNode)if(e=r.pmViewDesc)break;return e&&e.node&&e.node.isBlock&&(e.dom==t||e.contentDOM==t)}const $n=function(t){return t.focusNode&&Mn(t.focusNode,t.focusOffset,t.anchorNode,t.anchorOffset)};function _n(t,e){let r=document.createEvent("Event");r.initEvent("keydown",true,true);r.keyCode=t;r.key=r.code=e;return r}function Bn(t){let e=t.activeElement;while(e&&e.shadowRoot)e=e.shadowRoot.activeElement;return e}function Rn(t,e,r){if(t.caretPositionFromPoint){try{let i=t.caretPositionFromPoint(e,r);if(i)return{node:i.offsetNode,offset:i.offset}}catch(t){}}if(t.caretRangeFromPoint){let i=t.caretRangeFromPoint(e,r);if(i)return{node:i.startContainer,offset:i.startOffset}}}const jn=typeof navigator!="undefined"?navigator:null;const Nn=typeof document!="undefined"?document:null;const qn=jn&&jn.userAgent||"";const zn=/Edge\/(\d+)/.exec(qn);const Tn=/MSIE \d/.exec(qn);const In=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(qn);const Pn=!!(Tn||In||zn);const Jn=Tn?document.documentMode:In?+In[1]:zn?+zn[1]:0;const Ln=!Pn&&/gecko\/(\d+)/i.test(qn);Ln&&+(/Firefox\/(\d+)/.exec(qn)||[0,0])[1];const Wn=!Pn&&/Chrome\/(\d+)/.exec(qn);const Un=!!Wn;const Hn=Wn?+Wn[1]:0;const Zn=!Pn&&!!jn&&/Apple Computer/.test(jn.vendor);const Kn=Zn&&(/Mobile\/\w+/.test(qn)||!!jn&&jn.maxTouchPoints>2);const Vn=Kn||(jn?/Mac/.test(jn.platform):false);const Gn=jn?/Win/.test(jn.platform):false;const Xn=/Android \d/.test(qn);const Yn=!!Nn&&"webkitFontSmoothing"in Nn.documentElement.style;const Qn=Yn?+(/\bAppleWebKit\/(\d+)/.exec(navigator.userAgent)||[0,0])[1]:0;function ts(t){return{left:0,right:t.documentElement.clientWidth,top:0,bottom:t.documentElement.clientHeight}}function es(t,e){return typeof t=="number"?t:t[e]}function rs(t){let e=t.getBoundingClientRect();let r=e.width/t.offsetWidth||1;let i=e.height/t.offsetHeight||1;return{left:e.left,right:e.left+t.clientWidth*r,top:e.top,bottom:e.top+t.clientHeight*i}}function is(t,e,r){let i=t.someProp("scrollThreshold")||0,n=t.someProp("scrollMargin")||5;let s=t.dom.ownerDocument;for(let l=r||t.dom;;l=yn(l)){if(!l)break;if(l.nodeType!=1)continue;let t=l;let r=t==s.body;let o=r?ts(s):rs(t);let u=0,f=0;if(e.top<o.top+es(i,"top"))f=-(o.top-e.top+es(n,"top"));else if(e.bottom>o.bottom-es(i,"bottom"))f=e.bottom-e.top>o.bottom-o.top?e.top+es(n,"top")-o.top:e.bottom-o.bottom+es(n,"bottom");if(e.left<o.left+es(i,"left"))u=-(o.left-e.left+es(n,"left"));else if(e.right>o.right-es(i,"right"))u=e.right-o.right+es(n,"right");if(u||f){if(r){s.defaultView.scrollBy(u,f)}else{let r=t.scrollLeft,i=t.scrollTop;if(f)t.scrollTop+=f;if(u)t.scrollLeft+=u;let n=t.scrollLeft-r,s=t.scrollTop-i;e={left:e.left-n,top:e.top-s,right:e.right-n,bottom:e.bottom-s}}}if(r||/^(fixed|sticky)$/.test(getComputedStyle(l).position))break}}function ns(t){let e=t.dom.getBoundingClientRect(),r=Math.max(0,e.top);let i,n;for(let s=(e.left+e.right)/2,l=r+1;l<Math.min(innerHeight,e.bottom);l+=5){let e=t.root.elementFromPoint(s,l);if(!e||e==t.dom||!t.dom.contains(e))continue;let o=e.getBoundingClientRect();if(o.top>=r-20){i=e;n=o.top;break}}return{refDOM:i,refTop:n,stack:ss(t.dom)}}function ss(t){let e=[],r=t.ownerDocument;for(let i=t;i;i=yn(i)){e.push({dom:i,top:i.scrollTop,left:i.scrollLeft});if(t==r)break}return e}function ls({refDOM:t,refTop:e,stack:r}){let i=t?t.getBoundingClientRect().top:0;us(r,i==0?0:i-e)}function us(t,e){for(let r=0;r<t.length;r++){let{dom:i,top:n,left:s}=t[r];if(i.scrollTop!=n+e)i.scrollTop=n+e;if(i.scrollLeft!=s)i.scrollLeft=s}}let fs=null;function hs(t){if(t.setActive)return t.setActive();if(fs)return t.focus(fs);let e=ss(t);t.focus(fs==null?{get preventScroll(){fs={preventScroll:true};return true}}:undefined);if(!fs){fs=false;us(e,0)}}function as(t,e){let r,i=2e8,n,s=0;let l=e.top,o=e.top;let u,f;for(let h=t.firstChild,a=0;h;h=h.nextSibling,a++){let t;if(h.nodeType==1)t=h.getClientRects();else if(h.nodeType==3)t=En(h).getClientRects();else continue;for(let c=0;c<t.length;c++){let d=t[c];if(d.top<=l&&d.bottom>=o){l=Math.max(d.bottom,l);o=Math.min(d.top,o);let t=d.left>e.left?d.left-e.left:d.right<e.left?e.left-d.right:0;if(t<i){r=h;i=t;n=t&&r.nodeType==3?{left:d.right<e.left?d.right:d.left,top:e.top}:e;if(h.nodeType==1&&t)s=a+(e.left>=(d.left+d.right)/2?1:0);continue}}else if(d.top>e.top&&!u&&d.left<=e.left&&d.right>=e.left){u=h;f={left:Math.max(d.left,Math.min(d.right,e.left)),top:d.top}}if(!r&&(e.left>=d.right&&e.top>=d.top||e.left>=d.left&&e.top>=d.bottom))s=a+1}}if(!r&&u){r=u;n=f;i=0}if(r&&r.nodeType==3)return cs(r,n);if(!r||i&&r.nodeType==1)return{node:t,offset:s};return as(r,n)}function cs(t,e){let r=t.nodeValue.length;let i=document.createRange();for(let n=0;n<r;n++){i.setEnd(t,n+1);i.setStart(t,n);let r=Ds(i,1);if(r.top==r.bottom)continue;if(ds(e,r))return{node:t,offset:n+(e.left>=(r.left+r.right)/2?1:0)}}return{node:t,offset:0}}function ds(t,e){return t.left>=e.left-1&&t.left<=e.right+1&&t.top>=e.top-1&&t.top<=e.bottom+1}function ps(t,e){let r=t.parentNode;if(r&&/^li$/i.test(r.nodeName)&&e.left<t.getBoundingClientRect().left)return r;return t}function ms(t,e,r){let{node:i,offset:n}=as(e,r),s=-1;if(i.nodeType==1&&!i.firstChild){let t=i.getBoundingClientRect();s=t.left!=t.right&&r.left>(t.left+t.right)/2?1:-1}return t.docView.posFromDOM(i,n,s)}function ws(t,e,r,i){let n=-1;for(let r=e,s=false;;){if(r==t.dom)break;let e=t.docView.nearestDesc(r,true);if(!e)return null;if(e.dom.nodeType==1&&(e.node.isBlock&&e.parent&&!s||!e.contentDOM)){let t=e.dom.getBoundingClientRect();if(e.node.isBlock&&e.parent&&!s){s=true;if(t.left>i.left||t.top>i.top)n=e.posBefore;else if(t.right<i.left||t.bottom<i.top)n=e.posAfter}if(!e.contentDOM&&n<0&&!e.node.isText){let r=e.node.isBlock?i.top<(t.top+t.bottom)/2:i.left<(t.left+t.right)/2;return r?e.posBefore:e.posAfter}}r=e.dom.parentNode}return n>-1?n:t.docView.posFromDOM(e,r,-1)}function gs(t,e,r){let i=t.childNodes.length;if(i&&r.top<r.bottom){for(let n=Math.max(0,Math.min(i-1,Math.floor(i*(e.top-r.top)/(r.bottom-r.top))-2)),s=n;;){let r=t.childNodes[s];if(r.nodeType==1){let t=r.getClientRects();for(let i=0;i<t.length;i++){let n=t[i];if(ds(e,n))return gs(r,e,n)}}if((s=(s+1)%i)==n)break}}return t}function bs(t,e){let r=t.dom.ownerDocument,i,n=0;let s=Rn(r,e.left,e.top);if(s)({node:i,offset:n}=s);let l=(t.root.elementFromPoint?t.root:r).elementFromPoint(e.left,e.top);let o;if(!l||!t.dom.contains(l.nodeType!=1?l.parentNode:l)){let r=t.dom.getBoundingClientRect();if(!ds(e,r))return null;l=gs(t.dom,e,r);if(!l)return null}if(Zn){for(let t=l;i&&t;t=yn(t))if(t.draggable)i=undefined}l=ps(l,e);if(i){if(Ln&&i.nodeType==1){n=Math.min(n,i.childNodes.length);if(n<i.childNodes.length){let t=i.childNodes[n],r;if(t.nodeName=="IMG"&&(r=t.getBoundingClientRect()).right<=e.left&&r.bottom>e.top)n++}}let r;if(Yn&&n&&i.nodeType==1&&(r=i.childNodes[n-1]).nodeType==1&&r.contentEditable=="false"&&r.getBoundingClientRect().top>=e.top)n--;if(i==t.dom&&n==i.childNodes.length-1&&i.lastChild.nodeType==1&&e.top>i.lastChild.getBoundingClientRect().bottom)o=t.state.doc.content.size;else if(n==0||i.nodeType!=1||i.childNodes[n-1].nodeName!="BR")o=ws(t,i,n,e)}if(o==null)o=ms(t,l,e);let u=t.docView.nearestDesc(l,true);return{pos:o,inside:u?u.posAtStart-u.border:-1}}function ks(t){return t.top<t.bottom||t.left<t.right}function Ds(t,e){let r=t.getClientRects();if(r.length){let t=r[e<0?0:r.length-1];if(ks(t))return t}return Array.prototype.find.call(r,ks)||t.getBoundingClientRect()}const vs=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/;function ys(t,e,r){let{node:i,offset:n,atom:s}=t.docView.domFromPos(e,r<0?-1:1);let l=Yn||Ln;if(i.nodeType==3){if(l&&(vs.test(i.nodeValue)||(r<0?!n:n==i.nodeValue.length))){let t=Ds(En(i,n,n),r);if(Ln&&n&&/\s/.test(i.nodeValue[n-1])&&n<i.nodeValue.length){let e=Ds(En(i,n-1,n-1),-1);if(e.top==t.top){let r=Ds(En(i,n,n+1),-1);if(r.top!=t.top)return Fs(r,r.left<e.left)}}return t}else{let t=n,e=n,s=r<0?1:-1;if(r<0&&!n){e++;s=-1}else if(r>=0&&n==i.nodeValue.length){t--;s=1}else if(r<0){t--}else{e++}return Fs(Ds(En(i,t,e),s),s<0)}}let o=t.state.doc.resolve(e-(s||0));if(!o.parent.inlineContent){if(s==null&&n&&(r<0||n==Cn(i))){let t=i.childNodes[n-1];if(t.nodeType==1)return Es(t.getBoundingClientRect(),false)}if(s==null&&n<Cn(i)){let t=i.childNodes[n];if(t.nodeType==1)return Es(t.getBoundingClientRect(),true)}return Es(i.getBoundingClientRect(),r>=0)}if(s==null&&n&&(r<0||n==Cn(i))){let t=i.childNodes[n-1];let e=t.nodeType==3?En(t,Cn(t)-(l?0:1)):t.nodeType==1&&(t.nodeName!="BR"||!t.nextSibling)?t:null;if(e)return Fs(Ds(e,1),false)}if(s==null&&n<Cn(i)){let t=i.childNodes[n];while(t.pmViewDesc&&t.pmViewDesc.ignoreForCoords)t=t.nextSibling;let e=!t?null:t.nodeType==3?En(t,0,l?0:1):t.nodeType==1?t:null;if(e)return Fs(Ds(e,-1),true)}return Fs(Ds(i.nodeType==3?En(i):i,-r),r>=0)}function Fs(t,e){if(t.width==0)return t;let r=e?t.left:t.right;return{top:t.top,bottom:t.bottom,left:r,right:r}}function Es(t,e){if(t.height==0)return t;let r=e?t.top:t.bottom;return{top:r,bottom:r,left:t.left,right:t.right}}function Ms(t,e,r){let i=t.state,n=t.root.activeElement;if(i!=e)t.updateState(e);if(n!=t.dom)t.focus();try{return r()}finally{if(i!=e)t.updateState(i);if(n!=t.dom&&n)n.focus()}}function xs(t,e,r){let i=e.selection;let n=r=="up"?i.$from:i.$to;return Ms(t,e,(()=>{let{node:e}=t.docView.domFromPos(n.pos,r=="up"?-1:1);for(;;){let r=t.docView.nearestDesc(e,true);if(!r)break;if(r.node.isBlock){e=r.contentDOM||r.dom;break}e=r.dom.parentNode}let i=ys(t,n.pos,1);for(let t=e.firstChild;t;t=t.nextSibling){let e;if(t.nodeType==1)e=t.getClientRects();else if(t.nodeType==3)e=En(t,0,t.nodeValue.length).getClientRects();else continue;for(let t=0;t<e.length;t++){let n=e[t];if(n.bottom>n.top+1&&(r=="up"?i.top-n.top>(n.bottom-i.top)*2:n.bottom-i.bottom>(i.bottom-n.top)*2))return false}}return true}))}const As=/[\u0590-\u08ac]/;function Cs(t,e,r){let{$head:i}=e.selection;if(!i.parent.isTextblock)return false;let n=i.parentOffset,s=!n,l=n==i.parent.content.size;let o=t.domSelection();if(!As.test(i.parent.textContent)||!o.modify)return r=="left"||r=="backward"?s:l;return Ms(t,e,(()=>{let{focusNode:e,focusOffset:n,anchorNode:s,anchorOffset:l}=t.domSelectionRange();let u=o.caretBidiLevel;o.modify("move",r,"character");let f=i.depth?t.docView.domAfterPos(i.before()):t.dom;let{focusNode:h,focusOffset:a}=t.domSelectionRange();let c=h&&!f.contains(h.nodeType==1?h:h.parentNode)||e==h&&n==a;try{o.collapse(s,l);if(e&&(e!=s||n!=l)&&o.extend)o.extend(e,n)}catch(t){}if(u!=null)o.caretBidiLevel=u;return c}))}let Ss=null;let Os=null;let $s=false;function _s(t,e,r){if(Ss==e&&Os==r)return $s;Ss=e;Os=r;return $s=r=="up"||r=="down"?xs(t,e,r):Cs(t,e,r)}const Bs=0,Rs=1,js=2,Ns=3;class qs{constructor(t,e,r,i){this.parent=t;this.children=e;this.dom=r;this.contentDOM=i;this.dirty=Bs;r.pmViewDesc=this}matchesWidget(t){return false}matchesMark(t){return false}matchesNode(t,e,r){return false}matchesHack(t){return false}parseRule(){return null}stopEvent(t){return false}get size(){let t=0;for(let e=0;e<this.children.length;e++)t+=this.children[e].size;return t}get border(){return 0}destroy(){this.parent=undefined;if(this.dom.pmViewDesc==this)this.dom.pmViewDesc=undefined;for(let t=0;t<this.children.length;t++)this.children[t].destroy()}posBeforeChild(t){for(let e=0,r=this.posAtStart;;e++){let i=this.children[e];if(i==t)return r;r+=i.size}}get posBefore(){return this.parent.posBeforeChild(this)}get posAtStart(){return this.parent?this.parent.posBeforeChild(this)+this.border:0}get posAfter(){return this.posBefore+this.size}get posAtEnd(){return this.posAtStart+this.size-2*this.border}localPosFromDOM(t,e,r){if(this.contentDOM&&this.contentDOM.contains(t.nodeType==1?t:t.parentNode)){if(r<0){let r,i;if(t==this.contentDOM){r=t.childNodes[e-1]}else{while(t.parentNode!=this.contentDOM)t=t.parentNode;r=t.previousSibling}while(r&&!((i=r.pmViewDesc)&&i.parent==this))r=r.previousSibling;return r?this.posBeforeChild(i)+i.size:this.posAtStart}else{let r,i;if(t==this.contentDOM){r=t.childNodes[e]}else{while(t.parentNode!=this.contentDOM)t=t.parentNode;r=t.nextSibling}while(r&&!((i=r.pmViewDesc)&&i.parent==this))r=r.nextSibling;return r?this.posBeforeChild(i):this.posAtEnd}}let i;if(t==this.dom&&this.contentDOM){i=e>vn(this.contentDOM)}else if(this.contentDOM&&this.contentDOM!=this.dom&&this.dom.contains(this.contentDOM)){i=t.compareDocumentPosition(this.contentDOM)&2}else if(this.dom.firstChild){if(e==0)for(let e=t;;e=e.parentNode){if(e==this.dom){i=false;break}if(e.previousSibling)break}if(i==null&&e==t.childNodes.length)for(let e=t;;e=e.parentNode){if(e==this.dom){i=true;break}if(e.nextSibling)break}}return(i==null?r>0:i)?this.posAtEnd:this.posAtStart}nearestDesc(t,e=false){for(let r=true,i=t;i;i=i.parentNode){let n=this.getDesc(i),s;if(n&&(!e||n.node)){if(r&&(s=n.nodeDOM)&&!(s.nodeType==1?s.contains(t.nodeType==1?t:t.parentNode):s==t))r=false;else return n}}}getDesc(t){let e=t.pmViewDesc;for(let t=e;t;t=t.parent)if(t==this)return e}posFromDOM(t,e,r){for(let i=t;i;i=i.parentNode){let n=this.getDesc(i);if(n)return n.localPosFromDOM(t,e,r)}return-1}descAt(t){for(let e=0,r=0;e<this.children.length;e++){let i=this.children[e],n=r+i.size;if(r==t&&n!=r){while(!i.border&&i.children.length)i=i.children[0];return i}if(t<n)return i.descAt(t-r-i.border);r=n}}domFromPos(t,e){if(!this.contentDOM)return{node:this.dom,offset:0,atom:t+1};let r=0,i=0;for(let e=0;r<this.children.length;r++){let n=this.children[r],s=e+n.size;if(s>t||n instanceof Ws){i=t-e;break}e=s}if(i)return this.children[r].domFromPos(i-this.children[r].border,e);for(let t;r&&!(t=this.children[r-1]).size&&t instanceof zs&&t.side>=0;r--){}if(e<=0){let t,i=true;for(;;r--,i=false){t=r?this.children[r-1]:null;if(!t||t.dom.parentNode==this.contentDOM)break}if(t&&e&&i&&!t.border&&!t.domAtom)return t.domFromPos(t.size,e);return{node:this.contentDOM,offset:t?vn(t.dom)+1:0}}else{let t,i=true;for(;;r++,i=false){t=r<this.children.length?this.children[r]:null;if(!t||t.dom.parentNode==this.contentDOM)break}if(t&&i&&!t.border&&!t.domAtom)return t.domFromPos(0,e);return{node:this.contentDOM,offset:t?vn(t.dom):this.contentDOM.childNodes.length}}}parseRange(t,e,r=0){if(this.children.length==0)return{node:this.contentDOM,from:t,to:e,fromOffset:0,toOffset:this.contentDOM.childNodes.length};let i=-1,n=-1;for(let s=r,l=0;;l++){let r=this.children[l],o=s+r.size;if(i==-1&&t<=o){let n=s+r.border;if(t>=n&&e<=o-r.border&&r.node&&r.contentDOM&&this.contentDOM.contains(r.contentDOM))return r.parseRange(t,e,n);t=s;for(let e=l;e>0;e--){let r=this.children[e-1];if(r.size&&r.dom.parentNode==this.contentDOM&&!r.emptyChildAt(1)){i=vn(r.dom)+1;break}t-=r.size}if(i==-1)i=0}if(i>-1&&(o>e||l==this.children.length-1)){e=o;for(let t=l+1;t<this.children.length;t++){let r=this.children[t];if(r.size&&r.dom.parentNode==this.contentDOM&&!r.emptyChildAt(-1)){n=vn(r.dom);break}e+=r.size}if(n==-1)n=this.contentDOM.childNodes.length;break}s=o}return{node:this.contentDOM,from:t,to:e,fromOffset:i,toOffset:n}}emptyChildAt(t){if(this.border||!this.contentDOM||!this.children.length)return false;let e=this.children[t<0?0:this.children.length-1];return e.size==0||e.emptyChildAt(t)}domAfterPos(t){let{node:e,offset:r}=this.domFromPos(t,0);if(e.nodeType!=1||r==e.childNodes.length)throw new RangeError("No node after pos "+t);return e.childNodes[r]}setSelection(t,e,r,i=false){let n=Math.min(t,e),s=Math.max(t,e);for(let l=0,o=0;l<this.children.length;l++){let u=this.children[l],f=o+u.size;if(n>o&&s<f)return u.setSelection(t-o-u.border,e-o-u.border,r,i);o=f}let l=this.domFromPos(t,t?-1:1);let o=e==t?l:this.domFromPos(e,e?-1:1);let u=r.getSelection();let f=false;if((Ln||Zn)&&t==e){let{node:t,offset:e}=l;if(t.nodeType==3){f=!!(e&&t.nodeValue[e-1]=="\n");if(f&&e==t.nodeValue.length){for(let e=t,r;e;e=e.parentNode){if(r=e.nextSibling){if(r.nodeName=="BR")l=o={node:r.parentNode,offset:vn(r)+1};break}let t=e.pmViewDesc;if(t&&t.node&&t.node.isBlock)break}}}else{let r=t.childNodes[e-1];f=r&&(r.nodeName=="BR"||r.contentEditable=="false")}}if(Ln&&u.focusNode&&u.focusNode!=o.node&&u.focusNode.nodeType==1){let t=u.focusNode.childNodes[u.focusOffset];if(t&&t.contentEditable=="false")i=true}if(!(i||f&&Zn)&&Mn(l.node,l.offset,u.anchorNode,u.anchorOffset)&&Mn(o.node,o.offset,u.focusNode,u.focusOffset))return;let h=false;if((u.extend||t==e)&&!f){u.collapse(l.node,l.offset);try{if(t!=e)u.extend(o.node,o.offset);h=true}catch(t){}}if(!h){if(t>e){let t=l;l=o;o=t}let r=document.createRange();r.setEnd(o.node,o.offset);r.setStart(l.node,l.offset);u.removeAllRanges();u.addRange(r)}}ignoreMutation(t){return!this.contentDOM&&t.type!="selection"}get contentLost(){return this.contentDOM&&this.contentDOM!=this.dom&&!this.dom.contains(this.contentDOM)}markDirty(t,e){for(let r=0,i=0;i<this.children.length;i++){let n=this.children[i],s=r+n.size;if(r==s?t<=s&&e>=r:t<s&&e>r){let i=r+n.border,l=s-n.border;if(t>=i&&e<=l){this.dirty=t==r||e==s?js:Rs;if(t==i&&e==l&&(n.contentLost||n.dom.parentNode!=this.contentDOM))n.dirty=Ns;else n.markDirty(t-i,e-i);return}else{n.dirty=n.dom==n.contentDOM&&n.dom.parentNode==this.contentDOM&&!n.children.length?js:Ns}}r=s}this.dirty=js}markParentsDirty(){let t=1;for(let e=this.parent;e;e=e.parent,t++){let r=t==1?js:Rs;if(e.dirty<r)e.dirty=r}}get domAtom(){return false}get ignoreForCoords(){return false}}class zs extends qs{constructor(t,e,r,i){let n,s=e.type.toDOM;if(typeof s=="function")s=s(r,(()=>{if(!n)return i;if(n.parent)return n.parent.posBeforeChild(n)}));if(!e.type.spec.raw){if(s.nodeType!=1){let t=document.createElement("span");t.appendChild(s);s=t}s.contentEditable="false";s.classList.add("ProseMirror-widget")}super(t,[],s,null);this.widget=e;this.widget=e;n=this}matchesWidget(t){return this.dirty==Bs&&t.type.eq(this.widget.type)}parseRule(){return{ignore:true}}stopEvent(t){let e=this.widget.spec.stopEvent;return e?e(t):false}ignoreMutation(t){return t.type!="selection"||this.widget.spec.ignoreSelection}destroy(){this.widget.type.destroy(this.dom);super.destroy()}get domAtom(){return true}get side(){return this.widget.type.side}}class Ts extends qs{constructor(t,e,r,i){super(t,[],e,null);this.textDOM=r;this.text=i}get size(){return this.text.length}localPosFromDOM(t,e){if(t!=this.textDOM)return this.posAtStart+(e?this.size:0);return this.posAtStart+e}domFromPos(t){return{node:this.textDOM,offset:t}}ignoreMutation(t){return t.type==="characterData"&&t.target.nodeValue==t.oldValue}}class Is extends qs{constructor(t,e,r,i){super(t,[],r,i);this.mark=e}static create(t,e,r,i){let n=i.nodeViews[e.type.name];let s=n&&n(e,i,r);if(!s||!s.dom)s=Or.renderSpec(document,e.type.spec.toDOM(e,r));return new Is(t,e,s.dom,s.contentDOM||s.dom)}parseRule(){if(this.dirty&Ns||this.mark.type.spec.reparseInView)return null;return{mark:this.mark.type.name,attrs:this.mark.attrs,contentElement:this.contentDOM}}matchesMark(t){return this.dirty!=Ns&&this.mark.eq(t)}markDirty(t,e){super.markDirty(t,e);if(this.dirty!=Bs){let t=this.parent;while(!t.node)t=t.parent;if(t.dirty<this.dirty)t.dirty=this.dirty;this.dirty=Bs}}slice(t,e,r){let i=Is.create(this.parent,this.mark,true,r);let n=this.children,s=this.size;if(e<s)n=ul(n,e,s,r);if(t>0)n=ul(n,0,t,r);for(let t=0;t<n.length;t++)n[t].parent=i;i.children=n;return i}}class Ps extends qs{constructor(t,e,r,i,n,s,l,o,u){super(t,[],n,s);this.node=e;this.outerDeco=r;this.innerDeco=i;this.nodeDOM=l}static create(t,e,r,i,n,s){let l=n.nodeViews[e.type.name],o;let u=l&&l(e,n,(()=>{if(!o)return s;if(o.parent)return o.parent.posBeforeChild(o)}),r,i);let f=u&&u.dom,h=u&&u.contentDOM;if(e.isText){if(!f)f=document.createTextNode(e.text);else if(f.nodeType!=3)throw new RangeError("Text must be rendered as a DOM text node")}else if(!f){({dom:f,contentDOM:h}=Or.renderSpec(document,e.type.spec.toDOM(e)))}if(!h&&!e.isText&&f.nodeName!="BR"){if(!f.hasAttribute("contenteditable"))f.contentEditable="false";if(e.type.spec.draggable)f.draggable=true}let a=f;f=Ys(f,r,e);if(u)return o=new Us(t,e,r,i,f,h||null,a,u,n,s+1);else if(e.isText)return new Ls(t,e,r,i,f,a,n);else return new Ps(t,e,r,i,f,h||null,a,n,s+1)}parseRule(){if(this.node.type.spec.reparseInView)return null;let t={node:this.node.type.name,attrs:this.node.attrs};if(this.node.type.whitespace=="pre")t.preserveWhitespace="full";if(!this.contentDOM){t.getContent=()=>this.node.content}else if(!this.contentLost){t.contentElement=this.contentDOM}else{for(let e=this.children.length-1;e>=0;e--){let r=this.children[e];if(this.dom.contains(r.dom.parentNode)){t.contentElement=r.dom.parentNode;break}}if(!t.contentElement)t.getContent=()=>we.empty}return t}matchesNode(t,e,r){return this.dirty==Bs&&t.eq(this.node)&&Qs(e,this.outerDeco)&&r.eq(this.innerDeco)}get size(){return this.node.nodeSize}get border(){return this.node.isLeaf?0:1}updateChildren(t,e){let r=this.node.inlineContent,i=e;let n=t.composing?this.localCompositionInfo(t,e):null;let s=n&&n.pos>-1?n:null;let l=n&&n.pos<0;let o=new el(this,s&&s.node,t);nl(this.node,this.innerDeco,((e,n,s)=>{if(e.spec.marks)o.syncToMarks(e.spec.marks,r,t);else if(e.type.side>=0&&!s)o.syncToMarks(n==this.node.childCount?De.none:this.node.child(n).marks,r,t);o.placeWidget(e,t,i)}),((e,s,u,f)=>{o.syncToMarks(e.marks,r,t);let h;if(o.findNodeMatch(e,s,u,f));else if(l&&t.state.selection.from>i&&t.state.selection.to<i+e.nodeSize&&(h=o.findIndexWithChild(n.node))>-1&&o.updateNodeAt(e,s,u,h,t));else if(o.updateNextNode(e,s,u,t,f,i));else{o.addNode(e,s,u,t,i)}i+=e.nodeSize}));o.syncToMarks([],r,t);if(this.node.isTextblock)o.addTextblockHacks();o.destroyRest();if(o.changed||this.dirty==js){if(s)this.protectLocalComposition(t,s);Hs(this.contentDOM,this.children,t);if(Kn)sl(this.dom)}}localCompositionInfo(t,e){let{from:r,to:i}=t.state.selection;if(!(t.state.selection instanceof Yi)||r<e||i>e+this.node.content.size)return null;let n=t.domSelectionRange();let s=ll(n.focusNode,n.focusOffset);if(!s||!this.dom.contains(s.parentNode))return null;if(this.node.inlineContent){let t=s.nodeValue;let n=ol(this.node.content,t,r-e,i-e);return n<0?null:{node:s,pos:n,text:t}}else{return{node:s,pos:-1,text:""}}}protectLocalComposition(t,{node:e,pos:r,text:i}){if(this.getDesc(e))return;let n=e;for(;;n=n.parentNode){if(n.parentNode==this.contentDOM)break;while(n.previousSibling)n.parentNode.removeChild(n.previousSibling);while(n.nextSibling)n.parentNode.removeChild(n.nextSibling);if(n.pmViewDesc)n.pmViewDesc=undefined}let s=new Ts(this,n,e,i);t.input.compositionNodes.push(s);this.children=ul(this.children,r,r+i.length,t,s)}update(t,e,r,i){if(this.dirty==Ns||!t.sameMarkup(this.node))return false;this.updateInner(t,e,r,i);return true}updateInner(t,e,r,i){this.updateOuterDeco(e);this.node=t;this.innerDeco=r;if(this.contentDOM)this.updateChildren(i,this.posAtStart);this.dirty=Bs}updateOuterDeco(t){if(Qs(t,this.outerDeco))return;let e=this.nodeDOM.nodeType!=1;let r=this.dom;this.dom=Gs(this.dom,this.nodeDOM,Vs(this.outerDeco,this.node,e),Vs(t,this.node,e));if(this.dom!=r){r.pmViewDesc=undefined;this.dom.pmViewDesc=this}this.outerDeco=t}selectNode(){if(this.nodeDOM.nodeType==1)this.nodeDOM.classList.add("ProseMirror-selectednode");if(this.contentDOM||!this.node.type.spec.draggable)this.dom.draggable=true}deselectNode(){if(this.nodeDOM.nodeType==1)this.nodeDOM.classList.remove("ProseMirror-selectednode");if(this.contentDOM||!this.node.type.spec.draggable)this.dom.removeAttribute("draggable")}get domAtom(){return this.node.isAtom}}function Js(t,e,r,i,n){Ys(i,e,t);let s=new Ps(undefined,t,e,r,i,i,i,n,0);if(s.contentDOM)s.updateChildren(n,0);return s}class Ls extends Ps{constructor(t,e,r,i,n,s,l){super(t,e,r,i,n,null,s,l,0)}parseRule(){let t=this.nodeDOM.parentNode;while(t&&t!=this.dom&&!t.pmIsDeco)t=t.parentNode;return{skip:t||true}}update(t,e,r,i){if(this.dirty==Ns||this.dirty!=Bs&&!this.inParent()||!t.sameMarkup(this.node))return false;this.updateOuterDeco(e);if((this.dirty!=Bs||t.text!=this.node.text)&&t.text!=this.nodeDOM.nodeValue){this.nodeDOM.nodeValue=t.text;if(i.trackWrites==this.nodeDOM)i.trackWrites=null}this.node=t;this.dirty=Bs;return true}inParent(){let t=this.parent.contentDOM;for(let e=this.nodeDOM;e;e=e.parentNode)if(e==t)return true;return false}domFromPos(t){return{node:this.nodeDOM,offset:t}}localPosFromDOM(t,e,r){if(t==this.nodeDOM)return this.posAtStart+Math.min(e,this.node.text.length);return super.localPosFromDOM(t,e,r)}ignoreMutation(t){return t.type!="characterData"&&t.type!="selection"}slice(t,e,r){let i=this.node.cut(t,e),n=document.createTextNode(i.text);return new Ls(this.parent,i,this.outerDeco,this.innerDeco,n,n,r)}markDirty(t,e){super.markDirty(t,e);if(this.dom!=this.nodeDOM&&(t==0||e==this.nodeDOM.nodeValue.length))this.dirty=Ns}get domAtom(){return false}}class Ws extends qs{parseRule(){return{ignore:true}}matchesHack(t){return this.dirty==Bs&&this.dom.nodeName==t}get domAtom(){return true}get ignoreForCoords(){return this.dom.nodeName=="IMG"}}class Us extends Ps{constructor(t,e,r,i,n,s,l,o,u,f){super(t,e,r,i,n,s,l,u,f);this.spec=o}update(t,e,r,i){if(this.dirty==Ns)return false;if(this.spec.update){let n=this.spec.update(t,e,r);if(n)this.updateInner(t,e,r,i);return n}else if(!this.contentDOM&&!t.isLeaf){return false}else{return super.update(t,e,r,i)}}selectNode(){this.spec.selectNode?this.spec.selectNode():super.selectNode()}deselectNode(){this.spec.deselectNode?this.spec.deselectNode():super.deselectNode()}setSelection(t,e,r,i){this.spec.setSelection?this.spec.setSelection(t,e,r):super.setSelection(t,e,r,i)}destroy(){if(this.spec.destroy)this.spec.destroy();super.destroy()}stopEvent(t){return this.spec.stopEvent?this.spec.stopEvent(t):false}ignoreMutation(t){return this.spec.ignoreMutation?this.spec.ignoreMutation(t):super.ignoreMutation(t)}}function Hs(t,e,r){let i=t.firstChild,n=false;for(let s=0;s<e.length;s++){let l=e[s],o=l.dom;if(o.parentNode==t){while(o!=i){i=tl(i);n=true}i=i.nextSibling}else{n=true;t.insertBefore(o,i)}if(l instanceof Is){let e=i?i.previousSibling:t.lastChild;Hs(l.contentDOM,l.children,r);i=e?e.nextSibling:t.firstChild}}while(i){i=tl(i);n=true}if(n&&r.trackWrites==t)r.trackWrites=null}const Zs=function(t){if(t)this.nodeName=t};Zs.prototype=Object.create(null);const Ks=[new Zs];function Vs(t,e,r){if(t.length==0)return Ks;let i=r?Ks[0]:new Zs,n=[i];for(let s=0;s<t.length;s++){let l=t[s].type.attrs;if(!l)continue;if(l.nodeName)n.push(i=new Zs(l.nodeName));for(let t in l){let s=l[t];if(s==null)continue;if(r&&n.length==1)n.push(i=new Zs(e.isInline?"span":"div"));if(t=="class")i.class=(i.class?i.class+" ":"")+s;else if(t=="style")i.style=(i.style?i.style+";":"")+s;else if(t!="nodeName")i[t]=s}}return n}function Gs(t,e,r,i){if(r==Ks&&i==Ks)return e;let n=e;for(let e=0;e<i.length;e++){let s=i[e],l=r[e];if(e){let e;if(l&&l.nodeName==s.nodeName&&n!=t&&(e=n.parentNode)&&e.nodeName.toLowerCase()==s.nodeName){n=e}else{e=document.createElement(s.nodeName);e.pmIsDeco=true;e.appendChild(n);l=Ks[0];n=e}}Xs(n,l||Ks[0],s)}return n}function Xs(t,e,r){for(let i in e)if(i!="class"&&i!="style"&&i!="nodeName"&&!(i in r))t.removeAttribute(i);for(let i in r)if(i!="class"&&i!="style"&&i!="nodeName"&&r[i]!=e[i])t.setAttribute(i,r[i]);if(e.class!=r.class){let i=e.class?e.class.split(" ").filter(Boolean):[];let n=r.class?r.class.split(" ").filter(Boolean):[];for(let e=0;e<i.length;e++)if(n.indexOf(i[e])==-1)t.classList.remove(i[e]);for(let e=0;e<n.length;e++)if(i.indexOf(n[e])==-1)t.classList.add(n[e]);if(t.classList.length==0)t.removeAttribute("class")}if(e.style!=r.style){if(e.style){let r=/\s*([\w\-\xa1-\uffff]+)\s*:(?:"(?:\\.|[^"])*"|'(?:\\.|[^'])*'|\(.*?\)|[^;])*/g,i;while(i=r.exec(e.style))t.style.removeProperty(i[1])}if(r.style)t.style.cssText+=r.style}}function Ys(t,e,r){return Gs(t,t,Ks,Vs(e,r,t.nodeType!=1))}function Qs(t,e){if(t.length!=e.length)return false;for(let r=0;r<t.length;r++)if(!t[r].type.eq(e[r].type))return false;return true}function tl(t){let e=t.nextSibling;t.parentNode.removeChild(t);return e}class el{constructor(t,e,r){this.lock=e;this.view=r;this.index=0;this.stack=[];this.changed=false;this.top=t;this.preMatch=rl(t.node.content,t)}destroyBetween(t,e){if(t==e)return;for(let r=t;r<e;r++)this.top.children[r].destroy();this.top.children.splice(t,e-t);this.changed=true}destroyRest(){this.destroyBetween(this.index,this.top.children.length)}syncToMarks(t,e,r){let i=0,n=this.stack.length>>1;let s=Math.min(n,t.length);while(i<s&&(i==n-1?this.top:this.stack[i+1<<1]).matchesMark(t[i])&&t[i].type.spec.spanning!==false)i++;while(i<n){this.destroyRest();this.top.dirty=Bs;this.index=this.stack.pop();this.top=this.stack.pop();n--}while(n<t.length){this.stack.push(this.top,this.index+1);let i=-1;for(let e=this.index;e<Math.min(this.index+3,this.top.children.length);e++){let r=this.top.children[e];if(r.matchesMark(t[n])&&!this.isLocked(r.dom)){i=e;break}}if(i>-1){if(i>this.index){this.changed=true;this.destroyBetween(this.index,i)}this.top=this.top.children[this.index]}else{let i=Is.create(this.top,t[n],e,r);this.top.children.splice(this.index,0,i);this.top=i;this.changed=true}this.index=0;n++}}findNodeMatch(t,e,r,i){let n=-1,s;if(i>=this.preMatch.index&&(s=this.preMatch.matches[i-this.preMatch.index]).parent==this.top&&s.matchesNode(t,e,r)){n=this.top.children.indexOf(s,this.index)}else{for(let i=this.index,s=Math.min(this.top.children.length,i+5);i<s;i++){let s=this.top.children[i];if(s.matchesNode(t,e,r)&&!this.preMatch.matched.has(s)){n=i;break}}}if(n<0)return false;this.destroyBetween(this.index,n);this.index++;return true}updateNodeAt(t,e,r,i,n){let s=this.top.children[i];if(s.dirty==Ns&&s.dom==s.contentDOM)s.dirty=js;if(!s.update(t,e,r,n))return false;this.destroyBetween(this.index,i);this.index++;return true}findIndexWithChild(t){for(;;){let e=t.parentNode;if(!e)return-1;if(e==this.top.contentDOM){let e=t.pmViewDesc;if(e)for(let t=this.index;t<this.top.children.length;t++){if(this.top.children[t]==e)return t}return-1}t=e}}updateNextNode(t,e,r,i,n,s){for(let l=this.index;l<this.top.children.length;l++){let o=this.top.children[l];if(o instanceof Ps){let u=this.preMatch.matched.get(o);if(u!=null&&u!=n)return false;let f=o.dom,h;let a=this.isLocked(f)&&!(t.isText&&o.node&&o.node.isText&&o.nodeDOM.nodeValue==t.text&&o.dirty!=Ns&&Qs(e,o.outerDeco));if(!a&&o.update(t,e,r,i)){this.destroyBetween(this.index,l);if(o.dom!=f)this.changed=true;this.index++;return true}else if(!a&&(h=this.recreateWrapper(o,t,e,r,i,s))){this.top.children[this.index]=h;if(h.contentDOM){h.dirty=js;h.updateChildren(i,s+1);h.dirty=Bs}this.changed=true;this.index++;return true}break}}return false}recreateWrapper(t,e,r,i,n,s){if(t.dirty||e.isAtom||!t.children.length||!t.node.content.eq(e.content))return null;let l=Ps.create(this.top,e,r,i,n,s);if(l.contentDOM){l.children=t.children;t.children=[];for(let t of l.children)t.parent=l}t.destroy();return l}addNode(t,e,r,i,n){let s=Ps.create(this.top,t,e,r,i,n);if(s.contentDOM)s.updateChildren(i,n+1);this.top.children.splice(this.index++,0,s);this.changed=true}placeWidget(t,e,r){let i=this.index<this.top.children.length?this.top.children[this.index]:null;if(i&&i.matchesWidget(t)&&(t==i.widget||!i.widget.type.toDOM.parentNode)){this.index++}else{let i=new zs(this.top,t,e,r);this.top.children.splice(this.index++,0,i);this.changed=true}}addTextblockHacks(){let t=this.top.children[this.index-1],e=this.top;while(t instanceof Is){e=t;t=e.children[e.children.length-1]}if(!t||!(t instanceof Ls)||/\n$/.test(t.node.text)||this.view.requiresGeckoHackNode&&/\s$/.test(t.node.text)){if((Zn||Un)&&t&&t.dom.contentEditable=="false")this.addHackNode("IMG",e);this.addHackNode("BR",this.top)}}addHackNode(t,e){if(e==this.top&&this.index<e.children.length&&e.children[this.index].matchesHack(t)){this.index++}else{let r=document.createElement(t);if(t=="IMG"){r.className="ProseMirror-separator";r.alt=""}if(t=="BR")r.className="ProseMirror-trailingBreak";let i=new Ws(this.top,[],r,null);if(e!=this.top)e.children.push(i);else e.children.splice(this.index++,0,i);this.changed=true}}isLocked(t){return this.lock&&(t==this.lock||t.nodeType==1&&t.contains(this.lock.parentNode))}}function rl(t,e){let r=e,i=r.children.length;let n=t.childCount,s=new Map,l=[];t:while(n>0){let o;for(;;){if(i){let t=r.children[i-1];if(t instanceof Is){r=t;i=t.children.length}else{o=t;i--;break}}else if(r==e){break t}else{i=r.parent.children.indexOf(r);r=r.parent}}let u=o.node;if(!u)continue;if(u!=t.child(n-1))break;--n;s.set(o,n);l.push(o)}return{index:n,matched:s,matches:l.reverse()}}function il(t,e){return t.type.side-e.type.side}function nl(t,e,r,i){let n=e.locals(t),s=0;if(n.length==0){for(let r=0;r<t.childCount;r++){let l=t.child(r);i(l,n,e.forChild(s,l),r);s+=l.nodeSize}return}let l=0,o=[],u=null;for(let f=0;;){let h,a;while(l<n.length&&n[l].to==s){let t=n[l++];if(t.widget){if(!h)h=t;else(a||(a=[h])).push(t)}}if(h){if(a){a.sort(il);for(let t=0;t<a.length;t++)r(a[t],f,!!u)}else{r(h,f,!!u)}}let c,d;if(u){d=-1;c=u;u=null}else if(f<t.childCount){d=f;c=t.child(f++)}else{break}for(let t=0;t<o.length;t++)if(o[t].to<=s)o.splice(t--,1);while(l<n.length&&n[l].from<=s&&n[l].to>s)o.push(n[l++]);let p=s+c.nodeSize;if(c.isText){let t=p;if(l<n.length&&n[l].from<t)t=n[l].from;for(let e=0;e<o.length;e++)if(o[e].to<t)t=o[e].to;if(t<p){u=c.cut(t-s);c=c.cut(0,t-s);p=t;d=-1}}else{while(l<n.length&&n[l].to<p)l++}let m=c.isInline&&!c.isLeaf?o.filter((t=>!t.inline)):o.slice();i(c,m,e.forChild(s,c),d);s=p}}function sl(t){if(t.nodeName=="UL"||t.nodeName=="OL"){let e=t.style.cssText;t.style.cssText=e+"; list-style: square !important";window.getComputedStyle(t).listStyle;t.style.cssText=e}}function ll(t,e){for(;;){if(t.nodeType==3)return t;if(t.nodeType==1&&e>0){if(t.childNodes.length>e&&t.childNodes[e].nodeType==3)return t.childNodes[e];t=t.childNodes[e-1];e=Cn(t)}else if(t.nodeType==1&&e<t.childNodes.length){t=t.childNodes[e];e=0}else{return null}}}function ol(t,e,r,i){for(let n=0,s=0;n<t.childCount&&s<=i;){let l=t.child(n++),o=s;s+=l.nodeSize;if(!l.isText)continue;let u=l.text;while(n<t.childCount){let e=t.child(n++);s+=e.nodeSize;if(!e.isText)break;u+=e.text}if(s>=r){if(s>=i&&u.slice(i-e.length-o,i-o)==e)return i-e.length;let t=o<i?u.lastIndexOf(e,i-o-1):-1;if(t>=0&&t+e.length+o>=r)return o+t;if(r==i&&u.length>=i+e.length-o&&u.slice(i-o,i-o+e.length)==e)return i}}return-1}function ul(t,e,r,i,n){let s=[];for(let l=0,o=0;l<t.length;l++){let u=t[l],f=o,h=o+=u.size;if(f>=r||h<=e){s.push(u)}else{if(f<e)s.push(u.slice(0,e-f,i));if(n){s.push(n);n=undefined}if(h>r)s.push(u.slice(r-f,u.size,i))}}return s}function fl(t,e=null){let r=t.domSelectionRange(),i=t.state.doc;if(!r.focusNode)return null;let n=t.docView.nearestDesc(r.focusNode),s=n&&n.size==0;let l=t.docView.posFromDOM(r.focusNode,r.focusOffset,1);if(l<0)return null;let o=i.resolve(l),u,f;if($n(r)){u=o;while(n&&!n.node)n=n.parent;let t=n.node;if(n&&t.isAtom&&tn.isSelectable(t)&&n.parent&&!(t.isInline&&Sn(r.focusNode,r.focusOffset,n.dom))){let t=n.posBefore;f=new tn(l==t?o:i.resolve(t))}}else{let e=t.docView.posFromDOM(r.anchorNode,r.anchorOffset,1);if(e<0)return null;u=i.resolve(e)}if(!f){let r=e=="pointer"||t.state.selection.head<o.pos&&!s?1:-1;f=Dl(t,u,o,r)}return f}function hl(t){return t.editable?t.hasFocus():yl(t)&&document.activeElement&&document.activeElement.contains(t.dom)}function al(t,e=false){let r=t.state.selection;bl(t,r);if(!hl(t))return;if(!e&&t.input.mouseDown&&t.input.mouseDown.allowDefault&&Un){let e=t.domSelectionRange(),r=t.domObserver.currentSelection;if(e.anchorNode&&r.anchorNode&&Mn(e.anchorNode,e.anchorOffset,r.anchorNode,r.anchorOffset)){t.input.mouseDown.delayedSelectionSync=true;t.domObserver.setCurSelection();return}}t.domObserver.disconnectSelection();if(t.cursorWrapper){gl(t)}else{let{anchor:i,head:n}=r,s,l;if(cl&&!(r instanceof Yi)){if(!r.$from.parent.inlineContent)s=dl(t,r.from);if(!r.empty&&!r.$from.parent.inlineContent)l=dl(t,r.to)}t.docView.setSelection(i,n,t.root,e);if(cl){if(s)ml(s);if(l)ml(l)}if(r.visible){t.dom.classList.remove("ProseMirror-hideselection")}else{t.dom.classList.add("ProseMirror-hideselection");if("onselectionchange"in document)wl(t)}}t.domObserver.setCurSelection();t.domObserver.connectSelection()}const cl=Zn||Un&&Hn<63;function dl(t,e){let{node:r,offset:i}=t.docView.domFromPos(e,0);let n=i<r.childNodes.length?r.childNodes[i]:null;let s=i?r.childNodes[i-1]:null;if(Zn&&n&&n.contentEditable=="false")return pl(n);if((!n||n.contentEditable=="false")&&(!s||s.contentEditable=="false")){if(n)return pl(n);else if(s)return pl(s)}}function pl(t){t.contentEditable="true";if(Zn&&t.draggable){t.draggable=false;t.wasDraggable=true}return t}function ml(t){t.contentEditable="false";if(t.wasDraggable){t.draggable=true;t.wasDraggable=null}}function wl(t){let e=t.dom.ownerDocument;e.removeEventListener("selectionchange",t.input.hideSelectionGuard);let r=t.domSelectionRange();let i=r.anchorNode,n=r.anchorOffset;e.addEventListener("selectionchange",t.input.hideSelectionGuard=()=>{if(r.anchorNode!=i||r.anchorOffset!=n){e.removeEventListener("selectionchange",t.input.hideSelectionGuard);setTimeout((()=>{if(!hl(t)||t.state.selection.visible)t.dom.classList.remove("ProseMirror-hideselection")}),20)}})}function gl(t){let e=t.domSelection(),r=document.createRange();let i=t.cursorWrapper.dom,n=i.nodeName=="IMG";if(n)r.setEnd(i.parentNode,vn(i)+1);else r.setEnd(i,0);r.collapse(false);e.removeAllRanges();e.addRange(r);if(!n&&!t.state.selection.visible&&Pn&&Jn<=11){i.disabled=true;i.disabled=false}}function bl(t,e){if(e instanceof tn){let r=t.docView.descAt(e.from);if(r!=t.lastSelectedViewDesc){kl(t);if(r)r.selectNode();t.lastSelectedViewDesc=r}}else{kl(t)}}function kl(t){if(t.lastSelectedViewDesc){if(t.lastSelectedViewDesc.parent)t.lastSelectedViewDesc.deselectNode();t.lastSelectedViewDesc=undefined}}function Dl(t,e,r,i){return t.someProp("createSelectionBetween",(i=>i(t,e,r)))||Yi.between(e,r,i)}function vl(t){if(t.editable&&!t.hasFocus())return false;return yl(t)}function yl(t){let e=t.domSelectionRange();if(!e.anchorNode)return false;try{return t.dom.contains(e.anchorNode.nodeType==3?e.anchorNode.parentNode:e.anchorNode)&&(t.editable||t.dom.contains(e.focusNode.nodeType==3?e.focusNode.parentNode:e.focusNode))}catch(t){return false}}function Fl(t){let e=t.docView.domFromPos(t.state.selection.anchor,0);let r=t.domSelectionRange();return Mn(e.node,e.offset,r.anchorNode,r.anchorOffset)}function El(t,e){let{$anchor:r,$head:i}=t.selection;let n=e>0?r.max(i):r.min(i);let s=!n.parent.inlineContent?n:n.depth?t.doc.resolve(e>0?n.after():n.before()):null;return s&&Ki.findFrom(s,e)}function Ml(t,e){t.dispatch(t.state.tr.setSelection(e).scrollIntoView());return true}function xl(t,e,r){let i=t.state.selection;if(i instanceof Yi){if(r.indexOf("s")>-1){let{$head:r}=i,n=r.textOffset?null:e<0?r.nodeBefore:r.nodeAfter;if(!n||n.isText||!n.isLeaf)return false;let s=t.state.doc.resolve(r.pos+n.nodeSize*(e<0?-1:1));return Ml(t,new Yi(i.$anchor,s))}else if(!i.empty){return false}else if(t.endOfTextblock(e>0?"forward":"backward")){let r=El(t.state,e);if(r&&r instanceof tn)return Ml(t,r);return false}else if(!(Vn&&r.indexOf("m")>-1)){let r=i.$head,n=r.textOffset?null:e<0?r.nodeBefore:r.nodeAfter,s;if(!n||n.isText)return false;let l=e<0?r.pos-n.nodeSize:r.pos;if(!(n.isAtom||(s=t.docView.descAt(l))&&!s.contentDOM))return false;if(tn.isSelectable(n)){return Ml(t,new tn(e<0?t.state.doc.resolve(r.pos-n.nodeSize):r))}else if(Yn){return Ml(t,new Yi(t.state.doc.resolve(e<0?l:l+n.nodeSize)))}else{return false}}}else if(i instanceof tn&&i.node.isInline){return Ml(t,new Yi(e>0?i.$to:i.$from))}else{let r=El(t.state,e);if(r)return Ml(t,r);return false}}function Al(t){return t.nodeType==3?t.nodeValue.length:t.childNodes.length}function Cl(t,e){let r=t.pmViewDesc;return r&&r.size==0&&(e<0||t.nextSibling||t.nodeName!="BR")}function Sl(t,e){return e<0?Ol(t):$l(t)}function Ol(t){let e=t.domSelectionRange();let r=e.focusNode,i=e.focusOffset;if(!r)return;let n,s,l=false;if(Ln&&r.nodeType==1&&i<Al(r)&&Cl(r.childNodes[i],-1))l=true;for(;;){if(i>0){if(r.nodeType!=1){break}else{let t=r.childNodes[i-1];if(Cl(t,-1)){n=r;s=--i}else if(t.nodeType==3){r=t;i=r.nodeValue.length}else break}}else if(_l(r)){break}else{let e=r.previousSibling;while(e&&Cl(e,-1)){n=r.parentNode;s=vn(e);e=e.previousSibling}if(!e){r=r.parentNode;if(r==t.dom)break;i=0}else{r=e;i=Al(r)}}}if(l)jl(t,r,i);else if(n)jl(t,n,s)}function $l(t){let e=t.domSelectionRange();let r=e.focusNode,i=e.focusOffset;if(!r)return;let n=Al(r);let s,l;for(;;){if(i<n){if(r.nodeType!=1)break;let t=r.childNodes[i];if(Cl(t,1)){s=r;l=++i}else break}else if(_l(r)){break}else{let e=r.nextSibling;while(e&&Cl(e,1)){s=e.parentNode;l=vn(e)+1;e=e.nextSibling}if(!e){r=r.parentNode;if(r==t.dom)break;i=n=0}else{r=e;i=0;n=Al(r)}}}if(s)jl(t,s,l)}function _l(t){let e=t.pmViewDesc;return e&&e.node&&e.node.isBlock}function Bl(t,e){while(t&&e==t.childNodes.length&&!On(t)){e=vn(t)+1;t=t.parentNode}while(t&&e<t.childNodes.length){let r=t.childNodes[e];if(r.nodeType==3)return r;if(r.nodeType==1&&r.contentEditable=="false")break;t=r;e=0}}function Rl(t,e){while(t&&!e&&!On(t)){e=vn(t);t=t.parentNode}while(t&&e){let r=t.childNodes[e-1];if(r.nodeType==3)return r;if(r.nodeType==1&&r.contentEditable=="false")break;t=r;e=t.childNodes.length}}function jl(t,e,r){if(e.nodeType!=3){let t,i;if(i=Bl(e,r)){e=i;r=0}else if(t=Rl(e,r)){e=t;r=t.nodeValue.length}}let i=t.domSelection();if($n(i)){let t=document.createRange();t.setEnd(e,r);t.setStart(e,r);i.removeAllRanges();i.addRange(t)}else if(i.extend){i.extend(e,r)}t.domObserver.setCurSelection();let{state:n}=t;setTimeout((()=>{if(t.state==n)al(t)}),50)}function Nl(t,e){let r=t.state.doc.resolve(e);if(!(Un||Gn)&&r.parent.inlineContent){let i=t.coordsAtPos(e);if(e>r.start()){let r=t.coordsAtPos(e-1);let n=(r.top+r.bottom)/2;if(n>i.top&&n<i.bottom&&Math.abs(r.left-i.left)>1)return r.left<i.left?"ltr":"rtl"}if(e<r.end()){let r=t.coordsAtPos(e+1);let n=(r.top+r.bottom)/2;if(n>i.top&&n<i.bottom&&Math.abs(r.left-i.left)>1)return r.left>i.left?"ltr":"rtl"}}let i=getComputedStyle(t.dom).direction;return i=="rtl"?"rtl":"ltr"}function ql(t,e,r){let i=t.state.selection;if(i instanceof Yi&&!i.empty||r.indexOf("s")>-1)return false;if(Vn&&r.indexOf("m")>-1)return false;let{$from:n,$to:s}=i;if(!n.parent.inlineContent||t.endOfTextblock(e<0?"up":"down")){let r=El(t.state,e);if(r&&r instanceof tn)return Ml(t,r)}if(!n.parent.inlineContent){let r=e<0?n:s;let l=i instanceof rn?Ki.near(r,e):Ki.findFrom(r,e);return l?Ml(t,l):false}return false}function zl(t,e){if(!(t.state.selection instanceof Yi))return true;let{$head:r,$anchor:i,empty:n}=t.state.selection;if(!r.sameParent(i))return true;if(!n)return false;if(t.endOfTextblock(e>0?"forward":"backward"))return true;let s=!r.textOffset&&(e<0?r.nodeBefore:r.nodeAfter);if(s&&!s.isText){let i=t.state.tr;if(e<0)i.delete(r.pos-s.nodeSize,r.pos);else i.delete(r.pos,r.pos+s.nodeSize);t.dispatch(i);return true}return false}function Tl(t,e,r){t.domObserver.stop();e.contentEditable=r;t.domObserver.start()}function Il(t){if(!Zn||t.state.selection.$head.parentOffset>0)return false;let{focusNode:e,focusOffset:r}=t.domSelectionRange();if(e&&e.nodeType==1&&r==0&&e.firstChild&&e.firstChild.contentEditable=="false"){let r=e.firstChild;Tl(t,r,"true");setTimeout((()=>Tl(t,r,"false")),20)}return false}function Pl(t){let e="";if(t.ctrlKey)e+="c";if(t.metaKey)e+="m";if(t.altKey)e+="a";if(t.shiftKey)e+="s";return e}function Jl(t,e){let r=e.keyCode,i=Pl(e);if(r==8||Vn&&r==72&&i=="c"){return zl(t,-1)||Sl(t,-1)}else if(r==46&&!e.shiftKey||Vn&&r==68&&i=="c"){return zl(t,1)||Sl(t,1)}else if(r==13||r==27){return true}else if(r==37||Vn&&r==66&&i=="c"){let e=r==37?Nl(t,t.state.selection.from)=="ltr"?-1:1:-1;return xl(t,e,i)||Sl(t,e)}else if(r==39||Vn&&r==70&&i=="c"){let e=r==39?Nl(t,t.state.selection.from)=="ltr"?1:-1:1;return xl(t,e,i)||Sl(t,e)}else if(r==38||Vn&&r==80&&i=="c"){return ql(t,-1,i)||Sl(t,-1)}else if(r==40||Vn&&r==78&&i=="c"){return Il(t)||ql(t,1,i)||Sl(t,1)}else if(i==(Vn?"m":"c")&&(r==66||r==73||r==89||r==90)){return true}return false}function Ll(t,e){t.someProp("transformCopied",(r=>{e=r(e,t)}));let r=[],{content:i,openStart:n,openEnd:s}=e;while(n>1&&s>1&&i.childCount==1&&i.firstChild.childCount==1){n--;s--;let t=i.firstChild;r.push(t.type.name,t.attrs!=t.type.defaultAttrs?t.attrs:null);i=t.content}let l=t.someProp("clipboardSerializer")||Or.fromSchema(t.state.schema);let o=to(),u=o.createElement("div");u.appendChild(l.serializeFragment(i,{document:o}));let f=u.firstChild,h,a=0;while(f&&f.nodeType==1&&(h=Yl[f.nodeName.toLowerCase()])){for(let t=h.length-1;t>=0;t--){let e=o.createElement(h[t]);while(u.firstChild)e.appendChild(u.firstChild);u.appendChild(e);a++}f=u.firstChild}if(f&&f.nodeType==1)f.setAttribute("data-pm-slice",`${n} ${s}${a?` -${a}`:""} ${JSON.stringify(r)}`);let c=t.someProp("clipboardTextSerializer",(r=>r(e,t)))||e.content.textBetween(0,e.content.size,"\n\n");return{dom:u,text:c}}function Wl(t,e,r,i,n){let s=n.parent.type.spec.code;let l,o;if(!r&&!e)return null;let u=e&&(i||s||!r);if(u){t.someProp("transformPastedText",(r=>{e=r(e,s||i,t)}));if(s)return e?new ye(we.from(t.state.schema.text(e.replace(/\r\n?/g,"\n"))),0,0):ye.empty;let r=t.someProp("clipboardTextParser",(r=>r(e,n,i,t)));if(r){o=r}else{let r=n.marks();let{schema:i}=t.state,s=Or.fromSchema(i);l=document.createElement("div");e.split(/(?:\r\n?|\n)+/).forEach((t=>{let e=l.appendChild(document.createElement("p"));if(t)e.appendChild(s.serializeNode(i.text(t,r)))}))}}else{t.someProp("transformPastedHTML",(e=>{r=e(r,t)}));l=eo(r);if(Yn)ro(l)}let f=l&&l.querySelector("[data-pm-slice]");let h=f&&/^(\d+) (\d+)(?: -(\d+))? (.*)/.exec(f.getAttribute("data-pm-slice")||"");if(h&&h[3])for(let t=+h[3];t>0;t--){let t=l.firstChild;while(t&&t.nodeType!=1)t=t.nextSibling;if(!t)break;l=t}if(!o){let e=t.someProp("clipboardParser")||t.someProp("domParser")||wr.fromSchema(t.state.schema);o=e.parseSlice(l,{preserveWhitespace:!!(u||h),context:n,ruleFromNode(t){if(t.nodeName=="BR"&&!t.nextSibling&&t.parentNode&&!Ul.test(t.parentNode.nodeName))return{ignore:true};return null}})}if(h){o=io(Xl(o,+h[1],+h[2]),h[4])}else{o=ye.maxOpen(Hl(o.content,n),true);if(o.openStart||o.openEnd){let t=0,e=0;for(let e=o.content.firstChild;t<o.openStart&&!e.type.spec.isolating;t++,e=e.firstChild){}for(let t=o.content.lastChild;e<o.openEnd&&!t.type.spec.isolating;e++,t=t.lastChild){}o=Xl(o,t,e)}}t.someProp("transformPasted",(e=>{o=e(o,t)}));return o}const Ul=/^(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)$/i;function Hl(t,e){if(t.childCount<2)return t;for(let r=e.depth;r>=0;r--){let i=e.node(r);let n=i.contentMatchAt(e.index(r));let s,l=[];t.forEach((t=>{if(!l)return;let e=n.findWrapping(t.type),r;if(!e)return l=null;if(r=l.length&&s.length&&Kl(e,s,t,l[l.length-1],0)){l[l.length-1]=r}else{if(l.length)l[l.length-1]=Vl(l[l.length-1],s.length);let r=Zl(t,e);l.push(r);n=n.matchType(r.type);s=e}}));if(l)return we.from(l)}return t}function Zl(t,e,r=0){for(let i=e.length-1;i>=r;i--)t=e[i].create(null,we.from(t));return t}function Kl(t,e,r,i,n){if(n<t.length&&n<e.length&&t[n]==e[n]){let s=Kl(t,e,r,i.lastChild,n+1);if(s)return i.copy(i.content.replaceChild(i.childCount-1,s));let l=i.contentMatchAt(i.childCount);if(l.matchType(n==t.length-1?r.type:t[n+1]))return i.copy(i.content.append(we.from(Zl(r,t,n+1))))}}function Vl(t,e){if(e==0)return t;let r=t.content.replaceChild(t.childCount-1,Vl(t.lastChild,e-1));let i=t.contentMatchAt(t.childCount).fillBefore(we.empty,true);return t.copy(r.append(i))}function Gl(t,e,r,i,n,s){let l=e<0?t.firstChild:t.lastChild,o=l.content;if(t.childCount>1)s=0;if(n<i-1)o=Gl(o,e,r,i,n+1,s);if(n>=r)o=e<0?l.contentMatchAt(0).fillBefore(o,s<=n).append(o):o.append(l.contentMatchAt(l.childCount).fillBefore(we.empty,true));return t.replaceChild(e<0?0:t.childCount-1,l.copy(o))}function Xl(t,e,r){if(e<t.openStart)t=new ye(Gl(t.content,-1,e,t.openStart,0,t.openEnd),e,t.openEnd);if(r<t.openEnd)t=new ye(Gl(t.content,1,r,t.openEnd,0,0),t.openStart,r);return t}const Yl={thead:["table"],tbody:["table"],tfoot:["table"],caption:["table"],colgroup:["table"],col:["table","colgroup"],tr:["table","tbody"],td:["table","tbody","tr"],th:["table","tbody","tr"]};let Ql=null;function to(){return Ql||(Ql=document.implementation.createHTMLDocument("title"))}function eo(t){let e=/^(\s*<meta [^>]*>)*/.exec(t);if(e)t=t.slice(e[0].length);let r=to().createElement("div");let i=/<([a-z][^>\s]+)/i.exec(t),n;if(n=i&&Yl[i[1].toLowerCase()])t=n.map((t=>"<"+t+">")).join("")+t+n.map((t=>"</"+t+">")).reverse().join("");r.innerHTML=t;if(n)for(let t=0;t<n.length;t++)r=r.querySelector(n[t])||r;return r}function ro(t){let e=t.querySelectorAll(Un?"span:not([class]):not([style])":"span.Apple-converted-space");for(let r=0;r<e.length;r++){let i=e[r];if(i.childNodes.length==1&&i.textContent==" "&&i.parentNode)i.parentNode.replaceChild(t.ownerDocument.createTextNode(" "),i)}}function io(t,e){if(!t.size)return t;let r=t.content.firstChild.type.schema,i;try{i=JSON.parse(e)}catch(e){return t}let{content:n,openStart:s,openEnd:l}=t;for(let t=i.length-2;t>=0;t-=2){let e=r.nodes[i[t]];if(!e||e.hasRequiredAttrs())break;n=we.from(e.create(i[t+1],n));s++;l++}return new ye(n,s,l)}const no={};const so={};const lo={touchstart:true,touchmove:true};class oo{constructor(){this.shiftKey=false;this.mouseDown=null;this.lastKeyCode=null;this.lastKeyCodeTime=0;this.lastClick={time:0,x:0,y:0,type:""};this.lastSelectionOrigin=null;this.lastSelectionTime=0;this.lastIOSEnter=0;this.lastIOSEnterFallbackTimeout=-1;this.lastFocus=0;this.lastTouch=0;this.lastAndroidDelete=0;this.composing=false;this.composingTimeout=-1;this.compositionNodes=[];this.compositionEndedAt=-2e8;this.compositionID=1;this.compositionPendingChanges=0;this.domChangeCount=0;this.eventHandlers=Object.create(null);this.hideSelectionGuard=null}}function uo(t){for(let e in no){let r=no[e];t.dom.addEventListener(e,t.input.eventHandlers[e]=e=>{if(po(t,e)&&!co(t,e)&&(t.editable||!(e.type in so)))r(t,e)},lo[e]?{passive:true}:undefined)}if(Zn)t.dom.addEventListener("input",(()=>null));ao(t)}function fo(t,e){t.input.lastSelectionOrigin=e;t.input.lastSelectionTime=Date.now()}function ho(t){t.domObserver.stop();for(let e in t.input.eventHandlers)t.dom.removeEventListener(e,t.input.eventHandlers[e]);clearTimeout(t.input.composingTimeout);clearTimeout(t.input.lastIOSEnterFallbackTimeout)}function ao(t){t.someProp("handleDOMEvents",(e=>{for(let r in e)if(!t.input.eventHandlers[r])t.dom.addEventListener(r,t.input.eventHandlers[r]=e=>co(t,e))}))}function co(t,e){return t.someProp("handleDOMEvents",(r=>{let i=r[e.type];return i?i(t,e)||e.defaultPrevented:false}))}function po(t,e){if(!e.bubbles)return true;if(e.defaultPrevented)return false;for(let r=e.target;r!=t.dom;r=r.parentNode)if(!r||r.nodeType==11||r.pmViewDesc&&r.pmViewDesc.stopEvent(e))return false;return true}function mo(t,e){if(!co(t,e)&&no[e.type]&&(t.editable||!(e.type in so)))no[e.type](t,e)}so.keydown=(t,e)=>{let r=e;t.input.shiftKey=r.keyCode==16||r.shiftKey;if(So(t,r))return;t.input.lastKeyCode=r.keyCode;t.input.lastKeyCodeTime=Date.now();if(Xn&&Un&&r.keyCode==13)return;if(r.keyCode!=229)t.domObserver.forceFlush();if(Kn&&r.keyCode==13&&!r.ctrlKey&&!r.altKey&&!r.metaKey){let e=Date.now();t.input.lastIOSEnter=e;t.input.lastIOSEnterFallbackTimeout=setTimeout((()=>{if(t.input.lastIOSEnter==e){t.someProp("handleKeyDown",(e=>e(t,_n(13,"Enter"))));t.input.lastIOSEnter=0}}),200)}else if(t.someProp("handleKeyDown",(e=>e(t,r)))||Jl(t,r)){r.preventDefault()}else{fo(t,"key")}};so.keyup=(t,e)=>{if(e.keyCode==16)t.input.shiftKey=false};so.keypress=(t,e)=>{let r=e;if(So(t,r)||!r.charCode||r.ctrlKey&&!r.altKey||Vn&&r.metaKey)return;if(t.someProp("handleKeyPress",(e=>e(t,r)))){r.preventDefault();return}let i=t.state.selection;if(!(i instanceof Yi)||!i.$from.sameParent(i.$to)){let e=String.fromCharCode(r.charCode);if(!/[\r\n]/.test(e)&&!t.someProp("handleTextInput",(r=>r(t,i.$from.pos,i.$to.pos,e))))t.dispatch(t.state.tr.insertText(e).scrollIntoView());r.preventDefault()}};function wo(t){return{left:t.clientX,top:t.clientY}}function go(t,e){let r=e.x-t.clientX,i=e.y-t.clientY;return r*r+i*i<100}function bo(t,e,r,i,n){if(i==-1)return false;let s=t.state.doc.resolve(i);for(let i=s.depth+1;i>0;i--){if(t.someProp(e,(e=>i>s.depth?e(t,r,s.nodeAfter,s.before(i),n,true):e(t,r,s.node(i),s.before(i),n,false))))return true}return false}function ko(t,e,r){if(!t.focused)t.focus();let i=t.state.tr.setSelection(e);if(r=="pointer")i.setMeta("pointer",true);t.dispatch(i)}function Do(t,e){if(e==-1)return false;let r=t.state.doc.resolve(e),i=r.nodeAfter;if(i&&i.isAtom&&tn.isSelectable(i)){ko(t,new tn(r),"pointer");return true}return false}function vo(t,e){if(e==-1)return false;let r=t.state.selection,i,n;if(r instanceof tn)i=r.node;let s=t.state.doc.resolve(e);for(let t=s.depth+1;t>0;t--){let e=t>s.depth?s.nodeAfter:s.node(t);if(tn.isSelectable(e)){if(i&&r.$from.depth>0&&t>=r.$from.depth&&s.before(r.$from.depth+1)==r.$from.pos)n=s.before(r.$from.depth);else n=s.before(t);break}}if(n!=null){ko(t,tn.create(t.state.doc,n),"pointer");return true}else{return false}}function yo(t,e,r,i,n){return bo(t,"handleClickOn",e,r,i)||t.someProp("handleClick",(r=>r(t,e,i)))||(n?vo(t,r):Do(t,r))}function Fo(t,e,r,i){return bo(t,"handleDoubleClickOn",e,r,i)||t.someProp("handleDoubleClick",(r=>r(t,e,i)))}function Eo(t,e,r,i){return bo(t,"handleTripleClickOn",e,r,i)||t.someProp("handleTripleClick",(r=>r(t,e,i)))||Mo(t,r,i)}function Mo(t,e,r){if(r.button!=0)return false;let i=t.state.doc;if(e==-1){if(i.inlineContent){ko(t,Yi.create(i,0,i.content.size),"pointer");return true}return false}let n=i.resolve(e);for(let e=n.depth+1;e>0;e--){let r=e>n.depth?n.nodeAfter:n.node(e);let s=n.before(e);if(r.inlineContent)ko(t,Yi.create(i,s+1,s+1+r.content.size),"pointer");else if(tn.isSelectable(r))ko(t,tn.create(i,s),"pointer");else continue;return true}}function xo(t){return Ro(t)}const Ao=Vn?"metaKey":"ctrlKey";no.mousedown=(t,e)=>{let r=e;t.input.shiftKey=r.shiftKey;let i=xo(t);let n=Date.now(),s="singleClick";if(n-t.input.lastClick.time<500&&go(r,t.input.lastClick)&&!r[Ao]){if(t.input.lastClick.type=="singleClick")s="doubleClick";else if(t.input.lastClick.type=="doubleClick")s="tripleClick"}t.input.lastClick={time:n,x:r.clientX,y:r.clientY,type:s};let l=t.posAtCoords(wo(r));if(!l)return;if(s=="singleClick"){if(t.input.mouseDown)t.input.mouseDown.done();t.input.mouseDown=new Co(t,l,r,!!i)}else if((s=="doubleClick"?Fo:Eo)(t,l.pos,l.inside,r)){r.preventDefault()}else{fo(t,"pointer")}};class Co{constructor(t,e,r,i){this.view=t;this.pos=e;this.event=r;this.flushed=i;this.delayedSelectionSync=false;this.mightDrag=null;this.startDoc=t.state.doc;this.selectNode=!!r[Ao];this.allowDefault=r.shiftKey;let n,s;if(e.inside>-1){n=t.state.doc.nodeAt(e.inside);s=e.inside}else{let r=t.state.doc.resolve(e.pos);n=r.parent;s=r.depth?r.before():0}const l=i?null:r.target;const o=l?t.docView.nearestDesc(l,true):null;this.target=o?o.dom:null;let{selection:u}=t.state;if(r.button==0&&n.type.spec.draggable&&n.type.spec.selectable!==false||u instanceof tn&&u.from<=s&&u.to>s)this.mightDrag={node:n,pos:s,addAttr:!!(this.target&&!this.target.draggable),setUneditable:!!(this.target&&Ln&&!this.target.hasAttribute("contentEditable"))};if(this.target&&this.mightDrag&&(this.mightDrag.addAttr||this.mightDrag.setUneditable)){this.view.domObserver.stop();if(this.mightDrag.addAttr)this.target.draggable=true;if(this.mightDrag.setUneditable)setTimeout((()=>{if(this.view.input.mouseDown==this)this.target.setAttribute("contentEditable","false")}),20);this.view.domObserver.start()}t.root.addEventListener("mouseup",this.up=this.up.bind(this));t.root.addEventListener("mousemove",this.move=this.move.bind(this));fo(t,"pointer")}done(){this.view.root.removeEventListener("mouseup",this.up);this.view.root.removeEventListener("mousemove",this.move);if(this.mightDrag&&this.target){this.view.domObserver.stop();if(this.mightDrag.addAttr)this.target.removeAttribute("draggable");if(this.mightDrag.setUneditable)this.target.removeAttribute("contentEditable");this.view.domObserver.start()}if(this.delayedSelectionSync)setTimeout((()=>al(this.view)));this.view.input.mouseDown=null}up(t){this.done();if(!this.view.dom.contains(t.target))return;let e=this.pos;if(this.view.state.doc!=this.startDoc)e=this.view.posAtCoords(wo(t));this.updateAllowDefault(t);if(this.allowDefault||!e){fo(this.view,"pointer")}else if(yo(this.view,e.pos,e.inside,t,this.selectNode)){t.preventDefault()}else if(t.button==0&&(this.flushed||Zn&&this.mightDrag&&!this.mightDrag.node.isAtom||Un&&!this.view.state.selection.visible&&Math.min(Math.abs(e.pos-this.view.state.selection.from),Math.abs(e.pos-this.view.state.selection.to))<=2)){ko(this.view,Ki.near(this.view.state.doc.resolve(e.pos)),"pointer");t.preventDefault()}else{fo(this.view,"pointer")}}move(t){this.updateAllowDefault(t);fo(this.view,"pointer");if(t.buttons==0)this.done()}updateAllowDefault(t){if(!this.allowDefault&&(Math.abs(this.event.x-t.clientX)>4||Math.abs(this.event.y-t.clientY)>4))this.allowDefault=true}}no.touchstart=t=>{t.input.lastTouch=Date.now();xo(t);fo(t,"pointer")};no.touchmove=t=>{t.input.lastTouch=Date.now();fo(t,"pointer")};no.contextmenu=t=>xo(t);function So(t,e){if(t.composing)return true;if(Zn&&Math.abs(e.timeStamp-t.input.compositionEndedAt)<500){t.input.compositionEndedAt=-2e8;return true}return false}const Oo=Xn?5e3:-1;so.compositionstart=so.compositionupdate=t=>{if(!t.composing){t.domObserver.flush();let{state:e}=t,r=e.selection.$from;if(e.selection.empty&&(e.storedMarks||!r.textOffset&&r.parentOffset&&r.nodeBefore.marks.some((t=>t.type.spec.inclusive===false)))){t.markCursor=t.state.storedMarks||r.marks();Ro(t,true);t.markCursor=null}else{Ro(t);if(Ln&&e.selection.empty&&r.parentOffset&&!r.textOffset&&r.nodeBefore.marks.length){let e=t.domSelectionRange();for(let r=e.focusNode,i=e.focusOffset;r&&r.nodeType==1&&i!=0;){let e=i<0?r.lastChild:r.childNodes[i-1];if(!e)break;if(e.nodeType==3){t.domSelection().collapse(e,e.nodeValue.length);break}else{r=e;i=-1}}}}t.input.composing=true}$o(t,Oo)};so.compositionend=(t,e)=>{if(t.composing){t.input.composing=false;t.input.compositionEndedAt=e.timeStamp;t.input.compositionPendingChanges=t.domObserver.pendingRecords().length?t.input.compositionID:0;if(t.input.compositionPendingChanges)Promise.resolve().then((()=>t.domObserver.flush()));t.input.compositionID++;$o(t,20)}};function $o(t,e){clearTimeout(t.input.composingTimeout);if(e>-1)t.input.composingTimeout=setTimeout((()=>Ro(t)),e)}function _o(t){if(t.composing){t.input.composing=false;t.input.compositionEndedAt=Bo()}while(t.input.compositionNodes.length>0)t.input.compositionNodes.pop().markParentsDirty()}function Bo(){let t=document.createEvent("Event");t.initEvent("event",true,true);return t.timeStamp}function Ro(t,e=false){if(Xn&&t.domObserver.flushingSoon>=0)return;t.domObserver.forceFlush();_o(t);if(e||t.docView&&t.docView.dirty){let e=fl(t);if(e&&!e.eq(t.state.selection))t.dispatch(t.state.tr.setSelection(e));else t.updateState(t.state);return true}return false}function jo(t,e){if(!t.dom.parentNode)return;let r=t.dom.parentNode.appendChild(document.createElement("div"));r.appendChild(e);r.style.cssText="position: fixed; left: -10000px; top: 10px";let i=getSelection(),n=document.createRange();n.selectNodeContents(e);t.dom.blur();i.removeAllRanges();i.addRange(n);setTimeout((()=>{if(r.parentNode)r.parentNode.removeChild(r);t.focus()}),50)}const No=Pn&&Jn<15||Kn&&Qn<604;no.copy=so.cut=(t,e)=>{let r=e;let i=t.state.selection,n=r.type=="cut";if(i.empty)return;let s=No?null:r.clipboardData;let l=i.content(),{dom:o,text:u}=Ll(t,l);if(s){r.preventDefault();s.clearData();s.setData("text/html",o.innerHTML);s.setData("text/plain",u)}else{jo(t,o)}if(n)t.dispatch(t.state.tr.deleteSelection().scrollIntoView().setMeta("uiEvent","cut"))};function qo(t){return t.openStart==0&&t.openEnd==0&&t.content.childCount==1?t.content.firstChild:null}function zo(t,e){if(!t.dom.parentNode)return;let r=t.input.shiftKey||t.state.selection.$from.parent.type.spec.code;let i=t.dom.parentNode.appendChild(document.createElement(r?"textarea":"div"));if(!r)i.contentEditable="true";i.style.cssText="position: fixed; left: -10000px; top: 10px";i.focus();let n=t.input.shiftKey&&t.input.lastKeyCode!=45;setTimeout((()=>{t.focus();if(i.parentNode)i.parentNode.removeChild(i);if(r)To(t,i.value,null,n,e);else To(t,i.textContent,i.innerHTML,n,e)}),50)}function To(t,e,r,i,n){let s=Wl(t,e,r,i,t.state.selection.$from);if(t.someProp("handlePaste",(e=>e(t,n,s||ye.empty))))return true;if(!s)return false;let l=qo(s);let o=l?t.state.tr.replaceSelectionWith(l,i):t.state.tr.replaceSelection(s);t.dispatch(o.scrollIntoView().setMeta("paste",true).setMeta("uiEvent","paste"));return true}function Io(t){let e=t.getData("text/plain")||t.getData("Text");if(e)return e;let r=t.getData("text/uri-list");return r?r.replace(/\r?\n/g," "):""}so.paste=(t,e)=>{let r=e;if(t.composing&&!Xn)return;let i=No?null:r.clipboardData;let n=t.input.shiftKey&&t.input.lastKeyCode!=45;if(i&&To(t,Io(i),i.getData("text/html"),n,r))r.preventDefault();else zo(t,r)};class Po{constructor(t,e,r){this.slice=t;this.move=e;this.node=r}}const Jo=Vn?"altKey":"ctrlKey";no.dragstart=(t,e)=>{let r=e;let i=t.input.mouseDown;if(i)i.done();if(!r.dataTransfer)return;let n=t.state.selection;let s=n.empty?null:t.posAtCoords(wo(r));let l;if(s&&s.pos>=n.from&&s.pos<=(n instanceof tn?n.to-1:n.to));else if(i&&i.mightDrag){l=tn.create(t.state.doc,i.mightDrag.pos)}else if(r.target&&r.target.nodeType==1){let e=t.docView.nearestDesc(r.target,true);if(e&&e.node.type.spec.draggable&&e!=t.docView)l=tn.create(t.state.doc,e.posBefore)}let o=(l||t.state.selection).content(),{dom:u,text:f}=Ll(t,o);r.dataTransfer.clearData();r.dataTransfer.setData(No?"Text":"text/html",u.innerHTML);r.dataTransfer.effectAllowed="copyMove";if(!No)r.dataTransfer.setData("text/plain",f);t.dragging=new Po(o,!r[Jo],l)};no.dragend=t=>{let e=t.dragging;window.setTimeout((()=>{if(t.dragging==e)t.dragging=null}),50)};so.dragover=so.dragenter=(t,e)=>e.preventDefault();so.drop=(t,e)=>{let r=e;let i=t.dragging;t.dragging=null;if(!r.dataTransfer)return;let n=t.posAtCoords(wo(r));if(!n)return;let s=t.state.doc.resolve(n.pos);let l=i&&i.slice;if(l){t.someProp("transformPasted",(e=>{l=e(l,t)}))}else{l=Wl(t,Io(r.dataTransfer),No?null:r.dataTransfer.getData("text/html"),false,s)}let o=!!(i&&!r[Jo]);if(t.someProp("handleDrop",(e=>e(t,r,l||ye.empty,o)))){r.preventDefault();return}if(!l)return;r.preventDefault();let u=l?Ai(t.state.doc,s.pos,l):s.pos;if(u==null)u=s.pos;let f=t.state.tr;if(o){let{node:t}=i;if(t)t.replace(f);else f.deleteSelection()}let h=f.mapping.map(u);let a=l.openStart==0&&l.openEnd==0&&l.content.childCount==1;let c=f.doc;if(a)f.replaceRangeWith(h,h,l.content.firstChild);else f.replaceRange(h,h,l);if(f.doc.eq(c))return;let d=f.doc.resolve(h);if(a&&tn.isSelectable(l.content.firstChild)&&d.nodeAfter&&d.nodeAfter.sameMarkup(l.content.firstChild)){f.setSelection(new tn(d))}else{let e=f.mapping.map(u);f.mapping.maps[f.mapping.maps.length-1].forEach(((t,r,i,n)=>e=n));f.setSelection(Dl(t,d,f.doc.resolve(e)))}t.focus();t.dispatch(f.setMeta("uiEvent","drop"))};no.focus=t=>{t.input.lastFocus=Date.now();if(!t.focused){t.domObserver.stop();t.dom.classList.add("ProseMirror-focused");t.domObserver.start();t.focused=true;setTimeout((()=>{if(t.docView&&t.hasFocus()&&!t.domObserver.currentSelection.eq(t.domSelectionRange()))al(t)}),20)}};no.blur=(t,e)=>{let r=e;if(t.focused){t.domObserver.stop();t.dom.classList.remove("ProseMirror-focused");t.domObserver.start();if(r.relatedTarget&&t.dom.contains(r.relatedTarget))t.domObserver.currentSelection.clear();t.focused=false}};no.beforeinput=(t,e)=>{let r=e;if(Un&&Xn&&r.inputType=="deleteContentBackward"){t.domObserver.flushSoon();let{domChangeCount:e}=t.input;setTimeout((()=>{if(t.input.domChangeCount!=e)return;t.dom.blur();t.focus();if(t.someProp("handleKeyDown",(e=>e(t,_n(8,"Backspace")))))return;let{$cursor:r}=t.state.selection;if(r&&r.pos>0)t.dispatch(t.state.tr.delete(r.pos-1,r.pos).scrollIntoView())}),50)}};for(let t in so)no[t]=so[t];function Lo(t,e){if(t==e)return true;for(let r in t)if(t[r]!==e[r])return false;for(let r in e)if(!(r in t))return false;return true}class Wo{constructor(t,e){this.toDOM=t;this.spec=e||Vo;this.side=this.spec.side||0}map(t,e,r,i){let{pos:n,deleted:s}=t.mapResult(e.from+i,this.side<0?-1:1);return s?null:new Zo(n-r,n-r,this)}valid(){return true}eq(t){return this==t||t instanceof Wo&&(this.spec.key&&this.spec.key==t.spec.key||this.toDOM==t.toDOM&&Lo(this.spec,t.spec))}destroy(t){if(this.spec.destroy)this.spec.destroy(t)}}class Uo{constructor(t,e){this.attrs=t;this.spec=e||Vo}map(t,e,r,i){let n=t.map(e.from+i,this.spec.inclusiveStart?-1:1)-r;let s=t.map(e.to+i,this.spec.inclusiveEnd?1:-1)-r;return n>=s?null:new Zo(n,s,this)}valid(t,e){return e.from<e.to}eq(t){return this==t||t instanceof Uo&&Lo(this.attrs,t.attrs)&&Lo(this.spec,t.spec)}static is(t){return t.type instanceof Uo}destroy(){}}class Ho{constructor(t,e){this.attrs=t;this.spec=e||Vo}map(t,e,r,i){let n=t.mapResult(e.from+i,1);if(n.deleted)return null;let s=t.mapResult(e.to+i,-1);if(s.deleted||s.pos<=n.pos)return null;return new Zo(n.pos-r,s.pos-r,this)}valid(t,e){let{index:r,offset:i}=t.content.findIndex(e.from),n;return i==e.from&&!(n=t.child(r)).isText&&i+n.nodeSize==e.to}eq(t){return this==t||t instanceof Ho&&Lo(this.attrs,t.attrs)&&Lo(this.spec,t.spec)}destroy(){}}class Zo{constructor(t,e,r){this.from=t;this.to=e;this.type=r}copy(t,e){return new Zo(t,e,this.type)}eq(t,e=0){return this.type.eq(t.type)&&this.from+e==t.from&&this.to+e==t.to}map(t,e,r){return this.type.map(t,this,e,r)}static widget(t,e,r){return new Zo(t,t,new Wo(e,r))}static inline(t,e,r,i){return new Zo(t,e,new Uo(r,i))}static node(t,e,r,i){return new Zo(t,e,new Ho(r,i))}get spec(){return this.type.spec}get inline(){return this.type instanceof Uo}get widget(){return this.type instanceof Wo}}const Ko=[],Vo={};class Go{constructor(t,e){this.local=t.length?t:Ko;this.children=e.length?e:Ko}static create(t,e){return e.length?nu(e,t,0,Vo):Xo}find(t,e,r){let i=[];this.findInner(t==null?0:t,e==null?1e9:e,i,0,r);return i}findInner(t,e,r,i,n){for(let s=0;s<this.local.length;s++){let l=this.local[s];if(l.from<=e&&l.to>=t&&(!n||n(l.spec)))r.push(l.copy(l.from+i,l.to+i))}for(let s=0;s<this.children.length;s+=3){if(this.children[s]<e&&this.children[s+1]>t){let l=this.children[s]+1;this.children[s+2].findInner(t-l,e-l,r,i+l,n)}}}map(t,e,r){if(this==Xo||t.maps.length==0)return this;return this.mapInner(t,e,0,0,r||Vo)}mapInner(t,e,r,i,n){let s;for(let l=0;l<this.local.length;l++){let o=this.local[l].map(t,r,i);if(o&&o.type.valid(e,o))(s||(s=[])).push(o);else if(n.onRemove)n.onRemove(this.local[l].spec)}if(this.children.length)return Qo(this.children,s||[],t,e,r,i,n);else return s?new Go(s.sort(su),Ko):Xo}add(t,e){if(!e.length)return this;if(this==Xo)return Go.create(t,e);return this.addInner(t,e,0)}addInner(t,e,r){let i,n=0;t.forEach(((t,s)=>{let l=s+r,o;if(!(o=ru(e,t,l)))return;if(!i)i=this.children.slice();while(n<i.length&&i[n]<s)n+=3;if(i[n]==s)i[n+2]=i[n+2].addInner(t,o,l+1);else i.splice(n,0,s,s+t.nodeSize,nu(o,t,l+1,Vo));n+=3}));let s=tu(n?iu(e):e,-r);for(let e=0;e<s.length;e++)if(!s[e].type.valid(t,s[e]))s.splice(e--,1);return new Go(s.length?this.local.concat(s).sort(su):this.local,i||this.children)}remove(t){if(t.length==0||this==Xo)return this;return this.removeInner(t,0)}removeInner(t,e){let r=this.children,i=this.local;for(let i=0;i<r.length;i+=3){let n;let s=r[i]+e,l=r[i+1]+e;for(let e=0,r;e<t.length;e++)if(r=t[e]){if(r.from>s&&r.to<l){t[e]=null;(n||(n=[])).push(r)}}if(!n)continue;if(r==this.children)r=this.children.slice();let o=r[i+2].removeInner(n,s+1);if(o!=Xo){r[i+2]=o}else{r.splice(i,3);i-=3}}if(i.length)for(let r=0,n;r<t.length;r++)if(n=t[r]){for(let t=0;t<i.length;t++)if(i[t].eq(n,e)){if(i==this.local)i=this.local.slice();i.splice(t--,1)}}if(r==this.children&&i==this.local)return this;return i.length||r.length?new Go(i,r):Xo}forChild(t,e){if(this==Xo)return this;if(e.isLeaf)return Go.empty;let r,i;for(let e=0;e<this.children.length;e+=3)if(this.children[e]>=t){if(this.children[e]==t)r=this.children[e+2];break}let n=t+1,s=n+e.content.size;for(let t=0;t<this.local.length;t++){let e=this.local[t];if(e.from<s&&e.to>n&&e.type instanceof Uo){let t=Math.max(n,e.from)-n,r=Math.min(s,e.to)-n;if(t<r)(i||(i=[])).push(e.copy(t,r))}}if(i){let t=new Go(i.sort(su),Ko);return r?new Yo([t,r]):t}return r||Xo}eq(t){if(this==t)return true;if(!(t instanceof Go)||this.local.length!=t.local.length||this.children.length!=t.children.length)return false;for(let e=0;e<this.local.length;e++)if(!this.local[e].eq(t.local[e]))return false;for(let e=0;e<this.children.length;e+=3)if(this.children[e]!=t.children[e]||this.children[e+1]!=t.children[e+1]||!this.children[e+2].eq(t.children[e+2]))return false;return true}locals(t){return lu(this.localsInner(t))}localsInner(t){if(this==Xo)return Ko;if(t.inlineContent||!this.local.some(Uo.is))return this.local;let e=[];for(let t=0;t<this.local.length;t++){if(!(this.local[t].type instanceof Uo))e.push(this.local[t])}return e}}Go.empty=new Go([],[]);Go.removeOverlap=lu;const Xo=Go.empty;class Yo{constructor(t){this.members=t}map(t,e){const r=this.members.map((r=>r.map(t,e,Vo)));return Yo.from(r)}forChild(t,e){if(e.isLeaf)return Go.empty;let r=[];for(let i=0;i<this.members.length;i++){let n=this.members[i].forChild(t,e);if(n==Xo)continue;if(n instanceof Yo)r=r.concat(n.members);else r.push(n)}return Yo.from(r)}eq(t){if(!(t instanceof Yo)||t.members.length!=this.members.length)return false;for(let e=0;e<this.members.length;e++)if(!this.members[e].eq(t.members[e]))return false;return true}locals(t){let e,r=true;for(let i=0;i<this.members.length;i++){let n=this.members[i].localsInner(t);if(!n.length)continue;if(!e){e=n}else{if(r){e=e.slice();r=false}for(let t=0;t<n.length;t++)e.push(n[t])}}return e?lu(r?e:e.sort(su)):Ko}static from(t){switch(t.length){case 0:return Xo;case 1:return t[0];default:return new Yo(t.every((t=>t instanceof Go))?t:t.reduce(((t,e)=>t.concat(e instanceof Go?e:e.members)),[]))}}}function Qo(t,e,r,i,n,s,l){let o=t.slice();for(let t=0,e=s;t<r.maps.length;t++){let i=0;r.maps[t].forEach(((t,r,n,s)=>{let l=s-n-(r-t);for(let n=0;n<o.length;n+=3){let s=o[n+1];if(s<0||t>s+e-i)continue;let u=o[n]+e-i;if(r>=u){o[n+1]=t<=u?-2:-1}else if(t>=e&&l){o[n]+=l;o[n+1]+=l}}i+=l}));e=r.maps[t].map(e,-1)}let u=false;for(let e=0;e<o.length;e+=3)if(o[e+1]<0){if(o[e+1]==-2){u=true;o[e+1]=-1;continue}let f=r.map(t[e]+s),h=f-n;if(h<0||h>=i.content.size){u=true;continue}let a=r.map(t[e+1]+s,-1),c=a-n;let{index:d,offset:p}=i.content.findIndex(h);let m=i.maybeChild(d);if(m&&p==h&&p+m.nodeSize==c){let i=o[e+2].mapInner(r,m,f+1,t[e]+s+1,l);if(i!=Xo){o[e]=h;o[e+1]=c;o[e+2]=i}else{o[e+1]=-2;u=true}}else{u=true}}if(u){let u=eu(o,t,e,r,n,s,l);let f=nu(u,i,0,l);e=f.local;for(let t=0;t<o.length;t+=3)if(o[t+1]<0){o.splice(t,3);t-=3}for(let t=0,e=0;t<f.children.length;t+=3){let r=f.children[t];while(e<o.length&&o[e]<r)e+=3;o.splice(e,0,f.children[t],f.children[t+1],f.children[t+2])}}return new Go(e.sort(su),o)}function tu(t,e){if(!e||!t.length)return t;let r=[];for(let i=0;i<t.length;i++){let n=t[i];r.push(new Zo(n.from+e,n.to+e,n.type))}return r}function eu(t,e,r,i,n,s,l){function o(t,e){for(let s=0;s<t.local.length;s++){let o=t.local[s].map(i,n,e);if(o)r.push(o);else if(l.onRemove)l.onRemove(t.local[s].spec)}for(let r=0;r<t.children.length;r+=3)o(t.children[r+2],t.children[r]+e+1)}for(let r=0;r<t.length;r+=3)if(t[r+1]==-1)o(t[r+2],e[r]+s+1);return r}function ru(t,e,r){if(e.isLeaf)return null;let i=r+e.nodeSize,n=null;for(let e=0,s;e<t.length;e++){if((s=t[e])&&s.from>r&&s.to<i){(n||(n=[])).push(s);t[e]=null}}return n}function iu(t){let e=[];for(let r=0;r<t.length;r++)if(t[r]!=null)e.push(t[r]);return e}function nu(t,e,r,i){let n=[],s=false;e.forEach(((e,l)=>{let o=ru(t,e,l+r);if(o){s=true;let t=nu(o,e,r+l+1,i);if(t!=Xo)n.push(l,l+e.nodeSize,t)}}));let l=tu(s?iu(t):t,-r).sort(su);for(let t=0;t<l.length;t++)if(!l[t].type.valid(e,l[t])){if(i.onRemove)i.onRemove(l[t].spec);l.splice(t--,1)}return l.length||n.length?new Go(l,n):Xo}function su(t,e){return t.from-e.from||t.to-e.to}function lu(t){let e=t;for(let r=0;r<e.length-1;r++){let i=e[r];if(i.from!=i.to)for(let n=r+1;n<e.length;n++){let s=e[n];if(s.from==i.from){if(s.to!=i.to){if(e==t)e=t.slice();e[n]=s.copy(s.from,i.to);ou(e,n+1,s.copy(i.to,s.to))}continue}else{if(s.from<i.to){if(e==t)e=t.slice();e[r]=i.copy(i.from,s.from);ou(e,n,i.copy(s.from,i.to))}break}}}return e}function ou(t,e,r){while(e<t.length&&su(r,t[e])>0)e++;t.splice(e,0,r)}function uu(t){let e=[];t.someProp("decorations",(r=>{let i=r(t.state);if(i&&i!=Xo)e.push(i)}));if(t.cursorWrapper)e.push(Go.create(t.state.doc,[t.cursorWrapper.deco]));return Yo.from(e)}const fu={childList:true,characterData:true,characterDataOldValue:true,attributes:true,attributeOldValue:true,subtree:true};const hu=Pn&&Jn<=11;class au{constructor(){this.anchorNode=null;this.anchorOffset=0;this.focusNode=null;this.focusOffset=0}set(t){this.anchorNode=t.anchorNode;this.anchorOffset=t.anchorOffset;this.focusNode=t.focusNode;this.focusOffset=t.focusOffset}clear(){this.anchorNode=this.focusNode=null}eq(t){return t.anchorNode==this.anchorNode&&t.anchorOffset==this.anchorOffset&&t.focusNode==this.focusNode&&t.focusOffset==this.focusOffset}}class cu{constructor(t,e){this.view=t;this.handleDOMChange=e;this.queue=[];this.flushingSoon=-1;this.observer=null;this.currentSelection=new au;this.onCharData=null;this.suppressingSelectionUpdates=false;this.observer=window.MutationObserver&&new window.MutationObserver((t=>{for(let e=0;e<t.length;e++)this.queue.push(t[e]);if(Pn&&Jn<=11&&t.some((t=>t.type=="childList"&&t.removedNodes.length||t.type=="characterData"&&t.oldValue.length>t.target.nodeValue.length)))this.flushSoon();else this.flush()}));if(hu){this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.prevValue});this.flushSoon()}}this.onSelectionChange=this.onSelectionChange.bind(this)}flushSoon(){if(this.flushingSoon<0)this.flushingSoon=window.setTimeout((()=>{this.flushingSoon=-1;this.flush()}),20)}forceFlush(){if(this.flushingSoon>-1){window.clearTimeout(this.flushingSoon);this.flushingSoon=-1;this.flush()}}start(){if(this.observer){this.observer.takeRecords();this.observer.observe(this.view.dom,fu)}if(this.onCharData)this.view.dom.addEventListener("DOMCharacterDataModified",this.onCharData);this.connectSelection()}stop(){if(this.observer){let t=this.observer.takeRecords();if(t.length){for(let e=0;e<t.length;e++)this.queue.push(t[e]);window.setTimeout((()=>this.flush()),20)}this.observer.disconnect()}if(this.onCharData)this.view.dom.removeEventListener("DOMCharacterDataModified",this.onCharData);this.disconnectSelection()}connectSelection(){this.view.dom.ownerDocument.addEventListener("selectionchange",this.onSelectionChange)}disconnectSelection(){this.view.dom.ownerDocument.removeEventListener("selectionchange",this.onSelectionChange)}suppressSelectionUpdates(){this.suppressingSelectionUpdates=true;setTimeout((()=>this.suppressingSelectionUpdates=false),50)}onSelectionChange(){if(!vl(this.view))return;if(this.suppressingSelectionUpdates)return al(this.view);if(Pn&&Jn<=11&&!this.view.state.selection.empty){let t=this.view.domSelectionRange();if(t.focusNode&&Mn(t.focusNode,t.focusOffset,t.anchorNode,t.anchorOffset))return this.flushSoon()}this.flush()}setCurSelection(){this.currentSelection.set(this.view.domSelectionRange())}ignoreSelectionChange(t){if(!t.focusNode)return true;let e=new Set,r;for(let r=t.focusNode;r;r=yn(r))e.add(r);for(let i=t.anchorNode;i;i=yn(i))if(e.has(i)){r=i;break}let i=r&&this.view.docView.nearestDesc(r);if(i&&i.ignoreMutation({type:"selection",target:r.nodeType==3?r.parentNode:r})){this.setCurSelection();return true}}pendingRecords(){if(this.observer)for(let t of this.observer.takeRecords())this.queue.push(t);return this.queue}flush(){let{view:t}=this;if(!t.docView||this.flushingSoon>-1)return;let e=this.pendingRecords();if(e.length)this.queue=[];let r=t.domSelectionRange();let i=!this.suppressingSelectionUpdates&&!this.currentSelection.eq(r)&&vl(t)&&!this.ignoreSelectionChange(r);let n=-1,s=-1,l=false,o=[];if(t.editable){for(let t=0;t<e.length;t++){let r=this.registerMutation(e[t],o);if(r){n=n<0?r.from:Math.min(r.from,n);s=s<0?r.to:Math.max(r.to,s);if(r.typeOver)l=true}}}if(Ln&&o.length>1){let t=o.filter((t=>t.nodeName=="BR"));if(t.length==2){let e=t[0],r=t[1];if(e.parentNode&&e.parentNode.parentNode==r.parentNode)r.remove();else e.remove()}}let u=null;if(n<0&&i&&t.input.lastFocus>Date.now()-200&&Math.max(t.input.lastTouch,t.input.lastClick.time)<Date.now()-300&&$n(r)&&(u=fl(t))&&u.eq(Ki.near(t.state.doc.resolve(0),1))){t.input.lastFocus=0;al(t);this.currentSelection.set(r);t.scrollToSelection()}else if(n>-1||i){if(n>-1){t.docView.markDirty(n,s);mu(t)}this.handleDOMChange(n,s,l,o);if(t.docView&&t.docView.dirty)t.updateState(t.state);else if(!this.currentSelection.eq(r))al(t);this.currentSelection.set(r)}}registerMutation(t,e){if(e.indexOf(t.target)>-1)return null;let r=this.view.docView.nearestDesc(t.target);if(t.type=="attributes"&&(r==this.view.docView||t.attributeName=="contenteditable"||t.attributeName=="style"&&!t.oldValue&&!t.target.getAttribute("style")))return null;if(!r||r.ignoreMutation(t))return null;if(t.type=="childList"){for(let r=0;r<t.addedNodes.length;r++)e.push(t.addedNodes[r]);if(r.contentDOM&&r.contentDOM!=r.dom&&!r.contentDOM.contains(t.target))return{from:r.posBefore,to:r.posAfter};let i=t.previousSibling,n=t.nextSibling;if(Pn&&Jn<=11&&t.addedNodes.length){for(let e=0;e<t.addedNodes.length;e++){let{previousSibling:r,nextSibling:s}=t.addedNodes[e];if(!r||Array.prototype.indexOf.call(t.addedNodes,r)<0)i=r;if(!s||Array.prototype.indexOf.call(t.addedNodes,s)<0)n=s}}let s=i&&i.parentNode==t.target?vn(i)+1:0;let l=r.localPosFromDOM(t.target,s,-1);let o=n&&n.parentNode==t.target?vn(n):t.target.childNodes.length;let u=r.localPosFromDOM(t.target,o,1);return{from:l,to:u}}else if(t.type=="attributes"){return{from:r.posAtStart-r.border,to:r.posAtEnd+r.border}}else{return{from:r.posAtStart,to:r.posAtEnd,typeOver:t.target.nodeValue==t.oldValue}}}}let du=new WeakMap;let pu=false;function mu(t){if(du.has(t))return;du.set(t,null);if(["normal","nowrap","pre-line"].indexOf(getComputedStyle(t.dom).whiteSpace)!==-1){t.requiresGeckoHackNode=Ln;if(pu)return;console["warn"]("ProseMirror expects the CSS white-space property to be set, preferably to 'pre-wrap'. It is recommended to load style/prosemirror.css from the prosemirror-view package.");pu=true}}function wu(t){let e;function r(t){t.preventDefault();t.stopImmediatePropagation();e=t.getTargetRanges()[0]}t.dom.addEventListener("beforeinput",r,true);document.execCommand("indent");t.dom.removeEventListener("beforeinput",r,true);let i=e.startContainer,n=e.startOffset;let s=e.endContainer,l=e.endOffset;let o=t.domAtPos(t.state.selection.anchor);if(Mn(o.node,o.offset,s,l))[i,n,s,l]=[s,l,i,n];return{anchorNode:i,anchorOffset:n,focusNode:s,focusOffset:l}}function gu(t,e,r){let{node:i,fromOffset:n,toOffset:s,from:l,to:o}=t.docView.parseRange(e,r);let u=t.domSelectionRange();let f;let h=u.anchorNode;if(h&&t.dom.contains(h.nodeType==1?h:h.parentNode)){f=[{node:h,offset:u.anchorOffset}];if(!$n(u))f.push({node:u.focusNode,offset:u.focusOffset})}if(Un&&t.input.lastKeyCode===8){for(let t=s;t>n;t--){let e=i.childNodes[t-1],r=e.pmViewDesc;if(e.nodeName=="BR"&&!r){s=t;break}if(!r||r.size)break}}let a=t.state.doc;let c=t.someProp("domParser")||wr.fromSchema(t.state.schema);let d=a.resolve(l);let p=null,m=c.parse(i,{topNode:d.parent,topMatch:d.parent.contentMatchAt(d.index()),topOpen:true,from:n,to:s,preserveWhitespace:d.parent.type.whitespace=="pre"?"full":true,findPositions:f,ruleFromNode:bu,context:d});if(f&&f[0].pos!=null){let t=f[0].pos,e=f[1]&&f[1].pos;if(e==null)e=t;p={anchor:t+l,head:e+l}}return{doc:m,sel:p,from:l,to:o}}function bu(t){let e=t.pmViewDesc;if(e){return e.parseRule()}else if(t.nodeName=="BR"&&t.parentNode){if(Zn&&/^(ul|ol)$/i.test(t.parentNode.nodeName)){let t=document.createElement("div");t.appendChild(document.createElement("li"));return{skip:t}}else if(t.parentNode.lastChild==t||Zn&&/^(tr|table)$/i.test(t.parentNode.nodeName)){return{ignore:true}}}else if(t.nodeName=="IMG"&&t.getAttribute("mark-placeholder")){return{ignore:true}}return null}const ku=/^(a|abbr|acronym|b|bd[io]|big|br|button|cite|code|data(list)?|del|dfn|em|i|ins|kbd|label|map|mark|meter|output|q|ruby|s|samp|small|span|strong|su[bp]|time|u|tt|var)$/i;function Du(t,e,r,i,n){let s=t.input.compositionPendingChanges||(t.composing?t.input.compositionID:0);t.input.compositionPendingChanges=0;if(e<0){let e=t.input.lastSelectionTime>Date.now()-50?t.input.lastSelectionOrigin:null;let r=fl(t,e);if(r&&!t.state.selection.eq(r)){if(Un&&Xn&&t.input.lastKeyCode===13&&Date.now()-100<t.input.lastKeyCodeTime&&t.someProp("handleKeyDown",(e=>e(t,_n(13,"Enter")))))return;let i=t.state.tr.setSelection(r);if(e=="pointer")i.setMeta("pointer",true);else if(e=="key")i.scrollIntoView();if(s)i.setMeta("composition",s);t.dispatch(i)}return}let l=t.state.doc.resolve(e);let o=l.sharedDepth(r);e=l.before(o+1);r=t.state.doc.resolve(r).after(o+1);let u=t.state.selection;let f=gu(t,e,r);let h=t.state.doc,a=h.slice(f.from,f.to);let c,d;if(t.input.lastKeyCode===8&&Date.now()-100<t.input.lastKeyCodeTime){c=t.state.selection.to;d="end"}else{c=t.state.selection.from;d="start"}t.input.lastKeyCode=null;let p=Mu(a.content,f.doc.content,f.from,c,d);if((Kn&&t.input.lastIOSEnter>Date.now()-225||Xn)&&n.some((t=>t.nodeType==1&&!ku.test(t.nodeName)))&&(!p||p.endA>=p.endB)&&t.someProp("handleKeyDown",(e=>e(t,_n(13,"Enter"))))){t.input.lastIOSEnter=0;return}if(!p){if(i&&u instanceof Yi&&!u.empty&&u.$head.sameParent(u.$anchor)&&!t.composing&&!(f.sel&&f.sel.anchor!=f.sel.head)){p={start:u.from,endA:u.to,endB:u.to}}else{if(f.sel){let e=vu(t,t.state.doc,f.sel);if(e&&!e.eq(t.state.selection)){let r=t.state.tr.setSelection(e);if(s)r.setMeta("composition",s);t.dispatch(r)}}return}}if(Un&&t.cursorWrapper&&f.sel&&f.sel.anchor==t.cursorWrapper.deco.from&&f.sel.head==f.sel.anchor){let t=p.endB-p.start;f.sel={anchor:f.sel.anchor+t,head:f.sel.anchor+t}}t.input.domChangeCount++;if(t.state.selection.from<t.state.selection.to&&p.start==p.endB&&t.state.selection instanceof Yi){if(p.start>t.state.selection.from&&p.start<=t.state.selection.from+2&&t.state.selection.from>=f.from){p.start=t.state.selection.from}else if(p.endA<t.state.selection.to&&p.endA>=t.state.selection.to-2&&t.state.selection.to<=f.to){p.endB+=t.state.selection.to-p.endA;p.endA=t.state.selection.to}}if(Pn&&Jn<=11&&p.endB==p.start+1&&p.endA==p.start&&p.start>f.from&&f.doc.textBetween(p.start-f.from-1,p.start-f.from+1)==" "){p.start--;p.endA--;p.endB--}let m=f.doc.resolveNoCache(p.start-f.from);let w=f.doc.resolveNoCache(p.endB-f.from);let g=h.resolve(p.start);let b=m.sameParent(w)&&m.parent.inlineContent&&g.end()>=p.endA;let k;if((Kn&&t.input.lastIOSEnter>Date.now()-225&&(!b||n.some((t=>t.nodeName=="DIV"||t.nodeName=="P")))||!b&&m.pos<f.doc.content.size&&!m.sameParent(w)&&(k=Ki.findFrom(f.doc.resolve(m.pos+1),1,true))&&k.head==w.pos)&&t.someProp("handleKeyDown",(e=>e(t,_n(13,"Enter"))))){t.input.lastIOSEnter=0;return}if(t.state.selection.anchor>p.start&&Fu(h,p.start,p.endA,m,w)&&t.someProp("handleKeyDown",(e=>e(t,_n(8,"Backspace"))))){if(Xn&&Un)t.domObserver.suppressSelectionUpdates();return}if(Un&&Xn&&p.endB==p.start)t.input.lastAndroidDelete=Date.now();if(Xn&&!b&&m.start()!=w.start()&&w.parentOffset==0&&m.depth==w.depth&&f.sel&&f.sel.anchor==f.sel.head&&f.sel.head==p.endA){p.endB-=2;w=f.doc.resolveNoCache(p.endB-f.from);setTimeout((()=>{t.someProp("handleKeyDown",(function(e){return e(t,_n(13,"Enter"))}))}),20)}let D=p.start,v=p.endA;let y,F,E;if(b){if(m.pos==w.pos){if(Pn&&Jn<=11&&m.parentOffset==0){t.domObserver.suppressSelectionUpdates();setTimeout((()=>al(t)),20)}y=t.state.tr.delete(D,v);F=h.resolve(p.start).marksAcross(h.resolve(p.endA))}else if(p.endA==p.endB&&(E=yu(m.parent.content.cut(m.parentOffset,w.parentOffset),g.parent.content.cut(g.parentOffset,p.endA-g.start())))){y=t.state.tr;if(E.type=="add")y.addMark(D,v,E.mark);else y.removeMark(D,v,E.mark)}else if(m.parent.child(m.index()).isText&&m.index()==w.index()-(w.textOffset?0:1)){let e=m.parent.textBetween(m.parentOffset,w.parentOffset);if(t.someProp("handleTextInput",(r=>r(t,D,v,e))))return;y=t.state.tr.insertText(e,D,v)}}if(!y)y=t.state.tr.replace(D,v,f.doc.slice(p.start-f.from,p.endB-f.from));if(f.sel){let e=vu(t,y.doc,f.sel);if(e&&!(Un&&Xn&&t.composing&&e.empty&&(p.start!=p.endB||t.input.lastAndroidDelete<Date.now()-100)&&(e.head==D||e.head==y.mapping.map(v)-1)||Pn&&e.empty&&e.head==D))y.setSelection(e)}if(F)y.ensureMarks(F);if(s)y.setMeta("composition",s);t.dispatch(y.scrollIntoView())}function vu(t,e,r){if(Math.max(r.anchor,r.head)>e.content.size)return null;return Dl(t,e.resolve(r.anchor),e.resolve(r.head))}function yu(t,e){let r=t.firstChild.marks,i=e.firstChild.marks;let n=r,s=i,l,o,u;for(let t=0;t<i.length;t++)n=i[t].removeFromSet(n);for(let t=0;t<r.length;t++)s=r[t].removeFromSet(s);if(n.length==1&&s.length==0){o=n[0];l="add";u=t=>t.mark(o.addToSet(t.marks))}else if(n.length==0&&s.length==1){o=s[0];l="remove";u=t=>t.mark(o.removeFromSet(t.marks))}else{return null}let f=[];for(let t=0;t<e.childCount;t++)f.push(u(e.child(t)));if(we.from(f).eq(t))return{mark:o,type:l}}function Fu(t,e,r,i,n){if(!i.parent.isTextblock||r-e<=n.pos-i.pos||Eu(i,true,false)<n.pos)return false;let s=t.resolve(e);if(s.parentOffset<s.parent.content.size||!s.parent.isTextblock)return false;let l=t.resolve(Eu(s,true,true));if(!l.parent.isTextblock||l.pos>r||Eu(l,true,false)<r)return false;return i.parent.content.cut(i.parentOffset).eq(l.parent.content)}function Eu(t,e,r){let i=t.depth,n=e?t.end():t.pos;while(i>0&&(e||t.indexAfter(i)==t.node(i).childCount)){i--;n++;e=false}if(r){let e=t.node(i).maybeChild(t.indexAfter(i));while(e&&!e.isLeaf){e=e.firstChild;n++}}return n}function Mu(t,e,r,i,n){let s=t.findDiffStart(e,r);if(s==null)return null;let{a:l,b:o}=t.findDiffEnd(e,r+t.size,r+e.size);if(n=="end"){let t=Math.max(0,s-Math.min(l,o));i-=l+t-s}if(l<s&&t.size<e.size){let t=i<=s&&i>=l?s-i:0;s-=t;if(s&&s<e.size&&xu(e.textBetween(s-1,s+1)))s+=t?1:-1;o=s+(o-l);l=s}else if(o<s){let e=i<=s&&i>=o?s-i:0;s-=e;if(s&&s<t.size&&xu(t.textBetween(s-1,s+1)))s+=e?1:-1;l=s+(l-o);o=s}return{start:s,endA:l,endB:o}}function xu(t){if(t.length!=2)return false;let e=t.charCodeAt(0),r=t.charCodeAt(1);return e>=56320&&e<=57343&&r>=55296&&r<=56319}class Au{constructor(t,e){this._root=null;this.focused=false;this.trackWrites=null;this.mounted=false;this.markCursor=null;this.cursorWrapper=null;this.lastSelectedViewDesc=undefined;this.input=new oo;this.prevDirectPlugins=[];this.pluginViews=[];this.requiresGeckoHackNode=false;this.dragging=null;this._props=e;this.state=e.state;this.directPlugins=e.plugins||[];this.directPlugins.forEach(Ru);this.dispatch=this.dispatch.bind(this);this.dom=t&&t.mount||document.createElement("div");if(t){if(t.appendChild)t.appendChild(this.dom);else if(typeof t=="function")t(this.dom);else if(t.mount)this.mounted=true}this.editable=Ou(this);Su(this);this.nodeViews=_u(this);this.docView=Js(this.state.doc,Cu(this),uu(this),this.dom,this);this.domObserver=new cu(this,((t,e,r,i)=>Du(this,t,e,r,i)));this.domObserver.start();uo(this);this.updatePluginViews()}get composing(){return this.input.composing}get props(){if(this._props.state!=this.state){let t=this._props;this._props={};for(let e in t)this._props[e]=t[e];this._props.state=this.state}return this._props}update(t){if(t.handleDOMEvents!=this._props.handleDOMEvents)ao(this);let e=this._props;this._props=t;if(t.plugins){t.plugins.forEach(Ru);this.directPlugins=t.plugins}this.updateStateInner(t.state,e)}setProps(t){let e={};for(let t in this._props)e[t]=this._props[t];e.state=this.state;for(let r in t)e[r]=t[r];this.update(e)}updateState(t){this.updateStateInner(t,this._props)}updateStateInner(t,e){var r;let i=this.state,n=false,s=false;if(t.storedMarks&&this.composing){_o(this);s=true}this.state=t;let l=i.plugins!=t.plugins||this._props.plugins!=e.plugins;if(l||this._props.plugins!=e.plugins||this._props.nodeViews!=e.nodeViews){let t=_u(this);if(Bu(t,this.nodeViews)){this.nodeViews=t;n=true}}if(l||e.handleDOMEvents!=this._props.handleDOMEvents){ao(this)}this.editable=Ou(this);Su(this);let o=uu(this),u=Cu(this);let f=i.plugins!=t.plugins&&!i.doc.eq(t.doc)?"reset":t.scrollToSelection>i.scrollToSelection?"to selection":"preserve";let h=n||!this.docView.matchesNode(t.doc,u,o);if(h||!t.selection.eq(i.selection))s=true;let a=f=="preserve"&&s&&this.dom.style.overflowAnchor==null&&ns(this);if(s){this.domObserver.stop();let e=h&&(Pn||Un)&&!this.composing&&!i.selection.empty&&!t.selection.empty&&$u(i.selection,t.selection);if(h){let r=Un?this.trackWrites=this.domSelectionRange().focusNode:null;if(n||!this.docView.update(t.doc,u,o,this)){this.docView.updateOuterDeco([]);this.docView.destroy();this.docView=Js(t.doc,u,o,this.dom,this)}if(r&&!this.trackWrites)e=true}if(e||!(this.input.mouseDown&&this.domObserver.currentSelection.eq(this.domSelectionRange())&&Fl(this))){al(this,e)}else{bl(this,t.selection);this.domObserver.setCurSelection()}this.domObserver.start()}this.updatePluginViews(i);if(((r=this.dragging)===null||r===void 0?void 0:r.node)&&!i.doc.eq(t.doc))this.updateDraggedNode(this.dragging,i);if(f=="reset"){this.dom.scrollTop=0}else if(f=="to selection"){this.scrollToSelection()}else if(a){ls(a)}}scrollToSelection(){let t=this.domSelectionRange().focusNode;if(this.someProp("handleScrollToSelection",(t=>t(this))));else if(this.state.selection instanceof tn){let e=this.docView.domAfterPos(this.state.selection.from);if(e.nodeType==1)is(this,e.getBoundingClientRect(),t)}else{is(this,this.coordsAtPos(this.state.selection.head,1),t)}}destroyPluginViews(){let t;while(t=this.pluginViews.pop())if(t.destroy)t.destroy()}updatePluginViews(t){if(!t||t.plugins!=this.state.plugins||this.directPlugins!=this.prevDirectPlugins){this.prevDirectPlugins=this.directPlugins;this.destroyPluginViews();for(let t=0;t<this.directPlugins.length;t++){let e=this.directPlugins[t];if(e.spec.view)this.pluginViews.push(e.spec.view(this))}for(let t=0;t<this.state.plugins.length;t++){let e=this.state.plugins[t];if(e.spec.view)this.pluginViews.push(e.spec.view(this))}}else{for(let e=0;e<this.pluginViews.length;e++){let r=this.pluginViews[e];if(r.update)r.update(this,t)}}}updateDraggedNode(t,e){let r=t.node,i=-1;if(this.state.doc.nodeAt(r.from)==r.node){i=r.from}else{let t=r.from+(this.state.doc.content.size-e.doc.content.size);let n=t>0&&this.state.doc.nodeAt(t);if(n==r.node)i=t}this.dragging=new Po(t.slice,t.move,i<0?undefined:tn.create(this.state.doc,i))}someProp(t,e){let r=this._props&&this._props[t],i;if(r!=null&&(i=e?e(r):r))return i;for(let r=0;r<this.directPlugins.length;r++){let n=this.directPlugins[r].props[t];if(n!=null&&(i=e?e(n):n))return i}let n=this.state.plugins;if(n)for(let r=0;r<n.length;r++){let s=n[r].props[t];if(s!=null&&(i=e?e(s):s))return i}}hasFocus(){if(Pn){let t=this.root.activeElement;if(t==this.dom)return true;if(!t||!this.dom.contains(t))return false;while(t&&this.dom!=t&&this.dom.contains(t)){if(t.contentEditable=="false")return false;t=t.parentElement}return true}return this.root.activeElement==this.dom}focus(){this.domObserver.stop();if(this.editable)hs(this.dom);al(this);this.domObserver.start()}get root(){let t=this._root;if(t==null)for(let t=this.dom.parentNode;t;t=t.parentNode){if(t.nodeType==9||t.nodeType==11&&t.host){if(!t.getSelection)Object.getPrototypeOf(t).getSelection=()=>t.ownerDocument.getSelection();return this._root=t}}return t||document}updateRoot(){this._root=null}posAtCoords(t){return bs(this,t)}coordsAtPos(t,e=1){return ys(this,t,e)}domAtPos(t,e=0){return this.docView.domFromPos(t,e)}nodeDOM(t){let e=this.docView.descAt(t);return e?e.nodeDOM:null}posAtDOM(t,e,r=-1){let i=this.docView.posFromDOM(t,e,r);if(i==null)throw new RangeError("DOM position not inside the editor");return i}endOfTextblock(t,e){return _s(this,e||this.state,t)}pasteHTML(t,e){return To(this,"",t,false,e||new ClipboardEvent("paste"))}pasteText(t,e){return To(this,t,null,true,e||new ClipboardEvent("paste"))}destroy(){if(!this.docView)return;ho(this);this.destroyPluginViews();if(this.mounted){this.docView.update(this.state.doc,[],uu(this),this);this.dom.textContent=""}else if(this.dom.parentNode){this.dom.parentNode.removeChild(this.dom)}this.docView.destroy();this.docView=null}get isDestroyed(){return this.docView==null}dispatchEvent(t){return mo(this,t)}dispatch(t){let e=this._props.dispatchTransaction;if(e)e.call(this,t);else this.updateState(this.state.apply(t))}domSelectionRange(){return Zn&&this.root.nodeType===11&&Bn(this.dom.ownerDocument)==this.dom?wu(this):this.domSelection()}domSelection(){return this.root.getSelection()}}function Cu(t){let e=Object.create(null);e.class="ProseMirror";e.contenteditable=String(t.editable);t.someProp("attributes",(r=>{if(typeof r=="function")r=r(t.state);if(r)for(let t in r){if(t=="class")e.class+=" "+r[t];else if(t=="style")e.style=(e.style?e.style+";":"")+r[t];else if(!e[t]&&t!="contenteditable"&&t!="nodeName")e[t]=String(r[t])}}));if(!e.translate)e.translate="no";return[Zo.node(0,t.state.doc.content.size,e)]}function Su(t){if(t.markCursor){let e=document.createElement("img");e.className="ProseMirror-separator";e.setAttribute("mark-placeholder","true");e.setAttribute("alt","");t.cursorWrapper={dom:e,deco:Zo.widget(t.state.selection.head,e,{raw:true,marks:t.markCursor})}}else{t.cursorWrapper=null}}function Ou(t){return!t.someProp("editable",(e=>e(t.state)===false))}function $u(t,e){let r=Math.min(t.$anchor.sharedDepth(t.head),e.$anchor.sharedDepth(e.head));return t.$anchor.start(r)!=e.$anchor.start(r)}function _u(t){let e=Object.create(null);function r(t){for(let r in t)if(!Object.prototype.hasOwnProperty.call(e,r))e[r]=t[r]}t.someProp("nodeViews",r);t.someProp("markViews",r);return e}function Bu(t,e){let r=0,i=0;for(let i in t){if(t[i]!=e[i])return true;r++}for(let t in e)i++;return r!=i}function Ru(t){if(t.spec.state||t.spec.filterTransaction||t.spec.appendTransaction)throw new RangeError("Plugins passed directly to the view must not have a state component")}const ju=["p",0],Nu=["blockquote",0],qu=["hr"],zu=["pre",["code",0]],Tu=["br"];const Iu={doc:{content:"block+"},paragraph:{content:"inline*",group:"block",parseDOM:[{tag:"p"}],toDOM(){return ju}},blockquote:{content:"block+",group:"block",defining:true,parseDOM:[{tag:"blockquote"}],toDOM(){return Nu}},horizontal_rule:{group:"block",parseDOM:[{tag:"hr"}],toDOM(){return qu}},heading:{attrs:{level:{default:1,validate:"number"}},content:"inline*",group:"block",defining:true,parseDOM:[{tag:"h1",attrs:{level:1}},{tag:"h2",attrs:{level:2}},{tag:"h3",attrs:{level:3}},{tag:"h4",attrs:{level:4}},{tag:"h5",attrs:{level:5}},{tag:"h6",attrs:{level:6}}],toDOM(t){return["h"+t.attrs.level,0]}},code_block:{content:"text*",marks:"",group:"block",code:true,defining:true,parseDOM:[{tag:"pre",preserveWhitespace:"full"}],toDOM(){return zu}},text:{group:"inline"},image:{inline:true,attrs:{src:{validate:"string"},alt:{default:null,validate:"string|null"},title:{default:null,validate:"string|null"}},group:"inline",draggable:true,parseDOM:[{tag:"img[src]",getAttrs(t){return{src:t.getAttribute("src"),title:t.getAttribute("title"),alt:t.getAttribute("alt")}}}],toDOM(t){let{src:e,alt:r,title:i}=t.attrs;return["img",{src:e,alt:r,title:i}]}},hard_break:{inline:true,group:"inline",selectable:false,parseDOM:[{tag:"br"}],toDOM(){return Tu}}};const Pu=["em",0],Ju=["strong",0],Lu=["code",0];const Wu={link:{attrs:{href:{validate:"string"},title:{default:null,validate:"string|null"}},inclusive:false,parseDOM:[{tag:"a[href]",getAttrs(t){return{href:t.getAttribute("href"),title:t.getAttribute("title")}}}],toDOM(t){let{href:e,title:r}=t.attrs;return["a",{href:e,title:r},0]}},em:{parseDOM:[{tag:"i"},{tag:"em"},{style:"font-style=italic"},{style:"font-style=normal",clearMark:t=>t.type.name=="em"}],toDOM(){return Pu}},strong:{parseDOM:[{tag:"strong"},{tag:"b",getAttrs:t=>t.style.fontWeight!="normal"&&null},{style:"font-weight=400",clearMark:t=>t.type.name=="strong"},{style:"font-weight",getAttrs:t=>/^(bold(er)?|[5-9]\d{2,})$/.test(t)&&null}],toDOM(){return Ju}},code:{parseDOM:[{tag:"code"}],toDOM(){return Lu}}};const Uu=new cr({nodes:Iu,marks:Wu});const Hu=["ol",0],Zu=["ul",0],Ku=["li",0];const Vu={attrs:{order:{default:1}},parseDOM:[{tag:"ol",getAttrs(t){return{order:t.hasAttribute("start")?+t.getAttribute("start"):1}}}],toDOM(t){return t.attrs.order==1?Hu:["ol",{start:t.attrs.order},0]}};const Gu={parseDOM:[{tag:"ul"}],toDOM(){return Zu}};const Xu={parseDOM:[{tag:"li"}],toDOM(){return Ku},defining:true};function Yu(t,e){let r={};for(let e in t)r[e]=t[e];for(let t in e)r[t]=e[t];return r}function Qu(t,e,r){return t.append({ordered_list:Yu(Vu,{content:"list_item+",group:r}),bullet_list:Yu(Gu,{content:"list_item+",group:r}),list_item:Yu(Xu,{content:e})})}function tf(t,e=null){return function(r,i){let{$from:n,$to:s}=r.selection;let l=n.blockRange(s),o=false,u=l;if(!l)return false;if(l.depth>=2&&n.node(l.depth-1).type.compatibleContent(t)&&l.startIndex==0){if(n.index(l.depth-1)==0)return false;let t=r.doc.resolve(l.start-2);u=new Te(t,t,l.depth);if(l.endIndex<l.parent.childCount)l=new Te(n,r.doc.resolve(s.end(l.depth)),l.depth);o=true}let f=ci(u,t,e,l);if(!f)return false;if(i)i(ef(r.tr,l,f,o,t).scrollIntoView());return true}}function ef(t,e,r,i,n){let s=we.empty;for(let t=r.length-1;t>=0;t--)s=we.from(r[t].type.create(r[t].attrs,s));t.step(new ni(e.start-(i?2:0),e.end,e.start,e.end,new ye(s,0,0),r.length,true));let l=0;for(let t=0;t<r.length;t++)if(r[t].type==n)l=t+1;let o=r.length-l;let u=e.start+r.length-(i?2:0),f=e.parent;for(let r=e.startIndex,i=e.endIndex,n=true;r<i;r++,n=false){if(!n&&Di(t.doc,u,o)){t.split(u,o);u+=2*o}u+=f.child(r).nodeSize}return t}function rf(t,e){return function(r,i){let{$from:n,$to:s,node:l}=r.selection;if(l&&l.isBlock||n.depth<2||!n.sameParent(s))return false;let o=n.node(-1);if(o.type!=t)return false;if(n.parent.content.size==0&&n.node(-1).childCount==n.indexAfter(-1)){if(n.depth==3||n.node(-3).type!=t||n.index(-2)!=n.node(-2).childCount-1)return false;if(i){let e=we.empty;let s=n.index(-1)?1:n.index(-2)?2:3;for(let t=n.depth-s;t>=n.depth-3;t--)e=we.from(n.node(t).copy(e));let l=n.indexAfter(-1)<n.node(-2).childCount?1:n.indexAfter(-2)<n.node(-3).childCount?2:3;e=e.append(we.from(t.createAndFill()));let o=n.before(n.depth-(s-1));let u=r.tr.replace(o,n.after(-l),new ye(e,4-s,0));let f=-1;u.doc.nodesBetween(o,u.doc.content.size,((t,e)=>{if(f>-1)return false;if(t.isTextblock&&t.content.size==0)f=e+1}));if(f>-1)u.setSelection(Ki.near(u.doc.resolve(f)));i(u.scrollIntoView())}return true}let u=s.pos==n.end()?o.contentMatchAt(0).defaultType:null;let f=r.tr.delete(n.pos,s.pos);let h=u?[e?{type:t,attrs:e}:null,{type:u}]:undefined;if(!Di(f.doc,n.pos,2,h))return false;if(i)i(f.split(n.pos,2,h).scrollIntoView());return true}}function nf(t){return function(e,r){let{$from:i,$to:n}=e.selection;let s=i.blockRange(n,(e=>e.childCount>0&&e.firstChild.type==t));if(!s)return false;if(!r)return true;if(i.node(s.depth-1).type==t)return sf(e,r,t,s);else return lf(e,r,s)}}function sf(t,e,r,i){let n=t.tr,s=i.end,l=i.$to.end(i.depth);if(s<l){n.step(new ni(s-1,l,s,l,new ye(we.from(r.create(null,i.parent.copy())),1,0),1,true));i=new Te(n.doc.resolve(i.$from.pos),n.doc.resolve(l),i.depth)}const o=hi(i);if(o==null)return false;n.lift(i,o);let u=n.mapping.map(s,-1)-1;if(yi(n.doc,u))n.join(u);e(n.scrollIntoView());return true}function lf(t,e,r){let i=t.tr,n=r.parent;for(let t=r.end,e=r.endIndex-1,s=r.startIndex;e>s;e--){t-=n.child(e).nodeSize;i.delete(t-1,t+1)}let s=i.doc.resolve(r.start),l=s.nodeAfter;if(i.mapping.map(r.end)!=r.start+s.nodeAfter.nodeSize)return false;let o=r.startIndex==0,u=r.endIndex==n.childCount;let f=s.node(-1),h=s.index(-1);if(!f.canReplace(h+(o?0:1),h+1,l.content.append(u?we.empty:we.from(n))))return false;let a=s.pos,c=a+l.nodeSize;i.step(new ni(a-(o?1:0),c+(u?1:0),a+1,c-1,new ye((o?we.empty:we.from(n.copy(we.empty))).append(u?we.empty:we.from(n.copy(we.empty))),o?0:1,u?0:1),o?0:1));e(i.scrollIntoView());return true}function of(t){return function(e,r){let{$from:i,$to:n}=e.selection;let s=i.blockRange(n,(e=>e.childCount>0&&e.firstChild.type==t));if(!s)return false;let l=s.startIndex;if(l==0)return false;let o=s.parent,u=o.child(l-1);if(u.type!=t)return false;if(r){let i=u.lastChild&&u.lastChild.type==o.type;let n=we.from(i?t.create():null);let l=new ye(we.from(t.create(null,we.from(o.type.create(null,n)))),i?3:1,0);let f=s.start,h=s.end;r(e.tr.step(new ni(f-(i?3:1),h,f,h,l,1,true)).scrollIntoView())}return true}}var uf={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:"'"};var ff={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'};var hf=typeof navigator!="undefined"&&/Mac/.test(navigator.platform);var af=typeof navigator!="undefined"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(var cf=0;cf<10;cf++)uf[48+cf]=uf[96+cf]=String(cf);for(var cf=1;cf<=24;cf++)uf[cf+111]="F"+cf;for(var cf=65;cf<=90;cf++){uf[cf]=String.fromCharCode(cf+32);ff[cf]=String.fromCharCode(cf)}for(var df in uf)if(!ff.hasOwnProperty(df))ff[df]=uf[df];function pf(t){var e=hf&&t.metaKey&&t.shiftKey&&!t.ctrlKey&&!t.altKey||af&&t.shiftKey&&t.key&&t.key.length==1||t.key=="Unidentified";var r=!e&&t.key||(t.shiftKey?ff:uf)[t.keyCode]||t.key||"Unidentified";if(r=="Esc")r="Escape";if(r=="Del")r="Delete";if(r=="Left")r="ArrowLeft";if(r=="Up")r="ArrowUp";if(r=="Right")r="ArrowRight";if(r=="Down")r="ArrowDown";return r}const mf=typeof navigator!="undefined"?/Mac|iP(hone|[oa]d)/.test(navigator.platform):false;function wf(t){let e=t.split(/-(?!$)/),r=e[e.length-1];if(r=="Space")r=" ";let i,n,s,l;for(let t=0;t<e.length-1;t++){let r=e[t];if(/^(cmd|meta|m)$/i.test(r))l=true;else if(/^a(lt)?$/i.test(r))i=true;else if(/^(c|ctrl|control)$/i.test(r))n=true;else if(/^s(hift)?$/i.test(r))s=true;else if(/^mod$/i.test(r)){if(mf)l=true;else n=true}else throw new Error("Unrecognized modifier name: "+r)}if(i)r="Alt-"+r;if(n)r="Ctrl-"+r;if(l)r="Meta-"+r;if(s)r="Shift-"+r;return r}function gf(t){let e=Object.create(null);for(let r in t)e[wf(r)]=t[r];return e}function bf(t,e,r=true){if(e.altKey)t="Alt-"+t;if(e.ctrlKey)t="Ctrl-"+t;if(e.metaKey)t="Meta-"+t;if(r&&e.shiftKey)t="Shift-"+t;return t}function kf(t){return new gn({props:{handleKeyDown:Df(t)}})}function Df(t){let e=gf(t);return function(t,r){let i=pf(r),n,s=e[bf(i,r)];if(s&&s(t.state,t.dispatch,t))return true;if(i.length==1&&i!=" "){if(r.shiftKey){let n=e[bf(i,r,false)];if(n&&n(t.state,t.dispatch,t))return true}if((r.shiftKey||r.altKey||r.metaKey||i.charCodeAt(0)>127)&&(n=uf[r.keyCode])&&n!=i){let i=e[bf(n,r)];if(i&&i(t.state,t.dispatch,t))return true}}return false}}var vf=200;var yf=function t(){};yf.prototype.append=function t(e){if(!e.length){return this}e=yf.from(e);return!this.length&&e||e.length<vf&&this.leafAppend(e)||this.length<vf&&e.leafPrepend(this)||this.appendInner(e)};yf.prototype.prepend=function t(e){if(!e.length){return this}return yf.from(e).append(this)};yf.prototype.appendInner=function t(e){return new Ef(this,e)};yf.prototype.slice=function t(e,r){if(e===void 0)e=0;if(r===void 0)r=this.length;if(e>=r){return yf.empty}return this.sliceInner(Math.max(0,e),Math.min(this.length,r))};yf.prototype.get=function t(e){if(e<0||e>=this.length){return undefined}return this.getInner(e)};yf.prototype.forEach=function t(e,r,i){if(r===void 0)r=0;if(i===void 0)i=this.length;if(r<=i){this.forEachInner(e,r,i,0)}else{this.forEachInvertedInner(e,r,i,0)}};yf.prototype.map=function t(e,r,i){if(r===void 0)r=0;if(i===void 0)i=this.length;var n=[];this.forEach((function(t,r){return n.push(e(t,r))}),r,i);return n};yf.from=function t(e){if(e instanceof yf){return e}return e&&e.length?new Ff(e):yf.empty};var Ff=function(t){function e(e){t.call(this);this.values=e}if(t)e.__proto__=t;e.prototype=Object.create(t&&t.prototype);e.prototype.constructor=e;var r={length:{configurable:true},depth:{configurable:true}};e.prototype.flatten=function t(){return this.values};e.prototype.sliceInner=function t(r,i){if(r==0&&i==this.length){return this}return new e(this.values.slice(r,i))};e.prototype.getInner=function t(e){return this.values[e]};e.prototype.forEachInner=function t(e,r,i,n){for(var s=r;s<i;s++){if(e(this.values[s],n+s)===false){return false}}};e.prototype.forEachInvertedInner=function t(e,r,i,n){for(var s=r-1;s>=i;s--){if(e(this.values[s],n+s)===false){return false}}};e.prototype.leafAppend=function t(r){if(this.length+r.length<=vf){return new e(this.values.concat(r.flatten()))}};e.prototype.leafPrepend=function t(r){if(this.length+r.length<=vf){return new e(r.flatten().concat(this.values))}};r.length.get=function(){return this.values.length};r.depth.get=function(){return 0};Object.defineProperties(e.prototype,r);return e}(yf);yf.empty=new Ff([]);var Ef=function(t){function e(e,r){t.call(this);this.left=e;this.right=r;this.length=e.length+r.length;this.depth=Math.max(e.depth,r.depth)+1}if(t)e.__proto__=t;e.prototype=Object.create(t&&t.prototype);e.prototype.constructor=e;e.prototype.flatten=function t(){return this.left.flatten().concat(this.right.flatten())};e.prototype.getInner=function t(e){return e<this.left.length?this.left.get(e):this.right.get(e-this.left.length)};e.prototype.forEachInner=function t(e,r,i,n){var s=this.left.length;if(r<s&&this.left.forEachInner(e,r,Math.min(i,s),n)===false){return false}if(i>s&&this.right.forEachInner(e,Math.max(r-s,0),Math.min(this.length,i)-s,n+s)===false){return false}};e.prototype.forEachInvertedInner=function t(e,r,i,n){var s=this.left.length;if(r>s&&this.right.forEachInvertedInner(e,r-s,Math.max(i,s)-s,n+s)===false){return false}if(i<s&&this.left.forEachInvertedInner(e,Math.min(r,s),i,n)===false){return false}};e.prototype.sliceInner=function t(e,r){if(e==0&&r==this.length){return this}var i=this.left.length;if(r<=i){return this.left.slice(e,r)}if(e>=i){return this.right.slice(e-i,r-i)}return this.left.slice(e,i).append(this.right.slice(0,r-i))};e.prototype.leafAppend=function t(r){var i=this.right.leafAppend(r);if(i){return new e(this.left,i)}};e.prototype.leafPrepend=function t(r){var i=this.left.leafPrepend(r);if(i){return new e(i,this.right)}};e.prototype.appendInner=function t(r){if(this.left.depth>=Math.max(this.right.depth,r.depth)+1){return new e(this.left,new e(this.right,r))}return new e(this,r)};return e}(yf);const Mf=500;class xf{constructor(t,e){this.items=t;this.eventCount=e}popEvent(t,e){if(this.eventCount==0)return null;let r=this.items.length;for(;;r--){let t=this.items.get(r-1);if(t.selection){--r;break}}let i,n;if(e){i=this.remapping(r,this.items.length);n=i.maps.length}let s=t.tr;let l,o;let u=[],f=[];this.items.forEach(((t,e)=>{if(!t.step){if(!i){i=this.remapping(r,e+1);n=i.maps.length}n--;f.push(t);return}if(i){f.push(new Cf(t.map));let e=t.step.map(i.slice(n)),r;if(e&&s.maybeStep(e).doc){r=s.mapping.maps[s.mapping.maps.length-1];u.push(new Cf(r,undefined,undefined,u.length+f.length))}n--;if(r)i.appendMap(r,n)}else{s.maybeStep(t.step)}if(t.selection){l=i?t.selection.map(i.slice(n)):t.selection;o=new xf(this.items.slice(0,r).append(f.reverse().concat(u)),this.eventCount-1);return false}}),this.items.length,0);return{remaining:o,transform:s,selection:l}}addTransform(t,e,r,i){let n=[],s=this.eventCount;let l=this.items,o=!i&&l.length?l.get(l.length-1):null;for(let r=0;r<t.steps.length;r++){let u=t.steps[r].invert(t.docs[r]);let f=new Cf(t.mapping.maps[r],u,e),h;if(h=o&&o.merge(f)){f=h;if(r)n.pop();else l=l.slice(0,l.length-1)}n.push(f);if(e){s++;e=undefined}if(!i)o=f}let u=s-r.depth;if(u>Of){l=Af(l,u);s-=u}return new xf(l.append(n),s)}remapping(t,e){let r=new Kr;this.items.forEach(((e,i)=>{let n=e.mirrorOffset!=null&&i-e.mirrorOffset>=t?r.maps.length-e.mirrorOffset:undefined;r.appendMap(e.map,n)}),t,e);return r}addMaps(t){if(this.eventCount==0)return this;return new xf(this.items.append(t.map((t=>new Cf(t)))),this.eventCount)}rebased(t,e){if(!this.eventCount)return this;let r=[],i=Math.max(0,this.items.length-e);let n=t.mapping;let s=t.steps.length;let l=this.eventCount;this.items.forEach((t=>{if(t.selection)l--}),i);let o=e;this.items.forEach((e=>{let i=n.getMirror(--o);if(i==null)return;s=Math.min(s,i);let u=n.maps[i];if(e.step){let s=t.steps[i].invert(t.docs[i]);let f=e.selection&&e.selection.map(n.slice(o+1,i));if(f)l++;r.push(new Cf(u,s,f))}else{r.push(new Cf(u))}}),i);let u=[];for(let t=e;t<s;t++)u.push(new Cf(n.maps[t]));let f=this.items.slice(0,i).append(u).append(r);let h=new xf(f,l);if(h.emptyItemCount()>Mf)h=h.compress(this.items.length-r.length);return h}emptyItemCount(){let t=0;this.items.forEach((e=>{if(!e.step)t++}));return t}compress(t=this.items.length){let e=this.remapping(0,t),r=e.maps.length;let i=[],n=0;this.items.forEach(((s,l)=>{if(l>=t){i.push(s);if(s.selection)n++}else if(s.step){let t=s.step.map(e.slice(r)),l=t&&t.getMap();r--;if(l)e.appendMap(l,r);if(t){let o=s.selection&&s.selection.map(e.slice(r));if(o)n++;let u=new Cf(l.invert(),t,o),f,h=i.length-1;if(f=i.length&&i[h].merge(u))i[h]=f;else i.push(u)}}else if(s.map){r--}}),this.items.length,0);return new xf(yf.from(i.reverse()),n)}}xf.empty=new xf(yf.empty,0);function Af(t,e){let r;t.forEach(((t,i)=>{if(t.selection&&e--==0){r=i;return false}}));return t.slice(r)}class Cf{constructor(t,e,r,i){this.map=t;this.step=e;this.selection=r;this.mirrorOffset=i}merge(t){if(this.step&&t.step&&!t.selection){let e=t.step.merge(this.step);if(e)return new Cf(e.getMap().invert(),e,this.selection)}}}class Sf{constructor(t,e,r,i,n){this.done=t;this.undone=e;this.prevRanges=r;this.prevTime=i;this.prevComposition=n}}const Of=20;function $f(t,e,r,i){let n=r.getMeta(Tf),s;if(n)return n.historyState;if(r.getMeta(If))t=new Sf(t.done,t.undone,null,0,-1);let l=r.getMeta("appendedTransaction");if(r.steps.length==0){return t}else if(l&&l.getMeta(Tf)){if(l.getMeta(Tf).redo)return new Sf(t.done.addTransform(r,undefined,i,zf(e)),t.undone,Bf(r.mapping.maps[r.steps.length-1]),t.prevTime,t.prevComposition);else return new Sf(t.done,t.undone.addTransform(r,undefined,i,zf(e)),null,t.prevTime,t.prevComposition)}else if(r.getMeta("addToHistory")!==false&&!(l&&l.getMeta("addToHistory")===false)){let n=r.getMeta("composition");let s=t.prevTime==0||!l&&t.prevComposition!=n&&(t.prevTime<(r.time||0)-i.newGroupDelay||!_f(r,t.prevRanges));let o=l?Rf(t.prevRanges,r.mapping):Bf(r.mapping.maps[r.steps.length-1]);return new Sf(t.done.addTransform(r,s?e.selection.getBookmark():undefined,i,zf(e)),xf.empty,o,r.time,n==null?t.prevComposition:n)}else if(s=r.getMeta("rebased")){return new Sf(t.done.rebased(r,s),t.undone.rebased(r,s),Rf(t.prevRanges,r.mapping),t.prevTime,t.prevComposition)}else{return new Sf(t.done.addMaps(r.mapping.maps),t.undone.addMaps(r.mapping.maps),Rf(t.prevRanges,r.mapping),t.prevTime,t.prevComposition)}}function _f(t,e){if(!e)return false;if(!t.docChanged)return true;let r=false;t.mapping.maps[0].forEach(((t,i)=>{for(let n=0;n<e.length;n+=2)if(t<=e[n+1]&&i>=e[n])r=true}));return r}function Bf(t){let e=[];t.forEach(((t,r,i,n)=>e.push(i,n)));return e}function Rf(t,e){if(!t)return null;let r=[];for(let i=0;i<t.length;i+=2){let n=e.map(t[i],1),s=e.map(t[i+1],-1);if(n<=s)r.push(n,s)}return r}function jf(t,e,r,i){let n=zf(e);let s=Tf.get(e).spec.config;let l=(i?t.undone:t.done).popEvent(e,n);if(!l)return;let o=l.selection.resolve(l.transform.doc);let u=(i?t.done:t.undone).addTransform(l.transform,e.selection.getBookmark(),s,n);let f=new Sf(i?u:l.remaining,i?l.remaining:u,null,0,-1);r(l.transform.setSelection(o).setMeta(Tf,{redo:i,historyState:f}).scrollIntoView())}let Nf=false,qf=null;function zf(t){let e=t.plugins;if(qf!=e){Nf=false;qf=e;for(let t=0;t<e.length;t++)if(e[t].spec.historyPreserveItems){Nf=true;break}}return Nf}const Tf=new Dn("history");const If=new Dn("closeHistory");function Pf(t={}){t={depth:t.depth||100,newGroupDelay:t.newGroupDelay||500};return new gn({key:Tf,state:{init(){return new Sf(xf.empty,xf.empty,null,0,-1)},apply(e,r,i){return $f(r,i,e,t)}},config:t,props:{handleDOMEvents:{beforeinput(t,e){let r=e.inputType;let i=r=="historyUndo"?Jf:r=="historyRedo"?Lf:null;if(!i)return false;e.preventDefault();return i(t.state,t.dispatch)}}}})}const Jf=(t,e)=>{let r=Tf.getState(t);if(!r||r.done.eventCount==0)return false;if(e)jf(r,t,e,false);return true};const Lf=(t,e)=>{let r=Tf.getState(t);if(!r||r.undone.eventCount==0)return false;if(e)jf(r,t,e,true);return true};const Wf=(t,e)=>{if(t.selection.empty)return false;if(e)e(t.tr.deleteSelection().scrollIntoView());return true};function Uf(t,e){let{$cursor:r}=t.selection;if(!r||(e?!e.endOfTextblock("backward",t):r.parentOffset>0))return null;return r}const Hf=(t,e,r)=>{let i=Uf(t,r);if(!i)return false;let n=Vf(i);if(!n){let r=i.blockRange(),n=r&&hi(r);if(n==null)return false;if(e)e(t.tr.lift(r,n).scrollIntoView());return true}let s=n.nodeBefore;if(!s.type.spec.isolating&&dh(t,n,e))return true;if(i.parent.content.size==0&&(Zf(s,"end")||tn.isSelectable(s))){let r=Ci(t.doc,i.before(),i.after(),ye.empty);if(r&&r.slice.size<r.to-r.from){if(e){let i=t.tr.step(r);i.setSelection(Zf(s,"end")?Ki.findFrom(i.doc.resolve(i.mapping.map(n.pos,-1)),-1):tn.create(i.doc,n.pos-s.nodeSize));e(i.scrollIntoView())}return true}}if(s.isAtom&&n.depth==i.depth-1){if(e)e(t.tr.delete(n.pos-s.nodeSize,n.pos).scrollIntoView());return true}return false};function Zf(t,e,r=false){for(let i=t;i;i=e=="start"?i.firstChild:i.lastChild){if(i.isTextblock)return true;if(r&&i.childCount!=1)return false}return false}const Kf=(t,e,r)=>{let{$head:i,empty:n}=t.selection,s=i;if(!n)return false;if(i.parent.isTextblock){if(r?!r.endOfTextblock("backward",t):i.parentOffset>0)return false;s=Vf(i)}let l=s&&s.nodeBefore;if(!l||!tn.isSelectable(l))return false;if(e)e(t.tr.setSelection(tn.create(t.doc,s.pos-l.nodeSize)).scrollIntoView());return true};function Vf(t){if(!t.parent.type.spec.isolating)for(let e=t.depth-1;e>=0;e--){if(t.index(e)>0)return t.doc.resolve(t.before(e+1));if(t.node(e).type.spec.isolating)break}return null}function Gf(t,e){let{$cursor:r}=t.selection;if(!r||(e?!e.endOfTextblock("forward",t):r.parentOffset<r.parent.content.size))return null;return r}const Xf=(t,e,r)=>{let i=Gf(t,r);if(!i)return false;let n=Qf(i);if(!n)return false;let s=n.nodeAfter;if(dh(t,n,e))return true;if(i.parent.content.size==0&&(Zf(s,"start")||tn.isSelectable(s))){let r=Ci(t.doc,i.before(),i.after(),ye.empty);if(r&&r.slice.size<r.to-r.from){if(e){let i=t.tr.step(r);i.setSelection(Zf(s,"start")?Ki.findFrom(i.doc.resolve(i.mapping.map(n.pos)),1):tn.create(i.doc,i.mapping.map(n.pos)));e(i.scrollIntoView())}return true}}if(s.isAtom&&n.depth==i.depth-1){if(e)e(t.tr.delete(n.pos,n.pos+s.nodeSize).scrollIntoView());return true}return false};const Yf=(t,e,r)=>{let{$head:i,empty:n}=t.selection,s=i;if(!n)return false;if(i.parent.isTextblock){if(r?!r.endOfTextblock("forward",t):i.parentOffset<i.parent.content.size)return false;s=Qf(i)}let l=s&&s.nodeAfter;if(!l||!tn.isSelectable(l))return false;if(e)e(t.tr.setSelection(tn.create(t.doc,s.pos)).scrollIntoView());return true};function Qf(t){if(!t.parent.type.spec.isolating)for(let e=t.depth-1;e>=0;e--){let r=t.node(e);if(t.index(e)+1<r.childCount)return t.doc.resolve(t.after(e+1));if(r.type.spec.isolating)break}return null}const th=(t,e)=>{let r=t.selection,i=r instanceof tn,n;if(i){if(r.node.isTextblock||!yi(t.doc,r.from))return false;n=r.from}else{n=Ei(t.doc,r.from,-1);if(n==null)return false}if(e){let r=t.tr.join(n);if(i)r.setSelection(tn.create(r.doc,n-t.doc.resolve(n).nodeBefore.nodeSize));e(r.scrollIntoView())}return true};const eh=(t,e)=>{let r=t.selection,i;if(r instanceof tn){if(r.node.isTextblock||!yi(t.doc,r.to))return false;i=r.to}else{i=Ei(t.doc,r.to,1);if(i==null)return false}if(e)e(t.tr.join(i).scrollIntoView());return true};const rh=(t,e)=>{let{$from:r,$to:i}=t.selection;let n=r.blockRange(i),s=n&&hi(n);if(s==null)return false;if(e)e(t.tr.lift(n,s).scrollIntoView());return true};const ih=(t,e)=>{let{$head:r,$anchor:i}=t.selection;if(!r.parent.type.spec.code||!r.sameParent(i))return false;if(e)e(t.tr.insertText("\n").scrollIntoView());return true};function nh(t){for(let e=0;e<t.edgeCount;e++){let{type:r}=t.edge(e);if(r.isTextblock&&!r.hasRequiredAttrs())return r}return null}const sh=(t,e)=>{let{$head:r,$anchor:i}=t.selection;if(!r.parent.type.spec.code||!r.sameParent(i))return false;let n=r.node(-1),s=r.indexAfter(-1),l=nh(n.contentMatchAt(s));if(!l||!n.canReplaceWith(s,s,l))return false;if(e){let i=r.after(),n=t.tr.replaceWith(i,i,l.createAndFill());n.setSelection(Ki.near(n.doc.resolve(i),1));e(n.scrollIntoView())}return true};const lh=(t,e)=>{let r=t.selection,{$from:i,$to:n}=r;if(r instanceof rn||i.parent.inlineContent||n.parent.inlineContent)return false;let s=nh(n.parent.contentMatchAt(n.indexAfter()));if(!s||!s.isTextblock)return false;if(e){let r=(!i.parentOffset&&n.index()<n.parent.childCount?i:n).pos;let l=t.tr.insert(r,s.createAndFill());l.setSelection(Yi.create(l.doc,r+1));e(l.scrollIntoView())}return true};const oh=(t,e)=>{let{$cursor:r}=t.selection;if(!r||r.parent.content.size)return false;if(r.depth>1&&r.after()!=r.end(-1)){let i=r.before();if(Di(t.doc,i)){if(e)e(t.tr.split(i).scrollIntoView());return true}}let i=r.blockRange(),n=i&&hi(i);if(n==null)return false;if(e)e(t.tr.lift(i,n).scrollIntoView());return true};function uh(t){return(e,r)=>{let{$from:i,$to:n}=e.selection;if(e.selection instanceof tn&&e.selection.node.isBlock){if(!i.parentOffset||!Di(e.doc,i.pos))return false;if(r)r(e.tr.split(i.pos).scrollIntoView());return true}if(!i.parent.isBlock)return false;if(r){let s=n.parentOffset==n.parent.content.size;let l=e.tr;if(e.selection instanceof Yi||e.selection instanceof rn)l.deleteSelection();let o=i.depth==0?null:nh(i.node(-1).contentMatchAt(i.indexAfter(-1)));let u=t&&t(n.parent,s);let f=u?[u]:s&&o?[{type:o}]:undefined;let h=Di(l.doc,l.mapping.map(i.pos),1,f);if(!f&&!h&&Di(l.doc,l.mapping.map(i.pos),1,o?[{type:o}]:undefined)){if(o)f=[{type:o}];h=true}if(h){l.split(l.mapping.map(i.pos),1,f);if(!s&&!i.parentOffset&&i.parent.type!=o){let t=l.mapping.map(i.before()),e=l.doc.resolve(t);if(o&&i.node(-1).canReplaceWith(e.index(),e.index()+1,o))l.setNodeMarkup(l.mapping.map(i.before()),o)}}r(l.scrollIntoView())}return true}}const fh=uh();const hh=(t,e)=>{let{$from:r,to:i}=t.selection,n;let s=r.sharedDepth(i);if(s==0)return false;n=r.before(s);if(e)e(t.tr.setSelection(tn.create(t.doc,n)));return true};const ah=(t,e)=>{if(e)e(t.tr.setSelection(new rn(t.doc)));return true};function ch(t,e,r){let i=e.nodeBefore,n=e.nodeAfter,s=e.index();if(!i||!n||!i.type.compatibleContent(n.type))return false;if(!i.content.size&&e.parent.canReplace(s-1,s)){if(r)r(t.tr.delete(e.pos-i.nodeSize,e.pos).scrollIntoView());return true}if(!e.parent.canReplace(s,s+1)||!(n.isTextblock||yi(t.doc,e.pos)))return false;if(r)r(t.tr.clearIncompatible(e.pos,i.type,i.contentMatchAt(i.childCount)).join(e.pos).scrollIntoView());return true}function dh(t,e,r){let i=e.nodeBefore,n=e.nodeAfter,s,l;if(i.type.spec.isolating||n.type.spec.isolating)return false;if(ch(t,e,r))return true;let o=e.parent.canReplace(e.index(),e.index()+1);if(o&&(s=(l=i.contentMatchAt(i.childCount)).findWrapping(n.type))&&l.matchType(s[0]||n.type).validEnd){if(r){let l=e.pos+n.nodeSize,o=we.empty;for(let t=s.length-1;t>=0;t--)o=we.from(s[t].create(null,o));o=we.from(i.copy(o));let u=t.tr.step(new ni(e.pos-1,l,e.pos,l,new ye(o,1,0),s.length,true));let f=l+2*s.length;if(yi(u.doc,f))u.join(f);r(u.scrollIntoView())}return true}let u=Ki.findFrom(e,1);let f=u&&u.$from.blockRange(u.$to),h=f&&hi(f);if(h!=null&&h>=e.depth){if(r)r(t.tr.lift(f,h).scrollIntoView());return true}if(o&&Zf(n,"start",true)&&Zf(i,"end")){let s=i,l=[];for(;;){l.push(s);if(s.isTextblock)break;s=s.lastChild}let o=n,u=1;for(;!o.isTextblock;o=o.firstChild)u++;if(s.canReplace(s.childCount,s.childCount,o.content)){if(r){let i=we.empty;for(let t=l.length-1;t>=0;t--)i=we.from(l[t].copy(i));let s=t.tr.step(new ni(e.pos-l.length,e.pos+n.nodeSize,e.pos+u,e.pos+n.nodeSize-u,new ye(i,l.length,0),0,true));r(s.scrollIntoView())}return true}}return false}function ph(t){return function(e,r){let i=e.selection,n=t<0?i.$from:i.$to;let s=n.depth;while(n.node(s).isInline){if(!s)return false;s--}if(!n.node(s).isTextblock)return false;if(r)r(e.tr.setSelection(Yi.create(e.doc,t<0?n.start(s):n.end(s))));return true}}const mh=ph(-1);const wh=ph(1);function gh(t,e=null){return function(r,i){let{$from:n,$to:s}=r.selection;let l=n.blockRange(s),o=l&&ci(l,t,e);if(!o)return false;if(i)i(r.tr.wrap(l,o).scrollIntoView());return true}}function bh(t,e=null){return function(r,i){let n=false;for(let i=0;i<r.selection.ranges.length&&!n;i++){let{$from:{pos:s},$to:{pos:l}}=r.selection.ranges[i];r.doc.nodesBetween(s,l,((i,s)=>{if(n)return false;if(!i.isTextblock||i.hasMarkup(t,e))return;if(i.type==t){n=true}else{let e=r.doc.resolve(s),i=e.index();n=e.parent.canReplaceWith(i,i+1,t)}}))}if(!n)return false;if(i){let n=r.tr;for(let i=0;i<r.selection.ranges.length;i++){let{$from:{pos:s},$to:{pos:l}}=r.selection.ranges[i];n.setBlockType(s,l,t,e)}i(n.scrollIntoView())}return true}}function kh(t,e,r){for(let i=0;i<e.length;i++){let{$from:n,$to:s}=e[i];let l=n.depth==0?t.inlineContent&&t.type.allowsMarkType(r):false;t.nodesBetween(n.pos,s.pos,(t=>{if(l)return false;l=t.inlineContent&&t.type.allowsMarkType(r)}));if(l)return true}return false}function Dh(t,e=null){return function(r,i){let{empty:n,$cursor:s,ranges:l}=r.selection;if(n&&!s||!kh(r.doc,l,t))return false;if(i){if(s){if(t.isInSet(r.storedMarks||s.marks()))i(r.tr.removeStoredMark(t));else i(r.tr.addStoredMark(t.create(e)))}else{let n=false,s=r.tr;for(let e=0;!n&&e<l.length;e++){let{$from:i,$to:s}=l[e];n=r.doc.rangeHasMark(i.pos,s.pos,t)}for(let r=0;r<l.length;r++){let{$from:i,$to:o}=l[r];if(n){s.removeMark(i.pos,o.pos,t)}else{let r=i.pos,n=o.pos,l=i.nodeAfter,u=o.nodeBefore;let f=l&&l.isText?/^\s*/.exec(l.text)[0].length:0;let h=u&&u.isText?/\s*$/.exec(u.text)[0].length:0;if(r+f<n){r+=f;n-=h}s.addMark(r,n,t.create(e))}}i(s.scrollIntoView())}}return true}}function vh(...t){return function(e,r,i){for(let n=0;n<t.length;n++)if(t[n](e,r,i))return true;return false}}let yh=vh(Wf,Hf,Kf);let Fh=vh(Wf,Xf,Yf);const Eh={Enter:vh(ih,lh,oh,fh),"Mod-Enter":sh,Backspace:yh,"Mod-Backspace":yh,"Shift-Backspace":yh,Delete:Fh,"Mod-Delete":Fh,"Mod-a":ah};const Mh={"Ctrl-h":Eh["Backspace"],"Alt-Backspace":Eh["Mod-Backspace"],"Ctrl-d":Eh["Delete"],"Ctrl-Alt-Backspace":Eh["Mod-Delete"],"Alt-Delete":Eh["Mod-Delete"],"Alt-d":Eh["Mod-Delete"],"Ctrl-a":mh,"Ctrl-e":wh};for(let t in Eh)Mh[t]=Eh[t];const xh=typeof navigator!="undefined"?/Mac|iP(hone|[oa]d)/.test(navigator.platform):typeof os!="undefined"&&os.platform?os.platform()=="darwin":false;const Ah=xh?Mh:Eh;function Ch(t={}){return new gn({view(e){return new Sh(e,t)}})}class Sh{constructor(t,e){var r;this.editorView=t;this.cursorPos=null;this.element=null;this.timeout=-1;this.width=(r=e.width)!==null&&r!==void 0?r:1;this.color=e.color===false?undefined:e.color||"black";this.class=e.class;this.handlers=["dragover","dragend","drop","dragleave"].map((e=>{let r=t=>{this[e](t)};t.dom.addEventListener(e,r);return{name:e,handler:r}}))}destroy(){this.handlers.forEach((({name:t,handler:e})=>this.editorView.dom.removeEventListener(t,e)))}update(t,e){if(this.cursorPos!=null&&e.doc!=t.state.doc){if(this.cursorPos>t.state.doc.content.size)this.setCursor(null);else this.updateOverlay()}}setCursor(t){if(t==this.cursorPos)return;this.cursorPos=t;if(t==null){this.element.parentNode.removeChild(this.element);this.element=null}else{this.updateOverlay()}}updateOverlay(){let t=this.editorView.state.doc.resolve(this.cursorPos);let e=!t.parent.inlineContent,r;if(e){let e=t.nodeBefore,i=t.nodeAfter;if(e||i){let t=this.editorView.nodeDOM(this.cursorPos-(e?e.nodeSize:0));if(t){let n=t.getBoundingClientRect();let s=e?n.bottom:n.top;if(e&&i)s=(s+this.editorView.nodeDOM(this.cursorPos).getBoundingClientRect().top)/2;r={left:n.left,right:n.right,top:s-this.width/2,bottom:s+this.width/2}}}}if(!r){let t=this.editorView.coordsAtPos(this.cursorPos);r={left:t.left-this.width/2,right:t.left+this.width/2,top:t.top,bottom:t.bottom}}let i=this.editorView.dom.offsetParent;if(!this.element){this.element=i.appendChild(document.createElement("div"));if(this.class)this.element.className=this.class;this.element.style.cssText="position: absolute; z-index: 50; pointer-events: none;";if(this.color){this.element.style.backgroundColor=this.color}}this.element.classList.toggle("prosemirror-dropcursor-block",e);this.element.classList.toggle("prosemirror-dropcursor-inline",!e);let n,s;if(!i||i==document.body&&getComputedStyle(i).position=="static"){n=-pageXOffset;s=-pageYOffset}else{let t=i.getBoundingClientRect();n=t.left-i.scrollLeft;s=t.top-i.scrollTop}this.element.style.left=r.left-n+"px";this.element.style.top=r.top-s+"px";this.element.style.width=r.right-r.left+"px";this.element.style.height=r.bottom-r.top+"px"}scheduleRemoval(t){clearTimeout(this.timeout);this.timeout=setTimeout((()=>this.setCursor(null)),t)}dragover(t){if(!this.editorView.editable)return;let e=this.editorView.posAtCoords({left:t.clientX,top:t.clientY});let r=e&&e.inside>=0&&this.editorView.state.doc.nodeAt(e.inside);let i=r&&r.type.spec.disableDropCursor;let n=typeof i=="function"?i(this.editorView,e,t):i;if(e&&!n){let t=e.pos;if(this.editorView.dragging&&this.editorView.dragging.slice){let e=Ai(this.editorView.state.doc,t,this.editorView.dragging.slice);if(e!=null)t=e}this.setCursor(t);this.scheduleRemoval(5e3)}}dragend(){this.scheduleRemoval(20)}drop(){this.scheduleRemoval(20)}dragleave(t){if(t.target==this.editorView.dom||!this.editorView.dom.contains(t.relatedTarget))this.setCursor(null)}}class Oh extends Ki{constructor(t){super(t,t)}map(t,e){let r=t.resolve(e.map(this.head));return Oh.valid(r)?new Oh(r):Ki.near(r)}content(){return ye.empty}eq(t){return t instanceof Oh&&t.head==this.head}toJSON(){return{type:"gapcursor",pos:this.head}}static fromJSON(t,e){if(typeof e.pos!="number")throw new RangeError("Invalid input for GapCursor.fromJSON");return new Oh(t.resolve(e.pos))}getBookmark(){return new $h(this.anchor)}static valid(t){let e=t.parent;if(e.isTextblock||!_h(t)||!Bh(t))return false;let r=e.type.spec.allowGapCursor;if(r!=null)return r;let i=e.contentMatchAt(t.index()).defaultType;return i&&i.isTextblock}static findGapCursorFrom(t,e,r=false){t:for(;;){if(!r&&Oh.valid(t))return t;let i=t.pos,n=null;for(let r=t.depth;;r--){let s=t.node(r);if(e>0?t.indexAfter(r)<s.childCount:t.index(r)>0){n=s.child(e>0?t.indexAfter(r):t.index(r)-1);break}else if(r==0){return null}i+=e;let l=t.doc.resolve(i);if(Oh.valid(l))return l}for(;;){let s=e>0?n.firstChild:n.lastChild;if(!s){if(n.isAtom&&!n.isText&&!tn.isSelectable(n)){t=t.doc.resolve(i+n.nodeSize*e);r=false;continue t}break}n=s;i+=e;let l=t.doc.resolve(i);if(Oh.valid(l))return l}return null}}}Oh.prototype.visible=false;Oh.findFrom=Oh.findGapCursorFrom;Ki.jsonID("gapcursor",Oh);class $h{constructor(t){this.pos=t}map(t){return new $h(t.map(this.pos))}resolve(t){let e=t.resolve(this.pos);return Oh.valid(e)?new Oh(e):Ki.near(e)}}function _h(t){for(let e=t.depth;e>=0;e--){let r=t.index(e),i=t.node(e);if(r==0){if(i.type.spec.isolating)return true;continue}for(let t=i.child(r-1);;t=t.lastChild){if(t.childCount==0&&!t.inlineContent||t.isAtom||t.type.spec.isolating)return true;if(t.inlineContent)return false}}return true}function Bh(t){for(let e=t.depth;e>=0;e--){let r=t.indexAfter(e),i=t.node(e);if(r==i.childCount){if(i.type.spec.isolating)return true;continue}for(let t=i.child(r);;t=t.firstChild){if(t.childCount==0&&!t.inlineContent||t.isAtom||t.type.spec.isolating)return true;if(t.inlineContent)return false}}return true}function Rh(){return new gn({props:{decorations:Th,createSelectionBetween(t,e,r){return e.pos==r.pos&&Oh.valid(r)?new Oh(r):null},handleClick:qh,handleKeyDown:jh,handleDOMEvents:{beforeinput:zh}}})}const jh=Df({ArrowLeft:Nh("horiz",-1),ArrowRight:Nh("horiz",1),ArrowUp:Nh("vert",-1),ArrowDown:Nh("vert",1)});function Nh(t,e){const r=t=="vert"?e>0?"down":"up":e>0?"right":"left";return function(t,i,n){let s=t.selection;let l=e>0?s.$to:s.$from,o=s.empty;if(s instanceof Yi){if(!n.endOfTextblock(r)||l.depth==0)return false;o=false;l=t.doc.resolve(e>0?l.after():l.before())}let u=Oh.findGapCursorFrom(l,e,o);if(!u)return false;if(i)i(t.tr.setSelection(new Oh(u)));return true}}function qh(t,e,r){if(!t||!t.editable)return false;let i=t.state.doc.resolve(e);if(!Oh.valid(i))return false;let n=t.posAtCoords({left:r.clientX,top:r.clientY});if(n&&n.inside>-1&&tn.isSelectable(t.state.doc.nodeAt(n.inside)))return false;t.dispatch(t.state.tr.setSelection(new Oh(i)));return true}function zh(t,e){if(e.inputType!="insertCompositionText"||!(t.state.selection instanceof Oh))return false;let{$from:r}=t.state.selection;let i=r.parent.contentMatchAt(r.index()).findWrapping(t.state.schema.nodes.text);if(!i)return false;let n=we.empty;for(let t=i.length-1;t>=0;t--)n=we.from(i[t].createAndFill(null,n));let s=t.state.tr.replace(r.pos,r.pos,new ye(n,0,0));s.setSelection(Yi.near(s.doc.resolve(r.pos+1)));t.dispatch(s);return false}function Th(t){if(!(t.selection instanceof Oh))return null;let e=document.createElement("div");e.className="ProseMirror-gapcursor";return Go.create(t.doc,[Zo.widget(t.selection.head,e,{key:"gapcursor"})])}function Ih(){var t=arguments[0];if(typeof t=="string")t=document.createElement(t);var e=1,r=arguments[1];if(r&&typeof r=="object"&&r.nodeType==null&&!Array.isArray(r)){for(var i in r)if(Object.prototype.hasOwnProperty.call(r,i)){var n=r[i];if(typeof n=="string")t.setAttribute(i,n);else if(n!=null)t[i]=n}e++}for(;e<arguments.length;e++)Ph(t,arguments[e]);return t}function Ph(t,e){if(typeof e=="string"){t.appendChild(document.createTextNode(e))}else if(e==null);else if(e.nodeType!=null){t.appendChild(e)}else if(Array.isArray(e)){for(var r=0;r<e.length;r++)Ph(t,e[r])}else{throw new RangeError("Unsupported child node: "+e)}}const Jh="http://www.w3.org/2000/svg";const Lh="http://www.w3.org/1999/xlink";const Wh="ProseMirror-icon";function Uh(t){let e=0;for(let r=0;r<t.length;r++)e=(e<<5)-e+t.charCodeAt(r)|0;return e}function Hh(t,e){let r=(t.nodeType==9?t:t.ownerDocument)||document;let i=r.createElement("div");i.className=Wh;if(e.path){let{path:n,width:s,height:l}=e;let o="pm-icon-"+Uh(n).toString(16);if(!r.getElementById(o))Zh(t,o,e);let u=i.appendChild(r.createElementNS(Jh,"svg"));u.style.width=s/l+"em";let f=u.appendChild(r.createElementNS(Jh,"use"));f.setAttributeNS(Lh,"href",/([^#]*)/.exec(r.location.toString())[1]+"#"+o)}else if(e.dom){i.appendChild(e.dom.cloneNode(true))}else{let{text:t,css:n}=e;i.appendChild(r.createElement("span")).textContent=t||"";if(n)i.firstChild.style.cssText=n}return i}function Zh(t,e,r){let[i,n]=t.nodeType==9?[t,t.body]:[t.ownerDocument||document,t];let s=i.getElementById(Wh+"-collection");if(!s){s=i.createElementNS(Jh,"svg");s.id=Wh+"-collection";s.style.display="none";n.insertBefore(s,n.firstChild)}let l=i.createElementNS(Jh,"symbol");l.id=e;l.setAttribute("viewBox","0 0 "+r.width+" "+r.height);let o=l.appendChild(i.createElementNS(Jh,"path"));o.setAttribute("d",r.path);s.appendChild(l)}const Kh="ProseMirror-menu";class Vh{constructor(t){this.spec=t}render(t){let e=this.spec;let r=e.render?e.render(t):e.icon?Hh(t.root,e.icon):e.label?Ih("div",null,Gh(t,e.label)):null;if(!r)throw new RangeError("MenuItem without icon or label property");if(e.title){const i=typeof e.title==="function"?e.title(t.state):e.title;r.setAttribute("title",Gh(t,i))}if(e.class)r.classList.add(e.class);if(e.css)r.style.cssText+=e.css;r.addEventListener("mousedown",(i=>{i.preventDefault();if(!r.classList.contains(Kh+"-disabled"))e.run(t.state,t.dispatch,t,i)}));function i(t){if(e.select){let i=e.select(t);r.style.display=i?"":"none";if(!i)return false}let i=true;if(e.enable){i=e.enable(t)||false;pa(r,Kh+"-disabled",!i)}if(e.active){let n=i&&e.active(t)||false;pa(r,Kh+"-active",n)}return true}return{dom:r,update:i}}}function Gh(t,e){return t._props.translate?t._props.translate(e):e}let Xh={time:0,node:null};function Yh(t){Xh.time=Date.now();Xh.node=t.target}function Qh(t){return Date.now()-100<Xh.time&&Xh.node&&t.contains(Xh.node)}class ta{constructor(t,e={}){this.options=e;this.options=e||{};this.content=Array.isArray(t)?t:[t]}render(t){let e=ea(this.content,t);let r=t.dom.ownerDocument.defaultView||window;let i=Ih("div",{class:Kh+"-dropdown "+(this.options.class||""),style:this.options.css},Gh(t,this.options.label||""));if(this.options.title)i.setAttribute("title",Gh(t,this.options.title));let n=Ih("div",{class:Kh+"-dropdown-wrap"},i);let s=null;let l=null;let o=()=>{if(s&&s.close()){s=null;r.removeEventListener("mousedown",l)}};i.addEventListener("mousedown",(t=>{t.preventDefault();Yh(t);if(s){o()}else{s=this.expand(n,e.dom);r.addEventListener("mousedown",l=()=>{if(!Qh(n))o()})}}));function u(t){let r=e.update(t);n.style.display=r?"":"none";return r}return{dom:n,update:u}}expand(t,e){let r=Ih("div",{class:Kh+"-dropdown-menu "+(this.options.class||"")},e);let i=false;function n(){if(i)return false;i=true;t.removeChild(r);return true}t.appendChild(r);return{close:n,node:r}}}function ea(t,e){let r=[],i=[];for(let n=0;n<t.length;n++){let{dom:s,update:l}=t[n].render(e);r.push(Ih("div",{class:Kh+"-dropdown-item"},s));i.push(l)}return{dom:r,update:ra(i,r)}}function ra(t,e){return r=>{let i=false;for(let n=0;n<t.length;n++){let s=t[n](r);e[n].style.display=s?"":"none";if(s)i=true}return i}}class ia{constructor(t,e={}){this.options=e;this.content=Array.isArray(t)?t:[t]}render(t){let e=ea(this.content,t);let r=t.dom.ownerDocument.defaultView||window;let i=Ih("div",{class:Kh+"-submenu-label"},Gh(t,this.options.label||""));let n=Ih("div",{class:Kh+"-submenu-wrap"},i,Ih("div",{class:Kh+"-submenu"},e.dom));let s=null;i.addEventListener("mousedown",(t=>{t.preventDefault();Yh(t);pa(n,Kh+"-submenu-wrap-active",false);if(!s)r.addEventListener("mousedown",s=()=>{if(!Qh(n)){n.classList.remove(Kh+"-submenu-wrap-active");r.removeEventListener("mousedown",s);s=null}})}));function l(t){let r=e.update(t);n.style.display=r?"":"none";return r}return{dom:n,update:l}}}function na(t,e){let r=document.createDocumentFragment();let i=[],n=[];for(let s=0;s<e.length;s++){let l=e[s],o=[],u=[];for(let e=0;e<l.length;e++){let{dom:i,update:n}=l[e].render(t);let s=Ih("span",{class:Kh+"item"},i);r.appendChild(s);u.push(s);o.push(n)}if(o.length){i.push(ra(o,u));if(s<e.length-1)n.push(r.appendChild(sa()))}}function s(t){let e=false,r=false;for(let s=0;s<i.length;s++){let l=i[s](t);if(s)n[s-1].style.display=r&&l?"":"none";r=l;if(l)e=true}return e}return{dom:r,update:s}}function sa(){return Ih("span",{class:Kh+"separator"})}const la={join:{width:800,height:900,path:"M0 75h800v125h-800z M0 825h800v-125h-800z M250 400h100v-100h100v100h100v100h-100v100h-100v-100h-100z"},lift:{width:1024,height:1024,path:"M219 310v329q0 7-5 12t-12 5q-8 0-13-5l-164-164q-5-5-5-13t5-13l164-164q5-5 13-5 7 0 12 5t5 12zM1024 749v109q0 7-5 12t-12 5h-987q-7 0-12-5t-5-12v-109q0-7 5-12t12-5h987q7 0 12 5t5 12zM1024 530v109q0 7-5 12t-12 5h-621q-7 0-12-5t-5-12v-109q0-7 5-12t12-5h621q7 0 12 5t5 12zM1024 310v109q0 7-5 12t-12 5h-621q-7 0-12-5t-5-12v-109q0-7 5-12t12-5h621q7 0 12 5t5 12zM1024 91v109q0 7-5 12t-12 5h-987q-7 0-12-5t-5-12v-109q0-7 5-12t12-5h987q7 0 12 5t5 12z"},selectParentNode:{text:"⬚",css:"font-weight: bold"},undo:{width:1024,height:1024,path:"M761 1024c113-206 132-520-313-509v253l-384-384 384-384v248c534-13 594 472 313 775z"},redo:{width:1024,height:1024,path:"M576 248v-248l384 384-384 384v-253c-446-10-427 303-313 509-280-303-221-789 313-775z"},strong:{width:805,height:1024,path:"M317 869q42 18 80 18 214 0 214-191 0-65-23-102-15-25-35-42t-38-26-46-14-48-6-54-1q-41 0-57 5 0 30-0 90t-0 90q0 4-0 38t-0 55 2 47 6 38zM309 442q24 4 62 4 46 0 81-7t62-25 42-51 14-81q0-40-16-70t-45-46-61-24-70-8q-28 0-74 7 0 28 2 86t2 86q0 15-0 45t-0 45q0 26 0 39zM0 950l1-53q8-2 48-9t60-15q4-6 7-15t4-19 3-18 1-21 0-19v-37q0-561-12-585-2-4-12-8t-25-6-28-4-27-2-17-1l-2-47q56-1 194-6t213-5q13 0 39 0t38 0q40 0 78 7t73 24 61 40 42 59 16 78q0 29-9 54t-22 41-36 32-41 25-48 22q88 20 146 76t58 141q0 57-20 102t-53 74-78 48-93 27-100 8q-25 0-75-1t-75-1q-60 0-175 6t-132 6z"},em:{width:585,height:1024,path:"M0 949l9-48q3-1 46-12t63-21q16-20 23-57 0-4 35-165t65-310 29-169v-14q-13-7-31-10t-39-4-33-3l10-58q18 1 68 3t85 4 68 1q27 0 56-1t69-4 56-3q-2 22-10 50-17 5-58 16t-62 19q-4 10-8 24t-5 22-4 26-3 24q-15 84-50 239t-44 203q-1 5-7 33t-11 51-9 47-3 32l0 10q9 2 105 17-1 25-9 56-6 0-18 0t-18 0q-16 0-49-5t-49-5q-78-1-117-1-29 0-81 5t-69 6z"},code:{width:896,height:1024,path:"M608 192l-96 96 224 224-224 224 96 96 288-320-288-320zM288 192l-288 320 288 320 96-96-224-224 224-224-96-96z"},link:{width:951,height:1024,path:"M832 694q0-22-16-38l-118-118q-16-16-38-16-24 0-41 18 1 1 10 10t12 12 8 10 7 14 2 15q0 22-16 38t-38 16q-8 0-15-2t-14-7-10-8-12-12-10-10q-18 17-18 41 0 22 16 38l117 118q15 15 38 15 22 0 38-14l84-83q16-16 16-38zM430 292q0-22-16-38l-117-118q-16-16-38-16-22 0-38 15l-84 83q-16 16-16 38 0 22 16 38l118 118q15 15 38 15 24 0 41-17-1-1-10-10t-12-12-8-10-7-14-2-15q0-22 16-38t38-16q8 0 15 2t14 7 10 8 12 12 10 10q18-17 18-41zM941 694q0 68-48 116l-84 83q-47 47-116 47-69 0-116-48l-117-118q-47-47-47-116 0-70 50-119l-50-50q-49 50-118 50-68 0-116-48l-118-118q-48-48-48-116t48-116l84-83q47-47 116-47 69 0 116 48l117 118q47 47 47 116 0 70-50 119l50 50q49-50 118-50 68 0 116 48l118 118q48 48 48 116z"},bulletList:{width:768,height:896,path:"M0 512h128v-128h-128v128zM0 256h128v-128h-128v128zM0 768h128v-128h-128v128zM256 512h512v-128h-512v128zM256 256h512v-128h-512v128zM256 768h512v-128h-512v128z"},orderedList:{width:768,height:896,path:"M320 512h448v-128h-448v128zM320 768h448v-128h-448v128zM320 128v128h448v-128h-448zM79 384h78v-256h-36l-85 23v50l43-2v185zM189 590c0-36-12-78-96-78-33 0-64 6-83 16l1 66c21-10 42-15 67-15s32 11 32 28c0 26-30 58-110 112v50h192v-67l-91 2c49-30 87-66 87-113l1-1z"},blockquote:{width:640,height:896,path:"M0 448v256h256v-256h-128c0 0 0-128 128-128v-128c0 0-256 0-256 256zM640 320v-128c0 0-256 0-256 256v256h256v-256h-128c0 0 0-128 128-128z"}};const oa=new Vh({title:"Join with above block",run:th,select:t=>th(t),icon:la.join});const ua=new Vh({title:"Lift out of enclosing block",run:rh,select:t=>rh(t),icon:la.lift});const fa=new Vh({title:"Select parent node",run:hh,select:t=>hh(t),icon:la.selectParentNode});let ha=new Vh({title:"Undo last change",run:Jf,enable:t=>Jf(t),icon:la.undo});let aa=new Vh({title:"Redo last undone change",run:Lf,enable:t=>Lf(t),icon:la.redo});function ca(t,e){let r={run(r,i){return gh(t,e.attrs)(r,i)},select(r){return gh(t,e.attrs)(r)}};for(let t in e)r[t]=e[t];return new Vh(r)}function da(t,e){let r=bh(t,e.attrs);let i={run:r,enable(t){return r(t)},active(r){let{$from:i,to:n,node:s}=r.selection;if(s)return s.hasMarkup(t,e.attrs);return n<=i.end()&&i.parent.hasMarkup(t,e.attrs)}};for(let t in e)i[t]=e[t];return new Vh(i)}function pa(t,e,r){if(r)t.classList.add(e);else t.classList.remove(e)}const ma="ProseMirror-menubar";function wa(){if(typeof navigator=="undefined")return false;let t=navigator.userAgent;return!/Edge\/\d/.test(t)&&/AppleWebKit/.test(t)&&/Mobile\/\w+/.test(t)}function ga(t){return new gn({view(e){return new ba(e,t)}})}class ba{constructor(t,e){this.editorView=t;this.options=e;this.spacer=null;this.maxHeight=0;this.widthForMaxHeight=0;this.floating=false;this.scrollHandler=null;this.wrapper=Ih("div",{class:ma+"-wrapper"});this.menu=this.wrapper.appendChild(Ih("div",{class:ma}));this.menu.className=ma;if(t.dom.parentNode)t.dom.parentNode.replaceChild(this.wrapper,t.dom);this.wrapper.appendChild(t.dom);let{dom:r,update:i}=na(this.editorView,this.options.content);this.contentUpdate=i;this.menu.appendChild(r);this.update();if(e.floating&&!wa()){this.updateFloat();let t=va(this.wrapper);this.scrollHandler=e=>{let r=this.editorView.root;if(!(r.body||r).contains(this.wrapper))t.forEach((t=>t.removeEventListener("scroll",this.scrollHandler)));else this.updateFloat(e.target.getBoundingClientRect?e.target:undefined)};t.forEach((t=>t.addEventListener("scroll",this.scrollHandler)))}}update(){this.contentUpdate(this.editorView.state);if(this.floating){this.updateScrollCursor()}else{if(this.menu.offsetWidth!=this.widthForMaxHeight){this.widthForMaxHeight=this.menu.offsetWidth;this.maxHeight=0}if(this.menu.offsetHeight>this.maxHeight){this.maxHeight=this.menu.offsetHeight;this.menu.style.minHeight=this.maxHeight+"px"}}}updateScrollCursor(){let t=this.editorView.root.getSelection();if(!t.focusNode)return;let e=t.getRangeAt(0).getClientRects();let r=e[ka(t)?0:e.length-1];if(!r)return;let i=this.menu.getBoundingClientRect();if(r.top<i.bottom&&r.bottom>i.top){let t=Da(this.wrapper);if(t)t.scrollTop-=i.bottom-r.top}}updateFloat(t){let e=this.wrapper,r=e.getBoundingClientRect(),i=t?Math.max(0,t.getBoundingClientRect().top):0;if(this.floating){if(r.top>=i||r.bottom<this.menu.offsetHeight+10){this.floating=false;this.menu.style.position=this.menu.style.left=this.menu.style.top=this.menu.style.width="";this.menu.style.display="";this.spacer.parentNode.removeChild(this.spacer);this.spacer=null}else{let n=(e.offsetWidth-e.clientWidth)/2;this.menu.style.left=r.left+n+"px";this.menu.style.display=r.top>(this.editorView.dom.ownerDocument.defaultView||window).innerHeight?"none":"";if(t)this.menu.style.top=i+"px"}}else{if(r.top<i&&r.bottom>=this.menu.offsetHeight+10){this.floating=true;let r=this.menu.getBoundingClientRect();this.menu.style.left=r.left+"px";this.menu.style.width=r.width+"px";if(t)this.menu.style.top=i+"px";this.menu.style.position="fixed";this.spacer=Ih("div",{class:ma+"-spacer",style:`height: ${r.height}px`});e.insertBefore(this.spacer,this.menu)}}}destroy(){if(this.wrapper.parentNode)this.wrapper.parentNode.replaceChild(this.editorView.dom,this.wrapper)}}function ka(t){if(t.anchorNode==t.focusNode)return t.anchorOffset>t.focusOffset;return t.anchorNode.compareDocumentPosition(t.focusNode)==Node.DOCUMENT_POSITION_FOLLOWING}function Da(t){for(let e=t.parentNode;e;e=e.parentNode)if(e.scrollHeight>e.clientHeight)return e}function va(t){let e=[t.ownerDocument.defaultView||window];for(let r=t.parentNode;r;r=r.parentNode)e.push(r);return e}class ya{constructor(t,e,r={}){this.match=t;this.match=t;this.handler=typeof e=="string"?Fa(e):e;this.undoable=r.undoable!==false;this.inCode=r.inCode||false}}function Fa(t){return function(e,r,i,n){let s=t;if(r[1]){let t=r[0].lastIndexOf(r[1]);s+=r[0].slice(t+r[1].length);i+=t;let e=i-n;if(e>0){s=r[0].slice(t-e,t)+s;i=n}}return e.tr.insertText(s,i,n)}}const Ea=500;function Ma({rules:t}){let e=new gn({state:{init(){return null},apply(t,e){let r=t.getMeta(this);if(r)return r;return t.selectionSet||t.docChanged?null:e}},props:{handleTextInput(r,i,n,s){return xa(r,i,n,s,t,e)},handleDOMEvents:{compositionend:r=>{setTimeout((()=>{let{$cursor:i}=r.state.selection;if(i)xa(r,i.pos,i.pos,"",t,e)}))}}},isInputRules:true});return e}function xa(t,e,r,i,n,s){if(t.composing)return false;let l=t.state,o=l.doc.resolve(e);let u=o.parent.textBetween(Math.max(0,o.parentOffset-Ea),o.parentOffset,null,"")+i;for(let f=0;f<n.length;f++){let h=n[f];if(o.parent.type.spec.code){if(!h.inCode)continue}else if(h.inCode==="only"){continue}let a=h.match.exec(u);let c=a&&h.handler(l,a,e-(a[0].length-i.length),r);if(!c)continue;if(h.undoable)c.setMeta(s,{transform:c,from:e,to:r,text:i});t.dispatch(c);return true}return false}const Aa=(t,e)=>{let r=t.plugins;for(let i=0;i<r.length;i++){let n=r[i],s;if(n.spec.isInputRules&&(s=n.getState(t))){if(e){let r=t.tr,i=s.transform;for(let t=i.steps.length-1;t>=0;t--)r.step(i.steps[t].invert(i.docs[t]));if(s.text){let e=r.doc.resolve(s.from).marks();r.replaceWith(s.from,s.to,t.schema.text(s.text,e))}else{r.delete(s.from,s.to)}e(r)}return true}}return false};const Ca=new ya(/--$/,"—");const Sa=new ya(/\.\.\.$/,"…");const Oa=new ya(/(?:^|[\s\{\[\(\<'"\u2018\u201C])(")$/,"“");const $a=new ya(/"$/,"”");const _a=new ya(/(?:^|[\s\{\[\(\<'"\u2018\u201C])(')$/,"‘");const Ba=new ya(/'$/,"’");const Ra=[Oa,$a,_a,Ba];function ja(t,e,r=null,i){return new ya(t,((t,n,s,l)=>{let o=r instanceof Function?r(n):r;let u=t.tr.delete(s,l);let f=u.doc.resolve(s),h=f.blockRange(),a=h&&ci(h,e,o);if(!a)return null;u.wrap(h,a);let c=u.doc.resolve(s-1).nodeBefore;if(c&&c.type==e&&yi(u.doc,s-1)&&(!i||i(n,c)))u.join(s-1);return u}))}function Na(t,e,r=null){return new ya(t,((t,i,n,s)=>{let l=t.doc.resolve(n);let o=r instanceof Function?r(i):r;if(!l.node(-1).canReplaceWith(l.index(-1),l.indexAfter(-1),e))return null;return t.tr.delete(n,s).setBlockType(n,n,e,o)}))}const qa="ProseMirror-prompt";function za(t){let e=document.body.appendChild(document.createElement("div"));e.className=qa;let r=t=>{if(!e.contains(t.target))i()};setTimeout((()=>window.addEventListener("mousedown",r)),50);let i=()=>{window.removeEventListener("mousedown",r);if(e.parentNode)e.parentNode.removeChild(e)};let n=[];for(let e in t.fields)n.push(t.fields[e].render());let s=document.createElement("button");s.type="submit";s.className=qa+"-submit";s.textContent="OK";let l=document.createElement("button");l.type="button";l.className=qa+"-cancel";l.textContent="Cancel";l.addEventListener("click",i);let o=e.appendChild(document.createElement("form"));if(t.title)o.appendChild(document.createElement("h5")).textContent=t.title;n.forEach((t=>{o.appendChild(document.createElement("div")).appendChild(t)}));let u=o.appendChild(document.createElement("div"));u.className=qa+"-buttons";u.appendChild(s);u.appendChild(document.createTextNode(" "));u.appendChild(l);let f=e.getBoundingClientRect();e.style.top=(window.innerHeight-f.height)/2+"px";e.style.left=(window.innerWidth-f.width)/2+"px";let h=()=>{let e=Ta(t.fields,n);if(e){i();t.callback(e)}};o.addEventListener("submit",(t=>{t.preventDefault();h()}));o.addEventListener("keydown",(t=>{if(t.keyCode==27){t.preventDefault();i()}else if(t.keyCode==13&&!(t.ctrlKey||t.metaKey||t.shiftKey)){t.preventDefault();h()}else if(t.keyCode==9){window.setTimeout((()=>{if(!e.contains(document.activeElement))i()}),500)}}));let a=o.elements[0];if(a)a.focus()}function Ta(t,e){let r=Object.create(null),i=0;for(let n in t){let s=t[n],l=e[i++];let o=s.read(l),u=s.validate(o);if(u){Ia(l,u);return null}r[n]=s.clean(o)}return r}function Ia(t,e){let r=t.parentNode;let i=r.appendChild(document.createElement("div"));i.style.left=t.offsetLeft+t.offsetWidth+2+"px";i.style.top=t.offsetTop-5+"px";i.className="ProseMirror-invalid";i.textContent=e;setTimeout((()=>r.removeChild(i)),1500)}class Pa{constructor(t){this.options=t}read(t){return t.value}validateType(t){return null}validate(t){if(!t&&this.options.required)return"Required field";return this.validateType(t)||(this.options.validate?this.options.validate(t):null)}clean(t){return this.options.clean?this.options.clean(t):t}}class Ja extends Pa{render(){let t=document.createElement("input");t.type="text";t.placeholder=this.options.label;t.value=this.options.value||"";t.autocomplete="off";return t}}function La(t,e){let r=t.selection.$from;for(let t=r.depth;t>=0;t--){let i=r.index(t);if(r.node(t).canReplaceWith(i,i,e))return true}return false}function Wa(t){return new Vh({title:"Insert image",label:"Image",enable(e){return La(e,t)},run(e,r,i){let{from:n,to:s}=e.selection,l=null;if(e.selection instanceof tn&&e.selection.node.type==t)l=e.selection.node.attrs;za({title:"Insert image",fields:{src:new Ja({label:"Location",required:true,value:l&&l.src}),title:new Ja({label:"Title",value:l&&l.title}),alt:new Ja({label:"Description",value:l?l.alt:e.doc.textBetween(n,s," ")})},callback(e){i.dispatch(i.state.tr.replaceSelectionWith(t.createAndFill(e)));i.focus()}})}})}function Ua(t,e){let r={label:e.title,run:t};for(let t in e)r[t]=e[t];if(!e.enable&&!e.select)r[e.enable?"enable":"select"]=e=>t(e);return new Vh(r)}function Ha(t,e){let{from:r,$from:i,to:n,empty:s}=t.selection;if(s)return!!e.isInSet(t.storedMarks||i.marks());else return t.doc.rangeHasMark(r,n,e)}function Za(t,e){let r={active(e){return Ha(e,t)}};for(let t in e)r[t]=e[t];return Ua(Dh(t),r)}function Ka(t){return new Vh({title:"Add or remove link",icon:la.link,active(e){return Ha(e,t)},enable(t){return!t.selection.empty},run(e,r,i){if(Ha(e,t)){Dh(t)(e,r);return true}za({title:"Create a link",fields:{href:new Ja({label:"Link target",required:true}),title:new Ja({label:"Title"})},callback(e){Dh(t,e)(i.state,i.dispatch);i.focus()}})}})}function Va(t,e){return Ua(tf(t,e.attrs),e)}function Ga(t){let e={};let r;if(r=t.marks.strong)e.toggleStrong=Za(r,{title:"Toggle strong style",icon:la.strong});if(r=t.marks.em)e.toggleEm=Za(r,{title:"Toggle emphasis",icon:la.em});if(r=t.marks.code)e.toggleCode=Za(r,{title:"Toggle code font",icon:la.code});if(r=t.marks.link)e.toggleLink=Ka(r);let i;if(i=t.nodes.image)e.insertImage=Wa(i);if(i=t.nodes.bullet_list)e.wrapBulletList=Va(i,{title:"Wrap in bullet list",icon:la.bulletList});if(i=t.nodes.ordered_list)e.wrapOrderedList=Va(i,{title:"Wrap in ordered list",icon:la.orderedList});if(i=t.nodes.blockquote)e.wrapBlockQuote=ca(i,{title:"Wrap in block quote",icon:la.blockquote});if(i=t.nodes.paragraph)e.makeParagraph=da(i,{title:"Change to paragraph",label:"Plain"});if(i=t.nodes.code_block)e.makeCodeBlock=da(i,{title:"Change to code block",label:"Code"});if(i=t.nodes.heading)for(let t=1;t<=10;t++)e["makeHead"+t]=da(i,{title:"Change to heading "+t,label:"Level "+t,attrs:{level:t}});if(i=t.nodes.horizontal_rule){let t=i;e.insertHorizontalRule=new Vh({title:"Insert horizontal rule",label:"Horizontal rule",enable(e){return La(e,t)},run(e,r){r(e.tr.replaceSelectionWith(t.create()))}})}let n=t=>t.filter((t=>t));e.insertMenu=new ta(n([e.insertImage,e.insertHorizontalRule]),{label:"Insert"});e.typeMenu=new ta(n([e.makeParagraph,e.makeCodeBlock,e.makeHead1&&new ia(n([e.makeHead1,e.makeHead2,e.makeHead3,e.makeHead4,e.makeHead5,e.makeHead6]),{label:"Heading"})]),{label:"Type..."});e.inlineMenu=[n([e.toggleStrong,e.toggleEm,e.toggleCode,e.toggleLink])];e.blockMenu=[n([e.wrapBulletList,e.wrapOrderedList,e.wrapBlockQuote,oa,ua,fa])];e.fullMenu=e.inlineMenu.concat([[e.insertMenu,e.typeMenu]],[[ha,aa]],e.blockMenu);return e}const Xa=typeof navigator!="undefined"?/Mac|iP(hone|[oa]d)/.test(navigator.platform):false;function Ya(t,e){let r={},i;function n(t,i){if(e){let r=e[t];if(r===false)return;if(r)t=r}r[t]=i}n("Mod-z",Jf);n("Shift-Mod-z",Lf);n("Backspace",Aa);if(!Xa)n("Mod-y",Lf);n("Alt-ArrowUp",th);n("Alt-ArrowDown",eh);n("Mod-BracketLeft",rh);n("Escape",hh);if(i=t.marks.strong){n("Mod-b",Dh(i));n("Mod-B",Dh(i))}if(i=t.marks.em){n("Mod-i",Dh(i));n("Mod-I",Dh(i))}if(i=t.marks.code)n("Mod-`",Dh(i));if(i=t.nodes.bullet_list)n("Shift-Ctrl-8",tf(i));if(i=t.nodes.ordered_list)n("Shift-Ctrl-9",tf(i));if(i=t.nodes.blockquote)n("Ctrl->",gh(i));if(i=t.nodes.hard_break){let t=i,e=vh(sh,((e,r)=>{if(r)r(e.tr.replaceSelectionWith(t.create()).scrollIntoView());return true}));n("Mod-Enter",e);n("Shift-Enter",e);if(Xa)n("Ctrl-Enter",e)}if(i=t.nodes.list_item){n("Enter",rf(i));n("Mod-[",nf(i));n("Mod-]",of(i))}if(i=t.nodes.paragraph)n("Shift-Ctrl-0",bh(i));if(i=t.nodes.code_block)n("Shift-Ctrl-\\",bh(i));if(i=t.nodes.heading)for(let t=1;t<=6;t++)n("Shift-Ctrl-"+t,bh(i,{level:t}));if(i=t.nodes.horizontal_rule){let t=i;n("Mod-_",((e,r)=>{if(r)r(e.tr.replaceSelectionWith(t.create()).scrollIntoView());return true}))}return r}function Qa(t){return ja(/^\s*>\s$/,t)}function tc(t){return ja(/^(\d+)\.\s$/,t,(t=>({order:+t[1]})),((t,e)=>e.childCount+e.attrs.order==+t[1]))}function ec(t){return ja(/^\s*([-+*])\s$/,t)}function rc(t){return Na(/^```$/,t)}function ic(t,e){return Na(new RegExp("^(#{1,"+e+"})\\s$"),t,(t=>({level:t[1].length})))}function nc(t){let e=Ra.concat(Sa,Ca),r;if(r=t.nodes.blockquote)e.push(Qa(r));if(r=t.nodes.ordered_list)e.push(tc(r));if(r=t.nodes.bullet_list)e.push(ec(r));if(r=t.nodes.code_block)e.push(rc(r));if(r=t.nodes.heading)e.push(ic(r,6));return Ma({rules:e})}function sc(t){let e=[nc(t.schema),kf(Ya(t.schema,t.mapKeys)),kf(Ah),Ch(),Rh()];if(t.menuBar!==false)e.push(ga({floating:t.floatingMenu!==false,content:t.menuContent||Ga(t.schema).fullMenu}));if(t.history!==false)e.push(Pf());return e.concat(new gn({props:{attributes:{class:"ProseMirror-example-setup-style"}}}))}const lc={Bold:"strong",Italic:"em",Blockquote:"blockquote",HeaderLevel1:"headerlevel1",HeaderLevel2:"headerlevel2",HeaderLevel3:"headerlevel3",Link:"link",OrderedList:"ordered_list",BulletList:"bullet_list",Strikethrough:"strikethrough",Code:"code",CodeBlock:"code_block"};const oc=Object.values(lc);const uc={Heading:"heading",one:1,two:2,three:3};const fc={Left:0,Middle:1,Right:2};const hc=(t,e)=>{t.active=t=>{const{from:r,$from:i,to:n,empty:s}=t.selection;if(s){return!!e.isInSet(t.storedMarks||i.marks())}else{return t.doc.rangeHasMark(r,n,e)}}};const ac=(t,e,r)=>{t.active=t=>{const{$from:i}=t.selection;const n=i.node(i.depth);if(n&&n.type.name===e.name){if(e.name===uc.Heading&&r){return n.attrs.level===r}return true}return false}};const cc=(t,e)=>{t.active=t=>{const{from:r,to:i}=t.selection;for(let n=r;n<=i;n++){const r=t.doc.resolve(n);for(let t=r.depth;t>0;t--){const i=r.node(t);if(i&&i.type.name===e.name){return true}}}return false}};const dc=(t,e,r)=>{const i=(e,i)=>{const{from:n,to:s}=e.selection;if(n===s){const s=t.marks.link.create({href:r.href,title:r.href,target:wc(r.href)?"_blank":null});const l=r.text||r.href;const o=t.text(l,[s]);i(e.tr.insert(n,o))}else{const l=t.marks.link.create({href:r.href,title:r.href,target:wc(r.href)?"_blank":null});const o=e.doc.textBetween(n,s," ");const u=t.text(r.text||o,[l]);i(e.tr.replaceWith(n,s,u))}return true};hc(i,t.marks.link);return i};const pc=(t,e,r)=>{const i=t.marks[e];if(!i){throw new Error(`Mark "${e}" not found in schema`)}const n=mc(e,r);const s=Dh(i,n);hc(s,i);return s};const mc=(t,e)=>{if(t===lc.Link&&e.href){return{href:e.href,target:wc(e.href)?"_blank":null}}return undefined};const wc=t=>!t.startsWith(window.location.origin);const gc=(t,e,r={},i=false)=>{const n=t.nodes[e];const s=t.nodes.paragraph;return(t,e)=>{const{$from:l,$to:o}=t.selection;const u=l.node(l.depth-1).type===n;if(t.selection instanceof Yi&&l.sameParent(l.doc.resolve(o.pos))){if(l.parent.type===n){if(e){e(t.tr.setBlockType(l.pos,o.pos,s))}return true}else{if(u){return rh(t,e)}if(i){return gh(n,r)(t,e)}else{return bh(n,r)(t,e)}}}return false}};const bc=t=>{try{new URL(t)}catch(t){return false}return true};const kc=(t,e,r)=>{const i=t.nodes[e];if(!i){throw new Error(`Node type "${e}" not found in schema`)}let n;if(e===uc.Heading&&r){n=gc(t,uc.Heading,{level:r})}else if(e===lc.CodeBlock){n=gc(t,lc.CodeBlock)}else{n=bh(i)}ac(n,i,r);return n};const Dc=(t,e)=>{const r=t.nodes[e];if(!r){throw new Error(`Node type "${e}" not found in schema`)}let i;if(e===lc.Blockquote){i=gc(t,lc.Blockquote,{},true)}else{i=gh(r)}cc(i,r);return i};const vc=t=>(e,r)=>{const{$from:i,$to:n}=e.selection;const s=i.blockRange(n);if(!s){return false}const l=s&&ci(s,t);if(l){if(r){r(e.tr.wrap(s,l).scrollIntoView())}return true}else{const t=s&&hi(s);if(t!==null){if(r){r(e.tr.lift(s,t).scrollIntoView())}return true}return false}};const yc=(t,e)=>{const r=t.nodes[e];if(!r){throw new Error(`List type "${e}" not found in schema`)}const i=vc(r);cc(i,r);return i};const Fc=(t,e)=>{const{from:r,to:i}=t.selection;if(r===i){return false}const n=window.clipboardData;if(!n){return false}const s=n.getData("text");if(!bc(s)){return false}const l=t.schema.marks.link.create({href:s,target:wc(s)?"_blank":null});const o=t.doc.textBetween(r,i," ");const u=t.schema.text(o,[l]);e(t.tr.replaceWith(r,i,u))};const Ec={strong:pc,em:pc,underline:pc,strikethrough:pc,code:pc,link:dc,headerlevel1:t=>kc(t,uc.Heading,uc.one),headerlevel2:t=>kc(t,uc.Heading,uc.two),headerlevel3:t=>kc(t,uc.Heading,uc.three),blockquote:t=>Dc(t,lc.Blockquote),code_block:t=>kc(t,lc.CodeBlock),ordered_list:t=>yc(t,lc.OrderedList),bullet_list:t=>yc(t,lc.BulletList)};class Mc{constructor(t){this.schema=t}getCommand(t,e){const r=Ec[t];if(!r){throw new Error(`The Mark "${t}" is not supported`)}return r(this.schema,t,e)}buildKeymap(){return{"Mod-B":this.getCommand(lc.Bold),"Mod-I":this.getCommand(lc.Italic),"Mod-Shift-1":this.getCommand(lc.HeaderLevel1),"Mod-Shift-2":this.getCommand(lc.HeaderLevel2),"Mod-Shift-3":this.getCommand(lc.HeaderLevel3),"Mod-Shift-X":this.getCommand(lc.Strikethrough),"Mod-`":this.getCommand(lc.Code),"Mod-Shift-C":this.getCommand(lc.CodeBlock),"Mod-v":Fc}}}const xc=()=>{const t=/Macintosh|MacIntel|MacPPC|Mac68K/;if(navigator.userAgent.match(t)){return{mod:"⌘",option:"⌥",shift:"⇧"}}return{mod:"Ctrl",option:"Alt",shift:"Shift"}};const{mod:Ac,shift:Cc}=xc();const Sc=[{value:lc.Bold,text:"Bold",commandText:`${Ac} B`,icon:"-lime-text-bold",iconOnly:true,selected:false},{value:lc.Italic,text:"Italic",commandText:`${Ac} I`,icon:"-lime-text-italic",iconOnly:true,selected:false},{value:lc.Strikethrough,text:"Strikethrough",commandText:`${Ac} ${Cc} X`,icon:"-lime-text-strikethrough",iconOnly:true,selected:false},{value:lc.Link,text:"Link",icon:"-lime-text-link",iconOnly:true},{separator:true},{value:lc.BulletList,text:"Bullet list",icon:"-lime-text-bulleted-list",iconOnly:true,selected:false},{value:lc.OrderedList,text:"Numbered list",icon:"-lime-text-ordered-list",iconOnly:true,selected:false},{separator:true},{value:lc.HeaderLevel1,text:"Header 1",commandText:`${Ac} ${Cc} 1`,icon:"-lime-text-h-heading-1",iconOnly:true,selected:false},{value:lc.HeaderLevel2,text:"Header 2",commandText:`${Ac} ${Cc} 2`,icon:"-lime-text-h-heading-2",iconOnly:true,selected:false},{value:lc.HeaderLevel3,text:"Header 3",commandText:`${Ac} ${Cc} 3`,icon:"-lime-text-h-heading-3",iconOnly:true,selected:false},{separator:true},{value:lc.Blockquote,text:"Blockquote",icon:"-lime-text-blockquote",iconOnly:true,selected:false},{separator:true},{value:lc.Code,text:"Code",commandText:`${Ac} \``,icon:"-lime-text-code",iconOnly:true,selected:false},{value:lc.CodeBlock,text:"Code Block",commandText:`${Ac} ${Cc} C`,icon:"-lime-text-code-block",iconOnly:true,selected:false}];const Oc=()=>ce(Sc);const $c={strong:"editor-menu.bold",em:"editor-menu.italic",headerlevel1:"editor-menu.h1",headerlevel2:"editor-menu.h2",headerlevel3:"editor-menu.h3",bullet_list:"editor-menu.bulleted-list",ordered_list:"editor-menu.numbered-list",code_block:"editor-menu.code-block",blockquote:"editor-menu.blockquote",link:"editor-menu.link",strikethrough:"editor-menu.strikethrough",code:"editor-menu.code"};const _c={};function Bc(t){let e=_c[t];if(e){return e}e=_c[t]=[];for(let t=0;t<128;t++){const r=String.fromCharCode(t);e.push(r)}for(let r=0;r<t.length;r++){const i=t.charCodeAt(r);e[i]="%"+("0"+i.toString(16).toUpperCase()).slice(-2)}return e}function Rc(t,e){if(typeof e!=="string"){e=Rc.defaultChars}const r=Bc(e);return t.replace(/(%[a-f0-9]{2})+/gi,(function(t){let e="";for(let i=0,n=t.length;i<n;i+=3){const s=parseInt(t.slice(i+1,i+3),16);if(s<128){e+=r[s];continue}if((s&224)===192&&i+3<n){const r=parseInt(t.slice(i+4,i+6),16);if((r&192)===128){const t=s<<6&1984|r&63;if(t<128){e+="��"}else{e+=String.fromCharCode(t)}i+=3;continue}}if((s&240)===224&&i+6<n){const r=parseInt(t.slice(i+4,i+6),16);const n=parseInt(t.slice(i+7,i+9),16);if((r&192)===128&&(n&192)===128){const t=s<<12&61440|r<<6&4032|n&63;if(t<2048||t>=55296&&t<=57343){e+="���"}else{e+=String.fromCharCode(t)}i+=6;continue}}if((s&248)===240&&i+9<n){const r=parseInt(t.slice(i+4,i+6),16);const n=parseInt(t.slice(i+7,i+9),16);const l=parseInt(t.slice(i+10,i+12),16);if((r&192)===128&&(n&192)===128&&(l&192)===128){let t=s<<18&1835008|r<<12&258048|n<<6&4032|l&63;if(t<65536||t>1114111){e+="����"}else{t-=65536;e+=String.fromCharCode(55296+(t>>10),56320+(t&1023))}i+=9;continue}}e+="�"}return e}))}Rc.defaultChars=";/?:@&=+$,#";Rc.componentChars="";const jc={};function Nc(t){let e=jc[t];if(e){return e}e=jc[t]=[];for(let t=0;t<128;t++){const r=String.fromCharCode(t);if(/^[0-9a-z]$/i.test(r)){e.push(r)}else{e.push("%"+("0"+t.toString(16).toUpperCase()).slice(-2))}}for(let r=0;r<t.length;r++){e[t.charCodeAt(r)]=t[r]}return e}function qc(t,e,r){if(typeof e!=="string"){r=e;e=qc.defaultChars}if(typeof r==="undefined"){r=true}const i=Nc(e);let n="";for(let e=0,s=t.length;e<s;e++){const l=t.charCodeAt(e);if(r&&l===37&&e+2<s){if(/^[0-9a-f]{2}$/i.test(t.slice(e+1,e+3))){n+=t.slice(e,e+3);e+=2;continue}}if(l<128){n+=i[l];continue}if(l>=55296&&l<=57343){if(l>=55296&&l<=56319&&e+1<s){const r=t.charCodeAt(e+1);if(r>=56320&&r<=57343){n+=encodeURIComponent(t[e]+t[e+1]);e++;continue}}n+="%EF%BF%BD";continue}n+=encodeURIComponent(t[e])}return n}qc.defaultChars=";/?:@&=+$,-_.!~*'()#";qc.componentChars="-_.!~*'()";function zc(t){let e="";e+=t.protocol||"";e+=t.slashes?"//":"";e+=t.auth?t.auth+"@":"";if(t.hostname&&t.hostname.indexOf(":")!==-1){e+="["+t.hostname+"]"}else{e+=t.hostname||""}e+=t.port?":"+t.port:"";e+=t.pathname||"";e+=t.search||"";e+=t.hash||"";return e}function Tc(){this.protocol=null;this.slashes=null;this.auth=null;this.port=null;this.hostname=null;this.hash=null;this.search=null;this.pathname=null}const Ic=/^([a-z0-9.+-]+:)/i;const Pc=/:[0-9]*$/;const Jc=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/;const Lc=["<",">",'"',"`"," ","\r","\n","\t"];const Wc=["{","}","|","\\","^","`"].concat(Lc);const Uc=["'"].concat(Wc);const Hc=["%","/","?",";","#"].concat(Uc);const Zc=["/","?","#"];const Kc=255;const Vc=/^[+a-z0-9A-Z_-]{0,63}$/;const Gc=/^([+a-z0-9A-Z_-]{0,63})(.*)$/;const Xc={javascript:true,"javascript:":true};const Yc={http:true,https:true,ftp:true,gopher:true,file:true,"http:":true,"https:":true,"ftp:":true,"gopher:":true,"file:":true};function Qc(t,e){if(t&&t instanceof Tc)return t;const r=new Tc;r.parse(t,e);return r}Tc.prototype.parse=function(t,e){let r,i,n;let s=t;s=s.trim();if(!e&&t.split("#").length===1){const t=Jc.exec(s);if(t){this.pathname=t[1];if(t[2]){this.search=t[2]}return this}}let l=Ic.exec(s);if(l){l=l[0];r=l.toLowerCase();this.protocol=l;s=s.substr(l.length)}if(e||l||s.match(/^\/\/[^@\/]+@[^@\/]+/)){n=s.substr(0,2)==="//";if(n&&!(l&&Xc[l])){s=s.substr(2);this.slashes=true}}if(!Xc[l]&&(n||l&&!Yc[l])){let t=-1;for(let e=0;e<Zc.length;e++){i=s.indexOf(Zc[e]);if(i!==-1&&(t===-1||i<t)){t=i}}let e,r;if(t===-1){r=s.lastIndexOf("@")}else{r=s.lastIndexOf("@",t)}if(r!==-1){e=s.slice(0,r);s=s.slice(r+1);this.auth=e}t=-1;for(let e=0;e<Hc.length;e++){i=s.indexOf(Hc[e]);if(i!==-1&&(t===-1||i<t)){t=i}}if(t===-1){t=s.length}if(s[t-1]===":"){t--}const n=s.slice(0,t);s=s.slice(t);this.parseHost(n);this.hostname=this.hostname||"";const l=this.hostname[0]==="["&&this.hostname[this.hostname.length-1]==="]";if(!l){const t=this.hostname.split(/\./);for(let e=0,r=t.length;e<r;e++){const r=t[e];if(!r){continue}if(!r.match(Vc)){let i="";for(let t=0,e=r.length;t<e;t++){if(r.charCodeAt(t)>127){i+="x"}else{i+=r[t]}}if(!i.match(Vc)){const i=t.slice(0,e);const n=t.slice(e+1);const l=r.match(Gc);if(l){i.push(l[1]);n.unshift(l[2])}if(n.length){s=n.join(".")+s}this.hostname=i.join(".");break}}}}if(this.hostname.length>Kc){this.hostname=""}if(l){this.hostname=this.hostname.substr(1,this.hostname.length-2)}}const o=s.indexOf("#");if(o!==-1){this.hash=s.substr(o);s=s.slice(0,o)}const u=s.indexOf("?");if(u!==-1){this.search=s.substr(u);s=s.slice(0,u)}if(s){this.pathname=s}if(Yc[r]&&this.hostname&&!this.pathname){this.pathname=""}return this};Tc.prototype.parseHost=function(t){let e=Pc.exec(t);if(e){e=e[0];if(e!==":"){this.port=e.substr(1)}t=t.substr(0,t.length-e.length)}if(t){this.hostname=t}};const td=Object.freeze({__proto__:null,decode:Rc,encode:qc,format:zc,parse:Qc});const ed=/[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/;const rd=/[\0-\x1F\x7F-\x9F]/;const id=/[\xAD\u0600-\u0605\u061C\u06DD\u070F\u0890\u0891\u08E2\u180E\u200B-\u200F\u202A-\u202E\u2060-\u2064\u2066-\u206F\uFEFF\uFFF9-\uFFFB]|\uD804[\uDCBD\uDCCD]|\uD80D[\uDC30-\uDC3F]|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|\uDB40[\uDC01\uDC20-\uDC7F]/;const nd=/[!-#%-\*,-\/:;\?@\[-\]_\{\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061D-\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1B7D\u1B7E\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52-\u2E5D\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDEAD\uDF55-\uDF59\uDF86-\uDF89]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5A\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDEB9\uDF3C-\uDF3E]|\uD806[\uDC3B\uDD44-\uDD46\uDDE2\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2\uDF00-\uDF09]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8\uDF43-\uDF4F\uDFFF]|\uD809[\uDC70-\uDC74]|\uD80B[\uDFF1\uDFF2]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A\uDFE2]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]/;const sd=/[\$\+<->\^`\|~\xA2-\xA6\xA8\xA9\xAC\xAE-\xB1\xB4\xB8\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0384\u0385\u03F6\u0482\u058D-\u058F\u0606-\u0608\u060B\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u07FE\u07FF\u0888\u09F2\u09F3\u09FA\u09FB\u0AF1\u0B70\u0BF3-\u0BFA\u0C7F\u0D4F\u0D79\u0E3F\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u166D\u17DB\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u1FBD\u1FBF-\u1FC1\u1FCD-\u1FCF\u1FDD-\u1FDF\u1FED-\u1FEF\u1FFD\u1FFE\u2044\u2052\u207A-\u207C\u208A-\u208C\u20A0-\u20C0\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F\u218A\u218B\u2190-\u2307\u230C-\u2328\u232B-\u2426\u2440-\u244A\u249C-\u24E9\u2500-\u2767\u2794-\u27C4\u27C7-\u27E5\u27F0-\u2982\u2999-\u29D7\u29DC-\u29FB\u29FE-\u2B73\u2B76-\u2B95\u2B97-\u2BFF\u2CE5-\u2CEA\u2E50\u2E51\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFF\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u309B\u309C\u3190\u3191\u3196-\u319F\u31C0-\u31E3\u31EF\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA700-\uA716\uA720\uA721\uA789\uA78A\uA828-\uA82B\uA836-\uA839\uAA77-\uAA79\uAB5B\uAB6A\uAB6B\uFB29\uFBB2-\uFBC2\uFD40-\uFD4F\uFDCF\uFDFC-\uFDFF\uFE62\uFE64-\uFE66\uFE69\uFF04\uFF0B\uFF1C-\uFF1E\uFF3E\uFF40\uFF5C\uFF5E\uFFE0-\uFFE6\uFFE8-\uFFEE\uFFFC\uFFFD]|\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9C\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|\uD805\uDF3F|\uD807[\uDFD5-\uDFF1]|\uD81A[\uDF3C-\uDF3F\uDF45]|\uD82F\uDC9C|\uD833[\uDF50-\uDFC3]|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDEA\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|\uD838[\uDD4F\uDEFF]|\uD83B[\uDCAC\uDCB0\uDD2E\uDEF0\uDEF1]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD0D-\uDDAD\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFF]|\uD83D[\uDC00-\uDED7\uDEDC-\uDEEC\uDEF0-\uDEFC\uDF00-\uDF76\uDF7B-\uDFD9\uDFE0-\uDFEB\uDFF0]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0\uDCB1\uDD00-\uDE53\uDE60-\uDE6D\uDE70-\uDE7C\uDE80-\uDE88\uDE90-\uDEBD\uDEBF-\uDEC5\uDECE-\uDEDB\uDEE0-\uDEE8\uDEF0-\uDEF8\uDF00-\uDF92\uDF94-\uDFCA]/;const ld=/[ \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/;const od=Object.freeze({__proto__:null,Any:ed,Cc:rd,Cf:id,P:nd,S:sd,Z:ld});function ud(t){return Object.prototype.toString.call(t)}function fd(t){return ud(t)==="[object String]"}const hd=Object.prototype.hasOwnProperty;function ad(t,e){return hd.call(t,e)}function cd(t){const e=Array.prototype.slice.call(arguments,1);e.forEach((function(e){if(!e){return}if(typeof e!=="object"){throw new TypeError(e+"must be object")}Object.keys(e).forEach((function(r){t[r]=e[r]}))}));return t}function dd(t,e,r){return[].concat(t.slice(0,e),r,t.slice(e+1))}function pd(t){if(t>=55296&&t<=57343){return false}if(t>=64976&&t<=65007){return false}if((t&65535)===65535||(t&65535)===65534){return false}if(t>=0&&t<=8){return false}if(t===11){return false}if(t>=14&&t<=31){return false}if(t>=127&&t<=159){return false}if(t>1114111){return false}return true}function md(t){if(t>65535){t-=65536;const e=55296+(t>>10);const r=56320+(t&1023);return String.fromCharCode(e,r)}return String.fromCharCode(t)}const wd=/\\([!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~])/g;const gd=/&([a-z#][a-z0-9]{1,31});/gi;const bd=new RegExp(wd.source+"|"+gd.source,"gi");const kd=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))$/i;function Dd(t,e){if(e.charCodeAt(0)===35&&kd.test(e)){const r=e[1].toLowerCase()==="x"?parseInt(e.slice(2),16):parseInt(e.slice(1),10);if(pd(r)){return md(r)}return t}const r=M(t);if(r!==t){return r}return t}function vd(t){if(t.indexOf("\\")<0){return t}return t.replace(wd,"$1")}function yd(t){if(t.indexOf("\\")<0&&t.indexOf("&")<0){return t}return t.replace(bd,(function(t,e,r){if(e){return e}return Dd(t,r)}))}const Fd=/[&<>"]/;const Ed=/[&<>"]/g;const Md={"&":"&","<":"<",">":">",'"':"""};function xd(t){return Md[t]}function Ad(t){if(Fd.test(t)){return t.replace(Ed,xd)}return t}const Cd=/[.?*+^$[\]\\(){}|-]/g;function Sd(t){return t.replace(Cd,"\\$&")}function Od(t){switch(t){case 9:case 32:return true}return false}function $d(t){if(t>=8192&&t<=8202){return true}switch(t){case 9:case 10:case 11:case 12:case 13:case 32:case 160:case 5760:case 8239:case 8287:case 12288:return true}return false}function _d(t){return nd.test(t)||sd.test(t)}function Bd(t){switch(t){case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 124:case 125:case 126:return true;default:return false}}function Rd(t){t=t.trim().replace(/\s+/g," ");if("ẞ".toLowerCase()==="Ṿ"){t=t.replace(/ẞ/g,"ß")}return t.toLowerCase().toUpperCase()}const jd={mdurl:td,ucmicro:od};const Nd=Object.freeze({__proto__:null,lib:jd,assign:cd,isString:fd,has:ad,unescapeMd:vd,unescapeAll:yd,isValidEntityCode:pd,fromCodePoint:md,escapeHtml:Ad,arrayReplaceAt:dd,isSpace:Od,isWhiteSpace:$d,isMdAsciiPunct:Bd,isPunctChar:_d,escapeRE:Sd,normalizeReference:Rd});function qd(t,e,r){let i,n,s,l;const o=t.posMax;const u=t.pos;t.pos=e+1;i=1;while(t.pos<o){s=t.src.charCodeAt(t.pos);if(s===93){i--;if(i===0){n=true;break}}l=t.pos;t.md.inline.skipToken(t);if(s===91){if(l===t.pos-1){i++}else if(r){t.pos=u;return-1}}}let f=-1;if(n){f=t.pos}t.pos=u;return f}function zd(t,e,r){let i;let n=e;const s={ok:false,pos:0,str:""};if(t.charCodeAt(n)===60){n++;while(n<r){i=t.charCodeAt(n);if(i===10){return s}if(i===60){return s}if(i===62){s.pos=n+1;s.str=yd(t.slice(e+1,n));s.ok=true;return s}if(i===92&&n+1<r){n+=2;continue}n++}return s}let l=0;while(n<r){i=t.charCodeAt(n);if(i===32){break}if(i<32||i===127){break}if(i===92&&n+1<r){if(t.charCodeAt(n+1)===32){break}n+=2;continue}if(i===40){l++;if(l>32){return s}}if(i===41){if(l===0){break}l--}n++}if(e===n){return s}if(l!==0){return s}s.str=yd(t.slice(e,n));s.pos=n;s.ok=true;return s}function Td(t,e,r,i){let n;let s=e;const l={ok:false,can_continue:false,pos:0,str:"",marker:0};if(i){l.str=i.str;l.marker=i.marker}else{if(s>=r){return l}let i=t.charCodeAt(s);if(i!==34&&i!==39&&i!==40){return l}e++;s++;if(i===40){i=41}l.marker=i}while(s<r){n=t.charCodeAt(s);if(n===l.marker){l.pos=s+1;l.str+=yd(t.slice(e,s));l.ok=true;return l}else if(n===40&&l.marker===41){return l}else if(n===92&&s+1<r){s++}s++}l.can_continue=true;l.str+=yd(t.slice(e,s));return l}const Id=Object.freeze({__proto__:null,parseLinkLabel:qd,parseLinkDestination:zd,parseLinkTitle:Td});const Pd={};Pd.code_inline=function(t,e,r,i,n){const s=t[e];return"<code"+n.renderAttrs(s)+">"+Ad(s.content)+"</code>"};Pd.code_block=function(t,e,r,i,n){const s=t[e];return"<pre"+n.renderAttrs(s)+"><code>"+Ad(t[e].content)+"</code></pre>\n"};Pd.fence=function(t,e,r,i,n){const s=t[e];const l=s.info?yd(s.info).trim():"";let o="";let u="";if(l){const t=l.split(/(\s+)/g);o=t[0];u=t.slice(2).join("")}let f;if(r.highlight){f=r.highlight(s.content,o,u)||Ad(s.content)}else{f=Ad(s.content)}if(f.indexOf("<pre")===0){return f+"\n"}if(l){const t=s.attrIndex("class");const e=s.attrs?s.attrs.slice():[];if(t<0){e.push(["class",r.langPrefix+o])}else{e[t]=e[t].slice();e[t][1]+=" "+r.langPrefix+o}const i={attrs:e};return`<pre><code${n.renderAttrs(i)}>${f}</code></pre>\n`}return`<pre><code${n.renderAttrs(s)}>${f}</code></pre>\n`};Pd.image=function(t,e,r,i,n){const s=t[e];s.attrs[s.attrIndex("alt")][1]=n.renderInlineAsText(s.children,r,i);return n.renderToken(t,e,r)};Pd.hardbreak=function(t,e,r){return r.xhtmlOut?"<br />\n":"<br>\n"};Pd.softbreak=function(t,e,r){return r.breaks?r.xhtmlOut?"<br />\n":"<br>\n":"\n"};Pd.text=function(t,e){return Ad(t[e].content)};Pd.html_block=function(t,e){return t[e].content};Pd.html_inline=function(t,e){return t[e].content};function Jd(){this.rules=cd({},Pd)}Jd.prototype.renderAttrs=function t(e){let r,i,n;if(!e.attrs){return""}n="";for(r=0,i=e.attrs.length;r<i;r++){n+=" "+Ad(e.attrs[r][0])+'="'+Ad(e.attrs[r][1])+'"'}return n};Jd.prototype.renderToken=function t(e,r,i){const n=e[r];let s="";if(n.hidden){return""}if(n.block&&n.nesting!==-1&&r&&e[r-1].hidden){s+="\n"}s+=(n.nesting===-1?"</":"<")+n.tag;s+=this.renderAttrs(n);if(n.nesting===0&&i.xhtmlOut){s+=" /"}let l=false;if(n.block){l=true;if(n.nesting===1){if(r+1<e.length){const t=e[r+1];if(t.type==="inline"||t.hidden){l=false}else if(t.nesting===-1&&t.tag===n.tag){l=false}}}}s+=l?">\n":">";return s};Jd.prototype.renderInline=function(t,e,r){let i="";const n=this.rules;for(let s=0,l=t.length;s<l;s++){const l=t[s].type;if(typeof n[l]!=="undefined"){i+=n[l](t,s,e,r,this)}else{i+=this.renderToken(t,s,e)}}return i};Jd.prototype.renderInlineAsText=function(t,e,r){let i="";for(let n=0,s=t.length;n<s;n++){switch(t[n].type){case"text":i+=t[n].content;break;case"image":i+=this.renderInlineAsText(t[n].children,e,r);break;case"html_inline":case"html_block":i+=t[n].content;break;case"softbreak":case"hardbreak":i+="\n";break}}return i};Jd.prototype.render=function(t,e,r){let i="";const n=this.rules;for(let s=0,l=t.length;s<l;s++){const l=t[s].type;if(l==="inline"){i+=this.renderInline(t[s].children,e,r)}else if(typeof n[l]!=="undefined"){i+=n[l](t,s,e,r,this)}else{i+=this.renderToken(t,s,e,r)}}return i};function Ld(){this.__rules__=[];this.__cache__=null}Ld.prototype.__find__=function(t){for(let e=0;e<this.__rules__.length;e++){if(this.__rules__[e].name===t){return e}}return-1};Ld.prototype.__compile__=function(){const t=this;const e=[""];t.__rules__.forEach((function(t){if(!t.enabled){return}t.alt.forEach((function(t){if(e.indexOf(t)<0){e.push(t)}}))}));t.__cache__={};e.forEach((function(e){t.__cache__[e]=[];t.__rules__.forEach((function(r){if(!r.enabled){return}if(e&&r.alt.indexOf(e)<0){return}t.__cache__[e].push(r.fn)}))}))};Ld.prototype.at=function(t,e,r){const i=this.__find__(t);const n=r||{};if(i===-1){throw new Error("Parser rule not found: "+t)}this.__rules__[i].fn=e;this.__rules__[i].alt=n.alt||[];this.__cache__=null};Ld.prototype.before=function(t,e,r,i){const n=this.__find__(t);const s=i||{};if(n===-1){throw new Error("Parser rule not found: "+t)}this.__rules__.splice(n,0,{name:e,enabled:true,fn:r,alt:s.alt||[]});this.__cache__=null};Ld.prototype.after=function(t,e,r,i){const n=this.__find__(t);const s=i||{};if(n===-1){throw new Error("Parser rule not found: "+t)}this.__rules__.splice(n+1,0,{name:e,enabled:true,fn:r,alt:s.alt||[]});this.__cache__=null};Ld.prototype.push=function(t,e,r){const i=r||{};this.__rules__.push({name:t,enabled:true,fn:e,alt:i.alt||[]});this.__cache__=null};Ld.prototype.enable=function(t,e){if(!Array.isArray(t)){t=[t]}const r=[];t.forEach((function(t){const i=this.__find__(t);if(i<0){if(e){return}throw new Error("Rules manager: invalid rule name "+t)}this.__rules__[i].enabled=true;r.push(t)}),this);this.__cache__=null;return r};Ld.prototype.enableOnly=function(t,e){if(!Array.isArray(t)){t=[t]}this.__rules__.forEach((function(t){t.enabled=false}));this.enable(t,e)};Ld.prototype.disable=function(t,e){if(!Array.isArray(t)){t=[t]}const r=[];t.forEach((function(t){const i=this.__find__(t);if(i<0){if(e){return}throw new Error("Rules manager: invalid rule name "+t)}this.__rules__[i].enabled=false;r.push(t)}),this);this.__cache__=null;return r};Ld.prototype.getRules=function(t){if(this.__cache__===null){this.__compile__()}return this.__cache__[t]||[]};function Wd(t,e,r){this.type=t;this.tag=e;this.attrs=null;this.map=null;this.nesting=r;this.level=0;this.children=null;this.content="";this.markup="";this.info="";this.meta=null;this.block=false;this.hidden=false}Wd.prototype.attrIndex=function t(e){if(!this.attrs){return-1}const r=this.attrs;for(let t=0,i=r.length;t<i;t++){if(r[t][0]===e){return t}}return-1};Wd.prototype.attrPush=function t(e){if(this.attrs){this.attrs.push(e)}else{this.attrs=[e]}};Wd.prototype.attrSet=function t(e,r){const i=this.attrIndex(e);const n=[e,r];if(i<0){this.attrPush(n)}else{this.attrs[i]=n}};Wd.prototype.attrGet=function t(e){const r=this.attrIndex(e);let i=null;if(r>=0){i=this.attrs[r][1]}return i};Wd.prototype.attrJoin=function t(e,r){const i=this.attrIndex(e);if(i<0){this.attrPush([e,r])}else{this.attrs[i][1]=this.attrs[i][1]+" "+r}};function Ud(t,e,r){this.src=t;this.env=r;this.tokens=[];this.inlineMode=false;this.md=e}Ud.prototype.Token=Wd;const Hd=/\r\n?|\n/g;const Zd=/\0/g;function Kd(t){let e;e=t.src.replace(Hd,"\n");e=e.replace(Zd,"�");t.src=e}function Vd(t){let e;if(t.inlineMode){e=new t.Token("inline","",0);e.content=t.src;e.map=[0,1];e.children=[];t.tokens.push(e)}else{t.md.block.parse(t.src,t.md,t.env,t.tokens)}}function Gd(t){const e=t.tokens;for(let r=0,i=e.length;r<i;r++){const i=e[r];if(i.type==="inline"){t.md.inline.parse(i.content,t.md,t.env,i.children)}}}function Xd(t){return/^<a[>\s]/i.test(t)}function Yd(t){return/^<\/a\s*>/i.test(t)}function Qd(t){const e=t.tokens;if(!t.md.options.linkify){return}for(let r=0,i=e.length;r<i;r++){if(e[r].type!=="inline"||!t.md.linkify.pretest(e[r].content)){continue}let i=e[r].children;let n=0;for(let s=i.length-1;s>=0;s--){const l=i[s];if(l.type==="link_close"){s--;while(i[s].level!==l.level&&i[s].type!=="link_open"){s--}continue}if(l.type==="html_inline"){if(Xd(l.content)&&n>0){n--}if(Yd(l.content)){n++}}if(n>0){continue}if(l.type==="text"&&t.md.linkify.test(l.content)){const n=l.content;let o=t.md.linkify.match(n);const u=[];let f=l.level;let h=0;if(o.length>0&&o[0].index===0&&s>0&&i[s-1].type==="text_special"){o=o.slice(1)}for(let e=0;e<o.length;e++){const r=o[e].url;const i=t.md.normalizeLink(r);if(!t.md.validateLink(i)){continue}let s=o[e].text;if(!o[e].schema){s=t.md.normalizeLinkText("http://"+s).replace(/^http:\/\//,"")}else if(o[e].schema==="mailto:"&&!/^mailto:/i.test(s)){s=t.md.normalizeLinkText("mailto:"+s).replace(/^mailto:/,"")}else{s=t.md.normalizeLinkText(s)}const l=o[e].index;if(l>h){const e=new t.Token("text","",0);e.content=n.slice(h,l);e.level=f;u.push(e)}const a=new t.Token("link_open","a",1);a.attrs=[["href",i]];a.level=f++;a.markup="linkify";a.info="auto";u.push(a);const c=new t.Token("text","",0);c.content=s;c.level=f;u.push(c);const d=new t.Token("link_close","a",-1);d.level=--f;d.markup="linkify";d.info="auto";u.push(d);h=o[e].lastIndex}if(h<n.length){const e=new t.Token("text","",0);e.content=n.slice(h);e.level=f;u.push(e)}e[r].children=i=dd(i,s,u)}}}}const tp=/\+-|\.\.|\?\?\?\?|!!!!|,,|--/;const ep=/\((c|tm|r)\)/i;const rp=/\((c|tm|r)\)/gi;const ip={c:"©",r:"®",tm:"™"};function np(t,e){return ip[e.toLowerCase()]}function sp(t){let e=0;for(let r=t.length-1;r>=0;r--){const i=t[r];if(i.type==="text"&&!e){i.content=i.content.replace(rp,np)}if(i.type==="link_open"&&i.info==="auto"){e--}if(i.type==="link_close"&&i.info==="auto"){e++}}}function lp(t){let e=0;for(let r=t.length-1;r>=0;r--){const i=t[r];if(i.type==="text"&&!e){if(tp.test(i.content)){i.content=i.content.replace(/\+-/g,"±").replace(/\.{2,}/g,"…").replace(/([?!])…/g,"$1..").replace(/([?!]){4,}/g,"$1$1$1").replace(/,{2,}/g,",").replace(/(^|[^-])---(?=[^-]|$)/gm,"$1—").replace(/(^|\s)--(?=\s|$)/gm,"$1–").replace(/(^|[^-\s])--(?=[^-\s]|$)/gm,"$1–")}}if(i.type==="link_open"&&i.info==="auto"){e--}if(i.type==="link_close"&&i.info==="auto"){e++}}}function op(t){let e;if(!t.md.options.typographer){return}for(e=t.tokens.length-1;e>=0;e--){if(t.tokens[e].type!=="inline"){continue}if(ep.test(t.tokens[e].content)){sp(t.tokens[e].children)}if(tp.test(t.tokens[e].content)){lp(t.tokens[e].children)}}}const up=/['"]/;const fp=/['"]/g;const hp="’";function ap(t,e,r){return t.slice(0,e)+r+t.slice(e+1)}function cp(t,e){let r;const i=[];for(let n=0;n<t.length;n++){const s=t[n];const l=t[n].level;for(r=i.length-1;r>=0;r--){if(i[r].level<=l){break}}i.length=r+1;if(s.type!=="text"){continue}let o=s.content;let u=0;let f=o.length;t:while(u<f){fp.lastIndex=u;const h=fp.exec(o);if(!h){break}let a=true;let c=true;u=h.index+1;const d=h[0]==="'";let p=32;if(h.index-1>=0){p=o.charCodeAt(h.index-1)}else{for(r=n-1;r>=0;r--){if(t[r].type==="softbreak"||t[r].type==="hardbreak")break;if(!t[r].content)continue;p=t[r].content.charCodeAt(t[r].content.length-1);break}}let m=32;if(u<f){m=o.charCodeAt(u)}else{for(r=n+1;r<t.length;r++){if(t[r].type==="softbreak"||t[r].type==="hardbreak")break;if(!t[r].content)continue;m=t[r].content.charCodeAt(0);break}}const w=Bd(p)||_d(String.fromCharCode(p));const g=Bd(m)||_d(String.fromCharCode(m));const b=$d(p);const k=$d(m);if(k){a=false}else if(g){if(!(b||w)){a=false}}if(b){c=false}else if(w){if(!(k||g)){c=false}}if(m===34&&h[0]==='"'){if(p>=48&&p<=57){c=a=false}}if(a&&c){a=w;c=g}if(!a&&!c){if(d){s.content=ap(s.content,h.index,hp)}continue}if(c){for(r=i.length-1;r>=0;r--){let a=i[r];if(i[r].level<l){break}if(a.single===d&&i[r].level===l){a=i[r];let l;let c;if(d){l=e.md.options.quotes[2];c=e.md.options.quotes[3]}else{l=e.md.options.quotes[0];c=e.md.options.quotes[1]}s.content=ap(s.content,h.index,c);t[a.token].content=ap(t[a.token].content,a.pos,l);u+=c.length-1;if(a.token===n){u+=l.length-1}o=s.content;f=o.length;i.length=r;continue t}}}if(a){i.push({token:n,pos:h.index,single:d,level:l})}else if(c&&d){s.content=ap(s.content,h.index,hp)}}}}function dp(t){if(!t.md.options.typographer){return}for(let e=t.tokens.length-1;e>=0;e--){if(t.tokens[e].type!=="inline"||!up.test(t.tokens[e].content)){continue}cp(t.tokens[e].children,t)}}function pp(t){let e,r;const i=t.tokens;const n=i.length;for(let t=0;t<n;t++){if(i[t].type!=="inline")continue;const n=i[t].children;const s=n.length;for(e=0;e<s;e++){if(n[e].type==="text_special"){n[e].type="text"}}for(e=r=0;e<s;e++){if(n[e].type==="text"&&e+1<s&&n[e+1].type==="text"){n[e+1].content=n[e].content+n[e+1].content}else{if(e!==r){n[r]=n[e]}r++}}if(e!==r){n.length=r}}}const mp=[["normalize",Kd],["block",Vd],["inline",Gd],["linkify",Qd],["replacements",op],["smartquotes",dp],["text_join",pp]];function wp(){this.ruler=new Ld;for(let t=0;t<mp.length;t++){this.ruler.push(mp[t][0],mp[t][1])}}wp.prototype.process=function(t){const e=this.ruler.getRules("");for(let r=0,i=e.length;r<i;r++){e[r](t)}};wp.prototype.State=Ud;function gp(t,e,r,i){this.src=t;this.md=e;this.env=r;this.tokens=i;this.bMarks=[];this.eMarks=[];this.tShift=[];this.sCount=[];this.bsCount=[];this.blkIndent=0;this.line=0;this.lineMax=0;this.tight=false;this.ddIndent=-1;this.listIndent=-1;this.parentType="root";this.level=0;const n=this.src;for(let t=0,e=0,r=0,i=0,s=n.length,l=false;e<s;e++){const o=n.charCodeAt(e);if(!l){if(Od(o)){r++;if(o===9){i+=4-i%4}else{i++}continue}else{l=true}}if(o===10||e===s-1){if(o!==10){e++}this.bMarks.push(t);this.eMarks.push(e);this.tShift.push(r);this.sCount.push(i);this.bsCount.push(0);l=false;r=0;i=0;t=e+1}}this.bMarks.push(n.length);this.eMarks.push(n.length);this.tShift.push(0);this.sCount.push(0);this.bsCount.push(0);this.lineMax=this.bMarks.length-1}gp.prototype.push=function(t,e,r){const i=new Wd(t,e,r);i.block=true;if(r<0)this.level--;i.level=this.level;if(r>0)this.level++;this.tokens.push(i);return i};gp.prototype.isEmpty=function t(e){return this.bMarks[e]+this.tShift[e]>=this.eMarks[e]};gp.prototype.skipEmptyLines=function t(e){for(let t=this.lineMax;e<t;e++){if(this.bMarks[e]+this.tShift[e]<this.eMarks[e]){break}}return e};gp.prototype.skipSpaces=function t(e){for(let t=this.src.length;e<t;e++){const t=this.src.charCodeAt(e);if(!Od(t)){break}}return e};gp.prototype.skipSpacesBack=function t(e,r){if(e<=r){return e}while(e>r){if(!Od(this.src.charCodeAt(--e))){return e+1}}return e};gp.prototype.skipChars=function t(e,r){for(let t=this.src.length;e<t;e++){if(this.src.charCodeAt(e)!==r){break}}return e};gp.prototype.skipCharsBack=function t(e,r,i){if(e<=i){return e}while(e>i){if(r!==this.src.charCodeAt(--e)){return e+1}}return e};gp.prototype.getLines=function t(e,r,i,n){if(e>=r){return""}const s=new Array(r-e);for(let t=0,l=e;l<r;l++,t++){let e=0;const o=this.bMarks[l];let u=o;let f;if(l+1<r||n){f=this.eMarks[l]+1}else{f=this.eMarks[l]}while(u<f&&e<i){const t=this.src.charCodeAt(u);if(Od(t)){if(t===9){e+=4-(e+this.bsCount[l])%4}else{e++}}else if(u-o<this.tShift[l]){e++}else{break}u++}if(e>i){s[t]=new Array(e-i+1).join(" ")+this.src.slice(u,f)}else{s[t]=this.src.slice(u,f)}}return s.join("")};gp.prototype.Token=Wd;const bp=65536;function kp(t,e){const r=t.bMarks[e]+t.tShift[e];const i=t.eMarks[e];return t.src.slice(r,i)}function Dp(t){const e=[];const r=t.length;let i=0;let n=t.charCodeAt(i);let s=false;let l=0;let o="";while(i<r){if(n===124){if(!s){e.push(o+t.substring(l,i));o="";l=i+1}else{o+=t.substring(l,i-1);l=i}}s=n===92;i++;n=t.charCodeAt(i)}e.push(o+t.substring(l));return e}function vp(t,e,r,i){if(e+2>r){return false}let n=e+1;if(t.sCount[n]<t.blkIndent){return false}if(t.sCount[n]-t.blkIndent>=4){return false}let s=t.bMarks[n]+t.tShift[n];if(s>=t.eMarks[n]){return false}const l=t.src.charCodeAt(s++);if(l!==124&&l!==45&&l!==58){return false}if(s>=t.eMarks[n]){return false}const o=t.src.charCodeAt(s++);if(o!==124&&o!==45&&o!==58&&!Od(o)){return false}if(l===45&&Od(o)){return false}while(s<t.eMarks[n]){const e=t.src.charCodeAt(s);if(e!==124&&e!==45&&e!==58&&!Od(e)){return false}s++}let u=kp(t,e+1);let f=u.split("|");const h=[];for(let t=0;t<f.length;t++){const e=f[t].trim();if(!e){if(t===0||t===f.length-1){continue}else{return false}}if(!/^:?-+:?$/.test(e)){return false}if(e.charCodeAt(e.length-1)===58){h.push(e.charCodeAt(0)===58?"center":"right")}else if(e.charCodeAt(0)===58){h.push("left")}else{h.push("")}}u=kp(t,e).trim();if(u.indexOf("|")===-1){return false}if(t.sCount[e]-t.blkIndent>=4){return false}f=Dp(u);if(f.length&&f[0]==="")f.shift();if(f.length&&f[f.length-1]==="")f.pop();const a=f.length;if(a===0||a!==h.length){return false}if(i){return true}const c=t.parentType;t.parentType="table";const d=t.md.block.ruler.getRules("blockquote");const p=t.push("table_open","table",1);const m=[e,0];p.map=m;const w=t.push("thead_open","thead",1);w.map=[e,e+1];const g=t.push("tr_open","tr",1);g.map=[e,e+1];for(let e=0;e<f.length;e++){const r=t.push("th_open","th",1);if(h[e]){r.attrs=[["style","text-align:"+h[e]]]}const i=t.push("inline","",0);i.content=f[e].trim();i.children=[];t.push("th_close","th",-1)}t.push("tr_close","tr",-1);t.push("thead_close","thead",-1);let b;let k=0;for(n=e+2;n<r;n++){if(t.sCount[n]<t.blkIndent){break}let i=false;for(let e=0,s=d.length;e<s;e++){if(d[e](t,n,r,true)){i=true;break}}if(i){break}u=kp(t,n).trim();if(!u){break}if(t.sCount[n]-t.blkIndent>=4){break}f=Dp(u);if(f.length&&f[0]==="")f.shift();if(f.length&&f[f.length-1]==="")f.pop();k+=a-f.length;if(k>bp){break}if(n===e+2){const r=t.push("tbody_open","tbody",1);r.map=b=[e+2,0]}const s=t.push("tr_open","tr",1);s.map=[n,n+1];for(let e=0;e<a;e++){const r=t.push("td_open","td",1);if(h[e]){r.attrs=[["style","text-align:"+h[e]]]}const i=t.push("inline","",0);i.content=f[e]?f[e].trim():"";i.children=[];t.push("td_close","td",-1)}t.push("tr_close","tr",-1)}if(b){t.push("tbody_close","tbody",-1);b[1]=n}t.push("table_close","table",-1);m[1]=n;t.parentType=c;t.line=n;return true}function yp(t,e,r){if(t.sCount[e]-t.blkIndent<4){return false}let i=e+1;let n=i;while(i<r){if(t.isEmpty(i)){i++;continue}if(t.sCount[i]-t.blkIndent>=4){i++;n=i;continue}break}t.line=n;const s=t.push("code_block","code",0);s.content=t.getLines(e,n,4+t.blkIndent,false)+"\n";s.map=[e,t.line];return true}function Fp(t,e,r,i){let n=t.bMarks[e]+t.tShift[e];let s=t.eMarks[e];if(t.sCount[e]-t.blkIndent>=4){return false}if(n+3>s){return false}const l=t.src.charCodeAt(n);if(l!==126&&l!==96){return false}let o=n;n=t.skipChars(n,l);let u=n-o;if(u<3){return false}const f=t.src.slice(o,n);const h=t.src.slice(n,s);if(l===96){if(h.indexOf(String.fromCharCode(l))>=0){return false}}if(i){return true}let a=e;let c=false;for(;;){a++;if(a>=r){break}n=o=t.bMarks[a]+t.tShift[a];s=t.eMarks[a];if(n<s&&t.sCount[a]<t.blkIndent){break}if(t.src.charCodeAt(n)!==l){continue}if(t.sCount[a]-t.blkIndent>=4){continue}n=t.skipChars(n,l);if(n-o<u){continue}n=t.skipSpaces(n);if(n<s){continue}c=true;break}u=t.sCount[e];t.line=a+(c?1:0);const d=t.push("fence","code",0);d.info=h;d.content=t.getLines(e+1,a,u,true);d.markup=f;d.map=[e,t.line];return true}function Ep(t,e,r,i){let n=t.bMarks[e]+t.tShift[e];let s=t.eMarks[e];const l=t.lineMax;if(t.sCount[e]-t.blkIndent>=4){return false}if(t.src.charCodeAt(n)!==62){return false}if(i){return true}const o=[];const u=[];const f=[];const h=[];const a=t.md.block.ruler.getRules("blockquote");const c=t.parentType;t.parentType="blockquote";let d=false;let p;for(p=e;p<r;p++){const e=t.sCount[p]<t.blkIndent;n=t.bMarks[p]+t.tShift[p];s=t.eMarks[p];if(n>=s){break}if(t.src.charCodeAt(n++)===62&&!e){let e=t.sCount[p]+1;let r;let i;if(t.src.charCodeAt(n)===32){n++;e++;i=false;r=true}else if(t.src.charCodeAt(n)===9){r=true;if((t.bsCount[p]+e)%4===3){n++;e++;i=false}else{i=true}}else{r=false}let l=e;o.push(t.bMarks[p]);t.bMarks[p]=n;while(n<s){const e=t.src.charCodeAt(n);if(Od(e)){if(e===9){l+=4-(l+t.bsCount[p]+(i?1:0))%4}else{l++}}else{break}n++}d=n>=s;u.push(t.bsCount[p]);t.bsCount[p]=t.sCount[p]+1+(r?1:0);f.push(t.sCount[p]);t.sCount[p]=l-e;h.push(t.tShift[p]);t.tShift[p]=n-t.bMarks[p];continue}if(d){break}let i=false;for(let e=0,n=a.length;e<n;e++){if(a[e](t,p,r,true)){i=true;break}}if(i){t.lineMax=p;if(t.blkIndent!==0){o.push(t.bMarks[p]);u.push(t.bsCount[p]);h.push(t.tShift[p]);f.push(t.sCount[p]);t.sCount[p]-=t.blkIndent}break}o.push(t.bMarks[p]);u.push(t.bsCount[p]);h.push(t.tShift[p]);f.push(t.sCount[p]);t.sCount[p]=-1}const m=t.blkIndent;t.blkIndent=0;const w=t.push("blockquote_open","blockquote",1);w.markup=">";const g=[e,0];w.map=g;t.md.block.tokenize(t,e,p);const b=t.push("blockquote_close","blockquote",-1);b.markup=">";t.lineMax=l;t.parentType=c;g[1]=t.line;for(let r=0;r<h.length;r++){t.bMarks[r+e]=o[r];t.tShift[r+e]=h[r];t.sCount[r+e]=f[r];t.bsCount[r+e]=u[r]}t.blkIndent=m;return true}function Mp(t,e,r,i){const n=t.eMarks[e];if(t.sCount[e]-t.blkIndent>=4){return false}let s=t.bMarks[e]+t.tShift[e];const l=t.src.charCodeAt(s++);if(l!==42&&l!==45&&l!==95){return false}let o=1;while(s<n){const e=t.src.charCodeAt(s++);if(e!==l&&!Od(e)){return false}if(e===l){o++}}if(o<3){return false}if(i){return true}t.line=e+1;const u=t.push("hr","hr",0);u.map=[e,t.line];u.markup=Array(o+1).join(String.fromCharCode(l));return true}function xp(t,e){const r=t.eMarks[e];let i=t.bMarks[e]+t.tShift[e];const n=t.src.charCodeAt(i++);if(n!==42&&n!==45&&n!==43){return-1}if(i<r){const e=t.src.charCodeAt(i);if(!Od(e)){return-1}}return i}function Ap(t,e){const r=t.bMarks[e]+t.tShift[e];const i=t.eMarks[e];let n=r;if(n+1>=i){return-1}let s=t.src.charCodeAt(n++);if(s<48||s>57){return-1}for(;;){if(n>=i){return-1}s=t.src.charCodeAt(n++);if(s>=48&&s<=57){if(n-r>=10){return-1}continue}if(s===41||s===46){break}return-1}if(n<i){s=t.src.charCodeAt(n);if(!Od(s)){return-1}}return n}function Cp(t,e){const r=t.level+2;for(let i=e+2,n=t.tokens.length-2;i<n;i++){if(t.tokens[i].level===r&&t.tokens[i].type==="paragraph_open"){t.tokens[i+2].hidden=true;t.tokens[i].hidden=true;i+=2}}}function Sp(t,e,r,i){let n,s,l,o;let u=e;let f=true;if(t.sCount[u]-t.blkIndent>=4){return false}if(t.listIndent>=0&&t.sCount[u]-t.listIndent>=4&&t.sCount[u]<t.blkIndent){return false}let h=false;if(i&&t.parentType==="paragraph"){if(t.sCount[u]>=t.blkIndent){h=true}}let a;let c;let d;if((d=Ap(t,u))>=0){a=true;l=t.bMarks[u]+t.tShift[u];c=Number(t.src.slice(l,d-1));if(h&&c!==1)return false}else if((d=xp(t,u))>=0){a=false}else{return false}if(h){if(t.skipSpaces(d)>=t.eMarks[u])return false}if(i){return true}const p=t.src.charCodeAt(d-1);const m=t.tokens.length;if(a){o=t.push("ordered_list_open","ol",1);if(c!==1){o.attrs=[["start",c]]}}else{o=t.push("bullet_list_open","ul",1)}const w=[u,0];o.map=w;o.markup=String.fromCharCode(p);let g=false;const b=t.md.block.ruler.getRules("list");const k=t.parentType;t.parentType="list";while(u<r){s=d;n=t.eMarks[u];const e=t.sCount[u]+d-(t.bMarks[u]+t.tShift[u]);let i=e;while(s<n){const e=t.src.charCodeAt(s);if(e===9){i+=4-(i+t.bsCount[u])%4}else if(e===32){i++}else{break}s++}const h=s;let c;if(h>=n){c=1}else{c=i-e}if(c>4){c=1}const m=e+c;o=t.push("list_item_open","li",1);o.markup=String.fromCharCode(p);const w=[u,0];o.map=w;if(a){o.info=t.src.slice(l,d-1)}const k=t.tight;const D=t.tShift[u];const v=t.sCount[u];const y=t.listIndent;t.listIndent=t.blkIndent;t.blkIndent=m;t.tight=true;t.tShift[u]=h-t.bMarks[u];t.sCount[u]=i;if(h>=n&&t.isEmpty(u+1)){t.line=Math.min(t.line+2,r)}else{t.md.block.tokenize(t,u,r,true)}if(!t.tight||g){f=false}g=t.line-u>1&&t.isEmpty(t.line-1);t.blkIndent=t.listIndent;t.listIndent=y;t.tShift[u]=D;t.sCount[u]=v;t.tight=k;o=t.push("list_item_close","li",-1);o.markup=String.fromCharCode(p);u=t.line;w[1]=u;if(u>=r){break}if(t.sCount[u]<t.blkIndent){break}if(t.sCount[u]-t.blkIndent>=4){break}let F=false;for(let e=0,i=b.length;e<i;e++){if(b[e](t,u,r,true)){F=true;break}}if(F){break}if(a){d=Ap(t,u);if(d<0){break}l=t.bMarks[u]+t.tShift[u]}else{d=xp(t,u);if(d<0){break}}if(p!==t.src.charCodeAt(d-1)){break}}if(a){o=t.push("ordered_list_close","ol",-1)}else{o=t.push("bullet_list_close","ul",-1)}o.markup=String.fromCharCode(p);w[1]=u;t.line=u;t.parentType=k;if(f){Cp(t,m)}return true}function Op(t,e,r,i){let n=t.bMarks[e]+t.tShift[e];let s=t.eMarks[e];let l=e+1;if(t.sCount[e]-t.blkIndent>=4){return false}if(t.src.charCodeAt(n)!==91){return false}function o(e){const r=t.lineMax;if(e>=r||t.isEmpty(e)){return null}let i=false;if(t.sCount[e]-t.blkIndent>3){i=true}if(t.sCount[e]<0){i=true}if(!i){const i=t.md.block.ruler.getRules("reference");const n=t.parentType;t.parentType="reference";let s=false;for(let n=0,l=i.length;n<l;n++){if(i[n](t,e,r,true)){s=true;break}}t.parentType=n;if(s){return null}}const n=t.bMarks[e]+t.tShift[e];const s=t.eMarks[e];return t.src.slice(n,s+1)}let u=t.src.slice(n,s+1);s=u.length;let f=-1;for(n=1;n<s;n++){const t=u.charCodeAt(n);if(t===91){return false}else if(t===93){f=n;break}else if(t===10){const t=o(l);if(t!==null){u+=t;s=u.length;l++}}else if(t===92){n++;if(n<s&&u.charCodeAt(n)===10){const t=o(l);if(t!==null){u+=t;s=u.length;l++}}}}if(f<0||u.charCodeAt(f+1)!==58){return false}for(n=f+2;n<s;n++){const t=u.charCodeAt(n);if(t===10){const t=o(l);if(t!==null){u+=t;s=u.length;l++}}else if(Od(t));else{break}}const h=t.md.helpers.parseLinkDestination(u,n,s);if(!h.ok){return false}const a=t.md.normalizeLink(h.str);if(!t.md.validateLink(a)){return false}n=h.pos;const c=n;const d=l;const p=n;for(;n<s;n++){const t=u.charCodeAt(n);if(t===10){const t=o(l);if(t!==null){u+=t;s=u.length;l++}}else if(Od(t));else{break}}let m=t.md.helpers.parseLinkTitle(u,n,s);while(m.can_continue){const e=o(l);if(e===null)break;u+=e;n=s;s=u.length;l++;m=t.md.helpers.parseLinkTitle(u,n,s,m)}let w;if(n<s&&p!==n&&m.ok){w=m.str;n=m.pos}else{w="";n=c;l=d}while(n<s){const t=u.charCodeAt(n);if(!Od(t)){break}n++}if(n<s&&u.charCodeAt(n)!==10){if(w){w="";n=c;l=d;while(n<s){const t=u.charCodeAt(n);if(!Od(t)){break}n++}}}if(n<s&&u.charCodeAt(n)!==10){return false}const g=Rd(u.slice(1,f));if(!g){return false}if(i){return true}if(typeof t.env.references==="undefined"){t.env.references={}}if(typeof t.env.references[g]==="undefined"){t.env.references[g]={title:w,href:a}}t.line=l;return true}const $p=["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","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"];const _p="[a-zA-Z_:][a-zA-Z0-9:._-]*";const Bp="[^\"'=<>`\\x00-\\x20]+";const Rp="'[^']*'";const jp='"[^"]*"';const Np="(?:"+Bp+"|"+Rp+"|"+jp+")";const qp="(?:\\s+"+_p+"(?:\\s*=\\s*"+Np+")?)";const zp="<[A-Za-z][A-Za-z0-9\\-]*"+qp+"*\\s*\\/?>";const Tp="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>";const Ip="\x3c!---?>|\x3c!--(?:[^-]|-[^-]|--[^>])*--\x3e";const Pp="<[?][\\s\\S]*?[?]>";const Jp="<![A-Za-z][^>]*>";const Lp="<!\\[CDATA\\[[\\s\\S]*?\\]\\]>";const Wp=new RegExp("^(?:"+zp+"|"+Tp+"|"+Ip+"|"+Pp+"|"+Jp+"|"+Lp+")");const Up=new RegExp("^(?:"+zp+"|"+Tp+")");const Hp=[[/^<(script|pre|style|textarea)(?=(\s|>|$))/i,/<\/(script|pre|style|textarea)>/i,true],[/^<!--/,/-->/,true],[/^<\?/,/\?>/,true],[/^<![A-Z]/,/>/,true],[/^<!\[CDATA\[/,/\]\]>/,true],[new RegExp("^</?("+$p.join("|")+")(?=(\\s|/?>|$))","i"),/^$/,true],[new RegExp(Up.source+"\\s*$"),/^$/,false]];function Zp(t,e,r,i){let n=t.bMarks[e]+t.tShift[e];let s=t.eMarks[e];if(t.sCount[e]-t.blkIndent>=4){return false}if(!t.md.options.html){return false}if(t.src.charCodeAt(n)!==60){return false}let l=t.src.slice(n,s);let o=0;for(;o<Hp.length;o++){if(Hp[o][0].test(l)){break}}if(o===Hp.length){return false}if(i){return Hp[o][2]}let u=e+1;if(!Hp[o][1].test(l)){for(;u<r;u++){if(t.sCount[u]<t.blkIndent){break}n=t.bMarks[u]+t.tShift[u];s=t.eMarks[u];l=t.src.slice(n,s);if(Hp[o][1].test(l)){if(l.length!==0){u++}break}}}t.line=u;const f=t.push("html_block","",0);f.map=[e,u];f.content=t.getLines(e,u,t.blkIndent,true);return true}function Kp(t,e,r,i){let n=t.bMarks[e]+t.tShift[e];let s=t.eMarks[e];if(t.sCount[e]-t.blkIndent>=4){return false}let l=t.src.charCodeAt(n);if(l!==35||n>=s){return false}let o=1;l=t.src.charCodeAt(++n);while(l===35&&n<s&&o<=6){o++;l=t.src.charCodeAt(++n)}if(o>6||n<s&&!Od(l)){return false}if(i){return true}s=t.skipSpacesBack(s,n);const u=t.skipCharsBack(s,35,n);if(u>n&&Od(t.src.charCodeAt(u-1))){s=u}t.line=e+1;const f=t.push("heading_open","h"+String(o),1);f.markup="########".slice(0,o);f.map=[e,t.line];const h=t.push("inline","",0);h.content=t.src.slice(n,s).trim();h.map=[e,t.line];h.children=[];const a=t.push("heading_close","h"+String(o),-1);a.markup="########".slice(0,o);return true}function Vp(t,e,r){const i=t.md.block.ruler.getRules("paragraph");if(t.sCount[e]-t.blkIndent>=4){return false}const n=t.parentType;t.parentType="paragraph";let s=0;let l;let o=e+1;for(;o<r&&!t.isEmpty(o);o++){if(t.sCount[o]-t.blkIndent>3){continue}if(t.sCount[o]>=t.blkIndent){let e=t.bMarks[o]+t.tShift[o];const r=t.eMarks[o];if(e<r){l=t.src.charCodeAt(e);if(l===45||l===61){e=t.skipChars(e,l);e=t.skipSpaces(e);if(e>=r){s=l===61?1:2;break}}}}if(t.sCount[o]<0){continue}let e=false;for(let n=0,s=i.length;n<s;n++){if(i[n](t,o,r,true)){e=true;break}}if(e){break}}if(!s){return false}const u=t.getLines(e,o,t.blkIndent,false).trim();t.line=o+1;const f=t.push("heading_open","h"+String(s),1);f.markup=String.fromCharCode(l);f.map=[e,t.line];const h=t.push("inline","",0);h.content=u;h.map=[e,t.line-1];h.children=[];const a=t.push("heading_close","h"+String(s),-1);a.markup=String.fromCharCode(l);t.parentType=n;return true}function Gp(t,e,r){const i=t.md.block.ruler.getRules("paragraph");const n=t.parentType;let s=e+1;t.parentType="paragraph";for(;s<r&&!t.isEmpty(s);s++){if(t.sCount[s]-t.blkIndent>3){continue}if(t.sCount[s]<0){continue}let e=false;for(let n=0,l=i.length;n<l;n++){if(i[n](t,s,r,true)){e=true;break}}if(e){break}}const l=t.getLines(e,s,t.blkIndent,false).trim();t.line=s;const o=t.push("paragraph_open","p",1);o.map=[e,t.line];const u=t.push("inline","",0);u.content=l;u.map=[e,t.line];u.children=[];t.push("paragraph_close","p",-1);t.parentType=n;return true}const Xp=[["table",vp,["paragraph","reference"]],["code",yp],["fence",Fp,["paragraph","reference","blockquote","list"]],["blockquote",Ep,["paragraph","reference","blockquote","list"]],["hr",Mp,["paragraph","reference","blockquote","list"]],["list",Sp,["paragraph","reference","blockquote"]],["reference",Op],["html_block",Zp,["paragraph","reference","blockquote"]],["heading",Kp,["paragraph","reference","blockquote"]],["lheading",Vp],["paragraph",Gp]];function Yp(){this.ruler=new Ld;for(let t=0;t<Xp.length;t++){this.ruler.push(Xp[t][0],Xp[t][1],{alt:(Xp[t][2]||[]).slice()})}}Yp.prototype.tokenize=function(t,e,r){const i=this.ruler.getRules("");const n=i.length;const s=t.md.options.maxNesting;let l=e;let o=false;while(l<r){t.line=l=t.skipEmptyLines(l);if(l>=r){break}if(t.sCount[l]<t.blkIndent){break}if(t.level>=s){t.line=r;break}const e=t.line;let u=false;for(let s=0;s<n;s++){u=i[s](t,l,r,false);if(u){if(e>=t.line){throw new Error("block rule didn't increment state.line")}break}}if(!u)throw new Error("none of the block rules matched");t.tight=!o;if(t.isEmpty(t.line-1)){o=true}l=t.line;if(l<r&&t.isEmpty(l)){o=true;l++;t.line=l}}};Yp.prototype.parse=function(t,e,r,i){if(!t){return}const n=new this.State(t,e,r,i);this.tokenize(n,n.line,n.lineMax)};Yp.prototype.State=gp;function Qp(t,e,r,i){this.src=t;this.env=r;this.md=e;this.tokens=i;this.tokens_meta=Array(i.length);this.pos=0;this.posMax=this.src.length;this.level=0;this.pending="";this.pendingLevel=0;this.cache={};this.delimiters=[];this._prev_delimiters=[];this.backticks={};this.backticksScanned=false;this.linkLevel=0}Qp.prototype.pushPending=function(){const t=new Wd("text","",0);t.content=this.pending;t.level=this.pendingLevel;this.tokens.push(t);this.pending="";return t};Qp.prototype.push=function(t,e,r){if(this.pending){this.pushPending()}const i=new Wd(t,e,r);let n=null;if(r<0){this.level--;this.delimiters=this._prev_delimiters.pop()}i.level=this.level;if(r>0){this.level++;this._prev_delimiters.push(this.delimiters);this.delimiters=[];n={delimiters:this.delimiters}}this.pendingLevel=this.level;this.tokens.push(i);this.tokens_meta.push(n);return i};Qp.prototype.scanDelims=function(t,e){const r=this.posMax;const i=this.src.charCodeAt(t);const n=t>0?this.src.charCodeAt(t-1):32;let s=t;while(s<r&&this.src.charCodeAt(s)===i){s++}const l=s-t;const o=s<r?this.src.charCodeAt(s):32;const u=Bd(n)||_d(String.fromCharCode(n));const f=Bd(o)||_d(String.fromCharCode(o));const h=$d(n);const a=$d(o);const c=!a&&(!f||h||u);const d=!h&&(!u||a||f);const p=c&&(e||!d||u);const m=d&&(e||!c||f);return{can_open:p,can_close:m,length:l}};Qp.prototype.Token=Wd;function tm(t){switch(t){case 10:case 33:case 35:case 36:case 37:case 38:case 42:case 43:case 45:case 58:case 60:case 61:case 62:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 125:case 126:return true;default:return false}}function em(t,e){let r=t.pos;while(r<t.posMax&&!tm(t.src.charCodeAt(r))){r++}if(r===t.pos){return false}if(!e){t.pending+=t.src.slice(t.pos,r)}t.pos=r;return true}const rm=/(?:^|[^a-z0-9.+-])([a-z][a-z0-9.+-]*)$/i;function im(t,e){if(!t.md.options.linkify)return false;if(t.linkLevel>0)return false;const r=t.pos;const i=t.posMax;if(r+3>i)return false;if(t.src.charCodeAt(r)!==58)return false;if(t.src.charCodeAt(r+1)!==47)return false;if(t.src.charCodeAt(r+2)!==47)return false;const n=t.pending.match(rm);if(!n)return false;const s=n[1];const l=t.md.linkify.matchAtStart(t.src.slice(r-s.length));if(!l)return false;let o=l.url;if(o.length<=s.length)return false;o=o.replace(/\*+$/,"");const u=t.md.normalizeLink(o);if(!t.md.validateLink(u))return false;if(!e){t.pending=t.pending.slice(0,-s.length);const e=t.push("link_open","a",1);e.attrs=[["href",u]];e.markup="linkify";e.info="auto";const r=t.push("text","",0);r.content=t.md.normalizeLinkText(o);const i=t.push("link_close","a",-1);i.markup="linkify";i.info="auto"}t.pos+=o.length-s.length;return true}function nm(t,e){let r=t.pos;if(t.src.charCodeAt(r)!==10){return false}const i=t.pending.length-1;const n=t.posMax;if(!e){if(i>=0&&t.pending.charCodeAt(i)===32){if(i>=1&&t.pending.charCodeAt(i-1)===32){let e=i-1;while(e>=1&&t.pending.charCodeAt(e-1)===32)e--;t.pending=t.pending.slice(0,e);t.push("hardbreak","br",0)}else{t.pending=t.pending.slice(0,-1);t.push("softbreak","br",0)}}else{t.push("softbreak","br",0)}}r++;while(r<n&&Od(t.src.charCodeAt(r))){r++}t.pos=r;return true}const sm=[];for(let t=0;t<256;t++){sm.push(0)}"\\!\"#$%&'()*+,./:;<=>?@[]^_`{|}~-".split("").forEach((function(t){sm[t.charCodeAt(0)]=1}));function lm(t,e){let r=t.pos;const i=t.posMax;if(t.src.charCodeAt(r)!==92)return false;r++;if(r>=i)return false;let n=t.src.charCodeAt(r);if(n===10){if(!e){t.push("hardbreak","br",0)}r++;while(r<i){n=t.src.charCodeAt(r);if(!Od(n))break;r++}t.pos=r;return true}let s=t.src[r];if(n>=55296&&n<=56319&&r+1<i){const e=t.src.charCodeAt(r+1);if(e>=56320&&e<=57343){s+=t.src[r+1];r++}}const l="\\"+s;if(!e){const e=t.push("text_special","",0);if(n<256&&sm[n]!==0){e.content=s}else{e.content=l}e.markup=l;e.info="escape"}t.pos=r+1;return true}function om(t,e){let r=t.pos;const i=t.src.charCodeAt(r);if(i!==96){return false}const n=r;r++;const s=t.posMax;while(r<s&&t.src.charCodeAt(r)===96){r++}const l=t.src.slice(n,r);const o=l.length;if(t.backticksScanned&&(t.backticks[o]||0)<=n){if(!e)t.pending+=l;t.pos+=o;return true}let u=r;let f;while((f=t.src.indexOf("`",u))!==-1){u=f+1;while(u<s&&t.src.charCodeAt(u)===96){u++}const i=u-f;if(i===o){if(!e){const e=t.push("code_inline","code",0);e.markup=l;e.content=t.src.slice(r,f).replace(/\n/g," ").replace(/^ (.+) $/,"$1")}t.pos=u;return true}t.backticks[i]=f}t.backticksScanned=true;if(!e)t.pending+=l;t.pos+=o;return true}function um(t,e){const r=t.pos;const i=t.src.charCodeAt(r);if(e){return false}if(i!==126){return false}const n=t.scanDelims(t.pos,true);let s=n.length;const l=String.fromCharCode(i);if(s<2){return false}let o;if(s%2){o=t.push("text","",0);o.content=l;s--}for(let e=0;e<s;e+=2){o=t.push("text","",0);o.content=l+l;t.delimiters.push({marker:i,length:0,token:t.tokens.length-1,end:-1,open:n.can_open,close:n.can_close})}t.pos+=n.length;return true}function fm(t,e){let r;const i=[];const n=e.length;for(let s=0;s<n;s++){const n=e[s];if(n.marker!==126){continue}if(n.end===-1){continue}const l=e[n.end];r=t.tokens[n.token];r.type="s_open";r.tag="s";r.nesting=1;r.markup="~~";r.content="";r=t.tokens[l.token];r.type="s_close";r.tag="s";r.nesting=-1;r.markup="~~";r.content="";if(t.tokens[l.token-1].type==="text"&&t.tokens[l.token-1].content==="~"){i.push(l.token-1)}}while(i.length){const e=i.pop();let n=e+1;while(n<t.tokens.length&&t.tokens[n].type==="s_close"){n++}n--;if(e!==n){r=t.tokens[n];t.tokens[n]=t.tokens[e];t.tokens[e]=r}}}function hm(t){const e=t.tokens_meta;const r=t.tokens_meta.length;fm(t,t.delimiters);for(let i=0;i<r;i++){if(e[i]&&e[i].delimiters){fm(t,e[i].delimiters)}}}const am={tokenize:um,postProcess:hm};function cm(t,e){const r=t.pos;const i=t.src.charCodeAt(r);if(e){return false}if(i!==95&&i!==42){return false}const n=t.scanDelims(t.pos,i===42);for(let e=0;e<n.length;e++){const e=t.push("text","",0);e.content=String.fromCharCode(i);t.delimiters.push({marker:i,length:n.length,token:t.tokens.length-1,end:-1,open:n.can_open,close:n.can_close})}t.pos+=n.length;return true}function dm(t,e){const r=e.length;for(let i=r-1;i>=0;i--){const r=e[i];if(r.marker!==95&&r.marker!==42){continue}if(r.end===-1){continue}const n=e[r.end];const s=i>0&&e[i-1].end===r.end+1&&e[i-1].marker===r.marker&&e[i-1].token===r.token-1&&e[r.end+1].token===n.token+1;const l=String.fromCharCode(r.marker);const o=t.tokens[r.token];o.type=s?"strong_open":"em_open";o.tag=s?"strong":"em";o.nesting=1;o.markup=s?l+l:l;o.content="";const u=t.tokens[n.token];u.type=s?"strong_close":"em_close";u.tag=s?"strong":"em";u.nesting=-1;u.markup=s?l+l:l;u.content="";if(s){t.tokens[e[i-1].token].content="";t.tokens[e[r.end+1].token].content="";i--}}}function pm(t){const e=t.tokens_meta;const r=t.tokens_meta.length;dm(t,t.delimiters);for(let i=0;i<r;i++){if(e[i]&&e[i].delimiters){dm(t,e[i].delimiters)}}}const mm={tokenize:cm,postProcess:pm};function wm(t,e){let r,i,n,s;let l="";let o="";let u=t.pos;let f=true;if(t.src.charCodeAt(t.pos)!==91){return false}const h=t.pos;const a=t.posMax;const c=t.pos+1;const d=t.md.helpers.parseLinkLabel(t,t.pos,true);if(d<0){return false}let p=d+1;if(p<a&&t.src.charCodeAt(p)===40){f=false;p++;for(;p<a;p++){r=t.src.charCodeAt(p);if(!Od(r)&&r!==10){break}}if(p>=a){return false}u=p;n=t.md.helpers.parseLinkDestination(t.src,p,t.posMax);if(n.ok){l=t.md.normalizeLink(n.str);if(t.md.validateLink(l)){p=n.pos}else{l=""}u=p;for(;p<a;p++){r=t.src.charCodeAt(p);if(!Od(r)&&r!==10){break}}n=t.md.helpers.parseLinkTitle(t.src,p,t.posMax);if(p<a&&u!==p&&n.ok){o=n.str;p=n.pos;for(;p<a;p++){r=t.src.charCodeAt(p);if(!Od(r)&&r!==10){break}}}}if(p>=a||t.src.charCodeAt(p)!==41){f=true}p++}if(f){if(typeof t.env.references==="undefined"){return false}if(p<a&&t.src.charCodeAt(p)===91){u=p+1;p=t.md.helpers.parseLinkLabel(t,p);if(p>=0){i=t.src.slice(u,p++)}else{p=d+1}}else{p=d+1}if(!i){i=t.src.slice(c,d)}s=t.env.references[Rd(i)];if(!s){t.pos=h;return false}l=s.href;o=s.title}if(!e){t.pos=c;t.posMax=d;const e=t.push("link_open","a",1);const r=[["href",l]];e.attrs=r;if(o){r.push(["title",o])}t.linkLevel++;t.md.inline.tokenize(t);t.linkLevel--;t.push("link_close","a",-1)}t.pos=p;t.posMax=a;return true}function gm(t,e){let r,i,n,s,l,o,u,f;let h="";const a=t.pos;const c=t.posMax;if(t.src.charCodeAt(t.pos)!==33){return false}if(t.src.charCodeAt(t.pos+1)!==91){return false}const d=t.pos+2;const p=t.md.helpers.parseLinkLabel(t,t.pos+1,false);if(p<0){return false}s=p+1;if(s<c&&t.src.charCodeAt(s)===40){s++;for(;s<c;s++){r=t.src.charCodeAt(s);if(!Od(r)&&r!==10){break}}if(s>=c){return false}f=s;o=t.md.helpers.parseLinkDestination(t.src,s,t.posMax);if(o.ok){h=t.md.normalizeLink(o.str);if(t.md.validateLink(h)){s=o.pos}else{h=""}}f=s;for(;s<c;s++){r=t.src.charCodeAt(s);if(!Od(r)&&r!==10){break}}o=t.md.helpers.parseLinkTitle(t.src,s,t.posMax);if(s<c&&f!==s&&o.ok){u=o.str;s=o.pos;for(;s<c;s++){r=t.src.charCodeAt(s);if(!Od(r)&&r!==10){break}}}else{u=""}if(s>=c||t.src.charCodeAt(s)!==41){t.pos=a;return false}s++}else{if(typeof t.env.references==="undefined"){return false}if(s<c&&t.src.charCodeAt(s)===91){f=s+1;s=t.md.helpers.parseLinkLabel(t,s);if(s>=0){n=t.src.slice(f,s++)}else{s=p+1}}else{s=p+1}if(!n){n=t.src.slice(d,p)}l=t.env.references[Rd(n)];if(!l){t.pos=a;return false}h=l.href;u=l.title}if(!e){i=t.src.slice(d,p);const e=[];t.md.inline.parse(i,t.md,t.env,e);const r=t.push("image","img",0);const n=[["src",h],["alt",""]];r.attrs=n;r.children=e;r.content=i;if(u){n.push(["title",u])}}t.pos=s;t.posMax=c;return true}const bm=/^([a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)$/;const km=/^([a-zA-Z][a-zA-Z0-9+.-]{1,31}):([^<>\x00-\x20]*)$/;function Dm(t,e){let r=t.pos;if(t.src.charCodeAt(r)!==60){return false}const i=t.pos;const n=t.posMax;for(;;){if(++r>=n)return false;const e=t.src.charCodeAt(r);if(e===60)return false;if(e===62)break}const s=t.src.slice(i+1,r);if(km.test(s)){const r=t.md.normalizeLink(s);if(!t.md.validateLink(r)){return false}if(!e){const e=t.push("link_open","a",1);e.attrs=[["href",r]];e.markup="autolink";e.info="auto";const i=t.push("text","",0);i.content=t.md.normalizeLinkText(s);const n=t.push("link_close","a",-1);n.markup="autolink";n.info="auto"}t.pos+=s.length+2;return true}if(bm.test(s)){const r=t.md.normalizeLink("mailto:"+s);if(!t.md.validateLink(r)){return false}if(!e){const e=t.push("link_open","a",1);e.attrs=[["href",r]];e.markup="autolink";e.info="auto";const i=t.push("text","",0);i.content=t.md.normalizeLinkText(s);const n=t.push("link_close","a",-1);n.markup="autolink";n.info="auto"}t.pos+=s.length+2;return true}return false}function vm(t){return/^<a[>\s]/i.test(t)}function ym(t){return/^<\/a\s*>/i.test(t)}function Fm(t){const e=t|32;return e>=97&&e<=122}function Em(t,e){if(!t.md.options.html){return false}const r=t.posMax;const i=t.pos;if(t.src.charCodeAt(i)!==60||i+2>=r){return false}const n=t.src.charCodeAt(i+1);if(n!==33&&n!==63&&n!==47&&!Fm(n)){return false}const s=t.src.slice(i).match(Wp);if(!s){return false}if(!e){const e=t.push("html_inline","",0);e.content=s[0];if(vm(e.content))t.linkLevel++;if(ym(e.content))t.linkLevel--}t.pos+=s[0].length;return true}const Mm=/^&#((?:x[a-f0-9]{1,6}|[0-9]{1,7}));/i;const xm=/^&([a-z][a-z0-9]{1,31});/i;function Am(t,e){const r=t.pos;const i=t.posMax;if(t.src.charCodeAt(r)!==38)return false;if(r+1>=i)return false;const n=t.src.charCodeAt(r+1);if(n===35){const i=t.src.slice(r).match(Mm);if(i){if(!e){const e=i[1][0].toLowerCase()==="x"?parseInt(i[1].slice(1),16):parseInt(i[1],10);const r=t.push("text_special","",0);r.content=pd(e)?md(e):md(65533);r.markup=i[0];r.info="entity"}t.pos+=i[0].length;return true}}else{const i=t.src.slice(r).match(xm);if(i){const r=M(i[0]);if(r!==i[0]){if(!e){const e=t.push("text_special","",0);e.content=r;e.markup=i[0];e.info="entity"}t.pos+=i[0].length;return true}}}return false}function Cm(t){const e={};const r=t.length;if(!r)return;let i=0;let n=-2;const s=[];for(let l=0;l<r;l++){const r=t[l];s.push(0);if(t[i].marker!==r.marker||n!==r.token-1){i=l}n=r.token;r.length=r.length||0;if(!r.close)continue;if(!e.hasOwnProperty(r.marker)){e[r.marker]=[-1,-1,-1,-1,-1,-1]}const o=e[r.marker][(r.open?3:0)+r.length%3];let u=i-s[i]-1;let f=u;for(;u>o;u-=s[u]+1){const e=t[u];if(e.marker!==r.marker)continue;if(e.open&&e.end<0){let i=false;if(e.close||r.open){if((e.length+r.length)%3===0){if(e.length%3!==0||r.length%3!==0){i=true}}}if(!i){const i=u>0&&!t[u-1].open?s[u-1]+1:0;s[l]=l-u+i;s[u]=i;r.open=false;e.end=l;e.close=false;f=-1;n=-2;break}}}if(f!==-1){e[r.marker][(r.open?3:0)+(r.length||0)%3]=f}}}function Sm(t){const e=t.tokens_meta;const r=t.tokens_meta.length;Cm(t.delimiters);for(let t=0;t<r;t++){if(e[t]&&e[t].delimiters){Cm(e[t].delimiters)}}}function Om(t){let e,r;let i=0;const n=t.tokens;const s=t.tokens.length;for(e=r=0;e<s;e++){if(n[e].nesting<0)i--;n[e].level=i;if(n[e].nesting>0)i++;if(n[e].type==="text"&&e+1<s&&n[e+1].type==="text"){n[e+1].content=n[e].content+n[e+1].content}else{if(e!==r){n[r]=n[e]}r++}}if(e!==r){n.length=r}}const $m=[["text",em],["linkify",im],["newline",nm],["escape",lm],["backticks",om],["strikethrough",am.tokenize],["emphasis",mm.tokenize],["link",wm],["image",gm],["autolink",Dm],["html_inline",Em],["entity",Am]];const _m=[["balance_pairs",Sm],["strikethrough",am.postProcess],["emphasis",mm.postProcess],["fragments_join",Om]];function Bm(){this.ruler=new Ld;for(let t=0;t<$m.length;t++){this.ruler.push($m[t][0],$m[t][1])}this.ruler2=new Ld;for(let t=0;t<_m.length;t++){this.ruler2.push(_m[t][0],_m[t][1])}}Bm.prototype.skipToken=function(t){const e=t.pos;const r=this.ruler.getRules("");const i=r.length;const n=t.md.options.maxNesting;const s=t.cache;if(typeof s[e]!=="undefined"){t.pos=s[e];return}let l=false;if(t.level<n){for(let n=0;n<i;n++){t.level++;l=r[n](t,true);t.level--;if(l){if(e>=t.pos){throw new Error("inline rule didn't increment state.pos")}break}}}else{t.pos=t.posMax}if(!l){t.pos++}s[e]=t.pos};Bm.prototype.tokenize=function(t){const e=this.ruler.getRules("");const r=e.length;const i=t.posMax;const n=t.md.options.maxNesting;while(t.pos<i){const s=t.pos;let l=false;if(t.level<n){for(let i=0;i<r;i++){l=e[i](t,false);if(l){if(s>=t.pos){throw new Error("inline rule didn't increment state.pos")}break}}}if(l){if(t.pos>=i){break}continue}t.pending+=t.src[t.pos++]}if(t.pending){t.pushPending()}};Bm.prototype.parse=function(t,e,r,i){const n=new this.State(t,e,r,i);this.tokenize(n);const s=this.ruler2.getRules("");const l=s.length;for(let t=0;t<l;t++){s[t](n)}};Bm.prototype.State=Qp;function Rm(t){const e={};t=t||{};e.src_Any=ed.source;e.src_Cc=rd.source;e.src_Z=ld.source;e.src_P=nd.source;e.src_ZPCc=[e.src_Z,e.src_P,e.src_Cc].join("|");e.src_ZCc=[e.src_Z,e.src_Cc].join("|");const r="[><|]";e.src_pseudo_letter="(?:(?!"+r+"|"+e.src_ZPCc+")"+e.src_Any+")";e.src_ip4="(?:(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)";e.src_auth="(?:(?:(?!"+e.src_ZCc+"|[@/\\[\\]()]).)+@)?";e.src_port="(?::(?:6(?:[0-4]\\d{3}|5(?:[0-4]\\d{2}|5(?:[0-2]\\d|3[0-5])))|[1-5]?\\d{1,4}))?";e.src_host_terminator="(?=$|"+r+"|"+e.src_ZPCc+")"+"(?!"+(t["---"]?"-(?!--)|":"-|")+"_|:\\d|\\.-|\\.(?!$|"+e.src_ZPCc+"))";e.src_path="(?:"+"[/?#]"+"(?:"+"(?!"+e.src_ZCc+"|"+r+"|[()[\\]{}.,\"'?!\\-;]).|"+"\\[(?:(?!"+e.src_ZCc+"|\\]).)*\\]|"+"\\((?:(?!"+e.src_ZCc+"|[)]).)*\\)|"+"\\{(?:(?!"+e.src_ZCc+"|[}]).)*\\}|"+'\\"(?:(?!'+e.src_ZCc+'|["]).)+\\"|'+"\\'(?:(?!"+e.src_ZCc+"|[']).)+\\'|"+"\\'(?="+e.src_pseudo_letter+"|[-])|"+"\\.{2,}[a-zA-Z0-9%/&]|"+"\\.(?!"+e.src_ZCc+"|[.]|$)|"+(t["---"]?"\\-(?!--(?:[^-]|$))(?:-*)|":"\\-+|")+",(?!"+e.src_ZCc+"|$)|"+";(?!"+e.src_ZCc+"|$)|"+"\\!+(?!"+e.src_ZCc+"|[!]|$)|"+"\\?(?!"+e.src_ZCc+"|[?]|$)"+")+"+"|\\/"+")?";e.src_email_name='[\\-;:&=\\+\\$,\\.a-zA-Z0-9_][\\-;:&=\\+\\$,\\"\\.a-zA-Z0-9_]*';e.src_xn="xn--[a-z0-9\\-]{1,59}";e.src_domain_root="(?:"+e.src_xn+"|"+e.src_pseudo_letter+"{1,63}"+")";e.src_domain="(?:"+e.src_xn+"|"+"(?:"+e.src_pseudo_letter+")"+"|"+"(?:"+e.src_pseudo_letter+"(?:-|"+e.src_pseudo_letter+"){0,61}"+e.src_pseudo_letter+")"+")";e.src_host="(?:"+"(?:(?:(?:"+e.src_domain+")\\.)*"+e.src_domain+")"+")";e.tpl_host_fuzzy="(?:"+e.src_ip4+"|"+"(?:(?:(?:"+e.src_domain+")\\.)+(?:%TLDS%))"+")";e.tpl_host_no_ip_fuzzy="(?:(?:(?:"+e.src_domain+")\\.)+(?:%TLDS%))";e.src_host_strict=e.src_host+e.src_host_terminator;e.tpl_host_fuzzy_strict=e.tpl_host_fuzzy+e.src_host_terminator;e.src_host_port_strict=e.src_host+e.src_port+e.src_host_terminator;e.tpl_host_port_fuzzy_strict=e.tpl_host_fuzzy+e.src_port+e.src_host_terminator;e.tpl_host_port_no_ip_fuzzy_strict=e.tpl_host_no_ip_fuzzy+e.src_port+e.src_host_terminator;e.tpl_host_fuzzy_test="localhost|www\\.|\\.\\d{1,3}\\.|(?:\\.(?:%TLDS%)(?:"+e.src_ZPCc+"|>|$))";e.tpl_email_fuzzy="(^|"+r+'|"|\\(|'+e.src_ZCc+")"+"("+e.src_email_name+"@"+e.tpl_host_fuzzy_strict+")";e.tpl_link_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`||]|"+e.src_ZPCc+"))"+"((?![$+<=>^`||])"+e.tpl_host_port_fuzzy_strict+e.src_path+")";e.tpl_link_no_ip_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`||]|"+e.src_ZPCc+"))"+"((?![$+<=>^`||])"+e.tpl_host_port_no_ip_fuzzy_strict+e.src_path+")";return e}function jm(t){const e=Array.prototype.slice.call(arguments,1);e.forEach((function(e){if(!e){return}Object.keys(e).forEach((function(r){t[r]=e[r]}))}));return t}function Nm(t){return Object.prototype.toString.call(t)}function qm(t){return Nm(t)==="[object String]"}function zm(t){return Nm(t)==="[object Object]"}function Tm(t){return Nm(t)==="[object RegExp]"}function Im(t){return Nm(t)==="[object Function]"}function Pm(t){return t.replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}const Jm={fuzzyLink:true,fuzzyEmail:true,fuzzyIP:false};function Lm(t){return Object.keys(t||{}).reduce((function(t,e){return t||Jm.hasOwnProperty(e)}),false)}const Wm={"http:":{validate:function(t,e,r){const i=t.slice(e);if(!r.re.http){r.re.http=new RegExp("^\\/\\/"+r.re.src_auth+r.re.src_host_port_strict+r.re.src_path,"i")}if(r.re.http.test(i)){return i.match(r.re.http)[0].length}return 0}},"https:":"http:","ftp:":"http:","//":{validate:function(t,e,r){const i=t.slice(e);if(!r.re.no_http){r.re.no_http=new RegExp("^"+r.re.src_auth+"(?:localhost|(?:(?:"+r.re.src_domain+")\\.)+"+r.re.src_domain_root+")"+r.re.src_port+r.re.src_host_terminator+r.re.src_path,"i")}if(r.re.no_http.test(i)){if(e>=3&&t[e-3]===":"){return 0}if(e>=3&&t[e-3]==="/"){return 0}return i.match(r.re.no_http)[0].length}return 0}},"mailto:":{validate:function(t,e,r){const i=t.slice(e);if(!r.re.mailto){r.re.mailto=new RegExp("^"+r.re.src_email_name+"@"+r.re.src_host_strict,"i")}if(r.re.mailto.test(i)){return i.match(r.re.mailto)[0].length}return 0}}};const Um="a[cdefgilmnoqrstuwxz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvwxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdeghklmnopqrstuvwxyz]|n[acefgilopruz]|om|p[aefghklmnrstwy]|qa|r[eosuw]|s[abcdeghijklmnortuvxyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[et]|z[amw]";const Hm="biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф".split("|");function Zm(t){t.__index__=-1;t.__text_cache__=""}function Km(t){return function(e,r){const i=e.slice(r);if(t.test(i)){return i.match(t)[0].length}return 0}}function Vm(){return function(t,e){e.normalize(t)}}function Gm(t){const e=t.re=Rm(t.__opts__);const r=t.__tlds__.slice();t.onCompile();if(!t.__tlds_replaced__){r.push(Um)}r.push(e.src_xn);e.src_tlds=r.join("|");function i(t){return t.replace("%TLDS%",e.src_tlds)}e.email_fuzzy=RegExp(i(e.tpl_email_fuzzy),"i");e.link_fuzzy=RegExp(i(e.tpl_link_fuzzy),"i");e.link_no_ip_fuzzy=RegExp(i(e.tpl_link_no_ip_fuzzy),"i");e.host_fuzzy_test=RegExp(i(e.tpl_host_fuzzy_test),"i");const n=[];t.__compiled__={};function s(t,e){throw new Error('(LinkifyIt) Invalid schema "'+t+'": '+e)}Object.keys(t.__schemas__).forEach((function(e){const r=t.__schemas__[e];if(r===null){return}const i={validate:null,link:null};t.__compiled__[e]=i;if(zm(r)){if(Tm(r.validate)){i.validate=Km(r.validate)}else if(Im(r.validate)){i.validate=r.validate}else{s(e,r)}if(Im(r.normalize)){i.normalize=r.normalize}else if(!r.normalize){i.normalize=Vm()}else{s(e,r)}return}if(qm(r)){n.push(e);return}s(e,r)}));n.forEach((function(e){if(!t.__compiled__[t.__schemas__[e]]){return}t.__compiled__[e].validate=t.__compiled__[t.__schemas__[e]].validate;t.__compiled__[e].normalize=t.__compiled__[t.__schemas__[e]].normalize}));t.__compiled__[""]={validate:null,normalize:Vm()};const l=Object.keys(t.__compiled__).filter((function(e){return e.length>0&&t.__compiled__[e]})).map(Pm).join("|");t.re.schema_test=RegExp("(^|(?!_)(?:[><|]|"+e.src_ZPCc+"))("+l+")","i");t.re.schema_search=RegExp("(^|(?!_)(?:[><|]|"+e.src_ZPCc+"))("+l+")","ig");t.re.schema_at_start=RegExp("^"+t.re.schema_search.source,"i");t.re.pretest=RegExp("("+t.re.schema_test.source+")|("+t.re.host_fuzzy_test.source+")|@","i");Zm(t)}function Xm(t,e){const r=t.__index__;const i=t.__last_index__;const n=t.__text_cache__.slice(r,i);this.schema=t.__schema__.toLowerCase();this.index=r+e;this.lastIndex=i+e;this.raw=n;this.text=n;this.url=n}function Ym(t,e){const r=new Xm(t,e);t.__compiled__[r.schema].normalize(r,t);return r}function Qm(t,e){if(!(this instanceof Qm)){return new Qm(t,e)}if(!e){if(Lm(t)){e=t;t={}}}this.__opts__=jm({},Jm,e);this.__index__=-1;this.__last_index__=-1;this.__schema__="";this.__text_cache__="";this.__schemas__=jm({},Wm,t);this.__compiled__={};this.__tlds__=Hm;this.__tlds_replaced__=false;this.re={};Gm(this)}Qm.prototype.add=function t(e,r){this.__schemas__[e]=r;Gm(this);return this};Qm.prototype.set=function t(e){this.__opts__=jm(this.__opts__,e);return this};Qm.prototype.test=function t(e){this.__text_cache__=e;this.__index__=-1;if(!e.length){return false}let r,i,n,s,l,o,u,f,h;if(this.re.schema_test.test(e)){u=this.re.schema_search;u.lastIndex=0;while((r=u.exec(e))!==null){s=this.testSchemaAt(e,r[2],u.lastIndex);if(s){this.__schema__=r[2];this.__index__=r.index+r[1].length;this.__last_index__=r.index+r[0].length+s;break}}}if(this.__opts__.fuzzyLink&&this.__compiled__["http:"]){f=e.search(this.re.host_fuzzy_test);if(f>=0){if(this.__index__<0||f<this.__index__){if((i=e.match(this.__opts__.fuzzyIP?this.re.link_fuzzy:this.re.link_no_ip_fuzzy))!==null){l=i.index+i[1].length;if(this.__index__<0||l<this.__index__){this.__schema__="";this.__index__=l;this.__last_index__=i.index+i[0].length}}}}}if(this.__opts__.fuzzyEmail&&this.__compiled__["mailto:"]){h=e.indexOf("@");if(h>=0){if((n=e.match(this.re.email_fuzzy))!==null){l=n.index+n[1].length;o=n.index+n[0].length;if(this.__index__<0||l<this.__index__||l===this.__index__&&o>this.__last_index__){this.__schema__="mailto:";this.__index__=l;this.__last_index__=o}}}}return this.__index__>=0};Qm.prototype.pretest=function t(e){return this.re.pretest.test(e)};Qm.prototype.testSchemaAt=function t(e,r,i){if(!this.__compiled__[r.toLowerCase()]){return 0}return this.__compiled__[r.toLowerCase()].validate(e,i,this)};Qm.prototype.match=function t(e){const r=[];let i=0;if(this.__index__>=0&&this.__text_cache__===e){r.push(Ym(this,i));i=this.__last_index__}let n=i?e.slice(i):e;while(this.test(n)){r.push(Ym(this,i));n=n.slice(this.__last_index__);i+=this.__last_index__}if(r.length){return r}return null};Qm.prototype.matchAtStart=function t(e){this.__text_cache__=e;this.__index__=-1;if(!e.length)return null;const r=this.re.schema_at_start.exec(e);if(!r)return null;const i=this.testSchemaAt(e,r[2],r[0].length);if(!i)return null;this.__schema__=r[2];this.__index__=r.index+r[1].length;this.__last_index__=r.index+r[0].length+i;return Ym(this,0)};Qm.prototype.tlds=function t(e,r){e=Array.isArray(e)?e:[e];if(!r){this.__tlds__=e.slice();this.__tlds_replaced__=true;Gm(this);return this}this.__tlds__=this.__tlds__.concat(e).sort().filter((function(t,e,r){return t!==r[e-1]})).reverse();Gm(this);return this};Qm.prototype.normalize=function t(e){if(!e.schema){e.url="http://"+e.url}if(e.schema==="mailto:"&&!/^mailto:/i.test(e.url)){e.url="mailto:"+e.url}};Qm.prototype.onCompile=function t(){};const tw=2147483647;const ew=36;const rw=1;const iw=26;const nw=38;const sw=700;const lw=72;const ow=128;const uw="-";const fw=/^xn--/;const hw=/[^\0-\x7F]/;const aw=/[\x2E\u3002\uFF0E\uFF61]/g;const cw={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"};const dw=ew-rw;const pw=Math.floor;const mw=String.fromCharCode;function ww(t){throw new RangeError(cw[t])}function gw(t,e){const r=[];let i=t.length;while(i--){r[i]=e(t[i])}return r}function bw(t,e){const r=t.split("@");let i="";if(r.length>1){i=r[0]+"@";t=r[1]}t=t.replace(aw,".");const n=t.split(".");const s=gw(n,e).join(".");return i+s}function kw(t){const e=[];let r=0;const i=t.length;while(r<i){const n=t.charCodeAt(r++);if(n>=55296&&n<=56319&&r<i){const i=t.charCodeAt(r++);if((i&64512)==56320){e.push(((n&1023)<<10)+(i&1023)+65536)}else{e.push(n);r--}}else{e.push(n)}}return e}const Dw=t=>String.fromCodePoint(...t);const vw=function(t){if(t>=48&&t<58){return 26+(t-48)}if(t>=65&&t<91){return t-65}if(t>=97&&t<123){return t-97}return ew};const yw=function(t,e){return t+22+75*(t<26)-((e!=0)<<5)};const Fw=function(t,e,r){let i=0;t=r?pw(t/sw):t>>1;t+=pw(t/e);for(;t>dw*iw>>1;i+=ew){t=pw(t/dw)}return pw(i+(dw+1)*t/(t+nw))};const Ew=function(t){const e=[];const r=t.length;let i=0;let n=ow;let s=lw;let l=t.lastIndexOf(uw);if(l<0){l=0}for(let r=0;r<l;++r){if(t.charCodeAt(r)>=128){ww("not-basic")}e.push(t.charCodeAt(r))}for(let o=l>0?l+1:0;o<r;){const l=i;for(let e=1,n=ew;;n+=ew){if(o>=r){ww("invalid-input")}const l=vw(t.charCodeAt(o++));if(l>=ew){ww("invalid-input")}if(l>pw((tw-i)/e)){ww("overflow")}i+=l*e;const u=n<=s?rw:n>=s+iw?iw:n-s;if(l<u){break}const f=ew-u;if(e>pw(tw/f)){ww("overflow")}e*=f}const u=e.length+1;s=Fw(i-l,u,l==0);if(pw(i/u)>tw-n){ww("overflow")}n+=pw(i/u);i%=u;e.splice(i++,0,n)}return String.fromCodePoint(...e)};const Mw=function(t){const e=[];t=kw(t);const r=t.length;let i=ow;let n=0;let s=lw;for(const r of t){if(r<128){e.push(mw(r))}}const l=e.length;let o=l;if(l){e.push(uw)}while(o<r){let r=tw;for(const e of t){if(e>=i&&e<r){r=e}}const u=o+1;if(r-i>pw((tw-n)/u)){ww("overflow")}n+=(r-i)*u;i=r;for(const r of t){if(r<i&&++n>tw){ww("overflow")}if(r===i){let t=n;for(let r=ew;;r+=ew){const i=r<=s?rw:r>=s+iw?iw:r-s;if(t<i){break}const n=t-i;const l=ew-i;e.push(mw(yw(i+n%l,0)));t=pw(n/l)}e.push(mw(yw(t,0)));s=Fw(n,u,o===l);n=0;++o}}++n;++i}return e.join("")};const xw=function(t){return bw(t,(function(t){return fw.test(t)?Ew(t.slice(4).toLowerCase()):t}))};const Aw=function(t){return bw(t,(function(t){return hw.test(t)?"xn--"+Mw(t):t}))};const Cw={version:"2.3.1",ucs2:{decode:kw,encode:Dw},decode:Ew,encode:Mw,toASCII:Aw,toUnicode:xw};const Sw={options:{html:false,xhtmlOut:false,breaks:false,langPrefix:"language-",linkify:false,typographer:false,quotes:"“”‘’",highlight:null,maxNesting:100},components:{core:{},block:{},inline:{}}};const Ow={options:{html:false,xhtmlOut:false,breaks:false,langPrefix:"language-",linkify:false,typographer:false,quotes:"“”‘’",highlight:null,maxNesting:20},components:{core:{rules:["normalize","block","inline","text_join"]},block:{rules:["paragraph"]},inline:{rules:["text"],rules2:["balance_pairs","fragments_join"]}}};const $w={options:{html:true,xhtmlOut:true,breaks:false,langPrefix:"language-",linkify:false,typographer:false,quotes:"“”‘’",highlight:null,maxNesting:20},components:{core:{rules:["normalize","block","inline","text_join"]},block:{rules:["blockquote","code","fence","heading","hr","html_block","lheading","list","reference","paragraph"]},inline:{rules:["autolink","backticks","emphasis","entity","escape","html_inline","image","link","newline","text"],rules2:["balance_pairs","emphasis","fragments_join"]}}};const _w={default:Sw,zero:Ow,commonmark:$w};const Bw=/^(vbscript|javascript|file|data):/;const Rw=/^data:image\/(gif|png|jpeg|webp);/;function jw(t){const e=t.trim().toLowerCase();return Bw.test(e)?Rw.test(e):true}const Nw=["http:","https:","mailto:"];function qw(t){const e=Qc(t,true);if(e.hostname){if(!e.protocol||Nw.indexOf(e.protocol)>=0){try{e.hostname=Cw.toASCII(e.hostname)}catch(t){}}}return qc(zc(e))}function zw(t){const e=Qc(t,true);if(e.hostname){if(!e.protocol||Nw.indexOf(e.protocol)>=0){try{e.hostname=Cw.toUnicode(e.hostname)}catch(t){}}}return Rc(zc(e),Rc.defaultChars+"%")}function Tw(t,e){if(!(this instanceof Tw)){return new Tw(t,e)}if(!e){if(!fd(t)){e=t||{};t="default"}}this.inline=new Bm;this.block=new Yp;this.core=new wp;this.renderer=new Jd;this.linkify=new Qm;this.validateLink=jw;this.normalizeLink=qw;this.normalizeLinkText=zw;this.utils=Nd;this.helpers=cd({},Id);this.options={};this.configure(t);if(e){this.set(e)}}Tw.prototype.set=function(t){cd(this.options,t);return this};Tw.prototype.configure=function(t){const e=this;if(fd(t)){const e=t;t=_w[e];if(!t){throw new Error('Wrong `markdown-it` preset "'+e+'", check name')}}if(!t){throw new Error("Wrong `markdown-it` preset, can't be empty")}if(t.options){e.set(t.options)}if(t.components){Object.keys(t.components).forEach((function(r){if(t.components[r].rules){e[r].ruler.enableOnly(t.components[r].rules)}if(t.components[r].rules2){e[r].ruler2.enableOnly(t.components[r].rules2)}}))}return this};Tw.prototype.enable=function(t,e){let r=[];if(!Array.isArray(t)){t=[t]}["core","block","inline"].forEach((function(e){r=r.concat(this[e].ruler.enable(t,true))}),this);r=r.concat(this.inline.ruler2.enable(t,true));const i=t.filter((function(t){return r.indexOf(t)<0}));if(i.length&&!e){throw new Error("MarkdownIt. Failed to enable unknown rule(s): "+i)}return this};Tw.prototype.disable=function(t,e){let r=[];if(!Array.isArray(t)){t=[t]}["core","block","inline"].forEach((function(e){r=r.concat(this[e].ruler.disable(t,true))}),this);r=r.concat(this.inline.ruler2.disable(t,true));const i=t.filter((function(t){return r.indexOf(t)<0}));if(i.length&&!e){throw new Error("MarkdownIt. Failed to disable unknown rule(s): "+i)}return this};Tw.prototype.use=function(t){const e=[this].concat(Array.prototype.slice.call(arguments,1));t.apply(t,e);return this};Tw.prototype.parse=function(t,e){if(typeof t!=="string"){throw new Error("Input data should be a String")}const r=new this.core.State(t,this,e);this.core.process(r);return r.tokens};Tw.prototype.render=function(t,e){e=e||{};return this.renderer.render(this.parse(t,e),this.options,e)};Tw.prototype.parseInline=function(t,e){const r=new this.core.State(t,this,e);r.inlineMode=true;this.core.process(r);return r.tokens};Tw.prototype.renderInline=function(t,e){e=e||{};return this.renderer.render(this.parseInline(t,e),this.options,e)};const Iw=new cr({nodes:{doc:{content:"block+"},paragraph:{content:"inline*",group:"block",parseDOM:[{tag:"p"}],toDOM(){return["p",0]}},blockquote:{content:"block+",group:"block",parseDOM:[{tag:"blockquote"}],toDOM(){return["blockquote",0]}},horizontal_rule:{group:"block",parseDOM:[{tag:"hr"}],toDOM(){return["div",["hr"]]}},heading:{attrs:{level:{default:1}},content:"(text | image)*",group:"block",defining:true,parseDOM:[{tag:"h1",attrs:{level:1}},{tag:"h2",attrs:{level:2}},{tag:"h3",attrs:{level:3}},{tag:"h4",attrs:{level:4}},{tag:"h5",attrs:{level:5}},{tag:"h6",attrs:{level:6}}],toDOM(t){return["h"+t.attrs.level,0]}},code_block:{content:"text*",group:"block",code:true,defining:true,marks:"",attrs:{params:{default:""}},parseDOM:[{tag:"pre",preserveWhitespace:"full",getAttrs:t=>({params:t.getAttribute("data-params")||""})}],toDOM(t){return["pre",t.attrs.params?{"data-params":t.attrs.params}:{},["code",0]]}},ordered_list:{content:"list_item+",group:"block",attrs:{order:{default:1},tight:{default:false}},parseDOM:[{tag:"ol",getAttrs(t){return{order:t.hasAttribute("start")?+t.getAttribute("start"):1,tight:t.hasAttribute("data-tight")}}}],toDOM(t){return["ol",{start:t.attrs.order==1?null:t.attrs.order,"data-tight":t.attrs.tight?"true":null},0]}},bullet_list:{content:"list_item+",group:"block",attrs:{tight:{default:false}},parseDOM:[{tag:"ul",getAttrs:t=>({tight:t.hasAttribute("data-tight")})}],toDOM(t){return["ul",{"data-tight":t.attrs.tight?"true":null},0]}},list_item:{content:"block+",defining:true,parseDOM:[{tag:"li"}],toDOM(){return["li",0]}},text:{group:"inline"},image:{inline:true,attrs:{src:{},alt:{default:null},title:{default:null}},group:"inline",draggable:true,parseDOM:[{tag:"img[src]",getAttrs(t){return{src:t.getAttribute("src"),title:t.getAttribute("title"),alt:t.getAttribute("alt")}}}],toDOM(t){return["img",t.attrs]}},hard_break:{inline:true,group:"inline",selectable:false,parseDOM:[{tag:"br"}],toDOM(){return["br"]}}},marks:{em:{parseDOM:[{tag:"i"},{tag:"em"},{style:"font-style=italic"},{style:"font-style=normal",clearMark:t=>t.type.name=="em"}],toDOM(){return["em"]}},strong:{parseDOM:[{tag:"strong"},{tag:"b",getAttrs:t=>t.style.fontWeight!="normal"&&null},{style:"font-weight=400",clearMark:t=>t.type.name=="strong"},{style:"font-weight",getAttrs:t=>/^(bold(er)?|[5-9]\d{2,})$/.test(t)&&null}],toDOM(){return["strong"]}},link:{attrs:{href:{},title:{default:null}},inclusive:false,parseDOM:[{tag:"a[href]",getAttrs(t){return{href:t.getAttribute("href"),title:t.getAttribute("title")}}}],toDOM(t){return["a",t.attrs]}},code:{parseDOM:[{tag:"code"}],toDOM(){return["code"]}}}});function Pw(t,e){if(t.isText&&e.isText&&De.sameSet(t.marks,e.marks))return t.withText(t.text+e.text)}class Jw{constructor(t,e){this.schema=t;this.tokenHandlers=e;this.stack=[{type:t.topNodeType,attrs:null,content:[],marks:De.none}]}top(){return this.stack[this.stack.length-1]}push(t){if(this.stack.length)this.top().content.push(t)}addText(t){if(!t)return;let e=this.top(),r=e.content,i=r[r.length-1];let n=this.schema.text(t,e.marks),s;if(i&&(s=Pw(i,n)))r[r.length-1]=s;else r.push(n)}openMark(t){let e=this.top();e.marks=t.addToSet(e.marks)}closeMark(t){let e=this.top();e.marks=t.removeFromSet(e.marks)}parseTokens(t){for(let e=0;e<t.length;e++){let r=t[e];let i=this.tokenHandlers[r.type];if(!i)throw new Error("Token type `"+r.type+"` not supported by Markdown parser");i(this,r,t,e)}}addNode(t,e,r){let i=this.top();let n=t.createAndFill(e,r,i?i.marks:[]);if(!n)return null;this.push(n);return n}openNode(t,e){this.stack.push({type:t,attrs:e,content:[],marks:De.none})}closeNode(){let t=this.stack.pop();return this.addNode(t.type,t.attrs,t.content)}}function Lw(t,e,r,i){if(t.getAttrs)return t.getAttrs(e,r,i);else if(t.attrs instanceof Function)return t.attrs(e);else return t.attrs}function Ww(t,e){return t.noCloseToken||e=="code_inline"||e=="code_block"||e=="fence"}function Uw(t){return t[t.length-1]=="\n"?t.slice(0,t.length-1):t}function Hw(){}function Zw(t,e){let r=Object.create(null);for(let i in e){let n=e[i];if(n.block){let e=t.nodeType(n.block);if(Ww(n,i)){r[i]=(t,r,i,s)=>{t.openNode(e,Lw(n,r,i,s));t.addText(Uw(r.content));t.closeNode()}}else{r[i+"_open"]=(t,r,i,s)=>t.openNode(e,Lw(n,r,i,s));r[i+"_close"]=t=>t.closeNode()}}else if(n.node){let e=t.nodeType(n.node);r[i]=(t,r,i,s)=>t.addNode(e,Lw(n,r,i,s))}else if(n.mark){let e=t.marks[n.mark];if(Ww(n,i)){r[i]=(t,r,i,s)=>{t.openMark(e.create(Lw(n,r,i,s)));t.addText(Uw(r.content));t.closeMark(e)}}else{r[i+"_open"]=(t,r,i,s)=>t.openMark(e.create(Lw(n,r,i,s)));r[i+"_close"]=t=>t.closeMark(e)}}else if(n.ignore){if(Ww(n,i)){r[i]=Hw}else{r[i+"_open"]=Hw;r[i+"_close"]=Hw}}else{throw new RangeError("Unrecognized parsing spec "+JSON.stringify(n))}}r.text=(t,e)=>t.addText(e.content);r.inline=(t,e)=>t.parseTokens(e.children);r.softbreak=r.softbreak||(t=>t.addText(" "));return r}class Kw{constructor(t,e,r){this.schema=t;this.tokenizer=e;this.tokens=r;this.tokenHandlers=Zw(t,r)}parse(t,e={}){let r=new Jw(this.schema,this.tokenHandlers),i;r.parseTokens(this.tokenizer.parse(t,e));do{i=r.closeNode()}while(r.stack.length);return i||this.schema.topNodeType.createAndFill()}}function Vw(t,e){while(++e<t.length)if(t[e].type!="list_item_open")return t[e].hidden;return false}new Kw(Iw,Tw("commonmark",{html:false}),{blockquote:{block:"blockquote"},paragraph:{block:"paragraph"},list_item:{block:"list_item"},bullet_list:{block:"bullet_list",getAttrs:(t,e,r)=>({tight:Vw(e,r)})},ordered_list:{block:"ordered_list",getAttrs:(t,e,r)=>({order:+t.attrGet("start")||1,tight:Vw(e,r)})},heading:{block:"heading",getAttrs:t=>({level:+t.tag.slice(1)})},code_block:{block:"code_block",noCloseToken:true},fence:{block:"code_block",getAttrs:t=>({params:t.info||""}),noCloseToken:true},hr:{node:"horizontal_rule"},image:{node:"image",getAttrs:t=>({src:t.attrGet("src"),title:t.attrGet("title")||null,alt:t.children[0]&&t.children[0].content||null})},hardbreak:{node:"hard_break"},em:{mark:"em"},strong:{mark:"strong"},link:{mark:"link",getAttrs:t=>({href:t.attrGet("href"),title:t.attrGet("title")||null})},code_inline:{mark:"code",noCloseToken:true}});const Gw={open:"",close:"",mixable:true};class Xw{constructor(t,e,r={}){this.nodes=t;this.marks=e;this.options=r}serialize(t,e={}){e=Object.assign({},this.options,e);let r=new eg(this.nodes,this.marks,e);r.renderContent(t);return r.out}}const Yw=new Xw({blockquote(t,e){t.wrapBlock("> ",null,e,(()=>t.renderContent(e)))},code_block(t,e){const r=e.textContent.match(/`{3,}/gm);const i=r?r.sort().slice(-1)[0]+"`":"```";t.write(i+(e.attrs.params||"")+"\n");t.text(e.textContent,false);t.write("\n");t.write(i);t.closeBlock(e)},heading(t,e){t.write(t.repeat("#",e.attrs.level)+" ");t.renderInline(e,false);t.closeBlock(e)},horizontal_rule(t,e){t.write(e.attrs.markup||"---");t.closeBlock(e)},bullet_list(t,e){t.renderList(e," ",(()=>(e.attrs.bullet||"*")+" "))},ordered_list(t,e){let r=e.attrs.order||1;let i=String(r+e.childCount-1).length;let n=t.repeat(" ",i+2);t.renderList(e,n,(e=>{let n=String(r+e);return t.repeat(" ",i-n.length)+n+". "}))},list_item(t,e){t.renderContent(e)},paragraph(t,e){t.renderInline(e);t.closeBlock(e)},image(t,e){t.write("]/g,"\\$&")+(e.attrs.title?' "'+e.attrs.title.replace(/"/g,'\\"')+'"':"")+")")},hard_break(t,e,r,i){for(let n=i+1;n<r.childCount;n++)if(r.child(n).type!=e.type){t.write("\\\n");return}},text(t,e){t.text(e.text,!t.inAutolink)}},{em:{open:"*",close:"*",mixable:true,expelEnclosingWhitespace:true},strong:{open:"**",close:"**",mixable:true,expelEnclosingWhitespace:true},link:{open(t,e,r,i){t.inAutolink=tg(e,r,i);return t.inAutolink?"<":"["},close(t,e,r,i){let{inAutolink:n}=t;t.inAutolink=undefined;return n?">":"]("+e.attrs.href.replace(/[\(\)"]/g,"\\$&")+(e.attrs.title?` "${e.attrs.title.replace(/"/g,'\\"')}"`:"")+")"},mixable:true},code:{open(t,e,r,i){return Qw(r.child(i),-1)},close(t,e,r,i){return Qw(r.child(i-1),1)},escape:false}});function Qw(t,e){let r=/`+/g,i,n=0;if(t.isText)while(i=r.exec(t.text))n=Math.max(n,i[0].length);let s=n>0&&e>0?" `":"`";for(let t=0;t<n;t++)s+="`";if(n>0&&e<0)s+=" ";return s}function tg(t,e,r){if(t.attrs.title||!/^\w+:/.test(t.attrs.href))return false;let i=e.child(r);if(!i.isText||i.text!=t.attrs.href||i.marks[i.marks.length-1]!=t)return false;return r==e.childCount-1||!t.isInSet(e.child(r+1).marks)}class eg{constructor(t,e,r){this.nodes=t;this.marks=e;this.options=r;this.delim="";this.out="";this.closed=null;this.inAutolink=undefined;this.atBlockStart=false;this.inTightList=false;if(typeof this.options.tightLists=="undefined")this.options.tightLists=false;if(typeof this.options.hardBreakNodeName=="undefined")this.options.hardBreakNodeName="hard_break"}flushClose(t=2){if(this.closed){if(!this.atBlank())this.out+="\n";if(t>1){let e=this.delim;let r=/\s+$/.exec(e);if(r)e=e.slice(0,e.length-r[0].length);for(let r=1;r<t;r++)this.out+=e+"\n"}this.closed=null}}getMark(t){let e=this.marks[t];if(!e){if(this.options.strict!==false)throw new Error(`Mark type \`${t}\` not supported by Markdown renderer`);e=Gw}return e}wrapBlock(t,e,r,i){let n=this.delim;this.write(e!=null?e:t);this.delim+=t;i();this.delim=n;this.closeBlock(r)}atBlank(){return/(^|\n)$/.test(this.out)}ensureNewLine(){if(!this.atBlank())this.out+="\n"}write(t){this.flushClose();if(this.delim&&this.atBlank())this.out+=this.delim;if(t)this.out+=t}closeBlock(t){this.closed=t}text(t,e=true){let r=t.split("\n");for(let t=0;t<r.length;t++){this.write();if(!e&&r[t][0]=="["&&/(^|[^\\])\!$/.test(this.out))this.out=this.out.slice(0,this.out.length-1)+"\\!";this.out+=e?this.esc(r[t],this.atBlockStart):r[t];if(t!=r.length-1)this.out+="\n"}}render(t,e,r){if(this.nodes[t.type.name]){this.nodes[t.type.name](this,t,e,r)}else{if(this.options.strict!==false){throw new Error("Token type `"+t.type.name+"` not supported by Markdown renderer")}else if(!t.type.isLeaf){if(t.type.inlineContent)this.renderInline(t);else this.renderContent(t);if(t.isBlock)this.closeBlock(t)}}}renderContent(t){t.forEach(((e,r,i)=>this.render(e,t,i)))}renderInline(t,e=true){this.atBlockStart=e;let r=[],i="";let n=(e,n,s)=>{let l=e?e.marks:[];if(e&&e.type.name===this.options.hardBreakNodeName)l=l.filter((e=>{if(s+1==t.childCount)return false;let r=t.child(s+1);return e.isInSet(r.marks)&&(!r.isText||/\S/.test(r.text))}));let o=i;i="";if(e&&e.isText&&l.some((t=>{let e=this.getMark(t.type.name);return e&&e.expelEnclosingWhitespace&&!t.isInSet(r)}))){let[t,i,n]=/^(\s*)(.*)$/m.exec(e.text);if(i){o+=i;e=n?e.withText(n):null;if(!e)l=r}}if(e&&e.isText&&l.some((e=>{let r=this.getMark(e.type.name);return r&&r.expelEnclosingWhitespace&&(s==t.childCount-1||!e.isInSet(t.child(s+1).marks))}))){let[t,n,s]=/^(.*?)(\s*)$/m.exec(e.text);if(s){i=s;e=n?e.withText(n):null;if(!e)l=r}}let u=l.length?l[l.length-1]:null;let f=u&&this.getMark(u.type.name).escape===false;let h=l.length-(f?1:0);t:for(let t=0;t<h;t++){let e=l[t];if(!this.getMark(e.type.name).mixable)break;for(let i=0;i<r.length;i++){let n=r[i];if(!this.getMark(n.type.name).mixable)break;if(e.eq(n)){if(t>i)l=l.slice(0,i).concat(e).concat(l.slice(i,t)).concat(l.slice(t+1,h));else if(i>t)l=l.slice(0,t).concat(l.slice(t+1,i)).concat(e).concat(l.slice(i,h));continue t}}}let a=0;while(a<Math.min(r.length,h)&&l[a].eq(r[a]))++a;while(a<r.length)this.text(this.markString(r.pop(),false,t,s),false);if(o)this.text(o);if(e){while(r.length<h){let e=l[r.length];r.push(e);this.text(this.markString(e,true,t,s),false);this.atBlockStart=false}if(f&&e.isText)this.text(this.markString(u,true,t,s)+e.text+this.markString(u,false,t,s+1),false);else this.render(e,t,s);this.atBlockStart=false}if((e===null||e===void 0?void 0:e.isText)&&e.nodeSize>0){this.atBlockStart=false}};t.forEach(n);n(null,0,t.childCount);this.atBlockStart=false}renderList(t,e,r){if(this.closed&&this.closed.type==t.type)this.flushClose(3);else if(this.inTightList)this.flushClose(1);let i=typeof t.attrs.tight!="undefined"?t.attrs.tight:this.options.tightLists;let n=this.inTightList;this.inTightList=i;t.forEach(((n,s,l)=>{if(l&&i)this.flushClose(1);this.wrapBlock(e,r(l),t,(()=>this.render(n,t,l)))}));this.inTightList=n}esc(t,e=false){t=t.replace(/[`*\\~\[\]_]/g,((e,r)=>e=="_"&&r>0&&r+1<t.length&&t[r-1].match(/\w/)&&t[r+1].match(/\w/)?e:"\\"+e));if(e)t=t.replace(/^(\+[ ]|[\-*>])/,"\\$&").replace(/^(\s*)(#{1,6})(\s|$)/,"$1\\$2$3").replace(/^(\s*\d+)\.\s/,"$1\\. ");if(this.options.escapeExtraCharacters)t=t.replace(this.options.escapeExtraCharacters,"\\$&");return t}quote(t){let e=t.indexOf('"')==-1?'""':t.indexOf("'")==-1?"''":"()";return e[0]+t+e[1]}repeat(t,e){let r="";for(let i=0;i<e;i++)r+=t;return r}markString(t,e,r,i){let n=this.getMark(t.type.name);let s=e?n.open:n.close;return typeof s=="string"?s:s(this,t,r,i)}getEnclosingWhitespace(t){return{leading:(t.match(/^(\s+)/)||[undefined])[0],trailing:(t.match(/(\s+)$/)||[undefined])[0]}}}const rg=t=>(e,r)=>{const i=`<${t.tagName}`+t.attributes.map((t=>` ${t}="${r.attrs[t]}"`)).join("")+">";const n=`</${t.tagName}>`;e.write(i);e.renderContent(r);e.write(n)};const ig=t=>{const e={};t.forEach((t=>{e[t.tagName]=rg(t)}));const r=Object.assign(Object.assign({},Yw.nodes),e);const i=Object.assign(Object.assign({},Yw.marks),{strikethrough:{open:"~~",close:"~~",mixable:true,expelEnclosingWhitespace:true}});return new Xw(r,i)};class ng{constructor(t){this.parseAsHTML=t=>{const e=this.customNodes.map((t=>({tagName:t.tagName,attributes:t.attributes})));return x(t,{whitelist:e})};this.serialize=t=>{if(t.dom.textContent===""){return""}else{return this.markdownSerializer.serialize(t.state.doc)}};this.markdownSerializer=ig(t);this.customNodes=t}}class sg{constructor(){this.parseAsHTML=t=>new Promise((e=>{e(t)}));this.serialize=t=>{if(t.dom.textContent===""){return""}else{return t.dom.innerHTML}}}}const lg={parseDOM:[{tag:"s"},{tag:"del"},{tag:"strike"},{style:"text-decoration=line-through"}],toDOM:()=>["s",0]};const og=new Dn("linkPlugin");const ug=(t,e)=>{const{from:r,to:i}=t.state.selection;let n="";let s="";t.state.doc.nodesBetween(r,i,((t,e)=>{if(t.type.name!=="text"){return}const l=Math.max(0,r-e);const o=Math.min(t.text.length,i-e);n+=t.text.slice(l,o);t.marks.forEach((t=>{if(t.type.name==="link"){s=t.attrs.href}}))}));if(e){e(n,s)}};const fg=(t,e,r)=>{while(e>0){const i=t.nodeAt(e-1);if(!(i===null||i===void 0?void 0:i.isText)||!i.marks.some((t=>t.type.name===lc.Link&&t.attrs.href===r))){break}e--}return e};const hg=(t,e,r)=>{while(e<t.content.size){const i=t.nodeAt(e);if(!(i===null||i===void 0?void 0:i.isText)||!i.marks.some((t=>t.type.name===lc.Link&&t.attrs.href===r))){break}e++}return e};const ag=(t,e)=>{const r=t.posAtCoords({left:e.clientX,top:e.clientY});const i=t.state.doc.nodeAt(r.pos);if(!i){return null}const n=i.marks.find((t=>t.type.name===lc.Link));if(!n){return null}const s=n.attrs.href;const l=fg(t.state.doc,r.pos,s);const o=hg(t.state.doc,r.pos,s);const u=t.state.doc.textBetween(l,o," ");return{href:s,text:u,from:l,to:o}};const cg=(t,e)=>{const{href:r}=ag(t,e);if(r){window.open(r,"_blank");return true}return false};const dg=(t,e,r)=>{const i=new CustomEvent("open-editor-link-menu",{detail:{href:e,text:r},bubbles:true,composed:true});t.dom.dispatchEvent(i)};let pg=0;const mg=200;let wg;const gg=(t,e)=>{const r=Date.now();if(r-pg<mg){clearTimeout(wg);pg=r;return false}pg=r;wg=setTimeout((()=>{const r=ag(t,e);if(r){const{href:e,text:i,from:n,to:s}=r;const l=t.state.tr.setSelection(Yi.create(t.state.doc,n,s));t.dispatch(l);dg(t,e,i)}}),mg);return true};const bg=(t,e)=>{const r=e.clipboardData;if(!r){return false}const i=r.getData("text/plain");if(bc(i)){kg(t,i);return true}return false};const kg=(t,e)=>{const{state:r,dispatch:i}=t;const{from:n,to:s}=r.selection;const l=Uu.marks.link.create({href:e,title:e,target:wc(e)?"_blank":null});const o=r.doc.textBetween(n,s," ")||e;const u=r.tr.insertText(o,n,s).addMark(n,n+o.length,l);i(u)};const Dg=t=>new gn({key:og,props:{handlePaste:(t,e)=>bg(t,e),handleDOMEvents:{mousedown:(t,e)=>{if((e.metaKey||e.ctrlKey)&&e.button===0){return cg(t,e)}if(e.button!==fc.Right){return gg(t,e)}return true},click:(t,e)=>{if(!(e.target instanceof HTMLElement)){return}const r=e.target.closest("a");if(r){e.preventDefault();e.stopPropagation()}}}},view:()=>({update:e=>{ug(e,t)}})});const vg=new Dn("imageRemoverPlugin");const yg=()=>new gn({key:vg,props:{handlePaste:(t,e,r)=>Mg(t,e,r)}});const Fg=t=>{if(t instanceof Pe){if(t.type.name==="image"){return true}let e=false;t.content.forEach((t=>{if(Fg(t)){e=true}}));return e}else if(t instanceof we){let e=false;t.forEach((t=>{if(Fg(t)){e=true}}));return e}return false};const Eg=t=>{const e=[];t.forEach((t=>{if(!Fg(t)){if(t.content.size>0){const r=Eg(t.content);const i=t.copy(r);e.push(i)}else{e.push(t)}}}));return we.fromArray(e)};const Mg=(t,e,r)=>{const i=e.clipboardData;if(!i){return false}const n=new ye(Eg(r.content),r.openStart,r.openEnd);if(n.content.childCount<r.content.childCount){const{state:e,dispatch:r}=t;const i=e.tr.replaceSelection(n);r(i);return true}return false};const xg=new Dn("actionBarPlugin");const Ag=(t,e,r)=>{const i={};t.forEach((t=>{const n=e.getCommand(t);i[t]=n&&n.active&&n.active(r.state)}));return i};const Cg=(t,e,r)=>new gn({key:xg,state:{init:()=>({}),apply:(t,e)=>{const r=t.getMeta(xg);return r?r:e}},view:()=>({update:i=>{const n=xg.getState(i.state);const s=Ag(t,e,i);if(!O(n,s)){const t=i.state.tr.setMeta(xg,s);i.dispatch(t);r(s)}}})});const Sg=new Dn("actionBarInteractionPlugin");const Og=(t,e)=>{const{state:r}=e;const i=r.selection;let n=r.tr;if(!i.empty){n.setSelection(i)}t(r,(t=>{n=t}));e.dispatch(n);e.focus()};const $g=t=>new gn({key:Sg,props:{handleDOMEvents:{actionBarItemClick:(e,r)=>{r.preventDefault();r.stopPropagation();const{value:i}=r.detail;try{const r=t.getCommand(i);Og(r,e)}catch(t){console.error(`Error executing command: ${t}`)}return true},saveLinkMenu:(e,r)=>{r.preventDefault();r.stopPropagation();const{type:i,link:n}=r.detail;if(i===lc.Link){try{const r=t.getCommand(i,n);Og(r,e)}catch(t){console.error(`Error executing command: ${t}`)}}return true}}}});const _g=t=>{const e={};t.attributes.forEach((t=>e[t]={}));const r=`${t.tagName}[${t.attributes.map((t=>t)).join("][")}]`;return{group:"inline",content:"(text* | inline*)",inline:true,atom:true,selectable:true,attrs:e,toDOM:e=>[t.tagName,e.attrs],parseDOM:[{tag:r,getAttrs:e=>{const r={};t.attributes.forEach((t=>r[t]=e.getAttribute(t)));return r}}]}};const Bg=t=>{const e=Ng(t);return{insert:r=>{const{state:i,dispatch:n}=t;const{schema:s,selection:l}=i;const{$from:o}=l;let u;try{u=Rg(r,s)}catch(t){console.error(t.message);return}const f=s.text(" ");const h=s.nodes.doc.create(null,[u,f]);const a=i.tr.replaceWith(e,o.pos,h);a.setMeta("stopTrigger",true);n(a)}}};const Rg=(t,e)=>{var r;if(typeof t==="string"){return e.text(t)}const i=t.node;if(typeof i==="string"){return e.text(i)}const n=jg(i.tagName,e);const s=((r=t.children)!==null&&r!==void 0?r:[]).map((t=>Rg(t,e))).filter(Boolean);return n.create(i.attributes,s)};const jg=(t,e)=>{const r=Object.values(e.nodes).find((e=>e.name===t));if(!r){throw new Error(`A custom element hasn't been registered for node ${t}`)}return r};const Ng=t=>{var e,r,i;return(i=(r=(e=t.state)===null||e===void 0?void 0:e.selection)===null||r===void 0?void 0:r.$from)===null||i===void 0?void 0:i.pos};const qg=(t,e)=>t.length===1&&e.includes(t);const zg=t=>{const{$from:e}=t.selection;if(e.pos===1){return true}const r=e.pos-1;if(r>0){if(e.parentOffset===0){return true}const i=t.doc.textBetween(r,e.pos);return i===" "||i==="\n"}return false};const Tg=(t,e,r,i)=>{const n=t.selection.$from.pos;if(n<r||n>r+i+1){return false}return t.doc.textBetween(r,r+1)===e};const Ig=(t,e,r)=>({trigger:e,textEditor:Bg(t),value:r});const Pg=(t,e,r,i)=>{const n=new CustomEvent(t,{detail:Ig(e,r,i),bubbles:true,composed:true});e.dom.dispatchEvent(n)};const Jg=(t,e,r)=>{let i="";let n="";e.forEach((t=>{if(t.docChanged){t.steps.forEach((t=>{if(t instanceof ii||t instanceof ni){const e=t.slice;const s=t.from;const l=t.to;if(e===null||e===void 0?void 0:e.size){i+=e.content.textBetween(0,e.size)}else if(s!==l){const t=r.doc.textBetween(s,l);n+=t}}}))}}));if(i){t+=i}else if(n){t=t.slice(0,-n.length)}return t};const Lg=t=>{let e=null;let r="";let i=null;let n=null;const s=()=>{r="";Pg("triggerStop",i,e,r);n=null;e=null};const l=(i,l)=>{const{state:o}=i;if(l.key==="Escape"){s();return true}if(qg(l.key,t)&&zg(o)){e=l.key;r="";n=o.selection.$from.pos-r.length;Pg("triggerStart",i,e,r);return false}return false};const o=(t,s,l)=>{if(!e||!n||!i){return}if(!Tg(l,e,n,r.length)){return}const o=Jg(r,t,s);if(o!==r){r=o;Pg("triggerChange",i,e,r.slice(1))}};return new gn({key:new Dn("triggerPlugin"),view:t=>{i=t;return{}},state:{init:()=>({}),apply:t=>{if(t.getMeta("stopTrigger")){s()}return{}}},props:{handleKeyDown:l},appendTransaction:o})};var Wg;var Ug;if(typeof WeakMap!="undefined"){let t=new WeakMap;Wg=e=>t.get(e);Ug=(e,r)=>{t.set(e,r);return r}}else{const t=[];const e=10;let r=0;Wg=e=>{for(let r=0;r<t.length;r+=2)if(t[r]==e)return t[r+1]};Ug=(i,n)=>{if(r==e)r=0;t[r++]=i;return t[r++]=n}}var Hg=class{constructor(t,e,r,i){this.width=t;this.height=e;this.map=r;this.problems=i}findCell(t){for(let e=0;e<this.map.length;e++){const r=this.map[e];if(r!=t)continue;const i=e%this.width;const n=e/this.width|0;let s=i+1;let l=n+1;for(let t=1;s<this.width&&this.map[e+t]==r;t++){s++}for(let t=1;l<this.height&&this.map[e+this.width*t]==r;t++){l++}return{left:i,top:n,right:s,bottom:l}}throw new RangeError(`No cell with offset ${t} found`)}colCount(t){for(let e=0;e<this.map.length;e++){if(this.map[e]==t){return e%this.width}}throw new RangeError(`No cell with offset ${t} found`)}nextCell(t,e,r){const{left:i,right:n,top:s,bottom:l}=this.findCell(t);if(e=="horiz"){if(r<0?i==0:n==this.width)return null;return this.map[s*this.width+(r<0?i-1:n)]}else{if(r<0?s==0:l==this.height)return null;return this.map[i+this.width*(r<0?s-1:l)]}}rectBetween(t,e){const{left:r,right:i,top:n,bottom:s}=this.findCell(t);const{left:l,right:o,top:u,bottom:f}=this.findCell(e);return{left:Math.min(r,l),top:Math.min(n,u),right:Math.max(i,o),bottom:Math.max(s,f)}}cellsInRect(t){const e=[];const r={};for(let i=t.top;i<t.bottom;i++){for(let n=t.left;n<t.right;n++){const s=i*this.width+n;const l=this.map[s];if(r[l])continue;r[l]=true;if(n==t.left&&n&&this.map[s-1]==l||i==t.top&&i&&this.map[s-this.width]==l){continue}e.push(l)}}return e}positionAt(t,e,r){for(let i=0,n=0;;i++){const s=n+r.child(i).nodeSize;if(i==t){let r=e+t*this.width;const i=(t+1)*this.width;while(r<i&&this.map[r]<n)r++;return r==i?s-1:this.map[r]}n=s}}static get(t){return Wg(t)||Ug(t,Zg(t))}};function Zg(t){if(t.type.spec.tableRole!="table")throw new RangeError("Not a table node: "+t.type.name);const e=Kg(t),r=t.childCount;const i=[];let n=0;let s=null;const l=[];for(let t=0,n=e*r;t<n;t++)i[t]=0;for(let o=0,u=0;o<r;o++){const f=t.child(o);u++;for(let t=0;;t++){while(n<i.length&&i[n]!=0)n++;if(t==f.childCount)break;const h=f.child(t);const{colspan:a,rowspan:c,colwidth:d}=h.attrs;for(let t=0;t<c;t++){if(t+o>=r){(s||(s=[])).push({type:"overlong_rowspan",pos:u,n:c-t});break}const f=n+t*e;for(let t=0;t<a;t++){if(i[f+t]==0)i[f+t]=u;else(s||(s=[])).push({type:"collision",row:o,pos:u,n:a-t});const r=d&&d[t];if(r){const i=(f+t)%e*2,n=l[i];if(n==null||n!=r&&l[i+1]==1){l[i]=r;l[i+1]=1}else if(n==r){l[i+1]++}}}}n+=a;u+=h.nodeSize}const h=(o+1)*e;let a=0;while(n<h)if(i[n++]==0)a++;if(a)(s||(s=[])).push({type:"missing",row:o,n:a});u++}const o=new Hg(e,r,i,s);let u=false;for(let t=0;!u&&t<l.length;t+=2)if(l[t]!=null&&l[t+1]<r)u=true;if(u)Vg(o,l,t);return o}function Kg(t){let e=-1;let r=false;for(let i=0;i<t.childCount;i++){const n=t.child(i);let s=0;if(r)for(let e=0;e<i;e++){const r=t.child(e);for(let t=0;t<r.childCount;t++){const n=r.child(t);if(e+n.attrs.rowspan>i)s+=n.attrs.colspan}}for(let t=0;t<n.childCount;t++){const e=n.child(t);s+=e.attrs.colspan;if(e.attrs.rowspan>1)r=true}if(e==-1)e=s;else if(e!=s)e=Math.max(e,s)}return e}function Vg(t,e,r){if(!t.problems)t.problems=[];const i={};for(let n=0;n<t.map.length;n++){const s=t.map[n];if(i[s])continue;i[s]=true;const l=r.nodeAt(s);if(!l){throw new RangeError(`No cell with offset ${s} found`)}let o=null;const u=l.attrs;for(let r=0;r<u.colspan;r++){const i=(n+r)%t.width;const s=e[i*2];if(s!=null&&(!u.colwidth||u.colwidth[r]!=s))(o||(o=Gg(u)))[r]=s}if(o)t.problems.unshift({type:"colwidth mismatch",pos:s,colwidth:o})}}function Gg(t){if(t.colwidth)return t.colwidth.slice();const e=[];for(let r=0;r<t.colspan;r++)e.push(0);return e}function Xg(t,e){if(typeof t==="string"){return{}}const r=t.getAttribute("data-colwidth");const i=r&&/^\d+(,\d+)*$/.test(r)?r.split(",").map((t=>Number(t))):null;const n=Number(t.getAttribute("colspan")||1);const s={colspan:n,rowspan:Number(t.getAttribute("rowspan")||1),colwidth:i&&i.length==n?i:null};for(const r in e){const i=e[r].getFromDOM;const n=i&&i(t);if(n!=null){s[r]=n}}return s}function Yg(t,e){const r={};if(t.attrs.colspan!=1)r.colspan=t.attrs.colspan;if(t.attrs.rowspan!=1)r.rowspan=t.attrs.rowspan;if(t.attrs.colwidth)r["data-colwidth"]=t.attrs.colwidth.join(",");for(const i in e){const n=e[i].setDOMAttr;if(n)n(t.attrs[i],r)}return r}function Qg(t){const e=t.cellAttributes||{};const r={colspan:{default:1},rowspan:{default:1},colwidth:{default:null}};for(const t in e)r[t]={default:e[t].default};return{table:{content:"table_row+",tableRole:"table",isolating:true,group:t.tableGroup,parseDOM:[{tag:"table"}],toDOM(){return["table",["tbody",0]]}},table_row:{content:"(table_cell | table_header)*",tableRole:"row",parseDOM:[{tag:"tr"}],toDOM(){return["tr",0]}},table_cell:{content:t.cellContent,attrs:r,tableRole:"cell",isolating:true,parseDOM:[{tag:"td",getAttrs:t=>Xg(t,e)}],toDOM(t){return["td",Yg(t,e),0]}},table_header:{content:t.cellContent,attrs:r,tableRole:"header_cell",isolating:true,parseDOM:[{tag:"th",getAttrs:t=>Xg(t,e)}],toDOM(t){return["th",Yg(t,e),0]}}}}function tb(t){let e=t.cached.tableNodeTypes;if(!e){e=t.cached.tableNodeTypes={};for(const r in t.nodes){const i=t.nodes[r],n=i.spec.tableRole;if(n)e[n]=i}}return e}var eb=new Dn("selectingCells");function rb(t){for(let e=t.depth-1;e>0;e--)if(t.node(e).type.spec.tableRole=="row")return t.node(0).resolve(t.before(e+1));return null}function ib(t){const e=t.selection.$head;for(let t=e.depth;t>0;t--)if(e.node(t).type.spec.tableRole=="row")return true;return false}function nb(t){const e=t.selection;if("$anchorCell"in e&&e.$anchorCell){return e.$anchorCell.pos>e.$headCell.pos?e.$anchorCell:e.$headCell}else if("node"in e&&e.node&&e.node.type.spec.tableRole=="cell"){return e.$anchor}const r=rb(e.$head)||sb(e.$head);if(r){return r}throw new RangeError(`No cell found around position ${e.head}`)}function sb(t){for(let e=t.nodeAfter,r=t.pos;e;e=e.firstChild,r++){const i=e.type.spec.tableRole;if(i=="cell"||i=="header_cell")return t.doc.resolve(r)}for(let e=t.nodeBefore,r=t.pos;e;e=e.lastChild,r--){const i=e.type.spec.tableRole;if(i=="cell"||i=="header_cell")return t.doc.resolve(r-e.nodeSize)}}function lb(t){return t.parent.type.spec.tableRole=="row"&&!!t.nodeAfter}function ob(t,e){return t.depth==e.depth&&t.pos>=e.start(-1)&&t.pos<=e.end(-1)}function ub(t,e,r){const i=t.node(-1);const n=Hg.get(i);const s=t.start(-1);const l=n.nextCell(t.pos-s,e,r);return l==null?null:t.node(0).resolve(s+l)}function fb(t,e,r=1){const i={...t,colspan:t.colspan-r};if(i.colwidth){i.colwidth=i.colwidth.slice();i.colwidth.splice(e,r);if(!i.colwidth.some((t=>t>0)))i.colwidth=null}return i}var hb=class t extends Ki{constructor(t,e=t){const r=t.node(-1);const i=Hg.get(r);const n=t.start(-1);const s=i.rectBetween(t.pos-n,e.pos-n);const l=t.node(0);const o=i.cellsInRect(s).filter((t=>t!=e.pos-n));o.unshift(e.pos-n);const u=o.map((t=>{const e=r.nodeAt(t);if(!e){throw RangeError(`No cell with offset ${t} found`)}const i=n+t+1;return new Vi(l.resolve(i),l.resolve(i+e.content.size))}));super(u[0].$from,u[0].$to,u);this.$anchorCell=t;this.$headCell=e}map(e,r){const i=e.resolve(r.map(this.$anchorCell.pos));const n=e.resolve(r.map(this.$headCell.pos));if(lb(i)&&lb(n)&&ob(i,n)){const e=this.$anchorCell.node(-1)!=i.node(-1);if(e&&this.isRowSelection())return t.rowSelection(i,n);else if(e&&this.isColSelection())return t.colSelection(i,n);else return new t(i,n)}return Yi.between(i,n)}content(){const t=this.$anchorCell.node(-1);const e=Hg.get(t);const r=this.$anchorCell.start(-1);const i=e.rectBetween(this.$anchorCell.pos-r,this.$headCell.pos-r);const n={};const s=[];for(let r=i.top;r<i.bottom;r++){const l=[];for(let s=r*e.width+i.left,o=i.left;o<i.right;o++,s++){const r=e.map[s];if(n[r])continue;n[r]=true;const o=e.findCell(r);let u=t.nodeAt(r);if(!u){throw RangeError(`No cell with offset ${r} found`)}const f=i.left-o.left;const h=o.right-i.right;if(f>0||h>0){let t=u.attrs;if(f>0){t=fb(t,0,f)}if(h>0){t=fb(t,t.colspan-h,h)}if(o.left<i.left){u=u.type.createAndFill(t);if(!u){throw RangeError(`Could not create cell with attrs ${JSON.stringify(t)}`)}}else{u=u.type.create(t,u.content)}}if(o.top<i.top||o.bottom>i.bottom){const t={...u.attrs,rowspan:Math.min(o.bottom,i.bottom)-Math.max(o.top,i.top)};if(o.top<i.top){u=u.type.createAndFill(t)}else{u=u.type.create(t,u.content)}}l.push(u)}s.push(t.child(r).copy(we.from(l)))}const l=this.isColSelection()&&this.isRowSelection()?t:s;return new ye(we.from(l),1,1)}replace(t,e=ye.empty){const r=t.steps.length,i=this.ranges;for(let n=0;n<i.length;n++){const{$from:s,$to:l}=i[n],o=t.mapping.slice(r);t.replace(o.map(s.pos),o.map(l.pos),n?ye.empty:e)}const n=Ki.findFrom(t.doc.resolve(t.mapping.slice(r).map(this.to)),-1);if(n)t.setSelection(n)}replaceWith(t,e){this.replace(t,new ye(we.from(e),0,0))}forEachCell(t){const e=this.$anchorCell.node(-1);const r=Hg.get(e);const i=this.$anchorCell.start(-1);const n=r.cellsInRect(r.rectBetween(this.$anchorCell.pos-i,this.$headCell.pos-i));for(let r=0;r<n.length;r++){t(e.nodeAt(n[r]),i+n[r])}}isColSelection(){const t=this.$anchorCell.index(-1);const e=this.$headCell.index(-1);if(Math.min(t,e)>0)return false;const r=t+this.$anchorCell.nodeAfter.attrs.rowspan;const i=e+this.$headCell.nodeAfter.attrs.rowspan;return Math.max(r,i)==this.$headCell.node(-1).childCount}static colSelection(e,r=e){const i=e.node(-1);const n=Hg.get(i);const s=e.start(-1);const l=n.findCell(e.pos-s);const o=n.findCell(r.pos-s);const u=e.node(0);if(l.top<=o.top){if(l.top>0)e=u.resolve(s+n.map[l.left]);if(o.bottom<n.height)r=u.resolve(s+n.map[n.width*(n.height-1)+o.right-1])}else{if(o.top>0)r=u.resolve(s+n.map[o.left]);if(l.bottom<n.height)e=u.resolve(s+n.map[n.width*(n.height-1)+l.right-1])}return new t(e,r)}isRowSelection(){const t=this.$anchorCell.node(-1);const e=Hg.get(t);const r=this.$anchorCell.start(-1);const i=e.colCount(this.$anchorCell.pos-r);const n=e.colCount(this.$headCell.pos-r);if(Math.min(i,n)>0)return false;const s=i+this.$anchorCell.nodeAfter.attrs.colspan;const l=n+this.$headCell.nodeAfter.attrs.colspan;return Math.max(s,l)==e.width}eq(e){return e instanceof t&&e.$anchorCell.pos==this.$anchorCell.pos&&e.$headCell.pos==this.$headCell.pos}static rowSelection(e,r=e){const i=e.node(-1);const n=Hg.get(i);const s=e.start(-1);const l=n.findCell(e.pos-s);const o=n.findCell(r.pos-s);const u=e.node(0);if(l.left<=o.left){if(l.left>0)e=u.resolve(s+n.map[l.top*n.width]);if(o.right<n.width)r=u.resolve(s+n.map[n.width*(o.top+1)-1])}else{if(o.left>0)r=u.resolve(s+n.map[o.top*n.width]);if(l.right<n.width)e=u.resolve(s+n.map[n.width*(l.top+1)-1])}return new t(e,r)}toJSON(){return{type:"cell",anchor:this.$anchorCell.pos,head:this.$headCell.pos}}static fromJSON(e,r){return new t(e.resolve(r.anchor),e.resolve(r.head))}static create(e,r,i=r){return new t(e.resolve(r),e.resolve(i))}getBookmark(){return new ab(this.$anchorCell.pos,this.$headCell.pos)}};hb.prototype.visible=false;Ki.jsonID("cell",hb);var ab=class t{constructor(t,e){this.anchor=t;this.head=e}map(e){return new t(e.map(this.anchor),e.map(this.head))}resolve(t){const e=t.resolve(this.anchor),r=t.resolve(this.head);if(e.parent.type.spec.tableRole=="row"&&r.parent.type.spec.tableRole=="row"&&e.index()<e.parent.childCount&&r.index()<r.parent.childCount&&ob(e,r))return new hb(e,r);else return Ki.near(r,1)}};function cb(t){if(!(t.selection instanceof hb))return null;const e=[];t.selection.forEachCell(((t,r)=>{e.push(Zo.node(r,r+t.nodeSize,{class:"selectedCell"}))}));return Go.create(t.doc,e)}function db({$from:t,$to:e}){if(t.pos==e.pos||t.pos<t.pos-6)return false;let r=t.pos;let i=e.pos;let n=t.depth;for(;n>=0;n--,r++)if(t.after(n+1)<t.end(n))break;for(let t=e.depth;t>=0;t--,i--)if(e.before(t+1)>e.start(t))break;return r==i&&/row|table/.test(t.node(n).type.spec.tableRole)}function pb({$from:t,$to:e}){let r;let i;for(let e=t.depth;e>0;e--){const i=t.node(e);if(i.type.spec.tableRole==="cell"||i.type.spec.tableRole==="header_cell"){r=i;break}}for(let t=e.depth;t>0;t--){const r=e.node(t);if(r.type.spec.tableRole==="cell"||r.type.spec.tableRole==="header_cell"){i=r;break}}return r!==i&&e.parentOffset===0}function mb(t,e,r){const i=(e||t).selection;const n=(e||t).doc;let s;let l;if(i instanceof tn&&(l=i.node.type.spec.tableRole)){if(l=="cell"||l=="header_cell"){s=hb.create(n,i.from)}else if(l=="row"){const t=n.resolve(i.from+1);s=hb.rowSelection(t,t)}else if(!r){const t=Hg.get(i.node);const e=i.from+1;const r=e+t.map[t.width*t.height-1];s=hb.create(n,e+1,r)}}else if(i instanceof Yi&&db(i)){s=Yi.create(n,i.from)}else if(i instanceof Yi&&pb(i)){s=Yi.create(n,i.$from.start(),i.$from.end())}if(s)(e||(e=t.tr)).setSelection(s);return e}var wb=new Dn("fix-tables");function gb(t,e,r,i){const n=t.childCount,s=e.childCount;t:for(let l=0,o=0;l<s;l++){const s=e.child(l);for(let e=o,i=Math.min(n,l+3);e<i;e++){if(t.child(e)==s){o=e+1;r+=s.nodeSize;continue t}}i(s,r);if(o<n&&t.child(o).sameMarkup(s))gb(t.child(o),s,r+1,i);else s.nodesBetween(0,s.content.size,i,r+1);r+=s.nodeSize}}function bb(t,e){let r;const i=(e,i)=>{if(e.type.spec.tableRole=="table")r=kb(t,e,i,r)};if(!e)t.doc.descendants(i);else if(e.doc!=t.doc)gb(e.doc,t.doc,0,i);return r}function kb(t,e,r,i){const n=Hg.get(e);if(!n.problems)return i;if(!i)i=t.tr;const s=[];for(let t=0;t<n.height;t++)s.push(0);for(let t=0;t<n.problems.length;t++){const l=n.problems[t];if(l.type=="collision"){const t=e.nodeAt(l.pos);if(!t)continue;const n=t.attrs;for(let t=0;t<n.rowspan;t++)s[l.row+t]+=l.n;i.setNodeMarkup(i.mapping.map(r+1+l.pos),null,fb(n,n.colspan-l.n,l.n))}else if(l.type=="missing"){s[l.row]+=l.n}else if(l.type=="overlong_rowspan"){const t=e.nodeAt(l.pos);if(!t)continue;i.setNodeMarkup(i.mapping.map(r+1+l.pos),null,{...t.attrs,rowspan:t.attrs.rowspan-l.n})}else if(l.type=="colwidth mismatch"){const t=e.nodeAt(l.pos);if(!t)continue;i.setNodeMarkup(i.mapping.map(r+1+l.pos),null,{...t.attrs,colwidth:l.colwidth})}}let l,o;for(let t=0;t<s.length;t++)if(s[t]){if(l==null)l=t;o=t}for(let u=0,f=r+1;u<n.height;u++){const r=e.child(u);const n=f+r.nodeSize;const h=s[u];if(h>0){let e="cell";if(r.firstChild){e=r.firstChild.type.spec.tableRole}const s=[];for(let r=0;r<h;r++){const r=tb(t.schema)[e].createAndFill();if(r)s.push(r)}const a=(u==0||l==u-1)&&o==u?f+1:n-1;i.insert(i.mapping.map(a),s)}f=n}return i.setMeta(wb,{fixTables:true})}function Db(t,e){const r=t.selection;if(!(r instanceof hb))return false;if(e){const i=t.tr;const n=tb(t.schema).cell.createAndFill().content;r.forEachCell(((t,e)=>{if(!t.content.eq(n))i.replace(i.mapping.map(e+1),i.mapping.map(e+t.nodeSize-1),new ye(n,0,0))}));if(i.docChanged)e(i)}return true}function vb(t){if(!t.size)return null;let{content:e,openStart:r,openEnd:i}=t;while(e.childCount==1&&(r>0&&i>0||e.child(0).type.spec.tableRole=="table")){r--;i--;e=e.child(0).content}const n=e.child(0);const s=n.type.spec.tableRole;const l=n.type.schema,o=[];if(s=="row"){for(let t=0;t<e.childCount;t++){let n=e.child(t).content;const s=t?0:Math.max(0,r-1);const u=t<e.childCount-1?0:Math.max(0,i-1);if(s||u)n=Fb(tb(l).row,new ye(n,s,u)).content;o.push(n)}}else if(s=="cell"||s=="header_cell"){o.push(r||i?Fb(tb(l).row,new ye(e,r,i)).content:e)}else{return null}return yb(l,o)}function yb(t,e){const r=[];for(let t=0;t<e.length;t++){const i=e[t];for(let e=i.childCount-1;e>=0;e--){const{rowspan:n,colspan:s}=i.child(e).attrs;for(let e=t;e<t+n;e++)r[e]=(r[e]||0)+s}}let i=0;for(let t=0;t<r.length;t++)i=Math.max(i,r[t]);for(let n=0;n<r.length;n++){if(n>=e.length)e.push(we.empty);if(r[n]<i){const s=tb(t).cell.createAndFill();const l=[];for(let t=r[n];t<i;t++){l.push(s)}e[n]=e[n].append(we.from(l))}}return{height:e.length,width:i,rows:e}}function Fb(t,e){const r=t.createAndFill();const i=new Hi(r).replace(0,r.content.size,e);return i.doc}function Eb({width:t,height:e,rows:r},i,n){if(t!=i){const e=[];const n=[];for(let t=0;t<r.length;t++){const s=r[t],l=[];for(let r=e[t]||0,n=0;r<i;n++){let o=s.child(n%s.childCount);if(r+o.attrs.colspan>i)o=o.type.createChecked(fb(o.attrs,o.attrs.colspan,r+o.attrs.colspan-i),o.content);l.push(o);r+=o.attrs.colspan;for(let r=1;r<o.attrs.rowspan;r++)e[t+r]=(e[t+r]||0)+o.attrs.colspan}n.push(we.from(l))}r=n;t=i}if(e!=n){const t=[];for(let i=0,s=0;i<n;i++,s++){const l=[],o=r[s%e];for(let t=0;t<o.childCount;t++){let e=o.child(t);if(i+e.attrs.rowspan>n)e=e.type.create({...e.attrs,rowspan:Math.max(1,n-e.attrs.rowspan)},e.content);l.push(e)}t.push(we.from(l))}r=t;e=n}return{width:t,height:e,rows:r}}function Mb(t,e,r,i,n,s,l){const o=t.doc.type.schema;const u=tb(o);let f;let h;if(n>e.width){for(let s=0,o=0;s<e.height;s++){const a=r.child(s);o+=a.nodeSize;const c=[];let d;if(a.lastChild==null||a.lastChild.type==u.cell)d=f||(f=u.cell.createAndFill());else d=h||(h=u.header_cell.createAndFill());for(let t=e.width;t<n;t++)c.push(d);t.insert(t.mapping.slice(l).map(o-1+i),c)}}if(s>e.height){const o=[];for(let t=0,i=(e.height-1)*e.width;t<Math.max(e.width,n);t++){const n=t>=e.width?false:r.nodeAt(e.map[i+t]).type==u.header_cell;o.push(n?h||(h=u.header_cell.createAndFill()):f||(f=u.cell.createAndFill()))}const a=u.row.create(null,we.from(o)),c=[];for(let t=e.height;t<s;t++)c.push(a);t.insert(t.mapping.slice(l).map(i+r.nodeSize-2),c)}return!!(f||h)}function xb(t,e,r,i,n,s,l,o){if(l==0||l==e.height)return false;let u=false;for(let f=n;f<s;f++){const n=l*e.width+f,s=e.map[n];if(e.map[n-e.width]==s){u=true;const n=r.nodeAt(s);const{top:h,left:a}=e.findCell(s);t.setNodeMarkup(t.mapping.slice(o).map(s+i),null,{...n.attrs,rowspan:l-h});t.insert(t.mapping.slice(o).map(e.positionAt(l,a,r)),n.type.createAndFill({...n.attrs,rowspan:h+n.attrs.rowspan-l}));f+=n.attrs.colspan-1}}return u}function Ab(t,e,r,i,n,s,l,o){if(l==0||l==e.width)return false;let u=false;for(let f=n;f<s;f++){const n=f*e.width+l,s=e.map[n];if(e.map[n-1]==s){u=true;const n=r.nodeAt(s);const h=e.colCount(s);const a=t.mapping.slice(o).map(s+i);t.setNodeMarkup(a,null,fb(n.attrs,l-h,n.attrs.colspan-(l-h)));t.insert(a+n.nodeSize,n.type.createAndFill(fb(n.attrs,0,l-h)));f+=n.attrs.rowspan-1}}return u}function Cb(t,e,r,i,n){let s=r?t.doc.nodeAt(r-1):t.doc;if(!s){throw new Error("No table found")}let l=Hg.get(s);const{top:o,left:u}=i;const f=u+n.width,h=o+n.height;const a=t.tr;let c=0;function d(){s=r?a.doc.nodeAt(r-1):a.doc;if(!s){throw new Error("No table found")}l=Hg.get(s);c=a.mapping.maps.length}if(Mb(a,l,s,r,f,h,c))d();if(xb(a,l,s,r,u,f,o,c))d();if(xb(a,l,s,r,u,f,h,c))d();if(Ab(a,l,s,r,o,h,u,c))d();if(Ab(a,l,s,r,o,h,f,c))d();for(let t=o;t<h;t++){const e=l.positionAt(t,u,s),i=l.positionAt(t,f,s);a.replace(a.mapping.slice(c).map(e+r),a.mapping.slice(c).map(i+r),new ye(n.rows[t-o],0,0))}d();a.setSelection(new hb(a.doc.resolve(r+l.positionAt(o,u,s)),a.doc.resolve(r+l.positionAt(h-1,f-1,s))));e(a)}var Sb=Df({ArrowLeft:$b("horiz",-1),ArrowRight:$b("horiz",1),ArrowUp:$b("vert",-1),ArrowDown:$b("vert",1),"Shift-ArrowLeft":_b("horiz",-1),"Shift-ArrowRight":_b("horiz",1),"Shift-ArrowUp":_b("vert",-1),"Shift-ArrowDown":_b("vert",1),Backspace:Db,"Mod-Backspace":Db,Delete:Db,"Mod-Delete":Db});function Ob(t,e,r){if(r.eq(t.selection))return false;if(e)e(t.tr.setSelection(r).scrollIntoView());return true}function $b(t,e){return(r,i,n)=>{if(!n)return false;const s=r.selection;if(s instanceof hb){return Ob(r,i,Ki.near(s.$headCell,e))}if(t!="horiz"&&!s.empty)return false;const l=Nb(n,t,e);if(l==null)return false;if(t=="horiz"){return Ob(r,i,Ki.near(r.doc.resolve(s.head+e),e))}else{const n=r.doc.resolve(l);const s=ub(n,t,e);let o;if(s)o=Ki.near(s,1);else if(e<0)o=Ki.near(r.doc.resolve(n.before(-1)),-1);else o=Ki.near(r.doc.resolve(n.after(-1)),1);return Ob(r,i,o)}}}function _b(t,e){return(r,i,n)=>{if(!n)return false;const s=r.selection;let l;if(s instanceof hb){l=s}else{const i=Nb(n,t,e);if(i==null)return false;l=new hb(r.doc.resolve(i))}const o=ub(l.$headCell,t,e);if(!o)return false;return Ob(r,i,new hb(l.$anchorCell,o))}}function Bb(t,e){const r=t.state.doc,i=rb(r.resolve(e));if(!i)return false;t.dispatch(t.state.tr.setSelection(new hb(i)));return true}function Rb(t,e,r){if(!ib(t.state))return false;let i=vb(r);const n=t.state.selection;if(n instanceof hb){if(!i)i={width:1,height:1,rows:[we.from(Fb(tb(t.state.schema).cell,r))]};const e=n.$anchorCell.node(-1);const s=n.$anchorCell.start(-1);const l=Hg.get(e).rectBetween(n.$anchorCell.pos-s,n.$headCell.pos-s);i=Eb(i,l.right-l.left,l.bottom-l.top);Cb(t.state,t.dispatch,s,l,i);return true}else if(i){const e=nb(t.state);const r=e.start(-1);Cb(t.state,t.dispatch,r,Hg.get(e.node(-1)).findCell(e.pos-r),i);return true}else{return false}}function jb(t,e){var r;if(e.ctrlKey||e.metaKey)return;const i=qb(t,e.target);let n;if(e.shiftKey&&t.state.selection instanceof hb){s(t.state.selection.$anchorCell,e);e.preventDefault()}else if(e.shiftKey&&i&&(n=rb(t.state.selection.$anchor))!=null&&((r=zb(t,e))==null?void 0:r.pos)!=n.pos){s(n,e);e.preventDefault()}else if(!i){return}function s(e,r){let i=zb(t,r);const n=eb.getState(t.state)==null;if(!i||!ob(e,i)){if(n)i=e;else return}const s=new hb(e,i);if(n||!t.state.selection.eq(s)){const r=t.state.tr.setSelection(s);if(n)r.setMeta(eb,e.pos);t.dispatch(r)}}function l(){t.root.removeEventListener("mouseup",l);t.root.removeEventListener("dragstart",l);t.root.removeEventListener("mousemove",o);if(eb.getState(t.state)!=null)t.dispatch(t.state.tr.setMeta(eb,-1))}function o(r){const n=r;const o=eb.getState(t.state);let u;if(o!=null){u=t.state.doc.resolve(o)}else if(qb(t,n.target)!=i){u=zb(t,e);if(!u)return l()}if(u)s(u,n)}t.root.addEventListener("mouseup",l);t.root.addEventListener("dragstart",l);t.root.addEventListener("mousemove",o)}function Nb(t,e,r){if(!(t.state.selection instanceof Yi))return null;const{$head:i}=t.state.selection;for(let n=i.depth-1;n>=0;n--){const s=i.node(n),l=r<0?i.index(n):i.indexAfter(n);if(l!=(r<0?0:s.childCount))return null;if(s.type.spec.tableRole=="cell"||s.type.spec.tableRole=="header_cell"){const s=i.before(n);const l=e=="vert"?r>0?"down":"up":r>0?"right":"left";return t.endOfTextblock(l)?s:null}}return null}function qb(t,e){for(;e&&e!=t.dom;e=e.parentNode){if(e.nodeName=="TD"||e.nodeName=="TH"){return e}}return null}function zb(t,e){const r=t.posAtCoords({left:e.clientX,top:e.clientY});if(!r)return null;return r?rb(t.state.doc.resolve(r.pos)):null}new Dn("tableColumnResizing");function Tb({allowTableNodeSelection:t=false}={}){return new gn({key:eb,state:{init(){return null},apply(t,e){const r=t.getMeta(eb);if(r!=null)return r==-1?null:r;if(e==null||!t.docChanged)return e;const{deleted:i,pos:n}=t.mapping.mapResult(e);return i?null:n}},props:{decorations:cb,handleDOMEvents:{mousedown:jb},createSelectionBetween(t){return eb.getState(t.state)!=null?t.state.selection:null},handleTripleClick:Bb,handleKeyDown:Sb,handlePaste:Rb},appendTransaction(e,r,i){return mb(i,bb(i,r),t)}})}const Ib=t=>{if(t){return[Tb()]}return[]};const Pb=t=>({default:null,getFromDOM:e=>e.style[t]||null,setDOMAttr:(e,r)=>{if(e){r.style=(r.style||"")+`${t}: ${e};`}}});const Jb=()=>Qg({tableGroup:"block",cellContent:"block+",cellAttributes:{background:Pb("background-color"),color:Pb("color")}});const Lb='@charset "UTF-8";:host{--mdc-theme-primary:var(\n --lime-primary-color,\n rgb(var(--color-teal-default))\n );--mdc-theme-secondary:var(\n --lime-secondary-color,\n rgb(var(--contrast-1100))\n );--mdc-theme-on-primary:var(\n --lime-on-primary-color,\n rgb(var(--contrast-100))\n );--mdc-theme-on-secondary:var(\n --lime-on-secondary-color,\n rgb(var(--contrast-100))\n );--mdc-theme-text-disabled-on-background:var(\n --lime-text-disabled-on-background-color,\n rgba(var(--contrast-1700), 0.38)\n );--mdc-theme-text-primary-on-background:var(\n --lime-text-primary-on-background-color,\n rgba(var(--contrast-1700), 0.87)\n );--mdc-theme-text-secondary-on-background:var(\n --lime-text-secondary-on-background-color,\n rgba(var(--contrast-1700), 0.54)\n );--mdc-theme-error:var(\n --lime-error-background-color,\n rgb(var(--color-red-dark))\n );--lime-error-text-color:rgb(var(--color-red-darker));--mdc-theme-surface:var(\n --lime-surface-background-color,\n rgb(var(--contrast-100))\n );--mdc-theme-on-surface:var(\n --lime-on-surface-color,\n rgb(var(--contrast-1500))\n )}:host(limel-prosemirror-adapter){display:flex;flex-direction:column}:host(limel-prosemirror-adapter) .toolbar{order:1}:host(limel-prosemirror-adapter) div#editor{order:2;height:100%;flex-grow:1}:host(limel-prosemirror-adapter) div[contenteditable=true]{height:100%}*{box-sizing:border-box}:host(limel-prosemirror-adapter:hover) .toolbar,:host(limel-prosemirror-adapter:focus-within) .toolbar{will-change:grid-template-rows}:host(limel-prosemirror-adapter:hover) limel-action-bar,:host(limel-prosemirror-adapter:focus-within) limel-action-bar{will-change:opacity, padding}:host(limel-prosemirror-adapter:hover) .ProseMirror,:host(limel-prosemirror-adapter:focus-within) .ProseMirror{will-change:padding}.ProseMirror-menubar-wrapper{display:grid;grid-template-rows:auto 1fr}.ProseMirror-textblock-dropdown{min-width:3em}.ProseMirror-tooltip .ProseMirror-menu{width:-webkit-fit-content;width:fit-content;white-space:pre}.toolbar{--action-bar-border-radius:0.25rem;border-radius:var(--action-bar-border-radius);flex-shrink:0;position:sticky;z-index:1;top:0;width:100%;display:grid;grid-template-rows:var(--limel-prosemirror-adapter-toolbar-grid-template-rows);transition-property:grid-template-rows;transition-duration:var(--limel-prosemirror-adapter-toolbar-grid-template-rows-transition-duration);transition-timing-function:var(--limel-prosemirror-adapter-toolbar-transition-timing-function);background-color:rgba(var(--contrast-200), 0.5);backdrop-filter:blur(0.5rem);-webkit-backdrop-filter:blur(0.5rem)}limel-action-bar{min-width:0;transition-property:padding, opacity;transition-duration:var(--limel-prosemirror-adapter-toolbar-grid-template-rows-transition-duration);transition-timing-function:var(--limel-prosemirror-adapter-toolbar-transition-timing-function);opacity:var(--limel-prosemirror-adapter-toolbar-opacity);padding:var(--limel-prosemirror-adapter-action-bar-padding-top-bottom, 0.125rem) 0.25rem;background-color:transparent;overflow:hidden}.ProseMirror{transition-duration:padding;transition-duration:var(--limel-prosemirror-adapter-toolbar-grid-template-rows-transition-duration);transition-timing-function:var(--limel-prosemirror-adapter-toolbar-transition-timing-function);position:relative;word-wrap:break-word;white-space:pre-wrap;white-space:break-spaces;-webkit-font-variant-ligatures:none;font-variant-ligatures:none;font-feature-settings:"liga" 0;padding:var(--limel-text-editor-padding)}.ProseMirror [draggable][contenteditable=false]{user-select:text}.ProseMirror:focus-visible{outline:none}.ProseMirror-hideselection{caret-color:transparent}.ProseMirror-hideselection *::selection{background:transparent}.ProseMirror-hideselection *::-moz-selection{background:transparent}.ProseMirror-selectednode{outline:0.125rem solid rgb(var(--color-sky-light))}li.ProseMirror-selectednode{outline:none}li.ProseMirror-selectednode:after{content:"";position:absolute;left:-2rem;right:-0.125rem;top:-0.125rem;bottom:-0.125rem;border:0.125rem solid rgb(var(--color-sky-light));pointer-events:none}img.ProseMirror-separator{display:inline !important;border:none !important;margin:0 !important}limel-portal{width:25rem}blockquote{position:relative;font-weight:100;font-size:0.875rem;max-width:100%;line-height:1.4;margin:0;padding:0.5rem 1.25rem;border-radius:0.05rem 0.75rem;background-color:rgb(var(--contrast-300))}blockquote:before,blockquote:after{position:absolute;font-size:2.75rem;opacity:0.4}blockquote:before{content:"“";left:0;top:-0.75rem}blockquote:after{content:"”";right:0;bottom:-2rem}:host(limel-markdown.truncate-paragraphs) p{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}p,li{font-size:0.875rem;word-break:break-word;hyphens:auto;-webkit-hyphens:auto}a{word-break:break-all}p{margin-top:0;margin-bottom:0.5rem}p:only-child{margin-bottom:0}a{transition:color 0.2s ease;color:var(--markdown-hyperlink-color, rgb(var(--color-blue-dark)));text-decoration:none}a:hover{color:var(--markdown-hyperlink-color--hovered, rgb(var(--color-blue-default)))}hr{margin:1.75rem 0 2rem 0;border-width:0;border-top:1px solid rgb(var(--contrast-500))}dl{display:grid;grid-template-columns:1fr 2fr;grid-template-rows:1fr;margin-bottom:2rem;border:1px solid rgb(var(--contrast-400));border-radius:0.375rem;background-color:rgb(var(--contrast-200))}dl dt,dl dd{padding:0.375rem 0.5rem;font-size:0.875rem;margin:0}dl dt:nth-of-type(even),dl dd:nth-of-type(even){background-color:rgb(var(--contrast-300))}dl dt:first-child{border-top-left-radius:0.375rem}dl dt:last-child{border-bottom-left-radius:0.375rem}dl dd:first-child{border-top-right-radius:0.375rem}dl dd:last-child{border-bottom-right-radius:0.375rem}h1{font-size:1.5rem}h2{font-size:1.25rem}h3{font-size:1.125rem}h4{font-size:1rem}h5{font-size:0.875rem}h6{font-size:0.75rem}h1,h2{margin-top:0.5rem;margin-bottom:0.5rem;letter-spacing:-0.03125rem;font-weight:500}h3,h4{margin-top:0.75rem;margin-bottom:0.25rem;font-weight:600}h5,h6{margin-top:0.5rem;margin-bottom:0.125rem;font-weight:600}h1,h2,h3,h4,h5,h6{word-break:break-word;hyphens:auto;-webkit-hyphens:auto}:not([contenteditable=true]) h1,:not([contenteditable=true]) h2,:not([contenteditable=true]) h3,:not([contenteditable=true]) h4,:not([contenteditable=true]) h5,:not([contenteditable=true]) h6{text-wrap:balance}[contenteditable=true] h1,[contenteditable=true] h2,[contenteditable=true] h3,[contenteditable=true] h4,[contenteditable=true] h5,[contenteditable=true] h6{text-wrap:initial}ul{list-style:none}ul li{position:relative;margin-left:0.75rem}ul li:before{content:"";position:absolute;left:-0.5rem;top:0.5rem;width:0.25rem;height:0.25rem;border-radius:50%;background-color:rgb(var(--contrast-700));display:block}ol{margin-top:0.25rem;padding-left:1rem}ul{margin-top:0.25rem;padding-left:0}ul ul,ul ol,ol ol,ol ul{margin-left:0}li{margin-bottom:0.25rem}code{font-family:ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, Consolas, "DejaVu Sans Mono", monospace;font-size:0.8125rem;letter-spacing:-0.0125rem;color:rgb(var(--contrast-1300));-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none;display:inline-block;border-radius:0.25rem;padding:0.03125rem 0.25rem;background-color:rgb(var(--contrast-600))}pre>code{display:block;margin:0.5rem 0;padding:0.5rem 0.75rem;overflow:auto;white-space:pre-wrap}:host(limel-markdown:not(.no-table-styles)) table{table-layout:auto;min-width:100%;border-collapse:collapse;border-spacing:0;background:transparent;margin:0.75rem 0;border:1px solid rgb(var(--contrast-400))}:host(limel-markdown:not(.no-table-styles)) th,:host(limel-markdown:not(.no-table-styles)) td{text-align:left;vertical-align:top;transition:background-color 0.2s ease;font-size:0.875rem}:host(limel-markdown:not(.no-table-styles)) td{padding:0.5rem 0.375rem 0.75rem 0.375rem}:host(limel-markdown:not(.no-table-styles)) tr th{background-color:rgb(var(--contrast-400));padding:0.25rem 0.375rem;font-weight:normal}:host(limel-markdown:not(.no-table-styles)) tr th:only-child{text-align:center}:host(limel-markdown:not(.no-table-styles)) tbody tr:nth-child(odd) td{background-color:rgb(var(--contrast-200))}:host(limel-markdown:not(.no-table-styles)) tbody tr:hover td{background-color:rgb(var(--contrast-300))}';const Wb=300;const Ub=class{constructor(r){t(this,r);this.change=e(this,"change",7);this.changeWaiting=false;this.suppressChangeEvent=false;this.getActionBarItems=()=>{this.actionBarItems=Oc().map(this.getTranslatedItem)};this.getTranslatedItem=t=>{const e=ce(t);if(S(t)){const r=$c[t.value];if(r){e.text=A.get(r,this.language)}}return e};this.updateActiveActionBarItems=t=>{const e=Oc().map((e=>{if(S(e)){return Object.assign(Object.assign({},e),{selected:t[e.value]})}return e}));this.actionBarItems=e};this.handleTransaction=t=>{const e=this.view.state.apply(t);this.view.updateState(e);if(this.suppressChangeEvent||t.getMeta("pointer")){return}const r=this.contentConverter.serialize(this.view,this.schema);if(r===this.lastEmittedValue){return}this.lastEmittedValue=r;this.changeWaiting=true;this.changeEmitter(r)};this.handleActionBarItem=t=>{t.preventDefault();t.stopImmediatePropagation();const{value:e}=t.detail;if(e===lc.Link){this.isLinkMenuOpen=true;return}const r=new CustomEvent("actionBarItemClick",{detail:t.detail});this.view.dom.dispatchEvent(r)};this.handleCancelLinkMenu=t=>{t.preventDefault();t.stopPropagation();this.isLinkMenuOpen=false;this.link={text:"",href:"https://"}};this.handleSaveLinkMenu=()=>{this.isLinkMenuOpen=false;const t=new CustomEvent("saveLinkMenu",{detail:{type:lc.Link,link:this.link}});this.view.dom.dispatchEvent(t);this.link={href:"https://"}};this.handleLinkChange=t=>{this.link=t.detail};this.handleNewLinkSelection=(t,e)=>{this.link.text=t;this.link.href=e||"https://"};this.handleOpenLinkMenu=t=>{t.stopImmediatePropagation();const{href:e,text:r}=t.detail;this.link={href:e,text:r};this.isLinkMenuOpen=true};this.changeEmitter=$((t=>{this.change.emit(t);this.changeWaiting=false}),Wb);this.handleBlur=()=>{this.changeEmitter.flush()};this.contentType="markdown";this.value=undefined;this.language=undefined;this.customElements=[];this.triggerCharacters=[];this.view=undefined;this.actionBarItems=[];this.link={href:"https://"};this.isLinkMenuOpen=false;this.portalId=C()}watchValue(t){if(!this.view){return}if(this.changeWaiting){return}const e=this.contentConverter.serialize(this.view,this.schema);if(t===e){return}this.updateView(t)}componentWillLoad(){this.getActionBarItems();this.setupContentConverter()}componentDidLoad(){setTimeout((()=>{this.initializeTextEditor()}),0)}connectedCallback(){if(this.view){this.initializeTextEditor()}this.host.addEventListener("open-editor-link-menu",this.handleOpenLinkMenu)}disconnectedCallback(){var t,e,r;this.host.removeEventListener("open-editor-link-menu",this.handleOpenLinkMenu);(e=(t=this.view)===null||t===void 0?void 0:t.dom)===null||e===void 0?void 0:e.removeEventListener("blur",this.handleBlur);(r=this.view)===null||r===void 0?void 0:r.destroy()}render(){return[r("div",{id:"editor"}),r("div",{class:"toolbar"},r("limel-action-bar",{ref:t=>this.actionBarElement=t,accessibleLabel:"Toolbar",actions:this.actionBarItems,onItemSelected:this.handleActionBarItem})),this.renderLinkMenu()]}renderLinkMenu(){if(!this.isLinkMenuOpen){return}return r("limel-portal",{containerId:this.portalId,visible:this.isLinkMenuOpen,openDirection:"top",inheritParentWidth:true,anchor:this.actionBarElement},r("limel-text-editor-link-menu",{link:this.link,isOpen:this.isLinkMenuOpen,onLinkChange:this.handleLinkChange,onCancel:this.handleCancelLinkMenu,onSave:this.handleSaveLinkMenu}))}setupContentConverter(){if(this.contentType==="markdown"){this.contentConverter=new ng(this.customElements)}else if(this.contentType==="html"){this.contentConverter=new sg}else{throw new Error(`Unsupported content type: ${this.contentType}. Only 'markdown' and 'html' are supported.`)}}async initializeTextEditor(){this.schema=this.initializeSchema();const t=await this.parseInitialContent();this.menuCommandFactory=new Mc(this.schema);this.view=new Au(this.host.shadowRoot.querySelector("#editor"),{state:this.createEditorState(t),dispatchTransaction:this.handleTransaction});this.view.dom.addEventListener("blur",this.handleBlur);if(this.value){this.updateView(this.value)}}initializeSchema(){let t=Uu.spec.nodes;this.customElements.forEach((e=>{const r=_g(e);const i=e.tagName;t=t.append({[i]:r})}));t=Qu(t,"paragraph block*","block");if(this.contentType==="html"){t=t.append(Jb())}return new cr({nodes:t,marks:Uu.spec.marks.append({strikethrough:lg})})}async parseInitialContent(){const t=document.createElement("div");if(this.value){t.innerHTML=await this.contentConverter.parseAsHTML(this.value,this.schema)}else{t.innerHTML="<p></p>"}return wr.fromSchema(this.schema).parse(t)}createEditorState(t){return mn.create({doc:t,plugins:[...sc({schema:this.schema,menuBar:false}),kf(this.menuCommandFactory.buildKeymap()),Dg(this.handleNewLinkSelection),Lg(this.triggerCharacters),yg(),Cg(oc,this.menuCommandFactory,this.updateActiveActionBarItems),$g(this.menuCommandFactory),...Ib(this.contentType==="html")]})}async updateView(t){this.suppressChangeEvent=true;const e=await this.contentConverter.parseAsHTML(t,this.schema);const r=wr.fromSchema(this.view.state.schema);const i=new window.DOMParser;const n=i.parseFromString(e,"text/html");const s=r.parse(n.body);const l=this.view.state.tr;l.replaceWith(0,l.doc.content.size,s.content);this.view.dispatch(l);this.suppressChangeEvent=false}setFocus(){var t;(t=this.view)===null||t===void 0?void 0:t.focus()}get host(){return i(this)}static get watchers(){return{value:["watchValue"]}}};Ub.style=Lb;export{Ub as limel_prosemirror_adapter};
|
|
2
|
+
//# sourceMappingURL=p-9d2f6454.entry.js.map
|