diff --git a/apps/ios/EdgeEver/Editor/TipTapContentSource.swift b/apps/ios/EdgeEver/Editor/TipTapContentSource.swift index e7889713..a1f162aa 100644 --- a/apps/ios/EdgeEver/Editor/TipTapContentSource.swift +++ b/apps/ios/EdgeEver/Editor/TipTapContentSource.swift @@ -54,6 +54,18 @@ enum TipTapContentSource: Sendable { } static func markdownIsStructurallyRicher(_ markdown: String, thanJSON json: String) -> Bool { + let markdownHasMath = markdown.range( + of: #"(?s)(?= 2 && md > js @@ -68,6 +80,7 @@ enum TipTapContentSource: Sendable { if markdown.range(of: #"(?m)^>\s+\S"#, options: .regularExpression) != nil { score += 1 } if markdown.contains("**") || markdown.contains("__") { score += 1 } if markdown.contains("![") { score += 1 } + if markdown.contains("$$") { score += 3 } return score } @@ -81,6 +94,7 @@ enum TipTapContentSource: Sendable { if json.contains("\"blockquote\"") { score += 1 } if json.contains("\"bold\"") || json.contains("\"italic\"") { score += 1 } if json.contains("\"type\":\"image\"") || json.contains("\"type\": \"image\"") { score += 1 } + if json.contains("\"inlineMath\"") || json.contains("\"blockMath\"") { score += 3 } return score } } diff --git a/apps/ios/EdgeEver/Resources/EditorBundle/index.html b/apps/ios/EdgeEver/Resources/EditorBundle/index.html index 6a4e1fb5..f71ebe09 100644 --- a/apps/ios/EdgeEver/Resources/EditorBundle/index.html +++ b/apps/ios/EdgeEver/Resources/EditorBundle/index.html @@ -7,38 +7,38 @@ content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" />
'+(n?a:xc(a,!0))+`
-`:""+(n?a:xc(a,!0))+`
+`+o.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=u.text):r.push(o);continue}if(e){let u="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(u);break}else throw new Error(u)}}return this.state.top=!0,r}inline(e,r=[]){return this.inlineQueue.push({src:e,tokens:r}),r}inlineTokens(e,r=[]){var l,u,h,d,f;this.tokenizer.lexer=this;let n=e,i=null;if(this.tokens.links){let p=Object.keys(this.tokens.links);if(p.length>0)for(;(i=this.tokenizer.rules.inline.reflinkSearch.exec(n))!==null;)p.includes(i[0].slice(i[0].lastIndexOf("[")+1,-1))&&(n=n.slice(0,i.index)+"["+"a".repeat(i[0].length-2)+"]"+n.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(i=this.tokenizer.rules.inline.anyPunctuation.exec(n))!==null;)n=n.slice(0,i.index)+"++"+n.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let a;for(;(i=this.tokenizer.rules.inline.blockSkip.exec(n))!==null;)a=i[2]?i[2].length:0,n=n.slice(0,i.index+a)+"["+"a".repeat(i[0].length-a-2)+"]"+n.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);n=((u=(l=this.options.hooks)==null?void 0:l.emStrongMask)==null?void 0:u.call({lexer:this},n))??n;let s=!1,o="";for(;e;){s||(o=""),s=!1;let p;if((d=(h=this.options.extensions)==null?void 0:h.inline)!=null&&d.some(m=>(p=m.call({lexer:this},e,r))?(e=e.substring(p.raw.length),r.push(p),!0):!1))continue;if(p=this.tokenizer.escape(e)){e=e.substring(p.raw.length),r.push(p);continue}if(p=this.tokenizer.tag(e)){e=e.substring(p.raw.length),r.push(p);continue}if(p=this.tokenizer.link(e)){e=e.substring(p.raw.length),r.push(p);continue}if(p=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(p.raw.length);let m=r.at(-1);p.type==="text"&&(m==null?void 0:m.type)==="text"?(m.raw+=p.raw,m.text+=p.text):r.push(p);continue}if(p=this.tokenizer.emStrong(e,n,o)){e=e.substring(p.raw.length),r.push(p);continue}if(p=this.tokenizer.codespan(e)){e=e.substring(p.raw.length),r.push(p);continue}if(p=this.tokenizer.br(e)){e=e.substring(p.raw.length),r.push(p);continue}if(p=this.tokenizer.del(e,n,o)){e=e.substring(p.raw.length),r.push(p);continue}if(p=this.tokenizer.autolink(e)){e=e.substring(p.raw.length),r.push(p);continue}if(!this.state.inLink&&(p=this.tokenizer.url(e))){e=e.substring(p.raw.length),r.push(p);continue}let g=e;if((f=this.options.extensions)!=null&&f.startInline){let m=1/0,y=e.slice(1),v;this.options.extensions.startInline.forEach(x=>{v=x.call({lexer:this},y),typeof v=="number"&&v>=0&&(m=Math.min(m,v))}),m<1/0&&m>=0&&(g=e.substring(0,m+1))}if(p=this.tokenizer.inlineText(g)){e=e.substring(p.raw.length),p.raw.slice(-1)!=="_"&&(o=p.raw.slice(-1)),s=!0;let m=r.at(-1);(m==null?void 0:m.type)==="text"?(m.raw+=p.raw,m.text+=p.text):r.push(p);continue}if(e){let m="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(m);break}else throw new Error(m)}}return r}},N7=class{constructor(e){cr(this,"options");cr(this,"parser");this.options=e||hm}space(e){return""}code({text:e,lang:r,escaped:n}){var s;let i=(s=(r||"").match(uo.notSpaceStart))==null?void 0:s[0],a=e.replace(uo.endingNewline,"")+`
+`;return i?''+(n?a:ou(a,!0))+`
+`:""+(n?a:ou(a,!0))+`
`}blockquote({tokens:e}){return`${this.parser.parse(e)}`}html({text:e}){return e}def(e){return""}heading({tokens:e,depth:r}){return`
${xc(e,!0)}`}br(e){return"An error occurred:
"+xc(n.message+"",!0)+"";return r?Promise.resolve(i):i}if(r)return Promise.reject(n);throw n}}},S0=new H9e;function En(t,e){return S0.parse(t,e)}En.options=En.setOptions=function(t){return S0.setOptions(t),En.defaults=S0.defaults,Lle(En.defaults),En};En.getDefaults=dz;En.defaults=J0;En.use=function(...t){return S0.use(...t),En.defaults=S0.defaults,Lle(En.defaults),En};En.walkTokens=function(t,e){return S0.walkTokens(t,e)};En.parseInline=S0.parseInline;En.Parser=Pl;En.parser=Pl.parse;En.Renderer=Q5;En.TextRenderer=xz;En.Lexer=$l;En.lexer=$l.lex;En.Tokenizer=Z5;En.Hooks=zT;En.parse=En;En.options;En.setOptions;En.use;En.walkTokens;En.parseInline;Pl.parse;$l.lex;function q9e(t,e){const n=e.split(` +`}strong({tokens:e}){return`${this.parser.parseInline(e)}`}em({tokens:e}){return`${this.parser.parseInline(e)}`}codespan({text:e}){return`
${ou(e,!0)}`}br(e){return"An error occurred:
"+ou(n.message+"",!0)+"";return r?Promise.resolve(i):i}if(r)return Promise.reject(n);throw n}}},$g=new gHe;function Un(t,e){return $g.parse(t,e)}Un.options=Un.setOptions=function(t){return $g.setOptions(t),Un.defaults=$g.defaults,Yhe(Un.defaults),Un};Un.getDefaults=_H;Un.defaults=hm;Un.use=function(...t){return $g.use(...t),Un.defaults=$g.defaults,Yhe(Un.defaults),Un};Un.walkTokens=function(t,e){return $g.walkTokens(t,e)};Un.parseInline=$g.parseInline;Un.Parser=Cc;Un.parser=Cc.parse;Un.Renderer=N7;Un.TextRenderer=$H;Un.Lexer=kc;Un.lexer=kc.lex;Un.Tokenizer=I7;Un.Hooks=i5;Un.parse=Un;Un.options;Un.setOptions;Un.use;Un.walkTokens;Un.parseInline;Cc.parse;kc.lex;function mHe(t,e){const n=e.split(` `).flatMap(i=>[i,""]).map(i=>`${t}${i}`).join(` -`);return n.slice(0,n.length-1)}function U9e(t,e){const r=[];return Array.from(t.entries()).forEach(([n,i])=>{if(!e){r.push(n);return}(e.marks||[]).find(s=>s.type===n&&bb(s.attrs,i.attrs))||r.push(n)}),r}function Y9e(t,e){const r=[];return Array.from(e.entries()).forEach(([n,i])=>{const a=t.get(n);(!a||!bb(a.attrs,i.attrs))&&r.push({type:n,mark:i})}),r}function X9e(t,e,r,n){const i=!r,a=r&&(!r.marks||r.marks.length===0),s=r&&r.marks&&!n(e,new Map(r.marks.map(l=>[l.type,l]))),o=[];return(i||a||s)&&(r&&r.marks?Array.from(t.entries()).reverse().forEach(([l,u])=>{r.marks.find(d=>d.type===l&&bb(d.attrs,u.attrs))||o.push(l)}):(i||a)&&o.push(...Array.from(t.keys()).reverse())),o}function j9e(t,e){let r="";return Array.from(t.keys()).reverse().forEach(n=>{const i=t.get(n),a=e(n,i);a&&(r=a+r)}),t.clear(),r}function K9e(t,e,r){let n="";return Array.from(t.entries()).forEach(([i,a])=>{const s=r(i,a);s&&(n+=s),e.set(i,a)}),n}function CM(t){const r=(t.raw||t.text||"").match(/^(\s*)[-+*]\s+\[([ xX])\]\s+/);return r?{isTask:!0,checked:r[2].toLowerCase()==="x",indentLevel:r[1].length}:{isTask:!1,indentLevel:0}}function gE(t,e){return typeof t!="string"?"json":e}var Z9e=new Set(["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","link","main","map","mark","menu","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","search","section","select","slot","small","source","span","strong","style","sub","summary","sup","svg","circle","clippath","defs","ellipse","foreignobject","g","image","line","lineargradient","mask","path","polygon","polyline","radialgradient","rect","stop","switch","symbol","textpath","tspan","use","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr"]),Q9e=/<\/?([a-zA-Z][\w-]*)/g;function J9e(t){const e=[];let r;for(;(r=Q9e.exec(t))!==null;)e.push(r[1].toLowerCase());return e}function eBe(t){const e=t.toLowerCase();return e.includes("-")?!1:!Z9e.has(e)}function tBe(t,e){return J9e(t).some(n=>eBe(n)?!e.has(n):!1)}var rBe=class{constructor(t){this.activeParseLexer=null,this.extensionRanks=new Map,this.baseExtensions=[],this.extensions=[],this.codeTypes=new Set,this.schemaParseDomTagsCache=null,this.lastParseResult=null;var e,r,n,i,a;this.markedInstance=(e=t==null?void 0:t.marked)!=null?e:En,this.indentStyle=(n=(r=t==null?void 0:t.indentation)==null?void 0:r.style)!=null?n:"space",this.indentSize=(a=(i=t==null?void 0:t.indentation)==null?void 0:i.size)!=null?a:2,this.baseExtensions=(t==null?void 0:t.extensions)||[],t!=null&&t.markedOptions&&typeof this.markedInstance.setOptions=="function"&&this.markedInstance.setOptions(t.markedOptions),this.registry=new Map,this.nodeTypeRegistry=new Map,t!=null&&t.extensions&&(this.baseExtensions=t.extensions,ly(G6(t.extensions)).forEach(o=>this.registerExtension(o)))}get instance(){return this.markedInstance}get indentCharacter(){return this.indentStyle==="space"?" ":" "}get indentString(){return this.indentCharacter.repeat(this.indentSize)}hasMarked(){return!!this.markedInstance}registerExtension(t){var e,r;this.extensions.push(t);const n=un(Ut(t,"code")),i=t.name;n&&this.codeTypes.add(i),this.extensionRanks.has(i)||this.extensionRanks.set(i,this.extensionRanks.size);const a=Ut(t,"markdownTokenName")||i,s=Ut(t,"parseMarkdown"),o=Ut(t,"renderMarkdown"),l=Ut(t,"markdownTokenizer"),u=(e=Ut(t,"markdownOptions"))!=null?e:null,h=(r=u==null?void 0:u.indentsContent)!=null?r:!1,d=u==null?void 0:u.htmlReopen,f={tokenName:a,nodeName:i,parseMarkdown:s,renderMarkdown:o,isIndenting:h,htmlReopen:d,tokenizer:l};if(a&&s){const p=this.registry.get(a)||[];p.push(f),this.registry.set(a,p)}if(o){const p=this.nodeTypeRegistry.get(i)||[];p.push(f),this.nodeTypeRegistry.set(i,p)}l&&this.hasMarked()&&this.registerTokenizer(l)}createLexer(){return new this.markedInstance.Lexer(this.markedInstance.defaults)}createTokenizerHelpers(t){return{inlineTokens:e=>t.inlineTokens(e),blockTokens:e=>t.blockTokens(e)}}tokenizeInline(t){var e;return((e=this.activeParseLexer)!=null?e:this.createLexer()).inlineTokens(t)}registerTokenizer(t){if(!this.hasMarked())return;const{name:e,start:r,level:n="inline",tokenize:i}=t,a=this.createTokenizerHelpers.bind(this),s=this.createLexer.bind(this);let o;r?o=typeof r=="function"?r:u=>u.indexOf(r):o=u=>{const h=i(u,[],this.createTokenizerHelpers(this.createLexer()));return h&&h.raw?u.indexOf(h.raw):-1};const l={name:e,level:n,start:o,tokenizer(u,h){const d=this.lexer?a(this.lexer):a(s()),f=i(u,h,d);if(f&&f.type)return{...f,type:f.type||e,raw:f.raw||"",tokens:f.tokens||[]}},childTokens:[]};this.markedInstance.use({extensions:[l]})}getHandlersForToken(t){try{return this.registry.get(t)||[]}catch{return[]}}getHandlerForToken(t){const e=this.getHandlersForToken(t);if(e.length>0)return e[0];const r=this.getHandlersForNodeType(t);return r.length>0?r[0]:void 0}getHandlersForNodeType(t){try{return this.nodeTypeRegistry.get(t)||[]}catch{return[]}}serialize(t){if(!t)return"";const e=this.renderNodes(t,t);return this.isEmptyOutput(e)?"":e}isEmptyOutput(t){return!t||t.trim()===""?!0:t.replace(/ /g,"").replace(/\u00A0/g,"").trim()===""}parse(t){if(!this.hasMarked())throw new Error("No marked instance available for parsing");const e=this.activeParseLexer,r=this.createLexer();this.activeParseLexer=r;try{const n=r.lex(t);return{type:"doc",content:this.parseTokens(n,!0)}}finally{this.activeParseLexer=e}}parseTokens(t,e=!1){const r=t.reduce((a,s,o)=>(s.type!=="space"&&a.push(o),a),[]);let n=-1,i=0;return t.flatMap((a,s)=>{for(var o;i
=0&&(e=e.slice(0,r)),!e||e==="start"})}function $Ye(t,e,r){var n,i,a=OYe(e)?JH:Qu;return function(){var s=a(this,t),o=s.on;o!==n&&(i=(n=o).copy()).on(e,r),s.on=i}}function PYe(t,e){var r=this._id;return arguments.length<2?Jc(this.node(),r).on.on(t):this.each($Ye(r,t,e))}function BYe(t){return function(){var e=this.parentNode;for(var r in this.__transition)if(+r!==t)return;e&&e.removeChild(this)}}function FYe(){return this.on("end.remove",BYe(this._id))}function zYe(t){var e=this._name,r=this._id;typeof t!="function"&&(t=jH(t));for(var n=this._groups,i=n.length,a=new Array(i),s=0;s=0))throw new Error(`invalid digits: ${t}`);if(e>15)return nfe;const r=10**e;return function(n){this._+=n[0];for(let i=1,a=n.length;imp)if(!(Math.abs(d*l-u*h)>mp)||!a)this._append`L${this._x1=e},${this._y1=r}`;else{let p=n-s,g=i-o,m=l*l+u*u,y=p*p+g*g,v=Math.sqrt(m),x=Math.sqrt(f),b=a*Math.tan((g$-Math.acos((m+f-y)/(2*v*x)))/2),w=b/x,k=b/v;Math.abs(w-1)>mp&&this._append`L${e+w*h},${r+w*d}`,this._append`A${a},${a},0,0,${+(d*p>h*g)},${this._x1=e+k*l},${this._y1=r+k*u}`}}arc(e,r,n,i,a,s){if(e=+e,r=+r,n=+n,s=!!s,n<0)throw new Error(`negative radius: ${n}`);let o=n*Math.cos(i),l=n*Math.sin(i),u=e+o,h=r+l,d=1^s,f=s?i-a:a-i;this._x1===null?this._append`M${u},${h}`:(Math.abs(this._x1-u)>mp||Math.abs(this._y1-h)>mp)&&this._append`L${u},${h}`,n&&(f<0&&(f=f%m$+m$),f>hXe?this._append`A${n},${n},0,1,${d},${e-o},${r-l}A${n},${n},0,1,${d},${this._x1=u},${this._y1=h}`:f>mp&&this._append`A${n},${n},0,${+(f>=g$)},${d},${this._x1=e+n*Math.cos(a)},${this._y1=r+n*Math.sin(a)}`)}rect(e,r,n,i){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+r}h${n=+n}v${+i}h${-n}Z`}toString(){return this._}};function pXe(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function X7(t,e){if(!isFinite(t)||t===0)return null;var r=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"),n=t.slice(0,r);return[n.length>1?n[0]+n.slice(2):n,+t.slice(r+1)]}function Fx(t){return t=X7(Math.abs(t)),t?t[1]:NaN}function gXe(t,e){return function(r,n){for(var i=r.length,a=[],s=0,o=t[0],l=0;i>0&&o>0&&(l+o+1>n&&(o=Math.max(1,n-l)),a.push(r.substring(i-=o,i+o)),!((l+=o+1)>n));)o=t[s=(s+1)%t.length];return a.reverse().join(e)}}function mXe(t){return function(e){return e.replace(/[0-9]/g,function(r){return t[+r]})}}var yXe=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function j7(t){if(!(e=yXe.exec(t)))throw new Error("invalid format: "+t);var e;return new tG({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}j7.prototype=tG.prototype;function tG(t){this.fill=t.fill===void 0?" ":t.fill+"",this.align=t.align===void 0?">":t.align+"",this.sign=t.sign===void 0?"-":t.sign+"",this.symbol=t.symbol===void 0?"":t.symbol+"",this.zero=!!t.zero,this.width=t.width===void 0?void 0:+t.width,this.comma=!!t.comma,this.precision=t.precision===void 0?void 0:+t.precision,this.trim=!!t.trim,this.type=t.type===void 0?"":t.type+""}tG.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function vXe(t){e:for(var e=t.length,r=1,n=-1,i;r0;){if(u=i$(s,o,r),u===l)return n[i]=s,n[a]=o,e(n);if(u>0)s=Math.floor(s/u)*u,o=Math.ceil(o/u)*u;else if(u<0)s=Math.ceil(s*u)/u,o=Math.floor(o*u)/u;else break;l=u}return t},t}function zx(){var t=sfe();return t.copy=function(){return afe(t,zx())},U9.apply(t,arguments),sje(t)}function oje(t,e){t=t.slice();var r=0,n=t.length-1,i=t[r],a=t[n],s;return a(t(a=new Date(+a)),a),i.ceil=a=>(t(a=new Date(a-1)),e(a,1),t(a),a),i.round=a=>{const s=i(a),o=i.ceil(a);return a-s0))return l;let u;do l.push(u=new Date(+a)),e(a,o),t(a);while(uza(s=>{if(s>=s)for(;t(s),!a(s);)s.setTime(s-1)},(s,o)=>{if(s>=s)if(o<0)for(;++o<=0;)for(;e(s,-1),!a(s););else for(;--o>=0;)for(;e(s,1),!a(s););}),r&&(i.count=(a,s)=>(_M.setTime(+a),RM.setTime(+s),t(_M),t(RM),Math.floor(r(_M,RM))),i.every=a=>(a=Math.floor(a),!isFinite(a)||!(a>0)?null:a>1?i.filter(n?s=>n(s)%a===0:s=>i.count(0,s)%a===0):i)),i}const Vx=za(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);Vx.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?za(e=>{e.setTime(Math.floor(e/t)*t)},(e,r)=>{e.setTime(+e+r*t)},(e,r)=>(r-e)/t):Vx);Vx.range;const Yh=1e3,Yl=Yh*60,Xh=Yl*60,fd=Xh*24,nG=fd*7,IQ=fd*30,LM=fd*365,If=za(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*Yh)},(t,e)=>(e-t)/Yh,t=>t.getUTCSeconds());If.range;const XT=za(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*Yh)},(t,e)=>{t.setTime(+t+e*Yl)},(t,e)=>(e-t)/Yl,t=>t.getMinutes());XT.range;const lje=za(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*Yl)},(t,e)=>(e-t)/Yl,t=>t.getUTCMinutes());lje.range;const jT=za(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*Yh-t.getMinutes()*Yl)},(t,e)=>{t.setTime(+t+e*Xh)},(t,e)=>(e-t)/Xh,t=>t.getHours());jT.range;const cje=za(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*Xh)},(t,e)=>(e-t)/Xh,t=>t.getUTCHours());cje.range;const Vg=za(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*Yl)/fd,t=>t.getDate()-1);Vg.range;const iG=za(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/fd,t=>t.getUTCDate()-1);iG.range;const uje=za(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/fd,t=>Math.floor(t/fd));uje.range;function pm(t){return za(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,r)=>{e.setDate(e.getDate()+r*7)},(e,r)=>(r-e-(r.getTimezoneOffset()-e.getTimezoneOffset())*Yl)/nG)}const yk=pm(0),KT=pm(1),ofe=pm(2),lfe=pm(3),Hg=pm(4),cfe=pm(5),ufe=pm(6);yk.range;KT.range;ofe.range;lfe.range;Hg.range;cfe.range;ufe.range;function gm(t){return za(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCDate(e.getUTCDate()+r*7)},(e,r)=>(r-e)/nG)}const hfe=gm(0),Q7=gm(1),hje=gm(2),dje=gm(3),Hx=gm(4),fje=gm(5),pje=gm(6);hfe.range;Q7.range;hje.range;dje.range;Hx.range;fje.range;pje.range;const ZT=za(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth());ZT.range;const gje=za(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth());gje.range;const pd=za(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());pd.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:za(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,r)=>{e.setFullYear(e.getFullYear()+r*t)});pd.range;const Gg=za(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());Gg.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:za(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCFullYear(e.getUTCFullYear()+r*t)});Gg.range;function mje(t,e,r,n,i,a){const s=[[If,1,Yh],[If,5,5*Yh],[If,15,15*Yh],[If,30,30*Yh],[a,1,Yl],[a,5,5*Yl],[a,15,15*Yl],[a,30,30*Yl],[i,1,Xh],[i,3,3*Xh],[i,6,6*Xh],[i,12,12*Xh],[n,1,fd],[n,2,2*fd],[r,1,nG],[e,1,IQ],[e,3,3*IQ],[t,1,LM]];function o(u,h,d){const f=hy).right(s,f);if(p===s.length)return t.every(a$(u/LM,h/LM,d));if(p===0)return Vx.every(Math.max(a$(u,h,d),1));const[g,m]=s[f/s[p-1][2]53)return null;"w"in ee||(ee.w=1),"Z"in ee?(te=IM(T3(ee.y,0,1)),Ne=te.getUTCDay(),te=Ne>4||Ne===0?Q7.ceil(te):Q7(te),te=iG.offset(te,(ee.V-1)*7),ee.y=te.getUTCFullYear(),ee.m=te.getUTCMonth(),ee.d=te.getUTCDate()+(ee.w+6)%7):(te=MM(T3(ee.y,0,1)),Ne=te.getDay(),te=Ne>4||Ne===0?KT.ceil(te):KT(te),te=Vg.offset(te,(ee.V-1)*7),ee.y=te.getFullYear(),ee.m=te.getMonth(),ee.d=te.getDate()+(ee.w+6)%7)}else("W"in ee||"U"in ee)&&("w"in ee||(ee.w="u"in ee?ee.u%7:"W"in ee?1:0),Ne="Z"in ee?IM(T3(ee.y,0,1)).getUTCDay():MM(T3(ee.y,0,1)).getDay(),ee.m=0,ee.d="W"in ee?(ee.w+6)%7+ee.W*7-(Ne+5)%7:ee.w+ee.U*7-(Ne+6)%7);return"Z"in ee?(ee.H+=ee.Z/100|0,ee.M+=ee.Z%100,IM(ee)):MM(ee)}}function E(Z,J,re,ee){for(var me=0,te=J.length,Ne=re.length,$e,Ve;me1?0:t<-1?QT:Math.acos(t)}function qQ(t){return t>=1?e8:t<=-1?-e8:Math.asin(t)}function yfe(t){let e=3;return t.digits=function(r){if(!arguments.length)return e;if(r==null)e=null;else{const n=Math.floor(r);if(!(n>=0))throw new RangeError(`invalid digits: ${r}`);e=n}return t},()=>new fXe(e)}function AKe(t){return t.innerRadius}function _Ke(t){return t.outerRadius}function RKe(t){return t.startAngle}function LKe(t){return t.endAngle}function MKe(t){return t&&t.padAngle}function IKe(t,e,r,n,i,a,s,o){var l=r-t,u=n-e,h=s-i,d=o-a,f=d*l-h*u;if(!(f*f"u"&&Kc(t,e,null,!1,!1))&&(n!==""&&(n+=","+(t.condenseFlow?"":" ")),n+=t.dump);t.tag=i,t.dump="["+n+"]"}x(tde,"writeFlowSequence");function SO(t,e,r,n){var i="",a=t.tag,s,o,l;for(s=0,o=r.length;s tag resolver accepts not "'+l+'" style');t.dump=n}return!0}return!1}x(EO,"detectType");function Kc(t,e,r,n,i,a,s){t.tag=null,t.dump=r,EO(t,r,!1)||EO(t,r,!0);var o=Ohe.call(t.dump),l=n,u;n&&(n=t.flowLevel<0||t.flowLevel>e);var h=o==="[object Object]"||o==="[object Array]",d,f;if(h&&(d=t.duplicates.indexOf(r),f=d!==-1),(t.tag!==null&&t.tag!=="?"||f||t.indent!==2&&e>0)&&(i=!1),f&&t.usedDuplicates[d])t.dump="*ref_"+d;else{if(h&&f&&!t.usedDuplicates[d]&&(t.usedDuplicates[d]=!0),o==="[object Object]")n&&Object.keys(t.dump).length!==0?(nde(t,e,t.dump,i),f&&(t.dump="&ref_"+d+t.dump)):(rde(t,e,t.dump),f&&(t.dump="&ref_"+d+" "+t.dump));else if(o==="[object Array]")n&&t.dump.length!==0?(t.noArrayIndent&&!s&&e>0?SO(t,e-1,t.dump,i):SO(t,e,t.dump,i),f&&(t.dump="&ref_"+d+t.dump)):(tde(t,e,t.dump),f&&(t.dump="&ref_"+d+" "+t.dump));else if(o==="[object String]")t.tag!=="?"&&Qhe(t,t.dump,e,a,l);else{if(o==="[object Undefined]")return!1;if(t.skipInvalid)return!1;throw new po("unacceptable kind of an object to dump "+o)}t.tag!==null&&t.tag!=="?"&&(u=encodeURI(t.tag[0]==="!"?t.tag.slice(1):t.tag).replace(/!/g,"%21"),t.tag[0]==="!"?u="!"+u:u.slice(0,18)==="tag:yaml.org,2002:"?u="!!"+u.slice(18):u="!<"+u+">",t.dump=u+" "+t.dump)}return!0}x(Kc,"writeNode");function ide(t,e){var r=[],n=[],i,a;for(_A(t,r,n),i=0,a=n.length;i=65536?i+=2:i++)r=ay(t,i),n=Ks[r],!n&&Wx(r)?(e+=t[i],r>=65536&&(e+=t[i+1])):e+=n||spe(r);return e}T(ype,"escapeString");function vpe(t,e,r){var n="",i=t.tag,a,s,o;for(a=0,s=r.length;a"u"&&Vu(t,e,null,!1,!1))&&(n!==""&&(n+=","+(t.condenseFlow?"":" ")),n+=t.dump);t.tag=i,t.dump="["+n+"]"}T(vpe,"writeFlowSequence");function I$(t,e,r,n){var i="",a=t.tag,s,o,l;for(s=0,o=r.length;s tag resolver accepts not "'+l+'" style');t.dump=n}return!0}return!1}T(N$,"detectType");function Vu(t,e,r,n,i,a,s){t.tag=null,t.dump=r,N$(t,r,!1)||N$(t,r,!0);var o=Q0e.call(t.dump),l=n,u;n&&(n=t.flowLevel<0||t.flowLevel>e);var h=o==="[object Object]"||o==="[object Array]",d,f;if(h&&(d=t.duplicates.indexOf(r),f=d!==-1),(t.tag!==null&&t.tag!=="?"||f||t.indent!==2&&e>0)&&(i=!1),f&&t.usedDuplicates[d])t.dump="*ref_"+d;else{if(h&&f&&!t.usedDuplicates[d]&&(t.usedDuplicates[d]=!0),o==="[object Object]")n&&Object.keys(t.dump).length!==0?(xpe(t,e,t.dump,i),f&&(t.dump="&ref_"+d+t.dump)):(bpe(t,e,t.dump),f&&(t.dump="&ref_"+d+" "+t.dump));else if(o==="[object Array]")n&&t.dump.length!==0?(t.noArrayIndent&&!s&&e>0?I$(t,e-1,t.dump,i):I$(t,e,t.dump,i),f&&(t.dump="&ref_"+d+t.dump)):(vpe(t,e,t.dump),f&&(t.dump="&ref_"+d+" "+t.dump));else if(o==="[object String]")t.tag!=="?"&&gpe(t,t.dump,e,a,l);else{if(o==="[object Undefined]")return!1;if(t.skipInvalid)return!1;throw new Yo("unacceptable kind of an object to dump "+o)}t.tag!==null&&t.tag!=="?"&&(u=encodeURI(t.tag[0]==="!"?t.tag.slice(1):t.tag).replace(/!/g,"%21"),t.tag[0]==="!"?u="!"+u:u.slice(0,18)==="tag:yaml.org,2002:"?u="!!"+u.slice(18):u="!<"+u+">",t.dump=u+" "+t.dump)}return!0}T(Vu,"writeNode");function Tpe(t,e){var r=[],n=[],i,a;for(c8(t,r,n),i=0,a=n.length;i{const{handDrawnSeed:e}=Fe();return{fill:t,hachureAngle:120,hachureGap:4,fillWeight:2,roughness:.7,stroke:t,seed:e}},"solidStateFill"),yx=x(t=>{const e=AYe([...t.cssCompiledStyles||[],...t.cssStyles||[],...t.labelStyle||[]]);return{stylesMap:e,stylesArray:[...e]}},"compileStyles"),AYe=x(t=>{const e=new Map;return t.forEach(r=>{const[n,i]=r.split(":");e.set(n.trim(),i==null?void 0:i.trim())}),e},"styles2Map"),tV=x(t=>t==="color"||t==="font-size"||t==="font-family"||t==="font-weight"||t==="font-style"||t==="text-decoration"||t==="text-align"||t==="text-transform"||t==="line-height"||t==="letter-spacing"||t==="word-spacing"||t==="text-shadow"||t==="text-overflow"||t==="white-space"||t==="word-wrap"||t==="word-break"||t==="overflow-wrap"||t==="hyphens","isLabelStyle"),zt=x(t=>{const{stylesArray:e}=yx(t),r=[],n=[],i=[],a=[];return e.forEach(s=>{const o=s[0];tV(o)?r.push(s.join(":")+" !important"):(n.push(s.join(":")+" !important"),o.includes("stroke")&&i.push(s.join(":")+" !important"),o==="fill"&&a.push(s.join(":")+" !important"))}),{labelStyles:r.join(";"),nodeStyles:n.join(";"),stylesArray:e,borderStyles:i,backgroundStyles:a}},"styles2String"),Wt=x((t,e)=>{var l;const{themeVariables:r,handDrawnSeed:n}=Fe(),{nodeBorder:i,mainBkg:a}=r,{stylesMap:s}=yx(t);return Object.assign({roughness:.7,fill:s.get("fill")||a,fillStyle:"hachure",fillWeight:4,hachureGap:5.2,stroke:s.get("stroke")||i,seed:n,strokeWidth:((l=s.get("stroke-width"))==null?void 0:l.replace("px",""))||1.3,fillLineDash:[0,0],strokeLineDash:_Ye(s.get("stroke-dasharray"))},e)},"userNodeOverrides"),_Ye=x(t=>{if(!t)return[0,0];const e=t.trim().split(/\s+/).map(Number);if(e.length===1){const i=isNaN(e[0])?0:e[0];return[i,i]}const r=isNaN(e[0])?0:e[0],n=isNaN(e[1])?0:e[1];return[r,n]},"getStrokeDashArray"),CE={},Ji={},gK;function RYe(){return gK||(gK=1,Object.defineProperty(Ji,"__esModule",{value:!0}),Ji.BLANK_URL=Ji.relativeFirstCharacters=Ji.whitespaceEscapeCharsRegex=Ji.urlSchemeRegex=Ji.ctrlCharactersRegex=Ji.htmlCtrlEntityRegex=Ji.htmlEntitiesRegex=Ji.invalidProtocolRegex=void 0,Ji.invalidProtocolRegex=/^([^\w]*)(javascript|data|vbscript)/im,Ji.htmlEntitiesRegex=/(\w+)(^\w|;)?/g,Ji.htmlCtrlEntityRegex=/&(newline|tab);/gi,Ji.ctrlCharactersRegex=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim,Ji.urlSchemeRegex=/^.+(:|:)/gim,Ji.whitespaceEscapeCharsRegex=/(\\|%5[cC])((%(6[eE]|72|74))|[nrt])/g,Ji.relativeFirstCharacters=[".","/"],Ji.BLANK_URL="about:blank"),Ji}var mK;function LYe(){if(mK)return CE;mK=1,Object.defineProperty(CE,"__esModule",{value:!0}),CE.sanitizeUrl=a;var t=RYe();function e(s){return t.relativeFirstCharacters.indexOf(s[0])>-1}function r(s){var o=s.replace(t.ctrlCharactersRegex,"");return o.replace(t.htmlEntitiesRegex,function(l,u){return String.fromCharCode(u)})}function n(s){return URL.canParse(s)}function i(s){try{return decodeURIComponent(s)}catch{return s}}function a(s){if(!s)return t.BLANK_URL;var o,l=i(s.trim());do l=r(l).replace(t.htmlCtrlEntityRegex,"").replace(t.ctrlCharactersRegex,"").replace(t.whitespaceEscapeCharsRegex,"").trim(),l=i(l),o=l.match(t.ctrlCharactersRegex)||l.match(t.htmlEntitiesRegex)||l.match(t.htmlCtrlEntityRegex)||l.match(t.whitespaceEscapeCharsRegex);while(o&&o.length>0);var u=l;if(!u)return t.BLANK_URL;if(e(u))return u;var h=u.trimStart(),d=h.match(t.urlSchemeRegex);if(!d)return u;var f=d[0].toLowerCase().trim();if(t.invalidProtocolRegex.test(f))return t.BLANK_URL;var p=h.replace(/\\/g,"/");if(f==="mailto:"||f.includes("://"))return p;if(f==="http:"||f==="https:"){if(!n(p))return t.BLANK_URL;var g=new URL(p);return g.protocol=g.protocol.toLowerCase(),g.hostname=g.hostname.toLowerCase(),g.toString()}return p}return CE}var ig=LYe();function MYe(t){return Array.isArray(t)}function HM(t){var r;if(typeof t!="object"||t==null)return!1;if(Object.getPrototypeOf(t)===null)return!0;if(Object.prototype.toString.call(t)!=="[object Object]"){const n=t[Symbol.toStringTag];return n==null||!((r=Object.getOwnPropertyDescriptor(t,Symbol.toStringTag))!=null&&r.writable)?!1:t.toString()===`[object ${n}]`}let e=t;for(;Object.getPrototypeOf(e)!==null;)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e}function IYe(){}function ade(t){return Object.getOwnPropertySymbols(t).filter(e=>Object.prototype.propertyIsEnumerable.call(t,e))}function Qk(t){return t==null?t===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(t)}const sde="[object RegExp]",rV="[object String]",nV="[object Number]",iV="[object Boolean]",aV="[object Arguments]",ode="[object Symbol]",lde="[object Date]",cde="[object Map]",ude="[object Set]",hde="[object Array]",dde="[object ArrayBuffer]",fde="[object Object]",pde="[object DataView]",gde="[object Uint8Array]",mde="[object Uint8ClampedArray]",yde="[object Uint16Array]",vde="[object Uint32Array]",bde="[object Int8Array]",xde="[object Int16Array]",Tde="[object Int32Array]",wde="[object Float32Array]",Cde="[object Float64Array]",yK=typeof globalThis=="object"&&globalThis||typeof window=="object"&&window||typeof self=="object"&&self||typeof global=="object"&&global||(function(){return this})();function sV(t){return typeof yK.Buffer<"u"&&yK.Buffer.isBuffer(t)}function NYe(t){return Number.isSafeInteger(t)&&t>=0}function kde(t){return t!=null&&typeof t!="function"&&NYe(t.length)}function DYe(t){return t==="__proto__"}function fR(t){return t==null||typeof t!="object"&&typeof t!="function"}function oV(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function OYe(t,e){return Um(t,void 0,t,new Map,e)}function Um(t,e,r,n=new Map,i=void 0){const a=i==null?void 0:i(t,e,r,n);if(a!==void 0)return a;if(fR(t))return t;if(n.has(t))return n.get(t);if(Array.isArray(t)){const s=new Array(t.length);n.set(t,s);for(let o=0;o
"},r),At.lineBreakRegex.test(t)))return t;const n=t.split(" ").filter(Boolean),i=[];let a="";return n.forEach((s,o)=>{const l=zs(`${s} `,r),u=zs(a,r);if(l>e){const{hyphenatedStrings:f,remainingWord:p}=nXe(s,e,"-",r);i.push(a,...f),a=p}else u+l>=e?(i.push(a),a=s):a=[a,s].filter(Boolean).join(" ");o+1===n.length&&i.push(a)}),i.filter(s=>s!=="").join(r.joinWith)},(t,e,r)=>`${t}${e}${r.fontSize}${r.fontWeight}${r.fontFamily}${r.joinWith}`),nXe=Jk((t,e,r="-",n)=>{n=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},n);const i=[...t],a=[];let s="";return i.forEach((o,l)=>{const u=`${s}${o}`;if(zs(u,n)>=e){const d=l+1,f=i.length===d,p=`${u}${r}`;a.push(f?u:p),s=""}else s=u}),{hyphenatedStrings:a,remainingWord:s}},(t,e,r="-",n)=>`${t}${e}${r}${n.fontSize}${n.fontWeight}${n.fontFamily}`);function RA(t,e){return pR(t,e).height}x(RA,"calculateTextHeight");function zs(t,e){return pR(t,e).width}x(zs,"calculateTextWidth");var pR=Jk((t,e)=>{const{fontSize:r=12,fontFamily:n="Arial",fontWeight:i=400}=e;if(!t)return{width:0,height:0};const[,a]=Oh(r),s=["sans-serif",n],o=t.split(At.lineBreakRegex),l=[],u=ut("body");if(!u.remove)return{width:0,height:0,lineHeight:0};const h=u.append("svg");for(const f of s){let p=0;const g={width:0,height:0,lineHeight:0};for(const m of o){const y=tXe();y.text=m||Sde;const v=rXe(h,y).style("font-size",a).style("font-weight",i).style("font-family",f),T=(v._groups||v)[0][0].getBBox();if(T.width===0&&T.height===0)throw new Error("svg element not in render tree");g.width=Math.round(Math.max(g.width,T.width)),p=Math.round(T.height),g.height+=p,g.lineHeight=Math.round(Math.max(g.lineHeight,p))}l.push(g)}h.remove();const d=isNaN(l[1].height)||isNaN(l[1].width)||isNaN(l[1].lineHeight)||l[0].height>l[1].height&&l[0].width>l[1].width&&l[0].lineHeight>l[1].lineHeight?0:1;return l[d]},(t,e)=>`${t}${e.fontSize}${e.fontWeight}${e.fontFamily}`),Hy,iXe=(Hy=class{constructor(e=!1,r){this.count=0,this.count=r?r.length:0,this.next=e?()=>this.count++:()=>Date.now()}},x(Hy,"InitIDGenerator"),Hy),kE,aXe=x(function(t){return kE=kE||document.createElement("div"),t=escape(t).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),kE.innerHTML=t,unescape(kE.textContent)},"entityDecode");function dV(t){return"str"in t}x(dV,"isDetailedError");var sXe=x((t,e,r,n)=>{var a;if(!n)return;const i=(a=t.node())==null?void 0:a.getBBox();i&&t.append("text").text(n).attr("text-anchor","middle").attr("x",i.x+i.width/2).attr("y",-r).attr("class",e)},"insertTitle"),Oh=x(t=>{if(typeof t=="number")return[t,t+"px"];const e=parseInt(t??"",10);return Number.isNaN(e)?[void 0,void 0]:t===String(e)?[e,t+"px"]:[e,t]},"parseFontSize");function ri(t,e){return YYe({},t,e)}x(ri,"cleanAndMerge");var yr={assignWithDepth:Wi,wrapLabel:Fw,calculateTextHeight:RA,calculateTextWidth:zs,calculateTextDimensions:pR,cleanAndMerge:ri,detectInit:KYe,detectDirective:Ede,isSubstringInArray:QYe,interpolateToCurve:lV,calcLabelPosition:Rde,calcCardinalityPosition:eXe,calcTerminalLabelPosition:Lde,formatUrl:Ade,getStylesFromArray:hV,generateId:Mde,random:Nde,runFunc:JYe,entityDecode:aXe,insertTitle:sXe,isLabelCoordinateInPath:Dde,parseFontSize:Oh,InitIDGenerator:iXe},oXe=x(function(t){let e=t;return e=e.replace(/style.*:\S*#.*;/g,function(r){return r.substring(0,r.length-1)}),e=e.replace(/classDef.*:\S*#.*;/g,function(r){return r.substring(0,r.length-1)}),e=e.replace(/#\w+;/g,function(r){const n=r.substring(1,r.length-1);return/^\+?\d+$/.test(n)?"fl°°"+n+"¶ß":"fl°"+n+"¶ß"}),e},"encodeEntities"),vh=x(function(t){return t.replace(/fl°°/g,"").replace(/fl°/g,"&").replace(/¶ß/g,";")},"decodeEntities"),dy=x((t,e,{counter:r=0,prefix:n,suffix:i},a)=>a||`${n?`${n}_`:""}${t}_${e}_${r}${i?`_${i}`:""}`,"getEdgeId");function ka(t){return t??null}x(ka,"handleUndefinedAttr");function Dde(t,e){const r=Math.round(t.x),n=Math.round(t.y),i=e.replace(/(\d+\.\d+)/g,a=>Math.round(parseFloat(a)).toString());return i.includes(r.toString())||i.includes(n.toString())}x(Dde,"isLabelCoordinateInPath");var vx=x(({flowchart:t})=>{var i,a;const e=((i=t==null?void 0:t.subGraphTitleMargin)==null?void 0:i.top)??0,r=((a=t==null?void 0:t.subGraphTitleMargin)==null?void 0:a.bottom)??0,n=e+r;return{subGraphTitleTopMargin:e,subGraphTitleBottomMargin:r,subGraphTitleTotalMargin:n}},"getSubGraphTitleMargins");async function fV(t,e){const r=t.getElementsByTagName("img");if(!r||r.length===0)return;const n=e.replace(/]*>/g,"").trim()==="";await Promise.all([...r].map(i=>new Promise(a=>{function s(){if(i.style.display="flex",i.style.flexDirection="column",n){const o=Fe().fontSize?Fe().fontSize:window.getComputedStyle(document.body).fontSize,l=5,[u=Vr.fontSize]=Oh(o),h=u*l+"px";i.style.minWidth=h,i.style.maxWidth=h}else i.style.width="100%";a(i)}x(s,"setupImage"),setTimeout(()=>{i.complete&&s()}),i.addEventListener("error",s),i.addEventListener("load",s)})))}x(fV,"configureLabelImages");const lXe=Object.freeze({left:0,top:0,width:16,height:16}),LA=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),Ode=Object.freeze({...lXe,...LA}),cXe=Object.freeze({...Ode,body:"",hidden:!1}),uXe=Object.freeze({width:null,height:null}),hXe=Object.freeze({...uXe,...LA}),dXe=(t,e,r,n="")=>{const i=t.split(":");if(t.slice(0,1)==="@"){if(i.length<2||i.length>3)return null;n=i.shift().slice(1)}if(i.length>3||!i.length)return null;if(i.length>1){const o=i.pop(),l=i.pop(),u={provider:i.length>0?i[0]:n,prefix:l,name:o};return UM(u)?u:null}const a=i[0],s=a.split("-");if(s.length>1){const o={provider:n,prefix:s.shift(),name:s.join("-")};return UM(o)?o:null}if(r&&n===""){const o={provider:n,prefix:"",name:a};return UM(o,r)?o:null}return null},UM=(t,e)=>t?!!((e&&t.prefix===""||t.prefix)&&t.name):!1;function fXe(t,e){const r={};!t.hFlip!=!e.hFlip&&(r.hFlip=!0),!t.vFlip!=!e.vFlip&&(r.vFlip=!0);const n=((t.rotate||0)+(e.rotate||0))%4;return n&&(r.rotate=n),r}function wK(t,e){const r=fXe(t,e);for(const n in cXe)n in LA?n in t&&!(n in r)&&(r[n]=LA[n]):n in e?r[n]=e[n]:n in t&&(r[n]=t[n]);return r}function pXe(t,e){const r=t.icons,n=t.aliases||Object.create(null),i=Object.create(null);function a(s){if(r[s])return i[s]=[];if(!(s in i)){i[s]=null;const o=n[s]&&n[s].parent,l=o&&a(o);l&&(i[s]=[o].concat(l))}return i[s]}return(e||Object.keys(r).concat(Object.keys(n))).forEach(a),i}function CK(t,e,r){const n=t.icons,i=t.aliases||Object.create(null);let a={};function s(o){a=wK(n[o]||i[o],a)}return s(e),r.forEach(s),wK(t,a)}function gXe(t,e){if(t.icons[e])return CK(t,e,[]);const r=pXe(t,[e])[e];return r?CK(t,e,r):null}const mXe=/(-?[0-9.]*[0-9]+[0-9.]*)/g,yXe=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function kK(t,e,r){if(e===1)return t;if(r=r||100,typeof t=="number")return Math.ceil(t*e*r)/r;if(typeof t!="string")return t;const n=t.split(mXe);if(n===null||!n.length)return t;const i=[];let a=n.shift(),s=yXe.test(a);for(;;){if(s){const o=parseFloat(a);isNaN(o)?i.push(a):i.push(Math.ceil(o*e*r)/r)}else i.push(a);if(a=n.shift(),a===void 0)return i.join("");s=!s}}function vXe(t,e="defs"){let r="";const n=t.indexOf("<"+e);for(;n>=0;){const i=t.indexOf(">",n),a=t.indexOf(""+e);if(i===-1||a===-1)break;const s=t.indexOf(">",a);if(s===-1)break;r+=t.slice(i+1,a).trim(),t=t.slice(0,n).trim()+t.slice(s+1)}return{defs:r,content:t}}function bXe(t,e){return t?"
"},r),$t.lineBreakRegex.test(t)))return t;const n=t.split(" ").filter(Boolean),i=[];let a="";return n.forEach((s,o)=>{const l=vo(`${s} `,r),u=vo(a,r);if(l>e){const{hyphenatedStrings:f,remainingWord:p}=_Qe(s,e,"-",r);i.push(a,...f),a=p}else u+l>=e?(i.push(a),a=s):a=[a,s].filter(Boolean).join(" ");o+1===n.length&&i.push(a)}),i.filter(s=>s!=="").join(r.joinWith)},(t,e,r)=>`${t}${e}${r.fontSize}${r.fontWeight}${r.fontFamily}${r.joinWith}`),_Qe=xk((t,e,r="-",n)=>{n=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},n);const i=[...t],a=[];let s="";return i.forEach((o,l)=>{const u=`${s}${o}`;if(vo(u,n)>=e){const d=l+1,f=i.length===d,p=`${u}${r}`;a.push(f?u:p),s=""}else s=u}),{hyphenatedStrings:a,remainingWord:s}},(t,e,r="-",n)=>`${t}${e}${r}${n.fontSize}${n.fontWeight}${n.fontFamily}`);function u8(t,e){return e_(t,e).height}T(u8,"calculateTextHeight");function vo(t,e){return e_(t,e).width}T(vo,"calculateTextWidth");var e_=xk((t,e)=>{const{fontSize:r=12,fontFamily:n="Arial",fontWeight:i=400}=e;if(!t)return{width:0,height:0};const[,a]=Od(r),s=["sans-serif",n],o=t.split($t.lineBreakRegex),l=[],u=vt("body");if(!u.remove)return{width:0,height:0,lineHeight:0};const h=u.append("svg");for(const f of s){let p=0;const g={width:0,height:0,lineHeight:0};for(const m of o){const y=EQe();y.text=m||Hpe;const v=AQe(h,y).style("font-size",a).style("font-weight",i).style("font-family",f),x=(v._groups||v)[0][0].getBBox();if(x.width===0&&x.height===0)throw new Error("svg element not in render tree");g.width=Math.round(Math.max(g.width,x.width)),p=Math.round(x.height),g.height+=p,g.lineHeight=Math.round(Math.max(g.lineHeight,p))}l.push(g)}h.remove();const d=isNaN(l[1].height)||isNaN(l[1].width)||isNaN(l[1].lineHeight)||l[0].height>l[1].height&&l[0].width>l[1].width&&l[0].lineHeight>l[1].lineHeight?0:1;return l[d]},(t,e)=>`${t}${e.fontSize}${e.fontWeight}${e.fontFamily}`),av,RQe=(av=class{constructor(e=!1,r){this.count=0,this.count=r?r.length:0,this.next=e?()=>this.count++:()=>Date.now()}},T(av,"InitIDGenerator"),av),XC,LQe=T(function(t){return XC=XC||document.createElement("div"),t=escape(t).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),XC.innerHTML=t,unescape(XC.textContent)},"entityDecode");function _G(t){return"str"in t}T(_G,"isDetailedError");var MQe=T((t,e,r,n)=>{var a;if(!n)return;const i=(a=t.node())==null?void 0:a.getBBox();i&&t.append("text").text(n).attr("text-anchor","middle").attr("x",i.x+i.width/2).attr("y",-r).attr("class",e)},"insertTitle"),Od=T(t=>{if(typeof t=="number")return[t,t+"px"];const e=parseInt(t??"",10);return Number.isNaN(e)?[void 0,void 0]:t===String(e)?[e,t+"px"]:[e,t]},"parseFontSize");function Ci(t,e){return vQe({},t,e)}T(Ci,"cleanAndMerge");var Dr={assignWithDepth:ya,wrapLabel:iT,calculateTextHeight:u8,calculateTextWidth:vo,calculateTextDimensions:e_,cleanAndMerge:Ci,detectInit:TQe,detectDirective:Gpe,isSubstringInArray:kQe,interpolateToCurve:CG,calcLabelPosition:Upe,calcCardinalityPosition:SQe,calcTerminalLabelPosition:Ype,formatUrl:qpe,getStylesFromArray:AG,generateId:Xpe,random:Kpe,runFunc:CQe,entityDecode:LQe,insertTitle:MQe,isLabelCoordinateInPath:Zpe,parseFontSize:Od,InitIDGenerator:RQe},IQe=T(function(t){let e=t;return e=e.replace(/style.*:\S*#.*;/g,function(r){return r.substring(0,r.length-1)}),e=e.replace(/classDef.*:\S*#.*;/g,function(r){return r.substring(0,r.length-1)}),e=e.replace(/#\w+;/g,function(r){const n=r.substring(1,r.length-1);return/^\+?\d+$/.test(n)?"fl°°"+n+"¶ß":"fl°"+n+"¶ß"}),e},"encodeEntities"),gd=T(function(t){return t.replace(/fl°°/g,"").replace(/fl°/g,"&").replace(/¶ß/g,";")},"decodeEntities"),Ey=T((t,e,{counter:r=0,prefix:n,suffix:i},a)=>a||`${n?`${n}_`:""}${t}_${e}_${r}${i?`_${i}`:""}`,"getEdgeId");function Ja(t){return t??null}T(Ja,"handleUndefinedAttr");function Zpe(t,e){const r=Math.round(t.x),n=Math.round(t.y),i=e.replace(/(\d+\.\d+)/g,a=>Math.round(parseFloat(a)).toString());return i.includes(r.toString())||i.includes(n.toString())}T(Zpe,"isLabelCoordinateInPath");var D4=T(({flowchart:t})=>{var i,a;const e=((i=t==null?void 0:t.subGraphTitleMargin)==null?void 0:i.top)??0,r=((a=t==null?void 0:t.subGraphTitleMargin)==null?void 0:a.bottom)??0,n=e+r;return{subGraphTitleTopMargin:e,subGraphTitleBottomMargin:r,subGraphTitleTotalMargin:n}},"getSubGraphTitleMargins");async function RG(t,e){const r=t.getElementsByTagName("img");if(!r||r.length===0)return;const n=e.replace(/]*>/g,"").trim()==="";await Promise.all([...r].map(i=>new Promise(a=>{function s(){if(i.style.display="flex",i.style.flexDirection="column",n){const o=Ge().fontSize?Ge().fontSize:window.getComputedStyle(document.body).fontSize,l=5,[u=on.fontSize]=Od(o),h=u*l+"px";i.style.minWidth=h,i.style.maxWidth=h}else i.style.width="100%";a(i)}T(s,"setupImage"),setTimeout(()=>{i.complete&&s()}),i.addEventListener("error",s),i.addEventListener("load",s)})))}T(RG,"configureLabelImages");const NQe=Object.freeze({left:0,top:0,width:16,height:16}),h8=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),Qpe=Object.freeze({...NQe,...h8}),DQe=Object.freeze({...Qpe,body:"",hidden:!1}),OQe=Object.freeze({width:null,height:null}),$Qe=Object.freeze({...OQe,...h8}),PQe=(t,e,r,n="")=>{const i=t.split(":");if(t.slice(0,1)==="@"){if(i.length<2||i.length>3)return null;n=i.shift().slice(1)}if(i.length>3||!i.length)return null;if(i.length>1){const o=i.pop(),l=i.pop(),u={provider:i.length>0?i[0]:n,prefix:l,name:o};return BM(u)?u:null}const a=i[0],s=a.split("-");if(s.length>1){const o={provider:n,prefix:s.shift(),name:s.join("-")};return BM(o)?o:null}if(r&&n===""){const o={provider:n,prefix:"",name:a};return BM(o,r)?o:null}return null},BM=(t,e)=>t?!!((e&&t.prefix===""||t.prefix)&&t.name):!1;function BQe(t,e){const r={};!t.hFlip!=!e.hFlip&&(r.hFlip=!0),!t.vFlip!=!e.vFlip&&(r.vFlip=!0);const n=((t.rotate||0)+(e.rotate||0))%4;return n&&(r.rotate=n),r}function iJ(t,e){const r=BQe(t,e);for(const n in DQe)n in h8?n in t&&!(n in r)&&(r[n]=h8[n]):n in e?r[n]=e[n]:n in t&&(r[n]=t[n]);return r}function FQe(t,e){const r=t.icons,n=t.aliases||Object.create(null),i=Object.create(null);function a(s){if(r[s])return i[s]=[];if(!(s in i)){i[s]=null;const o=n[s]&&n[s].parent,l=o&&a(o);l&&(i[s]=[o].concat(l))}return i[s]}return(e||Object.keys(r).concat(Object.keys(n))).forEach(a),i}function aJ(t,e,r){const n=t.icons,i=t.aliases||Object.create(null);let a={};function s(o){a=iJ(n[o]||i[o],a)}return s(e),r.forEach(s),iJ(t,a)}function zQe(t,e){if(t.icons[e])return aJ(t,e,[]);const r=FQe(t,[e])[e];return r?aJ(t,e,r):null}const VQe=/(-?[0-9.]*[0-9]+[0-9.]*)/g,HQe=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function sJ(t,e,r){if(e===1)return t;if(r=r||100,typeof t=="number")return Math.ceil(t*e*r)/r;if(typeof t!="string")return t;const n=t.split(VQe);if(n===null||!n.length)return t;const i=[];let a=n.shift(),s=HQe.test(a);for(;;){if(s){const o=parseFloat(a);isNaN(o)?i.push(a):i.push(Math.ceil(o*e*r)/r)}else i.push(a);if(a=n.shift(),a===void 0)return i.join("");s=!s}}function GQe(t,e="defs"){let r="";const n=t.indexOf("<"+e);for(;n>=0;){const i=t.indexOf(">",n),a=t.indexOf(""+e);if(i===-1||a===-1)break;const s=t.indexOf(">",a);if(s===-1)break;r+=t.slice(i+1,a).trim(),t=t.slice(0,n).trim()+t.slice(s+1)}return{defs:r,content:t}}function qQe(t,e){return t?"