projet-long/assets/index-b4b4a2ac.js

2807 lines
3.1 MiB
JavaScript
Raw Normal View History

2023-06-25 18:09:16 +00:00
(function(){const w=document.createElement("link").relList;if(w&&w.supports&&w.supports("modulepreload"))return;for(const H of document.querySelectorAll('link[rel="modulepreload"]'))D(H);new MutationObserver(H=>{for(const U of H)if(U.type==="childList")for(const Q of U.addedNodes)Q.tagName==="LINK"&&Q.rel==="modulepreload"&&D(Q)}).observe(document,{childList:!0,subtree:!0});function T(H){const U={};return H.integrity&&(U.integrity=H.integrity),H.referrerPolicy&&(U.referrerPolicy=H.referrerPolicy),H.crossOrigin==="use-credentials"?U.credentials="include":H.crossOrigin==="anonymous"?U.credentials="omit":U.credentials="same-origin",U}function D(H){if(H.ep)return;H.ep=!0;const U=T(H);fetch(H.href,U)}})();function aS(g,w){const T=Object.create(null),D=g.split(",");for(let H=0;H<D.length;H++)T[D[H]]=!0;return w?H=>!!T[H.toLowerCase()]:H=>!!T[H]}function im(g){if(to(g)){const w={};for(let T=0;T<g.length;T++){const D=g[T],H=hf(D)?SSn(D):im(D);if(H)for(const U in H)w[U]=H[U]}return w}else{if(hf(g))return g;if(Ju(g))return g}}const kSn=/;(?![^(]*\))/g,ESn=/:([^]+)/,TSn=/\/\*.*?\*\//gs;function SSn(g){const w={};return g.replace(TSn,"").split(kSn).forEach(T=>{if(T){const D=T.split(ESn);D.length>1&&(w[D[0].trim()]=D[1].trim())}}),w}function Xd(g){let w="";if(hf(g))w=g;else if(to(g))for(let T=0;T<g.length;T++){const D=Xd(g[T]);D&&(w+=D+" ")}else if(Ju(g))for(const T in g)g[T]&&(w+=T+" ");return w.trim()}function Ic(g){if(!g)return null;let{class:w,style:T}=g;return w&&!hf(w)&&(g.class=Xd(w)),T&&(g.style=im(T)),g}const CSn="html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot",ASn="svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view",ySt=aS(CSn),MSn=aS(ASn),LSn="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",ISn=aS(LSn);function _St(g){return!!g||g===""}const p3=g=>hf(g)?g:g==null?"":to(g)||Ju(g)&&(g.toString===TSt||!ac(g.toString))?JSON.stringify(g,xSt,2):String(g),xSt=(g,w)=>w&&w.__v_isRef?xSt(g,w.value):YI(w)?{[`Map(${w.size})`]:[...w.entries()].reduce((T,[D,H])=>(T[`${D} =>`]=H,T),{})}:ESt(w)?{[`Set(${w.size})`]:[...w.values()]}:Ju(w)&&!to(w)&&!SSt(w)?String(w):w,Bh=Object.freeze({}),mF=Object.freeze([]),Bb=()=>{},kSt=()=>!1,OSn=/^on[^a-z]/,gQ=g=>OSn.test(g),vme=g=>g.startsWith("onUpdate:"),vd=Object.assign,nBe=(g,w)=>{const T=g.indexOf(w);T>-1&&g.splice(T,1)},DSn=Object.prototype.hasOwnProperty,Pl=(g,w)=>DSn.call(g,w),to=Array.isArray,YI=g=>pQ(g)==="[object Map]",ESt=g=>pQ(g)==="[object Set]",PSn=g=>pQ(g)==="[object RegExp]",ac=g=>typeof g=="function",hf=g=>typeof g=="string",rBe=g=>typeof g=="symbol",Ju=g=>g!==null&&typeof g=="object",iBe=g=>Ju(g)&&ac(g.then)&&ac(g.catch),TSt=Object.prototype.toString,pQ=g=>TSt.call(g),sBe=g=>pQ(g).slice(8,-1),SSt=g=>pQ(g)==="[object Object]",aBe=g=>hf(g)&&g!=="NaN"&&g[0]!=="-"&&""+parseInt(g,10)===g,sme=aS(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),NSn
`),H]);else{const U=[`[Vue warn]: ${g}`,...w];H.length&&U.push(`
`,...TCn(H)),console.warn(...U)}sO()}function ECn(){let g=ZI[ZI.length-1];if(!g)return[];const w=[];for(;g;){const T=w[0];T&&T.vnode===g?T.recurseCount++:w.push({vnode:g,recurseCount:0});const D=g.component&&g.component.parent;g=D&&D.vnode}return w}function TCn(g){const w=[];return g.forEach((T,D)=>{w.push(...D===0?[]:[`
`],...SCn(T))}),w}function SCn({vnode:g,recurseCount:w}){const T=w>0?`... (${w} recursive calls)`:"",D=g.component?g.component.parent==null:!1,H=` at <${tve(g.component,g.type,D)}`,U=">"+T;return g.props?[H,...CCn(g.props),U]:[H+U]}function CCn(g){const w=[],T=Object.keys(g);return T.slice(0,3).forEach(D=>{w.push(...WSt(D,g[D]))}),T.length>3&&w.push(" ..."),w}function WSt(g,w,T){return hf(w)?(w=JSON.stringify(w),T?w:[`${g}=${w}`]):typeof w=="number"||typeof w=="boolean"||w==null?T?w:[`${g}=${w}`]:pu(w)?(w=WSt(g,fc(w.value),!0),T?w:[`${g}=Ref<`,w,">"]):ac(w)?[`${g}=fn${w.name?`<${w.name}>`:""}`]:(w=fc(w),T?w:[`${g}=`,w])}function ACn(g,w){g!==void 0&&(typeof g!="number"?Di(`${w} is not a valid number - got ${JSON.stringify(g)}.`):isNaN(g)&&Di(`${w} is NaN - the duration expression might be incorrect.`))}const gBe={sp:"serverPrefetch hook",bc:"beforeCreate hook",c:"created hook",bm:"beforeMount hook",m:"mounted hook",bu:"beforeUpdate hook",u:"updated",bum:"beforeUnmount hook",um:"unmounted hook",a:"activated hook",da:"deactivated hook",ec:"errorCaptured hook",rtc:"renderTracked hook",rtg:"renderTriggered hook",[0]:"setup function",[1]:"render function",[2]:"watcher getter",[3]:"watcher callback",[4]:"watcher cleanup function",[5]:"native event handler",[6]:"component event handler",[7]:"vnode hook",[8]:"directive hook",[9]:"transition hook",[10]:"app errorHandler",[11]:"app warnHandler",[12]:"ref function",[13]:"async component loader",[14]:"scheduler flush. This is likely a Vue internals bug. Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/core"};function W8(g,w,T,D){let H;try{H=D?g(...D):g()}catch(U){Wme(U,w,T)}return H}function g3(g,w,T,D){if(ac(g)){const U=W8(g,w,T,D);return U&&iBe(U)&&U.catch(Q=>{Wme(Q,w,T)}),U}const H=[];for(let U=0;U<g.length;U++)H.push(g3(g[U],w,T,D));return H}function Wme(g,w,T,D=!0){const H=w?w.vnode:null;if(w){let U=w.parent;const Q=w.proxy,ie=gBe[T];for(;U;){const ne=U.ec;if(ne){for(let Be=0;Be<ne.length;Be++)if(ne[Be](g,Q,ie)===!1)return}U=U.parent}const he=w.appContext.config.errorHandler;if(he){W8(he,null,10,[g,Q,ie]);return}}MCn(g,T,H,D)}function MCn(g,w,T,D=!0){{const H=gBe[w];if(T&&ame(T),Di(`Unhandled error${H?` during execution of ${H}`:""}`),T&&ome(),D)throw g;console.error(g)}}let QX=!1,lRe=!1;const rm=[];let W_=0;const vF=[];let G_=null,HT=0;const KSt=Promise.resolve();let pBe=null;const LCn=100;function vp(g){const w=pBe||KSt;return g?w.then(this?g.bind(this):g):w}function ICn(g){let w=W_+1,T=rm.length;for(;w<T;){const D=w+T>>>1;ZX(rm[D])<g?w=D+1:T=D}return w}function Kme(g){(!rm.length||!rm.includes(g,QX&&g.allowRecurse?W_+1:W_))&&(g.id==null?rm.push(g):rm.splice(ICn(g.id),0,g),YSt())}function YSt(){!QX&&!lRe&&(lRe=!0,pBe=KSt.then(ZSt))}function OCn(g){const w=rm.indexOf(g);w>W_&&rm.splice(w,1)}function XSt(g){to(g)?vF.push(...g):(!G_||!G_.includes(g,g.allowRecurse?HT+1:HT))&&vF.push(g),YSt()}function o9t(g,w=QX?W_+1:0){for(g=g||new Map;w<rm.length;w++){const T=rm[w];if(T&&T.pre){if(mBe(g,T))continue;rm.splice(w,1),w--,T()}}}function QSt(g){if(vF.length){const w=[...new Set(vF)];if(vF.length=0,G_){G_.push(...w);return}for(G_=w,g=g||new Map,G_.sort((T,D)=>ZX(T)-ZX(D)),HT=0;HT<G_.length;HT++)mBe(g,G_[HT])||G_[HT]();G_=null,HT=0}}const ZX=g=>g.id==null?1/0:g.id,DCn=(g,w)=>{const T=ZX(g)-ZX(w);if(T===0){if(g.pre&&!w.pre)return-1;if(w.pre&&!g.pre)return 1}return T};function ZSt(g){lRe=!1,QX=!0,g=g||new Map,rm.sort(DCn);const w=T=>mBe(g,T);try{for(W_=0;W_<rm.length;W_++){const T=rm[W_];if(T&&T.active!==!1){if(w(T))continue;W8(T,null,14)}}}finally{W_=0,rm.length=0,QSt(g),QX=!1,pBe=null,(rm.length||vF.length)&&ZSt(g)}}function mBe(g,w){if(!g.has(w))g.set(w,1);else{const T=g.get(w);if(T>LCn){const D=w.ownerInstance,H=D&&nQ(D.type);return Di(`Maximum recursive updates exceeded${H?` in component <${H}>`:""}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`),!0}else g.set(w,T+1)}}let YT=!1;const uF=new Set;CS
If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.`:"";Di(`Failed to resolve ${g.slice(0,-1)}: ${w}${ie}`)}return Q}else Di(`resolve${nO(g.slice(0,-1))} can only be used in render() or setup().`)}function f9t(g,w){return g&&(g[w]||g[Q_(w)]||g[nO(Q_(w))])}function wQ(g,w,T,D){let H;const U=T&&T[D];if(to(g)||hf(g)){H=new Array(g.length);for(let Q=0,ie=g.length;Q<ie;Q++)H[Q]=w(g[Q],Q,void 0,U&&U[Q])}else if(typeof g=="number"){Number.isInteger(g)||Di(`The v-for range expect an integer value but got ${g}.`),H=new Array(g);for(let Q=0;Q<g;Q++)H[Q]=w(Q+1,Q,void 0,U&&U[Q])}else if(Ju(g))if(g[Symbol.iterator])H=Array.from(g,(Q,ie)=>w(Q,ie,void 0,U&&U[ie]));else{const Q=Object.keys(g);H=new Array(Q.length);for(let ie=0,he=Q.length;ie<he;ie++){const ne=Q[ie];H[ie]=w(g[ne],ne,ie,U&&U[ie])}}else H=[];return T&&(T[D]=H),H}function rS(g,w,T={},D,H){if(Y0.isCE||Y0.parent&&bF(Y0.parent)&&Y0.parent.isCE)return w!=="default"&&(T.name=w),Pa("slot",T,D&&D());let U=g[w];U&&U.length>1&&(Di("SSR-optimized slot function detected in a non-SSR-optimized render function. You need to mark this component with $dynamic-slots in the parent template."),U=()=>[]),U&&U._c&&(U._d=!1),tr();const Q=U&&mCt(U(T)),ie=Ds(zu,{key:T.key||Q&&Q.key||`_${w}`},Q||(D?D():[]),Q&&g._===1?64:-2);return!H&&ie.scopeId&&(ie.slotScopeIds=[ie.scopeId+"-s"]),U&&U._c&&(U._d=!0),ie}function mCt(g){return g.some(w=>iS(w)?!(w.type===Dg||w.type===zu&&!mCt(w.children)):!0)?g:null}const gRe=g=>g?LCt(g)?eve(g)||g.proxy:gRe(g.parent):null,JI=vd(Object.create(null),{$:g=>g,$el:g=>g.vnode.el,$data:g=>g.data,$props:g=>gF(g.props),$attrs:g=>gF(g.attrs),$slots:g=>gF(g.slots),$refs:g=>gF(g.refs),$parent:g=>gRe(g.parent),$root:g=>gRe(g.root),$emit:g=>g.emit,$options:g=>kBe(g),$forceUpdate:g=>g.f||(g.f=()=>Kme(g.update)),$nextTick:g=>g.n||(g.n=vp.bind(g.proxy)),$watch:g=>ZCn.bind(g)}),xBe=g=>g==="_"||g==="$",ONe=(g,w)=>g!==Bh&&!g.__isScriptSetup&&Pl(g,w),vCt={get({_:g},w){const{ctx:T,setupState:D,data:H,props:U,accessCache:Q,type:ie,appContext:he}=g;if(w==="__isVue")return!0;let ne;if(w[0]!=="$"){const xt=Q[w];if(xt!==void 0)switch(xt){case 1:return D[w];case 2:return H[w];case 4:return T[w];case 3:return U[w]}else{if(ONe(D,w))return Q[w]=1,D[w];if(H!==Bh&&Pl(H,w))return Q[w]=2,H[w];if((ne=g.propsOptions[0])&&Pl(ne,w))return Q[w]=3,U[w];if(T!==Bh&&Pl(T,w))return Q[w]=4,T[w];pRe&&(Q[w]=0)}}const Be=JI[w];let He,Ye;if(Be)return w==="$attrs"&&($b(g,"get",w),Eme()),Be(g);if((He=ie.__cssModules)&&(He=He[w]))return He;if(T!==Bh&&Pl(T,w))return Q[w]=4,T[w];if(Ye=he.config.globalProperties,Pl(Ye,w))return Ye[w];Y0&&(!hf(w)||w.indexOf("__v")!==0)&&(H!==Bh&&xBe(w[0])&&Pl(H,w)?Di(`Property ${JSON.stringify(w)} must be accessed via $data because it starts with a reserved character ("$" or "_") and is not proxied on the render context.`):g===Y0&&Di(`Property ${JSON.stringify(w)} was accessed during render but is not defined on instance.`))},set({_:g},w,T){const{data:D,setupState:H,ctx:U}=g;return ONe(H,w)?(H[w]=T,!0):H.__isScriptSetup&&Pl(H,w)?(Di(`Cannot mutate <script setup> binding "${w}" from Options API.`),!1):D!==Bh&&Pl(D,w)?(D[w]=T,!0):Pl(g.props,w)?(Di(`Attempting to mutate prop "${w}". Props are readonly.`),!1):w[0]==="$"&&w.slice(1)in g?(Di(`Attempting to mutate public property "${w}". Properties starting with $ are reserved and readonly.`),!1):(w in g.appContext.config.globalProperties?Object.defineProperty(U,w,{enumerable:!0,configurable:!0,value:T}):U[w]=T,!0)},has({_:{data:g,setupState:w,accessCache:T,ctx:D,appContext:H,propsOptions:U}},Q){let ie;return!!T[Q]||g!==Bh&&Pl(g,Q)||ONe(w,Q)||(ie=U[0])&&Pl(ie,Q)||Pl(D,Q)||Pl(JI,Q)||Pl(H.config.globalProperties,Q)},defineProperty(g,w,T){return T.get!=null?g._.accessCache[w]=0:Pl(T,"value")&&this.set(g,w,T.value,null),Reflect.defineProperty(g,w,T)}};vCt.ownKeys=g=>(Di("Avoid app logic that relies on enumerating keys on a component instance. The keys will be empty in production mode to avoid performance overhead."),Reflect.ownKeys(g));function hAn(g){const w={};return Object.defi
For more details, see https://link.vuejs.org/feature-flags.`)}}const mp=QCn;function PAn(g){return NAn(g)}function NAn(g,w){DAn();const T=CSt();T.__VUE__=!0,eCt(T.__VUE_DEVTOOLS_GLOBAL_HOOK__,T);const{insert:D,remove:H,patchProp:U,createElement:Q,createText:ie,createComment:he,setText:ne,setElementText:Be,parentNode:He,nextSibling:Ye,setScopeId:xt=Bb,insertStaticContent:ft}=g,Jt=(Et,cn,ar,vi=null,ii=null,Qi=null,Es=!1,Wi=null,fs=YT?!1:!!cn.dynamicChildren)=>{if(Et===cn)return;Et&&!GT(Et,cn)&&(vi=qs(Et),Rg(Et,ii,Qi,!0),Et=null),cn.patchFlag===-2&&(fs=!1,cn.dynamicChildren=null);const{type:Ci,ref:da,shapeFlag:oa}=cn;switch(Ci){case yQ:Cn(Et,cn,ar,vi);break;case Dg:lr(Et,cn,ar,vi);break;case cme:Et==null?Dn(cn,ar,vi,Es):Vn(Et,cn,ar,Es);break;case zu:Kc(Et,cn,ar,vi,ii,Qi,Es,Wi,fs);break;default:oa&1?xi(Et,cn,ar,vi,ii,Qi,Es,Wi,fs):oa&6?Zl(Et,cn,ar,vi,ii,Qi,Es,Wi,fs):oa&64||oa&128?Ci.process(Et,cn,ar,vi,ii,Qi,Es,Wi,fs,al):Di("Invalid VNode type:",Ci,`(${typeof Ci})`)}da!=null&&ii&&wRe(da,Et&&Et.ref,Qi,cn||Et,!cn)},Cn=(Et,cn,ar,vi)=>{if(Et==null)D(cn.el=ie(cn.children),ar,vi);else{const ii=cn.el=Et.el;cn.children!==Et.children&&ne(ii,cn.children)}},lr=(Et,cn,ar,vi)=>{Et==null?D(cn.el=he(cn.children||""),ar,vi):cn.el=Et.el},Dn=(Et,cn,ar,vi)=>{[Et.el,Et.anchor]=ft(Et.children,cn,ar,vi,Et.el,Et.anchor)},Vn=(Et,cn,ar,vi)=>{if(cn.children!==Et.children){const ii=Ye(Et.anchor);ti(Et),[cn.el,cn.anchor]=ft(cn.children,ar,ii,vi)}else cn.el=Et.el,cn.anchor=Et.anchor},ur=({el:Et,anchor:cn},ar,vi)=>{let ii;for(;Et&&Et!==cn;)ii=Ye(Et),D(Et,ar,vi),Et=ii;D(cn,ar,vi)},ti=({el:Et,anchor:cn})=>{let ar;for(;Et&&Et!==cn;)ar=Ye(Et),H(Et),Et=ar;H(cn)},xi=(Et,cn,ar,vi,ii,Qi,Es,Wi,fs)=>{Es=Es||cn.type==="svg",Et==null?gs(cn,ar,vi,ii,Qi,Es,Wi,fs):Ks(Et,cn,ii,Qi,Es,Wi,fs)},gs=(Et,cn,ar,vi,ii,Qi,Es,Wi)=>{let fs,Ci;const{type:da,props:oa,shapeFlag:Na,transition:qo,dirs:Yc}=Et;if(fs=Et.el=Q(Et.type,Qi,oa&&oa.is,oa),Na&8?Be(fs,Et.children):Na&16&&ns(Et.children,fs,null,vi,ii,Qi&&da!=="foreignObject",Es,Wi),Yc&&NI(Et,null,vi,"created"),jr(fs,Et,Et.scopeId,Es,vi),oa){for(const cu in oa)cu!=="value"&&!sme(cu)&&U(fs,cu,null,oa[cu],Qi,Et.children,vi,ii,bs);"value"in oa&&U(fs,"value",null,oa.value),(Ci=oa.onVnodeBeforeMount)&&h3(Ci,vi,Et)}Object.defineProperty(fs,"__vnode",{value:Et,enumerable:!1}),Object.defineProperty(fs,"__vueParentComponent",{value:vi,enumerable:!1}),Yc&&NI(Et,null,vi,"beforeMount");const Vu=(!ii||ii&&!ii.pendingBranch)&&qo&&!qo.persisted;Vu&&qo.beforeEnter(fs),D(fs,cn,ar),((Ci=oa&&oa.onVnodeMounted)||Vu||Yc)&&mp(()=>{Ci&&h3(Ci,vi,Et),Vu&&qo.enter(fs),Yc&&NI(Et,null,vi,"mounted")},ii)},jr=(Et,cn,ar,vi,ii)=>{if(ar&&xt(Et,ar),vi)for(let Qi=0;Qi<vi.length;Qi++)xt(Et,vi[Qi]);if(ii){let Qi=ii.subTree;if(Qi.patchFlag>0&&Qi.patchFlag&2048&&(Qi=aCt(Qi.children)||Qi),cn===Qi){const Es=ii.vnode;jr(Et,Es,Es.scopeId,Es.slotScopeIds,ii.parent)}}},ns=(Et,cn,ar,vi,ii,Qi,Es,Wi,fs=0)=>{for(let Ci=fs;Ci<Et.length;Ci++){const da=Et[Ci]=Wi?zT(Et[Ci]):D5(Et[Ci]);Jt(null,da,cn,ar,vi,ii,Qi,Es,Wi)}},Ks=(Et,cn,ar,vi,ii,Qi,Es)=>{const Wi=cn.el=Et.el;let{patchFlag:fs,dynamicChildren:Ci,dirs:da}=cn;fs|=Et.patchFlag&16;const oa=Et.props||Bh,Na=cn.props||Bh;let qo;ar&&RI(ar,!1),(qo=Na.onVnodeBeforeUpdate)&&h3(qo,ar,cn,Et),da&&NI(cn,Et,ar,"beforeUpdate"),ar&&RI(ar,!0),YT&&(fs=0,Es=!1,Ci=null);const Yc=ii&&cn.type!=="foreignObject";if(Ci?(Lo(Et.dynamicChildren,Ci,Wi,ar,vi,Yc,Qi),ar&&ar.type.__hmrId&&jX(Et,cn)):Es||kc(Et,cn,Wi,null,ar,vi,Yc,Qi,!1),fs>0){if(fs&16)Ss(Wi,cn,oa,Na,ar,vi,ii);else if(fs&2&&oa.class!==Na.class&&U(Wi,"class",null,Na.class,ii),fs&4&&U(Wi,"style",oa.style,Na.style,ii),fs&8){const Vu=cn.dynamicProps;for(let cu=0;cu<Vu.length;cu++){const bd=Vu[cu],Hb=oa[bd],J_=Na[bd];(J_!==Hb||bd==="value")&&U(Wi,bd,Hb,J_,ii,Et.children,ar,vi,bs)}}fs&1&&Et.children!==cn.children&&Be(Wi,cn.children)}else!Es&&Ci==null&&Ss(Wi,cn,oa,Na,ar,vi,ii);((qo=Na.onVnodeUpdated)||da)&&mp(()=>{qo&&h3(qo,ar,cn,Et),da&&NI(cn,Et,ar,"updated")},vi)},Lo=(Et,cn,ar,vi,ii,Qi,Es)=>{for(let Wi=0;Wi<cn.length;Wi++){const fs=Et[Wi],Ci=cn[Wi],da=fs.el&&(fs.type===zu||!GT(fs,Ci)||fs.shapeFlag&70)?
Component that was made reactive: `,g)),I(g,w,T,D,H,Q,U,!0)}function xc(g){return g?xme(g)||Jme in g?vd({},g):g:null}function N5(g,w,T=!1){const{props:D,ref:H,patchFlag:U,children:Q}=g,ie=w?EF(D||{},w):D;return{__v_isVNode:!0,__v_skip:!0,type:g.type,props:ie,key:ie&&ACt(ie),ref:w&&w.ref?T&&H?to(H)?H.concat(lme(w)):[H,lme(w)]:lme(w):H,scopeId:g.scopeId,slotScopeIds:g.slotScopeIds,children:U===-1&&to(Q)?Q.map(MCt):Q,target:g.target,targetAnchor:g.targetAnchor,staticCount:g.staticCount,shapeFlag:g.shapeFlag,patchFlag:w&&g.type!==zu?U===-1?16:U|16:U,dynamicProps:g.dynamicProps,dynamicChildren:g.dynamicChildren,appContext:g.appContext,dirs:g.dirs,transition:g.transition,component:g.component,suspense:g.suspense,ssContent:g.ssContent&&N5(g.ssContent),ssFallback:g.ssFallback&&N5(g.ssFallback),el:g.el,anchor:g.anchor,ctx:g.ctx,ce:g.ce}}function MCt(g){const w=N5(g);return to(g.children)&&(w.children=g.children.map(MCt)),w}function Du(g=" ",w=0){return Pa(yQ,null,g,w)}function sl(g="",w=!1){return w?(tr(),Ds(Dg,null,g)):Pa(Dg,null,g)}function D5(g){return g==null||typeof g=="boolean"?Pa(Dg):to(g)?Pa(zu,null,g.slice()):typeof g=="object"?zT(g):Pa(yQ,null,String(g))}function zT(g){return g.el===null&&g.patchFlag!==-1||g.memo?g:N5(g)}function TBe(g,w){let T=0;const{shapeFlag:D}=g;if(w==null)w=null;else if(to(w))T=16;else if(typeof w=="object")if(D&65){const H=w.default;H&&(H._c&&(H._d=!1),TBe(g,H()),H._c&&(H._d=!0));return}else{T=32;const H=w._;!H&&!(Jme in w)?w._ctx=Y0:H===3&&Y0&&(Y0.slots._===1?w._=1:(w._=2,g.patchFlag|=1024))}else ac(w)?(w={default:w,_ctx:Y0},T=32):(w=String(w),D&64?(T=16,w=[Du(w)]):T=8);g.children=w,g.shapeFlag|=T}function EF(...g){const w={};for(let T=0;T<g.length;T++){const D=g[T];for(const H in D)if(H==="class")w.class!==D.class&&(w.class=Xd([w.class,D.class]));else if(H==="style")w.style=im([w.style,D.style]);else if(gQ(H)){const U=w[H],Q=D[H];Q&&U!==Q&&!(to(U)&&U.includes(Q))&&(w[H]=U?[].concat(U,Q):Q)}else H!==""&&(w[H]=D[H])}return w}function h3(g,w,T,D=null){g3(g,w,7,[T,D])}const qAn=TCt();let UAn=0;function GAn(g,w,T){const D=g.type,H=(w?w.appContext:g.appContext)||qAn,U={uid:UAn++,vnode:g,type:D,parent:w,appContext:H,root:null,next:null,subTree:null,effect:null,update:null,scope:new ASt(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:w?w.provides:Object.create(H.provides),accessCache:null,renderCache:[],components:null,directives:null,propsOptions:yCt(D,H),emitsOptions:rCt(D,H),emit:null,emitted:null,propsDefaults:Bh,inheritAttrs:D.inheritAttrs,ctx:Bh,data:Bh,props:Bh,attrs:Bh,slots:Bh,refs:Bh,setupState:Bh,setupContext:null,suspense:T,suspenseId:T?T.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return U.ctx=hAn(U),U.root=w?w.root:U,U.emit=UCn.bind(null,U),g.ce&&g.ce(U),U}let Yd=null;const hw=()=>Yd||Y0,TF=g=>{Yd=g,g.scope.on()},eO=()=>{Yd&&Yd.scope.off(),Yd=null},WAn=aS("slot,component");function _Re(g,w){const T=w.isNativeTag||kSt;(WAn(g)||T(g))&&Di("Do not use built-in or reserved HTML elements as component id: "+g)}function LCt(g){return g.vnode.shapeFlag&4}let tQ=!1;function KAn(g,w=!1){tQ=w;const{props:T,children:D}=g.vnode,H=LCt(g);yAn(g,T,H,w),MAn(g,D);const U=H?YAn(g,w):void 0;return tQ=!1,U}function YAn(g,w){var T;const D=g.type;{if(D.name&&_Re(D.name,g.appContext.config),D.components){const U=Object.keys(D.components);for(let Q=0;Q<U.length;Q++)_Re(U[Q],g.appContext.config)}if(D.directives){const U=Object.keys(D.directives);for(let Q=0;Q<U.length;Q++)pCt(U[Q])}D.compilerOptions&&XAn()&&Di('"compilerOptions" is only supported when using a build of Vue that includes the runtime compiler. Since you are using a runtime-only build, the options should be passed via your build tool config instead.')}g.accessCache=Object.create(null),g.proxy=Gme(new Proxy(g.ctx,vCt)),fAn(g);const{setup:H}=D;if(H){const U=g.setupContext=H.length>1?OCt(g):null;TF(g),iO();const Q=W8(H,g,0,[gF(g.props),U]);if(sO(),eO(),iBe(Q)){if(Q.the
* vue-router v4.1.6
* (c) 2022 Eduardo San Martin Morote
* @license MIT
*/const V8=typeof window<"u";function AOn(g){return g.__esModule||g[Symbol.toStringTag]==="Module"}const Zu=Object.assign;function VNe(g,w){const T={};for(const D in w){const H=w[D];T[D]=uw(H)?H.map(g):g(H)}return T}const HX=()=>{},uw=Array.isArray;function ou(g){const w=Array.from(arguments).slice(1);console.warn.apply(console,["[Vue Router warn]: "+g].concat(w))}const MOn=/\/$/,LOn=g=>g.replace(MOn,"");function qNe(g,w,T="/"){let D,H={},U="",Q="";const ie=w.indexOf("#");let he=w.indexOf("?");return ie<he&&ie>=0&&(he=-1),he>-1&&(D=w.slice(0,he),U=w.slice(he+1,ie>-1?ie:w.length),H=g(U)),ie>-1&&(D=D||w.slice(0,ie),Q=w.slice(ie,w.length)),D=DOn(D??w,T),{fullPath:D+(U&&"?")+U+Q,path:D,query:H,hash:Q}}function IOn(g,w){const T=w.query?g(w.query):"";return w.path+(T&&"?")+T+(w.hash||"")}function hTt(g,w){return!w||!g.toLowerCase().startsWith(w.toLowerCase())?g:g.slice(w.length)||"/"}function fTt(g,w,T){const D=w.matched.length-1,H=T.matched.length-1;return D>-1&&D===H&&sS(w.matched[D],T.matched[H])&&oAt(w.params,T.params)&&g(w.query)===g(T.query)&&w.hash===T.hash}function sS(g,w){return(g.aliasOf||g)===(w.aliasOf||w)}function oAt(g,w){if(Object.keys(g).length!==Object.keys(w).length)return!1;for(const T in g)if(!OOn(g[T],w[T]))return!1;return!0}function OOn(g,w){return uw(g)?dTt(g,w):uw(w)?dTt(w,g):g===w}function dTt(g,w){return uw(w)?g.length===w.length&&g.every((T,D)=>T===w[D]):g.length===1&&g[0]===w}function DOn(g,w){if(g.startsWith("/"))return g;if(!w.startsWith("/"))return ou(`Cannot resolve a relative location without an absolute path. Trying to resolve "${g}" from "${w}". It should look like "/${w}".`),g;if(!g)return w;const T=w.split("/"),D=g.split("/");let H=T.length-1,U,Q;for(U=0;U<D.length;U++)if(Q=D[U],Q!==".")if(Q==="..")H>1&&H--;else break;return T.slice(0,H).join("/")+"/"+D.slice(U-(U===D.length?1:0)).join("/")}var iQ;(function(g){g.pop="pop",g.push="push"})(iQ||(iQ={}));var zX;(function(g){g.back="back",g.forward="forward",g.unknown=""})(zX||(zX={}));function POn(g){if(!g)if(V8){const w=document.querySelector("base");g=w&&w.getAttribute("href")||"/",g=g.replace(/^\w+:\/\/[^\/]+/,"")}else g="/";return g[0]!=="/"&&g[0]!=="#"&&(g="/"+g),LOn(g)}const NOn=/^[^#]+#/;function ROn(g,w){return g.replace(NOn,"#")+w}function BOn(g,w){const T=document.documentElement.getBoundingClientRect(),D=g.getBoundingClientRect();return{behavior:w.behavior,left:D.left-T.left-(w.left||0),top:D.top-T.top-(w.top||0)}}const rve=()=>({left:window.pageXOffset,top:window.pageYOffset});function FOn(g){let w;if("el"in g){const T=g.el,D=typeof T=="string"&&T.startsWith("#");if(typeof g.el=="string"&&(!D||!document.getElementById(g.el.slice(1))))try{const U=document.querySelector(g.el);if(D&&U){ou(`The selector "${g.el}" should be passed as "el: document.querySelector('${g.el}')" because it starts with "#".`);return}}catch{ou(`The selector "${g.el}" is invalid. If you are using an id selector, make sure to escape it. You can find more information about escaping characters in selectors at https://mathiasbynens.be/notes/css-escapes or use CSS.escape (https://developer.mozilla.org/en-US/docs/Web/API/CSS/escape).`);return}const H=typeof T=="string"?D?document.getElementById(T.slice(1)):document.querySelector(T):T;if(!H){ou(`Couldn't find element using selector "${g.el}" returned by scrollBehavior.`);return}w=BOn(H,g)}else w=g;"scrollBehavior"in document.documentElement.style?window.scrollTo(w):window.scrollTo(w.left!=null?w.left:window.pageXOffset,w.top!=null?w.top:window.pageYOffset)}function gTt(g,w){return(history.state?history.state.position-w:-1)+g}const IRe=new Map;function jOn(g,w){IRe.set(g,w)}function $On(g){const w=IRe.get(g);return IRe.delete(g),w}let HOn=()=>location.protocol+"//"+location.host;function cAt(g,w){const{pathname:T,search:D,hash:H}=w,U=g.indexOf("#");if(U>-1){let ie=H.includes(g.slice(U))?g.slice(U).length:1,he=H.slice(ie);return he[0]!=="/"&&(he="/"+he),hTt(he,"")}return hTt(T,g)+D+H}function zOn(g,w,T,D){let H=[],U=[],Q=null;const ie=({state:Ye})=>{const xt=cAt(g,location),ft=T.value,Jt=w.value;let Cn=0;if(Ye){if(T.va
history.replaceState(history.state, '', url)
You can find more information at https://next.router.vuejs.org/guide/migration/#usage-of-history-state.`),U(Be.current,Be,!0);const He=Zu({},pTt(D.value,he,null),{position:Be.position+1},ne);U(he,He,!1),D.value=he}return{location:D,state:H,push:ie,replace:Q}}function qOn(g){g=POn(g);const w=VOn(g),T=zOn(g,w.state,w.location,w.replace);function D(U,Q=!0){Q||T.pauseListeners(),history.go(U)}const H=Zu({location:"",base:g,go:D,createHref:ROn.bind(null,g)},w,T);return Object.defineProperty(H,"location",{enumerable:!0,get:()=>w.location.value}),Object.defineProperty(H,"state",{enumerable:!0,get:()=>w.state.value}),H}function UOn(g){return typeof g=="string"||g&&typeof g=="object"}function lAt(g){return typeof g=="string"||typeof g=="symbol"}const jT={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},uAt=Symbol("navigation failure");var mTt;(function(g){g[g.aborted=4]="aborted",g[g.cancelled=8]="cancelled",g[g.duplicated=16]="duplicated"})(mTt||(mTt={}));const GOn={[1]({location:g,currentLocation:w}){return`No match for
${JSON.stringify(g)}${w?`
while being at
`+JSON.stringify(w):""}`},[2]({from:g,to:w}){return`Redirected from "${g.fullPath}" to "${KOn(w)}" via a navigation guard.`},[4]({from:g,to:w}){return`Navigation aborted from "${g.fullPath}" to "${w.fullPath}" via a navigation guard.`},[8]({from:g,to:w}){return`Navigation cancelled from "${g.fullPath}" to "${w.fullPath}" with a new navigation.`},[16]({from:g,to:w}){return`Avoided redundant navigation to current location: "${g.fullPath}".`}};function SF(g,w){return Zu(new Error(GOn[g](w)),{type:g,[uAt]:!0},w)}function F8(g,w){return g instanceof Error&&uAt in g&&(w==null||!!(g.type&w))}const WOn=["params","query","hash"];function KOn(g){if(typeof g=="string")return g;if("path"in g)return g.path;const w={};for(const T of WOn)T in g&&(w[T]=g[T]);return JSON.stringify(w,null,2)}const vTt="[^/]+?",YOn={sensitive:!1,strict:!1,start:!0,end:!0},XOn=/[.+*?^${}()[\]/\\]/g;function QOn(g,w){const T=Zu({},YOn,w),D=[];let H=T.start?"^":"";const U=[];for(const ne of g){const Be=ne.length?[]:[90];T.strict&&!ne.length&&(H+="/");for(let He=0;He<ne.length;He++){const Ye=ne[He];let xt=40+(T.sensitive?.25:0);if(Ye.type===0)He||(H+="/"),H+=Ye.value.replace(XOn,"\\$&"),xt+=40;else if(Ye.type===1){const{value:ft,repeatable:Jt,optional:Cn,regexp:lr}=Ye;U.push({name:ft,repeatable:Jt,optional:Cn});const Dn=lr||vTt;if(Dn!==vTt){xt+=10;try{new RegExp(`(${Dn})`)}catch(ur){throw new Error(`Invalid custom RegExp for param "${ft}" (${Dn}): `+ur.message)}}let Vn=Jt?`((?:${Dn})(?:/(?:${Dn}))*)`:`(${Dn})`;He||(Vn=Cn&&ne.length<2?`(?:/${Vn})`:"/"+Vn),Cn&&(Vn+="?"),H+=Vn,xt+=20,Cn&&(xt+=-8),Jt&&(xt+=-20),Dn===".*"&&(xt+=-50)}Be.push(xt)}D.push(Be)}if(T.strict&&T.end){const ne=D.length-1;D[ne][D[ne].length-1]+=.7000000000000001}T.strict||(H+="/?"),T.end?H+="$":T.strict&&(H+="(?:/|$)");const Q=new RegExp(H,T.sensitive?"":"i");function ie(ne){const Be=ne.match(Q),He={};if(!Be)return null;for(let Ye=1;Ye<Be.length;Ye++){const xt=Be[Ye]||"",ft=U[Ye-1];He[ft.name]=xt&&ft.repeatable?xt.split("/"):xt}return He}function he(ne){let Be="",He=!1;for(const Ye of g){(!He||!Be.endsWith("/"))&&(Be+="/"),He=!1;for(const xt of Ye)if(xt.type===0)Be+=xt.value;else if(xt.type===1){const{value:ft,repeatable:Jt,optional:Cn}=xt,lr=ft in ne?ne[ft]:"";if(uw(lr)&&!Jt)throw new Error(`Provided param "${ft}" is an array but it is not repeatable (* or + modifiers)`);const Dn=uw(lr)?lr.join("/"):lr;if(!Dn)if(Cn)Ye.length<2&&(Be.endsWith("/")?Be=Be.slice(0,-1):He=!0);else throw new Error(`Missing required param "${ft}"`);Be+=Dn}}return Be||"/"}return{re:Q,score:D,keys:U,parse:ie,stringify:he}}function ZOn(g,w){let T=0;for(;T<g.length&&T<w.length;){const D=w[T]-g[T];if(D)return D;T++}return g.length<w.length?g.length===1&&g[0]===40+40?-1:1:g.length>w.length?w.length===1&&w[0]===40+40?1:-1:0}function JOn(g,w){let T=0;const D=g.score,H=w.score;for(;T<D.length&&T<H.length;){const U=ZOn(D[T],H[T]);if(U)return U;T++}if(Math.abs(H.length-D.length)===1){if(bTt(D))return 1;if(bTt(H))return-1}return H.length-D.length}function bTt(g){const w=g[g.length-1];return g.length>0&&w[w.length-1]<0}const eDn={type:0,value:""},tDn=/[a-zA-Z0-9_]/;function nDn(g){if(!g)return[[]];if(g==="/")return[[eDn]];if(!g.startsWith("/"))throw new Error(`Route paths should start with a "/": "${g}" should be "/${g}".`);function w(xt){throw new Error(`ERR (${T})/"${ne}": ${xt}`)}let T=0,D=T;const H=[];let U;function Q(){U&&H.push(U),U=[]}let ie=0,he,ne="",Be="";function He(){ne&&(T===0?U.push({type:0,value:ne}):T===1||T===2||T===3?(U.length>1&&(he==="*"||he==="+")&&w(`A repeatable param (${ne}) must be alone in its segment. eg: '/:ids+.`),U.push({type:1,value:ne,regexp:Be,repeatable:he==="*"||he==="+",optional:he==="*"||he==="?"})):w("Invalid state to consume buffer"),ne="")}function Ye(){ne+=he}for(;ie<g.length;){if(he=g[ie++],he==="\\"&&T!==2){D=T,T=4;continue}switch(T){case 0:he==="/"?(ne&&He(),Q()):he===":"?(He(),T=1):Ye();break;case 4:Ye(),T=D;break;case 1:he==="("?T=2:tDn.test(he)?Ye():(He(),T=0,he!=="*"&&he!=="?"&&he!=="+"&&ie--);break;case 2:he===")"?Be[Be.length-1]=="\\"?Be=Be.slice(0,-1)+he:T=3:Be+=he;break;case 3
See more at https://next.router.vuejs.org/guide/migration/#removed-star-or-catch-all-routes.`);if(lr=rDn(Vn,He,Jt),He&&ur[0]==="/"&&uDn(lr,He),Ye?(Ye.alias.push(lr),cDn(Ye,lr)):(Dn=Dn||lr,Dn!==lr&&Dn.alias.push(lr),xt&&Be.name&&!yTt(lr)&&Q(Be.name)),ft.children){const ti=ft.children;for(let xi=0;xi<ti.length;xi++)U(ti[xi],lr,Ye&&Ye.children[xi])}Ye=Ye||lr,(lr.record.components&&Object.keys(lr.record.components).length||lr.record.name||lr.record.redirect)&&he(lr)}return Dn?()=>{Q(Dn)}:HX}function Q(Be){if(lAt(Be)){const He=D.get(Be);He&&(D.delete(Be),T.splice(T.indexOf(He),1),He.children.forEach(Q),He.alias.forEach(Q))}else{const He=T.indexOf(Be);He>-1&&(T.splice(He,1),Be.record.name&&D.delete(Be.record.name),Be.children.forEach(Q),Be.alias.forEach(Q))}}function ie(){return T}function he(Be){let He=0;for(;He<T.length&&JOn(Be,T[He])>=0&&(Be.record.path!==T[He].record.path||!hAt(Be,T[He]));)He++;T.splice(He,0,Be),Be.record.name&&!yTt(Be)&&D.set(Be.record.name,Be)}function ne(Be,He){let Ye,xt={},ft,Jt;if("name"in Be&&Be.name){if(Ye=D.get(Be.name),!Ye)throw SF(1,{location:Be});{const Dn=Object.keys(Be.params||{}).filter(Vn=>!Ye.keys.find(ur=>ur.name===Vn));Dn.length&&ou(`Discarded invalid param(s) "${Dn.join('", "')}" when navigating. See https://github.com/vuejs/router/blob/main/packages/router/CHANGELOG.md#414-2022-08-22 for more details.`)}Jt=Ye.record.name,xt=Zu(wTt(He.params,Ye.keys.filter(Dn=>!Dn.optional).map(Dn=>Dn.name)),Be.params&&wTt(Be.params,Ye.keys.map(Dn=>Dn.name))),ft=Ye.stringify(xt)}else if("path"in Be)ft=Be.path,ft.startsWith("/")||ou(`The Matcher cannot resolve relative paths but received "${ft}". Unless you directly called \`matcher.resolve("${ft}")\`, this is probably a bug in vue-router. Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/router.`),Ye=T.find(Dn=>Dn.re.test(ft)),Ye&&(xt=Ye.parse(ft),Jt=Ye.record.name);else{if(Ye=He.name?D.get(He.name):T.find(Dn=>Dn.re.test(He.path)),!Ye)throw SF(1,{location:Be,currentLocation:He});Jt=Ye.record.name,xt=Zu({},He.params,Be.params),ft=Ye.stringify(xt)}const Cn=[];let lr=Ye;for(;lr;)Cn.unshift(lr.record),lr=lr.parent;return{name:Jt,path:ft,params:xt,matched:Cn,meta:oDn(Cn)}}return g.forEach(Be=>U(Be)),{addRoute:U,resolve:ne,removeRoute:Q,getRoutes:ie,getRecordMatcher:H}}function wTt(g,w){const T={};for(const D of w)D in g&&(T[D]=g[D]);return T}function sDn(g){return{path:g.path,redirect:g.redirect,name:g.name,meta:g.meta||{},aliasOf:void 0,beforeEnter:g.beforeEnter,props:aDn(g),children:g.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in g?g.components||null:g.component&&{default:g.component}}}function aDn(g){const w={},T=g.props||!1;if("component"in g)w.default=T;else for(const D in g.components)w[D]=typeof T=="boolean"?T:T[D];return w}function yTt(g){for(;g;){if(g.record.aliasOf)return!0;g=g.parent}return!1}function oDn(g){return g.reduce((w,T)=>Zu(w,T.meta),{})}function _Tt(g,w){const T={};for(const D in g)T[D]=D in w?w[D]:g[D];return T}function ORe(g,w){return g.name===w.name&&g.optional===w.optional&&g.repeatable===w.repeatable}function cDn(g,w){for(const T of g.keys)if(!T.optional&&!w.keys.find(ORe.bind(null,T)))return ou(`Alias "${w.record.path}" and the original record: "${g.record.path}" must have the exact same param named "${T.name}"`);for(const T of w.keys)if(!T.optional&&!g.keys.find(ORe.bind(null,T)))return ou(`Alias "${w.record.path}" and the original record: "${g.record.path}" must have the exact same param named "${T.name}"`)}function lDn(g,w){w&&w.record.name&&!g.name&&!g.path&&ou(`The route named "${String(w.record.name)}" has a child without a name and an empty path. Using that name won't render the empty path child so you probably want to move the name to the child instead. If this is intentional, add a name to the child route to remove the warning.`)}function uDn(g,w){for(const T of w.keys)if(!g.keys.find(ORe.bind(null,T)))return ou(`Absolute path "${g.record.path}" must have the exact same param named "${T.name}" as its parent "${w.record.path}".`)}function hAt(g,
${g.toString()}
. If you are returning a value instead of calling "next", make sure to remove the "next" parameter from your function.`;if(typeof ne=="object"&&"then"in ne)Be=Be.then(Ye=>he._called?Ye:(ou(He),Promise.reject(new Error("Invalid navigation guard"))));else if(ne!==void 0&&!he._called){ou(He),ie(new Error("Invalid navigation guard"));return}}Be.catch(He=>ie(He))})}function CDn(g,w,T){let D=0;return function(){D++===1&&ou(`The "next" callback was called more than once in one navigation guard when going from "${T.fullPath}" to "${w.fullPath}". It should be called exactly one time in each navigation guard. This will fail in production.`),g._called=!0,D===1&&g.apply(null,arguments)}}function UNe(g,w,T,D){const H=[];for(const U of g){!U.components&&!U.children.length&&ou(`Record with path "${U.path}" is either missing a "component(s)" or "children" property.`);for(const Q in U.components){let ie=U.components[Q];{if(!ie||typeof ie!="object"&&typeof ie!="function")throw ou(`Component "${Q}" in record with path "${U.path}" is not a valid component. Received "${String(ie)}".`),new Error("Invalid route component");if("then"in ie){ou(`Component "${Q}" in record with path "${U.path}" is a Promise instead of a function that returns a Promise. Did you write "import('./MyPage.vue')" instead of "() => import('./MyPage.vue')" ? This will break in production if not fixed.`);const he=ie;ie=()=>he}else ie.__asyncLoader&&!ie.__warnedDefineAsync&&(ie.__warnedDefineAsync=!0,ou(`Component "${Q}" in record with path "${U.path}" is defined using "defineAsyncComponent()". Write "() => import('./MyPage.vue')" instead of "defineAsyncComponent(() => import('./MyPage.vue'))".`))}if(!(w!=="beforeRouteEnter"&&!U.instances[Q]))if(ADn(ie)){const ne=(ie.__vccOpts||ie)[w];ne&&H.push(VT(ne,T,D,U,Q))}else{let he=ie();"catch"in he||(ou(`Component "${Q}" in record with path "${U.path}" is a function that does not return a Promise. If you were passing a functional component, make sure to add a "displayName" to the component. This will break in production if not fixed.`),he=Promise.resolve(he)),H.push(()=>he.then(ne=>{if(!ne)return Promise.reject(new Error(`Couldn't resolve component "${Q}" at "${U.path}"`));const Be=AOn(ne)?ne.default:ne;U.components[Q]=Be;const Ye=(Be.__vccOpts||Be)[w];return Ye&&VT(Ye,T,D,U,Q)()}))}}}return H}function ADn(g){return typeof g=="object"||"displayName"in g||"props"in g||"__vccOpts"in g}function ETt(g){const w=os(DBe),T=os(vAt),D=Fr(()=>w.resolve(Hn(g.to))),H=Fr(()=>{const{matched:he}=D.value,{length:ne}=he,Be=he[ne-1],He=T.matched;if(!Be||!He.length)return-1;const Ye=He.findIndex(sS.bind(null,Be));if(Ye>-1)return Ye;const xt=TTt(he[ne-2]);return ne>1&&TTt(Be)===xt&&He[He.length-1].path!==xt?He.findIndex(sS.bind(null,he[ne-2])):Ye}),U=Fr(()=>H.value>-1&&ODn(T.params,D.value.params)),Q=Fr(()=>H.value>-1&&H.value===T.matched.length-1&&oAt(T.params,D.value.params));function ie(he={}){return IDn(he)?w[Hn(g.replace)?"replace":"push"](Hn(g.to)).catch(HX):Promise.resolve()}if(V8){const he=hw();if(he){const ne={route:D.value,isActive:U.value,isExactActive:Q.value};he.__vrl_devtools=he.__vrl_devtools||[],he.__vrl_devtools.push(ne),X8(()=>{ne.route=D.value,ne.isActive=U.value,ne.isExactActive=Q.value},{flush:"post"})}}return{route:D,href:Fr(()=>D.value.href),isActive:U,isExactActive:Q,navigate:ie}}const MDn=mu({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:ETt,setup(g,{slots:w}){const T=Ef(ETt(g)),{options:D}=os(DBe),H=Fr(()=>({[STt(g.activeClass,D.linkActiveClass,"router-link-active")]:T.isActive,[STt(g.exactActiveClass,D.linkExactActiveClass,"router-link-exact-active")]:T.isExactActive}));return()=>{const U=w.default&&w.default(T);return g.custom?U:jb("a",{"aria-current":T.isExactActive?g.ariaCurrentValue:null,href:T.href,onClick:T.navigate,class:H.value},U)}}}),LDn=MDn;function IDn(g){if(!(g.metaKey||g.altKey||g.ctrlKey||g.shiftKey)&&!g.defaultPrevented&&!(g.button!==void 0&&g
Use slot props instead:
<router-view v-slot="{ Component }">
<${T}>
<component :is="Component" />
</${T}>
</router-view>`)}}function AX(g,w){const T=Zu({},g,{matched:g.matched.map(D=>qDn(D,["instances","children","aliasOf"]))});return{_custom:{type:null,readOnly:!0,display:g.fullPath,tooltip:w,value:T}}}function eme(g){return{_custom:{display:g}}}let RDn=0;function BDn(g,w,T){if(w.__hasDevtools)return;w.__hasDevtools=!0;const D=RDn++;COn({id:"org.vuejs.router"+(D?"."+D:""),label:"Vue Router",packageName:"vue-router",homepage:"https://router.vuejs.org",logo:"https://router.vuejs.org/logo.png",componentStateTypes:["Routing"],app:g},H=>{typeof H.now!="function"&&console.warn("[Vue Router]: You seem to be using an outdated version of Vue Devtools. Are you still using the Beta release instead of the stable one? You can find the links at https://devtools.vuejs.org/guide/installation.html."),H.on.inspectComponent((Be,He)=>{Be.instanceData&&Be.instanceData.state.push({type:"Routing",key:"$route",editable:!1,value:AX(w.currentRoute.value,"Current Route")})}),H.on.visitComponentTree(({treeNode:Be,componentInstance:He})=>{if(He.__vrv_devtools){const Ye=He.__vrv_devtools;Be.tags.push({label:(Ye.name?`${Ye.name.toString()}: `:"")+Ye.path,textColor:0,tooltip:"This component is rendered by &lt;router-view&gt;",backgroundColor:bAt})}uw(He.__vrl_devtools)&&(He.__devtoolsApi=H,He.__vrl_devtools.forEach(Ye=>{let xt=_At,ft="";Ye.isExactActive?(xt=yAt,ft="This is exactly active"):Ye.isActive&&(xt=wAt,ft="This link is active"),Be.tags.push({label:Ye.route.path,textColor:0,tooltip:ft,backgroundColor:xt})}))}),jc(w.currentRoute,()=>{he(),H.notifyComponentUpdate(),H.sendInspectorTree(ie),H.sendInspectorState(ie)});const U="router:navigations:"+D;H.addTimelineLayer({id:U,label:`Router${D?" "+D:""} Navigations`,color:4237508}),w.onError((Be,He)=>{H.addTimelineEvent({layerId:U,event:{title:"Error during Navigation",subtitle:He.fullPath,logType:"error",time:H.now(),data:{error:Be},groupId:He.meta.__navigationId}})});let Q=0;w.beforeEach((Be,He)=>{const Ye={guard:eme("beforeEach"),from:AX(He,"Current Location during this navigation"),to:AX(Be,"Target location")};Object.defineProperty(Be.meta,"__navigationId",{value:Q++}),H.addTimelineEvent({layerId:U,event:{time:H.now(),title:"Start of navigation",subtitle:Be.fullPath,data:Ye,groupId:Be.meta.__navigationId}})}),w.afterEach((Be,He,Ye)=>{const xt={guard:eme("afterEach")};Ye?(xt.failure={_custom:{type:Error,readOnly:!0,display:Ye?Ye.message:"",tooltip:"Navigation Failure",value:Ye}},xt.status=eme("❌")):xt.status=eme("✅"),xt.from=AX(He,"Current Location during this navigation"),xt.to=AX(Be,"Target location"),H.addTimelineEvent({layerId:U,event:{title:"End of navigation",subtitle:Be.fullPath,time:H.now(),data:xt,logType:Ye?"warning":"default",groupId:Be.meta.__navigationId}})});const ie="router-inspector:"+D;H.addInspector({id:ie,label:"Routes"+(D?" "+D:""),icon:"book",treeFilterPlaceholder:"Search routes"});function he(){if(!ne)return;const Be=ne;let He=T.getRoutes().filter(Ye=>!Ye.parent);He.forEach(EAt),Be.filter&&(He=He.filter(Ye=>NRe(Ye,Be.filter.toLowerCase()))),He.forEach(Ye=>kAt(Ye,w.currentRoute.value)),Be.rootNodes=He.map(xAt)}let ne;H.on.getInspectorTree(Be=>{ne=Be,Be.app===g&&Be.inspectorId===ie&&he()}),H.on.getInspectorState(Be=>{if(Be.app===g&&Be.inspectorId===ie){const Ye=T.getRoutes().find(xt=>xt.record.__vd_id===Be.nodeId);Ye&&(Be.state={options:jDn(Ye)})}}),H.sendInspectorTree(ie),H.sendInspectorState(ie)})}function FDn(g){return g.optional?g.repeatable?"*":"?":g.repeatable?"+":""}function jDn(g){const{record:w}=g,T=[{editable:!1,key:"path",value:w.path}];return w.name!=null&&T.push({editable:!1,key:"name",value:w.name}),T.push({editable:!1,key:"regexp",value:g.re}),g.keys.length&&T.push({editable:!1,key:"keys",value:{_custom:{type:null,readOnly:!0,display:g.keys.map(D=>`${D.name}${FDn(D)}`).join(" "),tooltip:"Param keys",value:g.keys}}}),w.redirect!=null&&T.push({editable:!1,key:"redirect",value:w.redirect}),g.alias.length&&T.push({editable:!1,key:"aliases",value:g.alias.map(D=>D.record.path)}),Object.keys(g.record.meta).length&&T.push({editable:!1,key:"meta",value:g.record.meta}),T.pu
${JSON.stringify(qs,null,2)}
when navigating to "${Lr.fullPath}". A redirect must contain a name or path. This will break in production.`),new Error("Invalid redirect");return Zu({query:Lr.query,hash:Lr.hash,params:"path"in qs?{}:Lr.params},qs)}}function gs(Lr,Hs){const bs=ne=lr(Lr),qs=he.value,Hc=Lr.state,al=Lr.force,Io=Lr.replace===!0,To=xi(bs);if(To)return gs(Zu(Dn(To),{state:typeof To=="object"?Zu({},Hc,To.state):Hc,force:al,replace:Io}),Hs||bs);const Et=bs;Et.redirectedFrom=Hs;let cn;return!al&&fTt(D,qs,bs)&&(cn=SF(16,{to:Et,from:qs}),vu(qs,qs,!0,!1)),(cn?Promise.resolve(cn):ns(Et,qs)).catch(ar=>F8(ar)?F8(ar,2)?ar:kc(ar):Ns(ar,Et,qs)).then(ar=>{if(ar){if(F8(ar,2))return fTt(D,lr(ar.to),Et)&&Hs&&(Hs._count=Hs._count?Hs._count+1:1)>10?(ou(`Detected an infinite redirection in a navigation guard when going from "${qs.fullPath}" to "${Et.fullPath}". Aborting to avoid a Stack Overflow. This will break in production if not fixed.`),Promise.reject(new Error("Infinite redirect in navigation guard"))):gs(Zu({replace:Io},Dn(ar.to),{state:typeof ar.to=="object"?Zu({},Hc,ar.to.state):Hc,force:al}),Hs||Et)}else ar=Lo(Et,qs,!0,Io,Hc);return Ks(Et,qs,ar),ar})}function jr(Lr,Hs){const bs=Vn(Lr,Hs);return bs?Promise.reject(bs):Promise.resolve()}function ns(Lr,Hs){let bs;const[qs,Hc,al]=GDn(Lr,Hs);bs=UNe(qs.reverse(),"beforeRouteLeave",Lr,Hs);for(const To of qs)To.leaveGuards.forEach(Et=>{bs.push(VT(Et,Lr,Hs))});const Io=jr.bind(null,Lr,Hs);return bs.push(Io),oF(bs).then(()=>{bs=[];for(const To of U.list())bs.push(VT(To,Lr,Hs));return bs.push(Io),oF(bs)}).then(()=>{bs=UNe(Hc,"beforeRouteUpdate",Lr,Hs);for(const To of Hc)To.updateGuards.forEach(Et=>{bs.push(VT(Et,Lr,Hs))});return bs.push(Io),oF(bs)}).then(()=>{bs=[];for(const To of Lr.matched)if(To.beforeEnter&&!Hs.matched.includes(To))if(uw(To.beforeEnter))for(const Et of To.beforeEnter)bs.push(VT(Et,Lr,Hs));else bs.push(VT(To.beforeEnter,Lr,Hs));return bs.push(Io),oF(bs)}).then(()=>(Lr.matched.forEach(To=>To.enterCallbacks={}),bs=UNe(al,"beforeRouteEnter",Lr,Hs),bs.push(Io),oF(bs))).then(()=>{bs=[];for(const To of Q.list())bs.push(VT(To,Lr,Hs));return bs.push(Io),oF(bs)}).catch(To=>F8(To,8)?To:Promise.reject(To))}function Ks(Lr,Hs,bs){for(const qs of ie.list())qs(Lr,Hs,bs)}function Lo(Lr,Hs,bs,qs,Hc){const al=Vn(Lr,Hs);if(al)return al;const Io=Hs===jT,To=V8?history.state:{};bs&&(qs||Io?H.replace(Lr.fullPath,Zu({scroll:Io&&To&&To.scroll},Hc)):H.push(Lr.fullPath,Hc)),he.value=Lr,vu(Lr,Hs,bs,Io),kc()}let Ss;function Kc(){Ss||(Ss=H.listen((Lr,Hs,bs)=>{if(!fw.listening)return;const qs=lr(Lr),Hc=xi(qs);if(Hc){gs(Zu(Hc,{replace:!0}),qs).catch(HX);return}ne=qs;const al=he.value;V8&&jOn(gTt(al.fullPath,bs.delta),rve()),ns(qs,al).catch(Io=>F8(Io,12)?Io:F8(Io,2)?(gs(Io.to,qs).then(To=>{F8(To,20)&&!bs.delta&&bs.type===iQ.pop&&H.go(-1,!1)}).catch(HX),Promise.reject()):(bs.delta&&H.go(-bs.delta,!1),Ns(Io,qs,al))).then(Io=>{Io=Io||Lo(qs,al,!1),Io&&(bs.delta&&!F8(Io,8)?H.go(-bs.delta,!1):bs.type===iQ.pop&&F8(Io,20)&&H.go(-1,!1)),Ks(qs,al,Io)}).catch(HX)}))}let Zl=CX(),xl=CX(),eh;function Ns(Lr,Hs,bs){kc(Lr);const qs=xl.list();return qs.length?qs.forEach(Hc=>Hc(Lr,Hs,bs)):(ou("uncaught error during route navigation:"),console.error(Lr)),Promise.reject(Lr)}function Va(){return eh&&he.value!==jT?Promise.resolve():new Promise((Lr,Hs)=>{Zl.add([Lr,Hs])})}function kc(Lr){return eh||(eh=!Lr,Kc(),Zl.list().forEach(([Hs,bs])=>Lr?bs(Lr):Hs()),Zl.reset()),Lr}function vu(Lr,Hs,bs,qs){const{scrollBehavior:Hc}=g;if(!V8||!Hc)return Promise.resolve();const al=!bs&&$On(gTt(Lr.fullPath,0))||(qs||!bs)&&history.state&&history.state.scroll||null;return vp().then(()=>Hc(Lr,Hs,al)).then(Io=>Io&&FOn(Io)).catch(Io=>Ns(Io,Lr,Hs))}const Ng=Lr=>H.go(Lr);let X0;const Rg=new Set,fw={currentRoute:he,listening:!0,addRoute:xt,removeRoute:ft,hasRoute:Cn,getRoutes:Jt,resolve:lr,options:g,push:ur,replace:ti,go:Ng,back:()=>Ng(-1),forward:()=>Ng(1),beforeEach:U.add,beforeResolve:Q.add,afterEach:ie.add,onError:xl.add,isReady:Va,install(Lr){const Hs=this;Lr.component("RouterLink",LDn),Lr.component("RouterView",PDn),Lr.config.globalProperties.$router=Hs,Object.defin
`);alert(ft),console.warn(ft)}return He}const DAt=K0(sw(YDn),sw(XDn),WDn);function RPn(g,w,T=!1){typeof g=="string"&&(g=TAt[g]);const D=K0(g,DAt);let H=0,U;const Q=()=>{if(clearTimeout(U),!D.value){H=0;return}T&&(U=setTimeout(Q,Math.max(1e3-H*250,150)),H++),w()};return jc(D,Q,{flush:"sync"})}function BPn(g,w){return CIn(g,T=>{DAt.value&&(T.repeat||w())})}function FPn(){const g=NPn();new Map(g.map(T=>[T.key,T])).forEach(T=>{T.fn&&RPn(T.key,T.fn,T.autoRepeat)}),BPn("f",()=>SAt.toggle())}const jPn={class:"slidev-icon",viewBox:"0 0 32 32",width:"1.2em",height:"1.2em"},$Pn=I("path",{fill:"currentColor",d:"M24 9.4L22.6 8L16 14.6L9.4 8L8 9.4l6.6 6.6L8 22.6L9.4 24l6.6-6.6l6.6 6.6l1.4-1.4l-6.6-6.6L24 9.4z"},null,-1),HPn=[$Pn];function zPn(g,w){return tr(),Ls("svg",jPn,HPn)}const VPn={name:"carbon-close",render:zPn};function RBe(g,w=""){var H,U;const T=["slidev-page",w],D=(U=(H=g==null?void 0:g.meta)==null?void 0:H.slide)==null?void 0:U.no;return D!=null&&T.push(`slidev-page-${D}`),T.filter(Boolean).join(" ")}const qPn=mu({__name:"SlideContainer",props:{width:{type:Number},meta:{default:()=>({})},scale:{type:[Number,String]}},setup(g){const w=g;os(Os);const T=Is(),D=rOn(T),H=Fr(()=>w.width?w.width:D.width.value),U=Fr(()=>w.width?w.width/XT:D.height.value);w.width&&X8(()=>{T.value&&(T.value.style.width=`${H.value}px`,T.value.style.height=`${U.value}px`)});const Q=Fr(()=>H.value/U.value),ie=Fr(()=>w.scale&&!CF.value?w.scale:Q.value<XT?H.value/QT:U.value*XT/QT),he=Fr(()=>({height:`${MBe}px`,width:`${QT}px`,transform:`translate(-50%, -50%) scale(${ie.value})`})),ne=Fr(()=>({"select-none":!gu.selectable,"slidev-code-line-numbers":gu.lineNumbers}));return ow(XCt,ie),(Be,He)=>(tr(),Ls("div",{id:"slide-container",ref_key:"root",ref:T,class:Xd(Hn(ne))},[I("div",{id:"slide-content",style:im(Hn(he))},[rS(Be.$slots,"default")],4),rS(Be.$slots,"controls")],2))}});const Ps=(g,w)=>{const T=g.__vccOpts||g;for(const[D,H]of w)T[D]=H;return T},PAt=Ps(qPn,[["__file","/home/laurent/Documents/Cours/ENSEEIHT/Projet-long/prez/node_modules/@slidev/client/internals/SlideContainer.vue"]]),BBe=mu({name:"SlideWrapper",props:{clicks:{type:[Number,String],default:0},clicksElements:{type:Array,default:()=>[]},clicksOrderMap:{type:Map,default:()=>new Map},clicksDisabled:{type:Boolean,default:!1},context:{type:String,default:"main"},is:{type:Object,default:void 0},route:{type:Object,default:void 0}},setup(g,{emit:w}){const T=Y_(g,"clicks",w),D=Y_(g,"clicksElements",w),H=Y_(g,"clicksDisabled",w),U=Y_(g,"clicksOrderMap",w);D.value.length=0,ow(ALn,g.route),ow(MLn,g.context),ow(ume,T),ow(hme,H),ow(fF,D),ow(TRe,U)},render(){var g,w;return this.$props.is?jb(this.$props.is):(w=(g=this.$slots)==null?void 0:g.default)==null?void 0:w.call(g)}}),UPn=["innerHTML"],GPn=mu({__name:"DrawingPreview",props:{page:{type:Number,required:!0}},setup(g){return os(Os),(w,T)=>Hn(Ime)[g.page]?(tr(),Ls("svg",{key:0,ref:"svg",class:"w-full h-full absolute top-0 pointer-events-none",innerHTML:Hn(Ime)[g.page]},null,8,UPn)):sl("v-if",!0)}}),NAt=Ps(GPn,[["__file","/home/laurent/Documents/Cours/ENSEEIHT/Projet-long/prez/node_modules/@slidev/client/internals/DrawingPreview.vue"]]),WPn=Object.freeze(Object.defineProperty({__proto__:null,default:NAt},Symbol.toStringTag,{value:"Module"})),KPn={class:"slides-overview bg-main !bg-opacity-75 p-16 overflow-y-auto"},YPn=["onClick"],XPn=mu({__name:"SlidesOverview",props:{modelValue:{type:Boolean,required:!0}},emits:[],setup(g,{emit:w}){const T=g;os(Os);const D=Y_(T,"modelValue",w);function H(){D.value=!1}function U(xt){AF(xt),H()}function Q(xt){return xt===lw.value}const ie=RRe.smaller("xs"),he=RRe.smaller("sm"),ne=4*16*2,Be=2*16,He=Fr(()=>ie.value?tO.width.value-ne:he.value?(tO.width.value-ne-Be)/2:300),Ye=Fr(()=>Math.floor((tO.width.value-ne)/(He.value+Be)));return X8(()=>{lw.value=Qd.value,NBe.value=Ye.value}),(xt,ft)=>{const Jt=VPn;return tr(),Ls(zu,null,[_Be(I("div",KPn,[I("div",{class:"grid gap-y-4 gap-x-8 w-full",style:im(`grid-template-columns: repeat(auto-fit,minmax(${Hn(He)}px,1fr))`)},[(tr(!0),Ls(zu,null,wQ(Hn(r0).slice(0,-1),(Cn,lr)=>(tr(),Ls(
`+g.mark.snippet),D+" "+T):D}function cQ(g,w){Error.call(this),this.name="YAMLException",this.reason=g,this.mark=w,this.message=HAt(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}cQ.prototype=Object.create(Error.prototype);cQ.prototype.constructor=cQ;cQ.prototype.toString=function(w){return this.name+": "+HAt(this,w)};var qI=cQ,PBn=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],NBn=["scalar","sequence","mapping"];function RBn(g){var w={};return g!==null&&Object.keys(g).forEach(function(T){g[T].forEach(function(D){w[String(D)]=T})}),w}function BBn(g,w){if(w=w||{},Object.keys(w).forEach(function(T){if(PBn.indexOf(T)===-1)throw new qI('Unknown option "'+T+'" is met in definition of "'+g+'" YAML type.')}),this.options=w,this.tag=g,this.kind=w.kind||null,this.resolve=w.resolve||function(){return!0},this.construct=w.construct||function(T){return T},this.instanceOf=w.instanceOf||null,this.predicate=w.predicate||null,this.represent=w.represent||null,this.representName=w.representName||null,this.defaultStyle=w.defaultStyle||null,this.multi=w.multi||!1,this.styleAliases=RBn(w.styleAliases||null),NBn.indexOf(this.kind)===-1)throw new qI('Unknown kind "'+this.kind+'" is specified for "'+g+'" YAML type.')}var sm=BBn;function jTt(g,w){var T=[];return g[w].forEach(function(D){var H=T.length;T.forEach(function(U,Q){U.tag===D.tag&&U.kind===D.kind&&U.multi===D.multi&&(H=Q)}),T[H]=D}),T}function FBn(){var g={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},w,T;function D(H){H.multi?(g.multi[H.kind].push(H),g.multi.fallback.push(H)):g[H.kind][H.tag]=g.fallback[H.tag]=H}for(w=0,T=arguments.length;w<T;w+=1)arguments[w].forEach(D);return g}function HRe(g){return this.extend(g)}HRe.prototype.extend=function(w){var T=[],D=[];if(w instanceof sm)D.push(w);else if(Array.isArray(w))D=D.concat(w);else if(w&&(Array.isArray(w.implicit)||Array.isArray(w.explicit)))w.implicit&&(T=T.concat(w.implicit)),w.explicit&&(D=D.concat(w.explicit));else throw new qI("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");T.forEach(function(U){if(!(U instanceof sm))throw new qI("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(U.loadKind&&U.loadKind!=="scalar")throw new qI("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(U.multi)throw new qI("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),D.forEach(function(U){if(!(U instanceof sm))throw new qI("Specified list of YAML types (or a single Type object) contains a non-Type object.")});var H=Object.create(HRe.prototype);return H.implicit=(this.implicit||[]).concat(T),H.explicit=(this.explicit||[]).concat(D),H.compiledImplicit=jTt(H,"implicit"),H.compiledExplicit=jTt(H,"explicit"),H.compiledTypeMap=FBn(H.compiledImplicit,H.compiledExplicit),H};var jBn=HRe,$Bn=new sm("tag:yaml.org,2002:str",{kind:"scalar",construct:function(g){return g!==null?g:""}}),HBn=new sm("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(g){return g!==null?g:[]}}),zBn=new sm("tag:yaml.org,2002:map",{kind:"mapping",construct:function(g){return g!==null?g:{}}}),VBn=new jBn({explicit:[$Bn,HBn,zBn]});function qBn(g){if(g===null)return!0;var w=g.length;return w===1&&g==="~"||w===4&&(g==="null"||g==="Null"||g==="NULL")}function UBn(){return null}function GBn(g){return g===null}var WBn=new sm("tag:yaml.org,2002:null",{kind:"scalar",resolve:qBn,construct:UBn,predicate:GBn,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"},empty:function(){return""}},defaultStyle:"lowercase"});function KBn(g){if(g===null)return!1;var w=g.length;return w===4&&(g==="true"||g==="True"||g==="TRUE")||w===5&&(g==="false"||g==="False"||g==="FALSE")}function YBn(g){retur
\r`;function yFn(g){if(g===null)return!1;var w,T,D=0,H=g.length,U=jBe;for(T=0;T<H;T++)if(w=U.indexOf(g.charAt(T)),!(w>64)){if(w<0)return!1;D+=6}return D%8===0}function _Fn(g){var w,T,D=g.replace(/[\r\n=]/g,""),H=D.length,U=jBe,Q=0,ie=[];for(w=0;w<H;w++)w%4===0&&w&&(ie.push(Q>>16&255),ie.push(Q>>8&255),ie.push(Q&255)),Q=Q<<6|U.indexOf(D.charAt(w));return T=H%4*6,T===0?(ie.push(Q>>16&255),ie.push(Q>>8&255),ie.push(Q&255)):T===18?(ie.push(Q>>10&255),ie.push(Q>>2&255)):T===12&&ie.push(Q>>4&255),new Uint8Array(ie)}function xFn(g){var w="",T=0,D,H,U=g.length,Q=jBe;for(D=0;D<U;D++)D%3===0&&D&&(w+=Q[T>>18&63],w+=Q[T>>12&63],w+=Q[T>>6&63],w+=Q[T&63]),T=(T<<8)+g[D];return H=U%3,H===0?(w+=Q[T>>18&63],w+=Q[T>>12&63],w+=Q[T>>6&63],w+=Q[T&63]):H===2?(w+=Q[T>>10&63],w+=Q[T>>4&63],w+=Q[T<<2&63],w+=Q[64]):H===1&&(w+=Q[T>>2&63],w+=Q[T<<4&63],w+=Q[64],w+=Q[64]),w}function kFn(g){return Object.prototype.toString.call(g)==="[object Uint8Array]"}var EFn=new sm("tag:yaml.org,2002:binary",{kind:"scalar",resolve:yFn,construct:_Fn,predicate:kFn,represent:xFn}),TFn=Object.prototype.hasOwnProperty,SFn=Object.prototype.toString;function CFn(g){if(g===null)return!0;var w=[],T,D,H,U,Q,ie=g;for(T=0,D=ie.length;T<D;T+=1){if(H=ie[T],Q=!1,SFn.call(H)!=="[object Object]")return!1;for(U in H)if(TFn.call(H,U))if(!Q)Q=!0;else return!1;if(!Q)return!1;if(w.indexOf(U)===-1)w.push(U);else return!1}return!0}function AFn(g){return g!==null?g:[]}var MFn=new sm("tag:yaml.org,2002:omap",{kind:"sequence",resolve:CFn,construct:AFn}),LFn=Object.prototype.toString;function IFn(g){if(g===null)return!0;var w,T,D,H,U,Q=g;for(U=new Array(Q.length),w=0,T=Q.length;w<T;w+=1){if(D=Q[w],LFn.call(D)!=="[object Object]"||(H=Object.keys(D),H.length!==1))return!1;U[w]=[H[0],D[H[0]]]}return!0}function OFn(g){if(g===null)return[];var w,T,D,H,U,Q=g;for(U=new Array(Q.length),w=0,T=Q.length;w<T;w+=1)D=Q[w],H=Object.keys(D),U[w]=[H[0],D[H[0]]];return U}var DFn=new sm("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:IFn,construct:OFn}),PFn=Object.prototype.hasOwnProperty;function NFn(g){if(g===null)return!0;var w,T=g;for(w in T)if(PFn.call(T,w)&&T[w]!==null)return!1;return!0}function RFn(g){return g!==null?g:{}}var BFn=new sm("tag:yaml.org,2002:set",{kind:"mapping",resolve:NFn,construct:RFn});dFn.extend({implicit:[vFn,wFn],explicit:[EFn,MFn,DFn,BFn]});function $Tt(g){return g===48?"\0":g===97?"\x07":g===98?"\b":g===116||g===9?" ":g===110?`
`:g===118?"\v":g===102?"\f":g===114?"\r":g===101?"\x1B":g===32?" ":g===34?'"':g===47?"/":g===92?"\\":g===78?"…":g===95?" ":g===76?"\u2028":g===80?"\u2029":""}var FFn=new Array(256),jFn=new Array(256);for(var lF=0;lF<256;lF++)FFn[lF]=$Tt(lF)?1:0,jFn[lF]=$Tt(lF);function $Fn(g){return Array.from(new Set(g))}function HTt(...g){let w,T,D;g.length===1?(w=0,D=1,[T]=g):[w,T,D=1]=g;const H=[];let U=w;for(;U<T;)H.push(U),U+=D||1;return H}function HFn(g,w){if(!w||w==="all"||w==="*")return HTt(1,g+1);const T=[];for(const D of w.split(/[,;]/g))if(!D.includes("-"))T.push(+D);else{const[H,U]=D.split("-",2);T.push(...HTt(+H,U?+U+1:g+1))}return $Fn(T).filter(D=>D<=g).sort((D,H)=>D-H)}function qAt(g){const w=Fr(()=>g.value.path),T=Fr(()=>r0.length-1),D=Fr(()=>parseInt(w.value.split(/\//g).slice(-1)[0])||1),H=Fr(()=>sve(D.value)),U=Fr(()=>r0.find(Ye=>Ye.path===`${D.value}`)),Q=Fr(()=>{var Ye,xt,ft;return(ft=(xt=(Ye=U.value)==null?void 0:Ye.meta)==null?void 0:xt.slide)==null?void 0:ft.id}),ie=Fr(()=>{var Ye,xt;return((xt=(Ye=U.value)==null?void 0:Ye.meta)==null?void 0:xt.layout)||(D.value===1?"cover":"default")}),he=Fr(()=>r0.find(Ye=>Ye.path===`${Math.min(r0.length,D.value+1)}`)),ne=Fr(()=>r0.filter(Ye=>{var xt,ft;return(ft=(xt=Ye.meta)==null?void 0:xt.slide)==null?void 0:ft.title}).reduce((Ye,xt)=>(HBe(Ye,xt),Ye),[])),Be=Fr(()=>zBe(ne.value,U.value)),He=Fr(()=>VBe(Be.value));return{route:g,path:w,total:T,currentPage:D,currentPath:H,currentRoute:U,currentSlideId:Q,currentLayout:ie,nextRoute:he,rawTree:ne,treeWithActiveStatuses:Be,tree:He}}function UAt(g,w,T){const D=Is(0);vp(()=>{Fb.afterEach(async()=>{await vp(),D.value+=1})});const H=Fr(()=>{var he,ne;return D.value,((ne=(he=w.value)==null?void 0:he.meta)==null?void 0:ne.__clicksElements)||[]}),U=Fr(()=>{var he,ne;return+(((ne=(he=w.value)==null?void 0:he.meta)==null?void 0:ne.clicks)??H.value.length)}),Q=Fr(()=>T.value<r0.length-1||g.value<U.value),ie=Fr(()=>T.value>1||g.value>0);return{clicks:g,clicksElements:H,clicksTotal:U,hasNext:Q,hasPrev:ie}}const zFn=["id"],VFn=mu({__name:"PrintSlideClick",props:{clicks:{type:Number,required:!0},clicksElements:{type:Array,required:!1},nav:{type:null,required:!0},route:{type:null,required:!0}},emits:["update:clicksElements"],setup(g,{emit:w}){const T=g,D=Y_(T,"clicksElements",w),H=Fr(()=>({height:`${MBe}px`,width:`${QT}px`})),U=Z_();ZT(()=>Promise.resolve().then(()=>WPn),void 0).then(ne=>U.value=ne.default);const Q=Fr(()=>T.clicks),ie=UAt(Q,T.nav.currentRoute,T.nav.currentPage),he=Fr(()=>`${T.route.path.toString().padStart(3,"0")}-${(Q.value+1).toString().padStart(2,"0")}`);return ow(Os,Ef({nav:{...T.nav,...ie},configs:gu,themeConfigs:Fr(()=>gu.themeConfig)})),(ne,Be)=>{var He;return tr(),Ls("div",{id:Hn(he),class:"print-slide-container",style:im(Hn(H))},[Pa(Hn(FAt)),Pa(Hn(BBe),{is:(He=g.route)==null?void 0:He.component,"clicks-elements":Hn(D),"onUpdate:clicksElements":Be[0]||(Be[0]=Ye=>pu(D)?D.value=Ye:null),clicks:Hn(Q),"clicks-disabled":!1,class:Xd(Hn(RBe)(g.route)),route:g.route},null,8,["is","clicks-elements","clicks","class","route"]),Hn(U)?(tr(),Ds(Hn(U),{key:0,page:+g.route.path},null,8,["page"])):sl("v-if",!0),Pa(Hn(BAt))],12,zFn)}}}),zTt=Ps(VFn,[["__file","/home/laurent/Documents/Cours/ENSEEIHT/Projet-long/prez/node_modules/@slidev/client/internals/PrintSlideClick.vue"]]),qFn=mu({__name:"PrintSlide",props:{route:{type:null,required:!0}},setup(g){var U;const w=g;os(Os);const T=Ef(((U=w.route.meta)==null?void 0:U.__clicksElements)||[]),D=Fr(()=>w.route),H=qAt(D);return(Q,ie)=>(tr(),Ls(zu,null,[Pa(zTt,{"clicks-elements":T,"onUpdate:clicksElements":ie[0]||(ie[0]=he=>T=he),clicks:0,nav:Hn(H),route:Hn(D)},null,8,["clicks-elements","nav","route"]),Hn(qX)?sl("v-if",!0):(tr(!0),Ls(zu,{key:0},wQ(T.length,he=>(tr(),Ds(zTt,{key:he,clicks:he,nav:Hn(H),route:Hn(D)},null,8,["clicks","nav","route"]))),128))],64))}}),UFn=Ps(qFn,[["__file","/home/laurent/Documents/Cours/ENSEEIHT/Projet-long/prez/node_modules/@slidev/client/internals/PrintSlide.vue"]]),GFn={id:"print-content"},WFn=mu({__name:"PrintContainer",props:{width:{type:Number,required:!0}},setu
3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11
10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63
-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1
-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59
H213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359
c-16-25.333-24-45-24-59z`},null,-1),rzn=[nzn],izn=I("span",{class:"mopen"},"(",-1),szn=I("span",{class:"mord mathnormal"},"Q",-1),azn=I("span",{class:"mclose"},")",-1),ozn=I("span",{class:"mspace",style:{"margin-right":"0.2222em"}},null,-1),czn=I("span",{class:"mbin"},"⋅",-1),lzn=I("span",{class:"mspace",style:{"margin-right":"0.2222em"}},null,-1),uzn={class:"base"},hzn=I("span",{class:"strut",style:{height:"1em","vertical-align":"-0.25em"}},null,-1),fzn={class:"mord accent"},dzn={class:"vlist-t"},gzn={class:"vlist-r"},pzn={class:"vlist",style:{height:"0.714em"}},mzn=I("span",{style:{top:"-3em"}},[I("span",{class:"pstrut",style:{height:"3em"}}),I("span",{class:"mord mathnormal"},"s")],-1),vzn={style:{top:"-3em"}},bzn=I("span",{class:"pstrut",style:{height:"3em"}},null,-1),wzn={class:"accent-body",style:{left:"-0.1799em"}},yzn={class:"overlay",style:{height:"0.714em",width:"0.471em"}},_zn={xmlns:"http://www.w3.org/2000/svg",width:"0.471em",height:"0.714em",style:{width:"0.471em"},viewBox:"0 0 471 714",preserveAspectRatio:"xMinYMin"},xzn=I("path",{d:`M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5
3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11
10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63
-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1
-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59
H213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359
c-16-25.333-24-45-24-59z`},null,-1),kzn=[xzn],Ezn=I("span",{class:"mopen"},"(",-1),Tzn=I("span",{class:"mord mathnormal"},"Q",-1),Szn=I("span",{class:"mclose"},")",-1),Czn=I("li",null,[I("p",null,[I("span",{class:"katex"},[I("span",{class:"katex-mathml"},[I("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[I("semantics",null,[I("mrow",null,[I("mi",null,"ρ"),I("mo",{stretchy:"false"},"("),I("mi",null,"Q"),I("mo",{stretchy:"false"},")")]),I("annotation",{encoding:"application/x-tex"},"\\rho(Q)")])])]),I("span",{class:"katex-html","aria-hidden":"true"},[I("span",{class:"base"},[I("span",{class:"strut",style:{height:"1em","vertical-align":"-0.25em"}}),I("span",{class:"mord mathnormal"},"ρ"),I("span",{class:"mopen"},"("),I("span",{class:"mord mathnormal"},"Q"),I("span",{class:"mclose"},")")])])]),Du(" is the albedo")])],-1),Azn={class:"katex"},Mzn=I("span",{class:"katex-mathml"},[I("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[I("semantics",null,[I("mrow",null,[I("mover",{accent:"true"},[I("mi",null,"n"),I("mo",null,"⃗")]),I("mo",{stretchy:"false"},"("),I("mi",null,"Q"),I("mo",{stretchy:"false"},")")]),I("annotation",{encoding:"application/x-tex"},"\\vec{n}(Q)")])])],-1),Lzn={class:"katex-html","aria-hidden":"true"},Izn={class:"base"},Ozn=I("span",{class:"strut",style:{height:"1em","vertical-align":"-0.25em"}},null,-1),Dzn={class:"mord accent"},Pzn={class:"vlist-t"},Nzn={class:"vlist-r"},Rzn={class:"vlist",style:{height:"0.714em"}},Bzn=I("span",{style:{top:"-3em"}},[I("span",{class:"pstrut",style:{height:"3em"}}),I("span",{class:"mord mathnormal"},"n")],-1),Fzn={style:{top:"-3em"}},jzn=I("span",{class:"pstrut",style:{height:"3em"}},null,-1),$zn={class:"accent-body",style:{left:"-0.2355em"}},Hzn={class:"overlay",style:{height:"0.714em",width:"0.471em"}},zzn={xmlns:"http://www.w3.org/2000/svg",width:"0.471em",height:"0.714em",style:{width:"0.471em"},viewBox:"0 0 471 714",preserveAspectRatio:"xMinYMin"},Vzn=I("path",{d:`M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5
3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11
10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63
-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1
-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59
H213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359
c-16-25.333-24-45-24-59z`},null,-1),qzn=[Vzn],Uzn=I("span",{class:"mopen"},"(",-1),Gzn=I("span",{class:"mord mathnormal"},"Q",-1),Wzn=I("span",{class:"mclose"},")",-1),Kzn={class:"katex"},Yzn=I("span",{class:"katex-mathml"},[I("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[I("semantics",null,[I("mrow",null,[I("mover",{accent:"true"},[I("mi",null,"s"),I("mo",null,"⃗")]),I("mo",{stretchy:"false"},"("),I("mi",null,"Q"),I("mo",{stretchy:"false"},")"),I("mo",null,"="),I("mi",null,"ϕ"),I("mo",null,"×"),I("mover",{accent:"true"},[I("msub",null,[I("mi",null,"s"),I("mn",null,"0")]),I("mo",null,"⃗")]),I("mo",{stretchy:"false"},"("),I("mi",null,"Q"),I("mo",{stretchy:"false"},")")]),I("annotation",{encoding:"application/x-tex"},"\\vec{s}(Q) = \\phi \\times \\vec{s_0}(Q)")])])],-1),Xzn={class:"katex-html","aria-hidden":"true"},Qzn={class:"base"},Zzn=I("span",{class:"strut",style:{height:"1em","vertical-align":"-0.25em"}},null,-1),Jzn={class:"mord accent"},eVn={class:"vlist-t"},tVn={class:"vlist-r"},nVn={class:"vlist",style:{height:"0.714em"}},rVn=I("span",{style:{top:"-3em"}},[I("span",{class:"pstrut",style:{height:"3em"}}),I("span",{class:"mord mathnormal"},"s")],-1),iVn={style:{top:"-3em"}},sVn=I("span",{class:"pstrut",style:{height:"3em"}},null,-1),aVn={class:"accent-body",style:{left:"-0.1799em"}},oVn={class:"overlay",style:{height:"0.714em",width:"0.471em"}},cVn={xmlns:"http://www.w3.org/2000/svg",width:"0.471em",height:"0.714em",style:{width:"0.471em"},viewBox:"0 0 471 714",preserveAspectRatio:"xMinYMin"},lVn=I("path",{d:`M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5
3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11
10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63
-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1
-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59
H213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359
c-16-25.333-24-45-24-59z`},null,-1),uVn=[lVn],hVn=I("span",{class:"mopen"},"(",-1),fVn=I("span",{class:"mord mathnormal"},"Q",-1),dVn=I("span",{class:"mclose"},")",-1),gVn=I("span",{class:"mspace",style:{"margin-right":"0.2778em"}},null,-1),pVn=I("span",{class:"mrel"},"=",-1),mVn=I("span",{class:"mspace",style:{"margin-right":"0.2778em"}},null,-1),vVn=I("span",{class:"base"},[I("span",{class:"strut",style:{height:"0.8889em","vertical-align":"-0.1944em"}}),I("span",{class:"mord mathnormal"},"ϕ"),I("span",{class:"mspace",style:{"margin-right":"0.2222em"}}),I("span",{class:"mbin"},"×"),I("span",{class:"mspace",style:{"margin-right":"0.2222em"}})],-1),bVn={class:"base"},wVn=I("span",{class:"strut",style:{height:"1em","vertical-align":"-0.25em"}},null,-1),yVn={class:"mord accent"},_Vn={class:"vlist-t vlist-t2"},xVn={class:"vlist-r"},kVn={class:"vlist",style:{height:"0.714em"}},EVn=I("span",{style:{top:"-3em"}},[I("span",{class:"pstrut",style:{height:"3em"}}),I("span",{class:"mord"},[I("span",{class:"mord mathnormal"},"s"),I("span",{class:"msupsub"},[I("span",{class:"vlist-t vlist-t2"},[I("span",{class:"vlist-r"},[I("span",{class:"vlist",style:{height:"0.3011em"}},[I("span",{style:{top:"-2.55em","margin-left":"0em","margin-right":"0.05em"}},[I("span",{class:"pstrut",style:{height:"2.7em"}}),I("span",{class:"sizing reset-size6 size3 mtight"},[I("span",{class:"mord mtight"},"0")])])]),I("span",{class:"vlist-s"},"")]),I("span",{class:"vlist-r"},[I("span",{class:"vlist",style:{height:"0.15em"}},[I("span")])])])])])],-1),TVn={style:{top:"-3em"}},SVn=I("span",{class:"pstrut",style:{height:"3em"}},null,-1),CVn={class:"accent-body",style:{left:"-0.2355em"}},AVn={class:"overlay",style:{height:"0.714em",width:"0.471em"}},MVn={xmlns:"http://www.w3.org/2000/svg",width:"0.471em",height:"0.714em",style:{width:"0.471em"},viewBox:"0 0 471 714",preserveAspectRatio:"xMinYMin"},LVn=I("path",{d:`M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5
3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11
10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63
-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1
-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59
H213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359
c-16-25.333-24-45-24-59z`},null,-1),IVn=[LVn],OVn=I("span",{class:"vlist-s"},"",-1),DVn=I("span",{class:"vlist-r"},[I("span",{class:"vlist",style:{height:"0.15em"}},[I("span")])],-1),PVn=I("span",{class:"mopen"},"(",-1),NVn=I("span",{class:"mord mathnormal"},"Q",-1),RVn=I("span",{class:"mclose"},")",-1),BVn=I("img",{src:RHn,class:"h-100 absolute right-10 top-10"},null,-1),FVn=I("p",null,[I("a",{href:"https://www.laserfocusworld.com/lasers-sources/article/14035413/photometric-stereo-techniques-analyze-reflections-to-improve-image-contrast",class:"absolute bottom-0 font-extralight mb-1 mr-2 right-0 text-xs"},"LaserFocusWorld")],-1),jVn={__name:"26",setup(g){const w={};return os(Os),(T,D)=>(tr(),Ds($c,Ic(xc(w)),{default:no(()=>[BHn,I("div",FHn,[I("span",null,[I("p",null,[I("span",jHn,[$Hn,I("span",HHn,[zHn,VHn,I("span",qHn,[UHn,I("span",GHn,[I("span",WHn,[I("span",KHn,[I("span",YHn,[XHn,I("span",QHn,[ZHn,I("span",JHn,[I("span",ezn,[(tr(),Ls("svg",tzn,rzn))])])])])])])]),izn,szn,azn,ozn,czn,lzn]),I("span",uzn,[hzn,I("span",fzn,[I("span",dzn,[I("span",gzn,[I("span",pzn,[mzn,I("span",vzn,[bzn,I("span",wzn,[I("span",yzn,[(tr(),Ls("svg",_zn,kzn))])])])])])])]),Ezn,Tzn,Szn])])])]),I("ul",null,[Czn,I("li",null,[I("p",null,[I("span",Azn,[Mzn,I("span",Lzn,[I("span",Izn,[Ozn,I("span",Dzn,[I("span",Pzn,[I("span",Nzn,[I("span",Rzn,[Bzn,I("span",Fzn,[jzn,I("span",$zn,[I("span",Hzn,[(tr(),Ls("svg",zzn,qzn))])])])])])])]),Uzn,Gzn,Wzn])])]),Du(" is the normal vector")])]),I("li",null,[I("p",null,[I("span",Kzn,[Yzn,I("span",Xzn,[I("span",Qzn,[Zzn,I("span",Jzn,[I("span",eVn,[I("span",tVn,[I("span",nVn,[rVn,I("span",iVn,[sVn,I("span",aVn,[I("span",oVn,[(tr(),Ls("svg",cVn,uVn))])])])])])])]),hVn,fVn,dVn,gVn,pVn,mVn]),vVn,I("span",bVn,[wVn,I("span",yVn,[I("span",_Vn,[I("span",xVn,[I("span",kVn,[EVn,I("span",TVn,[SVn,I("span",CVn,[I("span",AVn,[(tr(),Ls("svg",MVn,IVn))])])])]),OVn]),DVn])]),PVn,NVn,RVn])])]),Du(" is the lighting direction")])])])])]),BVn,FVn]),_:1},16))}},$Vn=Ps(jVn,[["__file","/@slidev/slides/26.md"]]),HVn=I("h2",null,"Problem formulation",-1),zVn=I("div",{class:"h-100 flex items-center"},[I("span",null,[I("p",null,[I("span",{class:"katex"},[I("span",{class:"katex-mathml"},[I("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[I("semantics",null,[I("mrow",null,[I("mi",null,"N")]),I("annotation",{encoding:"application/x-tex"},"N")])])]),I("span",{class:"katex-html","aria-hidden":"true"},[I("span",{class:"base"},[I("span",{class:"strut",style:{height:"0.6833em"}}),I("span",{class:"mord mathnormal",style:{"margin-right":"0.10903em"}},"N")])])]),Du(" lightings, "),I("span",{class:"katex"},[I("span",{class:"katex-mathml"},[I("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[I("semantics",null,[I("mrow",null,[I("mi",null,"P")]),I("annotation",{encoding:"application/x-tex"},"P")])])]),I("span",{class:"katex-html","aria-hidden":"true"},[I("span",{class:"base"},[I("span",{class:"strut",style:{height:"0.6833em"}}),I("span",{class:"mord mathnormal",style:{"margin-right":"0.13889em"}},"P")])])]),Du(" pixels "),I("br"),I("span",{class:"katex"},[I("span",{class:"katex-mathml"},[I("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[I("semantics",null,[I("mrow",null,[I("mo",null,"→"),I("mi",null,"I"),I("mo",null,"="),I("mi",null,"M"),I("mo",null,"×"),I("mi",null,"S"),I("mo",null,"×"),I("msub",null,[I("mi",null,"D"),I("mi",null,"ϕ")])]),I("annotation",{encoding:"application/x-tex"},"\\rightarrow I = M \\times S \\times D_{\\phi}")])])]),I("span",{class:"katex-html","aria-hidden":"true"},[I("span",{class:"base"},[I("span",{class:"strut",style:{height:"0.3669em"}}),I("span",{class:"mrel"},"→"),I("span",{class:"mspace",style:{"margin-right":"0.2778em"}})]),I("span",{class:"base"},[I("span",{class:"strut",style:{height:"0.6833em"}}),I("span",{class:"mord mathnormal",style:{"margin-right":"0.07847em"}},"I"),I("span",{class:"mspace",style:{"margin-right":"0.2778em"}}),I("span",{class:"mrel"},"="),I("span",{class:"mspace",style:{"margin-right":"0.2778em"}})]),I("span",{class:"base"},[I("span",{class:"strut",style:{height:"0.7667em","ve
[ ]{`+Math.min.apply(Math,y)+"}","g");m=m.map(function(A){return A.replace(k,`
`)})}m[0]=m[0].replace(/^\r?\n/,"");var v=m[0];return o.forEach(function(A,O){var j=v.match(/(?:^|\n)( *)$/),z=j?j[1]:"",V=A;typeof A=="string"&&A.includes(`
`)&&(V=String(A).split(`
`).map(function(Y,G){return G===0?Y:""+z+Y}).join(`
`)),v+=V+m[O+1]}),v}var D=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof FI<"u"?FI:typeof self<"u"?self:{};function H(s){return s&&s.__esModule&&Object.prototype.hasOwnProperty.call(s,"default")?s.default:s}var U={},Q={get exports(){return U},set exports(s){U=s}};(function(s,o){(function(f,m){s.exports=m()})(D,function(){var f=1e3,m=6e4,y=36e5,k="millisecond",v="second",A="minute",O="hour",j="day",z="week",V="month",Y="quarter",G="year",J="date",ce="Invalid Date",me=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,_e=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,we={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(qe){var ae=["th","st","nd","rd"],Qe=qe%100;return"["+qe+(ae[(Qe-20)%10]||ae[Qe]||ae[0])+"]"}},Se=function(qe,ae,Qe){var Ce=String(qe);return!Ce||Ce.length>=ae?qe:""+Array(ae+1-Ce.length).join(Qe)+qe},Oe={s:Se,z:function(qe){var ae=-qe.utcOffset(),Qe=Math.abs(ae),Ce=Math.floor(Qe/60),nt=Qe%60;return(ae<=0?"+":"-")+Se(Ce,2,"0")+":"+Se(nt,2,"0")},m:function qe(ae,Qe){if(ae.date()<Qe.date())return-qe(Qe,ae);var Ce=12*(Qe.year()-ae.year())+(Qe.month()-ae.month()),nt=ae.clone().add(Ce,V),Ee=Qe-nt<0,kt=ae.clone().add(Ce+(Ee?-1:1),V);return+(-(Ce+(Qe-nt)/(Ee?nt-kt:kt-nt))||0)},a:function(qe){return qe<0?Math.ceil(qe)||0:Math.floor(qe)},p:function(qe){return{M:V,y:G,w:z,d:j,D:J,h:O,m:A,s:v,ms:k,Q:Y}[qe]||String(qe||"").toLowerCase().replace(/s$/,"")},u:function(qe){return qe===void 0}},De="en",Ve={};Ve[De]=we;var ke=function(qe){return qe instanceof Ne},Ie=function qe(ae,Qe,Ce){var nt;if(!ae)return De;if(typeof ae=="string"){var Ee=ae.toLowerCase();Ve[Ee]&&(nt=Ee),Qe&&(Ve[Ee]=Qe,nt=Ee);var kt=ae.split("-");if(!nt&&kt.length>1)return qe(kt[0])}else{var Ot=ae.name;Ve[Ot]=ae,nt=Ot}return!Ce&&nt&&(De=nt),nt||!Ce&&De},ge=function(qe,ae){if(ke(qe))return qe.clone();var Qe=typeof ae=="object"?ae:{};return Qe.date=qe,Qe.args=arguments,new Ne(Qe)},Me=Oe;Me.l=Ie,Me.i=ke,Me.w=function(qe,ae){return ge(qe,{locale:ae.$L,utc:ae.$u,x:ae.$x,$offset:ae.$offset})};var Ne=function(){function qe(Qe){this.$L=Ie(Qe.locale,null,!0),this.parse(Qe)}var ae=qe.prototype;return ae.parse=function(Qe){this.$d=function(Ce){var nt=Ce.date,Ee=Ce.utc;if(nt===null)return new Date(NaN);if(Me.u(nt))return new Date;if(nt instanceof Date)return new Date(nt);if(typeof nt=="string"&&!/Z$/i.test(nt)){var kt=nt.match(me);if(kt){var Ot=kt[2]-1||0,Vt=(kt[7]||"0").substring(0,3);return Ee?new Date(Date.UTC(kt[1],Ot,kt[3]||1,kt[4]||0,kt[5]||0,kt[6]||0,Vt)):new Date(kt[1],Ot,kt[3]||1,kt[4]||0,kt[5]||0,kt[6]||0,Vt)}}return new Date(nt)}(Qe),this.$x=Qe.x||{},this.init()},ae.init=function(){var Qe=this.$d;this.$y=Qe.getFullYear(),this.$M=Qe.getMonth(),this.$D=Qe.getDate(),this.$W=Qe.getDay(),this.$H=Qe.getHours(),this.$m=Qe.getMinutes(),this.$s=Qe.getSeconds(),this.$ms=Qe.getMilliseconds()},ae.$utils=function(){return Me},ae.isValid=function(){return this.$d.toString()!==ce},ae.isSame=function(Qe,Ce){var nt=ge(Qe);return this.startOf(Ce)<=nt&&nt<=this.endOf(Ce)},ae.isAfter=function(Qe,Ce){return ge(Qe)<this.startOf(Ce)},ae.isBefore=function(Qe,Ce){return this.endOf(Ce)<ge(Qe)},ae.$g=function(Qe,Ce,nt){return Me.u(Qe)?this[Ce]:this.set(nt,Qe)},ae.unix=function(){return Math.floor(this.valueOf()/1e3)},ae.valueOf=function(){return this.$d.getTime()},ae.startOf=function(Qe,Ce){var nt=this,Ee=!!Me.u(Ce)||Ce,kt=Me.p(Qe),Ot=function(Ft,$t){var Pt=Me.w(nt.$u?Date.UTC(nt.$y,$t,Ft):new Date(nt.$y,$t,Ft),nt);return Ee?Pt:Pt.endOf(j)},Vt=function(Ft,$t){return Me.w(nt.toDate()[Ft].apply(nt.toDate("s"),(Ee?[0,0,0,0]:[23,59,59,999]).slice($t)),nt)},Rt=this.$W,Gt=this.$M,_n=this.$D,On="set"+(this.$u?"UTC":"");switch(kt){case G:return Ee?Ot(1,0):Ot(31,11);case V:return Ee?Ot(1,Gt):Ot(0,Gt+1);case z:var Dt=this.$locale().weekStart||0,ai=(Rt<Dt?Rt+7:Rt)-Dt;return Ot(Ee?_n-ai:_n+(6-ai),Gt);case j:case J:return Vt(On+"Hours",0);
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var ONt=Object.hasOwnProperty,Wje=Object.setPrototypeOf,DNt=Object.isFrozen,PNt=Object.getPrototypeOf,NNt=Object.getOwnPropertyDescriptor,om=Object.freeze,x3=Object.seal,RNt=Object.create,Kje=typeof Reflect<"u"&&Reflect,lZ=Kje.apply,Zve=Kje.construct;lZ||(lZ=function(o,f,m){return o.apply(f,m)}),om||(om=function(o){return o}),x3||(x3=function(o){return o}),Zve||(Zve=function(o,f){return cZ(o,_3(f))});var BNt=pw(Array.prototype.forEach),Yje=pw(Array.prototype.pop),XF=pw(Array.prototype.push),uZ=pw(String.prototype.toLowerCase),Jve=pw(String.prototype.toString),FNt=pw(String.prototype.match),k3=pw(String.prototype.replace),jNt=pw(String.prototype.indexOf),$Nt=pw(String.prototype.trim),cm=pw(RegExp.prototype.test),ebe=HNt(TypeError);function pw(s){return function(o){for(var f=arguments.length,m=new Array(f>1?f-1:0),y=1;y<f;y++)m[y-1]=arguments[y];return lZ(s,o,m)}}function HNt(s){return function(){for(var o=arguments.length,f=new Array(o),m=0;m<o;m++)f[m]=arguments[m];return Zve(s,f)}}function Xc(s,o,f){f=f||uZ,Wje&&Wje(s,null);for(var m=o.length;m--;){var y=o[m];if(typeof y=="string"){var k=f(y);k!==y&&(DNt(o)||(o[m]=k),y=k)}s[y]=!0}return s}function wS(s){var o=RNt(null),f;for(f in s)lZ(ONt,s,[f])===!0&&(o[f]=s[f]);return o}function hZ(s,o){for(;s!==null;){var f=NNt(s,o);if(f){if(f.get)return pw(f.get);if(typeof f.value=="function")return pw(f.value)}s=PNt(s)}function m(y){return console.warn("fallback value for",y),null}return m}var Xje=om(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","shadow","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),tbe=om(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","filter","font","g","glyph","glyphref","hkern","image","line","lineargradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),nbe=om(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),zNt=om(["animate","color-profile","cursor","discard","fedropshadow","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),rbe=om(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover"]),VNt=om(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),Qje=om(["#text"]),Zje=om(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding",
`+Hh),et&&(Hh=k3(Hh,ae," "),Hh=k3(Hh,Qe," "),Hh=k3(Hh,Ce," ")),Oe&&ws?Oe.createHTML(Hh):Hh},o.setConfig=function(ps){Do(ps),Ut=!0},o.clearConfig=function(){Qa=null,Ut=!1},o.isValidAttribute=function(ps,rn,oi){Qa||Do({});var Ji=An(ps),Fo=An(rn);return Cf(Ji,Fo,oi)},o.addHook=function(ps,rn){typeof rn=="function"&&(qe[ps]=qe[ps]||[],XF(qe[ps],rn))},o.removeHook=function(ps){if(qe[ps])return Yje(qe[ps])},o.removeHooks=function(ps){qe[ps]&&(qe[ps]=[])},o.removeAllHooks=function(){qe={}},o}var QF=e$e();const tRt=s=>s?r$e(s).replace(/\\n/g,"#br#").split("#br#"):[""],t$e=s=>QF.sanitize(s),n$e=(s,o)=>{var f;if(((f=o.flowchart)==null?void 0:f.htmlLabels)!==!1){const m=o.securityLevel;m==="antiscript"||m==="strict"?s=t$e(s):m!=="loose"&&(s=r$e(s),s=s.replace(/</g,"&lt;").replace(/>/g,"&gt;"),s=s.replace(/=/g,"&equals;"),s=sRt(s))}return s},zb=(s,o)=>s&&(o.dompurifyConfig?s=QF.sanitize(n$e(s,o),o.dompurifyConfig).toString():s=QF.sanitize(n$e(s,o),{FORBID_TAGS:["style"]}).toString(),s),nRt=(s,o)=>typeof s=="string"?zb(s,o):s.flat().map(f=>zb(f,o)),dZ=/<br\s*\/?>/gi,rRt=s=>dZ.test(s),iRt=s=>s.split(dZ),sRt=s=>s.replace(/#br#/g,"<br/>"),r$e=s=>s.replace(dZ,"#br#"),aRt=s=>{let o="";return s&&(o=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,o=o.replaceAll(/\(/g,"\\("),o=o.replaceAll(/\)/g,"\\)")),o},i0=s=>!(s===!1||["false","null","0"].includes(String(s).trim().toLowerCase())),n7=function(s){let o=s;if(s.split("~").length-1>=2){let f=o;do o=f,f=o.replace(/~([^\s,:;]+)~/,"<$1>");while(f!=o);return n7(f)}else return o},Oo={getRows:tRt,sanitizeText:zb,sanitizeTextOrArray:nRt,hasBreaks:rRt,splitBreaks:iRt,lineBreakRegex:dZ,removeScript:t$e,getUrl:aRt,evaluate:i0},gZ={min:{r:0,g:0,b:0,s:0,l:0,a:0},max:{r:255,g:255,b:255,h:360,s:100,l:100,a:1},clamp:{r:s=>s>=255?255:s<0?0:s,g:s=>s>=255?255:s<0?0:s,b:s=>s>=255?255:s<0?0:s,h:s=>s%360,s:s=>s>=100?100:s<0?0:s,l:s=>s>=100?100:s<0?0:s,a:s=>s>=1?1:s<0?0:s},toLinear:s=>{const o=s/255;return s>.03928?Math.pow((o+.055)/1.055,2.4):o/12.92},hue2rgb:(s,o,f)=>(f<0&&(f+=1),f>1&&(f-=1),f<1/6?s+(o-s)*6*f:f<1/2?o:f<2/3?s+(o-s)*(2/3-f)*6:s),hsl2rgb:({h:s,s:o,l:f},m)=>{if(!o)return f*2.55;s/=360,o/=100,f/=100;const y=f<.5?f*(1+o):f+o-f*o,k=2*f-y;switch(m){case"r":return gZ.hue2rgb(k,y,s+1/3)*255;case"g":return gZ.hue2rgb(k,y,s)*255;case"b":return gZ.hue2rgb(k,y,s-1/3)*255}},rgb2hsl:({r:s,g:o,b:f},m)=>{s/=255,o/=255,f/=255;const y=Math.max(s,o,f),k=Math.min(s,o,f),v=(y+k)/2;if(m==="l")return v*100;if(y===k)return 0;const A=y-k,O=v>.5?A/(2-y-k):A/(y+k);if(m==="s")return O*100;switch(y){case s:return((o-f)/A+(o<f?6:0))*60;case o:return((f-s)/A+2)*60;case f:return((s-o)/A+4)*60;default:return-1}}},Uo={channel:gZ,lang:{clamp:(s,o,f)=>o>f?Math.min(o,Math.max(f,s)):Math.min(f,Math.max(o,s)),round:s=>Math.round(s*1e10)/1e10},unit:{dec2hex:s=>{const o=Math.round(s).toString(16);return o.length>1?o:`0${o}`}}},r7={};for(let s=0;s<=255;s++)r7[s]=Uo.unit.dec2hex(s);const _p={ALL:0,RGB:1,HSL:2};class oRt{constructor(){this.type=_p.ALL}get(){return this.type}set(o){if(this.type&&this.type!==o)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=o}reset(){this.type=_p.ALL}is(o){return this.type===o}}const cRt=oRt;class lRt{constructor(o,f){this.color=f,this.changed=!1,this.data=o,this.type=new cRt}set(o,f){return this.color=f,this.changed=!1,this.data=o,this.type.type=_p.ALL,this}_ensureHSL(){const o=this.data,{h:f,s:m,l:y}=o;f===void 0&&(o.h=Uo.channel.rgb2hsl(o,"h")),m===void 0&&(o.s=Uo.channel.rgb2hsl(o,"s")),y===void 0&&(o.l=Uo.channel.rgb2hsl(o,"l"))}_ensureRGB(){const o=this.data,{r:f,g:m,b:y}=o;f===void 0&&(o.r=Uo.channel.hsl2rgb(o,"r")),m===void 0&&(o.g=Uo.channel.hsl2rgb(o,"g")),y===void 0&&(o.b=Uo.channel.hsl2rgb(o,"b"))}get r(){const o=this.data,f=o.r;return!this.type.is(_p.HSL)&&f!==void 0?f:(this._ensureHSL(),Uo.channel.hsl2rgb(o,"r"))}get g(){const o=this.data,f=o.g;return!this.type.is(_p.HSL)&&f!==void 0?f:(this._ensureHSL(),Uo.channel.hsl2rgb(o,"g"))}get b(){const o=this.data,f=o.b;return!this.type.is(_p.HSL)&&f!==void 0?f:(th
`+s.mark.snippet),m+" "+f):m}function ej(s,o){Error.call(this),this.name="YAMLException",this.reason=s,this.mark=o,this.message=f$e(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}ej.prototype=Object.create(Error.prototype),ej.prototype.constructor=ej,ej.prototype.toString=function(o){return this.name+": "+f$e(this,o)};var ox=ej;function sbe(s,o,f,m,y){var k="",v="",A=Math.floor(y/2)-1;return m-o>A&&(k=" ... ",o=m-A+k.length),f-m>A&&(v=" ...",f=m+A-v.length),{str:k+s.slice(o,f).replace(/\t/g,"→")+v,pos:m-o+k.length}}function abe(s,o){return um.repeat(" ",o-s.length)+s}function RRt(s,o){if(o=Object.create(o||null),!s.buffer)return null;o.maxLength||(o.maxLength=79),typeof o.indent!="number"&&(o.indent=1),typeof o.linesBefore!="number"&&(o.linesBefore=3),typeof o.linesAfter!="number"&&(o.linesAfter=2);for(var f=/\r?\n|\r|\0/g,m=[0],y=[],k,v=-1;k=f.exec(s.buffer);)y.push(k.index),m.push(k.index+k[0].length),s.position<=k.index&&v<0&&(v=m.length-2);v<0&&(v=m.length-1);var A="",O,j,z=Math.min(s.line+o.linesAfter,y.length).toString().length,V=o.maxLength-(o.indent+z+3);for(O=1;O<=o.linesBefore&&!(v-O<0);O++)j=sbe(s.buffer,m[v-O],y[v-O],s.position-(m[v]-m[v-O]),V),A=um.repeat(" ",o.indent)+abe((s.line-O+1).toString(),z)+" | "+j.str+`
`+A;for(j=sbe(s.buffer,m[v],y[v],s.position,V),A+=um.repeat(" ",o.indent)+abe((s.line+1).toString(),z)+" | "+j.str+`
`,A+=um.repeat("-",o.indent+z+3+j.pos)+`^
`,O=1;O<=o.linesAfter&&!(v+O>=y.length);O++)j=sbe(s.buffer,m[v+O],y[v+O],s.position-(m[v]-m[v+O]),V),A+=um.repeat(" ",o.indent)+abe((s.line+O+1).toString(),z)+" | "+j.str+`
`;return A.replace(/\n$/,"")}var BRt=RRt,FRt=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],jRt=["scalar","sequence","mapping"];function $Rt(s){var o={};return s!==null&&Object.keys(s).forEach(function(f){s[f].forEach(function(m){o[String(m)]=f})}),o}function HRt(s,o){if(o=o||{},Object.keys(o).forEach(function(f){if(FRt.indexOf(f)===-1)throw new ox('Unknown option "'+f+'" is met in definition of "'+s+'" YAML type.')}),this.options=o,this.tag=s,this.kind=o.kind||null,this.resolve=o.resolve||function(){return!0},this.construct=o.construct||function(f){return f},this.instanceOf=o.instanceOf||null,this.predicate=o.predicate||null,this.represent=o.represent||null,this.representName=o.representName||null,this.defaultStyle=o.defaultStyle||null,this.multi=o.multi||!1,this.styleAliases=$Rt(o.styleAliases||null),jRt.indexOf(this.kind)===-1)throw new ox('Unknown kind "'+this.kind+'" is specified for "'+s+'" YAML type.')}var xp=HRt;function d$e(s,o){var f=[];return s[o].forEach(function(m){var y=f.length;f.forEach(function(k,v){k.tag===m.tag&&k.kind===m.kind&&k.multi===m.multi&&(y=v)}),f[y]=m}),f}function zRt(){var s={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},o,f;function m(y){y.multi?(s.multi[y.kind].push(y),s.multi.fallback.push(y)):s[y.kind][y.tag]=s.fallback[y.tag]=y}for(o=0,f=arguments.length;o<f;o+=1)arguments[o].forEach(m);return s}function obe(s){return this.extend(s)}obe.prototype.extend=function(o){var f=[],m=[];if(o instanceof xp)m.push(o);else if(Array.isArray(o))m=m.concat(o);else if(o&&(Array.isArray(o.implicit)||Array.isArray(o.explicit)))o.implicit&&(f=f.concat(o.implicit)),o.explicit&&(m=m.concat(o.explicit));else throw new ox("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");f.forEach(function(k){if(!(k instanceof xp))throw new ox("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(k.loadKind&&k.loadKind!=="scalar")throw new ox("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(k.multi)throw new ox("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),m.forEach(function(k){if(!(k instanceof xp))throw new ox("Specified list of YAML types (or a single Type object) contains a non-Type object.")});var y=Object.create(obe.prototype);return y.implicit=(this.implicit||[]).concat(f),y.explicit=(this.explicit||[]).concat(m),y.compiledImplicit=d$e(y,"implicit"),y.compiledExplicit=d$e(y,"explicit"),y.compiledTypeMap=zRt(y.compiledImplicit,y.compiledExplicit),y};var VRt=obe,qRt=new xp("tag:yaml.org,2002:str",{kind:"scalar",construct:function(s){return s!==null?s:""}}),URt=new xp("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(s){return s!==null?s:[]}}),GRt=new xp("tag:yaml.org,2002:map",{kind:"mapping",construct:function(s){return s!==null?s:{}}}),g$e=new VRt({explicit:[qRt,URt,GRt]});function WRt(s){if(s===null)return!0;var o=s.length;return o===1&&s==="~"||o===4&&(s==="null"||s==="Null"||s==="NULL")}function KRt(){return null}function YRt(s){return s===null}var XRt=new xp("tag:yaml.org,2002:null",{kind:"scalar",resolve:WRt,construct:KRt,predicate:YRt,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"},empty:function(){return""}},defaultStyle:"lowercase"});function QRt(s){if(s===null)return!1;var o=s.length;return o===4&&(s==="true"||s==="True"||s==="TRUE")||o===5&&(s==="false"||s==="False"||s==="FALSE")}function ZRt(s){return s==="true"||s==="True"||s==="TRUE"}function JRt(s){return Object.prototype.toString.call(s)==="[object Boolean]"}var eBt=new xp("tag:yaml.org,2002:bool",{kind:"scalar",resolve:QRt,construct:ZRt,predicate:JRt,represent:{lowercase:function(s){return s?"true":"false"},uppercase:function(s){return s?"TRUE":"FALSE"},camelcase:function(s){return s?"True":"F
\r`;function kBt(s){if(s===null)return!1;var o,f,m=0,y=s.length,k=cbe;for(f=0;f<y;f++)if(o=k.indexOf(s.charAt(f)),!(o>64)){if(o<0)return!1;m+=6}return m%8===0}function EBt(s){var o,f,m=s.replace(/[\r\n=]/g,""),y=m.length,k=cbe,v=0,A=[];for(o=0;o<y;o++)o%4===0&&o&&(A.push(v>>16&255),A.push(v>>8&255),A.push(v&255)),v=v<<6|k.indexOf(m.charAt(o));return f=y%4*6,f===0?(A.push(v>>16&255),A.push(v>>8&255),A.push(v&255)):f===18?(A.push(v>>10&255),A.push(v>>2&255)):f===12&&A.push(v>>4&255),new Uint8Array(A)}function TBt(s){var o="",f=0,m,y,k=s.length,v=cbe;for(m=0;m<k;m++)m%3===0&&m&&(o+=v[f>>18&63],o+=v[f>>12&63],o+=v[f>>6&63],o+=v[f&63]),f=(f<<8)+s[m];return y=k%3,y===0?(o+=v[f>>18&63],o+=v[f>>12&63],o+=v[f>>6&63],o+=v[f&63]):y===2?(o+=v[f>>10&63],o+=v[f>>4&63],o+=v[f<<2&63],o+=v[64]):y===1&&(o+=v[f>>2&63],o+=v[f<<4&63],o+=v[64],o+=v[64]),o}function SBt(s){return Object.prototype.toString.call(s)==="[object Uint8Array]"}var CBt=new xp("tag:yaml.org,2002:binary",{kind:"scalar",resolve:kBt,construct:EBt,predicate:SBt,represent:TBt}),ABt=Object.prototype.hasOwnProperty,MBt=Object.prototype.toString;function LBt(s){if(s===null)return!0;var o=[],f,m,y,k,v,A=s;for(f=0,m=A.length;f<m;f+=1){if(y=A[f],v=!1,MBt.call(y)!=="[object Object]")return!1;for(k in y)if(ABt.call(y,k))if(!v)v=!0;else return!1;if(!v)return!1;if(o.indexOf(k)===-1)o.push(k);else return!1}return!0}function IBt(s){return s!==null?s:[]}var OBt=new xp("tag:yaml.org,2002:omap",{kind:"sequence",resolve:LBt,construct:IBt}),DBt=Object.prototype.toString;function PBt(s){if(s===null)return!0;var o,f,m,y,k,v=s;for(k=new Array(v.length),o=0,f=v.length;o<f;o+=1){if(m=v[o],DBt.call(m)!=="[object Object]"||(y=Object.keys(m),y.length!==1))return!1;k[o]=[y[0],m[y[0]]]}return!0}function NBt(s){if(s===null)return[];var o,f,m,y,k,v=s;for(k=new Array(v.length),o=0,f=v.length;o<f;o+=1)m=v[o],y=Object.keys(m),k[o]=[y[0],m[y[0]]];return k}var RBt=new xp("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:PBt,construct:NBt}),BBt=Object.prototype.hasOwnProperty;function FBt(s){if(s===null)return!0;var o,f=s;for(o in f)if(BBt.call(f,o)&&f[o]!==null)return!1;return!0}function jBt(s){return s!==null?s:{}}var $Bt=new xp("tag:yaml.org,2002:set",{kind:"mapping",resolve:FBt,construct:jBt}),HBt=mBt.extend({implicit:[yBt,xBt],explicit:[CBt,OBt,RBt,$Bt]}),s7=Object.prototype.hasOwnProperty,xZ=1,v$e=2,b$e=3,kZ=4,lbe=1,zBt=2,w$e=3,VBt=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,qBt=/[\x85\u2028\u2029]/,UBt=/[,\[\]\{\}]/,y$e=/^(?:!|!!|![a-z\-]+!)$/i,_$e=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function x$e(s){return Object.prototype.toString.call(s)}function z5(s){return s===10||s===13}function yS(s){return s===9||s===32}function cv(s){return s===9||s===32||s===10||s===13}function _O(s){return s===44||s===91||s===93||s===123||s===125}function GBt(s){var o;return 48<=s&&s<=57?s-48:(o=s|32,97<=o&&o<=102?o-97+10:-1)}function WBt(s){return s===120?2:s===117?4:s===85?8:0}function KBt(s){return 48<=s&&s<=57?s-48:-1}function k$e(s){return s===48?"\0":s===97?"\x07":s===98?"\b":s===116||s===9?" ":s===110?`
`:s===118?"\v":s===102?"\f":s===114?"\r":s===101?"\x1B":s===32?" ":s===34?'"':s===47?"/":s===92?"\\":s===78?"…":s===95?" ":s===76?"\u2028":s===80?"\u2029":""}function YBt(s){return s<=65535?String.fromCharCode(s):String.fromCharCode((s-65536>>10)+55296,(s-65536&1023)+56320)}for(var E$e=new Array(256),T$e=new Array(256),xO=0;xO<256;xO++)E$e[xO]=k$e(xO)?1:0,T$e[xO]=k$e(xO);function XBt(s,o){this.input=s,this.filename=o.filename||null,this.schema=o.schema||HBt,this.onWarning=o.onWarning||null,this.legacy=o.legacy||!1,this.json=o.json||!1,this.listener=o.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=s.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function S$e(s,o){var f={name:s.filename,buffer:s.input.slice(0,-1),position:s.position,line:s.line,column:s.position-s.lineStart};return f.snippet=BRt(f),new ox(o,f)}function Ra(s,o){throw S$e(s,o)}function EZ(s,o){s.onWarning&&s.onWarning.call(null,S$e(s,o))}var C$e={YAML:function(o,f,m){var y,k,v;o.version!==null&&Ra(o,"duplication of %YAML directive"),m.length!==1&&Ra(o,"YAML directive accepts exactly one argument"),y=/^([0-9]+)\.([0-9]+)$/.exec(m[0]),y===null&&Ra(o,"ill-formed argument of the YAML directive"),k=parseInt(y[1],10),v=parseInt(y[2],10),k!==1&&Ra(o,"unacceptable YAML version of the document"),o.version=m[0],o.checkLineBreaks=v<2,v!==1&&v!==2&&EZ(o,"unsupported YAML version of the document")},TAG:function(o,f,m){var y,k;m.length!==2&&Ra(o,"TAG directive accepts exactly two arguments"),y=m[0],k=m[1],y$e.test(y)||Ra(o,"ill-formed tag handle (first argument) of the TAG directive"),s7.call(o.tagMap,y)&&Ra(o,'there is a previously declared suffix for "'+y+'" tag handle'),_$e.test(k)||Ra(o,"ill-formed tag prefix (second argument) of the TAG directive");try{k=decodeURIComponent(k)}catch{Ra(o,"tag prefix is malformed: "+k)}o.tagMap[y]=k}};function a7(s,o,f,m){var y,k,v,A;if(o<f){if(A=s.input.slice(o,f),m)for(y=0,k=A.length;y<k;y+=1)v=A.charCodeAt(y),v===9||32<=v&&v<=1114111||Ra(s,"expected valid JSON character");else VBt.test(A)&&Ra(s,"the stream contains non-printable characters");s.result+=A}}function A$e(s,o,f,m){var y,k,v,A;for(um.isObject(f)||Ra(s,"cannot merge mappings; the provided source object is unacceptable"),y=Object.keys(f),v=0,A=y.length;v<A;v+=1)k=y[v],s7.call(o,k)||(o[k]=f[k],m[k]=!0)}function kO(s,o,f,m,y,k,v,A,O){var j,z;if(Array.isArray(y))for(y=Array.prototype.slice.call(y),j=0,z=y.length;j<z;j+=1)Array.isArray(y[j])&&Ra(s,"nested arrays are not supported inside keys"),typeof y=="object"&&x$e(y[j])==="[object Object]"&&(y[j]="[object Object]");if(typeof y=="object"&&x$e(y)==="[object Object]"&&(y="[object Object]"),y=String(y),o===null&&(o={}),m==="tag:yaml.org,2002:merge")if(Array.isArray(k))for(j=0,z=k.length;j<z;j+=1)A$e(s,o,k[j],f);else A$e(s,o,k,f);else!s.json&&!s7.call(f,y)&&s7.call(o,y)&&(s.line=v||s.line,s.lineStart=A||s.lineStart,s.position=O||s.position,Ra(s,"duplicated mapping key")),y==="__proto__"?Object.defineProperty(o,y,{configurable:!0,enumerable:!0,writable:!0,value:k}):o[y]=k,delete f[y];return o}function ube(s){var o;o=s.input.charCodeAt(s.position),o===10?s.position++:o===13?(s.position++,s.input.charCodeAt(s.position)===10&&s.position++):Ra(s,"a line break is expected"),s.line+=1,s.lineStart=s.position,s.firstTabInLine=-1}function M1(s,o,f){for(var m=0,y=s.input.charCodeAt(s.position);y!==0;){for(;yS(y);)y===9&&s.firstTabInLine===-1&&(s.firstTabInLine=s.position),y=s.input.charCodeAt(++s.position);if(o&&y===35)do y=s.input.charCodeAt(++s.position);while(y!==10&&y!==13&&y!==0);if(z5(y))for(ube(s),y=s.input.charCodeAt(s.position),m++,s.lineIndent=0;y===32;)s.lineIndent++,y=s.input.charCodeAt(++s.position);else break}return f!==-1&&m!==0&&s.lineIndent<f&&EZ(s,"deficient indentation"),m}function TZ(s){var o=s.position,f;return f=s.input.charCodeAt(o),!!((f===45||f===46)&&f===s.input.charCodeAt(o+1)&&f===s.input.charCodeAt(o+2)&&(o+=3,f=s.input.charCodeAt(o),f===0||cv(f)))}function hbe(s,o){o===1?s.resu
`,o-1))}function QBt(s,o,f){var m,y,k,v,A,O,j,z,V=s.kind,Y=s.result,G;if(G=s.input.charCodeAt(s.position),cv(G)||_O(G)||G===35||G===38||G===42||G===33||G===124||G===62||G===39||G===34||G===37||G===64||G===96||(G===63||G===45)&&(y=s.input.charCodeAt(s.position+1),cv(y)||f&&_O(y)))return!1;for(s.kind="scalar",s.result="",k=v=s.position,A=!1;G!==0;){if(G===58){if(y=s.input.charCodeAt(s.position+1),cv(y)||f&&_O(y))break}else if(G===35){if(m=s.input.charCodeAt(s.position-1),cv(m))break}else{if(s.position===s.lineStart&&TZ(s)||f&&_O(G))break;if(z5(G))if(O=s.line,j=s.lineStart,z=s.lineIndent,M1(s,!1,-1),s.lineIndent>=o){A=!0,G=s.input.charCodeAt(s.position);continue}else{s.position=v,s.line=O,s.lineStart=j,s.lineIndent=z;break}}A&&(a7(s,k,v,!1),hbe(s,s.line-O),k=v=s.position,A=!1),yS(G)||(v=s.position+1),G=s.input.charCodeAt(++s.position)}return a7(s,k,v,!1),s.result?!0:(s.kind=V,s.result=Y,!1)}function ZBt(s,o){var f,m,y;if(f=s.input.charCodeAt(s.position),f!==39)return!1;for(s.kind="scalar",s.result="",s.position++,m=y=s.position;(f=s.input.charCodeAt(s.position))!==0;)if(f===39)if(a7(s,m,s.position,!0),f=s.input.charCodeAt(++s.position),f===39)m=s.position,s.position++,y=s.position;else return!0;else z5(f)?(a7(s,m,y,!0),hbe(s,M1(s,!1,o)),m=y=s.position):s.position===s.lineStart&&TZ(s)?Ra(s,"unexpected end of the document within a single quoted scalar"):(s.position++,y=s.position);Ra(s,"unexpected end of the stream within a single quoted scalar")}function JBt(s,o){var f,m,y,k,v,A;if(A=s.input.charCodeAt(s.position),A!==34)return!1;for(s.kind="scalar",s.result="",s.position++,f=m=s.position;(A=s.input.charCodeAt(s.position))!==0;){if(A===34)return a7(s,f,s.position,!0),s.position++,!0;if(A===92){if(a7(s,f,s.position,!0),A=s.input.charCodeAt(++s.position),z5(A))M1(s,!1,o);else if(A<256&&E$e[A])s.result+=T$e[A],s.position++;else if((v=WBt(A))>0){for(y=v,k=0;y>0;y--)A=s.input.charCodeAt(++s.position),(v=GBt(A))>=0?k=(k<<4)+v:Ra(s,"expected hexadecimal character");s.result+=YBt(k),s.position++}else Ra(s,"unknown escape sequence");f=m=s.position}else z5(A)?(a7(s,f,m,!0),hbe(s,M1(s,!1,o)),f=m=s.position):s.position===s.lineStart&&TZ(s)?Ra(s,"unexpected end of the document within a double quoted scalar"):(s.position++,m=s.position)}Ra(s,"unexpected end of the stream within a double quoted scalar")}function eFt(s,o){var f=!0,m,y,k,v=s.tag,A,O=s.anchor,j,z,V,Y,G,J=Object.create(null),ce,me,_e,we;if(we=s.input.charCodeAt(s.position),we===91)z=93,G=!1,A=[];else if(we===123)z=125,G=!0,A={};else return!1;for(s.anchor!==null&&(s.anchorMap[s.anchor]=A),we=s.input.charCodeAt(++s.position);we!==0;){if(M1(s,!0,o),we=s.input.charCodeAt(s.position),we===z)return s.position++,s.tag=v,s.anchor=O,s.kind=G?"mapping":"sequence",s.result=A,!0;f?we===44&&Ra(s,"expected the node content, but found ','"):Ra(s,"missed comma between flow collection entries"),me=ce=_e=null,V=Y=!1,we===63&&(j=s.input.charCodeAt(s.position+1),cv(j)&&(V=Y=!0,s.position++,M1(s,!0,o))),m=s.line,y=s.lineStart,k=s.position,EO(s,o,xZ,!1,!0),me=s.tag,ce=s.result,M1(s,!0,o),we=s.input.charCodeAt(s.position),(Y||s.line===m)&&we===58&&(V=!0,we=s.input.charCodeAt(++s.position),M1(s,!0,o),EO(s,o,xZ,!1,!0),_e=s.result),G?kO(s,A,J,me,ce,_e,m,y,k):V?A.push(kO(s,null,J,me,ce,_e,m,y,k)):A.push(ce),M1(s,!0,o),we=s.input.charCodeAt(s.position),we===44?(f=!0,we=s.input.charCodeAt(++s.position)):f=!1}Ra(s,"unexpected end of the stream within a flow collection")}function tFt(s,o){var f,m,y=lbe,k=!1,v=!1,A=o,O=0,j=!1,z,V;if(V=s.input.charCodeAt(s.position),V===124)m=!1;else if(V===62)m=!0;else return!1;for(s.kind="scalar",s.result="";V!==0;)if(V=s.input.charCodeAt(++s.position),V===43||V===45)lbe===y?y=V===43?w$e:zBt:Ra(s,"repeat of a chomping mode identifier");else if((z=KBt(V))>=0)z===0?Ra(s,"bad explicit indentation width of a block scalar; it cannot be less than one"):v?Ra(s,"repeat of an indentation width identifier"):(A=o+z-1,v=!0);else break;if(yS(V)){do V=s.input.charCodeAt(++s.position);while(yS(V));if(V===35)do V=s.input.charCodeAt(++s.position);while(!z5(V)&&V!==0)}for(;V!==0;){for(ube(s
`,k?1+O:O):y===lbe&&k&&(s.result+=`
`);break}for(m?yS(V)?(j=!0,s.result+=um.repeat(`
`,k?1+O:O)):j?(j=!1,s.result+=um.repeat(`
`,O+1)):O===0?k&&(s.result+=" "):s.result+=um.repeat(`
`,O):s.result+=um.repeat(`
`,k?1+O:O),k=!0,v=!0,O=0,f=s.position;!z5(V)&&V!==0;)V=s.input.charCodeAt(++s.position);a7(s,f,s.position,!1)}return!0}function M$e(s,o){var f,m=s.tag,y=s.anchor,k=[],v,A=!1,O;if(s.firstTabInLine!==-1)return!1;for(s.anchor!==null&&(s.anchorMap[s.anchor]=k),O=s.input.charCodeAt(s.position);O!==0&&(s.firstTabInLine!==-1&&(s.position=s.firstTabInLine,Ra(s,"tab characters must not be used in indentation")),!(O!==45||(v=s.input.charCodeAt(s.position+1),!cv(v))));){if(A=!0,s.position++,M1(s,!0,-1)&&s.lineIndent<=o){k.push(null),O=s.input.charCodeAt(s.position);continue}if(f=s.line,EO(s,o,b$e,!1,!0),k.push(s.result),M1(s,!0,-1),O=s.input.charCodeAt(s.position),(s.line===f||s.lineIndent>o)&&O!==0)Ra(s,"bad indentation of a sequence entry");else if(s.lineIndent<o)break}return A?(s.tag=m,s.anchor=y,s.kind="sequence",s.result=k,!0):!1}function nFt(s,o,f){var m,y,k,v,A,O,j=s.tag,z=s.anchor,V={},Y=Object.create(null),G=null,J=null,ce=null,me=!1,_e=!1,we;if(s.firstTabInLine!==-1)return!1;for(s.anchor!==null&&(s.anchorMap[s.anchor]=V),we=s.input.charCodeAt(s.position);we!==0;){if(!me&&s.firstTabInLine!==-1&&(s.position=s.firstTabInLine,Ra(s,"tab characters must not be used in indentation")),m=s.input.charCodeAt(s.position+1),k=s.line,(we===63||we===58)&&cv(m))we===63?(me&&(kO(s,V,Y,G,J,null,v,A,O),G=J=ce=null),_e=!0,me=!0,y=!0):me?(me=!1,y=!0):Ra(s,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),s.position+=1,we=m;else{if(v=s.line,A=s.lineStart,O=s.position,!EO(s,f,v$e,!1,!0))break;if(s.line===k){for(we=s.input.charCodeAt(s.position);yS(we);)we=s.input.charCodeAt(++s.position);if(we===58)we=s.input.charCodeAt(++s.position),cv(we)||Ra(s,"a whitespace character is expected after the key-value separator within a block mapping"),me&&(kO(s,V,Y,G,J,null,v,A,O),G=J=ce=null),_e=!0,me=!1,y=!1,G=s.tag,J=s.result;else if(_e)Ra(s,"can not read an implicit mapping pair; a colon is missed");else return s.tag=j,s.anchor=z,!0}else if(_e)Ra(s,"can not read a block mapping entry; a multiline key may not be an implicit key");else return s.tag=j,s.anchor=z,!0}if((s.line===k||s.lineIndent>o)&&(me&&(v=s.line,A=s.lineStart,O=s.position),EO(s,o,kZ,!0,y)&&(me?J=s.result:ce=s.result),me||(kO(s,V,Y,G,J,ce,v,A,O),G=J=ce=null),M1(s,!0,-1),we=s.input.charCodeAt(s.position)),(s.line===k||s.lineIndent>o)&&we!==0)Ra(s,"bad indentation of a mapping entry");else if(s.lineIndent<o)break}return me&&kO(s,V,Y,G,J,null,v,A,O),_e&&(s.tag=j,s.anchor=z,s.kind="mapping",s.result=V),_e}function rFt(s){var o,f=!1,m=!1,y,k,v;if(v=s.input.charCodeAt(s.position),v!==33)return!1;if(s.tag!==null&&Ra(s,"duplication of a tag property"),v=s.input.charCodeAt(++s.position),v===60?(f=!0,v=s.input.charCodeAt(++s.position)):v===33?(m=!0,y="!!",v=s.input.charCodeAt(++s.position)):y="!",o=s.position,f){do v=s.input.charCodeAt(++s.position);while(v!==0&&v!==62);s.position<s.length?(k=s.input.slice(o,s.position),v=s.input.charCodeAt(++s.position)):Ra(s,"unexpected end of the stream within a verbatim tag")}else{for(;v!==0&&!cv(v);)v===33&&(m?Ra(s,"tag suffix cannot contain exclamation marks"):(y=s.input.slice(o-1,s.position+1),y$e.test(y)||Ra(s,"named tag handle cannot contain such characters"),m=!0,o=s.position+1)),v=s.input.charCodeAt(++s.position);k=s.input.slice(o,s.position),UBt.test(k)&&Ra(s,"tag suffix cannot contain flow indicator characters")}k&&!_$e.test(k)&&Ra(s,"tag name cannot contain such characters: "+k);try{k=decodeURIComponent(k)}catch{Ra(s,"tag name is malformed: "+k)}return f?s.tag=k:s7.call(s.tagMap,y)?s.tag=s.tagMap[y]+k:y==="!"?s.tag="!"+k:y==="!!"?s.tag="tag:yaml.org,2002:"+k:Ra(s,'undeclared tag handle "'+y+'"'),!0}function iFt(s){var o,f;if(f=s.input.charCodeAt(s.position),f!==38)return!1;for(s.anchor!==null&&Ra(s,"duplication of an anchor property"),f=s.input.charCodeAt(++s.position),o=s.position;f!==0&&!cv(f)&&!_O(f);)f=s.input.charCodeAt(++s.position);return s.position===o&&Ra(s,"name of an anchor node must contain at least one character"),s.anchor=s.input.slice(o,s.position),!0}function sFt(s){var o,f,m;if(m=s.input.
`),s.charCodeAt(0)===65279&&(s=s.slice(1)));var f=new XBt(s,o),m=s.indexOf("\0");for(m!==-1&&(f.position=m,Ra(f,"null byte is not allowed in input")),f.input+="\0";f.input.charCodeAt(f.position)===32;)f.lineIndent+=1,f.position+=1;for(;f.position<f.length-1;)aFt(f);return f.documents}function oFt(s,o,f){o!==null&&typeof o=="object"&&typeof f>"u"&&(f=o,o=null);var m=L$e(s,f);if(typeof o!="function")return m;for(var y=0,k=m.length;y<k;y+=1)o(m[y])}function cFt(s,o){var f=L$e(s,o);if(f.length!==0){if(f.length===1)return f[0];throw new ox("expected a single document in the stream, but found more")}}var lFt=oFt,uFt=cFt,hFt={loadAll:lFt,load:uFt},fFt=g$e,dFt=hFt.load;const I$e=/^-{3}\s*[\n\r](.*?)[\n\r]-{3}\s*[\n\r]+/s;function gFt(s,o){var f;const m=s.match(I$e);if(m){const y=dFt(m[1],{schema:fFt});return y!=null&&y.title&&((f=o.setDiagramTitle)==null||f.call(o,y.title)),s.slice(m[0].length)}else return s}const pFt=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,mFt=/\s*%%.*\n/gm,SZ={},fbe=function(s,o){s=s.replace(I$e,"").replace(pFt,"").replace(mFt,`
`);for(const[f,{detector:m}]of Object.entries(SZ))if(m(s,o))return f;throw new Error(`No diagram type detected for text: ${s}`)},O$e=(...s)=>{for(const{id:o,detector:f,loader:m}of s)D$e(o,f,m)},D$e=(s,o,f)=>{SZ[s]?ne.error(`Detector with key ${s} already exists`):SZ[s]={detector:o,loader:f},ne.debug(`Detector with key ${s} added${f?" with loader":""}`)},vFt=s=>SZ[s].loader,dbe=function(s,o,f){const{depth:m,clobber:y}=Object.assign({depth:2,clobber:!1},f);return Array.isArray(o)&&!Array.isArray(s)?(o.forEach(k=>dbe(s,k,f)),s):Array.isArray(o)&&Array.isArray(s)?(o.forEach(k=>{s.includes(k)||s.push(k)}),s):s===void 0||m<=0?s!=null&&typeof s=="object"&&typeof o=="object"?Object.assign(s,o):o:(o!==void 0&&typeof s=="object"&&typeof o=="object"&&Object.keys(o).forEach(k=>{typeof o[k]=="object"&&(s[k]===void 0||typeof s[k]=="object")?(s[k]===void 0&&(s[k]=Array.isArray(o[k])?[]:{}),s[k]=dbe(s[k],o[k],{depth:m-1,clobber:y})):(y||typeof s[k]!="object"&&typeof o[k]!="object")&&(s[k]=o[k])}),s)},eg=dbe;var bFt=typeof FI=="object"&&FI&&FI.Object===Object&&FI;const P$e=bFt;var wFt=typeof self=="object"&&self&&self.Object===Object&&self,yFt=P$e||wFt||Function("return this")();const E3=yFt;var _Ft=E3.Symbol;const mw=_Ft;var N$e=Object.prototype,xFt=N$e.hasOwnProperty,kFt=N$e.toString,tj=mw?mw.toStringTag:void 0;function EFt(s){var o=xFt.call(s,tj),f=s[tj];try{s[tj]=void 0;var m=!0}catch{}var y=kFt.call(s);return m&&(o?s[tj]=f:delete s[tj]),y}var TFt=Object.prototype,SFt=TFt.toString;function CFt(s){return SFt.call(s)}var AFt="[object Null]",MFt="[object Undefined]",R$e=mw?mw.toStringTag:void 0;function _S(s){return s==null?s===void 0?MFt:AFt:R$e&&R$e in Object(s)?EFt(s):CFt(s)}function Vb(s){var o=typeof s;return s!=null&&(o=="object"||o=="function")}var LFt="[object AsyncFunction]",IFt="[object Function]",OFt="[object GeneratorFunction]",DFt="[object Proxy]";function TO(s){if(!Vb(s))return!1;var o=_S(s);return o==IFt||o==OFt||o==LFt||o==DFt}var PFt=E3["__core-js_shared__"];const gbe=PFt;var B$e=function(){var s=/[^.]+$/.exec(gbe&&gbe.keys&&gbe.keys.IE_PROTO||"");return s?"Symbol(src)_1."+s:""}();function NFt(s){return!!B$e&&B$e in s}var RFt=Function.prototype,BFt=RFt.toString;function xS(s){if(s!=null){try{return BFt.call(s)}catch{}try{return s+""}catch{}}return""}var FFt=/[\\^$.*+?()[\]{}|]/g,jFt=/^\[object .+?Constructor\]$/,$Ft=Function.prototype,HFt=Object.prototype,zFt=$Ft.toString,VFt=HFt.hasOwnProperty,qFt=RegExp("^"+zFt.call(VFt).replace(FFt,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function UFt(s){if(!Vb(s)||NFt(s))return!1;var o=TO(s)?qFt:jFt;return o.test(xS(s))}function GFt(s,o){return s==null?void 0:s[o]}function kS(s,o){var f=GFt(s,o);return UFt(f)?f:void 0}var WFt=kS(Object,"create");const nj=WFt;function KFt(){this.__data__=nj?nj(null):{},this.size=0}function YFt(s){var o=this.has(s)&&delete this.__data__[s];return this.size-=o?1:0,o}var XFt="__lodash_hash_undefined__",QFt=Object.prototype,ZFt=QFt.hasOwnProperty;function JFt(s){var o=this.__data__;if(nj){var f=o[s];return f===XFt?void 0:f}return ZFt.call(o,s)?o[s]:void 0}var ejt=Object.prototype,tjt=ejt.hasOwnProperty;function njt(s){var o=this.__data__;return nj?o[s]!==void 0:tjt.call(o,s)}var rjt="__lodash_hash_undefined__";function ijt(s,o){var f=this.__data__;return this.size+=this.has(s)?0:1,f[s]=nj&&o===void 0?rjt:o,this}function ES(s){var o=-1,f=s==null?0:s.length;for(this.clear();++o<f;){var m=s[o];this.set(m[0],m[1])}}ES.prototype.clear=KFt,ES.prototype.delete=YFt,ES.prototype.get=JFt,ES.prototype.has=njt,ES.prototype.set=ijt;function sjt(){this.__data__=[],this.size=0}function SO(s,o){return s===o||s!==s&&o!==o}function CZ(s,o){for(var f=s.length;f--;)if(SO(s[f][0],o))return f;return-1}var ajt=Array.prototype,ojt=ajt.splice;function cjt(s){var o=this.__data__,f=CZ(o,s);if(f<0)return!1;var m=o.length-1;return f==m?o.pop():ojt.call(o,f,1),--this.size,!0}function ljt(s){var o=this.__data__,f=CZ(o,s);return f<0?void 0:o[f][1]}function ujt(s){return CZ(this.__data__,s)>-1}function hjt(s,o){var f=this.__data__,m=CZ(f,s)
`,"ig");s=s.trim().replace(f,"").replace(/'/gm,'"'),ne.debug(`Detecting diagram directive${o!==null?" type:"+o:""} based on the text:${s}`);let m;const y=[];for(;(m=pbe.exec(s))!==null;)if(m.index===pbe.lastIndex&&pbe.lastIndex++,m&&!o||o&&m[1]&&m[1].match(o)||o&&m[2]&&m[2].match(o)){const k=m[1]?m[1]:m[2],v=m[3]?m[3].trim():m[4]?JSON.parse(m[4].trim()):null;y.push({type:k,args:v})}return y.length===0&&y.push({type:s,args:null}),y.length===1?y[0]:y}catch(f){return ne.error(`ERROR: ${f.message} - Unable to parse directive
${o!==null?" type:"+o:""} based on the text:${s}`),{type:null,args:null}}},kjt=function(s,o){for(const[f,m]of o.entries())if(m.match(s))return f;return-1};function lv(s,o){if(!s)return o;const f=`curve${s.charAt(0).toUpperCase()+s.slice(1)}`;return yjt[f]||o}function Ejt(s,o){const f=s.trim();if(f)return o.securityLevel!=="loose"?xt(f):f}const Tjt=(s,...o)=>{const f=s.split("."),m=f.length-1,y=f[m];let k=window;for(let v=0;v<m;v++)if(k=k[f[v]],!k)return;k[y](...o)};function MZ(s,o){return s&&o?Math.sqrt(Math.pow(o.x-s.x,2)+Math.pow(o.y-s.y,2)):0}function Sjt(s){let o,f=0;s.forEach(k=>{f+=MZ(k,o),o=k});let m=f/2,y;return o=void 0,s.forEach(k=>{if(o&&!y){const v=MZ(k,o);if(v<m)m-=v;else{const A=m/v;A<=0&&(y=o),A>=1&&(y={x:k.x,y:k.y}),A>0&&A<1&&(y={x:(1-A)*o.x+A*k.x,y:(1-A)*o.y+A*k.y})}}o=k}),y}function Cjt(s){return s.length===1?s[0]:Sjt(s)}const Ajt=(s,o,f)=>{let m;ne.info(`our points ${JSON.stringify(o)}`),o[0]!==f&&(o=o.reverse());let k=25,v;m=void 0,o.forEach(z=>{if(m&&!v){const V=MZ(z,m);if(V<k)k-=V;else{const Y=k/V;Y<=0&&(v=m),Y>=1&&(v={x:z.x,y:z.y}),Y>0&&Y<1&&(v={x:(1-Y)*m.x+Y*z.x,y:(1-Y)*m.y+Y*z.y})}}m=z});const A=s?10:5,O=Math.atan2(o[0].y-v.y,o[0].x-v.x),j={x:0,y:0};return j.x=Math.sin(O)*A+(o[0].x+v.x)/2,j.y=-Math.cos(O)*A+(o[0].y+v.y)/2,j};function Mjt(s,o,f){let m=JSON.parse(JSON.stringify(f)),y;ne.info("our points",m),o!=="start_left"&&o!=="start_right"&&(m=m.reverse()),m.forEach(V=>{y=V});let v=25+s,A;y=void 0,m.forEach(V=>{if(y&&!A){const Y=MZ(V,y);if(Y<v)v-=Y;else{const G=v/Y;G<=0&&(A=y),G>=1&&(A={x:V.x,y:V.y}),G>0&&G<1&&(A={x:(1-G)*y.x+G*V.x,y:(1-G)*y.y+G*V.y})}}y=V});const O=10+s*.5,j=Math.atan2(m[0].y-A.y,m[0].x-A.x),z={x:0,y:0};return z.x=Math.sin(j)*O+(m[0].x+A.x)/2,z.y=-Math.cos(j)*O+(m[0].y+A.y)/2,o==="start_left"&&(z.x=Math.sin(j+Math.PI)*O+(m[0].x+A.x)/2,z.y=-Math.cos(j+Math.PI)*O+(m[0].y+A.y)/2),o==="end_right"&&(z.x=Math.sin(j-Math.PI)*O+(m[0].x+A.x)/2-5,z.y=-Math.cos(j-Math.PI)*O+(m[0].y+A.y)/2-5),o==="end_left"&&(z.x=Math.sin(j)*O+(m[0].x+A.x)/2-5,z.y=-Math.cos(j)*O+(m[0].y+A.y)/2-5),z}function T3(s){let o="",f="";for(const m of s)m!==void 0&&(m.startsWith("color:")||m.startsWith("text-align:")?f=f+m+";":o=o+m+";");return{style:o,labelStyle:f}}let j$e=0;const $$e=()=>(j$e++,"id-"+Math.random().toString(36).substr(2,12)+"-"+j$e);function Ljt(s){let o="";const f="0123456789abcdef",m=f.length;for(let y=0;y<s;y++)o+=f.charAt(Math.floor(Math.random()*m));return o}const H$e=s=>Ljt(s.length),Ijt=function(){return{x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0}},Ojt=function(s,o){const f=o.text.replace(Oo.lineBreakRegex," "),[,m]=ij(o.fontSize),y=s.append("text");y.attr("x",o.x),y.attr("y",o.y),y.style("text-anchor",o.anchor),y.style("font-family",o.fontFamily),y.style("font-size",m),y.style("font-weight",o.fontWeight),y.attr("fill",o.fill),o.class!==void 0&&y.attr("class",o.class);const k=y.append("tspan");return k.attr("x",o.x+o.textMargin*2),k.attr("fill",o.fill),k.text(f),y},z$e=CO((s,o,f)=>{if(!s||(f=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"<br/>"},f),Oo.lineBreakRegex.test(s)))return s;const m=s.split(" "),y=[];let k="";return m.forEach((v,A)=>{const O=V5(`${v} `,f),j=V5(k,f);if(O>o){const{hyphenatedStrings:Y,remainingWord:G}=Djt(v,o,"-",f);y.push(k,...Y),k=G}else j+O>=o?(y.push(k),k=v):k=[k,v].filter(Boolean).join(" ");A+1===m.length&&y.push(k)}),y.filter(v=>v!=="").join(f.joinWith)},(s,o,f)=>`${s}${o}${f.fontSize}${f.fontWeight}${f.fontFamily}${f.joinWith}`),Djt=CO((s,o,f="-",m)=>{m=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},m);const y=[...s],k=[];let v="";return y.forEach((A,O)=>{const j=`${v}${A}`;if(V5(j,m)>=o){const V=O+1,Y=y.length===V,G=`${j}${f}`;k.push(Y?j:G),v=""}else v=j}),{hyphenatedStrings:k,remainingWord:v}},(s,o,f="-",m)=>`${s}${o}${f}${m.fontSize}${m.fontWeight}${m.fontFamily}`);function mbe(s,o){return o=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:15},o),vbe(s,o).height}function V5(s,o){return o=Object.assign({fontSize:12,fontWeight
fill: ${s.nodeBorder};
fill: ${s.classText};
stroke: none;
font-family: ${s.fontFamily};
font-size: 10px;
.title {
font-weight: bolder;
}
}
.nodeLabel, .edgeLabel {
color: ${s.classText};
}
.edgeLabel .label rect {
fill: ${s.mainBkg};
}
.label text {
fill: ${s.classText};
}
.edgeLabel .label span {
background: ${s.mainBkg};
}
.classTitle {
font-weight: bolder;
}
.node rect,
.node circle,
.node ellipse,
.node polygon,
.node path {
fill: ${s.mainBkg};
stroke: ${s.nodeBorder};
stroke-width: 1px;
}
.divider {
stroke: ${s.nodeBorder};
stroke: 1;
}
g.clickable {
cursor: pointer;
}
g.classGroup rect {
fill: ${s.mainBkg};
stroke: ${s.nodeBorder};
}
g.classGroup line {
stroke: ${s.nodeBorder};
stroke-width: 1;
}
.classLabel .box {
stroke: none;
stroke-width: 0;
fill: ${s.mainBkg};
opacity: 0.5;
}
.classLabel .label {
fill: ${s.nodeBorder};
font-size: 10px;
}
.relation {
stroke: ${s.lineColor};
stroke-width: 1;
fill: none;
}
.dashed-line{
stroke-dasharray: 3;
}
.dotted-line{
stroke-dasharray: 1 2;
}
#compositionStart, .composition {
fill: ${s.lineColor} !important;
stroke: ${s.lineColor} !important;
stroke-width: 1;
}
#compositionEnd, .composition {
fill: ${s.lineColor} !important;
stroke: ${s.lineColor} !important;
stroke-width: 1;
}
#dependencyStart, .dependency {
fill: ${s.lineColor} !important;
stroke: ${s.lineColor} !important;
stroke-width: 1;
}
#dependencyStart, .dependency {
fill: ${s.lineColor} !important;
stroke: ${s.lineColor} !important;
stroke-width: 1;
}
#extensionStart, .extension {
fill: ${s.mainBkg} !important;
stroke: ${s.lineColor} !important;
stroke-width: 1;
}
#extensionEnd, .extension {
fill: ${s.mainBkg} !important;
stroke: ${s.lineColor} !important;
stroke-width: 1;
}
#aggregationStart, .aggregation {
fill: ${s.mainBkg} !important;
stroke: ${s.lineColor} !important;
stroke-width: 1;
}
#aggregationEnd, .aggregation {
fill: ${s.mainBkg} !important;
stroke: ${s.lineColor} !important;
stroke-width: 1;
}
#lollipopStart, .lollipop {
fill: ${s.mainBkg} !important;
stroke: ${s.lineColor} !important;
stroke-width: 1;
}
#lollipopEnd, .lollipop {
fill: ${s.mainBkg} !important;
stroke: ${s.lineColor} !important;
stroke-width: 1;
}
.edgeTerminals {
font-size: 11px;
}
.classTitleText {
text-anchor: middle;
font-size: 18px;
fill: ${s.textColor};
}
`,iHe=s=>`
.entityBox {
fill: ${s.mainBkg};
stroke: ${s.nodeBorder};
}
.attributeBoxOdd {
fill: ${s.attributeBackgroundColorOdd};
stroke: ${s.nodeBorder};
}
.attributeBoxEven {
fill: ${s.attributeBackgroundColorEven};
stroke: ${s.nodeBorder};
}
.relationshipLabelBox {
fill: ${s.tertiaryColor};
opacity: 0.7;
background-color: ${s.tertiaryColor};
rect {
opacity: 0.5;
}
}
.relationshipLine {
stroke: ${s.lineColor};
}
.entityTitleText {
text-anchor: middle;
font-size: 18px;
fill: ${s.textColor};
}
`,Cbe=()=>"",$Z=s=>`.label {
font-family: ${s.fontFamily};
color: ${s.nodeTextColor||s.textColor};
}
.cluster-label text {
fill: ${s.titleColor};
}
.cluster-label span {
color: ${s.titleColor};
}
.label text,span {
fill: ${s.nodeTextColor||s.textColor};
color: ${s.nodeTextColor||s.textColor};
}
.node rect,
.node circle,
.node ellipse,
.node polygon,
.node path {
fill: ${s.mainBkg};
stroke: ${s.nodeBorder};
stroke-width: 1px;
}
.node .label {
text-align: center;
}
.node.clickable {
cursor: pointer;
}
.arrowheadPath {
fill: ${s.arrowheadColor};
}
.edgePath .path {
stroke: ${s.lineColor};
stroke-width: 2.0px;
}
.flowchart-link {
stroke: ${s.lineColor};
fill: none;
}
.edgeLabel {
background-color: ${s.edgeLabelBackground};
rect {
opacity: 0.5;
background-color: ${s.edgeLabelBackground};
fill: ${s.edgeLabelBackground};
}
text-align: center;
}
.cluster rect {
fill: ${s.clusterBkg};
stroke: ${s.clusterBorder};
stroke-width: 1px;
}
.cluster text {
fill: ${s.titleColor};
}
.cluster span {
color: ${s.titleColor};
}
/* .cluster div {
color: ${s.titleColor};
} */
div.mermaidTooltip {
position: absolute;
text-align: center;
max-width: 200px;
padding: 2px;
font-family: ${s.fontFamily};
font-size: 12px;
background: ${s.tertiaryColor};
border: 1px solid ${s.border2};
border-radius: 2px;
pointer-events: none;
z-index: 100;
}
.flowchartTitleText {
text-anchor: middle;
font-size: 18px;
fill: ${s.textColor};
}
`,sHe=s=>`
.mermaid-main-font {
font-family: "trebuchet ms", verdana, arial, sans-serif;
font-family: var(--mermaid-font-family);
}
.exclude-range {
fill: ${s.excludeBkgColor};
}
.section {
stroke: none;
opacity: 0.2;
}
.section0 {
fill: ${s.sectionBkgColor};
}
.section2 {
fill: ${s.sectionBkgColor2};
}
.section1,
.section3 {
fill: ${s.altSectionBkgColor};
opacity: 0.2;
}
.sectionTitle0 {
fill: ${s.titleColor};
}
.sectionTitle1 {
fill: ${s.titleColor};
}
.sectionTitle2 {
fill: ${s.titleColor};
}
.sectionTitle3 {
fill: ${s.titleColor};
}
.sectionTitle {
text-anchor: start;
// font-size: ${s.ganttFontSize};
// text-height: 14px;
font-family: 'trebuchet ms', verdana, arial, sans-serif;
font-family: var(--mermaid-font-family);
}
/* Grid and axis */
.grid .tick {
stroke: ${s.gridColor};
opacity: 0.8;
shape-rendering: crispEdges;
text {
font-family: ${s.fontFamily};
fill: ${s.textColor};
}
}
.grid path {
stroke-width: 0;
}
/* Today line */
.today {
fill: none;
stroke: ${s.todayLineColor};
stroke-width: 2px;
}
/* Task styling */
/* Default task */
.task {
stroke-width: 2;
}
.taskText {
text-anchor: middle;
font-family: 'trebuchet ms', verdana, arial, sans-serif;
font-family: var(--mermaid-font-family);
}
// .taskText:not([font-size]) {
// font-size: ${s.ganttFontSize};
// }
.taskTextOutsideRight {
fill: ${s.taskTextDarkColor};
text-anchor: start;
// font-size: ${s.ganttFontSize};
font-family: 'trebuchet ms', verdana, arial, sans-serif;
font-family: var(--mermaid-font-family);
}
.taskTextOutsideLeft {
fill: ${s.taskTextDarkColor};
text-anchor: end;
// font-size: ${s.ganttFontSize};
}
/* Special case clickable */
.task.clickable {
cursor: pointer;
}
.taskText.clickable {
cursor: pointer;
fill: ${s.taskTextClickableColor} !important;
font-weight: bold;
}
.taskTextOutsideLeft.clickable {
cursor: pointer;
fill: ${s.taskTextClickableColor} !important;
font-weight: bold;
}
.taskTextOutsideRight.clickable {
cursor: pointer;
fill: ${s.taskTextClickableColor} !important;
font-weight: bold;
}
/* Specific task settings for the sections*/
.taskText0,
.taskText1,
.taskText2,
.taskText3 {
fill: ${s.taskTextColor};
}
.task0,
.task1,
.task2,
.task3 {
fill: ${s.taskBkgColor};
stroke: ${s.taskBorderColor};
}
.taskTextOutside0,
.taskTextOutside2
{
fill: ${s.taskTextOutsideColor};
}
.taskTextOutside1,
.taskTextOutside3 {
fill: ${s.taskTextOutsideColor};
}
/* Active task */
.active0,
.active1,
.active2,
.active3 {
fill: ${s.activeTaskBkgColor};
stroke: ${s.activeTaskBorderColor};
}
.activeText0,
.activeText1,
.activeText2,
.activeText3 {
fill: ${s.taskTextDarkColor} !important;
}
/* Completed task */
.done0,
.done1,
.done2,
.done3 {
stroke: ${s.doneTaskBorderColor};
fill: ${s.doneTaskBkgColor};
stroke-width: 2;
}
.doneText0,
.doneText1,
.doneText2,
.doneText3 {
fill: ${s.taskTextDarkColor} !important;
}
/* Tasks on the critical line */
.crit0,
.crit1,
.crit2,
.crit3 {
stroke: ${s.critBorderColor};
fill: ${s.critBkgColor};
stroke-width: 2;
}
.activeCrit0,
.activeCrit1,
.activeCrit2,
.activeCrit3 {
stroke: ${s.critBorderColor};
fill: ${s.activeTaskBkgColor};
stroke-width: 2;
}
.doneCrit0,
.doneCrit1,
.doneCrit2,
.doneCrit3 {
stroke: ${s.critBorderColor};
fill: ${s.doneTaskBkgColor};
stroke-width: 2;
cursor: pointer;
shape-rendering: crispEdges;
}
.milestone {
transform: rotate(45deg) scale(0.8,0.8);
}
.milestoneText {
font-style: italic;
}
.doneCritText0,
.doneCritText1,
.doneCritText2,
.doneCritText3 {
fill: ${s.taskTextDarkColor} !important;
}
.activeCritText0,
.activeCritText1,
.activeCritText2,
.activeCritText3 {
fill: ${s.taskTextDarkColor} !important;
}
.titleText {
text-anchor: middle;
font-size: 18px;
fill: ${s.textColor} ;
font-family: 'trebuchet ms', verdana, arial, sans-serif;
font-family: var(--mermaid-font-family);
}
`,aHe=()=>"",oHe=s=>`
.pieCircle{
stroke: ${s.pieStrokeColor};
stroke-width : ${s.pieStrokeWidth};
opacity : ${s.pieOpacity};
}
.pieTitleText {
text-anchor: middle;
font-size: ${s.pieTitleTextSize};
fill: ${s.pieTitleTextColor};
font-family: ${s.fontFamily};
}
.slice {
font-family: ${s.fontFamily};
fill: ${s.pieSectionTextColor};
font-size:${s.pieSectionTextSize};
// fill: white;
}
.legend text {
fill: ${s.pieLegendTextColor};
font-family: ${s.fontFamily};
font-size: ${s.pieLegendTextSize};
}
`,cHe=s=>`
marker {
fill: ${s.relationColor};
stroke: ${s.relationColor};
}
marker.cross {
stroke: ${s.lineColor};
}
svg {
font-family: ${s.fontFamily};
font-size: ${s.fontSize};
}
.reqBox {
fill: ${s.requirementBackground};
fill-opacity: 100%;
stroke: ${s.requirementBorderColor};
stroke-width: ${s.requirementBorderSize};
}
.reqTitle, .reqLabel{
fill: ${s.requirementTextColor};
}
.reqLabelBox {
fill: ${s.relationLabelBackground};
fill-opacity: 100%;
}
.req-title-line {
stroke: ${s.requirementBorderColor};
stroke-width: ${s.requirementBorderSize};
}
.relationshipLine {
stroke: ${s.relationColor};
stroke-width: 1;
}
.relationshipLabel {
fill: ${s.relationLabelColor};
}
`,lHe=s=>`.actor {
stroke: ${s.actorBorder};
fill: ${s.actorBkg};
}
text.actor > tspan {
fill: ${s.actorTextColor};
stroke: none;
}
.actor-line {
stroke: ${s.actorLineColor};
}
.messageLine0 {
stroke-width: 1.5;
stroke-dasharray: none;
stroke: ${s.signalColor};
}
.messageLine1 {
stroke-width: 1.5;
stroke-dasharray: 2, 2;
stroke: ${s.signalColor};
}
#arrowhead path {
fill: ${s.signalColor};
stroke: ${s.signalColor};
}
.sequenceNumber {
fill: ${s.sequenceNumberColor};
}
#sequencenumber {
fill: ${s.signalColor};
}
#crosshead path {
fill: ${s.signalColor};
stroke: ${s.signalColor};
}
.messageText {
fill: ${s.signalTextColor};
stroke: none;
}
.labelBox {
stroke: ${s.labelBoxBorderColor};
fill: ${s.labelBoxBkgColor};
}
.labelText, .labelText > tspan {
fill: ${s.labelTextColor};
stroke: none;
}
.loopText, .loopText > tspan {
fill: ${s.loopTextColor};
stroke: none;
}
.loopLine {
stroke-width: 2px;
stroke-dasharray: 2, 2;
stroke: ${s.labelBoxBorderColor};
fill: ${s.labelBoxBorderColor};
}
.note {
//stroke: #decc93;
stroke: ${s.noteBorderColor};
fill: ${s.noteBkgColor};
}
.noteText, .noteText > tspan {
fill: ${s.noteTextColor};
stroke: none;
}
.activation0 {
fill: ${s.activationBkgColor};
stroke: ${s.activationBorderColor};
}
.activation1 {
fill: ${s.activationBkgColor};
stroke: ${s.activationBorderColor};
}
.activation2 {
fill: ${s.activationBkgColor};
stroke: ${s.activationBorderColor};
}
.actorPopupMenu {
position: absolute;
}
.actorPopupMenuPanel {
position: absolute;
fill: ${s.actorBkg};
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
filter: drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));
}
.actor-man line {
stroke: ${s.actorBorder};
fill: ${s.actorBkg};
}
.actor-man circle, line {
stroke: ${s.actorBorder};
fill: ${s.actorBkg};
stroke-width: 2px;
}
`,HZ=s=>`
defs #statediagram-barbEnd {
fill: ${s.transitionColor};
stroke: ${s.transitionColor};
}
g.stateGroup text {
fill: ${s.nodeBorder};
stroke: none;
font-size: 10px;
}
g.stateGroup text {
fill: ${s.textColor};
stroke: none;
font-size: 10px;
}
g.stateGroup .state-title {
font-weight: bolder;
fill: ${s.stateLabelColor};
}
g.stateGroup rect {
fill: ${s.mainBkg};
stroke: ${s.nodeBorder};
}
g.stateGroup line {
stroke: ${s.lineColor};
stroke-width: 1;
}
.transition {
stroke: ${s.transitionColor};
stroke-width: 1;
fill: none;
}
.stateGroup .composit {
fill: ${s.background};
border-bottom: 1px
}
.stateGroup .alt-composit {
fill: #e0e0e0;
border-bottom: 1px
}
.state-note {
stroke: ${s.noteBorderColor};
fill: ${s.noteBkgColor};
text {
fill: ${s.noteTextColor};
stroke: none;
font-size: 10px;
}
}
.stateLabel .box {
stroke: none;
stroke-width: 0;
fill: ${s.mainBkg};
opacity: 0.5;
}
.edgeLabel .label rect {
fill: ${s.labelBackgroundColor};
opacity: 0.5;
}
.edgeLabel .label text {
fill: ${s.transitionLabelColor||s.tertiaryTextColor};
}
.label div .edgeLabel {
color: ${s.transitionLabelColor||s.tertiaryTextColor};
}
.stateLabel text {
fill: ${s.stateLabelColor};
font-size: 10px;
font-weight: bold;
}
.node circle.state-start {
fill: ${s.specialStateColor};
stroke: ${s.specialStateColor};
}
.node .fork-join {
fill: ${s.specialStateColor};
stroke: ${s.specialStateColor};
}
.node circle.state-end {
fill: ${s.innerEndBackground};
stroke: ${s.background};
stroke-width: 1.5
}
.end-state-inner {
fill: ${s.compositeBackground||s.background};
// stroke: ${s.background};
stroke-width: 1.5
}
.node rect {
fill: ${s.stateBkg||s.mainBkg};
stroke: ${s.stateBorder||s.nodeBorder};
stroke-width: 1px;
}
.node polygon {
fill: ${s.mainBkg};
stroke: ${s.stateBorder||s.nodeBorder};;
stroke-width: 1px;
}
#statediagram-barbEnd {
fill: ${s.lineColor};
}
.statediagram-cluster rect {
fill: ${s.compositeTitleBackground};
stroke: ${s.stateBorder||s.nodeBorder};
stroke-width: 1px;
}
.cluster-label, .nodeLabel {
color: ${s.stateLabelColor};
}
.statediagram-cluster rect.outer {
rx: 5px;
ry: 5px;
}
.statediagram-state .divider {
stroke: ${s.stateBorder||s.nodeBorder};
}
.statediagram-state .title-state {
rx: 5px;
ry: 5px;
}
.statediagram-cluster.statediagram-cluster .inner {
fill: ${s.compositeBackground||s.background};
}
.statediagram-cluster.statediagram-cluster-alt .inner {
fill: ${s.altBackground?s.altBackground:"#efefef"};
}
.statediagram-cluster .inner {
rx:0;
ry:0;
}
.statediagram-state rect.basic {
rx: 5px;
ry: 5px;
}
.statediagram-state rect.divider {
stroke-dasharray: 10,10;
fill: ${s.altBackground?s.altBackground:"#efefef"};
}
.note-edge {
stroke-dasharray: 5;
}
.statediagram-note rect {
fill: ${s.noteBkgColor};
stroke: ${s.noteBorderColor};
stroke-width: 1px;
rx: 0;
ry: 0;
}
.statediagram-note rect {
fill: ${s.noteBkgColor};
stroke: ${s.noteBorderColor};
stroke-width: 1px;
rx: 0;
ry: 0;
}
.statediagram-note text {
fill: ${s.noteTextColor};
}
.statediagram-note .nodeLabel {
color: ${s.noteTextColor};
}
.statediagram .edgeLabel {
color: red; // ${s.noteTextColor};
}
#dependencyStart, #dependencyEnd {
fill: ${s.lineColor};
stroke: ${s.lineColor};
stroke-width: 1;
}
.statediagramTitleText {
text-anchor: middle;
font-size: 18px;
fill: ${s.textColor};
}
`,uHe=s=>`.label {
font-family: 'trebuchet ms', verdana, arial, sans-serif;
font-family: var(--mermaid-font-family);
color: ${s.textColor};
}
.mouth {
stroke: #666;
}
line {
stroke: ${s.textColor}
}
.legend {
fill: ${s.textColor};
}
.label text {
fill: #333;
}
.label {
color: ${s.textColor}
}
.face {
${s.faceColor?`fill: ${s.faceColor}`:"fill: #FFF8DC"};
stroke: #999;
}
.node rect,
.node circle,
.node ellipse,
.node polygon,
.node path {
fill: ${s.mainBkg};
stroke: ${s.nodeBorder};
stroke-width: 1px;
}
.node .label {
text-align: center;
}
.node.clickable {
cursor: pointer;
}
.arrowheadPath {
fill: ${s.arrowheadColor};
}
.edgePath .path {
stroke: ${s.lineColor};
stroke-width: 1.5px;
}
.flowchart-link {
stroke: ${s.lineColor};
fill: none;
}
.edgeLabel {
background-color: ${s.edgeLabelBackground};
rect {
opacity: 0.5;
}
text-align: center;
}
.cluster rect {
}
.cluster text {
fill: ${s.titleColor};
}
div.mermaidTooltip {
position: absolute;
text-align: center;
max-width: 200px;
padding: 2px;
font-family: 'trebuchet ms', verdana, arial, sans-serif;
font-family: var(--mermaid-font-family);
font-size: 12px;
background: ${s.tertiaryColor};
border: 1px solid ${s.border2};
border-radius: 2px;
pointer-events: none;
z-index: 100;
}
.task-type-0, .section-type-0 {
${s.fillType0?`fill: ${s.fillType0}`:""};
}
.task-type-1, .section-type-1 {
${s.fillType0?`fill: ${s.fillType1}`:""};
}
.task-type-2, .section-type-2 {
${s.fillType0?`fill: ${s.fillType2}`:""};
}
.task-type-3, .section-type-3 {
${s.fillType0?`fill: ${s.fillType3}`:""};
}
.task-type-4, .section-type-4 {
${s.fillType0?`fill: ${s.fillType4}`:""};
}
.task-type-5, .section-type-5 {
${s.fillType0?`fill: ${s.fillType5}`:""};
}
.task-type-6, .section-type-6 {
${s.fillType0?`fill: ${s.fillType6}`:""};
}
.task-type-7, .section-type-7 {
${s.fillType0?`fill: ${s.fillType7}`:""};
}
.actor-0 {
${s.actor0?`fill: ${s.actor0}`:""};
}
.actor-1 {
${s.actor1?`fill: ${s.actor1}`:""};
}
.actor-2 {
${s.actor2?`fill: ${s.actor2}`:""};
}
.actor-3 {
${s.actor3?`fill: ${s.actor3}`:""};
}
.actor-4 {
${s.actor4?`fill: ${s.actor4}`:""};
}
.actor-5 {
${s.actor5?`fill: ${s.actor5}`:""};
}
`,hHe=s=>`.person {
stroke: ${s.personBorder};
fill: ${s.personBkg};
}
`,zZ={flowchart:$Z,"flowchart-v2":$Z,sequence:lHe,gantt:sHe,classDiagram:cj,"classDiagram-v2":cj,class:cj,stateDiagram:HZ,state:HZ,info:aHe,pie:oHe,er:iHe,error:Cbe,journey:uHe,requirement:cHe,c4:hHe},s$t=(s,o,f)=>{let m="";return s in zZ&&zZ[s]?m=zZ[s](f):ne.warn(`No theme found for ${s}`),` & {
font-family: ${f.fontFamily};
font-size: ${f.fontSize};
fill: ${f.textColor}
}
/* Classes common for multiple diagrams */
& .error-icon {
fill: ${f.errorBkgColor};
}
& .error-text {
fill: ${f.errorTextColor};
stroke: ${f.errorTextColor};
}
& .edge-thickness-normal {
stroke-width: 2px;
}
& .edge-thickness-thick {
stroke-width: 3.5px
}
& .edge-pattern-solid {
stroke-dasharray: 0;
}
& .edge-pattern-dashed{
stroke-dasharray: 3;
}
.edge-pattern-dotted {
stroke-dasharray: 2;
}
& .marker {
fill: ${f.lineColor};
stroke: ${f.lineColor};
}
& .marker.cross {
stroke: ${f.lineColor};
}
& svg {
font-family: ${f.fontFamily};
font-size: ${f.fontSize};
}
${m}
${o}
`},a$t=(s,o)=>{zZ[s]=o},o$t=s$t;let Abe="",VZ="",Mbe="";const Lbe=s=>zb(s,Qt()),hv=function(){Abe="",Mbe="",VZ=""},fv=function(s){Abe=Lbe(s).replace(/^\s+/g,"")},qb=function(){return Abe||VZ},Ub=function(s){Mbe=Lbe(s).replace(/\n\s+/g,`
`)},Gb=function(){return Mbe},A3=function(s){VZ=Lbe(s)},M3=function(){return VZ},fHe=Object.freeze(Object.defineProperty({__proto__:null,clear:hv,default:{setAccTitle:fv,getAccTitle:qb,setDiagramTitle:A3,getDiagramTitle:M3,getAccDescription:Gb,setAccDescription:Ub,clear:hv},getAccDescription:Gb,getAccTitle:qb,getDiagramTitle:M3,setAccDescription:Ub,setAccTitle:fv,setDiagramTitle:A3},Symbol.toStringTag,{value:"Module"}));let AS={};const Ibe=function(s,o,f,m){ne.debug("parseDirective is being called",o,f,m);try{if(o!==void 0)switch(o=o.trim(),f){case"open_directive":AS={};break;case"type_directive":if(!AS)throw new Error("currentDirective is undefined");AS.type=o.toLowerCase();break;case"arg_directive":if(!AS)throw new Error("currentDirective is undefined");AS.args=JSON.parse(o);break;case"close_directive":c$t(s,AS,m),AS=void 0;break}}catch(y){ne.error(`Error while rendering sequenceDiagram directive: ${o} jison context: ${f}`),ne.error(y.message)}},c$t=function(s,o,f){switch(ne.info(`Directive type=${o.type} with args:`,o.args),o.type){case"init":case"initialize":{["config"].forEach(m=>{o.args[m]!==void 0&&(f==="flowchart-v2"&&(f="flowchart"),o.args[f]=o.args[m],delete o.args[m])}),ne.info("sanitize in handleDirective",o.args),TS(o.args),ne.info("sanitize in handleDirective (done)",o.args),Sbe(o.args);break}case"wrap":case"nowrap":s&&s.setWrap&&s.setWrap(o.type==="wrap");break;case"themeCss":ne.warn("themeCss encountered");break;default:ne.warn(`Unhandled directive: source: '%%{${o.type}: ${JSON.stringify(o.args?o.args:{})}}%%`,o);break}},l$t=ne,u$t=Be,lj=Qt,h$t=s=>zb(s,lj()),dHe=CS,f$t=()=>fHe,d$t=(s,o,f,m)=>Ibe(s,o,f,m),qZ={},s0=(s,o,f)=>{if(qZ[s])throw new Error(`Diagram ${s} already registered.`);qZ[s]=o,f&&D$e(s,f),a$t(s,o.styles),o.injectUtils&&o.injectUtils(l$t,u$t,lj,h$t,dHe,f$t(),d$t)},gHe=s=>{if(s in qZ)return qZ[s];throw new Error(`Diagram ${s} not found.`)};var Obe=function(){var s=function(Ie,ge,Me,Ne){for(Me=Me||{},Ne=Ie.length;Ne--;Me[Ie[Ne]]=ge);return Me},o=[1,4],f=[1,7],m=[1,5],y=[1,9],k=[1,6],v=[2,6],A=[1,16],O=[6,8,14,20,22,24,25,27,29,32,37,40,50,55],j=[8,14,20,22,24,25,27,29,32,37,40],z=[8,13,14,20,22,24,25,27,29,32,37,40],V=[1,26],Y=[6,8,14,50,55],G=[8,14,55],J=[1,53],ce=[1,52],me=[8,14,30,33,35,38,55],_e=[1,67],we=[1,68],Se=[1,69],Oe=[8,14,33,35,42,55],De={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,directive:5,GG:6,document:7,EOF:8,":":9,DIR:10,options:11,body:12,OPT:13,NL:14,line:15,statement:16,commitStatement:17,mergeStatement:18,cherryPickStatement:19,acc_title:20,acc_title_value:21,acc_descr:22,acc_descr_value:23,acc_descr_multiline_value:24,section:25,branchStatement:26,CHECKOUT:27,ref:28,BRANCH:29,ORDER:30,NUM:31,CHERRY_PICK:32,COMMIT_ID:33,STR:34,COMMIT_TAG:35,EMPTYSTR:36,MERGE:37,COMMIT_TYPE:38,commitType:39,COMMIT:40,commit_arg:41,COMMIT_MSG:42,NORMAL:43,REVERSE:44,HIGHLIGHT:45,openDirective:46,typeDirective:47,closeDirective:48,argDirective:49,open_directive:50,type_directive:51,arg_directive:52,close_directive:53,ID:54,";":55,$accept:0,$end:1},terminals_:{2:"error",6:"GG",8:"EOF",9:":",10:"DIR",13:"OPT",14:"NL",20:"acc_title",21:"acc_title_value",22:"acc_descr",23:"acc_descr_value",24:"acc_descr_multiline_value",25:"section",27:"CHECKOUT",29:"BRANCH",30:"ORDER",31:"NUM",32:"CHERRY_PICK",33:"COMMIT_ID",34:"STR",35:"COMMIT_TAG",36:"EMPTYSTR",37:"MERGE",38:"COMMIT_TYPE",40:"COMMIT",42:"COMMIT_MSG",43:"NORMAL",44:"REVERSE",45:"HIGHLIGHT",50:"open_directive",51:"type_directive",52:"arg_directive",53:"close_directive",54:"ID",55:";"},productions_:[0,[3,2],[3,2],[3,3],[3,4],[3,5],[7,0],[7,2],[11,2],[11,1],[12,0],[12,2],[15,2],[15,1],[16,1],[16,1],[16,1],[16,2],[16,2],[16,1],[16,1],[16,1],[16,2],[26,2],[26,4],[19,3],[19,5],[19,5],[19,5],[19,5],[18,2],[18,4],[18,4],[18,4],[18,6],[18,6],[18,6],[18,6],[18,6],[18,6],[18,8],[18,8],[18,8],[18,8],[18,8],[18,8],[17,2],[17,3],[17,3],[17,5],[17,5],[17,3],[17,5],[17,5],[17,5],[17,5],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,3],[17,5],[17,5],[17,5],[17,5],[17,5],[17,5],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7]
`+Rt.showPosition()+`
Expecting `+Zn.join(", ")+", got '"+(this.terminals_[Ft]||Ft)+"'":Ge="Parse error on line "+(nt+1)+": Unexpected "+(Ft==Ot?"end of input":"'"+(this.terminals_[Ft]||Ft)+"'"),this.parseError(Ge,{text:Rt.match,token:this.terminals_[Ft]||Ft,line:Rt.yylineno,loc:On,expected:Zn})}if(Pt[0]instanceof Array&&Pt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+$t+", token: "+Ft);switch(Pt[0]){case 1:Ne.push(Ft),qe.push(Rt.yytext),ae.push(Rt.yylloc),Ne.push(Pt[1]),Ft=null,Ee=Rt.yyleng,Ce=Rt.yytext,nt=Rt.yylineno,On=Rt.yylloc;break;case 2:if(Ut=this.productions_[Pt[1]][1],et.$=qe[qe.length-Ut],et._$={first_line:ae[ae.length-(Ut||1)].first_line,last_line:ae[ae.length-1].last_line,first_column:ae[ae.length-(Ut||1)].first_column,last_column:ae[ae.length-1].last_column},Dt&&(et._$.range=[ae[ae.length-(Ut||1)].range[0],ae[ae.length-1].range[1]]),qt=this.performAction.apply(et,[Ce,Ee,nt,Gt.yy,Pt[1],qe,ae].concat(Vt)),typeof qt<"u")return qt;Ut&&(Ne=Ne.slice(0,-1*Ut*2),qe=qe.slice(0,-1*Ut),ae=ae.slice(0,-1*Ut)),Ne.push(this.productions_[Pt[1]][0]),qe.push(et.$),ae.push(et._$),it=Qe[Ne[Ne.length-2]][Ne[Ne.length-1]],Ne.push(it);break;case 3:return!0}}return!0}},Ve=function(){var Ie={EOF:1,parseError:function(Me,Ne){if(this.yy.parser)this.yy.parser.parseError(Me,Ne);else throw new Error(Me)},setInput:function(ge,Me){return this.yy=Me||this.yy||{},this._input=ge,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var ge=this._input[0];this.yytext+=ge,this.yyleng++,this.offset++,this.match+=ge,this.matched+=ge;var Me=ge.match(/(?:\r\n?|\n).*/g);return Me?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),ge},unput:function(ge){var Me=ge.length,Ne=ge.split(/(?:\r\n?|\n)/g);this._input=ge+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Me),this.offset-=Me;var xe=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Ne.length-1&&(this.yylineno-=Ne.length-1);var qe=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Ne?(Ne.length===xe.length?this.yylloc.first_column:0)+xe[xe.length-Ne.length].length-Ne[0].length:this.yylloc.first_column-Me},this.options.ranges&&(this.yylloc.range=[qe[0],qe[0]+this.yyleng-Me]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(ge){this.unput(this.match.slice(ge))},pastInput:function(){var ge=this.matched.substr(0,this.matched.length-this.match.length);return(ge.length>20?"...":"")+ge.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var ge=this.match;return ge.length<20&&(ge+=this._input.substr(0,20-ge.length)),(ge.substr(0,20)+(ge.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var ge=this.pastInput(),Me=new Array(ge.length+1).join("-");return ge+this.upcomingInput()+`
`+Me+"^"},test_match:function(ge,Me){var Ne,xe,qe;if(this.options.backtrack_lexer&&(qe={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(qe.yylloc.range=this.yylloc.range.slice(0))),xe=ge[0].match(/(?:\r\n?|\n).*/g),xe&&(this.yylineno+=xe.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:xe?xe[xe.length-1].length-xe[xe.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+ge[0].length},this.yytext+=ge[0],this.match+=ge[0],this.matches=ge,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(ge[0].length),this.matched+=ge[0],Ne=this.performAction.call(this,this.yy,this,Me,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Ne)return Ne;if(this._backtrack){for(var ae in qe)this[ae]=qe[ae];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var ge,Me,Ne,xe;this._more||(this.yytext="",this.match="");for(var qe=this._currentRules(),ae=0;ae<qe.length;ae++)if(Ne=this._input.match(this.rules[qe[ae]]),Ne&&(!Me||Ne[0].length>Me[0].length)){if(Me=Ne,xe=ae,this.options.backtrack_lexer){if(ge=this.test_match(Ne,qe[ae]),ge!==!1)return ge;if(this._backtrack){Me=!1;continue}else return!1}else if(!this.options.flex)break}return Me?(ge=this.test_match(Me,qe[xe]),ge!==!1?ge:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Me=this.next();return Me||this.lex()},begin:function(Me){this.conditionStack.push(Me)},popState:function(){var Me=this.conditionStack.length-1;return Me>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Me){return Me=this.conditionStack.length-1-Math.abs(Me||0),Me>=0?this.conditionStack[Me]:"INITIAL"},pushState:function(Me){this.begin(Me)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(Me,Ne,xe,qe){switch(xe){case 0:return this.begin("open_directive"),50;case 1:return this.begin("type_directive"),51;case 2:return this.popState(),this.begin("arg_directive"),9;case 3:return this.popState(),this.popState(),53;case 4:return 52;case 5:return this.begin("acc_title"),20;case 6:return this.popState(),"acc_title_value";case 7:return this.begin("acc_descr"),22;case 8:return this.popState(),"acc_descr_value";case 9:this.begin("acc_descr_multiline");break;case 10:this.popState();break;case 11:return"acc_descr_multiline_value";case 12:return 14;case 13:break;case 14:break;case 15:return 6;case 16:return 40;case 17:return 33;case 18:return 38;case 19:return 42;case 20:return 43;case 21:return 44;case 22:return 45;case 23:return 35;case 24:return 29;case 25:return 30;case 26:return 37;case 27:return 32;case 28:return 27;case 29:return 10;case 30:return 10;case 31:return 9;case 32:return"CARET";case 33:this.begin("options");break;case 34:this.popState();break;case 35:return 13;case 36:return 36;case 37:this.begin("string");break;case 38:this.popState();break;case 39:return 34;case 40:return 31;case 41:return 54;case 42:return 8}},rules:[/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:(\r?\n)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:gitGraph\b)/i,/^(?:commit(?=\s|$))/i,/^(?:id:)/i,/^(?:type:)/i,/^(?:msg:)/i,/^(?:NORMAL\b)/i,/^(?:REVERSE\b)/i,/^(?:HIGHLIGHT\b)/i,/^(?:tag:)/i,/^(?:branch(?=\s|$))/i,/^(?:order:)/i,/^(?:merge(?=\s|$))/i,/^(?:cherry-pick(?=\s|$))/i,/^(?:checkout(?=\s|$))/i,/^(?:LR\b)/i,/^(?:BT\b)/i,/^(?::)/i,/^(?:\^)/i,/^(?:options\r?\n)/i,/^(?:[ \r\n\t]+end\b)/i,/^(?:[\s\S]+(?=[ \r\n\t]+end))/i,/^(?:["]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[0-9]+(?=\s|$))/i,/^(?:\w([-\./\w]*[-\w])?)/i,/^(?:$)/i,/^(?:\s+)/i],conditions:{acc_descr_multiline:{rules:[10,11],inclusive:!1},acc_descr:{rules:[8],inclusive:!1},acc_title:{rules:[6],inclusive:!1},close_directive:{rules:[],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},open_directive:{rules:[1],inclusive:!1},options:{rules:[34,35],inclusive:!1},string:{rules:[38,39],inclusive:!1},INITIAL:{rules:[0,5,7,9,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,36,37,40,41,42,43],inclusive:!0}}};return Ie}();De.lexer=Ve;function ke(){this.yy={}}return ke.prototype=De,De.Parser=ke,new ke}();Obe.parser=Obe;const g$t=Obe,p$t=s=>s.match(/^\s*gitGraph/)!==null;let UZ=Qt().gitGraph.mainBranchName,m$t=Qt().gitGraph.mainBranchOrder,a0={},hm=null,uj={};uj[UZ]={name:UZ,order:m$t};let I1={};I1[UZ]=hm;let tg=UZ,pHe="LR",MS=0;function Dbe(){return H$e({length:7})}const v$t=function(s,o,f){Sf.parseDirective(this,s,o,f)};function b$t(s,o){const f=Object.create(null);return s.reduce((m,y)=>{const k=o(y);return f[k]||(f[k]=!0,m.push(y)),m},[])}const w$t=function(s){pHe=s};let mHe={};const y$t=function(s){ne.debug("options str",s),s=s&&s.trim(),s=s||"{}";try{mHe=JSON.parse(s)}catch(o){ne.error("error while parsing gitGraph options",o.message)}},_$t=function(){return mHe},x$t=function(s,o,f,m){ne.debug("Entering commit:",s,o,f,m),o=Oo.sanitizeText(o,Qt()),s=Oo.sa
${v-we.width/2-4/2},${Oe+2}
${v-we.width/2-4/2},${Oe-2}
${v+10-we.width/2-4},${Oe-Se-2}
${v+10+we.width/2+4},${Oe-Se-2}
${v+10+we.width/2+4},${Oe+Se+2}
${v+10-we.width/2-4},${Oe+Se+2}`),me.attr("cx",v-we.width/2+4/2).attr("cy",Oe).attr("r",1.5).attr("class","tag-hole")}}v+=50,v>KZ&&(KZ=v)})},B$t=(s,o,f)=>Object.keys(f).filter(k=>f[k].branch===o.branch&&f[k].seq>s.seq&&f[k].seq<o.seq).length>0,Pbe=(s,o,f=0)=>{const m=s+Math.abs(s-o)/2;if(f>5)return m;if(WZ.every(v=>Math.abs(v-m)>=10))return WZ.push(m),m;const k=Math.abs(s-o);return Pbe(s,o-k/5,f+1)},F$t=(s,o,f,m)=>{const y=GZ[o.id],k=GZ[f.id],v=B$t(o,f,m);let A="",O="",j=0,z=0,V=dv[f.branch].index,Y;if(v){A="A 10 10, 0, 0, 0,",O="A 10 10, 0, 0, 1,",j=10,z=10,V=dv[f.branch].index;const G=y.y<k.y?Pbe(y.y,k.y):Pbe(k.y,y.y);y.y<k.y?Y=`M ${y.x} ${y.y} L ${y.x} ${G-j} ${A} ${y.x+z} ${G} L ${k.x-j} ${G} ${O} ${k.x} ${G+z} L ${k.x} ${k.y}`:Y=`M ${y.x} ${y.y} L ${y.x} ${G+j} ${O} ${y.x+z} ${G} L ${k.x-j} ${G} ${A} ${k.x} ${G-z} L ${k.x} ${k.y}`}else y.y<k.y&&(A="A 20 20, 0, 0, 0,",j=20,z=20,V=dv[f.branch].index,Y=`M ${y.x} ${y.y} L ${y.x} ${k.y-j} ${A} ${y.x+z} ${k.y} L ${k.x} ${k.y}`),y.y>k.y&&(A="A 20 20, 0, 0, 0,",j=20,z=20,V=dv[o.branch].index,Y=`M ${y.x} ${y.y} L ${k.x-j} ${y.y} ${A} ${k.x} ${y.y-z} L ${k.x} ${k.y}`),y.y===k.y&&(V=dv[o.branch].index,Y=`M ${y.x} ${y.y} L ${y.x} ${k.y-j} ${A} ${y.x+z} ${k.y} L ${k.x} ${k.y}`);s.append("path").attr("d",Y).attr("class","arrow arrow"+V%LS)},j$t=(s,o)=>{const f=s.append("g").attr("class","commit-arrows");Object.keys(o).forEach(m=>{const y=o[m];y.parents&&y.parents.length>0&&y.parents.forEach(k=>{F$t(f,o[k],y,o)})})},$$t=(s,o)=>{const f=lj().gitGraph,m=s.append("g");o.forEach((y,k)=>{const v=k%LS,A=dv[y.name].pos,O=m.append("line");O.attr("x1",0),O.attr("y1",A),O.attr("x2",KZ),O.attr("y2",A),O.attr("class","branch branch"+v),WZ.push(A);let j=y.name;const z=R$t(j),V=m.insert("rect"),G=m.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+v);G.node().appendChild(z);let J=z.getBBox();V.attr("class","branchLabelBkg label"+v).attr("rx",4).attr("ry",4).attr("x",-J.width-4-(f.rotateCommitLabel===!0?30:0)).attr("y",-J.height/2+8).attr("width",J.width+18).attr("height",J.height+4),G.attr("transform","translate("+(-J.width-14-(f.rotateCommitLabel===!0?30:0))+", "+(A-J.height/2-1)+")"),V.attr("transform","translate("+-19+", "+(A-J.height/2)+")")})},H$t={draw:function(s,o,f,m){N$t();const y=lj(),k=y.gitGraph;ne.debug("in gitgraph renderer",s+`
`,"id:",o,f),fj=m.db.getCommits();const v=m.db.getBranchesAsObjArray();let A=0;v.forEach((j,z)=>{dv[j.name]={pos:A,index:z},A+=50+(k.rotateCommitLabel?40:0)});const O=Or(`[id="${o}"]`);_He(O,fj,!1),k.showBranches&&$$t(O,v),j$t(O,fj),_He(O,fj,!0),Go.insertTitle(O,"gitTitleText",k.titleTopMargin,m.db.getDiagramTitle()),dHe(void 0,O,k.diagramPadding,k.useMaxWidth??y.useMaxWidth)}},z$t=s=>`
.commit-id,
.commit-msg,
.branch-label {
fill: lightgrey;
color: lightgrey;
font-family: 'trebuchet ms', verdana, arial, sans-serif;
font-family: var(--mermaid-font-family);
}
${[0,1,2,3,4,5,6,7].map(o=>`
.branch-label${o} { fill: ${s["gitBranchLabel"+o]}; }
.commit${o} { stroke: ${s["git"+o]}; fill: ${s["git"+o]}; }
.commit-highlight${o} { stroke: ${s["gitInv"+o]}; fill: ${s["gitInv"+o]}; }
.label${o} { fill: ${s["git"+o]}; }
.arrow${o} { stroke: ${s["git"+o]}; }
`).join(`
`)}
.branch {
stroke-width: 1;
stroke: ${s.lineColor};
stroke-dasharray: 2;
}
.commit-label { font-size: ${s.commitLabelFontSize}; fill: ${s.commitLabelColor};}
.commit-label-bkg { font-size: ${s.commitLabelFontSize}; fill: ${s.commitLabelBackground}; opacity: 0.5; }
.tag-label { font-size: ${s.tagLabelFontSize}; fill: ${s.tagLabelColor};}
.tag-label-bkg { fill: ${s.tagLabelBackground}; stroke: ${s.tagLabelBorder}; }
.tag-hole { fill: ${s.textColor}; }
.commit-merge {
stroke: ${s.primaryColor};
fill: ${s.primaryColor};
}
.commit-reverse {
stroke: ${s.primaryColor};
fill: ${s.primaryColor};
stroke-width: 3;
}
.commit-highlight-outer {
}
.commit-highlight-inner {
stroke: ${s.primaryColor};
fill: ${s.primaryColor};
}
.arrow { stroke-width: 8; stroke-linecap: round; fill: none}
.gitTitleText {
text-anchor: middle;
font-size: 18px;
fill: ${s.textColor};
}
}
`;var YZ=function(){var s=function(Cs,Gr,Wr,Bi){for(Wr=Wr||{},Bi=Cs.length;Bi--;Wr[Cs[Bi]]=Gr);return Wr},o=[1,6],f=[1,7],m=[1,8],y=[1,9],k=[1,16],v=[1,11],A=[1,12],O=[1,13],j=[1,14],z=[1,15],V=[1,27],Y=[1,33],G=[1,34],J=[1,35],ce=[1,36],me=[1,37],_e=[1,72],we=[1,73],Se=[1,74],Oe=[1,75],De=[1,76],Ve=[1,77],ke=[1,78],Ie=[1,38],ge=[1,39],Me=[1,40],Ne=[1,41],xe=[1,42],qe=[1,43],ae=[1,44],Qe=[1,45],Ce=[1,46],nt=[1,47],Ee=[1,48],kt=[1,49],Ot=[1,50],Vt=[1,51],Rt=[1,52],Gt=[1,53],_n=[1,54],On=[1,55],Dt=[1,56],ai=[1,57],Ft=[1,59],$t=[1,60],Pt=[1,61],qt=[1,62],et=[1,63],ht=[1,64],Ut=[1,65],it=[1,66],Zn=[1,67],Ge=[1,68],ws=[1,69],xn=[24,52],Zi=[24,44,46,47,48,49,50,51,52,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84],gi=[15,24,44,46,47,48,49,50,51,52,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84],Cr=[1,94],yr=[1,95],Sr=[1,96],or=[1,97],Ar=[15,24,52],bo=[7,8,9,10,18,22,25,26,27,28],wo=[15,24,43,52],ra=[15,24,43,52,86,87,89,90],Ys=[15,43],yo=[44,46,47,48,49,50,51,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84],Jl={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,directive:6,direction_tb:7,direction_bt:8,direction_rl:9,direction_lr:10,graphConfig:11,openDirective:12,typeDirective:13,closeDirective:14,NEWLINE:15,":":16,argDirective:17,open_directive:18,type_directive:19,arg_directive:20,close_directive:21,C4_CONTEXT:22,statements:23,EOF:24,C4_CONTAINER:25,C4_COMPONENT:26,C4_DYNAMIC:27,C4_DEPLOYMENT:28,otherStatements:29,diagramStatements:30,otherStatement:31,title:32,accDescription:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,boundaryStatement:39,boundaryStartStatement:40,boundaryStopStatement:41,boundaryStart:42,LBRACE:43,ENTERPRISE_BOUNDARY:44,attributes:45,SYSTEM_BOUNDARY:46,BOUNDARY:47,CONTAINER_BOUNDARY:48,NODE:49,NODE_L:50,NODE_R:51,RBRACE:52,diagramStatement:53,PERSON:54,PERSON_EXT:55,SYSTEM:56,SYSTEM_DB:57,SYSTEM_QUEUE:58,SYSTEM_EXT:59,SYSTEM_EXT_DB:60,SYSTEM_EXT_QUEUE:61,CONTAINER:62,CONTAINER_DB:63,CONTAINER_QUEUE:64,CONTAINER_EXT:65,CONTAINER_EXT_DB:66,CONTAINER_EXT_QUEUE:67,COMPONENT:68,COMPONENT_DB:69,COMPONENT_QUEUE:70,COMPONENT_EXT:71,COMPONENT_EXT_DB:72,COMPONENT_EXT_QUEUE:73,REL:74,BIREL:75,REL_U:76,REL_D:77,REL_L:78,REL_R:79,REL_B:80,REL_INDEX:81,UPDATE_EL_STYLE:82,UPDATE_REL_STYLE:83,UPDATE_LAYOUT_CONFIG:84,attribute:85,STR:86,STR_KEY:87,STR_VALUE:88,ATTRIBUTE:89,ATTRIBUTE_EMPTY:90,$accept:0,$end:1},terminals_:{2:"error",7:"direction_tb",8:"direction_bt",9:"direction_rl",10:"direction_lr",15:"NEWLINE",16:":",18:"open_directive",19:"type_directive",20:"arg_directive",21:"close_directive",22:"C4_CONTEXT",24:"EOF",25:"C4_CONTAINER",26:"C4_COMPONENT",27:"C4_DYNAMIC",28:"C4_DEPLOYMENT",32:"title",33:"accDescription",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",43:"LBRACE",44:"ENTERPRISE_BOUNDARY",46:"SYSTEM_BOUNDARY",47:"BOUNDARY",48:"CONTAINER_BOUNDARY",49:"NODE",50:"NODE_L",51:"NODE_R",52:"RBRACE",54:"PERSON",55:"PERSON_EXT",56:"SYSTEM",57:"SYSTEM_DB",58:"SYSTEM_QUEUE",59:"SYSTEM_EXT",60:"SYSTEM_EXT_DB",61:"SYSTEM_EXT_QUEUE",62:"CONTAINER",63:"CONTAINER_DB",64:"CONTAINER_QUEUE",65:"CONTAINER_EXT",66:"CONTAINER_EXT_DB",67:"CONTAINER_EXT_QUEUE",68:"COMPONENT",69:"COMPONENT_DB",70:"COMPONENT_QUEUE",71:"COMPONENT_EXT",72:"COMPONENT_EXT_DB",73:"COMPONENT_EXT_QUEUE",74:"REL",75:"BIREL",76:"REL_U",77:"REL_D",78:"REL_L",79:"REL_R",80:"REL_B",81:"REL_INDEX",82:"UPDATE_EL_STYLE",83:"UPDATE_REL_STYLE",84:"UPDATE_LAYOUT_CONFIG",86:"STR",87:"STR_KEY",88:"STR_VALUE",89:"ATTRIBUTE",90:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[3,2],[5,1],[5,1],[5,1],[5,1],[4,1],[6,4],[6,6],[12,1],[13,1],[17,1],[14,1],[11,4],[11,4],[11,4],[11,4],[11,4],[23,1],[23,1],[23,2],[29,1],[29,2],[29,3],[31,1],[31,1],[31,2],[31,2],[31,1],[39,3],[40,3],[40,3],[40,4],[42,2],[42,2],[42,2],[42,2],[42,2],[42,2],[42,2],[41,1],[30,1],[30,2],[30,3],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[5
`+ia.showPosition()+`
Expecting `+Yf.join(", ")+", got '"+(this.terminals_[th]||th)+"'":ps="Parse error on line "+(Ia+1)+": Unexpected "+(th==Wo?"end of input":"'"+(this.terminals_[th]||th)+"'"),this.parseError(ps,{text:ia.match,token:this.terminals_[th]||th,line:ia.yylineno,loc:qa,expected:Yf})}if(jh[0]instanceof Array&&jh.length>1)throw new Error("Parse Error: multiple actions possible at state: "+lo+", token: "+th);switch(jh[0]){case 1:Bi.push(th),js.push(ia.yytext),An.push(ia.yylloc),Bi.push(jh[1]),th=null,Do=ia.yyleng,dr=ia.yytext,Ia=ia.yylineno,qa=ia.yylloc;break;case 2:if(nh=this.productions_[jh[1]][1],$h.$=js[js.length-nh],$h._$={first_line:An[An.length-(nh||1)].first_line,last_line:An[An.length-1].last_line,first_column:An[An.length-(nh||1)].first_column,last_column:An[An.length-1].last_column},mv&&($h._$.range=[An[An.length-(nh||1)].range[0],An[An.length-1].range[1]]),r1=this.performAction.apply($h,[dr,Do,Ia,io.yy,jh[1],js,An].concat(Po)),typeof r1<"u")return r1;nh&&(Bi=Bi.slice(0,-1*nh*2),js=js.slice(0,-1*nh),An=An.slice(0,-1*nh)),Bi.push(this.productions_[jh[1]][0]),js.push($h.$),An.push($h._$),_d=Qa[Bi[Bi.length-2]][Bi[Bi.length-1]],Bi.push(_d);break;case 3:return!0}}return!0}},co=function(){var Cs={EOF:1,parseError:function(Wr,Bi){if(this.yy.parser)this.yy.parser.parseError(Wr,Bi);else throw new Error(Wr)},setInput:function(Gr,Wr){return this.yy=Wr||this.yy||{},this._input=Gr,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var Gr=this._input[0];this.yytext+=Gr,this.yyleng++,this.offset++,this.match+=Gr,this.matched+=Gr;var Wr=Gr.match(/(?:\r\n?|\n).*/g);return Wr?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Gr},unput:function(Gr){var Wr=Gr.length,Bi=Gr.split(/(?:\r\n?|\n)/g);this._input=Gr+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Wr),this.offset-=Wr;var _r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Bi.length-1&&(this.yylineno-=Bi.length-1);var js=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Bi?(Bi.length===_r.length?this.yylloc.first_column:0)+_r[_r.length-Bi.length].length-Bi[0].length:this.yylloc.first_column-Wr},this.options.ranges&&(this.yylloc.range=[js[0],js[0]+this.yyleng-Wr]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(Gr){this.unput(this.match.slice(Gr))},pastInput:function(){var Gr=this.matched.substr(0,this.matched.length-this.match.length);return(Gr.length>20?"...":"")+Gr.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Gr=this.match;return Gr.length<20&&(Gr+=this._input.substr(0,20-Gr.length)),(Gr.substr(0,20)+(Gr.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Gr=this.pastInput(),Wr=new Array(Gr.length+1).join("-");return Gr+this.upcomingInput()+`
`+Wr+"^"},test_match:function(Gr,Wr){var Bi,_r,js;if(this.options.backtrack_lexer&&(js={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(js.yylloc.range=this.yylloc.range.slice(0))),_r=Gr[0].match(/(?:\r\n?|\n).*/g),_r&&(this.yylineno+=_r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:_r?_r[_r.length-1].length-_r[_r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Gr[0].length},this.yytext+=Gr[0],this.match+=Gr[0],this.matches=Gr,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Gr[0].length),this.matched+=Gr[0],Bi=this.performAction.call(this,this.yy,this,Wr,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Bi)return Bi;if(this._backtrack){for(var An in js)this[An]=js[An];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Gr,Wr,Bi,_r;this._more||(this.yytext="",this.match="");for(var js=this._currentRules(),An=0;An<js.length;An++)if(Bi=this._input.match(this.rules[js[An]]),Bi&&(!Wr||Bi[0].length>Wr[0].length)){if(Wr=Bi,_r=An,this.options.backtrack_lexer){if(Gr=this.test_match(Bi,js[An]),Gr!==!1)return Gr;if(this._backtrack){Wr=!1;continue}else return!1}else if(!this.options.flex)break}return Wr?(Gr=this.test_match(Wr,js[_r]),Gr!==!1?Gr:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Wr=this.next();return Wr||this.lex()},begin:function(Wr){this.conditionStack.push(Wr)},popState:function(){var Wr=this.conditionStack.length-1;return Wr>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Wr){return Wr=this.conditionStack.length-1-Math.abs(Wr||0),Wr>=0?this.conditionStack[Wr]:"INITIAL"},pushState:function(Wr){this.begin(Wr)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(Wr,Bi,_r,js){switch(_r){case 0:return this.begin("open_directive"),18;case 1:return 7;case 2:return 8;case 3:return 9;case 4:return 10;case 5:return this.begin("type_directive"),19;case 6:return this.popState(),this.begin("arg_directive"),16;case 7:return this.popState(),this.popState(),21;case 8:return 20;case 9:return 32;case 10:return 33;case 11:return this.begin("acc_title"),34;case 12:return this.popState(),"acc_title_value";case 13:return this.begin("acc_descr"),36;case 14:return this.popState(),"acc_descr_value";case 15:this.begin("acc_descr_multiline");break;case 16:this.popState();break;case 17:return"acc_descr_multiline_value";case 18:break;case 19:c;break;case 20:return 15;case 21:break;case 22:return 22;case 23:return 25;case 24:return 26;case 25:return 27;case 26:return 28;case 27:return this.begin("person_ext"),55;case 28:return this.begin("person"),54;case 29:return this.begin("system_ext_queue"),61;case 30:return this.begin("system_ext_db"),60;case 31:return this.begin("system_ext"),59;case 32:return this.begin("system_queue"),58;case 33:return this.begin("system_db"),57;case 34:return this.begin("system"),56;case 35:return this.begin("boundary"),47;case 36:return this.begin("enterprise_boundary"),44;case 37:return this.begin("system_boundary"),46;case 38:return this.begin("container_ext_queue"),67;case 39:return this.begin("container_ext_db"),66;case 40:return this.begin("container_ext"),65;case 41:return this.begin("container_queue"),64;case 42:return this.begin("container_db"),63;case 43:return this.begin("container"),62;case 44:return this.begin("container_boundary"),48;case 45:return this.begin("component_ext_queue"),73;case 46:return this.begin("component_ext_db"),72;case 47:return this.begin("component_ext"),71;case 48:return this.begin("component_queue"),70;case 49:return this.begin("component_db"),69;case 50:return this.begin("component"),68;case 51:return this.begin("node"),49;case 52:return this.begin("node"),49;case 53:return this.begin("node_l"),50;case 54:return this.begin("node_r"),51;case 55:return this.begin("rel"),74;case 56:return this.begin("birel"),75;case 57:return this.begin("rel_u"),76;case 58:return this.begin("rel_u"),76;case 59:return this.begin("rel_d"),77;case 60:return this.begin("rel_d"),77;case 61:return this.begin("rel_l"),78;case 62:return this.begin("rel_l"),78;case 63:return this.begin("rel_r"),79;case 64:return this.begin("rel_r"),79;case 65:return this.begin("rel_b"),80;case 66:return this.begin("rel_index"),81;case 67:return this.begin("update_el_style"),82;case 68:return this.begin("update_rel_style"),83;case 69:return this.begin("update_layout_config"),84;case 70:return"EOF_IN_STRUCT";case 71:return this.begin("attribute"),"ATTRIBUTE_EMPTY";case 72:this.begin("attribute");break;case 73:this.popState(),this.popState();break;case 74:return 90;case 75:break;case 76:return 90;case 77:this.begin("string");break;case 78:this.popState();break;case 79:return"STR";case 80:this.begin("string_kv");break;case 81:return this.begin("string_kv_key"),"STR_KEY";case 82:this.popState(),this.begin("string_kv_value");break;case 83:return"STR_VALUE";case 84:this.popState(),this.popState();break;case 85:return"STR";case 86:return"LBRACE";case 87:return"RBRACE";case 88:return"SPACE";case 89:return"EOL";case 90:return 24}},rules:[/^(?:%%\{)/,/^(?:.
`+or.showPosition()+`
Expecting `+_r.join(", ")+", got '"+(this.terminals_[yo]||yo)+"'":js="Parse error on line "+(Zi+1)+": Unexpected "+(yo==yr?"end of input":"'"+(this.terminals_[yo]||yo)+"'"),this.parseError(js,{text:or.match,token:this.terminals_[yo]||yo,line:or.yylineno,loc:wo,expected:_r})}if(co[0]instanceof Array&&co.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Jl+", token: "+yo);switch(co[0]){case 1:Ut.push(yo),Zn.push(or.yytext),Ge.push(or.yylloc),Ut.push(co[1]),yo=null,gi=or.yyleng,xn=or.yytext,Zi=or.yylineno,wo=or.yylloc;break;case 2:if(Wr=this.productions_[co[1]][1],Cs.$=Zn[Zn.length-Wr],Cs._$={first_line:Ge[Ge.length-(Wr||1)].first_line,last_line:Ge[Ge.length-1].last_line,first_column:Ge[Ge.length-(Wr||1)].first_column,last_column:Ge[Ge.length-1].last_column},ra&&(Cs._$.range=[Ge[Ge.length-(Wr||1)].range[0],Ge[Ge.length-1].range[1]]),Zs=this.performAction.apply(Cs,[xn,gi,Zi,Ar.yy,co[1],Zn,Ge].concat(Sr)),typeof Zs<"u")return Zs;Wr&&(Ut=Ut.slice(0,-1*Wr*2),Zn=Zn.slice(0,-1*Wr),Ge=Ge.slice(0,-1*Wr)),Ut.push(this.productions_[co[1]][0]),Zn.push(Cs.$),Ge.push(Cs._$),Bi=ws[Ut[Ut.length-2]][Ut[Ut.length-1]],Ut.push(Bi);break;case 3:return!0}}return!0}},$t=function(){var qt={EOF:1,parseError:function(ht,Ut){if(this.yy.parser)this.yy.parser.parseError(ht,Ut);else throw new Error(ht)},setInput:function(et,ht){return this.yy=ht||this.yy||{},this._input=et,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var et=this._input[0];this.yytext+=et,this.yyleng++,this.offset++,this.match+=et,this.matched+=et;var ht=et.match(/(?:\r\n?|\n).*/g);return ht?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),et},unput:function(et){var ht=et.length,Ut=et.split(/(?:\r\n?|\n)/g);this._input=et+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-ht),this.offset-=ht;var it=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Ut.length-1&&(this.yylineno-=Ut.length-1);var Zn=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Ut?(Ut.length===it.length?this.yylloc.first_column:0)+it[it.length-Ut.length].length-Ut[0].length:this.yylloc.first_column-ht},this.options.ranges&&(this.yylloc.range=[Zn[0],Zn[0]+this.yyleng-ht]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(et){this.unput(this.match.slice(et))},pastInput:function(){var et=this.matched.substr(0,this.matched.length-this.match.length);return(et.length>20?"...":"")+et.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var et=this.match;return et.length<20&&(et+=this._input.substr(0,20-et.length)),(et.substr(0,20)+(et.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var et=this.pastInput(),ht=new Array(et.length+1).join("-");return et+this.upcomingInput()+`
`+ht+"^"},test_match:function(et,ht){var Ut,it,Zn;if(this.options.backtrack_lexer&&(Zn={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Zn.yylloc.range=this.yylloc.range.slice(0))),it=et[0].match(/(?:\r\n?|\n).*/g),it&&(this.yylineno+=it.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:it?it[it.length-1].length-it[it.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+et[0].length},this.yytext+=et[0],this.match+=et[0],this.matches=et,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(et[0].length),this.matched+=et[0],Ut=this.performAction.call(this,this.yy,this,ht,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Ut)return Ut;if(this._backtrack){for(var Ge in Zn)this[Ge]=Zn[Ge];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var et,ht,Ut,it;this._more||(this.yytext="",this.match="");for(var Zn=this._currentRules(),Ge=0;Ge<Zn.length;Ge++)if(Ut=this._input.match(this.rules[Zn[Ge]]),Ut&&(!ht||Ut[0].length>ht[0].length)){if(ht=Ut,it=Ge,this.options.backtrack_lexer){if(et=this.test_match(Ut,Zn[Ge]),et!==!1)return et;if(this._backtrack){ht=!1;continue}else return!1}else if(!this.options.flex)break}return ht?(et=this.test_match(ht,Zn[it]),et!==!1?et:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var ht=this.next();return ht||this.lex()},begin:function(ht){this.conditionStack.push(ht)},popState:function(){var ht=this.conditionStack.length-1;return ht>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(ht){return ht=this.conditionStack.length-1-Math.abs(ht||0),ht>=0?this.conditionStack[ht]:"INITIAL"},pushState:function(ht){this.begin(ht)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(ht,Ut,it,Zn){switch(it){case 0:return this.begin("open_directive"),19;case 1:return 8;case 2:return 9;case 3:return 10;case 4:return 11;case 5:return this.begin("type_directive"),20;case 6:return this.popState(),this.begin("arg_directive"),17;case 7:return this.popState(),this.popState(),22;case 8:return 21;case 9:break;case 10:break;case 11:return this.begin("acc_title"),39;case 12:return this.popState(),"acc_title_value";case 13:return this.begin("acc_descr"),41;case 14:return this.popState(),"acc_descr_value";case 15:this.begin("acc_descr_multiline");break;case 16:this.popState();break;case 17:return"acc_descr_multiline_value";case 18:return 16;case 19:break;case 20:return 23;case 21:return 23;case 22:return this.begin("struct"),46;case 23:return"EDGE_STATE";case 24:return"EOF_IN_STRUCT";case 25:return"OPEN_IN_STRUCT";case 26:return this.popState(),48;case 27:break;case 28:return"MEMBER";case 29:return 44;case 30:return 74;case 31:return 67;case 32:return 68;case 33:return 70;case 34:return 55;case 35:return 57;case 36:return 49;case 37:return 50;case 38:this.begin("generic");break;case 39:this.popState();break;case 40:return"GENERICTYPE";case 41:this.begin("string");break;case 42:this.popState();break;case 43:return"STR";case 44:this.begin("bqstring");break;case 45:this.popState();break;case 46:return"BQUOTE_STR";case 47:this.begin("href");break;case 48:this.popState();break;case 49:return 73;case 50:this.begin("callback_name");break;case 51:this.popState();break;case 52:this.popState(),this.begin("callback_args");break;case 53:return 71;case 54:this.popState();break;case 55:return 72;case 56:return 69;case 57:return 69;case 58:return 69;case 59:return 69;case 60:return 61;case 61:return 61;case 62:return 63;case 63:return 63;case 64:return 62;case 65:return 60;case 66:return 64;case 67:return 65;case 68:return 66;case 69:return 32;case 70:return 45;case 71:return 86;case 72:return"DOT";case 73:return"PLUS";case 74:return 83;case 75:return"EQUALS";case 76:return"EQUALS";case 77:return 90;case 78:return"PUNCTUATION";case 79:return 89;case 80:return 88;case 81:return 85;case 82:return 25}},rules:[/^(?:%%\{)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:((?:(?!\}%%)[^:.])*))/,/^(?::)/,/^(?:\}%%)/,/^(?:((?:(?!\}%%).|\n)*))/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:[{])/,/^(?:\[\*\])/,/^(?:$)/,/^(?:[{])/,/^(?:[}])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:class\b)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:note for\b)/,/^(?:note\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:[~])/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:[`])/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:href[\s]+["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:\s*\(\))/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,
`);O.forEach(function(Y){ne.debug(`Adding line: ${Y}`),A.append("tspan").text(Y).attr("class","title").attr("dy",f.textHeight)});const j=v.node().getBBox(),V=v.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",j.width+2*f.padding).attr("height",j.height+O.length*f.textHeight+f.padding+.5*f.dividerMargin).node().getBBox().width;return A.node().childNodes.forEach(function(Y){Y.setAttribute("x",(V-Y.getBBox().width)/2)}),k.width=V,k.height=j.height+O.length*f.textHeight+f.padding+.5*f.dividerMargin,k},_J=function(s){const o=/^([#+~-])?(\w+)(~\w+~|\[])?\s+(\w+) *([$*])?$/,f=/^([#+|~-])?(\w+) *\( *(.*)\) *([$*])? *(\w*[[\]|~]*\s*\w*~?)$/;let m=s.match(o),y=s.match(f);return m&&!y?aYt(m):y?oYt(y):cYt(s)},aYt=function(s){let o="",f="";try{let m=s[1]?s[1].trim():"",y=s[2]?s[2].trim():"",k=s[3]?n7(s[3].trim()):"",v=s[4]?s[4].trim():"",A=s[5]?s[5].trim():"";f=m+y+k+" "+v,o=x2e(A)}catch{f=s}return{displayText:f,cssStyle:o}},oYt=function(s){let o="",f="";try{let m=s[1]?s[1].trim():"",y=s[2]?s[2].trim():"",k=s[3]?n7(s[3].trim()):"",v=s[4]?s[4].trim():"",A=s[5]?" : "+n7(s[5]).trim():"";f=m+y+"("+k+")"+A,o=x2e(v)}catch{f=s}return{displayText:f,cssStyle:o}},cYt=function(s){let o="",f="",m="",y=s.indexOf("("),k=s.indexOf(")");if(y>1&&k>y&&k<=s.length){let v="",A="",O=s.substring(0,1);O.match(/\w/)?A=s.substring(0,y).trim():(O.match(/[#+~-]/)&&(v=O),A=s.substring(1,y).trim());const j=s.substring(y+1,k);s.substring(k+1,1),f=x2e(s.substring(k+1,k+2)),o=v+A+"("+n7(j.trim())+")",k<s.length&&(m=s.substring(k+2).trim(),m!==""&&(m=" : "+n7(m),o+=m))}else o=n7(s);return{displayText:o,cssStyle:f}},AVe=function(s,o,f,m){let y=_J(o);const k=s.append("tspan").attr("x",m.padding).text(y.displayText);y.cssStyle!==""&&k.attr("style",y.cssStyle),f||k.attr("dy",m.textHeight)},x2e=function(s){switch(s){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}},k2e={drawClass:iYt,drawEdge:rYt,drawNote:sYt,parseMember:_J};let xJ={};const kJ=20,Lj=function(s){const o=Object.entries(xJ).find(f=>f[1].label===s);if(o)return o[0]},lYt=function(s){s.append("defs").append("marker").attr("id","extensionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),s.append("defs").append("marker").attr("id","extensionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),s.append("defs").append("marker").attr("id","compositionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),s.append("defs").append("marker").attr("id","compositionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),s.append("defs").append("marker").attr("id","aggregationStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),s.append("defs").append("marker").attr("id","aggregationEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),s.append("defs").append("marker").attr("id","dependencyStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),s.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},uYt={draw:function(s,o,f,m){const y=Qt().class;xJ={},ne.info("Rendering diagram "+s);const k=Qt().securityLevel;let v;k==="sandbox"&&(v=Or("#i"+o));const A=Or(k==="sandbox"?v.nodes()[0].con
outsidePoint: ${JSON.stringify(o)}
insidePoint : ${JSON.stringify(f)}
node : x:${s.x} y:${s.y} w:${s.width} h:${s.height}`);const m=s.x,y=s.y,k=Math.abs(m-f.x),v=s.width/2;let A=f.x<o.x?v-k:v+k;const O=s.height/2,j=Math.abs(o.y-f.y),z=Math.abs(o.x-f.x);if(Math.abs(y-o.y)*v>Math.abs(m-o.x)*O){let V=f.y<o.y?o.y-O-y:y-O-o.y;A=z*V/j;const Y={x:f.x<o.x?f.x+A:f.x-z+A,y:f.y<o.y?f.y+j-V:f.y-j+V};return A===0&&(Y.x=o.x,Y.y=o.y),z===0&&(Y.x=o.x),j===0&&(Y.y=o.y),ne.warn(`abc89 topp/bott calc, Q ${j}, q ${V}, R ${z}, r ${A}`,Y),Y}else{f.x<o.x?A=o.x-v-m:A=m-v-o.x;let V=j*A/z,Y=f.x<o.x?f.x+z-A:f.x-z+A,G=f.y<o.y?f.y+V:f.y-V;return ne.warn(`sides calc abc89, Q ${j}, q ${V}, R ${z}, r ${A}`,{_x:Y,_y:G}),A===0&&(Y=o.x,G=o.y),z===0&&(Y=o.x),j===0&&(G=o.y),{x:Y,y:G}}},UVe=(s,o)=>{ne.warn("abc88 cutPathAtIntersect",s,o);let f=[],m=s[0],y=!1;return s.forEach(k=>{if(ne.info("abc88 checking point",k,o),!XYt(o,k)&&!y){const v=QYt(o,m,k);ne.warn("abc88 inside",k,m,v),ne.warn("abc88 intersection",v);let A=!1;f.forEach(O=>{A=A||O.x===v.x&&O.y===v.y}),f.some(O=>O.x===v.x&&O.y===v.y)?ne.warn("abc88 no intersect",v,f):f.push(v),y=!0}else ne.warn("abc88 outside",k,m),m=k,y||f.push(k)}),ne.warn("abc88 returning points",f),f},ZYt=function(s,o,f,m,y,k){let v=f.points,A=!1;const O=k.node(o.v);var j=k.node(o.w);ne.info("abc88 InsertEdge: ",f),j.intersect&&O.intersect&&(v=v.slice(1,f.points.length-1),v.unshift(O.intersect(v[0])),ne.info("Last point",v[v.length-1],j,j.intersect(v[v.length-1])),v.push(j.intersect(v[v.length-1]))),f.toCluster&&(ne.info("to cluster abc88",m[f.toCluster]),v=UVe(f.points,m[f.toCluster].node),A=!0),f.fromCluster&&(ne.info("from cluster abc88",m[f.fromCluster]),v=UVe(v.reverse(),m[f.fromCluster].node).reverse(),A=!0);const z=v.filter(_e=>!Number.isNaN(_e.y));let V;y==="graph"||y==="flowchart"?V=f.curve||yO:V=yO;const Y=bS().x(function(_e){return _e.x}).y(function(_e){return _e.y}).curve(V);let G;switch(f.thickness){case"normal":G="edge-thickness-normal";break;case"thick":G="edge-thickness-thick";break;default:G=""}switch(f.pattern){case"solid":G+=" edge-pattern-solid";break;case"dotted":G+=" edge-pattern-dotted";break;case"dashed":G+=" edge-pattern-dashed";break}const J=s.append("path").attr("d",Y(z)).attr("id",f.id).attr("class"," "+G+(f.classes?" "+f.classes:"")).attr("style",f.style);let ce="";switch((Qt().flowchart.arrowMarkerAbsolute||Qt().state.arrowMarkerAbsolute)&&(ce=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,ce=ce.replace(/\(/g,"\\("),ce=ce.replace(/\)/g,"\\)")),ne.info("arrowTypeStart",f.arrowTypeStart),ne.info("arrowTypeEnd",f.arrowTypeEnd),f.arrowTypeStart){case"arrow_cross":J.attr("marker-start","url("+ce+"#"+y+"-crossStart)");break;case"arrow_point":J.attr("marker-start","url("+ce+"#"+y+"-pointStart)");break;case"arrow_barb":J.attr("marker-start","url("+ce+"#"+y+"-barbStart)");break;case"arrow_circle":J.attr("marker-start","url("+ce+"#"+y+"-circleStart)");break;case"aggregation":J.attr("marker-start","url("+ce+"#"+y+"-aggregationStart)");break;case"extension":J.attr("marker-start","url("+ce+"#"+y+"-extensionStart)");break;case"composition":J.attr("marker-start","url("+ce+"#"+y+"-compositionStart)");break;case"dependency":J.attr("marker-start","url("+ce+"#"+y+"-dependencyStart)");break;case"lollipop":J.attr("marker-start","url("+ce+"#"+y+"-lollipopStart)");break}switch(f.arrowTypeEnd){case"arrow_cross":J.attr("marker-end","url("+ce+"#"+y+"-crossEnd)");break;case"arrow_point":J.attr("marker-end","url("+ce+"#"+y+"-pointEnd)");break;case"arrow_barb":J.attr("marker-end","url("+ce+"#"+y+"-barbEnd)");break;case"arrow_circle":J.attr("marker-end","url("+ce+"#"+y+"-circleEnd)");break;case"aggregation":J.attr("marker-end","url("+ce+"#"+y+"-aggregationEnd)");break;case"extension":J.attr("marker-end","url("+ce+"#"+y+"-extensionEnd)");break;case"composition":J.attr("marker-end","url("+ce+"#"+y+"-compositionEnd)");break;case"dependency":J.attr("marker-end","url("+ce+"#"+y+"-dependencyEnd)");break;case"lollipop":J.attr("marker-end","url("+ce+"#"+y+"-lollipopEnd)");break}let me={};return A&&(me.updatedPath=v),me.originalPath=f.points,me}
`),y.style===void 0&&(k.style=k.style||"stroke: #333; stroke-width: 1.5px;fill:none"),k.labelStyle=k.labelStyle.replace("color:","fill:"))),o.setEdge(y.id1,y.id2,k,m)})},nXt=function(s){Object.keys(s).forEach(function(f){KVe[f]=s[f]})},rXt=function(s,o,f,m){ne.info("Drawing class - ",o);const y=Qt().flowchart,k=Qt().securityLevel;ne.info("config:",y);const v=y.nodeSpacing||50,A=y.rankSpacing||50,O=new P1({multigraph:!0,compound:!0}).setGraph({rankdir:m.db.getDirection(),nodesep:v,ranksep:A,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),j=m.db.getClasses(),z=m.db.getRelations(),V=m.db.getNotes();ne.info(z),JYt(j,O,o,m),tXt(z,O),eXt(V,O,z.length+1,j);let Y;k==="sandbox"&&(Y=Or("#i"+o));const G=Or(k==="sandbox"?Y.nodes()[0].contentDocument.body:"body"),J=G.select(`[id="${o}"]`),ce=G.select("#"+o+" g");if(E2e(ce,O,["aggregation","extension","composition","dependency","lollipop"],"classDiagram",o),Go.insertTitle(J,"classTitleText",y.titleTopMargin,m.db.getDiagramTitle()),CS(O,J,y.diagramPadding,y.useMaxWidth),!y.htmlLabels){const me=k==="sandbox"?Y.nodes()[0].contentDocument:document,_e=me.querySelectorAll('[id="'+o+'"] .edgeLabel .label');for(const we of _e){const Se=we.getBBox(),Oe=me.createElementNS("http://www.w3.org/2000/svg","rect");Oe.setAttribute("rx",0),Oe.setAttribute("ry",0),Oe.setAttribute("width",Se.width),Oe.setAttribute("height",Se.height),we.insertBefore(Oe,we.firstChild)}}};function YVe(s){let o;switch(s){case 0:o="aggregation";break;case 1:o="extension";break;case 2:o="composition";break;case 3:o="dependency";break;case 4:o="lollipop";break;default:o="none"}return o}const iXt={setConf:nXt,draw:rXt};var T2e=function(){var s=function(Ne,xe,qe,ae){for(qe=qe||{},ae=Ne.length;ae--;qe[Ne[ae]]=xe);return qe},o=[1,2],f=[1,5],m=[6,9,11,23,25,27,29,30,31,51],y=[1,17],k=[1,18],v=[1,19],A=[1,20],O=[1,21],j=[1,22],z=[1,25],V=[1,30],Y=[1,31],G=[1,32],J=[1,33],ce=[6,9,11,15,20,23,25,27,29,30,31,44,45,46,47,51],me=[1,45],_e=[30,31,48,49],we=[4,6,9,11,23,25,27,29,30,31,51],Se=[44,45,46,47],Oe=[22,37],De=[1,65],Ve=[1,64],ke=[22,37,39,41],Ie={trace:function(){},yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,directive:7,line:8,SPACE:9,statement:10,NEWLINE:11,openDirective:12,typeDirective:13,closeDirective:14,":":15,argDirective:16,entityName:17,relSpec:18,role:19,BLOCK_START:20,attributes:21,BLOCK_STOP:22,title:23,title_value:24,acc_title:25,acc_title_value:26,acc_descr:27,acc_descr_value:28,acc_descr_multiline_value:29,ALPHANUM:30,ENTITY_NAME:31,attribute:32,attributeType:33,attributeName:34,attributeKeyTypeList:35,attributeComment:36,ATTRIBUTE_WORD:37,attributeKeyType:38,COMMA:39,ATTRIBUTE_KEY:40,COMMENT:41,cardinality:42,relType:43,ZERO_OR_ONE:44,ZERO_OR_MORE:45,ONE_OR_MORE:46,ONLY_ONE:47,NON_IDENTIFYING:48,IDENTIFYING:49,WORD:50,open_directive:51,type_directive:52,arg_directive:53,close_directive:54,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",9:"SPACE",11:"NEWLINE",15:":",20:"BLOCK_START",22:"BLOCK_STOP",23:"title",24:"title_value",25:"acc_title",26:"acc_title_value",27:"acc_descr",28:"acc_descr_value",29:"acc_descr_multiline_value",30:"ALPHANUM",31:"ENTITY_NAME",37:"ATTRIBUTE_WORD",39:"COMMA",40:"ATTRIBUTE_KEY",41:"COMMENT",44:"ZERO_OR_ONE",45:"ZERO_OR_MORE",46:"ONE_OR_MORE",47:"ONLY_ONE",48:"NON_IDENTIFYING",49:"IDENTIFYING",50:"WORD",51:"open_directive",52:"type_directive",53:"arg_directive",54:"close_directive"},productions_:[0,[3,3],[3,2],[5,0],[5,2],[8,2],[8,1],[8,1],[8,1],[7,4],[7,6],[10,1],[10,5],[10,4],[10,3],[10,1],[10,2],[10,2],[10,2],[10,1],[17,1],[17,1],[21,1],[21,2],[32,2],[32,3],[32,3],[32,4],[33,1],[34,1],[35,1],[35,3],[38,1],[36,1],[18,3],[42,1],[42,1],[42,1],[42,1],[43,1],[43,1],[19,1],[19,1],[19,1],[12,1],[13,1],[16,1],[14,1]],performAction:function(xe,qe,ae,Qe,Ce,nt,Ee){var kt=nt.length-1;switch(Ce){case 1:break;case 3:this.$=[];break;case 4:nt[kt-1].push(nt[kt]),this.$=nt[kt-1];break;case 5:case 6:this.$=nt[kt];break;case 7:case 8:this.$=[];break;case 12:Qe.addEntity(nt[kt-4]),Qe.addEntity(nt[kt-2]),Qe.addRelationship(nt[kt-4],nt[kt],nt[kt-2],nt[kt-3]
`+On.showPosition()+`
Expecting `+xn.join(", ")+", got '"+(this.terminals_[qt]||qt)+"'":Zi="Parse error on line "+(Ot+1)+": Unexpected "+(qt==Gt?"end of input":"'"+(this.terminals_[qt]||qt)+"'"),this.parseError(Zi,{text:On.match,token:this.terminals_[qt]||qt,line:On.yylineno,loc:Ft,expected:xn})}if(ht[0]instanceof Array&&ht.length>1)throw new Error("Parse Error: multiple actions possible at state: "+et+", token: "+qt);switch(ht[0]){case 1:ae.push(qt),Ce.push(On.yytext),nt.push(On.yylloc),ae.push(ht[1]),qt=null,Vt=On.yyleng,kt=On.yytext,Ot=On.yylineno,Ft=On.yylloc;break;case 2:if(Ge=this.productions_[ht[1]][1],it.$=Ce[Ce.length-Ge],it._$={first_line:nt[nt.length-(Ge||1)].first_line,last_line:nt[nt.length-1].last_line,first_column:nt[nt.length-(Ge||1)].first_column,last_column:nt[nt.length-1].last_column},$t&&(it._$.range=[nt[nt.length-(Ge||1)].range[0],nt[nt.length-1].range[1]]),Ut=this.performAction.apply(it,[kt,Vt,Ot,Dt.yy,ht[1],Ce,nt].concat(_n)),typeof Ut<"u")return Ut;Ge&&(ae=ae.slice(0,-1*Ge*2),Ce=Ce.slice(0,-1*Ge),nt=nt.slice(0,-1*Ge)),ae.push(this.productions_[ht[1]][0]),Ce.push(it.$),nt.push(it._$),ws=Ee[ae[ae.length-2]][ae[ae.length-1]],ae.push(ws);break;case 3:return!0}}return!0}},ge=function(){var Ne={EOF:1,parseError:function(qe,ae){if(this.yy.parser)this.yy.parser.parseError(qe,ae);else throw new Error(qe)},setInput:function(xe,qe){return this.yy=qe||this.yy||{},this._input=xe,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var xe=this._input[0];this.yytext+=xe,this.yyleng++,this.offset++,this.match+=xe,this.matched+=xe;var qe=xe.match(/(?:\r\n?|\n).*/g);return qe?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),xe},unput:function(xe){var qe=xe.length,ae=xe.split(/(?:\r\n?|\n)/g);this._input=xe+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-qe),this.offset-=qe;var Qe=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),ae.length-1&&(this.yylineno-=ae.length-1);var Ce=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:ae?(ae.length===Qe.length?this.yylloc.first_column:0)+Qe[Qe.length-ae.length].length-ae[0].length:this.yylloc.first_column-qe},this.options.ranges&&(this.yylloc.range=[Ce[0],Ce[0]+this.yyleng-qe]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(xe){this.unput(this.match.slice(xe))},pastInput:function(){var xe=this.matched.substr(0,this.matched.length-this.match.length);return(xe.length>20?"...":"")+xe.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var xe=this.match;return xe.length<20&&(xe+=this._input.substr(0,20-xe.length)),(xe.substr(0,20)+(xe.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var xe=this.pastInput(),qe=new Array(xe.length+1).join("-");return xe+this.upcomingInput()+`
`+qe+"^"},test_match:function(xe,qe){var ae,Qe,Ce;if(this.options.backtrack_lexer&&(Ce={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Ce.yylloc.range=this.yylloc.range.slice(0))),Qe=xe[0].match(/(?:\r\n?|\n).*/g),Qe&&(this.yylineno+=Qe.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Qe?Qe[Qe.length-1].length-Qe[Qe.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+xe[0].length},this.yytext+=xe[0],this.match+=xe[0],this.matches=xe,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(xe[0].length),this.matched+=xe[0],ae=this.performAction.call(this,this.yy,this,qe,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),ae)return ae;if(this._backtrack){for(var nt in Ce)this[nt]=Ce[nt];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var xe,qe,ae,Qe;this._more||(this.yytext="",this.match="");for(var Ce=this._currentRules(),nt=0;nt<Ce.length;nt++)if(ae=this._input.match(this.rules[Ce[nt]]),ae&&(!qe||ae[0].length>qe[0].length)){if(qe=ae,Qe=nt,this.options.backtrack_lexer){if(xe=this.test_match(ae,Ce[nt]),xe!==!1)return xe;if(this._backtrack){qe=!1;continue}else return!1}else if(!this.options.flex)break}return qe?(xe=this.test_match(qe,Ce[Qe]),xe!==!1?xe:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var qe=this.next();return qe||this.lex()},begin:function(qe){this.conditionStack.push(qe)},popState:function(){var qe=this.conditionStack.length-1;return qe>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(qe){return qe=this.conditionStack.length-1-Math.abs(qe||0),qe>=0?this.conditionStack[qe]:"INITIAL"},pushState:function(qe){this.begin(qe)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(qe,ae,Qe,Ce){switch(Qe){case 0:return this.begin("acc_title"),25;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),27;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return this.begin("open_directive"),51;case 8:return this.begin("type_directive"),52;case 9:return this.popState(),this.begin("arg_directive"),15;case 10:return this.popState(),this.popState(),54;case 11:return 53;case 12:break;case 13:break;case 14:return 11;case 15:break;case 16:return 9;case 17:return 31;case 18:return 50;case 19:return 4;case 20:return this.begin("block"),20;case 21:return 39;case 22:break;case 23:return 40;case 24:return 37;case 25:return 37;case 26:return 41;case 27:break;case 28:return this.popState(),22;case 29:return ae.yytext[0];case 30:return 44;case 31:return 46;case 32:return 46;case 33:return 46;case 34:return 44;case 35:return 44;case 36:return 45;case 37:return 45;case 38:return 45;case 39:return 45;case 40:return 45;case 41:return 46;case 42:return 45;case 43:return 46;case 44:return 47;case 45:return 47;case 46:return 47;case 47:return 47;case 48:return 44;case 49:return 45;case 50:return 46;case 51:return 48;case 52:return 49;case 53:return 49;case 54:return 48;case 55:return 48;case 56:return 48;case 57:return 30;case 58:return ae.yytext[0];case 59:return 6}},rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:,)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:(.*?)[~](.*?)*[~])/i,/^(?:[A-Za-z_][A-Za-z0-9\-_\[\]\(\)]*)/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:1\b)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:[A-Za-z][A-Za-z0-9\-_]*)/i,/^(?:.)/i,/^(?:$)/i],conditions:{acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},open_directive:{rules:[8],inclusive:!1},type_directive:{rules:[9,10],inclusive:!1},arg_directive:{rules:[10,11],inclusive:!1},block:{rules:[21,22,23,24,25,26,27,28,29],inclusive:!1},INITIAL:{rules:[0,2,4,7,12,13,14,15,16,17,18,19,20,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59],inclusive:!0}}};return Ne}();Ie.lexer=ge;function Me(){this.yy={}}return Me.prototype=Ie,Ie.Parser=Me,new Me}();T2e.parser=T2e;const sXt=T2e,aXt=s=>s.match(/^\s*erDiagram/)!==null;let Dj={},S2e=[];const oXt={ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE"},cXt={NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"ID
`+Zh.showPosition()+`
Expecting `+t6.join(", ")+", got '"+(this.terminals_[l0]||l0)+"'":El="Parse error on line "+(ng+1)+": Unexpected "+(l0==p7?"end of input":"'"+(this.terminals_[l0]||l0)+"'"),this.parseError(El,{text:Zh.match,token:this.terminals_[l0]||l0,line:Zh.yylineno,loc:Sx,expected:t6})}if(u0[0]instanceof Array&&u0.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Sw+", token: "+l0);switch(u0[0]){case 1:oc.push(l0),Nl.push(Zh.yytext),Yt.push(Zh.yylloc),oc.push(u0[1]),l0=null,$3=Zh.yyleng,fn=Zh.yytext,ng=Zh.yylineno,Sx=Zh.yylloc;break;case 2:if(Tp=this.productions_[u0[1]][1],bv.$=Nl[Nl.length-Tp],bv._$={first_line:Yt[Yt.length-(Tp||1)].first_line,last_line:Yt[Yt.length-1].last_line,first_column:Yt[Yt.length-(Tp||1)].first_column,last_column:Yt[Yt.length-1].last_column},GS&&(bv._$.range=[Yt[Yt.length-(Tp||1)].range[0],Yt[Yt.length-1].range[1]]),Cx=this.performAction.apply(bv,[fn,$3,ng,Tw.yy,u0[1],Nl,Yt].concat(Xb)),typeof Cx<"u")return Cx;Tp&&(oc=oc.slice(0,-1*Tp*2),Nl=Nl.slice(0,-1*Tp),Yt=Yt.slice(0,-1*Tp)),oc.push(this.productions_[u0[1]][0]),Nl.push(bv.$),Yt.push(bv._$),xh=j3[oc[oc.length-2]][oc[oc.length-1]],oc.push(xh);break;case 3:return!0}}return!0}},Ew=function(){var $g={EOF:1,parseError:function(Ea,oc){if(this.yy.parser)this.yy.parser.parseError(Ea,oc);else throw new Error(Ea)},setInput:function(ca,Ea){return this.yy=Ea||this.yy||{},this._input=ca,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var ca=this._input[0];this.yytext+=ca,this.yyleng++,this.offset++,this.match+=ca,this.matched+=ca;var Ea=ca.match(/(?:\r\n?|\n).*/g);return Ea?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),ca},unput:function(ca){var Ea=ca.length,oc=ca.split(/(?:\r\n?|\n)/g);this._input=ca+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Ea),this.offset-=Ea;var cs=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),oc.length-1&&(this.yylineno-=oc.length-1);var Nl=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:oc?(oc.length===cs.length?this.yylloc.first_column:0)+cs[cs.length-oc.length].length-oc[0].length:this.yylloc.first_column-Ea},this.options.ranges&&(this.yylloc.range=[Nl[0],Nl[0]+this.yyleng-Ea]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(ca){this.unput(this.match.slice(ca))},pastInput:function(){var ca=this.matched.substr(0,this.matched.length-this.match.length);return(ca.length>20?"...":"")+ca.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var ca=this.match;return ca.length<20&&(ca+=this._input.substr(0,20-ca.length)),(ca.substr(0,20)+(ca.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var ca=this.pastInput(),Ea=new Array(ca.length+1).join("-");return ca+this.upcomingInput()+`
`+Ea+"^"},test_match:function(ca,Ea){var oc,cs,Nl;if(this.options.backtrack_lexer&&(Nl={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Nl.yylloc.range=this.yylloc.range.slice(0))),cs=ca[0].match(/(?:\r\n?|\n).*/g),cs&&(this.yylineno+=cs.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:cs?cs[cs.length-1].length-cs[cs.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+ca[0].length},this.yytext+=ca[0],this.match+=ca[0],this.matches=ca,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(ca[0].length),this.matched+=ca[0],oc=this.performAction.call(this,this.yy,this,Ea,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),oc)return oc;if(this._backtrack){for(var Yt in Nl)this[Yt]=Nl[Yt];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var ca,Ea,oc,cs;this._more||(this.yytext="",this.match="");for(var Nl=this._currentRules(),Yt=0;Yt<Nl.length;Yt++)if(oc=this._input.match(this.rules[Nl[Yt]]),oc&&(!Ea||oc[0].length>Ea[0].length)){if(Ea=oc,cs=Yt,this.options.backtrack_lexer){if(ca=this.test_match(oc,Nl[Yt]),ca!==!1)return ca;if(this._backtrack){Ea=!1;continue}else return!1}else if(!this.options.flex)break}return Ea?(ca=this.test_match(Ea,Nl[cs]),ca!==!1?ca:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Ea=this.next();return Ea||this.lex()},begin:function(Ea){this.conditionStack.push(Ea)},popState:function(){var Ea=this.conditionStack.length-1;return Ea>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Ea){return Ea=this.conditionStack.length-1-Math.abs(Ea||0),Ea>=0?this.conditionStack[Ea]:"INITIAL"},pushState:function(Ea){this.begin(Ea)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(Ea,oc,cs,Nl){switch(cs){case 0:return this.begin("open_directive"),12;case 1:return this.begin("type_directive"),13;case 2:return this.popState(),this.begin("arg_directive"),10;case 3:return this.popState(),this.popState(),15;case 4:return 14;case 5:break;case 6:break;case 7:return this.begin("acc_title"),44;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),46;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:this.begin("string");break;case 15:this.popState();break;case 16:return"STR";case 17:return 86;case 18:return 95;case 19:return 87;case 20:return 104;case 21:return 88;case 22:return 89;case 23:this.begin("href");break;case 24:this.popState();break;case 25:return 100;case 26:this.begin("callbackname");break;case 27:this.popState();break;case 28:this.popState(),this.begin("callbackargs");break;case 29:return 98;case 30:this.popState();break;case 31:return 99;case 32:this.begin("click");break;case 33:this.popState();break;case 34:return 90;case 35:return Ea.lex.firstGraph()&&this.begin("dir"),24;case 36:return Ea.lex.firstGraph()&&this.begin("dir"),24;case 37:return Ea.lex.firstGraph()&&this.begin("dir"),24;case 38:return 38;case 39:return 42;case 40:return 101;case 41:return 101;case 42:return 101;case 43:return 101;case 44:return this.popState(),25;case 45:return this.popState(),26;case 46:return this.popState(),26;case 47:return this.popState(),26;case 48:return this.popState(),26;case 49:return this.popState(),26;case 50:return this.popState(),26;case 51:return this.popState(),26;case 52:return this.popState(),26;case 53:return this.popState(),26;case 54:return this.popState(),26;case 55:return 118;case 56:return 119;case 57:return 120;case 58:return 121;case 59:return 105;case 60:return 111;case 61:return 53;case 62:return 67;case 63:return 52;case 64:return 20;case 65:return 106;case 66:return 126;case 67:return 82;case 68:return 82;case 69:return 82;case 70:return 81;case 71:return 81;case 72:return 81;case 73:return 59;case 74:return 60;case 75:return 61;case 76:return 62;case 77:return 63;case 78:return 64;case 79:return 65;case 80:return 69;case 81:return 70;case 82:return 55;case 83:return 56;case 84:return 109;case 85:return 112;case 86:return 127;case 87:return 124;case 88:return 113;case 89:return 125;case 90:return 125;case 91:return 114;case 92:return 73;case 93:return 92;case 94:return"SEP";case 95:return 91;case 96:return 66;case 97:return 75;case 98:return 74;case 99:return 77;case 100:return 76;case 101:return 122;case 102:return 123;case 103:return 68;case 104:return 57;case 105:return 58;case 106:return 40;case 107:return 41;case 108:return 71;case 109:return 72;case 110:return 133;case 111:return 21;case 112:return 22;case 113:return 23}},rules:[/^(?:%%\{)/,/^(?:((?:(?!\}%%)[^:.])*))/,/^(?::)/,/^(?:\}%%)/,/^(?:((?:(?!\}%%).|\n)*))/,/^(?:%%(?!\{)[^\n]*)/,/^(?:[^\}]%%[^\n]*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s]+["])/,/^(?:["])/,/^(?:[^"]*)/,/
`),y=0;y<m.length;y++)f.append("tspan").attr("xml:space","preserve").attr("dy","1em").attr("x","1").text(m[y]);return K5(f,o.labelStyle),f}function XXt(s){for(var o="",f=!1,m,y=0;y<s.length;++y)if(m=s[y],f){switch(m){case"n":o+=`
`;break;default:o+=m}f=!1}else m==="\\"?f=!0:o+=m;return o}function N2e(s,o,f){var m=o.label,y=s.append("g");o.labelType==="svg"?KXt(y,o):typeof m!="string"||o.labelType==="html"?PJ(y,o):YXt(y,o);var k=y.node().getBBox(),v;switch(f){case"top":v=-o.height/2;break;case"bottom":v=o.height/2-k.height;break;default:v=-k.height/2}return y.attr("transform","translate("+-k.width/2+","+v+")"),y}var R2e=function(s,o){var f=o.nodes().filter(function(k){return Oqe(o,k)}),m=s.selectAll("g.cluster").data(f,function(k){return k});N3(m.exit(),o).style("opacity",0).remove();var y=m.enter().append("g").attr("class","cluster").attr("id",function(k){var v=o.node(k);return v.id}).style("opacity",0).each(function(k){var v=o.node(k),A=Or(this);Or(this).append("rect");var O=A.append("g").attr("class","label");N2e(O,v,v.clusterLabelPos)});return m=m.merge(y),m=N3(m,o).style("opacity",1),m.selectAll("rect").each(function(k){var v=o.node(k),A=Or(this);K5(A,v.style)}),m};function QXt(s){R2e=s}let B2e=function(s,o){var f=s.selectAll("g.edgeLabel").data(o.edges(),function(y){return Dqe(y)}).classed("update",!0);f.exit().remove(),f.enter().append("g").classed("edgeLabel",!0).style("opacity",0),f=s.selectAll("g.edgeLabel"),f.each(function(y){var k=Or(this);k.select(".label").remove();var v=o.edge(y),A=N2e(k,o.edge(y),0).classed("label",!0),O=A.node().getBBox();v.labelId&&A.attr("id",v.labelId),dc(v,"width")||(v.width=O.width),dc(v,"height")||(v.height=O.height)});var m;return f.exit?m=f.exit():m=f.selectAll(null),N3(m,o).style("opacity",0).remove(),f};function ZXt(s){B2e=s}function Nqe(s,o){return s.intersect(o)}var F2e=function(s,o,f){var m=s.selectAll("g.edgePath").data(o.edges(),function(v){return Dqe(v)}).classed("update",!0),y=rQt(m,o);iQt(m,o);var k=m.merge!==void 0?m.merge(y):m;return N3(k,o).style("opacity",1),k.each(function(v){var A=Or(this),O=o.edge(v);O.elem=this,O.id&&A.attr("id",O.id),Pqe(A,O.class,(A.classed("update")?"update ":"")+"edgePath")}),k.selectAll("path.path").each(function(v){var A=o.edge(v);A.arrowheadId=wJ("arrowhead");var O=Or(this).attr("marker-end",function(){return"url("+eQt(location.href,A.arrowheadId)+")"}).style("fill","none");N3(O,o).attr("d",function(j){return tQt(o,j)}),K5(O,A.style)}),k.selectAll("defs *").remove(),k.selectAll("defs").each(function(v){var A=o.edge(v),O=f[A.arrowhead];O(Or(this),A.arrowheadId,A,"arrowhead")}),k};function JXt(s){F2e=s}function eQt(s,o){var f=s.split("#")[0];return f+"#"+o}function tQt(s,o){var f=s.edge(o),m=s.node(o.v),y=s.node(o.w),k=f.points.slice(1,f.points.length-1);return k.unshift(Nqe(m,k[0])),k.push(Nqe(y,k[k.length-1])),Rqe(f,k)}function Rqe(s,o){var f=(bS||uDt.line)().x(function(m){return m.x}).y(function(m){return m.y});return(f.curve||f.interpolate)(s.curve),f(o)}function nQt(s){var o=s.getBBox(),f=s.ownerSVGElement.getScreenCTM().inverse().multiply(s.getScreenCTM()).translate(o.width/2,o.height/2);return{x:f.e,y:f.f}}function rQt(s,o){var f=s.enter().append("g").attr("class","edgePath").style("opacity",0);return f.append("path").attr("class","path").attr("d",function(m){var y=o.edge(m),k=o.node(m.v).elem,v=RS(y.points.length).map(function(){return nQt(k)});return Rqe(y,v)}),f.append("defs"),f}function iQt(s,o){var f=s.exit();N3(f,o).style("opacity",0).remove()}var j2e=function(s,o,f){var m=o.nodes().filter(function(v){return!Oqe(o,v)}),y=s.selectAll("g.node").data(m,function(v){return v}).classed("update",!0);y.exit().remove(),y.enter().append("g").attr("class","node").style("opacity",0),y=s.selectAll("g.node"),y.each(function(v){var A=o.node(v),O=Or(this);Pqe(O,A.class,(O.classed("update")?"update ":"")+"node"),O.select("g.label").remove();var j=O.append("g").attr("class","label"),z=N2e(j,A),V=f[A.shape],Y=Tj(z.node().getBBox(),"width","height");A.elem=this,A.id&&O.attr("id",A.id),A.labelId&&j.attr("id",A.labelId),dc(A,"width")&&(Y.width=A.width),dc(A,"height")&&(Y.height=A.height),Y.width+=A.paddingLeft+A.paddingRight,Y.height+=A.paddingTop+A.paddingBottom,j.attr("transform","translate("+(A.paddingLeft-A.paddingRight)/2+","+(A.paddingTop-A.paddingBottom)/2+")");var G=
`),v.style===void 0&&(z.style=z.style||"stroke: #333; stroke-width: 1.5px;fill:none"),z.labelStyle=z.labelStyle.replace("color:","fill:"))),z.id=A,z.class=O+" "+j,z.minlen=v.length||1,o.setEdge(f.db.lookUpDomId(v.start),f.db.lookUpDomId(v.end),z,m)})},TQt={setConf:EQt,addVertices:Qqe,addEdges:Zqe,getClasses:function(s,o){ne.info("Extracting classes"),o.db.clear();try{return o.parse(s),o.db.getClasses()}catch(f){return ne.error(f),{}}},draw:function(s,o,f,m){ne.info("Drawing flowchart"),m.db.clear();const{securityLevel:y,flowchart:k}=Qt();let v;y==="sandbox"&&(v=Or("#i"+o));const A=Or(y==="sandbox"?v.nodes()[0].contentDocument.body:"body"),O=y==="sandbox"?v.nodes()[0].contentDocument:document;try{m.parser.parse(s)}catch{ne.debug("Parsing failed")}let j=m.db.getDirection();j===void 0&&(j="TD");const z=k.nodeSpacing||50,V=k.rankSpacing||50,Y=new P1({multigraph:!0,compound:!0}).setGraph({rankdir:j,nodesep:z,ranksep:V,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});let G;const J=m.db.getSubGraphs();for(let Ve=J.length-1;Ve>=0;Ve--)G=J[Ve],m.db.addVertex(G.id,G.title,"group",void 0,G.classes);const ce=m.db.getVertices();ne.warn("Get vertices",ce);const me=m.db.getEdges();let _e=0;for(_e=J.length-1;_e>=0;_e--){G=J[_e],hve("cluster").append("text");for(let Ve=0;Ve<G.nodes.length;Ve++)ne.warn("Setting subgraph",G.nodes[Ve],m.db.lookUpDomId(G.nodes[Ve]),m.db.lookUpDomId(G.id)),Y.setParent(m.db.lookUpDomId(G.nodes[Ve]),m.db.lookUpDomId(G.id))}Qqe(ce,Y,o,A,O,m),Zqe(me,Y,m);const we=new mQt;kQt.addToRender(we),we.arrows().none=function(ke,Ie,ge,Me){const xe=ke.append("marker").attr("id",Ie).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 0 0 L 0 0 L 0 0 z");K5(xe,ge[Me+"Style"])},we.arrows().normal=function(ke,Ie){ke.append("marker").attr("id",Ie).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowheadPath").style("stroke-width",1).style("stroke-dasharray","1,0")};const Se=A.select(`[id="${o}"]`),Oe=A.select("#"+o+" g");for(we(Oe,Y),Oe.selectAll("g.node").attr("title",function(){return m.db.getTooltip(this.id)}),m.db.indexNodes("subGraph"+_e),_e=0;_e<J.length;_e++)if(G=J[_e],G.title!=="undefined"){const Ve=O.querySelectorAll("#"+o+' [id="'+m.db.lookUpDomId(G.id)+'"] rect'),ke=O.querySelectorAll("#"+o+' [id="'+m.db.lookUpDomId(G.id)+'"]'),Ie=Ve[0].x.baseVal.value,ge=Ve[0].y.baseVal.value,Me=Ve[0].width.baseVal.value,xe=Or(ke[0]).select(".label");xe.attr("transform",`translate(${Ie+Me/2}, ${ge+14})`),xe.attr("id",o+"Text");for(let qe=0;qe<G.classes.length;qe++)ke[0].classList.add(G.classes[qe])}if(!k.htmlLabels){const Ve=O.querySelectorAll('[id="'+o+'"] .edgeLabel .label');for(const ke of Ve){const Ie=ke.getBBox(),ge=O.createElementNS("http://www.w3.org/2000/svg","rect");ge.setAttribute("rx",0),ge.setAttribute("ry",0),ge.setAttribute("width",Ie.width),ge.setAttribute("height",Ie.height),ke.insertBefore(ge,ke.firstChild)}}CS(Y,Se,k.diagramPadding,k.useMaxWidth),Object.keys(ce).forEach(function(Ve){const ke=ce[Ve];if(ke.link){const Ie=A.select("#"+o+' [id="'+m.db.lookUpDomId(Ve)+'"]');if(Ie){const ge=O.createElementNS("http://www.w3.org/2000/svg","a");ge.setAttributeNS("http://www.w3.org/2000/svg","class",ke.classes.join(" ")),ge.setAttributeNS("http://www.w3.org/2000/svg","href",ke.link),ge.setAttributeNS("http://www.w3.org/2000/svg","rel","noopener"),y==="sandbox"?ge.setAttributeNS("http://www.w3.org/2000/svg","target","_top"):ke.linkTarget&&ge.setAttributeNS("http://www.w3.org/2000/svg","target",ke.linkTarget);const Me=Ie.insert(function(){return ge},":first-child"),Ne=Ie.select(".label-container");Ne&&Me.append(function(){return Ne.node()});const xe=Ie.select(".label");xe&&Me.append(function(){return xe.node()})}}})}},Jqe={},SQt=function(s){const o=Object.keys(s);for(const f of o)Jqe[f]=s[f]},eUe=function(s,o
`),A.style===void 0&&(Y.style=Y.style||"stroke: #333; stroke-width: 1.5px;fill:none;"),Y.labelStyle=Y.labelStyle.replace("color:","fill:"),Y.id=j,Y.classes="flowchart-link "+z+" "+V,o.setEdge(A.start,A.end,Y,m)})},z2e={setConf:SQt,addVertices:eUe,addEdges:tUe,getClasses:function(s,o){ne.info("Extracting classes"),o.db.clear();try{return o.parse(s),o.db.getClasses()}catch{return}},draw:function(s,o,f,m){ne.info("Drawing flowchart"),m.db.clear(),W5.setGen("gen-2"),m.parser.parse(s);let y=m.db.getDirection();y===void 0&&(y="TD");const{securityLevel:k,flowchart:v}=Qt(),A=v.nodeSpacing||50,O=v.rankSpacing||50;let j;k==="sandbox"&&(j=Or("#i"+o));const z=Or(k==="sandbox"?j.nodes()[0].contentDocument.body:"body"),V=k==="sandbox"?j.nodes()[0].contentDocument:document,Y=new P1({multigraph:!0,compound:!0}).setGraph({rankdir:y,nodesep:A,ranksep:O,marginx:0,marginy:0}).setDefaultEdgeLabel(function(){return{}});let G;const J=m.db.getSubGraphs();ne.info("Subgraphs - ",J);for(let De=J.length-1;De>=0;De--)G=J[De],ne.info("Subgraph - ",G),m.db.addVertex(G.id,G.title,"group",void 0,G.classes,G.dir);const ce=m.db.getVertices(),me=m.db.getEdges();ne.info("Edges",me);let _e=0;for(_e=J.length-1;_e>=0;_e--){G=J[_e],hve("cluster").append("text");for(let De=0;De<G.nodes.length;De++)ne.info("Setting up subgraphs",G.nodes[De],G.id),Y.setParent(G.nodes[De],G.id)}eUe(ce,Y,o,z,V,m),tUe(me,Y);const we=z.select(`[id="${o}"]`),Se=z.select("#"+o+" g");if(E2e(Se,Y,["point","circle","cross"],"flowchart",o),Go.insertTitle(we,"flowchartTitleText",v.titleTopMargin,m.db.getDiagramTitle()),CS(Y,we,v.diagramPadding,v.useMaxWidth),m.db.indexNodes("subGraph"+_e),!v.htmlLabels){const De=V.querySelectorAll('[id="'+o+'"] .edgeLabel .label');for(const Ve of De){const ke=Ve.getBBox(),Ie=V.createElementNS("http://www.w3.org/2000/svg","rect");Ie.setAttribute("rx",0),Ie.setAttribute("ry",0),Ie.setAttribute("width",ke.width),Ie.setAttribute("height",ke.height),Ve.insertBefore(Ie,Ve.firstChild)}}Object.keys(ce).forEach(function(De){const Ve=ce[De];if(Ve.link){const ke=Or("#"+o+' [id="'+De+'"]');if(ke){const Ie=V.createElementNS("http://www.w3.org/2000/svg","a");Ie.setAttributeNS("http://www.w3.org/2000/svg","class",Ve.classes.join(" ")),Ie.setAttributeNS("http://www.w3.org/2000/svg","href",Ve.link),Ie.setAttributeNS("http://www.w3.org/2000/svg","rel","noopener"),k==="sandbox"?Ie.setAttributeNS("http://www.w3.org/2000/svg","target","_top"):Ve.linkTarget&&Ie.setAttributeNS("http://www.w3.org/2000/svg","target",Ve.linkTarget);const ge=ke.insert(function(){return Ie},":first-child"),Me=ke.select(".label-container");Me&&ge.append(function(){return Me.node()});const Ne=ke.select(".label");Ne&&ge.append(function(){return Ne.node()})}}})}};var V2e=function(){var s=function(Ie,ge,Me,Ne){for(Me=Me||{},Ne=Ie.length;Ne--;Me[Ie[Ne]]=ge);return Me},o=[1,3],f=[1,5],m=[7,9,11,12,13,14,15,16,17,18,19,20,21,23,25,26,28,35,40],y=[1,15],k=[1,16],v=[1,17],A=[1,18],O=[1,19],j=[1,20],z=[1,21],V=[1,22],Y=[1,23],G=[1,24],J=[1,25],ce=[1,26],me=[1,27],_e=[1,29],we=[1,31],Se=[1,34],Oe=[5,7,9,11,12,13,14,15,16,17,18,19,20,21,23,25,26,28,35,40],De={trace:function(){},yy:{},symbols_:{error:2,start:3,directive:4,gantt:5,document:6,EOF:7,line:8,SPACE:9,statement:10,NL:11,dateFormat:12,inclusiveEndDates:13,topAxis:14,axisFormat:15,tickInterval:16,excludes:17,includes:18,todayMarker:19,title:20,acc_title:21,acc_title_value:22,acc_descr:23,acc_descr_value:24,acc_descr_multiline_value:25,section:26,clickStatement:27,taskTxt:28,taskData:29,openDirective:30,typeDirective:31,closeDirective:32,":":33,argDirective:34,click:35,callbackname:36,callbackargs:37,href:38,clickStatementDebug:39,open_directive:40,type_directive:41,arg_directive:42,close_directive:43,$accept:0,$end:1},terminals_:{2:"error",5:"gantt",7:"EOF",9:"SPACE",11:"NL",12:"dateFormat",13:"inclusiveEndDates",14:"topAxis",15:"axisFormat",16:"tickInterval",17:"excludes",18:"includes",19:"todayMarker",20:"title",21:"acc_title",22:"acc_title_value",23:"acc_descr",24:"acc_descr_value",25:"acc_descr_multiline_value",26:"section",28:"taskTxt",29:"taskData",33
`+Rt.showPosition()+`
Expecting `+Zn.join(", ")+", got '"+(this.terminals_[Ft]||Ft)+"'":Ge="Parse error on line "+(nt+1)+": Unexpected "+(Ft==Ot?"end of input":"'"+(this.terminals_[Ft]||Ft)+"'"),this.parseError(Ge,{text:Rt.match,token:this.terminals_[Ft]||Ft,line:Rt.yylineno,loc:On,expected:Zn})}if(Pt[0]instanceof Array&&Pt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+$t+", token: "+Ft);switch(Pt[0]){case 1:Ne.push(Ft),qe.push(Rt.yytext),ae.push(Rt.yylloc),Ne.push(Pt[1]),Ft=null,Ee=Rt.yyleng,Ce=Rt.yytext,nt=Rt.yylineno,On=Rt.yylloc;break;case 2:if(Ut=this.productions_[Pt[1]][1],et.$=qe[qe.length-Ut],et._$={first_line:ae[ae.length-(Ut||1)].first_line,last_line:ae[ae.length-1].last_line,first_column:ae[ae.length-(Ut||1)].first_column,last_column:ae[ae.length-1].last_column},Dt&&(et._$.range=[ae[ae.length-(Ut||1)].range[0],ae[ae.length-1].range[1]]),qt=this.performAction.apply(et,[Ce,Ee,nt,Gt.yy,Pt[1],qe,ae].concat(Vt)),typeof qt<"u")return qt;Ut&&(Ne=Ne.slice(0,-1*Ut*2),qe=qe.slice(0,-1*Ut),ae=ae.slice(0,-1*Ut)),Ne.push(this.productions_[Pt[1]][0]),qe.push(et.$),ae.push(et._$),it=Qe[Ne[Ne.length-2]][Ne[Ne.length-1]],Ne.push(it);break;case 3:return!0}}return!0}},Ve=function(){var Ie={EOF:1,parseError:function(Me,Ne){if(this.yy.parser)this.yy.parser.parseError(Me,Ne);else throw new Error(Me)},setInput:function(ge,Me){return this.yy=Me||this.yy||{},this._input=ge,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var ge=this._input[0];this.yytext+=ge,this.yyleng++,this.offset++,this.match+=ge,this.matched+=ge;var Me=ge.match(/(?:\r\n?|\n).*/g);return Me?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),ge},unput:function(ge){var Me=ge.length,Ne=ge.split(/(?:\r\n?|\n)/g);this._input=ge+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Me),this.offset-=Me;var xe=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Ne.length-1&&(this.yylineno-=Ne.length-1);var qe=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Ne?(Ne.length===xe.length?this.yylloc.first_column:0)+xe[xe.length-Ne.length].length-Ne[0].length:this.yylloc.first_column-Me},this.options.ranges&&(this.yylloc.range=[qe[0],qe[0]+this.yyleng-Me]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(ge){this.unput(this.match.slice(ge))},pastInput:function(){var ge=this.matched.substr(0,this.matched.length-this.match.length);return(ge.length>20?"...":"")+ge.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var ge=this.match;return ge.length<20&&(ge+=this._input.substr(0,20-ge.length)),(ge.substr(0,20)+(ge.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var ge=this.pastInput(),Me=new Array(ge.length+1).join("-");return ge+this.upcomingInput()+`
`+Me+"^"},test_match:function(ge,Me){var Ne,xe,qe;if(this.options.backtrack_lexer&&(qe={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(qe.yylloc.range=this.yylloc.range.slice(0))),xe=ge[0].match(/(?:\r\n?|\n).*/g),xe&&(this.yylineno+=xe.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:xe?xe[xe.length-1].length-xe[xe.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+ge[0].length},this.yytext+=ge[0],this.match+=ge[0],this.matches=ge,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(ge[0].length),this.matched+=ge[0],Ne=this.performAction.call(this,this.yy,this,Me,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Ne)return Ne;if(this._backtrack){for(var ae in qe)this[ae]=qe[ae];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var ge,Me,Ne,xe;this._more||(this.yytext="",this.match="");for(var qe=this._currentRules(),ae=0;ae<qe.length;ae++)if(Ne=this._input.match(this.rules[qe[ae]]),Ne&&(!Me||Ne[0].length>Me[0].length)){if(Me=Ne,xe=ae,this.options.backtrack_lexer){if(ge=this.test_match(Ne,qe[ae]),ge!==!1)return ge;if(this._backtrack){Me=!1;continue}else return!1}else if(!this.options.flex)break}return Me?(ge=this.test_match(Me,qe[xe]),ge!==!1?ge:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Me=this.next();return Me||this.lex()},begin:function(Me){this.conditionStack.push(Me)},popState:function(){var Me=this.conditionStack.length-1;return Me>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Me){return Me=this.conditionStack.length-1-Math.abs(Me||0),Me>=0?this.conditionStack[Me]:"INITIAL"},pushState:function(Me){this.begin(Me)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(Me,Ne,xe,qe){switch(xe){case 0:return this.begin("open_directive"),40;case 1:return this.begin("type_directive"),41;case 2:return this.popState(),this.begin("arg_directive"),33;case 3:return this.popState(),this.popState(),43;case 4:return 42;case 5:return this.begin("acc_title"),21;case 6:return this.popState(),"acc_title_value";case 7:return this.begin("acc_descr"),23;case 8:return this.popState(),"acc_descr_value";case 9:this.begin("acc_descr_multiline");break;case 10:this.popState();break;case 11:return"acc_descr_multiline_value";case 12:break;case 13:break;case 14:break;case 15:return 11;case 16:break;case 17:break;case 18:break;case 19:this.begin("href");break;case 20:this.popState();break;case 21:return 38;case 22:this.begin("callbackname");break;case 23:this.popState();break;case 24:this.popState(),this.begin("callbackargs");break;case 25:return 36;case 26:this.popState();break;case 27:return 37;case 28:this.begin("click");break;case 29:this.popState();break;case 30:return 35;case 31:return 5;case 32:return 12;case 33:return 13;case 34:return 14;case 35:return 15;case 36:return 16;case 37:return 18;case 38:return 17;case 39:return 19;case 40:return"date";case 41:return 20;case 42:return"accDescription";case 43:return 26;case 44:return 28;case 45:return 29;case 46:return 33;case 47:return 7;case 48:return"INVALID"}},rules:[/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:%%(?!\{)*[^\n]*)/i,/^(?:[^\}]%%*[^\n]*)/i,/^(?:%%*[^\n]*[\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:href[\s]+["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:call[\s]+)/i,/^(?:\([\s]*\))/i,/^(?:\()/i,/^(?:[^(]*)/i,/^(?:\))/i,/^(?:[^)]*)/i,/^(?:click[\s]+)/i,/^(?:[\s\n])/i,/^(?:[^\s\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:inclusiveEndDates\b)/i,/^(?:topAxis\b)/i,/^(?:axisFormat\s[^#\n;]+)/i,/^(?:tickInterval\s[^#\n;]+)/i,/^(?:includes\s[^#\n;]+)/i,/^(?:excludes\s[^#\n;]+)/i,/^(?:todayMarker\s[^\n;]+)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accDescription\s[^#\n;]+)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[10,11],inclusive:!1},acc_descr:{rules:[8],inclusive:!1},acc_title:{rules:[6],inclusive:!1},close_directive:{rules:[],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},open_directive:{rules:[1],inclusive:!1},callbackargs:{rules:[26,27],inclusive:!1},callbackname:{rules:[23,24,25],inclusive:!1},href:{rules:[20,21],inclusive:!1},click:{rules:[29,30],inclusive:!1},INITIAL:{rules:[0,5,7,9,12,13,14,15,16,17,18,19,22,28,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48],inclusive:!0}}};return Ie}();De.lexer=Ve;function ke(){this.yy={}}return ke.prototype=De,De.Parser=ke,new ke}();V2e.parser=V2e;const CQt=V2e,AQt=s=>s.match(/^\s*gantt/)!==null;var q2e={},MQt={get exports(){return q2e},set exports(s){q2e=s}};(function(s,o){(function(f,m){s.exports=m()})(D,function(){var f="day";return function(m,y,k){var v=function(j){return j.add(4-j.isoWeekday(),f)},A=y.prototype;A.isoWeekYear=function(){return v(this).
`+Se.showPosition()+`
Expecting `+nt.join(", ")+", got '"+(this.terminals_[ge]||ge)+"'":Ee="Parse error on line "+(J+1)+": Unexpected "+(ge==_e?"end of input":"'"+(this.terminals_[ge]||ge)+"'"),this.parseError(Ee,{text:Se.match,token:this.terminals_[ge]||ge,line:Se.yylineno,loc:Ve,expected:nt})}if(Ne[0]instanceof Array&&Ne.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Me+", token: "+ge);switch(Ne[0]){case 1:O.push(ge),z.push(Se.yytext),V.push(Se.yylloc),O.push(Ne[1]),ge=null,ce=Se.yyleng,G=Se.yytext,J=Se.yylineno,Ve=Se.yylloc;break;case 2:if(Qe=this.productions_[Ne[1]][1],qe.$=z[z.length-Qe],qe._$={first_line:V[V.length-(Qe||1)].first_line,last_line:V[V.length-1].last_line,first_column:V[V.length-(Qe||1)].first_column,last_column:V[V.length-1].last_column},ke&&(qe._$.range=[V[V.length-(Qe||1)].range[0],V[V.length-1].range[1]]),xe=this.performAction.apply(qe,[G,ce,J,Oe.yy,Ne[1],z,V].concat(we)),typeof xe<"u")return xe;Qe&&(O=O.slice(0,-1*Qe*2),z=z.slice(0,-1*Qe),V=V.slice(0,-1*Qe)),O.push(this.productions_[Ne[1]][0]),z.push(qe.$),V.push(qe._$),Ce=Y[O[O.length-2]][O[O.length-1]],O.push(Ce);break;case 3:return!0}}return!0}},m=function(){var k={EOF:1,parseError:function(A,O){if(this.yy.parser)this.yy.parser.parseError(A,O);else throw new Error(A)},setInput:function(v,A){return this.yy=A||this.yy||{},this._input=v,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var v=this._input[0];this.yytext+=v,this.yyleng++,this.offset++,this.match+=v,this.matched+=v;var A=v.match(/(?:\r\n?|\n).*/g);return A?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),v},unput:function(v){var A=v.length,O=v.split(/(?:\r\n?|\n)/g);this._input=v+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-A),this.offset-=A;var j=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),O.length-1&&(this.yylineno-=O.length-1);var z=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:O?(O.length===j.length?this.yylloc.first_column:0)+j[j.length-O.length].length-O[0].length:this.yylloc.first_column-A},this.options.ranges&&(this.yylloc.range=[z[0],z[0]+this.yyleng-A]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(v){this.unput(this.match.slice(v))},pastInput:function(){var v=this.matched.substr(0,this.matched.length-this.match.length);return(v.length>20?"...":"")+v.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var v=this.match;return v.length<20&&(v+=this._input.substr(0,20-v.length)),(v.substr(0,20)+(v.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var v=this.pastInput(),A=new Array(v.length+1).join("-");return v+this.upcomingInput()+`
`+A+"^"},test_match:function(v,A){var O,j,z;if(this.options.backtrack_lexer&&(z={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(z.yylloc.range=this.yylloc.range.slice(0))),j=v[0].match(/(?:\r\n?|\n).*/g),j&&(this.yylineno+=j.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:j?j[j.length-1].length-j[j.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+v[0].length},this.yytext+=v[0],this.match+=v[0],this.matches=v,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(v[0].length),this.matched+=v[0],O=this.performAction.call(this,this.yy,this,A,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),O)return O;if(this._backtrack){for(var V in z)this[V]=z[V];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var v,A,O,j;this._more||(this.yytext="",this.match="");for(var z=this._currentRules(),V=0;V<z.length;V++)if(O=this._input.match(this.rules[z[V]]),O&&(!A||O[0].length>A[0].length)){if(A=O,j=V,this.options.backtrack_lexer){if(v=this.test_match(O,z[V]),v!==!1)return v;if(this._backtrack){A=!1;continue}else return!1}else if(!this.options.flex)break}return A?(v=this.test_match(A,z[j]),v!==!1?v:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var A=this.next();return A||this.lex()},begin:function(A){this.conditionStack.push(A)},popState:function(){var A=this.conditionStack.length-1;return A>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(A){return A=this.conditionStack.length-1-Math.abs(A||0),A>=0?this.conditionStack[A]:"INITIAL"},pushState:function(A){this.begin(A)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(A,O,j,z){switch(j){case 0:return 4;case 1:return 9;case 2:return"space";case 3:return 10;case 4:return 6;case 5:return"TXT"}},rules:[/^(?:info\b)/i,/^(?:[\s\n\r]+)/i,/^(?:[\s]+)/i,/^(?:showInfo\b)/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5],inclusive:!0}}};return k}();f.lexer=m;function y(){this.yy={}}return y.prototype=f,f.Parser=y,new y}();iwe.parser=iwe;const fZt=iwe;var fUe="",dUe=!1;const dZt={setMessage:s=>{ne.debug("Setting message to: "+s),fUe=s},getMessage:()=>fUe,setInfo:s=>{dUe=s},getInfo:()=>dUe,clear:hv},gZt={draw:(s,o,f)=>{try{ne.debug(`Rendering info diagram
`+s);const m=Qt().securityLevel;let y;m==="sandbox"&&(y=Or("#i"+o));const v=Or(m==="sandbox"?y.nodes()[0].contentDocument.body:"body").select("#"+o);v.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size","32px").style("text-anchor","middle").text("v "+f),v.attr("height",100),v.attr("width",400)}catch(m){ne.error("Error while rendering info diagram"),ne.error(m.message)}}},pZt=s=>s.match(/^\s*info/)!==null;var swe=function(){var s=function(Ve,ke,Ie,ge){for(Ie=Ie||{},ge=Ve.length;ge--;Ie[Ve[ge]]=ke);return Ie},o=[1,4],f=[1,5],m=[1,6],y=[1,7],k=[1,9],v=[1,11,13,15,17,19,20,26,27,28,29],A=[2,5],O=[1,6,11,13,15,17,19,20,26,27,28,29],j=[26,27,28],z=[2,8],V=[1,18],Y=[1,19],G=[1,20],J=[1,21],ce=[1,22],me=[1,23],_e=[1,28],we=[6,26,27,28,29],Se={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,directive:5,PIE:6,document:7,showData:8,line:9,statement:10,txt:11,value:12,title:13,title_value:14,acc_title:15,acc_title_value:16,acc_descr:17,acc_descr_value:18,acc_descr_multiline_value:19,section:20,openDirective:21,typeDirective:22,closeDirective:23,":":24,argDirective:25,NEWLINE:26,";":27,EOF:28,open_directive:29,type_directive:30,arg_directive:31,close_directive:32,$accept:0,$end:1},terminals_:{2:"error",6:"PIE",8:"showData",11:"txt",12:"value",13:"title",14:"title_value",15:"acc_title",16:"acc_title_value",17:"acc_descr",18:"acc_descr_value",19:"acc_descr_multiline_value",20:"section",24:":",26:"NEWLINE",27:";",28:"EOF",29:"open_directive",30:"type_directive",31:"arg_directive",32:"close_directive"},productions_:[0,[3,2],[3,2],[3,2],[3,3],[7,0],[7,2],[9,2],[10,0],[10,2],[10,2],[10,2],[10,2],[10,1],[10,1],[10,1],[5,3],[5,5],[4,1],[4,1],[4,1],[21,1],[22,1],[25,1],[23,1]],performAction:function(ke,Ie,ge,Me,Ne,xe,qe){var ae=xe.length-1;switch(Ne){case 4:Me.setShowData(!0);break;case 7:this.$=xe[ae-1];break;case 9:Me.addSection(xe[ae-1],Me.cleanupValue(xe[ae]));break;case 10:this.$=xe[ae].trim(),Me.setDiagramTitle(this.$);break;case 11:this.$=xe[ae].trim(),Me.setAccTitle(this.$);break;case 12:case 13:this.$=xe[ae].trim(),Me.setAccDescription(this.$);break;case 14:Me.addSection(xe[ae].substr(8)),this.$=xe[ae].substr(8);break;case 21:Me.parseDirective("%%{","open_directive");break;case 22:Me.parseDirective(xe[ae],"type_directive");break;case 23:xe[ae]=xe[ae].trim().replace(/'/g,'"'),Me.parseDirective(xe[ae],"arg_directive");break;case 24:Me.parseDirective("}%%","close_directive","pie");break}},table:[{3:1,4:2,5:3,6:o,21:8,26:f,27:m,28:y,29:k},{1:[3]},{3:10,4:2,5:3,6:o,21:8,26:f,27:m,28:y,29:k},{3:11,4:2,5:3,6:o,21:8,26:f,27:m,28:y,29:k},s(v,A,{7:12,8:[1,13]}),s(O,[2,18]),s(O,[2,19]),s(O,[2,20]),{22:14,30:[1,15]},{30:[2,21]},{1:[2,1]},{1:[2,2]},s(j,z,{21:8,9:16,10:17,5:24,1:[2,3],11:V,13:Y,15:G,17:J,19:ce,20:me,29:k}),s(v,A,{7:25}),{23:26,24:[1,27],32:_e},s([24,32],[2,22]),s(v,[2,6]),{4:29,26:f,27:m,28:y},{12:[1,30]},{14:[1,31]},{16:[1,32]},{18:[1,33]},s(j,[2,13]),s(j,[2,14]),s(j,[2,15]),s(j,z,{21:8,9:16,10:17,5:24,1:[2,4],11:V,13:Y,15:G,17:J,19:ce,20:me,29:k}),s(we,[2,16]),{25:34,31:[1,35]},s(we,[2,24]),s(v,[2,7]),s(j,[2,9]),s(j,[2,10]),s(j,[2,11]),s(j,[2,12]),{23:36,32:_e},{32:[2,23]},s(we,[2,17])],defaultActions:{9:[2,21],10:[2,1],11:[2,2],35:[2,23]},parseError:function(ke,Ie){if(Ie.recoverable)this.trace(ke);else{var ge=new Error(ke);throw ge.hash=Ie,ge}},parse:function(ke){var Ie=this,ge=[0],Me=[],Ne=[null],xe=[],qe=this.table,ae="",Qe=0,Ce=0,nt=2,Ee=1,kt=xe.slice.call(arguments,1),Ot=Object.create(this.lexer),Vt={yy:{}};for(var Rt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Rt)&&(Vt.yy[Rt]=this.yy[Rt]);Ot.setInput(ke,Vt.yy),Vt.yy.lexer=Ot,Vt.yy.parser=this,typeof Ot.yylloc>"u"&&(Ot.yylloc={});var Gt=Ot.yylloc;xe.push(Gt);var _n=Ot.options&&Ot.options.ranges;typeof Vt.yy.parseError=="function"?this.parseError=Vt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function On(){var Zn;return Zn=Me.pop()||Ot.lex()||Ee,typeof Zn!="number"&&(Zn instanceof Array&&(Me=Zn,Zn=Me.pop()),Zn=Ie.symbols_[Zn]||Zn),Zn}for(var Dt,ai,Ft,$t,Pt={},qt,et,ht,Ut;;){if(ai=ge[ge.
`+Ot.showPosition()+`
Expecting `+Ut.join(", ")+", got '"+(this.terminals_[Dt]||Dt)+"'":it="Parse error on line "+(Qe+1)+": Unexpected "+(Dt==Ee?"end of input":"'"+(this.terminals_[Dt]||Dt)+"'"),this.parseError(it,{text:Ot.match,token:this.terminals_[Dt]||Dt,line:Ot.yylineno,loc:Gt,expected:Ut})}if(Ft[0]instanceof Array&&Ft.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ai+", token: "+Dt);switch(Ft[0]){case 1:ge.push(Dt),Ne.push(Ot.yytext),xe.push(Ot.yylloc),ge.push(Ft[1]),Dt=null,Ce=Ot.yyleng,ae=Ot.yytext,Qe=Ot.yylineno,Gt=Ot.yylloc;break;case 2:if(et=this.productions_[Ft[1]][1],Pt.$=Ne[Ne.length-et],Pt._$={first_line:xe[xe.length-(et||1)].first_line,last_line:xe[xe.length-1].last_line,first_column:xe[xe.length-(et||1)].first_column,last_column:xe[xe.length-1].last_column},_n&&(Pt._$.range=[xe[xe.length-(et||1)].range[0],xe[xe.length-1].range[1]]),$t=this.performAction.apply(Pt,[ae,Ce,Qe,Vt.yy,Ft[1],Ne,xe].concat(kt)),typeof $t<"u")return $t;et&&(ge=ge.slice(0,-1*et*2),Ne=Ne.slice(0,-1*et),xe=xe.slice(0,-1*et)),ge.push(this.productions_[Ft[1]][0]),Ne.push(Pt.$),xe.push(Pt._$),ht=qe[ge[ge.length-2]][ge[ge.length-1]],ge.push(ht);break;case 3:return!0}}return!0}},Oe=function(){var Ve={EOF:1,parseError:function(Ie,ge){if(this.yy.parser)this.yy.parser.parseError(Ie,ge);else throw new Error(Ie)},setInput:function(ke,Ie){return this.yy=Ie||this.yy||{},this._input=ke,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var ke=this._input[0];this.yytext+=ke,this.yyleng++,this.offset++,this.match+=ke,this.matched+=ke;var Ie=ke.match(/(?:\r\n?|\n).*/g);return Ie?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),ke},unput:function(ke){var Ie=ke.length,ge=ke.split(/(?:\r\n?|\n)/g);this._input=ke+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Ie),this.offset-=Ie;var Me=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),ge.length-1&&(this.yylineno-=ge.length-1);var Ne=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:ge?(ge.length===Me.length?this.yylloc.first_column:0)+Me[Me.length-ge.length].length-ge[0].length:this.yylloc.first_column-Ie},this.options.ranges&&(this.yylloc.range=[Ne[0],Ne[0]+this.yyleng-Ie]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(ke){this.unput(this.match.slice(ke))},pastInput:function(){var ke=this.matched.substr(0,this.matched.length-this.match.length);return(ke.length>20?"...":"")+ke.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var ke=this.match;return ke.length<20&&(ke+=this._input.substr(0,20-ke.length)),(ke.substr(0,20)+(ke.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var ke=this.pastInput(),Ie=new Array(ke.length+1).join("-");return ke+this.upcomingInput()+`
`+Ie+"^"},test_match:function(ke,Ie){var ge,Me,Ne;if(this.options.backtrack_lexer&&(Ne={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Ne.yylloc.range=this.yylloc.range.slice(0))),Me=ke[0].match(/(?:\r\n?|\n).*/g),Me&&(this.yylineno+=Me.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Me?Me[Me.length-1].length-Me[Me.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+ke[0].length},this.yytext+=ke[0],this.match+=ke[0],this.matches=ke,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(ke[0].length),this.matched+=ke[0],ge=this.performAction.call(this,this.yy,this,Ie,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),ge)return ge;if(this._backtrack){for(var xe in Ne)this[xe]=Ne[xe];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var ke,Ie,ge,Me;this._more||(this.yytext="",this.match="");for(var Ne=this._currentRules(),xe=0;xe<Ne.length;xe++)if(ge=this._input.match(this.rules[Ne[xe]]),ge&&(!Ie||ge[0].length>Ie[0].length)){if(Ie=ge,Me=xe,this.options.backtrack_lexer){if(ke=this.test_match(ge,Ne[xe]),ke!==!1)return ke;if(this._backtrack){Ie=!1;continue}else return!1}else if(!this.options.flex)break}return Ie?(ke=this.test_match(Ie,Ne[Me]),ke!==!1?ke:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Ie=this.next();return Ie||this.lex()},begin:function(Ie){this.conditionStack.push(Ie)},popState:function(){var Ie=this.conditionStack.length-1;return Ie>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Ie){return Ie=this.conditionStack.length-1-Math.abs(Ie||0),Ie>=0?this.conditionStack[Ie]:"INITIAL"},pushState:function(Ie){this.begin(Ie)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(Ie,ge,Me,Ne){switch(Me){case 0:return this.begin("open_directive"),29;case 1:return this.begin("type_directive"),30;case 2:return this.popState(),this.begin("arg_directive"),24;case 3:return this.popState(),this.popState(),32;case 4:return 31;case 5:break;case 6:break;case 7:return 26;case 8:break;case 9:break;case 10:return this.begin("title"),13;case 11:return this.popState(),"title_value";case 12:return this.begin("acc_title"),15;case 13:return this.popState(),"acc_title_value";case 14:return this.begin("acc_descr"),17;case 15:return this.popState(),"acc_descr_value";case 16:this.begin("acc_descr_multiline");break;case 17:this.popState();break;case 18:return"acc_descr_multiline_value";case 19:this.begin("string");break;case 20:this.popState();break;case 21:return"txt";case 22:return 6;case 23:return 8;case 24:return"value";case 25:return 28}},rules:[/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:[\s]+)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:pie\b)/i,/^(?:showData\b)/i,/^(?::[\s]*[\d]+(?:\.[\d]+)?)/i,/^(?:$)/i],conditions:{acc_descr_multiline:{rules:[17,18],inclusive:!1},acc_descr:{rules:[15],inclusive:!1},acc_title:{rules:[13],inclusive:!1},close_directive:{rules:[],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},open_directive:{rules:[1],inclusive:!1},title:{rules:[11],inclusive:!1},string:{rules:[20,21],inclusive:!1},INITIAL:{rules:[0,5,6,7,8,9,10,12,14,16,19,22,23,24,25],inclusive:!0}}};return Ve}();Se.lexer=Oe;function De(){this.yy={}}return De.prototype=Se,Se.Parser=De,new De}();swe.parser=swe;const mZt=swe,vZt=s=>s.match(/^\s*pie/)!==null||s.match(/^\s*bar/)!==null;let FJ={},awe=!1;const bZt={parseDirective:function(s,o,f){Sf.parseDirective(this,s,o,f)},getConfig:()=>Qt().pie,addSection:function(s,o){s=Oo.sanitizeText(s,Qt()),FJ[s]===void 0&&(FJ[s]=o,ne.debug("Added new section :",s))},getSections:()=>FJ,cleanupValue:function(s){return s.substring(0,1)===":"&&(s=s.substring(1).trim()),Number(s.trim())},clear:function(){FJ={},awe=!1,hv()},setAccTitle:fv,getAccTitle:qb,setDiagramTitle:A3,getDiagramTitle:M3,setShowData:function(s){awe=s},getShowData:function(){return awe},getAccDescription:Gb,setAccDescription:Ub};let yx=Qt(),_x;const Hj=450,wZt={draw:(s,o,f,m)=>{try{yx=Qt(),ne.debug(`Rendering info diagram
`+s);const we=Qt().securityLevel;let Se;we==="sandbox"&&(Se=Or("#i"+o));const Oe=Or(we==="sandbox"?Se.nodes()[0].contentDocument.body:"body"),De=we==="sandbox"?Se.nodes()[0].contentDocument:document;m.db.clear(),m.parser.parse(s),ne.debug("Parsed info diagram");const Ve=De.getElementById(o);_x=Ve.parentElement.offsetWidth,_x===void 0&&(_x=1200),yx.useWidth!==void 0&&(_x=yx.useWidth),yx.pie.useWidth!==void 0&&(_x=yx.pie.useWidth);const ke=Oe.select("#"+o);C3(ke,Hj,_x,yx.pie.useMaxWidth),Ve.setAttribute("viewBox","0 0 "+_x+" "+Hj);var y=40,k=18,v=4,A=Math.min(_x,Hj)/2-y,O=ke.append("g").attr("transform","translate("+_x/2+","+Hj/2+")"),j=m.db.getSections(),z=0;Object.keys(j).forEach(function(ge){z+=j[ge]});const Ie=yx.themeVariables;var V=[Ie.pie1,Ie.pie2,Ie.pie3,Ie.pie4,Ie.pie5,Ie.pie6,Ie.pie7,Ie.pie8,Ie.pie9,Ie.pie10,Ie.pie11,Ie.pie12],Y=JFe().range(V),G=Object.entries(j).map(function(ge,Me){return{order:Me,name:ge[0],value:ge[1]}}),J=cNt().value(function(ge){return ge.value}).sort(function(ge,Me){return ge.order-Me.order}),ce=J(G),me=KF().innerRadius(0).outerRadius(A);O.selectAll("mySlices").data(ce).enter().append("path").attr("d",me).attr("fill",function(ge){return Y(ge.data.name)}).attr("class","pieCircle"),O.selectAll("mySlices").data(ce).enter().append("text").text(function(ge){return(ge.data.value/z*100).toFixed(0)+"%"}).attr("transform",function(ge){return"translate("+me.centroid(ge)+")"}).style("text-anchor","middle").attr("class","slice"),O.append("text").text(m.db.getDiagramTitle()).attr("x",0).attr("y",-(Hj-50)/2).attr("class","pieTitleText");var _e=O.selectAll(".legend").data(Y.domain()).enter().append("g").attr("class","legend").attr("transform",function(ge,Me){const Ne=k+v,xe=Ne*Y.domain().length/2,qe=12*k,ae=Me*Ne-xe;return"translate("+qe+","+ae+")"});_e.append("rect").attr("width",k).attr("height",k).style("fill",Y).style("stroke",Y),_e.data(ce).append("text").attr("x",k+v).attr("y",k-v).text(function(ge){return m.db.getShowData()||yx.showData||yx.pie.showData?ge.data.name+" ["+ge.data.value+"]":ge.data.name})}catch(we){ne.error("Error while rendering info diagram"),ne.error(we)}}};var owe=function(){var s=function(ai,Ft,$t,Pt){for($t=$t||{},Pt=ai.length;Pt--;$t[ai[Pt]]=Ft);return $t},o=[1,3],f=[1,5],m=[1,6],y=[1,7],k=[1,8],v=[5,6,8,14,16,18,19,40,41,42,43,44,45,53,71,72],A=[1,22],O=[2,13],j=[1,26],z=[1,27],V=[1,28],Y=[1,29],G=[1,30],J=[1,31],ce=[1,24],me=[1,32],_e=[1,33],we=[1,36],Se=[71,72],Oe=[5,8,14,16,18,19,40,41,42,43,44,45,53,60,62,71,72],De=[1,56],Ve=[1,57],ke=[1,58],Ie=[1,59],ge=[1,60],Me=[1,61],Ne=[1,62],xe=[62,63],qe=[1,74],ae=[1,70],Qe=[1,71],Ce=[1,72],nt=[1,73],Ee=[1,75],kt=[1,79],Ot=[1,80],Vt=[1,77],Rt=[1,78],Gt=[5,8,14,16,18,19,40,41,42,43,44,45,53,71,72],_n={trace:function(){},yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,openDirective:9,typeDirective:10,closeDirective:11,":":12,argDirective:13,acc_title:14,acc_title_value:15,acc_descr:16,acc_descr_value:17,acc_descr_multiline_value:18,open_directive:19,type_directive:20,arg_directive:21,close_directive:22,requirementDef:23,elementDef:24,relationshipDef:25,requirementType:26,requirementName:27,STRUCT_START:28,requirementBody:29,ID:30,COLONSEP:31,id:32,TEXT:33,text:34,RISK:35,riskLevel:36,VERIFYMTHD:37,verifyType:38,STRUCT_STOP:39,REQUIREMENT:40,FUNCTIONAL_REQUIREMENT:41,INTERFACE_REQUIREMENT:42,PERFORMANCE_REQUIREMENT:43,PHYSICAL_REQUIREMENT:44,DESIGN_CONSTRAINT:45,LOW_RISK:46,MED_RISK:47,HIGH_RISK:48,VERIFY_ANALYSIS:49,VERIFY_DEMONSTRATION:50,VERIFY_INSPECTION:51,VERIFY_TEST:52,ELEMENT:53,elementName:54,elementBody:55,TYPE:56,type:57,DOCREF:58,ref:59,END_ARROW_L:60,relationship:61,LINE:62,END_ARROW_R:63,CONTAINS:64,COPIES:65,DERIVES:66,SATISFIES:67,VERIFIES:68,REFINES:69,TRACES:70,unqString:71,qString:72,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",12:":",14:"acc_title",15:"acc_title_value",16:"acc_descr",17:"acc_descr_value",18:"acc_descr_multiline_value",19:"open_directive",20:"type_directive",21:"arg_directive",22:"close_directive",28:"STRUCT_START",30:"ID",31:"COLONSEP",33:"TEXT",35:
`+gi.showPosition()+`
Expecting `+Cs.join(", ")+", got '"+(this.terminals_[bo]||bo)+"'":Gr="Parse error on line "+(Zn+1)+": Unexpected "+(bo==xn?"end of input":"'"+(this.terminals_[bo]||bo)+"'"),this.parseError(Gr,{text:gi.match,token:this.terminals_[bo]||bo,line:gi.yylineno,loc:Sr,expected:Cs})}if(ra[0]instanceof Array&&ra.length>1)throw new Error("Parse Error: multiple actions possible at state: "+wo+", token: "+bo);switch(ra[0]){case 1:Pt.push(bo),et.push(gi.yytext),ht.push(gi.yylloc),Pt.push(ra[1]),bo=null,Ge=gi.yyleng,it=gi.yytext,Zn=gi.yylineno,Sr=gi.yylloc;break;case 2:if(co=this.productions_[ra[1]][1],yo.$=et[et.length-co],yo._$={first_line:ht[ht.length-(co||1)].first_line,last_line:ht[ht.length-1].last_line,first_column:ht[ht.length-(co||1)].first_column,last_column:ht[ht.length-1].last_column},or&&(yo._$.range=[ht[ht.length-(co||1)].range[0],ht[ht.length-1].range[1]]),Ys=this.performAction.apply(yo,[it,Ge,Zn,Cr.yy,ra[1],et,ht].concat(Zi)),typeof Ys<"u")return Ys;co&&(Pt=Pt.slice(0,-1*co*2),et=et.slice(0,-1*co),ht=ht.slice(0,-1*co)),Pt.push(this.productions_[ra[1]][0]),et.push(yo.$),ht.push(yo._$),Zs=Ut[Pt[Pt.length-2]][Pt[Pt.length-1]],Pt.push(Zs);break;case 3:return!0}}return!0}},On=function(){var ai={EOF:1,parseError:function($t,Pt){if(this.yy.parser)this.yy.parser.parseError($t,Pt);else throw new Error($t)},setInput:function(Ft,$t){return this.yy=$t||this.yy||{},this._input=Ft,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var Ft=this._input[0];this.yytext+=Ft,this.yyleng++,this.offset++,this.match+=Ft,this.matched+=Ft;var $t=Ft.match(/(?:\r\n?|\n).*/g);return $t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Ft},unput:function(Ft){var $t=Ft.length,Pt=Ft.split(/(?:\r\n?|\n)/g);this._input=Ft+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-$t),this.offset-=$t;var qt=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Pt.length-1&&(this.yylineno-=Pt.length-1);var et=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Pt?(Pt.length===qt.length?this.yylloc.first_column:0)+qt[qt.length-Pt.length].length-Pt[0].length:this.yylloc.first_column-$t},this.options.ranges&&(this.yylloc.range=[et[0],et[0]+this.yyleng-$t]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(Ft){this.unput(this.match.slice(Ft))},pastInput:function(){var Ft=this.matched.substr(0,this.matched.length-this.match.length);return(Ft.length>20?"...":"")+Ft.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Ft=this.match;return Ft.length<20&&(Ft+=this._input.substr(0,20-Ft.length)),(Ft.substr(0,20)+(Ft.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Ft=this.pastInput(),$t=new Array(Ft.length+1).join("-");return Ft+this.upcomingInput()+`
`+$t+"^"},test_match:function(Ft,$t){var Pt,qt,et;if(this.options.backtrack_lexer&&(et={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(et.yylloc.range=this.yylloc.range.slice(0))),qt=Ft[0].match(/(?:\r\n?|\n).*/g),qt&&(this.yylineno+=qt.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:qt?qt[qt.length-1].length-qt[qt.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Ft[0].length},this.yytext+=Ft[0],this.match+=Ft[0],this.matches=Ft,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Ft[0].length),this.matched+=Ft[0],Pt=this.performAction.call(this,this.yy,this,$t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Pt)return Pt;if(this._backtrack){for(var ht in et)this[ht]=et[ht];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Ft,$t,Pt,qt;this._more||(this.yytext="",this.match="");for(var et=this._currentRules(),ht=0;ht<et.length;ht++)if(Pt=this._input.match(this.rules[et[ht]]),Pt&&(!$t||Pt[0].length>$t[0].length)){if($t=Pt,qt=ht,this.options.backtrack_lexer){if(Ft=this.test_match(Pt,et[ht]),Ft!==!1)return Ft;if(this._backtrack){$t=!1;continue}else return!1}else if(!this.options.flex)break}return $t?(Ft=this.test_match($t,et[qt]),Ft!==!1?Ft:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var $t=this.next();return $t||this.lex()},begin:function($t){this.conditionStack.push($t)},popState:function(){var $t=this.conditionStack.length-1;return $t>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function($t){return $t=this.conditionStack.length-1-Math.abs($t||0),$t>=0?this.conditionStack[$t]:"INITIAL"},pushState:function($t){this.begin($t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function($t,Pt,qt,et){switch(qt){case 0:return this.begin("open_directive"),19;case 1:return this.begin("type_directive"),20;case 2:return this.popState(),this.begin("arg_directive"),12;case 3:return this.popState(),this.popState(),22;case 4:return 21;case 5:return"title";case 6:return this.begin("acc_title"),14;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),16;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 5;case 14:break;case 15:break;case 16:break;case 17:return 8;case 18:return 6;case 19:return 28;case 20:return 39;case 21:return 31;case 22:return 30;case 23:return 33;case 24:return 35;case 25:return 37;case 26:return 40;case 27:return 41;case 28:return 42;case 29:return 43;case 30:return 44;case 31:return 45;case 32:return 46;case 33:return 47;case 34:return 48;case 35:return 49;case 36:return 50;case 37:return 51;case 38:return 52;case 39:return 53;case 40:return 64;case 41:return 65;case 42:return 66;case 43:return 67;case 44:return 68;case 45:return 69;case 46:return 70;case 47:return 56;case 48:return 58;case 49:return 60;case 50:return 63;case 51:return 62;case 52:this.begin("string");break;case 53:this.popState();break;case 54:return"qString";case 55:return Pt.yytext=Pt.yytext.trim(),71}},rules:[/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:$)/i,/^(?:requirementDiagram\b)/i,/^(?:\{)/i,/^(?:\})/i,/^(?::)/i,/^(?:id\b)/i,/^(?:text\b)/i,/^(?:risk\b)/i,/^(?:verifyMethod\b)/i,/^(?:requirement\b)/i,/^(?:functionalRequirement\b)/i,/^(?:interfaceRequirement\b)/i,/^(?:performanceRequirement\b)/i,/^(?:physicalRequirement\b)/i,/^(?:designConstraint\b)/i,/^(?:low\b)/i,/^(?:medium\b)/i,/^(?:high\b)/i,/^(?:analysis\b)/i,/^(?:demonstration\b)/i,/^(?:inspection\b)/i,/^(?:test\b)/i,/^(?:element\b)/i,/^(?:contains\b)/i,/^(?:copies\b)/i,/^(?:derives\b)/i,/^(?:satisfies\b)/i,/^(?:verifies\b)/i,/^(?:refines\b)/i,/^(?:traces\b)/i,/^(?:type\b)/i,/^(?:docref\b)/i,/^(?:<-)/i,/^(?:->)/i,/^(?:-)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[\w][^\r\n\{\<\>\-\=]*)/i],conditions:{acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},close_directive:{rules:[],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},open_directive:{rules:[1],inclusive:!1},unqString:{rules:[],inclusive:!1},token:{rules:[],inclusive:!1},string:{rules:[53,54],inclusive:!1},INITIAL:{rules:[0,5,6,8,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,55],inclusive:!0}}};return ai}();_n.lexer=On;function Dt(){this.yy={}}return Dt.prototype=_n,_n.Parser=Dt,new Dt}();owe.parser=owe;const yZt=owe,_Zt=s=>s.match(/^\s*requirement(Diagram)?/)!==null;let cwe=[],pv={},zj={},f7={},Vj={};const xZt={RequirementType:{REQUIREMENT:"Requirement",FUNCTIONAL_REQUIREMENT:"Functional Requirement",INTERFACE_
L${o.line_height},${o.line_height/2}
M${o.line_height},${o.line_height/2}
L0,${o.line_height}`).attr("stroke-width",1)}};let yd={},pUe=0;const mUe=(s,o)=>s.insert("rect","#"+o).attr("class","req reqBox").attr("x",0).attr("y",0).attr("width",yd.rect_min_width+"px").attr("height",yd.rect_min_height+"px"),vUe=(s,o,f)=>{let m=yd.rect_min_width/2,y=s.append("text").attr("class","req reqLabel reqTitle").attr("id",o).attr("x",m).attr("y",yd.rect_padding).attr("dominant-baseline","hanging"),k=0;f.forEach(j=>{k==0?y.append("tspan").attr("text-anchor","middle").attr("x",yd.rect_min_width/2).attr("dy",0).text(j):y.append("tspan").attr("text-anchor","middle").attr("x",yd.rect_min_width/2).attr("dy",yd.line_height*.75).text(j),k++});let v=1.5*yd.rect_padding,A=k*yd.line_height*.75,O=v+A;return s.append("line").attr("class","req-title-line").attr("x1","0").attr("x2",yd.rect_min_width).attr("y1",O).attr("y2",O),{titleNode:y,y:O}},bUe=(s,o,f,m)=>{let y=s.append("text").attr("class","req reqLabel").attr("id",o).attr("x",yd.rect_padding).attr("y",m).attr("dominant-baseline","hanging"),k=0;const v=30;let A=[];return f.forEach(O=>{let j=O.length;for(;j>v&&k<3;){let z=O.substring(0,v);O=O.substring(v,O.length),j=O.length,A[A.length]=z,k++}if(k==3){let z=A[A.length-1];A[A.length-1]=z.substring(0,z.length-4)+"..."}else A[A.length]=O;k=0}),A.forEach(O=>{y.append("tspan").attr("x",yd.rect_padding).attr("dy",yd.line_height).text(O)}),y},kZt=(s,o,f,m)=>{const y=o.node().getTotalLength(),k=o.node().getPointAtLength(y*.5),v="rel"+pUe;pUe++;const O=s.append("text").attr("class","req relationshipLabel").attr("id",v).attr("x",k.x).attr("y",k.y).attr("text-anchor","middle").attr("dominant-baseline","middle").text(m).node().getBBox();s.insert("rect","#"+v).attr("class","req reqLabelBox").attr("x",k.x-O.width/2).attr("y",k.y-O.height/2).attr("width",O.width).attr("height",O.height).attr("fill","white").attr("fill-opacity","85%")},EZt=function(s,o,f,m,y){const k=f.edge(XO(o.src),XO(o.dst)),v=bS().x(function(O){return O.x}).y(function(O){return O.y}),A=s.insert("path","#"+m).attr("class","er relationshipLine").attr("d",v(k.points)).attr("fill","none");o.type==y.db.Relationships.CONTAINS?A.attr("marker-start","url("+Oo.getUrl(yd.arrowMarkerAbsolute)+"#"+o.type+"_line_ending)"):(A.attr("stroke-dasharray","10,7"),A.attr("marker-end","url("+Oo.getUrl(yd.arrowMarkerAbsolute)+"#"+gUe.ReqMarkers.ARROW+"_line_ending)")),kZt(s,A,yd,`<<${o.type}>>`)},TZt=(s,o,f)=>{Object.keys(s).forEach(m=>{let y=s[m];m=XO(m),ne.info("Added new requirement: ",m);const k=f.append("g").attr("id",m),v="req-"+m,A=mUe(k,v);let O=vUe(k,m+"_title",[`<<${y.type}>>`,`${y.name}`]);bUe(k,m+"_body",[`Id: ${y.id}`,`Text: ${y.text}`,`Risk: ${y.risk}`,`Verification: ${y.verifyMethod}`],O.y);const j=A.node().getBBox();o.setNode(m,{width:j.width,height:j.height,shape:"rect",id:m})})},SZt=(s,o,f)=>{Object.keys(s).forEach(m=>{let y=s[m];const k=XO(m),v=f.append("g").attr("id",k),A="element-"+k,O=mUe(v,A);let j=vUe(v,A+"_title",["<<Element>>",`${m}`]);bUe(v,A+"_body",[`Type: ${y.type||"Not Specified"}`,`Doc Ref: ${y.docRef||"None"}`],j.y);const z=O.node().getBBox();o.setNode(k,{width:z.width,height:z.height,shape:"rect",id:k})})},CZt=(s,o)=>(s.forEach(function(f){let m=XO(f.src),y=XO(f.dst);o.setEdge(m,y,{relationship:f})}),s),AZt=function(s,o){o.nodes().forEach(function(f){f!==void 0&&o.node(f)!==void 0&&(s.select("#"+f),s.select("#"+f).attr("transform","translate("+(o.node(f).x-o.node(f).width/2)+","+(o.node(f).y-o.node(f).height/2)+" )"))})},XO=s=>s.replace(/\s/g,"").replace(/\./g,"_"),MZt={draw:(s,o,f,m)=>{yd=Qt().requirement,m.db.clear(),m.parser.parse(s);const y=yd.securityLevel;let k;y==="sandbox"&&(k=Or("#i"+o));const A=Or(y==="sandbox"?k.nodes()[0].contentDocument.body:"body").select(`[id='${o}']`);gUe.insertLineEndings(A,yd);const O=new P1({multigraph:!1,compound:!1,directed:!0}).setGraph({rankdir:yd.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel(function(){return{}});let j=m.db.getRequirements(),z=m.db.getElements(),V=m.db.getRelationships();TZt(j,O,A),SZt(z,O,A),CZt(V,O),qO(O),AZt(A,O),V.forEach(function(me){
`+yr.showPosition()+`
Expecting `+Wr.join(", ")+", got '"+(this.terminals_[ra]||ra)+"'":Bi="Parse error on line "+(ws+1)+": Unexpected "+(ra==gi?"end of input":"'"+(this.terminals_[ra]||ra)+"'"),this.parseError(Bi,{text:yr.match,token:this.terminals_[ra]||ra,line:yr.yylineno,loc:Ar,expected:Wr})}if(yo[0]instanceof Array&&yo.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Ys+", token: "+ra);switch(yo[0]){case 1:et.push(ra),Ut.push(yr.yytext),it.push(yr.yylloc),et.push(yo[1]),ra=null,xn=yr.yyleng,Ge=yr.yytext,ws=yr.yylineno,Ar=yr.yylloc;break;case 2:if(Cs=this.productions_[yo[1]][1],co.$=Ut[Ut.length-Cs],co._$={first_line:it[it.length-(Cs||1)].first_line,last_line:it[it.length-1].last_line,first_column:it[it.length-(Cs||1)].first_column,last_column:it[it.length-1].last_column},bo&&(co._$.range=[it[it.length-(Cs||1)].range[0],it[it.length-1].range[1]]),Jl=this.performAction.apply(co,[Ge,xn,ws,Sr.yy,yo[1],Ut,it].concat(Cr)),typeof Jl<"u")return Jl;Cs&&(et=et.slice(0,-1*Cs*2),Ut=Ut.slice(0,-1*Cs),it=it.slice(0,-1*Cs)),et.push(this.productions_[yo[1]][0]),Ut.push(co.$),it.push(co._$),Gr=Zn[et[et.length-2]][et[et.length-1]],et.push(Gr);break;case 3:return!0}}return!0}},ai=function(){var $t={EOF:1,parseError:function(qt,et){if(this.yy.parser)this.yy.parser.parseError(qt,et);else throw new Error(qt)},setInput:function(Pt,qt){return this.yy=qt||this.yy||{},this._input=Pt,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var Pt=this._input[0];this.yytext+=Pt,this.yyleng++,this.offset++,this.match+=Pt,this.matched+=Pt;var qt=Pt.match(/(?:\r\n?|\n).*/g);return qt?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Pt},unput:function(Pt){var qt=Pt.length,et=Pt.split(/(?:\r\n?|\n)/g);this._input=Pt+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-qt),this.offset-=qt;var ht=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),et.length-1&&(this.yylineno-=et.length-1);var Ut=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:et?(et.length===ht.length?this.yylloc.first_column:0)+ht[ht.length-et.length].length-et[0].length:this.yylloc.first_column-qt},this.options.ranges&&(this.yylloc.range=[Ut[0],Ut[0]+this.yyleng-qt]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(Pt){this.unput(this.match.slice(Pt))},pastInput:function(){var Pt=this.matched.substr(0,this.matched.length-this.match.length);return(Pt.length>20?"...":"")+Pt.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Pt=this.match;return Pt.length<20&&(Pt+=this._input.substr(0,20-Pt.length)),(Pt.substr(0,20)+(Pt.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Pt=this.pastInput(),qt=new Array(Pt.length+1).join("-");return Pt+this.upcomingInput()+`
`+qt+"^"},test_match:function(Pt,qt){var et,ht,Ut;if(this.options.backtrack_lexer&&(Ut={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Ut.yylloc.range=this.yylloc.range.slice(0))),ht=Pt[0].match(/(?:\r\n?|\n).*/g),ht&&(this.yylineno+=ht.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:ht?ht[ht.length-1].length-ht[ht.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Pt[0].length},this.yytext+=Pt[0],this.match+=Pt[0],this.matches=Pt,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Pt[0].length),this.matched+=Pt[0],et=this.performAction.call(this,this.yy,this,qt,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),et)return et;if(this._backtrack){for(var it in Ut)this[it]=Ut[it];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Pt,qt,et,ht;this._more||(this.yytext="",this.match="");for(var Ut=this._currentRules(),it=0;it<Ut.length;it++)if(et=this._input.match(this.rules[Ut[it]]),et&&(!qt||et[0].length>qt[0].length)){if(qt=et,ht=it,this.options.backtrack_lexer){if(Pt=this.test_match(et,Ut[it]),Pt!==!1)return Pt;if(this._backtrack){qt=!1;continue}else return!1}else if(!this.options.flex)break}return qt?(Pt=this.test_match(qt,Ut[ht]),Pt!==!1?Pt:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var qt=this.next();return qt||this.lex()},begin:function(qt){this.conditionStack.push(qt)},popState:function(){var qt=this.conditionStack.length-1;return qt>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(qt){return qt=this.conditionStack.length-1-Math.abs(qt||0),qt>=0?this.conditionStack[qt]:"INITIAL"},pushState:function(qt){this.begin(qt)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(qt,et,ht,Ut){switch(ht){case 0:return this.begin("open_directive"),83;case 1:return this.begin("type_directive"),84;case 2:return this.popState(),this.begin("arg_directive"),17;case 3:return this.popState(),this.popState(),86;case 4:return 85;case 5:return 5;case 6:break;case 7:break;case 8:break;case 9:break;case 10:break;case 11:return 24;case 12:return this.begin("LINE"),19;case 13:return this.begin("ID"),54;case 14:return this.begin("ID"),56;case 15:return et.yytext=et.yytext.trim(),this.begin("ALIAS"),73;case 16:return this.popState(),this.popState(),this.begin("LINE"),55;case 17:return this.popState(),this.popState(),5;case 18:return this.begin("LINE"),41;case 19:return this.begin("LINE"),42;case 20:return this.begin("LINE"),43;case 21:return this.begin("LINE"),44;case 22:return this.begin("LINE"),53;case 23:return this.begin("LINE"),46;case 24:return this.begin("LINE"),52;case 25:return this.begin("LINE"),48;case 26:return this.begin("LINE"),51;case 27:return this.begin("LINE"),50;case 28:return this.popState(),20;case 29:return 21;case 30:return 68;case 31:return 69;case 32:return 62;case 33:return 63;case 34:return 64;case 35:return 65;case 36:return 60;case 37:return 57;case 38:return this.begin("ID"),26;case 39:return this.begin("ID"),28;case 40:return 34;case 41:return 35;case 42:return this.begin("acc_title"),36;case 43:return this.popState(),"acc_title_value";case 44:return this.begin("acc_descr"),38;case 45:return this.popState(),"acc_descr_value";case 46:this.begin("acc_descr_multiline");break;case 47:this.popState();break;case 48:return"acc_descr_multiline_value";case 49:return 7;case 50:return 23;case 51:return 25;case 52:return 67;case 53:return 5;case 54:return et.yytext=et.yytext.trim(),73;case 55:return 76;case 56:return 77;case 57:return 74;case 58:return 75;case 59:return 78;case 60:return 79;case 61:return 80;case 62:return 81;case 63:return 82;case 64:return 71;case 65:return 72;case 66:return 5;case 67:return"INVALID"}},rules:[/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[0-9]+(?=[ \n]+))/i,/^(?:box\b)/i,/^(?:participant\b)/i,/^(?:actor\b)/i,/^(?:[^\->:\n,;]+?([\-]*[^\->:\n,;]+?)*?(?=((?!\n)\s)+as(?!\n)\s|[#\n;]|$))/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:rect\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:and\b)/i,/^(?:critical\b)/i,/^(?:option\b)/i,/^(?:break\b)/i,/^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:links\b)/i,/^(?:link\b)/i,/^(?:properties\b)/i,/^(?:details\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:title:\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:sequenceDiagram\b)/i,/^(?:autonumber\b)/i,/^(?:off\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\+\->:\n,;]+((?!(-x|--x|-\)|--\)))[\-]*[^\+\->:\n,;]+)*)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?:-[\)])/i,/^(?:--[\)])/i,/^(?::(?:(?:no)?wrap)?[^#\n;]+)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[47,48]
`+Ut.showPosition()+`
Expecting `+wo.join(", ")+", got '"+(this.terminals_[Zi]||Zi)+"'":ra="Parse error on line "+($t+1)+": Unexpected "+(Zi==et?"end of input":"'"+(this.terminals_[Zi]||Zi)+"'"),this.parseError(ra,{text:Ut.match,token:this.terminals_[Zi]||Zi,line:Ut.yylineno,loc:Ge,expected:wo})}if(Cr[0]instanceof Array&&Cr.length>1)throw new Error("Parse Error: multiple actions possible at state: "+gi+", token: "+Zi);switch(Cr[0]){case 1:Gt.push(Zi),On.push(Ut.yytext),Dt.push(Ut.yylloc),Gt.push(Cr[1]),Zi=null,Pt=Ut.yyleng,Ft=Ut.yytext,$t=Ut.yylineno,Ge=Ut.yylloc;break;case 2:if(Ar=this.productions_[Cr[1]][1],Sr.$=On[On.length-Ar],Sr._$={first_line:Dt[Dt.length-(Ar||1)].first_line,last_line:Dt[Dt.length-1].last_line,first_column:Dt[Dt.length-(Ar||1)].first_column,last_column:Dt[Dt.length-1].last_column},ws&&(Sr._$.range=[Dt[Dt.length-(Ar||1)].range[0],Dt[Dt.length-1].range[1]]),yr=this.performAction.apply(Sr,[Ft,Pt,$t,it.yy,Cr[1],On,Dt].concat(ht)),typeof yr<"u")return yr;Ar&&(Gt=Gt.slice(0,-1*Ar*2),On=On.slice(0,-1*Ar),Dt=Dt.slice(0,-1*Ar)),Gt.push(this.productions_[Cr[1]][0]),On.push(Sr.$),Dt.push(Sr._$),bo=ai[Gt[Gt.length-2]][Gt[Gt.length-1]],Gt.push(bo);break;case 3:return!0}}return!0}},Ee=function(){var Ot={EOF:1,parseError:function(Rt,Gt){if(this.yy.parser)this.yy.parser.parseError(Rt,Gt);else throw new Error(Rt)},setInput:function(Vt,Rt){return this.yy=Rt||this.yy||{},this._input=Vt,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var Vt=this._input[0];this.yytext+=Vt,this.yyleng++,this.offset++,this.match+=Vt,this.matched+=Vt;var Rt=Vt.match(/(?:\r\n?|\n).*/g);return Rt?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Vt},unput:function(Vt){var Rt=Vt.length,Gt=Vt.split(/(?:\r\n?|\n)/g);this._input=Vt+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Rt),this.offset-=Rt;var _n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Gt.length-1&&(this.yylineno-=Gt.length-1);var On=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Gt?(Gt.length===_n.length?this.yylloc.first_column:0)+_n[_n.length-Gt.length].length-Gt[0].length:this.yylloc.first_column-Rt},this.options.ranges&&(this.yylloc.range=[On[0],On[0]+this.yyleng-Rt]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(Vt){this.unput(this.match.slice(Vt))},pastInput:function(){var Vt=this.matched.substr(0,this.matched.length-this.match.length);return(Vt.length>20?"...":"")+Vt.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Vt=this.match;return Vt.length<20&&(Vt+=this._input.substr(0,20-Vt.length)),(Vt.substr(0,20)+(Vt.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Vt=this.pastInput(),Rt=new Array(Vt.length+1).join("-");return Vt+this.upcomingInput()+`
`+Rt+"^"},test_match:function(Vt,Rt){var Gt,_n,On;if(this.options.backtrack_lexer&&(On={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(On.yylloc.range=this.yylloc.range.slice(0))),_n=Vt[0].match(/(?:\r\n?|\n).*/g),_n&&(this.yylineno+=_n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:_n?_n[_n.length-1].length-_n[_n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Vt[0].length},this.yytext+=Vt[0],this.match+=Vt[0],this.matches=Vt,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Vt[0].length),this.matched+=Vt[0],Gt=this.performAction.call(this,this.yy,this,Rt,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Gt)return Gt;if(this._backtrack){for(var Dt in On)this[Dt]=On[Dt];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Vt,Rt,Gt,_n;this._more||(this.yytext="",this.match="");for(var On=this._currentRules(),Dt=0;Dt<On.length;Dt++)if(Gt=this._input.match(this.rules[On[Dt]]),Gt&&(!Rt||Gt[0].length>Rt[0].length)){if(Rt=Gt,_n=Dt,this.options.backtrack_lexer){if(Vt=this.test_match(Gt,On[Dt]),Vt!==!1)return Vt;if(this._backtrack){Rt=!1;continue}else return!1}else if(!this.options.flex)break}return Rt?(Vt=this.test_match(Rt,On[_n]),Vt!==!1?Vt:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Rt=this.next();return Rt||this.lex()},begin:function(Rt){this.conditionStack.push(Rt)},popState:function(){var Rt=this.conditionStack.length-1;return Rt>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Rt){return Rt=this.conditionStack.length-1-Math.abs(Rt||0),Rt>=0?this.conditionStack[Rt]:"INITIAL"},pushState:function(Rt){this.begin(Rt)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(Rt,Gt,_n,On){switch(_n){case 0:return 41;case 1:return 50;case 2:return 51;case 3:return 52;case 4:return 53;case 5:return this.begin("open_directive"),60;case 6:return this.begin("type_directive"),61;case 7:return this.popState(),this.begin("arg_directive"),48;case 8:return this.popState(),this.popState(),63;case 9:return 62;case 10:break;case 11:break;case 12:return 5;case 13:break;case 14:break;case 15:break;case 16:break;case 17:return this.pushState("SCALE"),17;case 18:return 18;case 19:this.popState();break;case 20:return this.begin("acc_title"),33;case 21:return this.popState(),"acc_title_value";case 22:return this.begin("acc_descr"),35;case 23:return this.popState(),"acc_descr_value";case 24:this.begin("acc_descr_multiline");break;case 25:this.popState();break;case 26:return"acc_descr_multiline_value";case 27:return this.pushState("CLASSDEF"),38;case 28:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 29:return this.popState(),this.pushState("CLASSDEFID"),39;case 30:return this.popState(),40;case 31:return this.pushState("CLASS"),42;case 32:return this.popState(),this.pushState("CLASS_STYLE"),43;case 33:return this.popState(),44;case 34:return this.pushState("SCALE"),17;case 35:return 18;case 36:this.popState();break;case 37:this.pushState("STATE");break;case 38:return this.popState(),Gt.yytext=Gt.yytext.slice(0,-8).trim(),25;case 39:return this.popState(),Gt.yytext=Gt.yytext.slice(0,-8).trim(),26;case 40:return this.popState(),Gt.yytext=Gt.yytext.slice(0,-10).trim(),27;case 41:return this.popState(),Gt.yytext=Gt.yytext.slice(0,-8).trim(),25;case 42:return this.popState(),Gt.yytext=Gt.yytext.slice(0,-8).trim(),26;case 43:return this.popState(),Gt.yytext=Gt.yytext.slice(0,-10).trim(),27;case 44:return 50;case 45:return 51;case 46:return 52;case 47:return 53;case 48:this.pushState("STATE_STRING");break;case 49:return this.pushState("STATE_ID"),"AS";case 50:return this.popState(),"ID";case 51:this.popState();break;case 52:return"STATE_DESCR";case 53:return 19;case 54:this.popState();break;case 55:return this.popState(),this.pushState("struct"),20;case 56:break;case 57:return this.popState(),21;case 58:break;case 59:return this.begin("NOTE"),29;case 60:return this.popState(),this.pushState("NOTE_ID"),58;case 61:return this.popState(),this.pushState("NOTE_ID"),59;case 62:this.popState(),this.pushState("FLOATING_NOTE");break;case 63:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";case 64:break;case 65:return"NOTE_TEXT";case 66:return this.popState(),"ID";case 67:return this.popState(),this.pushState("NOTE_TEXT"),24;case 68:return this.popState(),Gt.yytext=Gt.yytext.substr(2).trim(),31;case 69:return this.popState(),Gt.yytext=Gt.yytext.slice(0,-8).trim(),31;case 70:return 7;case 71:return 7;case 72:return 16;case 73:return 56;case 74:return 24;case 75:return Gt.yytext=Gt.yytext.trim(),14;case 76:return 15;case 77:return 28;case 78:return 57;case 79:return 5;case 80:return"INVALID"}},rules:[/^(?:default\b)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(
`+qe.showPosition()+`
Expecting `+ai.join(", ")+", got '"+(this.terminals_[kt]||kt)+"'":Ft="Parse error on line "+(Ie+1)+": Unexpected "+(kt==Ne?"end of input":"'"+(this.terminals_[kt]||kt)+"'"),this.parseError(Ft,{text:qe.match,token:this.terminals_[kt]||kt,line:qe.yylineno,loc:Ce,expected:ai})}if(Vt[0]instanceof Array&&Vt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Ot+", token: "+kt);switch(Vt[0]){case 1:we.push(kt),Oe.push(qe.yytext),De.push(qe.yylloc),we.push(Vt[1]),kt=null,ge=qe.yyleng,ke=qe.yytext,Ie=qe.yylineno,Ce=qe.yylloc;break;case 2:if(On=this.productions_[Vt[1]][1],Gt.$=Oe[Oe.length-On],Gt._$={first_line:De[De.length-(On||1)].first_line,last_line:De[De.length-1].last_line,first_column:De[De.length-(On||1)].first_column,last_column:De[De.length-1].last_column},nt&&(Gt._$.range=[De[De.length-(On||1)].range[0],De[De.length-1].range[1]]),Rt=this.performAction.apply(Gt,[ke,ge,Ie,ae.yy,Vt[1],Oe,De].concat(xe)),typeof Rt<"u")return Rt;On&&(we=we.slice(0,-1*On*2),Oe=Oe.slice(0,-1*On),De=De.slice(0,-1*On)),we.push(this.productions_[Vt[1]][0]),Oe.push(Gt.$),De.push(Gt._$),Dt=Ve[we[we.length-2]][we[we.length-1]],we.push(Dt);break;case 3:return!0}}return!0}},G=function(){var ce={EOF:1,parseError:function(_e,we){if(this.yy.parser)this.yy.parser.parseError(_e,we);else throw new Error(_e)},setInput:function(me,_e){return this.yy=_e||this.yy||{},this._input=me,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var me=this._input[0];this.yytext+=me,this.yyleng++,this.offset++,this.match+=me,this.matched+=me;var _e=me.match(/(?:\r\n?|\n).*/g);return _e?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),me},unput:function(me){var _e=me.length,we=me.split(/(?:\r\n?|\n)/g);this._input=me+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-_e),this.offset-=_e;var Se=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),we.length-1&&(this.yylineno-=we.length-1);var Oe=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:we?(we.length===Se.length?this.yylloc.first_column:0)+Se[Se.length-we.length].length-we[0].length:this.yylloc.first_column-_e},this.options.ranges&&(this.yylloc.range=[Oe[0],Oe[0]+this.yyleng-_e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(me){this.unput(this.match.slice(me))},pastInput:function(){var me=this.matched.substr(0,this.matched.length-this.match.length);return(me.length>20?"...":"")+me.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var me=this.match;return me.length<20&&(me+=this._input.substr(0,20-me.length)),(me.substr(0,20)+(me.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var me=this.pastInput(),_e=new Array(me.length+1).join("-");return me+this.upcomingInput()+`
`+_e+"^"},test_match:function(me,_e){var we,Se,Oe;if(this.options.backtrack_lexer&&(Oe={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Oe.yylloc.range=this.yylloc.range.slice(0))),Se=me[0].match(/(?:\r\n?|\n).*/g),Se&&(this.yylineno+=Se.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Se?Se[Se.length-1].length-Se[Se.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+me[0].length},this.yytext+=me[0],this.match+=me[0],this.matches=me,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(me[0].length),this.matched+=me[0],we=this.performAction.call(this,this.yy,this,_e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),we)return we;if(this._backtrack){for(var De in Oe)this[De]=Oe[De];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var me,_e,we,Se;this._more||(this.yytext="",this.match="");for(var Oe=this._currentRules(),De=0;De<Oe.length;De++)if(we=this._input.match(this.rules[Oe[De]]),we&&(!_e||we[0].length>_e[0].length)){if(_e=we,Se=De,this.options.backtrack_lexer){if(me=this.test_match(we,Oe[De]),me!==!1)return me;if(this._backtrack){_e=!1;continue}else return!1}else if(!this.options.flex)break}return _e?(me=this.test_match(_e,Oe[Se]),me!==!1?me:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var _e=this.next();return _e||this.lex()},begin:function(_e){this.conditionStack.push(_e)},popState:function(){var _e=this.conditionStack.length-1;return _e>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(_e){return _e=this.conditionStack.length-1-Math.abs(_e||0),_e>=0?this.conditionStack[_e]:"INITIAL"},pushState:function(_e){this.begin(_e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(_e,we,Se,Oe){switch(Se){case 0:return this.begin("open_directive"),26;case 1:return this.begin("type_directive"),27;case 2:return this.popState(),this.begin("arg_directive"),15;case 3:return this.popState(),this.popState(),29;case 4:return 28;case 5:break;case 6:break;case 7:return 11;case 8:break;case 9:break;case 10:return 4;case 11:return 17;case 12:return this.begin("acc_title"),18;case 13:return this.popState(),"acc_title_value";case 14:return this.begin("acc_descr"),20;case 15:return this.popState(),"acc_descr_value";case 16:this.begin("acc_descr_multiline");break;case 17:this.popState();break;case 18:return"acc_descr_multiline_value";case 19:return 23;case 20:return 24;case 21:return 25;case 22:return 15;case 23:return 6;case 24:return"INVALID"}},rules:[/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:journey\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{open_directive:{rules:[1],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},acc_descr_multiline:{rules:[17,18],inclusive:!1},acc_descr:{rules:[15],inclusive:!1},acc_title:{rules:[13],inclusive:!1},INITIAL:{rules:[0,5,6,7,8,9,10,11,12,14,16,19,20,21,22,23,24],inclusive:!0}}};return ce}();Y.lexer=G;function J(){this.yy={}}return J.prototype=Y,Y.Parser=J,new J}();Iwe.parser=Iwe;const Ben=Iwe,Fen=s=>s.match(/^\s*journey/)!==null;let tD="";const Owe=[],Zj=[],Jj=[],jen=function(s,o,f){Sf.parseDirective(this,s,o,f)},$en=function(){Owe.length=0,Zj.length=0,tD="",Jj.length=0,hv()},Hen=function(s){tD=s,Owe.push(s)},zen=function(){return Owe},Ven=function(){let s=lGe();const o=100;let f=0;for(;!s&&f<o;)s=lGe(),f++;return Zj.push(...Jj),Zj},qen=function(){const s=[];return Zj.forEach(f=>{f.people&&s.push(...f.people)}),[...new Set(s)].sort()},Uen=function(s,o){const f=o.substr(1).split(":");let m=0,y=[];f.length===1?(m=Number(f[0]),y=[]):(m=Number(f[0]),y=f[1].split(","));const k=y.map(A=>A.trim()),v={section:tD,type:tD,people:k,task:s,score:m};Jj.push(v)},Gen=function(s){const o={section:tD,type:tD,description:s,task:s,classes:[]};Zj.push(o)},lGe=function(){const s=function(f){return Jj[f].processed};let o=!0;for(const[f,m]of Jj.entries())s(f),o=o&&m.processed;return o},uGe={parseDirective:jen,getConfig:()=>Qt().journey,clear:$en,setDiagramTitle:A3,getDiagramTitle:M3,setAccTitle:fv,getAccTitle:qb,setAccDescription:Ub,getAccDescription:Gb,addSection:Hen,getSections:zen,getTasks:Ven,addTask:Uen,addTaskOrg:Gen,getActors:function(){return qen()}},XJ=function(s,o){const f=s.append("rect");return f.attr("x",o.x),f.attr("y",o.y),f.attr("fill",o.fill),f.attr("stroke",o.stroke),f.attr("width",o.width),f.attr("height",o.height),f.attr("rx",o.rx),f.attr("ry",o.ry),o.class!==void 0&&f.attr("class",o.class),f},Wen=function(s,o){const m=s.append("circle").attr("cx",o.cx).attr("cy",o.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),y=s.append("g");y.append("circle").attr("cx",o.
`);const k=Qt().securityLevel;let v;k==="sandbox"&&(v=Or("#i"+o));const A=Or(k==="sandbox"?v.nodes()[0].contentDocument.body:"body");yw.init();const O=A.select("#"+o);e$.initGraphics(O);const j=m.db.getTasks(),z=m.db.getDiagramTitle(),V=m.db.getActors();for(const _e in Ex)delete Ex[_e];let Y=0;V.forEach(_e=>{Ex[_e]={color:y.actorColours[Y%y.actorColours.length],position:Y},Y++}),etn(O),yw.insert(0,0,VS,Object.keys(Ex).length*50),ntn(O,j,0);const G=yw.getBounds();z&&O.append("text").text(z).attr("x",VS).attr("font-size","4ex").attr("font-weight","bold").attr("y",25);const J=G.stopy-G.starty+2*y.diagramMarginY,ce=VS+G.stopx+2*y.diagramMarginX;C3(O,J,ce,y.useMaxWidth),O.append("line").attr("x1",VS).attr("y1",y.height*4).attr("x2",ce-VS-4).attr("y2",y.height*4).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)");const me=z?70:0;O.attr("viewBox",`${G.startx} -25 ${ce} ${J+me}`),O.attr("preserveAspectRatio","xMinYMin meet"),O.attr("height",J+me+25)},yw={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(s,o,f,m){s[o]===void 0?s[o]=f:s[o]=m(f,s[o])},updateBounds:function(s,o,f,m){const y=Qt().journey,k=this;let v=0;function A(O){return function(z){v++;const V=k.sequenceItems.length-v+1;k.updateVal(z,"starty",o-V*y.boxMargin,Math.min),k.updateVal(z,"stopy",m+V*y.boxMargin,Math.max),k.updateVal(yw.data,"startx",s-V*y.boxMargin,Math.min),k.updateVal(yw.data,"stopx",f+V*y.boxMargin,Math.max),O!=="activation"&&(k.updateVal(z,"startx",s-V*y.boxMargin,Math.min),k.updateVal(z,"stopx",f+V*y.boxMargin,Math.max),k.updateVal(yw.data,"starty",o-V*y.boxMargin,Math.min),k.updateVal(yw.data,"stopy",m+V*y.boxMargin,Math.max))}}this.sequenceItems.forEach(A())},insert:function(s,o,f,m){const y=Math.min(s,f),k=Math.max(s,f),v=Math.min(o,m),A=Math.max(o,m);this.updateVal(yw.data,"startx",y,Math.min),this.updateVal(yw.data,"starty",v,Math.min),this.updateVal(yw.data,"stopx",k,Math.max),this.updateVal(yw.data,"stopy",A,Math.max),this.updateBounds(y,v,k,A)},bumpVerticalPos:function(s){this.verticalPos=this.verticalPos+s,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}},Pwe=QJ.sectionFills,pGe=QJ.sectionColours,ntn=function(s,o,f){const m=Qt().journey;let y="";const k=m.height*2+m.diagramMarginY,v=f+k;let A=0,O="#CCC",j="black",z=0;for(const[V,Y]of o.entries()){if(y!==Y.section){O=Pwe[A%Pwe.length],z=A%Pwe.length,j=pGe[A%pGe.length];const J={x:V*m.taskMargin+V*m.width+VS,y:50,text:Y.section,fill:O,num:z,colour:j};e$.drawSection(s,J,m),y=Y.section,A++}const G=Y.people.reduce((J,ce)=>(Ex[ce]&&(J[ce]=Ex[ce]),J),{});Y.x=V*m.taskMargin+V*m.width+VS,Y.y=v,Y.width=m.diagramMarginX,Y.height=m.diagramMarginY,Y.colour=j,Y.fill=O,Y.num=z,Y.actors=G,e$.drawTask(s,Y,m),yw.insert(Y.x,Y.y,Y.x+Y.width+m.taskMargin,300+5*30)}},mGe={setConf:Jen,draw:ttn};let vGe={};const ZJ={setConf:function(s){vGe={...vGe,...s}},draw:(s,o,f)=>{try{ne.debug(`Renering svg for syntax error
`);const m=Or("#"+o),y=m.append("g");y.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),y.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),y.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),y.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),y.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),y.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),y.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in graph"),y.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text("mermaid version "+f),m.attr("height",100),m.attr("width",500),m.attr("viewBox","768 0 912 512")}catch(m){ne.error("Error while rendering info diagram"),ne.error(Rjt(m))}}},bGe="flowchart-elk",rtn={id:bGe,detector:(s,o)=>{var f;return!!(s.match(/^\s*flowchart-elk/)||s.match(/^\s*flowchart|graph/)&&((f=o==null?void 0:o.flowchart)==null?void 0:f.defaultRenderer)==="elk")},loader:async()=>{const{diagram:s}=await Promise.resolve().then(()=>Gtn);return{id:bGe,diagram:s}}},wGe="timeline",itn={id:wGe,detector:s=>s.match(/^\s*timeline/)!==null,loader:async()=>{const{diagram:s}=await Promise.resolve().then(()=>fnn);return{id:wGe,diagram:s}}},yGe="mindmap",stn={id:yGe,detector:s=>s.match(/^\s*mindmap/)!==null,loader:async()=>{const{diagram:s}=await Promise.resolve().then(()=>Unn);return{id:yGe,diagram:s}}};let _Ge=!1;const t$=()=>{_Ge||(_Ge=!0,O$e(rtn,itn,stn),s0("error",{db:{clear:()=>{}},styles:Cbe,renderer:ZJ,parser:{parser:{yy:{}},parse:()=>{}},init:()=>{}},s=>s.toLowerCase().trim()==="error"),s0("---",{db:{clear:()=>{}},styles:Cbe,renderer:ZJ,parser:{parser:{yy:{}},parse:()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with unindented `---` blocks")}},init:()=>null},s=>s.toLowerCase().trimStart().startsWith("---")),s0("c4",{parser:V$t,db:EHe,renderer:DHe,styles:hHe,init:s=>{DHe.setConf(s.c4)}},q$t),s0("class",{parser:PHe,db:OO,renderer:uYt,styles:cj,init:s=>{s.class||(s.class={}),s.class.arrowMarkerAbsolute=s.arrowMarkerAbsolute,OO.clear()}},LHt),s0("classDiagram",{parser:PHe,db:OO,renderer:iXt,styles:cj,init:s=>{s.class||(s.class={}),s.class.arrowMarkerAbsolute=s.arrowMarkerAbsolute,OO.clear()}},IHt),s0("er",{parser:sXt,db:uXt,renderer:OXt,styles:iHe},aXt),s0("gantt",{parser:CQt,db:rwe,renderer:hZt,styles:sHe},AQt),s0("info",{parser:fZt,db:dZt,renderer:gZt,styles:aHe},pZt),s0("pie",{parser:mZt,db:bZt,renderer:wZt,styles:oHe},vZt),s0("requirement",{parser:yZt,db:xZt,renderer:MZt,styles:c
`,this.parse(this.txt,f)}parse(o,f){var m,y;if(this.detectTypeFailed)return!1;try{return o=o+`
`,(y=(m=this.db).clear)==null||y.call(m),this.parser.parse(o),!0}catch(k){this.handleError(k,f)}return!1}handleError(o,f){if(f===void 0)throw o;if(bbe(o)){f(o.str,o.hash);return}f(o)}getParser(){return this.parser}getType(){return this.type}}const Rwe=(s,o)=>{const f=fbe(s,Qt());try{gHe(f)}catch{const y=vFt(f);if(!y)throw new Error(`Diagram ${f} not found.`);return y().then(({diagram:k})=>(s0(f,k,void 0),new Nwe(s,o)))}return new Nwe(s,o)},Bwe=Nwe,atn="graphics-document document";function otn(s,o){s.attr("role",atn),zO(o)||s.attr("aria-roledescription",o)}function ctn(s,o,f,m){if(s.insert!==void 0)if(o||f){if(f){const y="chart-desc-"+m;s.attr("aria-describedby",y),s.insert("desc",":first-child").attr("id",y).text(f)}if(o){const y="chart-title-"+m;s.attr("aria-labelledby",y),s.insert("title",":first-child").attr("id",y).text(o)}}else return}const Fwe=["graph","flowchart","flowchart-v2","stateDiagram","stateDiagram-v2"],xGe="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",kGe="sandbox",EGe="loose",ltn="http://www.w3.org/2000/svg",TGe="http://www.w3.org/1999/xlink",SGe="http://www.w3.org/1999/xhtml",utn="100%",htn="100%",ftn="border:0;margin:0;",dtn="margin:0",gtn="allow-top-navigation-by-user-activation allow-popups",ptn='The "iframe" tag is not supported by your browser.',CGe=["foreignobject"],AGe=["dominant-baseline"];function mtn(s,o){return t$(),new Bwe(s,o).parse(s,o)}async function vtn(s,o){return t$(),(await Rwe(s,o)).parse(s,o)}const MGe=function(s){let o=s;return o=o.replace(/style.*:\S*#.*;/g,function(f){return f.substring(0,f.length-1)}),o=o.replace(/classDef.*:\S*#.*;/g,function(f){return f.substring(0,f.length-1)}),o=o.replace(/#\w+;/g,function(f){const m=f.substring(1,f.length-1);return/^\+?\d+$/.test(m)?"fl°°"+m+"¶ß":"fl°"+m+"¶ß"}),o},jwe=function(s){let o=s;return o=o.replace(/fl°°/g,"&#"),o=o.replace(/fl°/g,"&"),o=o.replace(/¶ß/g,";"),o},LGe=(s,o,f=[])=>`
.${s} ${o} { ${f.join(" !important; ")} !important; }`,btn=(s,o,f={})=>{var m;let y="";if(s.themeCSS!==void 0&&(y+=`
${s.themeCSS}`),s.fontFamily!==void 0&&(y+=`
:root { --mermaid-font-family: ${s.fontFamily}}`),s.altFontFamily!==void 0&&(y+=`
:root { --mermaid-alt-font-family: ${s.altFontFamily}}`),!zO(f)&&Fwe.includes(o)){const O=s.htmlLabels||((m=s.flowchart)==null?void 0:m.htmlLabels)?["> *","span"]:["rect","polygon","ellipse","circle","path"];for(const j in f){const z=f[j];zO(z.styles)||O.forEach(V=>{y+=LGe(z.id,V,z.styles)}),zO(z.textStyles)||(y+=LGe(z.id,"tspan",z.textStyles))}}return y},IGe=(s,o,f,m)=>{const y=btn(s,o,f),k=o$t(o,y,s.themeVariables);return Tbe(Xjt(`${m}{${k}}`),Zjt)},OGe=(s="",o,f)=>{let m=s;return!f&&!o&&(m=m.replace(/marker-end="url\(.*?#/g,'marker-end="url(#')),m=jwe(m),m=m.replace(/<br>/g,"<br/>"),m},DGe=(s="",o)=>{const f=o?o.viewBox.baseVal.height+"px":htn,m=btoa('<body style="'+dtn+'">'+s+"</body>");return`<iframe style="width:${utn};height:${f};${ftn}" src="data:text/html;base64,${m}" sandbox="${gtn}">
${ptn}
</iframe>`},JJ=(s,o,f,m,y)=>{const k=s.append("div");k.attr("id",f),m&&k.attr("style",m);const v=k.append("svg").attr("id",o).attr("width","100%").attr("xmlns",ltn);return y&&v.attr("xmlns:xlink",y),v.append("g"),s};function eee(s,o){return s.append("iframe").attr("id",o).attr("style","width: 100%; height: 100%;").attr("sandbox","")}const PGe=(s,o,f,m)=>{var y,k,v;(y=s.getElementById(o))==null||y.remove(),(k=s.getElementById(f))==null||k.remove(),(v=s.getElementById(m))==null||v.remove()},wtn=function(s,o,f,m){var y,k,v,A;t$(),oj();const O=Go.detectInit(o);O&&(TS(O),Sbe(O));const j=Qt();ne.debug(j),o.length>((j==null?void 0:j.maxTextSize)??5e4)&&(o=xGe),o=o.replace(/\r\n?/g,`
`);const z="#"+s,V="i"+s,Y="#"+V,G="d"+s,J="#"+G;let ce=Or("body");const me=j.securityLevel===kGe,_e=j.securityLevel===EGe,we=j.fontFamily;if(m!==void 0){if(m&&(m.innerHTML=""),me){const Ee=eee(Or(m),V);ce=Or(Ee.nodes()[0].contentDocument.body),ce.node().style.margin=0}else ce=Or(m);JJ(ce,s,G,`font-family: ${we}`,TGe)}else{if(PGe(document,s,G,V),me){const Ee=eee(Or("body"),V);ce=Or(Ee.nodes()[0].contentDocument.body),ce.node().style.margin=0}else ce=Or("body");JJ(ce,s,G)}o=MGe(o);let Se,Oe;try{if(Se=Rwe(o),"then"in Se)throw new Error("Diagram is a promise. Use renderAsync.")}catch(Ee){Se=new Bwe("error"),Oe=Ee}const De=ce.select(J).node(),Ve=Se.type,ke=De.firstChild,Ie=ke.firstChild,ge=Fwe.includes(Ve)?Se.renderer.getClasses(o,Se):{},Me=IGe(j,Ve,ge,z),Ne=document.createElement("style");Ne.innerHTML=Me,ke.insertBefore(Ne,Ie);try{Se.renderer.draw(o,s,FZ,Se)}catch(Ee){throw ZJ.draw(o,s,FZ),Ee}const xe=ce.select(`${J} svg`),qe=(k=(y=Se.db).getAccTitle)==null?void 0:k.call(y),ae=(A=(v=Se.db).getAccDescription)==null?void 0:A.call(v);NGe(Ve,xe,qe,ae),ce.select(`[id="${s}"]`).selectAll("foreignobject > *").attr("xmlns",SGe);let Qe=ce.select(J).node().innerHTML;if(ne.debug("config.arrowMarkerAbsolute",j.arrowMarkerAbsolute),Qe=OGe(Qe,me,i0(j.arrowMarkerAbsolute)),me){const Ee=ce.select(J+" svg").node();Qe=DGe(Qe,Ee)}else _e||(Qe=QF.sanitize(Qe,{ADD_TAGS:CGe,ADD_ATTR:AGe}));if(f!==void 0)switch(Ve){case"flowchart":case"flowchart-v2":f(Qe,W5.bindFunctions);break;case"gantt":f(Qe,rwe.bindFunctions);break;case"class":case"classDiagram":f(Qe,OO.bindFunctions);break;default:f(Qe)}else ne.debug("CB = undefined!");SUe();const nt=Or(me?Y:J).node();if(nt&&"remove"in nt&&nt.remove(),Oe)throw Oe;return Qe},ytn=async function(s,o,f,m){var y,k,v,A;t$(),oj();const O=Go.detectInit(o);O&&(TS(O),Sbe(O));const j=Qt();ne.debug(j),o.length>((j==null?void 0:j.maxTextSize)??5e4)&&(o=xGe),o=o.replace(/\r\n?/g,`
`);const z="#"+s,V="i"+s,Y="#"+V,G="d"+s,J="#"+G;let ce=Or("body");const me=j.securityLevel===kGe,_e=j.securityLevel===EGe,we=j.fontFamily;if(m!==void 0){if(m&&(m.innerHTML=""),me){const Ee=eee(Or(m),V);ce=Or(Ee.nodes()[0].contentDocument.body),ce.node().style.margin=0}else ce=Or(m);JJ(ce,s,G,`font-family: ${we}`,TGe)}else{if(PGe(document,s,G,V),me){const Ee=eee(Or("body"),V);ce=Or(Ee.nodes()[0].contentDocument.body),ce.node().style.margin=0}else ce=Or("body");JJ(ce,s,G)}o=MGe(o);let Se,Oe;try{Se=await Rwe(o)}catch(Ee){Se=new Bwe("error"),Oe=Ee}const De=ce.select(J).node(),Ve=Se.type,ke=De.firstChild,Ie=ke.firstChild,ge=Fwe.includes(Ve)?Se.renderer.getClasses(o,Se):{},Me=IGe(j,Ve,ge,z),Ne=document.createElement("style");Ne.innerHTML=Me,ke.insertBefore(Ne,Ie);try{await Se.renderer.draw(o,s,FZ,Se)}catch(Ee){throw ZJ.draw(o,s,FZ),Ee}const xe=ce.select(`${J} svg`),qe=(k=(y=Se.db).getAccTitle)==null?void 0:k.call(y),ae=(A=(v=Se.db).getAccDescription)==null?void 0:A.call(v);NGe(Ve,xe,qe,ae),ce.select(`[id="${s}"]`).selectAll("foreignobject > *").attr("xmlns",SGe);let Qe=ce.select(J).node().innerHTML;if(ne.debug("config.arrowMarkerAbsolute",j.arrowMarkerAbsolute),Qe=OGe(Qe,me,i0(j.arrowMarkerAbsolute)),me){const Ee=ce.select(J+" svg").node();Qe=DGe(Qe,Ee)}else _e||(Qe=QF.sanitize(Qe,{ADD_TAGS:CGe,ADD_ATTR:AGe}));if(f!==void 0)switch(Ve){case"flowchart":case"flowchart-v2":f(Qe,W5.bindFunctions);break;case"gantt":f(Qe,rwe.bindFunctions);break;case"class":case"classDiagram":f(Qe,OO.bindFunctions);break;default:f(Qe)}else ne.debug("CB = undefined!");SUe();const nt=Or(me?Y:J).node();if(nt&&"remove"in nt&&nt.remove(),Oe)throw Oe;return Qe};function _tn(s={}){var o;s!=null&&s.fontFamily&&!((o=s.themeVariables)!=null&&o.fontFamily)&&(s.themeVariables={fontFamily:s.fontFamily}),e$t(s),s!=null&&s.theme&&s.theme in ax?s.themeVariables=ax[s.theme].getThemeVariables(s.themeVariables):s&&(s.themeVariables=ax.default.getThemeVariables(s.themeVariables));const f=typeof s=="object"?Jjt(s):Z$e();Be(f.logLevel),t$()}function NGe(s,o,f,m){otn(o,s),ctn(o,f,m,o.attr("id"))}const Sf=Object.freeze({render:wtn,renderAsync:ytn,parse:mtn,parseAsync:vtn,parseDirective:Ibe,initialize:_tn,getConfig:Qt,setConfig:J$e,getSiteConfig:Z$e,updateSiteConfig:t$t,reset:()=>{oj()},globalReset:()=>{oj(LO)},defaultConfig:LO});Be(Qt().logLevel),oj(Qt());const xtn=async function(s,o,f){try{await BGe(s,o,f)}catch(m){ne.warn("Syntax Error rendering"),bbe(m)&&ne.warn(m.str),_w.parseError&&_w.parseError(m)}},RGe=(s,o,f)=>{ne.warn(s),bbe(s)?(f&&f(s.str,s.hash),o.push({...s,message:s.str,error:s})):(f&&f(s),s instanceof Error&&o.push({str:s.message,message:s.message,hash:s.name,error:s}))},ktn=function(s,o,f){const m=Sf.getConfig();s&&(_w.sequenceConfig=s),ne.debug(`${f?"":"No "}Callback function found`);let y;if(o===void 0)y=document.querySelectorAll(".mermaid");else if(typeof o=="string")y=document.querySelectorAll(o);else if(o instanceof HTMLElement)y=[o];else if(o instanceof NodeList)y=o;else throw new Error("Invalid argument nodes for mermaid.init");ne.debug(`Found ${y.length} diagrams`),(s==null?void 0:s.startOnLoad)!==void 0&&(ne.debug("Start On Load: "+(s==null?void 0:s.startOnLoad)),Sf.updateSiteConfig({startOnLoad:s==null?void 0:s.startOnLoad}));const k=new Go.initIdGenerator(m.deterministicIds,m.deterministicIDSeed);let v;const A=[];for(const O of Array.from(y)){ne.info("Rendering diagram: "+O.id);/*! Check if previously processed */if(O.getAttribute("data-processed"))continue;O.setAttribute("data-processed","true");const j=`mermaid-${k.next()}`;v=O.innerHTML,v=T(Go.entityDecode(v)).trim().replace(/<br\s*\/?>/gi,"<br/>");const z=Go.detectInit(v);z&&ne.debug("Detected early reinit: ",z);try{Sf.render(j,v,(V,Y)=>{O.innerHTML=V,f!==void 0&&f(j),Y&&Y(O)},O)}catch(V){RGe(V,A,_w.parseError)}}if(A.length>0)throw A[0]},Etn=async(...s)=>{ne.debug(`Loading ${s.length} external diagrams`);const f=(await Promise.allSettled(s.map(async({id:m,detector:y,loader:k})=>{const{diagram:v}=await k();s0(m,v,y)}))).filter(m=>m.status==="rejected");if(f.length>0){ne.error(`Failed to load $
* Wait for document loaded before starting the execution
*/window.addEventListener("load",FGe,!1)}const Ctn=function(s){_w.parseError=s},Atn=s=>Sf.parse(s,_w.parseError),tee=[];let $we=!1;const jGe=async()=>{if(!$we){for($we=!0;tee.length>0;){const s=tee.shift();if(s)try{await s()}catch(o){ne.error("Error executing queue",o)}}$we=!1}},Mtn=s=>new Promise((o,f)=>{const m=()=>new Promise((y,k)=>{Sf.parseAsync(s,_w.parseError).then(v=>{y(v),o(v)},v=>{ne.error("Error parsing",v),k(v),f(v)})});tee.push(m),jGe().catch(f)}),Ltn=(s,o,f,m)=>new Promise((y,k)=>{const v=()=>new Promise((A,O)=>{Sf.renderAsync(s,o,f,m).then(j=>{A(j),y(j)},j=>{ne.error("Error parsing",j),O(j),k(j)})});tee.push(v),jGe().catch(k)}),_w={startOnLoad:!0,diagrams:{},mermaidAPI:Sf,parse:Atn,parseAsync:Mtn,render:Sf.render,renderAsync:Ltn,init:xtn,initThrowsErrors:ktn,initThrowsErrorsAsync:BGe,registerExternalDiagrams:Stn,initialize:Ttn,parseError:void 0,contentLoaded:FGe,setParseErrorHandler:Ctn},Itn=(s,o,f)=>{const{parentById:m}=f,y=new Set;let k=s;for(;k;){if(y.add(k),k===o)return k;k=m[k]}for(k=o;k;){if(y.has(k))return k;k=m[k]}return"root"};function nee(s){throw new Error('Could not dynamically require "'+s+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Hwe={},Otn={get exports(){return Hwe},set exports(s){Hwe=s}};(function(s,o){(function(f){s.exports=f()})(function(){return function(){function f(m,y,k){function v(j,z){if(!y[j]){if(!m[j]){var V=typeof nee=="function"&&nee;if(!z&&V)return V(j,!0);if(A)return A(j,!0);var Y=new Error("Cannot find module '"+j+"'");throw Y.code="MODULE_NOT_FOUND",Y}var G=y[j]={exports:{}};m[j][0].call(G.exports,function(J){var ce=m[j][1][J];return v(ce||J)},G,G.exports,f,m,y,k)}return y[j].exports}for(var A=typeof nee=="function"&&nee,O=0;O<k.length;O++)v(k[O]);return v}return f}()({1:[function(f,m,y){Object.defineProperty(y,"__esModule",{value:!0});var k=function(){function j(z,V){for(var Y=0;Y<V.length;Y++){var G=V[Y];G.enumerable=G.enumerable||!1,G.configurable=!0,"value"in G&&(G.writable=!0),Object.defineProperty(z,G.key,G)}}return function(z,V,Y){return V&&j(z.prototype,V),Y&&j(z,Y),z}}();function v(j,z){if(!(j instanceof z))throw new TypeError("Cannot call a class as a function")}var A=function(){function j(){var z=this,V=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},Y=V.defaultLayoutOptions,G=Y===void 0?{}:Y,J=V.algorithms,ce=J===void 0?["layered","stress","mrtree","radial","force","disco","sporeOverlap","sporeCompaction","rectpacking"]:J,me=V.workerFactory,_e=V.workerUrl;if(v(this,j),this.defaultLayoutOptions=G,this.initialized=!1,typeof _e>"u"&&typeof me>"u")throw new Error("Cannot construct an ELK without both 'workerUrl' and 'workerFactory'.");var we=me;typeof _e<"u"&&typeof me>"u"&&(we=function(De){return new Worker(De)});var Se=we(_e);if(typeof Se.postMessage!="function")throw new TypeError("Created worker does not provide the required 'postMessage' function.");this.worker=new O(Se),this.worker.postMessage({cmd:"register",algorithms:ce}).then(function(Oe){return z.initialized=!0}).catch(console.err)}return k(j,[{key:"layout",value:function(V){var Y=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},G=Y.layoutOptions,J=G===void 0?this.defaultLayoutOptions:G,ce=Y.logging,me=ce===void 0?!1:ce,_e=Y.measureExecutionTime,we=_e===void 0?!1:_e;return V?this.worker.postMessage({cmd:"layout",graph:V,layoutOptions:J,options:{logging:me,measureExecutionTime:we}}):Promise.reject(new Error("Missing mandatory parameter 'graph'."))}},{key:"knownLayoutAlgorithms",value:function(){return this.worker.postMessage({cmd:"algorithms"})}},{key:"knownLayoutOptions",value:function(){return this.worker.postMessage({cmd:"options"})}},{key:"knownLayoutCategories",value:function(){return this.worker.postMessage({cmd:"categories"})}},{key:"terminateWorker",value:function(){this.worker.terminate()}}]),j}();y.default=A;var O=function(){function j(z){var V=this;if(v(this,j),z===void 0)throw new Error("Missing mandatory parameter 'worker'.");this.resolvers={},this.worker=z
`,mh($o(e,t[0])))>=0;)++t[0]}function oN(e,t){this.e=t,this.a=Ult(e),this.a<54?this.f=cy(e):this.c=DN(e)}function Jot(e,t,n,r){rs(),Pw.call(this,26),this.c=e,this.a=t,this.d=n,this.b=r}function Jg(e,t,n){var r,i;for(r=10,i=0;i<n-1;i++)t<r&&(e.a+="0"),r*=10;e.a+=t}function M0n(e,t){var n;for(n=0;e.e!=e.i.gc();)kln(t,Ur(e),St(n)),n!=as&&++n}function I_e(e,t){var n;for(++e.d,++e.c[t],n=t+1;n<e.a.length;)++e.a[n],n+=n&-n}function L0n(e,t){var n,r,i;i=t.c.i,n=l(Tr(e.f,i),57),r=n.d.c-n.e.c,txe(t.a,r,0)}function cN(e){var t,n;return t=e+128,n=(int(),ZSe)[t],!n&&(n=ZSe[t]=new $se(e)),n}function Li(e,t){var n;return Xn(t),n=e[":"+t],N0n(!!n,pe(de(xr,1),Ht,1,5,[t])),n}function I0n(e){var t,n;if(e.b){n=null;do t=e.b,e.b=null,n=Xdt(t,n);while(e.b);e.b=n}}function O0n(e){var t,n;if(e.a){n=null;do t=e.a,e.a=null,n=Xdt(t,n);while(e.a);e.a=n}}function ect(e){var t;for(++e.a,t=e.c.a.length;e.a<t;++e.a)if(e.c.b[e.a])return}function D0n(e,t){var n,r;for(r=t.c,n=r+1;n<=t.f;n++)e.a[n]>e.a[r]&&(r=n);return r}function P0n(e,t){var n;return n=yy(e.e.c,t.e.c),n==0?ja(e.e.d,t.e.d):n}function O6(e,t){return t.e==0||e.e==0?Q9:(m9(),she(e,t))}function N0n(e,t){if(!e)throw ue(new Jn(F_n("Enum constant undefined: %s",t)))}function rM(){rM=Ee,B4t=new e6,F4t=new Cx,N4t=new wv,R4t=new Qb,j4t=new oee}function Yq(){Yq=Ee,ICe=new _3e("BY_SIZE",0),F1e=new _3e("BY_SIZE_AND_SHAPE",1)}function Xq(){Xq=Ee,Y1e=new x3e("EADES",0),fK=new x3e("FRUCHTERMAN_REINGOLD",1)}function lN(){lN=Ee,VK=new S3e("READING_DIRECTION",0),TMe=new S3e("ROTATION",1)}function tct(){tct=Ee,_5t=Ii((A2(),pe(de(EMe,1),vt,335,0,[T0e,kMe,S0e,OL,IL])))}function nct(){nct=Ee,Z_t=Ii((kM(),pe(de(TIe,1),vt,315,0,[EIe,mge,vge,UL,GL])))}function rct(){rct=Ee,u5t=Ii((W6(),pe(de(l5t,1),vt,363,0,[FK,$K,HK,jK,BK])))}function ict(){ict=Ee,P5t=Ii((cd(),pe(de(tLe,1),vt,163,0,[uB,BL,mb,FL,c5])))}function sct(){sct=Ee,w8t=Ii((VN(),pe(de(YOe,1),vt,316,0,[GOe,Qge,KOe,Zge,WOe])))}function act(){act=Ee,z8t=Ii((K1(),pe(de(Ym,1),vt,175,0,[hr,mo,Og,Q2,Km])))}function oct(){oct=Ee,d8t=Ii((y9(),pe(de(f8t,1),vt,355,0,[N_,T8,sI,iI,aI])))}function cct(){cct=Ee,M4t=Ii((vc(),pe(de(_Ae,1),vt,356,0,[Mg,gb,Ku,Au,hl])))}function lct(){lct=Ee,f7t=Ii((Dc(),pe(de(uI,1),vt,103,0,[hp,x1,jd,Zp,Jp])))}function uct(){uct=Ee,_7t=Ii((H6(),pe(de(gI,1),vt,249,0,[kb,FB,_Pe,dI,xPe])))}function hct(){hct=Ee,E7t=Ii((Mt(),pe(de(yc,1),ru,61,0,[Dl,Qn,fr,Jr,nr])))}function sle(e,t){var n;return n=l(Tr(e.a,t),134),n||(n=new Ew,ds(e.a,t,n)),n}function fct(e){var t;return t=l(re(e,(mt(),Gy)),305),t?t.a==e:!1}function dct(e){var t;return t=l(re(e,(mt(),Gy)),305),t?t.i==e:!1}function gct(e,t){return Xn(t),Q5e(e),e.d.Ob()?(t.td(e.d.Pb()),!0):!1}function Qq(e){return nu(e,as)>0?as:nu(e,Jo)<0?Jo:li(e)}function k4(e){return e<3?(Pf(e,cvt),e+1):e<UM?Sa(e/.75+1):as}function Rn(e,t){var n;return n=(e.i==null&&mg(e),e.i),t>=0&&t<n.length?n[t]:null}function U1(e,t,n){var r;if(t==null)throw ue(new GC);return r=Dp(e,t),r1n(e,t,n),r}function pct(e){return e.a>=-.01&&e.a<=N0&&(e.a=0),e.b>=-.01&&e.b<=N0&&(e.b=0),e}function mct(e,t){return t==(Eoe(),Eoe(),$yt)?e.toLocaleLowerCase():e.toLowerCase()}function O_e(e){return(e.i&2?"interface ":e.i&1?"":"class ")+(Lp(e),e.o)}function nl(e){var t,n;n=(t=new nae,t),fi((!e.q&&(e.q=new _t(Ud,e,11,10)),e.q),n)}function R0n(e,t){var n;return n=t>0?t-1:t,uXe(Xrn(Hct(L5e(new Y7,n),e.n),e.j),e.k)}function B0n(e,t,n,r){var i;e.j=-1,t7e(e,N8e(e,t,n),(Sc(),i=l(t,66).Mj(),i.Ok(r)))}function vct(e){this.g=e,this.f=new yt,this.a=v.Math.min(this.g.c.c,this.g.d.c)}function bct(e){this.b=new yt,this.a=new yt,this.c=new yt,this.d=new yt,this.e=e}function wct(e,t){this.a=new si,this.e=new si,this.b=(fM(),bY),this.c=e,this.b=t}function yct(e,t,n){LV.call(this),D_e(this),this.a=e,this.c=n,this.b=t.d,this.f=t.e}function _ct(e){this.d=e,this.c=e.c.vc().Kc(),this.b=null,this.a=null,this.e=(xz(),S1e)}function hy(e){if(e<0)throw ue(new Jn("Illegal Capacity: "+e));this.g=this.ri(e)}function F0n(e,t){if(0>e||e>t)throw ue(new Gye("fromIndex: 0, toIndex: "+e+PEe+t))}function j0n(e){var t;if(e.a==e.b.a)throw ue(new Gl);return t=e.a,e.c=t,e.a=e.a.e,t}f
`)}return t&&(t.stack||n(e[Ghe]))}function hke(e){m4();var t;switch(t=e.Pc(),t.length){case 0:return E1e;case 1:return new Poe(ui(t[0]));default:return new gce(svn(t))}}function _y(e,t){switch(t.g){case 1:return yk(e.j,(Lh(),AAe));case 2:return yk(e.j,(Lh(),LAe));default:return In(),In(),Lc}}function fke(e,t){switch(t){case 3:dy(e,0);return;case 4:gy(e,0);return;case 5:dh(e,0);return;case 6:gh(e,0);return}$xe(e,t)}function Zle(){Zle=Ee,Hz(),mY=(Nt(),e3),K_t=S0(pe(de(rpe,1),MTe,146,0,[dB,_1,E8,Jy,m5,age,wT,yT,oge,VL,L_,Y2,I_]))}function vht(e){var t,n;t=e.d==(Uk(),aT),n=h8e(e),t&&!n||!t&&n?ut(e.a,(Nt(),Lg),(ep(),SB)):ut(e.a,(Nt(),Lg),(ep(),TB))}function Fvn(e,t){var n;return n=l(Of(e,p2(new Pt,new $t,new or,pe(de(of,1),vt,132,0,[(I0(),Hf)]))),15),n.Qc(Htt(n.gc()))}function BU(){BU=Ee,Epe=new aV("SIMPLE",0),SPe=new aV("GROUP_DEC",1),APe=new aV("GROUP_MIXED",2),CPe=new aV("GROUP_INC",3)}function Jle(){Jle=Ee,Ppe=new uH,QPe=new hH,ZPe=new fH,JPe=new A7,eNe=new dH,tNe=new gH,nNe=new rie,rNe=new M7,iNe=new L7}function bht(e,t,n){Sct(),mYe.call(this),this.a=o2(s3t,[dt,VEe],[595,212],0,[aK,$1e],2),this.c=new pk,this.g=e,this.f=t,this.d=n}function dke(e,t){this.n=o2(Db,[dt,dfe],[364,25],14,[t,Sa(v.Math.ceil(e/32))],2),this.o=e,this.p=t,this.j=e-1>>1,this.k=t-1>>1}function jvn(e,t){Zr(t,"End label post-processing",1),ya($s(Al(new jn(null,new zn(e.b,16)),new yee),new _ee),new xee),Br(t)}function $vn(e,t,n){var r,i;return r=ot(e.p[t.i.p])+ot(e.d[t.i.p])+t.n.b+t.a.b,i=ot(e.p[n.i.p])+ot(e.d[n.i.p])+n.n.b+n.a.b,i-r}function Hvn(e,t,n){var r,i;for(r=Wa(n,Nc),i=0;nu(r,0)!=0&&i<t;i++)r=sc(r,Wa(e[i],Nc)),e[i]=li(r),r=$v(r,32);return li(r)}function FU(e){var t,n,r,i;for(i=0,n=0,r=e.length;n<r;n++)t=(yi(n,e.length),e.charCodeAt(n)),t<64&&(i=T0(i,Ip(1,t)));return i}function zvn(e){var t;return e==null?null:new Fv((t=Su(e,!0),t.length>0&&(yi(0,t.length),t.charCodeAt(0)==43)?t.substr(1):t))}function Vvn(e){var t;return e==null?null:new Fv((t=Su(e,!0),t.length>0&&(yi(0,t.length),t.charCodeAt(0)==43)?t.substr(1):t))}function gke(e,t){var n;return e.i>0&&(t.length<e.i&&(n=uN(tf(t).c,e.i),t=n),du(e.g,0,t,0,e.i)),t.length>e.i&&la(t,e.i,null),t}function Bu(e,t,n){var r,i,a;return e.ej()?(r=e.i,a=e.fj(),SN(e,r,t),i=e.Zi(3,null,t,r,a),n?n.Ei(i):n=i):SN(e,e.i,t),n}function qvn(e,t,n){var r,i;return r=new Bp(e.e,4,10,(i=t.c,Le(i,88)?l(i,26):(Sn(),Wd)),null,Pm(e,t),!1),n?n.Ei(r):n=r,n}function Uvn(e,t,n){var r,i;return r=new Bp(e.e,3,10,null,(i=t.c,Le(i,88)?l(i,26):(Sn(),Wd)),Pm(e,t),!1),n?n.Ei(r):n=r,n}function wht(e){l4();var t;return t=new Zc(l(e.e.We((Yi(),j_)),8)),e.B.Hc((sf(),LT))&&(t.a<=0&&(t.a=20),t.b<=0&&(t.b=20)),t}function yht(e){I4();var t;return(e.q?e.q:(In(),In(),lp))._b((Nt(),Qy))?t=l(re(e,Qy),197):t=l(re(cc(e),zL),197),t}function L4(e,t){var n,r;return r=null,so(e,(Nt(),gY))&&(n=l(re(e,gY),94),n.Xe(t)&&(r=n.We(t))),r==null&&(r=re(cc(e),t)),r}function _ht(e,t){var n,r,i;return Le(t,42)?(n=l(t,42),r=n.cd(),i=A4(e.Rc(),r),dg(i,n.dd())&&(i!=null||e.Rc()._b(r))):!1}function eue(e,t){var n,r,i;return e.f>0?(e.qj(),r=t==null?0:Ws(t),i=(r&as)%e.d.length,n=_0t(e,i,r,t),n!=-1):!1}function W1(e,t){var n,r,i;return e.f>0&&(e.qj(),r=t==null?0:Ws(t),i=(r&as)%e.d.length,n=Z8e(e,i,r,t),n)?n.dd():null}function LN(e,t){var n,r,i,a;for(a=Wu(e.e.Tg(),t),n=l(e.g,119),i=0;i<e.i;++i)if(r=n[i],a.rl(r.ak()))return!1;return!0}function xht(e){if(e.b==null){for(;e.a.Ob();)if(e.b=e.a.Pb(),!l(e.b,49).Zg())return!0;return e.b=null,!1}else return!0}function kht(e,t){e.mj();try{e.d.Vc(e.e++,t),e.f=e.d.j,e.g=-1}catch(n){throw n=ea(n),Le(n,73)?ue(new Zf):ue(n)}}function jU(e,t){n4e();var n,r;return n=SP((Tz(),Tz(),xL)),r=null,t==n&&(r=l(xu(WSe,e),615)),r||(r=new ort(e),t==n&&Jc(WSe,e,r)),r}function Eht(e,t){var n,r;e.a=sc(e.a,1),e.c=v.Math.min(e.c,t),e.b=v.Math.max(e.b,t),e.d+=t,n=t-e.f,r=e.e+n,e.f=r-e.e-n,e.e=r}function Gvn(e,t){var n;e.c=t,e.a=Mvn(t),e.a<54&&(e.f=(n=t.d>1?T0(Ip(t.a[1],32),Wa(t.a[0],Nc)):Wa(t.a[0],Nc),cy(Zo(t.e,n))))}function IN(e,t){var n;return ml(e)&&ml(t)&&(n=e%t,vR<n&&n<O2)?n:Yv((cEe(ml(e)?Cd(e):e,ml(t)?Cd(t):t,!0),hb))}function wM(e,t){var n;f9n(t)
`;return n.substring(0,r.length)==r&&(n=n.substring(r.length)),n.split(`
`)}return[]}function P2n(e){var t;return t=(Qct(),Iyt),t[e>>>28]|t[e>>24&15]<<4|t[e>>20&15]<<8|t[e>>16&15]<<12|t[e>>12&15]<<16|t[e>>8&15]<<20|t[e>>4&15]<<24|t[e&15]<<28}function Bft(e){var t,n,r;e.b==e.c&&(r=e.a.length,n=wxe(v.Math.max(8,r))<<1,e.b!=0?(t=l1(e.a,n),slt(e,t,r),e.a=t,e.b=0):nYe(e.a,n),e.c=r)}function N2n(e,t){var n;return n=e.b,n.Xe((Yi(),cf))?n.Hf()==(Mt(),nr)?-n.rf().a-ot(Lt(n.We(cf))):t+ot(Lt(n.We(cf))):n.Hf()==(Mt(),nr)?-n.rf().a:t}function BN(e){var t;return e.b.c.length!=0&&l(Kt(e.b,0),70).a?l(Kt(e.b,0),70).a:(t=uce(e),t??""+(e.c?vl(e.c.a,e,0):-1))}function nG(e){var t;return e.f.c.length!=0&&l(Kt(e.f,0),70).a?l(Kt(e.f,0),70).a:(t=uce(e),t??""+(e.i?vl(e.i.j,e,0):-1))}function R2n(e,t){var n,r;if(t<0||t>=e.gc())return null;for(n=t;n<e.gc();++n)if(r=l(e.Xb(n),128),n==e.gc()-1||!r.o)return new No(St(n),r);return null}function B2n(e,t,n){var r,i,a,h,d;for(a=e.c,d=n?t:e,r=n?e:t,i=d.p+1;i<r.p;++i)if(h=l(Kt(a.a,i),10),!(h.k==(gr(),j0)||hwn(h)))return!1;return!0}function jke(e){var t,n,r,i,a;for(a=0,i=Oa,r=0,n=new M(e.a);n.a<n.c.c.length;)t=l(se(n),187),a+=t.r+(r>0?e.c:0),i=v.Math.max(i,t.d),++r;e.e=a,e.b=i}function F2n(e){var t,n;if(!e.b)for(e.b=Mq(l(e.f,118).Ag().i),n=new Ir(l(e.f,118).Ag());n.e!=n.i.gc();)t=l(Ur(n),137),wt(e.b,new hae(t));return e.b}function j2n(e,t){var n,r,i;if(t.dc())return fE(),fE(),YB;for(n=new $et(e,t.gc()),i=new Ir(e);i.e!=i.i.gc();)r=Ur(i),t.Hc(r)&&fi(n,r);return n}function $ke(e,t,n,r){return t==0?r?(!e.o&&(e.o=new yf((Fu(),Cb),r3,e,0)),e.o):(!e.o&&(e.o=new yf((Fu(),Cb),r3,e,0)),QP(e.o)):KU(e,t,n,r)}function Sue(e){var t,n;if(e.rb)for(t=0,n=e.rb.i;t<n;++t)_P(Re(e.rb,t));if(e.vb)for(t=0,n=e.vb.i;t<n;++t)_P(Re(e.vb,t));jA((Ih(),Vo),e),e.Bb|=1}function Fs(e,t,n,r,i,a,h,d,b,E,C,P,$,K){return d1t(e,t,r,null,i,a,h,d,b,E,$,!0,K),Xxe(e,C),Le(e.Cb,88)&&B4(Jh(l(e.Cb,88)),2),n&&X_e(e,n),Qxe(e,P),e}function $2n(e){var t,n;if(e==null)return null;n=0;try{n=Bf(e,Jo,as)&Aa}catch(r){if(r=ea(r),Le(r,127))t=Wq(e),n=t[0];else throw ue(r)}return vN(n)}function H2n(e){var t,n;if(e==null)return null;n=0;try{n=Bf(e,Jo,as)&Aa}catch(r){if(r=ea(r),Le(r,127))t=Wq(e),n=t[0];else throw ue(r)}return vN(n)}function z2n(e,t){var n,r,i;return i=e.h-t.h,i<0||(n=e.l-t.l,r=e.m-t.m+(n>>22),i+=r>>22,i<0)?!1:(e.l=n&af,e.m=r&af,e.h=i&Kp,!0)}function V2n(e,t,n,r,i,a,h){var d,b;return!(t.Ae()&&(b=e.a.ue(n,r),b<0||!i&&b==0)||t.Be()&&(d=e.a.ue(n,a),d>0||!h&&d==0))}function q2n(e,t){JE();var n;if(n=e.j.g-t.j.g,n!=0)return 0;switch(e.j.g){case 2:return Yle(t,pMe)-Yle(e,pMe);case 4:return Yle(e,gMe)-Yle(t,gMe)}return 0}function U2n(e){switch(e.g){case 0:return A0e;case 1:return M0e;case 2:return L0e;case 3:return I0e;case 4:return qK;case 5:return O0e;default:return null}}function rl(e,t,n){var r,i;return r=(i=new rae,k2(i,t),Ru(i,n),fi((!e.c&&(e.c=new _t(i3,e,12,10)),e.c),i),i),Mm(r,0),S4(r,1),Dm(r,!0),Om(r,!0),r}function qk(e,t){var n,r;if(t>=e.i)throw ue(new Zae(t,e.i));return++e.j,n=e.g[t],r=e.i-t-1,r>0&&du(e.g,t+1,e.g,t,r),la(e.g,--e.i,null),e.fi(t,n),e.ci(),n}function Fft(e,t){var n,r;return e.Db>>16==17?e.Cb.ih(e,21,qd,t):(r=Ac(l(Rn((n=l(Kn(e,16),26),n||e.zh()),e.Db>>16),18)),e.Cb.ih(e,r.n,r.f,t))}function G2n(e){var t,n,r,i;for(In(),fo(e.c,e.a),i=new M(e.c);i.a<i.c.c.length;)for(r=se(i),n=new M(e.b);n.a<n.c.c.length;)t=l(se(n),679),t.Ke(r)}function W2n(e){var t,n,r,i;for(In(),fo(e.c,e.a),i=new M(e.c);i.a<i.c.c.length;)for(r=se(i),n=new M(e.b);n.a<n.c.c.length;)t=l(se(n),369),t.Ke(r)}function K2n(e){var t,n,r,i,a;for(i=as,a=null,r=new M(e.d);r.a<r.c.c.length;)n=l(se(r),213),n.d.j^n.e.j&&(t=n.e.e-n.d.e-n.a,t<i&&(i=t,a=n));return a}function Hke(){Hke=Ee,b4t=new Nn(a9e,(er(),!1)),p4t=new Nn(o9e,100),dAe=(nM(),J1e),m4t=new Nn(c9e,dAe),v4t=new Nn(l9e,_g),w4t=new Nn(u9e,St(as))}function jft(e,t,n){var r,i,a,h,d,b,E,C;for(E=0,i=e.a[t],a=0,h=i.length;a<h;++a)for(r=i[a],C=gM(r,n),b=C.Kc();b.Ob();)d=l(b.Pb(),11),ds(e.f,d,St(E++))}function Y2n(e,t,n){var r,i,a,h;if(n)for(i=n.a.length,r=new c2(i),h=(r.b-r.a)*r.c<0?(Nv(),Ob):new jv(r);h.Ob();)a=l(h.Pb(),19),En(e,t,Gk(x4(n,a.a)))}function X2n(e,t,n){var r,i,a,h;if(n)for(i=n.a.length,
\r\f]+`);try{yI=pe(de(ySn,1),Ht,2015,0,[new GD((n4e(),jU("yyyy-MM-dd'T'HH:mm:ss'.'SSSZ",SP((Tz(),Tz(),xL))))),new GD(jU("yyyy-MM-dd'T'HH:mm:ss'.'SSS",SP(xL))),new GD(jU("yyyy-MM-dd'T'HH:mm:ss",SP(xL))),new GD(jU("yyyy-MM-dd'T'HH:mm",SP(xL))),new GD(jU("yyyy-MM-dd",SP(xL)))])}catch(e){if(e=ea(e),!Le(e,78))throw ue(e)}}function n7n(e){var t,n,r,i;if(r=jhe((!e.c&&(e.c=EN(e.f)),e.c),0),e.e==0||e.a==0&&e.f!=-1&&e.e<0)return r;if(t=H_e(e)<0?1:0,n=e.e,i=(r.length+1+v.Math.abs(Sa(e.e)),new t4),t==1&&(i.a+="-"),e.e>0)if(n-=r.length-t,n>=0){for(i.a+="0.";n>V2.length;n-=V2.length)lnt(i,V2);Uet(i,V2,Sa(n)),Mi(i,r.substr(t))}else n=t-n,Mi(i,Mf(r,t,Sa(n))),i.a+=".",Mi(i,bP(r,Sa(n)));else{for(Mi(i,r.substr(t));n<-V2.length;n+=V2.length)lnt(i,V2);Uet(i,V2,Sa(-n))}return i.a}function rEe(e,t,n,r){var i,a,h,d,b,E,C,P,$;return b=xo(new en(n.a,n.b),e),E=b.a*t.b-b.b*t.a,C=t.a*r.b-t.b*r.a,P=(b.a*r.b-b.b*r.a)/C,$=E/C,C==0?E==0?(i=xs(new en(n.a,n.b),ug(new en(r.a,r.b),.5)),a=Wv(e,i),h=Wv(xs(new en(e.a,e.b),t),i),d=v.Math.sqrt(r.a*r.a+r.b*r.b)*.5,a<h&&a<=d?new en(e.a,e.b):h<=d?xs(new en(e.a,e.b),t):null):null:P>=0&&P<=1&&$>=0&&$<=1?xs(new en(e.a,e.b),ug(new en(t.a,t.b),P)):null}function r7n(e,t,n){var r,i,a,h,d;if(r=l(re(e,(Nt(),Y0e)),21),n.a>t.a&&(r.Hc((P4(),CB))?e.c.a+=(n.a-t.a)/2:r.Hc(AB)&&(e.c.a+=n.a-t.a)),n.b>t.b&&(r.Hc((P4(),LB))?e.c.b+=(n.b-t.b)/2:r.Hc(MB)&&(e.c.b+=n.b-t.b)),l(re(e,(mt(),Lu)),21).Hc((Pc(),dd))&&(n.a>t.a||n.b>t.b))for(d=new M(e.a);d.a<d.c.c.length;)h=l(se(d),10),h.k==(gr(),La)&&(i=l(re(h,Vl),61),i==(Mt(),fr)?h.n.a+=n.a-t.a:i==Jr&&(h.n.b+=n.b-t.b));a=e.d,e.f.a=n.a-a.b-a.c,e.f.b=n.b-a.d-a.a}function i7n(e,t,n){var r,i,a,h,d;if(r=l(re(e,(Nt(),Y0e)),21),n.a>t.a&&(r.Hc((P4(),CB))?e.c.a+=(n.a-t.a)/2:r.Hc(AB)&&(e.c.a+=n.a-t.a)),n.b>t.b&&(r.Hc((P4(),LB))?e.c.b+=(n.b-t.b)/2:r.Hc(MB)&&(e.c.b+=n.b-t.b)),l(re(e,(mt(),Lu)),21).Hc((Pc(),dd))&&(n.a>t.a||n.b>t.b))for(h=new M(e.a);h.a<h.c.c.length;)a=l(se(h),10),a.k==(gr(),La)&&(i=l(re(a,Vl),61),i==(Mt(),fr)?a.n.a+=n.a-t.a:i==Jr&&(a.n.b+=n.b-t.b));d=e.d,e.f.a=n.a-d.b-d.c,e.f.b=n.b-d.d-d.a}function s7n(e){var t,n,r,i,a,h,d,b,E,C,P,$;for(t=X1t(e),C=(d=new X3(t).a.vc().Kc(),new zD(d));C.a.Ob();){for(E=(i=l(C.a.Pb(),42),l(i.cd(),10)),P=0,$=0,P=E.d.d,$=E.o.b+E.d.a,e.d[E.p]=0,n=E;(a=e.a[n.p])!=E;)r=vbn(n,a),b=0,e.c==(gg(),Gm)?b=r.d.n.b+r.d.a.b-r.c.n.b-r.c.a.b:b=r.c.n.b+r.c.a.b-r.d.n.b-r.d.a.b,h=ot(e.d[n.p])+b,e.d[a.p]=h,P=v.Math.max(P,a.d.d-h),$=v.Math.max($,h+a.o.b+a.d.a),n=a;n=E;do e.d[n.p]=ot(e.d[n.p])+P,n=e.a[n.p];while(n!=E);e.b[E.p]=P+$}}function khe(e){var t,n,r,i,a,h,d,b,E,C,P,$;for(e.b=!1,P=ma,b=Oa,$=ma,E=Oa,r=e.e.a.ec().Kc();r.Ob();)for(n=l(r.Pb(),266),i=n.a,P=v.Math.min(P,i.c),b=v.Math.max(b,i.c+i.b),$=v.Math.min($,i.d),E=v.Math.max(E,i.d+i.a),h=new M(n.c);h.a<h.c.c.length;)a=l(se(h),395),t=a.a,t.a?(C=i.d+a.b.b,d=C+a.c,$=v.Math.min($,C),E=v.Math.max(E,d)):(C=i.c+a.b.a,d=C+a.c,P=v.Math.min(P,C),b=v.Math.max(b,d));e.a=new en(b-P,E-$),e.c=new en(P+e.d.a,$+e.d.b)}function a7n(e,t,n){var r,i,a,h,d,b,E,C,P;for(P=new yt,C=new $6e(0,n),a=0,iU(C,new Ale(0,0,C,n)),i=0,E=new Ir(e);E.e!=E.i.gc();)b=l(Ur(E),33),r=l(Kt(C.a,C.a.c.length-1),187),d=i+b.g+(l(Kt(C.a,0),187).b.c.length==0?0:n),d>t&&(i=0,a+=C.b+n,P.c[P.c.length]=C,C=new $6e(a,n),r=new Ale(0,C.f,C,n),iU(C,r),i=0),r.b.c.length==0||b.f>=r.o&&b.f<=r.f||r.a*.5<=b.f&&r.a*1.5>=b.f?Jxe(r,b):(h=new Ale(r.s+r.r+n,C.f,C,n),iU(C,h),Jxe(h,b)),i=b.i+b.g;return P.c[P.c.length]=C,P}function t_(e){var t,n,r,i,a,h,d,b;if(!e.a){if(e.o=null,b=new BKe(e),t=new kv,n=kI,d=n.a.zc(e,n),d==null){for(h=new Ir(ol(e));h.e!=h.i.gc();)a=l(Ur(h),26),ga(b,t_(a));n.a.Bc(e)!=null,n.a.gc()==0}for(i=(!e.s&&(e.s=new _t(_h,e,21,17)),new Ir(e.s));i.e!=i.i.gc();)r=l(Ur(i),170),Le(r,322)&&fi(t,l(r,34));C4(t),e.k=new Vtt(e,(l(Re(rt((Vv(),Gn).o),7),18),t.i),t.g),ga(b,e.k),C4(b),e.a=new _6((l(Re(rt(Gn.o),4),18),b.i),b.g),Jh(e).b&=-2}return e.a}function o7n(e,t,n,r,i,a,h){var d,b,E,C,P,$;return P=!1,b=j0t(n.q,t.f+t.b-n.q.f),$=i-(n.q.e+b-h),$<r.g||(E=a==e.c.length-1&&$>=(Un(a,e.c.length),l(e.c[a],200)).e,C=(d=$M(r,$,!1),d.a),C>t.b&&!E)?!1:((E||C<=t.b)&&(E&&C>t.b?(n.d=C,ZP(n,Vdt(n,C))
\r\r `),Jc(q_,p1e,r),Jc(OT,p1e,z4(r)),r=new If(4),ON(r,uyt),Jc(q_,_L,r),Jc(OT,_L,z4(r)),r=new If(4),ON(r,uyt),Jc(q_,_L,r),Jc(OT,_L,z4(r)),r=new If(4),ON(r,hyt),V4(r,l(xu(q_,_L),117)),Jc(q_,g1e,r),Jc(OT,g1e,z4(r)),r=new If(4),ON(r,"-.0:AZ__az··ÀÖØöøıĴľŁňŊžƀǃǍǰǴǵǺȗɐʨʻˁːˑ̀͠͡ͅΆΊΌΌΎΡΣώϐϖϚϚϜϜϞϞϠϠϢϳЁЌЎяёќўҁ҃҆ҐӄӇӈӋӌӐӫӮӵӸӹԱՖՙՙաֆֹֻֽֿֿׁׂ֑֣֡ׄׄאתװײءغـْ٠٩ٰڷںھۀێېۓە۪ۭۨ۰۹ँअह़्॑॔क़ॣ९ঁঃঅঌএঐওনপরললশহ়়াৄেৈো্ৗৗড়ঢ়য়ৣৱਂਂਅਊਏਐਓਨਪਰਲਲ਼ਵਸ਼ਸਹ਼਼ਾੂੇੈੋ੍ਖ਼ੜਫ਼ਫ਼ੴઁઅઋઍઍએઑઓનપરલળવહ઼ૅેૉો્ૠૠ૯ଁଅଌଏଐଓନପରଲଳଶହ଼ୃେୈୋ୍ୖୗଡ଼ଢ଼ୟୡ୯ஂஃஅஊஎஐஒகஙசஜஜஞடணதநபமவஷஹாூெைொ்ௗௗ௧௯ఁఃఅఌఎఐఒనపళవహాౄెైొ్ౕౖౠౡಃಅಌಎಐಒನಪಳವಹಾೄೆೈೊ್ೕೖೞೞೠೡഃഅഌഎഐഒനപഹാൃെൈൊ്ൗൗൠൡ൯กฮะฺเ๎๙ກຂຄຄງຈຊຊຍຍດທນຟມຣລລວວສຫອຮະູົຽເໄໆໆ່ໍ໙༘༙༠༩༹༹༵༵༷༷༾ཇཉཀྵ྄ཱ྆ྋྐྕྗྗྙྭྱྷྐྵྐྵႠჅაჶᄀᄀᄂᄃᄅᄇᄉᄉᄋᄌᄎᄒᄼᄼᄾᄾᅀᅀᅌᅌᅎᅎᅐᅐᅔᅕᅙᅙᅡᅣᅣᅥᅥᅧᅧᅩᅩᅭᅮᅲᅳᅵᅵᆞᆞᆨᆨᆫᆫᆮᆯᆷᆸᆺᆺᆼᇂᇫᇫᇰᇰᇹᇹḀẛẠỹἀἕἘἝἠὅὈὍὐὗὙὙὛὛὝὝὟώᾀᾴᾶᾼῂῄῆῌῐΐῖΊῠῬῲῴῶῼ⃐⃜⃡⃡ΩΩↀↂ々々〡〯〱〵ぁゔ゙゚ゝゞァヺーヾㄅㄬ一龥가힣"),Jc(q_,m1e,r),Jc(OT,m1e,z4(r)),r=new If(4),ON(r,hyt),Tu(r,95,95),Tu(r,58,58),Jc(q_,v1e,r),Jc(OT,v1e,z4(r))),n=l(xu(t?q_:OT,e),136),n}function zTn(e){di(e.a,Oi,pe(de(jt,1),dt,2,6,[Ki,"anySimpleType"])),di(e.b,Oi,pe(de(jt,1),dt,2,6,[Ki,"anyType",Pd,BR])),di(l(Re(rt(e.b),0),34),Oi,pe(de(jt,1),dt,2,6,[Pd,l1e,Ki,":mixed"])),di(l(Re(rt(e.b),1),34),Oi,pe(de(jt,1),dt,2,6,[Pd,l1e,OSe,h1e,Ki,":1",Xwt,"lax"])),di(l(Re(rt(e.b),2),34),Oi,pe(de(jt,1),dt,2,6,[Pd,Gwt,OSe,h1e,Ki,":2",Xwt,"lax"])),di(e.c,Oi,pe(de(jt,1),dt,2,6,[Ki,"anyURI",Rd,Z1])),di(e.d,Oi,pe(de(jt,1),dt,2,6,[Ki,"base64Binary",Rd,Z1])),di(e.e,Oi,pe(de(jt,1),dt,2,6,[Ki,Xk,Rd,Z1])),di(e.f,Oi,pe(de(jt,1),dt,2,6,[Ki,"boolean:Object",ec,Xk])),di(e.g,Oi,pe(de(jt,1),dt,2,6,[Ki,gL])),di(e.i,Oi,pe(de(jt,1),dt,2,6,[Ki,"byte:Object",ec,gL])),di(e.j,Oi,pe(de(jt,1),dt,2,6,[Ki,"date",Rd,Z1])),di(e.k,Oi,pe(de(jt,1),dt,2,6,[Ki,"dateTime",Rd,Z1])),di(e.n,Oi,pe(de(jt,1),dt,2,6,[Ki,"decimal",Rd,Z1])),di(e.o,Oi,pe(de(jt,1),dt,2,6,[Ki,pL,Rd,Z1])),di(e.p,Oi,pe(de(jt,1),dt,2,6,[Ki,"double:Object",ec,pL])),di(e.q,Oi,pe(de(jt,1),dt,2,6,[Ki,"duration",Rd,Z1])),di(e.s,Oi,pe(de(jt,1),dt,2,6,[Ki,"ENTITIES",ec,Qwt,DSe,"1"])),di(e.r,Oi,pe(de(jt,1),dt,2,6,[Ki,Qwt,u1e,PSe])),di(e.t,Oi,pe(de(jt,1),dt,2,6,[Ki,PSe,ec,qW])),di(e.u,Oi,pe(de(jt,1),dt,2,6,[Ki,mL,Rd,Z1])),di(e.v,Oi,pe(de(jt,1),dt,2,6,[Ki,"float:Object",ec,mL])),di(e.w,Oi,pe(de(jt,1),dt,2,6,[Ki,"gDay",Rd,Z1])),di(e.B,Oi,pe(de(jt,1),dt,2,6,[Ki,"gMonth",Rd,Z1])),di(e.A,Oi,pe(de(jt,1),dt,2,6,[Ki,"gMonthDay",Rd,Z1])),di(e.C,Oi,pe(de(jt,1),dt,2,6,[Ki,"gYear",Rd,Z1])),di(e.D,Oi,pe(de(jt,1),dt,2,6,[Ki,"gYearMonth",Rd,Z1])),di(e.F,Oi,pe(de(jt,1),dt,2,6,[Ki,"hexBinary",Rd,Z1])),di(e.G,Oi,pe(de(jt,1),dt,2,6,[Ki,"ID",ec,qW])),di(e.H,Oi,pe(de(jt,1),dt,2,6,[Ki,"IDREF",ec,qW])),di(e.J,Oi,pe(de(jt,1),dt,2,6,[Ki,"IDREFS",ec,Zwt,DSe,"1"])),di(e.I,Oi,pe(de(jt,1),dt,2,6,[Ki,Zwt,u1e,"IDREF"])),di(e.K,Oi,pe(de(jt,1),dt,2,6,[Ki,vL])),di(e.M,Oi,pe(de(jt,1),dt,2,6,[Ki,NSe])),di(e.L,Oi,pe(de(jt,1),dt,2,6,[Ki,"int:Object",ec,vL])),di(e.P,Oi,pe(de(jt,1),dt,2,6,[Ki,"language",ec,f1e,d1e,Jwt])),di(e.Q,Oi,pe(de(jt,1),dt,2,6,[Ki,bL])),di(e.R,Oi,pe(de(jt,1),dt,2,6,[Ki,"long:Object",ec,bL])),di(e.S,Oi,pe(de(jt,1),dt,2,6,[Ki,"Name",ec,f1e,d1e,RSe])),di(e.T,Oi,pe(de(jt,1),dt,2,6,[Ki,qW,ec,"Name
`,sbt=`)]}"' \r
`,abt="The given string contains parts that cannot be parsed as numbers.",CR="org.eclipse.elk.core.math",obt={3:1,4:1,142:1,207:1,414:1},cbt={3:1,4:1,116:1,207:1,414:1},mr="org.eclipse.elk.layered",$m="org.eclipse.elk.alg.layered.graph.transform",lbt="ElkGraphImporter",ubt="ElkGraphImporter/lambda$0$Type",hbt="ElkGraphImporter/lambda$1$Type",fbt="ElkGraphImporter/lambda$2$Type",dbt="ElkGraphImporter/lambda$4$Type",gbt="Node margin calculation",sr="org.eclipse.elk.alg.layered.intermediate",pbt="ONE_SIDED_GREEDY_SWITCH",mbt="TWO_SIDED_GREEDY_SWITCH",qfe="No implementation is available for the layout processor ",f9e="IntermediateProcessorStrategy",Ufe="Node '",vbt="FIRST_SEPARATE",bbt="LAST_SEPARATE",wbt="Odd port side processing",Da="org.eclipse.elk.alg.layered.intermediate.compaction",tL="org.eclipse.elk.alg.layered.intermediate.greedyswitch",cp="org.eclipse.elk.alg.layered.p3order.counting",AR={225:1},o8="org.eclipse.elk.alg.layered.intermediate.loops",$f="org.eclipse.elk.alg.layered.intermediate.loops.ordering",cb="org.eclipse.elk.alg.layered.intermediate.loops.routing",nL="org.eclipse.elk.alg.layered.intermediate.preserveorder",kg="org.eclipse.elk.alg.layered.intermediate.wrapping",iu="org.eclipse.elk.alg.layered.options",Gfe="INTERACTIVE",ybt="DEPTH_FIRST",_bt="EDGE_LENGTH",xbt="SELF_LOOPS",kbt="firstTryWithInitialOrder",d9e="org.eclipse.elk.layered.directionCongruency",g9e="org.eclipse.elk.layered.feedbackEdges",rW="org.eclipse.elk.layered.interactiveReferencePoint",p9e="org.eclipse.elk.layered.mergeEdges",m9e="org.eclipse.elk.layered.mergeHierarchyEdges",v9e="org.eclipse.elk.layered.allowNonFlowPortsToSwitchSides",b9e="org.eclipse.elk.layered.portSortingStrategy",w9e="org.eclipse.elk.layered.thoroughness",y9e="org.eclipse.elk.layered.unnecessaryBendpoints",_9e="org.eclipse.elk.layered.generatePositionAndLayerIds",Wfe="org.eclipse.elk.layered.cycleBreaking.strategy",MR="org.eclipse.elk.layered.layering.strategy",x9e="org.eclipse.elk.layered.layering.layerConstraint",k9e="org.eclipse.elk.layered.layering.layerChoiceConstraint",E9e="org.eclipse.elk.layered.layering.layerId",Kfe="org.eclipse.elk.layered.layering.minWidth.upperBoundOnWidth",Yfe="org.eclipse.elk.layered.layering.minWidth.upperLayerEstimationScalingFactor",Xfe="org.eclipse.elk.layered.layering.nodePromotion.strategy",Qfe="org.eclipse.elk.layered.layering.nodePromotion.maxIterations",Zfe="org.eclipse.elk.layered.layering.coffmanGraham.layerBound",rL="org.eclipse.elk.layered.crossingMinimization.strategy",T9e="org.eclipse.elk.layered.crossingMinimization.forceNodeModelOrder",Jfe="org.eclipse.elk.layered.crossingMinimization.hierarchicalSweepiness",ede="org.eclipse.elk.layered.crossingMinimization.semiInteractive",S9e="org.eclipse.elk.layered.crossingMinimization.positionChoiceConstraint",C9e="org.eclipse.elk.layered.crossingMinimization.positionId",A9e="org.eclipse.elk.layered.crossingMinimization.greedySwitch.activationThreshold",tde="org.eclipse.elk.layered.crossingMinimization.greedySwitch.type",iW="org.eclipse.elk.layered.crossingMinimization.greedySwitchHierarchical.type",l_="org.eclipse.elk.layered.nodePlacement.strategy",sW="org.eclipse.elk.layered.nodePlacement.favorStraightEdges",nde="org.eclipse.elk.layered.nodePlacement.bk.edgeStraightening",rde="org.eclipse.elk.layered.nodePlacement.bk.fixedAlignment",ide="org.eclipse.elk.layered.nodePlacement.linearSegments.deflectionDampening",sde="org.eclipse.elk.layered.nodePlacement.networkSimplex.nodeFlexibility",ade="org.eclipse.elk.layered.nodePlacement.networkSimplex.nodeFlexibility.default",M9e="org.eclipse.elk.layered.edgeRouting.selfLoopDistribution",L9e="org.eclipse.elk.layered.edgeRouting.selfLoopOrdering",aW="org.eclipse.elk.layered.edgeRouting.splines.mode",oW="org.eclipse.elk.layered.edgeRouting.splines.sloppy.layerSpacingFactor",ode="org.eclipse.elk.layered.edgeRouting.polyline.slopedEdgeZoneWidth",I9e="org.eclipse.elk.layered.spacing.baseValue",O9e="org.eclipse.elk.layered.spacing.edgeNodeBetweenLayers",D9e="org.eclipse.elk.layered.spacing.edgeEdgeBetweenLayers",P9e="org.eclipse.elk.layered.sp
`,t=St(0),h=0;h<this.p;h++){for(r+=""+t.a,t=St(qet(t.a)),i=0;i<this.o;i++)n=dle(this,i,h),nu(n,0)==0?r+="_":nu(n,1)==0?r+="X":r+="0";r+=`
`}return Mf(r,0,r.length-1)},u.o=0,u.p=0,F(KG,"TwoBitGrid",1298),N(321,1298,{321:1},dke),u.j=0,u.k=0,F(KG,"PlanarGrid",321),N(167,321,{321:1,167:1}),u.g=0,u.i=0,F(KG,"Polyomino",167);var sSn=na(xR,Vvt);N(134,1,WEe,Ew),u.Ye=function(t,n){return _N(this,t,n)},u.Ve=function(){return fnt(this)},u.We=function(t){return re(this,t)},u.Xe=function(t){return so(this,t)},F(xR,"MapPropertyHolder",134),N(1299,134,WEe,U0t),F(KG,"Polyominoes",1299);var F3t=!1,TL,QCe;N(1766,1,vr,F3),u.td=function(t){Vpt(l(t,221))},F(n8,"DepthFirstCompaction/0methodref$compactTree$Type",1766),N(810,1,vr,Fi),u.td=function(t){zun(this.a,l(t,221))},F(n8,"DepthFirstCompaction/lambda$1$Type",810),N(1767,1,vr,Ttt),u.td=function(t){fbn(this.a,this.b,this.c,l(t,221))},F(n8,"DepthFirstCompaction/lambda$2$Type",1767);var SL,ZCe;N(65,1,{65:1},Oit),F(n8,"Node",65),N(1250,1,{},IJe),F(n8,"ScanlineOverlapCheck",1250),N(1251,1,{679:1},Zrt),u.Ke=function(t){Tan(this,l(t,440))},F(n8,"ScanlineOverlapCheck/OverlapsScanlineHandler",1251),N(1252,1,As,$g),u.ue=function(t,n){return Kmn(l(t,65),l(n,65))},u.Fb=function(t){return this===t},u.ve=function(){return new be(this)},F(n8,"ScanlineOverlapCheck/OverlapsScanlineHandler/lambda$0$Type",1252),N(440,1,{440:1},w3e),u.a=!1,F(n8,"ScanlineOverlapCheck/Timestamp",440),N(1253,1,As,ca),u.ue=function(t,n){return Ewn(l(t,440),l(n,440))},u.Fb=function(t){return this===t},u.ve=function(){return new be(this)},F(n8,"ScanlineOverlapCheck/lambda$0$Type",1253),N(550,1,{},Ea),F(qvt,"SVGImage",550),N(324,1,{324:1},f5e),u.Ib=function(){return"("+this.a+bc+this.b+bc+this.c+")"},F(qvt,"UniqueTriple",324),N(209,1,P2),F(a_,"AbstractLayoutProvider",209),N(1132,209,P2,oc),u.Ze=function(t,n){var r,i,a,h;switch(Zr(n,Uvt,1),this.a=ot(Lt(nn(t,(_M(),iAe)))),g2(t,U1e)&&(a=wi(nn(t,U1e)),r=fhe(HE(),a),r&&(i=l(vce(r.f),209),i.Ze(t,Eu(n,1)))),h=new Kst(this.a),this.b=d9n(h,t),l(nn(t,(Ple(),eAe)),481).g){case 0:M5n(new cs,this.b),Uc(t,uK,re(this.b,uK));break;default:Ug()}_9n(h),Uc(t,nAe,this.b),Br(n)},u.a=0,F(Gvt,"DisCoLayoutProvider",1132),N(1244,1,{},cs),u.c=!1,u.e=0,u.f=0,F(Gvt,"DisCoPolyominoCompactor",1244),N(561,1,{561:1},vnt),u.b=!0,F(XG,"DCComponent",561),N(394,22,{3:1,35:1,22:1,394:1},Kz),u.a=!1;var cK,XR,lK,QR,j3t=_i(XG,"DCDirection",394,Si,Cdn,gon),$3t;N(266,134,{3:1,266:1,94:1,134:1},Zue),F(XG,"DCElement",266),N(395,1,{395:1},Bke),u.c=0,F(XG,"DCExtension",395),N(755,134,WEe,fXe),F(XG,"DCGraph",755),N(481,22,{3:1,35:1,22:1,481:1},vet);var q1e,JCe=_i(Pfe,KEe,481,Si,rhn,pon),H3t;N(854,1,Id,$ie),u.Qe=function(t){yn(t,new un(bn(vn(wn(Bn(dn(mn(gn(pn(new an,YEe),Wvt),"Connected Components Compaction Strategy"),"Strategy for packing different connected components in order to save space and enhance readability of a graph."),tAe),(Bm(),wa)),JCe),kn((K1(),hr))))),yn(t,new un(bn(vn(wn(dn(mn(gn(pn(new an,XEe),Wvt),"Connected Components Layout Algorithm"),"A layout algorithm that is to be applied to each connected component before the components themselves are compacted. If unspecified, the positions of the components' nodes are not altered."),ET),jt),kn(hr)))),yn(t,new un(bn(vn(wn(dn(mn(gn(pn(new an,QEe),"debug"),"DCGraph"),"Access to the DCGraph is intended for the debug view,"),z0),xr),kn(hr)))),yn(t,new un(bn(vn(wn(dn(mn(gn(pn(new an,ZEe),"debug"),"List of Polyominoes"),"Access to the polyominoes is intended for the debug view,"),z0),xr),kn(hr)))),Ipt((new FH,t))};var z3t,eAe,tAe,V3t,q3t;F(Pfe,"DisCoMetaDataProvider",854),N(998,1,Id,FH),u.Qe=function(t){Ipt(t)};var U3t,U1e,G3t,nAe,uK,G1e,rAe,W3t,K3t,Y3t,X3t,iAe;F(Pfe,"DisCoOptions",998),N(999,1,{},Nl),u.$e=function(){var t;return t=new oc,t},u._e=function(t){},F(Pfe,"DisCoOptions/DiscoFactory",999),N(562,167,{321:1,167:1,562:1},A0t),u.a=0,u.b=0,u.c=0,u.d=0,F("org.eclipse.elk.alg.disco.structures","DCPolyomino",562);var W1e,K1e,hK;N(1268,1,Xi,Yt),u.Mb=function(t){return K3e(t)},F(o_,"ElkGraphComponentsProcessor/lambda$0$Type",1268),N(1269,1,{},j3),u.Kb=function(t){return Sk(),tp(l(t,79))},F(o_,"ElkGraphComponentsProcessor/lambda$1$Type",1269),N(1270,1,Xi,fn),u.Mb=function(t){return gln(l(t,79))},F(o_,"ElkGraph
start=`,Wl(t,this.i),t.a+=`
end=`,Wl(t,this.a),t.a+=`
nodeStartEdge=`,Wl(t,this.e),t.a+=`
startEndEdge=`,Wl(t,this.j),t.a+=`
originalEdge=`,Wl(t,this.f),t.a+=`
startInLayerDummy=`,Wl(t,this.k),t.a+=`
startInLayerEdge=`,Wl(t,this.n),t.a+=`
endInLayerDummy=`,Wl(t,this.b),t.a+=`
endInLayerEdge=`,Wl(t,this.c),t.a},F(kg,"BreakingPointInserter/BPInfo",305),N(652,1,{652:1},Av),u.a=!1,u.b=0,u.c=0,F(kg,"BreakingPointInserter/Cut",652),N(1480,1,va,nne),u.pf=function(t,n){z6n(l(t,37),n)},F(kg,"BreakingPointProcessor",1480),N(1481,1,Xi,rne),u.Mb=function(t){return fct(l(t,10))},F(kg,"BreakingPointProcessor/0methodref$isEnd$Type",1481),N(1482,1,Xi,ine),u.Mb=function(t){return dct(l(t,10))},F(kg,"BreakingPointProcessor/1methodref$isStart$Type",1482),N(1483,1,va,sne),u.pf=function(t,n){h_n(this,l(t,37),n)},F(kg,"BreakingPointRemover",1483),N(1484,1,vr,ane),u.td=function(t){l(t,128).k=!0},F(kg,"BreakingPointRemover/lambda$0$Type",1484),N(797,1,{},o7e),u.b=0,u.e=0,u.f=0,u.j=0,F(kg,"GraphStats",797),N(798,1,{},z$),u.Ce=function(t,n){return v.Math.max(ot(Lt(t)),ot(Lt(n)))},F(kg,"GraphStats/0methodref$max$Type",798),N(799,1,{},V$),u.Ce=function(t,n){return v.Math.max(ot(Lt(t)),ot(Lt(n)))},F(kg,"GraphStats/2methodref$max$Type",799),N(1660,1,{},one),u.Ce=function(t,n){return Xcn(Lt(t),Lt(n))},F(kg,"GraphStats/lambda$1$Type",1660),N(1661,1,{},VC),u.Kb=function(t){return tft(this.a,l(t,29))},F(kg,"GraphStats/lambda$2$Type",1661),N(1662,1,{},fz),u.Kb=function(t){return R0t(this.a,l(t,29))},F(kg,"GraphStats/lambda$6$Type",1662),N(800,1,{},q$),u.Vf=function(t,n){var r;return r=l(re(t,(Nt(),fIe)),15),r||(In(),In(),Lc)},u.Wf=function(){return!1},F(kg,"ICutIndexCalculator/ManualCutIndexCalculator",800),N(802,1,{},U$),u.Vf=function(t,n){var r,i,a,h,d,b,E,C,P,$,K,Z,te,oe,ye,je,Pe,We,at;for(at=(n.n==null&&Tft(n),n.n),E=(n.d==null&&Tft(n),n.d),We=Ue(Eo,Gc,25,at.length,15,1),We[0]=at[0],je=at[0],C=1;C<at.length;C++)We[C]=We[C-1]+at[C],je+=at[C];for(a=Hdt(n)-1,d=l(re(t,(Nt(),dIe)),19).a,i=Oa,r=new yt,K=v.Math.max(0,a-d);K<=v.Math.min(n.f-1,a+d);K++){if(oe=je/(K+1),ye=0,P=1,h=new yt,Pe=Oa,$=0,b=0,te=E[0],K==0)Pe=je,b=(n.g==null&&(n.g=blt(n,new V$)),ot(n.g));else{for(;P<n.f;)We[P-1]-ye>=oe&&(wt(h,St(P)),Pe=v.Math.max(Pe,We[P-1]-$),b+=te,ye+=We[P-1]-ye,$=We[P-1],te=E[P]),te=v.Math.max(te,E[P]),++P;b+=te}Z=v.Math.min(1/Pe,1/n.b/b),Z>i&&(i=Z,r=h)}return r},u.Wf=function(){return!1},F(kg,"MSDCutIndexHeuristic",802),N(1617,1,va,cne),u.pf=function(t,n){B8n(l(t,37),n)},F(kg,"SingleEdgeGraphWrapper",1617),N(227,22,{3:1,35:1,22:1,227:1},fA);var __,aT,oT,s5,LL,x_,cT=_i(iu,"CenterEdgeLabelPlacementStrategy",227,Si,K1n,Son),v5t;N(422,22,{3:1,35:1,22:1,422:1},T3e);var vMe,k0e,bMe=_i(iu,"ConstraintCalculationStrategy",422,Si,Fhn,Con),b5t;N(314,22,{3:1,35:1,22:1,314:1,246:1,234:1},Lae),u.Kf=function(){return A1t(this)},u.Xf=function(){return A1t(this)};var rB,g8,wMe,yMe=_i(iu,"CrossingMinimizationStrategy",314,Si,Lfn,Aon),w5t;N(337,22,{3:1,35:1,22:1,337:1},Iae);var _Me,E0e,zK,xMe=_i(iu,"CuttingStrategy",337,Si,Ifn,Ion),y5t;N(335,22,{3:1,35:1,22:1,335:1,246:1,234:1},cP),u.Kf=function(){return g0t(this)},u.Xf=function(){return g0t(this)};var kMe,T0e,IL,S0e,OL,EMe=_i(iu,"CycleBreakingStrategy",335,Si,y1n,Oon),_5t;N(419,22,{3:1,35:1,22:1,419:1},S3e);var VK,TMe,SMe=_i(iu,"DirectionCongruency",419,Si,Bhn,Don),x5t;N(450,22,{3:1,35:1,22:1,450:1},Oae);var lT,C0e,k_,k5t=_i(iu,"EdgeConstraint",450,Si,Ofn,Pon),E5t;N(276,22,{3:1,35:1,22:1,276:1},dA);var A0e,M0e,L0e,I0e,qK,O0e,CMe=_i(iu,"EdgeLabelSideSelection",276,Si,Z1n,Non),T5t;N(479,22,{3:1,35:1,22:1,479:1},C3e);var UK,AMe,MMe=_i(iu,"EdgeStraighteningStrategy",479,Si,Rhn,Ron),S5t;N(274,22,{3:1,35:1,22:1,274:1},gA);var D0e,LMe,IMe,GK,OMe,DMe,PMe=_i(iu,"FixedAlignment",274,Si,X1n,Bon),C5t;N(275,22,{3:1,35:1,22:1,275:1},pA);var NMe,RMe,BMe,FMe,DL,jMe,$Me=_i(iu,"GraphCompactionStrategy",275,Si,Y1n,Fon),A5t;N(256,22,{3:1,35:1,22:1,256:1},i4);var uT,WK,hT,dd,PL,KK,fT,E_,YK,NL,P0e=_i(iu,"GraphProperties",256,Si,Bgn,jon),M5t;N(292,22,{3:1,35:1,22:1,292:1},Dae);var iB,N0e,R0e,B0e=_i(iu,"GreedySwitchType",292,Si,Nfn,$on),L5t;N(303,22,{3:1,35:1,22:1,303:1},Pae);var p8,sB,T_,I5t=_i(iu,"InLayerConstraint",303,Si,Pfn,Hon),O5t;N(420,22,{3:1,35:1,22:1,420:1},A3e);var F0e,HMe,zMe=_i(iu,"InteractiveReferencePoint",420,Si,jhn,zon),D5t,VMe,m8,Gy,XK,qMe,UMe,QK,GMe,aB,ZK,RL,v8,a5,j0e,JK,Vl,WMe,Wy,Lu,$0e,H0e,oB,q2,Ky,b8,KMe,
`;for(n=$i(this.a,0);n.b!=n.d.c;)t=l(ji(n),188),a+=(t.b&&t.c?Tq(t.b)+"->"+Tq(t.c):"e_"+Ws(t))+`
`;return a};var dSn=F(aL,"TGraph",135);N(633,502,{3:1,502:1,633:1,94:1,134:1}),F(aL,"TShape",633),N(86,633,{3:1,502:1,86:1,633:1,94:1,134:1},Cle),u.Ib=function(){return Tq(this)};var gSn=F(aL,"TNode",86);N(255,1,rp,Mv),u.Jc=function(t){Ho(this,t)},u.Kc=function(){var t;return t=$i(this.a.d,0),new rk(t)},F(aL,"TNode/2",255),N(358,1,ko,rk),u.Nb=function(t){jo(this,t)},u.Pb=function(){return l(ji(this.a),188).c},u.Ob=function(){return Iz(this.a)},u.Qb=function(){Zq(this.a)},F(aL,"TNode/2/1",358),N(1840,1,va,Jet),u.pf=function(t,n){T8n(this,l(t,135),n)},F(c8,"FanProcessor",1840),N(327,22,{3:1,35:1,22:1,327:1,234:1},vA),u.Kf=function(){switch(this.g){case 0:return new BYe;case 1:return new Jet;case 2:return new Fx;case 3:return new tre;case 4:return new rre;case 5:return new bD;default:throw ue(new Jn(qfe+(this.f!=null?this.f:""+this.g)))}};var Cge,Age,Mge,Lge,Ige,CY,skt=_i(c8,f9e,327,Si,J1n,ucn),akt;N(1843,1,va,tre),u.pf=function(t,n){o6n(this,l(t,135),n)},u.a=0,F(c8,"LevelHeightProcessor",1843),N(1844,1,rp,nre),u.Jc=function(t){Ho(this,t)},u.Kc=function(){return In(),rE(),Z9},F(c8,"LevelHeightProcessor/1",1844),N(1841,1,va,Fx),u.pf=function(t,n){g4n(this,l(t,135),n)},u.a=0,F(c8,"NeighborsProcessor",1841),N(1842,1,rp,Y$),u.Jc=function(t){Ho(this,t)},u.Kc=function(){return In(),rE(),Z9},F(c8,"NeighborsProcessor/1",1842),N(1845,1,va,rre),u.pf=function(t,n){a6n(this,l(t,135),n)},u.a=0,F(c8,"NodePositionProcessor",1845),N(1839,1,va,BYe),u.pf=function(t,n){O7n(this,l(t,135))},F(c8,"RootProcessor",1839),N(1846,1,va,bD),u.pf=function(t,n){Hmn(l(t,135))},F(c8,"Untreeifyer",1846);var _B,eI,okt,Oge,AY,tI,Dge,MY,LY,xT,nI,IY,Wm,YIe,ckt,Pge,w5,Nge,XIe;N(851,1,Id,c6),u.Qe=function(t){yn(t,new un(bn(vn(wn(Bn(dn(mn(gn(pn(new an,ITe),""),"Weighting of Nodes"),"Which weighting to use when computing a node order."),ZIe),(Bm(),wa)),sOe),kn((K1(),hr))))),yn(t,new un(bn(vn(wn(Bn(dn(mn(gn(pn(new an,OTe),""),"Search Order"),"Which search order to use when computing a spanning tree."),QIe),wa),oOe),kn(hr)))),omt((new DD,t))};var lkt,QIe,ukt,ZIe;F(_W,"MrTreeMetaDataProvider",851),N(994,1,Id,DD),u.Qe=function(t){omt(t)};var hkt,JIe,fkt,dkt,gkt,pkt,eOe,mkt,tOe,vkt,OY,nOe,bkt,rOe,wkt;F(_W,"MrTreeOptions",994),N(995,1,{},ire),u.$e=function(){var t;return t=new ett,t},u._e=function(t){},F(_W,"MrTreeOptions/MrtreeFactory",995),N(480,22,{3:1,35:1,22:1,480:1},R3e);var Rge,iOe,sOe=_i(_W,"OrderWeighting",480,Si,Whn,hcn),ykt;N(425,22,{3:1,35:1,22:1,425:1},B3e);var aOe,Bge,oOe=_i(_W,"TreeifyingOrder",425,Si,Ghn,dcn),_kt;N(1459,1,Cu,OD),u.Yf=function(t){return l(t,135),xkt},u.pf=function(t,n){$gn(this,l(t,135),n)};var xkt;F("org.eclipse.elk.alg.mrtree.p1treeify","DFSTreeifyer",1459),N(1460,1,Cu,ase),u.Yf=function(t){return l(t,135),kkt},u.pf=function(t,n){E4n(this,l(t,135),n)};var kkt;F("org.eclipse.elk.alg.mrtree.p2order","NodeOrderer",1460),N(1461,1,Cu,sse),u.Yf=function(t){return l(t,135),Ekt},u.pf=function(t,n){Hxn(this,l(t,135),n)},u.a=0;var Ekt;F("org.eclipse.elk.alg.mrtree.p3place","NodePlacer",1461),N(1462,1,Cu,VH),u.Yf=function(t){return l(t,135),Tkt},u.pf=function(t,n){dwn(l(t,135),n)};var Tkt;F("org.eclipse.elk.alg.mrtree.p4route","EdgeRouter",1462);var rI;N(495,22,{3:1,35:1,22:1,495:1,246:1,234:1},F3e),u.Kf=function(){return dht(this)},u.Xf=function(){return dht(this)};var DY,kT,cOe=_i(DTe,"RadialLayoutPhases",495,Si,Khn,fcn),Skt;N(1131,209,P2,IXe),u.Ze=function(t,n){var r,i,a,h,d,b;if(r=m1t(this,t),Zr(n,"Radial layout",r.c.length),Zt(Xt(nn(t,(O4(),bOe))))||bq((i=new Dr((r4(),new J3(t))),i)),b=Lyn(t),Uc(t,(DA(),rI),b),!b)throw ue(new Jn("The given graph is not a tree!"));for(a=ot(Lt(nn(t,RY))),a==0&&(a=L1t(t)),Uc(t,RY,a),d=new M(m1t(this,t));d.a<d.c.c.length;)h=l(se(d),51),h.pf(t,Eu(n,1));Br(n)},F(DTe,"RadialLayoutProvider",1131),N(549,1,As,Oz),u.ue=function(t,n){return nkn(this.a,this.b,l(t,33),l(n,33))},u.Fb=function(t){return this===t},u.ve=function(){return new be(this)},u.a=0,u.b=0,F(DTe,"RadialUtil/lambda$0$Type",549),N(1375,1,va,are),u.pf=function(t,n){_En(l(t,33),n)},F(zbt,"CalculateGraphSize",1375),N(442,22,{3:1,35:1,22:1,442:1,234:1},Vae),u
`),a.length!=2)throw ue(new Jn("Exactly two numbers are expected, "+a.length+" were found."));try{this.a=R4(N4(a[0])),this.b=R4(N4(a[1]))}catch(h){throw h=ea(h),Le(h,127)?(r=h,ue(new Jn(abt+r))):ue(h)}},u.Ib=function(){return"("+this.a+","+this.b+")"},u.a=0,u.b=0;var ao=F(CR,"KVector",8);N(74,68,{3:1,4:1,20:1,28:1,52:1,14:1,68:1,15:1,74:1,414:1},Th,Mz,_et),u.Pc=function(){return Jpn(this)},u.Jf=function(t){var n,r,i,a,h,d;i=H4(t,`,|;|\\(|\\)|\\[|\\]|\\{|\\}| | |
`),Sd(this);try{for(r=0,h=0,a=0,d=0;r<i.length;)i[r]!=null&&N4(i[r]).length>0&&(h%2==0?a=R4(i[r]):d=R4(i[r]),h>0&&h%2!=0&&zi(this,new en(a,d)),++h),++r}catch(b){throw b=ea(b),Le(b,127)?(n=b,ue(new Jn("The given string does not match the expected format for vectors."+n))):ue(b)}},u.Ib=function(){var t,n,r;for(t=new Af("("),n=$i(this,0);n.b!=n.d.c;)r=l(ji(n),8),Mi(t,r.a+","+r.b),n.b!=n.d.c&&(t.a+="; ");return(t.a+=")",t).a};var vDe=F(CR,"KVectorChain",74);N(248,22,{3:1,35:1,22:1,248:1},bA);var ipe,VY,qY,TB,SB,UY,bDe=_i(Dd,"Alignment",248,Si,W1n,Lcn),U8t;N(979,1,Id,lse),u.Qe=function(t){npt(t)};var wDe,spe,G8t,yDe,_De,W8t,xDe,K8t,Y8t,kDe,EDe,X8t;F(Dd,"BoxLayouterOptions",979),N(980,1,{},$re),u.$e=function(){var t;return t=new Gre,t},u._e=function(t){},F(Dd,"BoxLayouterOptions/BoxFactory",980),N(291,22,{3:1,35:1,22:1,291:1},wA);var CB,ape,AB,MB,LB,ope,cpe=_i(Dd,"ContentAlignment",291,Si,G1n,Icn),Q8t;N(684,1,Id,Ev),u.Qe=function(t){yn(t,new un(bn(vn(wn(dn(mn(gn(pn(new an,t2t),""),"Layout Algorithm"),"Select a specific layout algorithm."),(Bm(),ET)),jt),kn((K1(),hr))))),yn(t,new un(bn(vn(wn(dn(mn(gn(pn(new an,n2t),""),"Resolved Layout Algorithm"),"Meta data associated with the selected algorithm."),z0),vSn),kn(hr)))),yn(t,new un(bn(vn(wn(Bn(dn(mn(gn(pn(new an,lTe),""),"Alignment"),"Alignment of the selected node relative to other nodes; the exact meaning depends on the used algorithm."),TDe),wa),bDe),kn(mo)))),yn(t,new un(bn(vn(wn(dn(mn(gn(pn(new an,r8),""),"Aspect Ratio"),"The desired aspect ratio of the drawing, that is the quotient of width by height."),fl),Mo),kn(hr)))),yn(t,new un(bn(vn(wn(dn(mn(gn(pn(new an,rSe),""),"Bend Points"),"A fixed list of bend points for the edge. This is used by the 'Fixed Layout' algorithm to specify a pre-defined routing for an edge. The vector chain must include the source point, any bend points, and the target point, so it must have at least two points."),z0),vDe),kn(Og)))),yn(t,new un(bn(vn(wn(Bn(dn(mn(gn(pn(new an,vW),""),"Content Alignment"),"Specifies how the content of a node are aligned. Each node can individually control the alignment of its contents. I.e. if a node should be aligned top left in its parent node, the parent node should specify that option."),CDe),S8),cpe),kn(hr)))),yn(t,new un(bn(vn(wn(Bn(dn(mn(gn(pn(new an,DR),""),"Debug Mode"),"Whether additional debug information shall be generated."),(er(),!1)),tc),Ya),kn(hr)))),yn(t,new un(bn(vn(wn(Bn(dn(mn(gn(pn(new an,fTe),""),GEe),"Overall direction of edges: horizontal (right / left) or vertical (down / up)."),ADe),wa),uI),kn(hr)))),yn(t,new un(bn(vn(wn(Bn(dn(mn(gn(pn(new an,IR),""),"Edge Routing"),"What kind of edge routing style should be applied for the content of a parent node. Algorithms may also set this option to single edges in order to mark them as splines. The bend point list of edges with this option set to SPLINES must be interpreted as control points for a piecewise cubic spline."),IDe),wa),_pe),kn(hr)))),yn(t,new un(bn(vn(wn(Bn(dn(mn(gn(pn(new an,kW),""),"Expand Nodes"),"If active, nodes are expanded to fill the area of their parent."),!1),tc),Ya),kn(hr)))),yn(t,new un(bn(vn(wn(Bn(dn(mn(gn(pn(new an,mW),""),"Hierarchy Handling"),"Determines whether separate layout runs are triggered for different compound nodes in a hierarchical graph. Setting a node's hierarchy handling to `INCLUDE_CHILDREN` will lay out that node and all of its descendants in a single layout run, until a descendant is encountered which has its hierarchy handling set to `SEPARATE_CHILDREN`. In general, `SEPARATE_CHILDREN` will ensure that a new layout run is triggered for a node with that setting. Including multiple levels of hierarchy in a single layout run may allow cross-hierarchical edges to be laid out properly. If the root node is set to `INHERIT` (or not set at all), the default behavior is `SEPARATE_CHILDREN`."),NDe),wa),yPe),zs(hr,pe(de(Ym,1),vt,175,0,[mo]))))),yn(t,new un(bn(vn(wn(Bn(dn(mn(gn(pn(new an,Ny),""),"Padding"),"The padding to be left to a parent element's border when placing child elements. This can also serve as an output
Consider installing the package or pass your own 'workerFactory' to ELK's constructor.
... Falling back to non-web worker version.`);if(!G.workerFactory){var me=f("./elk-worker.min.js"),_e=me.Worker;G.workerFactory=function(we){return new _e(we)}}return v(this,(V.__proto__||Object.getPrototypeOf(V)).call(this,G))}return V}(O);Object.defineProperty(m.exports,"__esModule",{value:!0}),m.exports=j,j.default=j},{"./elk-api.js":1,"./elk-worker.min.js":2,"web-worker":4}],4:[function(f,m,y){m.exports=Worker},{}]},{},[3])(3)})})(Otn);const Dtn=H(Hwe),$Ge=new Dtn,B3={},Ptn={};let Tx={};const Ntn=function(s,o,f,m,y,k,v){const A=f.select(`[id="${o}"]`),O=A.insert("g").attr("class","nodes");return Object.keys(s).forEach(function(z){const V=s[z];let Y="default";V.classes.length>0&&(Y=V.classes.join(" "));const G=T3(V.styles);let J=V.text!==void 0?V.text:V.id,ce;const me={width:0,height:0};if(i0(Qt().flowchart.htmlLabels)){const ge={label:J.replace(/fa[blrs]?:fa-[\w-]+/g,Ne=>`<i class='${Ne.replace(":"," ")}'></i>`)};ce=PJ(A,ge).node();const Me=ce.getBBox();me.width=Me.width,me.height=Me.height,me.labelNode=ce,ce.parentNode.removeChild(ce)}else{const ge=m.createElementNS("http://www.w3.org/2000/svg","text");ge.setAttribute("style",G.labelStyle.replace("color:","fill:"));const Me=J.split(Oo.lineBreakRegex);for(const xe of Me){const qe=m.createElementNS("http://www.w3.org/2000/svg","tspan");qe.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),qe.setAttribute("dy","1em"),qe.setAttribute("x","1"),qe.textContent=xe,ge.appendChild(qe)}ce=ge;const Ne=ce.getBBox();me.width=Ne.width,me.height=Ne.height,me.labelNode=ce}const _e=[{id:V.id+"-west",layoutOptions:{"port.side":"WEST"}},{id:V.id+"-east",layoutOptions:{"port.side":"EAST"}},{id:V.id+"-south",layoutOptions:{"port.side":"SOUTH"}},{id:V.id+"-north",layoutOptions:{"port.side":"NORTH"}}];let we=0,Se="",Oe={};switch(V.type){case"round":we=5,Se="rect";break;case"square":Se="rect";break;case"diamond":Se="question",Oe={portConstraints:"FIXED_SIDE"};break;case"hexagon":Se="hexagon";break;case"odd":Se="rect_left_inv_arrow";break;case"lean_right":Se="lean_right";break;case"lean_left":Se="lean_left";break;case"trapezoid":Se="trapezoid";break;case"inv_trapezoid":Se="inv_trapezoid";break;case"odd_right":Se="rect_left_inv_arrow";break;case"circle":Se="circle";break;case"ellipse":Se="ellipse";break;case"stadium":Se="stadium";break;case"subroutine":Se="subroutine";break;case"cylinder":Se="cylinder";break;case"group":Se="rect";break;case"doublecircle":Se="doublecircle";break;default:Se="rect"}const De={labelStyle:G.labelStyle,shape:Se,labelText:J,rx:we,ry:we,class:Y,style:G.style,id:V.id,link:V.link,linkTarget:V.linkTarget,tooltip:y.db.getTooltip(V.id)||"",domId:y.db.lookUpDomId(V.id),haveCallback:V.haveCallback,width:V.type==="group"?500:void 0,dir:V.dir,type:V.type,props:V.props,padding:Qt().flowchart.padding};let Ve,ke;De.type!=="group"&&(ke=HVe(O,De,V.dir),Ve=ke.node().getBBox());const Ie={id:V.id,ports:V.type==="diamond"?_e:[],layoutOptions:Oe,labelText:J,labelData:me,domId:y.db.lookUpDomId(V.id),width:Ve==null?void 0:Ve.width,height:Ve==null?void 0:Ve.height,type:V.type,el:ke,parent:k.parentById[V.id]};Tx[De.id]=Ie}),v},HGe=(s,o,f)=>{const m={TB:{in:{north:"north"},out:{south:"west",west:"east",east:"south"}},LR:{in:{west:"west"},out:{east:"south",south:"north",north:"east"}},RL:{in:{east:"east"},out:{west:"north",north:"south",south:"west"}},BT:{in:{south:"south"},out:{north:"east",east:"west",west:"north"}}};return m.TD=m.TB,ne.info("abc88",f,o,s),m[f][o][s]},zGe=(s,o,f)=>{if(ne.info("getNextPort abc88",{node:s,edgeDirection:o,graphDirection:f}),!B3[s])switch(f){case"TB":case"TD":B3[s]={inPosition:"north",outPosition:"south"};break;case"BT":B3[s]={inPosition:"south",outPosition:"north"};break;case"RL":B3[s]={inPosition:"east",outPosition:"west"};break;case"LR":B3[s]={inPosition:"west",outPosition:"east"};break}const m=o==="in"?B3[s].inPosition:B3[s].outPosition;return o==="in"?B3[s].inPosition=HGe(B3[s].inPosition,o,f):B3[s].outPosition=HGe(B3[s].outPosition,o,f),m},Rtn=(s,o)=>{let f=s.start,m=s.end;const y=Tx[f],k=Tx[m];return!y||!k?{source:f,target:m}:
`),j.style===void 0&&(J.style=J.style||"stroke: #333; stroke-width: 1.5px;fill:none;"),J.labelStyle=J.labelStyle.replace("color:","fill:"),J.id=V,J.classes="flowchart-link "+Y+" "+G;const _e=qVe(y,J),{source:we,target:Se}=Rtn(j,v);ne.debug("abc78 source and target",we,Se),f.edges.push({id:"e"+j.start+j.end,sources:[we],targets:[Se],labelEl:_e,labels:[{width:J.width,height:J.height,orgWidth:J.width,orgHeight:J.height,text:J.label,layoutOptions:{"edgeLabels.inline":"true","edgeLabels.placement":"CENTER"}}],edgeData:J})}),f},Ftn=function(s,o,f,m){let y="";switch(m&&(y=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,y=y.replace(/\(/g,"\\("),y=y.replace(/\)/g,"\\)")),o.arrowTypeStart){case"arrow_cross":s.attr("marker-start","url("+y+"#"+f+"-crossStart)");break;case"arrow_point":s.attr("marker-start","url("+y+"#"+f+"-pointStart)");break;case"arrow_barb":s.attr("marker-start","url("+y+"#"+f+"-barbStart)");break;case"arrow_circle":s.attr("marker-start","url("+y+"#"+f+"-circleStart)");break;case"aggregation":s.attr("marker-start","url("+y+"#"+f+"-aggregationStart)");break;case"extension":s.attr("marker-start","url("+y+"#"+f+"-extensionStart)");break;case"composition":s.attr("marker-start","url("+y+"#"+f+"-compositionStart)");break;case"dependency":s.attr("marker-start","url("+y+"#"+f+"-dependencyStart)");break;case"lollipop":s.attr("marker-start","url("+y+"#"+f+"-lollipopStart)");break}switch(o.arrowTypeEnd){case"arrow_cross":s.attr("marker-end","url("+y+"#"+f+"-crossEnd)");break;case"arrow_point":s.attr("marker-end","url("+y+"#"+f+"-pointEnd)");break;case"arrow_barb":s.attr("marker-end","url("+y+"#"+f+"-barbEnd)");break;case"arrow_circle":s.attr("marker-end","url("+y+"#"+f+"-circleEnd)");break;case"aggregation":s.attr("marker-end","url("+y+"#"+f+"-aggregationEnd)");break;case"extension":s.attr("marker-end","url("+y+"#"+f+"-extensionEnd)");break;case"composition":s.attr("marker-end","url("+y+"#"+f+"-compositionEnd)");break;case"dependency":s.attr("marker-end","url("+y+"#"+f+"-dependencyEnd)");break;case"lollipop":s.attr("marker-end","url("+y+"#"+f+"-lollipopEnd)");break}},jtn=function(s,o){ne.info("Extracting classes"),o.db.clear("ver-2");try{return o.parse(s),o.db.getClasses()}catch{return{}}},$tn=function(s){const o={parentById:{},childrenById:{}},f=s.getSubGraphs();return ne.info("Subgraphs - ",f),f.forEach(function(m){m.nodes.forEach(function(y){o.parentById[y]=m.id,o.childrenById[m.id]===void 0&&(o.childrenById[m.id]=[]),o.childrenById[m.id].push(y)})}),f.forEach(function(m){m.id,o.parentById[m.id]!==void 0&&o.parentById[m.id]}),o},Htn=function(s,o,f){const m=Itn(s,o,f);if(m===void 0||m==="root")return{x:0,y:0};const y=Tx[m].offset;return{x:y.posX,y:y.posY}},ztn=function(s,o,f,m,y){const k=Htn(o.sources[0],o.targets[0],y),v=o.sections[0].startPoint,A=o.sections[0].endPoint,j=(o.sections[0].bendPoints?o.sections[0].bendPoints:[]).map(me=>[me.x+k.x,me.y+k.y]),z=[[v.x+k.x,v.y+k.y],...j,[A.x+k.x,A.y+k.y]],V=bS().curve(Bg),Y=s.insert("path").attr("d",V(z)).attr("class","path").attr("fill","none"),G=s.insert("g").attr("class","edgeLabel"),J=Or(G.node().appendChild(o.labelEl)),ce=J.node().firstChild.getBoundingClientRect();J.attr("width",ce.width),J.attr("height",ce.height),G.attr("transform",`translate(${o.labels[0].x+k.x}, ${o.labels[0].y+k.y})`),Ftn(Y,f,m.type,m.arrowMarkerAbsolute)},VGe=(s,o)=>{s.forEach(f=>{f.children||(f.children=[]);const m=o.childrenById[f.id];m&&m.forEach(y=>{f.children.push(Tx[y])}),VGe(f.children,o)})},Vtn=async function(s,o,f,m){var y;m.db.clear(),Tx={},m.db.setGen("gen-2"),m.parser.parse(s);const k=Or("body").append("div").attr("style","height:400px").attr("id","cy");let v={id:"root",layoutOptions:{"elk.hierarchyHandling":"INCLUDE_CHILDREN","org.eclipse.elk.padding":"[top=100, left=100, bottom=110, right=110]","elk.layered.spacing.edgeNodeBetweenLayers":"30","elk.direction":"DOWN"},children:[],edges:[]};switch(ne.info("Drawing flowchart using v3 renderer",$Ge),m.db.getDirection()){case"BT":v.layoutOptions["elk.direction"]="UP";break;case"TB":v.layoutO
.subgraph-lvl-${f} {
fill: ${s[`surface${f}`]};
stroke: ${s[`surfacePeer${f}`]};
}
`;return o},Gtn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{db:zXt,renderer:qtn,parser:M2e,styles:s=>`.label {
font-family: ${s.fontFamily};
color: ${s.nodeTextColor||s.textColor};
}
.cluster-label text {
fill: ${s.titleColor};
}
.cluster-label span {
color: ${s.titleColor};
}
.label text,span {
fill: ${s.nodeTextColor||s.textColor};
color: ${s.nodeTextColor||s.textColor};
}
.node rect,
.node circle,
.node ellipse,
.node polygon,
.node path {
fill: ${s.mainBkg};
stroke: ${s.nodeBorder};
stroke-width: 1px;
}
.node .label {
text-align: center;
}
.node.clickable {
cursor: pointer;
}
.arrowheadPath {
fill: ${s.arrowheadColor};
}
.edgePath .path {
stroke: ${s.lineColor};
stroke-width: 2.0px;
}
.flowchart-link {
stroke: ${s.lineColor};
fill: none;
}
.edgeLabel {
background-color: ${s.edgeLabelBackground};
rect {
opacity: 0.5;
background-color: ${s.edgeLabelBackground};
fill: ${s.edgeLabelBackground};
}
text-align: center;
}
.cluster rect {
fill: ${s.clusterBkg};
stroke: ${s.clusterBorder};
stroke-width: 1px;
}
.cluster text {
fill: ${s.titleColor};
}
.cluster span {
color: ${s.titleColor};
}
/* .cluster div {
color: ${s.titleColor};
} */
div.mermaidTooltip {
position: absolute;
text-align: center;
max-width: 200px;
padding: 2px;
font-family: ${s.fontFamily};
font-size: 12px;
background: ${s.tertiaryColor};
border: 1px solid ${s.border2};
border-radius: 2px;
pointer-events: none;
z-index: 100;
}
.flowchartTitleText {
text-anchor: middle;
font-size: 18px;
fill: ${s.textColor};
}
.subgraph {
stroke-width:2;
rx:3;
}
// .subgraph-lvl-1 {
// fill:#ccc;
// // stroke:black;
// }
${Utn(s)}
`}},Symbol.toStringTag,{value:"Module"}));var zwe=function(){var s=function(me,_e,we,Se){for(we=we||{},Se=me.length;Se--;we[me[Se]]=_e);return we},o=[1,2],f=[1,5],m=[6,9,11,17,18,20,22,23,26,27,28],y=[1,15],k=[1,16],v=[1,17],A=[1,18],O=[1,19],j=[1,23],z=[1,24],V=[1,27],Y=[4,6,9,11,17,18,20,22,23,26,27,28],G={trace:function(){},yy:{},symbols_:{error:2,start:3,timeline:4,document:5,EOF:6,directive:7,line:8,SPACE:9,statement:10,NEWLINE:11,openDirective:12,typeDirective:13,closeDirective:14,":":15,argDirective:16,title:17,acc_title:18,acc_title_value:19,acc_descr:20,acc_descr_value:21,acc_descr_multiline_value:22,section:23,period_statement:24,event_statement:25,period:26,event:27,open_directive:28,type_directive:29,arg_directive:30,close_directive:31,$accept:0,$end:1},terminals_:{2:"error",4:"timeline",6:"EOF",9:"SPACE",11:"NEWLINE",15:":",17:"title",18:"acc_title",19:"acc_title_value",20:"acc_descr",21:"acc_descr_value",22:"acc_descr_multiline_value",23:"section",26:"period",27:"event",28:"open_directive",29:"type_directive",30:"arg_directive",31:"close_directive"},productions_:[0,[3,3],[3,2],[5,0],[5,2],[8,2],[8,1],[8,1],[8,1],[7,4],[7,6],[10,1],[10,2],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[24,1],[25,1],[12,1],[13,1],[16,1],[14,1]],performAction:function(_e,we,Se,Oe,De,Ve,ke){var Ie=Ve.length-1;switch(De){case 1:return Ve[Ie-1];case 3:this.$=[];break;case 4:Ve[Ie-1].push(Ve[Ie]),this.$=Ve[Ie-1];break;case 5:case 6:this.$=Ve[Ie];break;case 7:case 8:this.$=[];break;case 11:Oe.getCommonDb().setDiagramTitle(Ve[Ie].substr(6)),this.$=Ve[Ie].substr(6);break;case 12:this.$=Ve[Ie].trim(),Oe.getCommonDb().setAccTitle(this.$);break;case 13:case 14:this.$=Ve[Ie].trim(),Oe.getCommonDb().setAccDescription(this.$);break;case 15:Oe.addSection(Ve[Ie].substr(8)),this.$=Ve[Ie].substr(8);break;case 19:Oe.addTask(Ve[Ie],0,""),this.$=Ve[Ie];break;case 20:Oe.addEvent(Ve[Ie].substr(2)),this.$=Ve[Ie];break;case 21:Oe.parseDirective("%%{","open_directive");break;case 22:Oe.parseDirective(Ve[Ie],"type_directive");break;case 23:Ve[Ie]=Ve[Ie].trim().replace(/'/g,'"'),Oe.parseDirective(Ve[Ie],"arg_directive");break;case 24:Oe.parseDirective("}%%","close_directive","timeline");break}},table:[{3:1,4:o,7:3,12:4,28:f},{1:[3]},s(m,[2,3],{5:6}),{3:7,4:o,7:3,12:4,28:f},{13:8,29:[1,9]},{29:[2,21]},{6:[1,10],7:22,8:11,9:[1,12],10:13,11:[1,14],12:4,17:y,18:k,20:v,22:A,23:O,24:20,25:21,26:j,27:z,28:f},{1:[2,2]},{14:25,15:[1,26],31:V},s([15,31],[2,22]),s(m,[2,8],{1:[2,1]}),s(m,[2,4]),{7:22,10:28,12:4,17:y,18:k,20:v,22:A,23:O,24:20,25:21,26:j,27:z,28:f},s(m,[2,6]),s(m,[2,7]),s(m,[2,11]),{19:[1,29]},{21:[1,30]},s(m,[2,14]),s(m,[2,15]),s(m,[2,16]),s(m,[2,17]),s(m,[2,18]),s(m,[2,19]),s(m,[2,20]),{11:[1,31]},{16:32,30:[1,33]},{11:[2,24]},s(m,[2,5]),s(m,[2,12]),s(m,[2,13]),s(Y,[2,9]),{14:34,31:V},{31:[2,23]},{11:[1,35]},s(Y,[2,10])],defaultActions:{5:[2,21],7:[2,2],27:[2,24],33:[2,23]},parseError:function(_e,we){if(we.recoverable)this.trace(_e);else{var Se=new Error(_e);throw Se.hash=we,Se}},parse:function(_e){var we=this,Se=[0],Oe=[],De=[null],Ve=[],ke=this.table,Ie="",ge=0,Me=0,Ne=2,xe=1,qe=Ve.slice.call(arguments,1),ae=Object.create(this.lexer),Qe={yy:{}};for(var Ce in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ce)&&(Qe.yy[Ce]=this.yy[Ce]);ae.setInput(_e,Qe.yy),Qe.yy.lexer=ae,Qe.yy.parser=this,typeof ae.yylloc>"u"&&(ae.yylloc={});var nt=ae.yylloc;Ve.push(nt);var Ee=ae.options&&ae.options.ranges;typeof Qe.yy.parseError=="function"?this.parseError=Qe.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function kt(){var Pt;return Pt=Oe.pop()||ae.lex()||xe,typeof Pt!="number"&&(Pt instanceof Array&&(Oe=Pt,Pt=Oe.pop()),Pt=we.symbols_[Pt]||Pt),Pt}for(var Ot,Vt,Rt,Gt,_n={},On,Dt,ai,Ft;;){if(Vt=Se[Se.length-1],this.defaultActions[Vt]?Rt=this.defaultActions[Vt]:((Ot===null||typeof Ot>"u")&&(Ot=kt()),Rt=ke[Vt]&&ke[Vt][Ot]),typeof Rt>"u"||!Rt.length||!Rt[0]){var $t="";Ft=[];for(On in ke[Vt])this.terminals_[On]&&On>Ne&&Ft.push("'"+this.terminals_[On]+"'");ae.showPosition?$t="Parse error on line "+(ge+1)+`:
`+ae.showPosition()+`
Expecting `+Ft.join(", ")+", got '"+(this.terminals_[Ot]||Ot)+"'":$t="Parse error on line "+(ge+1)+": Unexpected "+(Ot==xe?"end of input":"'"+(this.terminals_[Ot]||Ot)+"'"),this.parseError($t,{text:ae.match,token:this.terminals_[Ot]||Ot,line:ae.yylineno,loc:nt,expected:Ft})}if(Rt[0]instanceof Array&&Rt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Vt+", token: "+Ot);switch(Rt[0]){case 1:Se.push(Ot),De.push(ae.yytext),Ve.push(ae.yylloc),Se.push(Rt[1]),Ot=null,Me=ae.yyleng,Ie=ae.yytext,ge=ae.yylineno,nt=ae.yylloc;break;case 2:if(Dt=this.productions_[Rt[1]][1],_n.$=De[De.length-Dt],_n._$={first_line:Ve[Ve.length-(Dt||1)].first_line,last_line:Ve[Ve.length-1].last_line,first_column:Ve[Ve.length-(Dt||1)].first_column,last_column:Ve[Ve.length-1].last_column},Ee&&(_n._$.range=[Ve[Ve.length-(Dt||1)].range[0],Ve[Ve.length-1].range[1]]),Gt=this.performAction.apply(_n,[Ie,Me,ge,Qe.yy,Rt[1],De,Ve].concat(qe)),typeof Gt<"u")return Gt;Dt&&(Se=Se.slice(0,-1*Dt*2),De=De.slice(0,-1*Dt),Ve=Ve.slice(0,-1*Dt)),Se.push(this.productions_[Rt[1]][0]),De.push(_n.$),Ve.push(_n._$),ai=ke[Se[Se.length-2]][Se[Se.length-1]],Se.push(ai);break;case 3:return!0}}return!0}},J=function(){var me={EOF:1,parseError:function(we,Se){if(this.yy.parser)this.yy.parser.parseError(we,Se);else throw new Error(we)},setInput:function(_e,we){return this.yy=we||this.yy||{},this._input=_e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var _e=this._input[0];this.yytext+=_e,this.yyleng++,this.offset++,this.match+=_e,this.matched+=_e;var we=_e.match(/(?:\r\n?|\n).*/g);return we?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),_e},unput:function(_e){var we=_e.length,Se=_e.split(/(?:\r\n?|\n)/g);this._input=_e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-we),this.offset-=we;var Oe=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Se.length-1&&(this.yylineno-=Se.length-1);var De=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Se?(Se.length===Oe.length?this.yylloc.first_column:0)+Oe[Oe.length-Se.length].length-Se[0].length:this.yylloc.first_column-we},this.options.ranges&&(this.yylloc.range=[De[0],De[0]+this.yyleng-we]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(_e){this.unput(this.match.slice(_e))},pastInput:function(){var _e=this.matched.substr(0,this.matched.length-this.match.length);return(_e.length>20?"...":"")+_e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var _e=this.match;return _e.length<20&&(_e+=this._input.substr(0,20-_e.length)),(_e.substr(0,20)+(_e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var _e=this.pastInput(),we=new Array(_e.length+1).join("-");return _e+this.upcomingInput()+`
`+we+"^"},test_match:function(_e,we){var Se,Oe,De;if(this.options.backtrack_lexer&&(De={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(De.yylloc.range=this.yylloc.range.slice(0))),Oe=_e[0].match(/(?:\r\n?|\n).*/g),Oe&&(this.yylineno+=Oe.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Oe?Oe[Oe.length-1].length-Oe[Oe.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+_e[0].length},this.yytext+=_e[0],this.match+=_e[0],this.matches=_e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(_e[0].length),this.matched+=_e[0],Se=this.performAction.call(this,this.yy,this,we,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Se)return Se;if(this._backtrack){for(var Ve in De)this[Ve]=De[Ve];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var _e,we,Se,Oe;this._more||(this.yytext="",this.match="");for(var De=this._currentRules(),Ve=0;Ve<De.length;Ve++)if(Se=this._input.match(this.rules[De[Ve]]),Se&&(!we||Se[0].length>we[0].length)){if(we=Se,Oe=Ve,this.options.backtrack_lexer){if(_e=this.test_match(Se,De[Ve]),_e!==!1)return _e;if(this._backtrack){we=!1;continue}else return!1}else if(!this.options.flex)break}return we?(_e=this.test_match(we,De[Oe]),_e!==!1?_e:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var we=this.next();return we||this.lex()},begin:function(we){this.conditionStack.push(we)},popState:function(){var we=this.conditionStack.length-1;return we>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(we){return we=this.conditionStack.length-1-Math.abs(we||0),we>=0?this.conditionStack[we]:"INITIAL"},pushState:function(we){this.begin(we)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(we,Se,Oe,De){switch(Oe){case 0:return this.begin("open_directive"),28;case 1:return this.begin("type_directive"),29;case 2:return this.popState(),this.begin("arg_directive"),15;case 3:return this.popState(),this.popState(),31;case 4:return 30;case 5:break;case 6:break;case 7:return 11;case 8:break;case 9:break;case 10:return 4;case 11:return 17;case 12:return this.begin("acc_title"),18;case 13:return this.popState(),"acc_title_value";case 14:return this.begin("acc_descr"),20;case 15:return this.popState(),"acc_descr_value";case 16:this.begin("acc_descr_multiline");break;case 17:this.popState();break;case 18:return"acc_descr_multiline_value";case 19:return 23;case 20:return 27;case 21:return 26;case 22:return 6;case 23:return"INVALID"}},rules:[/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:timeline\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?::\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{open_directive:{rules:[1],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},acc_descr_multiline:{rules:[17,18],inclusive:!1},acc_descr:{rules:[15],inclusive:!1},acc_title:{rules:[13],inclusive:!1},INITIAL:{rules:[0,5,6,7,8,9,10,11,12,14,16,19,20,21,22,23],inclusive:!0}}};return me}();G.lexer=J;function ce(){this.yy={}}return ce.prototype=G,G.Parser=ce,new ce}();zwe.parser=zwe;const Wtn=zwe;let nD="",UGe=0;const Vwe=[],ree=[],rD=[],GGe=()=>fHe,WGe=(s,o,f)=>{Ibe(globalThis,s,o,f)},KGe=function(){Vwe.length=0,ree.length=0,nD="",rD.length=0,hv()},YGe=function(s){nD=s,Vwe.push(s)},XGe=function(){return Vwe},QGe=function(){let s=tWe();const o=100;let f=0;for(;!s&&f<o;)s=tWe(),f++;return ree.push(...rD),ree},ZGe=function(s,o,f){const m={id:UGe++,section:nD,type:nD,task:s,score:o||0,events:f?[f]:[]};rD.push(m)},JGe=function(s){rD.find(f=>f.id===UGe-1).events.push(s)},eWe=function(s){const o={section:nD,type:nD,description:s,task:s,classes:[]};ree.push(o)},tWe=function(){const s=function(f){return rD[f].processed};let o=!0;for(const[f,m]of rD.entries())s(f),o=o&&m.processed;return o},Ktn=Object.freeze(Object.defineProperty({__proto__:null,addEvent:JGe,addSection:YGe,addTask:ZGe,addTaskOrg:eWe,clear:KGe,default:{clear:KGe,getCommonDb:GGe,addSection:YGe,getSections:XGe,getTasks:QGe,addTask:ZGe,addTaskOrg:eWe,addEvent:JGe,parseDirective:WGe},getCommonDb:GGe,getSections:XGe,getTasks:QGe,parseDirective:WGe},Symbol.toStringTag,{value:"Module"})),Ytn=12,iee=function(s,o){const f=s.append("rect");return f.attr("x",o.x),f.attr("y",o.y),f.attr("fill",o.fill),f.attr("stroke",o.stroke),f.attr("width",o.width),f.attr("height",o.height),f.attr("rx",o.rx),f.attr("ry",o.ry),o.class!==void 0&&f.attr("class",o.class),f},Xtn=function(s,o){const m=s.append("circle").attr("cx",o.cx).attr("cy",o.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),y=s.append("g");y.append("circle").attr("cx",o.cx-15/3).attr("cy",o.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),y.append("
`),ne.debug("timeline",m.db);const v=y.securityLevel;let A;v==="sandbox"&&(A=Or("#i"+o));const j=Or(v==="sandbox"?A.nodes()[0].contentDocument.body:"body").select("#"+o);j.append("g");const z=m.db.getTasks(),V=m.db.getCommonDb().getDiagramTitle();ne.debug("task",z),qS.initGraphics(j);const Y=m.db.getSections();ne.debug("sections",Y);let G=0,J=0,ce=0,me=0,_e=50+k,we=50;me=50;let Se=0,Oe=!0;Y.forEach(function(ge){const Me={number:Se,descr:ge,section:Se,width:150,padding:20,maxHeight:G},Ne=qS.getVirtualNodeHeight(j,Me,y);ne.debug("sectionHeight before draw",Ne),G=Math.max(G,Ne+20)});let De=0,Ve=0;ne.debug("tasks.length",z.length);for(const[ge,Me]of z.entries()){const Ne={number:ge,descr:Me,section:Me.section,width:150,padding:20,maxHeight:J},xe=qS.getVirtualNodeHeight(j,Ne,y);ne.debug("taskHeight before draw",xe),J=Math.max(J,xe+20),De=Math.max(De,Me.events.length);let qe=0;for(let ae=0;ae<Me.events.length;ae++){const Ce={descr:Me.events[ae],section:Me.section,number:Me.section,width:150,padding:20,maxHeight:50};qe+=qS.getVirtualNodeHeight(j,Ce,y)}Ve=Math.max(Ve,qe)}ne.debug("maxSectionHeight before draw",G),ne.debug("maxTaskHeight before draw",J),Y&&Y.length>0?Y.forEach(ge=>{const Me={number:Se,descr:ge,section:Se,width:150,padding:20,maxHeight:G};ne.debug("sectionNode",Me);const Ne=j.append("g"),xe=qS.drawNode(Ne,Me,Se,y);ne.debug("sectionNode output",xe),Ne.attr("transform",`translate(${_e}, ${me})`),we+=G+50;const qe=z.filter(ae=>ae.section===ge);qe.length>0&&aWe(j,qe,Se,_e,we,J,y,De,Ve,G,!1),_e+=200*Math.max(qe.length,1),we=me,Se++}):(Oe=!1,aWe(j,z,Se,_e,we,J,y,De,Ve,G,!0));const ke=j.node().getBBox();ne.debug("bounds",ke),V&&j.append("text").text(V).attr("x",ke.width/2-k).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),ce=Oe?G+J+150:J+100,j.append("g").attr("class","lineWrapper").append("line").attr("x1",k).attr("y1",ce).attr("x2",ke.width+3*k).attr("y2",ce).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)"),CS(void 0,j,y.timeline.padding?y.timeline.padding:50,y.timeline.useMaxWidth?y.timeline.useMaxWidth:!1)},aWe=function(s,o,f,m,y,k,v,A,O,j,z){for(const V of o){const Y={descr:V.task,section:f,number:f,width:150,padding:20,maxHeight:k};ne.debug("taskNode",Y);const G=s.append("g").attr("class","taskWrapper"),ce=qS.drawNode(G,Y,f,v).height;if(ne.debug("taskHeight after draw",ce),G.attr("transform",`translate(${m}, ${y})`),k=Math.max(k,ce),V.events){const me=s.append("g").attr("class","lineWrapper");let _e=k;y+=100,_e=_e+lnn(s,V.events,f,m,y,v),y-=100,me.append("line").attr("x1",m+190/2).attr("y1",y+k).attr("x2",m+190/2).attr("y2",y+k+(z?k:j)+O+120).attr("stroke-width",2).attr("stroke","black").attr("marker-end","url(#arrowhead)").attr("stroke-dasharray","5,5")}m=m+200,z&&!Qt().timeline.disableMulticolor&&f++}y=y-10},lnn=function(s,o,f,m,y,k){let v=0;const A=y;y=y+100;for(const O of o){const j={descr:O,section:f,number:f,width:150,padding:20,maxHeight:50};ne.debug("eventNode",j);const z=s.append("g").attr("class","eventWrapper"),Y=qS.drawNode(z,j,f,k).height;v=v+Y,z.attr("transform",`translate(${m}, ${y})`),y=y+10+Y}return y=A,v},unn={setConf:onn,draw:cnn},hnn=s=>{let o="";for(let f=0;f<s.THEME_COLOR_LIMIT;f++)s["lineColor"+f]=s["lineColor"+f]||s["cScaleInv"+f],c$e(s["lineColor"+f])?s["lineColor"+f]=ro(s["lineColor"+f],20):s["lineColor"+f]=Bo(s["lineColor"+f],20);for(let f=0;f<s.THEME_COLOR_LIMIT;f++){const m=""+(17-3*f);o+=`
.section-${f-1} rect, .section-${f-1} path, .section-${f-1} circle, .section-${f-1} path {
fill: ${s["cScale"+f]};
}
.section-${f-1} text {
fill: ${s["cScaleLabel"+f]};
}
.node-icon-${f-1} {
font-size: 40px;
color: ${s["cScaleLabel"+f]};
}
.section-edge-${f-1}{
stroke: ${s["cScale"+f]};
}
.edge-depth-${f-1}{
stroke-width: ${m};
}
.section-${f-1} line {
stroke: ${s["cScaleInv"+f]} ;
stroke-width: 3;
}
.lineWrapper line{
stroke: ${s["cScaleLabel"+f]} ;
}
.disabled, .disabled circle, .disabled text {
fill: lightgray;
}
.disabled text {
fill: #efefef;
}
`}return o},fnn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{db:Ktn,renderer:unn,parser:Wtn,styles:s=>`
.edge {
stroke-width: 3;
}
${hnn(s)}
.section-root rect, .section-root path, .section-root circle {
fill: ${s.git0};
}
.section-root text {
fill: ${s.gitBranchLabel0};
}
.icon-container {
height:100%;
display: flex;
justify-content: center;
align-items: center;
}
.edge {
fill: none;
}
.eventWrapper {
filter: brightness(120%);
}
`}},Symbol.toStringTag,{value:"Module"}));var Uwe=function(){var s=function(Oe,De,Ve,ke){for(Ve=Ve||{},ke=Oe.length;ke--;Ve[Oe[ke]]=De);return Ve},o=[1,4],f=[1,13],m=[1,12],y=[1,15],k=[1,16],v=[1,20],A=[1,19],O=[6,7,8],j=[1,26],z=[1,24],V=[1,25],Y=[6,7,11],G=[1,6,13,15,16,19,22],J=[1,33],ce=[1,34],me=[1,6,7,11,13,15,16,19,22],_e={trace:function(){},yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:function(De,Ve,ke,Ie,ge,Me,Ne){var xe=Me.length-1;switch(ge){case 6:case 7:return Ie;case 8:Ie.getLogger().trace("Stop NL ");break;case 9:Ie.getLogger().trace("Stop EOF ");break;case 11:Ie.getLogger().trace("Stop NL2 ");break;case 12:Ie.getLogger().trace("Stop EOF2 ");break;case 15:Ie.getLogger().info("Node: ",Me[xe].id),Ie.addNode(Me[xe-1].length,Me[xe].id,Me[xe].descr,Me[xe].type);break;case 16:Ie.getLogger().trace("Icon: ",Me[xe]),Ie.decorateNode({icon:Me[xe]});break;case 17:case 21:Ie.decorateNode({class:Me[xe]});break;case 18:Ie.getLogger().trace("SPACELIST");break;case 19:Ie.getLogger().trace("Node: ",Me[xe].id),Ie.addNode(0,Me[xe].id,Me[xe].descr,Me[xe].type);break;case 20:Ie.decorateNode({icon:Me[xe]});break;case 25:Ie.getLogger().trace("node found ..",Me[xe-2]),this.$={id:Me[xe-1],descr:Me[xe-1],type:Ie.getType(Me[xe-2],Me[xe])};break;case 26:this.$={id:Me[xe],descr:Me[xe],type:Ie.nodeType.DEFAULT};break;case 27:Ie.getLogger().trace("node found ..",Me[xe-3]),this.$={id:Me[xe-3],descr:Me[xe-1],type:Ie.getType(Me[xe-2],Me[xe])};break}},table:[{3:1,4:2,5:3,6:[1,5],8:o},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:o},{6:f,7:[1,10],9:9,12:11,13:m,14:14,15:y,16:k,17:17,18:18,19:v,22:A},s(O,[2,3]),{1:[2,2]},s(O,[2,4]),s(O,[2,5]),{1:[2,6],6:f,12:21,13:m,14:14,15:y,16:k,17:17,18:18,19:v,22:A},{6:f,9:22,12:11,13:m,14:14,15:y,16:k,17:17,18:18,19:v,22:A},{6:j,7:z,10:23,11:V},s(Y,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:v,22:A}),s(Y,[2,18]),s(Y,[2,19]),s(Y,[2,20]),s(Y,[2,21]),s(Y,[2,23]),s(Y,[2,24]),s(Y,[2,26],{19:[1,30]}),{20:[1,31]},{6:j,7:z,10:32,11:V},{1:[2,7],6:f,12:21,13:m,14:14,15:y,16:k,17:17,18:18,19:v,22:A},s(G,[2,14],{7:J,11:ce}),s(me,[2,8]),s(me,[2,9]),s(me,[2,10]),s(Y,[2,15]),s(Y,[2,16]),s(Y,[2,17]),{20:[1,35]},{21:[1,36]},s(G,[2,13],{7:J,11:ce}),s(me,[2,11]),s(me,[2,12]),{21:[1,37]},s(Y,[2,25]),s(Y,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:function(De,Ve){if(Ve.recoverable)this.trace(De);else{var ke=new Error(De);throw ke.hash=Ve,ke}},parse:function(De){var Ve=this,ke=[0],Ie=[],ge=[null],Me=[],Ne=this.table,xe="",qe=0,ae=0,Qe=2,Ce=1,nt=Me.slice.call(arguments,1),Ee=Object.create(this.lexer),kt={yy:{}};for(var Ot in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ot)&&(kt.yy[Ot]=this.yy[Ot]);Ee.setInput(De,kt.yy),kt.yy.lexer=Ee,kt.yy.parser=this,typeof Ee.yylloc>"u"&&(Ee.yylloc={});var Vt=Ee.yylloc;Me.push(Vt);var Rt=Ee.options&&Ee.options.ranges;typeof kt.yy.parseError=="function"?this.parseError=kt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Gt(){var Ut;return Ut=Ie.pop()||Ee.lex()||Ce,typeof Ut!="number"&&(Ut instanceof Array&&(Ie=Ut,Ut=Ie.pop()),Ut=Ve.symbols_[Ut]||Ut),Ut}for(var _n,On,Dt,ai,Ft={},$t,Pt,qt,et;;){if(On=ke[ke.length-1],this.defaultActions[On]?Dt=this.defaultActions[On]:((_n===null||typeof _n>"u")&&(_n=Gt()),Dt=Ne[On]&&Ne[On][_n]),typeof Dt>"u"||!Dt.length||!Dt[0]){var ht="";et=[];for($t in Ne[On])this.terminals_[$t]&&$t>Qe&&et.push("'"+this.terminals_[$t]+"'");Ee.showPosition?ht="Parse error on line "+(qe+1)+`:
`+Ee.showPosition()+`
Expecting `+et.join(", ")+", got '"+(this.terminals_[_n]||_n)+"'":ht="Parse error on line "+(qe+1)+": Unexpected "+(_n==Ce?"end of input":"'"+(this.terminals_[_n]||_n)+"'"),this.parseError(ht,{text:Ee.match,token:this.terminals_[_n]||_n,line:Ee.yylineno,loc:Vt,expected:et})}if(Dt[0]instanceof Array&&Dt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+On+", token: "+_n);switch(Dt[0]){case 1:ke.push(_n),ge.push(Ee.yytext),Me.push(Ee.yylloc),ke.push(Dt[1]),_n=null,ae=Ee.yyleng,xe=Ee.yytext,qe=Ee.yylineno,Vt=Ee.yylloc;break;case 2:if(Pt=this.productions_[Dt[1]][1],Ft.$=ge[ge.length-Pt],Ft._$={first_line:Me[Me.length-(Pt||1)].first_line,last_line:Me[Me.length-1].last_line,first_column:Me[Me.length-(Pt||1)].first_column,last_column:Me[Me.length-1].last_column},Rt&&(Ft._$.range=[Me[Me.length-(Pt||1)].range[0],Me[Me.length-1].range[1]]),ai=this.performAction.apply(Ft,[xe,ae,qe,kt.yy,Dt[1],ge,Me].concat(nt)),typeof ai<"u")return ai;Pt&&(ke=ke.slice(0,-1*Pt*2),ge=ge.slice(0,-1*Pt),Me=Me.slice(0,-1*Pt)),ke.push(this.productions_[Dt[1]][0]),ge.push(Ft.$),Me.push(Ft._$),qt=Ne[ke[ke.length-2]][ke[ke.length-1]],ke.push(qt);break;case 3:return!0}}return!0}},we=function(){var Oe={EOF:1,parseError:function(Ve,ke){if(this.yy.parser)this.yy.parser.parseError(Ve,ke);else throw new Error(Ve)},setInput:function(De,Ve){return this.yy=Ve||this.yy||{},this._input=De,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var De=this._input[0];this.yytext+=De,this.yyleng++,this.offset++,this.match+=De,this.matched+=De;var Ve=De.match(/(?:\r\n?|\n).*/g);return Ve?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),De},unput:function(De){var Ve=De.length,ke=De.split(/(?:\r\n?|\n)/g);this._input=De+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Ve),this.offset-=Ve;var Ie=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),ke.length-1&&(this.yylineno-=ke.length-1);var ge=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:ke?(ke.length===Ie.length?this.yylloc.first_column:0)+Ie[Ie.length-ke.length].length-ke[0].length:this.yylloc.first_column-Ve},this.options.ranges&&(this.yylloc.range=[ge[0],ge[0]+this.yyleng-Ve]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(De){this.unput(this.match.slice(De))},pastInput:function(){var De=this.matched.substr(0,this.matched.length-this.match.length);return(De.length>20?"...":"")+De.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var De=this.match;return De.length<20&&(De+=this._input.substr(0,20-De.length)),(De.substr(0,20)+(De.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var De=this.pastInput(),Ve=new Array(De.length+1).join("-");return De+this.upcomingInput()+`
`+Ve+"^"},test_match:function(De,Ve){var ke,Ie,ge;if(this.options.backtrack_lexer&&(ge={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(ge.yylloc.range=this.yylloc.range.slice(0))),Ie=De[0].match(/(?:\r\n?|\n).*/g),Ie&&(this.yylineno+=Ie.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Ie?Ie[Ie.length-1].length-Ie[Ie.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+De[0].length},this.yytext+=De[0],this.match+=De[0],this.matches=De,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(De[0].length),this.matched+=De[0],ke=this.performAction.call(this,this.yy,this,Ve,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),ke)return ke;if(this._backtrack){for(var Me in ge)this[Me]=ge[Me];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var De,Ve,ke,Ie;this._more||(this.yytext="",this.match="");for(var ge=this._currentRules(),Me=0;Me<ge.length;Me++)if(ke=this._input.match(this.rules[ge[Me]]),ke&&(!Ve||ke[0].length>Ve[0].length)){if(Ve=ke,Ie=Me,this.options.backtrack_lexer){if(De=this.test_match(ke,ge[Me]),De!==!1)return De;if(this._backtrack){Ve=!1;continue}else return!1}else if(!this.options.flex)break}return Ve?(De=this.test_match(Ve,ge[Ie]),De!==!1?De:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Ve=this.next();return Ve||this.lex()},begin:function(Ve){this.conditionStack.push(Ve)},popState:function(){var Ve=this.conditionStack.length-1;return Ve>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Ve){return Ve=this.conditionStack.length-1-Math.abs(Ve||0),Ve>=0?this.conditionStack[Ve]:"INITIAL"},pushState:function(Ve){this.begin(Ve)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(Ve,ke,Ie,ge){switch(Ie){case 0:Ve.getLogger().trace("Found comment",ke.yytext);break;case 1:return 8;case 2:this.begin("CLASS");break;case 3:return this.popState(),16;case 4:this.popState();break;case 5:Ve.getLogger().trace("Begin icon"),this.begin("ICON");break;case 6:return Ve.getLogger().trace("SPACELINE"),6;case 7:return 7;case 8:return 15;case 9:Ve.getLogger().trace("end icon"),this.popState();break;case 10:return Ve.getLogger().trace("Exploding node"),this.begin("NODE"),19;case 11:return Ve.getLogger().trace("Cloud"),this.begin("NODE"),19;case 12:return Ve.getLogger().trace("Explosion Bang"),this.begin("NODE"),19;case 13:return Ve.getLogger().trace("Cloud Bang"),this.begin("NODE"),19;case 14:return this.begin("NODE"),19;case 15:return this.begin("NODE"),19;case 16:return this.begin("NODE"),19;case 17:return this.begin("NODE"),19;case 18:return 13;case 19:return 22;case 20:return 11;case 21:Ve.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 22:return Ve.getLogger().trace("description:",ke.yytext),"NODE_DESCR";case 23:this.popState();break;case 24:return this.popState(),Ve.getLogger().trace("node end ))"),"NODE_DEND";case 25:return this.popState(),Ve.getLogger().trace("node end )"),"NODE_DEND";case 26:return this.popState(),Ve.getLogger().trace("node end ...",ke.yytext),"NODE_DEND";case 27:return this.popState(),Ve.getLogger().trace("node end (("),"NODE_DEND";case 28:return this.popState(),Ve.getLogger().trace("node end (-"),"NODE_DEND";case 29:return this.popState(),Ve.getLogger().trace("node end (-"),"NODE_DEND";case 30:return this.popState(),Ve.getLogger().trace("node end (("),"NODE_DEND";case 31:return this.popState(),Ve.getLogger().trace("node end (("),"NODE_DEND";case 32:return Ve.getLogger().trace("Long description:",ke.yytext),20;case 33:return Ve.getLogger().trace("Long description:",ke.yytext),20}},rules:[/^(?:\s*%%.*)/i,/^(?:mindmap\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\-\)\{\}]+)/i,/^(?:$)/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{CLASS:{rules:[3,4],inclusive:!1},ICON:{rules:[8,9],inclusive:!1},NSTR:{rules:[22,23],inclusive:!1},NODE:{rules:[21,24,25,26,27,28,29,30,31,32,33],inclusive:!1},INITIAL:{rules:[0,1,2,5,6,7,10,11,12,13,14,15,16,17,18,19,20],inclusive:!0}}};return Oe}();_e.lexer=we;function Se(){this.yy={}}return Se.prototype=_e,_e.Parser=Se,new Se}();Uwe.parser=Uwe;const dnn=Uwe,n$=s=>zb(s,Qt());let xw=[],oWe=0,Gwe={};const gnn=()=>{xw=[],oWe=0,Gwe={}},pnn=function(s){for(let o=xw.length-1;o>=0;o--)if(xw[o].level<s)return xw[o];return null},mnn=()=>xw.length>0?xw[0]:null,vnn=(s,o,f,m)=>{ne.info("addNode",s,o,f,m);const y=Qt(),k={id:oWe++,nodeId:n$(o),level:s,descr:n$(f),type:m,children:[],width:Qt().mindmap.maxNodeWidth};switch(k.type){case Fh.ROUNDED_RECT:k.padding=2*y.mindmap.padding;break;case Fh.RECT:k.padding=2*y.mindmap.padding;break;case Fh.HEXAGON:k.padding=2*y.mindmap.padding;break;default:k.padding=y.mindmap.padding}const v=pnn(s);if(v)v.children.push(k),xw.push(k
a${v},${v} 1 0,1 ${f*.4},${-1*f*.1}
a${k},${k} 1 0,1 ${f*.35},${1*f*.2}
a${y},${y} 1 0,1 ${f*.15},${1*m*.35}
a${A},${A} 1 0,1 ${-1*f*.15},${1*m*.65}
a${k},${y} 1 0,1 ${-1*f*.25},${f*.15}
a${v},${v} 1 0,1 ${-1*f*.5},${0}
a${y},${y} 1 0,1 ${-1*f*.25},${-1*f*.15}
a${y},${y} 1 0,1 ${-1*f*.1},${-1*m*.35}
a${A},${A} 1 0,1 ${f*.1},${-1*m*.65}
H0 V0 Z`)},Ann=function(s,o){const f=o.width,m=o.height,y=.15*f;s.append("path").attr("id","node-"+o.id).attr("class","node-bkg node-"+US(o.type)).attr("d",`M0 0 a${y},${y} 1 0,0 ${f*.25},${-1*m*.1}
a${y},${y} 1 0,0 ${f*.25},${0}
a${y},${y} 1 0,0 ${f*.25},${0}
a${y},${y} 1 0,0 ${f*.25},${1*m*.1}
a${y},${y} 1 0,0 ${f*.15},${1*m*.33}
a${y*.8},${y*.8} 1 0,0 ${0},${1*m*.34}
a${y},${y} 1 0,0 ${-1*f*.15},${1*m*.33}
a${y},${y} 1 0,0 ${-1*f*.25},${m*.15}
a${y},${y} 1 0,0 ${-1*f*.25},${0}
a${y},${y} 1 0,0 ${-1*f*.25},${0}
a${y},${y} 1 0,0 ${-1*f*.25},${-1*m*.15}
a${y},${y} 1 0,0 ${-1*f*.1},${-1*m*.33}
a${y*.8},${y*.8} 1 0,0 ${0},${-1*m*.34}
a${y},${y} 1 0,0 ${f*.1},${-1*m*.33}
H0 V0 Z`)},Mnn=function(s,o){s.append("circle").attr("id","node-"+o.id).attr("class","node-bkg node-"+US(o.type)).attr("r",o.width/2)};function Lnn(s,o,f,m,y){return s.insert("polygon",":first-child").attr("points",m.map(function(k){return k.x+","+k.y}).join(" ")).attr("transform","translate("+(y.width-o)/2+", "+f+")")}const Inn=function(s,o){const f=o.height,y=f/4,k=o.width-o.padding+2*y,v=[{x:y,y:0},{x:k-y,y:0},{x:k,y:-f/2},{x:k-y,y:-f},{x:y,y:-f},{x:0,y:-f/2}];Lnn(s,k,f,v,o)},Onn=function(s,o){s.append("rect").attr("id","node-"+o.id).attr("class","node-bkg node-"+US(o.type)).attr("height",o.height).attr("rx",o.padding).attr("ry",o.padding).attr("width",o.width)},hWe={drawNode:function(s,o,f,m){const y=f%(uWe-1),k=s.append("g");o.section=y;let v="section-"+y;y<0&&(v+=" section-root"),k.attr("class",(o.class?o.class+" ":"")+"mindmap-node "+v);const A=k.append("g"),O=k.append("g"),z=O.append("text").text(o.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(Enn,o.width).node().getBBox(),V=m.fontSize.replace?m.fontSize.replace("px",""):m.fontSize;if(o.height=z.height+V*1.1*.5+o.padding,o.width=z.width+2*o.padding,o.icon)if(o.type===Fh.CIRCLE)o.height+=50,o.width+=50,k.append("foreignObject").attr("height","50px").attr("width",o.width).attr("style","text-align: center;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+y+" "+o.icon),O.attr("transform","translate("+o.width/2+", "+(o.height/2-1.5*o.padding)+")");else{o.width+=50;const Y=o.height;o.height=Math.max(Y,60);const G=Math.abs(o.height-Y);k.append("foreignObject").attr("width","60px").attr("height",o.height).attr("style","text-align: center;margin-top:"+G/2+"px;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+y+" "+o.icon),O.attr("transform","translate("+(25+o.width/2)+", "+(G/2+o.padding/2)+")")}else O.attr("transform","translate("+o.width/2+", "+o.padding/2+")");switch(o.type){case Fh.DEFAULT:Tnn(A,o,y);break;case Fh.ROUNDED_RECT:Onn(A,o);break;case Fh.RECT:Snn(A,o);break;case Fh.CIRCLE:A.attr("transform","translate("+o.width/2+", "+ +o.height/2+")"),Mnn(A,o);break;case Fh.CLOUD:Cnn(A,o);break;case Fh.BANG:Ann(A,o);break;case Fh.HEXAGON:Inn(A,o);break}return cWe(o.id,k),o.height},positionNode:function(s){const o=Wwe(s.id),f=s.x||0,m=s.y||0;o.attr("transform","translate("+f+","+m+")")},drawEdge:function(o,f,m,y,k){const v=k%(uWe-1),A=m.x+m.width/2,O=m.y+m.height/2,j=f.x+f.width/2,z=f.y+f.height/2,V=j>A?A+Math.abs(A-j)/2:A-Math.abs(A-j)/2,Y=z>O?O+Math.abs(O-z)/2:O-Math.abs(O-z)/2,G=j>A?Math.abs(A-V)/2+A:-Math.abs(A-V)/2+A,J=z>O?Math.abs(O-Y)/2+O:-Math.abs(O-Y)/2+O;o.append("path").attr("d",m.direction==="TB"||m.direction==="BT"?`M${A},${O} Q${A},${J} ${V},${Y} T${j},${z}`:`M${A},${O} Q${G},${O} ${V},${Y} T${j},${z}`).attr("class","edge section-edge-"+v+" edge-depth-"+y)}};var Kwe={},Dnn={get exports(){return Kwe},set exports(s){Kwe=s}};(function(s,o){(function(f,m){s.exports=m()})(D,function(){function f(_){return f=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(p){return typeof p}:function(p){return p&&typeof Symbol=="function"&&p.constructor===Symbol&&p!==Symbol.prototype?"symbol":typeof p},f(_)}function m(_,p){if(!(_ instanceof p))throw new TypeError("Cannot call a class as a function")}function y(_,p){for(var x=0;x<p.length;x++){var S=p[x];S.enumerable=S.enumerable||!1,S.configurable=!0,"value"in S&&(S.writable=!0),Object.defineProperty(_,S.key,S)}}function k(_,p,x){return p&&y(_.prototype,p),x&&y(_,x),Object.defineProperty(_,"prototype",{writable:!1}),_}function v(_,p,x){return p in _?Object.defineProperty(_,p,{value:x,enumerable:!0,configurable:!0,writable:!0}):_[p]=x,_}function A(_,p){return O(_)||j(_,p)||z(_,p)||Y()}function O(_){if(Array.isArray(_))return _}function j(_,p){var x=_==null?null:typeof Symbol<"u"&&_[Symbol.iterator]||_["@@iterator"];if(x!=null){var S=[],L=!0,R=!1,B,q;try{for(x=x.call(_);!(L=(B=x.next()).done)&&(S.push(B.value),!(p&&S.length===p));L=!0);}catch(W){R=!0,q=W}f
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var G=typeof window>"u"?null:window,J=G?G.navigator:null;G&&G.document;var ce=f(""),me=f({}),_e=f(function(){}),we=typeof HTMLElement>"u"?"undefined":f(HTMLElement),Se=function(p){return p&&p.instanceString&&De(p.instanceString)?p.instanceString():null},Oe=function(p){return p!=null&&f(p)==ce},De=function(p){return p!=null&&f(p)===_e},Ve=function(p){return!xe(p)&&(Array.isArray?Array.isArray(p):p!=null&&p instanceof Array)},ke=function(p){return p!=null&&f(p)===me&&!Ve(p)&&p.constructor===Object},Ie=function(p){return p!=null&&f(p)===me},ge=function(p){return p!=null&&f(p)===f(1)&&!isNaN(p)},Me=function(p){return ge(p)&&Math.floor(p)===p},Ne=function(p){if(we!=="undefined")return p!=null&&p instanceof HTMLElement},xe=function(p){return qe(p)||ae(p)},qe=function(p){return Se(p)==="collection"&&p._private.single},ae=function(p){return Se(p)==="collection"&&!p._private.single},Qe=function(p){return Se(p)==="core"},Ce=function(p){return Se(p)==="stylesheet"},nt=function(p){return Se(p)==="event"},Ee=function(p){return p==null?!0:!!(p===""||p.match(/^\s+$/))},kt=function(p){return typeof HTMLElement>"u"?!1:p instanceof HTMLElement},Ot=function(p){return ke(p)&&ge(p.x1)&&ge(p.x2)&&ge(p.y1)&&ge(p.y2)},Vt=function(p){return Ie(p)&&De(p.then)},Rt=function(){return J&&J.userAgent.match(/msie|trident|edge/i)},Gt=function(p,x){x||(x=function(){if(arguments.length===1)return arguments[0];if(arguments.length===0)return"undefined";for(var R=[],B=0;B<arguments.length;B++)R.push(arguments[B]);return R.join("$")});var S=function L(){var R=this,B=arguments,q,W=x.apply(R,B),M=L.cache;return(q=M[W])||(q=M[W]=p.apply(R,B)),q};return S.cache={},S},_n=Gt(function(_){return _.replace(/([A-Z])/g,function(p){return"-"+p.toLowerCase()})}),On=Gt(function(_){return _.replace(/(-\w)/g,function(p){return p[1].toUpperCase()})}),Dt=Gt(function(_,p){return _+p[0].toUpperCase()+p.substring(1)},function(_,p){return _+"$"+p}),ai=function(p){return Ee(p)?p:p.charAt(0).toUpperCase()+p.substring(1)},Ft="(?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))",$t="rgb[a]?\\(("+Ft+"[%]?)\\s*,\\s*("+Ft+"[%]?)\\s*,\\s*("+Ft+"[%]?)(?:\\s*,\\s*("+Ft+"))?\\)",Pt="rgb[a]?\\((?:"+Ft+"[%]?)\\s*,\\s*(?:"+Ft+"[%]?)\\s*,\\s*(?:"+Ft+"[%]?)(?:\\s*,\\s*(?:"+Ft+"))?\\)",qt="hsl[a]?\\(("+Ft+")\\s*,\\s*("+Ft+"[%])\\s*,\\s*("+Ft+"[%])(?:\\s*,\\s*("+Ft+"))?\\)",et="hsl[a]?\\((?:"+Ft+")\\s*,\\s*(?:"+Ft+"[%])\\s*,\\s*(?:"+Ft+"[%])(?:\\s*,\\s*(?:"+Ft+"))?\\)",ht="\\#[0-9a-fA-F]{3}",Ut="\\#[0-9a-fA-F]{6}",it=function(p,x){return p<x?-1:p>x?1:0},Zn=function(p,x){return-1*it(p,x)},Ge=Object.assign!=null?Object.assign.bind(Object):function(_){for(var p=arguments,x=1;x<p.length;x++){var S=p[x];if(S!=null)for(var L=Object.keys(S),R=0;R<L.length;R++){var B=L[R];_[B]=S[B]}}return _},ws=function(p){if(!(!(p.length===4||p.length===7)||p[0]!=="#")){var x=p.length===4,S,L,R,B=16;return x?(S=parseInt(p[1]+p[1],B),L=parseInt(p[2]+p[2],B),R=parseInt(p[3]+p[3],B)):(S=parseInt(p[1]+p[2],B),L=parseInt(p[3]+p[4],B),R=parseInt(p[5]+p[6],B)),[S,L,R]}},xn=function(p){var x,S,L,R,B,q,W,M;function X(ve,be,Fe){return Fe<0&&(Fe+=1),Fe>1&&(Fe-=1),Fe<1/6?ve+(be-ve)*6*Fe:Fe<1/2?be:Fe<2/3?ve+(be-ve)*(2/3-Fe)*6:ve}var ee=new RegExp("^"+qt+"$").exec(p);if(ee){if(S=parseInt(ee[1]),S<0?S=(360- -1*S%360)%360:S>360&&(S=S%360),S/=360,L=parseFloat(ee[2]),L<0||L>100||(L=L/100,R=parseFloat(ee[3]),R<0||R>100)||(R=R/100,B=ee[4],B!==void 0&&(B=parseFloat(B),B<0||B>1)))return;if(L===0)q=W=M=Math.round(R*255);else{var le=R<.5?R*(1+L):R+L-R*L,fe=2*R-le;q=Math.round(255*X(fe,le,S+1/3)),W=Math.round(255*X(fe,le,S)),M=Math.round(255*X(fe,le,S-1/3))}x=[q,W,M,B]}return x},Zi=function(p){var x,S=new RegExp("^"+$t+"$").exec(p);if(S){x=[];for(var L=[],R=1;R<=3;R++){var B=S[R];if(B[B.length-1]==="%"&&(L[R]=!0),B=parseFloat(B),L[R]&&(B=B/100*255),B<0||B>255)return;x.push(Math.floor(B))}var q=L[1]||L[2]||L[3],W=L[1]&&L[2]&&L[3];if(q&&!W)return;var M=S[4];if(M!==void 0){if(M=parseFloat(M),M<0||M>1)return;x.push(M)}}return x},gi=function(p){return yr[p.toLowerCa
Embeddable Minimum Strictly-Compliant Promises/A+ 1.1.1 Thenable
Copyright (c) 2013-2014 Ralf S. Engelschall (http://engelschall.com)
Licensed under The MIT License (http://opensource.org/licenses/MIT)
*/var D$=0,P$=1,N$=2,Aw=function _(p){if(!(this instanceof _))return new _(p);this.id="Thenable/1.0.7",this.state=D$,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},typeof p=="function"&&p.call(this,this.fulfill.bind(this),this.reject.bind(this))};Aw.prototype={fulfill:function(p){return R$(this,P$,"fulfillValue",p)},reject:function(p){return R$(this,N$,"rejectReason",p)},then:function(p,x){var S=this,L=new Aw;return S.onFulfilled.push(j$(p,L,"fulfill")),S.onRejected.push(j$(x,L,"reject")),B$(S),L.proxy}};var R$=function(p,x,S,L){return p.state===D$&&(p.state=x,p[S]=L,B$(p)),p},B$=function(p){p.state===P$?F$(p,"onFulfilled",p.fulfillValue):p.state===N$&&F$(p,"onRejected",p.rejectReason)},F$=function(p,x,S){if(p[x].length!==0){var L=p[x];p[x]=[];var R=function(){for(var q=0;q<L.length;q++)L[q](S)};typeof setImmediate=="function"?setImmediate(R):setTimeout(R,0)}},j$=function(p,x,S){return function(L){if(typeof p!="function")x[S].call(x,L);else{var R;try{R=p(L)}catch(B){x.reject(B);return}Fte(x,R)}}},Fte=function _(p,x){if(p===x||p.proxy===x){p.reject(new TypeError("cannot resolve promise with itself"));return}var S;if(f(x)==="object"&&x!==null||typeof x=="function")try{S=x.then}catch(R){p.reject(R);return}if(typeof S=="function"){var L=!1;try{S.call(x,function(R){L||(L=!0,R===x?p.reject(new TypeError("circular thenable chain")):_(p,R))},function(R){L||(L=!0,p.reject(R))})}catch(R){L||p.reject(R)}return}p.fulfill(x)};Aw.all=function(_){return new Aw(function(p,x){for(var S=new Array(_.length),L=0,R=function(W,M){S[W]=M,L++,L===_.length&&p(S)},B=0;B<_.length;B++)(function(q){var W=_[q],M=W!=null&&W.then!=null;if(M)W.then(function(ee){R(q,ee)},function(ee){x(ee)});else{var X=W;R(q,X)}})(B)})},Aw.resolve=function(_){return new Aw(function(p,x){p(_)})},Aw.reject=function(_){return new Aw(function(p,x){x(_)})};var Nx=typeof Promise<"u"?Promise:Aw,sC=function(p,x,S){var L=Qe(p),R=!L,B=this._private=Ge({duration:1e3},x,S);if(B.target=p,B.style=B.style||B.css,B.started=!1,B.playing=!1,B.hooked=!1,B.applying=!1,B.progress=0,B.completes=[],B.frames=[],B.complete&&De(B.complete)&&B.completes.push(B.complete),R){var q=p.position();B.startPosition=B.startPosition||{x:q.x,y:q.y},B.startStyle=B.startStyle||p.cy().style().getAnimationStartStyle(p,B.style)}if(L){var W=p.pan();B.startPan={x:W.x,y:W.y},B.startZoom=p.zoom()}this.length=1,this[0]=this},s6=sC.prototype;Ge(s6,{instanceString:function(){return"animation"},hook:function(){var p=this._private;if(!p.hooked){var x,S=p.target._private.animation;p.queue?x=S.queue:x=S.current,x.push(this),xe(p.target)&&p.target.cy().addToAnimationPool(p.target),p.hooked=!0}return this},play:function(){var p=this._private;return p.progress===1&&(p.progress=0),p.playing=!0,p.started=!1,p.stopped=!1,this.hook(),this},playing:function(){return this._private.playing},apply:function(){var p=this._private;return p.applying=!0,p.started=!1,p.stopped=!1,this.hook(),this},applying:function(){return this._private.applying},pause:function(){var p=this._private;return p.playing=!1,p.started=!1,this},stop:function(){var p=this._private;return p.playing=!1,p.started=!1,p.stopped=!0,this},rewind:function(){return this.progress(0)},fastforward:function(){return this.progress(1)},time:function(p){var x=this._private;return p===void 0?x.progress*x.duration:this.progress(p/x.duration)},progress:function(p){var x=this._private,S=x.playing;return p===void 0?x.progress:(S&&this.pause(),x.progress=p,x.started=!1,S&&this.play(),this)},completed:function(){return this._private.progress===1},reverse:function(){var p=this._private,x=p.playing;x&&this.pause(),p.progress=1-p.progress,p.started=!1;var S=function(M,X){var ee=p[M];ee!=null&&(p[M]=p[X],p[X]=ee)};if(S("zoom","startZoom"),S("pan","startPan"),S("position","startPosition"),p.style)for(var L=0;L<p.style.length;L++){var R=p.style[L],B=R.name,q=p.startStyle[B];p.startStyle[B]=R,p.style[L]=q}return x&&this.play(),this},promise:function(p){var x=this._private,S;switch(p){case"frame":S=x.frames;break;
Event object based on jQuery events, MIT license
https://jquery.org/license/
https://tldrlegal.com/license/mit-license
https://github.com/jquery/jquery/blob/master/src/event.js
*/var mH=function(p,x){this.recycle(p,x)};function I7(){return!1}function pC(){return!0}mH.prototype={instanceString:function(){return"event"},recycle:function(p,x){if(this.isImmediatePropagationStopped=this.isPropagationStopped=this.isDefaultPrevented=I7,p!=null&&p.preventDefault?(this.type=p.type,this.isDefaultPrevented=p.defaultPrevented?pC:I7):p!=null&&p.type?x=p:this.type=p,x!=null&&(this.originalEvent=x.originalEvent,this.type=x.type!=null?x.type:this.type,this.cy=x.cy,this.target=x.target,this.position=x.position,this.renderedPosition=x.renderedPosition,this.namespace=x.namespace,this.layout=x.layout),this.cy!=null&&this.position!=null&&this.renderedPosition==null){var S=this.position,L=this.cy.zoom(),R=this.cy.pan();this.renderedPosition={x:S.x*L+R.x,y:S.y*L+R.y}}this.timeStamp=p&&p.timeStamp||Date.now()},preventDefault:function(){this.isDefaultPrevented=pC;var p=this.originalEvent;p&&p.preventDefault&&p.preventDefault()},stopPropagation:function(){this.isPropagationStopped=pC;var p=this.originalEvent;p&&p.stopPropagation&&p.stopPropagation()},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=pC,this.stopPropagation()},isDefaultPrevented:I7,isPropagationStopped:I7,isImmediatePropagationStopped:I7};var vH=/^([^.]+)(\.(?:[^.]+))?$/,pie=".*",bH={qualifierCompare:function(p,x){return p===x},eventMatches:function(){return!0},addEventFields:function(){},callbackContext:function(p){return p},beforeEmit:function(){},afterEmit:function(){},bubble:function(){return!1},parent:function(){return null},context:null},wH=Object.keys(bH),mie={};function mC(){for(var _=arguments.length>0&&arguments[0]!==void 0?arguments[0]:mie,p=arguments.length>1?arguments[1]:void 0,x=0;x<wH.length;x++){var S=wH[x];this[S]=_[S]||bH[S]}this.context=p||this.context,this.listeners=[],this.emitting=0}var K3=mC.prototype,yH=function(p,x,S,L,R,B,q){De(L)&&(R=L,L=null),q&&(B==null?B=q:B=Ge({},B,q));for(var W=Ve(S)?S:S.split(/\s+/),M=0;M<W.length;M++){var X=W[M];if(!Ee(X)){var ee=X.match(vH);if(ee){var le=ee[1],fe=ee[2]?ee[2]:null,ve=x(p,X,le,fe,L,R,B);if(ve===!1)break}}}},_H=function(p,x){return p.addEventFields(p.context,x),new mH(x.type,x)},vie=function(p,x,S){if(nt(S)){x(p,S);return}else if(ke(S)){x(p,_H(p,S));return}for(var L=Ve(S)?S:S.split(/\s+/),R=0;R<L.length;R++){var B=L[R];if(!Ee(B)){var q=B.match(vH);if(q){var W=q[1],M=q[2]?q[2]:null,X=_H(p,{type:W,namespace:M,target:p.context});x(p,X)}}}};K3.on=K3.addListener=function(_,p,x,S,L){return yH(this,function(R,B,q,W,M,X,ee){De(X)&&R.listeners.push({event:B,callback:X,type:q,namespace:W,qualifier:M,conf:ee})},_,p,x,S,L),this},K3.one=function(_,p,x,S){return this.on(_,p,x,S,{one:!0})},K3.removeListener=K3.off=function(_,p,x,S){var L=this;this.emitting!==0&&(this.listeners=oee(this.listeners));for(var R=this.listeners,B=function(M){var X=R[M];yH(L,function(ee,le,fe,ve,be,Fe){if((X.type===fe||_==="*")&&(!ve&&X.namespace!==".*"||X.namespace===ve)&&(!be||ee.qualifierCompare(X.qualifier,be))&&(!Fe||X.callback===Fe))return R.splice(M,1),!1},_,p,x,S)},q=R.length-1;q>=0;q--)B(q);return this},K3.removeAllListeners=function(){return this.removeListener("*")},K3.emit=K3.trigger=function(_,p,x){var S=this.listeners,L=S.length;return this.emitting++,Ve(p)||(p=[p]),vie(this,function(R,B){x!=null&&(S=[{event:B.event,type:B.type,namespace:B.namespace,callback:x}],L=S.length);for(var q=function(X){var ee=S[X];if(ee.type===B.type&&(!ee.namespace||ee.namespace===B.namespace||ee.namespace===pie)&&R.eventMatches(R.context,ee,B)){var le=[B];p!=null&&i$(le,p),R.beforeEmit(R.context,ee,B),ee.conf&&ee.conf.one&&(R.listeners=R.listeners.filter(function(be){return be!==ee}));var fe=R.callbackContext(R.context,ee,B),ve=ee.callback.apply(fe,le);R.afterEmit(R.context,ee,B),ve===!1&&(B.stopPropagation(),B.preventDefault())}},W=0;W<L;W++)q(W);R.bubble(R.context)&&!B.isPropagationStopped()&&R.parent(R.context).emit(B,p)},_),this.emitting--,this};var bie={qualifierCompare:function(p,x){return p==null||x==null?p==null&&x==null:p.sameText(x)},eventMatches:function(p,x,S){var L=x.qualifier;return L!=null?p!
`),ee=_.pstyle("text-max-width").pfValue,le=_.pstyle("text-overflow-wrap").value,fe=le==="anywhere",ve=[],be=/[\s\u200b]+/,Fe=fe?"":" ",Ae=0;Ae<X.length;Ae++){var $e=X[Ae],ze=this.calculateLabelDimensions(_,$e),Xe=ze.width;if(fe){var lt=$e.split("").join(M);$e=lt}if(Xe>ee){for(var st=$e.split(be),Ze="",gt=0;gt<st.length;gt++){var tt=st[gt],Tt=Ze.length===0?tt:Ze+Fe+tt,Ct=this.calculateLabelDimensions(_,Tt),pt=Ct.width;pt<=ee?Ze+=tt+Fe:(Ze&&ve.push(Ze),Ze=tt+Fe)}Ze.match(/^[\s\u200b]+$/)||ve.push(Ze)}else ve.push($e)}B("labelWrapCachedLines",ve),L=B("labelWrapCachedText",ve.join(`
`)),B("labelWrapKey",W)}else if(q==="ellipsis"){var Wt=_.pstyle("text-max-width").pfValue,At="",Mn="…",tn=!1;if(this.calculateLabelDimensions(_,L).width<Wt)return L;for(var sn=0;sn<L.length;sn++){var Fn=this.calculateLabelDimensions(_,At+L[sn]+Mn).width;if(Fn>Wt)break;At+=L[sn],sn===L.length-1&&(tn=!0)}return tn||(At+=Mn),At}return L},Ev.getLabelJustification=function(_){var p=_.pstyle("text-justification").strValue,x=_.pstyle("text-halign").strValue;if(p==="auto")if(_.isNode())switch(x){case"left":return"right";case"right":return"left";default:return"center"}else return"center";else return p},Ev.calculateLabelDimensions=function(_,p){var x=this,S=vv(p,_._private.labelDimsKey),L=x.labelDimCache||(x.labelDimCache=[]),R=L[S];if(R!=null)return R;var B=0,q=_.pstyle("font-style").strValue,W=_.pstyle("font-size").pfValue,M=_.pstyle("font-family").strValue,X=_.pstyle("font-weight").strValue,ee=this.labelCalcCanvas,le=this.labelCalcCanvasContext;if(!ee){ee=this.labelCalcCanvas=document.createElement("canvas"),le=this.labelCalcCanvasContext=ee.getContext("2d");var fe=ee.style;fe.position="absolute",fe.left="-9999px",fe.top="-9999px",fe.zIndex="-1",fe.visibility="hidden",fe.pointerEvents="none"}le.font="".concat(q," ").concat(X," ").concat(W,"px ").concat(M);for(var ve=0,be=0,Fe=p.split(`
`),Ae=0;Ae<Fe.length;Ae++){var $e=Fe[Ae],ze=le.measureText($e),Xe=Math.ceil(ze.width),lt=W;ve=Math.max(Xe,ve),be+=lt}return ve+=B,be+=B,L[S]={width:ve,height:be}},Ev.calculateLabelAngle=function(_,p){var x=_._private,S=x.rscratch,L=_.isEdge(),R=p?p+"-":"",B=_.pstyle(R+"text-rotation"),q=B.strValue;return q==="none"?0:L&&q==="autorotate"?S.labelAutoAngle:q==="autorotate"?0:B.pfValue},Ev.calculateLabelAngles=function(_){var p=this,x=_.isEdge(),S=_._private,L=S.rscratch;L.labelAngle=p.calculateLabelAngle(_),x&&(L.sourceLabelAngle=p.calculateLabelAngle(_,"source"),L.targetLabelAngle=p.calculateLabelAngle(_,"target"))};var Qf={},ND=28,ZH=!1;Qf.getNodeShape=function(_){var p=this,x=_.pstyle("shape").value;if(x==="cutrectangle"&&(_.width()<ND||_.height()<ND))return ZH||(El("The `cutrectangle` node shape can not be used at small sizes so `rectangle` is used instead"),ZH=!0),"rectangle";if(_.isParent())return x==="rectangle"||x==="roundrectangle"||x==="round-rectangle"||x==="cutrectangle"||x==="cut-rectangle"||x==="barrel"?x:"rectangle";if(x==="polygon"){var S=_.pstyle("shape-polygon-points").value;return p.nodeShapes.makePolygon(S).name}return x};var F7={};F7.registerCalculationListeners=function(){var _=this.cy,p=_.collection(),x=this,S=function(B){var q=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(p.merge(B),q)for(var W=0;W<B.length;W++){var M=B[W],X=M._private,ee=X.rstyle;ee.clean=!1,ee.cleanConnected=!1}};x.binder(_).on("bounds.* dirty.*",function(B){var q=B.target;S(q)}).on("style.* background.*",function(B){var q=B.target;S(q,!1)});var L=function(B){if(B){var q=x.onUpdateEleCalcsFns;p.cleanStyle();for(var W=0;W<p.length;W++){var M=p[W],X=M._private.rstyle;M.isNode()&&!X.cleanConnected&&(S(M.connectedEdges()),X.cleanConnected=!0)}if(q)for(var ee=0;ee<q.length;ee++){var le=q[ee];le(B,p)}x.recalculateRenderedStyle(p),p=_.collection()}};x.flushRenderedStyleQueue=function(){L(!0)},x.beforeRender(L,x.beforeRenderPriorities.eleCalcs)},F7.onUpdateEleCalcs=function(_){var p=this.onUpdateEleCalcsFns=this.onUpdateEleCalcsFns||[];p.push(_)},F7.recalculateRenderedStyle=function(_,p){var x=function(Xe){return Xe._private.rstyle.cleanConnected},S=[],L=[];if(!this.destroyed){p===void 0&&(p=!0);for(var R=0;R<_.length;R++){var B=_[R],q=B._private,W=q.rstyle;B.isEdge()&&(!x(B.source())||!x(B.target()))&&(W.clean=!1),!(p&&W.clean||B.removed())&&B.pstyle("display").value!=="none"&&(q.group==="nodes"?L.push(B):S.push(B),W.clean=!0)}for(var M=0;M<L.length;M++){var X=L[M],ee=X._private,le=ee.rstyle,fe=X.position();this.recalculateNodeLabelProjection(X),le.nodeX=fe.x,le.nodeY=fe.y,le.nodeW=X.pstyle("width").pfValue,le.nodeH=X.pstyle("height").pfValue}this.recalculateEdgeProjections(S);for(var ve=0;ve<S.length;ve++){var be=S[ve],Fe=be._private,Ae=Fe.rstyle,$e=Fe.rscratch;Ae.srcX=$e.arrowStartX,Ae.srcY=$e.arrowStartY,Ae.tgtX=$e.arrowEndX,Ae.tgtY=$e.arrowEndY,Ae.midX=$e.midX,Ae.midY=$e.midY,Ae.labelAngle=$e.labelAngle,Ae.sourceLabelAngle=$e.sourceLabelAngle,Ae.targetLabelAngle=$e.targetLabelAngle}}};var DC={};DC.updateCachedGrabbedEles=function(){var _=this.cachedZSortedEles;if(_){_.drag=[],_.nondrag=[];for(var p=[],x=0;x<_.length;x++){var S=_[x],L=S._private.rscratch;S.grabbed()&&!S.isParent()?p.push(S):L.inDragLayer?_.drag.push(S):_.nondrag.push(S)}for(var x=0;x<p.length;x++){var S=p[x];_.drag.push(S)}}},DC.invalidateCachedZSortedEles=function(){this.cachedZSortedEles=null},DC.getCachedZSortedEles=function(_){if(_||!this.cachedZSortedEles){var p=this.cy.mutableElements().toArray();p.sort(EH),p.interactive=p.filter(function(x){return x.interactive()}),this.cachedZSortedEles=p,this.updateCachedGrabbedEles()}else p=this.cachedZSortedEles;return p};var j7={};[c6,OC,sg,B7,PD,Ev,Qf,F7,DC].forEach(function(_){Ge(j7,_)});var JH={};JH.getCachedImage=function(_,p,x){var S=this,L=S.imageCache=S.imageCache||{},R=L[_];if(R)return R.image.complete||R.image.addEventListener("load",x),R.image;R=L[_]=L[_]||{};var B=R.image=new Image;B.addEventListener("load",x),B.addEventListener("error",function(){B.error=!0});var q="data:",W=_.substring(0,q.lengt
`+s);const k=Qt().securityLevel;let v;k==="sandbox"&&(v=Or("#i"+o));const O=Or(k==="sandbox"?v.nodes()[0].contentDocument.body:"body").select("#"+o);O.append("g");const j=m.db.getMindmap(),z=O.append("g");z.attr("class","mindmap-edges");const V=O.append("g");V.attr("class","mindmap-nodes"),pWe(V,j,-1,y);const Y=await Hnn(j,y);$nn(z,Y),znn(Y),CS(void 0,O,y.mindmap.padding,y.mindmap.useMaxWidth)}},qnn=s=>{let o="";for(let f=0;f<s.THEME_COLOR_LIMIT;f++)s["lineColor"+f]=s["lineColor"+f]||s["cScaleInv"+f],c$e(s["lineColor"+f])?s["lineColor"+f]=ro(s["lineColor"+f],20):s["lineColor"+f]=Bo(s["lineColor"+f],20);for(let f=0;f<s.THEME_COLOR_LIMIT;f++){const m=""+(17-3*f);o+=`
.section-${f-1} rect, .section-${f-1} path, .section-${f-1} circle, .section-${f-1} polygon, .section-${f-1} path {
fill: ${s["cScale"+f]};
}
.section-${f-1} text {
fill: ${s["cScaleLabel"+f]};
}
.node-icon-${f-1} {
font-size: 40px;
color: ${s["cScaleLabel"+f]};
}
.section-edge-${f-1}{
stroke: ${s["cScale"+f]};
}
.edge-depth-${f-1}{
stroke-width: ${m};
}
.section-${f-1} line {
stroke: ${s["cScaleInv"+f]} ;
stroke-width: 3;
}
.disabled, .disabled circle, .disabled text {
fill: lightgray;
}
.disabled text {
fill: #efefef;
}
`}return o},Unn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{db:knn,renderer:Vnn,parser:dnn,styles:s=>`
.edge {
stroke-width: 3;
}
${qnn(s)}
.section-root rect, .section-root path, .section-root circle, .section-root polygon {
fill: ${s.git0};
}
.section-root text {
fill: ${s.gitBranchLabel0};
}
.icon-container {
height:100%;
display: flex;
justify-content: center;
align-items: center;
}
.edge {
fill: none;
}
`}},Symbol.toStringTag,{value:"Module"}));return _w})})(Uqn,Nme);const Rme=qqn(Nme),Gqn=typeof atob=="function",$Be=typeof Buffer=="function",qTt=typeof TextDecoder=="function"?new TextDecoder:void 0;typeof TextEncoder=="function"&&new TextEncoder;const Wqn="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Kqn=Array.prototype.slice.call(Wqn),nme=(g=>{let w={};return g.forEach((T,D)=>w[T]=D),w})(Kqn),Yqn=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,WI=String.fromCharCode.bind(String),UTt=typeof Uint8Array.from=="function"?Uint8Array.from.bind(Uint8Array):g=>new Uint8Array(Array.prototype.slice.call(g,0)),GAt=g=>g.replace(/[^A-Za-z0-9\+\/]/g,""),Xqn=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,Qqn=g=>{switch(g.length){case 4:var w=(7&g.charCodeAt(0))<<18|(63&g.charCodeAt(1))<<12|(63&g.charCodeAt(2))<<6|63&g.charCodeAt(3),T=w-65536;return WI((T>>>10)+55296)+WI((T&1023)+56320);case 3:return WI((15&g.charCodeAt(0))<<12|(63&g.charCodeAt(1))<<6|63&g.charCodeAt(2));default:return WI((31&g.charCodeAt(0))<<6|63&g.charCodeAt(1))}},Zqn=g=>g.replace(Xqn,Qqn),Jqn=g=>{if(g=g.replace(/\s+/g,""),!Yqn.test(g))throw new TypeError("malformed base64.");g+="==".slice(2-(g.length&3));let w,T="",D,H;for(let U=0;U<g.length;)w=nme[g.charAt(U++)]<<18|nme[g.charAt(U++)]<<12|(D=nme[g.charAt(U++)])<<6|(H=nme[g.charAt(U++)]),T+=D===64?WI(w>>16&255):H===64?WI(w>>16&255,w>>8&255):WI(w>>16&255,w>>8&255,w&255);return T},WAt=Gqn?g=>atob(GAt(g)):$Be?g=>Buffer.from(g,"base64").toString("binary"):Jqn,eUn=$Be?g=>UTt(Buffer.from(g,"base64")):g=>UTt(WAt(g).split("").map(w=>w.charCodeAt(0))),tUn=$Be?g=>Buffer.from(g,"base64").toString("utf8"):qTt?g=>qTt.decode(eUn(g)):g=>Zqn(WAt(g)),nUn=g=>GAt(g.replace(/[-_]/g,w=>w=="-"?"+":"/")),rUn=g=>tUn(nUn(g));const iUn=()=>({theme:"default"});Rme.startOnLoad=!1;Rme.initialize({startOnLoad:!1});const sUn=PLn("abcedfghicklmn",10),GTt=new Map;function aUn(g,w){const T=g+JSON.stringify(w),D=GTt.get(T);if(D)return D;Rme.initialize({startOnLoad:!1,...V9t(iUn()||{}),...V9t(w)});const H=rUn(g),U=sUn(),Q=Rme.render(U,H);return GTt.set(T,Q),Q}const oUn=mu({__name:"ShadowRoot",props:{innerHtml:{type:String,required:!0}},emits:["shadow"],setup(g,{emit:w}){const T=g;os(Os);const D=Is(),H=Fr(()=>D.value?D.value.shadowRoot||D.value.attachShadow({mode:"open"}):null);return X8(()=>{H.value&&(w("shadow",H.value),H.value.innerHTML=T.innerHtml)}),(U,Q)=>(tr(),Ls("div",{ref_key:"el",ref:D},null,512))}}),cUn=Ps(oUn,[["__file","/home/laurent/Documents/Cours/ENSEEIHT/Projet-long/prez/node_modules/@slidev/client/internals/ShadowRoot.vue"]]),lUn=mu({__name:"Mermaid",props:{code:{type:String,required:!0},scale:{type:Number,required:!1},theme:{type:String,required:!1}},setup(g){const w=g;os(Os);const T=hw(),D=Is(),H=Fr(()=>aUn(w.code||"",{theme:w.theme||(ive.value?"dark":void 0),...T.attrs})),U=Fr(()=>H.value),Q=Is();return jc(U,()=>{Q.value=void 0}),X8(()=>{var he,ne,Be;const ie=(ne=(he=D.value)==null?void 0:he.children)==null?void 0:ne[0];if(ie&&ie.hasAttribute("viewBox")&&Q.value==null){const He=parseFloat(((Be=ie.getAttribute("viewBox"))==null?void 0:Be.split(" ")[3])||"");Q.value=isNaN(He)?void 0:He}},{flush:"post"}),X8(()=>{var he,ne;const ie=(ne=(he=D.value)==null?void 0:he.children)==null?void 0:ne[0];ie!=null&&w.scale!=null&&Q.value!=null&&(ie.setAttribute("height",`${Q.value*w.scale}`),ie.removeAttribute("width"),ie.removeAttribute("style"))},{flush:"post"}),(ie,he)=>(tr(),Ds(cUn,{ref_key:"el",ref:D,class:"mermaid","inner-html":Hn(U),onShadow:he[0]||(he[0]=ne=>D.value=ne)},null,8,["inner-html"]))}}),uUn=Ps(lUn,[["__file","/home/laurent/Documents/Cours/ENSEEIHT/Projet-long/prez/node_modules/@slidev/client/builtin/Mermaid.vue"]]);const hUn=g=>(iCt("data-v-8b3bc031"),g=g(),sCt(),g),fUn=hUn(()=>I("h2",null,"Estimation of lighting vector",-1)),dUn={class:"h-100 flex items-center"},gUn={__name:"37",setup(g){const w={};return os(Os),(T,D)=>{const H=uUn;return tr(),Ds($c,Ic(xc(w)),{default:no(()=>[fUn,I("div",dUn,[Pa(H,EF({code:"Zmxvd2NoYXJ0IExSCiAgaWQxW0JvdW5kaW5nIGJv
theme: academic
class: text-white
coverBackgroundUrl: https://plus.unsplash.com/premium_photo-1673553304257-018c85e606f8?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8
coverBackgroundSource: unplash
coverBackgroundSourceUrl: https://unsplash.com/photos/g4I556WCJT0
coverDate: ""
themeConfig:
paginationX: r
paginationY: t
paginationPagesDisabled:
- 1
title: Projet Long
---
<h1 style="font-size: 2.3rem;">Sphere detection and multimedia applications</h1>
<span class="absolute p-2 text-xs right-0 top-0 opacity-50">
2023-03-09
</span>
<span class="absolute bottom-12 opacity-50">
Laurent Fainsin, Pierre-Eliot Jourdan, Raphaëlle Monville-Letu, Jade Neav
</span>
`,title:"Projet Long",level:1,content:`<h1 style="font-size: 2.3rem;">Sphere detection and multimedia applications</h1>
<span class="absolute p-2 text-xs right-0 top-0 opacity-50">
2023-03-09
</span>
<span class="absolute bottom-12 opacity-50">
Laurent Fainsin, Pierre-Eliot Jourdan, Raphaëlle Monville-Letu, Jade Neav
</span>`,frontmatter:{theme:"academic",class:"text-white",coverBackgroundUrl:"https://plus.unsplash.com/premium_photo-1673553304257-018c85e606f8?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8",coverBackgroundSource:"unplash",coverBackgroundSourceUrl:"https://unsplash.com/photos/g4I556WCJT0",coverDate:"",themeConfig:{paginationX:"r",paginationY:"t",paginationPagesDisabled:[1]},title:"Projet Long"},index:0,start:0,end:25,noteHTML:"",filepath:"/home/laurent/Documents/Cours/ENSEEIHT/Projet-long/prez/slides.md",id:0,no:1},__clicksElements:[],__preloaded:!1}},{path:"2",name:"page-2",component:Tjn,meta:{slide:{raw:`
# Contents
<div class="h-100 flex items-center text-2xl">
- Types of spheres
- Automatic sphere detection
- Lighting intensity estimation
- Lighting direction estimation
</div>
<figure class="absolute top-15 right-25 w-35">
<img src="https://images.pexels.com/photos/13849458/pexels-photo-13849458.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1"/>
<figcaption class="text-center">Architecture</figcaption>
</figure>
<figure class="absolute top-40 right-75 w-50">
<img src="https://images.pexels.com/photos/3945321/pexels-photo-3945321.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1"/>
<figcaption class="text-center">Cinema</figcaption>
</figure>
<figure class="absolute top-72 right-30 w-45">
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTzg_yM_NbCIYXfZ55WdtFbAtaF7EUGSKSVBQ&usqp=CAU"/>
<figcaption class="text-center">3D Reconstruction</figcaption>
</figure>
<a href="https://www.pexels.com" class="absolute bottom-0 font-extralight mb-1 mr-2 right-0 text-xs">pexels</a>
`,title:"Contents",level:1,content:`# Contents
<div class="h-100 flex items-center text-2xl">
- Types of spheres
- Automatic sphere detection
- Lighting intensity estimation
- Lighting direction estimation
</div>
<figure class="absolute top-15 right-25 w-35">
<img src="https://images.pexels.com/photos/13849458/pexels-photo-13849458.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1"/>
<figcaption class="text-center">Architecture</figcaption>
</figure>
<figure class="absolute top-40 right-75 w-50">
<img src="https://images.pexels.com/photos/3945321/pexels-photo-3945321.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1"/>
<figcaption class="text-center">Cinema</figcaption>
</figure>
<figure class="absolute top-72 right-30 w-45">
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTzg_yM_NbCIYXfZ55WdtFbAtaF7EUGSKSVBQ&usqp=CAU"/>
<figcaption class="text-center">3D Reconstruction</figcaption>
</figure>
<a href="https://www.pexels.com" class="absolute bottom-0 font-extralight mb-1 mr-2 right-0 text-xs">pexels</a>`,frontmatter:{},index:1,start:26,end:55,noteHTML:"",filepath:"/home/laurent/Documents/Cours/ENSEEIHT/Projet-long/prez/slides.md",id:1,no:2},__clicksElements:[],__preloaded:!1}},{path:"3",name:"page-3",component:Ajn,meta:{class:"text-white custombg",slide:{raw:`---
class: text-white custombg
---
<style>
.custombg {
background-repeat: no-repeat;
background-position: center center;
background-size: cover;
background-image: url("/assets/spheres.png");
}
</style>
# Types of spheres
`,title:"Types of spheres",level:1,content:`<style>
.custombg {
background-repeat: no-repeat;
background-position: center center;
background-size: cover;
background-image: url("/assets/spheres.png");
}
</style>
# Types of spheres`,frontmatter:{class:"text-white custombg"},index:2,start:55,end:70,noteHTML:"",filepath:"/home/laurent/Documents/Cours/ENSEEIHT/Projet-long/prez/slides.md",id:2,no:3},__clicksElements:[],__preloaded:!1}},{path:"4",name:"page-4",component:Ojn,meta:{class:"text-white custombg2",slide:{raw:`---
class: text-white custombg2
---
<style>
.custombg2 {
background-repeat: no-repeat;
background-position: center center;
background-size: cover;
background-image: url("https://media.caveacademy.com/wp-content/uploads/2021/05/04000307/cave_prop1002_chrome_v001_r001.jpg");
}
</style>
## Chrome sphere
<a href="https://caveacademy.com/wiki/onset-production/data-acquisition/data-acquisition-training/the-grey-the-chrome-and-the-macbeth-chart/" class="absolute bottom-0 font-extralight mb-1 mr-2 right-0 text-xs">CaveAcademy</a>
`,title:"Chrome sphere",level:2,content:`<style>
.custombg2 {
background-repeat: no-repeat;
background-position: center center;
background-size: cover;
background-image: url("https://media.caveacademy.com/wp-content/uploads/2021/05/04000307/cave_prop1002_chrome_v001_r001.jpg");
}
</style>
## Chrome sphere
<a href="https://caveacademy.com/wiki/onset-production/data-acquisition/data-acquisition-training/the-grey-the-chrome-and-the-macbeth-chart/" class="absolute bottom-0 font-extralight mb-1 mr-2 right-0 text-xs">CaveAcademy</a>`,frontmatter:{class:"text-white custombg2"},index:3,start:70,end:87,noteHTML:"",filepath:"/home/laurent/Documents/Cours/ENSEEIHT/Projet-long/prez/slides.md",id:3,no:4},__clicksElements:[],__preloaded:!1}},{path:"5",name:"page-5",component:Fjn,meta:{slide:{raw:`
## Acquisition techniques
<div class="h-full flex items-center">
<img src="/assets/capture_hdri.jpg" class="m-auto"/>
</div>
<a href="https://www.youtube.com/watch?v=kwGZa5qTeAI" class="absolute bottom-0 font-extralight mb-1 mr-2 right-0 text-xs">Louis du Mont</a>
<!-- https://www.youtube.com/watch?v=HCfHQL4kLnw -->
`,title:"Acquisition techniques",level:2,content:`## Acquisition techniques
<div class="h-full flex items-center">
<img src="/assets/capture_hdri.jpg" class="m-auto"/>
</div>
<a href="https://www.youtube.com/watch?v=kwGZa5qTeAI" class="absolute bottom-0 font-extralight mb-1 mr-2 right-0 text-xs">Louis du Mont</a>`,frontmatter:{},note:"https://www.youtube.com/watch?v=HCfHQL4kLnw",index:4,start:88,end:99,noteHTML:`<p>https://www.youtube.com/watch?v=HCfHQL4kLnw</p>
`,filepath:"/home/laurent/Documents/Cours/ENSEEIHT/Projet-long/prez/slides.md",id:4,no:5},__clicksElements:[],__preloaded:!1}},{path:"6",name:"page-6",component:Ujn,meta:{slide:{raw:`
## Realistic lighting
<div class="grid grid-cols-2 col-auto m-auto h-100 gap-1">
<img src="/assets/image-026.png" class="m-auto w-full"/>
<img src="/assets/image-027.png" class="m-auto w-full"/>
</div>
<a href="https://dl.acm.org/doi/pdf/10.1145/1103900.1103914" class="absolute bottom-0 font-extralight mb-1 mr-2 right-0 text-xs">High Dynamic Range Imaging, Paul Debevec</a>
`,title:"Realistic lighting",level:2,content:`## Realistic lighting
<div class="grid grid-cols-2 col-auto m-auto h-100 gap-1">
<img src="/assets/image-026.png" class="m-auto w-full"/>
<img src="/assets/image-027.png" class="m-auto w-full"/>
</div>
<a href="https://dl.acm.org/doi/pdf/10.1145/1103900.1103914" class="absolute bottom-0 font-extralight mb-1 mr-2 right-0 text-xs">High Dynamic Range Imaging, Paul Debevec</a>`,frontmatter:{},index:5,start:100,end:110,noteHTML:"",filepath:"/home/laurent/Documents/Cours/ENSEEIHT/Projet-long/prez/slides.md",id:5,no:6},__clicksElements:[],__preloaded:!1}},{path:"7",name:"page-7",component:Yjn,meta:{class:"text-white custombg3",slide:{raw:`---
class: text-white custombg3
---
<style>
.custombg3 {
background-repeat: no-repeat;
background-position: center center;
background-size: cover;
background-image: url("/assets/shiny.jpg");
}
</style>
## Shiny sphere
<a href="https://caveacademy.com/wiki/onset-production/data-acquisition/data-acquisition-training/the-grey-the-chrome-and-the-macbeth-chart/" class="absolute bottom-0 font-extralight mb-1 mr-2 right-0 text-xs">CaveAcademy</a>
`,title:"Shiny sphere",level:2,content:`<style>
.custombg3 {
background-repeat: no-repeat;
background-position: center center;
background-size: cover;
background-image: url("/assets/shiny.jpg");
}
</style>
## Shiny sphere
<a href="https://caveacademy.com/wiki/onset-production/data-acquisition/data-acquisition-training/the-grey-the-chrome-and-the-macbeth-chart/" class="absolute bottom-0 font-extralight mb-1 mr-2 right-0 text-xs">CaveAcademy</a>`,frontmatter:{class:"text-white custombg3"},index:6,start:110,end:128,noteHTML:"",filepath:"/home/laurent/Documents/Cours/ENSEEIHT/Projet-long/prez/slides.md",id:6,no:7},__clicksElements:[],__preloaded:!1}},{path:"8",name:"page-8",component:Jjn,meta:{class:"text-white custombg4",slide:{raw:`---
class: text-white custombg4
---
<style>
.custombg4 {
background-repeat: no-repeat;
background-position: center center;
background-size: cover;
background-image: url("https://media.caveacademy.com/wp-content/uploads/2021/05/04000316/cave_prop1002_grey_v001_r001.jpg");
}
</style>
## Matte sphere
<a href="https://caveacademy.com/wiki/onset-production/data-acquisition/data-acquisition-training/the-grey-the-chrome-and-the-macbeth-chart/" class="absolute bottom-0 font-extralight mb-1 mr-2 right-0 text-xs">CaveAcademy</a>
`,title:"Matte sphere",level:2,content:`<style>
.custombg4 {
background-repeat: no-repeat;
background-position: center center;
background-size: cover;
background-image: url("https://media.caveacademy.com/wp-content/uploads/2021/05/04000316/cave_prop1002_grey_v001_r001.jpg");
}
</style>
## Matte sphere
<a href="https://caveacademy.com/wiki/onset-production/data-acquisition/data-acquisition-training/the-grey-the-chrome-and-the-macbeth-chart/" class="absolute bottom-0 font-extralight mb-1 mr-2 right-0 text-xs">CaveAcademy</a>`,frontmatter:{class:"text-white custombg4"},index:7,start:128,end:145,noteHTML:"",filepath:"/home/laurent/Documents/Cours/ENSEEIHT/Projet-long/prez/slides.md",id:7,no:8},__clicksElements:[],__preloaded:!1}},{path:"9",name:"page-9",component:r$n,meta:{slide:{raw:`
# Automatic sphere detection
<div class="h-100 flex items-center text-2xl">
- Model
- Datasets
- Results
- Perspectives
</div>
<!--
So we have a few applications that use spheres, but if we actually want to perform them, we need to know the locations of said spheres.
Well, there is no known traditional method to directly detect spheres (especially chrome spheres) in images,
so we have no choice but to use deep neural networks.
-->
`,title:"Automatic sphere detection",level:1,content:`# Automatic sphere detection
<div class="h-100 flex items-center text-2xl">
- Model
- Datasets
- Results
- Perspectives
</div>`,frontmatter:{},note:`So we have a few applications that use spheres, but if we actually want to perform them, we need to know the locations of said spheres.
Well, there is no known traditional method to directly detect spheres (especially chrome spheres) in images,
so we have no choice but to use deep neural networks.`,index:8,start:146,end:164,noteHTML:`<p>So we have a few applications that use spheres, but if we actually want to perform them, we need to know the locations of said spheres.
Well, there is no known traditional method to directly detect spheres (especially chrome spheres) in images,
so we have no choice but to use deep neural networks.</p>
`,filepath:"/home/laurent/Documents/Cours/ENSEEIHT/Projet-long/prez/slides.md",id:8,no:9},__clicksElements:[],__preloaded:!1}},{path:"10",name:"page-10",component:l$n,meta:{slide:{raw:`
## Model
<div class="h-100 flex items-center">
<img src="/assets/DETR.png" class="m-auto"/>
</div>
<a href="https://arxiv.org/abs/2005.12872" class="absolute bottom-0 font-extralight mb-1 mr-2 right-0 text-xs">End-to-End Object Detection with Transformers, arXiv:2005.12872</a>
<!--
Let's do deep learning then !
First we need a model, for our problem we chose DETR, from the paper End-to-End Object Detection with Transformers,
published by facebook research in 2020.
We chose this model since it has proven itself to achieve state of the art performance without too much difficulty.
We also chose this model since it is quite recent, well supported by frameworks,
and mostly because there are publicly available pretrained weights of this model online.
And so here is the architecture of the model, a simple CNN backbone, followed by an encoder-decoder transformer, in turn followed by the prediction heads.
-->
`,title:"Model",level:2,content:`## Model
<div class="h-100 flex items-center">
<img src="/assets/DETR.png" class="m-auto"/>
</div>
<a href="https://arxiv.org/abs/2005.12872" class="absolute bottom-0 font-extralight mb-1 mr-2 right-0 text-xs">End-to-End Object Detection with Transformers, arXiv:2005.12872</a>`,frontmatter:{},note:`Let's do deep learning then !
First we need a model, for our problem we chose DETR, from the paper End-to-End Object Detection with Transformers,
published by facebook research in 2020.
We chose this model since it has proven itself to achieve state of the art performance without too much difficulty.
We also chose this model since it is quite recent, well supported by frameworks,
and mostly because there are publicly available pretrained weights of this model online.
And so here is the architecture of the model, a simple CNN backbone, followed by an encoder-decoder transformer, in turn followed by the prediction heads.`,index:9,start:165,end:186,noteHTML:`<p>Let's do deep learning then !</p>
<p>First we need a model, for our problem we chose DETR, from the paper End-to-End Object Detection with Transformers,
published by facebook research in 2020.
We chose this model since it has proven itself to achieve state of the art performance without too much difficulty.
We also chose this model since it is quite recent, well supported by frameworks,
and mostly because there are publicly available pretrained weights of this model online.</p>
<p>And so here is the architecture of the model, a simple CNN backbone, followed by an encoder-decoder transformer, in turn followed by the prediction heads.</p>
`,filepath:"/home/laurent/Documents/Cours/ENSEEIHT/Projet-long/prez/slides.md",id:9,no:10},__clicksElements:[],__preloaded:!1}},{path:"11",name:"page-11",component:p$n,meta:{slide:{raw:`
## Datasets (1/4)
<div class="h-full flex items-center">
<img src="/assets/antoine.webp" class="m-auto h-100"/>
</div>
<span class="absolute bottom-0 font-extralight mb-1 mr-2 right-0 text-xs">Antoine Laurent</span>
<!--
Secondly we need data, and a lot if possible.
The first dataset we got our hands on were archeological photograph by Antoine Laurent for the purpose of 3D reconstruction for heritage preservation.
This dataset consists of ~1000 images of rocky things in front of rocky dark backgrounds. This dataset was a good start, but had a couple weaknesses. for example it only contained white matte sphere and red & black shiny spheres, no chrome spheres. Also since it was for 3D reconstruction lots of images were "the same" as only the direction of light varied, which made it very prone to overfitting.
-->
`,title:"Datasets (1/4)",level:2,content:`## Datasets (1/4)
<div class="h-full flex items-center">
<img src="/assets/antoine.webp" class="m-auto h-100"/>
</div>
<span class="absolute bottom-0 font-extralight mb-1 mr-2 right-0 text-xs">Antoine Laurent</span>`,frontmatter:{},note:`Secondly we need data, and a lot if possible.
The first dataset we got our hands on were archeological photograph by Antoine Laurent for the purpose of 3D reconstruction for heritage preservation.
This dataset consists of ~1000 images of rocky things in front of rocky dark backgrounds. This dataset was a good start, but had a couple weaknesses. for example it only contained white matte sphere and red & black shiny spheres, no chrome spheres. Also since it was for 3D reconstruction lots of images were "the same" as only the direction of light varied, which made it very prone to overfitting.`,index:10,start:187,end:203,noteHTML:`<p>Secondly we need data, and a lot if possible.</p>
<p>The first dataset we got our hands on were archeological photograph by Antoine Laurent for the purpose of 3D reconstruction for heritage preservation.
This dataset consists of ~1000 images of rocky things in front of rocky dark backgrounds. This dataset was a good start, but had a couple weaknesses. for example it only contained white matte sphere and red &amp; black shiny spheres, no chrome spheres. Also since it was for 3D reconstruction lots of images were &quot;the same&quot; as only the direction of light varied, which made it very prone to overfitting.</p>
`,filepath:"/home/laurent/Documents/Cours/ENSEEIHT/Projet-long/prez/slides.md",id:10,no:11},__clicksElements:[],__preloaded:!1}},{path:"12",name:"page-12",component:_$n,meta:{slide:{raw:`
## Datasets (2/4)
<div class="h-full flex items-center">
<img src="/assets/illumination.webp" class="m-auto h-100"/>
</div>
<a href="https://projects.csail.mit.edu/illumination/" class="absolute bottom-0 font-extralight mb-1 mr-2 right-0 text-xs">A Dataset of Multi-Illumination Images in the Wild</a>
<!--
The second dataset we got our hands on is similar to the first one. It is from the paper "A Dataset of Multi-Illumination Images in the Wild" whose purpose was to relight a scene, so nothing to do with what we wanna do, but at least each image contained a chrome and grey sphere. The main weakness of this dataset was that it only had indoor images.
We trained a first model on these two datasets, and it didn't work very well on totally new images. It was clear that this dataset was not enough to achieve generalization.
-->
`,title:"Datasets (2/4)",level:2,content:`## Datasets (2/4)
<div class="h-full flex items-center">
<img src="/assets/illumination.webp" class="m-auto h-100"/>
</div>
<a href="https://projects.csail.mit.edu/illumination/" class="absolute bottom-0 font-extralight mb-1 mr-2 right-0 text-xs">A Dataset of Multi-Illumination Images in the Wild</a>`,frontmatter:{},note:`The second dataset we got our hands on is similar to the first one. It is from the paper "A Dataset of Multi-Illumination Images in the Wild" whose purpose was to relight a scene, so nothing to do with what we wanna do, but at least each image contained a chrome and grey sphere. The main weakness of this dataset was that it only had indoor images.
We trained a first model on these two datasets, and it didn't work very well on totally new images. It was clear that this dataset was not enough to achieve generalization.`,index:11,start:204,end:219,noteHTML:`<p>The second dataset we got our hands on is similar to the first one. It is from the paper &quot;A Dataset of Multi-Illumination Images in the Wild&quot; whose purpose was to relight a scene, so nothing to do with what we wanna do, but at least each image contained a chrome and grey sphere. The main weakness of this dataset was that it only had indoor images.</p>
<p>We trained a first model on these two datasets, and it didn't work very well on totally new images. It was clear that this dataset was not enough to achieve generalization.</p>
`,filepath:"/home/laurent/Documents/Cours/ENSEEIHT/Projet-long/prez/slides.md",id:11,no:12},__clicksElements:[],__preloaded:!1}},{path:"13",name:"page-13",component:C$n,meta:{slide:{raw:`
## Datasets (3/4)
<div class="h-full flex items-center">
<img src="/assets/compositing.webp" class="m-auto h-100"/>
</div>
<span class="absolute bottom-0 font-extralight mb-1 mr-2 right-0 text-xs"><a href="https://cocodataset.org/#home">MS COCO</a> compositing</span>
<!--
So we turned ourself to synthetic dataset.
The first dataset we created was by using compositing, so we basically pasted spheres on top of random images. It worked quite well, but since we do not know the environment around the images we could not paste coherent chrome spheres.
-->
`,title:"Datasets (3/4)",level:2,content:`## Datasets (3/4)
<div class="h-full flex items-center">
<img src="/assets/compositing.webp" class="m-auto h-100"/>
</div>
<span class="absolute bottom-0 font-extralight mb-1 mr-2 right-0 text-xs"><a href="https://cocodataset.org/#home">MS COCO</a> compositing</span>`,frontmatter:{},note:`So we turned ourself to synthetic dataset.
The first dataset we created was by using compositing, so we basically pasted spheres on top of random images. It worked quite well, but since we do not know the environment around the images we could not paste coherent chrome spheres.`,index:12,start:220,end:235,noteHTML:`<p>So we turned ourself to synthetic dataset.</p>
<p>The first dataset we created was by using compositing, so we basically pasted spheres on top of random images. It worked quite well, but since we do not know the environment around the images we could not paste coherent chrome spheres.</p>
`,filepath:"/home/laurent/Documents/Cours/ENSEEIHT/Projet-long/prez/slides.md",id:12,no:13},__clicksElements:[],__preloaded:!1}},{path:"14",name:"page-14",component:D$n,meta:{slide:{raw:`
## Datasets (4/4)
<div class="h-full flex items-center">
<img src="/assets/render.webp" class="m-auto h-100"/>
</div>
<span class="absolute bottom-0 font-extralight mb-1 mr-2 right-0 text-xs">
<a href="https://www.blender.org/">Blender</a>,
<a href="https://polyhaven.com/">PolyHaven</a>
</span>
<!--
We thus made coherents images with blender. coherent reflections, with polyhaven.
sprinkled some light augmentations
-->
`,title:"Datasets (4/4)",level:2,content:`## Datasets (4/4)
<div class="h-full flex items-center">
<img src="/assets/render.webp" class="m-auto h-100"/>
</div>
<span class="absolute bottom-0 font-extralight mb-1 mr-2 right-0 text-xs">
<a href="https://www.blender.org/">Blender</a>,
<a href="https://polyhaven.com/">PolyHaven</a>
</span>`,frontmatter:{},note:`We thus made coherents images with blender. coherent reflections, with polyhaven.
sprinkled some light augmentations`,index:13,start:236,end:255,noteHTML:`<p>We thus made coherents images with blender. coherent reflections, with polyhaven.</p>
<p>sprinkled some light augmentations</p>
`,filepath:"/home/laurent/Documents/Cours/ENSEEIHT/Projet-long/prez/slides.md",id:13,no:14},__clicksElements:[],__preloaded:!1}},{path:"15",name:"page-15",component:F$n,meta:{slide:{raw:`
## Results (1/8)
<div class="h-full flex items-center">
<img src="/assets/image2_0_0.jpg" class="m-auto h-110">
</div>
<!-- standard sphere kinda degraded, still correctly recognized -->
`,title:"Results (1/8)",level:2,content:`## Results (1/8)
<div class="h-full flex items-center">
<img src="/assets/image2_0_0.jpg" class="m-auto h-110">
</div>`,frontmatter:{},note:"standard sphere kinda degraded, still correctly recognized",index:14,start:256,end:265,noteHTML:`<p>standard sphere kinda degraded, still correctly recognized</p>
`,filepath:"/home/laurent/Documents/Cours/ENSEEIHT/Projet-long/prez/slides.md",id:14,no:15},__clicksElements:[],__preloaded:!1}},{path:"16",name:"page-16",component:V$n,meta:{slide:{raw:`
## Results (2/8)
<div class="h-full flex items-center">
<img src="/assets/image2_0_2.jpg" class="m-auto h-110">
</div>
<!--
occlusion
reflection inside chrome not detected
-->
`,title:"Results (2/8)",level:2,content:`## Results (2/8)
<div class="h-full flex items-center">
<img src="/assets/image2_0_2.jpg" class="m-auto h-110">
</div>`,frontmatter:{},note:`occlusion
reflection inside chrome not detected`,index:15,start:266,end:279,noteHTML:`<p>occlusion</p>
<p>reflection inside chrome not detected</p>
`,filepath:"/home/laurent/Documents/Cours/ENSEEIHT/Projet-long/prez/slides.md",id:15,no:16},__clicksElements:[],__preloaded:!1}},{path:"17",name:"page-17",component:K$n,meta:{slide:{raw:`
## Results (3/8)
<div class="h-full flex items-center">
<img src="/assets/image2_0_3.jpg" class="m-auto h-110">
</div>
<!--
closeup
-->
`,title:"Results (3/8)",level:2,content:`## Results (3/8)
<div class="h-full flex items-center">
<img src="/assets/image2_0_3.jpg" class="m-auto h-110">
</div>`,frontmatter:{},note:"closeup",index:16,start:280,end:291,noteHTML:`<p>closeup</p>
`,filepath:"/home/laurent/Documents/Cours/ENSEEIHT/Projet-long/prez/slides.md",id:16,no:17},__clicksElements:[],__preloaded:!1}},{path:"18",name:"page-18",component:J$n,meta:{slide:{raw:`
## Results (4/8)
<div class="h-full flex items-center">
<img src="/assets/image2_0_4.jpg" class="m-auto h-110">
</div>
<!--
detection not so great, though the scene is pretty complex
-->
`,title:"Results (4/8)",level:2,content:`## Results (4/8)
<div class="h-full flex items-center">
<img src="/assets/image2_0_4.jpg" class="m-auto h-110">
</div>`,frontmatter:{},note:"detection not so great, though the scene is pretty complex",index:17,start:292,end:303,noteHTML:`<p>detection not so great, though the scene is pretty complex</p>
`,filepath:"/home/laurent/Documents/Cours/ENSEEIHT/Projet-long/prez/slides.md",id:17,no:18},__clicksElements:[],__preloaded:!1}},{path:"19",name:"page-19",component:iHn,meta:{slide:{raw:`
## Results (5/8)
<div class="h-full flex items-center">
<img src="/assets/image2_0_5.jpg" class="m-auto h-110">
</div>
`,title:"Results (5/8)",level:2,content:`## Results (5/8)
<div class="h-full flex items-center">
<img src="/assets/image2_0_5.jpg" class="m-auto h-110">
</div>`,frontmatter:{},index:18,start:304,end:311,noteHTML:"",filepath:"/home/laurent/Documents/Cours/ENSEEIHT/Projet-long/prez/slides.md",id:18,no:19},__clicksElements:[],__preloaded:!1}},{path:"20",name:"page-20",component:lHn,meta:{slide:{raw:`
## Results (6/8)
<div class="h-full flex items-center">
<img src="/assets/image2_1_0.jpg" class="m-auto h-110">
</div>
`,title:"Results (6/8)",level:2,content:`## Results (6/8)
<div class="h-full flex items-center">
<img src="/assets/image2_1_0.jpg" class="m-auto h-110">
</div>`,frontmatter:{},index:19,start:312,end:319,noteHTML:"",filepath:"/home/laurent/Documents/Cours/ENSEEIHT/Projet-long/prez/slides.md",id:19,no:20},__clicksElements:[],__preloaded:!1}},{path:"21",name:"page-21",component:gHn,meta:{slide:{raw:`
## Results (7/8)
<div class="h-full flex items-center">
<img src="/assets/image2_1_1.jpg" class="m-auto h-110">
</div>
`,title:"Results (7/8)",level:2,content:`## Results (7/8)
<div class="h-full flex items-center">
<img src="/assets/image2_1_1.jpg" class="m-auto h-110">
</div>`,frontmatter:{},index:20,start:320,end:327,noteHTML:"",filepath:"/home/laurent/Documents/Cours/ENSEEIHT/Projet-long/prez/slides.md",id:20,no:21},__clicksElements:[],__preloaded:!1}},{path:"22",name:"page-22",component:wHn,meta:{slide:{raw:`
## Results (8/8)
<div class="h-full flex items-center">
<img src="/assets/image2_0_1.jpg" class="m-auto h-110">
</div>
<!--
one false positive, though can be filtered, 0.95 vs 0.99 threshold
-->
`,title:"Results (8/8)",level:2,content:`## Results (8/8)
<div class="h-full flex items-center">
<img src="/assets/image2_0_1.jpg" class="m-auto h-110">
</div>`,frontmatter:{},note:"one false positive, though can be filtered, 0.95 vs 0.99 threshold",index:21,start:328,end:339,noteHTML:`<p>one false positive, though can be filtered, 0.95 vs 0.99 threshold</p>
`,filepath:"/home/laurent/Documents/Cours/ENSEEIHT/Projet-long/prez/slides.md",id:21,no:22},__clicksElements:[],__preloaded:!1}},{path:"23",name:"page-23",component:THn,meta:{slide:{raw:`
## Perspectives
<div class="h-full flex items-center">
<img src="/assets/surface-imperfections.png" class="m-auto h-110"/>
</div>
<a href="https://www.poliigon.com/textures/surface-imperfections" class="absolute bottom-0 font-extralight mb-1 mr-2 right-0 text-xs">Poliigon.com</a>
<!--
augmentations inside blender to make spheres more realistic, prb textures scratches, fingerprints...
bigger network resnet 101
alternative architecture, deformable attention, conditionnal detr, dino
-->
`,title:"Perspectives",level:2,content:`## Perspectives
<div class="h-full flex items-center">
<img src="/assets/surface-imperfections.png" class="m-auto h-110"/>
</div>
<a href="https://www.poliigon.com/textures/surface-imperfections" class="absolute bottom-0 font-extralight mb-1 mr-2 right-0 text-xs">Poliigon.com</a>`,frontmatter:{},note:`augmentations inside blender to make spheres more realistic, prb textures scratches, fingerprints...
bigger network resnet 101
alternative architecture, deformable attention, conditionnal detr, dino`,index:22,start:340,end:357,noteHTML:`<p>augmentations inside blender to make spheres more realistic, prb textures scratches, fingerprints...</p>
<p>bigger network resnet 101</p>
<p>alternative architecture, deformable attention, conditionnal detr, dino</p>
`,filepath:"/home/laurent/Documents/Cours/ENSEEIHT/Projet-long/prez/slides.md",id:22,no:23},__clicksElements:[],__preloaded:!1}},{path:"24",name:"page-24",component:MHn,meta:{slide:{raw:`
# Lighting intensity estimation
<div class="h-100 flex items-center text-2xl">
- Photometric Stereo
- Lambert Law
- Problem formulation
- Algorithms
- Generated images
- Results
- Perspectives
</div>
<!--
2nd problem = estimate the intensity of the lighting in an image
-> important problem in 3D reconstruction (Photometric Stereo)
-->
`,title:"Lighting intensity estimation",level:1,content:`# Lighting intensity estimation
<div class="h-100 flex items-center text-2xl">
- Photometric Stereo
- Lambert Law
- Problem formulation
- Algorithms
- Generated images
- Results
- Perspectives
</div>`,frontmatter:{},note:`2nd problem = estimate the intensity of the lighting in an image
-> important problem in 3D reconstruction (Photometric Stereo)`,index:23,start:358,end:379,noteHTML:`<p>2nd problem = estimate the intensity of the lighting in an image</p>
<p>-&gt; important problem in 3D reconstruction (Photometric Stereo)</p>
`,filepath:"/home/laurent/Documents/Cours/ENSEEIHT/Projet-long/prez/slides.md",id:23,no:24},__clicksElements:[],__preloaded:!1}},{path:"25",name:"page-25",component:NHn,meta:{slide:{raw:`
## Photometric Stereo
<div class="h-100 flex items-center">
<img src= "https://upload.wikimedia.org/wikipedia/commons/b/b5/Photometric_stereo.png" class="m-auto h-90"/>
</div>
- Estimate the surface normals of an object
- Shiny spheres $\\rightarrow$ direction of the lighting
<a href="https://en.wikipedia.org/wiki/Photometric_stereo" class="absolute bottom-0 font-extralight mb-1 mr-2 right-0 text-xs">Wikipedia</a>
<!--
Photometric stereo = technique for estimating the surface normals of objects by observing that object under different lighting conditions
-->
`,title:"Photometric Stereo",level:2,content:`## Photometric Stereo
<div class="h-100 flex items-center">
<img src= "https://upload.wikimedia.org/wikipedia/commons/b/b5/Photometric_stereo.png" class="m-auto h-90"/>
</div>
- Estimate the surface normals of an object
- Shiny spheres $\\rightarrow$ direction of the lighting
<a href="https://en.wikipedia.org/wiki/Photometric_stereo" class="absolute bottom-0 font-extralight mb-1 mr-2 right-0 text-xs">Wikipedia</a>`,frontmatter:{},note:"Photometric stereo = technique for estimating the surface normals of objects by observing that object under different lighting conditions",index:24,start:380,end:396,noteHTML:`<p>Photometric stereo = technique for estimating the surface normals of objects by observing that object under different lighting conditions</p>
`,filepath:"/home/laurent/Documents/Cours/ENSEEIHT/Projet-long/prez/slides.md",id:24,no:25},__clicksElements:[],__preloaded:!1}},{path:"26",name:"page-26",component:$Vn,meta:{slide:{raw:`
## Lambert law
<div class="h-100 flex items-center">
<span>
$I(q) = \\rho(Q) \\times \\vec{n}(Q) \\cdot \\vec{s}(Q)$
- $\\rho(Q)$ is the albedo
- $\\vec{n}(Q)$ is the normal vector
- $\\vec{s}(Q) = \\phi \\times \\vec{s_0}(Q)$ is the lighting direction
</span>
</div>
<img src="/assets/stereo.png" class="h-100 absolute right-10 top-10"/>
<a href="https://www.laserfocusworld.com/lasers-sources/article/14035413/photometric-stereo-techniques-analyze-reflections-to-improve-image-contrast" class="absolute bottom-0 font-extralight mb-1 mr-2 right-0 text-xs">LaserFocusWorld</a>
<!--
Q 3D point -> q projection of Q i an image
Albedo = fraction of light that a surface can reflect
-->
`,title:"Lambert law",level:2,content:`## Lambert law
<div class="h-100 flex items-center">
<span>
$I(q) = \\rho(Q) \\times \\vec{n}(Q) \\cdot \\vec{s}(Q)$
- $\\rho(Q)$ is the albedo
- $\\vec{n}(Q)$ is the normal vector
- $\\vec{s}(Q) = \\phi \\times \\vec{s_0}(Q)$ is the lighting direction
</span>
</div>
<img src="/assets/stereo.png" class="h-100 absolute right-10 top-10"/>
<a href="https://www.laserfocusworld.com/lasers-sources/article/14035413/photometric-stereo-techniques-analyze-reflections-to-improve-image-contrast" class="absolute bottom-0 font-extralight mb-1 mr-2 right-0 text-xs">LaserFocusWorld</a>`,frontmatter:{},note:`Q 3D point -> q projection of Q i an image
Albedo = fraction of light that a surface can reflect`,index:25,start:397,end:425,noteHTML:`<p>Q 3D point -&gt; q projection of Q i an image</p>
<p>Albedo = fraction of light that a surface can reflect</p>
`,filepath:"/home/laurent/Documents/Cours/ENSEEIHT/Projet-long/prez/slides.md",id:25,no:26},__clicksElements:[],__preloaded:!1}},{path:"27",name:"page-27",component:qVn,meta:{slide:{raw:`
## Problem formulation
<div class="h-100 flex items-center">
<span>
$N$ lightings, $P$ pixels \\
$\\rightarrow I = M \\times S \\times D_{\\phi}$
- $I \\in \\mathbb{R}^{P \\times N} \\rightarrow$ gray scale levels $\\rightarrow$ known from image pixels
- $M \\in \\mathbb{R}^{P \\times 3} \\rightarrow$ the albedo and the normals $\\rightarrow$ **unknown**
- $S \\in \\mathbb{R}^{3 \\times N} \\rightarrow$ direction of lightings $\\rightarrow$ known from shiny spheres
- $D_{phi} = diag(\\phi_1,...,\\phi_{N}) \\in \\mathbb{R}^{ N \\times N} \\rightarrow$ intensities of lightings $\\rightarrow$ **to be determined**
</span>
</div>
`,title:"Problem formulation",level:2,content:`## Problem formulation
<div class="h-100 flex items-center">
<span>
$N$ lightings, $P$ pixels \\
$\\rightarrow I = M \\times S \\times D_{\\phi}$
- $I \\in \\mathbb{R}^{P \\times N} \\rightarrow$ gray scale levels $\\rightarrow$ known from image pixels
- $M \\in \\mathbb{R}^{P \\times 3} \\rightarrow$ the albedo and the normals $\\rightarrow$ **unknown**
- $S \\in \\mathbb{R}^{3 \\times N} \\rightarrow$ direction of lightings $\\rightarrow$ known from shiny spheres
- $D_{phi} = diag(\\phi_1,...,\\phi_{N}) \\in \\mathbb{R}^{ N \\times N} \\rightarrow$ intensities of lightings $\\rightarrow$ **to be determined**
</span>
</div>`,frontmatter:{},index:26,start:426,end:447,noteHTML:"",filepath:"/home/laurent/Documents/Cours/ENSEEIHT/Projet-long/prez/slides.md",id:26,no:27},__clicksElements:[],__preloaded:!1}},{path:"28",name:"page-28",component:YVn,meta:{slide:{raw:`
## Algorithm 1
<div class="h-100 flex items-center">
<img src="/assets/algo1.svg" class="m-auto h-72"/>
<span>
Intensities : $[\\phi_1,...,\\phi_{N}]$
New values : $\\phi_j \\plusmn \\delta, \\ j \\in [1,..,N]$
Estimation of the matrix $M$
Mean-squared error : $\\underset{\\phi_i}{\\min} || I - M S D_{\\phi} ||_2^2$
Update the value of $\\phi_j$
Repeat previous steps
</span>
</div>
<!--
IDEA : first determine the matrix M and then find the best values for phi
Initialize the intensities phi
For each iteration : fix all the intensities except phi_j
Determine the matrix M
delta -> small increment
Schema = importance of the initialization of intensities -> local/global minimum
-->
`,title:"Algorithm 1",level:2,content:`## Algorithm 1
<div class="h-100 flex items-center">
<img src="/assets/algo1.svg" class="m-auto h-72"/>
<span>
Intensities : $[\\phi_1,...,\\phi_{N}]$
New values : $\\phi_j \\plusmn \\delta, \\ j \\in [1,..,N]$
Estimation of the matrix $M$
Mean-squared error : $\\underset{\\phi_i}{\\min} || I - M S D_{\\phi} ||_2^2$
Update the value of $\\phi_j$
Repeat previous steps
</span>
</div>`,frontmatter:{},note:`IDEA : first determine the matrix M and then find the best values for phi
Initialize the intensities phi
For each iteration : fix all the intensities except phi_j
Determine the matrix M
delta -> small increment
Schema = importance of the initialization of intensities -> local/global minimum`,index:27,start:448,end:485,noteHTML:`<p>IDEA : first determine the matrix M and then find the best values for phi</p>
<p>Initialize the intensities phi</p>
<p>For each iteration : fix all the intensities except phi_j</p>
<p>Determine the matrix M</p>
<p>delta -&gt; small increment</p>
<p>Schema = importance of the initialization of intensities -&gt; local/global minimum</p>
`,filepath:"/home/laurent/Documents/Cours/ENSEEIHT/Projet-long/prez/slides.md",id:27,no:28},__clicksElements:[],__preloaded:!1}},{path:"29",name:"page-29",component:JVn,meta:{slide:{raw:`
## Algorithm 2
<div class="h-100 flex items-center">
<div class="w-full">
Algorithm 1 $\\rightarrow$ too long
$$I = M S D_{\\phi} \\iff M = I(S D_{\\phi})^\\dagger = I (S D_{\\phi})^T [(S D_{\\phi})(S D_{\\phi})^T]^{-1}$$
Lambert law :
$$
\\begin{align*}
I &= I (S D_{\\phi})^T [(S D_{\\phi})(S D_{\\phi})^T]^{-1} S D_{\\phi} \\\\
&= I D_{\\phi} S^T S^{-T} D_{\\phi}^{-2} S^{-1} S D_{\\phi}
\\end{align*}
$$
New residual :
$$\\underset{\\phi_i}{\\min} || I - I D_{\\phi} S^T S^{-T} D_{\\phi}^{-2} S^{-1} S D_{\\phi} ||_2^2$$
</div>
</div>
<!--
Too long = 2 for loops + M to estimate twice for each intensity and iteration
Write the Lambert law only as a function of D_phi
Non linear problem = can be solved directly using the Matlab function lsqnonlin()
Execution time = 10 seconds instead of 5 min (for 1000 iterations)
-->
`,title:"Algorithm 2",level:2,content:`## Algorithm 2
<div class="h-100 flex items-center">
<div class="w-full">
Algorithm 1 $\\rightarrow$ too long
$$I = M S D_{\\phi} \\iff M = I(S D_{\\phi})^\\dagger = I (S D_{\\phi})^T [(S D_{\\phi})(S D_{\\phi})^T]^{-1}$$
Lambert law :
$$
\\begin{align*}
I &= I (S D_{\\phi})^T [(S D_{\\phi})(S D_{\\phi})^T]^{-1} S D_{\\phi} \\\\
&= I D_{\\phi} S^T S^{-T} D_{\\phi}^{-2} S^{-1} S D_{\\phi}
\\end{align*}
$$
New residual :
$$\\underset{\\phi_i}{\\min} || I - I D_{\\phi} S^T S^{-T} D_{\\phi}^{-2} S^{-1} S D_{\\phi} ||_2^2$$
</div>
</div>`,frontmatter:{},note:`Too long = 2 for loops + M to estimate twice for each intensity and iteration
Write the Lambert law only as a function of D_phi
Non linear problem = can be solved directly using the Matlab function lsqnonlin()
Execution time = 10 seconds instead of 5 min (for 1000 iterations)`,index:28,start:486,end:522,noteHTML:`<p>Too long = 2 for loops + M to estimate twice for each intensity and iteration</p>
<p>Write the Lambert law only as a function of D_phi</p>
<p>Non linear problem = can be solved directly using the Matlab function lsqnonlin()</p>
<p>Execution time = 10 seconds instead of 5 min (for 1000 iterations)</p>
`,filepath:"/home/laurent/Documents/Cours/ENSEEIHT/Projet-long/prez/slides.md",id:28,no:29},__clicksElements:[],__preloaded:!1}},{path:"30",name:"page-30",component:hqn,meta:{slide:{raw:`
## Generated images
<div class="grid grid-cols-4 col-auto h-110 m-auto">
<img src="/assets/im2.jpg" class="m-auto h-50"/>
<img src="/assets/im3.jpg" class="m-auto h-50"/>
<img src="/assets/im4.jpg" class="m-auto h-50"/>
<img src="/assets/im5.jpg" class="m-auto h-50"/>
<img src="/assets/im12.jpg" class="m-auto h-50"/>
<img src="/assets/im13.jpg" class="m-auto h-50"/>
<img src="/assets/im14.jpg" class="m-auto h-50"/>
<img src="/assets/im15.jpg" class="m-auto h-50"/>
</div>
<!--
Generated images of shiny half-spheres under 9 different lightings
4 different directions here + different intensities
500 by 500 pixels
As we know the intensities = verify that our algorithm works on generated data
-->
`,title:"Generated images",level:2,content:`## Generated images
<div class="grid grid-cols-4 col-auto h-110 m-auto">
<img src="/assets/im2.jpg" class="m-auto h-50"/>
<img src="/assets/im3.jpg" class="m-auto h-50"/>
<img src="/assets/im4.jpg" class="m-auto h-50"/>
<img src="/assets/im5.jpg" class="m-auto h-50"/>
<img src="/assets/im12.jpg" class="m-auto h-50"/>
<img src="/assets/im13.jpg" class="m-auto h-50"/>
<img src="/assets/im14.jpg" class="m-auto h-50"/>
<img src="/assets/im15.jpg" class="m-auto h-50"/>
</div>`,frontmatter:{},note:`Generated images of shiny half-spheres under 9 different lightings
4 different directions here + different intensities
500 by 500 pixels
As we know the intensities = verify that our algorithm works on generated data`,index:29,start:523,end:548,noteHTML:`<p>Generated images of shiny half-spheres under 9 different lightings</p>
<p>4 different directions here + different intensities</p>
<p>500 by 500 pixels</p>
<p>As we know the intensities = verify that our algorithm works on generated data</p>
`,filepath:"/home/laurent/Documents/Cours/ENSEEIHT/Projet-long/prez/slides.md",id:29,no:30},__clicksElements:[],__preloaded:!1}},{path:"31",name:"page-31",component:vqn,meta:{slide:{raw:`
## Results (1/2)
<div class="h-100 flex items-center">
<img src="/assets/residu_4.jpg" class="m-auto w-full"/>
<img src="/assets/residu2d_3.jpg" class="m-auto w-full"/>
</div>
<!--
Plot the residual as a function of 1 or 2 intensities
Show the existence of a minimum for the real value of the intensity
-->
`,title:"Results (1/2)",level:2,content:`## Results (1/2)
<div class="h-100 flex items-center">
<img src="/assets/residu_4.jpg" class="m-auto w-full"/>
<img src="/assets/residu2d_3.jpg" class="m-auto w-full"/>
</div>`,frontmatter:{},note:`Plot the residual as a function of 1 or 2 intensities
Show the existence of a minimum for the real value of the intensity`,index:30,start:549,end:563,noteHTML:`<p>Plot the residual as a function of 1 or 2 intensities</p>
<p>Show the existence of a minimum for the real value of the intensity</p>
`,filepath:"/home/laurent/Documents/Cours/ENSEEIHT/Projet-long/prez/slides.md",id:30,no:31},__clicksElements:[],__preloaded:!1}},{path:"32",name:"page-32",component:xqn,meta:{slide:{raw:`
## Results (2/2)
<div class="h-100 flex items-center">
<img src="/assets/resultats_finaux.jpg" class="m-auto h-110"/>
</div>
<!--
Fix intensity 1 and determine the 8 other intensities
Blue = real / Orange = found => convincing
-->
`,title:"Results (2/2)",level:2,content:`## Results (2/2)
<div class="h-100 flex items-center">
<img src="/assets/resultats_finaux.jpg" class="m-auto h-110"/>
</div>`,frontmatter:{},note:`Fix intensity 1 and determine the 8 other intensities
Blue = real / Orange = found => convincing`,index:31,start:564,end:577,noteHTML:`<p>Fix intensity 1 and determine the 8 other intensities</p>
<p>Blue = real / Orange = found =&gt; convincing</p>
`,filepath:"/home/laurent/Documents/Cours/ENSEEIHT/Projet-long/prez/slides.md",id:31,no:32},__clicksElements:[],__preloaded:!1}},{path:"33",name:"page-33",component:Cqn,meta:{slide:{raw:`
## Real images
<div class="h-full flex items-center">
<img src="/assets/raph/real_images.svg" class="m-auto h-full"/>
</div>
<!--
Real data : 1 tapestry of a comet + sculpture
12 different lightings for 1st / 17 for 2nd
Big size of the images = need to crop -> selection of the region in red (1000 by 1000 pixels)
No knowledge on the intensities = to be determined
-->
`,title:"Real images",level:2,content:`## Real images
<div class="h-full flex items-center">
<img src="/assets/raph/real_images.svg" class="m-auto h-full"/>
</div>`,frontmatter:{},note:`Real data : 1 tapestry of a comet + sculpture
12 different lightings for 1st / 17 for 2nd
Big size of the images = need to crop -> selection of the region in red (1000 by 1000 pixels)
No knowledge on the intensities = to be determined`,index:32,start:578,end:595,noteHTML:`<p>Real data : 1 tapestry of a comet + sculpture</p>
<p>12 different lightings for 1st / 17 for 2nd</p>
<p>Big size of the images = need to crop -&gt; selection of the region in red (1000 by 1000 pixels)</p>
<p>No knowledge on the intensities = to be determined</p>
`,filepath:"/home/laurent/Documents/Cours/ENSEEIHT/Projet-long/prez/slides.md",id:32,no:33},__clicksElements:[],__preloaded:!1}},{path:"34",name:"page-34",component:Dqn,meta:{slide:{raw:`
## Results
<div class="h-100 flex items-center">
<img src="/assets/comete.svg" class="m-auto w-full"/>
<img src="/assets/stsernin.svg" class="m-auto w-full"/>
</div>
<!--
Values are coherent with the lighting condictions we can observe on the images
-->`,title:"Results",level:2,content:`## Results
<div class="h-100 flex items-center">
<img src="/assets/comete.svg" class="m-auto w-full"/>
<img src="/assets/stsernin.svg" class="m-auto w-full"/>
</div>`,frontmatter:{},note:"Values are coherent with the lighting condictions we can observe on the images",index:33,start:596,end:607,noteHTML:`<p>Values are coherent with the lighting condictions we can observe on the images</p>
`,filepath:"/home/laurent/Documents/Cours/ENSEEIHT/Projet-long/prez/slides.md",id:33,no:34},__clicksElements:[],__preloaded:!1}},{path:"35",name:"page-35",component:jqn,meta:{slide:{raw:`
## Perspectives
3D reconstruction
<img src="/assets/3d_estimation.svg" class="m-auto w-full"/>
<!--
Main use = Photometric Stereo
TP => script to compute the surface normals of the object
Results are not very satisfactory (pringles != half-sphere) maybe a problem of coordinate system ?
To be improved in a future work...-->
`,title:"Perspectives",level:2,content:`## Perspectives
3D reconstruction
<img src="/assets/3d_estimation.svg" class="m-auto w-full"/>`,frontmatter:{},note:`Main use = Photometric Stereo
TP => script to compute the surface normals of the object
Results are not very satisfactory (pringles != half-sphere) maybe a problem of coordinate system ?
To be improved in a future work...`,index:34,start:608,end:624,noteHTML:`<p>Main use = Photometric Stereo</p>
<p>TP =&gt; script to compute the surface normals of the object</p>
<p>Results are not very satisfactory (pringles != half-sphere) maybe a problem of coordinate system ?</p>
<p>To be improved in a future work...</p>
`,filepath:"/home/laurent/Documents/Cours/ENSEEIHT/Projet-long/prez/slides.md",id:34,no:35},__clicksElements:[],__preloaded:!1}},{path:"36",name:"page-36",component:Vqn,meta:{slide:{raw:`
# Lighting direction estimation
<div class="h-100 flex items-center text-2xl">
- Estimation of lighting vector
- Neural Network
- Real data
- Generated data
- Results
- Perspectives
</div>
`,title:"Lighting direction estimation",level:1,content:`# Lighting direction estimation
<div class="h-100 flex items-center text-2xl">
- Estimation of lighting vector
- Neural Network
- Real data
- Generated data
- Results
- Perspectives
</div>`,frontmatter:{},index:35,start:625,end:639,noteHTML:"",filepath:"/home/laurent/Documents/Cours/ENSEEIHT/Projet-long/prez/slides.md",id:35,no:36},__clicksElements:[],__preloaded:!1}},{path:"37",name:"page-37",component:pUn,meta:{slide:{raw:`
## Estimation of lighting vector
<style>
.mermaid {
margin: auto;
width: 75%;
}
</style>
<div class="h-100 flex items-center">
\`\`\`mermaid
flowchart LR
id1[Bounding box of the sphere]
id2[Deduce the normals]
id3[Resolution of I = s * n]
id1 --> id2
id2 --> id3
\`\`\`
</div>
`,title:"Estimation of lighting vector",level:2,content:`## Estimation of lighting vector
<style>
.mermaid {
margin: auto;
width: 75%;
}
</style>
<div class="h-100 flex items-center">
\`\`\`mermaid
flowchart LR
id1[Bounding box of the sphere]
id2[Deduce the normals]
id3[Resolution of I = s * n]
id1 --> id2
id2 --> id3
\`\`\`
</div>`,frontmatter:{},index:36,start:640,end:664,noteHTML:"",filepath:"/home/laurent/Documents/Cours/ENSEEIHT/Projet-long/prez/slides.md",id:36,no:37},__clicksElements:[],__preloaded:!1}},{path:"38",name:"page-38",component:yUn,meta:{slide:{raw:`
## Neural Network
<div class="h-100 flex items-center">
<img src="/assets/raph/neural_network.svg" class="m-auto w-full"/>
</div>
`,title:"Neural Network",level:2,content:`## Neural Network
<div class="h-100 flex items-center">
<img src="/assets/raph/neural_network.svg" class="m-auto w-full"/>
</div>`,frontmatter:{},index:37,start:665,end:672,noteHTML:"",filepath:"/home/laurent/Documents/Cours/ENSEEIHT/Projet-long/prez/slides.md",id:37,no:38},__clicksElements:[],__preloaded:!1}},{path:"39",name:"page-39",component:EUn,meta:{slide:{raw:`
## ResNet-50
<img src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/resnet_architecture.png" class="m-auto h-full"/>
`,title:"ResNet-50",level:2,content:`## ResNet-50
<img src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/resnet_architecture.png" class="m-auto h-full"/>`,frontmatter:{},index:38,start:673,end:678,noteHTML:"",filepath:"/home/laurent/Documents/Cours/ENSEEIHT/Projet-long/prez/slides.md",id:38,no:39},__clicksElements:[],__preloaded:!1}},{path:"40",name:"page-40",component:MUn,meta:{slide:{raw:`
## Real data : creation of mask
<img src="/assets/raph/mask_crea.svg" class="m-auto h-full"/>
`,title:"Real data : creation of mask",level:2,content:`## Real data : creation of mask
<img src="/assets/raph/mask_crea.svg" class="m-auto h-full"/>`,frontmatter:{},index:39,start:679,end:684,noteHTML:"",filepath:"/home/laurent/Documents/Cours/ENSEEIHT/Projet-long/prez/slides.md",id:39,no:40},__clicksElements:[],__preloaded:!1}},{path:"41",name:"page-41",component:BUn,meta:{slide:{raw:`
## Generated data with blender
<style>
table, td, th, tr {
  border: none !important;
border-collapse: collapse !important;
border-style: none !important;
background-color: unset !important;
overflow: hidden;
margin: auto;
text-align: center;
}
</style>
<table>
<tr>
<td>Simulated matte spheres</td>
<td><img src="/assets/raph/matte_ball_3.png" class="m-auto h-50"></td>
<td><img src="/assets/raph/matte_ball.png" class="m-auto h-50"></td>
</tr>
<tr>
<td>Generated data with different lightings</td>
<td><img src="/assets/raph/auto_82.png" class="m-auto h-50"></td>
<td><img src="/assets/raph/auto_91.png" class="m-auto h-50"></td>
</tr>
</table>
`,title:"Generated data with blender",level:2,content:`## Generated data with blender
<style>
table, td, th, tr {
  border: none !important;
border-collapse: collapse !important;
border-style: none !important;
background-color: unset !important;
overflow: hidden;
margin: auto;
text-align: center;
}
</style>
<table>
<tr>
<td>Simulated matte spheres</td>
<td><img src="/assets/raph/matte_ball_3.png" class="m-auto h-50"></td>
<td><img src="/assets/raph/matte_ball.png" class="m-auto h-50"></td>
</tr>
<tr>
<td>Generated data with different lightings</td>
<td><img src="/assets/raph/auto_82.png" class="m-auto h-50"></td>
<td><img src="/assets/raph/auto_91.png" class="m-auto h-50"></td>
</tr>
</table>`,frontmatter:{},index:40,start:685,end:713,noteHTML:"",filepath:"/home/laurent/Documents/Cours/ENSEEIHT/Projet-long/prez/slides.md",id:40,no:41},__clicksElements:[],__preloaded:!1}},{path:"42",name:"page-42",component:zUn,meta:{slide:{raw:`
## Results
<img src="/assets/raph/results.png" class="m-auto h-full"/>
`,title:"Results",level:2,content:`## Results
<img src="/assets/raph/results.png" class="m-auto h-full"/>`,frontmatter:{},index:41,start:714,end:719,noteHTML:"",filepath:"/home/laurent/Documents/Cours/ENSEEIHT/Projet-long/prez/slides.md",id:41,no:42},__clicksElements:[],__preloaded:!1}},{path:"43",name:"page-43",component:GUn,meta:{slide:{raw:`
## Perspectives
<div class="h-100 flex items-center">
<span>
- Create more data to prevent overfitting
- Diversify the types of data lighting (more than 8 directions)
- Transform the model into something more general: \\
$\\rightarrow$ from {image of sphere, vector lighting} to {image of objects, vector lighting}
</span>
</div>`,title:"Perspectives",level:2,content:`## Perspectives
<div class="h-100 flex items-center">
<span>
- Create more data to prevent overfitting
- Diversify the types of data lighting (more than 8 directions)
- Transform the model into something more general: \\
$\\rightarrow$ from {image of sphere, vector lighting} to {image of objects, vector lighting}
</span>
</div>`,frontmatter:{},index:42,start:720,end:733,noteHTML:"",filepath:"/home/laurent/Documents/Cours/ENSEEIHT/Projet-long/prez/slides.md",id:42,no:43},__clicksElements:[],__preloaded:!1}},{path:"44",component:JFn,meta:{layout:"end"}}],r0=WUn,BX=[{name:"play",path:"/",component:xBn,children:[...r0]},{name:"print",path:"/print",component:XFn},{path:"",redirect:{path:"/1"}},{path:"/:pathMatch(.*)",redirect:{path:"/1"}}];{let g=function(w){if(!RX.remote||RX.remote===w.query.password)return!0;if(RX.remote&&w.query.password===void 0){const T=prompt("Enter password");if(RX.remote===T)return!0}return w.params.no?{path:`/${w.params.no}`}:{path:""}};BX.push({path:"/presenter/print",component:()=>ZT(()=>import("./PresenterPrint-6f55d36f.js"),["assets/PresenterPrint-6f55d36f.js","assets/NoteDisplay-39559114.js"])}),BX.push({name:"notes",path:"/notes",component:()=>ZT(()=>import("./NotesView-a986f3e2.js"),["assets/NotesView-a986f3e2.js","assets/NoteDisplay-39559114.js"]),beforeEnter:g}),BX.push({name:"presenter",path:"/presenter/:no",component:()=>ZT(()=>import("./Presenter-2516abd1.js"),["assets/Presenter-2516abd1.js","assets/NoteDisplay-39559114.js","assets/DrawingControls-f024b6c9.js","assets/Presenter-bfcdcc16.css"]),beforeEnter:g}),BX.push({path:"/presenter",redirect:{path:"/presenter/1"}})}const Fb=UDn({history:qOn("/projet-long/"),routes:BX});function KUn(g,w,{mode:T="replace"}={}){return Fr({get(){const D=Fb.currentRoute.value.query[g];return D==null?w??null:Array.isArray(D)?D.filter(Boolean):D},set(D){vp(()=>{Fb[Hn(T)]({query:{...Fb.currentRoute.value.query,[g]:D}})})}})}const YAt=Is(0);vp(()=>{Fb.afterEach(async()=>{await vp(),YAt.value+=1})});const XAt=Is(0),m3=Fr(()=>Fb.currentRoute.value),CF=Fr(()=>m3.value.query.print!==void 0),YUn=Fr(()=>m3.value.query.print==="clicks"),z8=Fr(()=>m3.value.query.embedded!==void 0),Rb=Fr(()=>m3.value.path.startsWith("/presenter")),XUn=Fr(()=>m3.value.path.startsWith("/notes")),qX=Fr(()=>CF.value&&!YUn.value),zRe=Fr(()=>m3.value.query.password),QUn=Fr(()=>!Rb.value&&(!gu.remote||zRe.value===gu.remote)),WTt=KUn("clicks","0"),QAt=Fr(()=>r0.length-1),ZUn=Fr(()=>m3.value.path),Qd=Fr(()=>parseInt(ZUn.value.split(/\//g).slice(-1)[0])||1);Fr(()=>sve(Qd.value));const sv=Fr(()=>r0.find(g=>g.path===`${Qd.value}`));Fr(()=>{var g,w,T;return(T=(w=(g=sv.value)==null?void 0:g.meta)==null?void 0:w.slide)==null?void 0:T.id});Fr(()=>{var g,w;return((w=(g=sv.value)==null?void 0:g.meta)==null?void 0:w.layout)||(Qd.value===1?"cover":"default")});const YNe=Fr(()=>r0.find(g=>g.path===`${Math.min(r0.length,Qd.value+1)}`)),JUn=Fr(()=>r0.find(g=>g.path===`${Math.max(1,Qd.value-1)}`)),eGn=Fr(()=>{var g,w;return YAt.value,((w=(g=sv.value)==null?void 0:g.meta)==null?void 0:w.__clicksElements)||[]}),d3=Fr({get(){if(qX.value)return 99999;let g=+(WTt.value||0);return isNaN(g)&&(g=0),g},set(g){WTt.value=g.toString()}}),Bme=Fr(()=>{var g,w;return+(((w=(g=sv.value)==null?void 0:g.meta)==null?void 0:w.clicks)??eGn.value.length)}),tGn=Fr(()=>Qd.value<r0.length-1||d3.value<Bme.value),nGn=Fr(()=>Qd.value>1||d3.value>0),rGn=Fr(()=>r0.filter(g=>{var w,T;return(T=(w=g.meta)==null?void 0:w.slide)==null?void 0:T.title}).reduce((g,w)=>(HBe(g,w),g),[])),iGn=Fr(()=>zBe(rGn.value,sv.value));Fr(()=>VBe(iGn.value));const sGn=Fr(()=>uGn(XAt.value,sv.value,JUn.value));jc(sv,(g,w)=>{XAt.value=Number(g==null?void 0:g.path)-Number(w==null?void 0:w.path)});function JT(){Bme.value<=d3.value?lQ():d3.value+=1}async function eS(){d3.value<=0?await uQ():d3.value-=1}function sve(g){return Rb.value?`/presenter/${g}`:`/${g}`}function lQ(){const g=Math.min(r0.length,Qd.value+1);return AF(g)}async function uQ(g=!0){const w=Math.max(1,Qd.value-1);await AF(w),g&&Bme.value&&Fb.replace({query:{...m3.value.query,clicks:Bme.value}})}function AF(g,w){return Fb.push({path:sve(g),query:{...m3.value.query,clicks:w}})}function aGn(g){const w=Is(0),{direction:T,distanceX:D,distanceY:H}=cOn(g,{onSwipeStart(U){U.pointerType==="touch"&&(aQ.value||(w.value=CRe()))},onSwipeEnd(U){if(U.pointerType!=="touch"||!w.value||aQ.value)return;const Q=Math.abs(D.value),ie=Math.a