Home
last modified time | relevance | path

Searched refs:y2 (Results 1 – 25 of 201) sorted by last modified time

123456789

/plugin/mermaid/
H A Dmermaid.min.js6 `)),b+=F+g[S+1]}),b}var Z0=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function e9(i){return i&&i.__esModule&&Object.prototype.hasOwnProperty.call(i,"default")?i.default:i}var yOt={exports:{}};(function(i,a){(function(f,g){i.exports=g()})(Z0,function(){var f=1e3,g=6e4,w=36e5,v="millisecond",b="second",E="minute",S="hour",_="day",M="week",F="month",R="quarter",B="year",z="date",Y="Invalid Date",nt=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,ot=/\[([^\]]+)]|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,ft={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(V){var Ot=["th","st","nd","rd"],It=V%100;return"["+V+(Ot[(It-20)%10]||Ot[It]||Ot[0])+"]"}},wt=function(V,Ot,It){var jt=String(V);return!jt||jt.length>=Ot?V:""+Array(Ot+1-jt.length).join(It)+V},mt={s:wt,z:function(V){var Ot=-V.utcOffset(),It=Math.abs(Ot),jt=Math.floor(It/60),xt=It%60;return(Ot<=0?"+":"-")+wt(jt,2,"0")+":"+wt(xt,2,"0")},m:function V(Ot,It){if(Ot.date()<It.date())return-V(It,Ot);var jt=12*(It.year()-Ot.year())+(It.month()-Ot.month()),xt=Ot.clone().add(jt,F),Ft=It-xt<0,Ct=Ot.clone().add(jt+(Ft?-1:1),F);return+(-(jt+(It-xt)/(Ft?xt-Ct:Ct-xt))||0)},a:function(V){return V<0?Math.ceil(V)||0:Math.floor(V)},p:function(V){return{M:F,y:B,w:M,d:_,D:z,h:S,m:E,s:b,ms:v,Q:R}[V]||String(V||"").toLowerCase().replace(/s$/,"")},u:function(V){return V===void 0}},ct="en",rt={};rt[ct]=ft;var it=function(V){return V instanceof K},gt=function V(Ot,It,jt){var xt;if(!Ot)return ct;if(typeof Ot=="string"){var Ft=Ot.toLowerCase();rt[Ft]&&(xt=Ft),It&&(rt[Ft]=It,xt=Ft);var Ct=Ot.split("-");if(!xt&&Ct.length>1)return V(Ct[0])}else{var kt=Ot.name;rt[kt]=Ot,xt=kt}return!jt&&xt&&(ct=xt),xt||!jt&&ct},Q=function(V,Ot){if(it(V))return V.clone();var It=typeof Ot=="object"?Ot:{};return It.date=V,It.args=arguments,new K(It)},dt=mt;dt.l=gt,dt.i=it,dt.w=function(V,Ot){return Q(V,{locale:Ot.$L,utc:Ot.$u,x:Ot.$x,$offset:Ot.$offset})};var K=function(){function V(It){this.$L=gt(It.locale,null,!0),this.parse(It)}var Ot=V.prototype;return Ot.parse=function(It){this.$d=function(jt){var xt=jt.date,Ft=jt.utc;if(xt===null)return new Date(NaN);if(dt.u(xt))return new Date;if(xt instanceof Date)return new Date(xt);if(typeof xt=="string"&&!/Z$/i.test(xt)){var Ct=xt.match(nt);if(Ct){var kt=Ct[2]-1||0,Gt=(Ct[7]||"0").substring(0,3);return Ft?new Date(Date.UTC(Ct[1],kt,Ct[3]||1,Ct[4]||0,Ct[5]||0,Ct[6]||0,Gt)):new Date(Ct[1],kt,Ct[3]||1,Ct[4]||0,Ct[5]||0,Ct[6]||0,Gt)}}return new Date(xt)}(It),this.$x=It.x||{},this.init()},Ot.init=function(){var It=this.$d;this.$y=It.getFullYear(),this.$M=It.getMonth(),this.$D=It.getDate(),this.$W=It.getDay(),this.$H=It.getHours(),this.$m=It.getMinutes(),this.$s=It.getSeconds(),this.$ms=It.getMilliseconds()},Ot.$utils=function(){return dt},Ot.isValid=function(){return this.$d.toString()!==Y},Ot.isSame=function(It,jt){var xt=Q(It);return this.startOf(jt)<=xt&&xt<=this.endOf(jt)},Ot.isAfter=function(It,jt){return Q(It)<this.startOf(jt)},Ot.isBefore=function(It,jt){return this.endOf(jt)<Q(It)},Ot.$g=function(It,jt,xt){return dt.u(It)?this[jt]:this.set(xt,It)},Ot.unix=function(){return Math.floor(this.valueOf()/1e3)},Ot.valueOf=function(){return this.$d.getTime()},Ot.startOf=function(It,jt){var xt=this,Ft=!!dt.u(jt)||jt,Ct=dt.p(It),kt=function(sn,be){var Ne=dt.w(xt.$u?Date.UTC(xt.$y,be,sn):new Date(xt.$y,be,sn),xt);return Ft?Ne:Ne.endOf(_)},Gt=function(sn,be){return dt.w(xt.toDate()[sn].apply(xt.toDate("s"),(Ft?[0,0,0,0]:[23,59,59,999]).slice(be)),xt)},Fe=this.$W,Mt=this.$M,pn=this.$D,Ae="set"+(this.$u?"UTC":"");switch(Ct){case B:return Ft?kt(1,0):kt(31,11);case F:return Ft?kt(1,Mt):kt(0,Mt+1);case M:var ye=this.$locale().weekStart||0,tn=(Fe<ye?Fe+7:Fe)-ye;return kt(Ft?pn-tn:pn+(6-tn),Mt);case _:case z:return Gt(Ae+"Hours",0);case S:return Gt(Ae+"Minutes",1);case E:return Gt(Ae+"Seconds",2);case b:return Gt(Ae+"Milliseconds",3);default:return this.clone()}},Ot.endOf=function(It){return this.startOf(It,!1)},Ot.$set=function(It,jt){var xt,Ft=dt.p(It),Ct="set"+(this.$u?"UTC":""),kt=(xt={},xt[_]=Ct+"Date",xt[z]=Ct+"Date",xt[F]=Ct+"Month",xt[B]=Ct+"FullYear",xt[S]=Ct+"Hours",xt[E]=Ct+"Minutes",xt[b]=Ct+"Seconds",xt[v]=Ct+"Milliseconds",xt)[Ft],Gt=Ft===_?this.$D+(jt-this.$W):jt;if(Ft===F||Ft===B){var Fe=this.clone().set(z,1);Fe.$d[kt](Gt),Fe.init(),this.$d=Fe.set(z,Math.min(this.$D,Fe.daysInMonth())).$d}else kt&&this.$d[kt](Gt);return this.init(),this},Ot.set=function(It,jt){return this.clone().$set(It,jt)},Ot.get=function(It){return this[dt.p(It)]()},Ot.add=function(It,jt){var xt,Ft=this;It=Number(It);var Ct=dt.p(jt),kt=function(Mt){var pn=Q(Ft);return dt.w(pn.date(pn.date()+Math.round(Mt*It)),Ft)};if(Ct===F)return this.set(F,this.$M+It);if(Ct===B)return this.set(B,this.$y+It);if(Ct===_)return kt(1);if(Ct===M)return kt(7);var Gt=(xt={},xt[E]=g,xt[S]=w,xt[b]=f,xt)[Ct]||1,Fe=this.$d.getTime()+It*Gt;return dt.w(Fe,this)},Ot.subtract=function(It,jt){return this.add(-1*It,jt)},Ot.format=function(It){var jt=this,xt=this.$locale();if(!this.isValid())return xt.invalidDate||Y;var Ft=It||"YYYY-MM-DDTHH:mm:ssZ",Ct=dt.z(this),kt=this.$H,Gt=this.$m,Fe=this.$M,Mt=xt.weekdays,pn=xt.months,Ae=function(be,Ne,Xt,_e){return be&&(be[Ne]||be(jt,Ft))||Xt[Ne].slice(0,_e)},ye=function(be){return dt.s(kt%12||12,be,"0")},tn=xt.meridiem||function(be,Ne,Xt){var _e=be<12?"AM":"PM";return Xt?_e.toLowerCase():_e},sn={YY:String(this.$y).slice(-2),YYYY:this.$y,M:Fe+1,MM:dt.s(Fe+1,2,"0"),MMM:Ae(xt.monthsShort,Fe,pn,3),MMMM:Ae(pn,Fe),D:this.$D,DD:dt.s(this.$D,2,"0"),d:String(this.$W),dd:Ae(xt.weekdaysMin,this.$W,Mt,2),ddd:Ae(xt.weekdaysShort,this.$W,Mt,3),dddd:Mt[this.$W],H:String(kt),HH:dt.s(kt,2,"0"),h:ye(1),hh:ye(2),a:tn(kt,Gt,!0),A:tn(kt,Gt,!1),m:String(Gt),mm:dt.s(Gt,2,"0"),s:String(this.$s),ss:dt.s(this.$s,2,"0"),SSS:dt.s(this.$ms,3,"0"),Z:Ct};return Ft.replace(ot,function(be,Ne){return Ne||sn[be]||Ct.replace(":","")})},Ot.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},Ot.diff=function(It,jt,xt){var Ft,Ct=dt.p(jt),kt=Q(It),Gt=(kt.utcOffset()-this.utcOffset())*g,Fe=this-kt,Mt=dt.m(this,kt);return Mt=(Ft={},Ft[B]=Mt/12,Ft[F]=Mt,Ft[R]=Mt/3,Ft[M]=(Fe-Gt)/6048e5,Ft[_]=(Fe-Gt)/864e5,Ft[S]=Fe/w,Ft[E]=Fe/g,Ft[b]=Fe/f,Ft)[Ct]||Fe,xt?Mt:dt.a(Mt)},Ot.daysInMonth=function(){return this.endOf(F).$D},Ot.$locale=function(){return rt[this.$L]},Ot.locale=function(It,jt){if(!It)return this.$L;var xt=this.clone(),Ft=gt(It,jt,!0);return Ft&&(xt.$L=Ft),xt},Ot.clone=function(){return dt.w(this.$d,this)},Ot.toDate=function(){return new Date(this.valueOf())},Ot.toJSON=function(){return this.isValid()?this.toISOString():null},Ot.toISOString=function(){return this.$d.toISOString()},Ot.toString=function(){return this.$d.toUTCString()},V}(),yt=K.prototype;return Q.prototype=yt,[["$ms",v],["$s",b],["$m",E],["$H",S],["$W",_],["$M",F],["$y",B],["$D",z]].forEach(function(V){yt[V[1]]=function(Ot){return this.$g(Ot,V[0],V[1])}}),Q.extend=function(V,Ot){return V.$i||(V(Ot,K,Q),V.$i=!0),Q},Q.locale=gt,Q.isDayjs=it,Q.unix=function(V){return Q(1e3*V)},Q.en=rt[ct],Q.Ls=rt,Q.p={},Q})})(yOt);var g9e=yOt.exports;const tg=e9(g9e),yx={trace:0,debug:1,info:2,warn:3,error:4,fatal:5},Kt={trace:(...i)=>{},debug:(...i)=>{},info:(...i)=>{},warn:(...i)=>{},error:(...i)=>{},fatal:(...i)=>{}},d0t=function(i="fatal"){let a=yx.fatal;typeof i=="string"?(i=i.toLowerCase(),i in yx&&(a=yx[i])):typeof i=="number"&&(a=i),Kt.trace=()=>{},Kt.debug=()=>{},Kt.info=()=>{},Kt.warn=()=>{},Kt.error=()=>{},Kt.fatal=()=>{},a<=yx.fatal&&(Kt.fatal=console.error?console.error.bind(console,Gw("FATAL"),"color: orange"):console.log.bind(console,"\x1B[35m",Gw("FATAL"))),a<=yx.error&&(Kt.error=console.error?console.error.bind(console,Gw("ERROR"),"color: orange"):console.log.bind(console,"\x1B[31m",Gw("ERROR"))),a<=yx.warn&&(Kt.warn=console.warn?console.warn.bind(console,Gw("WARN"),"color: orange"):console.log.bind(console,"\x1B[33m",Gw("WARN"))),a<=yx.info&&(Kt.info=console.info?console.info.bind(console,Gw("INFO"),"color: lightblue"):console.log.bind(console,"\x1B[34m",Gw("INFO"))),a<=yx.debug&&(Kt.debug=console.debug?console.debug.bind(console,Gw("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",Gw("DEBUG"))),a<=yx.trace&&(Kt.trace=console.debug?console.debug.bind(console,Gw("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",Gw("TRACE")))},Gw=i=>`%c${tg().format("ss.SSS")} : ${i} : `;var g0t={};Object.defineProperty(g0t,"__esModule",{value:!0});var h8=g0t.sanitizeUrl=void 0,p9e=/^([^\w]*)(javascript|data|vbscript)/im,b9e=/&#(\w+)(^\w|;)?/g,w9e=/&(newline|tab);/gi,m9e=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim,v9e=/^.+(:|&colon;)/gim,y9e=[".","/"];function x9e(i){return y9e.indexOf(i[0])>-1}function k9e(i){return i.replace(b9e,function(a,f){return String.fromCharCode(f)})}function E9e(i){var a=k9e(i||"").replace(w9e,"").replace(m9e,"").trim();if(!a)return"about:blank";if(x9e(a))return a;var f=a.match(v9e);if(!f)return a;var g=f[0];return p9e.test(g)?"about:blank":a}h8=g0t.sanitizeUrl=E9e;function nW(i,a){return i==null||a==null?NaN:i<a?-1:i>a?1:i>=a?0:NaN}function T9e(i,a){return i==null||a==null?NaN:a<i?-1:a>i?1:a>=i?0:NaN}function p0t(i){let a,f,g;i.length!==2?(a=nW,f=(E,S)=>nW(i(E),S),g=(E,S)=>i(E)-S):(a=i===nW||i===T9e?i:C9e,f=i,g=i);function w(E,S,_=0,M=E.length){if(_<M){if(a(S,S)!==0)return M;do{const F=_+M>>>1;f(E[F],S)<0?_=F+1:M=F}while(_<M)}return _}function v(E,S,_=0,M=E.length){if(_<M){if(a(S,S)!==0)return M;do{const F=_+M>>>1;f(E[F],S)<=0?_=F+1:M=F}while(_<M)}return _}function b(E,S,_=0,M=E.length){const F=w(E,S,_,M-1);return F>_&&g(E[F-1],S)>-g(E[F],S)?F-1:F}return{left:w,center:b,right:v}}function C9e(){return 0}function S9e(i){return i===null?NaN:+i}const _9e=p0t(nW).right;p0t(S9e).center;const A9e=_9e;class xOt extends Map{constructor(a,f=M9e){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:f}}),a!=null)for(const[g,w]of a)this.set(g,w)}get(a){return super.get(kOt(this,a))}has(a){return super.has(kOt(this,a))}set(a,f){return super.set(L9e(this,a),f)}delete(a){return super.delete(D9e(this,a))}}function kOt({_intern:i,_key:a},f){const g=a(f);return i.has(g)?i.get(g):f}function L9e({_intern:i,_key:a},f){const g=a(f);return i.has(g)?i.get(g):(i.set(g,f),f)}function D9e({_intern:i,_key:a},f){const g=a(f);return i.has(g)&&(f=i.get(g),i.delete(g)),f}function M9e(i){return i!==null&&typeof i=="object"?i.valueOf():i}const I9e=Math.sqrt(50),O9e=Math.sqrt(10),N9e=Math.sqrt(2);function rW(i,a,f){const g=(a-i)/Math.max(0,f),w=Math.floor(Math.log10(g)),v=g/Math.pow(10,w),b=v>=I9e?10:v>=O9e?5:v>=N9e?2:1;let E,S,_;return w<0?(_=Math.pow(10,-w)/b,E=Math.round(i*_),S=Math.round(a*_),E/_<i&&++E,S/_>a&&--S,_=-_):(_=Math.pow(10,w)*b,E=Math.round(i/_),S=Math.round(a/_),E*_<i&&++E,S*_>a&&--S),S<E&&.5<=f&&f<2?rW(i,a,f*2):[E,S,_]}function P9e(i,a,f){if(a=+a,i=+i,f=+f,!(f>0))return[];if(i===a)return[i];const g=a<i,[w,v,b]=g?rW(a,i,f):rW(i,a,f);if(!(v>=w))return[];const E=v-w+1,S=new Array(E);if(g)if(b<0)for(let _=0;_<E;++_)S[_]=(v-_)/-b;else for(let _=0;_<E;++_)S[_]=(v-_)*b;else if(b<0)for(let _=0;_<E;++_)S[_]=(w+_)/-b;else for(let _=0;_<E;++_)S[_]=(w+_)*b;return S}function b0t(i,a,f){return a=+a,i=+i,f=+f,rW(i,a,f)[2]}function w0t(i,a,f){a=+a,i=+i,f=+f;const g=a<i,w=g?b0t(a,i,f):b0t(i,a,f);return(g?-1:1)*(w<0?1/-w:w)}function F9e(i,a){let f;if(a===void 0)for(const g of i)g!=null&&(f<g||f===void 0&&g>=g)&&(f=g);else{let g=-1;for(let w of i)(w=a(w,++g,i))!=null&&(f<w||f===void 0&&w>=w)&&(f=w)}return f}function B9e(i,a){let f;if(a===void 0)for(const g of i)g!=null&&(f>g||f===void 0&&g>=g)&&(f=g);else{let g=-1;for(let w of i)(w=a(w,++g,i))!=null&&(f>w||f===void 0&&w>=w)&&(f=w)}return f}function R9e(i,a,f){i=+i,a=+a,f=(w=arguments.length)<2?(a=i,i=0,1):w<3?1:+f;for(var g=-1,w=Math.max(0,Math.ceil((a-i)/f))|0,v=new Array(w);++g<w;)v[g]=i+g*f;return v}function j9e(i){return i}var iW=1,m0t=2,v0t=3,sW=4,EOt=1e-6;function $9e(i){return"translate("+i+",0)"}function z9e(i){return"translate(0,"+i+")"}function q9e(i){return a=>+i(a)}function H9e(i,a){return a=Math.max(0,i.bandwidth()-a*2)/2,i.round()&&(a=Math.round(a)),f=>+i(f)+a}function V9e(){return!this.__axis}function TOt(i,a){var f=[],g=null,w=null,v=6,b=6,E=3,S=typeof window<"u"&&window.devicePixelRatio>1?0:.5,_=i===iW||i===sW?-1:1,M=i===sW||i===m0t?"x":"y",F=i===iW||i===v0t?$9e:z9e;function R(B){var z=g??(a.ticks?a.ticks.apply(a,f):a.domain()),Y=w??(a.tickFormat?a.tickFormat.apply(a,f):j9e),nt=Math.max(v,0)+E,ot=a.range(),ft=+ot[0]+S,wt=+ot[ot.length-1]+S,mt=(a.bandwidth?H9e:q9e)(a.copy(),S),ct=B.selection?B.selection():B,rt=ct.selectAll(".domain").data([null]),it=ct.selectAll(".tick").data(z,a).order(),gt=it.exit(),Q=it.enter().append("g").attr("class","tick"),dt=it.select("line"),K=it.select("text");rt=rt.merge(rt.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),it=it.merge(Q),dt=dt.merge(Q.append("line").attr("stroke","currentColor").attr(M+"2",_*v)),K=K.merge(Q.append("text").attr("fill","currentColor").attr(M,_*nt).attr("dy",i===iW?"0em":i===v0t?"0.71em":"0.32em")),B!==ct&&(rt=rt.transition(B),it=it.transition(B),dt=dt.transition(B),K=K.transition(B),gt=gt.transition(B).attr("opacity",EOt).attr("transform",function(yt){return isFinite(yt=mt(yt))?F(yt+S):this.getAttribute("transform")}),Q.attr("opacity",EOt).attr("transform",function(yt){var V=this.parentNode.__axis;return F((V&&isFinite(V=V(yt))?V:mt(yt))+S)})),gt.remove(),rt.attr("d",i===sW||i===m0t?b?"M"+_*b+","+ft+"H"+S+"V"+wt+"H"+_*b:"M"+S+","+ft+"V"+wt:b?"M"+ft+","+_*b+"V"+S+"H"+wt+"V"+_*b:"M"+ft+","+S+"H"+wt),it.attr("opacity",1).attr("transform",function(yt){return F(mt(yt)+S)}),dt.attr(M+"2",_*v),K.attr(M,_*nt).text(Y),ct.filter(V9e).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",i===m0t?"start":i===sW?"end":"middle"),ct.each(function(){this.__axis=mt})}return R.scale=function(B){return arguments.length?(a=B,R):a},R.ticks=function(){return f=Array.from(arguments),R},R.tickArguments=function(B){return arguments.length?(f=B==null?[]:Array.from(B),R):f.slice()},R.tickValues=function(B){return arguments.length?(g=B==null?null:Array.from(B),R):g&&g.slice()},R.tickFormat=function(B){return arguments.length?(w=B,R):w},R.tickSize=function(B){return arguments.length?(v=b=+B,R):v},R.tickSizeInner=function(B){return arguments.length?(v=+B,R):v},R.tickSizeOuter=function(B){return arguments.length?(b=+B,R):b},R.tickPadding=function(B){return arguments.length?(E=+B,R):E},R.offset=function(B){return arguments.length?(S=+B,R):S},R}function U9e(i){return TOt(iW,i)}function G9e(i){return TOt(v0t,i)}var K9e={value:()=>{}};function COt(){for(var i=0,a=arguments.length,f={},g;i<a;++i){if(!(g=arguments[i]+"")||g in f||/[\s.]/.test(g))throw new Error("illegal type: "+g);f[g]=[]}return new aW(f)}function aW(i){this._=i}function W9e(i,a){return i.trim().split(/^|\s+/).map(function(f){var g="",w=f.indexOf(".");if(w>=0&&(g=f.slice(w+1),f=f.slice(0,w)),f&&!a.hasOwnProperty(f))throw new Error("unknown type: "+f);return{type:f,name:g}})}aW.prototype=COt.prototype={constructor:aW,on:function(i,a){var f=this._,g=W9e(i+"",f),w,v=-1,b=g.length;if(arguments.length<2){for(;++v<b;)if((w=(i=g[v]).type)&&(w=Y9e(f[w],i.name)))return w;return}if(a!=null&&typeof a!="function")throw new Error("invalid callback: "+a);for(;++v<b;)if(w=(i=g[v]).type)f[w]=SOt(f[w],i.name,a);else if(a==null)for(w in f)f[w]=SOt(f[w],i.name,null);return this},copy:function(){var i={},a=this._;for(var f in a)i[f]=a[f].slice();return new aW(i)},call:function(i,a){if((w=arguments.length-2)>0)for(var f=new Array(w),g=0,w,v;g<w;++g)f[g]=arguments[g+2];if(!this._.hasOwnProperty(i))throw new Error("unknown type: "+i);for(v=this._[i],g=0,w=v.length;g<w;++g)v[g].value.apply(a,f)},apply:function(i,a,f){if(!this._.hasOwnProperty(i))throw new Error("unknown type: "+i);for(var g=this._[i],w=0,v=g.length;w<v;++w)g[w].value.apply(a,f)}};function Y9e(i,a){for(var f=0,g=i.length,w;f<g;++f)if((w=i[f]).name===a)return w.value}function SOt(i,a,f){for(var g=0,w=i.length;g<w;++g)if(i[g].name===a){i[g]=K9e,i=i.slice(0,g).concat(i.slice(g+1));break}return f!=null&&i.push({name:a,value:f}),i}var y0t="http://www.w3.org/1999/xhtml";const _Ot={svg:"http://www.w3.org/2000/svg",xhtml:y0t,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function oW(i){var a=i+="",f=a.indexOf(":");return f>=0&&(a=i.slice(0,f))!=="xmlns"&&(i=i.slice(f+1)),_Ot.hasOwnProperty(a)?{space:_Ot[a],local:i}:i}function X9e(i){return function(){var a=this.ownerDocument,f=this.namespaceURI;return f===y0t&&a.documentElement.namespaceURI===y0t?a.createElement(i):a.createElementNS(f,i)}}function Q9e(i){return function(){return this.ownerDocument.createElementNS(i.space,i.local)}}function AOt(i){var a=oW(i);return(a.local?Q9e:X9e)(a)}function J9e(){}function x0t(i){return i==null?J9e:function(){return this.querySelector(i)}}function Z9e(i){typeof i!="function"&&(i=x0t(i));for(var a=this._groups,f=a.length,g=new Array(f),w=0;w<f;++w)for(var v=a[w],b=v.length,E=g[w]=new Array(b),S,_,M=0;M<b;++M)(S=v[M])&&(_=i.call(S,S.__data__,M,v))&&("__data__"in S&&(_.__data__=S.__data__),E[M]=_);return new Gg(g,this._parents)}function LOt(i){return i==null?[]:Array.isArray(i)?i:Array.from(i)}function tCe(){return[]}function DOt(i){return i==null?tCe:function(){return this.querySelectorAll(i)}}function eCe(i){return function(){return LOt(i.apply(this,arguments))}}function nCe(i){typeof i=="function"?i=eCe(i):i=DOt(i);for(var a=this._groups,f=a.length,g=[],w=[],v=0;v<f;++v)for(var b=a[v],E=b.length,S,_=0;_<E;++_)(S=b[_])&&(g.push(i.call(S,S.__data__,_,b)),w.push(S));return new Gg(g,w)}function MOt(i){return function(){return this.matches(i)}}function IOt(i){return function(a){return a.matches(i)}}var rCe=Array.prototype.find;function iCe(i){return function(){return rCe.call(this.children,i)}}function sCe(){return this.firstElementChild}function aCe(i){return this.select(i==null?sCe:iCe(typeof i=="function"?i:IOt(i)))}var oCe=Array.prototype.filter;function cCe(){return Array.from(this.children)}function uCe(i){return function(){return oCe.call(this.children,i)}}function lCe(i){return this.selectAll(i==null?cCe:uCe(typeof i=="function"?i:IOt(i)))}function hCe(i){typeof i!="function"&&(i=MOt(i));for(var a=this._groups,f=a.length,g=new Array(f),w=0;w<f;++w)for(var v=a[w],b=v.length,E=g[w]=[],S,_=0;_<b;++_)(S=v[_])&&i.call(S,S.__data__,_,v)&&E.push(S);return new Gg(g,this._parents)}function OOt(i){return new Array(i.length)}function fCe(){return new Gg(this._enter||this._groups.map(OOt),this._parents)}function cW(i,a){this.ownerDocument=i.ownerDocument,this.namespaceURI=i.namespaceURI,this._next=null,this._parent=i,this.__data__=a}cW.prototype={constructor:cW,appendChild:function(i){return this._parent.insertBefore(i,this._next)},insertBefore:function(i,a){return this._parent.insertBefore(i,a)},querySelector:function(i){return this._parent.querySelector(i)},querySelectorAll:function(i){return this._parent.querySelectorAll(i)}};function dCe(i){return function(){return i}}function gCe(i,a,f,g,w,v){for(var b=0,E,S=a.length,_=v.length;b<_;++b)(E=a[b])?(E.__data__=v[b],g[b]=E):f[b]=new cW(i,v[b]);for(;b<S;++b)(E=a[b])&&(w[b]=E)}function pCe(i,a,f,g,w,v,b){var E,S,_=new Map,M=a.length,F=v.length,R=new Array(M),B;for(E=0;E<M;++E)(S=a[E])&&(R[E]=B=b.call(S,S.__data__,E,a)+"",_.has(B)?w[E]=S:_.set(B,S));for(E=0;E<F;++E)B=b.call(i,v[E],E,v)+"",(S=_.get(B))?(g[E]=S,S.__data__=v[E],_.delete(B)):f[E]=new cW(i,v[E]);for(E=0;E<M;++E)(S=a[E])&&_.get(R[E])===S&&(w[E]=S)}function bCe(i){return i.__data__}function wCe(i,a){if(!arguments.length)return Array.from(this,bCe);var f=a?pCe:gCe,g=this._parents,w=this._groups;typeof i!="function"&&(i=dCe(i));for(var v=w.length,b=new Array(v),E=new Array(v),S=new Array(v),_=0;_<v;++_){var M=g[_],F=w[_],R=F.length,B=mCe(i.call(M,M&&M.__data__,_,g)),z=B.length,Y=E[_]=new Array(z),nt=b[_]=new Array(z),ot=S[_]=new Array(R);f(M,F,Y,nt,ot,B,a);for(var ft=0,wt=0,mt,ct;ft<z;++ft)if(mt=Y[ft]){for(ft>=wt&&(wt=ft+1);!(ct=nt[wt])&&++wt<z;);mt._next=ct||null}}return b=new Gg(b,g),b._enter=E,b._exit=S,b}function mCe(i){return typeof i=="object"&&"length"in i?i:Array.from(i)}function vCe(){return new Gg(this._exit||this._groups.map(OOt),this._parents)}function yCe(i,a,f){var g=this.enter(),w=this,v=this.exit();return typeof i=="function"?(g=i(g),g&&(g=g.selection())):g=g.append(i+""),a!=null&&(w=a(w),w&&(w=w.selection())),f==null?v.remove():f(v),g&&w?g.merge(w).order():w}function xCe(i){for(var a=i.selection?i.selection():i,f=this._groups,g=a._groups,w=f.length,v=g.length,b=Math.min(w,v),E=new Array(w),S=0;S<b;++S)for(var _=f[S],M=g[S],F=_.length,R=E[S]=new Array(F),B,z=0;z<F;++z)(B=_[z]||M[z])&&(R[z]=B);for(;S<w;++S)E[S]=f[S];return new Gg(E,this._parents)}function kCe(){for(var i=this._groups,a=-1,f=i.length;++a<f;)for(var g=i[a],w=g.length-1,v=g[w],b;--w>=0;)(b=g[w])&&(v&&b.compareDocumentPosition(v)^4&&v.parentNode.insertBefore(b,v),v=b);return this}function ECe(i){i||(i=TCe);function a(F,R){return F&&R?i(F.__data__,R.__data__):!F-!R}for(var f=this._groups,g=f.length,w=new Array(g),v=0;v<g;++v){for(var b=f[v],E=b.length,S=w[v]=new Array(E),_,M=0;M<E;++M)(_=b[M])&&(S[M]=_);S.sort(a)}return new Gg(w,this._parents).order()}function TCe(i,a){return i<a?-1:i>a?1:i>=a?0:NaN}function CCe(){var i=arguments[0];return arguments[0]=this,i.apply(null,arguments),this}function SCe(){return Array.from(this)}function _Ce(){for(var i=this._groups,a=0,f=i.length;a<f;++a)for(var g=i[a],w=0,v=g.length;w<v;++w){var b=g[w];if(b)return b}return null}function ACe(){let i=0;for(const a of this)++i;return i}function LCe(){return!this.node()}function DCe(i){for(var a=this._groups,f=0,g=a.length;f<g;++f)for(var w=a[f],v=0,b=w.length,E;v<b;++v)(E=w[v])&&i.call(E,E.__data__,v,w);return this}function MCe(i){return function(){this.removeAttribute(i)}}function ICe(i){return function(){this.removeAttributeNS(i.space,i.local)}}function OCe(i,a){return function(){this.setAttribute(i,a)}}function NCe(i,a){return function(){this.setAttributeNS(i.space,i.local,a)}}function PCe(i,a){return function(){var f=a.apply(this,arguments);f==null?this.removeAttribute(i):this.setAttribute(i,f)}}function FCe(i,a){return function(){var f=a.apply(this,arguments);f==null?this.removeAttributeNS(i.space,i.local):this.setAttributeNS(i.space,i.local,f)}}function BCe(i,a){var f=oW(i);if(arguments.length<2){var g=this.node();return f.local?g.getAttributeNS(f.space,f.local):g.getAttribute(f)}return this.each((a==null?f.local?ICe:MCe:typeof a=="function"?f.local?FCe:PCe:f.local?NCe:OCe)(f,a))}function NOt(i){return i.ownerDocument&&i.ownerDocument.defaultView||i.document&&i||i.defaultView}function RCe(i){return function(){this.style.removeProperty(i)}}function jCe(i,a,f){return function(){this.style.setProperty(i,a,f)}}function $Ce(i,a,f){return function(){var g=a.apply(this,arguments);g==null?this.style.removeProperty(i):this.style.setProperty(i,g,f)}}function zCe(i,a,f){return arguments.length>1?this.each((a==null?RCe:typeof a=="function"?$Ce:jCe)(i,a,f??"")):RL(this.node(),i)}function RL(i,a){return i.style.getPropertyValue(a)||NOt(i).getComputedStyle(i,null).getPropertyValue(a)}function qCe(i){return function(){delete this[i]}}function HCe(i,a){return function(){this[i]=a}}function VCe(i,a){return function(){var f=a.apply(this,arguments);f==null?delete this[i]:this[i]=f}}function UCe(i,a){return arguments.length>1?this.each((a==null?qCe:typeof a=="function"?VCe:HCe)(i,a)):this.node()[i]}function POt(i){return i.trim().split(/^|\s+/)}function k0t(i){return i.classList||new FOt(i)}function FOt(i){this._node=i,this._names=POt(i.getAttribute("class")||"")}FOt.prototype={add:function(i){var a=this._names.indexOf(i);a<0&&(this._names.push(i),this._node.setAttribute("class",this._names.join(" ")))},remove:function(i){var a=this._names.indexOf(i);a>=0&&(this._names.splice(a,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(i){return this._names.indexOf(i)>=0}};function BOt(i,a){for(var f=k0t(i),g=-1,w=a.length;++g<w;)f.add(a[g])}function ROt(i,a){for(var f=k0t(i),g=-1,w=a.length;++g<w;)f.remove(a[g])}function GCe(i){return function(){BOt(this,i)}}function KCe(i){return function(){ROt(this,i)}}function WCe(i,a){return function(){(a.apply(this,arguments)?BOt:ROt)(this,i)}}function YCe(i,a){var f=POt(i+"");if(arguments.length<2){for(var g=k0t(this.node()),w=-1,v=f.length;++w<v;)if(!g.contains(f[w]))return!1;return!0}return this.each((typeof a=="function"?WCe:a?GCe:KCe)(f,a))}function XCe(){this.textContent=""}function QCe(i){return function(){this.textContent=i}}function JCe(i){return function(){var a=i.apply(this,arguments);this.textContent=a??""}}function ZCe(i){return arguments.length?this.each(i==null?XCe:(typeof i=="function"?JCe:QCe)(i)):this.node().textContent}function tSe(){this.innerHTML=""}function eSe(i){return function(){this.innerHTML=i}}function nSe(i){return function(){var a=i.apply(this,arguments);this.innerHTML=a??""}}function rSe(i){return arguments.length?this.each(i==null?tSe:(typeof i=="function"?nSe:eSe)(i)):this.node().innerHTML}function iSe(){this.nextSibling&&this.parentNode.appendChild(this)}function sSe(){return this.each(iSe)}function aSe(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function oSe(){return this.each(aSe)}function cSe(i){var a=typeof i=="function"?i:AOt(i);return this.select(function(){return this.appendChild(a.apply(this,arguments))})}function uSe(){return null}function lSe(i,a){var f=typeof i=="function"?i:AOt(i),g=a==null?uSe:typeof a=="function"?a:x0t(a);return this.select(function(){return this.insertBefore(f.apply(this,arguments),g.apply(this,arguments)||null)})}function hSe(){var i=this.parentNode;i&&i.removeChild(this)}function fSe(){return this.each(hSe)}function dSe(){var i=this.cloneNode(!1),a=this.parentNode;return a?a.insertBefore(i,this.nextSibling):i}function gSe(){var i=this.cloneNode(!0),a=this.parentNode;return a?a.insertBefore(i,this.nextSibling):i}function pSe(i){return this.select(i?gSe:dSe)}function bSe(i){return arguments.length?this.property("__data__",i):this.node().__data__}function wSe(i){return function(a){i.call(this,a,this.__data__)}}function mSe(i){return i.trim().split(/^|\s+/).map(function(a){var f="",g=a.indexOf(".");return g>=0&&(f=a.slice(g+1),a=a.slice(0,g)),{type:a,name:f}})}function vSe(i){return function(){var a=this.__on;if(a){for(var f=0,g=-1,w=a.length,v;f<w;++f)v=a[f],(!i.type||v.type===i.type)&&v.name===i.name?this.removeEventListener(v.type,v.listener,v.options):a[++g]=v;++g?a.length=g:delete this.__on}}}function ySe(i,a,f){return function(){var g=this.__on,w,v=wSe(a);if(g){for(var b=0,E=g.length;b<E;++b)if((w=g[b]).type===i.type&&w.name===i.name){this.removeEventListener(w.type,w.listener,w.options),this.addEventListener(w.type,w.listener=v,w.options=f),w.value=a;return}}this.addEventListener(i.type,v,f),w={type:i.type,name:i.name,value:a,listener:v,options:f},g?g.push(w):this.__on=[w]}}function xSe(i,a,f){var g=mSe(i+""),w,v=g.length,b;if(arguments.length<2){var E=this.node().__on;if(E){for(var S=0,_=E.length,M;S<_;++S)for(w=0,M=E[S];w<v;++w)if((b=g[w]).type===M.type&&b.name===M.name)return M.value}return}for(E=a?ySe:vSe,w=0;w<v;++w)this.each(E(g[w],a,f));return this}function jOt(i,a,f){var g=NOt(i),w=g.CustomEvent;typeof w=="function"?w=new w(a,f):(w=g.document.createEvent("Event"),f?(w.initEvent(a,f.bubbles,f.cancelable),w.detail=f.detail):w.initEvent(a,!1,!1)),i.dispatchEvent(w)}function kSe(i,a){return function(){return jOt(this,i,a)}}function ESe(i,a){return function(){return jOt(this,i,a.apply(this,arguments))}}function TSe(i,a){return this.each((typeof a=="function"?ESe:kSe)(i,a))}function*CSe(){for(var i=this._groups,a=0,f=i.length;a<f;++a)for(var g=i[a],w=0,v=g.length,b;w<v;++w)(b=g[w])&&(yield b)}var E0t=[null];function Gg(i,a){this._groups=i,this._parents=a}function JP(){return new Gg([[document.documentElement]],E0t)}function SSe(){return this}Gg.prototype=JP.prototype={constructor:Gg,select:Z9e,selectAll:nCe,selectChild:aCe,selectChildren:lCe,filter:hCe,data:wCe,enter:fCe,exit:vCe,join:yCe,merge:xCe,selection:SSe,order:kCe,sort:ECe,call:CCe,nodes:SCe,node:_Ce,size:ACe,empty:LCe,each:DCe,attr:BCe,style:zCe,property:UCe,classed:YCe,text:ZCe,html:rSe,raise:sSe,lower:oSe,append:cSe,insert:lSe,remove:fSe,clone:pSe,datum:bSe,on:xSe,dispatch:TSe,[Symbol.iterator]:CSe};function Tr(i){return typeof i=="string"?new Gg([[document.querySelector(i)]],[document.documentElement]):new Gg([[i]],E0t)}function $Ot(i){return typeof i=="string"?new Gg([document.querySelectorAll(i)],[document.documentElement]):new Gg([LOt(i)],E0t)}function ZP(i,a,f){i.prototype=a.prototype=f,f.constructor=i}function uW(i,a){var f=Object.create(i.prototype);for(var g in a)f[g]=a[g];return f}function n9(){}var tF=.7,lW=1/tF,jL="\\s*([+-]?\\d+)\\s*",eF="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Q3="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",_Se=/^#([0-9a-f]{3,8})$/,ASe=new RegExp(`^rgb\\(${jL},${jL},${jL}\\)$`),LSe=new RegExp(`^rgb\\(${Q3},${Q3},${Q3}\\)$`),DSe=new RegExp(`^rgba\\(${jL},${jL},${jL},${eF}\\)$`),MSe=new RegExp(`^rgba\\(${Q3},${Q3},${Q3},${eF}\\)$`),ISe=new RegExp(`^hsl\\(${eF},${Q3},${Q3}\\)$`),OSe=new RegExp(`^hsla\\(${eF},${Q3},${Q3},${eF}\\)$`),zOt={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};ZP(n9,r9,{copy(i){return Object.assign(new this.constructor,this,i)},displayable(){return this.rgb().displayable()},hex:qOt,formatHex:qOt,formatHex8:NSe,formatHsl:PSe,formatRgb:HOt,toString:HOt});function qOt(){return this.rgb().formatHex()}function NSe(){return this.rgb().formatHex8()}function PSe(){return YOt(this).formatHsl()}function HOt(){return this.rgb().formatRgb()}function r9(i){var a,f;return i=(i+"").trim().toLowerCase(),(a=_Se.exec(i))?(f=a[1].length,a=parseInt(a[1],16),f===6?VOt(a):f===3?new eg(a>>8&15|a>>4&240,a>>4&15|a&240,(a&15)<<4|a&15,1):f===8?hW(a>>24&255,a>>16&255,a>>8&255,(a&255)/255):f===4?hW(a>>12&15|a>>8&240,a>>8&15|a>>4&240,a>>4&15|a&240,((a&15)<<4|a&15)/255):null):(a=ASe.exec(i))?new eg(a[1],a[2],a[3],1):(a=LSe.exec(i))?new eg(a[1]*255/100,a[2]*255/100,a[3]*255/100,1):(a=DSe.exec(i))?hW(a[1],a[2],a[3],a[4]):(a=MSe.exec(i))?hW(a[1]*255/100,a[2]*255/100,a[3]*255/100,a[4]):(a=ISe.exec(i))?WOt(a[1],a[2]/100,a[3]/100,1):(a=OSe.exec(i))?WOt(a[1],a[2]/100,a[3]/100,a[4]):zOt.hasOwnProperty(i)?VOt(zOt[i]):i==="transparent"?new eg(NaN,NaN,NaN,0):null}function VOt(i){return new eg(i>>16&255,i>>8&255,i&255,1)}function hW(i,a,f,g){return g<=0&&(i=a=f=NaN),new eg(i,a,f,g)}function UOt(i){return i instanceof n9||(i=r9(i)),i?(i=i.rgb(),new eg(i.r,i.g,i.b,i.opacity)):new eg}function T0t(i,a,f,g){return arguments.length===1?UOt(i):new eg(i,a,f,g??1)}function eg(i,a,f,g){this.r=+i,this.g=+a,this.b=+f,this.opacity=+g}ZP(eg,T0t,uW(n9,{brighter(i){return i=i==null?lW:Math.pow(lW,i),new eg(this.r*i,this.g*i,this.b*i,this.opacity)},darker(i){return i=i==null?tF:Math.pow(tF,i),new eg(this.r*i,this.g*i,this.b*i,this.opacity)},rgb(){return this},clamp(){return new eg(i9(this.r),i9(this.g),i9(this.b),fW(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:GOt,formatHex:GOt,formatHex8:FSe,formatRgb:KOt,toString:KOt}));function GOt(){return`#${s9(this.r)}${s9(this.g)}${s9(this.b)}`}function FSe(){return`#${s9(this.r)}${s9(this.g)}${s9(this.b)}${s9((isNaN(this.opacity)?1:this.opacity)*255)}`}function KOt(){const i=fW(this.opacity);return`${i===1?"rgb(":"rgba("}${i9(this.r)}, ${i9(this.g)}, ${i9(this.b)}${i===1?")":`, ${i})`}`}function fW(i){return isNaN(i)?1:Math.max(0,Math.min(1,i))}function i9(i){return Math.max(0,Math.min(255,Math.round(i)||0))}function s9(i){return i=i9(i),(i<16?"0":"")+i.toString(16)}function WOt(i,a,f,g){return g<=0?i=a=f=NaN:f<=0||f>=1?i=a=NaN:a<=0&&(i=NaN),new jv(i,a,f,g)}function YOt(i){if(i instanceof jv)return new jv(i.h,i.s,i.l,i.opacity);if(i instanceof n9||(i=r9(i)),!i)return new jv;if(i instanceof jv)return i;i=i.rgb();var a=i.r/255,f=i.g/255,g=i.b/255,w=Math.min(a,f,g),v=Math.max(a,f,g),b=NaN,E=v-w,S=(v+w)/2;return E?(a===v?b=(f-g)/E+(f<g)*6:f===v?b=(g-a)/E+2:b=(a-f)/E+4,E/=S<.5?v+w:2-v-w,b*=60):E=S>0&&S<1?0:b,new jv(b,E,S,i.opacity)}function BSe(i,a,f,g){return arguments.length===1?YOt(i):new jv(i,a,f,g??1)}function jv(i,a,f,g){this.h=+i,this.s=+a,this.l=+f,this.opacity=+g}ZP(jv,BSe,uW(n9,{brighter(i){return i=i==null?lW:Math.pow(lW,i),new jv(this.h,this.s,this.l*i,this.opacity)},darker(i){return i=i==null?tF:Math.pow(tF,i),new jv(this.h,this.s,this.l*i,this.opacity)},rgb(){var i=this.h%360+(this.h<0)*360,a=isNaN(i)||isNaN(this.s)?0:this.s,f=this.l,g=f+(f<.5?f:1-f)*a,w=2*f-g;return new eg(C0t(i>=240?i-240:i+120,w,g),C0t(i,w,g),C0t(i<120?i+240:i-120,w,g),this.opacity)},clamp(){return new jv(XOt(this.h),dW(this.s),dW(this.l),fW(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const i=fW(this.opacity);return`${i===1?"hsl(":"hsla("}${XOt(this.h)}, ${dW(this.s)*100}%, ${dW(this.l)*100}%${i===1?")":`, ${i})`}`}}));function XOt(i){return i=(i||0)%360,i<0?i+360:i}function dW(i){return Math.max(0,Math.min(1,i||0))}function C0t(i,a,f){return(i<60?a+(f-a)*i/60:i<180?f:i<240?a+(f-a)*(240-i)/60:a)*255}const RSe=Math.PI/180,jSe=180/Math.PI,gW=18,QOt=.96422,JOt=1,ZOt=.82521,tNt=4/29,$L=6/29,eNt=3*$L*$L,$Se=$L*$L*$L;function nNt(i){if(i instanceof J3)return new J3(i.l,i.a,i.b,i.opacity);if(i instanceof xx)return rNt(i);i instanceof eg||(i=UOt(i));var a=L0t(i.r),f=L0t(i.g),g=L0t(i.b),w=S0t((.2225045*a+.7168786*f+.0606169*g)/JOt),v,b;return a===f&&f===g?v=b=w:(v=S0t((.4360747*a+.3850649*f+.1430804*g)/QOt),b=S0t((.0139322*a+.0971045*f+.7141733*g)/ZOt)),new J3(116*w-16,500*(v-w),200*(w-b),i.opacity)}function zSe(i,a,f,g){return arguments.length===1?nNt(i):new J3(i,a,f,g??1)}function J3(i,a,f,g){this.l=+i,this.a=+a,this.b=+f,this.opacity=+g}ZP(J3,zSe,uW(n9,{brighter(i){return new J3(this.l+gW*(i??1),this.a,this.b,this.opacity)},darker(i){return new J3(this.l-gW*(i??1),this.a,this.b,this.opacity)},rgb(){var i=(this.l+16)/116,a=isNaN(this.a)?i:i+this.a/500,f=isNaN(this.b)?i:i-this.b/200;return a=QOt*_0t(a),i=JOt*_0t(i),f=ZOt*_0t(f),new eg(A0t(3.1338561*a-1.6168667*i-.4906146*f),A0t(-.9787684*a+1.9161415*i+.033454*f),A0t(.0719453*a-.2289914*i+1.4052427*f),this.opacity)}}));function S0t(i){return i>$Se?Math.pow(i,1/3):i/eNt+tNt}function _0t(i){return i>$L?i*i*i:eNt*(i-tNt)}function A0t(i){return 255*(i<=.0031308?12.92*i:1.055*Math.pow(i,1/2.4)-.055)}function L0t(i){return(i/=255)<=.04045?i/12.92:Math.pow((i+.055)/1.055,2.4)}function qSe(i){if(i instanceof xx)return new xx(i.h,i.c,i.l,i.opacity);if(i instanceof J3||(i=nNt(i)),i.a===0&&i.b===0)return new xx(NaN,0<i.l&&i.l<100?0:NaN,i.l,i.opacity);var a=Math.atan2(i.b,i.a)*jSe;return new xx(a<0?a+360:a,Math.sqrt(i.a*i.a+i.b*i.b),i.l,i.opacity)}function D0t(i,a,f,g){return arguments.length===1?qSe(i):new xx(i,a,f,g??1)}function xx(i,a,f,g){this.h=+i,this.c=+a,this.l=+f,this.opacity=+g}function rNt(i){if(isNaN(i.h))return new J3(i.l,0,0,i.opacity);var a=i.h*RSe;return new J3(i.l,Math.cos(a)*i.c,Math.sin(a)*i.c,i.opacity)}ZP(xx,D0t,uW(n9,{brighter(i){return new xx(this.h,this.c,this.l+gW*(i??1),this.opacity)},darker(i){return new xx(this.h,this.c,this.l-gW*(i??1),this.opacity)},rgb(){return rNt(this).rgb()}}));const pW=i=>()=>i;function iNt(i,a){return function(f){return i+f*a}}function HSe(i,a,f){return i=Math.pow(i,f),a=Math.pow(a,f)-i,f=1/f,function(g){return Math.pow(i+g*a,f)}}function VSe(i,a){var f=a-i;return f?iNt(i,f>180||f<-180?f-360*Math.round(f/360):f):pW(isNaN(i)?a:i)}function USe(i){return(i=+i)==1?nF:function(a,f){return f-a?HSe(a,f,i):pW(isNaN(a)?f:a)}}function nF(i,a){var f=a-i;return f?iNt(i,f):pW(isNaN(i)?a:i)}const bW=function i(a){var f=USe(a);function g(w,v){var b=f((w=T0t(w)).r,(v=T0t(v)).r),E=f(w.g,v.g),S=f(w.b,v.b),_=nF(w.opacity,v.opacity);return function(M){return w.r=b(M),w.g=E(M),w.b=S(M),w.opacity=_(M),w+""}}return g.gamma=i,g}(1);function GSe(i,a){a||(a=[]);var f=i?Math.min(a.length,i.length):0,g=a.slice(),w;return function(v){for(w=0;w<f;++w)g[w]=i[w]*(1-v)+a[w]*v;return g}}function KSe(i){return ArrayBuffer.isView(i)&&!(i instanceof DataView)}function WSe(i,a){var f=a?a.length:0,g=i?Math.min(f,i.length):0,w=new Array(g),v=new Array(f),b;for(b=0;b<g;++b)w[b]=O0t(i[b],a[b]);for(;b<f;++b)v[b]=a[b];return function(E){for(b=0;b<g;++b)v[b]=w[b](E);return v}}function YSe(i,a){var f=new Date;return i=+i,a=+a,function(g){return f.setTime(i*(1-g)+a*g),f}}function $v(i,a){return i=+i,a=+a,function(f){return i*(1-f)+a*f}}function XSe(i,a){var f={},g={},w;(i===null||typeof i!="object")&&(i={}),(a===null||typeof a!="object")&&(a={});for(w in a)w in i?f[w]=O0t(i[w],a[w]):g[w]=a[w];return function(v){for(w in f)g[w]=f[w](v);return g}}var M0t=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,I0t=new RegExp(M0t.source,"g");function QSe(i){return function(){return i}}function JSe(i){return function(a){return i(a)+""}}function sNt(i,a){var f=M0t.lastIndex=I0t.lastIndex=0,g,w,v,b=-1,E=[],S=[];for(i=i+"",a=a+"";(g=M0t.exec(i))&&(w=I0t.exec(a));)(v=w.index)>f&&(v=a.slice(f,v),E[b]?E[b]+=v:E[++b]=v),(g=g[0])===(w=w[0])?E[b]?E[b]+=w:E[++b]=w:(E[++b]=null,S.push({i:b,x:$v(g,w)})),f=I0t.lastIndex;return f<a.length&&(v=a.slice(f),E[b]?E[b]+=v:E[++b]=v),E.length<2?S[0]?JSe(S[0].x):QSe(a):(a=S.length,function(_){for(var M=0,F;M<a;++M)E[(F=S[M]).i]=F.x(_);return E.join("")})}function O0t(i,a){var f=typeof a,g;return a==null||f==="boolean"?pW(a):(f==="number"?$v:f==="string"?(g=r9(a))?(a=g,bW):sNt:a instanceof r9?bW:a instanceof Date?YSe:KSe(a)?GSe:Array.isArray(a)?WSe:typeof a.valueOf!="function"&&typeof a.toString!="function"||isNaN(a)?XSe:$v)(i,a)}function ZSe(i,a){return i=+i,a=+a,function(f){return Math.round(i*(1-f)+a*f)}}var aNt=180/Math.PI,N0t={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function oNt(i,a,f,g,w,v){var b,E,S;return(b=Math.sqrt(i*i+a*a))&&(i/=b,a/=b),(S=i*f+a*g)&&(f-=i*S,g-=a*S),(E=Math.sqrt(f*f+g*g))&&(f/=E,g/=E,S/=E),i*g<a*f&&(i=-i,a=-a,S=-S,b=-b),{translateX:w,translateY:v,rotate:Math.atan2(a,i)*aNt,skewX:Math.atan(S)*aNt,scaleX:b,scaleY:E}}var wW;function t_e(i){const a=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(i+"");return a.isIdentity?N0t:oNt(a.a,a.b,a.c,a.d,a.e,a.f)}function e_e(i){return i==null||(wW||(wW=document.createElementNS("http://www.w3.org/2000/svg","g")),wW.setAttribute("transform",i),!(i=wW.transform.baseVal.consolidate()))?N0t:(i=i.matrix,oNt(i.a,i.b,i.c,i.d,i.e,i.f))}function cNt(i,a,f,g){function w(_){return _.length?_.pop()+" ":""}function v(_,M,F,R,B,z){if(_!==F||M!==R){var Y=B.push("translate(",null,a,null,f);z.push({i:Y-4,x:$v(_,F)},{i:Y-2,x:$v(M,R)})}else(F||R)&&B.push("translate("+F+a+R+f)}function b(_,M,F,R){_!==M?(_-M>180?M+=360:M-_>180&&(_+=360),R.push({i:F.push(w(F)+"rotate(",null,g)-2,x:$v(_,M)})):M&&F.push(w(F)+"rotate("+M+g)}function E(_,M,F,R){_!==M?R.push({i:F.push(w(F)+"skewX(",null,g)-2,x:$v(_,M)}):M&&F.push(w(F)+"skewX("+M+g)}function S(_,M,F,R,B,z){if(_!==F||M!==R){var Y=B.push(w(B)+"scale(",null,",",null,")");z.push({i:Y-4,x:$v(_,F)},{i:Y-2,x:$v(M,R)})}else(F!==1||R!==1)&&B.push(w(B)+"scale("+F+","+R+")")}return function(_,M){var F=[],R=[];return _=i(_),M=i(M),v(_.translateX,_.translateY,M.translateX,M.translateY,F,R),b(_.rotate,M.rotate,F,R),E(_.skewX,M.skewX,F,R),S(_.scaleX,_.scaleY,M.scaleX,M.scaleY,F,R),_=M=null,function(B){for(var z=-1,Y=R.length,nt;++z<Y;)F[(nt=R[z]).i]=nt.x(B);return F.join("")}}}var n_e=cNt(t_e,"px, ","px)","deg)"),r_e=cNt(e_e,", ",")",")");function i_e(i){return function(a,f){var g=i((a=D0t(a)).h,(f=D0t(f)).h),w=nF(a.c,f.c),v=nF(a.l,f.l),b=nF(a.opacity,f.opacity);return function(E){return a.h=g(E),a.c=w(E),a.l=v(E),a.opacity=b(E),a+""}}}const s_e=i_e(VSe);var zL=0,rF=0,iF=0,uNt=1e3,mW,sF,vW=0,a9=0,yW=0,aF=typeof performance=="object"&&performance.now?performance:Date,lNt=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(i){setTimeout(i,17)};function P0t(){return a9||(lNt(a_e),a9=aF.now()+yW)}function a_e(){a9=0}function xW(){this._call=this._time=this._next=null}xW.prototype=hNt.prototype={constructor:xW,restart:function(i,a,f){if(typeof i!="function")throw new TypeError("callback is not a function");f=(f==null?P0t():+f)+(a==null?0:+a),!this._next&&sF!==this&&(sF?sF._next=this:mW=this,sF=this),this._call=i,this._time=f,F0t()},stop:function(){this._call&&(this._call=null,this._time=1/0,F0t())}};function hNt(i,a,f){var g=new xW;return g.restart(i,a,f),g}function o_e(){P0t(),++zL;for(var i=mW,a;i;)(a=a9-i._time)>=0&&i._call.call(void 0,a),i=i._next;--zL}function fNt(){a9=(vW=aF.now())+yW,zL=rF=0;try{o_e()}finally{zL=0,u_e(),a9=0}}function c_e(){var i=aF.now(),a=i-vW;a>uNt&&(yW-=a,vW=i)}function u_e(){for(var i,a=mW,f,g=1/0;a;)a._call?(g>a._time&&(g=a._time),i=a,a=a._next):(f=a._next,a._next=null,a=i?i._next=f:mW=f);sF=i,F0t(g)}function F0t(i){if(!zL){rF&&(rF=clearTimeout(rF));var a=i-a9;a>24?(i<1/0&&(rF=setTimeout(fNt,i-aF.now()-yW)),iF&&(iF=clearInterval(iF))):(iF||(vW=aF.now(),iF=setInterval(c_e,uNt)),zL=1,lNt(fNt))}}function dNt(i,a,f){var g=new xW;return a=a==null?0:+a,g.restart(w=>{g.stop(),i(w+a)},a,f),g}var l_e=COt("start","end","cancel","interrupt"),h_e=[],gNt=0,pNt=1,B0t=2,kW=3,bNt=4,R0t=5,EW=6;function TW(i,a,f,g,w,v){var b=i.__transition;if(!b)i.__transition={};else if(f in b)return;f_e(i,f,{name:a,index:g,group:w,on:l_e,tween:h_e,time:v.time,delay:v.delay,duration:v.duration,ease:v.ease,timer:null,state:gNt})}function j0t(i,a){var f=zv(i,a);if(f.state>gNt)throw new Error("too late; already scheduled");return f}function Z3(i,a){var f=zv(i,a);if(f.state>kW)throw new Error("too late; already running");return f}function zv(i,a){var f=i.__transition;if(!f||!(f=f[a]))throw new Error("transition not found");return f}function f_e(i,a,f){var g=i.__transition,w;g[a]=f,f.timer=hNt(v,0,f.time);function v(_){f.state=pNt,f.timer.restart(b,f.delay,f.time),f.delay<=_&&b(_-f.delay)}function b(_){var M,F,R,B;if(f.state!==pNt)return S();for(M in g)if(B=g[M],B.name===f.name){if(B.state===kW)return dNt(b);B.state===bNt?(B.state=EW,B.timer.stop(),B.on.call("interrupt",i,i.__data__,B.index,B.group),delete g[M]):+M<a&&(B.state=EW,B.timer.stop(),B.on.call("cancel",i,i.__data__,B.index,B.group),delete g[M])}if(dNt(function(){f.state===kW&&(f.state=bNt,f.timer.restart(E,f.delay,f.time),E(_))}),f.state=B0t,f.on.call("start",i,i.__data__,f.index,f.group),f.state===B0t){for(f.state=kW,w=new Array(R=f.tween.length),M=0,F=-1;M<R;++M)(B=f.tween[M].value.call(i,i.__data__,f.index,f.group))&&(w[++F]=B);w.length=F+1}}function E(_){for(var M=_<f.duration?f.ease.call(null,_/f.duration):(f.timer.restart(S),f.state=R0t,1),F=-1,R=w.length;++F<R;)w[F].call(i,M);f.state===R0t&&(f.on.call("end",i,i.__data__,f.index,f.group),S())}function S(){f.state=EW,f.timer.stop(),delete g[a];for(var _ in g)return;delete i.__transition}}function d_e(i,a){var f=i.__transition,g,w,v=!0,b;if(f){a=a==null?null:a+"";for(b in f){if((g=f[b]).name!==a){v=!1;continue}w=g.state>B0t&&g.state<R0t,g.state=EW,g.timer.stop(),g.on.call(w?"interrupt":"cancel",i,i.__data__,g.index,g.group),delete f[b]}v&&delete i.__transition}}function g_e(i){return this.each(function(){d_e(this,i)})}function p_e(i,a){var f,g;return function(){var w=Z3(this,i),v=w.tween;if(v!==f){g=f=v;for(var b=0,E=g.length;b<E;++b)if(g[b].name===a){g=g.slice(),g.splice(b,1);break}}w.tween=g}}function b_e(i,a,f){var g,w;if(typeof f!="function")throw new Error;return function(){var v=Z3(this,i),b=v.tween;if(b!==g){w=(g=b).slice();for(var E={name:a,value:f},S=0,_=w.length;S<_;++S)if(w[S].name===a){w[S]=E;break}S===_&&w.push(E)}v.tween=w}}function w_e(i,a){var f=this._id;if(i+="",arguments.length<2){for(var g=zv(this.node(),f).tween,w=0,v=g.length,b;w<v;++w)if((b=g[w]).name===i)return b.value;return null}return this.each((a==null?p_e:b_e)(f,i,a))}function $0t(i,a,f){var g=i._id;return i.each(function(){var w=Z3(this,g);(w.value||(w.value={}))[a]=f.apply(this,arguments)}),function(w){return zv(w,g).value[a]}}function wNt(i,a){var f;return(typeof a=="number"?$v:a instanceof r9?bW:(f=r9(a))?(a=f,bW):sNt)(i,a)}function m_e(i){return function(){this.removeAttribute(i)}}function v_e(i){return function(){this.removeAttributeNS(i.space,i.local)}}function y_e(i,a,f){var g,w=f+"",v;return function(){var b=this.getAttribute(i);return b===w?null:b===g?v:v=a(g=b,f)}}function x_e(i,a,f){var g,w=f+"",v;return function(){var b=this.getAttributeNS(i.space,i.local);return b===w?null:b===g?v:v=a(g=b,f)}}function k_e(i,a,f){var g,w,v;return function(){var b,E=f(this),S;return E==null?void this.removeAttribute(i):(b=this.getAttribute(i),S=E+"",b===S?null:b===g&&S===w?v:(w=S,v=a(g=b,E)))}}function E_e(i,a,f){var g,w,v;return function(){var b,E=f(this),S;return E==null?void this.removeAttributeNS(i.space,i.local):(b=this.getAttributeNS(i.space,i.local),S=E+"",b===S?null:b===g&&S===w?v:(w=S,v=a(g=b,E)))}}function T_e(i,a){var f=oW(i),g=f==="transform"?r_e:wNt;return this.attrTween(i,typeof a=="function"?(f.local?E_e:k_e)(f,g,$0t(this,"attr."+i,a)):a==null?(f.local?v_e:m_e)(f):(f.local?x_e:y_e)(f,g,a))}function C_e(i,a){return function(f){this.setAttribute(i,a.call(this,f))}}function S_e(i,a){return function(f){this.setAttributeNS(i.space,i.local,a.call(this,f))}}function __e(i,a){var f,g;function w(){var v=a.apply(this,arguments);return v!==g&&(f=(g=v)&&S_e(i,v)),f}return w._value=a,w}function A_e(i,a){var f,g;function w(){var v=a.apply(this,arguments);return v!==g&&(f=(g=v)&&C_e(i,v)),f}return w._value=a,w}function L_e(i,a){var f="attr."+i;if(arguments.length<2)return(f=this.tween(f))&&f._value;if(a==null)return this.tween(f,null);if(typeof a!="function")throw new Error;var g=oW(i);return this.tween(f,(g.local?__e:A_e)(g,a))}function D_e(i,a){return function(){j0t(this,i).delay=+a.apply(this,arguments)}}function M_e(i,a){return a=+a,function(){j0t(this,i).delay=a}}function I_e(i){var a=this._id;return arguments.length?this.each((typeof i=="function"?D_e:M_e)(a,i)):zv(this.node(),a).delay}function O_e(i,a){return function(){Z3(this,i).duration=+a.apply(this,arguments)}}function N_e(i,a){return a=+a,function(){Z3(this,i).duration=a}}function P_e(i){var a=this._id;return arguments.length?this.each((typeof i=="function"?O_e:N_e)(a,i)):zv(this.node(),a).duration}function F_e(i,a){if(typeof a!="function")throw new Error;return function(){Z3(this,i).ease=a}}function B_e(i){var a=this._id;return arguments.length?this.each(F_e(a,i)):zv(this.node(),a).ease}function R_e(i,a){return function(){var f=a.apply(this,arguments);if(typeof f!="function")throw new Error;Z3(this,i).ease=f}}function j_e(i){if(typeof i!="function")throw new Error;return this.each(R_e(this._id,i))}function $_e(i){typeof i!="function"&&(i=MOt(i));for(var a=this._groups,f=a.length,g=new Array(f),w=0;w<f;++w)for(var v=a[w],b=v.length,E=g[w]=[],S,_=0;_<b;++_)(S=v[_])&&i.call(S,S.__data__,_,v)&&E.push(S);return new kx(g,this._parents,this._name,this._id)}function z_e(i){if(i._id!==this._id)throw new Error;for(var a=this._groups,f=i._groups,g=a.length,w=f.length,v=Math.min(g,w),b=new Array(g),E=0;E<v;++E)for(var S=a[E],_=f[E],M=S.length,F=b[E]=new Array(M),R,B=0;B<M;++B)(R=S[B]||_[B])&&(F[B]=R);for(;E<g;++E)b[E]=a[E];return new kx(b,this._parents,this._name,this._id)}function q_e(i){return(i+"").trim().split(/^|\s+/).every(function(a){var f=a.indexOf(".");return f>=0&&(a=a.slice(0,f)),!a||a==="start"})}function H_e(i,a,f){var g,w,v=q_e(a)?j0t:Z3;return function(){var b=v(this,i),E=b.on;E!==g&&(w=(g=E).copy()).on(a,f),b.on=w}}function V_e(i,a){var f=this._id;return arguments.length<2?zv(this.node(),f).on.on(i):this.each(H_e(f,i,a))}function U_e(i){return function(){var a=this.parentNode;for(var f in this.__transition)if(+f!==i)return;a&&a.removeChild(this)}}function G_e(){return this.on("end.remove",U_e(this._id))}function K_e(i){var a=this._name,f=this._id;typeof i!="function"&&(i=x0t(i));for(var g=this._groups,w=g.length,v=new Array(w),b=0;b<w;++b)for(var E=g[b],S=E.length,_=v[b]=new Array(S),M,F,R=0;R<S;++R)(M=E[R])&&(F=i.call(M,M.__data__,R,E))&&("__data__"in M&&(F.__data__=M.__data__),_[R]=F,TW(_[R],a,f,R,_,zv(M,f)));return new kx(v,this._parents,a,f)}function W_e(i){var a=this._name,f=this._id;typeof i!="function"&&(i=DOt(i));for(var g=this._groups,w=g.length,v=[],b=[],E=0;E<w;++E)for(var S=g[E],_=S.length,M,F=0;F<_;++F)if(M=S[F]){for(var R=i.call(M,M.__data__,F,S),B,z=zv(M,f),Y=0,nt=R.length;Y<nt;++Y)(B=R[Y])&&TW(B,a,f,Y,R,z);v.push(R),b.push(M)}return new kx(v,b,a,f)}var Y_e=JP.prototype.constructor;function X_e(){return new Y_e(this._groups,this._parents)}function Q_e(i,a){var f,g,w;return function(){var v=RL(this,i),b=(this.style.removeProperty(i),RL(this,i));return v===b?null:v===f&&b===g?w:w=a(f=v,g=b)}}function mNt(i){return function(){this.style.removeProperty(i)}}function J_e(i,a,f){var g,w=f+"",v;return function(){var b=RL(this,i);return b===w?null:b===g?v:v=a(g=b,f)}}function Z_e(i,a,f){var g,w,v;return function(){var b=RL(this,i),E=f(this),S=E+"";return E==null&&(S=E=(this.style.removeProperty(i),RL(this,i))),b===S?null:b===g&&S===w?v:(w=S,v=a(g=b,E))}}function tAe(i,a){var f,g,w,v="style."+a,b="end."+v,E;return function(){var S=Z3(this,i),_=S.on,M=S.value[v]==null?E||(E=mNt(a)):void 0;(_!==f||w!==M)&&(g=(f=_).copy()).on(b,w=M),S.on=g}}function eAe(i,a,f){var g=(i+="")=="transform"?n_e:wNt;return a==null?this.styleTween(i,Q_e(i,g)).on("end.style."+i,mNt(i)):typeof a=="function"?this.styleTween(i,Z_e(i,g,$0t(this,"style."+i,a))).each(tAe(this._id,i)):this.styleTween(i,J_e(i,g,a),f).on("end.style."+i,null)}function nAe(i,a,f){return function(g){this.style.setProperty(i,a.call(this,g),f)}}function rAe(i,a,f){var g,w;function v(){var b=a.apply(this,arguments);return b!==w&&(g=(w=b)&&nAe(i,b,f)),g}return v._value=a,v}function iAe(i,a,f){var g="style."+(i+="");if(arguments.length<2)return(g=this.tween(g))&&g._value;if(a==null)return this.tween(g,null);if(typeof a!="function")throw new Error;return this.tween(g,rAe(i,a,f??""))}function sAe(i){return function(){this.textContent=i}}function aAe(i){return function(){var a=i(this);this.textContent=a??""}}function oAe(i){return this.tween("text",typeof i=="function"?aAe($0t(this,"text",i)):sAe(i==null?"":i+""))}function cAe(i){return function(a){this.textContent=i.call(this,a)}}function uAe(i){var a,f;function g(){var w=i.apply(this,arguments);return w!==f&&(a=(f=w)&&cAe(w)),a}return g._value=i,g}function lAe(i){var a="text";if(arguments.length<1)return(a=this.tween(a))&&a._value;if(i==null)return this.tween(a,null);if(typeof i!="function")throw new Error;return this.tween(a,uAe(i))}function hAe(){for(var i=this._name,a=this._id,f=vNt(),g=this._groups,w=g.length,v=0;v<w;++v)for(var b=g[v],E=b.length,S,_=0;_<E;++_)if(S=b[_]){var M=zv(S,a);TW(S,i,f,_,b,{time:M.time+M.delay+M.duration,delay:0,duration:M.duration,ease:M.ease})}return new kx(g,this._parents,i,f)}function fAe(){var i,a,f=this,g=f._id,w=f.size();return new Promise(function(v,b){var E={value:b},S={value:function(){--w===0&&v()}};f.each(function(){var _=Z3(this,g),M=_.on;M!==i&&(a=(i=M).copy(),a._.cancel.push(E),a._.interrupt.push(E),a._.end.push(S)),_.on=a}),w===0&&v()})}var dAe=0;function kx(i,a,f,g){this._groups=i,this._parents=a,this._name=f,this._id=g}function vNt(){return++dAe}var Ex=JP.prototype;kx.prototype={constructor:kx,select:K_e,selectAll:W_e,selectChild:Ex.selectChild,selectChildren:Ex.selectChildren,filter:$_e,merge:z_e,selection:X_e,transition:hAe,call:Ex.call,nodes:Ex.nodes,node:Ex.node,size:Ex.size,empty:Ex.empty,each:Ex.each,on:V_e,attr:T_e,attrTween:L_e,style:eAe,styleTween:iAe,text:oAe,textTween:lAe,remove:G_e,tween:w_e,delay:I_e,duration:P_e,ease:B_e,easeVarying:j_e,end:fAe,[Symbol.iterator]:Ex[Symbol.iterator]};function gAe(i){return((i*=2)<=1?i*i*i:(i-=2)*i*i+2)/2}var pAe={time:null,delay:0,duration:250,ease:gAe};function bAe(i,a){for(var f;!(f=i.__transition)||!(f=f[a]);)if(!(i=i.parentNode))throw new Error(`transition ${a} not found`);return f}function wAe(i){var a,f;i instanceof kx?(a=i._id,i=i._name):(a=vNt(),(f=pAe).time=P0t(),i=i==null?null:i+"");for(var g=this._groups,w=g.length,v=0;v<w;++v)for(var b=g[v],E=b.length,S,_=0;_<E;++_)(S=b[_])&&TW(S,i,a,_,b,f||bAe(S,a));return new kx(g,this._parents,i,a)}JP.prototype.interrupt=g_e,JP.prototype.transition=wAe;const z0t=Math.PI,q0t=2*z0t,o9=1e-6,mAe=q0t-o9;function yNt(i){this._+=i[0];for(let a=1,f=i.length;a<f;++a)this._+=arguments[a]+i[a]}function vAe(i){let a=Math.floor(i);if(!(a>=0))throw new Error(`invalid digits: ${i}`);if(a>15)return yNt;const f=10**a;return function(g){this._+=g[0];for(let w=1,v=g.length;w<v;++w)this._+=Math.round(arguments[w]*f)/f+g[w]}}let yAe=class{constructor(a){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=a==null?yNt:vAe(a)}moveTo(a,f){this._append`M${this._x0=this._x1=+a},${this._y0=this._y1=+f}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(a,f){this._append`L${this._x1=+a},${this._y1=+f}`}quadraticCurveTo(a,f,g,w){this._append`Q${+a},${+f},${this._x1=+g},${this._y1=+w}`}bezierCurveTo(a,f,g,w,v,b){this._append`C${+a},${+f},${+g},${+w},${this._x1=+v},${this._y1=+b}`}arcTo(a,f,g,w,v){if(a=+a,f=+f,g=+g,w=+w,v=+v,v<0)throw new Error(`negative radius: ${v}`);let b=this._x1,E=this._y1,S=g-a,_=w-f,M=b-a,F=E-f,R=M*M+F*F;if(this._x1===null)this._append`M${this._x1=a},${this._y1=f}`;else if(R>o9)if(!(Math.abs(F*S-_*M)>o9)||!v)this._append`L${this._x1=a},${this._y1=f}`;else{let B=g-b,z=w-E,Y=S*S+_*_,nt=B*B+z*z,ot=Math.sqrt(Y),ft=Math.sqrt(R),wt=v*Math.tan((z0t-Math.acos((Y+R-nt)/(2*ot*ft)))/2),mt=wt/ft,ct=wt/ot;Math.abs(mt-1)>o9&&this._append`L${a+mt*M},${f+mt*F}`,this._append`A${v},${v},0,0,${+(F*B>M*z)},${this._x1=a+ct*S},${this._y1=f+ct*_}`}}arc(a,f,g,w,v,b){if(a=+a,f=+f,g=+g,b=!!b,g<0)throw new Error(`negative radius: ${g}`);let E=g*Math.cos(w),S=g*Math.sin(w),_=a+E,M=f+S,F=1^b,R=b?w-v:v-w;this._x1===null?this._append`M${_},${M}`:(Math.abs(this._x1-_)>o9||Math.abs(this._y1-M)>o9)&&this._append`L${_},${M}`,g&&(R<0&&(R=R%q0t+q0t),R>mAe?this._append`A${g},${g},0,1,${F},${a-E},${f-S}A${g},${g},0,1,${F},${this._x1=_},${this._y1=M}`:R>o9&&this._append`A${g},${g},0,${+(R>=z0t)},${F},${this._x1=a+g*Math.cos(v)},${this._y1=f+g*Math.sin(v)}`)}rect(a,f,g,w){this._append`M${this._x0=this._x1=+a},${this._y0=this._y1=+f}h${g=+g}v${+w}h${-g}Z`}toString(){return this._}};function xAe(i){if(!i.ok)throw new Error(i.status+" "+i.statusText);return i.text()}function kAe(i,a){return fetch(i,a).then(xAe)}function EAe(i){return(a,f)=>kAe(a,f).then(g=>new DOMParser().parseFromString(g,i))}var TAe=EAe("image/svg+xml");function CAe(i){return Math.abs(i=Math.round(i))>=1e21?i.toLocaleString("en").replace(/,/g,""):i.toString(10)}function CW(i,a){if((f=(i=a?i.toExponential(a-1):i.toExponential()).indexOf("e"))<0)return null;var f,g=i.slice(0,f);return[g.length>1?g[0]+g.slice(2):g,+i.slice(f+1)]}function qL(i){return i=CW(Math.abs(i)),i?i[1]:NaN}function SAe(i,a){return function(f,g){for(var w=f.length,v=[],b=0,E=i[0],S=0;w>0&&E>0&&(S+E+1>g&&(E=Math.max(1,g-S)),v.push(f.substring(w-=E,w+E)),!((S+=E+1)>g));)E=i[b=(b+1)%i.length];return v.reverse().join(a)}}function _Ae(i){return function(a){return a.replace(/[0-9]/g,function(f){return i[+f]})}}var AAe=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function SW(i){if(!(a=AAe.exec(i)))throw new Error("invalid format: "+i);var a;return new H0t({fill:a[1],align:a[2],sign:a[3],symbol:a[4],zero:a[5],width:a[6],comma:a[7],precision:a[8]&&a[8].slice(1),trim:a[9],type:a[10]})}SW.prototype=H0t.prototype;function H0t(i){this.fill=i.fill===void 0?" ":i.fill+"",this.align=i.align===void 0?">":i.align+"",this.sign=i.sign===void 0?"-":i.sign+"",this.symbol=i.symbol===void 0?"":i.symbol+"",this.zero=!!i.zero,this.width=i.width===void 0?void 0:+i.width,this.comma=!!i.comma,this.precision=i.precision===void 0?void 0:+i.precision,this.trim=!!i.trim,this.type=i.type===void 0?"":i.type+""}H0t.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function LAe(i){t:for(var a=i.length,f=1,g=-1,w;f<a;++f)switch(i[f]){case".":g=w=f;break;case"0":g===0&&(g=f),w=f;break;default:if(!+i[f])break t;g>0&&(g=0);break}return g>0?i.slice(0,g)+i.slice(w+1):i}var xNt;function DAe(i,a){var f=CW(i,a);if(!f)return i+"";var g=f[0],w=f[1],v=w-(xNt=Math.max(-8,Math.min(8,Math.floor(w/3)))*3)+1,b=g.length;return v===b?g:v>b?g+new Array(v-b+1).join("0"):v>0?g.slice(0,v)+"."+g.slice(v):"0."+new Array(1-v).join("0")+CW(i,Math.max(0,a+v-1))[0]}function kNt(i,a){var f=CW(i,a);if(!f)return i+"";var g=f[0],w=f[1];return w<0?"0."+new Array(-w).join("0")+g:g.length>w+1?g.slice(0,w+1)+"."+g.slice(w+1):g+new Array(w-g.length+2).join("0")}const ENt={"%":(i,a)=>(i*100).toFixed(a),b:i=>Math.round(i).toString(2),c:i=>i+"",d:CAe,e:(i,a)=>i.toExponential(a),f:(i,a)=>i.toFixed(a),g:(i,a)=>i.toPrecision(a),o:i=>Math.round(i).toString(8),p:(i,a)=>kNt(i*100,a),r:kNt,s:DAe,X:i=>Math.round(i).toString(16).toUpperCase(),x:i=>Math.round(i).toString(16)};function TNt(i){return i}var CNt=Array.prototype.map,SNt=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function MAe(i){var a=i.grouping===void 0||i.thousands===void 0?TNt:SAe(CNt.call(i.grouping,Number),i.thousands+""),f=i.currency===void 0?"":i.currency[0]+"",g=i.currency===void 0?"":i.currency[1]+"",w=i.decimal===void 0?".":i.decimal+"",v=i.numerals===void 0?TNt:_Ae(CNt.call(i.numerals,String)),b=i.percent===void 0?"%":i.percent+"",E=i.minus===void 0?"−":i.minus+"",S=i.nan===void 0?"NaN":i.nan+"";function _(F){F=SW(F);var R=F.fill,B=F.align,z=F.sign,Y=F.symbol,nt=F.zero,ot=F.width,ft=F.comma,wt=F.precision,mt=F.trim,ct=F.type;ct==="n"?(ft=!0,ct="g"):ENt[ct]||(wt===void 0&&(wt=12),mt=!0,ct="g"),(nt||R==="0"&&B==="=")&&(nt=!0,R="0",B="=");var rt=Y==="$"?f:Y==="#"&&/[boxX]/.test(ct)?"0"+ct.toLowerCase():"",it=Y==="$"?g:/[%p]/.test(ct)?b:"",gt=ENt[ct],Q=/[defgprs%]/.test(ct);wt=wt===void 0?6:/[gprs]/.test(ct)?Math.max(1,Math.min(21,wt)):Math.max(0,Math.min(20,wt));function dt(K){var yt=rt,V=it,Ot,It,jt;if(ct==="c")V=gt(K)+V,K="";else{K=+K;var xt=K<0||1/K<0;if(K=isNaN(K)?S:gt(Math.abs(K),wt),mt&&(K=LAe(K)),xt&&+K==0&&z!=="+"&&(xt=!1),yt=(xt?z==="("?z:E:z==="-"||z==="("?"":z)+yt,V=(ct==="s"?SNt[8+xNt/3]:"")+V+(xt&&z==="("?")":""),Q){for(Ot=-1,It=K.length;++Ot<It;)if(jt=K.charCodeAt(Ot),48>jt||jt>57){V=(jt===46?w+K.slice(Ot+1):K.slice(Ot))+V,K=K.slice(0,Ot);break}}}ft&&!nt&&(K=a(K,1/0));var Ft=yt.length+K.length+V.length,Ct=Ft<ot?new Array(ot-Ft+1).join(R):"";switch(ft&&nt&&(K=a(Ct+K,Ct.length?ot-V.length:1/0),Ct=""),B){case"<":K=yt+K+V+Ct;break;case"=":K=yt+Ct+K+V;break;case"^":K=Ct.slice(0,Ft=Ct.length>>1)+yt+K+V+Ct.slice(Ft);break;default:K=Ct+yt+K+V;break}return v(K)}return dt.toString=function(){return F+""},dt}function M(F,R){var B=_((F=SW(F),F.type="f",F)),z=Math.max(-8,Math.min(8,Math.floor(qL(R)/3)))*3,Y=Math.pow(10,-z),nt=SNt[8+z/3];return function(ot){return B(Y*ot)+nt}}return{format:_,formatPrefix:M}}var _W,_Nt,ANt;IAe({thousands:",",grouping:[3],currency:["$",""]});function IAe(i){return _W=MAe(i),_Nt=_W.format,ANt=_W.formatPrefix,_W}function OAe(i){return Math.max(0,-qL(Math.abs(i)))}function NAe(i,a){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(qL(a)/3)))*3-qL(Math.abs(i)))}function PAe(i,a){return i=Math.abs(i),a=Math.abs(a)-i,Math.max(0,qL(a)-qL(i))+1}function AW(i,a){switch(arguments.length){case 0:break;case 1:this.range(i);break;default:this.range(a).domain(i);break}return this}const LNt=Symbol("implicit");function oF(){var i=new xOt,a=[],f=[],g=LNt;function w(v){let b=i.get(v);if(b===void 0){if(g!==LNt)return g;i.set(v,b=a.push(v)-1)}return f[b%f.length]}return w.domain=function(v){if(!arguments.length)return a.slice();a=[],i=new xOt;for(const b of v)i.has(b)||i.set(b,a.push(b)-1);return w},w.range=function(v){return arguments.length?(f=Array.from(v),w):f.slice()},w.unknown=function(v){return arguments.length?(g=v,w):g},w.copy=function(){return oF(a,f).unknown(g)},AW.apply(w,arguments),w}function V0t(){var i=oF().unknown(void 0),a=i.domain,f=i.range,g=0,w=1,v,b,E=!1,S=0,_=0,M=.5;delete i.unknown;function F(){var R=a().length,B=w<g,z=B?w:g,Y=B?g:w;v=(Y-z)/Math.max(1,R-S+_*2),E&&(v=Math.floor(v)),z+=(Y-z-v*(R-S))*M,b=v*(1-S),E&&(z=Math.round(z),b=Math.round(b));var nt=R9e(R).map(function(ot){return z+v*ot});return f(B?nt.reverse():nt)}return i.domain=function(R){return arguments.length?(a(R),F()):a()},i.range=function(R){return arguments.length?([g,w]=R,g=+g,w=+w,F()):[g,w]},i.rangeRound=function(R){return[g,w]=R,g=+g,w=+w,E=!0,F()},i.bandwidth=function(){return b},i.step=function(){return v},i.round=function(R){return arguments.length?(E=!!R,F()):E},i.padding=function(R){return arguments.length?(S=Math.min(1,_=+R),F()):S},i.paddingInner=function(R){return arguments.length?(S=Math.min(1,R),F()):S},i.paddingOuter=function(R){return arguments.length?(_=+R,F()):_},i.align=function(R){return arguments.length?(M=Math.max(0,Math.min(1,R)),F()):M},i.copy=function(){return V0t(a(),[g,w]).round(E).paddingInner(S).paddingOuter(_).align(M)},AW.apply(F(),arguments)}function FAe(i){return function(){return i}}function BAe(i){return+i}var DNt=[0,1];function HL(i){return i}function U0t(i,a){return(a-=i=+i)?function(f){return(f-i)/a}:FAe(isNaN(a)?NaN:.5)}function RAe(i,a){var f;return i>a&&(f=i,i=a,a=f),function(g){return Math.max(i,Math.min(a,g))}}function jAe(i,a,f){var g=i[0],w=i[1],v=a[0],b=a[1];return w<g?(g=U0t(w,g),v=f(b,v)):(g=U0t(g,w),v=f(v,b)),function(E){return v(g(E))}}function $Ae(i,a,f){var g=Math.min(i.length,a.length)-1,w=new Array(g),v=new Array(g),b=-1;for(i[g]<i[0]&&(i=i.slice().reverse(),a=a.slice().reverse());++b<g;)w[b]=U0t(i[b],i[b+1]),v[b]=f(a[b],a[b+1]);return function(E){var S=A9e(i,E,1,g)-1;return v[S](w[S](E))}}function MNt(i,a){return a.domain(i.domain()).range(i.range()).interpolate(i.interpolate()).clamp(i.clamp()).unknown(i.unknown())}function zAe(){var i=DNt,a=DNt,f=O0t,g,w,v,b=HL,E,S,_;function M(){var R=Math.min(i.length,a.length);return b!==HL&&(b=RAe(i[0],i[R-1])),E=R>2?$Ae:jAe,S=_=null,F}function F(R){return R==null||isNaN(R=+R)?v:(S||(S=E(i.map(g),a,f)))(g(b(R)))}return F.invert=function(R){return b(w((_||(_=E(a,i.map(g),$v)))(R)))},F.domain=function(R){return arguments.length?(i=Array.from(R,BAe),M()):i.slice()},F.range=function(R){return arguments.length?(a=Array.from(R),M()):a.slice()},F.rangeRound=function(R){return a=Array.from(R),f=ZSe,M()},F.clamp=function(R){return arguments.length?(b=R?!0:HL,M()):b!==HL},F.interpolate=function(R){return arguments.length?(f=R,M()):f},F.unknown=function(R){return arguments.length?(v=R,F):v},function(R,B){return g=R,w=B,M()}}function INt(){return zAe()(HL,HL)}function qAe(i,a,f,g){var w=w0t(i,a,f),v;switch(g=SW(g??",f"),g.type){case"s":{var b=Math.max(Math.abs(i),Math.abs(a));return g.precision==null&&!isNaN(v=NAe(w,b))&&(g.precision=v),ANt(g,b)}case"":case"e":case"g":case"p":case"r":{g.precision==null&&!isNaN(v=PAe(w,Math.max(Math.abs(i),Math.abs(a))))&&(g.precision=v-(g.type==="e"));break}case"f":case"%":{g.precision==null&&!isNaN(v=OAe(w))&&(g.precision=v-(g.type==="%")*2);break}}return _Nt(g)}function HAe(i){var a=i.domain;return i.ticks=function(f){var g=a();return P9e(g[0],g[g.length-1],f??10)},i.tickFormat=function(f,g){var w=a();return qAe(w[0],w[w.length-1],f??10,g)},i.nice=function(f){f==null&&(f=10);var g=a(),w=0,v=g.length-1,b=g[w],E=g[v],S,_,M=10;for(E<b&&(_=b,b=E,E=_,_=w,w=v,v=_);M-- >0;){if(_=b0t(b,E,f),_===S)return g[w]=b,g[v]=E,a(g);if(_>0)b=Math.floor(b/_)*_,E=Math.ceil(E/_)*_;else if(_<0)b=Math.ceil(b*_)/_,E=Math.floor(E*_)/_;else break;S=_}return i},i}function VL(){var i=INt();return i.copy=function(){return MNt(i,VL())},AW.apply(i,arguments),HAe(i)}function VAe(i,a){i=i.slice();var f=0,g=i.length-1,w=i[f],v=i[g],b;return v<w&&(b=f,f=g,g=b,b=w,w=v,v=b),i[f]=a.floor(w),i[g]=a.ceil(v),i}const G0t=new Date,K0t=new Date;function R1(i,a,f,g){function w(v){return i(v=arguments.length===0?new Date:new Date(+v)),v}return w.floor=v=>(i(v=new Date(+v)),v),w.ceil=v=>(i(v=new Date(v-1)),a(v,1),i(v),v),w.round=v=>{const b=w(v),E=w.ceil(v);return v-b<E-v?b:E},w.offset=(v,b)=>(a(v=new Date(+v),b==null?1:Math.floor(b)),v),w.range=(v,b,E)=>{const S=[];if(v=w.ceil(v),E=E==null?1:Math.floor(E),!(v<b)||!(E>0))return S;let _;do S.push(_=new Date(+v)),a(v,E),i(v);while(_<v&&v<b);return S},w.filter=v=>R1(b=>{if(b>=b)for(;i(b),!v(b);)b.setTime(b-1)},(b,E)=>{if(b>=b)if(E<0)for(;++E<=0;)for(;a(b,-1),!v(b););else for(;--E>=0;)for(;a(b,1),!v(b););}),f&&(w.count=(v,b)=>(G0t.setTime(+v),K0t.setTime(+b),i(G0t),i(K0t),Math.floor(f(G0t,K0t))),w.every=v=>(v=Math.floor(v),!isFinite(v)||!(v>0)?null:v>1?w.filter(g?b=>g(b)%v===0:b=>w.count(0,b)%v===0):w)),w}const UL=R1(()=>{},(i,a)=>{i.setTime(+i+a)},(i,a)=>a-i);UL.every=i=>(i=Math.floor(i),!isFinite(i)||!(i>0)?null:i>1?R1(a=>{a.setTime(Math.floor(a/i)*i)},(a,f)=>{a.setTime(+a+f*i)},(a,f)=>(f-a)/i):UL),UL.range;const Tx=1e3,Kw=Tx*60,Cx=Kw*60,Sx=Cx*24,W0t=Sx*7,ONt=Sx*30,Y0t=Sx*365,f8=R1(i=>{i.setTime(i-i.getMilliseconds())},(i,a)=>{i.setTime(+i+a*Tx)},(i,a)=>(a-i)/Tx,i=>i.getUTCSeconds());f8.range;const cF=R1(i=>{i.setTime(i-i.getMilliseconds()-i.getSeconds()*Tx)},(i,a)=>{i.setTime(+i+a*Kw)},(i,a)=>(a-i)/Kw,i=>i.getMinutes());cF.range,R1(i=>{i.setUTCSeconds(0,0)},(i,a)=>{i.setTime(+i+a*Kw)},(i,a)=>(a-i)/Kw,i=>i.getUTCMinutes()).range;const uF=R1(i=>{i.setTime(i-i.getMilliseconds()-i.getSeconds()*Tx-i.getMinutes()*Kw)},(i,a)=>{i.setTime(+i+a*Cx)},(i,a)=>(a-i)/Cx,i=>i.getHours());uF.range,R1(i=>{i.setUTCMinutes(0,0,0)},(i,a)=>{i.setTime(+i+a*Cx)},(i,a)=>(a-i)/Cx,i=>i.getUTCHours()).range;const c9=R1(i=>i.setHours(0,0,0,0),(i,a)=>i.setDate(i.getDate()+a),(i,a)=>(a-i-(a.getTimezoneOffset()-i.getTimezoneOffset())*Kw)/Sx,i=>i.getDate()-1);c9.range;const X0t=R1(i=>{i.setUTCHours(0,0,0,0)},(i,a)=>{i.setUTCDate(i.getUTCDate()+a)},(i,a)=>(a-i)/Sx,i=>i.getUTCDate()-1);X0t.range,R1(i=>{i.setUTCHours(0,0,0,0)},(i,a)=>{i.setUTCDate(i.getUTCDate()+a)},(i,a)=>(a-i)/Sx,i=>Math.floor(i/Sx)).range;function u9(i){return R1(a=>{a.setDate(a.getDate()-(a.getDay()+7-i)%7),a.setHours(0,0,0,0)},(a,f)=>{a.setDate(a.getDate()+f*7)},(a,f)=>(f-a-(f.getTimezoneOffset()-a.getTimezoneOffset())*Kw)/W0t)}const lF=u9(0),hF=u9(1),NNt=u9(2),PNt=u9(3),l9=u9(4),FNt=u9(5),BNt=u9(6);lF.range,hF.range,NNt.range,PNt.range,l9.range,FNt.range,BNt.range;function h9(i){return R1(a=>{a.setUTCDate(a.getUTCDate()-(a.getUTCDay()+7-i)%7),a.setUTCHours(0,0,0,0)},(a,f)=>{a.setUTCDate(a.getUTCDate()+f*7)},(a,f)=>(f-a)/W0t)}const RNt=h9(0),LW=h9(1),UAe=h9(2),GAe=h9(3),GL=h9(4),KAe=h9(5),WAe=h9(6);RNt.range,LW.range,UAe.range,GAe.range,GL.range,KAe.range,WAe.range;const fF=R1(i=>{i.setDate(1),i.setHours(0,0,0,0)},(i,a)=>{i.setMonth(i.getMonth()+a)},(i,a)=>a.getMonth()-i.getMonth()+(a.getFullYear()-i.getFullYear())*12,i=>i.getMonth());fF.range,R1(i=>{i.setUTCDate(1),i.setUTCHours(0,0,0,0)},(i,a)=>{i.setUTCMonth(i.getUTCMonth()+a)},(i,a)=>a.getUTCMonth()-i.getUTCMonth()+(a.getUTCFullYear()-i.getUTCFullYear())*12,i=>i.getUTCMonth()).range;const _x=R1(i=>{i.setMonth(0,1),i.setHours(0,0,0,0)},(i,a)=>{i.setFullYear(i.getFullYear()+a)},(i,a)=>a.getFullYear()-i.getFullYear(),i=>i.getFullYear());_x.every=i=>!isFinite(i=Math.floor(i))||!(i>0)?null:R1(a=>{a.setFullYear(Math.floor(a.getFullYear()/i)*i),a.setMonth(0,1),a.setHours(0,0,0,0)},(a,f)=>{a.setFullYear(a.getFullYear()+f*i)}),_x.range;const f9=R1(i=>{i.setUTCMonth(0,1),i.setUTCHours(0,0,0,0)},(i,a)=>{i.setUTCFullYear(i.getUTCFullYear()+a)},(i,a)=>a.getUTCFullYear()-i.getUTCFullYear(),i=>i.getUTCFullYear());f9.every=i=>!isFinite(i=Math.floor(i))||!(i>0)?null:R1(a=>{a.setUTCFullYear(Math.floor(a.getUTCFullYear()/i)*i),a.setUTCMonth(0,1),a.setUTCHours(0,0,0,0)},(a,f)=>{a.setUTCFullYear(a.getUTCFullYear()+f*i)}),f9.range;function YAe(i,a,f,g,w,v){const b=[[f8,1,Tx],[f8,5,5*Tx],[f8,15,15*Tx],[f8,30,30*Tx],[v,1,Kw],[v,5,5*Kw],[v,15,15*Kw],[v,30,30*Kw],[w,1,Cx],[w,3,3*Cx],[w,6,6*Cx],[w,12,12*Cx],[g,1,Sx],[g,2,2*Sx],[f,1,W0t],[a,1,ONt],[a,3,3*ONt],[i,1,Y0t]];function E(_,M,F){const R=M<_;R&&([_,M]=[M,_]);const B=F&&typeof F.range=="function"?F:S(_,M,F),z=B?B.range(_,+M+1):[];return R?z.reverse():z}function S(_,M,F){const R=Math.abs(M-_)/F,B=p0t(([,,nt])=>nt).right(b,R);if(B===b.length)return i.every(w0t(_/Y0t,M/Y0t,F));if(B===0)return UL.every(Math.max(w0t(_,M,F),1));const[z,Y]=b[R/b[B-1][2]<b[B][2]/R?B-1:B];return z.every(Y)}return[E,S]}const[XAe,QAe]=YAe(_x,fF,lF,c9,uF,cF);function Q0t(i){if(0<=i.y&&i.y<100){var a=new Date(-1,i.m,i.d,i.H,i.M,i.S,i.L);return a.setFullYear(i.y),a}return new Date(i.y,i.m,i.d,i.H,i.M,i.S,i.L)}function J0t(i){if(0<=i.y&&i.y<100){var a=new Date(Date.UTC(-1,i.m,i.d,i.H,i.M,i.S,i.L));return a.setUTCFullYear(i.y),a}return new Date(Date.UTC(i.y,i.m,i.d,i.H,i.M,i.S,i.L))}function dF(i,a,f){return{y:i,m:a,d:f,H:0,M:0,S:0,L:0}}function JAe(i){var a=i.dateTime,f=i.date,g=i.time,w=i.periods,v=i.days,b=i.shortDays,E=i.months,S=i.shortMonths,_=gF(w),M=pF(w),F=gF(v),R=pF(v),B=gF(b),z=pF(b),Y=gF(E),nt=pF(E),ot=gF(S),ft=pF(S),wt={a:xt,A:Ft,b:Ct,B:kt,c:null,d:VNt,e:VNt,f:xLe,g:MLe,G:OLe,H:mLe,I:vLe,j:yLe,L:UNt,m:kLe,M:ELe,p:Gt,q:Fe,Q:QNt,s:JNt,S:TLe,u:CLe,U:SLe,V:_Le,w:ALe,W:LLe,x:null,X:null,y:DLe,Y:ILe,Z:NLe,"%":XNt},mt={a:Mt,A:pn,b:Ae,B:ye,c:null,d:KNt,e:KNt,f:RLe,g:WLe,G:XLe,H:PLe,I:FLe,j:BLe,L:WNt,m:jLe,M:$Le,p:tn,q:sn,Q:QNt,s:JNt,S:zLe,u:qLe,U:HLe,V:VLe,w:ULe,W:GLe,x:null,X:null,y:KLe,Y:YLe,Z:QLe,"%":XNt},ct={a:dt,A:K,b:yt,B:V,c:Ot,d:qNt,e:qNt,f:gLe,g:zNt,G:$Nt,H:HNt,I:HNt,j:lLe,L:dLe,m:uLe,M:hLe,p:Q,q:cLe,Q:bLe,s:wLe,S:fLe,u:rLe,U:iLe,V:sLe,w:nLe,W:aLe,x:It,X:jt,y:zNt,Y:$Nt,Z:oLe,"%":pLe};wt.x=rt(f,wt),wt.X=rt(g,wt),wt.c=rt(a,wt),mt.x=rt(f,mt),mt.X=rt(g,mt),mt.c=rt(a,mt);function rt(be,Ne){return function(Xt){var _e=[],xe=-1,Mn=0,ce=be.length,Br,we,Fi;for(Xt instanceof Date||(Xt=new Date(+Xt));++xe<ce;)be.charCodeAt(xe)===37&&(_e.push(be.slice(Mn,xe)),(we=jNt[Br=be.charAt(++xe)])!=null?Br=be.charAt(++xe):we=Br==="e"?" ":"0",(Fi=Ne[Br])&&(Br=Fi(Xt,we)),_e.push(Br),Mn=xe+1);return _e.push(be.slice(Mn,xe)),_e.join("")}}function it(be,Ne){return function(Xt){var _e=dF(1900,void 0,1),xe=gt(_e,be,Xt+="",0),Mn,ce;if(xe!=Xt.length)return null;if("Q"in _e)return new Date(_e.Q);if("s"in _e)return new Date(_e.s*1e3+("L"in _e?_e.L:0));if(Ne&&!("Z"in _e)&&(_e.Z=0),"p"in _e&&(_e.H=_e.H%12+_e.p*12),_e.m===void 0&&(_e.m="q"in _e?_e.q:0),"V"in _e){if(_e.V<1||_e.V>53)return null;"w"in _e||(_e.w=1),"Z"in _e?(Mn=J0t(dF(_e.y,0,1)),ce=Mn.getUTCDay(),Mn=ce>4||ce===0?LW.ceil(Mn):LW(Mn),Mn=X0t.offset(Mn,(_e.V-1)*7),_e.y=Mn.getUTCFullYear(),_e.m=Mn.getUTCMonth(),_e.d=Mn.getUTCDate()+(_e.w+6)%7):(Mn=Q0t(dF(_e.y,0,1)),ce=Mn.getDay(),Mn=ce>4||ce===0?hF.ceil(Mn):hF(Mn),Mn=c9.offset(Mn,(_e.V-1)*7),_e.y=Mn.getFullYear(),_e.m=Mn.getMonth(),_e.d=Mn.getDate()+(_e.w+6)%7)}else("W"in _e||"U"in _e)&&("w"in _e||(_e.w="u"in _e?_e.u%7:"W"in _e?1:0),ce="Z"in _e?J0t(dF(_e.y,0,1)).getUTCDay():Q0t(dF(_e.y,0,1)).getDay(),_e.m=0,_e.d="W"in _e?(_e.w+6)%7+_e.W*7-(ce+5)%7:_e.w+_e.U*7-(ce+6)%7);return"Z"in _e?(_e.H+=_e.Z/100|0,_e.M+=_e.Z%100,J0t(_e)):Q0t(_e)}}function gt(be,Ne,Xt,_e){for(var xe=0,Mn=Ne.length,ce=Xt.length,Br,we;xe<Mn;){if(_e>=ce)return-1;if(Br=Ne.charCodeAt(xe++),Br===37){if(Br=Ne.charAt(xe++),we=ct[Br in jNt?Ne.charAt(xe++):Br],!we||(_e=we(be,Xt,_e))<0)return-1}else if(Br!=Xt.charCodeAt(_e++))return-1}return _e}function Q(be,Ne,Xt){var _e=_.exec(Ne.slice(Xt));return _e?(be.p=M.get(_e[0].toLowerCase()),Xt+_e[0].length):-1}function dt(be,Ne,Xt){var _e=B.exec(Ne.slice(Xt));return _e?(be.w=z.get(_e[0].toLowerCase()),Xt+_e[0].length):-1}function K(be,Ne,Xt){var _e=F.exec(Ne.slice(Xt));return _e?(be.w=R.get(_e[0].toLowerCase()),Xt+_e[0].length):-1}function yt(be,Ne,Xt){var _e=ot.exec(Ne.slice(Xt));return _e?(be.m=ft.get(_e[0].toLowerCase()),Xt+_e[0].length):-1}function V(be,Ne,Xt){var _e=Y.exec(Ne.slice(Xt));return _e?(be.m=nt.get(_e[0].toLowerCase()),Xt+_e[0].length):-1}function Ot(be,Ne,Xt){return gt(be,a,Ne,Xt)}function It(be,Ne,Xt){return gt(be,f,Ne,Xt)}function jt(be,Ne,Xt){return gt(be,g,Ne,Xt)}function xt(be){return b[be.getDay()]}function Ft(be){return v[be.getDay()]}function Ct(be){return S[be.getMonth()]}function kt(be){return E[be.getMonth()]}function Gt(be){return w[+(be.getHours()>=12)]}function Fe(be){return 1+~~(be.getMonth()/3)}function Mt(be){return b[be.getUTCDay()]}function pn(be){return v[be.getUTCDay()]}function Ae(be){return S[be.getUTCMonth()]}function ye(be){return E[be.getUTCMonth()]}function tn(be){return w[+(be.getUTCHours()>=12)]}function sn(be){return 1+~~(be.getUTCMonth()/3)}return{format:function(be){var Ne=rt(be+="",wt);return Ne.toString=function(){return be},Ne},parse:function(be){var Ne=it(be+="",!1);return Ne.toString=function(){return be},Ne},utcFormat:function(be){var Ne=rt(be+="",mt);return Ne.toString=function(){return be},Ne},utcParse:function(be){var Ne=it(be+="",!0);return Ne.toString=function(){return be},Ne}}}var jNt={"-":"",_:" ",0:"0"},Ad=/^\s*\d+/,ZAe=/^%/,tLe=/[\\^$*+?|[\]().{}]/g;function Jc(i,a,f){var g=i<0?"-":"",w=(g?-i:i)+"",v=w.length;return g+(v<f?new Array(f-v+1).join(a)+w:w)}function eLe(i){return i.replace(tLe,"\\$&")}function gF(i){return new RegExp("^(?:"+i.map(eLe).join("|")+")","i")}function pF(i){return new Map(i.map((a,f)=>[a.toLowerCase(),f]))}function nLe(i,a,f){var g=Ad.exec(a.slice(f,f+1));return g?(i.w=+g[0],f+g[0].length):-1}function rLe(i,a,f){var g=Ad.exec(a.slice(f,f+1));return g?(i.u=+g[0],f+g[0].length):-1}function iLe(i,a,f){var g=Ad.exec(a.slice(f,f+2));return g?(i.U=+g[0],f+g[0].length):-1}function sLe(i,a,f){var g=Ad.exec(a.slice(f,f+2));return g?(i.V=+g[0],f+g[0].length):-1}function aLe(i,a,f){var g=Ad.exec(a.slice(f,f+2));return g?(i.W=+g[0],f+g[0].length):-1}function $Nt(i,a,f){var g=Ad.exec(a.slice(f,f+4));return g?(i.y=+g[0],f+g[0].length):-1}function zNt(i,a,f){var g=Ad.exec(a.slice(f,f+2));return g?(i.y=+g[0]+(+g[0]>68?1900:2e3),f+g[0].length):-1}function oLe(i,a,f){var g=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(a.slice(f,f+6));return g?(i.Z=g[1]?0:-(g[2]+(g[3]||"00")),f+g[0].length):-1}function cLe(i,a,f){var g=Ad.exec(a.slice(f,f+1));return g?(i.q=g[0]*3-3,f+g[0].length):-1}function uLe(i,a,f){var g=Ad.exec(a.slice(f,f+2));return g?(i.m=g[0]-1,f+g[0].length):-1}function qNt(i,a,f){var g=Ad.exec(a.slice(f,f+2));return g?(i.d=+g[0],f+g[0].length):-1}function lLe(i,a,f){var g=Ad.exec(a.slice(f,f+3));return g?(i.m=0,i.d=+g[0],f+g[0].length):-1}function HNt(i,a,f){var g=Ad.exec(a.slice(f,f+2));return g?(i.H=+g[0],f+g[0].length):-1}function hLe(i,a,f){var g=Ad.exec(a.slice(f,f+2));return g?(i.M=+g[0],f+g[0].length):-1}function fLe(i,a,f){var g=Ad.exec(a.slice(f,f+2));return g?(i.S=+g[0],f+g[0].length):-1}function dLe(i,a,f){var g=Ad.exec(a.slice(f,f+3));return g?(i.L=+g[0],f+g[0].length):-1}function gLe(i,a,f){var g=Ad.exec(a.slice(f,f+6));return g?(i.L=Math.floor(g[0]/1e3),f+g[0].length):-1}function pLe(i,a,f){var g=ZAe.exec(a.slice(f,f+1));return g?f+g[0].length:-1}function bLe(i,a,f){var g=Ad.exec(a.slice(f));return g?(i.Q=+g[0],f+g[0].length):-1}function wLe(i,a,f){var g=Ad.exec(a.slice(f));return g?(i.s=+g[0],f+g[0].length):-1}function VNt(i,a){return Jc(i.getDate(),a,2)}function mLe(i,a){return Jc(i.getHours(),a,2)}function vLe(i,a){return Jc(i.getHours()%12||12,a,2)}function yLe(i,a){return Jc(1+c9.count(_x(i),i),a,3)}function UNt(i,a){return Jc(i.getMilliseconds(),a,3)}function xLe(i,a){return UNt(i,a)+"000"}function kLe(i,a){return Jc(i.getMonth()+1,a,2)}function ELe(i,a){return Jc(i.getMinutes(),a,2)}function TLe(i,a){return Jc(i.getSeconds(),a,2)}function CLe(i){var a=i.getDay();return a===0?7:a}function SLe(i,a){return Jc(lF.count(_x(i)-1,i),a,2)}function GNt(i){var a=i.getDay();return a>=4||a===0?l9(i):l9.ceil(i)}function _Le(i,a){return i=GNt(i),Jc(l9.count(_x(i),i)+(_x(i).getDay()===4),a,2)}function ALe(i){return i.getDay()}function LLe(i,a){return Jc(hF.count(_x(i)-1,i),a,2)}function DLe(i,a){return Jc(i.getFullYear()%100,a,2)}function MLe(i,a){return i=GNt(i),Jc(i.getFullYear()%100,a,2)}function ILe(i,a){return Jc(i.getFullYear()%1e4,a,4)}function OLe(i,a){var f=i.getDay();return i=f>=4||f===0?l9(i):l9.ceil(i),Jc(i.getFullYear()%1e4,a,4)}function NLe(i){var a=i.getTimezoneOffset();return(a>0?"-":(a*=-1,"+"))+Jc(a/60|0,"0",2)+Jc(a%60,"0",2)}function KNt(i,a){return Jc(i.getUTCDate(),a,2)}function PLe(i,a){return Jc(i.getUTCHours(),a,2)}function FLe(i,a){return Jc(i.getUTCHours()%12||12,a,2)}function BLe(i,a){return Jc(1+X0t.count(f9(i),i),a,3)}function WNt(i,a){return Jc(i.getUTCMilliseconds(),a,3)}function RLe(i,a){return WNt(i,a)+"000"}function jLe(i,a){return Jc(i.getUTCMonth()+1,a,2)}function $Le(i,a){return Jc(i.getUTCMinutes(),a,2)}function zLe(i,a){return Jc(i.getUTCSeconds(),a,2)}function qLe(i){var a=i.getUTCDay();return a===0?7:a}function HLe(i,a){return Jc(RNt.count(f9(i)-1,i),a,2)}function YNt(i){var a=i.getUTCDay();return a>=4||a===0?GL(i):GL.ceil(i)}function VLe(i,a){return i=YNt(i),Jc(GL.count(f9(i),i)+(f9(i).getUTCDay()===4),a,2)}function ULe(i){return i.getUTCDay()}function GLe(i,a){return Jc(LW.count(f9(i)-1,i),a,2)}function KLe(i,a){return Jc(i.getUTCFullYear()%100,a,2)}function WLe(i,a){return i=YNt(i),Jc(i.getUTCFullYear()%100,a,2)}function YLe(i,a){return Jc(i.getUTCFullYear()%1e4,a,4)}function XLe(i,a){var f=i.getUTCDay();return i=f>=4||f===0?GL(i):GL.ceil(i),Jc(i.getUTCFullYear()%1e4,a,4)}function QLe(){return"+0000"}function XNt(){return"%"}function QNt(i){return+i}function JNt(i){return Math.floor(+i/1e3)}var KL,DW;JLe({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function JLe(i){return KL=JAe(i),DW=KL.format,KL.parse,KL.utcFormat,KL.utcParse,KL}function ZLe(i){return new Date(i)}function tDe(i){return i instanceof Date?+i:+new Date(+i)}function ZNt(i,a,f,g,w,v,b,E,S,_){var M=INt(),F=M.invert,R=M.domain,B=_(".%L"),z=_(":%S"),Y=_("%I:%M"),nt=_("%I %p"),ot=_("%a %d"),ft=_("%b %d"),wt=_("%B"),mt=_("%Y");function ct(rt){return(S(rt)<rt?B:E(rt)<rt?z:b(rt)<rt?Y:v(rt)<rt?nt:g(rt)<rt?w(rt)<rt?ot:ft:f(rt)<rt?wt:mt)(rt)}return M.invert=function(rt){return new Date(F(rt))},M.domain=function(rt){return arguments.length?R(Array.from(rt,tDe)):R().map(ZLe)},M.ticks=function(rt){var it=R();return i(it[0],it[it.length-1],rt??10)},M.tickFormat=function(rt,it){return it==null?ct:_(it)},M.nice=function(rt){var it=R();return(!rt||typeof rt.range!="function")&&(rt=a(it[0],it[it.length-1],rt??10)),rt?R(VAe(it,rt)):M},M.copy=function(){return MNt(M,ZNt(i,a,f,g,w,v,b,E,S,_))},M}function eDe(){return AW.apply(ZNt(XAe,QAe,_x,fF,lF,c9,uF,cF,f8,DW).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}function nDe(i){for(var a=i.length/6|0,f=new Array(a),g=0;g<a;)f[g]="#"+i.slice(g*6,++g*6);return f}const tPt=nDe("4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab");function kf(i){return function(){return i}}const ePt=Math.abs,ng=Math.atan2,d9=Math.cos,rDe=Math.max,Z0t=Math.min,t4=Math.sin,WL=Math.sqrt,rg=1e-12,bF=Math.PI,MW=bF/2,IW=2*bF;function iDe(i){return i>1?0:i<-1?bF:Math.acos(i)}function nPt(i){return i>=1?MW:i<=-1?-MW:Math.asin(i)}function rPt(i){let a=3;return i.digits=function(f){if(!arguments.length)return a;if(f==null)a=null;else{const g=Math.floor(f);if(!(g>=0))throw new RangeError(`invalid digits: ${f}`);a=g}return i},()=>new yAe(a)}function sDe(i){return i.innerRadius}function aDe(i){return i.outerRadius}function oDe(i){return i.startAngle}function cDe(i){return i.endAngle}function uDe(i){return i&&i.padAngle}function lDe(i,a,f,g,w,v,b,E){var S=f-i,_=g-a,M=b-w,F=E-v,R=F*S-M*_;if(!(R*R<rg))return R=(M*(a-v)-F*(i-w))/R,[i+R*S,a+R*_]}function OW(i,a,f,g,w,v,b){var E=i-f,S=a-g,_=(b?v:-v)/WL(E*E+S*S),M=_*S,F=-_*E,R=i+M,B=a+F,z=f+M,Y=g+F,nt=(R+z)/2,ot=(B+Y)/2,ft=z-R,wt=Y-B,mt=ft*ft+wt*wt,ct=w-v,rt=R*Y-z*B,it=(wt<0?-1:1)*WL(rDe(0,ct*ct*mt-rt*rt)),gt=(rt*wt-ft*it)/mt,Q=(-rt*ft-wt*it)/mt,dt=(rt*wt+ft*it)/mt,K=(-rt*ft+wt*it)/mt,yt=gt-nt,V=Q-ot,Ot=dt-nt,It=K-ot;return yt*yt+V*V>Ot*Ot+It*It&&(gt=dt,Q=K),{cx:gt,cy:Q,x01:-M,y01:-F,x11:gt*(w/ct-1),y11:Q*(w/ct-1)}}function YL(){var i=sDe,a=aDe,f=kf(0),g=null,w=oDe,v=cDe,b=uDe,E=null,S=rPt(_);function _(){var M,F,R=+i.apply(this,arguments),B=+a.apply(this,arguments),z=w.apply(this,arguments)-MW,Y=v.apply(this,arguments)-MW,nt=ePt(Y-z),ot=Y>z;if(E||(E=M=S()),B<R&&(F=B,B=R,R=F),!(B>rg))E.moveTo(0,0);else if(nt>IW-rg)E.moveTo(B*d9(z),B*t4(z)),E.arc(0,0,B,z,Y,!ot),R>rg&&(E.moveTo(R*d9(Y),R*t4(Y)),E.arc(0,0,R,Y,z,ot));else{var ft=z,wt=Y,mt=z,ct=Y,rt=nt,it=nt,gt=b.apply(this,arguments)/2,Q=gt>rg&&(g?+g.apply(this,arguments):WL(R*R+B*B)),dt=Z0t(ePt(B-R)/2,+f.apply(this,arguments)),K=dt,yt=dt,V,Ot;if(Q>rg){var It=nPt(Q/R*t4(gt)),jt=nPt(Q/B*t4(gt));(rt-=It*2)>rg?(It*=ot?1:-1,mt+=It,ct-=It):(rt=0,mt=ct=(z+Y)/2),(it-=jt*2)>rg?(jt*=ot?1:-1,ft+=jt,wt-=jt):(it=0,ft=wt=(z+Y)/2)}var xt=B*d9(ft),Ft=B*t4(ft),Ct=R*d9(ct),kt=R*t4(ct);if(dt>rg){var Gt=B*d9(wt),Fe=B*t4(wt),Mt=R*d9(mt),pn=R*t4(mt),Ae;if(nt<bF)if(Ae=lDe(xt,Ft,Mt,pn,Gt,Fe,Ct,kt)){var ye=xt-Ae[0],tn=Ft-Ae[1],sn=Gt-Ae[0],be=Fe-Ae[1],Ne=1/t4(iDe((ye*sn+tn*be)/(WL(ye*ye+tn*tn)*WL(sn*sn+be*be)))/2),Xt=WL(Ae[0]*Ae[0]+Ae[1]*Ae[1]);K=Z0t(dt,(R-Xt)/(Ne-1)),yt=Z0t(dt,(B-Xt)/(Ne+1))}else K=yt=0}it>rg?yt>rg?(V=OW(Mt,pn,xt,Ft,B,yt,ot),Ot=OW(Gt,Fe,Ct,kt,B,yt,ot),E.moveTo(V.cx+V.x01,V.cy+V.y01),yt<dt?E.arc(V.cx,V.cy,yt,ng(V.y01,V.x01),ng(Ot.y01,Ot.x01),!ot):(E.arc(V.cx,V.cy,yt,ng(V.y01,V.x01),ng(V.y11,V.x11),!ot),E.arc(0,0,B,ng(V.cy+V.y11,V.cx+V.x11),ng(Ot.cy+Ot.y11,Ot.cx+Ot.x11),!ot),E.arc(Ot.cx,Ot.cy,yt,ng(Ot.y11,Ot.x11),ng(Ot.y01,Ot.x01),!ot))):(E.moveTo(xt,Ft),E.arc(0,0,B,ft,wt,!ot)):E.moveTo(xt,Ft),!(R>rg)||!(rt>rg)?E.lineTo(Ct,kt):K>rg?(V=OW(Ct,kt,Gt,Fe,R,-K,ot),Ot=OW(xt,Ft,Mt,pn,R,-K,ot),E.lineTo(V.cx+V.x01,V.cy+V.y01),K<dt?E.arc(V.cx,V.cy,K,ng(V.y01,V.x01),ng(Ot.y01,Ot.x01),!ot):(E.arc(V.cx,V.cy,K,ng(V.y01,V.x01),ng(V.y11,V.x11),!ot),E.arc(0,0,R,ng(V.cy+V.y11,V.cx+V.x11),ng(Ot.cy+Ot.y11,Ot.cx+Ot.x11),ot),E.arc(Ot.cx,Ot.cy,K,ng(Ot.y11,Ot.x11),ng(Ot.y01,Ot.x01),!ot))):E.arc(0,0,R,ct,mt,ot)}if(E.closePath(),M)return E=null,M+""||null}return _.centroid=function(){var M=(+i.apply(this,arguments)+ +a.apply(this,arguments))/2,F=(+w.apply(this,arguments)+ +v.apply(this,arguments))/2-bF/2;return[d9(F)*M,t4(F)*M]},_.innerRadius=function(M){return arguments.length?(i=typeof M=="function"?M:kf(+M),_):i},_.outerRadius=function(M){return arguments.length?(a=typeof M=="function"?M:kf(+M),_):a},_.cornerRadius=function(M){return arguments.length?(f=typeof M=="function"?M:kf(+M),_):f},_.padRadius=function(M){return arguments.length?(g=M==null?null:typeof M=="function"?M:kf(+M),_):g},_.startAngle=function(M){return arguments.length?(w=typeof M=="function"?M:kf(+M),_):w},_.endAngle=function(M){return arguments.length?(v=typeof M=="function"?M:kf(+M),_):v},_.padAngle=function(M){return arguments.length?(b=typeof M=="function"?M:kf(+M),_):b},_.context=function(M){return arguments.length?(E=M??null,_):E},_}function iPt(i){return typeof i=="object"&&"length"in i?i:Array.from(i)}function sPt(i){this._context=i}sPt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1,this._line?this._context.lineTo(i,a):this._context.moveTo(i,a);break;case 1:this._point=2;default:this._context.lineTo(i,a);break}}};function Kg(i){return new sPt(i)}function hDe(i){return i[0]}function fDe(i){return i[1]}function Ax(i,a){var f=kf(!0),g=null,w=Kg,v=null,b=rPt(E);i=typeof i=="function"?i:i===void 0?hDe:kf(i),a=typeof a=="function"?a:a===void 0?fDe:kf(a);function E(S){var _,M=(S=iPt(S)).length,F,R=!1,B;for(g==null&&(v=w(B=b())),_=0;_<=M;++_)!(_<M&&f(F=S[_],_,S))===R&&((R=!R)?v.lineStart():v.lineEnd()),R&&v.point(+i(F,_,S),+a(F,_,S));if(B)return v=null,B+""||null}return E.x=function(S){return arguments.length?(i=typeof S=="function"?S:kf(+S),E):i},E.y=function(S){return arguments.length?(a=typeof S=="function"?S:kf(+S),E):a},E.defined=function(S){return arguments.length?(f=typeof S=="function"?S:kf(!!S),E):f},E.curve=function(S){return arguments.length?(w=S,g!=null&&(v=w(g)),E):w},E.context=function(S){return arguments.length?(S==null?g=v=null:v=w(g=S),E):g},E}function dDe(i,a){return a<i?-1:a>i?1:a>=i?0:NaN}function gDe(i){return i}function pDe(){var i=gDe,a=dDe,f=null,g=kf(0),w=kf(IW),v=kf(0);function b(E){var S,_=(E=iPt(E)).length,M,F,R=0,B=new Array(_),z=new Array(_),Y=+g.apply(this,arguments),nt=Math.min(IW,Math.max(-IW,w.apply(this,arguments)-Y)),ot,ft=Math.min(Math.abs(nt)/_,v.apply(this,arguments)),wt=ft*(nt<0?-1:1),mt;for(S=0;S<_;++S)(mt=z[B[S]=S]=+i(E[S],S,E))>0&&(R+=mt);for(a!=null?B.sort(function(ct,rt){return a(z[ct],z[rt])}):f!=null&&B.sort(function(ct,rt){return f(E[ct],E[rt])}),S=0,F=R?(nt-_*wt)/R:0;S<_;++S,Y=ot)M=B[S],mt=z[M],ot=Y+(mt>0?mt*F:0)+wt,z[M]={data:E[M],index:S,value:mt,startAngle:Y,endAngle:ot,padAngle:ft};return z}return b.value=function(E){return arguments.length?(i=typeof E=="function"?E:kf(+E),b):i},b.sortValues=function(E){return arguments.length?(a=E,f=null,b):a},b.sort=function(E){return arguments.length?(f=E,a=null,b):f},b.startAngle=function(E){return arguments.length?(g=typeof E=="function"?E:kf(+E),b):g},b.endAngle=function(E){return arguments.length?(w=typeof E=="function"?E:kf(+E),b):w},b.padAngle=function(E){return arguments.length?(v=typeof E=="function"?E:kf(+E),b):v},b}class aPt{constructor(a,f){this._context=a,this._x=f}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(a,f){switch(a=+a,f=+f,this._point){case 0:{this._point=1,this._line?this._context.lineTo(a,f):this._context.moveTo(a,f);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+a)/2,this._y0,this._x0,f,a,f):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+f)/2,a,this._y0,a,f);break}}this._x0=a,this._y0=f}}function bDe(i){return new aPt(i,!0)}function wDe(i){return new aPt(i,!1)}function d8(){}function NW(i,a,f){i._context.bezierCurveTo((2*i._x0+i._x1)/3,(2*i._y0+i._y1)/3,(i._x0+2*i._x1)/3,(i._y0+2*i._y1)/3,(i._x0+4*i._x1+a)/6,(i._y0+4*i._y1+f)/6)}function PW(i){this._context=i}PW.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:NW(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1,this._line?this._context.lineTo(i,a):this._context.moveTo(i,a);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:NW(this,i,a);break}this._x0=this._x1,this._x1=i,this._y0=this._y1,this._y1=a}};function wF(i){return new PW(i)}function oPt(i){this._context=i}oPt.prototype={areaStart:d8,areaEnd:d8,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1,this._x2=i,this._y2=a;break;case 1:this._point=2,this._x3=i,this._y3=a;break;case 2:this._point=3,this._x4=i,this._y4=a,this._context.moveTo((this._x0+4*this._x1+i)/6,(this._y0+4*this._y1+a)/6);break;default:NW(this,i,a);break}this._x0=this._x1,this._x1=i,this._y0=this._y1,this._y1=a}};function mDe(i){return new oPt(i)}function cPt(i){this._context=i}cPt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var f=(this._x0+4*this._x1+i)/6,g=(this._y0+4*this._y1+a)/6;this._line?this._context.lineTo(f,g):this._context.moveTo(f,g);break;case 3:this._point=4;default:NW(this,i,a);break}this._x0=this._x1,this._x1=i,this._y0=this._y1,this._y1=a}};function vDe(i){return new cPt(i)}function uPt(i,a){this._basis=new PW(i),this._beta=a}uPt.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var i=this._x,a=this._y,f=i.length-1;if(f>0)for(var g=i[0],w=a[0],v=i[f]-g,b=a[f]-w,E=-1,S;++E<=f;)S=E/f,this._basis.point(this._beta*i[E]+(1-this._beta)*(g+S*v),this._beta*a[E]+(1-this._beta)*(w+S*b));this._x=this._y=null,this._basis.lineEnd()},point:function(i,a){this._x.push(+i),this._y.push(+a)}};const yDe=function i(a){function f(g){return a===1?new PW(g):new uPt(g,a)}return f.beta=function(g){return i(+g)},f}(.85);function FW(i,a,f){i._context.bezierCurveTo(i._x1+i._k*(i._x2-i._x0),i._y1+i._k*(i._y2-i._y0),i._x2+i._k*(i._x1-a),i._y2+i._k*(i._y1-f),i._x2,i._y2)}function tgt(i,a){this._context=i,this._k=(1-a)/6}tgt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:FW(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1,this._line?this._context.lineTo(i,a):this._context.moveTo(i,a);break;case 1:this._point=2,this._x1=i,this._y1=a;break;case 2:this._point=3;default:FW(this,i,a);break}this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=a}};const xDe=function i(a){function f(g){return new tgt(g,a)}return f.tension=function(g){return i(+g)},f}(0);function egt(i,a){this._context=i,this._k=(1-a)/6}egt.prototype={areaStart:d8,areaEnd:d8,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1,this._x3=i,this._y3=a;break;case 1:this._point=2,this._context.moveTo(this._x4=i,this._y4=a);break;case 2:this._point=3,this._x5=i,this._y5=a;break;default:FW(this,i,a);break}this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=a}};const kDe=function i(a){function f(g){return new egt(g,a)}return f.tension=function(g){return i(+g)},f}(0);function ngt(i,a){this._context=i,this._k=(1-a)/6}ngt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:FW(this,i,a);break}this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=a}};const EDe=function i(a){function f(g){return new ngt(g,a)}return f.tension=function(g){return i(+g)},f}(0);function rgt(i,a,f){var g=i._x1,w=i._y1,v=i._x2,b=i._y2;if(i._l01_a>rg){var E=2*i._l01_2a+3*i._l01_a*i._l12_a+i._l12_2a,S=3*i._l01_a*(i._l01_a+i._l12_a);g=(g*E-i._x0*i._l12_2a+i._x2*i._l01_2a)/S,w=(w*E-i._y0*i._l12_2a+i._y2*i._l01_2a)/S}if(i._l23_a>rg){var _=2*i._l23_2a+3*i._l23_a*i._l12_a+i._l12_2a,M=3*i._l23_a*(i._l23_a+i._l12_a);v=(v*_+i._x1*i._l23_2a-a*i._l12_2a)/M,b=(b*_+i._y1*i._l23_2a-f*i._l12_2a)/M}i._context.bezierCurveTo(g,w,v,b,i._x2,i._y2)}function lPt(i,a){this._context=i,this._alpha=a}lPt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(i,a){if(i=+i,a=+a,this._point){var f=this._x2-i,g=this._y2-a;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(f*f+g*g,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(i,a):this._context.moveTo(i,a);break;case 1:this._point=2;break;case 2:this._point=3;default:rgt(this,i,a);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=a}};const TDe=function i(a){function f(g){return a?new lPt(g,a):new tgt(g,0)}return f.alpha=function(g){return i(+g)},f}(.5);function hPt(i,a){this._context=i,this._alpha=a}hPt.prototype={areaStart:d8,areaEnd:d8,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(i,a){if(i=+i,a=+a,this._point){var f=this._x2-i,g=this._y2-a;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(f*f+g*g,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=i,this._y3=a;break;case 1:this._point=2,this._context.moveTo(this._x4=i,this._y4=a);break;case 2:this._point=3,this._x5=i,this._y5=a;break;default:rgt(this,i,a);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=a}};const CDe=function i(a){function f(g){return a?new hPt(g,a):new egt(g,0)}return f.alpha=function(g){return i(+g)},f}(.5);function fPt(i,a){this._context=i,this._alpha=a}fPt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(i,a){if(i=+i,a=+a,this._point){var f=this._x2-i,g=this._y2-a;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(f*f+g*g,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:rgt(this,i,a);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=a}};const SDe=function i(a){function f(g){return a?new fPt(g,a):new ngt(g,0)}return f.alpha=function(g){return i(+g)},f}(.5);function dPt(i){this._context=i}dPt.prototype={areaStart:d8,areaEnd:d8,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(i,a){i=+i,a=+a,this._point?this._context.lineTo(i,a):(this._point=1,this._context.moveTo(i,a))}};function _De(i){return new dPt(i)}function gPt(i){return i<0?-1:1}function pPt(i,a,f){var g=i._x1-i._x0,w=a-i._x1,v=(i._y1-i._y0)/(g||w<0&&-0),b=(f-i._y1)/(w||g<0&&-0),E=(v*w+b*g)/(g+w);return(gPt(v)+gPt(b))*Math.min(Math.abs(v),Math.abs(b),.5*Math.abs(E))||0}function bPt(i,a){var f=i._x1-i._x0;return f?(3*(i._y1-i._y0)/f-a)/2:a}function igt(i,a,f){var g=i._x0,w=i._y0,v=i._x1,b=i._y1,E=(v-g)/3;i._context.bezierCurveTo(g+E,w+E*a,v-E,b-E*f,v,b)}function BW(i){this._context=i}BW.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:igt(this,this._t0,bPt(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(i,a){var f=NaN;if(i=+i,a=+a,!(i===this._x1&&a===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(i,a):this._context.moveTo(i,a);break;case 1:this._point=2;break;case 2:this._point=3,igt(this,bPt(this,f=pPt(this,i,a)),f);break;default:igt(this,this._t0,f=pPt(this,i,a));break}this._x0=this._x1,this._x1=i,this._y0=this._y1,this._y1=a,this._t0=f}}};function wPt(i){this._context=new mPt(i)}(wPt.prototype=Object.create(BW.prototype)).point=function(i,a){BW.prototype.point.call(this,a,i)};function mPt(i){this._context=i}mPt.prototype={moveTo:function(i,a){this._context.moveTo(a,i)},closePath:function(){this._context.closePath()},lineTo:function(i,a){this._context.lineTo(a,i)},bezierCurveTo:function(i,a,f,g,w,v){this._context.bezierCurveTo(a,i,g,f,v,w)}};function ADe(i){return new BW(i)}function LDe(i){return new wPt(i)}function vPt(i){this._context=i}vPt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var i=this._x,a=this._y,f=i.length;if(f)if(this._line?this._context.lineTo(i[0],a[0]):this._context.moveTo(i[0],a[0]),f===2)this._context.lineTo(i[1],a[1]);else for(var g=yPt(i),w=yPt(a),v=0,b=1;b<f;++v,++b)this._context.bezierCurveTo(g[0][v],w[0][v],g[1][v],w[1][v],i[b],a[b]);(this._line||this._line!==0&&f===1)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(i,a){this._x.push(+i),this._y.push(+a)}};function yPt(i){var a,f=i.length-1,g,w=new Array(f),v=new Array(f),b=new Array(f);for(w[0]=0,v[0]=2,b[0]=i[0]+2*i[1],a=1;a<f-1;++a)w[a]=1,v[a]=4,b[a]=4*i[a]+2*i[a+1];for(w[f-1]=2,v[f-1]=7,b[f-1]=8*i[f-1]+i[f],a=1;a<f;++a)g=w[a]/v[a-1],v[a]-=g,b[a]-=g*b[a-1];for(w[f-1]=b[f-1]/v[f-1],a=f-2;a>=0;--a)w[a]=(b[a]-w[a+1])/v[a];for(v[f-1]=(i[f]+w[f-1])/2,a=0;a<f-1;++a)v[a]=2*i[a+1]-w[a+1];return[w,v]}function DDe(i){return new vPt(i)}function RW(i,a){this._context=i,this._t=a}RW.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&this._point===2&&this._context.lineTo(this._x,this._y),(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1,this._line?this._context.lineTo(i,a):this._context.moveTo(i,a);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,a),this._context.lineTo(i,a);else{var f=this._x*(1-this._t)+i*this._t;this._context.lineTo(f,this._y),this._context.lineTo(f,a)}break}}this._x=i,this._y=a}};function MDe(i){return new RW(i,.5)}function IDe(i){return new RW(i,0)}function ODe(i){return new RW(i,1)}function mF(i,a,f){this.k=i,this.x=a,this.y=f}mF.prototype={constructor:mF,scale:function(i){return i===1?this:new mF(this.k*i,this.x,this.y)},translate:function(i,a){return i===0&a===0?this:new mF(this.k,this.x+this.k*i,this.y+this.k*a)},apply:function(i){return[i[0]*this.k+this.x,i[1]*this.k+this.y]},applyX:function(i){return i*this.k+this.x},applyY:function(i){return i*this.k+this.y},invert:function(i){return[(i[0]-this.x)/this.k,(i[1]-this.y)/this.k]},invertX:function(i){return(i-this.x)/this.k},invertY:function(i){return(i-this.y)/this.k},rescaleX:function(i){return i.copy().domain(i.range().map(this.invertX,this).map(i.invert,i))},rescaleY:function(i){return i.copy().domain(i.range().map(this.invertY,this).map(i.invert,i))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}},mF.prototype;/*! @license DOMPurify 3.0.5 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.0.5/LICENSE */const{entries:xPt,setPrototypeOf:kPt,isFrozen:NDe,getPrototypeOf:PDe,getOwnPropertyDescriptor:FDe}=Object;let{freeze:Wg,seal:qv,create:BDe}=Object,{apply:sgt,construct:agt}=typeof Reflect<"u"&&Reflect;sgt||(sgt=function(a,f,g){return a.apply(f,g)}),Wg||(Wg=function(a){return a}),qv||(qv=function(a){return a}),agt||(agt=function(a,f){return new a(...f)});const RDe=Ww(Array.prototype.forEach),EPt=Ww(Array.prototype.pop),vF=Ww(Array.prototype.push),jW=Ww(String.prototype.toLowerCase),ogt=Ww(String.prototype.toString),jDe=Ww(String.prototype.match),Hv=Ww(String.prototype.replace),$De=Ww(String.prototype.indexOf),zDe=Ww(String.prototype.trim),E2=Ww(RegExp.prototype.test),yF=qDe(TypeError);function Ww(i){return function(a){for(var f=arguments.length,g=new Array(f>1?f-1:0),w=1;w<f;w++)g[w-1]=arguments[w];return sgt(i,a,g)}}function qDe(i){return function(){for(var a=arguments.length,f=new Array(a),g=0;g<a;g++)f[g]=arguments[g];return agt(i,f)}}function Fo(i,a,f){var g;f=(g=f)!==null&&g!==void 0?g:jW,kPt&&kPt(i,null);let w=a.length;for(;w--;){let v=a[w];if(typeof v=="string"){const b=f(v);b!==v&&(NDe(a)||(a[w]=b),v=b)}i[v]=!0}return i}function XL(i){const a=BDe(null);for(const[f,g]of xPt(i))a[f]=g;return a}function $W(i,a){for(;i!==null;){const g=FDe(i,a);if(g){if(g.get)return Ww(g.get);if(typeof g.value=="function")return Ww(g.value)}i=PDe(i)}function f(g){return console.warn("fallback value for",g),null}return f}const TPt=Wg(["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"]),cgt=Wg(["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"]),ugt=Wg(["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"]),HDe=Wg(["animate","color-profile","cursor","discard","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"]),lgt=Wg(["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","mprescripts"]),VDe=Wg(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),CPt=Wg(["#text"]),SPt=Wg(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","face","for","headers","height","hidden","high","href","hreflang","id","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","pattern","placeholder","playsinline","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","xmlns","slot"]),hgt=Wg(["accent-height","accumulate","additive","alignment-baseline","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),_Pt=Wg(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),zW=Wg(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),UDe=qv(/\{\{[\w\W]*|[\w\W]*\}\}/gm),GDe=qv(/<%[\w\W]*|[\w\W]*%>/gm),KDe=qv(/\${[\w\W]*}/gm),WDe=qv(/^data-[\-\w.\u00B7-\uFFFF]/),YDe=qv(/^aria-[\-\w]+$/),APt=qv(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),XDe=qv(/^(?:\w+script|data):/i),QDe=qv(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),LPt=qv(/^html$/i);var DPt=Object.freeze({__proto__:null,MUSTACHE_EXPR:UDe,ERB_EXPR:GDe,TMPLIT_EXPR:KDe,DATA_ATTR:WDe,ARIA_ATTR:YDe,IS_ALLOWED_URI:APt,IS_SCRIPT_OR_DATA:XDe,ATTR_WHITESPACE:QDe,DOCTYPE_NAME:LPt});const JDe=()=>typeof window>"u"?null:window,ZDe=function(a,f){if(typeof a!="object"||typeof a.createPolicy!="function")return null;let g=null;const w="data-tt-policy-suffix";f&&f.hasAttribute(w)&&(g=f.getAttribute(w));const v="dompurify"+(g?"#"+g:"");try{return a.createPolicy(v,{createHTML(b){return b},createScriptURL(b){return b}})}catch{return console.warn("TrustedTypes policy "+v+" could not be created."),null}};function MPt(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:JDe();const a=Gi=>MPt(Gi);if(a.version="3.0.5",a.removed=[],!i||!i.document||i.document.nodeType!==9)return a.isSupported=!1,a;const f=i.document,g=f.currentScript;let{document:w}=i;const{DocumentFragment:v,HTMLTemplateElement:b,Node:E,Element:S,NodeFilter:_,NamedNodeMap:M=i.NamedNodeMap||i.MozNamedAttrMap,HTMLFormElement:F,DOMParser:R,trustedTypes:B}=i,z=S.prototype,Y=$W(z,"cloneNode"),nt=$W(z,"nextSibling"),ot=$W(z,"childNodes"),ft=$W(z,"parentNode");if(typeof b=="function"){const Gi=w.createElement("template");Gi.content&&Gi.content.ownerDocument&&(w=Gi.content.ownerDocument)}let wt,mt="";const{implementation:ct,createNodeIterator:rt,createDocumentFragment:it,getElementsByTagName:gt}=w,{importNode:Q}=f;let dt={};a.isSupported=typeof xPt=="function"&&typeof ft=="function"&&ct&&ct.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:K,ERB_EXPR:yt,TMPLIT_EXPR:V,DATA_ATTR:Ot,ARIA_ATTR:It,IS_SCRIPT_OR_DATA:jt,ATTR_WHITESPACE:xt}=DPt;let{IS_ALLOWED_URI:Ft}=DPt,Ct=null;const kt=Fo({},[...TPt,...cgt,...ugt,...lgt,...CPt]);let Gt=null;const Fe=Fo({},[...SPt,...hgt,..._Pt,...zW]);let Mt=Object.seal(Object.create(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),pn=null,Ae=null,ye=!0,tn=!0,sn=!1,be=!0,Ne=!1,Xt=!1,_e=!1,xe=!1,Mn=!1,ce=!1,Br=!1,we=!0,Fi=!1;const mi="user-content-";let ga=!0,Ss=!1,za={},br=null;const An=Fo({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let Nn=null;const Bn=Fo({},["audio","video","img","source","image","track"]);let ke=null;const pe=Fo({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Je="http://www.w3.org/1998/Math/MathML",an="http://www.w3.org/2000/svg",xn="http://www.w3.org/1999/xhtml";let qa=xn,xo=!1,ko=null;const va=Fo({},[Je,an,xn],ogt);let Ha;const ds=["application/xhtml+xml","text/html"],Fu="text/html";let Zs,d1=null;const I2=w.createElement("form"),ll=function(cn){return cn instanceof RegExp||cn instanceof Function},Ic=function(cn){if(!(d1&&d1===cn)){if((!cn||typeof cn!="object")&&(cn={}),cn=XL(cn),Ha=ds.indexOf(cn.PARSER_MEDIA_TYPE)===-1?Ha=Fu:Ha=cn.PARSER_MEDIA_TYPE,Zs=Ha==="application/xhtml+xml"?ogt:jW,Ct="ALLOWED_TAGS"in cn?Fo({},cn.ALLOWED_TAGS,Zs):kt,Gt="ALLOWED_ATTR"in cn?Fo({},cn.ALLOWED_ATTR,Zs):Fe,ko="ALLOWED_NAMESPACES"in cn?Fo({},cn.ALLOWED_NAMESPACES,ogt):va,ke="ADD_URI_SAFE_ATTR"in cn?Fo(XL(pe),cn.ADD_URI_SAFE_ATTR,Zs):pe,Nn="ADD_DATA_URI_TAGS"in cn?Fo(XL(Bn),cn.ADD_DATA_URI_TAGS,Zs):Bn,br="FORBID_CONTENTS"in cn?Fo({},cn.FORBID_CONTENTS,Zs):An,pn="FORBID_TAGS"in cn?Fo({},cn.FORBID_TAGS,Zs):{},Ae="FORBID_ATTR"in cn?Fo({},cn.FORBID_ATTR,Zs):{},za="USE_PROFILES"in cn?cn.USE_PROFILES:!1,ye=cn.ALLOW_ARIA_ATTR!==!1,tn=cn.ALLOW_DATA_ATTR!==!1,sn=cn.ALLOW_UNKNOWN_PROTOCOLS||!1,be=cn.ALLOW_SELF_CLOSE_IN_ATTR!==!1,Ne=cn.SAFE_FOR_TEMPLATES||!1,Xt=cn.WHOLE_DOCUMENT||!1,Mn=cn.RETURN_DOM||!1,ce=cn.RETURN_DOM_FRAGMENT||!1,Br=cn.RETURN_TRUSTED_TYPE||!1,xe=cn.FORCE_BODY||!1,we=cn.SANITIZE_DOM!==!1,Fi=cn.SANITIZE_NAMED_PROPS||!1,ga=cn.KEEP_CONTENT!==!1,Ss=cn.IN_PLACE||!1,Ft=cn.ALLOWED_URI_REGEXP||APt,qa=cn.NAMESPACE||xn,Mt=cn.CUSTOM_ELEMENT_HANDLING||{},cn.CUSTOM_ELEMENT_HANDLING&&ll(cn.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(Mt.tagNameCheck=cn.CUSTOM_ELEMENT_HANDLING.tagNameCheck),cn.CUSTOM_ELEMENT_HANDLING&&ll(cn.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(Mt.attributeNameCheck=cn.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),cn.CUSTOM_ELEMENT_HANDLING&&typeof cn.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(Mt.allowCustomizedBuiltInElements=cn.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),Ne&&(tn=!1),ce&&(Mn=!0),za&&(Ct=Fo({},[...CPt]),Gt=[],za.html===!0&&(Fo(Ct,TPt),Fo(Gt,SPt)),za.svg===!0&&(Fo(Ct,cgt),Fo(Gt,hgt),Fo(Gt,zW)),za.svgFilters===!0&&(Fo(Ct,ugt),Fo(Gt,hgt),Fo(Gt,zW)),za.mathMl===!0&&(Fo(Ct,lgt),Fo(Gt,_Pt),Fo(Gt,zW))),cn.ADD_TAGS&&(Ct===kt&&(Ct=XL(Ct)),Fo(Ct,cn.ADD_TAGS,Zs)),cn.ADD_ATTR&&(Gt===Fe&&(Gt=XL(Gt)),Fo(Gt,cn.ADD_ATTR,Zs)),cn.ADD_URI_SAFE_ATTR&&Fo(ke,cn.ADD_URI_SAFE_ATTR,Zs),cn.FORBID_CONTENTS&&(br===An&&(br=XL(br)),Fo(br,cn.FORBID_CONTENTS,Zs)),ga&&(Ct["#text"]=!0),Xt&&Fo(Ct,["html","head","body"]),Ct.table&&(Fo(Ct,["tbody"]),delete pn.tbody),cn.TRUSTED_TYPES_POLICY){if(typeof cn.TRUSTED_TYPES_POLICY.createHTML!="function")throw yF('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof cn.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw yF('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');wt=cn.TRUSTED_TYPES_POLICY,mt=wt.createHTML("")}else wt===void 0&&(wt=ZDe(B,g)),wt!==null&&typeof mt=="string"&&(mt=wt.createHTML(""));Wg&&Wg(cn),d1=cn}},wc=Fo({},["mi","mo","mn","ms","mtext"]),Ea=Fo({},["foreignobject","desc","title","annotation-xml"]),gu=Fo({},["title","style","font","a","script"]),ta=Fo({},cgt);Fo(ta,ugt),Fo(ta,HDe);const fo=Fo({},lgt);Fo(fo,VDe);const mc=function(cn){let Nr=ft(cn);(!Nr||!Nr.tagName)&&(Nr={namespaceURI:qa,tagName:"template"});const Si=jW(cn.tagName),vc=jW(Nr.tagName);return ko[cn.namespaceURI]?cn.namespaceURI===an?Nr.namespaceURI===xn?Si==="svg":Nr.namespaceURI===Je?Si==="svg"&&(vc==="annotation-xml"||wc[vc]):!!ta[Si]:cn.namespaceURI===Je?Nr.namespaceURI===xn?Si==="math":Nr.namespaceURI===an?Si==="math"&&Ea[vc]:!!fo[Si]:cn.namespaceURI===xn?Nr.namespaceURI===an&&!Ea[vc]||Nr.namespaceURI===Je&&!wc[vc]?!1:!fo[Si]&&(gu[Si]||!ta[Si]):!!(Ha==="application/xhtml+xml"&&ko[cn.namespaceURI]):!1},ca=function(cn){vF(a.removed,{element:cn});try{cn.parentNode.removeChild(cn)}catch{cn.remove()}},ya=function(cn,Nr){try{vF(a.removed,{attribute:Nr.getAttributeNode(cn),from:Nr})}catch{vF(a.removed,{attribute:null,from:Nr})}if(Nr.removeAttribute(cn),cn==="is"&&!Gt[cn])if(Mn||ce)try{ca(Nr)}catch{}else try{Nr.setAttribute(cn,"")}catch{}},ea=function(cn){let Nr,Si;if(xe)cn="<remove></remove>"+cn;else{const Eh=jDe(cn,/^[\r\n\t ]+/);Si=Eh&&Eh[0]}Ha==="application/xhtml+xml"&&qa===xn&&(cn='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+cn+"</body></html>");const vc=wt?wt.createHTML(cn):cn;if(qa===xn)try{Nr=new R().parseFromString(vc,Ha)}catch{}if(!Nr||!Nr.documentElement){Nr=ct.createDocument(qa,"template",null);try{Nr.documentElement.innerHTML=xo?mt:vc}catch{}}const Rc=Nr.body||Nr.documentElement;return cn&&Si&&Rc.insertBefore(w.createTextNode(Si),Rc.childNodes[0]||null),qa===xn?gt.call(Nr,Xt?"html":"body")[0]:Xt?Nr.documentElement:Rc},Zl=function(cn){return rt.call(cn.ownerDocument||cn,cn,_.SHOW_ELEMENT|_.SHOW_COMMENT|_.SHOW_TEXT,null,!1)},Uc=function(cn){return cn instanceof F&&(typeof cn.nodeName!="string"||typeof cn.textContent!="string"||typeof cn.removeChild!="function"||!(cn.attributes instanceof M)||typeof cn.removeAttribute!="function"||typeof cn.setAttribute!="function"||typeof cn.namespaceURI!="string"||typeof cn.insertBefore!="function"||typeof cn.hasChildNodes!="function")},rm=function(cn){return typeof E=="object"?cn instanceof E:cn&&typeof cn=="object"&&typeof cn.nodeType=="number"&&typeof cn.nodeName=="string"},kh=function(cn,Nr,Si){dt[cn]&&RDe(dt[cn],vc=>{vc.call(a,Nr,Si,d1)})},Md=function(cn){let Nr;if(kh("beforeSanitizeElements",cn,null),Uc(cn))return ca(cn),!0;const Si=Zs(cn.nodeName);if(kh("uponSanitizeElement",cn,{tagName:Si,allowedTags:Ct}),cn.hasChildNodes()&&!rm(cn.firstElementChild)&&(!rm(cn.content)||!rm(cn.content.firstElementChild))&&E2(/<[/\w]/g,cn.innerHTML)&&E2(/<[/\w]/g,cn.textContent))return ca(cn),!0;if(!Ct[Si]||pn[Si]){if(!pn[Si]&&Id(Si)&&(Mt.tagNameCheck instanceof RegExp&&E2(Mt.tagNameCheck,Si)||Mt.tagNameCheck instanceof Function&&Mt.tagNameCheck(Si)))return!1;if(ga&&!br[Si]){const vc=ft(cn)||cn.parentNode,Rc=ot(cn)||cn.childNodes;if(Rc&&vc){const Eh=Rc.length;for(let Zc=Eh-1;Zc>=0;--Zc)vc.insertBefore(Y(Rc[Zc],!0),nt(cn))}}return ca(cn),!0}return cn instanceof S&&!mc(cn)||(Si==="noscript"||Si==="noembed"||Si==="noframes")&&E2(/<\/no(script|embed|frames)/i,cn.innerHTML)?(ca(cn),!0):(Ne&&cn.nodeType===3&&(Nr=cn.textContent,Nr=Hv(Nr,K," "),Nr=Hv(Nr,yt," "),Nr=Hv(Nr,V," "),cn.textContent!==Nr&&(vF(a.removed,{element:cn.cloneNode()}),cn.textContent=Nr)),kh("afterSanitizeElements",cn,null),!1)},w0=function(cn,Nr,Si){if(we&&(Nr==="id"||Nr==="name")&&(Si in w||Si in I2))return!1;if(!(tn&&!Ae[Nr]&&E2(Ot,Nr))){if(!(ye&&E2(It,Nr))){if(!Gt[Nr]||Ae[Nr]){if(!(Id(cn)&&(Mt.tagNameCheck instanceof RegExp&&E2(Mt.tagNameCheck,cn)||Mt.tagNameCheck instanceof Function&&Mt.tagNameCheck(cn))&&(Mt.attributeNameCheck instanceof RegExp&&E2(Mt.attributeNameCheck,Nr)||Mt.attributeNameCheck instanceof Function&&Mt.attributeNameCheck(Nr))||Nr==="is"&&Mt.allowCustomizedBuiltInElements&&(Mt.tagNameCheck instanceof RegExp&&E2(Mt.tagNameCheck,Si)||Mt.tagNameCheck instanceof Function&&Mt.tagNameCheck(Si))))return!1}else if(!ke[Nr]){if(!E2(Ft,Hv(Si,xt,""))){if(!((Nr==="src"||Nr==="xlink:href"||Nr==="href")&&cn!=="script"&&$De(Si,"data:")===0&&Nn[cn])){if(!(sn&&!E2(jt,Hv(Si,xt,"")))){if(Si)return!1}}}}}}return!0},Id=function(cn){return cn.indexOf("-")>0},m0=function(cn){let Nr,Si,vc,Rc;kh("beforeSanitizeAttributes",cn,null);const{attributes:Eh}=cn;if(!Eh)return;const Zc={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:Gt};for(Rc=Eh.length;Rc--;){Nr=Eh[Rc];const{name:Qh,namespaceURI:Od}=Nr;if(Si=Qh==="value"?Nr.value:zDe(Nr.value),vc=Zs(Qh),Zc.attrName=vc,Zc.attrValue=Si,Zc.keepAttr=!0,Zc.forceKeepAttr=void 0,kh("uponSanitizeAttribute",cn,Zc),Si=Zc.attrValue,Zc.forceKeepAttr||(ya(Qh,cn),!Zc.keepAttr))continue;if(!be&&E2(/\/>/i,Si)){ya(Qh,cn);continue}Ne&&(Si=Hv(Si,K," "),Si=Hv(Si,yt," "),Si=Hv(Si,V," "));const cs=Zs(cn.nodeName);if(w0(cs,vc,Si)){if(Fi&&(vc==="id"||vc==="name")&&(ya(Qh,cn),Si=mi+Si),wt&&typeof B=="object"&&typeof B.getAttributeType=="function"&&!Od)switch(B.getAttributeType(cs,vc)){case"TrustedHTML":{Si=wt.createHTML(Si);break}case"TrustedScriptURL":{Si=wt.createScriptURL(Si);break}}try{Od?cn.setAttributeNS(Od,Qh,Si):cn.setAttribute(Qh,Si),EPt(a.removed)}catch{}}}kh("afterSanitizeAttributes",cn,null)},hg=function Gi(cn){let Nr;const Si=Zl(cn);for(kh("beforeSanitizeShadowDOM",cn,null);Nr=Si.nextNode();)kh("uponSanitizeShadowNode",Nr,null),!Md(Nr)&&(Nr.content instanceof v&&Gi(Nr.content),m0(Nr));kh("afterSanitizeShadowDOM",cn,null)};return a.sanitize=function(Gi){let cn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Nr,Si,vc,Rc;if(xo=!Gi,xo&&(Gi="<!-->"),typeof Gi!="string"&&!rm(Gi))if(typeof Gi.toString=="function"){if(Gi=Gi.toString(),typeof Gi!="string")throw yF("dirty is not a string, aborting")}else throw yF("toString is not a function");if(!a.isSupported)return Gi;if(_e||Ic(cn),a.removed=[],typeof Gi=="string"&&(Ss=!1),Ss){if(Gi.nodeName){const Qh=Zs(Gi.nodeName);if(!Ct[Qh]||pn[Qh])throw yF("root node is forbidden and cannot be sanitized in-place")}}else if(Gi instanceof E)Nr=ea("<!---->"),Si=Nr.ownerDocument.importNode(Gi,!0),Si.nodeType===1&&Si.nodeName==="BODY"||Si.nodeName==="HTML"?Nr=Si:Nr.appendChild(Si);else{if(!Mn&&!Ne&&!Xt&&Gi.indexOf("<")===-1)return wt&&Br?wt.createHTML(Gi):Gi;if(Nr=ea(Gi),!Nr)return Mn?null:Br?mt:""}Nr&&xe&&ca(Nr.firstChild);const Eh=Zl(Ss?Gi:Nr);for(;vc=Eh.nextNode();)Md(vc)||(vc.content instanceof v&&hg(vc.content),m0(vc));if(Ss)return Gi;if(Mn){if(ce)for(Rc=it.call(Nr.ownerDocument);Nr.firstChild;)Rc.appendChild(Nr.firstChild);else Rc=Nr;return(Gt.shadowroot||Gt.shadowrootmode)&&(Rc=Q.call(f,Rc,!0)),Rc}let Zc=Xt?Nr.outerHTML:Nr.innerHTML;return Xt&&Ct["!doctype"]&&Nr.ownerDocument&&Nr.ownerDocument.doctype&&Nr.ownerDocument.doctype.name&&E2(LPt,Nr.ownerDocument.doctype.name)&&(Zc="<!DOCTYPE "+Nr.ownerDocument.doctype.name+`>
92 `+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Nn=this.next();return Nn||this.lex()},begin:function(Nn){this.conditionStack.push(Nn)},popState:function(){var Nn=this.conditionStack.length-1;return Nn>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(Nn){return Nn=this.conditionStack.length-1-Math.abs(Nn||0),Nn>=0?this.conditionStack[Nn]:"INITIAL"},pushState:function(Nn){this.begin(Nn)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(Nn,Bn,ke,pe){switch(ke){case 0:return 6;case 1:return 7;case 2:return 8;case 3:return 9;case 4:return 22;case 5:return 23;case 6:return this.begin("acc_title"),24;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),26;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:break;case 14:c;break;case 15:return 12;case 16:break;case 17:return 11;case 18:return 15;case 19:return 16;case 20:return 17;case 21:return 18;case 22:return this.begin("person_ext"),45;case 23:return this.begin("person"),44;case 24:return this.begin("system_ext_queue"),51;case 25:return this.begin("system_ext_db"),50;case 26:return this.begin("system_ext"),49;case 27:return this.begin("system_queue"),48;case 28:return this.begin("system_db"),47;case 29:return this.begin("system"),46;case 30:return this.begin("boundary"),37;case 31:return this.begin("enterprise_boundary"),34;case 32:return this.begin("system_boundary"),36;case 33:return this.begin("container_ext_queue"),57;case 34:return this.begin("container_ext_db"),56;case 35:return this.begin("container_ext"),55;case 36:return this.begin("container_queue"),54;case 37:return this.begin("container_db"),53;case 38:return this.begin("container"),52;case 39:return this.begin("container_boundary"),38;case 40:return this.begin("component_ext_queue"),63;case 41:return this.begin("component_ext_db"),62;case 42:return this.begin("component_ext"),61;case 43:return this.begin("component_queue"),60;case 44:return this.begin("component_db"),59;case 45:return this.begin("component"),58;case 46:return this.begin("node"),39;case 47:return this.begin("node"),39;case 48:return this.begin("node_l"),40;case 49:return this.begin("node_r"),41;case 50:return this.begin("rel"),64;case 51:return this.begin("birel"),65;case 52:return this.begin("rel_u"),66;case 53:return this.begin("rel_u"),66;case 54:return this.begin("rel_d"),67;case 55:return this.begin("rel_d"),67;case 56:return this.begin("rel_l"),68;case 57:return this.begin("rel_l"),68;case 58:return this.begin("rel_r"),69;case 59:return this.begin("rel_r"),69;case 60:return this.begin("rel_b"),70;case 61:return this.begin("rel_index"),71;case 62:return this.begin("update_el_style"),72;case 63:return this.begin("update_rel_style"),73;case 64:return this.begin("update_layout_config"),74;case 65:return"EOF_IN_STRUCT";case 66:return this.begin("attribute"),"ATTRIBUTE_EMPTY";case 67:this.begin("attribute");break;case 68:this.popState(),this.popState();break;case 69:return 80;case 70:break;case 71:return 80;case 72:this.begin("string");break;case 73:this.popState();break;case 74:return"STR";case 75:this.begin("string_kv");break;case 76:return this.begin("string_kv_key"),"STR_KEY";case 77:this.popState(),this.begin("string_kv_value");break;case 78:return"STR_VALUE";case 79:this.popState(),this.popState();break;case 80:return"STR";case 81:return"LBRACE";case 82:return"RBRACE";case 83:return"SPACE";case 84:return"EOL";case 85:return 14}},rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:title\s[^#\n;]+)/,/^(?:accDescription\s[^#\n;]+)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:C4Context\b)/,/^(?:C4Container\b)/,/^(?:C4Component\b)/,/^(?:C4Dynamic\b)/,/^(?:C4Deployment\b)/,/^(?:Person_Ext\b)/,/^(?:Person\b)/,/^(?:SystemQueue_Ext\b)/,/^(?:SystemDb_Ext\b)/,/^(?:System_Ext\b)/,/^(?:SystemQueue\b)/,/^(?:SystemDb\b)/,/^(?:System\b)/,/^(?:Boundary\b)/,/^(?:Enterprise_Boundary\b)/,/^(?:System_Boundary\b)/,/^(?:ContainerQueue_Ext\b)/,/^(?:ContainerDb_Ext\b)/,/^(?:Container_Ext\b)/,/^(?:ContainerQueue\b)/,/^(?:ContainerDb\b)/,/^(?:Container\b)/,/^(?:Container_Boundary\b)/,/^(?:ComponentQueue_Ext\b)/,/^(?:ComponentDb_Ext\b)/,/^(?:Component_Ext\b)/,/^(?:ComponentQueue\b)/,/^(?:ComponentDb\b)/,/^(?:Component\b)/,/^(?:Deployment_Node\b)/,/^(?:Node\b)/,/^(?:Node_L\b)/,/^(?:Node_R\b)/,/^(?:Rel\b)/,/^(?:BiRel\b)/,/^(?:Rel_Up\b)/,/^(?:Rel_U\b)/,/^(?:Rel_Down\b)/,/^(?:Rel_D\b)/,/^(?:Rel_Left\b)/,/^(?:Rel_L\b)/,/^(?:Rel_Right\b)/,/^(?:Rel_R\b)/,/^(?:Rel_Back\b)/,/^(?:RelIndex\b)/,/^(?:UpdateElementStyle\b)/,/^(?:UpdateRelStyle\b)/,/^(?:UpdateLayoutConfig\b)/,/^(?:$)/,/^(?:[(][ ]*[,])/,/^(?:[(])/,/^(?:[)])/,/^(?:,,)/,/^(?:,)/,/^(?:[ ]*["]["])/,/^(?:[ ]*["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:[ ]*[\$])/,/^(?:[^=]*)/,/^(?:[=][ ]*["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:[^,]+)/,/^(?:\{)/,/^(?:\})/,/^(?:[\s]+)/,/^(?:[\n\r]+)/,/^(?:$)/],conditions:{acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},string_kv_value:{rules:[78,79],inclusive:!1},string_kv_key:{rules:[77],inclusive:!1},string_kv:{rules:[76],inclusive:!1},string:{rules:[73,74],inclusive:!1},attribute:{rules:[68,69,70,71,72,75,80],inclusive:!1},update_layout_config:{rules:[65,66,67,68],inclusive:!1},update_rel_style:{rules:[65,66,67,68],inclusive:!1},update_el_style:{rules:[65,66,67,68],inclusive:!1},rel_b:{rules:[65,66,67,68],inclusive:!1},rel_r:{rules:[65,66,67,68],inclusive:!1},rel_l:{rules:[65,66,67,68],inclusive:!1},rel_d:{rules:[65,66,67,68],inclusive:!1},rel_u:{rules:[65,66,67,68],inclusive:!1},rel_bi:{rules:[],inclusive:!1},rel:{rules:[65,66,67,68],inclusive:!1},node_r:{rules:[65,66,67,68],inclusive:!1},node_l:{rules:[65,66,67,68],inclusive:!1},node:{rules:[65,66,67,68],inclusive:!1},index:{rules:[],inclusive:!1},rel_index:{rules:[65,66,67,68],inclusive:!1},component_ext_queue:{rules:[],inclusive:!1},component_ext_db:{rules:[65,66,67,68],inclusive:!1},component_ext:{rules:[65,66,67,68],inclusive:!1},component_queue:{rules:[65,66,67,68],inclusive:!1},component_db:{rules:[65,66,67,68],inclusive:!1},component:{rules:[65,66,67,68],inclusive:!1},container_boundary:{rules:[65,66,67,68],inclusive:!1},container_ext_queue:{rules:[65,66,67,68],inclusive:!1},container_ext_db:{rules:[65,66,67,68],inclusive:!1},container_ext:{rules:[65,66,67,68],inclusive:!1},container_queue:{rules:[65,66,67,68],inclusive:!1},container_db:{rules:[65,66,67,68],inclusive:!1},container:{rules:[65,66,67,68],inclusive:!1},birel:{rules:[65,66,67,68],inclusive:!1},system_boundary:{rules:[65,66,67,68],inclusive:!1},enterprise_boundary:{rules:[65,66,67,68],inclusive:!1},boundary:{rules:[65,66,67,68],inclusive:!1},system_ext_queue:{rules:[65,66,67,68],inclusive:!1},system_ext_db:{rules:[65,66,67,68],inclusive:!1},system_ext:{rules:[65,66,67,68],inclusive:!1},system_queue:{rules:[65,66,67,68],inclusive:!1},system_db:{rules:[65,66,67,68],inclusive:!1},system:{rules:[65,66,67,68],inclusive:!1},person_ext:{rules:[65,66,67,68],inclusive:!1},person:{rules:[65,66,67,68],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,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,53,54,55,56,57,58,59,60,61,62,63,64,81,82,83,84,85],inclusive:!0}}};return br}();ga.lexer=Ss;function za(){this.yy={}}return za.prototype=ga,ga.Parser=za,new za}();SY.parser=SY;const xRe=SY;let Wv=[],y8=[""],ep="global",Yv="",i4=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],jF=[],Qgt="",Jgt=!1,_Y=4,AY=2;var rRt;const kRe=function(){return rRt},ERe=function(i){rRt=Ef(i,Re())},TRe=function(i,a,f,g,w,v,b,E,S){if(i==null||a===void 0||a===null||f===void 0||f===null||g===void 0||g===null)return;let _={};const M=jF.find(F=>F.from===a&&F.to===f);if(M?_=M:jF.push(_),_.type=i,_.from=a,_.to=f,_.label={text:g},w==null)_.techn={text:""};else if(typeof w=="object"){let[F,R]=Object.entries(w)[0];_[F]={text:R}}else _.techn={text:w};if(v==null)_.descr={text:""};else if(typeof v=="object"){let[F,R]=Object.entries(v)[0];_[F]={text:R}}else _.descr={text:v};if(typeof b=="object"){let[F,R]=Object.entries(b)[0];_[F]=R}else _.sprite=b;if(typeof E=="object"){let[F,R]=Object.entries(E)[0];_[F]=R}else _.tags=E;if(typeof S=="object"){let[F,R]=Object.entries(S)[0];_[F]=R}else _.link=S;_.wrap=x8()},CRe=function(i,a,f,g,w,v,b){if(a===null||f===null)return;let E={};const S=Wv.find(_=>_.alias===a);if(S&&a===S.alias?E=S:(E.alias=a,Wv.push(E)),f==null?E.label={text:""}:E.label={text:f},g==null)E.descr={text:""};else if(typeof g=="object"){let[_,M]=Object.entries(g)[0];E[_]={text:M}}else E.descr={text:g};if(typeof w=="object"){let[_,M]=Object.entries(w)[0];E[_]=M}else E.sprite=w;if(typeof v=="object"){let[_,M]=Object.entries(v)[0];E[_]=M}else E.tags=v;if(typeof b=="object"){let[_,M]=Object.entries(b)[0];E[_]=M}else E.link=b;E.typeC4Shape={text:i},E.parentBoundary=ep,E.wrap=x8()},SRe=function(i,a,f,g,w,v,b,E){if(a===null||f===null)return;let S={};const _=Wv.find(M=>M.alias===a);if(_&&a===_.alias?S=_:(S.alias=a,Wv.push(S)),f==null?S.label={text:""}:S.label={text:f},g==null)S.techn={text:""};else if(typeof g=="object"){let[M,F]=Object.entries(g)[0];S[M]={text:F}}else S.techn={text:g};if(w==null)S.descr={text:""};else if(typeof w=="object"){let[M,F]=Object.entries(w)[0];S[M]={text:F}}else S.descr={text:w};if(typeof v=="object"){let[M,F]=Object.entries(v)[0];S[M]=F}else S.sprite=v;if(typeof b=="object"){let[M,F]=Object.entries(b)[0];S[M]=F}else S.tags=b;if(typeof E=="object"){let[M,F]=Object.entries(E)[0];S[M]=F}else S.link=E;S.wrap=x8(),S.typeC4Shape={text:i},S.parentBoundary=ep},_Re=function(i,a,f,g,w,v,b,E){if(a===null||f===null)return;let S={};const _=Wv.find(M=>M.alias===a);if(_&&a===_.alias?S=_:(S.alias=a,Wv.push(S)),f==null?S.label={text:""}:S.label={text:f},g==null)S.techn={text:""};else if(typeof g=="object"){let[M,F]=Object.entries(g)[0];S[M]={text:F}}else S.techn={text:g};if(w==null)S.descr={text:""};else if(typeof w=="object"){let[M,F]=Object.entries(w)[0];S[M]={text:F}}else S.descr={text:w};if(typeof v=="object"){let[M,F]=Object.entries(v)[0];S[M]=F}else S.sprite=v;if(typeof b=="object"){let[M,F]=Object.entries(b)[0];S[M]=F}else S.tags=b;if(typeof E=="object"){let[M,F]=Object.entries(E)[0];S[M]=F}else S.link=E;S.wrap=x8(),S.typeC4Shape={text:i},S.parentBoundary=ep},ARe=function(i,a,f,g,w){if(i===null||a===null)return;let v={};const b=i4.find(E=>E.alias===i);if(b&&i===b.alias?v=b:(v.alias=i,i4.push(v)),a==null?v.label={text:""}:v.label={text:a},f==null)v.type={text:"system"};else if(typeof f=="object"){let[E,S]=Object.entries(f)[0];v[E]={text:S}}else v.type={text:f};if(typeof g=="object"){let[E,S]=Object.entries(g)[0];v[E]=S}else v.tags=g;if(typeof w=="object"){let[E,S]=Object.entries(w)[0];v[E]=S}else v.link=w;v.parentBoundary=ep,v.wrap=x8(),Yv=ep,ep=i,y8.push(Yv)},LRe=function(i,a,f,g,w){if(i===null||a===null)return;let v={};const b=i4.find(E=>E.alias===i);if(b&&i===b.alias?v=b:(v.alias=i,i4.push(v)),a==null?v.label={text:""}:v.label={text:a},f==null)v.type={text:"container"};else if(typeof f=="object"){let[E,S]=Object.entries(f)[0];v[E]={text:S}}else v.type={text:f};if(typeof g=="object"){let[E,S]=Object.entries(g)[0];v[E]=S}else v.tags=g;if(typeof w=="object"){let[E,S]=Object.entries(w)[0];v[E]=S}else v.link=w;v.parentBoundary=ep,v.wrap=x8(),Yv=ep,ep=i,y8.push(Yv)},DRe=function(i,a,f,g,w,v,b,E){if(a===null||f===null)return;let S={};const _=i4.find(M=>M.alias===a);if(_&&a===_.alias?S=_:(S.alias=a,i4.push(S)),f==null?S.label={text:""}:S.label={text:f},g==null)S.type={text:"node"};else if(typeof g=="object"){let[M,F]=Object.entries(g)[0];S[M]={text:F}}else S.type={text:g};if(w==null)S.descr={text:""};else if(typeof w=="object"){let[M,F]=Object.entries(w)[0];S[M]={text:F}}else S.descr={text:w};if(typeof b=="object"){let[M,F]=Object.entries(b)[0];S[M]=F}else S.tags=b;if(typeof E=="object"){let[M,F]=Object.entries(E)[0];S[M]=F}else S.link=E;S.nodeType=i,S.parentBoundary=ep,S.wrap=x8(),Yv=ep,ep=a,y8.push(Yv)},MRe=function(){ep=Yv,y8.pop(),Yv=y8.pop(),y8.push(Yv)},IRe=function(i,a,f,g,w,v,b,E,S,_,M){let F=Wv.find(R=>R.alias===a);if(!(F===void 0&&(F=i4.find(R=>R.alias===a),F===void 0))){if(f!=null)if(typeof f=="object"){let[R,B]=Object.entries(f)[0];F[R]=B}else F.bgColor=f;if(g!=null)if(typeof g=="object"){let[R,B]=Object.entries(g)[0];F[R]=B}else F.fontColor=g;if(w!=null)if(typeof w=="object"){let[R,B]=Object.entries(w)[0];F[R]=B}else F.borderColor=w;if(v!=null)if(typeof v=="object"){let[R,B]=Object.entries(v)[0];F[R]=B}else F.shadowing=v;if(b!=null)if(typeof b=="object"){let[R,B]=Object.entries(b)[0];F[R]=B}else F.shape=b;if(E!=null)if(typeof E=="object"){let[R,B]=Object.entries(E)[0];F[R]=B}else F.sprite=E;if(S!=null)if(typeof S=="object"){let[R,B]=Object.entries(S)[0];F[R]=B}else F.techn=S;if(_!=null)if(typeof _=="object"){let[R,B]=Object.entries(_)[0];F[R]=B}else F.legendText=_;if(M!=null)if(typeof M=="object"){let[R,B]=Object.entries(M)[0];F[R]=B}else F.legendSprite=M}},ORe=function(i,a,f,g,w,v,b){const E=jF.find(S=>S.from===a&&S.to===f);if(E!==void 0){if(g!=null)if(typeof g=="object"){let[S,_]=Object.entries(g)[0];E[S]=_}else E.textColor=g;if(w!=null)if(typeof w=="object"){let[S,_]=Object.entries(w)[0];E[S]=_}else E.lineColor=w;if(v!=null)if(typeof v=="object"){let[S,_]=Object.entries(v)[0];E[S]=parseInt(_)}else E.offsetX=parseInt(v);if(b!=null)if(typeof b=="object"){let[S,_]=Object.entries(b)[0];E[S]=parseInt(_)}else E.offsetY=parseInt(b)}},NRe=function(i,a,f){let g=_Y,w=AY;if(typeof a=="object"){const v=Object.values(a)[0];g=parseInt(v)}else g=parseInt(a);if(typeof f=="object"){const v=Object.values(f)[0];w=parseInt(v)}else w=parseInt(f);g>=1&&(_Y=g),w>=1&&(AY=w)},PRe=function(){return _Y},FRe=function(){return AY},BRe=function(){return ep},RRe=function(){return Yv},iRt=function(i){return i==null?Wv:Wv.filter(a=>a.parentBoundary===i)},jRe=function(i){return Wv.find(a=>a.alias===i)},$Re=function(i){return Object.keys(iRt(i))},zRe=function(i){return i==null?i4:i4.filter(a=>a.parentBoundary===i)},qRe=function(){return jF},HRe=function(){return Qgt},VRe=function(i){Jgt=i},x8=function(){return Jgt},Zgt={addPersonOrSystem:CRe,addPersonOrSystemBoundary:ARe,addContainer:SRe,addContainerBoundary:LRe,addComponent:_Re,addDeploymentNode:DRe,popBoundaryParseStack:MRe,addRel:TRe,updateElStyle:IRe,updateRelStyle:ORe,updateLayoutConfig:NRe,autoWrap:x8,setWrap:VRe,getC4ShapeArray:iRt,getC4Shape:jRe,getC4ShapeKeys:$Re,getBoundarys:zRe,getCurrentBoundaryParse:BRe,getParentBoundaryParse:RRe,getRels:qRe,getTitle:HRe,getC4Type:kRe,getC4ShapeInRow:PRe,getC4BoundaryInRow:FRe,setAccTitle:og,getAccTitle:Xg,getAccDescription:Jg,setAccDescription:Qg,getConfig:()=>Re().c4,clear:function(){Wv=[],i4=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],Yv="",ep="global",y8=[""],jF=[],y8=[""],Qgt="",Jgt=!1,_Y=4,AY=2},LINETYPE:{SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25},ARROWTYPE:{FILLED:0,OPEN:1},PLACEMENT:{LEFTOF:0,RIGHTOF:1,OVER:2},setTitle:function(i){Qgt=Ef(i,Re())},setC4Type:ERe},LY=(i,a)=>{const f=i.append("rect");if(f.attr("x",a.x),f.attr("y",a.y),f.attr("fill",a.fill),f.attr("stroke",a.stroke),f.attr("width",a.width),f.attr("height",a.height),a.rx!==void 0&&f.attr("rx",a.rx),a.ry!==void 0&&f.attr("ry",a.ry),a.attrs!==void 0)for(const g in a.attrs)f.attr(g,a.attrs[g]);return a.class!==void 0&&f.attr("class",a.class),f},sRt=(i,a)=>{const f={x:a.startx,y:a.starty,width:a.stopx-a.startx,height:a.stopy-a.starty,fill:a.fill,stroke:a.stroke,class:"rect"};LY(i,f).lower()},URe=(i,a)=>{const f=a.text.replace(xF," "),g=i.append("text");g.attr("x",a.x),g.attr("y",a.y),g.attr("class","legend"),g.style("text-anchor",a.anchor),a.class!==void 0&&g.attr("class",a.class);const w=g.append("tspan");return w.attr("x",a.x+a.textMargin*2),w.text(f),g},GRe=(i,a,f,g)=>{const w=i.append("image");w.attr("x",a),w.attr("y",f);const v=h8(g);w.attr("xlink:href",v)},KRe=(i,a,f,g)=>{const w=i.append("use");w.attr("x",a),w.attr("y",f);const v=h8(g);w.attr("xlink:href",`#${v}`)},_9=()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),tpt=()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),ept=function(i,a){return LY(i,a)},aRt=function(i,a,f,g,w,v){const b=i.append("image");b.attr("width",a),b.attr("height",f),b.attr("x",g),b.attr("y",w);let E=v.startsWith("data:image/png;base64")?v:h8(v);b.attr("xlink:href",E)},WRe=(i,a,f)=>{const g=i.append("g");let w=0;for(let v of a){let b=v.textColor?v.textColor:"#444444",E=v.lineColor?v.lineColor:"#444444",S=v.offsetX?parseInt(v.offsetX):0,_=v.offsetY?parseInt(v.offsetY):0,M="";if(w===0){let R=g.append("line");R.attr("x1",v.startPoint.x),R.attr("y1",v.startPoint.y),R.attr("x2",v.endPoint.x),R.attr("y2",v.endPoint.y),R.attr("stroke-width","1"),R.attr("stroke",E),R.style("fill","none"),v.type!=="rel_b"&&R.attr("marker-end","url("+M+"#arrowhead)"),(v.type==="birel"||v.type==="rel_b")&&R.attr("marker-start","url("+M+"#arrowend)"),w=-1}else{let R=g.append("path");R.attr("fill","none").attr("stroke-width","1").attr("stroke",E).attr("d","Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx",v.startPoint.x).replaceAll("starty",v.startPoint.y).replaceAll("controlx",v.startPoint.x+(v.endPoint.x-v.startPoint.x)/2-(v.endPoint.x-v.startPoint.x)/4).replaceAll("controly",v.startPoint.y+(v.endPoint.y-v.startPoint.y)/2).replaceAll("stopx",v.endPoint.x).replaceAll("stopy",v.endPoint.y)),v.type!=="rel_b"&&R.attr("marker-end","url("+M+"#arrowhead)"),(v.type==="birel"||v.type==="rel_b")&&R.attr("marker-start","url("+M+"#arrowend)")}let F=f.messageFont();Nx(f)(v.label.text,g,Math.min(v.startPoint.x,v.endPoint.x)+Math.abs(v.endPoint.x-v.startPoint.x)/2+S,Math.min(v.startPoint.y,v.endPoint.y)+Math.abs(v.endPoint.y-v.startPoint.y)/2+_,v.label.width,v.label.height,{fill:b},F),v.techn&&v.techn.text!==""&&(F=f.messageFont(),Nx(f)("["+v.techn.text+"]",g,Math.min(v.startPoint.x,v.endPoint.x)+Math.abs(v.endPoint.x-v.startPoint.x)/2+S,Math.min(v.startPoint.y,v.endPoint.y)+Math.abs(v.endPoint.y-v.startPoint.y)/2+f.messageFontSize+5+_,Math.max(v.label.width,v.techn.width),v.techn.height,{fill:b,"font-style":"italic"},F))}},YRe=function(i,a,f){const g=i.append("g");let w=a.bgColor?a.bgColor:"none",v=a.borderColor?a.borderColor:"#444444",b=a.fontColor?a.fontColor:"black",E={"stroke-width":1,"stroke-dasharray":"7.0,7.0"};a.nodeType&&(E={"stroke-width":1});let S={x:a.x,y:a.y,fill:w,stroke:v,width:a.width,height:a.height,rx:2.5,ry:2.5,attrs:E};ept(g,S);let _=f.boundaryFont();_.fontWeight="bold",_.fontSize=_.fontSize+2,_.fontColor=b,Nx(f)(a.label.text,g,a.x,a.y+a.label.Y,a.width,a.height,{fill:"#444444"},_),a.type&&a.type.text!==""&&(_=f.boundaryFont(),_.fontColor=b,Nx(f)(a.type.text,g,a.x,a.y+a.type.Y,a.width,a.height,{fill:"#444444"},_)),a.descr&&a.descr.text!==""&&(_=f.boundaryFont(),_.fontSize=_.fontSize-2,_.fontColor=b,Nx(f)(a.descr.text,g,a.x,a.y+a.descr.Y,a.width,a.height,{fill:"#444444"},_))},XRe=function(i,a,f){var F;let g=a.bgColor?a.bgColor:f[a.typeC4Shape.text+"_bg_color"],w=a.borderColor?a.borderColor:f[a.typeC4Shape.text+"_border_color"],v=a.fontColor?a.fontColor:"#FFFFFF",b="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";switch(a.typeC4Shape.text){case"person":b="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";break;case"external_person":b="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII=";break}const E=i.append("g");E.attr("class","person-man");const S=_9();switch(a.typeC4Shape.text){case"person":case"external_person":case"system":case"external_system":case"container":case"external_container":case"component":case"external_component":S.x=a.x,S.y=a.y,S.fill=g,S.width=a.width,S.height=a.height,S.stroke=w,S.rx=2.5,S.ry=2.5,S.attrs={"stroke-width":.5},ept(E,S);break;case"system_db":case"external_system_db":case"container_db":case"external_container_db":case"component_db":case"external_component_db":E.append("path").attr("fill",g).attr("stroke-width","0.5").attr("stroke",w).attr("d","Mstartx,startyc0,-10 half,-10 half,-10c0,0 half,0 half,10l0,heightc0,10 -half,10 -half,10c0,0 -half,0 -half,-10l0,-height".replaceAll("startx",a.x).replaceAll("starty",a.y).replaceAll("half",a.width/2).replaceAll("height",a.height)),E.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",w).attr("d","Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10".replaceAll("startx",a.x).replaceAll("starty",a.y).replaceAll("half",a.width/2));break;case"system_queue":case"external_system_queue":case"container_queue":case"external_container_queue":case"component_queue":case"external_component_queue":E.append("path").attr("fill",g).attr("stroke-width","0.5").attr("stroke",w).attr("d","Mstartx,startylwidth,0c5,0 5,half 5,halfc0,0 0,half -5,halfl-width,0c-5,0 -5,-half -5,-halfc0,0 0,-half 5,-half".replaceAll("startx",a.x).replaceAll("starty",a.y).replaceAll("width",a.width).replaceAll("half",a.height/2)),E.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",w).attr("d","Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half".replaceAll("startx",a.x+a.width).replaceAll("starty",a.y).replaceAll("half",a.height/2));break}let _=sje(f,a.typeC4Shape.text);switch(E.append("text").attr("fill",v).attr("font-family",_.fontFamily).attr("font-size",_.fontSize-2).attr("font-style","italic").attr("lengthAdjust","spacing").attr("textLength",a.typeC4Shape.width).attr("x",a.x+a.width/2-a.typeC4Shape.width/2).attr("y",a.y+a.typeC4Shape.Y).text("<<"+a.typeC4Shape.text+">>"),a.typeC4Shape.text){case"person":case"external_person":aRt(E,48,48,a.x+a.width/2-24,a.y+a.image.Y,b);break}let M=f[a.typeC4Shape.text+"Font"]();return M.fontWeight="bold",M.fontSize=M.fontSize+2,M.fontColor=v,Nx(f)(a.label.text,E,a.x,a.y+a.label.Y,a.width,a.height,{fill:v},M),M=f[a.typeC4Shape.text+"Font"](),M.fontColor=v,a.techn&&((F=a.techn)==null?void 0:F.text)!==""?Nx(f)(a.techn.text,E,a.x,a.y+a.techn.Y,a.width,a.height,{fill:v,"font-style":"italic"},M):a.type&&a.type.text!==""&&Nx(f)(a.type.text,E,a.x,a.y+a.type.Y,a.width,a.height,{fill:v,"font-style":"italic"},M),a.descr&&a.descr.text!==""&&(M=f.personFont(),M.fontColor=v,Nx(f)(a.descr.text,E,a.x,a.y+a.descr.Y,a.width,a.height,{fill:v},M)),a.height},QRe=function(i){i.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},JRe=function(i){i.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},ZRe=function(i){i.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},tje=function(i){i.append("defs").append("marker").attr("id","arrowhead").attr("refX",9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},eje=function(i){i.append("defs").append("marker").attr("id","arrowend").attr("refX",1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z")},nje=function(i){i.append("defs").append("marker").attr("id","filled-head").attr("refX",18).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")},rje=function(i){i.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},ije=function(i){const f=i.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);f.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),f.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},sje=(i,a)=>({fontFamily:i[a+"FontFamily"],fontSize:i[a+"FontSize"],fontWeight:i[a+"FontWeight"]}),Nx=function(){function i(w,v,b,E,S,_,M){const F=v.append("text").attr("x",b+S/2).attr("y",E+_/2+5).style("text-anchor","middle").text(w);g(F,M)}function a(w,v,b,E,S,_,M,F){const{fontSize:R,fontFamily:B,fontWeight:z}=F,Y=w.split(ei.lineBreakRegex);for(let nt=0;nt<Y.length;nt++){const ot=nt*R-R*(Y.length-1)/2,ft=v.append("text").attr("x",b+S/2).attr("y",E).style("text-anchor","middle").attr("dominant-baseline","middle").style("font-size",R).style("font-weight",z).style("font-family",B);ft.append("tspan").attr("dy",ot).text(Y[nt]).attr("alignment-baseline","mathematical"),g(ft,M)}}function f(w,v,b,E,S,_,M,F){const R=v.append("switch"),z=R.append("foreignObject").attr("x",b).attr("y",E).attr("width",S).attr("height",_).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");z.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(w),a(w,R,b,E,S,_,M,F),g(z,M)}function g(w,v){for(const b in v)v.hasOwnProperty(b)&&w.attr(b,v[b])}return function(w){return w.textPlacement==="fo"?f:w.textPlacement==="old"?i:a}}(),s4={drawRect:ept,drawBoundary:YRe,drawC4Shape:XRe,drawRels:WRe,drawImage:aRt,insertArrowHead:tje,insertArrowEnd:eje,insertArrowFilledHead:nje,insertDynamicNumber:rje,insertArrowCrossHead:ije,insertDatabaseIcon:QRe,insertComputerIcon:JRe,insertClockIcon:ZRe};let DY=0,MY=0,oRt=4,npt=2;SY.yy=Zgt;let Cs={};class cRt{constructor(a){this.name="",this.data={},this.data.startx=void 0,this.data.stopx=void 0,this.data.starty=void 0,this.data.stopy=void 0,this.data.widthLimit=void 0,this.nextData={},this.nextData.startx=void 0,this.nextData.stopx=void 0,this.nextData.starty=void 0,this.nextData.stopy=void 0,this.nextData.cnt=0,rpt(a.db.getConfig())}setData(a,f,g,w){this.nextData.startx=this.data.startx=a,this.nextData.stopx=this.data.stopx=f,this.nextData.starty=this.data.starty=g,this.nextData.stopy=this.data.stopy=w}updateVal(a,f,g,w){a[f]===void 0?a[f]=g:a[f]=w(g,a[f])}insert(a){this.nextData.cnt=this.nextData.cnt+1;let f=this.nextData.startx===this.nextData.stopx?this.nextData.stopx+a.margin:this.nextData.stopx+a.margin*2,g=f+a.width,w=this.nextData.starty+a.margin*2,v=w+a.height;(f>=this.data.widthLimit||g>=this.data.widthLimit||this.nextData.cnt>oRt)&&(f=this.nextData.startx+a.margin+Cs.nextLinePaddingX,w=this.nextData.stopy+a.margin*2,this.nextData.stopx=g=f+a.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=v=w+a.height,this.nextData.cnt=1),a.x=f,a.y=w,this.updateVal(this.data,"startx",f,Math.min),this.updateVal(this.data,"starty",w,Math.min),this.updateVal(this.data,"stopx",g,Math.max),this.updateVal(this.data,"stopy",v,Math.max),this.updateVal(this.nextData,"startx",f,Math.min),this.updateVal(this.nextData,"starty",w,Math.min),this.updateVal(this.nextData,"stopx",g,Math.max),this.updateVal(this.nextData,"stopy",v,Math.max)}init(a){this.name="",this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,widthLimit:void 0},this.nextData={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,cnt:0},rpt(a.db.getConfig())}bumpLastMargin(a){this.data.stopx+=a,this.data.stopy+=a}}const rpt=function(i){Ld(Cs,i),i.fontFamily&&(Cs.personFontFamily=Cs.systemFontFamily=Cs.messageFontFamily=i.fontFamily),i.fontSize&&(Cs.personFontSize=Cs.systemFontSize=Cs.messageFontSize=i.fontSize),i.fontWeight&&(Cs.personFontWeight=Cs.systemFontWeight=Cs.messageFontWeight=i.fontWeight)},$F=(i,a)=>({fontFamily:i[a+"FontFamily"],fontSize:i[a+"FontSize"],fontWeight:i[a+"FontWeight"]}),IY=i=>({fontFamily:i.boundaryFontFamily,fontSize:i.boundaryFontSize,fontWeight:i.boundaryFontWeight}),aje=i=>({fontFamily:i.messageFontFamily,fontSize:i.messageFontSize,fontWeight:i.messageFontWeight});function Xv(i,a,f,g,w){if(!a[i].width)if(f)a[i].text=LFt(a[i].text,w,g),a[i].textLines=a[i].text.split(ei.lineBreakRegex).length,a[i].width=w,a[i].height=Tgt(a[i].text,g);else{let v=a[i].text.split(ei.lineBreakRegex);a[i].textLines=v.length;let b=0;a[i].height=0,a[i].width=0;for(const E of v)a[i].width=Math.max(n4(E,g),a[i].width),b=Tgt(E,g),a[i].height=a[i].height+b}}const uRt=function(i,a,f){a.x=f.data.startx,a.y=f.data.starty,a.width=f.data.stopx-f.data.startx,a.height=f.data.stopy-f.data.starty,a.label.y=Cs.c4ShapeMargin-35;let g=a.wrap&&Cs.wrap,w=IY(Cs);w.fontSize=w.fontSize+2,w.fontWeight="bold";let v=n4(a.label.text,w);Xv("label",a,g,w,v),s4.drawBoundary(i,a,Cs)},lRt=function(i,a,f,g){let w=0;for(const v of g){w=0;const b=f[v];let E=$F(Cs,b.typeC4Shape.text);switch(E.fontSize=E.fontSize-2,b.typeC4Shape.width=n4("«"+b.typeC4Shape.text+"»",E),b.typeC4Shape.height=E.fontSize+2,b.typeC4Shape.Y=Cs.c4ShapePadding,w=b.typeC4Shape.Y+b.typeC4Shape.height-4,b.image={width:0,height:0,Y:0},b.typeC4Shape.text){case"person":case"external_person":b.image.width=48,b.image.height=48,b.image.Y=w,w=b.image.Y+b.image.height;break}b.sprite&&(b.image.width=48,b.image.height=48,b.image.Y=w,w=b.image.Y+b.image.height);let S=b.wrap&&Cs.wrap,_=Cs.width-Cs.c4ShapePadding*2,M=$F(Cs,b.typeC4Shape.text);if(M.fontSize=M.fontSize+2,M.fontWeight="bold",Xv("label",b,S,M,_),b.label.Y=w+8,w=b.label.Y+b.label.height,b.type&&b.type.text!==""){b.type.text="["+b.type.text+"]";let B=$F(Cs,b.typeC4Shape.text);Xv("type",b,S,B,_),b.type.Y=w+5,w=b.type.Y+b.type.height}else if(b.techn&&b.techn.text!==""){b.techn.text="["+b.techn.text+"]";let B=$F(Cs,b.techn.text);Xv("techn",b,S,B,_),b.techn.Y=w+5,w=b.techn.Y+b.techn.height}let F=w,R=b.label.width;if(b.descr&&b.descr.text!==""){let B=$F(Cs,b.typeC4Shape.text);Xv("descr",b,S,B,_),b.descr.Y=w+20,w=b.descr.Y+b.descr.height,R=Math.max(b.label.width,b.descr.width),F=w-b.descr.textLines*5}R=R+Cs.c4ShapePadding,b.width=Math.max(b.width||Cs.width,R,Cs.width),b.height=Math.max(b.height||Cs.height,F,Cs.height),b.margin=b.margin||Cs.c4ShapeMargin,i.insert(b),s4.drawC4Shape(a,b,Cs)}i.bumpLastMargin(Cs.c4ShapeMargin)};let Jw=class{constructor(a,f){this.x=a,this.y=f}},hRt=function(i,a){let f=i.x,g=i.y,w=a.x,v=a.y,b=f+i.width/2,E=g+i.height/2,S=Math.abs(f-w),_=Math.abs(g-v),M=_/S,F=i.height/i.width,R=null;return g==v&&f<w?R=new Jw(f+i.width,E):g==v&&f>w?R=new Jw(f,E):f==w&&g<v?R=new Jw(b,g+i.height):f==w&&g>v&&(R=new Jw(b,g)),f>w&&g<v?F>=M?R=new Jw(f,E+M*i.width/2):R=new Jw(b-S/_*i.height/2,g+i.height):f<w&&g<v?F>=M?R=new Jw(f+i.width,E+M*i.width/2):R=new Jw(b+S/_*i.height/2,g+i.height):f<w&&g>v?F>=M?R=new Jw(f+i.width,E-M*i.width/2):R=new Jw(b+i.height/2*S/_,g):f>w&&g>v&&(F>=M?R=new Jw(f,E-i.width/2*M):R=new Jw(b-i.height/2*S/_,g)),R},oje=function(i,a){let f={x:0,y:0};f.x=a.x+a.width/2,f.y=a.y+a.height/2;let g=hRt(i,f);f.x=i.x+i.width/2,f.y=i.y+i.height/2;let w=hRt(a,f);return{startPoint:g,endPoint:w}};const cje=function(i,a,f,g){let w=0;for(let v of a){w=w+1;let b=v.wrap&&Cs.wrap,E=aje(Cs);g.db.getC4Type()==="C4Dynamic"&&(v.label.text=w+": "+v.label.text);let _=n4(v.label.text,E);Xv("label",v,b,E,_),v.techn&&v.techn.text!==""&&(_=n4(v.techn.text,E),Xv("techn",v,b,E,_)),v.descr&&v.descr.text!==""&&(_=n4(v.descr.text,E),Xv("descr",v,b,E,_));let M=f(v.from),F=f(v.to),R=oje(M,F);v.startPoint=R.startPoint,v.endPoint=R.endPoint}s4.drawRels(i,a,Cs)};function fRt(i,a,f,g,w){let v=new cRt(w);v.data.widthLimit=f.data.widthLimit/Math.min(npt,g.length);for(let[b,E]of g.entries()){let S=0;E.image={width:0,height:0,Y:0},E.sprite&&(E.image.width=48,E.image.height=48,E.image.Y=S,S=E.image.Y+E.image.height);let _=E.wrap&&Cs.wrap,M=IY(Cs);if(M.fontSize=M.fontSize+2,M.fontWeight="bold",Xv("label",E,_,M,v.data.widthLimit),E.label.Y=S+8,S=E.label.Y+E.label.height,E.type&&E.type.text!==""){E.type.text="["+E.type.text+"]";let z=IY(Cs);Xv("type",E,_,z,v.data.widthLimit),E.type.Y=S+5,S=E.type.Y+E.type.height}if(E.descr&&E.descr.text!==""){let z=IY(Cs);z.fontSize=z.fontSize-2,Xv("descr",E,_,z,v.data.widthLimit),E.descr.Y=S+20,S=E.descr.Y+E.descr.height}if(b==0||b%npt===0){let z=f.data.startx+Cs.diagramMarginX,Y=f.data.stopy+Cs.diagramMarginY+S;v.setData(z,z,Y,Y)}else{let z=v.data.stopx!==v.data.startx?v.data.stopx+Cs.diagramMarginX:v.data.startx,Y=v.data.starty;v.setData(z,z,Y,Y)}v.name=E.alias;let F=w.db.getC4ShapeArray(E.alias),R=w.db.getC4ShapeKeys(E.alias);R.length>0&&lRt(v,i,F,R),a=E.alias;let B=w.db.getBoundarys(a);B.length>0&&fRt(i,a,v,B,w),E.alias!=="global"&&uRt(i,E,v),f.data.stopy=Math.max(v.data.stopy+Cs.c4ShapeMargin,f.data.stopy),f.data.stopx=Math.max(v.data.stopx+Cs.c4ShapeMargin,f.data.stopx),DY=Math.max(DY,f.data.stopx),MY=Math.max(MY,f.data.stopy)}}const dRt={drawPersonOrSystemArray:lRt,drawBoundary:uRt,setConf:rpt,draw:function(i,a,f,g){Cs=Re().c4;const w=Re().securityLevel;let v;w==="sandbox"&&(v=Tr("#i"+a));const b=Tr(w==="sandbox"?v.nodes()[0].contentDocument.body:"body");let E=g.db;g.db.setWrap(Cs.wrap),oRt=E.getC4ShapeInRow(),npt=E.getC4BoundaryInRow(),Kt.debug(`C:${JSON.stringify(Cs,null,2)}`);const S=w==="sandbox"?b.select(`[id="${a}"]`):Tr(`[id="${a}"]`);s4.insertComputerIcon(S),s4.insertDatabaseIcon(S),s4.insertClockIcon(S);let _=new cRt(g);_.setData(Cs.diagramMarginX,Cs.diagramMarginX,Cs.diagramMarginY,Cs.diagramMarginY),_.data.widthLimit=screen.availWidth,DY=Cs.diagramMarginX,MY=Cs.diagramMarginY;const M=g.db.getTitle();let F=g.db.getBoundarys("");fRt(S,"",_,F,g),s4.insertArrowHead(S),s4.insertArrowEnd(S),s4.insertArrowCrossHead(S),s4.insertArrowFilledHead(S),cje(S,g.db.getRels(),g.db.getC4Shape,g),_.data.stopx=DY,_.data.stopy=MY;const R=_.data;let z=R.stopy-R.starty+2*Cs.diagramMarginY;const nt=R.stopx-R.startx+2*Cs.diagramMarginX;M&&S.append("text").text(M).attr("x",(R.stopx-R.startx)/2-4*Cs.diagramMarginX).attr("y",R.starty+Cs.diagramMarginY),sg(S,z,nt,Cs.useMaxWidth);const ot=M?60:0;S.attr("viewBox",R.startx-Cs.diagramMarginX+" -"+(Cs.diagramMarginY+ot)+" "+nt+" "+(z+ot)),Kt.debug("models:",R)}},uje=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:xRe,db:Zgt,renderer:dRt,styles:i=>`.person {
114 <span class="${S} ${g}" `+(a.labelStyle?'style="'+a.labelStyle+'"':"")+">"+E+"</span>"),CKe(b,a.labelStyle),b.style("display","table-cell"),b.style("white-space","nowrap"),b.style("max-width",f+"px"),b.attr("xmlns","http://www.w3.org/1999/xhtml"),w&&b.attr("class","labelBkg");let _=b.node().getBoundingClientRect();return _.width===f&&(b.style("display","table"),b.style("white-space","break-spaces"),b.style("width",f+"px"),_=b.node().getBoundingClientRect()),v.style("width",_.width),v.style("height",_.height),v.node()}function Xpt(i,a,f){return i.append("tspan").attr("class","text-outer-tspan").attr("x",0).attr("y",a*f-.1+"em").attr("dy",f+"em")}function _Ke(i,a,f){const g=i.append("text"),w=Xpt(g,1,a);Qpt(w,f);const v=w.node().getComputedTextLength();return g.remove(),v}function AKe(i,a,f){var b;const g=i.append("text"),w=Xpt(g,1,a);Qpt(w,[{content:f,type:"normal"}]);const v=(b=w.node())==null?void 0:b.getBoundingClientRect();return v&&g.remove(),v}function LKe(i,a,f,g=!1){const v=a.append("g"),b=v.insert("rect").attr("class","background"),E=v.append("text").attr("y","-10.1");let S=0;for(const _ of f){const M=R=>_Ke(v,1.1,R)<=i,F=M(_)?[_]:TKe(_,M);for(const R of F){const B=Xpt(E,S,1.1);Qpt(B,R),S++}}if(g){const _=E.node().getBBox(),M=2;return b.attr("x",-M).attr("y",-M).attr("width",_.width+2*M).attr("height",_.height+2*M),v.node()}else return E.node()}function Qpt(i,a){i.text(""),a.forEach((f,g)=>{const w=i.append("tspan").attr("font-style",f.type==="emphasis"?"italic":"normal").attr("class","text-inner-tspan").attr("font-weight",f.type==="strong"?"bold":"normal");g===0?w.text(f.content):w.text(" "+f.content)})}const ZY=(i,a="",{style:f="",isTitle:g=!1,classes:w="",useHtmlLabels:v=!0,isNode:b=!0,width:E=200,addSvgBackground:S=!1}={})=>{if(Kt.info("createText",a,f,g,w,v,b,S),v){const _=xKe(a),M={isNode:b,label:IF(_).replace(/fa[blrs]?:fa-[\w-]+/g,R=>`<i class='${R.replace(":"," ")}'></i>`),labelStyle:f.replace("fill:","color:")};return SKe(i,M,E,w,S)}else{const _=yKe(a);return LKe(E,i,_,S)}},$1=async(i,a,f,g)=>{let w;const v=a.useHtmlLabels||j1(Re().flowchart.htmlLabels);f?w=f:w="node default";const b=i.insert("g").attr("class",w).attr("id",a.domId||a.id),E=b.insert("g").attr("class","label").attr("style",a.labelStyle);let S;a.labelText===void 0?S="":S=typeof a.labelText=="string"?a.labelText:a.labelText[0];const _=E.node();let M;a.labelType==="markdown"?M=ZY(E,Ef(IF(S),Re()),{useHtmlLabels:v,width:a.width||Re().flowchart.wrappingWidth,classes:"markdown-node-label"}):M=_.appendChild(ab(Ef(IF(S),Re()),a.labelStyle,!1,g));let F=M.getBBox();const R=a.padding/2;if(j1(Re().flowchart.htmlLabels)){const B=M.children[0],z=Tr(M),Y=B.getElementsByTagName("img");if(Y){const nt=S.replace(/<img[^>]*>/g,"").trim()==="";await Promise.all([...Y].map(ot=>new Promise(ft=>{function wt(){if(ot.style.display="flex",ot.style.flexDirection="column",nt){const mt=Re().fontSize?Re().fontSize:window.getComputedStyle(document.body).fontSize,ct=5,rt=parseInt(mt,10)*ct+"px";ot.style.minWidth=rt,ot.style.maxWidth=rt}else ot.style.width="100%";ft(ot)}setTimeout(()=>{ot.complete&&wt()}),ot.addEventListener("error",wt),ot.addEventListener("load",wt)})))}F=B.getBoundingClientRect(),z.attr("width",F.width),z.attr("height",F.height)}return v?E.attr("transform","translate("+-F.width/2+", "+-F.height/2+")"):E.attr("transform","translate(0, "+-F.height/2+")"),a.centerLabel&&E.attr("transform","translate("+-F.width/2+", "+-F.height/2+")"),E.insert("rect",":first-child"),{shapeSvg:b,bbox:F,halfPadding:R,label:E}},xh=(i,a)=>{const f=a.node().getBBox();i.width=f.width,i.height=f.height};function l4(i,a,f,g){return i.insert("polygon",":first-child").attr("points",g.map(function(w){return w.x+","+w.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-a/2+","+f/2+")")}let ho={},ty={},X$t={};const DKe=()=>{ty={},X$t={},ho={}},tX=(i,a)=>(Kt.trace("In isDecendant",a," ",i," = ",ty[a].includes(i)),!!ty[a].includes(i)),MKe=(i,a)=>(Kt.info("Decendants of ",a," is ",ty[a]),Kt.info("Edge is ",i),i.v===a||i.w===a?!1:ty[a]?ty[a].includes(i.v)||tX(i.v,a)||tX(i.w,a)||ty[a].includes(i.w):(Kt.debug("Tilt, ",a,",not in decendants"),!1)),Q$t=(i,a,f,g)=>{Kt.warn("Copying children of ",i,"root",g,"data",a.node(i),g);const w=a.children(i)||[];i!==g&&w.push(i),Kt.warn("Copying (nodes) clusterId",i,"nodes",w),w.forEach(v=>{if(a.children(v).length>0)Q$t(v,a,f,g);else{const b=a.node(v);Kt.info("cp ",v," to ",g," with parent ",i),f.setNode(v,b),g!==a.parent(v)&&(Kt.warn("Setting parent",v,a.parent(v)),f.setParent(v,a.parent(v))),i!==g&&v!==i?(Kt.debug("Setting parent",v,i),f.setParent(v,i)):(Kt.info("In copy ",i,"root",g,"data",a.node(i),g),Kt.debug("Not Setting parent for node=",v,"cluster!==rootId",i!==g,"node!==clusterId",v!==i));const E=a.edges(v);Kt.debug("Copying Edges",E),E.forEach(S=>{Kt.info("Edge",S);const _=a.edge(S.v,S.w,S.name);Kt.info("Edge data",_,g);try{MKe(S,g)?(Kt.info("Copying as ",S.v,S.w,_,S.name),f.setEdge(S.v,S.w,_,S.name),Kt.info("newGraph edges ",f.edges(),f.edge(f.edges()[0]))):Kt.info("Skipping copy of edge ",S.v,"-->",S.w," rootId: ",g," clusterId:",i)}catch(M){Kt.error(M)}})}Kt.debug("Removing node",v),a.removeNode(v)})},J$t=(i,a)=>{const f=a.children(i);let g=[...f];for(const w of f)X$t[w]=i,g=[...g,...J$t(w,a)];return g},tB=(i,a)=>{Kt.trace("Searching",i);const f=a.children(i);if(Kt.trace("Searching children of id ",i,f),f.length<1)return Kt.trace("This is a valid node",i),i;for(const g of f){const w=tB(g,a);if(w)return Kt.trace("Found replacement for",i," => ",w),w}},eX=i=>!ho[i]||!ho[i].externalConnections?i:ho[i]?ho[i].id:i,IKe=(i,a)=>{if(!i||a>10){Kt.debug("Opting out, no graph ");return}else Kt.debug("Opting in, graph ");i.nodes().forEach(function(f){i.children(f).length>0&&(Kt.warn("Cluster identified",f," Replacement id in edges: ",tB(f,i)),ty[f]=J$t(f,i),ho[f]={id:tB(f,i),clusterData:i.node(f)})}),i.nodes().forEach(function(f){const g=i.children(f),w=i.edges();g.length>0?(Kt.debug("Cluster identified",f,ty),w.forEach(v=>{if(v.v!==f&&v.w!==f){const b=tX(v.v,f),E=tX(v.w,f);b^E&&(Kt.warn("Edge: ",v," leaves cluster ",f),Kt.warn("Decendants of XXX ",f,": ",ty[f]),ho[f].externalConnections=!0)}})):Kt.debug("Not a cluster ",f,ty)});for(let f of Object.keys(ho)){const g=ho[f].id,w=i.parent(g);w!==f&&ho[w]&&!ho[w].externalConnections&&(ho[f].id=w)}i.edges().forEach(function(f){const g=i.edge(f);Kt.warn("Edge "+f.v+" -> "+f.w+": "+JSON.stringify(f)),Kt.warn("Edge "+f.v+" -> "+f.w+": "+JSON.stringify(i.edge(f)));let w=f.v,v=f.w;if(Kt.warn("Fix XXX",ho,"ids:",f.v,f.w,"Translating: ",ho[f.v]," --- ",ho[f.w]),ho[f.v]&&ho[f.w]&&ho[f.v]===ho[f.w]){Kt.warn("Fixing and trixing link to self - removing XXX",f.v,f.w,f.name),Kt.warn("Fixing and trixing - removing XXX",f.v,f.w,f.name),w=eX(f.v),v=eX(f.w),i.removeEdge(f.v,f.w,f.name);const b=f.w+"---"+f.v;i.setNode(b,{domId:b,id:b,labelStyle:"",labelText:g.label,padding:0,shape:"labelRect",style:""});const E=structuredClone(g),S=structuredClone(g);E.label="",E.arrowTypeEnd="none",S.label="",E.fromCluster=f.v,S.toCluster=f.v,i.setEdge(w,b,E,f.name+"-cyclic-special"),i.setEdge(b,v,S,f.name+"-cyclic-special")}else if(ho[f.v]||ho[f.w]){if(Kt.warn("Fixing and trixing - removing XXX",f.v,f.w,f.name),w=eX(f.v),v=eX(f.w),i.removeEdge(f.v,f.w,f.name),w!==f.v){const b=i.parent(w);ho[b].externalConnections=!0,g.fromCluster=f.v}if(v!==f.w){const b=i.parent(v);ho[b].externalConnections=!0,g.toCluster=f.w}Kt.warn("Fix Replacing with XXX",w,v,f.name),i.setEdge(w,v,g,f.name)}}),Kt.warn("Adjusted Graph",jx(i)),Z$t(i,0),Kt.trace(ho)},Z$t=(i,a)=>{if(Kt.warn("extractor - ",a,jx(i),i.children("D")),a>10){Kt.error("Bailing out");return}let f=i.nodes(),g=!1;for(const w of f){const v=i.children(w);g=g||v.length>0}if(!g){Kt.debug("Done, no node has children",i.nodes());return}Kt.debug("Nodes = ",f,a);for(const w of f)if(Kt.debug("Extracting node",w,ho,ho[w]&&!ho[w].externalConnections,!i.parent(w),i.node(w),i.children("D")," Depth ",a),!ho[w])Kt.debug("Not a cluster",w,a);else if(!ho[w].externalConnections&&i.children(w)&&i.children(w).length>0){Kt.warn("Cluster without external connections, without a parent and with children",w,a);let b=i.graph().rankdir==="TB"?"LR":"TB";ho[w]&&ho[w].clusterData&&ho[w].clusterData.dir&&(b=ho[w].clusterData.dir,Kt.warn("Fixing dir",ho[w].clusterData.dir,b));const E=new l1({multigraph:!0,compound:!0}).setGraph({rankdir:b,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});Kt.warn("Old graph before copy",jx(i)),Q$t(w,i,E,w),i.setNode(w,{clusterNode:!0,id:w,clusterData:ho[w].clusterData,labelText:ho[w].labelText,graph:E}),Kt.warn("New graph after copy node: (",w,")",jx(E)),Kt.debug("Old graph after copy",jx(i))}else Kt.warn("Cluster ** ",w," **not meeting the criteria !externalConnections:",!ho[w].externalConnections," no parent: ",!i.parent(w)," children ",i.children(w)&&i.children(w).length>0,i.children("D"),a),Kt.debug(ho);f=i.nodes(),Kt.warn("New list of nodes",f);for(const w of f){const v=i.node(w);Kt.warn(" Now next level",w,v),v.clusterNode&&Z$t(v.graph,a+1)}},tzt=(i,a)=>{if(a.length===0)return[];let f=Object.assign(a);return a.forEach(g=>{const w=i.children(g),v=tzt(i,w);f=[...f,...v]}),f},OKe=i=>tzt(i,i.children());function NKe(i,a){return i.intersect(a)}function ezt(i,a,f,g){var w=i.x,v=i.y,b=w-g.x,E=v-g.y,S=Math.sqrt(a*a*E*E+f*f*b*b),_=Math.abs(a*f*b/S);g.x<w&&(_=-_);var M=Math.abs(a*f*E/S);return g.y<v&&(M=-M),{x:w+_,y:v+M}}function PKe(i,a,f){return ezt(i,a,a,f)}function FKe(i,a,f,g){var w,v,b,E,S,_,M,F,R,B,z,Y,nt,ot,ft;if(w=a.y-i.y,b=i.x-a.x,S=a.x*i.y-i.x*a.y,R=w*f.x+b*f.y+S,B=w*g.x+b*g.y+S,!(R!==0&&B!==0&&nzt(R,B))&&(v=g.y-f.y,E=f.x-g.x,_=g.x*f.y-f.x*g.y,M=v*i.x+E*i.y+_,F=v*a.x+E*a.y+_,!(M!==0&&F!==0&&nzt(M,F))&&(z=w*E-v*b,z!==0)))return Y=Math.abs(z/2),nt=b*_-E*S,ot=nt<0?(nt-Y)/z:(nt+Y)/z,nt=v*S-w*_,ft=nt<0?(nt-Y)/z:(nt+Y)/z,{x:ot,y:ft}}function nzt(i,a){return i*a>0}function BKe(i,a,f){var g=i.x,w=i.y,v=[],b=Number.POSITIVE_INFINITY,E=Number.POSITIVE_INFINITY;typeof a.forEach=="function"?a.forEach(function(z){b=Math.min(b,z.x),E=Math.min(E,z.y)}):(b=Math.min(b,a.x),E=Math.min(E,a.y));for(var S=g-i.width/2-b,_=w-i.height/2-E,M=0;M<a.length;M++){var F=a[M],R=a[M<a.length-1?M+1:0],B=FKe(i,f,{x:S+F.x,y:_+F.y},{x:S+R.x,y:_+R.y});B&&v.push(B)}return v.length?(v.length>1&&v.sort(function(z,Y){var nt=z.x-f.x,ot=z.y-f.y,ft=Math.sqrt(nt*nt+ot*ot),wt=Y.x-f.x,mt=Y.y-f.y,ct=Math.sqrt(wt*wt+mt*mt);return ft<ct?-1:ft===ct?0:1}),v[0]):i}const eB=(i,a)=>{var f=i.x,g=i.y,w=a.x-f,v=a.y-g,b=i.width/2,E=i.height/2,S,_;return Math.abs(v)*b>Math.abs(w)*E?(v<0&&(E=-E),S=v===0?0:E*w/v,_=E):(w<0&&(b=-b),S=b,_=w===0?0:b*v/w),{x:f+S,y:g+_}},Ql={node:NKe,circle:PKe,ellipse:ezt,polygon:BKe,rect:eB},RKe=async(i,a)=>{a.useHtmlLabels||Re().flowchart.htmlLabels||(a.centerLabel=!0);const{shapeSvg:g,bbox:w,halfPadding:v}=await $1(i,a,"node "+a.classes,!0);Kt.info("Classes = ",a.classes);const b=g.insert("rect",":first-child");return b.attr("rx",a.rx).attr("ry",a.ry).attr("x",-w.width/2-v).attr("y",-w.height/2-v).attr("width",w.width+a.padding).attr("height",w.height+a.padding),xh(a,b),a.intersect=function(E){return Ql.rect(a,E)},g},jKe=i=>{const a=new Set;for(const f of i)switch(f){case"x":a.add("right"),a.add("left");break;case"y":a.add("up"),a.add("down");break;default:a.add(f);break}return a},$Ke=(i,a,f)=>{const g=jKe(i),w=2,v=a.height+2*f.padding,b=v/w,E=a.width+2*b+f.padding,S=f.padding/2;return g.has("right")&&g.has("left")&&g.has("up")&&g.has("down")?[{x:0,y:0},{x:b,y:0},{x:E/2,y:2*S},{x:E-b,y:0},{x:E,y:0},{x:E,y:-v/3},{x:E+2*S,y:-v/2},{x:E,y:-2*v/3},{x:E,y:-v},{x:E-b,y:-v},{x:E/2,y:-v-2*S},{x:b,y:-v},{x:0,y:-v},{x:0,y:-2*v/3},{x:-2*S,y:-v/2},{x:0,y:-v/3}]:g.has("right")&&g.has("left")&&g.has("up")?[{x:b,y:0},{x:E-b,y:0},{x:E,y:-v/2},{x:E-b,y:-v},{x:b,y:-v},{x:0,y:-v/2}]:g.has("right")&&g.has("left")&&g.has("down")?[{x:0,y:0},{x:b,y:-v},{x:E-b,y:-v},{x:E,y:0}]:g.has("right")&&g.has("up")&&g.has("down")?[{x:0,y:0},{x:E,y:-b},{x:E,y:-v+b},{x:0,y:-v}]:g.has("left")&&g.has("up")&&g.has("down")?[{x:E,y:0},{x:0,y:-b},{x:0,y:-v+b},{x:E,y:-v}]:g.has("right")&&g.has("left")?[{x:b,y:0},{x:b,y:-S},{x:E-b,y:-S},{x:E-b,y:0},{x:E,y:-v/2},{x:E-b,y:-v},{x:E-b,y:-v+S},{x:b,y:-v+S},{x:b,y:-v},{x:0,y:-v/2}]:g.has("up")&&g.has("down")?[{x:E/2,y:0},{x:0,y:-S},{x:b,y:-S},{x:b,y:-v+S},{x:0,y:-v+S},{x:E/2,y:-v},{x:E,y:-v+S},{x:E-b,y:-v+S},{x:E-b,y:-S},{x:E,y:-S}]:g.has("right")&&g.has("up")?[{x:0,y:0},{x:E,y:-b},{x:0,y:-v}]:g.has("right")&&g.has("down")?[{x:0,y:0},{x:E,y:0},{x:0,y:-v}]:g.has("left")&&g.has("up")?[{x:E,y:0},{x:0,y:-b},{x:E,y:-v}]:g.has("left")&&g.has("down")?[{x:E,y:0},{x:0,y:0},{x:E,y:-v}]:g.has("right")?[{x:b,y:-S},{x:b,y:-S},{x:E-b,y:-S},{x:E-b,y:0},{x:E,y:-v/2},{x:E-b,y:-v},{x:E-b,y:-v+S},{x:b,y:-v+S},{x:b,y:-v+S}]:g.has("left")?[{x:b,y:0},{x:b,y:-S},{x:E-b,y:-S},{x:E-b,y:-v+S},{x:b,y:-v+S},{x:b,y:-v},{x:0,y:-v/2}]:g.has("up")?[{x:b,y:-S},{x:b,y:-v+S},{x:0,y:-v+S},{x:E/2,y:-v},{x:E,y:-v+S},{x:E-b,y:-v+S},{x:E-b,y:-S}]:g.has("down")?[{x:E/2,y:0},{x:0,y:-S},{x:b,y:-S},{x:b,y:-v+S},{x:E-b,y:-v+S},{x:E-b,y:-S},{x:E,y:-S}]:[{x:0,y:0}]},rzt=i=>i?" "+i:"",L2=(i,a)=>`${a||"node default"}${rzt(i.classes)} ${rzt(i.class)}`,izt=async(i,a)=>{const{shapeSvg:f,bbox:g}=await $1(i,a,L2(a,void 0),!0),w=g.width+a.padding,v=g.height+a.padding,b=w+v,E=[{x:b/2,y:0},{x:b,y:-b/2},{x:b/2,y:-b},{x:0,y:-b/2}];Kt.info("Question main (Circle)");const S=l4(f,b,b,E);return S.attr("style",a.style),xh(a,S),a.intersect=function(_){return Kt.warn("Intersect called"),Ql.polygon(a,E,_)},f},zKe=(i,a)=>{const f=i.insert("g").attr("class","node default").attr("id",a.domId||a.id),g=28,w=[{x:0,y:g/2},{x:g/2,y:0},{x:0,y:-g/2},{x:-g/2,y:0}];return f.insert("polygon",":first-child").attr("points",w.map(function(b){return b.x+","+b.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),a.width=28,a.height=28,a.intersect=function(b){return Ql.circle(a,14,b)},f},qKe=async(i,a)=>{const{shapeSvg:f,bbox:g}=await $1(i,a,L2(a,void 0),!0),w=4,v=g.height+a.padding,b=v/w,E=g.width+2*b+a.padding,S=[{x:b,y:0},{x:E-b,y:0},{x:E,y:-v/2},{x:E-b,y:-v},{x:b,y:-v},{x:0,y:-v/2}],_=l4(f,E,v,S);return _.attr("style",a.style),xh(a,_),a.intersect=function(M){return Ql.polygon(a,S,M)},f},HKe=async(i,a)=>{const{shapeSvg:f,bbox:g}=await $1(i,a,void 0,!0),w=2,v=g.height+2*a.padding,b=v/w,E=g.width+2*b+a.padding,S=$Ke(a.directions,g,a),_=l4(f,E,v,S);return _.attr("style",a.style),xh(a,_),a.intersect=function(M){return Ql.polygon(a,S,M)},f},VKe=async(i,a)=>{const{shapeSvg:f,bbox:g}=await $1(i,a,L2(a,void 0),!0),w=g.width+a.padding,v=g.height+a.padding,b=[{x:-v/2,y:0},{x:w,y:0},{x:w,y:-v},{x:-v/2,y:-v},{x:0,y:-v/2}];return l4(f,w,v,b).attr("style",a.style),a.width=w+v,a.height=v,a.intersect=function(S){return Ql.polygon(a,b,S)},f},UKe=async(i,a)=>{const{shapeSvg:f,bbox:g}=await $1(i,a,L2(a),!0),w=g.width+a.padding,v=g.height+a.padding,b=[{x:-2*v/6,y:0},{x:w-v/6,y:0},{x:w+2*v/6,y:-v},{x:v/6,y:-v}],E=l4(f,w,v,b);return E.attr("style",a.style),xh(a,E),a.intersect=function(S){return Ql.polygon(a,b,S)},f},GKe=async(i,a)=>{const{shapeSvg:f,bbox:g}=await $1(i,a,L2(a,void 0),!0),w=g.width+a.padding,v=g.height+a.padding,b=[{x:2*v/6,y:0},{x:w+v/6,y:0},{x:w-2*v/6,y:-v},{x:-v/6,y:-v}],E=l4(f,w,v,b);return E.attr("style",a.style),xh(a,E),a.intersect=function(S){return Ql.polygon(a,b,S)},f},KKe=async(i,a)=>{const{shapeSvg:f,bbox:g}=await $1(i,a,L2(a,void 0),!0),w=g.width+a.padding,v=g.height+a.padding,b=[{x:-2*v/6,y:0},{x:w+2*v/6,y:0},{x:w-v/6,y:-v},{x:v/6,y:-v}],E=l4(f,w,v,b);return E.attr("style",a.style),xh(a,E),a.intersect=function(S){return Ql.polygon(a,b,S)},f},WKe=async(i,a)=>{const{shapeSvg:f,bbox:g}=await $1(i,a,L2(a,void 0),!0),w=g.width+a.padding,v=g.height+a.padding,b=[{x:v/6,y:0},{x:w-v/6,y:0},{x:w+2*v/6,y:-v},{x:-2*v/6,y:-v}],E=l4(f,w,v,b);return E.attr("style",a.style),xh(a,E),a.intersect=function(S){return Ql.polygon(a,b,S)},f},YKe=async(i,a)=>{const{shapeSvg:f,bbox:g}=await $1(i,a,L2(a,void 0),!0),w=g.width+a.padding,v=g.height+a.padding,b=[{x:0,y:0},{x:w+v/2,y:0},{x:w,y:-v/2},{x:w+v/2,y:-v},{x:0,y:-v}],E=l4(f,w,v,b);return E.attr("style",a.style),xh(a,E),a.intersect=function(S){return Ql.polygon(a,b,S)},f},XKe=async(i,a)=>{const{shapeSvg:f,bbox:g}=await $1(i,a,L2(a,void 0),!0),w=g.width+a.padding,v=w/2,b=v/(2.5+w/50),E=g.height+b+a.padding,S="M 0,"+b+" a "+v+","+b+" 0,0,0 "+w+" 0 a "+v+","+b+" 0,0,0 "+-w+" 0 l 0,"+E+" a "+v+","+b+" 0,0,0 "+w+" 0 l 0,"+-E,_=f.attr("label-offset-y",b).insert("path",":first-child").attr("style",a.style).attr("d",S).attr("transform","translate("+-w/2+","+-(E/2+b)+")");return xh(a,_),a.intersect=function(M){const F=Ql.rect(a,M),R=F.x-a.x;if(v!=0&&(Math.abs(R)<a.width/2||Math.abs(R)==a.width/2&&Math.abs(F.y-a.y)>a.height/2-b)){let B=b*b*(1-R*R/(v*v));B!=0&&(B=Math.sqrt(B)),B=b-B,M.y-a.y>0&&(B=-B),F.y+=B}return F},f},QKe=async(i,a)=>{const{shapeSvg:f,bbox:g,halfPadding:w}=await $1(i,a,"node "+a.classes+" "+a.class,!0),v=f.insert("rect",":first-child"),b=a.positioned?a.width:g.width+a.padding,E=a.positioned?a.height:g.height+a.padding,S=a.positioned?-b/2:-g.width/2-w,_=a.positioned?-E/2:-g.height/2-w;if(v.attr("class","basic label-container").attr("style",a.style).attr("rx",a.rx).attr("ry",a.ry).attr("x",S).attr("y",_).attr("width",b).attr("height",E),a.props){const M=new Set(Object.keys(a.props));a.props.borders&&(Jpt(v,a.props.borders,b,E),M.delete("borders")),M.forEach(F=>{Kt.warn(`Unknown node property ${F}`)})}return xh(a,v),a.intersect=function(M){return Ql.rect(a,M)},f},JKe=async(i,a)=>{const{shapeSvg:f,bbox:g,halfPadding:w}=await $1(i,a,"node "+a.classes,!0),v=f.insert("rect",":first-child"),b=a.positioned?a.width:g.width+a.padding,E=a.positioned?a.height:g.height+a.padding,S=a.positioned?-b/2:-g.width/2-w,_=a.positioned?-E/2:-g.height/2-w;if(v.attr("class","basic cluster composite label-container").attr("style",a.style).attr("rx",a.rx).attr("ry",a.ry).attr("x",S).attr("y",_).attr("width",b).attr("height",E),a.props){const M=new Set(Object.keys(a.props));a.props.borders&&(Jpt(v,a.props.borders,b,E),M.delete("borders")),M.forEach(F=>{Kt.warn(`Unknown node property ${F}`)})}return xh(a,v),a.intersect=function(M){return Ql.rect(a,M)},f},ZKe=async(i,a)=>{const{shapeSvg:f}=await $1(i,a,"label",!0);Kt.trace("Classes = ",a.class);const g=f.insert("rect",":first-child"),w=0,v=0;if(g.attr("width",w).attr("height",v),f.attr("class","label edgeLabel"),a.props){const b=new Set(Object.keys(a.props));a.props.borders&&(Jpt(g,a.props.borders,w,v),b.delete("borders")),b.forEach(E=>{Kt.warn(`Unknown node property ${E}`)})}return xh(a,g),a.intersect=function(b){return Ql.rect(a,b)},f};function Jpt(i,a,f,g){const w=[],v=E=>{w.push(E,0)},b=E=>{w.push(0,E)};a.includes("t")?(Kt.debug("add top border"),v(f)):b(f),a.includes("r")?(Kt.debug("add right border"),v(g)):b(g),a.includes("b")?(Kt.debug("add bottom border"),v(f)):b(f),a.includes("l")?(Kt.debug("add left border"),v(g)):b(g),i.attr("stroke-dasharray",w.join(" "))}const tWe=(i,a)=>{let f;a.classes?f="node "+a.classes:f="node default";const g=i.insert("g").attr("class",f).attr("id",a.domId||a.id),w=g.insert("rect",":first-child"),v=g.insert("line"),b=g.insert("g").attr("class","label"),E=a.labelText.flat?a.labelText.flat():a.labelText;let S="";typeof E=="object"?S=E[0]:S=E,Kt.info("Label text abc79",S,E,typeof E=="object");const _=b.node().appendChild(ab(S,a.labelStyle,!0,!0));let M={width:0,height:0};if(j1(Re().flowchart.htmlLabels)){const Y=_.children[0],nt=Tr(_);M=Y.getBoundingClientRect(),nt.attr("width",M.width),nt.attr("height",M.height)}Kt.info("Text 2",E);const F=E.slice(1,E.length);let R=_.getBBox();const B=b.node().appendChild(ab(F.join?F.join("<br/>"):F,a.labelStyle,!0,!0));if(j1(Re().flowchart.htmlLabels)){const Y=B.children[0],nt=Tr(B);M=Y.getBoundingClientRect(),nt.attr("width",M.width),nt.attr("height",M.height)}const z=a.padding/2;return Tr(B).attr("transform","translate( "+(M.width>R.width?0:(R.width-M.width)/2)+", "+(R.height+z+5)+")"),Tr(_).attr("transform","translate( "+(M.width<R.width?0:-(R.width-M.width)/2)+", 0)"),M=b.node().getBBox(),b.attr("transform","translate("+-M.width/2+", "+(-M.height/2-z+3)+")"),w.attr("class","outer title-state").attr("x",-M.width/2-z).attr("y",-M.height/2-z).attr("width",M.width+a.padding).attr("height",M.height+a.padding),v.attr("class","divider").attr("x1",-M.width/2-z).attr("x2",M.width/2+z).attr("y1",-M.height/2-z+R.height+z).attr("y2",-M.height/2-z+R.height+z),xh(a,w),a.intersect=function(Y){return Ql.rect(a,Y)},g},eWe=async(i,a)=>{const{shapeSvg:f,bbox:g}=await $1(i,a,L2(a,void 0),!0),w=g.height+a.padding,v=g.width+w/4+a.padding,b=f.insert("rect",":first-child").attr("style",a.style).attr("rx",w/2).attr("ry",w/2).attr("x",-v/2).attr("y",-w/2).attr("width",v).attr("height",w);return xh(a,b),a.intersect=function(E){return Ql.rect(a,E)},f},nWe=async(i,a)=>{const{shapeSvg:f,bbox:g,halfPadding:w}=await $1(i,a,L2(a,void 0),!0),v=f.insert("circle",":first-child");return v.attr("style",a.style).attr("rx",a.rx).attr("ry",a.ry).attr("r",g.width/2+w).attr("width",g.width+a.padding).attr("height",g.height+a.padding),Kt.info("Circle main"),xh(a,v),a.intersect=function(b){return Kt.info("Circle intersect",a,g.width/2+w,b),Ql.circle(a,g.width/2+w,b)},f},rWe=async(i,a)=>{const{shapeSvg:f,bbox:g,halfPadding:w}=await $1(i,a,L2(a,void 0),!0),v=5,b=f.insert("g",":first-child"),E=b.insert("circle"),S=b.insert("circle");return b.attr("class",a.class),E.attr("style",a.style).attr("rx",a.rx).attr("ry",a.ry).attr("r",g.width/2+w+v).attr("width",g.width+a.padding+v*2).attr("height",g.height+a.padding+v*2),S.attr("style",a.style).attr("rx",a.rx).attr("ry",a.ry).attr("r",g.width/2+w).attr("width",g.width+a.padding).attr("height",g.height+a.padding),Kt.info("DoubleCircle main"),xh(a,E),a.intersect=function(_){return Kt.info("DoubleCircle intersect",a,g.width/2+w+v,_),Ql.circle(a,g.width/2+w+v,_)},f},iWe=async(i,a)=>{const{shapeSvg:f,bbox:g}=await $1(i,a,L2(a,void 0),!0),w=g.width+a.padding,v=g.height+a.padding,b=[{x:0,y:0},{x:w,y:0},{x:w,y:-v},{x:0,y:-v},{x:0,y:0},{x:-8,y:0},{x:w+8,y:0},{x:w+8,y:-v},{x:-8,y:-v},{x:-8,y:0}],E=l4(f,w,v,b);return E.attr("style",a.style),xh(a,E),a.intersect=function(S){return Ql.polygon(a,b,S)},f},sWe=(i,a)=>{const f=i.insert("g").attr("class","node default").attr("id",a.domId||a.id),g=f.insert("circle",":first-child");return g.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),xh(a,g),a.intersect=function(w){return Ql.circle(a,7,w)},f},szt=(i,a,f)=>{const g=i.insert("g").attr("class","node default").attr("id",a.domId||a.id);let w=70,v=10;f==="LR"&&(w=10,v=70);const b=g.append("rect").attr("x",-1*w/2).attr("y",-1*v/2).attr("width",w).attr("height",v).attr("class","fork-join");return xh(a,b),a.height=a.height+a.padding/2,a.width=a.width+a.padding/2,a.intersect=function(E){return Ql.rect(a,E)},g},azt={rhombus:izt,composite:JKe,question:izt,rect:QKe,labelRect:ZKe,rectWithTitle:tWe,choice:zKe,circle:nWe,doublecircle:rWe,stadium:eWe,hexagon:qKe,block_arrow:HKe,rect_left_inv_arrow:VKe,lean_right:UKe,lean_left:GKe,trapezoid:KKe,inv_trapezoid:WKe,rect_right_inv_arrow:YKe,cylinder:XKe,start:sWe,end:(i,a)=>{const f=i.insert("g").attr("class","node default").attr("id",a.domId||a.id),g=f.insert("circle",":first-child"),w=f.insert("circle",":first-child");return w.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),g.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),xh(a,w),a.intersect=function(v){return Ql.circle(a,7,v)},f},note:RKe,subroutine:iWe,fork:szt,join:szt,class_box:(i,a)=>{const f=a.padding/2,g=4,w=8;let v;a.classes?v="node "+a.classes:v="node default";const b=i.insert("g").attr("class",v).attr("id",a.domId||a.id),E=b.insert("rect",":first-child"),S=b.insert("line"),_=b.insert("line");let M=0,F=g;const R=b.insert("g").attr("class","label");let B=0;const z=a.classData.annotations&&a.classData.annotations[0],Y=a.classData.annotations[0]?"«"+a.classData.annotations[0]+"»":"",nt=R.node().appendChild(ab(Y,a.labelStyle,!0,!0));let ot=nt.getBBox();if(j1(Re().flowchart.htmlLabels)){const gt=nt.children[0],Q=Tr(nt);ot=gt.getBoundingClientRect(),Q.attr("width",ot.width),Q.attr("height",ot.height)}a.classData.annotations[0]&&(F+=ot.height+g,M+=ot.width);let ft=a.classData.label;a.classData.type!==void 0&&a.classData.type!==""&&(Re().flowchart.htmlLabels?ft+="&lt;"+a.classData.type+"&gt;":ft+="<"+a.classData.type+">");const wt=R.node().appendChild(ab(ft,a.labelStyle,!0,!0));Tr(wt).attr("class","classTitle");let mt=wt.getBBox();if(j1(Re().flowchart.htmlLabels)){const gt=wt.children[0],Q=Tr(wt);mt=gt.getBoundingClientRect(),Q.attr("width",mt.width),Q.attr("height",mt.height)}F+=mt.height+g,mt.width>M&&(M=mt.width);const ct=[];a.classData.members.forEach(gt=>{const Q=gt.getDisplayDetails();let dt=Q.displayText;Re().flowchart.htmlLabels&&(dt=dt.replace(/</g,"&lt;").replace(/>/g,"&gt;"));const K=R.node().appendChild(ab(dt,Q.cssStyle?Q.cssStyle:a.labelStyle,!0,!0));let yt=K.getBBox();if(j1(Re().flowchart.htmlLabels)){const V=K.children[0],Ot=Tr(K);yt=V.getBoundingClientRect(),Ot.attr("width",yt.width),Ot.attr("height",yt.height)}yt.width>M&&(M=yt.width),F+=yt.height+g,ct.push(K)}),F+=w;const rt=[];if(a.classData.methods.forEach(gt=>{const Q=gt.getDisplayDetails();let dt=Q.displayText;Re().flowchart.htmlLabels&&(dt=dt.replace(/</g,"&lt;").replace(/>/g,"&gt;"));const K=R.node().appendChild(ab(dt,Q.cssStyle?Q.cssStyle:a.labelStyle,!0,!0));let yt=K.getBBox();if(j1(Re().flowchart.htmlLabels)){const V=K.children[0],Ot=Tr(K);yt=V.getBoundingClientRect(),Ot.attr("width",yt.width),Ot.attr("height",yt.height)}yt.width>M&&(M=yt.width),F+=yt.height+g,rt.push(K)}),F+=w,z){let gt=(M-ot.width)/2;Tr(nt).attr("transform","translate( "+(-1*M/2+gt)+", "+-1*F/2+")"),B=ot.height+g}let it=(M-mt.width)/2;return Tr(wt).attr("transform","translate( "+(-1*M/2+it)+", "+(-1*F/2+B)+")"),B+=mt.height+g,S.attr("class","divider").attr("x1",-M/2-f).attr("x2",M/2+f).attr("y1",-F/2-f+w+B).attr("y2",-F/2-f+w+B),B+=w,ct.forEach(gt=>{Tr(gt).attr("transform","translate( "+-M/2+", "+(-1*F/2+B+w/2)+")");const Q=gt==null?void 0:gt.getBBox();B+=((Q==null?void 0:Q.height)??0)+g}),B+=w,_.attr("class","divider").attr("x1",-M/2-f).attr("x2",M/2+f).attr("y1",-F/2-f+w+B).attr("y2",-F/2-f+w+B),B+=w,rt.forEach(gt=>{Tr(gt).attr("transform","translate( "+-M/2+", "+(-1*F/2+B)+")");const Q=gt==null?void 0:gt.getBBox();B+=((Q==null?void 0:Q.height)??0)+g}),E.attr("style",a.style).attr("class","outer title-state").attr("x",-M/2-f).attr("y",-(F/2)-f).attr("width",M+a.padding).attr("height",F+a.padding),xh(a,E),a.intersect=function(gt){return Ql.rect(a,gt)},b}};let TD={};const nX=async(i,a,f)=>{let g,w;if(a.link){let v;Re().securityLevel==="sandbox"?v="_top":a.linkTarget&&(v=a.linkTarget||"_blank"),g=i.insert("svg:a").attr("xlink:href",a.link).attr("target",v),w=await azt[a.shape](g,a,f)}else w=await azt[a.shape](i,a,f),g=w;return a.tooltip&&w.attr("title",a.tooltip),a.class&&w.attr("class","node default "+a.class),g.attr("data-node","true"),g.attr("data-id",a.id),TD[a.id]=g,a.haveCallback&&TD[a.id].attr("class",TD[a.id].attr("class")+" clickable"),g},aWe=(i,a)=>{TD[a.id]=i},oWe=()=>{TD={}},Zpt=i=>{const a=TD[i.id];Kt.trace("Transforming node",i.diff,i,"translate("+(i.x-i.width/2-5)+", "+i.width/2+")");const f=8,g=i.diff||0;return i.clusterNode?a.attr("transform","translate("+(i.x+g-i.width/2)+", "+(i.y-i.height/2-f)+")"):a.attr("transform","translate("+i.x+", "+i.y+")"),g},rX=({flowchart:i})=>{var w,v;const a=((w=i==null?void 0:i.subGraphTitleMargin)==null?void 0:w.top)??0,f=((v=i==null?void 0:i.subGraphTitleMargin)==null?void 0:v.bottom)??0,g=a+f;return{subGraphTitleTopMargin:a,subGraphTitleBottomMargin:f,subGraphTitleTotalMargin:g}},cWe={rect:(i,a)=>{Kt.info("Creating subgraph rect for ",a.id,a);const f=Re(),g=i.insert("g").attr("class","cluster"+(a.class?" "+a.class:"")).attr("id",a.id),w=g.insert("rect",":first-child"),v=j1(f.flowchart.htmlLabels),b=g.insert("g").attr("class","cluster-label"),E=a.labelType==="markdown"?ZY(b,a.labelText,{style:a.labelStyle,useHtmlLabels:v}):b.node().appendChild(ab(a.labelText,a.labelStyle,void 0,!0));let S=E.getBBox();if(j1(f.flowchart.htmlLabels)){const z=E.children[0],Y=Tr(E);S=z.getBoundingClientRect(),Y.attr("width",S.width),Y.attr("height",S.height)}const _=0*a.padding,M=_/2,F=a.width<=S.width+_?S.width+_:a.width;a.width<=S.width+_?a.diff=(S.width-a.width)/2-a.padding/2:a.diff=-a.padding/2,Kt.trace("Data ",a,JSON.stringify(a)),w.attr("style",a.style).attr("rx",a.rx).attr("ry",a.ry).attr("x",a.x-F/2).attr("y",a.y-a.height/2-M).attr("width",F).attr("height",a.height+_);const{subGraphTitleTopMargin:R}=rX(f);v?b.attr("transform",`translate(${a.x-S.width/2}, ${a.y-a.height/2+R})`):b.attr("transform",`translate(${a.x}, ${a.y-a.height/2+R})`);const B=w.node().getBBox();return a.width=B.width,a.height=B.height,a.intersect=function(z){return eB(a,z)},g},roundedWithTitle:(i,a)=>{const f=Re(),g=i.insert("g").attr("class",a.classes).attr("id",a.id),w=g.insert("rect",":first-child"),v=g.insert("g").attr("class","cluster-label"),b=g.append("rect"),E=v.node().appendChild(ab(a.labelText,a.labelStyle,void 0,!0));let S=E.getBBox();if(j1(f.flowchart.htmlLabels)){const z=E.children[0],Y=Tr(E);S=z.getBoundingClientRect(),Y.attr("width",S.width),Y.attr("height",S.height)}S=E.getBBox();const _=0*a.padding,M=_/2,F=a.width<=S.width+a.padding?S.width+a.padding:a.width;a.width<=S.width+a.padding?a.diff=(S.width+a.padding*0-a.width)/2:a.diff=-a.padding/2,w.attr("class","outer").attr("x",a.x-F/2-M).attr("y",a.y-a.height/2-M).attr("width",F+_).attr("height",a.height+_),b.attr("class","inner").attr("x",a.x-F/2-M).attr("y",a.y-a.height/2-M+S.height-1).attr("width",F+_).attr("height",a.height+_-S.height-3);const{subGraphTitleTopMargin:R}=rX(f);v.attr("transform",`translate(${a.x-S.width/2}, ${a.y-a.height/2-a.padding/3+(j1(f.flowchart.htmlLabels)?5:3)+R})`);const B=w.node().getBBox();return a.height=B.height,a.intersect=function(z){return eB(a,z)},g},noteGroup:(i,a)=>{const f=i.insert("g").attr("class","note-cluster").attr("id",a.id),g=f.insert("rect",":first-child"),w=0*a.padding,v=w/2;g.attr("rx",a.rx).attr("ry",a.ry).attr("x",a.x-a.width/2-v).attr("y",a.y-a.height/2-v).attr("width",a.width+w).attr("height",a.height+w).attr("fill","none");const b=g.node().getBBox();return a.width=b.width,a.height=b.height,a.intersect=function(E){return eB(a,E)},f},divider:(i,a)=>{const f=i.insert("g").attr("class",a.classes).attr("id",a.id),g=f.insert("rect",":first-child"),w=0*a.padding,v=w/2;g.attr("class","divider").attr("x",a.x-a.width/2-v).attr("y",a.y-a.height/2).attr("width",a.width+w).attr("height",a.height+w);const b=g.node().getBBox();return a.width=b.width,a.height=b.height,a.diff=-a.padding/2,a.intersect=function(E){return eB(a,E)},f}};let ozt={};const uWe=(i,a)=>{Kt.trace("Inserting cluster");const f=a.shape||"rect";ozt[a.id]=cWe[f](i,a)},lWe=()=>{ozt={}},C8={aggregation:18,extension:18,composition:18,dependency:6,lollipop:13.5,arrow_point:5.3};function iX(i,a){if(i===void 0||a===void 0)return{angle:0,deltaX:0,deltaY:0};i=sX(i),a=sX(a);const[f,g]=[i.x,i.y],[w,v]=[a.x,a.y],b=w-f,E=v-g;return{angle:Math.atan(E/b),deltaX:b,deltaY:E}}const sX=i=>Array.isArray(i)?{x:i[0],y:i[1]}:i,czt=i=>({x:function(a,f,g){let w=0;if(f===0&&Object.hasOwn(C8,i.arrowTypeStart)){const{angle:v,deltaX:b}=iX(g[0],g[1]);w=C8[i.arrowTypeStart]*Math.cos(v)*(b>=0?1:-1)}else if(f===g.length-1&&Object.hasOwn(C8,i.arrowTypeEnd)){const{angle:v,deltaX:b}=iX(g[g.length-1],g[g.length-2]);w=C8[i.arrowTypeEnd]*Math.cos(v)*(b>=0?1:-1)}return sX(a).x+w},y:function(a,f,g){let w=0;if(f===0&&Object.hasOwn(C8,i.arrowTypeStart)){const{angle:v,deltaY:b}=iX(g[0],g[1]);w=C8[i.arrowTypeStart]*Math.abs(Math.sin(v))*(b>=0?1:-1)}else if(f===g.length-1&&Object.hasOwn(C8,i.arrowTypeEnd)){const{angle:v,deltaY:b}=iX(g[g.length-1],g[g.length-2]);w=C8[i.arrowTypeEnd]*Math.abs(Math.sin(v))*(b>=0?1:-1)}return sX(a).y+w}}),uzt=(i,a,f,g,w)=>{a.arrowTypeStart&&lzt(i,"start",a.arrowTypeStart,f,g,w),a.arrowTypeEnd&&lzt(i,"end",a.arrowTypeEnd,f,g,w)},hWe={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},lzt=(i,a,f,g,w,v)=>{const b=hWe[f];if(!b){Kt.warn(`Unknown arrow type: ${f}`);return}const E=a==="start"?"Start":"End";i.attr(`marker-${a}`,`url(${g}#${w}_${v}-${b}${E})`)};let aX={},p0={};const fWe=()=>{aX={},p0={}},tbt=(i,a)=>{const f=j1(Re().flowchart.htmlLabels),g=a.labelType==="markdown"?ZY(i,a.label,{style:a.labelStyle,useHtmlLabels:f,addSvgBackground:!0}):ab(a.label,a.labelStyle),w=i.insert("g").attr("class","edgeLabel"),v=w.insert("g").attr("class","label");v.node().appendChild(g);let b=g.getBBox();if(f){const S=g.children[0],_=Tr(g);b=S.getBoundingClientRect(),_.attr("width",b.width),_.attr("height",b.height)}v.attr("transform","translate("+-b.width/2+", "+-b.height/2+")"),aX[a.id]=w,a.width=b.width,a.height=b.height;let E;if(a.startLabelLeft){const S=ab(a.startLabelLeft,a.labelStyle),_=i.insert("g").attr("class","edgeTerminals"),M=_.insert("g").attr("class","inner");E=M.node().appendChild(S);const F=S.getBBox();M.attr("transform","translate("+-F.width/2+", "+-F.height/2+")"),p0[a.id]||(p0[a.id]={}),p0[a.id].startLeft=_,oX(E,a.startLabelLeft)}if(a.startLabelRight){const S=ab(a.startLabelRight,a.labelStyle),_=i.insert("g").attr("class","edgeTerminals"),M=_.insert("g").attr("class","inner");E=_.node().appendChild(S),M.node().appendChild(S);const F=S.getBBox();M.attr("transform","translate("+-F.width/2+", "+-F.height/2+")"),p0[a.id]||(p0[a.id]={}),p0[a.id].startRight=_,oX(E,a.startLabelRight)}if(a.endLabelLeft){const S=ab(a.endLabelLeft,a.labelStyle),_=i.insert("g").attr("class","edgeTerminals"),M=_.insert("g").attr("class","inner");E=M.node().appendChild(S);const F=S.getBBox();M.attr("transform","translate("+-F.width/2+", "+-F.height/2+")"),_.node().appendChild(S),p0[a.id]||(p0[a.id]={}),p0[a.id].endLeft=_,oX(E,a.endLabelLeft)}if(a.endLabelRight){const S=ab(a.endLabelRight,a.labelStyle),_=i.insert("g").attr("class","edgeTerminals"),M=_.insert("g").attr("class","inner");E=M.node().appendChild(S);const F=S.getBBox();M.attr("transform","translate("+-F.width/2+", "+-F.height/2+")"),_.node().appendChild(S),p0[a.id]||(p0[a.id]={}),p0[a.id].endRight=_,oX(E,a.endLabelRight)}return g};function oX(i,a){Re().flowchart.htmlLabels&&i&&(i.style.width=a.length*9+"px",i.style.height="12px")}const hzt=(i,a)=>{Kt.debug("Moving label abc88 ",i.id,i.label,aX[i.id],a);let f=a.updatedPath?a.updatedPath:a.originalPath;const g=Re(),{subGraphTitleTotalMargin:w}=rX(g);if(i.label){const v=aX[i.id];let b=i.x,E=i.y;if(f){const S=uo.calcLabelPosition(f);Kt.debug("Moving label "+i.label+" from (",b,",",E,") to (",S.x,",",S.y,") abc88"),a.updatedPath&&(b=S.x,E=S.y)}v.attr("transform",`translate(${b}, ${E+w/2})`)}if(i.startLabelLeft){const v=p0[i.id].startLeft;let b=i.x,E=i.y;if(f){const S=uo.calcTerminalLabelPosition(i.arrowTypeStart?10:0,"start_left",f);b=S.x,E=S.y}v.attr("transform",`translate(${b}, ${E})`)}if(i.startLabelRight){const v=p0[i.id].startRight;let b=i.x,E=i.y;if(f){const S=uo.calcTerminalLabelPosition(i.arrowTypeStart?10:0,"start_right",f);b=S.x,E=S.y}v.attr("transform",`translate(${b}, ${E})`)}if(i.endLabelLeft){const v=p0[i.id].endLeft;let b=i.x,E=i.y;if(f){const S=uo.calcTerminalLabelPosition(i.arrowTypeEnd?10:0,"end_left",f);b=S.x,E=S.y}v.attr("transform",`translate(${b}, ${E})`)}if(i.endLabelRight){const v=p0[i.id].endRight;let b=i.x,E=i.y;if(f){const S=uo.calcTerminalLabelPosition(i.arrowTypeEnd?10:0,"end_right",f);b=S.x,E=S.y}v.attr("transform",`translate(${b}, ${E})`)}},dWe=(i,a)=>{const f=i.x,g=i.y,w=Math.abs(a.x-f),v=Math.abs(a.y-g),b=i.width/2,E=i.height/2;return w>=b||v>=E},gWe=(i,a,f)=>{Kt.debug(`intersection calc abc89:
281 `+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var it=this.next();return it||this.lex()},begin:function(it){this.conditionStack.push(it)},popState:function(){var it=this.conditionStack.length-1;return it>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(it){return it=this.conditionStack.length-1-Math.abs(it||0),it>=0?this.conditionStack[it]:"INITIAL"},pushState:function(it){this.begin(it)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(it,gt,Q,dt){switch(Q){case 0:return this.begin("acc_title"),19;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),21;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 13;case 8:break;case 9:break;case 10:return 5;case 11:return 40;case 12:return 32;case 13:return 38;case 14:return 42;case 15:return 43;case 16:return 44;case 17:return 45;case 18:return 35;case 19:return 28;case 20:return 29;case 21:return 37;case 22:return 31;case 23:return 34;case 24:return 26;case 25:return 9;case 26:return 9;case 27:return 8;case 28:return"CARET";case 29:this.begin("options");break;case 30:this.popState();break;case 31:return 12;case 32:return 36;case 33:this.begin("string");break;case 34:this.popState();break;case 35:return 33;case 36:return 30;case 37:return 46;case 38:return 7}},rules:[/^(?: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,/^(?:parent:)/i,/^(?:checkout(?=\s|$))/i,/^(?:LR\b)/i,/^(?:TB\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:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},options:{rules:[30,31],inclusive:!1},string:{rules:[34,35],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,32,33,36,37,38,39],inclusive:!0}}};return ct}();ft.lexer=wt;function mt(){this.yy={}}return mt.prototype=ft,ft.Parser=mt,new mt}();abt.parser=abt;const UWe=abt;let cX=Re().gitGraph.mainBranchName,GWe=Re().gitGraph.mainBranchOrder,q1={},np=null,rB={};rB[cX]={name:cX,order:GWe};let h1={};h1[cX]=np;let Dd=cX,Ezt="LR",N9=0;function obt(){return AFt({length:7})}function KWe(i,a){const f=Object.create(null);return i.reduce((g,w)=>{const v=a(w);return f[v]||(f[v]=!0,g.push(w)),g},[])}const WWe=function(i){Ezt=i};let Tzt={};const YWe=function(i){Kt.debug("options str",i),i=i&&i.trim(),i=i||"{}";try{Tzt=JSON.parse(i)}catch(a){Kt.error("error while parsing gitGraph options",a.message)}},XWe=function(){return Tzt},QWe=function(i,a,f,g){Kt.debug("Entering commit:",i,a,f,g),a=ei.sanitizeText(a,Re()),i=ei.sanitizeText(i,Re()),g=ei.sanitizeText(g,Re());const w={id:a||N9+"-"+obt(),message:i,seq:N9++,type:f||CD.NORMAL,tag:g||"",parents:np==null?[]:[np.id],branch:Dd};np=w,q1[w.id]=w,h1[Dd]=w.id,Kt.debug("in pushCommit "+w.id)},JWe=function(i,a){if(i=ei.sanitizeText(i,Re()),h1[i]===void 0)h1[i]=np!=null?np.id:null,rB[i]={name:i,order:a?parseInt(a,10):null},Czt(i),Kt.debug("in createBranch");else{let f=new Error('Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout '+i+'")');throw f.hash={text:"branch "+i,token:"branch "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"checkout '+i+'"']},f}},ZWe=function(i,a,f,g){i=ei.sanitizeText(i,Re()),a=ei.sanitizeText(a,Re());const w=q1[h1[Dd]],v=q1[h1[i]];if(Dd===i){let E=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw E.hash={text:"merge "+i,token:"merge "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch abc"]},E}else if(w===void 0||!w){let E=new Error('Incorrect usage of "merge". Current branch ('+Dd+")has no commits");throw E.hash={text:"merge "+i,token:"merge "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["commit"]},E}else if(h1[i]===void 0){let E=new Error('Incorrect usage of "merge". Branch to be merged ('+i+") does not exist");throw E.hash={text:"merge "+i,token:"merge "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch "+i]},E}else if(v===void 0||!v){let E=new Error('Incorrect usage of "merge". Branch to be merged ('+i+") has no commits");throw E.hash={text:"merge "+i,token:"merge "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"commit"']},E}else if(w===v){let E=new Error('Incorrect usage of "merge". Both branches have same head');throw E.hash={text:"merge "+i,token:"merge "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch abc"]},E}else if(a&&q1[a]!==void 0){let E=new Error('Incorrect usage of "merge". Commit with id:'+a+" already exists, use different custom Id");throw E.hash={text:"merge "+i+a+f+g,token:"merge "+i+a+f+g,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["merge "+i+" "+a+"_UNIQUE "+f+" "+g]},E}const b={id:a||N9+"-"+obt(),message:"merged branch "+i+" into "+Dd,seq:N9++,parents:[np==null?null:np.id,h1[i]],branch:Dd,type:CD.MERGE,customType:f,customId:!!a,tag:g||""};np=b,q1[b.id]=b,h1[Dd]=b.id,Kt.debug(h1),Kt.debug("in mergeBranch")},tYe=function(i,a,f,g){if(Kt.debug("Entering cherryPick:",i,a,f),i=ei.sanitizeText(i,Re()),a=ei.sanitizeText(a,Re()),f=ei.sanitizeText(f,Re()),g=ei.sanitizeText(g,Re()),!i||q1[i]===void 0){let b=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw b.hash={text:"cherryPick "+i+" "+a,token:"cherryPick "+i+" "+a,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},b}let w=q1[i],v=w.branch;if(g&&!(Array.isArray(w.parents)&&w.parents.includes(g)))throw new Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");if(w.type===CD.MERGE&&!g)throw new Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!a||q1[a]===void 0){if(v===Dd){let S=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw S.hash={text:"cherryPick "+i+" "+a,token:"cherryPick "+i+" "+a,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},S}const b=q1[h1[Dd]];if(b===void 0||!b){let S=new Error('Incorrect usage of "cherry-pick". Current branch ('+Dd+")has no commits");throw S.hash={text:"cherryPick "+i+" "+a,token:"cherryPick "+i+" "+a,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},S}const E={id:N9+"-"+obt(),message:"cherry-picked "+w+" into "+Dd,seq:N9++,parents:[np==null?null:np.id,w.id],branch:Dd,type:CD.CHERRY_PICK,tag:f??`cherry-pick:${w.id}${w.type===CD.MERGE?`|parent:${g}`:""}`};np=E,q1[E.id]=E,h1[Dd]=E.id,Kt.debug(h1),Kt.debug("in cherryPick")}},Czt=function(i){if(i=ei.sanitizeText(i,Re()),h1[i]===void 0){let a=new Error('Trying to checkout branch which is not yet created. (Help try using "branch '+i+'")');throw a.hash={text:"checkout "+i,token:"checkout "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"branch '+i+'"']},a}else{Dd=i;const a=h1[Dd];np=q1[a]}};function Szt(i,a,f){const g=i.indexOf(a);g===-1?i.push(f):i.splice(g,1,f)}function _zt(i){const a=i.reduce((w,v)=>w.seq>v.seq?w:v,i[0]);let f="";i.forEach(function(w){w===a?f+=" *":f+=" |"});const g=[f,a.id,a.seq];for(let w in h1)h1[w]===a.id&&g.push(w);if(Kt.debug(g.join(" ")),a.parents&&a.parents.length==2){const w=q1[a.parents[0]];Szt(i,a,w),i.push(q1[a.parents[1]])}else{if(a.parents.length==0)return;{const w=q1[a.parents];Szt(i,a,w)}}i=KWe(i,w=>w.id),_zt(i)}const eYe=function(){Kt.debug(q1);const i=Azt()[0];_zt([i])},nYe=function(){q1={},np=null;let i=Re().gitGraph.mainBranchName,a=Re().gitGraph.mainBranchOrder;h1={},h1[i]=null,rB={},rB[i]={name:i,order:a},Dd=i,N9=0,ag()},rYe=function(){return Object.values(rB).map((a,f)=>a.order!==null?a:{...a,order:parseFloat(`0.${f}`,10)}).sort((a,f)=>a.order-f.order).map(({name:a})=>({name:a}))},iYe=function(){return h1},sYe=function(){return q1},Azt=function(){const i=Object.keys(q1).map(function(a){return q1[a]});return i.forEach(function(a){Kt.debug(a.id)}),i.sort((a,f)=>a.seq-f.seq),i},aYe=function(){return Dd},oYe=function(){return Ezt},cYe=function(){return np},CD={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},uYe={getConfig:()=>Re().gitGraph,setDirection:WWe,setOptions:YWe,getOptions:XWe,commit:QWe,branch:JWe,merge:ZWe,cherryPick:tYe,checkout:Czt,prettyPrint:eYe,clear:nYe,getBranchesAsObjArray:rYe,getBranches:iYe,getCommits:sYe,getCommitsArray:Azt,getCurrentBranch:aYe,getDirection:oYe,getHead:cYe,setAccTitle:og,getAccTitle:Xg,getAccDescription:Jg,setAccDescription:Qg,setDiagramTitle:S2,getDiagramTitle:Zg,commitType:CD};let iB={};const D2={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},P9=8;let Cf={},$x={},uX=[],sB=0,f1="LR";const lYe=()=>{Cf={},$x={},iB={},sB=0,uX=[],f1="LR"},Lzt=i=>{const a=document.createElementNS("http://www.w3.org/2000/svg","text");let f=[];typeof i=="string"?f=i.split(/\\n|\n|<br\s*\/?>/gi):Array.isArray(i)?f=i:f=[];for(const g of f){const w=document.createElementNS("http://www.w3.org/2000/svg","tspan");w.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),w.setAttribute("dy","1em"),w.setAttribute("x","0"),w.setAttribute("class","row"),w.textContent=g.trim(),a.appendChild(w)}return a},hYe=i=>{let a="",f=0;return i.forEach(g=>{const w=f1==="TB"?$x[g].y:$x[g].x;w>=f&&(a=g,f=w)}),a||void 0},Dzt=(i,a,f)=>{const g=Re().gitGraph,w=i.append("g").attr("class","commit-bullets"),v=i.append("g").attr("class","commit-labels");let b=0;f1==="TB"&&(b=30);const S=Object.keys(a).sort((R,B)=>a[R].seq-a[B].seq),_=g.parallelCommits,M=10,F=40;S.forEach(R=>{const B=a[R];if(_)if(B.parents.length){const ot=hYe(B.parents);b=f1==="TB"?$x[ot].y+F:$x[ot].x+F}else b=0,f1==="TB"&&(b=30);const z=b+M,Y=f1==="TB"?z:Cf[B.branch].pos,nt=f1==="TB"?Cf[B.branch].pos:z;if(f){let ot,ft=B.customType!==void 0&&B.customType!==""?B.customType:B.type;switch(ft){case D2.NORMAL:ot="commit-normal";break;case D2.REVERSE:ot="commit-reverse";break;case D2.HIGHLIGHT:ot="commit-highlight";break;case D2.MERGE:ot="commit-merge";break;case D2.CHERRY_PICK:ot="commit-cherry-pick";break;default:ot="commit-normal"}if(ft===D2.HIGHLIGHT){const wt=w.append("rect");wt.attr("x",nt-10),wt.attr("y",Y-10),wt.attr("height",20),wt.attr("width",20),wt.attr("class",`commit ${B.id} commit-highlight${Cf[B.branch].index%P9} ${ot}-outer`),w.append("rect").attr("x",nt-6).attr("y",Y-6).attr("height",12).attr("width",12).attr("class",`commit ${B.id} commit${Cf[B.branch].index%P9} ${ot}-inner`)}else if(ft===D2.CHERRY_PICK)w.append("circle").attr("cx",nt).attr("cy",Y).attr("r",10).attr("class",`commit ${B.id} ${ot}`),w.append("circle").attr("cx",nt-3).attr("cy",Y+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${B.id} ${ot}`),w.append("circle").attr("cx",nt+3).attr("cy",Y+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${B.id} ${ot}`),w.append("line").attr("x1",nt+3).attr("y1",Y+1).attr("x2",nt).attr("y2",Y-5).attr("stroke","#fff").attr("class",`commit ${B.id} ${ot}`),w.append("line").attr("x1",nt-3).attr("y1",Y+1).attr("x2",nt).attr("y2",Y-5).attr("stroke","#fff").attr("class",`commit ${B.id} ${ot}`);else{const wt=w.append("circle");if(wt.attr("cx",nt),wt.attr("cy",Y),wt.attr("r",B.type===D2.MERGE?9:10),wt.attr("class",`commit ${B.id} commit${Cf[B.branch].index%P9}`),ft===D2.MERGE){const mt=w.append("circle");mt.attr("cx",nt),mt.attr("cy",Y),mt.attr("r",6),mt.attr("class",`commit ${ot} ${B.id} commit${Cf[B.branch].index%P9}`)}ft===D2.REVERSE&&w.append("path").attr("d",`M ${nt-5},${Y-5}L${nt+5},${Y+5}M${nt-5},${Y+5}L${nt+5},${Y-5}`).attr("class",`commit ${ot} ${B.id} commit${Cf[B.branch].index%P9}`)}}if(f1==="TB"?$x[B.id]={x:nt,y:z}:$x[B.id]={x:z,y:Y},f){if(B.type!==D2.CHERRY_PICK&&(B.customId&&B.type===D2.MERGE||B.type!==D2.MERGE)&&g.showCommitLabel){const wt=v.append("g"),mt=wt.insert("rect").attr("class","commit-label-bkg"),ct=wt.append("text").attr("x",b).attr("y",Y+25).attr("class","commit-label").text(B.id);let rt=ct.node().getBBox();if(mt.attr("x",z-rt.width/2-2).attr("y",Y+13.5).attr("width",rt.width+2*2).attr("height",rt.height+2*2),f1==="TB"&&(mt.attr("x",nt-(rt.width+4*4+5)).attr("y",Y-12),ct.attr("x",nt-(rt.width+4*4)).attr("y",Y+rt.height-12)),f1!=="TB"&&ct.attr("x",z-rt.width/2),g.rotateCommitLabel)if(f1==="TB")ct.attr("transform","rotate(-45, "+nt+", "+Y+")"),mt.attr("transform","rotate(-45, "+nt+", "+Y+")");else{let it=-7.5-(rt.width+10)/25*9.5,gt=10+rt.width/25*8.5;wt.attr("transform","translate("+it+", "+gt+") rotate(-45, "+b+", "+Y+")")}}if(B.tag){const wt=v.insert("polygon"),mt=v.append("circle"),ct=v.append("text").attr("y",Y-16).attr("class","tag-label").text(B.tag);let rt=ct.node().getBBox();ct.attr("x",z-rt.width/2);const it=rt.height/2,gt=Y-19.2;wt.attr("class","tag-label-bkg").attr("points",`
293 ${nt+M},${b+it+2}`).attr("transform","translate(12,12) rotate(45, "+nt+","+b+")"),mt.attr("cx",nt+4/2).attr("cy",b).attr("transform","translate(12,12) rotate(45, "+nt+","+b+")"),ct.attr("x",nt+5).attr("y",b+3).attr("transform","translate(14,14) rotate(45, "+nt+","+b+")"))}}b+=F+M,b>sB&&(sB=b)})},fYe=(i,a,f,g,w)=>{const b=(f1==="TB"?f.x<g.x:f.y<g.y)?a.branch:i.branch,E=_=>_.branch===b,S=_=>_.seq>i.seq&&_.seq<a.seq;return Object.values(w).some(_=>S(_)&&E(_))},aB=(i,a,f=0)=>{const g=i+Math.abs(i-a)/2;if(f>5)return g;if(uX.every(b=>Math.abs(b-g)>=10))return uX.push(g),g;const v=Math.abs(i-a);return aB(i,a-v/5,f+1)},dYe=(i,a,f,g)=>{const w=$x[a.id],v=$x[f.id],b=fYe(a,f,w,v,g);let E="",S="",_=0,M=0,F=Cf[f.branch].index,R;if(b){E="A 10 10, 0, 0, 0,",S="A 10 10, 0, 0, 1,",_=10,M=10;const B=w.y<v.y?aB(w.y,v.y):aB(v.y,w.y),z=w.x<v.x?aB(w.x,v.x):aB(v.x,w.x);f1==="TB"?w.x<v.x?(F=Cf[f.branch].index,R=`M ${w.x} ${w.y} L ${z-_} ${w.y} ${S} ${z} ${w.y+M} L ${z} ${v.y-_} ${E} ${z+M} ${v.y} L ${v.x} ${v.y}`):(F=Cf[a.branch].index,R=`M ${w.x} ${w.y} L ${z+_} ${w.y} ${E} ${z} ${w.y+M} L ${z} ${v.y-_} ${S} ${z-M} ${v.y} L ${v.x} ${v.y}`):w.y<v.y?(F=Cf[f.branch].index,R=`M ${w.x} ${w.y} L ${w.x} ${B-_} ${E} ${w.x+M} ${B} L ${v.x-_} ${B} ${S} ${v.x} ${B+M} L ${v.x} ${v.y}`):(F=Cf[a.branch].index,R=`M ${w.x} ${w.y} L ${w.x} ${B+_} ${S} ${w.x+M} ${B} L ${v.x-_} ${B} ${E} ${v.x} ${B-M} L ${v.x} ${v.y}`)}else f1==="TB"?(w.x<v.x&&(E="A 20 20, 0, 0, 0,",S="A 20 20, 0, 0, 1,",_=20,M=20,F=Cf[f.branch].index,R=`M ${w.x} ${w.y} L ${v.x-_} ${w.y} ${S} ${v.x} ${w.y+M} L ${v.x} ${v.y}`),w.x>v.x&&(E="A 20 20, 0, 0, 0,",S="A 20 20, 0, 0, 1,",_=20,M=20,F=Cf[a.branch].index,R=`M ${w.x} ${w.y} L ${w.x} ${v.y-_} ${S} ${w.x-M} ${v.y} L ${v.x} ${v.y}`),w.x===v.x&&(F=Cf[a.branch].index,R=`M ${w.x} ${w.y} L ${w.x+_} ${w.y} ${E} ${w.x+M} ${v.y+_} L ${v.x} ${v.y}`)):(w.y<v.y&&(E="A 20 20, 0, 0, 0,",_=20,M=20,F=Cf[f.branch].index,R=`M ${w.x} ${w.y} L ${w.x} ${v.y-_} ${E} ${w.x+M} ${v.y} L ${v.x} ${v.y}`),w.y>v.y&&(E="A 20 20, 0, 0, 0,",_=20,M=20,F=Cf[a.branch].index,R=`M ${w.x} ${w.y} L ${v.x-_} ${w.y} ${E} ${v.x} ${w.y-M} L ${v.x} ${v.y}`),w.y===v.y&&(F=Cf[a.branch].index,R=`M ${w.x} ${w.y} L ${w.x} ${v.y-_} ${E} ${w.x+M} ${v.y} L ${v.x} ${v.y}`));i.append("path").attr("d",R).attr("class","arrow arrow"+F%P9)},gYe=(i,a)=>{const f=i.append("g").attr("class","commit-arrows");Object.keys(a).forEach(g=>{const w=a[g];w.parents&&w.parents.length>0&&w.parents.forEach(v=>{dYe(f,a[v],w,a)})})},pYe=(i,a)=>{const f=Re().gitGraph,g=i.append("g");a.forEach((w,v)=>{const b=v%P9,E=Cf[w.name].pos,S=g.append("line");S.attr("x1",0),S.attr("y1",E),S.attr("x2",sB),S.attr("y2",E),S.attr("class","branch branch"+b),f1==="TB"&&(S.attr("y1",30),S.attr("x1",E),S.attr("y2",sB),S.attr("x2",E)),uX.push(E);let _=w.name;const M=Lzt(_),F=g.insert("rect"),B=g.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+b);B.node().appendChild(M);let z=M.getBBox();F.attr("class","branchLabelBkg label"+b).attr("rx",4).attr("ry",4).attr("x",-z.width-4-(f.rotateCommitLabel===!0?30:0)).attr("y",-z.height/2+8).attr("width",z.width+18).attr("height",z.height+4),B.attr("transform","translate("+(-z.width-14-(f.rotateCommitLabel===!0?30:0))+", "+(E-z.height/2-1)+")"),f1==="TB"&&(F.attr("x",E-z.width/2-10).attr("y",0),B.attr("transform","translate("+(E-z.width/2-5)+", 0)")),f1!=="TB"&&F.attr("transform","translate(-19, "+(E-z.height/2)+")")})},bYe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:UWe,db:uYe,renderer:{draw:function(i,a,f,g){lYe();const w=Re(),v=w.gitGraph;Kt.debug("in gitgraph renderer",i+`
350 `+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var V=this.next();return V||this.lex()},begin:function(V){this.conditionStack.push(V)},popState:function(){var V=this.conditionStack.length-1;return V>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(V){return V=this.conditionStack.length-1-Math.abs(V||0),V>=0?this.conditionStack[V]:"INITIAL"},pushState:function(V){this.begin(V)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(V,Ot,It,jt){switch(It){case 0:return this.begin("open_directive"),"open_directive";case 1:return this.begin("acc_title"),28;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),30;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:break;case 9:break;case 10:break;case 11:return 10;case 12:break;case 13:break;case 14:this.begin("href");break;case 15:this.popState();break;case 16:return 40;case 17:this.begin("callbackname");break;case 18:this.popState();break;case 19:this.popState(),this.begin("callbackargs");break;case 20:return 38;case 21:this.popState();break;case 22:return 39;case 23:this.begin("click");break;case 24:this.popState();break;case 25:return 37;case 26:return 4;case 27:return 19;case 28:return 20;case 29:return 21;case 30:return 22;case 31:return 23;case 32:return 25;case 33:return 24;case 34:return 26;case 35:return 12;case 36:return 13;case 37:return 14;case 38:return 15;case 39:return 16;case 40:return 17;case 41:return 18;case 42:return"date";case 43:return 27;case 44:return"accDescription";case 45:return 33;case 46:return 35;case 47:return 36;case 48:return":";case 49:return 6;case 50:return"INVALID"}},rules:[/^(?:%%\{)/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,/^(?: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,/^(?:weekday\s+monday\b)/i,/^(?:weekday\s+tuesday\b)/i,/^(?:weekday\s+wednesday\b)/i,/^(?:weekday\s+thursday\b)/i,/^(?:weekday\s+friday\b)/i,/^(?:weekday\s+saturday\b)/i,/^(?:weekday\s+sunday\b)/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:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},callbackargs:{rules:[21,22],inclusive:!1},callbackname:{rules:[18,19,20],inclusive:!1},href:{rules:[15,16],inclusive:!1},click:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,17,23,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],inclusive:!0}}};return K}();gt.lexer=Q;function dt(){this.yy={}}return dt.prototype=gt,gt.Parser=dt,new dt}();cbt.parser=cbt;const wYe=cbt;var Mzt={exports:{}};(function(i,a){(function(f,g){i.exports=g()})(Z0,function(){var f="day";return function(g,w,v){var b=function(_){return _.add(4-_.isoWeekday(),f)},E=w.prototype;E.isoWeekYear=function(){return b(this).year()},E.isoWeek=function(_){if(!this.$utils().u(_))return this.add(7*(_-this.isoWeek()),f);var M,F,R,B,z=b(this),Y=(M=this.isoWeekYear(),F=this.$u,R=(F?v.utc:v)().year(M).startOf("year"),B=4-R.isoWeekday(),R.isoWeekday()>4&&(B+=7),R.add(B,f));return z.diff(Y,"week")+1},E.isoWeekday=function(_){return this.$utils().u(_)?this.day()||7:this.day(this.day()%7?_:_-7)};var S=E.startOf;E.startOf=function(_,M){var F=this.$utils(),R=!!F.u(M)||M;return F.p(_)==="isoweek"?R?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):S.bind(this)(_,M)}}})})(Mzt);var mYe=Mzt.exports;const vYe=e9(mYe);var Izt={exports:{}};(function(i,a){(function(f,g){i.exports=g()})(Z0,function(){var f={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},g=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,w=/\d\d/,v=/\d\d?/,b=/\d*[^-_:/,()\s\d]+/,E={},S=function(Y){return(Y=+Y)+(Y>68?1900:2e3)},_=function(Y){return function(nt){this[Y]=+nt}},M=[/[+-]\d\d:?(\d\d)?|Z/,function(Y){(this.zone||(this.zone={})).offset=function(nt){if(!nt||nt==="Z")return 0;var ot=nt.match(/([+-]|\d\d)/g),ft=60*ot[1]+(+ot[2]||0);return ft===0?0:ot[0]==="+"?-ft:ft}(Y)}],F=function(Y){var nt=E[Y];return nt&&(nt.indexOf?nt:nt.s.concat(nt.f))},R=function(Y,nt){var ot,ft=E.meridiem;if(ft){for(var wt=1;wt<=24;wt+=1)if(Y.indexOf(ft(wt,0,nt))>-1){ot=wt>12;break}}else ot=Y===(nt?"pm":"PM");return ot},B={A:[b,function(Y){this.afternoon=R(Y,!1)}],a:[b,function(Y){this.afternoon=R(Y,!0)}],S:[/\d/,function(Y){this.milliseconds=100*+Y}],SS:[w,function(Y){this.milliseconds=10*+Y}],SSS:[/\d{3}/,function(Y){this.milliseconds=+Y}],s:[v,_("seconds")],ss:[v,_("seconds")],m:[v,_("minutes")],mm:[v,_("minutes")],H:[v,_("hours")],h:[v,_("hours")],HH:[v,_("hours")],hh:[v,_("hours")],D:[v,_("day")],DD:[w,_("day")],Do:[b,function(Y){var nt=E.ordinal,ot=Y.match(/\d+/);if(this.day=ot[0],nt)for(var ft=1;ft<=31;ft+=1)nt(ft).replace(/\[|\]/g,"")===Y&&(this.day=ft)}],M:[v,_("month")],MM:[w,_("month")],MMM:[b,function(Y){var nt=F("months"),ot=(F("monthsShort")||nt.map(function(ft){return ft.slice(0,3)})).indexOf(Y)+1;if(ot<1)throw new Error;this.month=ot%12||ot}],MMMM:[b,function(Y){var nt=F("months").indexOf(Y)+1;if(nt<1)throw new Error;this.month=nt%12||nt}],Y:[/[+-]?\d+/,_("year")],YY:[w,function(Y){this.year=S(Y)}],YYYY:[/\d{4}/,_("year")],Z:M,ZZ:M};function z(Y){var nt,ot;nt=Y,ot=E&&E.formats;for(var ft=(Y=nt.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(Q,dt,K){var yt=K&&K.toUpperCase();return dt||ot[K]||f[K]||ot[yt].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(V,Ot,It){return Ot||It.slice(1)})})).match(g),wt=ft.length,mt=0;mt<wt;mt+=1){var ct=ft[mt],rt=B[ct],it=rt&&rt[0],gt=rt&&rt[1];ft[mt]=gt?{regex:it,parser:gt}:ct.replace(/^\[|\]$/g,"")}return function(Q){for(var dt={},K=0,yt=0;K<wt;K+=1){var V=ft[K];if(typeof V=="string")yt+=V.length;else{var Ot=V.regex,It=V.parser,jt=Q.slice(yt),xt=Ot.exec(jt)[0];It.call(dt,xt),Q=Q.replace(xt,"")}}return function(Ft){var Ct=Ft.afternoon;if(Ct!==void 0){var kt=Ft.hours;Ct?kt<12&&(Ft.hours+=12):kt===12&&(Ft.hours=0),delete Ft.afternoon}}(dt),dt}}return function(Y,nt,ot){ot.p.customParseFormat=!0,Y&&Y.parseTwoDigitYear&&(S=Y.parseTwoDigitYear);var ft=nt.prototype,wt=ft.parse;ft.parse=function(mt){var ct=mt.date,rt=mt.utc,it=mt.args;this.$u=rt;var gt=it[1];if(typeof gt=="string"){var Q=it[2]===!0,dt=it[3]===!0,K=Q||dt,yt=it[2];dt&&(yt=it[2]),E=this.$locale(),!Q&&yt&&(E=ot.Ls[yt]),this.$d=function(jt,xt,Ft){try{if(["x","X"].indexOf(xt)>-1)return new Date((xt==="X"?1e3:1)*jt);var Ct=z(xt)(jt),kt=Ct.year,Gt=Ct.month,Fe=Ct.day,Mt=Ct.hours,pn=Ct.minutes,Ae=Ct.seconds,ye=Ct.milliseconds,tn=Ct.zone,sn=new Date,be=Fe||(kt||Gt?1:sn.getDate()),Ne=kt||sn.getFullYear(),Xt=0;kt&&!Gt||(Xt=Gt>0?Gt-1:sn.getMonth());var _e=Mt||0,xe=pn||0,Mn=Ae||0,ce=ye||0;return tn?new Date(Date.UTC(Ne,Xt,be,_e,xe,Mn,ce+60*tn.offset*1e3)):Ft?new Date(Date.UTC(Ne,Xt,be,_e,xe,Mn,ce)):new Date(Ne,Xt,be,_e,xe,Mn,ce)}catch{return new Date("")}}(ct,gt,rt),this.init(),yt&&yt!==!0&&(this.$L=this.locale(yt).$L),K&&ct!=this.format(gt)&&(this.$d=new Date("")),E={}}else if(gt instanceof Array)for(var V=gt.length,Ot=1;Ot<=V;Ot+=1){it[1]=gt[Ot-1];var It=ot.apply(this,it);if(It.isValid()){this.$d=It.$d,this.$L=It.$L,this.init();break}Ot===V&&(this.$d=new Date(""))}else wt.call(this,mt)}}})})(Izt);var yYe=Izt.exports;const xYe=e9(yYe);var Ozt={exports:{}};(function(i,a){(function(f,g){i.exports=g()})(Z0,function(){return function(f,g){var w=g.prototype,v=w.format;w.format=function(b){var E=this,S=this.$locale();if(!this.isValid())return v.bind(this)(b);var _=this.$utils(),M=(b||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,function(F){switch(F){case"Q":return Math.ceil((E.$M+1)/3);case"Do":return S.ordinal(E.$D);case"gggg":return E.weekYear();case"GGGG":return E.isoWeekYear();case"wo":return S.ordinal(E.week(),"W");case"w":case"ww":return _.s(E.week(),F==="w"?1:2,"0");case"W":case"WW":return _.s(E.isoWeek(),F==="W"?1:2,"0");case"k":case"kk":return _.s(String(E.$H===0?24:E.$H),F==="k"?1:2,"0");case"X":return Math.floor(E.$d.getTime()/1e3);case"x":return E.$d.getTime();case"z":return"["+E.offsetName()+"]";case"zzz":return"["+E.offsetName("long")+"]";default:return F}});return v.bind(this)(M)}}})})(Ozt);var kYe=Ozt.exports;const EYe=e9(kYe);tg.extend(vYe),tg.extend(xYe),tg.extend(EYe);let h4="",ubt="",lbt,hbt="",oB=[],cB=[],fbt={},dbt=[],lX=[],SD="",gbt="";const Nzt=["active","done","crit","milestone"];let pbt=[],uB=!1,bbt=!1,wbt="sunday",mbt=0;const TYe=function(){dbt=[],lX=[],SD="",pbt=[],hX=0,ybt=void 0,fX=void 0,H1=[],h4="",ubt="",gbt="",lbt=void 0,hbt="",oB=[],cB=[],uB=!1,bbt=!1,mbt=0,fbt={},ag(),wbt="sunday"},CYe=function(i){ubt=i},SYe=function(){return ubt},_Ye=function(i){lbt=i},AYe=function(){return lbt},LYe=function(i){hbt=i},DYe=function(){return hbt},MYe=function(i){h4=i},IYe=function(){uB=!0},OYe=function(){return uB},NYe=function(){bbt=!0},PYe=function(){return bbt},FYe=function(i){gbt=i},BYe=function(){return gbt},RYe=function(){return h4},jYe=function(i){oB=i.toLowerCase().split(/[\s,]+/)},$Ye=function(){return oB},zYe=function(i){cB=i.toLowerCase().split(/[\s,]+/)},qYe=function(){return cB},HYe=function(){return fbt},VYe=function(i){SD=i,dbt.push(i)},UYe=function(){return dbt},GYe=function(){let i=$zt();const a=10;let f=0;for(;!i&&f<a;)i=$zt(),f++;return lX=H1,lX},Pzt=function(i,a,f,g){return g.includes(i.format(a.trim()))?!1:i.isoWeekday()>=6&&f.includes("weekends")||f.includes(i.format("dddd").toLowerCase())?!0:f.includes(i.format(a.trim()))},KYe=function(i){wbt=i},WYe=function(){return wbt},Fzt=function(i,a,f,g){if(!f.length||i.manualEndTime)return;let w;i.startTime instanceof Date?w=tg(i.startTime):w=tg(i.startTime,a,!0),w=w.add(1,"d");let v;i.endTime instanceof Date?v=tg(i.endTime):v=tg(i.endTime,a,!0);const[b,E]=YYe(w,v,a,f,g);i.endTime=b.toDate(),i.renderEndTime=E},YYe=function(i,a,f,g,w){let v=!1,b=null;for(;i<=a;)v||(b=a.toDate()),v=Pzt(i,f,g,w),v&&(a=a.add(1,"d")),i=i.add(1,"d");return[a,b]},vbt=function(i,a,f){f=f.trim();const w=/^after\s+([\d\w- ]+)/.exec(f.trim());if(w!==null){let b=null;if(w[1].split(" ").forEach(function(E){let S=AD(E);S!==void 0&&(b?S.endTime>b.endTime&&(b=S):b=S)}),b)return b.endTime;{const E=new Date;return E.setHours(0,0,0,0),E}}let v=tg(f,a.trim(),!0);if(v.isValid())return v.toDate();{Kt.debug("Invalid date:"+f),Kt.debug("With date format:"+a.trim());const b=new Date(f);if(b===void 0||isNaN(b.getTime())||b.getFullYear()<-1e4||b.getFullYear()>1e4)throw new Error("Invalid date:"+f);return b}},Bzt=function(i){const a=/^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(i.trim());return a!==null?[Number.parseFloat(a[1]),a[2]]:[NaN,"ms"]},Rzt=function(i,a,f,g=!1){f=f.trim();let w=tg(f,a.trim(),!0);if(w.isValid())return g&&(w=w.add(1,"d")),w.toDate();let v=tg(i);const[b,E]=Bzt(f);if(!Number.isNaN(b)){const S=v.add(b,E);S.isValid()&&(v=S)}return v.toDate()};let hX=0;const _D=function(i){return i===void 0?(hX=hX+1,"task"+hX):i},XYe=function(i,a){let f;a.substr(0,1)===":"?f=a.substr(1,a.length):f=a;const g=f.split(","),w={};Hzt(g,w,Nzt);for(let b=0;b<g.length;b++)g[b]=g[b].trim();let v="";switch(g.length){case 1:w.id=_D(),w.startTime=i.endTime,v=g[0];break;case 2:w.id=_D(),w.startTime=vbt(void 0,h4,g[0]),v=g[1];break;case 3:w.id=_D(g[0]),w.startTime=vbt(void 0,h4,g[1]),v=g[2];break}return v&&(w.endTime=Rzt(w.startTime,h4,v,uB),w.manualEndTime=tg(v,"YYYY-MM-DD",!0).isValid(),Fzt(w,h4,cB,oB)),w},QYe=function(i,a){let f;a.substr(0,1)===":"?f=a.substr(1,a.length):f=a;const g=f.split(","),w={};Hzt(g,w,Nzt);for(let v=0;v<g.length;v++)g[v]=g[v].trim();switch(g.length){case 1:w.id=_D(),w.startTime={type:"prevTaskEnd",id:i},w.endTime={data:g[0]};break;case 2:w.id=_D(),w.startTime={type:"getStartDate",startData:g[0]},w.endTime={data:g[1]};break;case 3:w.id=_D(g[0]),w.startTime={type:"getStartDate",startData:g[1]},w.endTime={data:g[2]};break}return w};let ybt,fX,H1=[];const jzt={},JYe=function(i,a){const f={section:SD,type:SD,processed:!1,manualEndTime:!1,renderEndTime:null,raw:{data:a},task:i,classes:[]},g=QYe(fX,a);f.raw.startTime=g.startTime,f.raw.endTime=g.endTime,f.id=g.id,f.prevTaskId=fX,f.active=g.active,f.done=g.done,f.crit=g.crit,f.milestone=g.milestone,f.order=mbt,mbt++;const w=H1.push(f);fX=f.id,jzt[f.id]=w-1},AD=function(i){const a=jzt[i];return H1[a]},ZYe=function(i,a){const f={section:SD,type:SD,description:i,task:i,classes:[]},g=XYe(ybt,a);f.startTime=g.startTime,f.endTime=g.endTime,f.id=g.id,f.active=g.active,f.done=g.done,f.crit=g.crit,f.milestone=g.milestone,ybt=f,lX.push(f)},$zt=function(){const i=function(f){const g=H1[f];let w="";switch(H1[f].raw.startTime.type){case"prevTaskEnd":{const v=AD(g.prevTaskId);g.startTime=v.endTime;break}case"getStartDate":w=vbt(void 0,h4,H1[f].raw.startTime.startData),w&&(H1[f].startTime=w);break}return H1[f].startTime&&(H1[f].endTime=Rzt(H1[f].startTime,h4,H1[f].raw.endTime.data,uB),H1[f].endTime&&(H1[f].processed=!0,H1[f].manualEndTime=tg(H1[f].raw.endTime.data,"YYYY-MM-DD",!0).isValid(),Fzt(H1[f],h4,cB,oB))),H1[f].processed};let a=!0;for(const[f,g]of H1.entries())i(f),a=a&&g.processed;return a},tXe=function(i,a){let f=a;Re().securityLevel!=="loose"&&(f=h8(a)),i.split(",").forEach(function(g){AD(g)!==void 0&&(qzt(g,()=>{window.open(f,"_self")}),fbt[g]=f)}),zzt(i,"clickable")},zzt=function(i,a){i.split(",").forEach(function(f){let g=AD(f);g!==void 0&&g.classes.push(a)})},eXe=function(i,a,f){if(Re().securityLevel!=="loose"||a===void 0)return;let g=[];if(typeof f=="string"){g=f.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let v=0;v<g.length;v++){let b=g[v].trim();b.charAt(0)==='"'&&b.charAt(b.length-1)==='"'&&(b=b.substr(1,b.length-2)),g[v]=b}}g.length===0&&g.push(i),AD(i)!==void 0&&qzt(i,()=>{uo.runFunc(a,...g)})},qzt=function(i,a){pbt.push(function(){const f=document.querySelector(`[id="${i}"]`);f!==null&&f.addEventListener("click",function(){a()})},function(){const f=document.querySelector(`[id="${i}-text"]`);f!==null&&f.addEventListener("click",function(){a()})})},nXe={getConfig:()=>Re().gantt,clear:TYe,setDateFormat:MYe,getDateFormat:RYe,enableInclusiveEndDates:IYe,endDatesAreInclusive:OYe,enableTopAxis:NYe,topAxisEnabled:PYe,setAxisFormat:CYe,getAxisFormat:SYe,setTickInterval:_Ye,getTickInterval:AYe,setTodayMarker:LYe,getTodayMarker:DYe,setAccTitle:og,getAccTitle:Xg,setDiagramTitle:S2,getDiagramTitle:Zg,setDisplayMode:FYe,getDisplayMode:BYe,setAccDescription:Qg,getAccDescription:Jg,addSection:VYe,getSections:UYe,getTasks:GYe,addTask:JYe,findTaskById:AD,addTaskOrg:ZYe,setIncludes:jYe,getIncludes:$Ye,setExcludes:zYe,getExcludes:qYe,setClickEvent:function(i,a,f){i.split(",").forEach(function(g){eXe(g,a,f)}),zzt(i,"clickable")},setLink:tXe,getLinks:HYe,bindFunctions:function(i){pbt.forEach(function(a){a(i)})},parseDuration:Bzt,isInvalidDate:Pzt,setWeekday:KYe,getWeekday:WYe};function Hzt(i,a,f){let g=!0;for(;g;)g=!1,f.forEach(function(w){const v="^\\s*"+w+"\\s*$",b=new RegExp(v);i[0].match(b)&&(a[w]=!0,i.shift(1),g=!0)})}const rXe=function(){Kt.debug("Something is calling, setConf, remove the call")},Vzt={monday:hF,tuesday:NNt,wednesday:PNt,thursday:l9,friday:FNt,saturday:BNt,sunday:lF},iXe=(i,a)=>{let f=[...i].map(()=>-1/0),g=[...i].sort((v,b)=>v.startTime-b.startTime||v.order-b.order),w=0;for(const v of g)for(let b=0;b<f.length;b++)if(v.startTime>=f[b]){f[b]=v.endTime,v.order=b+a,b>w&&(w=b);break}return w};let zx;const sXe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:wYe,db:nXe,renderer:{setConf:rXe,draw:function(i,a,f,g){const w=Re().gantt,v=Re().securityLevel;let b;v==="sandbox"&&(b=Tr("#i"+a));const E=Tr(v==="sandbox"?b.nodes()[0].contentDocument.body:"body"),S=v==="sandbox"?b.nodes()[0].contentDocument:document,_=S.getElementById(a);zx=_.parentElement.offsetWidth,zx===void 0&&(zx=1200),w.useWidth!==void 0&&(zx=w.useWidth);const M=g.db.getTasks();let F=[];for(const gt of M)F.push(gt.type);F=it(F);const R={};let B=2*w.topPadding;if(g.db.getDisplayMode()==="compact"||w.displayMode==="compact"){const gt={};for(const dt of M)gt[dt.section]===void 0?gt[dt.section]=[dt]:gt[dt.section].push(dt);let Q=0;for(const dt of Object.keys(gt)){const K=iXe(gt[dt],Q)+1;Q+=K,B+=K*(w.barHeight+w.barGap),R[dt]=K}}else{B+=M.length*(w.barHeight+w.barGap);for(const gt of F)R[gt]=M.filter(Q=>Q.type===gt).length}_.setAttribute("viewBox","0 0 "+zx+" "+B);const z=E.select(`[id="${a}"]`),Y=eDe().domain([B9e(M,function(gt){return gt.startTime}),F9e(M,function(gt){return gt.endTime})]).rangeRound([0,zx-w.leftPadding-w.rightPadding]);function nt(gt,Q){const dt=gt.startTime,K=Q.startTime;let yt=0;return dt>K?yt=1:dt<K&&(yt=-1),yt}M.sort(nt),ot(M,zx,B),sg(z,B,zx,w.useMaxWidth),z.append("text").text(g.db.getDiagramTitle()).attr("x",zx/2).attr("y",w.titleTopMargin).attr("class","titleText");function ot(gt,Q,dt){const K=w.barHeight,yt=K+w.barGap,V=w.topPadding,Ot=w.leftPadding,It=VL().domain([0,F.length]).range(["#00B9FA","#F95002"]).interpolate(s_e);wt(yt,V,Ot,Q,dt,gt,g.db.getExcludes(),g.db.getIncludes()),mt(Ot,V,Q,dt),ft(gt,yt,V,Ot,K,It,Q),ct(yt,V),rt(Ot,V,Q,dt)}function ft(gt,Q,dt,K,yt,V,Ot){const jt=[...new Set(gt.map(kt=>kt.order))].map(kt=>gt.find(Gt=>Gt.order===kt));z.append("g").selectAll("rect").data(jt).enter().append("rect").attr("x",0).attr("y",function(kt,Gt){return Gt=kt.order,Gt*Q+dt-2}).attr("width",function(){return Ot-w.rightPadding/2}).attr("height",Q).attr("class",function(kt){for(const[Gt,Fe]of F.entries())if(kt.type===Fe)return"section section"+Gt%w.numberSectionStyles;return"section section0"});const xt=z.append("g").selectAll("rect").data(gt).enter(),Ft=g.db.getLinks();if(xt.append("rect").attr("id",function(kt){return kt.id}).attr("rx",3).attr("ry",3).attr("x",function(kt){return kt.milestone?Y(kt.startTime)+K+.5*(Y(kt.endTime)-Y(kt.startTime))-.5*yt:Y(kt.startTime)+K}).attr("y",function(kt,Gt){return Gt=kt.order,Gt*Q+dt}).attr("width",function(kt){return kt.milestone?yt:Y(kt.renderEndTime||kt.endTime)-Y(kt.startTime)}).attr("height",yt).attr("transform-origin",function(kt,Gt){return Gt=kt.order,(Y(kt.startTime)+K+.5*(Y(kt.endTime)-Y(kt.startTime))).toString()+"px "+(Gt*Q+dt+.5*yt).toString()+"px"}).attr("class",function(kt){const Gt="task";let Fe="";kt.classes.length>0&&(Fe=kt.classes.join(" "));let Mt=0;for(const[Ae,ye]of F.entries())kt.type===ye&&(Mt=Ae%w.numberSectionStyles);let pn="";return kt.active?kt.crit?pn+=" activeCrit":pn=" active":kt.done?kt.crit?pn=" doneCrit":pn=" done":kt.crit&&(pn+=" crit"),pn.length===0&&(pn=" task"),kt.milestone&&(pn=" milestone "+pn),pn+=Mt,pn+=" "+Fe,Gt+pn}),xt.append("text").attr("id",function(kt){return kt.id+"-text"}).text(function(kt){return kt.task}).attr("font-size",w.fontSize).attr("x",function(kt){let Gt=Y(kt.startTime),Fe=Y(kt.renderEndTime||kt.endTime);kt.milestone&&(Gt+=.5*(Y(kt.endTime)-Y(kt.startTime))-.5*yt),kt.milestone&&(Fe=Gt+yt);const Mt=this.getBBox().width;return Mt>Fe-Gt?Fe+Mt+1.5*w.leftPadding>Ot?Gt+K-5:Fe+K+5:(Fe-Gt)/2+Gt+K}).attr("y",function(kt,Gt){return Gt=kt.order,Gt*Q+w.barHeight/2+(w.fontSize/2-2)+dt}).attr("text-height",yt).attr("class",function(kt){const Gt=Y(kt.startTime);let Fe=Y(kt.endTime);kt.milestone&&(Fe=Gt+yt);const Mt=this.getBBox().width;let pn="";kt.classes.length>0&&(pn=kt.classes.join(" "));let Ae=0;for(const[tn,sn]of F.entries())kt.type===sn&&(Ae=tn%w.numberSectionStyles);let ye="";return kt.active&&(kt.crit?ye="activeCritText"+Ae:ye="activeText"+Ae),kt.done?kt.crit?ye=ye+" doneCritText"+Ae:ye=ye+" doneText"+Ae:kt.crit&&(ye=ye+" critText"+Ae),kt.milestone&&(ye+=" milestoneText"),Mt>Fe-Gt?Fe+Mt+1.5*w.leftPadding>Ot?pn+" taskTextOutsideLeft taskTextOutside"+Ae+" "+ye:pn+" taskTextOutsideRight taskTextOutside"+Ae+" "+ye+" width-"+Mt:pn+" taskText taskText"+Ae+" "+ye+" width-"+Mt}),Re().securityLevel==="sandbox"){let kt;kt=Tr("#i"+a);const Gt=kt.nodes()[0].contentDocument;xt.filter(function(Fe){return Ft[Fe.id]!==void 0}).each(function(Fe){var Mt=Gt.querySelector("#"+Fe.id),pn=Gt.querySelector("#"+Fe.id+"-text");const Ae=Mt.parentNode;var ye=Gt.createElement("a");ye.setAttribute("xlink:href",Ft[Fe.id]),ye.setAttribute("target","_top"),Ae.appendChild(ye),ye.appendChild(Mt),ye.appendChild(pn)})}}function wt(gt,Q,dt,K,yt,V,Ot,It){if(Ot.length===0&&It.length===0)return;let jt,xt;for(const{startTime:Mt,endTime:pn}of V)(jt===void 0||Mt<jt)&&(jt=Mt),(xt===void 0||pn>xt)&&(xt=pn);if(!jt||!xt)return;if(tg(xt).diff(tg(jt),"year")>5){Kt.warn("The difference between the min and max time is more than 5 years. This will cause performance issues. Skipping drawing exclude days.");return}const Ft=g.db.getDateFormat(),Ct=[];let kt=null,Gt=tg(jt);for(;Gt.valueOf()<=xt;)g.db.isInvalidDate(Gt,Ft,Ot,It)?kt?kt.end=Gt:kt={start:Gt,end:Gt}:kt&&(Ct.push(kt),kt=null),Gt=Gt.add(1,"d");z.append("g").selectAll("rect").data(Ct).enter().append("rect").attr("id",function(Mt){return"exclude-"+Mt.start.format("YYYY-MM-DD")}).attr("x",function(Mt){return Y(Mt.start)+dt}).attr("y",w.gridLineStartPadding).attr("width",function(Mt){const pn=Mt.end.add(1,"day");return Y(pn)-Y(Mt.start)}).attr("height",yt-Q-w.gridLineStartPadding).attr("transform-origin",function(Mt,pn){return(Y(Mt.start)+dt+.5*(Y(Mt.end)-Y(Mt.start))).toString()+"px "+(pn*gt+.5*yt).toString()+"px"}).attr("class","exclude-range")}function mt(gt,Q,dt,K){let yt=G9e(Y).tickSize(-K+Q+w.gridLineStartPadding).tickFormat(DW(g.db.getAxisFormat()||w.axisFormat||"%Y-%m-%d"));const Ot=/^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/.exec(g.db.getTickInterval()||w.tickInterval);if(Ot!==null){const It=Ot[1],jt=Ot[2],xt=g.db.getWeekday()||w.weekday;switch(jt){case"millisecond":yt.ticks(UL.every(It));break;case"second":yt.ticks(f8.every(It));break;case"minute":yt.ticks(cF.every(It));break;case"hour":yt.ticks(uF.every(It));break;case"day":yt.ticks(c9.every(It));break;case"week":yt.ticks(Vzt[xt].every(It));break;case"month":yt.ticks(fF.every(It));break}}if(z.append("g").attr("class","grid").attr("transform","translate("+gt+", "+(K-50)+")").call(yt).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em"),g.db.topAxisEnabled()||w.topAxis){let It=U9e(Y).tickSize(-K+Q+w.gridLineStartPadding).tickFormat(DW(g.db.getAxisFormat()||w.axisFormat||"%Y-%m-%d"));if(Ot!==null){const jt=Ot[1],xt=Ot[2],Ft=g.db.getWeekday()||w.weekday;switch(xt){case"millisecond":It.ticks(UL.every(jt));break;case"second":It.ticks(f8.every(jt));break;case"minute":It.ticks(cF.every(jt));break;case"hour":It.ticks(uF.every(jt));break;case"day":It.ticks(c9.every(jt));break;case"week":It.ticks(Vzt[Ft].every(jt));break;case"month":It.ticks(fF.every(jt));break}}z.append("g").attr("class","grid").attr("transform","translate("+gt+", "+Q+")").call(It).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10)}}function ct(gt,Q){let dt=0;const K=Object.keys(R).map(yt=>[yt,R[yt]]);z.append("g").selectAll("text").data(K).enter().append(function(yt){const V=yt[0].split(ei.lineBreakRegex),Ot=-(V.length-1)/2,It=S.createElementNS("http://www.w3.org/2000/svg","text");It.setAttribute("dy",Ot+"em");for(const[jt,xt]of V.entries()){const Ft=S.createElementNS("http://www.w3.org/2000/svg","tspan");Ft.setAttribute("alignment-baseline","central"),Ft.setAttribute("x","10"),jt>0&&Ft.setAttribute("dy","1em"),Ft.textContent=xt,It.appendChild(Ft)}return It}).attr("x",10).attr("y",function(yt,V){if(V>0)for(let Ot=0;Ot<V;Ot++)return dt+=K[V-1][1],yt[1]*gt/2+dt*gt+Q;else return yt[1]*gt/2+Q}).attr("font-size",w.sectionFontSize).attr("class",function(yt){for(const[V,Ot]of F.entries())if(yt[0]===Ot)return"sectionTitle sectionTitle"+V%w.numberSectionStyles;return"sectionTitle"})}function rt(gt,Q,dt,K){const yt=g.db.getTodayMarker();if(yt==="off")return;const V=z.append("g").attr("class","today"),Ot=new Date,It=V.append("line");It.attr("x1",Y(Ot)+gt).attr("x2",Y(Ot)+gt).attr("y1",w.titleTopMargin).attr("y2",
1561 In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var R=typeof window>"u"?null:window,H=R?R.navigator:null;R&&R.document;var Y=f(""),it=f({}),nt= global() property in AnonymousFunction3478d9c7188600.V
1571 */var JF=function(g,x){this.recycle(g,x)};function Dk(){return!1}function WE(){return!0}JF.prototype={instanceString:function(){return"event"},recycle:function(g,x){if(this global() property in ge.intersectionPts
[all...]
/plugin/openlayersmap/
H A DStaticMap.php723 $y2 = floor(
727 imageline($this->image, $x1, $y1, $x2, $y2, $colour);
/plugin/openlayersmap/ol7/
H A Dol.js.map
/plugin/geophp/vendor/funiq/geophp/src/Geometry/
H A DPoint.php298 $y2 = $seg[1]->y();
300 $py = $y2 - $y1;
/plugin/photogallery/phpThumb/
H A Dphpthumb.filters.php1252 $y2 = $text_origin_y + $TTFbox[1] - $text_height;
1254 $y_TL = false !== stripos($fillextend, 'y') ? 0 : min($y1, $y2);
1256 $y_BR = false !== stripos($fillextend, 'y') ? imagesy($gdimg) : max($y1, $y2);
/plugin/imagemapping/
H A DREADME33 | 6+ | polygon | x1,y1,x2,y2,x3,y3... |
/plugin/xlsx2dw/packages/exceljs/
H A Dexceljs.js46053 var y2 = rhs.redMul(lhs.redInvm());
46054 var y = y2.redSqrt();
46065 var y2 = y.redSqr();
46066 var lhs = y2.redSub(this.c2);
46067 var rhs = y2.redMul(this.d).redMul(this.c2).redSub(this.a);
46085 var y2 = point.y.redSqr();
46086 var lhs = x2.redMul(this.a).redAdd(y2);
46087 var rhs = this.c2.redMul(this.one.redAdd(this.d.redMul(x2).redMul(y2)));
46690 var y = y2.sub(q.mul(y1));
46706 y2 = y1;
[all …]
/plugin/dw2pdf/vendor/mpdf/mpdf/src/
H A DDirectWrite.php502 $y2 = $this->mpdf->FontSize + ($pad * 2);
509 $this->mpdf->RoundedRect($r1, $y1, $r2 - $r1, $y2, $radius, $style);
511 $this->mpdf->Cell($r2 - $r1, $y2, $text, 0, 1, 'C', 0, '', 0, 0, 0, 'M', 0, false, $OTLdata, $textvar);
512 $this->mpdf->SetY($y1 + $y2 + 2); // +2 = mm margin below shaded box
H A DForm.php1301 $y2 = $y - ($h * Mpdf::SCALE);
1303 return sprintf('%.3F %.3F %.3F %.3F', $x, $y2, $x2, $y);
H A DFpdiTrait.php
H A DMpdf.php3756 function Line($x1, $y1, $x2, $y2)
3759 $this->writer->write(sprintf('%.3F %.3F m %.3F %.3F l S', $x1 * Mpdf::SCALE, ($this->h - $y1) * Mpdf::SCALE, $x2 * Mpdf::SCALE, ($this->h - $y2) * Mpdf::SCALE));
3762 function Arrow($x1, $y1, $x2, $y2, $headsize = 3, $fill = 'B', $angle = 25)
3773 $a = atan2(($y2 - $y1), ($x2 - $x1));
3777 $y3 = $this->h - ($y2 - ($headsize * sin($b)));
3779 $y4 = $this->h - ($y2 - ($headsize * sin($c)));
3789 $s .= sprintf('%.3F %.3F m %.3F %.3F l %.3F %.3F l %.3F %.3F l %.3F %.3F l ', $x5 * Mpdf::SCALE, $y5 * Mpdf::SCALE, $x3 * Mpdf::SCALE, $y3 * Mpdf::SCALE, $x2 * Mpdf::SCALE, ($this->h - $y2) * Mpdf::SCALE, $x4 * Mpdf::SCALE, $y4 * Mpdf::SCALE, $x5 * Mpdf::SCALE, $y5 * Mpdf::SCALE);
10656 function _Arc($x1, $y1, $x2, $y2, $x3, $y3)
10659 $this->writer->write(sprintf('%.3F %.3F %.3F %.3F %.3F %.3F c ', $x1 * Mpdf::SCALE, ($h - $y1) * Mpdf::SCALE, $x2 * Mpdf::SCALE, ($h - $y2) * Mpdf::SCALE, $x3 * Mpdf::SCALE, ($h - $y3) * Mpdf::SCALE));
13079 $y2
3728 Line($x1, $y1, $x2, $y2) global() argument
3734 Arrow($x1, $y1, $x2, $y2, $headsize = 3, $fill = 'B', $angle = 25) global() argument
10610 _Arc($x1, $y1, $x2, $y2, $x3, $y3) global() argument
[all...]
/plugin/dw2pdf/vendor/mpdf/mpdf/src/Image/
H A DSvg.php584 if (isset($gradient_info['info']['y2'])) {
585 $gradient_info['info']['y2'] = ($gradient_info['info']['y2'] - $y_offset) / $h;
603 if (isset($gradient_info['info']['y2'])) {
604 $y2 = $gradient_info['info']['y2'];
606 $y2 = 0;
618 if (strpos($y2, '%') !== false) {
619 $y2 = (stristr($y2, '
1934 Arcto($x1, $y1, $x2, $y2, $rx, $ry, $angle, $largeArcFlag, $sweepFlag) global() argument
3997 testIntersect($x1, $y1, $x2, $y2, $x3, $y3, $x4, $y4) global() argument
[all...]
/plugin/combo/resources/library/rrdiagram/0.9.4.1/
H A Drrdiagram.js2 !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define("rrdiagram",[],e):"object"==typeof exports?exports.rrdiagram=e():t.rrdiagram=e()}(this,function(){return function(t){function e(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,e),i.l=!0,i.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:r})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=361)}([function(t,e,n){var r=n(2),i=n(20),o=n(12),u=n(13),a=n(21),c=function(t,e,n){var s,f,l,h,p=t&c.F,v=t&c.G,d=t&c.S,y=t&c.P,g=t&c.B,m=v?r:d?r[e]||(r[e]={}):(r[e]||{}).prototype,b=v?i:i[e]||(i[e]={}),x=b.prototype||(b.prototype={});v&&(n=e);for(s in n)f=!p&&m&&void 0!==m[s],l=(f?m:n)[s],h=g&&f?a(l,r):y&&"function"==typeof l?a(Function.call,l):l,m&&u(m,s,l,t&c.U),b[s]!=l&&o(b,s,h),y&&x[s]!=l&&(x[s]=l)};r.core=i,c.F=1,c.G=2,c.S=4,c.P=8,c.B=16,c.W=32,c.U=64,c.R=128,t.exports=c},function(t,e,n){var r=n(4);t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e,n){var r=n(56)("wks"),i=n(45),o=n(2).Symbol,u="function"==typeof o;(t.exports=function(t){return r[t]||(r[t]=u&&o[t]||(u?o:i)("Symbol."+t))}).store=r},function(t,e,n){var r=n(23),i=Math.min;t.exports=function(t){return t>0?i(r(t),9007199254740991):0}},function(t,e,n){t.exports=!n(3)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,e,n){var r=n(1),i=n(125),o=n(29),u=Object.defineProperty;e.f=n(7)?Object.defineProperty:function(t,e,n){if(r(t),e=o(e,!0),r(n),i)try{return u(t,e,n)}catch(t){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},function(t,e,n){var r=n(27);t.exports=function(t){return Object(r(t))}},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e,n){"use strict";function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),o=function(){function t(){r(this,t),this.layoutInfo=null}return i(t,[{key:"setLayoutInfo",value:function(t){this.layoutInfo=t}},{key:"getLayoutInfo",value:function(){return this.layoutInfo}}]),t}();e.default=o},function(t,e,n){var r=n(8),i=n(41);t.exports=n(7)?function(t,e,n){return r.f(t,e,i(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e,n){var r=n(2),i=n(12),o=n(15),u=n(45)("src"),a=n(165),c=(""+a).split("toString");n(20).inspectSource=function(t){return a.call(t)},(t.exports=function(t,e,n,a){var s="function"==typeof n;s&&(o(n,"name")||i(n,"name",e)),t[e]!==n&&(s&&(o(n,u)||i(n,u,t[e]?""+t[e]:c.join(String(e)))),t===r?t[e]=n:a?t[e]?t[e]=n:i(t,e,n):(delete t[e],i(t,e,n)))})(Function.prototype,"toString",function(){return"function"==typeof this&&this[u]||a.call(this)})},function(t,e,n){var r=n(0),i=n(3),o=n(27),u=/"/g,a=function(t,e,n,r){var i=String(o(t)),a="<"+e;return""!==n&&(a+=" "+n+'="'+String(r).replace(u,"&quot;")+'"'),a+">"+i+"</"+e+">"};t.exports=function(t,e){var n={};n[t]=e(a),r(r.P+r.F*i(function(){var e=""[t]('"');return e!==e.toLowerCase()||e.split('"').length>3}),"String",n)}},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){var r=n(55),i=n(41),o=n(18),u=n(29),a=n(15),c=n(125),s=Object.getOwnPropertyDescriptor;e.f=n(7)?s:function(t,e){if(t=o(t),e=u(e,!0),c)try{return s(t,e)}catch(t){}if(a(t,e))return i(!r.f.call(t,e),t[e])}},function(t,e,n){var r=n(15),i=n(9),o=n(103)("IE_PROTO"),u=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=i(t),r(t,o)?t[o]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?u:null}},function(t,e,n){var r=n(54),i=n(27);t.exports=function(t){return r(i(t))}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e){var n=t.exports={version:"2.6.12"};"number"==typeof __e&&(__e=n)},function(t,e,n){var r=n(10);t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,i){return t.call(e,n,r,i)}}return function(){return t.apply(e,arguments)}}},function(t,e,n){"use strict";var r=n(3);t.exports=function(t,e){return!!t&&r(function(){e?t.call(null,function(){},1):t.call(null)})}},function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},function(t,e,n){"use strict";function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),o=n(75),u=(function(t){t&&t.__esModule}(o),{EQUAL:1,COLON_EQUAL:2,COLON_COLON_EQUAL:3}),a={QUOTE:1,DOUBLE_QUOTE:2},c=function(){function t(){r(this,t),this.ruleDefinitionSign=u.EQUAL,this.literalDefinitionSign=a.QUOTE,this.isCommaSeparator=!1,this.isUsingMultiplicationTokens=!1,this.ruleConsideredAsLineBreak=null}return i(t,null,[{key:"RuleDefinitionSign",get:function(){return u}},{key:"LiteralDefinitionSign",get:function(){return a}}]),i(t,[{key:"convert",value:function(t){return t.toBNF(this)}}]),t}();e.default=c},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),u=n(58),a=(r(u),n(59)),c=(r(a),function(){function t(){i(this,t),this.ruleLinkProvider=function(t){return"#"+t},this.ruleConsideredAsLineBreak=null}return o(t,[{key:"convert",value:function(t){return t.toRRDiagram(this)}}]),t}());e.default=c},function(t,e,n){var r=n(21),i=n(54),o=n(9),u=n(6),a=n(87);t.exports=function(t,e){var n=1==t,c=2==t,s=3==t,f=4==t,l=6==t,h=5==t||l,p=e||a;return function(e,a,v){for(var d,y,g=o(e),m=i(g),b=r(a,v,3),x=u(m.length),w=0,_=n?p(e,x):c?p(e,0):void 0;x>w;w++)if((h||w in m)&&(d=m[w],y=b(d,w,g),t))if(n)_[w]=y;else if(y)switch(t){case 3:return!0;case 5:return d;case 6:return w;case 2:_.push(d)}else if(f)return!1;return l?-1:s||f?f:_}}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,e,n){var r=n(0),i=n(20),o=n(3);t.exports=function(t,e){var n=(i.Object||{})[t]||Object[t],u={};u[t]=e(n),r(r.S+r.F*o(function(){n(1)}),"Object",u)}},function(t,e,n){var r=n(4);t.exports=function(t,e){if(!r(t))return t;var n,i;if(e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;if("function"==typeof(n=t.valueOf)&&!r(i=n.call(t)))return i;if(!e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;throw TypeError("Can't convert object to primitive value")}},function(t,e,n){var r=n(147),i=n(0),o=n(56)("metadata"),u=o.store||(o.store=new(n(151))),a=function(t,e,n){var i=u.get(t);if(!i){if(!n)return;u.set(t,i=new r)}var o=i.get(e);if(!o){if(!n)return;i.set(e,o=new r)}return o},c=function(t,e,n){var r=a(e,n,!1);return void 0!==r&&r.has(t)},s=function(t,e,n){var r=a(e,n,!1);return void 0===r?void 0:r.get(t)},f=function(t,e,n,r){a(n,r,!0).set(t,e)},l=function(t,e){var n=a(t,e,!1),r=[];return n&&n.forEach(function(t,e){r.push(e)}),r},h=function(t){return void 0===t||"symbol"==typeof t?t:String(t)},p=function(t){i(i.S,"Reflect",t)};t.exports={store:u,map:a,has:c,get:s,set:f,keys:l,key:h,exp:p}},function(t,e,n){"use strict";if(n(7)){var r=n(34),i=n(2),o=n(3),u=n(0),a=n(73),c=n(108),s=n(21),f=n(36),l=n(41),h=n(12),p=n(42),v=n(23),d=n(6),y=n(145),g=n(44),m=n(29),b=n(15),x=n(47),w=n(4),_=n(9),E=n(94),S=n(38),O=n(17),k=n(39).f,C=n(110),R=n(45),P=n(5),L=n(26),T=n(61),M=n(57),j=n(111),I=n(48),N=n(66),A=n(43),F=n(86),B=n(117),U=n(8),G=n(16),D=U.f,W=G.f,V=i.RangeError,Y=i.TypeError,X=i.Uint8Array,q=Array.prototype,H=c.ArrayBuffer,Q=c.DataView,z=L(0),K=L(2),J=L(3),$=L(4),Z=L(5),tt=L(6),et=T(!0),nt=T(!1),rt=j.values,it=j.keys,ot=j.entries,ut=q.lastIndexOf,at=q.reduce,ct=q.reduceRight,st=q.join,ft=q.sort,lt=q.slice,ht=q.toString,pt=q.toLocaleString,vt=P("iterator"),dt=P("toStringTag"),yt=R("typed_constructor"),gt=R("def_constructor"),mt=a.CONSTR,bt=a.TYPED,xt=a.VIEW,wt=L(1,function(t,e){return kt(M(t,t[gt]),e)}),_t=o(function(){return 1===new X(new Uint16Array([1]).buffer)[0]}),Et=!!X&&!!X.prototype.set&&o(function(){new X(1).set({})}),St=function(t,e){var n=v(t);if(n<0||n%e)throw V("Wrong offset!");return n},Ot=function(t){if(w(t)&&bt in t)return t;throw Y(t+" is not a typed array!")},kt=function(t,e){if(!(w(t)&&yt in t))throw Y("It is not a typed array constructor!");return new t(e)},Ct=function(t,e){return Rt(M(t,t[gt]),e)},Rt=function(t,e){for(var n=0,r=e.length,i=kt(t,r);r>n;)i[n]=e[n++];return i},Pt=function(t,e,n){D(t,e,{get:function(){return this._d[n]}})},Lt=function(t){var e,n,r,i,o,u,a=_(t),c=arguments.length,f=c>1?arguments[1]:void 0,l=void 0!==f,h=C(a);if(void 0!=h&&!E(h)){for(u=h.call(a),r=[],e=0;!(o=u.next()).done;e++)r.push(o.value);a=r}for(l&&c>2&&(f=s(f,arguments[2],2)),e=0,n=d(a.length),i=kt(this,n);n>e;e++)i[e]=l?f(a[e],e):a[e];return i},Tt=function(){for(var t=0,e=arguments.length,n=kt(this,e);e>t;)n[t]=arguments[t++];return n},Mt=!!X&&o(function(){pt.call(new X(1))}),jt=function(){return pt.apply(Mt?lt.call(Ot(this)):Ot(this),arguments)},It={copyWithin:function(t,e){return B.call(Ot(this),t,e,arguments.length>2?arguments[2]:void 0)},every:function(t){return $(Ot(this),t,arguments.length>1?arguments[1]:void 0)},fill:function(t){return F.apply(Ot(this),arguments)},filter:function(t){return Ct(this,K(Ot(this),t,arguments.length>1?arguments[1]:void 0))},find:function(t){return Z(Ot(this),t,arguments.length>1?arguments[1]:void 0)},findIndex:function(t){return tt(Ot(this),t,arguments.length>1?arguments[1]:void 0)},forEach:function(t){z(Ot(this),t,arguments.length>1?arguments[1]:void 0)},indexOf:function(t){return nt(Ot(this),t,arguments.length>1?arguments[1]:void 0)},includes:function(t){return et(Ot(this),t,arguments.length>1?arguments[1]:void 0)},join:function(t){return st.apply(Ot(this),arguments)},lastIndexOf:function(t){return ut.apply(Ot(this),arguments)},map:function(t){return wt(Ot(this),t,arguments.length>1?arguments[1]:void 0)},reduce:function(t){return at.apply(Ot(this),arguments)},reduceRight:function(t){return ct.apply(Ot(this),arguments)},reverse:function(){for(var t,e=this,n=Ot(e).length,r=Math.floor(n/2),i=0;i<r;)t=e[i],e[i++]=e[--n],e[n]=t;return e},some:function(t){return J(Ot(this),t,arguments.length>1?arguments[1]:void 0)},sort:function(t){return ft.call(Ot(this),t)},subarray:function(t,e){var n=Ot(this),r=n.length,i=g(t,r);return new(M(n,n[gt]))(n.buffer,n.byteOffset+i*n.BYTES_PER_ELEMENT,d((void 0===e?r:g(e,r))-i))}},Nt=function(t,e){return Ct(this,lt.call(Ot(this),t,e))},At=function(t){Ot(this);var e=St(arguments[1],1),n=this.length,r=_(t),i=d(r.length),o=0;if(i+e>n)throw V("Wrong length!");for(;o<i;)this[e+o]=r[o++]},Ft={entries:function(){return ot.call(Ot(this))},keys:function(){return it.call(Ot(this))},values:function(){return rt.call(Ot(this))}},Bt=function(t,e){return w(t)&&t[bt]&&"symbol"!=typeof e&&e in t&&String(+e)==String(e)},Ut=function(t,e){return Bt(t,e=m(e,!0))?l(2,t[e]):W(t,e)},Gt=function(t,e,n){return!(Bt(t,e=m(e,!0))&&w(n)&&b(n,"value"))||b(n,"get")||b(n,"set")||n.configurable||b(n,"writable")&&!n.writable||b(n,"enumerable")&&!n.enumerable?D(t,e,n):(t[e]=n.value,t)};mt||(G.f=Ut,U.f=Gt),u(u.S+u.F*!mt,"Object",{getOwnPropertyDescriptor:Ut,defineProperty:Gt}),o(function(){ht.call({})})&&(ht=pt=function(){return st.call(this)});var Dt=p({},It);p(Dt,Ft),h(Dt,vt,Ft.values),p(Dt,{slice:Nt,set:At,constructor:function(){},toString:ht,toLocaleString:jt}),Pt(Dt,"buffer","b"),Pt(Dt,"byteOffset","o"),Pt(Dt,"byteLength","l"),Pt(Dt,"length","e"),D(Dt,dt,{get:function(){return this[bt]}}),t.exports=function(t,e,n,c){c=!!c;var s=t+(c?"Clamped":"")+"Array",l="get"+t,p="set"+t,v=i[s],g=v||{},m=v&&O(v),b=!v||!a.ABV,_={},E=v&&v.prototype,C=function(t,n){var r=t._d;return r.v[l](n*e+r.o,_t)},R=function(t,n,r){var i=t._d;c&&(r=(r=Math.round(r))<0?0:r>255?255:255&r),i.v[p](n*e+i.o,r,_t)},P=function(t,e){D(t,e,{get:function(){return C(this,e)},set:function(t){return R(this,e,t)},enumerable:!0})};b?(v=n(function(t,n,r,i){f(t,v,s,"_d");var o,u,a,c,l=0,p=0;if(w(n)){if(!(n instanceof H||"ArrayBuffer"==(c=x(n))||"SharedArrayBuffer"==c))return bt in n?Rt(v,n):Lt.call(v,n);o=n,p=St(r,e);var g=n.byteLength;if(void 0===i){if(g%e)throw V("Wrong length!");if((u=g-p)<0)throw V("Wrong length!")}else if((u=d(i)*e)+p>g)throw V("Wrong length!");a=u/e}else a=y(n),u=a*e,o=new H(u);for(h(t,"_d",{b:o,o:p,l:u,e:a,v:new Q(o)});l<a;)P(t,l++)}),E=v.prototype=S(Dt),h(E,"constructor",v)):o(function(){v(1)})&&o(function(){new v(-1)})&&N(function(t){new v,new v(null),new v(1.5),new v(t)},!0)||(v=n(function(t,n,r,i){f(t,v,s);var o;return w(n)?n instanceof H||"ArrayBuffer"==(o=x(n))||"SharedArrayBuffer"==o?void 0!==i?new g(n,St(r,e),i):void 0!==r?new g(n,St(r,e)):new g(n):bt in n?Rt(v,n):Lt.call(v,n):new g(y(n))}),z(m!==Function.prototype?k(g).concat(k(m)):k(g),function(t){t in v||h(v,t,g[t])}),v.prototype=E,r||(E.constructor=v));var L=E[vt],T=!!L&&("values"==L.name||void 0==L.name),M=Ft.values;h(v,yt,!0),h(E,bt,s),h(E,xt,!0),h(E,gt,v),(c?new v(1)[dt]==s:dt in E)||D(E,dt,{get:function(){return s}}),_[s]=v,u(u.G+u.W+u.F*(v!=g),_),u(u.S,s,{BYTES_PER_ELEMENT:e}),u(u.S+u.F*o(function(){g.of.call(v,1)}),s,{from:Lt,of:Tt}),"BYTES_PER_ELEMENT"in E||h(E,"BYTES_PER_ELEMENT",e),u(u.P,s,It),A(s),u(u.P+u.F*Et,s,{set:At}),u(u.P+u.F*!T,s,Ft),r||E.toString==ht||(E.toString=ht),u(u.P+u.F*o(function(){new v(1).slice()}),s,{slice:Nt}),u(u.P+u.F*(o(function(){return[1,2].toLocaleString()!=new v([1,2]).toLocaleString()})||!o(function(){E.toLocaleString.call([1,2])})),s,{toLocaleString:jt}),I[s]=T?L:M,r||T||h(E,vt,M)}}else t.exports=function(){}},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),u=n(25),a=(r(u),n(24)),c=(r(a),n(11)),s=r(c),f=function(){function t(){i(this,t)}return o(t,[{key:"toRRElement",value:function(t){return new s.default}},{key:"toBNF",value:function(t,e,n){}},{key:"equals",value:function(t){}}]),t}();e.default=f},function(t,e,n){var r=n(5)("unscopables"),i=Array.prototype;void 0==i[r]&&n(12)(i,r,{}),t.exports=function(t){i[r][t]=!0}},function(t,e){t.exports=!1},function(t,e,n){var r=n(45)("meta"),i=n(4),o=n(15),u=n(8).f,a=0,c=Object.isExtensible||function(){return!0},s=!n(3)(function(){return c(Object.preventExtensions({}))}),f=function(t){u(t,r,{value:{i:"O"+ ++a,w:{}}})},l=function(t,e){if(!i(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!o(t,r)){if(!c(t))return"F";if(!e)return"E";f(t)}return t[r].i},h=function(t,e){if(!o(t,r)){if(!c(t))return!0;if(!e)return!1;f(t)}return t[r].w},p=function(t){return s&&v.NEED&&c(t)&&!o(t,r)&&f(t),t},v=t.exports={KEY:r,NEED:!1,fastKey:l,getWeak:h,onFreeze:p}},function(t,e){t.exports=function(t,e,n,r){if(!(t instanceof e)||void 0!==r&&r in t)throw TypeError(n+": incorrect invocation!");return t}},function(t,e,n){var r=n(21),i=n(128),o=n(94),u=n(1),a=n(6),c=n(110),s={},f={},e=t.exports=function(t,e,n,l,h){var p,v,d,y,g=h?function(){return t}:c(t),m=r(n,l,e?2:1),b=0;if("function"!=typeof g)throw TypeError(t+" is not iterable!");if(o(g)){for(p=a(t.length);p>b;b++)if((y=e?m(u(v=t[b])[0],v[1]):m(t[b]))===s||y===f)return y}else for(d=g.call(t);!(v=d.next()).done;)if((y=i(d,m,v.value,e))===s||y===f)return y};e.BREAK=s,e.RETURN=f},function(t,e,n){var r=n(1),i=n(134),o=n(90),u=n(103)("IE_PROTO"),a=function(){},c=function(){var t,e=n(89)("iframe"),r=o.length;for(e.style.display="none",n(92).appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write("<script>document.F=Object<\/script>"),t.close(),c=t.F;r--;)delete c.prototype[o[r]];return c()};t.exports=Object.create||function(t,e){var n;return null!==t?(a.prototype=r(t),n=new a,a.prototype=null,n[u]=t):n=c(),void 0===e?n:i(n,e)}},function(t,e,n){var r=n(136),i=n(90).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,i)}},function(t,e,n){var r=n(136),i=n(90);t.exports=Object.keys||function(t){return r(t,i)}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,n){var r=n(13);t.exports=function(t,e,n){for(var i in e)r(t,i,e[i],n);return t}},function(t,e,n){"use strict";var r=n(2),i=n(8),o=n(7),u=n(5)("species");t.exports=function(t){var e=r[t];o&&e&&!e[u]&&i.f(e,u,{configurable:!0,get:function(){return this}})}},function(t,e,n){var r=n(23),i=Math.max,o=Math.min;t.exports=function(t,e){return t=r(t),t<0?i(t+e,0):o(t,e)}},function(t,e){var n=0,r=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+r).toString(36))}},function(t,e,n){var r=n(4);t.exports=function(t,e){if(!r(t)||t._t!==e)throw TypeError("Incompatible receiver, "+e+" required!");return t}},function(t,e,n){var r=n(19),i=n(5)("toStringTag"),o="Arguments"==r(function(){return arguments}()),u=function(t,e){try{return t[e]}catch(t){}};t.exports=function(t){var e,n,a;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=u(e=Object(t),i))?n:o?r(e):"Object"==(a=r(e))&&"function"==typeof e.callee?"Arguments":a}},function(t,e){t.exports={}},function(t,e,n){var r=n(8).f,i=n(15),o=n(5)("toStringTag");t.exports=function(t,e,n){t&&!i(t=n?t:t.prototype,o)&&r(t,o,{configurable:!0,value:e})}},function(t,e,n){var r=n(0),i=n(27),o=n(3),u=n(106),a="["+u+"]",c="​…",s=RegExp("^"+a+a+"*"),f=RegExp(a+a+"*$"),l=function(t,e,n){var i={},a=o(function(){return!!u[t]()||c[t]()!=c}),s=i[t]=a?e(h):u[t];n&&(i[n]=s),r(r.P+r.F*a,"String",i)},h=l.trim=function(t,e){return t=String(i(t)),1&e&&(t=t.replace(s,"")),2&e&&(t=t.replace(f,"")),t};t.exports=l},function(t,e,n){"use strict";function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),o=function(){function t(e,n,i){r(this,t),this.width=e,this.height=n,this.connectorOffset=i}return i(t,[{key:"getWidth",value:function(){return this.width}},{key:"getHeight",value:function(){return this.height}},{key:"getConnectorOffset",value:function(){return this.connectorOffset}}]),t}();e.default=o},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function u(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),c=n(11),s=r(c),f=n(60),l=r(f),h=n(51),p=r(h),v=n(84),d={LITERAL:1,RULE:2,SPECIAL_SEQUENCE:3},y=function(t){function e(t,n,r){i(this,e);var u=o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return u.type=t,u.text=n,u.link=r,u.fontInfo=null,u}return u(e,t),a(e,null,[{key:"Type",get:function(){return d}}]),a(e,[{key:"getType",value:function(){return this.type}},{key:"getText",value:function(){return this.text}},{key:"getLink",value:function(){return this.link}},{key:"computeLayoutInfo",value:function(t){var e={top:5,left:10,bottom:5,right:10},n=void 0;if(this.type==d.RULE)n=t.cssRuleTextClass;else if(this.type==d.LITERAL)n=t.cssLiteralTextClass;else{if(this.type!=d.SPECIAL_SEQUENCE)throw"Unknown type: type";n=t.cssSpecialSequenceTextClass}this.fontInfo=(0,v.getFontInfo)(this.text,n);var r=this.fontInfo.textWidth,i=this.fontInfo.height,o=this.fontInfo.descent,u=e.top+i-o;r+=e.left+e.right,i+=e.top+e.bottom,this.setLayoutInfo(new p.default(r,i,u))}},{key:"toSVG",value:function(t,e,n,r){var i={top:5,left:10,bottom:5,right:10},o=this.getLayoutInfo(),u=o.getWidth(),a=o.getHeight();null!=this.link&&r.addElement('<a xlink:href="'+(0,v.escapeXml)(this.link)+'">');var c=void 0,s=void 0,f=void 0;if(this.type==d.RULE)c=t.cssRuleClass,s=t.cssRuleTextClass,f=t.ruleShape;else if(this.type==d.LITERAL)c=t.cssLiteralClass,s=t.cssLiteralTextClass,f=t.literalShape;else{if(this.type!=d.SPECIAL_SEQUENCE)throw"Unknown type: type";c=t.cssSpecialSequenceClass,s=t.cssSpecialSequenceTextClass,f=t.specialSequenceShape}if(f==l.default.BoxShape.RECTANGLE)r.addElement('<rect class="'+c+'" x="'+e+'" y="'+n+'" width="'+u+'" height="'+a+'"/>');else if(f==l.default.BoxShape.ROUNDED_RECTANGLE){var h=Math.floor((i.left+i.right+i.top+i.bottom)/4);r.addElement('<rect class="'+c+'" x="'+e+'" y="'+n+'" width="'+u+'" height="'+a+'" rx="'+h+'"/>')}else if(f==l.default.BoxShape.HEXAGON){var p=o.getConnectorOffset();r.addLineConnector(e,n+p,e+i.left,n+p),r.addElement('<polygon class="'+(0,v.escapeXml)(c)+'" points="'+e+" "+(n+Math.floor(a/2))+" "+(e+i.left)+" "+n+" "+(e+u-i.right)+" "+n+" "+(e+u)+" "+(n+Math.floor(a/2))+" "+(e+u-i.right)+" "+(n+a)+" "+(e+i.left)+" "+(n+a)+'"/>'),r.addLineConnector(e+u,n+p,e+u-i.right,n+p)}var y=this.fontInfo.descent,g=this.fontInfo.textHeight,m=e+i.left,b=n+i.top+g-y;r.addElement('<text class="'+(0,v.escapeXml)(s)+'" x="'+m+'" y="'+b+'">'+(0,v.escapeXml)(this.text)+"</text>"),null!=this.link&&r.addElement("</a>")}}]),e}(s.default);e.default=y},function(t,e,n){"use strict";var r=n(1);t.exports=function(){var t=r(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},function(t,e,n){var r=n(19);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},function(t,e){e.f={}.propertyIsEnumerable},function(t,e,n){var r=n(20),i=n(2),o=i["__core-js_shared__"]||(i["__core-js_shared__"]={});(t.exports=function(t,e){return o[t]||(o[t]=void 0!==e?e:{})})("versions",[]).push({version:r.version,mode:n(34)?"pure":"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})},function(t,e,n){var r=n(1),i=n(10),o=n(5)("species");t.exports=function(t,e){var n,u=r(t).constructor;return void 0===u||void 0==(n=r(u)[o])?e:i(n)}},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),u=n(59),a=r(u),c=n(24),s=r(c),f=n(32),l=(r(f),n(25)),h=(r(l),function(){function t(e,n,r){i(this,t),this.name=e,this.expression=n,this.originalExpressionText=r}return o(t,[{key:"getName",value:function(){return this.name}},{key:"getOriginalExpressionText",value:function(){return this.originalExpressionText}},{key:"toRRDiagram",value:function(t){return new a.default(this.expression.toRRElement(t))}},{key:"toBNF",value:function(t){var e=[];switch(e.push(this.name," "),t.ruleDefinitionSign){case s.default.RuleDefinitionSign.EQUAL:e.push("=");break;case s.default.RuleDefinitionSign.COLON_EQUAL:e.push(":=");break;case s.default.RuleDefinitionSign.COLON_COLON_EQUAL:e.push("::=")}return e.push(" "),this.expression.toBNF(t,e,!1),e.push(";"),e.join("")}}]),t}());e.default=h},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),u=n(11),a=(r(u),n(83)),c=r(a),s=n(157),f=r(s),l=n(80),h=r(l),p=function(){function t(e){i(this,t),this.rrElement=e}return o(t,[{key:"toSVG",value:function(t){var e=[];if(this.rrElement instanceof c.default){var n=[],r=!0,i=!1,o=void 0;try{for(var u,a=this.rrElement.getRRElements()[Symbol.iterator]();!(r=(u=a.next()).done);r=!0){var s=u.value;s instanceof h.default?0!=n.length&&(e.push(1==n.length?n[0]:new c.default(n.slice())),n.length=0):n.push(s)}}catch(t){i=!0,o=t}finally{try{!r&&a.return&&a.return()}finally{if(i)throw o}}0!=n.length&&e.push(1==n.length?n[0]:new c.default(n.slice()))}else e.push(this.rrElement);for(var l=5,p=5,v=0;v<e.length;v++){v>0&&(p+=5);var d=e[v];d.computeLayoutInfo(t);var y=d.getLayoutInfo();l=Math.max(l,5+y.getWidth()+5),p+=y.getHeight()+5}var g=new f.default,m=5,b=!0,x=!1,w=void 0;try{for(var _,E=e[Symbol.iterator]();!(b=(_=E.next()).done);b=!0){var S=_.value,O=S.getLayoutInfo(),k=O.getConnectorOffset(),C=O.getWidth(),R=O.getHeight(),P=m+k;g.addLineConnector(0,P,5,P),S.toSVG(t,5,m,g),g.addLineConnector(5+C,P,5+C+5,P),m+=R+10}}catch(t){x=!0,w=t}finally{try{!b&&E.return&&E.return()}finally{if(x)throw w}}var L=g.getConnectorElement(t),T=g.getElements(),M=[];return M.push('<svg version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" width="',l,'" height="',p,'" viewbox="0 0 '+l+" "+p+'">'),M.push(L),M.push(T),M.push("</svg>"),M.join("")}}]),t}();e.default=p},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),u=n(52),a=(r(u),n(59)),c=(r(a),{RECTANGLE:1,ROUNDED_RECTANGLE:2,HEXAGON:3}),s=function(){function t(){i(this,t),this.cssConnectorClass="rrConnector",this.cssRuleClass="rrRule",this.cssRuleTextClass="rrRuleText",this.cssLiteralClass="rrLiteral",this.cssLiteralTextClass="rrLiteralText",this.cssSpecialSequenceClass="rrSpecialSequence",this.cssSpecialSequenceTextClass="rrSpecialSequenceText",this.cssLoopCardinalitiesTextClass="rrLoopCardinalities",this.ruleShape=c.RECTANGLE,this.literalShape=c.ROUNDED_RECTANGLE,this.specialSequenceShape=c.HEXAGON}return o(t,null,[{key:"BoxShape",get:function(){return c}}]),o(t,[{key:"convert",value:function(t){return t.toSVG(this)}}]),t}();e.default=s},function(t,e,n){var r=n(18),i=n(6),o=n(44);t.exports=function(t){return function(e,n,u){var a,c=r(e),s=i(c.length),f=o(u,s);if(t&&n!=n){for(;s>f;)if((a=c[f++])!=a)return!0}else for(;s>f;f++)if((t||f in c)&&c[f]===n)return t||f||0;return!t&&-1}}},function(t,e,n){"use strict";var r=n(2),i=n(0),o=n(13),u=n(42),a=n(35),c=n(37),s=n(36),f=n(4),l=n(3),h=n(66),p=n(49),v=n(93);t.exports=function(t,e,n,d,y,g){var m=r[t],b=m,x=y?"set":"add",w=b&&b.prototype,_={},E=function(t){var e=w[t];o(w,t,"delete"==t?function(t){return!(g&&!f(t))&&e.call(this,0===t?0:t)}:"has"==t?function(t){return!(g&&!f(t))&&e.call(this,0===t?0:t)}:"get"==t?function(t){return g&&!f(t)?void 0:e.call(this,0===t?0:t)}:"add"==t?function(t){return e.call(this,0===t?0:t),this}:function(t,n){return e.call(this,0===t?0:t,n),this})};if("function"==typeof b&&(g||w.forEach&&!l(function(){(new b).entries().next()}))){var S=new b,O=S[x](g?{}:-0,1)!=S,k=l(function(){S.has(1)}),C=h(function(t){new b(t)}),R=!g&&l(function(){for(var t=new b,e=5;e--;)t[x](e,e);return!t.has(-0)});C||(b=e(function(e,n){s(e,b,t);var r=v(new m,e,b);return void 0!=n&&c(n,y,r[x],r),r}),b.prototype=w,w.constructor=b),(k||R)&&(E("delete"),E("has"),y&&E("get")),(R||O)&&E(x),g&&w.clear&&delete w.clear}else b=d.getConstructor(e,t,y,x),u(b.prototype,n),a.NEED=!0;return p(b,t),_[t]=b,i(i.G+i.W+i.F*(b!=m),_),g||d.setStrong(b,t,y),b}},function(t,e,n){"use strict";n(148);var r=n(13),i=n(12),o=n(3),u=n(27),a=n(5),c=n(101),s=a("species"),f=!o(function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$<a>")}),l=function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var n="ab".split(t);return 2===n.length&&"a"===n[0]&&"b"===n[1]}();t.exports=function(t,e,n){var h=a(t),p=!o(function(){var e={};return e[h]=function(){return 7},7!=""[t](e)}),v=p?!o(function(){var e=!1,n=/a/;return n.exec=function(){return e=!0,null},"split"===t&&(n.constructor={},n.constructor[s]=function(){return n}),n[h](""),!e}):void 0;if(!p||!v||"replace"===t&&!f||"split"===t&&!l){var d=/./[h],y=n(u,h,""[t],function(t,e,n,r,i){return e.exec===c?p&&!i?{done:!0,value:d.call(e,n,r)}:{done:!0,value:t.call(n,e,r)}:{done:!1}}),g=y[0],m=y[1];r(String.prototype,t,g),i(RegExp.prototype,h,2==e?function(t,e){return m.call(t,this,e)}:function(t){return m.call(t,this)})}}},function(t,e,n){var r=n(19);t.exports=Array.isArray||function(t){return"Array"==r(t)}},function(t,e,n){var r=n(4),i=n(19),o=n(5)("match");t.exports=function(t){var e;return r(t)&&(void 0!==(e=t[o])?!!e:"RegExp"==i(t))}},function(t,e,n){var r=n(5)("iterator"),i=!1;try{var o=[7][r]();o.return=function(){i=!0},Array.from(o,function(){throw 2})}catch(t){}t.exports=function(t,e){if(!e&&!i)return!1;var n=!1;try{var o=[7],u=o[r]();u.next=function(){return{done:n=!0}},o[r]=function(){return u},t(o)}catch(t){}return n}},function(t,e,n){"use strict";t.exports=n(34)||!n(3)(function(){var t=Math.random();__defineSetter__.call(null,t,function(){}),delete n(2)[t]})},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e,n){"use strict";var r=n(47),i=RegExp.prototype.exec;t.exports=function(t,e){var n=t.exec;if("function"==typeof n){var o=n.call(t,e);if("object"!=typeof o)throw new TypeError("RegExp exec method returned something other than an Object or null");return o}if("RegExp"!==r(t))throw new TypeError("RegExp#exec called on incompatible receiver");return i.call(t,e)}},function(t,e,n){"use strict";var r=n(0),i=n(10),o=n(21),u=n(37);t.exports=function(t){r(r.S,t,{from:function(t){var e,n,r,a,c=arguments[1];return i(this),e=void 0!==c,e&&i(c),void 0==t?new this:(n=[],e?(r=0,a=o(c,arguments[2],2),u(t,!1,function(t){n.push(a(t,r++))})):u(t,!1,n.push,n),new this(n))}})}},function(t,e,n){"use strict";var r=n(0);t.exports=function(t){r(r.S,t,{of:function(){for(var t=arguments.length,e=new Array(t);t--;)e[t]=arguments[t];return new this(e)}})}},function(t,e,n){var r=n(23),i=n(27);t.exports=function(t){return function(e,n){var o,u,a=String(i(e)),c=r(n),s=a.length;return c<0||c>=s?t?"":void 0:(o=a.charCodeAt(c),o<55296||o>56319||c+1===s||(u=a.charCodeAt(c+1))<56320||u>57343?t?a.charAt(c):o:t?a.slice(c,c+2):u-56320+(o-55296<<10)+65536)}}},function(t,e,n){for(var r,i=n(2),o=n(12),u=n(45),a=u("typed_array"),c=u("view"),s=!(!i.ArrayBuffer||!i.DataView),f=s,l=0,h="Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array".split(",");l<9;)(r=i[h[l++]])?(o(r.prototype,a,!0),o(r.prototype,c,!0)):f=!1;t.exports={ABV:s,CONSTR:f,TYPED:a,VIEW:c}},function(t,e,n){var r=n(2),i=r.navigator;t.exports=i&&i.userAgent||""},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),u=n(58),a=(r(u),n(24)),c=(r(a),function(){function t(e){i(this,t),0==arguments.length?e=[]:e.constructor!==Array&&(e=arguments),this.rules=e}return o(t,[{key:"getRules",value:function(){return this.rules}},{key:"toBNF",value:function(t){for(var e=[],n=0;n<this.rules.length;n++)n>0&&e.push("\n"),e.push(this.rules[n].toBNF(t));return e.join("")}}]),t}());e.default=c},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function u(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),c=n(32),s=r(c),f=n(52),l=r(f),h=n(25),p=(r(h),n(11)),v=(r(p),n(24)),d=r(v),y=function(t){function e(t){i(this,e);var n=o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return n.text=t,n}return u(e,t),a(e,[{key:"toRRElement",value:function(t){return new l.default(l.default.Type.LITERAL,this.text,null)}},{key:"toBNF",value:function(t,e,n){var r=t.literalDefinitionSign==d.default.LiteralDefinitionSign.DOUBLE_QUOTE?'"':"'";e.push(r),e.push(this.text),e.push(r)}},{key:"equals",value:function(t){return t instanceof e&&this.text==t.text}}]),e}(s.default);e.default=y},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function u(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),c=n(32),s=r(c),f=n(81),l=r(f),h=n(115),p=r(h),v=n(82),d=r(v),y=n(25),g=(r(y),n(11)),m=(r(g),n(24)),b=(r(m),function(t){function e(t,n,r){i(this,e);var u=o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return u.expression=t,u.minRepetitionCount=0|n,u.maxRepetitionCount=r,u}return u(e,t),a(e,[{key:"getExpression",value:function(){return this.expression}},{key:"getMinRepetitionCount",value:function(){return this.minRepetitionCount}},{key:"getMaxRepetitionCount",value:function(){return this.maxRepetitionCount}},{key:"toRRElement",value:function(t){var e=this.expression.toRRElement(t);return 0==this.minRepetitionCount?null==this.maxRepetitionCount||this.maxRepetitionCount>1?new l.default(new d.default(e,null,0,null==this.maxRepetitionCount?null:this.maxRepetitionCount-1),new p.default):new l.default(e,new p.default):new d.default(e,null,this.minRepetitionCount-1,null==this.maxRepetitionCount?null:this.maxRepetitionCount-1)}},{key:"toBNF",value:function(t,e,n){var r=t.isUsingMultiplicationTokens;null==this.maxRepetitionCount?this.minRepetitionCount>0?1==this.minRepetitionCount&&r?(this.expression.toBNF(t,e,!0),e.push("+")):(n&&e.push("( "),this.minRepetitionCount>1&&e.push(this.minRepetitionCount," * "),this.expression.toBNF(t,e,!1),t.isCommaSeparator&&e.push(" ,"),e.push(" ","{ "),this.expression.toBNF(t,e,!1),e.push(" }"),n&&e.push(" )")):r?(this.expression.toBNF(t,e,!0),e.push("*")):(e.push("{ "),this.expression.toBNF(t,e,!1),e.push(" }")):0==this.minRepetitionCount?1==this.maxRepetitionCount&&r?(this.expression.toBNF(t,e,!0),e.push("?")):(this.maxRepetitionCount>1&&e.push(this.maxRepetitionCount," * "),e.push("[ "),this.expression.toBNF(t,e,!1),e.push(" ]")):this.minRepetitionCount==this.maxRepetitionCount?(e.push(this.minRepetitionCount," * "),this.expression.toBNF(t,e,n)):(n&&e.push("( "),e.push(this.minRepetitionCount," * "),this.expression.toBNF(t,e,!1),t.isCommaSeparator&&e.push(" ,"),e.push(" ",this.maxRepetitionCount-this.minRepetitionCount," * ","[ "),this.expression.toBNF(t,e,!1),e.push(" ]"),n&&e.push(" )"))}},{key:"equals",value:function(t){return t instanceof e&&(this.expression.equals(t.expression)&&this.minRepetitionCount==t.minRepetitionCount&&null==this.maxRepetitionCount?null==t.maxRepetitionCount:this.maxRepetitionCount.equals(t.maxRepetitionCount))}}]),e}(s.default));e.default=b},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function u(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),c=n(32),s=r(c),f=n(80),l=r(f),h=n(52),p=r(h),v=n(25),d=(r(v),n(11)),y=(r(d),n(24)),g=(r(y),function(t){function e(t){i(this,e);var n=o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return n.ruleName=t,n}return u(e,t),a(e,[{key:"getRuleName",value:function(){return this.ruleName}},{key:"toRRElement",value:function(t){var e=t.ruleConsideredAsLineBreak;if(null!=e&&e===this.ruleName)return new l.default;var n=t.ruleLinkProvider;return new p.default(p.default.Type.RULE,this.ruleName,null==n?null:n(this.ruleName))}},{key:"toBNF",value:function(t,e,n){e.push(this.ruleName);var r=t.ruleConsideredAsLineBreak;null!=r&&r===this.ruleName&&e.push("\n")}},{key:"equals",value:function(t){return t instanceof e&&this.ruleName==t.ruleName}}]),e}(s.default));e.default=g},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function u(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),c=n(32),s=r(c),f=n(82),l=r(f),h=n(83),p=r(h),v=n(78),d=r(v),y=n(77),g=r(y),m=n(76),b=r(m),x=n(25),w=(r(x),n(11)),_=(r(w),n(24)),E=(r(_),function(t){function e(t){i(this,e);var n=o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return 0==arguments.length?t=[]:t.constructor!==Array&&(t=arguments),n.expressions=t,n}return u(e,t),a(e,[{key:"getExpressions",value:function(){return this.expressions}},{key:"toRRElement",value:function(t){for(var n=[],r=0;r<this.expressions.length;r++){var i=this.expressions[r],o=i.toRRElement(t);if(r<this.expressions.length-1&&this.expressions[r+1]instanceof g.default){var u=this.expressions[r+1],a=u.getExpression();if(a instanceof e){var c=a.getExpressions();if(2==c.length&&c[0]instanceof b.default&&i.equals(c[1])){var s=u.getMaxRepetitionCount();(null==s||s>1)&&(o=new l.default(i.toRRElement(t),c[0].toRRElement(t),u.getMinRepetitionCount(),null==s?null:s),r++)}}else if(i instanceof d.default){var f=i;if(a instanceof d.default&&a.getRuleName().equals(f.getRuleName())){var h=u.getMaxRepetitionCount();(null==h||h>1)&&(o=new l.default(f.toRRElement(t),null,u.getMinRepetitionCount(),null==h?null:h),r++)}}}n.push(o)}return new p.default(n)}},{key:"toBNF",value:function(t,e,n){if(0==this.expressions.length)return void e.push("( )");n&&this.expressions.length>1&&e.push("( ");for(var r=t.isCommaSeparator,i=0;i<this.expressions.length;i++)i>0&&(r&&e.push(" ,"),e.push(" ")),this.expressions[i].toBNF(t,e,1==this.expressions.length&&n||!r);n&&this.expressions.length>1&&e.push(" )")}},{key:"equals",value:function(t){if(!(t instanceof e))return!1;if(this.expressions.length!=t.expressions.length)return!1;for(var n=0;n<this.expressions.length;n++)if(!this.expressions[n].equals(t.expressions[n]))return!1;return!0}}]),e}(s.default));e.default=E},function(t,e,n){"use strict";function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var u=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),a=n(11),c=function(t){return t&&t.__esModule?t:{default:t}}(a),s=function(t){function e(){return r(this,e),i(this,(e.__proto__||Object.getPrototypeOf(e)).call(this))}return o(e,t),u(e,[{key:"computeLayoutInfo",value:function(t){throw"This element must not be nested and should have been processed before entering generation."}},{key:"toSVG",value:function(t,e,n,r){throw"This element must not be nested and should have been processed before entering generation."}}]),e}(c.default);e.default=s},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function u(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),c=n(11),s=r(c),f=n(51),l=r(f),h=function(t){function e(t){i(this,e);var n=o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return 0==arguments.length?t=[]:t.constructor!==Array&&(t=arguments),n.rrElements=t,n}return u(e,t),a(e,[{key:"computeLayoutInfo",value:function(t){for(var e=0,n=0,r=0,i=0;i<this.rrElements.length;i++){var o=this.rrElements[i];o.computeLayoutInfo(t);var u=o.getLayoutInfo();0==i?r=u.getConnectorOffset():n+=5,n+=u.getHeight(),e=Math.max(e,u.getWidth())}e+=40,this.setLayoutInfo(new l.default(e,n,r))}},{key:"toSVG",value:function(t,e,n,r){for(var i=this.getLayoutInfo(),o=n+i.getConnectorOffset(),u=e+10,a=e+i.getWidth()-10,c=e+20,s=0,f=n,l=0;l<this.rrElements.length;l++){var h=this.rrElements[l],p=h.getLayoutInfo(),v=p.getWidth(),d=p.getHeight();s=f+p.getConnectorOffset(),0==l?r.addLineConnector(u-10,o,u+10,o):(l==this.rrElements.length-1&&(r.addPathConnector(u-5,o,"q5 0 5 5",u,o+5),r.addLineConnector(u,o+5,u,s-5)),r.addPathConnector(u,s-5,"q0 5 5 5",u+5,s),r.addLineConnector(u+5,s,c,s)),h.toSVG(t,c,f,r),0==l?r.addLineConnector(c+v,s,a+10,s):(r.addLineConnector(a-5,s,c+v,s),r.addPathConnector(a-5,s,"q5 0 5-5",a,s-5),l==this.rrElements.length-1&&(r.addLineConnector(a,s-5,a,o+5),r.addPathConnector(a,o+5,"q0-5 5-5",a+5,o))),f+=d+5}}}]),e}(s.default);e.default=h},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function u(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),c=n(11),s=r(c),f=n(60),l=(r(f),n(51)),h=r(l),p=n(84),v=function(t){function e(t,n,r,u){i(this,e);var a=o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));if(a.rrElement=t,a.loopElement=n,r<0)throw new IllegalArgumentException("Minimum repetition must be positive!");if(null!=u&&u<r)throw new IllegalArgumentException("Maximum repetition must not be smaller than minimum!");return a.minRepetitionCount=r,a.maxRepetitionCount=u,a.cardinalitiesText=null,a.cardinalitiesWidth=null,a.fontYOffset=null,a}return u(e,t),a(e,[{key:"computeLayoutInfo",value:function(t){if(this.cardinalitiesText=null,this.cardinalitiesWidth=0,this.fontYOffset=0,this.minRepetitionCount>0||null!=this.maxRepetitionCount){this.cardinalitiesText=this.minRepetitionCount+".."+(null==this.maxRepetitionCount?"N":this.maxRepetitionCount);var e=(0,p.getFontInfo)(this.cardinalitiesText,t.cssLoopCardinalitiesTextClass);this.fontYOffset=e.descent,this.cardinalitiesWidth=e.textWidth+2}this.rrElement.computeLayoutInfo(t);var n=this.rrElement.getLayoutInfo(),r=n.getWidth(),i=n.getHeight(),o=n.getConnectorOffset();if(null!=this.loopElement){this.loopElement.computeLayoutInfo(t);var u=this.loopElement.getLayoutInfo();r=Math.max(r,u.getWidth());var a=u.getHeight();i+=5+a,o+=5+a}else i+=15,o+=15;r+=40+this.cardinalitiesWidth,this.setLayoutInfo(new h.default(r,i,o))}},{key:"toSVG",value:function(t,e,n,r){var i=this.rrElement.getLayoutInfo(),o=i.getWidth(),u=o,a=n,c=this.getLayoutInfo(),s=c.getConnectorOffset(),f=n,l=0,h=0;if(null!=this.loopElement){var v=this.loopElement.getLayoutInfo();h=v.getWidth(),u=Math.max(u,h),l=e+20+Math.floor((u-h)/2),a+=5+v.getHeight(),f+=v.getConnectorOffset()}else a+=15,f+=5;var d=e+10,y=e+20+u+10+this.cardinalitiesWidth,g=n+s;r.addLineConnector(d-10,g,d+10+Math.floor((u-o)/2),g);var m=d+5;r.addPathConnector(d+5,g,"q-5 0-5-5",d,g-5),r.addLineConnector(d,g-5,d,f+5),r.addPathConnector(d,f+5,"q0-5 5-5",d+5,f),null!=this.loopElement&&(r.addLineConnector(d+5,f,l,f),this.loopElement.toSVG(t,l,n,r),m=l+h),r.addLineConnector(m,f,y-5,f),r.addPathConnector(y-5,f,"q5 0 5 5",y,f+5),r.addLineConnector(y,f+5,y,g-5),r.addPathConnector(y,g-5,"q0 5-5 5",y-5,g),null!=this.cardinalitiesText&&r.addElement('<text class="'+(0,p.escapeXml)(t.cssLoopCardinalitiesTextClass)+'" x="'+(y-this.cardinalitiesWidth)+'" y="'+(g-this.fontYOffset-5)+'">'+(0,p.escapeXml)(this.cardinalitiesText)+"</text>"),this.rrElement.toSVG(t,e+20+Math.floor((u-o)/2),a,r),r.addLineConnector(y-this.cardinalitiesWidth-10-Math.floor((u-o)/2),g,e+c.getWidth(),g)}}]),e}(s.default);e.default=v},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function u(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),c=n(11),s=r(c),f=n(51),l=r(f),h=function(t){function e(t){i(this,e);var n=o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return 0==arguments.length?t=[]:t.constructor!==Array&&(t=arguments),n.rrElements=t,n}return u(e,t),a(e,[{key:"getRRElements",value:function(){return this.rrElements}},{key:"computeLayoutInfo",value:function(t){for(var e=0,n=0,r=0,i=0;i<this.rrElements.length;i++){var o=this.rrElements[i];o.computeLayoutInfo(t),i>0&&(e+=10);var u=o.getLayoutInfo();e+=u.getWidth();var a=u.getHeight(),c=u.getConnectorOffset();n=Math.max(n,c),r=Math.max(r,a-c)}this.setLayoutInfo(new l.default(e,n+r,n))}},{key:"toSVG",value:function(t,e,n,r){for(var i=this.getLayoutInfo(),o=i.getConnectorOffset(),u=0,a=0;a<this.rrElements.length;a++){var c=this.rrElements[a],s=c.getLayoutInfo(),f=s.getWidth(),l=s.getConnectorOffset(),h=u+e,p=n+o-l;a>0&&r.addLineConnector(h-10,n+o,h,n+o),c.toSVG(t,h,p,r),u+=10,u+=f}}}]),e}(s.default);e.default=h},function(t,e,n){"use strict";function r(t){return t.replace(/[<>&'"]/g,function(t){switch(t){case"<":return"&lt;";case">":return"&gt;";case"&":return"&amp;";case"'":return"&apos;";case'"':return"&quot;"}})}function i(t,e){var n=document.body,r=document.createElement("div");r.className=e,n.appendChild(r);var i=window.getComputedStyle(r,null),o=i.getPropertyValue("font-size"),u=i.getPropertyValue("font-family");n.removeChild(r);var a=document.createElement("div");a.style.fontFamily=u,a.style.fontSize=o;var c=document.createElement("img");c.width=1,c.height=1,c.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAAAAAA6fptVAAAACklEQVR4nGP6DwABBQECz6AuzQAAAABJRU5ErkJggg==";var s=document.createTextNode(t);a.appendChild(s),a.appendChild(c),n.appendChild(a),c.style.display="none",a.style.display="inline";var f=a.offsetHeight,l=a.offsetWidth;c.style.display="inline";var h=l+c.offsetWidth;a.style.cssText="margin: 500px 0; display: block; width: "+h+"px; white-space: nowrap; overflow: hidden; position: absolute; top: 0;",a.style.fontFamily=u,a.style.fontSize=o;var p=f-c.offsetTop,v=a.offsetHeight,d={textWidth:l,textHeight:f,descent:p,height:v};return n.removeChild(a),d}Object.defineProperty(e,"__esModule",{value:!0}),e.escapeXml=r,e.getFontInfo=i},function(t,e,n){"use strict";var r=n(72)(!0);t.exports=function(t,e,n){return e+(n?r(t,e).length:1)}},function(t,e,n){"use strict";var r=n(9),i=n(44),o=n(6);t.exports=function(t){for(var e=r(this),n=o(e.length),u=arguments.length,a=i(u>1?arguments[1]:void 0,n),c=u>2?arguments[2]:void 0,s=void 0===c?n:i(c,n);s>a;)e[a++]=t;return e}},function(t,e,n){var r=n(161);t.exports=function(t,e){return new(r(t))(e)}},function(t,e,n){"use strict";var r=n(8),i=n(41);t.exports=function(t,e,n){e in t?r.f(t,e,i(0,n)):t[e]=n}},function(t,e,n){var r=n(4),i=n(2).document,o=r(i)&&r(i.createElement);t.exports=function(t){return o?i.createElement(t):{}}},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e,n){var r=n(5)("match");t.exports=function(t){var e=/./;try{"/./"[t](e)}catch(n){try{return e[r]=!1,!"/./"[t](e)}catch(t){}}return!0}},function(t,e,n){var r=n(2).document;t.exports=r&&r.documentElement},function(t,e,n){var r=n(4),i=n(102).set;t.exports=function(t,e,n){var o,u=e.constructor;return u!==n&&"function"==typeof u&&(o=u.prototype)!==n.prototype&&r(o)&&i&&i(t,o),t}},function(t,e,n){var r=n(48),i=n(5)("iterator"),o=Array.prototype;t.exports=function(t){return void 0!==t&&(r.Array===t||o[i]===t)}},function(t,e,n){"use strict";var r=n(38),i=n(41),o=n(49),u={};n(12)(u,n(5)("iterator"),function(){return this}),t.exports=function(t,e,n){t.prototype=r(u,{next:i(1,n)}),o(t,e+" Iterator")}},function(t,e,n){"use strict";var r=n(34),i=n(0),o=n(13),u=n(12),a=n(48),c=n(95),s=n(49),f=n(17),l=n(5)("iterator"),h=!([].keys&&"next"in[].keys()),p=function(){return this};t.exports=function(t,e,n,v,d,y,g){c(n,e,v);var m,b,x,w=function(t){if(!h&&t in O)return O[t];switch(t){case"keys":case"values":return function(){return new n(this,t)}}return function(){return new n(this,t)}},_=e+" Iterator",E="values"==d,S=!1,O=t.prototype,k=O[l]||O["@@iterator"]||d&&O[d],C=k||w(d),R=d?E?w("entries"):C:void 0,P="Array"==e?O.entries||k:k;if(P&&(x=f(P.call(new t)))!==Object.prototype&&x.next&&(s(x,_,!0),r||"function"==typeof x[l]||u(x,l,p)),E&&k&&"values"!==k.name&&(S=!0,C=function(){return k.call(this)}),r&&!g||!h&&!S&&O[l]||u(O,l,C),a[e]=C,a[_]=p,d)if(m={values:E?C:w("values"),keys:y?C:w("keys"),entries:R},g)for(b in m)b in O||o(O,b,m[b]);else i(i.P+i.F*(h||S),e,m);return m}},function(t,e){var n=Math.expm1;t.exports=!n||n(10)>22025.465794806718||n(10)<22025.465794806718||-2e-17!=n(-2e-17)?function(t){return 0==(t=+t)?t:t>-1e-6&&t<1e-6?t+t*t/2:Math.exp(t)-1}:n},function(t,e){t.exports=Math.sign||function(t){return 0==(t=+t)||t!=t?t:t<0?-1:1}},function(t,e,n){var r=n(2),i=n(107).set,o=r.MutationObserver||r.WebKitMutationObserver,u=r.process,a=r.Promise,c="process"==n(19)(u);t.exports=function(){var t,e,n,s=function(){var r,i;for(c&&(r=u.domain)&&r.exit();t;){i=t.fn,t=t.next;try{i()}catch(r){throw t?n():e=void 0,r}}e=void 0,r&&r.enter()};if(c)n=function(){u.nextTick(s)};else if(!o||r.navigator&&r.navigator.standalone)if(a&&a.resolve){var f=a.resolve(void 0);n=function(){f.then(s)}}else n=function(){i.call(r,s)};else{var l=!0,h=document.createTextNode("");new o(s).observe(h,{characterData:!0}),n=function(){h.data=l=!l}}return function(r){var i={fn:r,next:void 0};e&&(e.next=i),t||(t=i,n()),e=i}}},function(t,e,n){"use strict";function r(t){var e,n;this.promise=new t(function(t,r){if(void 0!==e||void 0!==n)throw TypeError("Bad Promise constructor");e=t,n=r}),this.resolve=i(e),this.reject=i(n)}var i=n(10);t.exports.f=function(t){return new r(t)}},function(t,e,n){"use strict";var r=n(53),i=RegExp.prototype.exec,o=String.prototype.replace,u=i,a=function(){var t=/a/,e=/b*/g;return i.call(t,"a"),i.call(e,"a"),0!==t.lastIndex||0!==e.lastIndex}(),c=void 0!==/()??/.exec("")[1];(a||c)&&(u=function(t){var e,n,u,s,f=this;return c&&(n=new RegExp("^"+f.source+"$(?!\\s)",r.call(f))),a&&(e=f.lastIndex),u=i.call(f,t),a&&u&&(f.lastIndex=f.global?u.index+u[0].length:e),c&&u&&u.length>1&&o.call(u[0],n,function(){for(s=1;s<arguments.length-2;s++)void 0===arguments[s]&&(u[s]=void 0)}),u}),t.exports=u},function(t,e,n){var r=n(4),i=n(1),o=function(t,e){if(i(t),!r(e)&&null!==e)throw TypeError(e+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,e,r){try{r=n(21)(Function.call,n(16).f(Object.prototype,"__proto__").set,2),r(t,[]),e=!(t instanceof Array)}catch(t){e=!0}return function(t,n){return o(t,n),e?t.__proto__=n:r(t,n),t}}({},!1):void 0),check:o}},function(t,e,n){var r=n(56)("keys"),i=n(45);t.exports=function(t){return r[t]||(r[t]=i(t))}},function(t,e,n){var r=n(65),i=n(27);t.exports=function(t,e,n){if(r(e))throw TypeError("String#"+n+" doesn't accept regex!");return String(i(t))}},function(t,e,n){"use strict";var r=n(23),i=n(27);t.exports=function(t){var e=String(i(this)),n="",o=r(t);if(o<0||o==1/0)throw RangeError("Count can't be negative");for(;o>0;(o>>>=1)&&(e+=e))1&o&&(n+=e);return n}},function(t,e){t.exports="\t\n\v\f\r   ᠎              \u2028\u2029\ufeff"},function(t,e,n){var r,i,o,u=n(21),a=n(126),c=n(92),s=n(89),f=n(2),l=f.process,h=f.setImmediate,p=f.clearImmediate,v=f.MessageChannel,d=f.Dispatch,y=0,g={},m=function(){var t=+this;if(g.hasOwnProperty(t)){var e=g[t];delete g[t],e()}},b=function(t){m.call(t.data)};h&&p||(h=function(t){for(var e=[],n=1;arguments.length>n;)e.push(arguments[n++]);return g[++y]=function(){a("function"==typeof t?t:Function(t),e)},r(y),y},p=function(t){delete g[t]},"process"==n(19)(l)?r=function(t){l.nextTick(u(m,t,1))}:d&&d.now?r=function(t){d.now(u(m,t,1))}:v?(i=new v,o=i.port2,i.port1.onmessage=b,r=u(o.postMessage,o,1)):f.addEventListener&&"function"==typeof postMessage&&!f.importScripts?(r=function(t){f.postMessage(t+"","*")},f.addEventListener("message",b,!1)):r="onreadystatechange"in s("script")?function(t){c.appendChild(s("script")).onreadystatechange=function(){c.removeChild(this),m.call(t)}}:function(t){setTimeout(u(m,t,1),0)}),t.exports={set:h,clear:p}},function(t,e,n){"use strict";function r(t,e,n){var r,i,o,u=new Array(n),a=8*n-e-1,c=(1<<a)-1,s=c>>1,f=23===e?B(2,-24)-B(2,-77):0,l=0,h=t<0||0===t&&1/t<0?1:0;for(t=F(t),t!=t||t===N?(i=t!=t?1:0,r=c):(r=U(G(t)/D),t*(o=B(2,-r))<1&&(r--,o*=2),t+=r+s>=1?f/o:f*B(2,1-s),t*o>=2&&(r++,o/=2),r+s>=c?(i=0,r=c):r+s>=1?(i=(t*o-1)*B(2,e),r+=s):(i=t*B(2,s-1)*B(2,e),r=0));e>=8;u[l++]=255&i,i/=256,e-=8);for(r=r<<e|i,a+=e;a>0;u[l++]=255&r,r/=256,a-=8);return u[--l]|=128*h,u}function i(t,e,n){var r,i=8*n-e-1,o=(1<<i)-1,u=o>>1,a=i-7,c=n-1,s=t[c--],f=127&s;for(s>>=7;a>0;f=256*f+t[c],c--,a-=8);for(r=f&(1<<-a)-1,f>>=-a,a+=e;a>0;r=256*r+t[c],c--,a-=8);if(0===f)f=1-u;else{if(f===o)return r?NaN:s?-N:N;r+=B(2,e),f-=u}return(s?-1:1)*r*B(2,f-e)}function o(t){return t[3]<<24|t[2]<<16|t[1]<<8|t[0]}function u(t){return[255&t]}function a(t){return[255&t,t>>8&255]}function c(t){return[255&t,t>>8&255,t>>16&255,t>>24&255]}function s(t){return r(t,52,8)}function f(t){return r(t,23,4)}function l(t,e,n){k(t[P],e,{get:function(){return this[n]}})}function h(t,e,n,r){var i=+n,o=S(i);if(o+e>t[V])throw I(L);var u=t[W]._b,a=o+t[Y],c=u.slice(a,a+e);return r?c:c.reverse()}function p(t,e,n,r,i,o){var u=+n,a=S(u);if(a+e>t[V])throw I(L);for(var c=t[W]._b,s=a+t[Y],f=r(+i),l=0;l<e;l++)c[s+l]=f[o?l:e-l-1]}var v=n(2),d=n(7),y=n(34),g=n(73),m=n(12),b=n(42),x=n(3),w=n(36),_=n(23),E=n(6),S=n(145),O=n(39).f,k=n(8).f,C=n(86),R=n(49),P="prototype",L="Wrong index!",T=v.ArrayBuffer,M=v.DataView,j=v.Math,I=v.RangeError,N=v.Infinity,A=T,F=j.abs,B=j.pow,U=j.floor,G=j.log,D=j.LN2,W=d?"_b":"buffer",V=d?"_l":"byteLength",Y=d?"_o":"byteOffset";if(g.ABV){if(!x(function(){T(1)})||!x(function(){new T(-1)})||x(function(){return new T,new T(1.5),new T(NaN),"ArrayBuffer"!=T.name})){T=function(t){return w(this,T),new A(S(t))};for(var X,q=T[P]=A[P],H=O(A),Q=0;H.length>Q;)(X=H[Q++])in T||m(T,X,A[X]);y||(q.constructor=T)}var z=new M(new T(2)),K=M[P].setInt8;z.setInt8(0,2147483648),z.setInt8(1,2147483649),!z.getInt8(0)&&z.getInt8(1)||b(M[P],{setInt8:function(t,e){K.call(this,t,e<<24>>24)},setUint8:function(t,e){K.call(this,t,e<<24>>24)}},!0)}else T=function(t){w(this,T,"ArrayBuffer");var e=S(t);this._b=C.call(new Array(e),0),this[V]=e},M=function(t,e,n){w(this,M,"DataView"),w(t,T,"DataView");var r=t[V],i=_(e);if(i<0||i>r)throw I("Wrong offset!");if(n=void 0===n?r-i:E(n),i+n>r)throw I("Wrong length!");this[W]=t,this[Y]=i,this[V]=n},d&&(l(T,"byteLength","_l"),l(M,"buffer","_b"),l(M,"byteLength","_l"),l(M,"byteOffset","_o")),b(M[P],{getInt8:function(t){return h(this,1,t)[0]<<24>>24},getUint8:function(t){return h(this,1,t)[0]},getInt16:function(t){var e=h(this,2,t,arguments[1]);return(e[1]<<8|e[0])<<16>>16},getUint16:function(t){var e=h(this,2,t,arguments[1]);return e[1]<<8|e[0]},getInt32:function(t){return o(h(this,4,t,arguments[1]))},getUint32:function(t){return o(h(this,4,t,arguments[1]))>>>0},getFloat32:function(t){return i(h(this,4,t,arguments[1]),23,4)},getFloat64:function(t){return i(h(this,8,t,arguments[1]),52,8)},setInt8:function(t,e){p(this,1,t,u,e)},setUint8:function(t,e){p(this,1,t,u,e)},setInt16:function(t,e){p(this,2,t,a,e,arguments[2])},setUint16:function(t,e){p(this,2,t,a,e,arguments[2])},setInt32:function(t,e){p(this,4,t,c,e,arguments[2])},setUint32:function(t,e){p(this,4,t,c,e,arguments[2])},setFloat32:function(t,e){p(this,4,t,f,e,arguments[2])},setFloat64:function(t,e){p(this,8,t,s,e,arguments[2])}});R(T,"ArrayBuffer"),R(M,"DataView"),m(M[P],g.VIEW,!0),e.ArrayBuffer=T,e.DataView=M},function(t,e,n){var r=n(2),i=n(20),o=n(34),u=n(146),a=n(8).f;t.exports=function(t){var e=i.Symbol||(i.Symbol=o?{}:r.Symbol||{});"_"==t.charAt(0)||t in e||a(e,t,{value:u.f(t)})}},function(t,e,n){var r=n(47),i=n(5)("iterator"),o=n(48);t.exports=n(20).getIteratorMethod=function(t){if(void 0!=t)return t[i]||t["@@iterator"]||o[r(t)]}},function(t,e,n){"use strict";var r=n(33),i=n(129),o=n(48),u=n(18);t.exports=n(96)(Array,"Array",function(t,e){this._t=u(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,i(1)):"keys"==e?i(0,n):"values"==e?i(0,t[n]):i(0,[n,t[n]])},"values"),o.Arguments=o.Array,r("keys"),r("values"),r("entries")},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e,n){e.prune();var r=e.getExpression();return new l.default(t,r,n)}function u(t,e,n){for(var r,i=[],o=0,a=[],c=!0,f=!1,l=0,h=t.getType()==s.default.ChunkType.LITERAL;-1!=(r=e());)if(i.push(r),h){if(r==n){var p=a.join("");return t.setText(p),i.join("")}a.push(r)}else{if(c&&t.getType()==s.default.ChunkType.GROUP)switch(r){case"*":case"?":f=!0,l=r}if(c=!1,f){if(")"==r&&o==l){switch(l){case"*":t.setType(s.default.ChunkType.COMMENT);break;case"?":t.setType(s.default.ChunkType.SPECIAL_SEQUENCE)}var v=a.join("");return v=v.slice(1,v.length-1).trim(),t.setText(v),i.join("")}(a.length>0||!/\s/.test(r))&&a.push(r)}else{if(r==n){var d=a.join("").trim();return d.length>0&&t.addChunk(new s.default(s.default.ChunkType.RULE,d)),i.join("")}switch(r){case",":case" ":case"\n":case"\r":case"\t":var y=a.join("").trim();y.length>0&&t.addChunk(new s.default(s.default.ChunkType.RULE,y)),a.length=0;break;case"|":var g=a.join("").trim();g.length>0&&t.addChunk(new s.default(s.default.ChunkType.RULE,g)),a.length=0,t.addChunk(new s.default(s.default.ChunkType.ALTERNATION));break;case"*":case"+":case"?":var m=a.join("").trim();m.length>0&&t.addChunk(new s.default(s.default.ChunkType.RULE,m)),a.length=0,t.addChunk(new s.default(s.default.ChunkType.REPETITION_TOKEN,r));break;case'"':var b=a.join("").trim();b.length>0&&t.addChunk(new s.default(s.default.ChunkType.RULE,b)),a.length=0;var x=new s.default(s.default.ChunkType.LITERAL),w=u(x,e,'"');i.push(w),t.addChunk(x);break;case"'":var _=a.join("").trim();_.length>0&&t.addChunk(new s.default(s.default.ChunkType.RULE,_)),a.length=0;var E=new s.default(s.default.ChunkType.LITERAL),S=u(E,e,"'");i.push(S),t.addChunk(E);break;case"(":var O=a.join("").trim();O.length>0&&t.addChunk(new s.default(s.default.ChunkType.RULE,O)),a.length=0;var k=new s.default(s.default.ChunkType.GROUP),C=u(k,e,")");i.push(C),t.addChunk(k);break;case"[":var R=a.join("").trim();R.length>0&&t.addChunk(new s.default(s.default.ChunkType.RULE,R)),a.length=0;var P=new s.default(s.default.ChunkType.OPTION),L=u(P,e,"]");i.push(L),t.addChunk(P);break;case"{":var T=a.join("").trim();T.length>0&&t.addChunk(new s.default(s.default.ChunkType.RULE,T)),a.length=0;var M=new s.default(s.default.ChunkType.REPETITION);M.setMinCount(0);var j=u(M,e,"}");i.push(j),t.addChunk(M);break;default:(a.length>0||!/\s/.test(r))&&a.push(r)}}o=r}return i.join("")}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),c=n(156),s=r(c),f=n(58),l=r(f),h=n(75),p=r(h),v=function(){function t(){i(this,t)}return a(t,[{key:"convert",value:function(t){for(var e,n=function(){var e=0;return function(){if(e<t.length){var n=t[e];return e++,n}return-1}}(),r=[],i=[];-1!=(e=n());)switch(e){case"=":var a=new s.default(s.default.ChunkType.GROUP),c=u(a,n,";");c.endsWith(";")&&(c=c.slice(0,c.length-1));var f=r.join("");r.length=0,f.endsWith(":")&&(f=f.slice(0,f.length-1),f.endsWith(":")&&(f=f.slice(0,f.length-1))),f=f.trim();var l=o(f,a,c);i.push(l);break;case"(":if("*"!=n())throw"Expecting start of a comment after '(' but could not find '*'!";for(var h,v=0;-1!=(h=n())&&(")"!=h||"*"!=v);)v=h;break;default:(!/\s/.test(e)||r.length>0)&&r.push(e)}return new p.default(i)}}]),t}();e.default=v},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function u(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),c=n(32),s=r(c),f=n(79),l=r(f),h=n(25),p=(r(h),n(11)),v=(r(p),n(24)),d=(r(v),n(81)),y=r(d),g=function(t){function e(t){i(this,e);var n=o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return 0==arguments.length?t=[]:t.constructor!==Array&&(t=arguments),n.expressions=t,n}return u(e,t),a(e,[{key:"getExpressions",value:function(){return this.expressions}},{key:"toRRElement",value:function(t){var e=[],n=!0,r=!1,i=void 0;try{for(var o,u=this.expressions[Symbol.iterator]();!(n=(o=u.next()).done);n=!0){var a=o.value;e.push(a.toRRElement(t))}}catch(t){r=!0,i=t}finally{try{!n&&u.return&&u.return()}finally{if(r)throw i}}return new y.default(e)}},{key:"toBNF",value:function(t,e,n){var r=[],i=!1,o=!0,u=!1,a=void 0;try{for(var c,s=this.expressions[Symbol.iterator]();!(o=(c=s.next()).done);o=!0){var f=c.value;f instanceof l.default&&0==f.getExpressions().length?i=!0:r.push(f)}}catch(t){u=!0,a=t}finally{try{!o&&s.return&&s.return()}finally{if(u)throw a}}if(0==r.length)e.push("( )");else if(i&&1==r.length){var h=t.isUsingMultiplicationTokens;h||e.push("[ "),r[0].toBNF(t,e,h),h||e.push(" ]")}else{var p=t.isUsingMultiplicationTokens;i&&!p?e.push("[ "):(i||n&&r.length>1)&&e.push("( ");for(var v=r.length,d=0;d<v;d++)d>0&&e.push(" | "),r[d].toBNF(t,e,!1);i&&!p?e.push(" ]"):(i||n&&r.length>1)&&(e.push(" )"),i&&e.push("?"))}}},{key:"equals",value:function(t){if(!(t instanceof e))return!1;if(this.expressions.length!=t.expressions.length)return!1;for(var n=0;n<this.expressions.length;n++)if(!this.expressions[n].equals(t.expressions[n]))return!1;return!0}}]),e}(s.default);e.default=g},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function u(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),c=n(32),s=r(c),f=n(52),l=r(f),h=n(25),p=(r(h),n(11)),v=(r(p),n(24)),d=(r(v),function(t){function e(t){i(this,e);var n=o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return n.text=t,n}return u(e,t),a(e,[{key:"toRRElement",value:function(t){return new l.default(l.default.Type.SPECIAL_SEQUENCE,this.text,null)}},{key:"toBNF",value:function(t,e,n){e.push("(? "),e.push(this.text),e.push(" ?)")}},{key:"equals",value:function(t){return t instanceof e&&this.text==t.text}}]),e}(s.default));e.default=d},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function u(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),c=n(11),s=r(c),f=n(51),l=r(f),h=function(t){function e(){return i(this,e),o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this))}return u(e,t),a(e,[{key:"computeLayoutInfo",value:function(t){this.setLayoutInfo(new l.default(0,10,5))}},{key:"toSVG",value:function(t,e,n,r){}}]),e}(s.default);e.default=h},function(t,e,n){var r=n(19);t.exports=function(t,e){if("number"!=typeof t&&"Number"!=r(t))throw TypeError(e);return+t}},function(t,e,n){"use strict";var r=n(9),i=n(44),o=n(6);t.exports=[].copyWithin||function(t,e){var n=r(this),u=o(n.length),a=i(t,u),c=i(e,u),s=arguments.length>2?arguments[2]:void 0,f=Math.min((void 0===s?u:i(s,u))-c,u-a),l=1;for(c<a&&a<c+f&&(l=-1,c+=f-1,a+=f-1);f-- >0;)c in n?n[a]=n[c]:delete n[a],a+=l,c+=l;return n}},function(t,e,n){var r=n(37);t.exports=function(t,e){var n=[];return r(t,!1,n.push,n,e),n}},function(t,e,n){var r=n(10),i=n(9),o=n(54),u=n(6);t.exports=function(t,e,n,a,c){r(e);var s=i(t),f=o(s),l=u(s.length),h=c?l-1:0,p=c?-1:1;if(n<2)for(;;){if(h in f){a=f[h],h+=p;break}if(h+=p,c?h<0:l<=h)throw TypeError("Reduce of empty array with no initial value")}for(;c?h>=0:l>h;h+=p)h in f&&(a=e(a,f[h],h,s));return a}},function(t,e,n){"use strict";var r=n(10),i=n(4),o=n(126),u=[].slice,a={},c=function(t,e,n){if(!(e in a)){for(var r=[],i=0;i<e;i++)r[i]="a["+i+"]";a[e]=Function("F,a","return new F("+r.join(",")+")")}return a[e](t,n)};t.exports=Function.bind||function(t){var e=r(this),n=u.call(arguments,1),a=function(){var r=n.concat(u.call(arguments));return this instanceof a?c(e,r.length,r):o(e,r,t)};return i(e.prototype)&&(a.prototype=e.prototype),a}},function(t,e,n){"use strict";var r=n(8).f,i=n(38),o=n(42),u=n(21),a=n(36),c=n(37),s=n(96),f=n(129),l=n(43),h=n(7),p=n(35).fastKey,v=n(46),d=h?"_s":"size",y=function(t,e){var n,r=p(e);if("F"!==r)return t._i[r];for(n=t._f;n;n=n.n)if(n.k==e)return n};t.exports={getConstructor:function(t,e,n,s){var f=t(function(t,r){a(t,f,e,"_i"),t._t=e,t._i=i(null),t._f=void 0,t._l=void 0,t[d]=0,void 0!=r&&c(r,n,t[s],t)});return o(f.prototype,{clear:function(){for(var t=v(this,e),n=t._i,r=t._f;r;r=r.n)r.r=!0,r.p&&(r.p=r.p.n=void 0),delete n[r.i];t._f=t._l=void 0,t[d]=0},delete:function(t){var n=v(this,e),r=y(n,t);if(r){var i=r.n,o=r.p;delete n._i[r.i],r.r=!0,o&&(o.n=i),i&&(i.p=o),n._f==r&&(n._f=i),n._l==r&&(n._l=o),n[d]--}return!!r},forEach:function(t){v(this,e);for(var n,r=u(t,arguments.length>1?arguments[1]:void 0,3);n=n?n.n:this._f;)for(r(n.v,n.k,this);n&&n.r;)n=n.p},has:function(t){return!!y(v(this,e),t)}}),h&&r(f.prototype,"size",{get:function(){return v(this,e)[d]}}),f},def:function(t,e,n){var r,i,o=y(t,e);return o?o.v=n:(t._l=o={i:i=p(e,!0),k:e,v:n,p:r=t._l,n:void 0,r:!1},t._f||(t._f=o),r&&(r.n=o),t[d]++,"F"!==i&&(t._i[i]=o)),t},getEntry:y,setStrong:function(t,e,n){s(t,e,function(t,n){this._t=v(t,e),this._k=n,this._l=void 0},function(){for(var t=this,e=t._k,n=t._l;n&&n.r;)n=n.p;return t._t&&(t._l=n=n?n.n:t._t._f)?"keys"==e?f(0,n.k):"values"==e?f(0,n.v):f(0,[n.k,n.v]):(t._t=void 0,f(1))},n?"entries":"values",!n,!0),l(e)}}},function(t,e,n){var r=n(47),i=n(118);t.exports=function(t){return function(){if(r(this)!=t)throw TypeError(t+"#toJSON isn't generic");return i(this)}}},function(t,e,n){"use strict";var r=n(42),i=n(35).getWeak,o=n(1),u=n(4),a=n(36),c=n(37),s=n(26),f=n(15),l=n(46),h=s(5),p=s(6),v=0,d=function(t){return t._l||(t._l=new y)},y=function(){this.a=[]},g=function(t,e){return h(t.a,function(t){return t[0]===e})};y.prototype={get:function(t){var e=g(this,t);if(e)return e[1]},has:function(t){return!!g(this,t)},set:function(t,e){var n=g(this,t);n?n[1]=e:this.a.push([t,e])},delete:function(t){var e=p(this.a,function(e){return e[0]===t});return~e&&this.a.splice(e,1),!!~e}},t.exports={getConstructor:function(t,e,n,o){var s=t(function(t,r){a(t,s,e,"_i"),t._t=e,t._i=v++,t._l=void 0,void 0!=r&&c(r,n,t[o],t)});return r(s.prototype,{delete:function(t){if(!u(t))return!1;var n=i(t);return!0===n?d(l(this,e)).delete(t):n&&f(n,this._i)&&delete n[this._i]},has:function(t){if(!u(t))return!1;var n=i(t);return!0===n?d(l(this,e)).has(t):n&&f(n,this._i)}}),s},def:function(t,e,n){var r=i(o(e),!0);return!0===r?d(t).set(e,n):r[t._i]=n,t},ufstore:d}},function(t,e,n){"use strict";function r(t,e,n,s,f,l,h,p){for(var v,d,y=f,g=0,m=!!h&&a(h,p,3);g<s;){if(g in n){if(v=m?m(n[g],g,e):n[g],d=!1,o(v)&&(d=v[c],d=void 0!==d?!!d:i(v)),d&&l>0)y=r(t,e,v,u(v.length),y,l-1)-1;else{if(y>=9007199254740991)throw TypeError();t[y]=v}y++}g++}return y}var i=n(64),o=n(4),u=n(6),a=n(21),c=n(5)("isConcatSpreadable");t.exports=r},function(t,e,n){t.exports=!n(7)&&!n(3)(function(){return 7!=Object.defineProperty(n(89)("div"),"a",{get:function(){return 7}}).a})},function(t,e){t.exports=function(t,e,n){var r=void 0===n;switch(e.length){case 0:return r?t():t.call(n);case 1:return r?t(e[0]):t.call(n,e[0]);case 2:return r?t(e[0],e[1]):t.call(n,e[0],e[1]);case 3:return r?t(e[0],e[1],e[2]):t.call(n,e[0],e[1],e[2]);case 4:return r?t(e[0],e[1],e[2],e[3]):t.call(n,e[0],e[1],e[2],e[3])}return t.apply(n,e)}},function(t,e,n){var r=n(4),i=Math.floor;t.exports=function(t){return!r(t)&&isFinite(t)&&i(t)===t}},function(t,e,n){var r=n(1);t.exports=function(t,e,n,i){try{return i?e(r(n)[0],n[1]):e(n)}catch(e){var o=t.return;throw void 0!==o&&r(o.call(t)),e}}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e,n){var r=n(98),i=Math.pow,o=i(2,-52),u=i(2,-23),a=i(2,127)*(2-u),c=i(2,-126),s=function(t){return t+1/o-1/o};t.exports=Math.fround||function(t){var e,n,i=Math.abs(t),f=r(t);return i<c?f*s(i/c/u)*c*u:(e=(1+u/o)*i,n=e-(e-i),n>a||n!=n?f*(1/0):f*n)}},function(t,e){t.exports=Math.log1p||function(t){return(t=+t)>-1e-8&&t<1e-8?t-t*t/2:Math.log(1+t)}},function(t,e){t.exports=Math.scale||function(t,e,n,r,i){return 0===arguments.length||t!=t||e!=e||n!=n||r!=r||i!=i?NaN:t===1/0||t===-1/0?t:(t-e)*(i-r)/(n-e)+r}},function(t,e,n){"use strict";var r=n(7),i=n(40),o=n(68),u=n(55),a=n(9),c=n(54),s=Object.assign;t.exports=!s||n(3)(function(){var t={},e={},n=Symbol(),r="abcdefghijklmnopqrst";return t[n]=7,r.split("").forEach(function(t){e[t]=t}),7!=s({},t)[n]||Object.keys(s({},e)).join("")!=r})?function(t,e){for(var n=a(t),s=arguments.length,f=1,l=o.f,h=u.f;s>f;)for(var p,v=c(arguments[f++]),d=l?i(v).concat(l(v)):i(v),y=d.length,g=0;y>g;)p=d[g++],r&&!h.call(v,p)||(n[p]=v[p]);return n}:s},function(t,e,n){var r=n(8),i=n(1),o=n(40);t.exports=n(7)?Object.defineProperties:function(t,e){i(t);for(var n,u=o(e),a=u.length,c=0;a>c;)r.f(t,n=u[c++],e[n]);return t}},function(t,e,n){var r=n(18),i=n(39).f,o={}.toString,u="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],a=function(t){try{return i(t)}catch(t){return u.slice()}};t.exports.f=function(t){return u&&"[object Window]"==o.call(t)?a(t):i(r(t))}},function(t,e,n){var r=n(15),i=n(18),o=n(61)(!1),u=n(103)("IE_PROTO");t.exports=function(t,e){var n,a=i(t),c=0,s=[];for(n in a)n!=u&&r(a,n)&&s.push(n);for(;e.length>c;)r(a,n=e[c++])&&(~o(s,n)||s.push(n));return s}},function(t,e,n){var r=n(7),i=n(40),o=n(18),u=n(55).f;t.exports=function(t){return function(e){for(var n,a=o(e),c=i(a),s=c.length,f=0,l=[];s>f;)n=c[f++],r&&!u.call(a,n)||l.push(t?[n,a[n]]:a[n]);return l}}},function(t,e,n){var r=n(39),i=n(68),o=n(1),u=n(2).Reflect;t.exports=u&&u.ownKeys||function(t){var e=r.f(o(t)),n=i.f;return n?e.concat(n(t)):e}},function(t,e,n){var r=n(2).parseFloat,i=n(50).trim;t.exports=1/r(n(106)+"-0")!=-1/0?function(t){var e=i(String(t),3),n=r(e);return 0===n&&"-"==e.charAt(0)?-0:n}:r},function(t,e,n){var r=n(2).parseInt,i=n(50).trim,o=n(106),u=/^[-+]?0[xX]/;t.exports=8!==r(o+"08")||22!==r(o+"0x16")?function(t,e){var n=i(String(t),3);return r(n,e>>>0||(u.test(n)?16:10))}:r},function(t,e){t.exports=function(t){try{return{e:!1,v:t()}}catch(t){return{e:!0,v:t}}}},function(t,e,n){var r=n(1),i=n(4),o=n(100);t.exports=function(t,e){if(r(t),i(e)&&e.constructor===t)return e;var n=o.f(t);return(0,n.resolve)(e),n.promise}},function(t,e){t.exports=Object.is||function(t,e){return t===e?0!==t||1/t==1/e:t!=t&&e!=e}},function(t,e,n){var r=n(6),i=n(105),o=n(27);t.exports=function(t,e,n,u){var a=String(o(t)),c=a.length,s=void 0===n?" ":String(n),f=r(e);if(f<=c||""==s)return a;var l=f-c,h=i.call(s,Math.ceil(l/s.length));return h.length>l&&(h=h.slice(0,l)),u?h+a:a+h}},function(t,e,n){var r=n(23),i=n(6);t.exports=function(t){if(void 0===t)return 0;var e=r(t),n=i(e);if(e!==n)throw RangeError("Wrong length!");return n}},function(t,e,n){e.f=n(5)},function(t,e,n){"use strict";var r=n(121),i=n(46);t.exports=n(62)("Map",function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},{get:function(t){var e=r.getEntry(i(this,"Map"),t);return e&&e.v},set:function(t,e){return r.def(i(this,"Map"),0===t?0:t,e)}},r,!0)},function(t,e,n){"use strict";var r=n(101);n(0)({target:"RegExp",proto:!0,forced:r!==/./.exec},{exec:r})},function(t,e,n){n(7)&&"g"!=/./g.flags&&n(8).f(RegExp.prototype,"flags",{configurable:!0,get:n(53)})},function(t,e,n){"use strict";var r=n(121),i=n(46);t.exports=n(62)("Set",function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},{add:function(t){return r.def(i(this,"Set"),t=0===t?0:t,t)}},r)},function(t,e,n){"use strict";var r,i=n(2),o=n(26)(0),u=n(13),a=n(35),c=n(133),s=n(123),f=n(4),l=n(46),h=n(46),p=!i.ActiveXObject&&"ActiveXObject"in i,v=a.getWeak,d=Object.isExtensible,y=s.ufstore,g=function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},m={get:function(t){if(f(t)){var e=v(t);return!0===e?y(l(this,"WeakMap")).get(t):e?e[this._i]:void 0}},set:function(t,e){return s.def(l(this,"WeakMap"),t,e)}},b=t.exports=n(62)("WeakMap",g,m,s,!0,!0);h&&p&&(r=s.getConstructor(g,"WeakMap"),c(r.prototype,m),a.NEED=!0,o(["delete","has","get","set"],function(t){var e=b.prototype,n=e[t];u(e,t,function(e,i){if(f(e)&&!d(e)){this._f||(this._f=new r);var o=this._f[t](e,i);return"set"==t?this:o}return n.call(this,e,i)})}))},function(t,e){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(t){"object"==typeof window&&(n=window)}t.exports=n},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0}),e.ui=e.model=e.bnfdisplay=void 0;var i=n(155),o=r(i),u=n(112),a=r(u),c=n(113),s=r(c),f=n(75),l=r(f),h=n(24),p=r(h),v=n(25),d=r(v),y=n(76),g=r(y),m=n(77),b=r(m),x=n(58),w=r(x),_=n(78),E=r(_),S=n(79),O=r(S),k=n(114),C=r(k),R=n(80),P=r(R),L=n(81),T=r(L),M=n(59),j=r(M),I=n(60),N=r(I),A=n(115),F=r(A),B=n(82),U=r(B),G=n(83),D=r(G),W=n(52),V=r(W);e.bnfdisplay={BNFDisplay:o.default},e.model={BNFToGrammar:a.default,Choice:s.default,Grammar:l.default,GrammarToBNF:p.default,GrammarToRRDiagram:d.default,Literal:g.default,Repetition:b.default,Rule:w.default,RuleReference:E.default,Sequence:O.default,SpecialSequence:C.default},e.ui={RRBreak:P.default,RRChoice:T.default,RRDiagram:j.default,RRDiagramToSVG:N.default,RRLine:F.default,RRLoop:U.default,RRSequence:D.default,RRText:V.default}},function(t,e,n){"use strict";(function(t){function e(t,e,n){t[e]||Object[r](t,e,{writable:!0,configurable:!0,value:n})}if(n(359),n(360),n(160),t._babelPolyfill)throw new Error("only one instance of babel-polyfill is allowed");t._babelPolyfill=!0;var r="defineProperty";e(String.prototype,"padLeft","".padStart),e(String.prototype,"padRight","".padEnd),"pop,reverse,shift,keys,values,entries,indexOf,every,some,forEach,map,filter,find,findIndex,includes,join,slice,concat,push,splice,unshift,sort,lastIndexOf,reduce,reduceRight,copyWithin,fill".split(",").forEach(function(t){[][t]&&e(Array,t,Function.call.bind([][t]))})}).call(e,n(152))},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),u=n(112),a=r(u),c=n(25),s=r(c),f=n(60),l=r(f),h=function(){function t(){i(this,t),this.bnfToGrammar=new a.default,this.grammarToRRDiagram=new s.default,this.grammarToRRDiagram.ruleConsideredAsLineBreak="\\",this.rrDiagramToSVG=new l.default}return o(t,[{key:"getBNFToGrammar",value:function(){return this.bnfToGrammar}},{key:"getGrammarToRRDiagram",value:function(){return this.grammarToRRDiagram}},{key:"getRRDiagramToSVG",value:function(){return this.rrDiagramToSVG}},{key:"replaceBNF",value:function(t,e){var n=Array.from(document.getElementsByClassName(t)),r=!0,i=!1,o=void 0;try{for(var u,a=n[Symbol.iterator]();!(r=(u=a.next()).done);r=!0){var c=u.value;if("pre"===c.tagName.toLowerCase()){var s=document.createElement("div"),f=c.innerHTML,l=this.bnfToGrammar.convert("a = "+f),h=l.getRules();if(1==h.length){var p=h[0],v=this.grammarToRRDiagram.convert(p),d=this.rrDiagramToSVG.convert(v),y=document.createElement("div");y.className=e,y.innerHTML=d,s.appendChild(y)}else s.appendChild(document.createTextNode("Error while loading BNF: "+f));c.parentElement.replaceChild(s,c)}}}catch(t){i=!0,o=t}finally{try{!r&&a.return&&a.return()}finally{if(i)throw o}}}}]),t}();e.default=h},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t){return t instanceof c.default&&0==t.getExpressions().length}Object.defineProperty(e,"__esModule",{value:!0});var u=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),a=n(79),c=r(a),s=n(114),f=r(s),l=n(77),h=r(l),p=n(78),v=r(p),d=n(113),y=r(d),g=n(76),m=r(g),b=n(32),x=(r(b),{RULE:"RULE",REPETITION_TOKEN:"REPETITION_TOKEN",ALTERNATION:"ALTERNATION",GROUP:"GROUP",COMMENT:"COMMENT",SPECIAL_SEQUENCE:"SPECIAL_SEQUENCE",LITERAL:"LITERAL",OPTION:"OPTION",REPETITION:"REPETITION",CHOICE:"CHOICE"}),w=function(){function t(e,n){i(this,t),this.type=e,this.text=n,this.minCount=0,this.maxCount=null,this.chunkList=null}return u(t,null,[{key:"ChunkType",get:function(){return x}}]),u(t,[{key:"getType",value:function(){return this.type}},{key:"setType",value:function(t){this.type=t}},{key:"setText",value:function(t){this.text=t}},{key:"setMinCount",value:function(t){this.minCount=t}},{key:"setMaxCount",value:function(t){this.maxCount=t}},{key:"addChunk",value:function(t){null==this.chunkList&&(this.chunkList=[]),this.chunkList.push(t)}},{key:"prune",value:function(){for(var e=!1,n=this.chunkList.length-1;n>=0;n--){var r=this.chunkList[n];switch(r.getType()){case x.REPETITION_TOKEN:if("*"===r.text){this.chunkList.splice(n,1);var i=this.chunkList[n-1],o=null;if(i.getType()==x.RULE&&(o=+i.text,isNaN(o)&&(o=null)),null!=o){var u=this.chunkList[n];if(u.getType()==x.OPTION){var a=new t(x.REPETITION);a.setMinCount(0),a.setMaxCount(o);var c=!0,s=!1,f=void 0;try{for(var l,h=u.chunkList[Symbol.iterator]();!(c=(l=h.next()).done);c=!0){var p=l.value;a.addChunk(p)}}catch(t){s=!0,f=t}finally{try{!c&&h.return&&h.return()}finally{if(s)throw f}}this.chunkList.splice(n,1),this.chunkList[n-1]=a}else{var v=new t(x.REPETITION);v.setMinCount(o),v.setMaxCount(o),v.addChunk(u),this.chunkList.splice(n,1),this.chunkList[n-1]=v}}else{var d=new t(x.REPETITION);d.setMinCount(0),d.addChunk(i),this.chunkList[n-1]=d}}else if("+"===r.text){this.chunkList.splice(n,1);var y=new t(x.REPETITION);y.setMinCount(1);var g=this.chunkList[n-1];y.addChunk(g),this.chunkList[n-1]=y}else if("?"===r.text){this.chunkList.splice(n,1);var m=new t(x.OPTION),b=this.chunkList[n-1];m.addChunk(b),this.chunkList[n-1]=m}break;case x.COMMENT:this.chunkList.splice(n,1);case x.ALTERNATION:e=!0;break;case x.GROUP:null!=r.chunkList&&(r.prune(),1==r.chunkList.length&&(this.chunkList[n]=r.chunkList[0]));break;case x.OPTION:case x.REPETITION:r.prune()}}if(e){var w=[];w.push([]);var _=!0,E=!1,S=void 0;try{for(var O,k=this.chunkList[Symbol.iterator]();!(_=(O=k.next()).done);_=!0){var C=O.value;if(C.getType()==x.ALTERNATION)w.push([]);else{w[w.length-1].push(C)}}}catch(t){E=!0,S=t}finally{try{!_&&k.return&&k.return()}finally{if(E)throw S}}var R=new t(x.CHOICE),P=!0,L=!1,T=void 0;try{for(var M,j=w[Symbol.iterator]();!(P=(M=j.next()).done);P=!0){var I=M.value;if(1==I.length)R.addChunk(I[0]);else{var N=new t(x.GROUP),A=!0,F=!1,B=void 0;try{for(var U,G=I[Symbol.iterator]();!(A=(U=G.next()).done);A=!0){var D=U.value;N.addChunk(D)}}catch(t){F=!0,B=t}finally{try{!A&&G.return&&G.return()}finally{if(F)throw B}}R.addChunk(N)}}}catch(t){L=!0,T=t}finally{try{!P&&j.return&&j.return()}finally{if(L)throw T}}this.chunkList.length=0,this.chunkList.push(R)}}},{key:"getExpression",value:function(){switch(this.type){case x.GROUP:if(null==this.chunkList)return new c.default;if(1==this.chunkList.length)return this.chunkList[0].getExpression();var e=[],n=!0,r=!1,i=void 0;try{for(var u,a=this.chunkList[Symbol.iterator]();!(n=(u=a.next()).done);n=!0){var s=u.value;e.push(s.getExpression())}}catch(t){r=!0,i=t}finally{try{!n&&a.return&&a.return()}finally{if(r)throw i}}return new c.default(e);case x.CHOICE:if(1==this.chunkList.length)return this.chunkList[0].getExpression();var l=[],p=!1,d=!0,g=!1,b=void 0;try{for(var w,_=this.chunkList[Symbol.iterator]();!(d=(w=_.next()).done);d=!0){var E=w.value,S=E.getExpression();if(S instanceof h.default){var O=S;0==O.getMinRepetitionCount()&&(S=null==O.getMaxRepetitionCount()||1!=O.getMaxRepetitionCount()?new h.default(O.getExpression(),1,O.getMaxRepetitionCount()):O.getExpression(),p=!0)}if(S instanceof y.default){var k=!0,C=!1,R=void 0;try{for(var P,L=S.getExpressions()[Symbol.iterator]();!(k=(P=L.next()).done);k=!0){var T=P.value;l.push(T)}}catch(t){C=!0,R=t}finally{try{!k&&L.return&&L.return()}finally{if(C)throw R}}}else l.push(S)}}catch(t){g=!0,b=t}finally{try{!d&&_.return&&_.return()}finally{if(g)throw b}}return!p||0!=l.length&&o(l[l.length-1])||l.push(new c.default),new y.default(l);case x.RULE:return new v.default(this.text);case x.LITERAL:return new m.default(this.text);case x.SPECIAL_SEQUENCE:return new f.default(this.text);case x.OPTION:if(1==this.chunkList.length){var M=this.chunkList[0];if(M.getType()==x.CHOICE){var j=new t(x.CHOICE),I=!0,N=!1,A=void 0;try{for(var F,B=M.chunkList[Symbol.iterator]();!(I=(F=B.next()).done);I=!0){var U=F.value;j.addChunk(U)}}catch(t){N=!0,A=t}finally{try{!I&&B.return&&B.return()}finally{if(N)throw A}}return j.addChunk(new t(x.GROUP)),j.getExpression()}return new h.default(M.getExpression(),0,1)}var G=[],D=!0,W=!1,V=void 0;try{for(var Y,X=this.chunkList[Symbol.iterator]();!(D=(Y=X.next()).done);D=!0){var q=Y.value;G.push(q.getExpression())}}catch(t){W=!0,V=t}finally{try{!D&&X.return&&X.return()}finally{if(W)throw V}}return new h.default(new c.default(G),0,1);case x.REPETITION:if(1==this.chunkList.length)return new h.default(this.chunkList[0].getExpression(),this.minCount,this.maxCount);var H=[],Q=!0,z=!1,K=void 0;try{for(var J,$=this.chunkList[Symbol.iterator]();!(Q=(J=$.next()).done);Q=!0){var Z=J.value;H.push(Z.getExpression())}}catch(t){z=!0,K=t}finally{try{!Q&&$.return&&$.return()}finally{if(z)throw K}}return new h.default(new c.default(H),this.minCount,this.maxCount)}throw"Type should not be reachable: "+this.type}},{key:"toString",value:function(){var t=""+this.type;return null!=this.text&&(t+=" ("+this.text+")"),t}}]),t}();e.default=w},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),u=n(84),a=n(158),c=r(a),s=n(159),f=r(s),l=function(){function t(){i(this,t),this.connectorList=[],this.elements=[]}return o(t,[{key:"addPathConnector",value:function(t,e,n,r,i){var o=0==this.connectorList.length?null:this.connectorList[this.connectorList.length-1];if(null!=o)if(o instanceof f.default)o.addPath(new f.default(t,e,n,r,i));else{var u=o,a=u.getX1(),c=u.getY1(),s=u.getX2(),l=u.getY2();a==s&&t==a?l==e-1?u.mergeLine(a,c,s,l+1):c==e+1&&u.mergeLine(a,c-1,s,l):c==l&&e==c&&(s==t-1?u.mergeLine(a,c,s+1,l):a==t+1&&u.mergeLine(a-1,c,s,l)),this.connectorList.push(new f.default(t,e,n,r,i))}else this.connectorList.push(new f.default(t,e,n,r,i))}},{key:"addLineConnector",value:function(t,e,n,r){var i=Math.min(t,n),o=Math.min(e,r),u=Math.max(t,n),a=Math.max(e,r),s=0==this.connectorList.length?null:this.connectorList[this.connectorList.length-1];null!=s&&s instanceof c.default&&s.mergeLine(i,o,u,a)||this.connectorList.push(new c.default(i,o,u,a))}},{key:"getConnectorElement",value:function(t){if(0==this.connectorList.length)return"";var e=null,n=!0,r=!1,i=void 0;try{for(var o,a=this.connectorList[Symbol.iterator]();!(n=(o=a.next()).done);n=!0){var c=o.value;if(null==e)if(c instanceof f.default)e=c;else{var s=c,l=s.getX1(),h=s.getY1();e=new f.default(l,h,"M"+l+(h<0?h:" "+h),l,h),e.addLine(s)}else c instanceof f.default?e.addPath(c):e.addLine(c)}}catch(t){r=!0,i=t}finally{try{!n&&a.return&&a.return()}finally{if(r)throw i}}return'<path class="'+(0,u.escapeXml)(t.cssConnectorClass)+'" d="'+e.getPath()+'"/>'}},{key:"addElement",value:function(t){this.elements.push(t)}},{key:"getElements",value:function(){return this.elements}}]),t}();e.default=l},function(t,e,n){"use strict";function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),o=function(){function t(e,n,i,o){r(this,t),this.x1=e,this.y1=n,this.x2=i,this.y2=o}return i(t,[{key:"getX1",value:function(){return this.x1}},{key:"getY1",value:function(){return this.y1}},{key:"getX2",value:function(){return this.x2}},{key:"getY2",value:function(){return this.y2}},{key:"mergeLine",value:function(t,e,n,r){if(t==n&&this.x1==this.x2&&t==this.x1){if(r>=this.y1-1&&e<=this.y2+1)return this.y1=Math.min(this.y1,e),this.y2=Math.max(this.y2,r),!0}else if(e==r&&this.y1==this.y2&&e==this.y1&&n>=this.x1-1&&t<=this.x2+1)return this.x1=Math.min(this.x1,t),this.x2=Math.max(this.x (…)
H A Drrdiagram.js.map1 {"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap 584aa1e0b3855d207932","webpack:///rrdiagram.js","webpack:///../~/core-js/modules/_export.js","webpack:///../~/core-js/modules/_an-object.js","webpack:///../~/core-js/modules/_global.js","webpack:///../~/core-js/modules/_fails.js","webpack:///../~/core-js/modules/_is-object.js","webpack:///../~/core-js/modules/_wks.js","webpack:///../~/core-js/modules/_to-length.js","webpack:///../~/core-js/modules/_descriptors.js","webpack:///../~/core-js/modules/_object-dp.js","webpack:///../~/core-js/modules/_to-object.js","webpack:///../~/core-js/modules/_a-function.js","webpack:///./ui/rrelement.js","webpack:///../~/core-js/modules/_hide.js","webpack:///../~/core-js/modules/_redefine.js","webpack:///../~/core-js/modules/_string-html.js","webpack:///../~/core-js/modules/_has.js","webpack:///../~/core-js/modules/_object-gopd.js","webpack:///../~/core-js/modules/_object-gpo.js","webpack:///../~/core-js/modules/_to-iobject.js","webpack:///../~/core-js/modules/_cof.js","webpack:///../~/core-js/modules/_core.js","webpack:///../~/core-js/modules/_ctx.js","webpack:///../~/core-js/modules/_strict-method.js","webpack:///../~/core-js/modules/_to-integer.js","webpack:///./model/grammartobnf.js","webpack:///./model/grammartorrdiagram.js","webpack:///../~/core-js/modules/_array-methods.js","webpack:///../~/core-js/modules/_defined.js","webpack:///../~/core-js/modules/_object-sap.js","webpack:///../~/core-js/modules/_to-primitive.js","webpack:///../~/core-js/modules/_metadata.js","webpack:///../~/core-js/modules/_typed-array.js","webpack:///./model/expression.js","webpack:///../~/core-js/modules/_add-to-unscopables.js","webpack:///../~/core-js/modules/_library.js","webpack:///../~/core-js/modules/_meta.js","webpack:///../~/core-js/modules/_an-instance.js","webpack:///../~/core-js/modules/_for-of.js","webpack:///../~/core-js/modules/_object-create.js","webpack:///../~/core-js/modules/_object-gopn.js","webpack:///../~/core-js/modules/_object-keys.js","webpack:///../~/core-js/modules/_property-desc.js","webpack:///../~/core-js/modules/_redefine-all.js","webpack:///../~/core-js/modules/_set-species.js","webpack:///../~/core-js/modules/_to-absolute-index.js","webpack:///../~/core-js/modules/_uid.js","webpack:///../~/core-js/modules/_validate-collection.js","webpack:///../~/core-js/modules/_classof.js","webpack:///../~/core-js/modules/_iterators.js","webpack:///../~/core-js/modules/_set-to-string-tag.js","webpack:///../~/core-js/modules/_string-trim.js","webpack:///./ui/layoutinfo.js","webpack:///./ui/rrtext.js","webpack:///../~/core-js/modules/_flags.js","webpack:///../~/core-js/modules/_iobject.js","webpack:///../~/core-js/modules/_object-pie.js","webpack:///../~/core-js/modules/_shared.js","webpack:///../~/core-js/modules/_species-constructor.js","webpack:///./model/rule.js","webpack:///./ui/rrdiagram.js","webpack:///./ui/rrdiagramtosvg.js","webpack:///../~/core-js/modules/_array-includes.js","webpack:///../~/core-js/modules/_collection.js","webpack:///../~/core-js/modules/_fix-re-wks.js","webpack:///../~/core-js/modules/_is-array.js","webpack:///../~/core-js/modules/_is-regexp.js","webpack:///../~/core-js/modules/_iter-detect.js","webpack:///../~/core-js/modules/_object-forced-pam.js","webpack:///../~/core-js/modules/_object-gops.js","webpack:///../~/core-js/modules/_regexp-exec-abstract.js","webpack:///../~/core-js/modules/_set-collection-from.js","webpack:///../~/core-js/modules/_set-collection-of.js","webpack:///../~/core-js/modules/_string-at.js","webpack:///../~/core-js/modules/_typed.js","webpack:///../~/core-js/modules/_user-agent.js","webpack:///./model/grammar.js","webpack:///./model/literal.js","webpack:///./model/repetition.js","webpack:///./model/rulereference.js","webpack:///./model/sequence.js","webpack:///./ui/rrbreak.js","webpack:///./ui/rrchoice.js","webpack:///./ui/rrloop.js","webpack:///./ui/rrsequence.js","webpack:///./utils/utils.js","webpack:///../~/core-js/modules/_advance-string-index.js","webpack:///../~/core-js/modules/_array-fill.js","webpack:///../~/core-js/modules/_array-species-create.js","webpack:///../~/core-js/modules/_create-property.js","webpack:///../~/core-js/modules/_dom-create.js","webpack:///../~/core-js/modules/_enum-bug-keys.js","webpack:///../~/core-js/modules/_fails-is-regexp.js","webpack:///../~/core-js/modules/_html.js","webpack:///../~/core-js/modules/_inherit-if-required.js","webpack:///../~/core-js/modules/_is-array-iter.js","webpack:///../~/core-js/modules/_iter-create.js","webpack:///../~/core-js/modules/_iter-define.js","webpack:///../~/core-js/modules/_math-expm1.js","webpack:///../~/core-js/modules/_math-sign.js","webpack:///../~/core-js/modules/_microtask.js","webpack:///../~/core-js/modules/_new-promise-capability.js","webpack:///../~/core-js/modules/_regexp-exec.js","webpack:///../~/core-js/modules/_set-proto.js","webpack:///../~/core-js/modules/_shared-key.js","webpack:///../~/core-js/modules/_string-context.js","webpack:///../~/core-js/modules/_string-repeat.js","webpack:///../~/core-js/modules/_string-ws.js","webpack:///../~/core-js/modules/_task.js","webpack:///../~/core-js/modules/_typed-buffer.js","webpack:///../~/core-js/modules/_wks-define.js","webpack:///../~/core-js/modules/core.get-iterator-method.js","webpack:///../~/core-js/modules/es6.array.iterator.js","webpack:///./model/bnftogrammar.js","webpack:///./model/choice.js","webpack:///./model/specialsequence.js","webpack:///./ui/rrline.js","webpack:///../~/core-js/modules/_a-number-value.js","webpack:///../~/core-js/modules/_array-copy-within.js","webpack:///../~/core-js/modules/_array-from-iterable.js","webpack:///../~/core-js/modules/_array-reduce.js","webpack:///../~/core-js/modules/_bind.js","webpack:///../~/core-js/modules/_collection-strong.js","webpack:///../~/core-js/modules/_collection-to-json.js","webpack:///../~/core-js/modules/_collection-weak.js","webpack:///../~/core-js/modules/_flatten-into-array.js","webpack:///../~/core-js/modules/_ie8-dom-define.js","webpack:///../~/core-js/modules/_invoke.js","webpack:///../~/core-js/modules/_is-integer.js","webpack:///../~/core-js/modules/_iter-call.js","webpack:///../~/core-js/modules/_iter-step.js","webpack:///../~/core-js/modules/_math-fround.js","webpack:///../~/core-js/modules/_math-log1p.js","webpack:///../~/core-js/modules/_math-scale.js","webpack:///../~/core-js/modules/_object-assign.js","webpack:///../~/core-js/modules/_object-dps.js","webpack:///../~/core-js/modules/_object-gopn-ext.js","webpack:///../~/core-js/modules/_object-keys-internal.js","webpack:///../~/core-js/modules/_object-to-array.js","webpack:///../~/core-js/modules/_own-keys.js","webpack:///../~/core-js/modules/_parse-float.js","webpack:///../~/core-js/modules/_parse-int.js","webpack:///../~/core-js/modules/_perform.js","webpack:///../~/core-js/modules/_promise-resolve.js","webpack:///../~/core-js/modules/_same-value.js","webpack:///../~/core-js/modules/_string-pad.js","webpack:///../~/core-js/modules/_to-index.js","webpack:///../~/core-js/modules/_wks-ext.js","webpack:///../~/core-js/modules/es6.map.js","webpack:///../~/core-js/modules/es6.regexp.exec.js","webpack:///../~/core-js/modules/es6.regexp.flags.js","webpack:///../~/core-js/modules/es6.set.js","webpack:///../~/core-js/modules/es6.weak-map.js","webpack:///../~/webpack/buildin/global.js","webpack:///./main.js","webpack:///../~/babel-polyfill/lib/index.js","webpack:///./bnfdisplay/BNFDisplay.js","webpack:///./model/chunk.js","webpack:///./ui/svg/svgcontent.js","webpack:///./ui/svg/svgline.js","webpack:///./ui/svg/svgpath.js","webpack:///../~/core-js/fn/regexp/escape.js","webpack:///../~/core-js/modules/_array-species-constructor.js","webpack:///../~/core-js/modules/_date-to-iso-string.js","webpack:///../~/core-js/modules/_date-to-primitive.js","webpack:///../~/core-js/modules/_enum-keys.js","webpack:///../~/core-js/modules/_function-to-string.js","webpack:///../~/core-js/modules/_replacer.js","webpack:///../~/core-js/modules/core.regexp.escape.js","webpack:///../~/core-js/modules/es6.array.copy-within.js","webpack:///../~/core-js/modules/es6.array.every.js","webpack:///../~/core-js/modules/es6.array.fill.js","webpack:///../~/core-js/modules/es6.array.filter.js","webpack:///../~/core-js/modules/es6.array.find-index.js","webpack:///../~/core-js/modules/es6.array.find.js","webpack:///../~/core-js/modules/es6.array.for-each.js","webpack:///../~/core-js/modules/es6.array.from.js","webpack:///../~/core-js/modules/es6.array.index-of.js","webpack:///../~/core-js/modules/es6.array.is-array.js","webpack:///../~/core-js/modules/es6.array.join.js","webpack:///../~/core-js/modules/es6.array.last-index-of.js","webpack:///../~/core-js/modules/es6.array.map.js","webpack:///../~/core-js/modules/es6.array.of.js","webpack:///../~/core-js/modules/es6.array.reduce-right.js","webpack:///../~/core-js/modules/es6.array.reduce.js","webpack:///../~/core-js/modules/es6.array.slice.js","webpack:///../~/core-js/modules/es6.array.some.js","webpack:///../~/core-js/modules/es6.array.sort.js","webpack:///../~/core-js/modules/es6.array.species.js","webpack:///../~/core-js/modules/es6.date.now.js","webpack:///../~/core-js/modules/es6.date.to-iso-string.js","webpack:///../~/core-js/modules/es6.date.to-json.js","webpack:///../~/core-js/modules/es6.date.to-primitive.js","webpack:///../~/core-js/modules/es6.date.to-string.js","webpack:///../~/core-js/modules/es6.function.bind.js","webpack:///../~/core-js/modules/es6.function.has-instance.js","webpack:///../~/core-js/modules/es6.function.name.js","webpack:///../~/core-js/modules/es6.math.acosh.js","webpack:///../~/core-js/modules/es6.math.asinh.js","webpack:///../~/core-js/modules/es6.math.atanh.js","webpack:///../~/core-js/modules/es6.math.cbrt.js","webpack:///../~/core-js/modules/es6.math.clz32.js","webpack:///../~/core-js/modules/es6.math.cosh.js","webpack:///../~/core-js/modules/es6.math.expm1.js","webpack:///../~/core-js/modules/es6.math.fround.js","webpack:///../~/core-js/modules/es6.math.hypot.js","webpack:///../~/core-js/modules/es6.math.imul.js","webpack:///../~/core-js/modules/es6.math.log10.js","webpack:///../~/core-js/modules/es6.math.log1p.js","webpack:///../~/core-js/modules/es6.math.log2.js","webpack:///../~/core-js/modules/es6.math.sign.js","webpack:///../~/core-js/modules/es6.math.sinh.js","webpack:///../~/core-js/modules/es6.math.tanh.js","webpack:///../~/core-js/modules/es6.math.trunc.js","webpack:///../~/core-js/modules/es6.number.constructor.js","webpack:///../~/core-js/modules/es6.number.epsilon.js","webpack:///../~/core-js/modules/es6.number.is-finite.js","webpack:///../~/core-js/modules/es6.number.is-integer.js","webpack:///../~/core-js/modules/es6.number.is-nan.js","webpack:///../~/core-js/modules/es6.number.is-safe-integer.js","webpack:///../~/core-js/modules/es6.number.max-safe-integer.js","webpack:///../~/core-js/modules/es6.number.min-safe-integer.js","webpack:///../~/core-js/modules/es6.number.parse-float.js","webpack:///../~/core-js/modules/es6.number.parse-int.js","webpack:///../~/core-js/modules/es6.number.to-fixed.js","webpack:///../~/core-js/modules/es6.number.to-precision.js","webpack:///../~/core-js/modules/es6.object.assign.js","webpack:///../~/core-js/modules/es6.object.create.js","webpack:///../~/core-js/modules/es6.object.define-properties.js","webpack:///../~/core-js/modules/es6.object.define-property.js","webpack:///../~/core-js/modules/es6.object.freeze.js","webpack:///../~/core-js/modules/es6.object.get-own-property-descriptor.js","webpack:///../~/core-js/modules/es6.object.get-own-property-names.js","webpack:///../~/core-js/modules/es6.object.get-prototype-of.js","webpack:///../~/core-js/modules/es6.object.is-extensible.js","webpack:///../~/core-js/modules/es6.object.is-frozen.js","webpack:///../~/core-js/modules/es6.object.is-sealed.js","webpack:///../~/core-js/modules/es6.object.is.js","webpack:///../~/core-js/modules/es6.object.keys.js","webpack:///../~/core-js/modules/es6.object.prevent-extensions.js","webpack:///../~/core-js/modules/es6.object.seal.js","webpack:///../~/core-js/modules/es6.object.set-prototype-of.js","webpack:///../~/core-js/modules/es6.object.to-string.js","webpack:///../~/core-js/modules/es6.parse-float.js","webpack:///../~/core-js/modules/es6.parse-int.js","webpack:///../~/core-js/modules/es6.promise.js","webpack:///../~/core-js/modules/es6.reflect.apply.js","webpack:///../~/core-js/modules/es6.reflect.construct.js","webpack:///../~/core-js/modules/es6.reflect.define-property.js","webpack:///../~/core-js/modules/es6.reflect.delete-property.js","webpack:///../~/core-js/modules/es6.reflect.enumerate.js","webpack:///../~/core-js/modules/es6.reflect.get-own-property-descriptor.js","webpack:///../~/core-js/modules/es6.reflect.get-prototype-of.js","webpack:///../~/core-js/modules/es6.reflect.get.js","webpack:///../~/core-js/modules/es6.reflect.has.js","webpack:///../~/core-js/modules/es6.reflect.is-extensible.js","webpack:///../~/core-js/modules/es6.reflect.own-keys.js","webpack:///../~/core-js/modules/es6.reflect.prevent-extensions.js","webpack:///../~/core-js/modules/es6.reflect.set-prototype-of.js","webpack:///../~/core-js/modules/es6.reflect.set.js","webpack:///../~/core-js/modules/es6.regexp.constructor.js","webpack:///../~/core-js/modules/es6.regexp.match.js","webpack:///../~/core-js/modules/es6.regexp.replace.js","webpack:///../~/core-js/modules/es6.regexp.search.js","webpack:///../~/core-js/modules/es6.regexp.split.js","webpack:///../~/core-js/modules/es6.regexp.to-string.js","webpack:///../~/core-js/modules/es6.string.anchor.js","webpack:///../~/core-js/modules/es6.string.big.js","webpack:///../~/core-js/modules/es6.string.blink.js","webpack:///../~/core-js/modules/es6.string.bold.js","webpack:///../~/core-js/modules/es6.string.code-point-at.js","webpack:///../~/core-js/modules/es6.string.ends-with.js","webpack:///../~/core-js/modules/es6.string.fixed.js","webpack:///../~/core-js/modules/es6.string.fontcolor.js","webpack:///../~/core-js/modules/es6.string.fontsize.js","webpack:///../~/core-js/modules/es6.string.from-code-point.js","webpack:///../~/core-js/modules/es6.string.includes.js","webpack:///../~/core-js/modules/es6.string.italics.js","webpack:///../~/core-js/modules/es6.string.iterator.js","webpack:///../~/core-js/modules/es6.string.link.js","webpack:///../~/core-js/modules/es6.string.raw.js","webpack:///../~/core-js/modules/es6.string.repeat.js","webpack:///../~/core-js/modules/es6.string.small.js","webpack:///../~/core-js/modules/es6.string.starts-with.js","webpack:///../~/core-js/modules/es6.string.strike.js","webpack:///../~/core-js/modules/es6.string.sub.js","webpack:///../~/core-js/modules/es6.string.sup.js","webpack:///../~/core-js/modules/es6.string.trim.js","webpack:///../~/core-js/modules/es6.symbol.js","webpack:///../~/core-js/modules/es6.typed.array-buffer.js","webpack:///../~/core-js/modules/es6.typed.data-view.js","webpack:///../~/core-js/modules/es6.typed.float32-array.js","webpack:///../~/core-js/modules/es6.typed.float64-array.js","webpack:///../~/core-js/modules/es6.typed.int16-array.js","webpack:///../~/core-js/modules/es6.typed.int32-array.js","webpack:///../~/core-js/modules/es6.typed.int8-array.js","webpack:///../~/core-js/modules/es6.typed.uint16-array.js","webpack:///../~/core-js/modules/es6.typed.uint32-array.js","webpack:///../~/core-js/modules/es6.typed.uint8-array.js","webpack:///../~/core-js/modules/es6.typed.uint8-clamped-array.js","webpack:///../~/core-js/modules/es6.weak-set.js","webpack:///../~/core-js/modules/es7.array.flat-map.js","webpack:///../~/core-js/modules/es7.array.flatten.js","webpack:///../~/core-js/modules/es7.array.includes.js","webpack:///../~/core-js/modules/es7.asap.js","webpack:///../~/core-js/modules/es7.error.is-error.js","webpack:///../~/core-js/modules/es7.global.js","webpack:///../~/core-js/modules/es7.map.from.js","webpack:///../~/core-js/modules/es7.map.of.js","webpack:///../~/core-js/modules/es7.map.to-json.js","webpack:///../~/core-js/modules/es7.math.clamp.js","webpack:///../~/core-js/modules/es7.math.deg-per-rad.js","webpack:///../~/core-js/modules/es7.math.degrees.js","webpack:///../~/core-js/modules/es7.math.fscale.js","webpack:///../~/core-js/modules/es7.math.iaddh.js","webpack:///../~/core-js/modules/es7.math.imulh.js","webpack:///../~/core-js/modules/es7.math.isubh.js","webpack:///../~/core-js/modules/es7.math.rad-per-deg.js","webpack:///../~/core-js/modules/es7.math.radians.js","webpack:///../~/core-js/modules/es7.math.scale.js","webpack:///../~/core-js/modules/es7.math.signbit.js","webpack:///../~/core-js/modules/es7.math.umulh.js","webpack:///../~/core-js/modules/es7.object.define-getter.js","webpack:///../~/core-js/modules/es7.object.define-setter.js","webpack:///../~/core-js/modules/es7.object.entries.js","webpack:///../~/core-js/modules/es7.object.get-own-property-descriptors.js","webpack:///../~/core-js/modules/es7.object.lookup-getter.js","webpack:///../~/core-js/modules/es7.object.lookup-setter.js","webpack:///../~/core-js/modules/es7.object.values.js","webpack:///../~/core-js/modules/es7.observable.js","webpack:///../~/core-js/modules/es7.promise.finally.js","webpack:///../~/core-js/modules/es7.promise.try.js","webpack:///../~/core-js/modules/es7.reflect.define-metadata.js","webpack:///../~/core-js/modules/es7.reflect.delete-metadata.js","webpack:///../~/core-js/modules/es7.reflect.get-metadata-keys.js","webpack:///../~/core-js/modules/es7.reflect.get-metadata.js","webpack:///../~/core-js/modules/es7.reflect.get-own-metadata-keys.js","webpack:///../~/core-js/modules/es7.reflect.get-own-metadata.js","webpack:///../~/core-js/modules/es7.reflect.has-metadata.js","webpack:///../~/core-js/modules/es7.reflect.has-own-metadata.js","webpack:///../~/core-js/modules/es7.reflect.metadata.js","webpack:///../~/core-js/modules/es7.set.from.js","webpack:///../~/core-js/modules/es7.set.of.js","webpack:///../~/core-js/modules/es7.set.to-json.js","webpack:///../~/core-js/modules/es7.string.at.js","webpack:///../~/core-js/modules/es7.string.match-all.js","webpack:///../~/core-js/modules/es7.string.pad-end.js","webpack:///../~/core-js/modules/es7.string.pad-start.js","webpack:///../~/core-js/modules/es7.string.trim-left.js","webpack:///../~/core-js/modules/es7.string.trim-right.js","webpack:///../~/core-js/modules/es7.symbol.async-iterator.js","webpack:///../~/core-js/modules/es7.symbol.observable.js","webpack:///../~/core-js/modules/es7.system.global.js","webpack:///../~/core-js/modules/es7.weak-map.from.js","webpack:///../~/core-js/modules/es7.weak-map.of.js","webpack:///../~/core-js/modules/es7.weak-set.from.js","webpack:///../~/core-js/modules/es7.weak-set.of.js","webpack:///../~/core-js/modules/web.dom.iterable.js","webpack:///../~/core-js/modules/web.immediate.js","webpack:///../~/core-js/modules/web.timers.js","webpack:///../~/core-js/shim.js","webpack:///../~/regenerator-runtime/runtime.js"],"names":["root","factory","exports","module","define","amd","this","__webpack_require__","moduleId","installedModules","i","l","modules","call","m","c","value","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","global","core","hide","redefine","ctx","$export","type","source","key","own","out","exp","IS_FORCED","F","IS_GLOBAL","G","IS_STATIC","S","IS_PROTO","P","IS_BIND","B","target","expProto","undefined","Function","U","W","R","isObject","it","TypeError","window","Math","self","__g","exec","e","store","uid","Symbol","USE_SYMBOL","toInteger","min","a","anObject","IE8_DOM_DEFINE","toPrimitive","dP","f","O","Attributes","defined","_classCallCheck","instance","Constructor","_createClass","defineProperties","props","length","descriptor","writable","protoProps","staticProps","RRElement","layoutInfo","default","createDesc","has","SRC","$toString","TPL","split","inspectSource","val","safe","isFunction","join","String","fails","quot","createHTML","string","tag","attribute","p1","replace","NAME","test","toLowerCase","pIE","toIObject","gOPD","getOwnPropertyDescriptor","toObject","IE_PROTO","ObjectProto","getPrototypeOf","constructor","IObject","toString","slice","version","__e","aFunction","fn","that","b","apply","arguments","method","arg","ceil","floor","isNaN","RuleDefinitionSign","obj","_grammar","EQUAL","COLON_EQUAL","COLON_COLON_EQUAL","LiteralDefinitionSign","QUOTE","DOUBLE_QUOTE","GrammarToBNF","ruleDefinitionSign","literalDefinitionSign","isCommaSeparator","isUsingMultiplicationTokens","ruleConsideredAsLineBreak","grammar","toBNF","_interopRequireDefault","_rule","GrammarToRRDiagram","_rrdiagram","ruleLinkProvider","ruleName","rule","toRRDiagram","toLength","asc","TYPE","$create","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","create","$this","callbackfn","res","index","result","push","KEY","valueOf","Map","shared","getOrCreateMetadataMap","targetKey","targetMetadata","set","keyMetadata","ordinaryHasOwnMetadata","MetadataKey","metadataMap","ordinaryGetOwnMetadata","ordinaryDefineOwnMetadata","MetadataValue","ordinaryOwnMetadataKeys","keys","forEach","_","toMetaKey","map","LIBRARY","$typed","$buffer","anInstance","propertyDesc","redefineAll","toIndex","toAbsoluteIndex","classof","isArrayIter","gOPN","getIterFn","wks","createArrayMethod","createArrayIncludes","speciesConstructor","ArrayIterators","Iterators","$iterDetect","setSpecies","arrayFill","arrayCopyWithin","$DP","$GOPD","RangeError","Uint8Array","ArrayProto","Array","$ArrayBuffer","ArrayBuffer","$DataView","DataView","arrayForEach","arrayFilter","arraySome","arrayEvery","arrayFind","arrayFindIndex","arrayIncludes","arrayIndexOf","arrayValues","values","arrayKeys","arrayEntries","entries","arrayLastIndexOf","lastIndexOf","arrayReduce","reduce","arrayReduceRight","reduceRight","arrayJoin","arraySort","sort","arraySlice","arrayToString","arrayToLocaleString","toLocaleString","ITERATOR","TAG","TYPED_CONSTRUCTOR","DEF_CONSTRUCTOR","ALL_CONSTRUCTORS","CONSTR","TYPED_ARRAY","TYPED","VIEW","$map","allocate","LITTLE_ENDIAN","Uint16Array","buffer","FORCED_SET","toOffset","BYTES","offset","validate","C","speciesFromList","list","fromList","addGetter","internal","_d","$from","step","iterator","aLen","mapfn","mapping","iterFn","next","done","$of","TO_LOCALE_BUG","$toLocaleString","proto","copyWithin","start","every","fill","filter","find","predicate","findIndex","indexOf","searchElement","includes","separator","reverse","middle","some","comparefn","subarray","begin","end","$begin","byteOffset","BYTES_PER_ELEMENT","$slice","$set","arrayLike","src","len","$iterators","isTAIndex","$getDesc","$setDesc","desc","$TypedArrayPrototype$","wrapper","CLAMPED","GETTER","SETTER","TypedArray","Base","TAC","FORCED","ABV","TypedArrayPrototype","data","v","setter","round","addElement","$offset","$length","byteLength","klass","$len","iter","concat","$nativeIterator","CORRECT_ITER_NAME","$iterator","of","from","_grammartorrdiagram","_grammartobnf","_rrelement2","_rrelement","Expression","grammarToRRDiagram","grammarToBNF","sb","isNested","UNSCOPABLES","META","setDesc","id","isExtensible","FREEZE","preventExtensions","setMeta","w","fastKey","getWeak","onFreeze","meta","NEED","forbiddenField","BREAK","RETURN","iterable","dPs","enumBugKeys","Empty","createDict","iframeDocument","iframe","style","display","appendChild","contentWindow","document","open","write","lt","close","Properties","$keys","hiddenKeys","getOwnPropertyNames","bitmap","DESCRIPTORS","SPECIES","max","px","random","_t","cof","ARG","tryGet","T","callee","def","stat","spaces","space","non","ltrim","RegExp","rtrim","exporter","ALIAS","FORCE","trim","LayoutInfo","width","height","connectorOffset","_possibleConstructorReturn","ReferenceError","_inherits","subClass","superClass","setPrototypeOf","__proto__","_rrdiagramtosvg2","_rrdiagramtosvg","_layoutinfo2","_layoutinfo","Type","LITERAL","RULE","SPECIAL_SEQUENCE","RRText","text","link","fontInfo","_RRElement","rrDiagramToSVG","insets","top","left","bottom","right","cssTextClass","cssRuleTextClass","cssLiteralTextClass","cssSpecialSequenceTextClass","getFontInfo","textWidth","fontYOffset","descent","setLayoutInfo","xOffset","yOffset","svgContent","getLayoutInfo","getWidth","getHeight","escapeXml","cssClass","shape","cssRuleClass","ruleShape","cssLiteralClass","literalShape","cssSpecialSequenceClass","specialSequenceShape","RRDiagramToSVG","BoxShape","RECTANGLE","ROUNDED_RECTANGLE","rx","HEXAGON","getConnectorOffset","addLineConnector","textHeight","textXOffset","textYOffset","ignoreCase","multiline","unicode","sticky","propertyIsEnumerable","mode","copyright","D","_rrdiagram2","_grammartobnf2","_expression","Rule","expression","originalExpressionText","RRDiagram","toRRElement","_rrsequence2","_rrsequence","_svgcontent2","_svgcontent","_rrbreak2","_rrbreak","rrElement","rrElementList","RRSequence","cursorElementList","getRRElements","element","RRBreak","rrElement_","computeLayoutInfo","SvgContent","layoutInfo2","connectorOffset2","width2","height2","y1","toSVG","connectorElement","getConnectorElement","elements","getElements","_rrtext","cssConnectorClass","cssLoopCardinalitiesTextClass","rrDiagram","IS_INCLUDES","el","fromIndex","forOf","setToStringTag","inheritIfRequired","methods","common","IS_WEAK","ADDER","fixMethod","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","clear","getConstructor","setStrong","regexpExec","REPLACE_SUPPORTS_NAMED_GROUPS","re","groups","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","nativeRegExpMethod","fns","nativeMethod","regexp","str","arg2","forceStringMethod","strfn","rxfn","isArray","MATCH","isRegExp","SAFE_CLOSING","riter","skipClosing","arr","K","__defineSetter__","getOwnPropertySymbols","builtinExec","COLLECTION","A","cb","mapFn","nextItem","TO_STRING","pos","charCodeAt","charAt","Typed","TypedArrayConstructors","navigator","userAgent","Grammar","rules","_expression2","_rrtext2","Literal","_Expression","_rrchoice2","_rrchoice","_rrline2","_rrline","_rrloop2","_rrloop","Repetition","minRepetitionCount","maxRepetitionCount","RRChoice","RRLoop","RRLine","equals","RuleReference","_rulereference2","_rulereference","_repetition2","_repetition","_literal2","_literal","Sequence","expressions","repetition","repetitionExpression","getExpression","subExpressions","getExpressions","getMaxRepetitionCount","getMinRepetitionCount","ruleLink","getRuleName","rrElements","x1","x2","xOffset2","y2","yOffset2","addPathConnector","loopElement","IllegalArgumentException","cardinalitiesText","cardinalitiesWidth","layoutInfo1","width1","maxWidth","loopOffset","loopWidth","loopPathStartX","aboveConnector","belowConnector","widthOffset","unsafe","fontCssClass","container","body","testDiv","createElement","className","computedStyle","getComputedStyle","fontSize","getPropertyValue","fontFamily","removeChild","parent","image","textNode","createTextNode","offsetHeight","offsetWidth","forceWidth","cssText","offsetTop","at","endPos","original","$defineProperty","is","documentElement","IteratorPrototype","$iterCreate","BUGGY","returnThis","DEFAULT","IS_SET","getMethod","kind","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","$expm1","expm1","x","sign","macrotask","Observer","MutationObserver","WebKitMutationObserver","process","Promise","isNode","head","last","notify","flush","domain","exit","enter","nextTick","standalone","resolve","promise","then","toggle","node","observe","characterData","task","PromiseCapability","reject","$$resolve","$$reject","regexpFlags","nativeExec","nativeReplace","patchedExec","UPDATES_LAST_INDEX_WRONG","re1","re2","NPCG_INCLUDED","lastIndex","reCopy","match","check","buggy","searchString","count","Infinity","defer","channel","port","invoke","html","cel","setTask","setImmediate","clearTask","clearImmediate","MessageChannel","Dispatch","counter","queue","run","listener","event","args","now","port2","port1","onmessage","postMessage","addEventListener","importScripts","setTimeout","packIEEE754","mLen","nBytes","eLen","eMax","eBias","rt","pow","abs","log","LN2","unpackIEEE754","nBits","NaN","unpackI32","bytes","packI8","packI16","packI32","packF64","packF32","PROTOTYPE","view","isLittleEndian","numIndex","intIndex","$LENGTH","WRONG_INDEX","$BUFFER","_b","$OFFSET","pack","conversion","BaseBuffer","ArrayBufferProto","j","$setInt8","setInt8","getInt8","setUint8","bufferLength","getUint8","getInt16","getUint16","getInt32","getUint32","getFloat32","getFloat64","setInt16","setUint16","setInt32","setUint32","setFloat32","setFloat64","wksExt","$Symbol","getIteratorMethod","addToUnscopables","iterated","_i","_k","Arguments","createRule","chunk","prune","loadExpression","parentChunk","readNext","stopChar","expressionTextSB","lastChar","isFirst","isInSpecialGroup","specialGroupChar","isLiteral","getType","Chunk","ChunkType","setText","GROUP","setType","COMMENT","comment","content","addChunk","ALTERNATION","REPETITION_TOKEN","literalChunk","subExpressionText","groupChunk","optionChunk","OPTION","repetitionChunk","REPETITION","setMinCount","_chunk2","_chunk","_rule2","_grammar2","BNFToGrammar","char","ruleList","expressionText","endsWith","c2","_sequence2","_sequence","Choice","expressionList","hasNoop","SpecialSequence","msg","to","inc","memo","isRight","factories","construct","bind","partArgs","bound","$iterDefine","SIZE","getEntry","entry","_f","k","_l","r","prev","$has","uncaughtFrozenStore","UncaughtFrozenStore","findUncaughtFrozen","splice","ufstore","flattenIntoArray","sourceLen","depth","mapper","thisArg","spreadable","targetIndex","sourceIndex","IS_CONCAT_SPREADABLE","un","isFinite","ret","EPSILON","EPSILON32","MAX32","MIN32","roundTiesToEven","fround","$abs","$sign","log1p","scale","inLow","inHigh","outLow","outHigh","getKeys","gOPS","$assign","assign","getSymbols","isEnum","windowNames","getWindowNames","names","isEntries","Reflect","ownKeys","$parseFloat","parseFloat","$trim","$parseInt","parseInt","ws","hex","radix","newPromiseCapability","promiseCapability","y","repeat","maxLength","fillString","stringLength","fillStr","intMaxLength","fillLen","stringFiller","number","strong","forced","flags","add","InternalMap","each","weak","NATIVE_WEAK_MAP","IS_IE11","ActiveXObject","$WeakMap","g","eval","ui","model","bnfdisplay","_BNFDisplay2","_BNFDisplay","_bnftogrammar2","_bnftogrammar","_choice2","_choice","_grammartorrdiagram2","_specialsequence2","_specialsequence","BNFDisplay","DEFINE_PROPERTY","_babelPolyfill","Error","padStart","padEnd","bnfToGrammar","newClassName","getElementsByClassName","tagName","newElement","bnf","innerHTML","convert","getRules","svg","svgContainer","parentElement","replaceChild","isNoop","CHOICE","minCount","maxCount","chunkList","hasAlternation","previousChunk","multiplier","nextChunk","newChunk","setMaxCount","alternationSequenceList","choiceChunk","subList","hasLine","subChunk","cChunk","_svgline2","_svgline","_svgpath2","_svgpath","connectorList","path","SvgPath","addPath","svgLine","x1_","getX1","y1_","getY1","x2_","getX2","y2_","getY2","mergeLine","SvgLine","path0","connector","addLine","getPath","svgline","startX","startY","endX","endY","pathSB","svgPath","escape","getTime","Date","$toISOString","toISOString","lz","num","getUTCFullYear","getUTCMilliseconds","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","hint","symbols","regExp","replacer","part","$re","$every","$filter","$find","$forEach","STRICT","createProperty","$indexOf","NEGATIVE_ZERO","$reduce","upTo","size","cloned","$some","$sort","toJSON","pv","TO_PRIMITIVE","DateProto","HAS_INSTANCE","FunctionProto","FProto","nameRE","sqrt","$acosh","acosh","Number","MAX_VALUE","asinh","$asinh","$atanh","atanh","cbrt","clz32","LOG2E","cosh","hypot","value1","value2","div","sum","larg","$imul","imul","xn","yn","xl","yl","log10","LOG10E","log2","sinh","E","tanh","trunc","$Number","BROKEN_COF","TRIM","toNumber","argument","third","maxCode","first","code","digits","_isFinite","isInteger","isSafeInteger","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","aNumberValue","$toFixed","toFixed","ERROR","multiply","divide","numToString","t","acc","fractionDigits","z","$fails","$toPrecision","toPrecision","precision","$freeze","$getOwnPropertyDescriptor","$getPrototypeOf","$isExtensible","$isFrozen","$isSealed","$preventExtensions","$seal","Internal","newGenericPromiseCapability","OwnPromiseCapability","Wrapper","microtask","newPromiseCapabilityModule","perform","promiseResolve","versions","v8","$Promise","empty","USE_NATIVE","FakePromise","PromiseRejectionEvent","isThenable","isReject","_n","chain","_c","_v","ok","_s","reaction","exited","handler","fail","_h","onHandleUnhandled","onUnhandled","console","unhandled","isUnhandled","emit","onunhandledrejection","reason","error","_a","onrejectionhandled","$reject","_w","$resolve","executor","err","onFulfilled","onRejected","capability","all","remaining","$index","alreadyCalled","race","rApply","fApply","thisArgument","argumentsList","L","rConstruct","NEW_TARGET_BUG","ARGS_BUG","Target","newTarget","$args","propertyKey","attributes","deleteProperty","Enumerate","enumerate","getProto","receiver","setProto","V","existingDescriptor","ownDesc","$flags","$RegExp","CORRECT_NEW","tiRE","piRE","fiU","advanceStringIndex","regExpExec","$match","maybeCallNative","fullUnicode","matchStr","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","maybeToString","REPLACE","$replace","getSubstitution","matched","position","captures","namedCaptures","replacement","tailPos","ch","capture","searchValue","replaceValue","functionalReplace","results","accumulatedResult","nextSourcePosition","replacerArgs","sameValue","SEARCH","$search","previousLastIndex","callRegExpExec","$min","$push","LENGTH","SUPPORTS_Y","SPLIT","$split","internalSplit","limit","lastLength","output","lastLastIndex","splitLimit","separatorCopy","splitter","unicodeMatching","lim","q","$at","codePointAt","context","$endsWith","endPosition","search","color","fromCharCode","$fromCodePoint","fromCodePoint","point","url","raw","callSite","tpl","$startsWith","startsWith","wksDefine","enumKeys","_create","gOPNExt","$GOPS","$JSON","JSON","_stringify","stringify","HIDDEN","SymbolRegistry","AllSymbols","OPSymbols","QObject","findChild","setSymbolDesc","protoDesc","wrap","sym","isSymbol","$defineProperties","$propertyIsEnumerable","$getOwnPropertyNames","$getOwnPropertySymbols","IS_OP","es6Symbols","wellKnownSymbols","keyFor","useSetter","useSimple","FAILS_ON_PRIMITIVES","$replacer","$isView","isView","fin","viewS","viewT","init","arraySpeciesCreate","flatMap","flatten","depthArg","$includes","asap","isError","clamp","lower","upper","DEG_PER_RAD","PI","RAD_PER_DEG","degrees","radians","fscale","iaddh","x0","y0","$x0","$x1","$y0","imulh","u","$u","$v","u0","v0","u1","v1","isubh","signbit","umulh","__defineGetter__","getOwnPropertyDescriptors","getDesc","__lookupGetter__","__lookupSetter__","$values","OBSERVABLE","cleanupSubscription","subscription","cleanup","subscriptionClosed","_o","closeSubscription","Subscription","observer","subscriber","SubscriptionObserver","unsubscribe","complete","$Observable","subscribe","observable","items","Observable","onFinally","metadata","defineMetadata","metadataKey","metadataValue","deleteMetadata","Set","ordinaryMetadataKeys","oKeys","pKeys","getMetadataKeys","ordinaryGetMetadata","getMetadata","getOwnMetadataKeys","getOwnMetadata","ordinaryHasMetadata","hasMetadata","hasOwnMetadata","$metadata","getFlags","RegExpProto","$RegExpStringIterator","_r","matchAll","$pad","WEBKIT_BUG","TO_STRING_TAG","ArrayValues","DOMIterables","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","collections","explicit","Collection","$task","MSIE","time","boundArgs","setInterval","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","_invoke","makeInvokeMethod","tryCatch","GeneratorFunction","GeneratorFunctionPrototype","defineIteratorMethods","AsyncIterator","record","hasOwn","__await","unwrapped","enqueue","callInvokeWithMethodAndArg","previousPromise","state","GenStateSuspendedStart","GenStateExecuting","GenStateCompleted","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","GenStateSuspendedYield","return","info","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iteratorMethod","iteratorSymbol","Op","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","inModule","runtime","regeneratorRuntime","NativeIteratorPrototype","Gp","displayName","isGeneratorFunction","genFun","ctor","mark","awrap","async","pop","skipTempReset","stop","rootEntry","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","finish","thrown","delegateYield"],"mappings":"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","file":"rrdiagram.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"rrdiagram\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"rrdiagram\"] = factory();\n\telse\n\t\troot[\"rrdiagram\"] = factory();\n})(this, function() {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 361);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 584aa1e0b3855d207932","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"rrdiagram\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"rrdiagram\"] = factory();\n\telse\n\t\troot[\"rrdiagram\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 361);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(2);\nvar core = __webpack_require__(20);\nvar hide = __webpack_require__(12);\nvar redefine = __webpack_require__(13);\nvar ctx = __webpack_require__(21);\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n var key, own, out, exp;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n // export native or passed\n out = (own ? target : source)[key];\n // bind timers to global for call from export context\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // extend global\n if (target) redefine(target, key, out, type & $export.U);\n // export\n if (exports[key] != out) hide(exports, key, exp);\n if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(4);\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports) {\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar store = __webpack_require__(56)('wks');\nvar uid = __webpack_require__(45);\nvar Symbol = __webpack_require__(2).Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.15 ToLength\nvar toInteger = __webpack_require__(23);\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !__webpack_require__(3)(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(1);\nvar IE8_DOM_DEFINE = __webpack_require__(125);\nvar toPrimitive = __webpack_require__(29);\nvar dP = Object.defineProperty;\n\nexports.f = __webpack_require__(7) ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.13 ToObject(argument)\nvar defined = __webpack_require__(27);\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar RRElement = function () {\n function RRElement() {\n _classCallCheck(this, RRElement);\n\n this.layoutInfo = null;\n }\n\n _createClass(RRElement, [{\n key: \"setLayoutInfo\",\n value: function setLayoutInfo(layoutInfo) {\n this.layoutInfo = layoutInfo;\n }\n }, {\n key: \"getLayoutInfo\",\n value: function getLayoutInfo() {\n return this.layoutInfo;\n }\n }]);\n\n return RRElement;\n}();\n\nexports.default = RRElement;\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(8);\nvar createDesc = __webpack_require__(41);\nmodule.exports = __webpack_require__(7) ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(2);\nvar hide = __webpack_require__(12);\nvar has = __webpack_require__(15);\nvar SRC = __webpack_require__(45)('src');\nvar $toString = __webpack_require__(165);\nvar TO_STRING = 'toString';\nvar TPL = ('' + $toString).split(TO_STRING);\n\n__webpack_require__(20).inspectSource = function (it) {\n return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(0);\nvar fails = __webpack_require__(3);\nvar defined = __webpack_require__(27);\nvar quot = /\"/g;\n// B.2.3.2.1 CreateHTML(string, tag, attribute, value)\nvar createHTML = function (string, tag, attribute, value) {\n var S = String(defined(string));\n var p1 = '<' + tag;\n if (attribute !== '') p1 += ' ' + attribute + '=\"' + String(value).replace(quot, '&quot;') + '\"';\n return p1 + '>' + S + '</' + tag + '>';\n};\nmodule.exports = function (NAME, exec) {\n var O = {};\n O[NAME] = exec(createHTML);\n $export($export.P + $export.F * fails(function () {\n var test = ''[NAME]('\"');\n return test !== test.toLowerCase() || test.split('\"').length > 3;\n }), 'String', O);\n};\n\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar pIE = __webpack_require__(55);\nvar createDesc = __webpack_require__(41);\nvar toIObject = __webpack_require__(18);\nvar toPrimitive = __webpack_require__(29);\nvar has = __webpack_require__(15);\nvar IE8_DOM_DEFINE = __webpack_require__(125);\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = __webpack_require__(7) ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = __webpack_require__(15);\nvar toObject = __webpack_require__(9);\nvar IE_PROTO = __webpack_require__(103)('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = __webpack_require__(54);\nvar defined = __webpack_require__(27);\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports) {\n\nvar core = module.exports = { version: '2.6.12' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// optional / simple context binding\nvar aFunction = __webpack_require__(10);\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar fails = __webpack_require__(3);\n\nmodule.exports = function (method, arg) {\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call\n arg ? method.call(null, function () { /* empty */ }, 1) : method.call(null);\n });\n};\n\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports) {\n\n// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _grammar = __webpack_require__(75);\n\nvar _grammar2 = _interopRequireDefault(_grammar);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar RuleDefinitionSign = {\n EQUAL: 1,\n COLON_EQUAL: 2,\n COLON_COLON_EQUAL: 3\n};\n\nvar LiteralDefinitionSign = {\n QUOTE: 1,\n DOUBLE_QUOTE: 2\n};\n\nvar GrammarToBNF = function () {\n _createClass(GrammarToBNF, null, [{\n key: 'RuleDefinitionSign',\n get: function get() {\n return RuleDefinitionSign;\n }\n }, {\n key: 'LiteralDefinitionSign',\n get: function get() {\n return LiteralDefinitionSign;\n }\n }]);\n\n function GrammarToBNF() {\n _classCallCheck(this, GrammarToBNF);\n\n this.ruleDefinitionSign = RuleDefinitionSign.EQUAL;\n this.literalDefinitionSign = LiteralDefinitionSign.QUOTE;\n this.isCommaSeparator = false;\n this.isUsingMultiplicationTokens = false;\n this.ruleConsideredAsLineBreak = null;\n }\n\n /**\r\n * @param {Grammar} grammar \r\n * @return {string}\r\n */\n\n\n _createClass(GrammarToBNF, [{\n key: 'convert',\n value: function convert(grammar) {\n return grammar.toBNF(this);\n }\n }]);\n\n return GrammarToBNF;\n}();\n\nexports.default = GrammarToBNF;\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _rule = __webpack_require__(58);\n\nvar _rule2 = _interopRequireDefault(_rule);\n\nvar _rrdiagram = __webpack_require__(59);\n\nvar _rrdiagram2 = _interopRequireDefault(_rrdiagram);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar GrammarToRRDiagram = function () {\n function GrammarToRRDiagram() {\n _classCallCheck(this, GrammarToRRDiagram);\n\n this.ruleLinkProvider = function (ruleName) {\n return '#' + ruleName;\n };\n this.ruleConsideredAsLineBreak = null;\n }\n\n /**\r\n * @param {Rule} rule \r\n * @return {RRDiagram}\r\n */\n\n\n _createClass(GrammarToRRDiagram, [{\n key: 'convert',\n value: function convert(rule) {\n return rule.toRRDiagram(this);\n }\n }]);\n\n return GrammarToRRDiagram;\n}();\n\nexports.default = GrammarToRRDiagram;\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = __webpack_require__(21);\nvar IObject = __webpack_require__(54);\nvar toObject = __webpack_require__(9);\nvar toLength = __webpack_require__(6);\nvar asc = __webpack_require__(87);\nmodule.exports = function (TYPE, $create) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n var create = $create || asc;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IObject(O);\n var f = ctx(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var val, res;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n val = self[index];\n res = f(val, index, O);\n if (TYPE) {\n if (IS_MAP) result[index] = res; // map\n else if (res) switch (TYPE) {\n case 3: return true; // some\n case 5: return val; // find\n case 6: return index; // findIndex\n case 2: result.push(val); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};\n\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports) {\n\n// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// most Object methods by ES6 should accept primitives\nvar $export = __webpack_require__(0);\nvar core = __webpack_require__(20);\nvar fails = __webpack_require__(3);\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = __webpack_require__(4);\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Map = __webpack_require__(147);\nvar $export = __webpack_require__(0);\nvar shared = __webpack_require__(56)('metadata');\nvar store = shared.store || (shared.store = new (__webpack_require__(151))());\n\nvar getOrCreateMetadataMap = function (target, targetKey, create) {\n var targetMetadata = store.get(target);\n if (!targetMetadata) {\n if (!create) return undefined;\n store.set(target, targetMetadata = new Map());\n }\n var keyMetadata = targetMetadata.get(targetKey);\n if (!keyMetadata) {\n if (!create) return undefined;\n targetMetadata.set(targetKey, keyMetadata = new Map());\n } return keyMetadata;\n};\nvar ordinaryHasOwnMetadata = function (MetadataKey, O, P) {\n var metadataMap = getOrCreateMetadataMap(O, P, false);\n return metadataMap === undefined ? false : metadataMap.has(MetadataKey);\n};\nvar ordinaryGetOwnMetadata = function (MetadataKey, O, P) {\n var metadataMap = getOrCreateMetadataMap(O, P, false);\n return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey);\n};\nvar ordinaryDefineOwnMetadata = function (MetadataKey, MetadataValue, O, P) {\n getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue);\n};\nvar ordinaryOwnMetadataKeys = function (target, targetKey) {\n var metadataMap = getOrCreateMetadataMap(target, targetKey, false);\n var keys = [];\n if (metadataMap) metadataMap.forEach(function (_, key) { keys.push(key); });\n return keys;\n};\nvar toMetaKey = function (it) {\n return it === undefined || typeof it == 'symbol' ? it : String(it);\n};\nvar exp = function (O) {\n $export($export.S, 'Reflect', O);\n};\n\nmodule.exports = {\n store: store,\n map: getOrCreateMetadataMap,\n has: ordinaryHasOwnMetadata,\n get: ordinaryGetOwnMetadata,\n set: ordinaryDefineOwnMetadata,\n keys: ordinaryOwnMetadataKeys,\n key: toMetaKey,\n exp: exp\n};\n\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nif (__webpack_require__(7)) {\n var LIBRARY = __webpack_require__(34);\n var global = __webpack_require__(2);\n var fails = __webpack_require__(3);\n var $export = __webpack_require__(0);\n var $typed = __webpack_require__(73);\n var $buffer = __webpack_require__(108);\n var ctx = __webpack_require__(21);\n var anInstance = __webpack_require__(36);\n var propertyDesc = __webpack_require__(41);\n var hide = __webpack_require__(12);\n var redefineAll = __webpack_require__(42);\n var toInteger = __webpack_require__(23);\n var toLength = __webpack_require__(6);\n var toIndex = __webpack_require__(145);\n var toAbsoluteIndex = __webpack_require__(44);\n var toPrimitive = __webpack_require__(29);\n var has = __webpack_require__(15);\n var classof = __webpack_require__(47);\n var isObject = __webpack_require__(4);\n var toObject = __webpack_require__(9);\n var isArrayIter = __webpack_require__(94);\n var create = __webpack_require__(38);\n var getPrototypeOf = __webpack_require__(17);\n var gOPN = __webpack_require__(39).f;\n var getIterFn = __webpack_require__(110);\n var uid = __webpack_require__(45);\n var wks = __webpack_require__(5);\n var createArrayMethod = __webpack_require__(26);\n var createArrayIncludes = __webpack_require__(61);\n var speciesConstructor = __webpack_require__(57);\n var ArrayIterators = __webpack_require__(111);\n var Iterators = __webpack_require__(48);\n var $iterDetect = __webpack_require__(66);\n var setSpecies = __webpack_require__(43);\n var arrayFill = __webpack_require__(86);\n var arrayCopyWithin = __webpack_require__(117);\n var $DP = __webpack_require__(8);\n var $GOPD = __webpack_require__(16);\n var dP = $DP.f;\n var gOPD = $GOPD.f;\n var RangeError = global.RangeError;\n var TypeError = global.TypeError;\n var Uint8Array = global.Uint8Array;\n var ARRAY_BUFFER = 'ArrayBuffer';\n var SHARED_BUFFER = 'Shared' + ARRAY_BUFFER;\n var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\n var PROTOTYPE = 'prototype';\n var ArrayProto = Array[PROTOTYPE];\n var $ArrayBuffer = $buffer.ArrayBuffer;\n var $DataView = $buffer.DataView;\n var arrayForEach = createArrayMethod(0);\n var arrayFilter = createArrayMethod(2);\n var arraySome = createArrayMethod(3);\n var arrayEvery = createArrayMethod(4);\n var arrayFind = createArrayMethod(5);\n var arrayFindIndex = createArrayMethod(6);\n var arrayIncludes = createArrayIncludes(true);\n var arrayIndexOf = createArrayIncludes(false);\n var arrayValues = ArrayIterators.values;\n var arrayKeys = ArrayIterators.keys;\n var arrayEntries = ArrayIterators.entries;\n var arrayLastIndexOf = ArrayProto.lastIndexOf;\n var arrayReduce = ArrayProto.reduce;\n var arrayReduceRight = ArrayProto.reduceRight;\n var arrayJoin = ArrayProto.join;\n var arraySort = ArrayProto.sort;\n var arraySlice = ArrayProto.slice;\n var arrayToString = ArrayProto.toString;\n var arrayToLocaleString = ArrayProto.toLocaleString;\n var ITERATOR = wks('iterator');\n var TAG = wks('toStringTag');\n var TYPED_CONSTRUCTOR = uid('typed_constructor');\n var DEF_CONSTRUCTOR = uid('def_constructor');\n var ALL_CONSTRUCTORS = $typed.CONSTR;\n var TYPED_ARRAY = $typed.TYPED;\n var VIEW = $typed.VIEW;\n var WRONG_LENGTH = 'Wrong length!';\n\n var $map = createArrayMethod(1, function (O, length) {\n return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length);\n });\n\n var LITTLE_ENDIAN = fails(function () {\n // eslint-disable-next-line no-undef\n return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1;\n });\n\n var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function () {\n new Uint8Array(1).set({});\n });\n\n var toOffset = function (it, BYTES) {\n var offset = toInteger(it);\n if (offset < 0 || offset % BYTES) throw RangeError('Wrong offset!');\n return offset;\n };\n\n var validate = function (it) {\n if (isObject(it) && TYPED_ARRAY in it) return it;\n throw TypeError(it + ' is not a typed array!');\n };\n\n var allocate = function (C, length) {\n if (!(isObject(C) && TYPED_CONSTRUCTOR in C)) {\n throw TypeError('It is not a typed array constructor!');\n } return new C(length);\n };\n\n var speciesFromList = function (O, list) {\n return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list);\n };\n\n var fromList = function (C, list) {\n var index = 0;\n var length = list.length;\n var result = allocate(C, length);\n while (length > index) result[index] = list[index++];\n return result;\n };\n\n var addGetter = function (it, key, internal) {\n dP(it, key, { get: function () { return this._d[internal]; } });\n };\n\n var $from = function from(source /* , mapfn, thisArg */) {\n var O = toObject(source);\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iterFn = getIterFn(O);\n var i, length, values, result, step, iterator;\n if (iterFn != undefined && !isArrayIter(iterFn)) {\n for (iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++) {\n values.push(step.value);\n } O = values;\n }\n if (mapping && aLen > 2) mapfn = ctx(mapfn, arguments[2], 2);\n for (i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++) {\n result[i] = mapping ? mapfn(O[i], i) : O[i];\n }\n return result;\n };\n\n var $of = function of(/* ...items */) {\n var index = 0;\n var length = arguments.length;\n var result = allocate(this, length);\n while (length > index) result[index] = arguments[index++];\n return result;\n };\n\n // iOS Safari 6.x fails here\n var TO_LOCALE_BUG = !!Uint8Array && fails(function () { arrayToLocaleString.call(new Uint8Array(1)); });\n\n var $toLocaleString = function toLocaleString() {\n return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments);\n };\n\n var proto = {\n copyWithin: function copyWithin(target, start /* , end */) {\n return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n },\n every: function every(callbackfn /* , thisArg */) {\n return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n fill: function fill(value /* , start, end */) { // eslint-disable-line no-unused-vars\n return arrayFill.apply(validate(this), arguments);\n },\n filter: function filter(callbackfn /* , thisArg */) {\n return speciesFromList(this, arrayFilter(validate(this), callbackfn,\n arguments.length > 1 ? arguments[1] : undefined));\n },\n find: function find(predicate /* , thisArg */) {\n return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n findIndex: function findIndex(predicate /* , thisArg */) {\n return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n forEach: function forEach(callbackfn /* , thisArg */) {\n arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n indexOf: function indexOf(searchElement /* , fromIndex */) {\n return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n includes: function includes(searchElement /* , fromIndex */) {\n return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n join: function join(separator) { // eslint-disable-line no-unused-vars\n return arrayJoin.apply(validate(this), arguments);\n },\n lastIndexOf: function lastIndexOf(searchElement /* , fromIndex */) { // eslint-disable-line no-unused-vars\n return arrayLastIndexOf.apply(validate(this), arguments);\n },\n map: function map(mapfn /* , thisArg */) {\n return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n reduce: function reduce(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars\n return arrayReduce.apply(validate(this), arguments);\n },\n reduceRight: function reduceRight(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars\n return arrayReduceRight.apply(validate(this), arguments);\n },\n reverse: function reverse() {\n var that = this;\n var length = validate(that).length;\n var middle = Math.floor(length / 2);\n var index = 0;\n var value;\n while (index < middle) {\n value = that[index];\n that[index++] = that[--length];\n that[length] = value;\n } return that;\n },\n some: function some(callbackfn /* , thisArg */) {\n return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n sort: function sort(comparefn) {\n return arraySort.call(validate(this), comparefn);\n },\n subarray: function subarray(begin, end) {\n var O = validate(this);\n var length = O.length;\n var $begin = toAbsoluteIndex(begin, length);\n return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))(\n O.buffer,\n O.byteOffset + $begin * O.BYTES_PER_ELEMENT,\n toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - $begin)\n );\n }\n };\n\n var $slice = function slice(start, end) {\n return speciesFromList(this, arraySlice.call(validate(this), start, end));\n };\n\n var $set = function set(arrayLike /* , offset */) {\n validate(this);\n var offset = toOffset(arguments[1], 1);\n var length = this.length;\n var src = toObject(arrayLike);\n var len = toLength(src.length);\n var index = 0;\n if (len + offset > length) throw RangeError(WRONG_LENGTH);\n while (index < len) this[offset + index] = src[index++];\n };\n\n var $iterators = {\n entries: function entries() {\n return arrayEntries.call(validate(this));\n },\n keys: function keys() {\n return arrayKeys.call(validate(this));\n },\n values: function values() {\n return arrayValues.call(validate(this));\n }\n };\n\n var isTAIndex = function (target, key) {\n return isObject(target)\n && target[TYPED_ARRAY]\n && typeof key != 'symbol'\n && key in target\n && String(+key) == String(key);\n };\n var $getDesc = function getOwnPropertyDescriptor(target, key) {\n return isTAIndex(target, key = toPrimitive(key, true))\n ? propertyDesc(2, target[key])\n : gOPD(target, key);\n };\n var $setDesc = function defineProperty(target, key, desc) {\n if (isTAIndex(target, key = toPrimitive(key, true))\n && isObject(desc)\n && has(desc, 'value')\n && !has(desc, 'get')\n && !has(desc, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !desc.configurable\n && (!has(desc, 'writable') || desc.writable)\n && (!has(desc, 'enumerable') || desc.enumerable)\n ) {\n target[key] = desc.value;\n return target;\n } return dP(target, key, desc);\n };\n\n if (!ALL_CONSTRUCTORS) {\n $GOPD.f = $getDesc;\n $DP.f = $setDesc;\n }\n\n $export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', {\n getOwnPropertyDescriptor: $getDesc,\n defineProperty: $setDesc\n });\n\n if (fails(function () { arrayToString.call({}); })) {\n arrayToString = arrayToLocaleString = function toString() {\n return arrayJoin.call(this);\n };\n }\n\n var $TypedArrayPrototype$ = redefineAll({}, proto);\n redefineAll($TypedArrayPrototype$, $iterators);\n hide($TypedArrayPrototype$, ITERATOR, $iterators.values);\n redefineAll($TypedArrayPrototype$, {\n slice: $slice,\n set: $set,\n constructor: function () { /* noop */ },\n toString: arrayToString,\n toLocaleString: $toLocaleString\n });\n addGetter($TypedArrayPrototype$, 'buffer', 'b');\n addGetter($TypedArrayPrototype$, 'byteOffset', 'o');\n addGetter($TypedArrayPrototype$, 'byteLength', 'l');\n addGetter($TypedArrayPrototype$, 'length', 'e');\n dP($TypedArrayPrototype$, TAG, {\n get: function () { return this[TYPED_ARRAY]; }\n });\n\n // eslint-disable-next-line max-statements\n module.exports = function (KEY, BYTES, wrapper, CLAMPED) {\n CLAMPED = !!CLAMPED;\n var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array';\n var GETTER = 'get' + KEY;\n var SETTER = 'set' + KEY;\n var TypedArray = global[NAME];\n var Base = TypedArray || {};\n var TAC = TypedArray && getPrototypeOf(TypedArray);\n var FORCED = !TypedArray || !$typed.ABV;\n var O = {};\n var TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE];\n var getter = function (that, index) {\n var data = that._d;\n return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN);\n };\n var setter = function (that, index, value) {\n var data = that._d;\n if (CLAMPED) value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff;\n data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN);\n };\n var addElement = function (that, index) {\n dP(that, index, {\n get: function () {\n return getter(this, index);\n },\n set: function (value) {\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n if (FORCED) {\n TypedArray = wrapper(function (that, data, $offset, $length) {\n anInstance(that, TypedArray, NAME, '_d');\n var index = 0;\n var offset = 0;\n var buffer, byteLength, length, klass;\n if (!isObject(data)) {\n length = toIndex(data);\n byteLength = length * BYTES;\n buffer = new $ArrayBuffer(byteLength);\n } else if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {\n buffer = data;\n offset = toOffset($offset, BYTES);\n var $len = data.byteLength;\n if ($length === undefined) {\n if ($len % BYTES) throw RangeError(WRONG_LENGTH);\n byteLength = $len - offset;\n if (byteLength < 0) throw RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if (byteLength + offset > $len) throw RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if (TYPED_ARRAY in data) {\n return fromList(TypedArray, data);\n } else {\n return $from.call(TypedArray, data);\n }\n hide(that, '_d', {\n b: buffer,\n o: offset,\n l: byteLength,\n e: length,\n v: new $DataView(buffer)\n });\n while (index < length) addElement(that, index++);\n });\n TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$);\n hide(TypedArrayPrototype, 'constructor', TypedArray);\n } else if (!fails(function () {\n TypedArray(1);\n }) || !fails(function () {\n new TypedArray(-1); // eslint-disable-line no-new\n }) || !$iterDetect(function (iter) {\n new TypedArray(); // eslint-disable-line no-new\n new TypedArray(null); // eslint-disable-line no-new\n new TypedArray(1.5); // eslint-disable-line no-new\n new TypedArray(iter); // eslint-disable-line no-new\n }, true)) {\n TypedArray = wrapper(function (that, data, $offset, $length) {\n anInstance(that, TypedArray, NAME);\n var klass;\n // `ws` module bug, temporarily remove validation length for Uint8Array\n // https://github.com/websockets/ws/pull/645\n if (!isObject(data)) return new Base(toIndex(data));\n if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {\n return $length !== undefined\n ? new Base(data, toOffset($offset, BYTES), $length)\n : $offset !== undefined\n ? new Base(data, toOffset($offset, BYTES))\n : new Base(data);\n }\n if (TYPED_ARRAY in data) return fromList(TypedArray, data);\n return $from.call(TypedArray, data);\n });\n arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function (key) {\n if (!(key in TypedArray)) hide(TypedArray, key, Base[key]);\n });\n TypedArray[PROTOTYPE] = TypedArrayPrototype;\n if (!LIBRARY) TypedArrayPrototype.constructor = TypedArray;\n }\n var $nativeIterator = TypedArrayPrototype[ITERATOR];\n var CORRECT_ITER_NAME = !!$nativeIterator\n && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined);\n var $iterator = $iterators.values;\n hide(TypedArray, TYPED_CONSTRUCTOR, true);\n hide(TypedArrayPrototype, TYPED_ARRAY, NAME);\n hide(TypedArrayPrototype, VIEW, true);\n hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray);\n\n if (CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)) {\n dP(TypedArrayPrototype, TAG, {\n get: function () { return NAME; }\n });\n }\n\n O[NAME] = TypedArray;\n\n $export($export.G + $export.W + $export.F * (TypedArray != Base), O);\n\n $export($export.S, NAME, {\n BYTES_PER_ELEMENT: BYTES\n });\n\n $export($export.S + $export.F * fails(function () { Base.of.call(TypedArray, 1); }), NAME, {\n from: $from,\n of: $of\n });\n\n if (!(BYTES_PER_ELEMENT in TypedArrayPrototype)) hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES);\n\n $export($export.P, NAME, proto);\n\n setSpecies(NAME);\n\n $export($export.P + $export.F * FORCED_SET, NAME, { set: $set });\n\n $export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators);\n\n if (!LIBRARY && TypedArrayPrototype.toString != arrayToString) TypedArrayPrototype.toString = arrayToString;\n\n $export($export.P + $export.F * fails(function () {\n new TypedArray(1).slice();\n }), NAME, { slice: $slice });\n\n $export($export.P + $export.F * (fails(function () {\n return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString();\n }) || !fails(function () {\n TypedArrayPrototype.toLocaleString.call([1, 2]);\n })), NAME, { toLocaleString: $toLocaleString });\n\n Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator;\n if (!LIBRARY && !CORRECT_ITER_NAME) hide(TypedArrayPrototype, ITERATOR, $iterator);\n };\n} else module.exports = function () { /* empty */ };\n\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _grammartorrdiagram = __webpack_require__(25);\n\nvar _grammartorrdiagram2 = _interopRequireDefault(_grammartorrdiagram);\n\nvar _grammartobnf = __webpack_require__(24);\n\nvar _grammartobnf2 = _interopRequireDefault(_grammartobnf);\n\nvar _rrelement = __webpack_require__(11);\n\nvar _rrelement2 = _interopRequireDefault(_rrelement);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Expression = function () {\n function Expression() {\n _classCallCheck(this, Expression);\n }\n\n _createClass(Expression, [{\n key: 'toRRElement',\n\n\n /**\r\n * @param {GrammarToRRDiagram} grammarToRRDiagram \r\n * @return {RRElement}\r\n */\n value: function toRRElement(grammarToRRDiagram) {\n // Not reachable, we don't instanciate this class.\n return new _rrelement2.default();\n }\n\n /**\r\n * @param {GrammarToBNF} grammarToBNF \r\n * @param {string[]} sb \r\n * @param {boolean} isNested \r\n */\n\n }, {\n key: 'toBNF',\n value: function toBNF(grammarToBNF, sb, isNested) {}\n\n /**\r\n * @param {*} o \r\n * @return {boolean}\r\n */\n\n }, {\n key: 'equals',\n value: function equals(o) {}\n }]);\n\n return Expression;\n}();\n\nexports.default = Expression;\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = __webpack_require__(5)('unscopables');\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) __webpack_require__(12)(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function (key) {\n ArrayProto[UNSCOPABLES][key] = true;\n};\n\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports) {\n\nmodule.exports = false;\n\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar META = __webpack_require__(45)('meta');\nvar isObject = __webpack_require__(4);\nvar has = __webpack_require__(15);\nvar setDesc = __webpack_require__(8).f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !__webpack_require__(3)(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar ctx = __webpack_require__(21);\nvar call = __webpack_require__(128);\nvar isArrayIter = __webpack_require__(94);\nvar anObject = __webpack_require__(1);\nvar toLength = __webpack_require__(6);\nvar getIterFn = __webpack_require__(110);\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = __webpack_require__(1);\nvar dPs = __webpack_require__(134);\nvar enumBugKeys = __webpack_require__(90);\nvar IE_PROTO = __webpack_require__(103)('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = __webpack_require__(89)('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n __webpack_require__(92).appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = __webpack_require__(136);\nvar hiddenKeys = __webpack_require__(90).concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = __webpack_require__(136);\nvar enumBugKeys = __webpack_require__(90);\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar redefine = __webpack_require__(13);\nmodule.exports = function (target, src, safe) {\n for (var key in src) redefine(target, key, src[key], safe);\n return target;\n};\n\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar global = __webpack_require__(2);\nvar dP = __webpack_require__(8);\nvar DESCRIPTORS = __webpack_require__(7);\nvar SPECIES = __webpack_require__(5)('species');\n\nmodule.exports = function (KEY) {\n var C = global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(23);\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(4);\nmodule.exports = function (it, TYPE) {\n if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');\n return it;\n};\n\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = __webpack_require__(19);\nvar TAG = __webpack_require__(5)('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar def = __webpack_require__(8).f;\nvar has = __webpack_require__(15);\nvar TAG = __webpack_require__(5)('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(0);\nvar defined = __webpack_require__(27);\nvar fails = __webpack_require__(3);\nvar spaces = __webpack_require__(106);\nvar space = '[' + spaces + ']';\nvar non = '\\u200b\\u0085';\nvar ltrim = RegExp('^' + space + space + '*');\nvar rtrim = RegExp(space + space + '*$');\n\nvar exporter = function (KEY, exec, ALIAS) {\n var exp = {};\n var FORCE = fails(function () {\n return !!spaces[KEY]() || non[KEY]() != non;\n });\n var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];\n if (ALIAS) exp[ALIAS] = fn;\n $export($export.P + $export.F * FORCE, 'String', exp);\n};\n\n// 1 -> String#trimLeft\n// 2 -> String#trimRight\n// 3 -> String#trim\nvar trim = exporter.trim = function (string, TYPE) {\n string = String(defined(string));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n};\n\nmodule.exports = exporter;\n\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar LayoutInfo = function () {\n\n /**\r\n * @param {number} width \r\n * @param {number} height \r\n * @param {number} connectorOffset \r\n */\n function LayoutInfo(width, height, connectorOffset) {\n _classCallCheck(this, LayoutInfo);\n\n this.width = width;\n this.height = height;\n this.connectorOffset = connectorOffset;\n }\n\n /**\r\n * @return {number}\r\n */\n\n\n _createClass(LayoutInfo, [{\n key: \"getWidth\",\n value: function getWidth() {\n return this.width;\n }\n\n /**\r\n * @return {number}\r\n */\n\n }, {\n key: \"getHeight\",\n value: function getHeight() {\n return this.height;\n }\n\n /**\r\n * @return {number}\r\n */\n\n }, {\n key: \"getConnectorOffset\",\n value: function getConnectorOffset() {\n return this.connectorOffset;\n }\n }]);\n\n return LayoutInfo;\n}();\n\nexports.default = LayoutInfo;\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _rrelement = __webpack_require__(11);\n\nvar _rrelement2 = _interopRequireDefault(_rrelement);\n\nvar _rrdiagramtosvg = __webpack_require__(60);\n\nvar _rrdiagramtosvg2 = _interopRequireDefault(_rrdiagramtosvg);\n\nvar _layoutinfo = __webpack_require__(51);\n\nvar _layoutinfo2 = _interopRequireDefault(_layoutinfo);\n\nvar _utils = __webpack_require__(84);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Type = {\n LITERAL: 1,\n RULE: 2,\n SPECIAL_SEQUENCE: 3\n};\n\nvar RRText = function (_RRElement) {\n _inherits(RRText, _RRElement);\n\n _createClass(RRText, null, [{\n key: 'Type',\n get: function get() {\n return Type;\n }\n\n /**\r\n * \r\n * @param {Type} type \r\n * @param {string} text \r\n * @param {?string} link \r\n */\n\n }]);\n\n function RRText(type, text, link) {\n _classCallCheck(this, RRText);\n\n var _this = _possibleConstructorReturn(this, (RRText.__proto__ || Object.getPrototypeOf(RRText)).call(this));\n\n _this.type = type;\n _this.text = text;\n _this.link = link;\n _this.fontInfo = null;\n return _this;\n }\n\n _createClass(RRText, [{\n key: 'getType',\n value: function getType() {\n return this.type;\n }\n }, {\n key: 'getText',\n value: function getText() {\n return this.text;\n }\n }, {\n key: 'getLink',\n value: function getLink() {\n return this.link;\n }\n }, {\n key: 'computeLayoutInfo',\n value: function computeLayoutInfo(rrDiagramToSVG) {\n var insets = {\n top: 5,\n left: 10,\n bottom: 5,\n right: 10\n };\n var cssTextClass = void 0;\n if (this.type == Type.RULE) {\n cssTextClass = rrDiagramToSVG.cssRuleTextClass;\n } else if (this.type == Type.LITERAL) {\n cssTextClass = rrDiagramToSVG.cssLiteralTextClass;\n } else if (this.type == Type.SPECIAL_SEQUENCE) {\n cssTextClass = rrDiagramToSVG.cssSpecialSequenceTextClass;\n } else {\n throw 'Unknown type: type';\n }\n this.fontInfo = (0, _utils.getFontInfo)(this.text, cssTextClass);\n var width = this.fontInfo.textWidth;\n var height = this.fontInfo.height;\n var fontYOffset = this.fontInfo.descent;\n var connectorOffset = insets.top + height - fontYOffset;\n width += insets.left + insets.right;\n height += insets.top + insets.bottom;\n this.setLayoutInfo(new _layoutinfo2.default(width, height, connectorOffset));\n }\n }, {\n key: 'toSVG',\n value: function toSVG(rrDiagramToSVG, xOffset, yOffset, svgContent) {\n var insets = {\n top: 5,\n left: 10,\n bottom: 5,\n right: 10\n };\n var layoutInfo = this.getLayoutInfo();\n var width = layoutInfo.getWidth();\n var height = layoutInfo.getHeight();\n if (this.link != null) {\n svgContent.addElement(\"<a xlink:href=\\\"\" + (0, _utils.escapeXml)(this.link) /* + \"\\\" xlink:title=\\\"\" + escapeXml(this.text)*/ + \"\\\">\");\n }\n var cssClass = void 0;\n var cssTextClass = void 0;\n var shape = void 0;\n if (this.type == Type.RULE) {\n cssClass = rrDiagramToSVG.cssRuleClass;\n cssTextClass = rrDiagramToSVG.cssRuleTextClass;\n shape = rrDiagramToSVG.ruleShape;\n } else if (this.type == Type.LITERAL) {\n cssClass = rrDiagramToSVG.cssLiteralClass;\n cssTextClass = rrDiagramToSVG.cssLiteralTextClass;\n shape = rrDiagramToSVG.literalShape;\n } else if (this.type == Type.SPECIAL_SEQUENCE) {\n cssClass = rrDiagramToSVG.cssSpecialSequenceClass;\n cssTextClass = rrDiagramToSVG.cssSpecialSequenceTextClass;\n shape = rrDiagramToSVG.specialSequenceShape;\n } else {\n throw 'Unknown type: type';\n }\n if (shape == _rrdiagramtosvg2.default.BoxShape.RECTANGLE) {\n svgContent.addElement(\"<rect class=\\\"\" + cssClass + \"\\\" x=\\\"\" + xOffset + \"\\\" y=\\\"\" + yOffset + \"\\\" width=\\\"\" + width + \"\\\" height=\\\"\" + height + \"\\\"/>\");\n } else if (shape == _rrdiagramtosvg2.default.BoxShape.ROUNDED_RECTANGLE) {\n var rx = Math.floor((insets.left + insets.right + insets.top + insets.bottom) / 4);\n svgContent.addElement(\"<rect class=\\\"\" + cssClass + \"\\\" x=\\\"\" + xOffset + \"\\\" y=\\\"\" + yOffset + \"\\\" width=\\\"\" + width + \"\\\" height=\\\"\" + height + \"\\\" rx=\\\"\" + rx + \"\\\"/>\");\n } else if (shape == _rrdiagramtosvg2.default.BoxShape.HEXAGON) {\n // We don't calculate the exact length of the connector: it goes behind the shape.\n // We should calculate if we want to support transparent shapes.\n var connectorOffset = layoutInfo.getConnectorOffset();\n svgContent.addLineConnector(xOffset, yOffset + connectorOffset, xOffset + insets.left, yOffset + connectorOffset);\n svgContent.addElement(\"<polygon class=\\\"\" + (0, _utils.escapeXml)(cssClass) + \"\\\" points=\\\"\" + xOffset + \" \" + (yOffset + Math.floor(height / 2)) + \" \" + (xOffset + insets.left) + \" \" + yOffset + \" \" + (xOffset + width - insets.right) + \" \" + yOffset + \" \" + (xOffset + width) + \" \" + (yOffset + Math.floor(height / 2)) + \" \" + (xOffset + width - insets.right) + \" \" + (yOffset + height) + \" \" + (xOffset + insets.left) + \" \" + (yOffset + height) + \"\\\"/>\");\n svgContent.addLineConnector(xOffset + width, yOffset + connectorOffset, xOffset + width - insets.right, yOffset + connectorOffset);\n }\n var fontYOffset = this.fontInfo.descent;\n var textHeight = this.fontInfo.textHeight;\n var textXOffset = xOffset + insets.left;\n var textYOffset = yOffset + insets.top + textHeight - fontYOffset;\n svgContent.addElement(\"<text class=\\\"\" + (0, _utils.escapeXml)(cssTextClass) + \"\\\" x=\\\"\" + textXOffset + \"\\\" y=\\\"\" + textYOffset + \"\\\">\" + (0, _utils.escapeXml)(this.text) + \"</text>\");\n if (this.link != null) {\n svgContent.addElement(\"</a>\");\n }\n }\n }]);\n\n return RRText;\n}(_rrelement2.default);\n\nexports.default = RRText;\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = __webpack_require__(1);\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = __webpack_require__(19);\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports) {\n\nexports.f = {}.propertyIsEnumerable;\n\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar core = __webpack_require__(20);\nvar global = __webpack_require__(2);\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: __webpack_require__(34) ? 'pure' : 'global',\n copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = __webpack_require__(1);\nvar aFunction = __webpack_require__(10);\nvar SPECIES = __webpack_require__(5)('species');\nmodule.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _rrdiagram = __webpack_require__(59);\n\nvar _rrdiagram2 = _interopRequireDefault(_rrdiagram);\n\nvar _grammartobnf = __webpack_require__(24);\n\nvar _grammartobnf2 = _interopRequireDefault(_grammartobnf);\n\nvar _expression = __webpack_require__(32);\n\nvar _expression2 = _interopRequireDefault(_expression);\n\nvar _grammartorrdiagram = __webpack_require__(25);\n\nvar _grammartorrdiagram2 = _interopRequireDefault(_grammartorrdiagram);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Rule = function () {\n\n /**\r\n * @param {string} name \r\n * @param {Expression} expression \r\n * @param {?string} originalExpressionText \r\n */\n function Rule(name, expression, originalExpressionText) {\n _classCallCheck(this, Rule);\n\n this.name = name;\n this.expression = expression;\n this.originalExpressionText = originalExpressionText;\n }\n\n /**\r\n * @return {string}\r\n */\n\n\n _createClass(Rule, [{\n key: 'getName',\n value: function getName() {\n return this.name;\n }\n\n /**\r\n * @return {?string}\r\n */\n\n }, {\n key: 'getOriginalExpressionText',\n value: function getOriginalExpressionText() {\n return this.originalExpressionText;\n }\n\n /**\r\n * @param {GrammarToRRDiagram} grammarToRRDiagram \r\n * @return {RRDiagram}\r\n */\n\n }, {\n key: 'toRRDiagram',\n value: function toRRDiagram(grammarToRRDiagram) {\n return new _rrdiagram2.default(this.expression.toRRElement(grammarToRRDiagram));\n }\n\n /**\r\n * @param {GrammarToBNF} grammarToBNF \r\n * @return {string}\r\n */\n\n }, {\n key: 'toBNF',\n value: function toBNF(grammarToBNF) {\n var sb = [];\n sb.push(this.name, \" \");\n switch (grammarToBNF.ruleDefinitionSign) {\n case _grammartobnf2.default.RuleDefinitionSign.EQUAL:\n sb.push(\"=\");break;\n case _grammartobnf2.default.RuleDefinitionSign.COLON_EQUAL:\n sb.push(\":=\");break;\n case _grammartobnf2.default.RuleDefinitionSign.COLON_COLON_EQUAL:\n sb.push(\"::=\");break;\n }\n sb.push(\" \");\n this.expression.toBNF(grammarToBNF, sb, false);\n sb.push(\";\");\n return sb.join(\"\");\n }\n }]);\n\n return Rule;\n}();\n\nexports.default = Rule;\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _rrelement = __webpack_require__(11);\n\nvar _rrelement2 = _interopRequireDefault(_rrelement);\n\nvar _rrsequence = __webpack_require__(83);\n\nvar _rrsequence2 = _interopRequireDefault(_rrsequence);\n\nvar _svgcontent = __webpack_require__(157);\n\nvar _svgcontent2 = _interopRequireDefault(_svgcontent);\n\nvar _rrbreak = __webpack_require__(80);\n\nvar _rrbreak2 = _interopRequireDefault(_rrbreak);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar RRDiagram = function () {\n\n /**\r\n * @param {RRElement} rrElement \r\n */\n function RRDiagram(rrElement) {\n _classCallCheck(this, RRDiagram);\n\n this.rrElement = rrElement;\n }\n\n _createClass(RRDiagram, [{\n key: 'toSVG',\n value: function toSVG(rrDiagramToSVG) {\n var rrElementList = [];\n if (this.rrElement instanceof _rrsequence2.default) {\n var cursorElementList = [];\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = this.rrElement.getRRElements()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var element = _step.value;\n\n if (element instanceof _rrbreak2.default) {\n if (cursorElementList.length != 0) {\n rrElementList.push(cursorElementList.length == 1 ? cursorElementList[0] : new _rrsequence2.default(cursorElementList.slice()));\n cursorElementList.length = 0;\n }\n } else {\n cursorElementList.push(element);\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n if (cursorElementList.length != 0) {\n rrElementList.push(cursorElementList.length == 1 ? cursorElementList[0] : new _rrsequence2.default(cursorElementList.slice()));\n }\n } else {\n rrElementList.push(this.rrElement);\n }\n var width = 5;\n var height = 5;\n for (var i = 0; i < rrElementList.length; i++) {\n if (i > 0) {\n height += 5;\n }\n var rrElement_ = rrElementList[i];\n rrElement_.computeLayoutInfo(rrDiagramToSVG);\n var layoutInfo = rrElement_.getLayoutInfo();\n width = Math.max(width, 5 + layoutInfo.getWidth() + 5);\n height += layoutInfo.getHeight() + 5;\n }\n var svgContent = new _svgcontent2.default();\n // First, generate the XML for the elements, to know the usage.\n var xOffset = 0;\n var yOffset = 5;\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = rrElementList[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var _rrElement_ = _step2.value;\n\n var layoutInfo2 = _rrElement_.getLayoutInfo();\n var connectorOffset2 = layoutInfo2.getConnectorOffset();\n var width2 = layoutInfo2.getWidth();\n var height2 = layoutInfo2.getHeight();\n var y1 = yOffset + connectorOffset2;\n svgContent.addLineConnector(xOffset, y1, xOffset + 5, y1);\n // TODO: add decorations (like arrows)?\n _rrElement_.toSVG(rrDiagramToSVG, xOffset + 5, yOffset, svgContent);\n svgContent.addLineConnector(xOffset + 5 + width2, y1, xOffset + 5 + width2 + 5, y1);\n yOffset += height2 + 10;\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n\n var connectorElement = svgContent.getConnectorElement(rrDiagramToSVG);\n var elements = svgContent.getElements();\n // Then generate the rest (CSS and SVG container tags) based on that usage.\n var sb = [];\n sb.push(\"<svg version=\\\"1.1\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"\", width, \"\\\" height=\\\"\", height, \"\\\" viewbox=\\\"0 0 \" + width + \" \" + height + \"\\\">\");\n /* String styles = svgContent.getCSSStyles();\r\n if(styles.length() > 0) {\r\n sb.push(\"<defs><style type=\\\"text/css\\\">\");\r\n sb.push(styles);\r\n sb.push(\"</style></defs>\");\r\n }*/\n sb.push(connectorElement);\n sb.push(elements);\n sb.push(\"</svg>\");\n return sb.join(\"\");\n }\n }]);\n\n return RRDiagram;\n}();\n\nexports.default = RRDiagram;\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _rrtext = __webpack_require__(52);\n\nvar _rrtext2 = _interopRequireDefault(_rrtext);\n\nvar _rrdiagram = __webpack_require__(59);\n\nvar _rrdiagram2 = _interopRequireDefault(_rrdiagram);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar BoxShape = {\n RECTANGLE: 1,\n ROUNDED_RECTANGLE: 2,\n HEXAGON: 3\n};\n\nvar RRDiagramToSVG = function () {\n _createClass(RRDiagramToSVG, null, [{\n key: 'BoxShape',\n get: function get() {\n return BoxShape;\n }\n }]);\n\n function RRDiagramToSVG() {\n _classCallCheck(this, RRDiagramToSVG);\n\n this.cssConnectorClass = \"rrConnector\"; //{fill:none;stroke:#222222;}\n this.cssRuleClass = \"rrRule\"; //{fill:#d3f0ff;stroke:#222222;}\n this.cssRuleTextClass = \"rrRuleText\"; //{fill:#000000;font-family:Verdana,Sans-serif;font-size:12px;}\n this.cssLiteralClass = \"rrLiteral\"; //{fill:#90d9ff;stroke:#222222;}\n this.cssLiteralTextClass = \"rrLiteralText\"; //{fill:#000000;font-family:Verdana,Sans-serif;font-size:12px;}\n this.cssSpecialSequenceClass = \"rrSpecialSequence\"; //{fill:#e4f4ff;stroke:#222222;}\n this.cssSpecialSequenceTextClass = \"rrSpecialSequenceText\"; //{fill:#000000;font-family:Verdana,Sans-serif;font-size:12px;}\n this.cssLoopCardinalitiesTextClass = \"rrLoopCardinalities\"; //{fill:#000000;font-family:Verdana,Sans-serif;font-size:10px;}\n this.ruleShape = BoxShape.RECTANGLE;\n this.literalShape = BoxShape.ROUNDED_RECTANGLE;\n this.specialSequenceShape = BoxShape.HEXAGON;\n }\n\n /**\r\n * @param {RRDiagram} rrDiagram \r\n * @return {string}\r\n */\n\n\n _createClass(RRDiagramToSVG, [{\n key: 'convert',\n value: function convert(rrDiagram) {\n return rrDiagram.toSVG(this);\n }\n }]);\n\n return RRDiagramToSVG;\n}();\n\nexports.default = RRDiagramToSVG;\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = __webpack_require__(18);\nvar toLength = __webpack_require__(6);\nvar toAbsoluteIndex = __webpack_require__(44);\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar global = __webpack_require__(2);\nvar $export = __webpack_require__(0);\nvar redefine = __webpack_require__(13);\nvar redefineAll = __webpack_require__(42);\nvar meta = __webpack_require__(35);\nvar forOf = __webpack_require__(37);\nvar anInstance = __webpack_require__(36);\nvar isObject = __webpack_require__(4);\nvar fails = __webpack_require__(3);\nvar $iterDetect = __webpack_require__(66);\nvar setToStringTag = __webpack_require__(49);\nvar inheritIfRequired = __webpack_require__(93);\n\nmodule.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {\n var Base = global[NAME];\n var C = Base;\n var ADDER = IS_MAP ? 'set' : 'add';\n var proto = C && C.prototype;\n var O = {};\n var fixMethod = function (KEY) {\n var fn = proto[KEY];\n redefine(proto, KEY,\n KEY == 'delete' ? function (a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'has' ? function has(a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'get' ? function get(a) {\n return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'add' ? function add(a) { fn.call(this, a === 0 ? 0 : a); return this; }\n : function set(a, b) { fn.call(this, a === 0 ? 0 : a, b); return this; }\n );\n };\n if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {\n new C().entries().next();\n }))) {\n // create collection constructor\n C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n redefineAll(C.prototype, methods);\n meta.NEED = true;\n } else {\n var instance = new C();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n var ACCEPT_ITERABLES = $iterDetect(function (iter) { new C(iter); }); // eslint-disable-line no-new\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new C();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n if (!ACCEPT_ITERABLES) {\n C = wrapper(function (target, iterable) {\n anInstance(target, C, NAME);\n var that = inheritIfRequired(new Base(), target, C);\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n return that;\n });\n C.prototype = proto;\n proto.constructor = C;\n }\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n // weak collections should not contains .clear method\n if (IS_WEAK && proto.clear) delete proto.clear;\n }\n\n setToStringTag(C, NAME);\n\n O[NAME] = C;\n $export($export.G + $export.W + $export.F * (C != Base), O);\n\n if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);\n\n return C;\n};\n\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n__webpack_require__(148);\nvar redefine = __webpack_require__(13);\nvar hide = __webpack_require__(12);\nvar fails = __webpack_require__(3);\nvar defined = __webpack_require__(27);\nvar wks = __webpack_require__(5);\nvar regexpExec = __webpack_require__(101);\n\nvar SPECIES = wks('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$<a>') !== '7';\n});\n\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = (function () {\n // Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length === 2 && result[0] === 'a' && result[1] === 'b';\n})();\n\nmodule.exports = function (KEY, length, exec) {\n var SYMBOL = wks(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL ? !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n re.exec = function () { execCalled = true; return null; };\n if (KEY === 'split') {\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n }\n re[SYMBOL]('');\n return !execCalled;\n }) : undefined;\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var fns = exec(\n defined,\n SYMBOL,\n ''[KEY],\n function maybeCallNative(nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === regexpExec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }\n );\n var strfn = fns[0];\n var rxfn = fns[1];\n\n redefine(String.prototype, KEY, strfn);\n hide(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return rxfn.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return rxfn.call(string, this); }\n );\n }\n};\n\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.2.2 IsArray(argument)\nvar cof = __webpack_require__(19);\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.2.8 IsRegExp(argument)\nvar isObject = __webpack_require__(4);\nvar cof = __webpack_require__(19);\nvar MATCH = __webpack_require__(5)('match');\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\n};\n\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar ITERATOR = __webpack_require__(5)('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// Forced replacement prototype accessors methods\nmodule.exports = __webpack_require__(34) || !__webpack_require__(3)(function () {\n var K = Math.random();\n // In FF throws only define methods\n // eslint-disable-next-line no-undef, no-useless-call\n __defineSetter__.call(null, K, function () { /* empty */ });\n delete __webpack_require__(2)[K];\n});\n\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n\n/***/ }),\n/* 69 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar classof = __webpack_require__(47);\nvar builtinExec = RegExp.prototype.exec;\n\n // `RegExpExec` abstract operation\n// https://tc39.github.io/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw new TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n if (classof(R) !== 'RegExp') {\n throw new TypeError('RegExp#exec called on incompatible receiver');\n }\n return builtinExec.call(R, S);\n};\n\n\n/***/ }),\n/* 70 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://tc39.github.io/proposal-setmap-offrom/\nvar $export = __webpack_require__(0);\nvar aFunction = __webpack_require__(10);\nvar ctx = __webpack_require__(21);\nvar forOf = __webpack_require__(37);\n\nmodule.exports = function (COLLECTION) {\n $export($export.S, COLLECTION, { from: function from(source /* , mapFn, thisArg */) {\n var mapFn = arguments[1];\n var mapping, A, n, cb;\n aFunction(this);\n mapping = mapFn !== undefined;\n if (mapping) aFunction(mapFn);\n if (source == undefined) return new this();\n A = [];\n if (mapping) {\n n = 0;\n cb = ctx(mapFn, arguments[2], 2);\n forOf(source, false, function (nextItem) {\n A.push(cb(nextItem, n++));\n });\n } else {\n forOf(source, false, A.push, A);\n }\n return new this(A);\n } });\n};\n\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://tc39.github.io/proposal-setmap-offrom/\nvar $export = __webpack_require__(0);\n\nmodule.exports = function (COLLECTION) {\n $export($export.S, COLLECTION, { of: function of() {\n var length = arguments.length;\n var A = new Array(length);\n while (length--) A[length] = arguments[length];\n return new this(A);\n } });\n};\n\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(23);\nvar defined = __webpack_require__(27);\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(2);\nvar hide = __webpack_require__(12);\nvar uid = __webpack_require__(45);\nvar TYPED = uid('typed_array');\nvar VIEW = uid('view');\nvar ABV = !!(global.ArrayBuffer && global.DataView);\nvar CONSTR = ABV;\nvar i = 0;\nvar l = 9;\nvar Typed;\n\nvar TypedArrayConstructors = (\n 'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array'\n).split(',');\n\nwhile (i < l) {\n if (Typed = global[TypedArrayConstructors[i++]]) {\n hide(Typed.prototype, TYPED, true);\n hide(Typed.prototype, VIEW, true);\n } else CONSTR = false;\n}\n\nmodule.exports = {\n ABV: ABV,\n CONSTR: CONSTR,\n TYPED: TYPED,\n VIEW: VIEW\n};\n\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(2);\nvar navigator = global.navigator;\n\nmodule.exports = navigator && navigator.userAgent || '';\n\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _rule = __webpack_require__(58);\n\nvar _rule2 = _interopRequireDefault(_rule);\n\nvar _grammartobnf = __webpack_require__(24);\n\nvar _grammartobnf2 = _interopRequireDefault(_grammartobnf);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Grammar = function () {\n function Grammar(rules) {\n _classCallCheck(this, Grammar);\n\n if (arguments.length == 0) {\n rules = [];\n } else if (rules.constructor !== Array) {\n rules = arguments;\n }\n this.rules = rules;\n }\n\n /**\r\n * @return {Rule[]}\r\n */\n\n\n _createClass(Grammar, [{\n key: 'getRules',\n value: function getRules() {\n return this.rules;\n }\n\n /**\r\n * @param {GrammarToBNF} grammarToBNF \r\n * @return {string}\r\n */\n\n }, {\n key: 'toBNF',\n value: function toBNF(grammarToBNF) {\n var sb = [];\n for (var i = 0; i < this.rules.length; i++) {\n if (i > 0) {\n sb.push(\"\\n\");\n }\n sb.push(this.rules[i].toBNF(grammarToBNF));\n }\n return sb.join(\"\");\n }\n }]);\n\n return Grammar;\n}();\n\nexports.default = Grammar;\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _expression = __webpack_require__(32);\n\nvar _expression2 = _interopRequireDefault(_expression);\n\nvar _rrtext = __webpack_require__(52);\n\nvar _rrtext2 = _interopRequireDefault(_rrtext);\n\nvar _grammartorrdiagram = __webpack_require__(25);\n\nvar _grammartorrdiagram2 = _interopRequireDefault(_grammartorrdiagram);\n\nvar _rrelement = __webpack_require__(11);\n\nvar _rrelement2 = _interopRequireDefault(_rrelement);\n\nvar _grammartobnf = __webpack_require__(24);\n\nvar _grammartobnf2 = _interopRequireDefault(_grammartobnf);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Literal = function (_Expression) {\n _inherits(Literal, _Expression);\n\n /**\r\n * @param {string} text \r\n */\n function Literal(text) {\n _classCallCheck(this, Literal);\n\n var _this = _possibleConstructorReturn(this, (Literal.__proto__ || Object.getPrototypeOf(Literal)).call(this));\n\n _this.text = text;\n return _this;\n }\n\n /**\r\n * @param {GrammarToRRDiagram} grammarToRRDiagram \r\n * @return {RRElement}\r\n */\n\n\n _createClass(Literal, [{\n key: 'toRRElement',\n value: function toRRElement(grammarToRRDiagram) {\n return new _rrtext2.default(_rrtext2.default.Type.LITERAL, this.text, null);\n }\n\n /**\r\n * @param {GrammarToBNF} grammarToBNF \r\n * @param {string[]} sb \r\n * @param {boolean} isNested \r\n */\n\n }, {\n key: 'toBNF',\n value: function toBNF(grammarToBNF, sb, isNested) {\n var c = grammarToBNF.literalDefinitionSign == _grammartobnf2.default.LiteralDefinitionSign.DOUBLE_QUOTE ? '\"' : '\\'';\n sb.push(c);\n sb.push(this.text);\n sb.push(c);\n }\n\n /**\r\n * @param {*} o \r\n * @return {boolean}\r\n */\n\n }, {\n key: 'equals',\n value: function equals(o) {\n if (!(o instanceof Literal)) {\n return false;\n }\n return this.text == o.text;\n }\n }]);\n\n return Literal;\n}(_expression2.default);\n\nexports.default = Literal;\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _expression = __webpack_require__(32);\n\nvar _expression2 = _interopRequireDefault(_expression);\n\nvar _rrchoice = __webpack_require__(81);\n\nvar _rrchoice2 = _interopRequireDefault(_rrchoice);\n\nvar _rrline = __webpack_require__(115);\n\nvar _rrline2 = _interopRequireDefault(_rrline);\n\nvar _rrloop = __webpack_require__(82);\n\nvar _rrloop2 = _interopRequireDefault(_rrloop);\n\nvar _grammartorrdiagram = __webpack_require__(25);\n\nvar _grammartorrdiagram2 = _interopRequireDefault(_grammartorrdiagram);\n\nvar _rrelement = __webpack_require__(11);\n\nvar _rrelement2 = _interopRequireDefault(_rrelement);\n\nvar _grammartobnf = __webpack_require__(24);\n\nvar _grammartobnf2 = _interopRequireDefault(_grammartobnf);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Repetition = function (_Expression) {\n _inherits(Repetition, _Expression);\n\n /**\r\n * @param {Expression} expression \r\n * @param {number} minRepetitionCount \r\n * @param {?number} maxRepetitionCount \r\n */\n function Repetition(expression, minRepetitionCount, maxRepetitionCount) {\n _classCallCheck(this, Repetition);\n\n var _this = _possibleConstructorReturn(this, (Repetition.__proto__ || Object.getPrototypeOf(Repetition)).call(this));\n\n _this.expression = expression;\n _this.minRepetitionCount = minRepetitionCount | 0;\n _this.maxRepetitionCount = maxRepetitionCount;\n return _this;\n }\n\n /**\r\n * @return {Expression}\r\n */\n\n\n _createClass(Repetition, [{\n key: 'getExpression',\n value: function getExpression() {\n return this.expression;\n }\n\n /**\r\n * @return {number}\r\n */\n\n }, {\n key: 'getMinRepetitionCount',\n value: function getMinRepetitionCount() {\n return this.minRepetitionCount;\n }\n\n /**\r\n * @return {?number}\r\n */\n\n }, {\n key: 'getMaxRepetitionCount',\n value: function getMaxRepetitionCount() {\n return this.maxRepetitionCount;\n }\n\n /**\r\n * @param {GrammarToRRDiagram} grammarToRRDiagram \r\n * @return {RRElement}\r\n */\n\n }, {\n key: 'toRRElement',\n value: function toRRElement(grammarToRRDiagram) {\n var rrElement = this.expression.toRRElement(grammarToRRDiagram);\n if (this.minRepetitionCount == 0) {\n if (this.maxRepetitionCount == null || this.maxRepetitionCount > 1) {\n return new _rrchoice2.default(new _rrloop2.default(rrElement, null, 0, this.maxRepetitionCount == null ? null : this.maxRepetitionCount - 1), new _rrline2.default());\n }\n return new _rrchoice2.default(rrElement, new _rrline2.default());\n }\n return new _rrloop2.default(rrElement, null, this.minRepetitionCount - 1, this.maxRepetitionCount == null ? null : this.maxRepetitionCount - 1);\n }\n\n /**\r\n * @param {GrammarToBNF} grammarToBNF \r\n * @param {string[]} sb \r\n * @param {boolean} isNested \r\n */\n\n }, {\n key: 'toBNF',\n value: function toBNF(grammarToBNF, sb, isNested) {\n var isUsingMultiplicationTokens = grammarToBNF.isUsingMultiplicationTokens;\n if (this.maxRepetitionCount == null) {\n if (this.minRepetitionCount > 0) {\n if (this.minRepetitionCount == 1 && isUsingMultiplicationTokens) {\n this.expression.toBNF(grammarToBNF, sb, true);\n sb.push(\"+\");\n } else {\n if (isNested) {\n sb.push(\"( \");\n }\n if (this.minRepetitionCount > 1) {\n sb.push(this.minRepetitionCount, \" * \");\n }\n this.expression.toBNF(grammarToBNF, sb, false);\n if (grammarToBNF.isCommaSeparator) {\n sb.push(\" ,\");\n }\n sb.push(\" \", \"{ \");\n this.expression.toBNF(grammarToBNF, sb, false);\n sb.push(\" }\");\n if (isNested) {\n sb.push(\" )\");\n }\n }\n } else {\n if (isUsingMultiplicationTokens) {\n this.expression.toBNF(grammarToBNF, sb, true);\n sb.push(\"*\");\n } else {\n sb.push(\"{ \");\n this.expression.toBNF(grammarToBNF, sb, false);\n sb.push(\" }\");\n }\n }\n } else {\n if (this.minRepetitionCount == 0) {\n if (this.maxRepetitionCount == 1 && isUsingMultiplicationTokens) {\n this.expression.toBNF(grammarToBNF, sb, true);\n sb.push(\"?\");\n } else {\n if (this.maxRepetitionCount > 1) {\n sb.push(this.maxRepetitionCount, \" * \");\n }\n sb.push(\"[ \");\n this.expression.toBNF(grammarToBNF, sb, false);\n sb.push(\" ]\");\n }\n } else {\n if (this.minRepetitionCount == this.maxRepetitionCount) {\n sb.push(this.minRepetitionCount, \" * \");\n this.expression.toBNF(grammarToBNF, sb, isNested);\n } else {\n if (isNested) {\n sb.push(\"( \");\n }\n sb.push(this.minRepetitionCount, \" * \");\n this.expression.toBNF(grammarToBNF, sb, false);\n if (grammarToBNF.isCommaSeparator) {\n sb.push(\" ,\");\n }\n sb.push(\" \", this.maxRepetitionCount - this.minRepetitionCount, \" * \", \"[ \");\n this.expression.toBNF(grammarToBNF, sb, false);\n sb.push(\" ]\");\n if (isNested) {\n sb.push(\" )\");\n }\n }\n }\n }\n }\n\n /**\r\n * @param {*} o \r\n * @return {boolean}\r\n */\n\n }, {\n key: 'equals',\n value: function equals(o) {\n if (!(o instanceof Repetition)) {\n return false;\n }\n return this.expression.equals(o.expression) && this.minRepetitionCount == o.minRepetitionCount && this.maxRepetitionCount == null ? o.maxRepetitionCount == null : this.maxRepetitionCount.equals(o.maxRepetitionCount);\n }\n }]);\n\n return Repetition;\n}(_expression2.default);\n\nexports.default = Repetition;\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _expression = __webpack_require__(32);\n\nvar _expression2 = _interopRequireDefault(_expression);\n\nvar _rrbreak = __webpack_require__(80);\n\nvar _rrbreak2 = _interopRequireDefault(_rrbreak);\n\nvar _rrtext = __webpack_require__(52);\n\nvar _rrtext2 = _interopRequireDefault(_rrtext);\n\nvar _grammartorrdiagram = __webpack_require__(25);\n\nvar _grammartorrdiagram2 = _interopRequireDefault(_grammartorrdiagram);\n\nvar _rrelement = __webpack_require__(11);\n\nvar _rrelement2 = _interopRequireDefault(_rrelement);\n\nvar _grammartobnf = __webpack_require__(24);\n\nvar _grammartobnf2 = _interopRequireDefault(_grammartobnf);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar RuleReference = function (_Expression) {\n _inherits(RuleReference, _Expression);\n\n /**\r\n * @param {string} ruleName \r\n */\n function RuleReference(ruleName) {\n _classCallCheck(this, RuleReference);\n\n var _this = _possibleConstructorReturn(this, (RuleReference.__proto__ || Object.getPrototypeOf(RuleReference)).call(this));\n\n _this.ruleName = ruleName;\n return _this;\n }\n\n _createClass(RuleReference, [{\n key: 'getRuleName',\n value: function getRuleName() {\n return this.ruleName;\n }\n\n /**\r\n * @param {GrammarToRRDiagram} grammarToRRDiagram \r\n * @return {RRElement}\r\n */\n\n }, {\n key: 'toRRElement',\n value: function toRRElement(grammarToRRDiagram) {\n var ruleConsideredAsLineBreak = grammarToRRDiagram.ruleConsideredAsLineBreak;\n if (ruleConsideredAsLineBreak != null && ruleConsideredAsLineBreak === this.ruleName) {\n return new _rrbreak2.default();\n }\n var ruleLinkProvider = grammarToRRDiagram.ruleLinkProvider;\n return new _rrtext2.default(_rrtext2.default.Type.RULE, this.ruleName, ruleLinkProvider == null ? null : ruleLinkProvider(this.ruleName));\n }\n\n /**\r\n * @param {GrammarToBNF} grammarToBNF \r\n * @param {string[]} sb \r\n * @param {boolean} isNested \r\n */\n\n }, {\n key: 'toBNF',\n value: function toBNF(grammarToBNF, sb, isNested) {\n sb.push(this.ruleName);\n var ruleConsideredAsLineBreak = grammarToBNF.ruleConsideredAsLineBreak;\n if (ruleConsideredAsLineBreak != null && ruleConsideredAsLineBreak === this.ruleName) {\n sb.push(\"\\n\");\n }\n }\n\n /**\r\n * @param {*} o \r\n * @return {boolean}\r\n */\n\n }, {\n key: 'equals',\n value: function equals(o) {\n if (!(o instanceof RuleReference)) {\n return false;\n }\n return this.ruleName == o.ruleName;\n }\n }]);\n\n return RuleReference;\n}(_expression2.default);\n\nexports.default = RuleReference;\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _expression = __webpack_require__(32);\n\nvar _expression2 = _interopRequireDefault(_expression);\n\nvar _rrloop = __webpack_require__(82);\n\nvar _rrloop2 = _interopRequireDefault(_rrloop);\n\nvar _rrsequence = __webpack_require__(83);\n\nvar _rrsequence2 = _interopRequireDefault(_rrsequence);\n\nvar _rulereference = __webpack_require__(78);\n\nvar _rulereference2 = _interopRequireDefault(_rulereference);\n\nvar _repetition = __webpack_require__(77);\n\nvar _repetition2 = _interopRequireDefault(_repetition);\n\nvar _literal = __webpack_require__(76);\n\nvar _literal2 = _interopRequireDefault(_literal);\n\nvar _grammartorrdiagram = __webpack_require__(25);\n\nvar _grammartorrdiagram2 = _interopRequireDefault(_grammartorrdiagram);\n\nvar _rrelement = __webpack_require__(11);\n\nvar _rrelement2 = _interopRequireDefault(_rrelement);\n\nvar _grammartobnf = __webpack_require__(24);\n\nvar _grammartobnf2 = _interopRequireDefault(_grammartobnf);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Sequence = function (_Expression) {\n _inherits(Sequence, _Expression);\n\n /**\r\n * @param {(Expression | Expression[])} expressions \r\n */\n function Sequence(expressions) {\n _classCallCheck(this, Sequence);\n\n var _this = _possibleConstructorReturn(this, (Sequence.__proto__ || Object.getPrototypeOf(Sequence)).call(this));\n\n if (arguments.length == 0) {\n expressions = [];\n } else if (expressions.constructor !== Array) {\n expressions = arguments;\n }\n _this.expressions = expressions;\n return _this;\n }\n\n /**\r\n * @param {Expression[]}\r\n */\n\n\n _createClass(Sequence, [{\n key: 'getExpressions',\n value: function getExpressions() {\n return this.expressions;\n }\n\n /**\r\n * @param {GrammarToRRDiagram} grammarToRRDiagram \r\n * @return {RRElement}\r\n */\n\n }, {\n key: 'toRRElement',\n value: function toRRElement(grammarToRRDiagram) {\n var rrElementList = [];\n for (var i = 0; i < this.expressions.length; i++) {\n var expression = this.expressions[i];\n var rrElement = expression.toRRElement(grammarToRRDiagram);\n // Treat special case of: \"a (',' a)*\" and \"a (a)*\"\n if (i < this.expressions.length - 1 && this.expressions[i + 1] instanceof _repetition2.default) {\n var repetition = this.expressions[i + 1];\n var repetitionExpression = repetition.getExpression();\n if (repetitionExpression instanceof Sequence) {\n // Treat special case of: \"expr (',' expr)*\"\n var subExpressions = repetitionExpression.getExpressions();\n if (subExpressions.length == 2 && subExpressions[0] instanceof _literal2.default) {\n if (expression.equals(subExpressions[1])) {\n var maxRepetitionCount = repetition.getMaxRepetitionCount();\n if (maxRepetitionCount == null || maxRepetitionCount > 1) {\n rrElement = new _rrloop2.default(expression.toRRElement(grammarToRRDiagram), subExpressions[0].toRRElement(grammarToRRDiagram), repetition.getMinRepetitionCount(), maxRepetitionCount == null ? null : maxRepetitionCount);\n i++;\n }\n }\n }\n } else if (expression instanceof _rulereference2.default) {\n var ruleLink = expression;\n // Treat special case of: a (a)*\n if (repetitionExpression instanceof _rulereference2.default && repetitionExpression.getRuleName().equals(ruleLink.getRuleName())) {\n var _maxRepetitionCount = repetition.getMaxRepetitionCount();\n if (_maxRepetitionCount == null || _maxRepetitionCount > 1) {\n rrElement = new _rrloop2.default(ruleLink.toRRElement(grammarToRRDiagram), null, repetition.getMinRepetitionCount(), _maxRepetitionCount == null ? null : _maxRepetitionCount);\n i++;\n }\n }\n }\n }\n rrElementList.push(rrElement);\n }\n return new _rrsequence2.default(rrElementList);\n }\n\n /**\r\n * @param {GrammarToBNF} grammarToBNF \r\n * @param {string[]} sb \r\n * @param {boolean} isNested \r\n */\n\n }, {\n key: 'toBNF',\n value: function toBNF(grammarToBNF, sb, isNested) {\n if (this.expressions.length == 0) {\n sb.push(\"( )\");\n return;\n }\n if (isNested && this.expressions.length > 1) {\n sb.push(\"( \");\n }\n var isCommaSeparator = grammarToBNF.isCommaSeparator;\n for (var i = 0; i < this.expressions.length; i++) {\n if (i > 0) {\n if (isCommaSeparator) {\n sb.push(\" ,\");\n }\n sb.push(\" \");\n }\n this.expressions[i].toBNF(grammarToBNF, sb, this.expressions.length == 1 && isNested || !isCommaSeparator);\n }\n if (isNested && this.expressions.length > 1) {\n sb.push(\" )\");\n }\n }\n\n /**\r\n * @param {*} o \r\n * @return {boolean}\r\n */\n\n }, {\n key: 'equals',\n value: function equals(o) {\n if (!(o instanceof Sequence)) {\n return false;\n }\n if (this.expressions.length != o.expressions.length) {\n return false;\n }\n for (var i = 0; i < this.expressions.length; i++) {\n if (!this.expressions[i].equals(o.expressions[i])) {\n return false;\n }\n }\n return true;\n }\n }]);\n\n return Sequence;\n}(_expression2.default);\n\nexports.default = Sequence;\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _rrelement = __webpack_require__(11);\n\nvar _rrelement2 = _interopRequireDefault(_rrelement);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar RRBreak = function (_RRElement) {\n _inherits(RRBreak, _RRElement);\n\n function RRBreak() {\n _classCallCheck(this, RRBreak);\n\n return _possibleConstructorReturn(this, (RRBreak.__proto__ || Object.getPrototypeOf(RRBreak)).call(this));\n }\n\n _createClass(RRBreak, [{\n key: \"computeLayoutInfo\",\n value: function computeLayoutInfo(rrDiagramToSVG) {\n throw \"This element must not be nested and should have been processed before entering generation.\";\n }\n }, {\n key: \"toSVG\",\n value: function toSVG(rrDiagramToSVG, xOffset, yOffset, svgContent) {\n throw \"This element must not be nested and should have been processed before entering generation.\";\n }\n }]);\n\n return RRBreak;\n}(_rrelement2.default);\n\nexports.default = RRBreak;\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _rrelement = __webpack_require__(11);\n\nvar _rrelement2 = _interopRequireDefault(_rrelement);\n\nvar _layoutinfo = __webpack_require__(51);\n\nvar _layoutinfo2 = _interopRequireDefault(_layoutinfo);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar RRChoice = function (_RRElement) {\n _inherits(RRChoice, _RRElement);\n\n /**\r\n * @param {(RRElement[] | RRElement)} rrElements \r\n */\n function RRChoice(rrElements) {\n _classCallCheck(this, RRChoice);\n\n var _this = _possibleConstructorReturn(this, (RRChoice.__proto__ || Object.getPrototypeOf(RRChoice)).call(this));\n\n if (arguments.length == 0) {\n rrElements = [];\n } else if (rrElements.constructor !== Array) {\n rrElements = arguments;\n }\n _this.rrElements = rrElements;\n return _this;\n }\n\n _createClass(RRChoice, [{\n key: 'computeLayoutInfo',\n value: function computeLayoutInfo(rrDiagramToSVG) {\n var width = 0;\n var height = 0;\n var connectorOffset = 0;\n for (var i = 0; i < this.rrElements.length; i++) {\n var rrElement = this.rrElements[i];\n rrElement.computeLayoutInfo(rrDiagramToSVG);\n var layoutInfo = rrElement.getLayoutInfo();\n if (i == 0) {\n connectorOffset = layoutInfo.getConnectorOffset();\n } else {\n height += 5;\n }\n height += layoutInfo.getHeight();\n width = Math.max(width, layoutInfo.getWidth());\n }\n width += 20 + 20;\n this.setLayoutInfo(new _layoutinfo2.default(width, height, connectorOffset));\n }\n }, {\n key: 'toSVG',\n value: function toSVG(rrDiagramToSVG, xOffset, yOffset, svgContent) {\n var layoutInfo = this.getLayoutInfo();\n var y1 = yOffset + layoutInfo.getConnectorOffset();\n var x1 = xOffset + 10;\n var x2 = xOffset + layoutInfo.getWidth() - 10;\n var xOffset2 = xOffset + 20;\n var y2 = 0;\n var yOffset2 = yOffset;\n for (var i = 0; i < this.rrElements.length; i++) {\n var rrElement = this.rrElements[i];\n var layoutInfo2 = rrElement.getLayoutInfo();\n var width = layoutInfo2.getWidth();\n var height = layoutInfo2.getHeight();\n y2 = yOffset2 + layoutInfo2.getConnectorOffset();\n if (i == 0) {\n // Line to first element\n svgContent.addLineConnector(x1 - 10, y1, x1 + 10, y1);\n } else {\n if (i == this.rrElements.length - 1) {\n // Curve and vertical down\n svgContent.addPathConnector(x1 - 5, y1, \"q5 0 5 5\", x1, y1 + 5);\n svgContent.addLineConnector(x1, y1 + 5, x1, y2 - 5);\n }\n // Curve and horizontal line to element\n svgContent.addPathConnector(x1, y2 - 5, \"q0 5 5 5\", x1 + 5, y2);\n svgContent.addLineConnector(x1 + 5, y2, xOffset2, y2);\n }\n rrElement.toSVG(rrDiagramToSVG, xOffset2, yOffset2, svgContent);\n if (i == 0) {\n // Line to first element\n svgContent.addLineConnector(xOffset2 + width, y2, x2 + 10, y2);\
[all...]
/plugin/bpmnio/vendor/bpmn-js/dist/
H A Dbpmn-modeler.production.min.js7y2:t+i}}function Wt(){return this.join(",").replace(Pt,"$1")}function Ut(e){var t=zt(e);return t.t…
/plugin/bpmnio/vendor/dmn-js/dist/
H A Ddmn-modeler.production.min.js7y2:t+i}}function xr(){return this.join(",").replace(or,"$1")}function wr(e){var t=gr(e);return t.t…
/plugin/katex/_assets/
H A Dkatex.min.js1 …{x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(t)&&l.push(new Q(…
/plugin/achart/assets/
H A Dapexcharts.min.js6y2:a,stroke:s,"stroke-dasharray":r,"stroke-width":o,"stroke-linecap":n});return h}},{key:"drawRect… property in AnonymousFunction1cae5b510100.S.t.yAxisAnnotation
/plugin/stlviewer/stlviewer/
H A DCanvasRenderer.js804 function drawTriangle( x0, y0, x1, y1, x2, y2 ) { argument
809 _context.lineTo( x2, y2 );
922 function patternPath( x0, y0, x1, y1, x2, y2, u0, v0, u1, v1, u2, v2, texture ) { argument
963 x2 -= x0; y2 -= y0;
975 b = ( v2 * y1 - v1 * y2 ) * idet;
977 d = ( u1 * y2 - u2 * y1 ) * idet;
/plugin/authgooglesheets/vendor/phpseclib/phpseclib/phpseclib/Crypt/EC/BaseCurves/
H A DBinary.php187 list($x2, $y2, $z2) = $q;
193 $d = $y2->multiply($o1)->multiply($z1);
197 $h = $f->multiply($x2)->add($z3->multiply($y2));
212 $d = $y2->multiply($o1)->multiply($z1);
216 $h = $f->multiply($x2)->add($g->multiply($y2));
H A DPrime.php227 list($x2, $y2) = $q;
232 $s2 = $y2->multiply($z12->multiply($z1));
263 list($x2, $y2, $z2) = $q;
271 $s2 = $y2->multiply($z12->multiply($z1));
371 $y2 = $y->multiply($y);
373 $s = $this->four->multiply($x)->multiply($y2);
379 $this->eight->multiply($y2->multiply($y2))
394 $y2 = $y->multiply($y);
395 $s = $this->four->multiply($x)->multiply($y2);
400 $this->eight->multiply($y2->multiply($y2))
H A DTwistedEdwards.php212 $y2 = $y->multiply($y);
214 $lhs = $this->a->multiply($x2)->add($y2);
215 $rhs = $this->d->multiply($x2)->multiply($y2)->add($this->one);
/plugin/authgooglesheets/vendor/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/
H A DEd25519.php113 $y2 = $y->multiply($y);
114 $u = $y2->subtract($this->one);
115 $v = $this->d->multiply($y2)->add($this->one);
315 list($x2, $y2, $z2, $t2) = $q;
317 $a = $y1->subtract($x1)->multiply($y2->subtract($x2));
318 $b = $y1->add($x1)->multiply($y2->add($x2));
H A DEd448.php69 $y2 = $y->multiply($y);
70 $u = $y2->subtract($this->one);
71 $v = $this->d->multiply($y2)->subtract($this->one);
253 list($x2, $y2, $z2) = $q;
258 $d = $y1->multiply($y2);
262 $h = $x1->add($y1)->multiply($x2->add($y2));
/plugin/authgooglesheets/vendor/phpseclib/phpseclib/phpseclib/Math/BinaryField/
H A DInteger.php301 $y2 = $y & 0x44444444;
304 $z0 = ($x0 * $y0) ^ ($x1 * $y3) ^ ($x2 * $y2) ^ ($x3 * $y1);
305 $z1 = ($x0 * $y1) ^ ($x1 * $y0) ^ ($x2 * $y3) ^ ($x3 * $y2);
306 $z2 = ($x0 * $y2) ^ ($x1 * $y1) ^ ($x2 * $y0) ^ ($x3 * $y3);
307 $z3 = ($x0 * $y3) ^ ($x1 * $y2) ^ ($x2 * $y1) ^ ($x3 * $y0);

123456789