!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.mermaid=e():t.mermaid=e()}("undefined"!=typeof self?self:this,(function(){return function(t){var e={};function r(i){if(e[i])return e[i].exports;var n=e[i]={i:i,l:!1,exports:{}};return t[i].call(n.exports,n,n.exports,r),n.l=!0,n.exports}return r.m=t,r.c=e,r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var n in t)r.d(i,n,function(e){return t[e]}.bind(null,n));return i},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=35)}([function(t,e){t.exports=require("d3")},function(t,e,r){(function(t,i){var n=function(){var t=function(t,e,r,i){for(r=r||{},i=t.length;i--;r[t[i]]=e);return r},e=[1,2],r=[1,3],i=[1,4],n=[2,4],a=[1,9],s=[1,11],o=[1,12],l=[1,14],c=[1,15],u=[1,16],h=[1,18],d=[1,19],f=[1,20],p=[1,21],y=[1,22],g=[1,23],m=[1,25],b=[1,26],x=[1,4,5,10,15,16,17,19,21,22,23,24,25,27,29,30,31,42],k=[1,34],v=[4,5,10,15,16,17,19,21,22,23,24,25,27,31,42],E=[4,5,10,15,16,17,19,21,22,23,24,25,27,30,31,42],_=[4,5,10,15,16,17,19,21,22,23,24,25,27,29,31,42],w=[40,41,42],A={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,participant:10,actor:11,AS:12,restOfLine:13,signal:14,autonumber:15,activate:16,deactivate:17,note_statement:18,title:19,text2:20,loop:21,end:22,rect:23,opt:24,alt:25,else_sections:26,par:27,par_sections:28,and:29,else:30,note:31,placement:32,over:33,actor_pair:34,spaceList:35,",":36,left_of:37,right_of:38,signaltype:39,"+":40,"-":41,ACTOR:42,SOLID_OPEN_ARROW:43,DOTTED_OPEN_ARROW:44,SOLID_ARROW:45,DOTTED_ARROW:46,SOLID_CROSS:47,DOTTED_CROSS:48,TXT:49,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",10:"participant",12:"AS",13:"restOfLine",15:"autonumber",16:"activate",17:"deactivate",19:"title",21:"loop",22:"end",23:"rect",24:"opt",25:"alt",27:"par",29:"and",30:"else",31:"note",33:"over",36:",",37:"left_of",38:"right_of",40:"+",41:"-",42:"ACTOR",43:"SOLID_OPEN_ARROW",44:"DOTTED_OPEN_ARROW",45:"SOLID_ARROW",46:"DOTTED_ARROW",47:"SOLID_CROSS",48:"DOTTED_CROSS",49:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,5],[9,3],[9,2],[9,1],[9,3],[9,3],[9,2],[9,3],[9,4],[9,4],[9,4],[9,4],[9,4],[28,1],[28,4],[26,1],[26,4],[18,4],[18,4],[35,2],[35,1],[34,3],[34,1],[32,1],[32,1],[14,5],[14,5],[14,4],[11,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[20,1]],performAction:function(t,e,r,i,n,a,s){var o=a.length-1;switch(n){case 3:return i.apply(a[o]),a[o];case 4:this.$=[];break;case 5:a[o-1].push(a[o]),this.$=a[o-1];break;case 6:case 7:this.$=a[o];break;case 8:this.$=[];break;case 9:a[o-3].description=a[o-1],this.$=a[o-3];break;case 10:this.$=a[o-1];break;case 12:i.enableSequenceNumbers();break;case 13:this.$={type:"activeStart",signalType:i.LINETYPE.ACTIVE_START,actor:a[o-1]};break;case 14:this.$={type:"activeEnd",signalType:i.LINETYPE.ACTIVE_END,actor:a[o-1]};break;case 16:this.$=[{type:"setTitle",text:a[o-1]}];break;case 17:a[o-1].unshift({type:"loopStart",loopText:a[o-2],signalType:i.LINETYPE.LOOP_START}),a[o-1].push({type:"loopEnd",loopText:a[o-2],signalType:i.LINETYPE.LOOP_END}),this.$=a[o-1];break;case 18:a[o-1].unshift({type:"rectStart",color:a[o-2],signalType:i.LINETYPE.RECT_START}),a[o-1].push({type:"rectEnd",color:a[o-2],signalType:i.LINETYPE.RECT_END}),this.$=a[o-1];break;case 19:a[o-1].unshift({type:"optStart",optText:a[o-2],signalType:i.LINETYPE.OPT_START}),a[o-1].push({type:"optEnd",optText:a[o-2],signalType:i.LINETYPE.OPT_END}),this.$=a[o-1];break;case 20:a[o-1].unshift({type:"altStart",altText:a[o-2],signalType:i.LINETYPE.ALT_START}),a[o-1].push({type:"altEnd",signalType:i.LINETYPE.ALT_END}),this.$=a[o-1];break;case 21:a[o-1].unshift({type:"parStart",parText:a[o-2],signalType:i.LINETYPE.PAR_START}),a[o-1].push({type:"parEnd",signalType:i.LINETYPE.PAR_END}),this.$=a[o-1];break;case 23:this.$=a[o-3].concat([{type:"and",parText:a[o-1],signalType:i.LINETYPE.PAR_AND},a[o]]);break;case 25:this.$=a[o-3].concat([{type:"else",altText:a[o-1],signalType:i.LINETYPE.ALT_ELSE},a[o]]);break;case 26:this.$=[a[o-1],{type:"addNote",placement:a[o-2],actor:a[o-1].actor,text:a[o]}];break;case 27:a[o-2]=[].concat(a[o-1],a[o-1]).slice(0,2),a[o-2][0]=a[o-2][0].actor,a[o-2][1]=a[o-2][1].actor,this.$=[a[o-1],{type:"addNote",placement:i.PLACEMENT.OVER,actor:a[o-2].slice(0,2),text:a[o]}];break;case 30:this.$=[a[o-2],a[o]];break;case 31:this.$=a[o];break;case 32:this.$=i.PLACEMENT.LEFTOF;break;case 33:this.$=i.PLACEMENT.RIGHTOF;break;case 34:this.$=[a[o-4],a[o-1],{type:"addMessage",from:a[o-4].actor,to:a[o-1].actor,signalType:a[o-3],msg:a[o]},{type:"activeStart",signalType:i.LINETYPE.ACTIVE_START,actor:a[o-1]}];break;case 35:this.$=[a[o-4],a[o-1],{type:"addMessage",from:a[o-4].actor,to:a[o-1].actor,signalType:a[o-3],msg:a[o]},{type:"activeEnd",signalType:i.LINETYPE.ACTIVE_END,actor:a[o-4]}];break;case 36:this.$=[a[o-3],a[o-1],{type:"addMessage",from:a[o-3].actor,to:a[o-1].actor,signalType:a[o-2],msg:a[o]}];break;case 37:this.$={type:"addActor",actor:a[o]};break;case 38:this.$=i.LINETYPE.SOLID_OPEN;break;case 39:this.$=i.LINETYPE.DOTTED_OPEN;break;case 40:this.$=i.LINETYPE.SOLID;break;case 41:this.$=i.LINETYPE.DOTTED;break;case 42:this.$=i.LINETYPE.SOLID_CROSS;break;case 43:this.$=i.LINETYPE.DOTTED_CROSS;break;case 44:this.$=a[o].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:e,5:r,6:i},{1:[3]},{3:5,4:e,5:r,6:i},{3:6,4:e,5:r,6:i},t([1,4,5,10,15,16,17,19,21,23,24,25,27,31,42],n,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:s,8:8,9:10,10:o,11:24,14:13,15:l,16:c,17:u,18:17,19:h,21:d,23:f,24:p,25:y,27:g,31:m,42:b},t(x,[2,5]),{9:27,10:o,11:24,14:13,15:l,16:c,17:u,18:17,19:h,21:d,23:f,24:p,25:y,27:g,31:m,42:b},t(x,[2,7]),t(x,[2,8]),{11:28,42:b},{5:[1,29]},t(x,[2,12]),{11:30,42:b},{11:31,42:b},{5:[1,32]},{20:33,49:k},{13:[1,35]},{13:[1,36]},{13:[1,37]},{13:[1,38]},{13:[1,39]},{39:40,43:[1,41],44:[1,42],45:[1,43],46:[1,44],47:[1,45],48:[1,46]},{32:47,33:[1,48],37:[1,49],38:[1,50]},t([5,12,36,43,44,45,46,47,48,49],[2,37]),t(x,[2,6]),{5:[1,52],12:[1,51]},t(x,[2,11]),{5:[1,53]},{5:[1,54]},t(x,[2,15]),{5:[1,55]},{5:[2,44]},t(v,n,{7:56}),t(v,n,{7:57}),t(v,n,{7:58}),t(E,n,{26:59,7:60}),t(_,n,{28:61,7:62}),{11:65,40:[1,63],41:[1,64],42:b},t(w,[2,38]),t(w,[2,39]),t(w,[2,40]),t(w,[2,41]),t(w,[2,42]),t(w,[2,43]),{11:66,42:b},{11:68,34:67,42:b},{42:[2,32]},{42:[2,33]},{13:[1,69]},t(x,[2,10]),t(x,[2,13]),t(x,[2,14]),t(x,[2,16]),{4:a,5:s,8:8,9:10,10:o,11:24,14:13,15:l,16:c,17:u,18:17,19:h,21:d,22:[1,70],23:f,24:p,25:y,27:g,31:m,42:b},{4:a,5:s,8:8,9:10,10:o,11:24,14:13,15:l,16:c,17:u,18:17,19:h,21:d,22:[1,71],23:f,24:p,25:y,27:g,31:m,42:b},{4:a,5:s,8:8,9:10,10:o,11:24,14:13,15:l,16:c,17:u,18:17,19:h,21:d,22:[1,72],23:f,24:p,25:y,27:g,31:m,42:b},{22:[1,73]},{4:a,5:s,8:8,9:10,10:o,11:24,14:13,15:l,16:c,17:u,18:17,19:h,21:d,22:[2,24],23:f,24:p,25:y,27:g,30:[1,74],31:m,42:b},{22:[1,75]},{4:a,5:s,8:8,9:10,10:o,11:24,14:13,15:l,16:c,17:u,18:17,19:h,21:d,22:[2,22],23:f,24:p,25:y,27:g,29:[1,76],31:m,42:b},{11:77,42:b},{11:78,42:b},{20:79,49:k},{20:80,49:k},{20:81,49:k},{36:[1,82],49:[2,31]},{5:[1,83]},t(x,[2,17]),t(x,[2,18]),t(x,[2,19]),t(x,[2,20]),{13:[1,84]},t(x,[2,21]),{13:[1,85]},{20:86,49:k},{20:87,49:k},{5:[2,36]},{5:[2,26]},{5:[2,27]},{11:88,42:b},t(x,[2,9]),t(E,n,{7:60,26:89}),t(_,n,{7:62,28:90}),{5:[2,34]},{5:[2,35]},{49:[2,30]},{22:[2,25]},{22:[2,23]}],defaultActions:{5:[2,1],6:[2,2],34:[2,44],49:[2,32],50:[2,33],79:[2,36],80:[2,26],81:[2,27],86:[2,34],87:[2,35],88:[2,30],89:[2,25],90:[2,23]},parseError:function(t,e){if(!e.recoverable){var r=new Error(t);throw r.hash=e,r}this.trace(t)},parse:function(t){var e=this,r=[0],i=[],n=[null],a=[],s=this.table,o="",l=0,c=0,u=0,h=2,d=1,f=a.slice.call(arguments,1),p=Object.create(this.lexer),y={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(y.yy[g]=this.yy[g]);p.setInput(t,y.yy),y.yy.lexer=p,y.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var m=p.yylloc;a.push(m);var b=p.options&&p.options.ranges;function x(){var t;return"number"!=typeof(t=i.pop()||p.lex()||d)&&(t instanceof Array&&(t=(i=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof y.yy.parseError?this.parseError=y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var k,v,E,_,w,A,T,S,O,C={};;){if(E=r[r.length-1],this.defaultActions[E]?_=this.defaultActions[E]:(null==k&&(k=x()),_=s[E]&&s[E][k]),void 0===_||!_.length||!_[0]){var D="";for(A in O=[],s[E])this.terminals_[A]&&A>h&&O.push("'"+this.terminals_[A]+"'");D=p.showPosition?"Parse error on line "+(l+1)+":\n"+p.showPosition()+"\nExpecting "+O.join(", ")+", got '"+(this.terminals_[k]||k)+"'":"Parse error on line "+(l+1)+": Unexpected "+(k==d?"end of input":"'"+(this.terminals_[k]||k)+"'"),this.parseError(D,{text:p.match,token:this.terminals_[k]||k,line:p.yylineno,loc:m,expected:O})}if(_[0]instanceof Array&&_.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+k);switch(_[0]){case 1:r.push(k),n.push(p.yytext),a.push(p.yylloc),r.push(_[1]),k=null,v?(k=v,v=null):(c=p.yyleng,o=p.yytext,l=p.yylineno,m=p.yylloc,u>0&&u--);break;case 2:if(T=this.productions_[_[1]][1],C.$=n[n.length-T],C._$={first_line:a[a.length-(T||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(T||1)].first_column,last_column:a[a.length-1].last_column},b&&(C._$.range=[a[a.length-(T||1)].range[0],a[a.length-1].range[1]]),void 0!==(w=this.performAction.apply(C,[o,c,l,y.yy,_[1],n,a].concat(f))))return w;T&&(r=r.slice(0,-1*T*2),n=n.slice(0,-1*T),a=a.slice(0,-1*T)),r.push(this.productions_[_[1]][0]),n.push(C.$),a.push(C._$),S=s[r[r.length-2]][r[r.length-1]],r.push(S);break;case 3:return!0}}return!0}},T={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,r=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var n=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===i.length?this.yylloc.first_column:0)+i[i.length-r.length].length-r[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var r,i,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(n.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in n)this[a]=n[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,r,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var n=this._currentRules(),a=0;ae[0].length)){if(e=r,i=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,n[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,n[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,r,i){switch(r){case 0:return 5;case 1:case 2:case 3:case 4:break;case 5:return this.begin("ID"),10;case 6:return e.yytext=e.yytext.trim(),this.begin("ALIAS"),42;case 7:return this.popState(),this.popState(),this.begin("LINE"),12;case 8:return this.popState(),this.popState(),5;case 9:return this.begin("LINE"),21;case 10:return this.begin("LINE"),23;case 11:return this.begin("LINE"),24;case 12:return this.begin("LINE"),25;case 13:return this.begin("LINE"),30;case 14:return this.begin("LINE"),27;case 15:return this.begin("LINE"),29;case 16:return this.popState(),13;case 17:return 22;case 18:return 37;case 19:return 38;case 20:return 33;case 21:return 31;case 22:return this.begin("ID"),16;case 23:return this.begin("ID"),17;case 24:return 19;case 25:return 6;case 26:return 15;case 27:return 36;case 28:return 5;case 29:return e.yytext=e.yytext.trim(),42;case 30:return 45;case 31:return 46;case 32:return 43;case 33:return 44;case 34:return 47;case 35:return 48;case 36:return 49;case 37:return 40;case 38:return 41;case 39:return 5;case 40:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:[^\->:\n,;]+?(?=((?!\n)\s)+as(?!\n)\s|[#\n;]|$))/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:rect\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:and\b)/i,/^(?:[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:autonumber\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\+\->:\n,;]+)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?::[^#\n;]+)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[2,3,16],inclusive:!1},ALIAS:{rules:[2,3,7,8],inclusive:!1},ID:{rules:[2,3,6],inclusive:!1},INITIAL:{rules:[0,1,3,4,5,9,10,11,12,13,14,15,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40],inclusive:!0}}};function S(){this.yy={}}return A.lexer=T,S.prototype=A,A.Parser=S,new S}();e.parser=n,e.Parser=n.Parser,e.parse=function(){return n.parse.apply(n,arguments)},e.main=function(i){i[1]||(console.log("Usage: "+i[0]+" FILE"),t.exit(1));var n=r(6).readFileSync(r(7).normalize(i[1]),"utf8");return e.parser.parse(n)},r.c[r.s]===i&&e.main(t.argv.slice(1))}).call(this,r(4),r(5)(t))},function(t,e){t.exports=require("graphlib")},function(t,e){t.exports=require("dagre-d3")},function(t,e){var r,i,n=t.exports={};function a(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function o(t){if(r===setTimeout)return setTimeout(t,0);if((r===a||!r)&&setTimeout)return r=setTimeout,setTimeout(t,0);try{return r(t,0)}catch(e){try{return r.call(null,t,0)}catch(e){return r.call(this,t,0)}}}!function(){try{r="function"==typeof setTimeout?setTimeout:a}catch(t){r=a}try{i="function"==typeof clearTimeout?clearTimeout:s}catch(t){i=s}}();var l,c=[],u=!1,h=-1;function d(){u&&l&&(u=!1,l.length?c=l.concat(c):h=-1,c.length&&f())}function f(){if(!u){var t=o(d);u=!0;for(var e=c.length;e;){for(l=c,c=[];++h1)for(var r=1;r=0;i--){var n=t[i];"."===n?t.splice(i,1):".."===n?(t.splice(i,1),r++):r&&(t.splice(i,1),r--)}if(e)for(;r--;r)t.unshift("..");return t}function i(t,e){if(t.filter)return t.filter(e);for(var r=[],i=0;i=-1&&!n;a--){var s=a>=0?arguments[a]:t.cwd();if("string"!=typeof s)throw new TypeError("Arguments to path.resolve must be strings");s&&(e=s+"/"+e,n="/"===s.charAt(0))}return(n?"/":"")+(e=r(i(e.split("/"),(function(t){return!!t})),!n).join("/"))||"."},e.normalize=function(t){var a=e.isAbsolute(t),s="/"===n(t,-1);return(t=r(i(t.split("/"),(function(t){return!!t})),!a).join("/"))||a||(t="."),t&&s&&(t+="/"),(a?"/":"")+t},e.isAbsolute=function(t){return"/"===t.charAt(0)},e.join=function(){var t=Array.prototype.slice.call(arguments,0);return e.normalize(i(t,(function(t,e){if("string"!=typeof t)throw new TypeError("Arguments to path.join must be strings");return t})).join("/"))},e.relative=function(t,r){function i(t){for(var e=0;e=0&&""===t[r];r--);return e>r?[]:t.slice(e,r-e+1)}t=e.resolve(t).substr(1),r=e.resolve(r).substr(1);for(var n=i(t.split("/")),a=i(r.split("/")),s=Math.min(n.length,a.length),o=s,l=0;l=1;--a)if(47===(e=t.charCodeAt(a))){if(!n){i=a;break}}else n=!1;return-1===i?r?"/":".":r&&1===i?"/":t.slice(0,i)},e.basename=function(t,e){var r=function(t){"string"!=typeof t&&(t+="");var e,r=0,i=-1,n=!0;for(e=t.length-1;e>=0;--e)if(47===t.charCodeAt(e)){if(!n){r=e+1;break}}else-1===i&&(n=!1,i=e+1);return-1===i?"":t.slice(r,i)}(t);return e&&r.substr(-1*e.length)===e&&(r=r.substr(0,r.length-e.length)),r},e.extname=function(t){"string"!=typeof t&&(t+="");for(var e=-1,r=0,i=-1,n=!0,a=0,s=t.length-1;s>=0;--s){var o=t.charCodeAt(s);if(47!==o)-1===i&&(n=!1,i=s+1),46===o?-1===e?e=s:1!==a&&(a=1):-1!==e&&(a=-1);else if(!n){r=s+1;break}}return-1===e||-1===i||0===a||1===a&&e===i-1&&e===r+1?"":t.slice(e,i)};var n="b"==="ab".substr(-1)?function(t,e,r){return t.substr(e,r)}:function(t,e,r){return e<0&&(e=t.length+e),t.substr(e,r)}}).call(this,r(4))},function(t,e,r){(function(t,i){var n=function(){var t=function(t,e,r,i){for(r=r||{},i=t.length;i--;r[t[i]]=e);return r},e=[1,2],r=[1,3],i=[1,4],n=[2,4],a=[1,9],s=[1,11],o=[1,13],l=[1,14],c=[1,15],u=[1,16],h=[1,21],d=[1,17],f=[1,18],p=[1,19],y=[1,20],g=[1,22],m=[1,4,5,13,14,16,18,19,21,22,23,24,25,28],b=[1,4,5,11,12,13,14,16,18,19,21,22,23,24,25,28],x=[4,5,13,14,16,18,19,21,22,23,24,25,28],k={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,idStatement:10,DESCR:11,"--\x3e":12,HIDE_EMPTY:13,scale:14,WIDTH:15,COMPOSIT_STATE:16,STRUCT_START:17,STRUCT_STOP:18,STATE_DESCR:19,AS:20,ID:21,FORK:22,JOIN:23,CONCURRENT:24,note:25,notePosition:26,NOTE_TEXT:27,EDGE_STATE:28,left_of:29,right_of:30,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",11:"DESCR",12:"--\x3e",13:"HIDE_EMPTY",14:"scale",15:"WIDTH",16:"COMPOSIT_STATE",17:"STRUCT_START",18:"STRUCT_STOP",19:"STATE_DESCR",20:"AS",21:"ID",22:"FORK",23:"JOIN",24:"CONCURRENT",25:"note",27:"NOTE_TEXT",28:"EDGE_STATE",29:"left_of",30:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,4],[9,4],[10,1],[10,1],[26,1],[26,1]],performAction:function(t,e,r,i,n,a,s){var o=a.length-1;switch(n){case 3:return i.setRootDoc(a[o]),a[o];case 4:this.$=[];break;case 5:"nl"!=a[o]&&(a[o-1].push(a[o]),this.$=a[o-1]);break;case 6:case 7:this.$=a[o];break;case 8:this.$="nl";break;case 9:this.$={stmt:"state",id:a[o],type:"default",description:""};break;case 10:this.$={stmt:"state",id:a[o-1],type:"default",description:i.trimColon(a[o])};break;case 11:this.$={stmt:"relation",state1:{stmt:"state",id:a[o-2],type:"default",description:""},state2:{stmt:"state",id:a[o],type:"default",description:""}};break;case 12:this.$={stmt:"relation",state1:{stmt:"state",id:a[o-3],type:"default",description:""},state2:{stmt:"state",id:a[o-1],type:"default",description:""},description:a[o].substr(1).trim()};break;case 16:this.$={stmt:"state",id:a[o-3],type:"default",description:"",doc:a[o-1]};break;case 17:var l=a[o],c=a[o-2].trim();if(a[o].match(":")){var u=a[o].split(":");l=u[0],c=[c,u[1]]}this.$={stmt:"state",id:l,type:"default",description:c};break;case 18:this.$={stmt:"state",id:a[o-3],type:"default",description:a[o-5],doc:a[o-1]};break;case 19:this.$={stmt:"state",id:a[o],type:"fork"};break;case 20:this.$={stmt:"state",id:a[o],type:"join"};break;case 21:this.$={stmt:"state",id:i.getDividerId(),type:"divider"};break;case 22:this.$={stmt:"state",id:a[o-1].trim(),note:{position:a[o-2].trim(),text:a[o].trim()}};break;case 24:case 25:this.$=a[o]}},table:[{3:1,4:e,5:r,6:i},{1:[3]},{3:5,4:e,5:r,6:i},{3:6,4:e,5:r,6:i},t([1,4,5,13,14,16,19,21,22,23,24,25,28],n,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:s,8:8,9:10,10:12,13:o,14:l,16:c,19:u,21:h,22:d,23:f,24:p,25:y,28:g},t(m,[2,5]),{9:23,10:12,13:o,14:l,16:c,19:u,21:h,22:d,23:f,24:p,25:y,28:g},t(m,[2,7]),t(m,[2,8]),t(m,[2,9],{11:[1,24],12:[1,25]}),t(m,[2,13]),{15:[1,26]},t(m,[2,15],{17:[1,27]}),{20:[1,28]},t(m,[2,19]),t(m,[2,20]),t(m,[2,21]),{26:29,27:[1,30],29:[1,31],30:[1,32]},t(b,[2,24]),t(b,[2,25]),t(m,[2,6]),t(m,[2,10]),{10:33,21:h,28:g},t(m,[2,14]),t(x,n,{7:34}),{21:[1,35]},{21:[1,36]},{20:[1,37]},{21:[2,26]},{21:[2,27]},t(m,[2,11],{11:[1,38]}),{4:a,5:s,8:8,9:10,10:12,13:o,14:l,16:c,18:[1,39],19:u,21:h,22:d,23:f,24:p,25:y,28:g},t(m,[2,17],{17:[1,40]}),{27:[1,41]},{21:[1,42]},t(m,[2,12]),t(m,[2,16]),t(x,n,{7:43}),t(m,[2,22]),t(m,[2,23]),{4:a,5:s,8:8,9:10,10:12,13:o,14:l,16:c,18:[1,44],19:u,21:h,22:d,23:f,24:p,25:y,28:g},t(m,[2,18])],defaultActions:{5:[2,1],6:[2,2],31:[2,26],32:[2,27]},parseError:function(t,e){if(!e.recoverable){var r=new Error(t);throw r.hash=e,r}this.trace(t)},parse:function(t){var e=this,r=[0],i=[],n=[null],a=[],s=this.table,o="",l=0,c=0,u=0,h=2,d=1,f=a.slice.call(arguments,1),p=Object.create(this.lexer),y={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(y.yy[g]=this.yy[g]);p.setInput(t,y.yy),y.yy.lexer=p,y.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var m=p.yylloc;a.push(m);var b=p.options&&p.options.ranges;function x(){var t;return"number"!=typeof(t=i.pop()||p.lex()||d)&&(t instanceof Array&&(t=(i=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof y.yy.parseError?this.parseError=y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var k,v,E,_,w,A,T,S,O,C={};;){if(E=r[r.length-1],this.defaultActions[E]?_=this.defaultActions[E]:(null==k&&(k=x()),_=s[E]&&s[E][k]),void 0===_||!_.length||!_[0]){var D="";for(A in O=[],s[E])this.terminals_[A]&&A>h&&O.push("'"+this.terminals_[A]+"'");D=p.showPosition?"Parse error on line "+(l+1)+":\n"+p.showPosition()+"\nExpecting "+O.join(", ")+", got '"+(this.terminals_[k]||k)+"'":"Parse error on line "+(l+1)+": Unexpected "+(k==d?"end of input":"'"+(this.terminals_[k]||k)+"'"),this.parseError(D,{text:p.match,token:this.terminals_[k]||k,line:p.yylineno,loc:m,expected:O})}if(_[0]instanceof Array&&_.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+k);switch(_[0]){case 1:r.push(k),n.push(p.yytext),a.push(p.yylloc),r.push(_[1]),k=null,v?(k=v,v=null):(c=p.yyleng,o=p.yytext,l=p.yylineno,m=p.yylloc,u>0&&u--);break;case 2:if(T=this.productions_[_[1]][1],C.$=n[n.length-T],C._$={first_line:a[a.length-(T||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(T||1)].first_column,last_column:a[a.length-1].last_column},b&&(C._$.range=[a[a.length-(T||1)].range[0],a[a.length-1].range[1]]),void 0!==(w=this.performAction.apply(C,[o,c,l,y.yy,_[1],n,a].concat(f))))return w;T&&(r=r.slice(0,-1*T*2),n=n.slice(0,-1*T),a=a.slice(0,-1*T)),r.push(this.productions_[_[1]][0]),n.push(C.$),a.push(C._$),S=s[r[r.length-2]][r[r.length-1]],r.push(S);break;case 3:return!0}}return!0}},v={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,r=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var n=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===i.length?this.yylloc.first_column:0)+i[i.length-r.length].length-r[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var r,i,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(n.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in n)this[a]=n[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,r,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var n=this._currentRules(),a=0;ae[0].length)){if(e=r,i=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,n[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,n[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,r,i){switch(r){case 0:return 5;case 1:case 2:case 3:case 4:break;case 5:return this.pushState("SCALE"),14;case 6:return 15;case 7:this.popState();break;case 8:this.pushState("STATE");break;case 9:return this.popState(),e.yytext=e.yytext.slice(0,-8).trim(),22;case 10:return this.popState(),e.yytext=e.yytext.slice(0,-8).trim(),23;case 11:return this.popState(),e.yytext=e.yytext.slice(0,-8).trim(),22;case 12:return this.popState(),e.yytext=e.yytext.slice(0,-8).trim(),23;case 13:this.begin("STATE_STRING");break;case 14:return this.popState(),this.pushState("STATE_ID"),"AS";case 15:return this.popState(),"ID";case 16:this.popState();break;case 17:return"STATE_DESCR";case 18:return 16;case 19:this.popState();break;case 20:return this.popState(),this.pushState("struct"),17;case 21:return this.popState(),18;case 22:break;case 23:return this.begin("NOTE"),25;case 24:return this.popState(),this.pushState("NOTE_ID"),29;case 25:return this.popState(),this.pushState("NOTE_ID"),30;case 26:this.popState(),this.pushState("FLOATING_NOTE");break;case 27:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";case 28:break;case 29:return"NOTE_TEXT";case 30:return this.popState(),"ID";case 31:return this.popState(),this.pushState("NOTE_TEXT"),21;case 32:return this.popState(),e.yytext=e.yytext.substr(2).trim(),27;case 33:return this.popState(),e.yytext=e.yytext.slice(0,-8).trim(),27;case 34:case 35:return 6;case 36:return 13;case 37:return 28;case 38:return 21;case 39:return e.yytext=e.yytext.trim(),11;case 40:return 12;case 41:return 24;case 42:return 5;case 43:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*\[\[fork\]\])/i,/^(?:.*\[\[join\]\])/i,/^(?:["])/i,/^(?:\s*as\s+)/i,/^(?:[^\n\{]*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n\s\{]+)/i,/^(?:\n)/i,/^(?:\{)/i,/^(?:\})/i,/^(?:[\n])/i,/^(?:note\s+)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:")/i,/^(?:\s*as\s*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n]*)/i,/^(?:\s*[^:\n\s\-]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:\s*[^:;]+end note\b)/i,/^(?:stateDiagram\s+)/i,/^(?:stateDiagram-v2\s+)/i,/^(?:hide empty description\b)/i,/^(?:\[\*\])/i,/^(?:[^:\n\s\-\{]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:-->)/i,/^(?:--)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[2,3],inclusive:!1},struct:{rules:[2,3,8,21,22,23,37,38,39,40,41],inclusive:!1},FLOATING_NOTE_ID:{rules:[30],inclusive:!1},FLOATING_NOTE:{rules:[27,28,29],inclusive:!1},NOTE_TEXT:{rules:[32,33],inclusive:!1},NOTE_ID:{rules:[31],inclusive:!1},NOTE:{rules:[24,25,26],inclusive:!1},SCALE:{rules:[6,7],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[15],inclusive:!1},STATE_STRING:{rules:[16,17],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[2,3,9,10,11,12,13,14,18,19,20],inclusive:!1},ID:{rules:[2,3],inclusive:!1},INITIAL:{rules:[0,1,3,4,5,8,20,23,34,35,36,37,38,39,40,42,43],inclusive:!0}}};function E(){this.yy={}}return k.lexer=v,E.prototype=k,k.Parser=E,new E}();e.parser=n,e.Parser=n.Parser,e.parse=function(){return n.parse.apply(n,arguments)},e.main=function(i){i[1]||(console.log("Usage: "+i[0]+" FILE"),t.exit(1));var n=r(6).readFileSync(r(7).normalize(i[1]),"utf8");return e.parser.parse(n)},r.c[r.s]===i&&e.main(t.argv.slice(1))}).call(this,r(4),r(5)(t))},function(t,e){t.exports=require("moment-mini")},function(t,e,r){(function(t,i){var n=function(){var t=function(t,e,r,i){for(r=r||{},i=t.length;i--;r[t[i]]=e);return r},e=[1,4],r=[1,3],i=[1,5],n=[1,8,9,10,11,26,34,63,64,65,66,67,68,78,79,82,83,84,86,87,93,94,95,96,97,98],a=[2,2],s=[1,12],o=[1,13],l=[1,14],c=[1,15],u=[1,22],h=[1,46],d=[1,24],f=[1,25],p=[1,26],y=[1,27],g=[1,28],m=[1,40],b=[1,35],x=[1,37],k=[1,32],v=[1,36],E=[1,39],_=[1,43],w=[1,44],A=[1,45],T=[1,34],S=[1,38],O=[1,41],C=[1,42],D=[1,33],F=[1,51],N=[1,8,9,10,11,26,30,34,63,64,65,66,67,68,78,79,82,83,84,86,87,93,94,95,96,97,98],L=[1,55],I=[1,54],B=[1,56],M=[8,9,11,57,58],P=[8,9,10,11,57,58],R=[8,9,10,11,35,57,58],j=[8,9,10,11,28,34,35,37,39,41,43,45,47,49,50,52,57,58,68,78,79,82,83,84,86,87,93,94,95,96,97,98],$=[8,9,11,34,57,58,68,78,79,82,83,84,86,87,93,94,95,96,97,98],z=[34,68,78,79,82,83,84,86,87,93,94,95,96,97,98],Y=[1,101],G=[1,122],V=[1,123],U=[1,124],H=[1,125],W=[1,105],q=[1,96],X=[1,97],Z=[1,93],J=[1,117],K=[1,118],Q=[1,119],tt=[1,120],et=[1,121],rt=[1,126],it=[1,127],nt=[1,99],at=[1,107],st=[1,110],ot=[1,108],lt=[1,109],ct=[1,102],ut=[1,115],ht=[1,114],dt=[1,98],ft=[1,95],pt=[1,104],yt=[1,106],gt=[1,111],mt=[1,112],bt=[1,113],xt=[1,116],kt=[8,9,10,11,26,30,34,63,64,65,66,67,68,78,79,82,83,84,86,87,93,94,95,96,97,98],vt=[1,130],Et=[1,134],_t=[1,136],wt=[1,137],At=[8,9,10,11,12,13,26,28,29,30,34,38,40,42,44,46,48,49,51,53,57,58,59,63,64,65,66,67,68,69,72,78,79,82,83,84,86,87,88,89,93,94,95,96,97,98],Tt=[8,9,10,11,13,34,68,78,79,82,83,84,86,87,93,94,95,96,97,98],St=[10,79],Ot=[1,204],Ct=[1,208],Dt=[1,205],Ft=[1,202],Nt=[1,199],Lt=[1,200],It=[1,201],Bt=[1,203],Mt=[1,206],Pt=[1,207],Rt=[1,209],jt=[8,9,11],$t=[1,225],zt=[8,9,11,79],Yt=[8,9,10,11,63,75,78,79,82,83,84,85,86,87,88],Gt={trace:function(){},yy:{},symbols_:{error:2,mermaidDoc:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,DIR:13,FirstStmtSeperator:14,ending:15,endToken:16,spaceList:17,spaceListNewline:18,verticeStatement:19,separator:20,styleStatement:21,linkStyleStatement:22,classDefStatement:23,classStatement:24,clickStatement:25,subgraph:26,text:27,SQS:28,SQE:29,end:30,link:31,node:32,vertex:33,AMP:34,STYLE_SEPARATOR:35,idString:36,PS:37,PE:38,"(-":39,"-)":40,STADIUMSTART:41,STADIUMEND:42,SUBROUTINESTART:43,SUBROUTINEEND:44,CYLINDERSTART:45,CYLINDEREND:46,DIAMOND_START:47,DIAMOND_STOP:48,TAGEND:49,TRAPSTART:50,TRAPEND:51,INVTRAPSTART:52,INVTRAPEND:53,linkStatement:54,arrowText:55,TESTSTR:56,START_LINK:57,LINK:58,PIPE:59,textToken:60,STR:61,keywords:62,STYLE:63,LINKSTYLE:64,CLASSDEF:65,CLASS:66,CLICK:67,DOWN:68,UP:69,textNoTags:70,textNoTagsToken:71,DEFAULT:72,stylesOpt:73,alphaNum:74,HEX:75,numList:76,INTERPOLATE:77,NUM:78,COMMA:79,style:80,styleComponent:81,ALPHA:82,COLON:83,MINUS:84,UNIT:85,BRKT:86,DOT:87,PCT:88,TAGSTART:89,alphaNumToken:90,idStringToken:91,alphaNumStatement:92,PUNCTUATION:93,UNICODE_TEXT:94,PLUS:95,EQUALS:96,MULT:97,UNDERSCORE:98,graphCodeTokens:99,ARROW_CROSS:100,ARROW_POINT:101,ARROW_CIRCLE:102,ARROW_OPEN:103,QUOTE:104,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"DIR",26:"subgraph",28:"SQS",29:"SQE",30:"end",34:"AMP",35:"STYLE_SEPARATOR",37:"PS",38:"PE",39:"(-",40:"-)",41:"STADIUMSTART",42:"STADIUMEND",43:"SUBROUTINESTART",44:"SUBROUTINEEND",45:"CYLINDERSTART",46:"CYLINDEREND",47:"DIAMOND_START",48:"DIAMOND_STOP",49:"TAGEND",50:"TRAPSTART",51:"TRAPEND",52:"INVTRAPSTART",53:"INVTRAPEND",56:"TESTSTR",57:"START_LINK",58:"LINK",59:"PIPE",61:"STR",63:"STYLE",64:"LINKSTYLE",65:"CLASSDEF",66:"CLASS",67:"CLICK",68:"DOWN",69:"UP",72:"DEFAULT",75:"HEX",77:"INTERPOLATE",78:"NUM",79:"COMMA",82:"ALPHA",83:"COLON",84:"MINUS",85:"UNIT",86:"BRKT",87:"DOT",88:"PCT",89:"TAGSTART",93:"PUNCTUATION",94:"UNICODE_TEXT",95:"PLUS",96:"EQUALS",97:"MULT",98:"UNDERSCORE",100:"ARROW_CROSS",101:"ARROW_POINT",102:"ARROW_CIRCLE",103:"ARROW_OPEN",104:"QUOTE"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,3],[15,2],[15,1],[16,1],[16,1],[16,1],[14,1],[14,1],[14,2],[18,2],[18,2],[18,1],[18,1],[17,2],[17,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,9],[7,6],[7,4],[20,1],[20,1],[20,1],[19,3],[19,4],[19,2],[19,1],[32,1],[32,5],[32,3],[33,4],[33,6],[33,4],[33,4],[33,4],[33,4],[33,4],[33,4],[33,6],[33,4],[33,4],[33,4],[33,4],[33,4],[33,1],[31,2],[31,3],[31,3],[31,1],[31,3],[54,1],[55,3],[27,1],[27,2],[27,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[70,1],[70,2],[23,5],[23,5],[24,5],[25,5],[25,7],[25,5],[25,7],[21,5],[21,5],[22,5],[22,5],[22,9],[22,9],[22,7],[22,7],[76,1],[76,3],[73,1],[73,3],[80,1],[80,2],[81,1],[81,1],[81,1],[81,1],[81,1],[81,1],[81,1],[81,1],[81,1],[81,1],[81,1],[60,1],[60,1],[60,1],[60,1],[60,1],[60,1],[71,1],[71,1],[71,1],[71,1],[36,1],[36,2],[74,1],[74,2],[92,1],[92,1],[92,1],[92,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[99,1],[99,1],[99,1],[99,1],[99,1],[99,1],[99,1],[99,1],[99,1],[99,1],[99,1],[99,1],[99,1],[99,1],[99,1],[99,1],[99,1],[99,1],[99,1],[99,1],[99,1],[99,1],[99,1],[99,1],[99,1]],performAction:function(t,e,r,i,n,a,s){var o=a.length-1;switch(n){case 2:this.$=[];break;case 3:a[o]!==[]&&a[o-1].push(a[o]),this.$=a[o-1];break;case 4:case 67:case 69:case 81:case 127:case 129:case 130:this.$=a[o];break;case 11:i.setDirection(a[o-1]),this.$=a[o-1];break;case 26:this.$=a[o-1].nodes;break;case 27:case 28:case 29:case 30:case 31:this.$=[];break;case 32:this.$=i.addSubGraph(a[o-6],a[o-1],a[o-4]);break;case 33:this.$=i.addSubGraph(a[o-3],a[o-1],a[o-3]);break;case 34:this.$=i.addSubGraph(void 0,a[o-1],void 0);break;case 38:i.addLink(a[o-2].stmt,a[o],a[o-1]),this.$={stmt:a[o],nodes:a[o].concat(a[o-2].nodes)};break;case 39:i.addLink(a[o-3].stmt,a[o-1],a[o-2]),this.$={stmt:a[o-1],nodes:a[o-1].concat(a[o-3].nodes)};break;case 40:this.$={stmt:a[o-1],nodes:a[o-1]};break;case 41:this.$={stmt:a[o],nodes:a[o]};break;case 42:this.$=[a[o]];break;case 43:this.$=a[o-4].concat(a[o]);break;case 44:this.$=[a[o-2]],i.setClass(a[o-2],a[o]);break;case 45:this.$=a[o-3],i.addVertex(a[o-3],a[o-1],"square");break;case 46:this.$=a[o-5],i.addVertex(a[o-5],a[o-2],"circle");break;case 47:this.$=a[o-3],i.addVertex(a[o-3],a[o-1],"ellipse");break;case 48:this.$=a[o-3],i.addVertex(a[o-3],a[o-1],"stadium");break;case 49:this.$=a[o-3],i.addVertex(a[o-3],a[o-1],"subroutine");break;case 50:this.$=a[o-3],i.addVertex(a[o-3],a[o-1],"cylinder");break;case 51:this.$=a[o-3],i.addVertex(a[o-3],a[o-1],"round");break;case 52:this.$=a[o-3],i.addVertex(a[o-3],a[o-1],"diamond");break;case 53:this.$=a[o-5],i.addVertex(a[o-5],a[o-2],"hexagon");break;case 54:this.$=a[o-3],i.addVertex(a[o-3],a[o-1],"odd");break;case 55:this.$=a[o-3],i.addVertex(a[o-3],a[o-1],"trapezoid");break;case 56:this.$=a[o-3],i.addVertex(a[o-3],a[o-1],"inv_trapezoid");break;case 57:this.$=a[o-3],i.addVertex(a[o-3],a[o-1],"lean_right");break;case 58:this.$=a[o-3],i.addVertex(a[o-3],a[o-1],"lean_left");break;case 59:this.$=a[o],i.addVertex(a[o]);break;case 60:a[o-1].text=a[o],this.$=a[o-1];break;case 61:case 62:a[o-2].text=a[o-1],this.$=a[o-2];break;case 63:this.$=a[o];break;case 64:var l=i.destructLink(a[o],a[o-2]);this.$={type:l.type,stroke:l.stroke,text:a[o-1]};break;case 65:l=i.destructLink(a[o]);this.$={type:l.type,stroke:l.stroke};break;case 66:this.$=a[o-1];break;case 68:case 82:case 128:this.$=a[o-1]+""+a[o];break;case 83:case 84:this.$=a[o-4],i.addClass(a[o-2],a[o]);break;case 85:this.$=a[o-4],i.setClass(a[o-2],a[o]);break;case 86:this.$=a[o-4],i.setClickEvent(a[o-2],a[o],void 0);break;case 87:this.$=a[o-6],i.setClickEvent(a[o-4],a[o-2],a[o]);break;case 88:this.$=a[o-4],i.setLink(a[o-2],a[o],void 0);break;case 89:this.$=a[o-6],i.setLink(a[o-4],a[o-2],a[o]);break;case 90:this.$=a[o-4],i.addVertex(a[o-2],void 0,void 0,a[o]);break;case 91:case 93:this.$=a[o-4],i.updateLink(a[o-2],a[o]);break;case 92:this.$=a[o-4],i.updateLink([a[o-2]],a[o]);break;case 94:this.$=a[o-8],i.updateLinkInterpolate([a[o-6]],a[o-2]),i.updateLink([a[o-6]],a[o]);break;case 95:this.$=a[o-8],i.updateLinkInterpolate(a[o-6],a[o-2]),i.updateLink(a[o-6],a[o]);break;case 96:this.$=a[o-6],i.updateLinkInterpolate([a[o-4]],a[o]);break;case 97:this.$=a[o-6],i.updateLinkInterpolate(a[o-4],a[o]);break;case 98:case 100:this.$=[a[o]];break;case 99:case 101:a[o-2].push(a[o]),this.$=a[o-2];break;case 103:this.$=a[o-1]+a[o];break;case 125:this.$=a[o];break;case 126:this.$=a[o-1]+""+a[o];break;case 131:this.$="v";break;case 132:this.$="-"}},table:[{3:1,4:2,9:e,10:r,12:i},{1:[3]},t(n,a,{5:6}),{4:7,9:e,10:r,12:i},{4:8,9:e,10:r,12:i},{13:[1,9]},{1:[2,1],6:10,7:11,8:s,9:o,10:l,11:c,19:16,21:17,22:18,23:19,24:20,25:21,26:u,32:23,33:29,34:h,36:30,63:d,64:f,65:p,66:y,67:g,68:m,78:b,79:x,82:k,83:v,84:E,86:_,87:w,91:31,93:A,94:T,95:S,96:O,97:C,98:D},t(n,[2,9]),t(n,[2,10]),{8:[1,48],9:[1,49],10:F,14:47,17:50},t(N,[2,3]),t(N,[2,4]),t(N,[2,5]),t(N,[2,6]),t(N,[2,7]),t(N,[2,8]),{8:L,9:I,11:B,20:52,31:53,54:57,57:[1,58],58:[1,59]},{8:L,9:I,11:B,20:60},{8:L,9:I,11:B,20:61},{8:L,9:I,11:B,20:62},{8:L,9:I,11:B,20:63},{8:L,9:I,11:B,20:64},{8:L,9:I,10:[1,65],11:B,20:66},t(M,[2,41],{17:67,10:F}),{10:[1,68]},{10:[1,69]},{10:[1,70]},{10:[1,71]},{10:[1,72]},t(P,[2,42],{35:[1,73]}),t(R,[2,59],{91:84,28:[1,74],34:h,37:[1,75],39:[1,76],41:[1,77],43:[1,78],45:[1,79],47:[1,80],49:[1,81],50:[1,82],52:[1,83],68:m,78:b,79:x,82:k,83:v,84:E,86:_,87:w,93:A,94:T,95:S,96:O,97:C,98:D}),t(j,[2,125]),t(j,[2,146]),t(j,[2,147]),t(j,[2,148]),t(j,[2,149]),t(j,[2,150]),t(j,[2,151]),t(j,[2,152]),t(j,[2,153]),t(j,[2,154]),t(j,[2,155]),t(j,[2,156]),t(j,[2,157]),t(j,[2,158]),t(j,[2,159]),t(j,[2,160]),t(n,[2,11]),t(n,[2,17]),t(n,[2,18]),{9:[1,85]},t($,[2,25],{17:86,10:F}),t(N,[2,26]),{32:87,33:29,34:h,36:30,68:m,78:b,79:x,82:k,83:v,84:E,86:_,87:w,91:31,93:A,94:T,95:S,96:O,97:C,98:D},t(N,[2,35]),t(N,[2,36]),t(N,[2,37]),t(z,[2,63],{55:88,56:[1,89],59:[1,90]}),{10:Y,12:G,13:V,26:U,27:91,30:H,34:W,49:q,57:X,60:92,61:Z,62:103,63:J,64:K,65:Q,66:tt,67:et,68:rt,69:it,71:94,72:nt,78:at,79:st,82:ot,83:lt,84:ct,86:ut,87:ht,88:dt,89:ft,90:100,93:pt,94:yt,95:gt,96:mt,97:bt,98:xt},t([34,56,59,68,78,79,82,83,84,86,87,93,94,95,96,97,98],[2,65]),t(N,[2,27]),t(N,[2,28]),t(N,[2,29]),t(N,[2,30]),t(N,[2,31]),{10:Y,12:G,13:V,26:U,27:128,30:H,34:W,49:q,57:X,60:92,61:Z,62:103,63:J,64:K,65:Q,66:tt,67:et,68:rt,69:it,71:94,72:nt,78:at,79:st,82:ot,83:lt,84:ct,86:ut,87:ht,88:dt,89:ft,90:100,93:pt,94:yt,95:gt,96:mt,97:bt,98:xt},t(kt,a,{5:129}),t(M,[2,40],{34:vt}),{13:Et,34:W,68:_t,74:131,75:[1,132],78:at,79:st,82:ot,83:lt,84:wt,86:ut,87:ht,90:135,92:133,93:pt,94:yt,95:gt,96:mt,97:bt,98:xt},{72:[1,138],76:139,78:[1,140]},{13:Et,34:W,68:_t,72:[1,141],74:142,78:at,79:st,82:ot,83:lt,84:wt,86:ut,87:ht,90:135,92:133,93:pt,94:yt,95:gt,96:mt,97:bt,98:xt},{13:Et,34:W,68:_t,74:143,78:at,79:st,82:ot,83:lt,84:wt,86:ut,87:ht,90:135,92:133,93:pt,94:yt,95:gt,96:mt,97:bt,98:xt},{13:Et,34:W,68:_t,74:144,78:at,79:st,82:ot,83:lt,84:wt,86:ut,87:ht,90:135,92:133,93:pt,94:yt,95:gt,96:mt,97:bt,98:xt},{34:h,36:145,68:m,78:b,79:x,82:k,83:v,84:E,86:_,87:w,91:31,93:A,94:T,95:S,96:O,97:C,98:D},{10:Y,12:G,13:V,26:U,27:146,30:H,34:W,49:q,57:X,60:92,61:Z,62:103,63:J,64:K,65:Q,66:tt,67:et,68:rt,69:it,71:94,72:nt,78:at,79:st,82:ot,83:lt,84:ct,86:ut,87:ht,88:dt,89:ft,90:100,93:pt,94:yt,95:gt,96:mt,97:bt,98:xt},{10:Y,12:G,13:V,26:U,27:148,30:H,34:W,37:[1,147],49:q,57:X,60:92,61:Z,62:103,63:J,64:K,65:Q,66:tt,67:et,68:rt,69:it,71:94,72:nt,78:at,79:st,82:ot,83:lt,84:ct,86:ut,87:ht,88:dt,89:ft,90:100,93:pt,94:yt,95:gt,96:mt,97:bt,98:xt},{10:Y,12:G,13:V,26:U,27:149,30:H,34:W,49:q,57:X,60:92,61:Z,62:103,63:J,64:K,65:Q,66:tt,67:et,68:rt,69:it,71:94,72:nt,78:at,79:st,82:ot,83:lt,84:ct,86:ut,87:ht,88:dt,89:ft,90:100,93:pt,94:yt,95:gt,96:mt,97:bt,98:xt},{10:Y,12:G,13:V,26:U,27:150,30:H,34:W,49:q,57:X,60:92,61:Z,62:103,63:J,64:K,65:Q,66:tt,67:et,68:rt,69:it,71:94,72:nt,78:at,79:st,82:ot,83:lt,84:ct,86:ut,87:ht,88:dt,89:ft,90:100,93:pt,94:yt,95:gt,96:mt,97:bt,98:xt},{10:Y,12:G,13:V,26:U,27:151,30:H,34:W,49:q,57:X,60:92,61:Z,62:103,63:J,64:K,65:Q,66:tt,67:et,68:rt,69:it,71:94,72:nt,78:at,79:st,82:ot,83:lt,84:ct,86:ut,87:ht,88:dt,89:ft,90:100,93:pt,94:yt,95:gt,96:mt,97:bt,98:xt},{10:Y,12:G,13:V,26:U,27:152,30:H,34:W,49:q,57:X,60:92,61:Z,62:103,63:J,64:K,65:Q,66:tt,67:et,68:rt,69:it,71:94,72:nt,78:at,79:st,82:ot,83:lt,84:ct,86:ut,87:ht,88:dt,89:ft,90:100,93:pt,94:yt,95:gt,96:mt,97:bt,98:xt},{10:Y,12:G,13:V,26:U,27:153,30:H,34:W,47:[1,154],49:q,57:X,60:92,61:Z,62:103,63:J,64:K,65:Q,66:tt,67:et,68:rt,69:it,71:94,72:nt,78:at,79:st,82:ot,83:lt,84:ct,86:ut,87:ht,88:dt,89:ft,90:100,93:pt,94:yt,95:gt,96:mt,97:bt,98:xt},{10:Y,12:G,13:V,26:U,27:155,30:H,34:W,49:q,57:X,60:92,61:Z,62:103,63:J,64:K,65:Q,66:tt,67:et,68:rt,69:it,71:94,72:nt,78:at,79:st,82:ot,83:lt,84:ct,86:ut,87:ht,88:dt,89:ft,90:100,93:pt,94:yt,95:gt,96:mt,97:bt,98:xt},{10:Y,12:G,13:V,26:U,27:156,30:H,34:W,49:q,57:X,60:92,61:Z,62:103,63:J,64:K,65:Q,66:tt,67:et,68:rt,69:it,71:94,72:nt,78:at,79:st,82:ot,83:lt,84:ct,86:ut,87:ht,88:dt,89:ft,90:100,93:pt,94:yt,95:gt,96:mt,97:bt,98:xt},{10:Y,12:G,13:V,26:U,27:157,30:H,34:W,49:q,57:X,60:92,61:Z,62:103,63:J,64:K,65:Q,66:tt,67:et,68:rt,69:it,71:94,72:nt,78:at,79:st,82:ot,83:lt,84:ct,86:ut,87:ht,88:dt,89:ft,90:100,93:pt,94:yt,95:gt,96:mt,97:bt,98:xt},t(j,[2,126]),t(n,[2,19]),t($,[2,24]),t(M,[2,38],{17:158,10:F}),t(z,[2,60],{10:[1,159]}),{10:[1,160]},{10:Y,12:G,13:V,26:U,27:161,30:H,34:W,49:q,57:X,60:92,61:Z,62:103,63:J,64:K,65:Q,66:tt,67:et,68:rt,69:it,71:94,72:nt,78:at,79:st,82:ot,83:lt,84:ct,86:ut,87:ht,88:dt,89:ft,90:100,93:pt,94:yt,95:gt,96:mt,97:bt,98:xt},{10:Y,12:G,13:V,26:U,30:H,34:W,49:q,57:X,58:[1,162],60:163,62:103,63:J,64:K,65:Q,66:tt,67:et,68:rt,69:it,71:94,72:nt,78:at,79:st,82:ot,83:lt,84:ct,86:ut,87:ht,88:dt,89:ft,90:100,93:pt,94:yt,95:gt,96:mt,97:bt,98:xt},t(At,[2,67]),t(At,[2,69]),t(At,[2,115]),t(At,[2,116]),t(At,[2,117]),t(At,[2,118]),t(At,[2,119]),t(At,[2,120]),t(At,[2,121]),t(At,[2,122]),t(At,[2,123]),t(At,[2,124]),t(At,[2,133]),t(At,[2,134]),t(At,[2,135]),t(At,[2,136]),t(At,[2,137]),t(At,[2,138]),t(At,[2,139]),t(At,[2,140]),t(At,[2,141]),t(At,[2,142]),t(At,[2,143]),t(At,[2,144]),t(At,[2,145]),t(At,[2,70]),t(At,[2,71]),t(At,[2,72]),t(At,[2,73]),t(At,[2,74]),t(At,[2,75]),t(At,[2,76]),t(At,[2,77]),t(At,[2,78]),t(At,[2,79]),t(At,[2,80]),{8:L,9:I,10:Y,11:B,12:G,13:V,20:165,26:U,28:[1,164],30:H,34:W,49:q,57:X,60:163,62:103,63:J,64:K,65:Q,66:tt,67:et,68:rt,69:it,71:94,72:nt,78:at,79:st,82:ot,83:lt,84:ct,86:ut,87:ht,88:dt,89:ft,90:100,93:pt,94:yt,95:gt,96:mt,97:bt,98:xt},{6:10,7:11,8:s,9:o,10:l,11:c,19:16,21:17,22:18,23:19,24:20,25:21,26:u,30:[1,166],32:23,33:29,34:h,36:30,63:d,64:f,65:p,66:y,67:g,68:m,78:b,79:x,82:k,83:v,84:E,86:_,87:w,91:31,93:A,94:T,95:S,96:O,97:C,98:D},{10:F,17:167},{10:[1,168],13:Et,34:W,68:_t,78:at,79:st,82:ot,83:lt,84:wt,86:ut,87:ht,90:135,92:169,93:pt,94:yt,95:gt,96:mt,97:bt,98:xt},{10:[1,170]},t(Tt,[2,127]),t(Tt,[2,129]),t(Tt,[2,130]),t(Tt,[2,131]),t(Tt,[2,132]),{10:[1,171]},{10:[1,172],79:[1,173]},t(St,[2,98]),{10:[1,174]},{10:[1,175],13:Et,34:W,68:_t,78:at,79:st,82:ot,83:lt,84:wt,86:ut,87:ht,90:135,92:169,93:pt,94:yt,95:gt,96:mt,97:bt,98:xt},{10:[1,176],13:Et,34:W,68:_t,78:at,79:st,82:ot,83:lt,84:wt,86:ut,87:ht,90:135,92:169,93:pt,94:yt,95:gt,96:mt,97:bt,98:xt},{10:[1,177],13:Et,34:W,68:_t,78:at,79:st,82:ot,83:lt,84:wt,86:ut,87:ht,90:135,92:169,93:pt,94:yt,95:gt,96:mt,97:bt,98:xt},t(P,[2,44],{91:84,34:h,68:m,78:b,79:x,82:k,83:v,84:E,86:_,87:w,93:A,94:T,95:S,96:O,97:C,98:D}),{10:Y,12:G,13:V,26:U,29:[1,178],30:H,34:W,49:q,57:X,60:163,62:103,63:J,64:K,65:Q,66:tt,67:et,68:rt,69:it,71:94,72:nt,78:at,79:st,82:ot,83:lt,84:ct,86:ut,87:ht,88:dt,89:ft,90:100,93:pt,94:yt,95:gt,96:mt,97:bt,98:xt},{10:Y,12:G,13:V,26:U,27:179,30:H,34:W,49:q,57:X,60:92,61:Z,62:103,63:J,64:K,65:Q,66:tt,67:et,68:rt,69:it,71:94,72:nt,78:at,79:st,82:ot,83:lt,84:ct,86:ut,87:ht,88:dt,89:ft,90:100,93:pt,94:yt,95:gt,96:mt,97:bt,98:xt},{10:Y,12:G,13:V,26:U,30:H,34:W,38:[1,180],49:q,57:X,60:163,62:103,63:J,64:K,65:Q,66:tt,67:et,68:rt,69:it,71:94,72:nt,78:at,79:st,82:ot,83:lt,84:ct,86:ut,87:ht,88:dt,89:ft,90:100,93:pt,94:yt,95:gt,96:mt,97:bt,98:xt},{10:Y,12:G,13:V,26:U,30:H,34:W,40:[1,181],49:q,57:X,60:163,62:103,63:J,64:K,65:Q,66:tt,67:et,68:rt,69:it,71:94,72:nt,78:at,79:st,82:ot,83:lt,84:ct,86:ut,87:ht,88:dt,89:ft,90:100,93:pt,94:yt,95:gt,96:mt,97:bt,98:xt},{10:Y,12:G,13:V,26:U,30:H,34:W,42:[1,182],49:q,57:X,60:163,62:103,63:J,64:K,65:Q,66:tt,67:et,68:rt,69:it,71:94,72:nt,78:at,79:st,82:ot,83:lt,84:ct,86:ut,87:ht,88:dt,89:ft,90:100,93:pt,94:yt,95:gt,96:mt,97:bt,98:xt},{10:Y,12:G,13:V,26:U,30:H,34:W,44:[1,183],49:q,57:X,60:163,62:103,63:J,64:K,65:Q,66:tt,67:et,68:rt,69:it,71:94,72:nt,78:at,79:st,82:ot,83:lt,84:ct,86:ut,87:ht,88:dt,89:ft,90:100,93:pt,94:yt,95:gt,96:mt,97:bt,98:xt},{10:Y,12:G,13:V,26:U,30:H,34:W,46:[1,184],49:q,57:X,60:163,62:103,63:J,64:K,65:Q,66:tt,67:et,68:rt,69:it,71:94,72:nt,78:at,79:st,82:ot,83:lt,84:ct,86:ut,87:ht,88:dt,89:ft,90:100,93:pt,94:yt,95:gt,96:mt,97:bt,98:xt},{10:Y,12:G,13:V,26:U,30:H,34:W,48:[1,185],49:q,57:X,60:163,62:103,63:J,64:K,65:Q,66:tt,67:et,68:rt,69:it,71:94,72:nt,78:at,79:st,82:ot,83:lt,84:ct,86:ut,87:ht,88:dt,89:ft,90:100,93:pt,94:yt,95:gt,96:mt,97:bt,98:xt},{10:Y,12:G,13:V,26:U,27:186,30:H,34:W,49:q,57:X,60:92,61:Z,62:103,63:J,64:K,65:Q,66:tt,67:et,68:rt,69:it,71:94,72:nt,78:at,79:st,82:ot,83:lt,84:ct,86:ut,87:ht,88:dt,89:ft,90:100,93:pt,94:yt,95:gt,96:mt,97:bt,98:xt},{10:Y,12:G,13:V,26:U,29:[1,187],30:H,34:W,49:q,57:X,60:163,62:103,63:J,64:K,65:Q,66:tt,67:et,68:rt,69:it,71:94,72:nt,78:at,79:st,82:ot,83:lt,84:ct,86:ut,87:ht,88:dt,89:ft,90:100,93:pt,94:yt,95:gt,96:mt,97:bt,98:xt},{10:Y,12:G,13:V,26:U,30:H,34:W,49:q,51:[1,188],53:[1,189],57:X,60:163,62:103,63:J,64:K,65:Q,66:tt,67:et,68:rt,69:it,71:94,72:nt,78:at,79:st,82:ot,83:lt,84:ct,86:ut,87:ht,88:dt,89:ft,90:100,93:pt,94:yt,95:gt,96:mt,97:bt,98:xt},{10:Y,12:G,13:V,26:U,30:H,34:W,49:q,51:[1,191],53:[1,190],57:X,60:163,62:103,63:J,64:K,65:Q,66:tt,67:et,68:rt,69:it,71:94,72:nt,78:at,79:st,82:ot,83:lt,84:ct,86:ut,87:ht,88:dt,89:ft,90:100,93:pt,94:yt,95:gt,96:mt,97:bt,98:xt},t(M,[2,39],{34:vt}),t(z,[2,62]),t(z,[2,61]),{10:Y,12:G,13:V,26:U,30:H,34:W,49:q,57:X,59:[1,192],60:163,62:103,63:J,64:K,65:Q,66:tt,67:et,68:rt,69:it,71:94,72:nt,78:at,79:st,82:ot,83:lt,84:ct,86:ut,87:ht,88:dt,89:ft,90:100,93:pt,94:yt,95:gt,96:mt,97:bt,98:xt},t(z,[2,64]),t(At,[2,68]),{10:Y,12:G,13:V,26:U,27:193,30:H,34:W,49:q,57:X,60:92,61:Z,62:103,63:J,64:K,65:Q,66:tt,67:et,68:rt,69:it,71:94,72:nt,78:at,79:st,82:ot,83:lt,84:ct,86:ut,87:ht,88:dt,89:ft,90:100,93:pt,94:yt,95:gt,96:mt,97:bt,98:xt},t(kt,a,{5:194}),t(N,[2,34]),{33:195,34:h,36:30,68:m,78:b,79:x,82:k,83:v,84:E,86:_,87:w,91:31,93:A,94:T,95:S,96:O,97:C,98:D},{10:Ot,63:Ct,73:196,75:Dt,78:Ft,80:197,81:198,82:Nt,83:Lt,84:It,85:Bt,86:Mt,87:Pt,88:Rt},t(Tt,[2,128]),{10:Ot,63:Ct,73:210,75:Dt,78:Ft,80:197,81:198,82:Nt,83:Lt,84:It,85:Bt,86:Mt,87:Pt,88:Rt},{10:Ot,63:Ct,73:211,75:Dt,77:[1,212],78:Ft,80:197,81:198,82:Nt,83:Lt,84:It,85:Bt,86:Mt,87:Pt,88:Rt},{10:Ot,63:Ct,73:213,75:Dt,77:[1,214],78:Ft,80:197,81:198,82:Nt,83:Lt,84:It,85:Bt,86:Mt,87:Pt,88:Rt},{78:[1,215]},{10:Ot,63:Ct,73:216,75:Dt,78:Ft,80:197,81:198,82:Nt,83:Lt,84:It,85:Bt,86:Mt,87:Pt,88:Rt},{10:Ot,63:Ct,73:217,75:Dt,78:Ft,80:197,81:198,82:Nt,83:Lt,84:It,85:Bt,86:Mt,87:Pt,88:Rt},{13:Et,34:W,68:_t,74:218,78:at,79:st,82:ot,83:lt,84:wt,86:ut,87:ht,90:135,92:133,93:pt,94:yt,95:gt,96:mt,97:bt,98:xt},{13:Et,34:W,61:[1,220],68:_t,74:219,78:at,79:st,82:ot,83:lt,84:wt,86:ut,87:ht,90:135,92:133,93:pt,94:yt,95:gt,96:mt,97:bt,98:xt},t(R,[2,45]),{10:Y,12:G,13:V,26:U,30:H,34:W,38:[1,221],49:q,57:X,60:163,62:103,63:J,64:K,65:Q,66:tt,67:et,68:rt,69:it,71:94,72:nt,78:at,79:st,82:ot,83:lt,84:ct,86:ut,87:ht,88:dt,89:ft,90:100,93:pt,94:yt,95:gt,96:mt,97:bt,98:xt},t(R,[2,51]),t(R,[2,47]),t(R,[2,48]),t(R,[2,49]),t(R,[2,50]),t(R,[2,52]),{10:Y,12:G,13:V,26:U,30:H,34:W,48:[1,222],49:q,57:X,60:163,62:103,63:J,64:K,65:Q,66:tt,67:et,68:rt,69:it,71:94,72:nt,78:at,79:st,82:ot,83:lt,84:ct,86:ut,87:ht,88:dt,89:ft,90:100,93:pt,94:yt,95:gt,96:mt,97:bt,98:xt},t(R,[2,54]),t(R,[2,55]),t(R,[2,57]),t(R,[2,56]),t(R,[2,58]),t([10,34,68,78,79,82,83,84,86,87,93,94,95,96,97,98],[2,66]),{10:Y,12:G,13:V,26:U,29:[1,223],30:H,34:W,49:q,57:X,60:163,62:103,63:J,64:K,65:Q,66:tt,67:et,68:rt,69:it,71:94,72:nt,78:at,79:st,82:ot,83:lt,84:ct,86:ut,87:ht,88:dt,89:ft,90:100,93:pt,94:yt,95:gt,96:mt,97:bt,98:xt},{6:10,7:11,8:s,9:o,10:l,11:c,19:16,21:17,22:18,23:19,24:20,25:21,26:u,30:[1,224],32:23,33:29,34:h,36:30,63:d,64:f,65:p,66:y,67:g,68:m,78:b,79:x,82:k,83:v,84:E,86:_,87:w,91:31,93:A,94:T,95:S,96:O,97:C,98:D},t(P,[2,43]),t(jt,[2,90],{79:$t}),t(zt,[2,100],{81:226,10:Ot,63:Ct,75:Dt,78:Ft,82:Nt,83:Lt,84:It,85:Bt,86:Mt,87:Pt,88:Rt}),t(Yt,[2,102]),t(Yt,[2,104]),t(Yt,[2,105]),t(Yt,[2,106]),t(Yt,[2,107]),t(Yt,[2,108]),t(Yt,[2,109]),t(Yt,[2,110]),t(Yt,[2,111]),t(Yt,[2,112]),t(Yt,[2,113]),t(Yt,[2,114]),t(jt,[2,91],{79:$t}),t(jt,[2,92],{79:$t}),{10:[1,227]},t(jt,[2,93],{79:$t}),{10:[1,228]},t(St,[2,99]),t(jt,[2,83],{79:$t}),t(jt,[2,84],{79:$t}),t(jt,[2,85],{90:135,92:169,13:Et,34:W,68:_t,78:at,79:st,82:ot,83:lt,84:wt,86:ut,87:ht,93:pt,94:yt,95:gt,96:mt,97:bt,98:xt}),t(jt,[2,86],{90:135,92:169,10:[1,229],13:Et,34:W,68:_t,78:at,79:st,82:ot,83:lt,84:wt,86:ut,87:ht,93:pt,94:yt,95:gt,96:mt,97:bt,98:xt}),t(jt,[2,88],{10:[1,230]}),{38:[1,231]},{48:[1,232]},{8:L,9:I,11:B,20:233},t(N,[2,33]),{10:Ot,63:Ct,75:Dt,78:Ft,80:234,81:198,82:Nt,83:Lt,84:It,85:Bt,86:Mt,87:Pt,88:Rt},t(Yt,[2,103]),{13:Et,34:W,68:_t,74:235,78:at,79:st,82:ot,83:lt,84:wt,86:ut,87:ht,90:135,92:133,93:pt,94:yt,95:gt,96:mt,97:bt,98:xt},{13:Et,34:W,68:_t,74:236,78:at,79:st,82:ot,83:lt,84:wt,86:ut,87:ht,90:135,92:133,93:pt,94:yt,95:gt,96:mt,97:bt,98:xt},{61:[1,237]},{61:[1,238]},t(R,[2,46]),t(R,[2,53]),t(kt,a,{5:239}),t(zt,[2,101],{81:226,10:Ot,63:Ct,75:Dt,78:Ft,82:Nt,83:Lt,84:It,85:Bt,86:Mt,87:Pt,88:Rt}),t(jt,[2,96],{90:135,92:169,10:[1,240],13:Et,34:W,68:_t,78:at,79:st,82:ot,83:lt,84:wt,86:ut,87:ht,93:pt,94:yt,95:gt,96:mt,97:bt,98:xt}),t(jt,[2,97],{90:135,92:169,10:[1,241],13:Et,34:W,68:_t,78:at,79:st,82:ot,83:lt,84:wt,86:ut,87:ht,93:pt,94:yt,95:gt,96:mt,97:bt,98:xt}),t(jt,[2,87]),t(jt,[2,89]),{6:10,7:11,8:s,9:o,10:l,11:c,19:16,21:17,22:18,23:19,24:20,25:21,26:u,30:[1,242],32:23,33:29,34:h,36:30,63:d,64:f,65:p,66:y,67:g,68:m,78:b,79:x,82:k,83:v,84:E,86:_,87:w,91:31,93:A,94:T,95:S,96:O,97:C,98:D},{10:Ot,63:Ct,73:243,75:Dt,78:Ft,80:197,81:198,82:Nt,83:Lt,84:It,85:Bt,86:Mt,87:Pt,88:Rt},{10:Ot,63:Ct,73:244,75:Dt,78:Ft,80:197,81:198,82:Nt,83:Lt,84:It,85:Bt,86:Mt,87:Pt,88:Rt},t(N,[2,32]),t(jt,[2,94],{79:$t}),t(jt,[2,95],{79:$t})],defaultActions:{},parseError:function(t,e){if(!e.recoverable){var r=new Error(t);throw r.hash=e,r}this.trace(t)},parse:function(t){var e=this,r=[0],i=[],n=[null],a=[],s=this.table,o="",l=0,c=0,u=0,h=2,d=1,f=a.slice.call(arguments,1),p=Object.create(this.lexer),y={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(y.yy[g]=this.yy[g]);p.setInput(t,y.yy),y.yy.lexer=p,y.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var m=p.yylloc;a.push(m);var b=p.options&&p.options.ranges;function x(){var t;return"number"!=typeof(t=i.pop()||p.lex()||d)&&(t instanceof Array&&(t=(i=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof y.yy.parseError?this.parseError=y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var k,v,E,_,w,A,T,S,O,C={};;){if(E=r[r.length-1],this.defaultActions[E]?_=this.defaultActions[E]:(null==k&&(k=x()),_=s[E]&&s[E][k]),void 0===_||!_.length||!_[0]){var D="";for(A in O=[],s[E])this.terminals_[A]&&A>h&&O.push("'"+this.terminals_[A]+"'");D=p.showPosition?"Parse error on line "+(l+1)+":\n"+p.showPosition()+"\nExpecting "+O.join(", ")+", got '"+(this.terminals_[k]||k)+"'":"Parse error on line "+(l+1)+": Unexpected "+(k==d?"end of input":"'"+(this.terminals_[k]||k)+"'"),this.parseError(D,{text:p.match,token:this.terminals_[k]||k,line:p.yylineno,loc:m,expected:O})}if(_[0]instanceof Array&&_.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+k);switch(_[0]){case 1:r.push(k),n.push(p.yytext),a.push(p.yylloc),r.push(_[1]),k=null,v?(k=v,v=null):(c=p.yyleng,o=p.yytext,l=p.yylineno,m=p.yylloc,u>0&&u--);break;case 2:if(T=this.productions_[_[1]][1],C.$=n[n.length-T],C._$={first_line:a[a.length-(T||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(T||1)].first_column,last_column:a[a.length-1].last_column},b&&(C._$.range=[a[a.length-(T||1)].range[0],a[a.length-1].range[1]]),void 0!==(w=this.performAction.apply(C,[o,c,l,y.yy,_[1],n,a].concat(f))))return w;T&&(r=r.slice(0,-1*T*2),n=n.slice(0,-1*T),a=a.slice(0,-1*T)),r.push(this.productions_[_[1]][0]),n.push(C.$),a.push(C._$),S=s[r[r.length-2]][r[r.length-1]],r.push(S);break;case 3:return!0}}return!0}},Vt={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,r=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var n=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===i.length?this.yylloc.first_column:0)+i[i.length-r.length].length-r[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var r,i,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(n.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in n)this[a]=n[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,r,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var n=this._currentRules(),a=0;ae[0].length)){if(e=r,i=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,n[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,n[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(t,e,r,i){switch(r){case 0:break;case 1:this.begin("string");break;case 2:this.popState();break;case 3:return"STR";case 4:return 63;case 5:return 72;case 6:return 64;case 7:return 77;case 8:return 65;case 9:return 66;case 10:return 67;case 11:case 12:return t.lex.firstGraph()&&this.begin("dir"),12;case 13:return 26;case 14:return 30;case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:return this.popState(),13;case 25:return 78;case 26:return 86;case 27:return 35;case 28:return 83;case 29:return 34;case 30:return 8;case 31:return 79;case 32:return 97;case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 58:case 59:case 60:return 58;case 61:case 62:case 63:case 64:case 65:case 66:case 67:case 68:case 69:case 70:case 71:case 72:return 57;case 73:return 39;case 74:return 40;case 75:return 41;case 76:return 42;case 77:return 43;case 78:return 44;case 79:return 45;case 80:return 46;case 81:return 84;case 82:return 87;case 83:return 98;case 84:return 95;case 85:return 88;case 86:case 87:return 96;case 88:return 89;case 89:return 49;case 90:return 69;case 91:return"SEP";case 92:return 68;case 93:return 82;case 94:return 51;case 95:return 50;case 96:return 53;case 97:return 52;case 98:return 93;case 99:return 94;case 100:return 59;case 101:return 37;case 102:return 38;case 103:return 28;case 104:return 29;case 105:return 47;case 106:return 48;case 107:return 104;case 108:return 9;case 109:return 10;case 110:return 11}},rules:[/^(?:%%[^\n]*\n*)/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*--[x]\s*)/,/^(?:\s*-->\s*)/,/^(?:\s*<-->\s*)/,/^(?:\s*[x]--[x]\s*)/,/^(?:\s*[o]--[o]\s*)/,/^(?:\s*[o]\.-[o]\s*)/,/^(?:\s*<==>\s*)/,/^(?:\s*[o]==[o]\s*)/,/^(?:\s*[x]==[x]\s*)/,/^(?:\s*[x].-[x]\s*)/,/^(?:\s*[x]-\.-[x]\s*)/,/^(?:\s*<\.->\s*)/,/^(?:\s*<-\.->\s*)/,/^(?:\s*[o]-\.-[o]\s*)/,/^(?:\s*--[o]\s*)/,/^(?:\s*---\s*)/,/^(?:\s*-\.-[x]\s*)/,/^(?:\s*-\.->\s*)/,/^(?:\s*-\.-[o]\s*)/,/^(?:\s*-\.-\s*)/,/^(?:\s*.-[x]\s*)/,/^(?:\s*\.->\s*)/,/^(?:\s*\.-[o]\s*)/,/^(?:\s*\.-\s*)/,/^(?:\s*==[x]\s*)/,/^(?:\s*==>\s*)/,/^(?:\s*==[o]\s*)/,/^(?:\s*==[\=]\s*)/,/^(?:\s*<--\s*)/,/^(?:\s*[x]--\s*)/,/^(?:\s*[o]--\s*)/,/^(?:\s*<-\.\s*)/,/^(?:\s*[x]-\.\s*)/,/^(?:\s*[o]-\.\s*)/,/^(?:\s*<==\s*)/,/^(?:\s*[x]==\s*)/,/^(?:\s*[o]==\s*)/,/^(?:\s*--\s*)/,/^(?:\s*-\.\s*)/,/^(?:\s*==\s*)/,/^(?:\(-)/,/^(?:-\))/,/^(?:\(\[)/,/^(?:\]\))/,/^(?:\[\[)/,/^(?:\]\])/,/^(?:\[\()/,/^(?:\)\])/,/^(?:-)/,/^(?:\.)/,/^(?:[\_])/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:[A-Za-z]+)/,/^(?:\\\])/,/^(?:\[\/)/,/^(?:\/\])/,/^(?:\[\\)/,/^(?:[!"#$%&'*+,-.`?\\_/])/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:(\r|\n|\r\n)+)/,/^(?:\s)/,/^(?:$)/],conditions:{vertex:{rules:[],inclusive:!1},dir:{rules:[15,16,17,18,19,20,21,22,23,24],inclusive:!1},string:{rules:[2,3],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,8,9,10,11,12,13,14,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,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110],inclusive:!0}}};function Ut(){this.yy={}}return Gt.lexer=Vt,Ut.prototype=Gt,Gt.Parser=Ut,new Ut}();e.parser=n,e.Parser=n.Parser,e.parse=function(){return n.parse.apply(n,arguments)},e.main=function(i){i[1]||(console.log("Usage: "+i[0]+" FILE"),t.exit(1));var n=r(6).readFileSync(r(7).normalize(i[1]),"utf8");return e.parser.parse(n)},r.c[r.s]===i&&e.main(t.argv.slice(1))}).call(this,r(4),r(5)(t))},function(t,e,r){(function(t,i){var n=function(){var t=function(t,e,r,i){for(r=r||{},i=t.length;i--;r[t[i]]=e);return r},e=[6,8,10,11,12,13,14,15,16,17,19,21],r=[1,9],i=[1,10],n=[1,11],a=[1,12],s=[1,13],o=[1,14],l=[1,15],c=[1,17],u=[1,18],h={trace:function(){},yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,dateFormat:11,inclusiveEndDates:12,axisFormat:13,excludes:14,todayMarker:15,title:16,section:17,clickStatement:18,taskTxt:19,taskData:20,click:21,callbackname:22,callbackargs:23,href:24,clickStatementDebug:25,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",11:"dateFormat",12:"inclusiveEndDates",13:"axisFormat",14:"excludes",15:"todayMarker",16:"title",17:"section",19:"taskTxt",20:"taskData",21:"click",22:"callbackname",23:"callbackargs",24:"href"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,2],[18,2],[18,3],[18,3],[18,4],[18,3],[18,4],[18,2],[25,2],[25,3],[25,3],[25,4],[25,3],[25,4],[25,2]],performAction:function(t,e,r,i,n,a,s){var o=a.length-1;switch(n){case 1:return a[o-1];case 2:this.$=[];break;case 3:a[o-1].push(a[o]),this.$=a[o-1];break;case 4:case 5:this.$=a[o];break;case 6:case 7:this.$=[];break;case 8:i.setDateFormat(a[o].substr(11)),this.$=a[o].substr(11);break;case 9:i.enableInclusiveEndDates(),this.$=a[o].substr(18);break;case 10:i.setAxisFormat(a[o].substr(11)),this.$=a[o].substr(11);break;case 11:i.setExcludes(a[o].substr(9)),this.$=a[o].substr(9);break;case 12:i.setTodayMarker(a[o].substr(12)),this.$=a[o].substr(12);break;case 13:i.setTitle(a[o].substr(6)),this.$=a[o].substr(6);break;case 14:i.addSection(a[o].substr(8)),this.$=a[o].substr(8);break;case 16:i.addTask(a[o-1],a[o]),this.$="task";break;case 17:this.$=a[o-1],i.setClickEvent(a[o-1],a[o],null);break;case 18:this.$=a[o-2],i.setClickEvent(a[o-2],a[o-1],a[o]);break;case 19:this.$=a[o-2],i.setClickEvent(a[o-2],a[o-1],null),i.setLink(a[o-2],a[o]);break;case 20:this.$=a[o-3],i.setClickEvent(a[o-3],a[o-2],a[o-1]),i.setLink(a[o-3],a[o]);break;case 21:this.$=a[o-2],i.setClickEvent(a[o-2],a[o],null),i.setLink(a[o-2],a[o-1]);break;case 22:this.$=a[o-3],i.setClickEvent(a[o-3],a[o-1],a[o]),i.setLink(a[o-3],a[o-2]);break;case 23:this.$=a[o-1],i.setLink(a[o-1],a[o]);break;case 24:case 30:this.$=a[o-1]+" "+a[o];break;case 25:case 26:case 28:this.$=a[o-2]+" "+a[o-1]+" "+a[o];break;case 27:case 29:this.$=a[o-3]+" "+a[o-2]+" "+a[o-1]+" "+a[o]}},table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:r,12:i,13:n,14:a,15:s,16:o,17:l,18:16,19:c,21:u},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:19,11:r,12:i,13:n,14:a,15:s,16:o,17:l,18:16,19:c,21:u},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),t(e,[2,9]),t(e,[2,10]),t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),t(e,[2,15]),{20:[1,20]},{22:[1,21],24:[1,22]},t(e,[2,4]),t(e,[2,16]),t(e,[2,17],{23:[1,23],24:[1,24]}),t(e,[2,23],{22:[1,25]}),t(e,[2,18],{24:[1,26]}),t(e,[2,19]),t(e,[2,21],{23:[1,27]}),t(e,[2,20]),t(e,[2,22])],defaultActions:{},parseError:function(t,e){if(!e.recoverable){var r=new Error(t);throw r.hash=e,r}this.trace(t)},parse:function(t){var e=this,r=[0],i=[],n=[null],a=[],s=this.table,o="",l=0,c=0,u=0,h=2,d=1,f=a.slice.call(arguments,1),p=Object.create(this.lexer),y={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(y.yy[g]=this.yy[g]);p.setInput(t,y.yy),y.yy.lexer=p,y.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var m=p.yylloc;a.push(m);var b=p.options&&p.options.ranges;function x(){var t;return"number"!=typeof(t=i.pop()||p.lex()||d)&&(t instanceof Array&&(t=(i=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof y.yy.parseError?this.parseError=y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var k,v,E,_,w,A,T,S,O,C={};;){if(E=r[r.length-1],this.defaultActions[E]?_=this.defaultActions[E]:(null==k&&(k=x()),_=s[E]&&s[E][k]),void 0===_||!_.length||!_[0]){var D="";for(A in O=[],s[E])this.terminals_[A]&&A>h&&O.push("'"+this.terminals_[A]+"'");D=p.showPosition?"Parse error on line "+(l+1)+":\n"+p.showPosition()+"\nExpecting "+O.join(", ")+", got '"+(this.terminals_[k]||k)+"'":"Parse error on line "+(l+1)+": Unexpected "+(k==d?"end of input":"'"+(this.terminals_[k]||k)+"'"),this.parseError(D,{text:p.match,token:this.terminals_[k]||k,line:p.yylineno,loc:m,expected:O})}if(_[0]instanceof Array&&_.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+k);switch(_[0]){case 1:r.push(k),n.push(p.yytext),a.push(p.yylloc),r.push(_[1]),k=null,v?(k=v,v=null):(c=p.yyleng,o=p.yytext,l=p.yylineno,m=p.yylloc,u>0&&u--);break;case 2:if(T=this.productions_[_[1]][1],C.$=n[n.length-T],C._$={first_line:a[a.length-(T||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(T||1)].first_column,last_column:a[a.length-1].last_column},b&&(C._$.range=[a[a.length-(T||1)].range[0],a[a.length-1].range[1]]),void 0!==(w=this.performAction.apply(C,[o,c,l,y.yy,_[1],n,a].concat(f))))return w;T&&(r=r.slice(0,-1*T*2),n=n.slice(0,-1*T),a=a.slice(0,-1*T)),r.push(this.productions_[_[1]][0]),n.push(C.$),a.push(C._$),S=s[r[r.length-2]][r[r.length-1]],r.push(S);break;case 3:return!0}}return!0}},d={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,r=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var n=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===i.length?this.yylloc.first_column:0)+i[i.length-r.length].length-r[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var r,i,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(n.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in n)this[a]=n[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,r,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var n=this._currentRules(),a=0;ae[0].length)){if(e=r,i=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,n[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,n[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,r,i){switch(r){case 0:return 10;case 1:case 2:case 3:break;case 4:this.begin("href");break;case 5:this.popState();break;case 6:return 24;case 7:this.begin("callbackname");break;case 8:this.popState();break;case 9:this.popState(),this.begin("callbackargs");break;case 10:return 22;case 11:this.popState();break;case 12:return 23;case 13:this.begin("click");break;case 14:this.popState();break;case 15:return 21;case 16:return 4;case 17:return 11;case 18:return 12;case 19:return 13;case 20:return 14;case 21:return 15;case 22:return"date";case 23:return 16;case 24:return 17;case 25:return 19;case 26:return 20;case 27:return":";case 28:return 6;case 29:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:href[\s]+["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:call[\s]+)/i,/^(?:\([\s]*\))/i,/^(?:\()/i,/^(?:[^(]*)/i,/^(?:\))/i,/^(?:[^)]*)/i,/^(?:click[\s]+)/i,/^(?:[\s\n])/i,/^(?:[^\s\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:inclusiveEndDates\b)/i,/^(?:axisFormat\s[^#\n;]+)/i,/^(?:excludes\s[^#\n;]+)/i,/^(?:todayMarker\s[^\n;]+)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{callbackargs:{rules:[11,12],inclusive:!1},callbackname:{rules:[8,9,10],inclusive:!1},href:{rules:[5,6],inclusive:!1},click:{rules:[14,15],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,7,13,16,17,18,19,20,21,22,23,24,25,26,27,28,29],inclusive:!0}}};function f(){this.yy={}}return h.lexer=d,f.prototype=h,h.Parser=f,new f}();e.parser=n,e.Parser=n.Parser,e.parse=function(){return n.parse.apply(n,arguments)},e.main=function(i){i[1]||(console.log("Usage: "+i[0]+" FILE"),t.exit(1));var n=r(6).readFileSync(r(7).normalize(i[1]),"utf8");return e.parser.parse(n)},r.c[r.s]===i&&e.main(t.argv.slice(1))}).call(this,r(4),r(5)(t))},function(t,e,r){(function(t,i){var n=function(){var t=function(t,e,r,i){for(r=r||{},i=t.length;i--;r[t[i]]=e);return r},e=[6,8,10,11,12,13],r=[1,9],i=[1,10],n=[1,11],a={trace:function(){},yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,title:11,section:12,taskName:13,taskData:14,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NL",11:"title",12:"section",13:"taskName",14:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,1],[9,2]],performAction:function(t,e,r,i,n,a,s){var o=a.length-1;switch(n){case 1:return a[o-1];case 2:this.$=[];break;case 3:a[o-1].push(a[o]),this.$=a[o-1];break;case 4:case 5:this.$=a[o];break;case 6:case 7:this.$=[];break;case 8:i.setTitle(a[o].substr(6)),this.$=a[o].substr(6);break;case 9:i.addSection(a[o].substr(8)),this.$=a[o].substr(8);break;case 10:i.addTask(a[o-1],a[o]),this.$="task"}},table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:r,12:i,13:n},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:12,11:r,12:i,13:n},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),t(e,[2,9]),{14:[1,13]},t(e,[2,4]),t(e,[2,10])],defaultActions:{},parseError:function(t,e){if(!e.recoverable){var r=new Error(t);throw r.hash=e,r}this.trace(t)},parse:function(t){var e=this,r=[0],i=[],n=[null],a=[],s=this.table,o="",l=0,c=0,u=0,h=2,d=1,f=a.slice.call(arguments,1),p=Object.create(this.lexer),y={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(y.yy[g]=this.yy[g]);p.setInput(t,y.yy),y.yy.lexer=p,y.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var m=p.yylloc;a.push(m);var b=p.options&&p.options.ranges;function x(){var t;return"number"!=typeof(t=i.pop()||p.lex()||d)&&(t instanceof Array&&(t=(i=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof y.yy.parseError?this.parseError=y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var k,v,E,_,w,A,T,S,O,C={};;){if(E=r[r.length-1],this.defaultActions[E]?_=this.defaultActions[E]:(null==k&&(k=x()),_=s[E]&&s[E][k]),void 0===_||!_.length||!_[0]){var D="";for(A in O=[],s[E])this.terminals_[A]&&A>h&&O.push("'"+this.terminals_[A]+"'");D=p.showPosition?"Parse error on line "+(l+1)+":\n"+p.showPosition()+"\nExpecting "+O.join(", ")+", got '"+(this.terminals_[k]||k)+"'":"Parse error on line "+(l+1)+": Unexpected "+(k==d?"end of input":"'"+(this.terminals_[k]||k)+"'"),this.parseError(D,{text:p.match,token:this.terminals_[k]||k,line:p.yylineno,loc:m,expected:O})}if(_[0]instanceof Array&&_.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+k);switch(_[0]){case 1:r.push(k),n.push(p.yytext),a.push(p.yylloc),r.push(_[1]),k=null,v?(k=v,v=null):(c=p.yyleng,o=p.yytext,l=p.yylineno,m=p.yylloc,u>0&&u--);break;case 2:if(T=this.productions_[_[1]][1],C.$=n[n.length-T],C._$={first_line:a[a.length-(T||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(T||1)].first_column,last_column:a[a.length-1].last_column},b&&(C._$.range=[a[a.length-(T||1)].range[0],a[a.length-1].range[1]]),void 0!==(w=this.performAction.apply(C,[o,c,l,y.yy,_[1],n,a].concat(f))))return w;T&&(r=r.slice(0,-1*T*2),n=n.slice(0,-1*T),a=a.slice(0,-1*T)),r.push(this.productions_[_[1]][0]),n.push(C.$),a.push(C._$),S=s[r[r.length-2]][r[r.length-1]],r.push(S);break;case 3:return!0}}return!0}},s={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,r=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var n=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===i.length?this.yylloc.first_column:0)+i[i.length-r.length].length-r[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var r,i,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(n.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in n)this[a]=n[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,r,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var n=this._currentRules(),a=0;ae[0].length)){if(e=r,i=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,n[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,n[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,r,i){switch(r){case 0:return 10;case 1:case 2:case 3:break;case 4:return 4;case 5:return 11;case 6:return 12;case 7:return 13;case 8:return 14;case 9:return":";case 10:return 6;case 11:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:journey\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11],inclusive:!0}}};function o(){this.yy={}}return a.lexer=s,o.prototype=a,a.Parser=o,new o}();e.parser=n,e.Parser=n.Parser,e.parse=function(){return n.parse.apply(n,arguments)},e.main=function(i){i[1]||(console.log("Usage: "+i[0]+" FILE"),t.exit(1));var n=r(6).readFileSync(r(7).normalize(i[1]),"utf8");return e.parser.parse(n)},r.c[r.s]===i&&e.main(t.argv.slice(1))}).call(this,r(4),r(5)(t))},function(t,e){t.exports=require("dagre")},function(t,e,r){(function(t,i){var n=function(){var t=function(t,e,r,i){for(r=r||{},i=t.length;i--;r[t[i]]=e);return r},e=[1,13],r=[1,16],i=[1,14],n=[1,15],a=[1,17],s=[1,18],o=[1,20],l=[1,21],c=[1,22],u=[6,8],h=[1,31],d=[1,32],f=[1,33],p=[1,34],y=[1,35],g=[1,36],m=[6,8,14,20,28,31,32,33,34,35,36],b=[6,8,12,14,20,24,28,31,32,33,34,35,36,52,53,54],x=[28,52,53,54],k=[28,35,36,52,53,54],v=[28,31,32,33,34,52,53,54],E=[6,8,14],_=[1,59],w={trace:function(){},yy:{},symbols_:{error:2,mermaidDoc:3,graphConfig:4,CLASS_DIAGRAM:5,NEWLINE:6,statements:7,EOF:8,statement:9,className:10,alphaNumToken:11,GENERICTYPE:12,relationStatement:13,LABEL:14,classStatement:15,methodStatement:16,annotationStatement:17,clickStatement:18,CLASS:19,STRUCT_START:20,members:21,STRUCT_STOP:22,ANNOTATION_START:23,ANNOTATION_END:24,MEMBER:25,SEPARATOR:26,relation:27,STR:28,relationType:29,lineType:30,AGGREGATION:31,EXTENSION:32,COMPOSITION:33,DEPENDENCY:34,LINE:35,DOTTED_LINE:36,CALLBACK:37,LINK:38,commentToken:39,textToken:40,graphCodeTokens:41,textNoTagsToken:42,TAGSTART:43,TAGEND:44,"==":45,"--":46,PCT:47,DEFAULT:48,SPACE:49,MINUS:50,keywords:51,UNICODE_TEXT:52,NUM:53,ALPHA:54,$accept:0,$end:1},terminals_:{2:"error",5:"CLASS_DIAGRAM",6:"NEWLINE",8:"EOF",12:"GENERICTYPE",14:"LABEL",19:"CLASS",20:"STRUCT_START",22:"STRUCT_STOP",23:"ANNOTATION_START",24:"ANNOTATION_END",25:"MEMBER",26:"SEPARATOR",28:"STR",31:"AGGREGATION",32:"EXTENSION",33:"COMPOSITION",34:"DEPENDENCY",35:"LINE",36:"DOTTED_LINE",37:"CALLBACK",38:"LINK",41:"graphCodeTokens",43:"TAGSTART",44:"TAGEND",45:"==",46:"--",47:"PCT",48:"DEFAULT",49:"SPACE",50:"MINUS",51:"keywords",52:"UNICODE_TEXT",53:"NUM",54:"ALPHA"},productions_:[0,[3,1],[4,4],[7,1],[7,2],[7,3],[10,2],[10,1],[10,3],[10,2],[9,1],[9,2],[9,1],[9,1],[9,1],[9,1],[15,2],[15,5],[17,4],[21,1],[21,2],[16,1],[16,2],[16,1],[16,1],[13,3],[13,4],[13,4],[13,5],[27,3],[27,2],[27,2],[27,1],[29,1],[29,1],[29,1],[29,1],[30,1],[30,1],[18,3],[18,4],[18,3],[18,4],[39,1],[39,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[42,1],[42,1],[42,1],[42,1],[11,1],[11,1],[11,1]],performAction:function(t,e,r,i,n,a,s){var o=a.length-1;switch(n){case 6:this.$=a[o-1]+a[o];break;case 7:this.$=a[o];break;case 8:this.$=a[o-2]+"~"+a[o-1]+a[o];break;case 9:this.$=a[o-1]+"~"+a[o];break;case 10:i.addRelation(a[o]);break;case 11:a[o-1].title=i.cleanupLabel(a[o]),i.addRelation(a[o-1]);break;case 16:i.addClass(a[o]);break;case 17:i.addClass(a[o-3]),i.addMembers(a[o-3],a[o-1]);break;case 18:i.addAnnotation(a[o],a[o-2]);break;case 19:this.$=[a[o]];break;case 20:a[o].push(a[o-1]),this.$=a[o];break;case 21:break;case 22:i.addMember(a[o-1],i.cleanupLabel(a[o]));break;case 23:case 24:break;case 25:this.$={id1:a[o-2],id2:a[o],relation:a[o-1],relationTitle1:"none",relationTitle2:"none"};break;case 26:this.$={id1:a[o-3],id2:a[o],relation:a[o-1],relationTitle1:a[o-2],relationTitle2:"none"};break;case 27:this.$={id1:a[o-3],id2:a[o],relation:a[o-2],relationTitle1:"none",relationTitle2:a[o-1]};break;case 28:this.$={id1:a[o-4],id2:a[o],relation:a[o-2],relationTitle1:a[o-3],relationTitle2:a[o-1]};break;case 29:this.$={type1:a[o-2],type2:a[o],lineType:a[o-1]};break;case 30:this.$={type1:"none",type2:a[o],lineType:a[o-1]};break;case 31:this.$={type1:a[o-1],type2:"none",lineType:a[o]};break;case 32:this.$={type1:"none",type2:"none",lineType:a[o]};break;case 33:this.$=i.relationType.AGGREGATION;break;case 34:this.$=i.relationType.EXTENSION;break;case 35:this.$=i.relationType.COMPOSITION;break;case 36:this.$=i.relationType.DEPENDENCY;break;case 37:this.$=i.lineType.LINE;break;case 38:this.$=i.lineType.DOTTED_LINE;break;case 39:this.$=a[o-2],i.setClickEvent(a[o-1],a[o],void 0);break;case 40:this.$=a[o-3],i.setClickEvent(a[o-2],a[o-1],a[o]);break;case 41:this.$=a[o-2],i.setLink(a[o-1],a[o],void 0);break;case 42:this.$=a[o-3],i.setLink(a[o-2],a[o-1],a[o])}},table:[{3:1,4:2,5:[1,3]},{1:[3]},{1:[2,1]},{6:[1,4]},{7:5,9:6,10:12,11:19,13:7,15:8,16:9,17:10,18:11,19:e,23:r,25:i,26:n,37:a,38:s,52:o,53:l,54:c},{8:[1,23]},{6:[1,24],8:[2,3]},t(u,[2,10],{14:[1,25]}),t(u,[2,12]),t(u,[2,13]),t(u,[2,14]),t(u,[2,15]),t(u,[2,21],{27:26,29:29,30:30,14:[1,28],28:[1,27],31:h,32:d,33:f,34:p,35:y,36:g}),{10:37,11:19,52:o,53:l,54:c},t(u,[2,23]),t(u,[2,24]),{11:38,52:o,53:l,54:c},{10:39,11:19,52:o,53:l,54:c},{10:40,11:19,52:o,53:l,54:c},t(m,[2,7],{11:19,10:41,12:[1,42],52:o,53:l,54:c}),t(b,[2,56]),t(b,[2,57]),t(b,[2,58]),{1:[2,2]},{7:43,8:[2,4],9:6,10:12,11:19,13:7,15:8,16:9,17:10,18:11,19:e,23:r,25:i,26:n,37:a,38:s,52:o,53:l,54:c},t(u,[2,11]),{10:44,11:19,28:[1,45],52:o,53:l,54:c},{27:46,29:29,30:30,31:h,32:d,33:f,34:p,35:y,36:g},t(u,[2,22]),{30:47,35:y,36:g},t(x,[2,32],{29:48,31:h,32:d,33:f,34:p}),t(k,[2,33]),t(k,[2,34]),t(k,[2,35]),t(k,[2,36]),t(v,[2,37]),t(v,[2,38]),t(u,[2,16],{20:[1,49]}),{24:[1,50]},{28:[1,51]},{28:[1,52]},t(m,[2,6]),t(m,[2,9],{11:19,10:53,52:o,53:l,54:c}),{8:[2,5]},t(E,[2,25]),{10:54,11:19,52:o,53:l,54:c},{10:55,11:19,28:[1,56],52:o,53:l,54:c},t(x,[2,31],{29:57,31:h,32:d,33:f,34:p}),t(x,[2,30]),{21:58,25:_},{10:60,11:19,52:o,53:l,54:c},t(u,[2,39],{28:[1,61]}),t(u,[2,41],{28:[1,62]}),t(m,[2,8]),t(E,[2,27]),t(E,[2,26]),{10:63,11:19,52:o,53:l,54:c},t(x,[2,29]),{22:[1,64]},{21:65,22:[2,19],25:_},t(u,[2,18]),t(u,[2,40]),t(u,[2,42]),t(E,[2,28]),t(u,[2,17]),{22:[2,20]}],defaultActions:{2:[2,1],23:[2,2],43:[2,5],65:[2,20]},parseError:function(t,e){if(!e.recoverable){var r=new Error(t);throw r.hash=e,r}this.trace(t)},parse:function(t){var e=this,r=[0],i=[],n=[null],a=[],s=this.table,o="",l=0,c=0,u=0,h=2,d=1,f=a.slice.call(arguments,1),p=Object.create(this.lexer),y={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(y.yy[g]=this.yy[g]);p.setInput(t,y.yy),y.yy.lexer=p,y.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var m=p.yylloc;a.push(m);var b=p.options&&p.options.ranges;function x(){var t;return"number"!=typeof(t=i.pop()||p.lex()||d)&&(t instanceof Array&&(t=(i=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof y.yy.parseError?this.parseError=y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var k,v,E,_,w,A,T,S,O,C={};;){if(E=r[r.length-1],this.defaultActions[E]?_=this.defaultActions[E]:(null==k&&(k=x()),_=s[E]&&s[E][k]),void 0===_||!_.length||!_[0]){var D="";for(A in O=[],s[E])this.terminals_[A]&&A>h&&O.push("'"+this.terminals_[A]+"'");D=p.showPosition?"Parse error on line "+(l+1)+":\n"+p.showPosition()+"\nExpecting "+O.join(", ")+", got '"+(this.terminals_[k]||k)+"'":"Parse error on line "+(l+1)+": Unexpected "+(k==d?"end of input":"'"+(this.terminals_[k]||k)+"'"),this.parseError(D,{text:p.match,token:this.terminals_[k]||k,line:p.yylineno,loc:m,expected:O})}if(_[0]instanceof Array&&_.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+k);switch(_[0]){case 1:r.push(k),n.push(p.yytext),a.push(p.yylloc),r.push(_[1]),k=null,v?(k=v,v=null):(c=p.yyleng,o=p.yytext,l=p.yylineno,m=p.yylloc,u>0&&u--);break;case 2:if(T=this.productions_[_[1]][1],C.$=n[n.length-T],C._$={first_line:a[a.length-(T||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(T||1)].first_column,last_column:a[a.length-1].last_column},b&&(C._$.range=[a[a.length-(T||1)].range[0],a[a.length-1].range[1]]),void 0!==(w=this.performAction.apply(C,[o,c,l,y.yy,_[1],n,a].concat(f))))return w;T&&(r=r.slice(0,-1*T*2),n=n.slice(0,-1*T),a=a.slice(0,-1*T)),r.push(this.productions_[_[1]][0]),n.push(C.$),a.push(C._$),S=s[r[r.length-2]][r[r.length-1]],r.push(S);break;case 3:return!0}}return!0}},A={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,r=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var n=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===i.length?this.yylloc.first_column:0)+i[i.length-r.length].length-r[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var r,i,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(n.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in n)this[a]=n[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,r,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var n=this._currentRules(),a=0;ae[0].length)){if(e=r,i=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,n[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,n[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(t,e,r,i){switch(r){case 0:break;case 1:return 6;case 2:break;case 3:return 5;case 4:return this.begin("struct"),20;case 5:return"EOF_IN_STRUCT";case 6:return"OPEN_IN_STRUCT";case 7:return this.popState(),22;case 8:break;case 9:return"MEMBER";case 10:return 19;case 11:return 37;case 12:return 38;case 13:return 23;case 14:return 24;case 15:this.begin("generic");break;case 16:this.popState();break;case 17:return"GENERICTYPE";case 18:this.begin("string");break;case 19:this.popState();break;case 20:return"STR";case 21:case 22:return 32;case 23:case 24:return 34;case 25:return 33;case 26:return 31;case 27:return 35;case 28:return 36;case 29:return 14;case 30:return 50;case 31:return"DOT";case 32:return"PLUS";case 33:return 47;case 34:case 35:return"EQUALS";case 36:return 54;case 37:return"PUNCTUATION";case 38:return 53;case 39:return 52;case 40:return 49;case 41:return 8}},rules:[/^(?:%%[^\n]*\n*)/,/^(?:\n+)/,/^(?:\s+)/,/^(?:classDiagram\b)/,/^(?:[\{])/,/^(?:$)/,/^(?:[\{])/,/^(?:\})/,/^(?:[\n])/,/^(?:[^\{\}\n]*)/,/^(?:class\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:[~])/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:--)/,/^(?:\.\.)/,/^(?::[^\n;]+)/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,/^(?:[!"#$%&'*+,-.`?\\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:$)/],conditions:{string:{rules:[19,20],inclusive:!1},generic:{rules:[16,17],inclusive:!1},struct:{rules:[5,6,7,8,9],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,10,11,12,13,14,15,18,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41],inclusive:!0}}};function T(){this.yy={}}return w.lexer=A,T.prototype=w,w.Parser=T,new T}();e.parser=n,e.Parser=n.Parser,e.parse=function(){return n.parse.apply(n,arguments)},e.main=function(i){i[1]||(console.log("Usage: "+i[0]+" FILE"),t.exit(1));var n=r(6).readFileSync(r(7).normalize(i[1]),"utf8");return e.parser.parse(n)},r.c[r.s]===i&&e.main(t.argv.slice(1))}).call(this,r(4),r(5)(t))},function(t){t.exports=JSON.parse('{"name":"mermaid","version":"8.5.1","description":"Markdownish syntax for generating flowcharts, sequence diagrams, class diagrams, gantt charts and git graphs.","main":"dist/mermaid.core.js","keywords":["diagram","markdown","flowchart","sequence diagram","gantt","class diagram","git graph"],"scripts":{"build":"webpack --progress --colors -p","postbuild":"documentation build src/mermaidAPI.js --shallow -f md --markdown-toc false -o docs/mermaidAPI.md","build:watch":"yarn build --watch","minify":"minify ./dist/mermaid.js > ./dist/mermaid.min.js","release":"yarn build -p --config webpack.config.prod.babel.js","lint":"eslint src","e2e:depr":"yarn lint && jest e2e --config e2e/jest.config.js","cypress":"percy exec -- cypress run","e2e":"start-server-and-test dev http://localhost:9000/ cypress","e2e-upd":"yarn lint && jest e2e -u --config e2e/jest.config.js","dev":"webpack-dev-server --config webpack.config.e2e.js","test":"yarn lint && jest src/.*","test:watch":"jest --watch src","prepublishOnly":"yarn build && yarn release && yarn test && yarn e2e","prepush":"yarn test","prepare":"yarn build"},"repository":{"type":"git","url":"https://github.com/knsv/mermaid"},"author":"Knut Sveidqvist","license":"MIT","standard":{"ignore":["**/parser/*.js","dist/**/*.js","cypress/**/*.js"],"globals":["page"]},"dependencies":{"@braintree/sanitize-url":"^3.1.0","crypto-random-string":"^3.0.1","d3":"^5.7.0","dagre":"^0.8.4","dagre-d3":"^0.6.4","entity-decode":"^2.0.2","graphlib":"^2.1.7","he":"^1.2.0","minify":"^4.1.1","moment-mini":"^2.22.1","scope-css":"^1.2.1"},"devDependencies":{"@babel/core":"^7.2.2","@babel/preset-env":"^7.8.4","@babel/register":"^7.0.0","@percy/cypress":"*","babel-core":"7.0.0-bridge.0","babel-jest":"^24.9.0","babel-loader":"^8.0.4","coveralls":"^3.0.2","css-loader":"^2.0.1","css-to-string-loader":"^0.1.3","cypress":"4.0.1","documentation":"^12.0.1","eslint":"^6.3.0","eslint-config-prettier":"^6.3.0","eslint-plugin-prettier":"^3.1.0","husky":"^1.2.1","identity-obj-proxy":"^3.0.0","jest":"^24.9.0","jison":"^0.4.18","moment":"^2.23.0","node-sass":"^4.12.0","prettier":"^1.18.2","puppeteer":"^1.17.0","sass-loader":"^7.1.0","start-server-and-test":"^1.10.6","terser-webpack-plugin":"^2.2.2","webpack":"^4.41.2","webpack-bundle-analyzer":"^3.7.0","webpack-cli":"^3.1.2","webpack-dev-server":"^3.4.1","webpack-node-externals":"^1.7.2","yarn-upgrade-all":"^0.5.0"},"files":["dist"],"yarn-upgrade-all":{"ignore":["babel-core"]},"sideEffects":["**/*.css","**/*.scss"]}')},function(t,e,r){"use strict";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var r=function(t,e){var r=t[1]||"",i=t[3];if(!i)return r;if(e&&"function"==typeof btoa){var n=(s=i,"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(s))))+" */"),a=i.sources.map((function(t){return"/*# sourceURL="+i.sourceRoot+t+" */"}));return[r].concat(a).concat([n]).join("\n")}var s;return[r].join("\n")}(e,t);return e[2]?"@media "+e[2]+"{"+r+"}":r})).join("")},e.i=function(t,r){"string"==typeof t&&(t=[[null,t,""]]);for(var i={},n=0;nh&&O.push("'"+this.terminals_[A]+"'");D=p.showPosition?"Parse error on line "+(l+1)+":\n"+p.showPosition()+"\nExpecting "+O.join(", ")+", got '"+(this.terminals_[k]||k)+"'":"Parse error on line "+(l+1)+": Unexpected "+(k==d?"end of input":"'"+(this.terminals_[k]||k)+"'"),this.parseError(D,{text:p.match,token:this.terminals_[k]||k,line:p.yylineno,loc:m,expected:O})}if(_[0]instanceof Array&&_.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+k);switch(_[0]){case 1:r.push(k),n.push(p.yytext),a.push(p.yylloc),r.push(_[1]),k=null,v?(k=v,v=null):(c=p.yyleng,o=p.yytext,l=p.yylineno,m=p.yylloc,u>0&&u--);break;case 2:if(T=this.productions_[_[1]][1],C.$=n[n.length-T],C._$={first_line:a[a.length-(T||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(T||1)].first_column,last_column:a[a.length-1].last_column},b&&(C._$.range=[a[a.length-(T||1)].range[0],a[a.length-1].range[1]]),void 0!==(w=this.performAction.apply(C,[o,c,l,y.yy,_[1],n,a].concat(f))))return w;T&&(r=r.slice(0,-1*T*2),n=n.slice(0,-1*T),a=a.slice(0,-1*T)),r.push(this.productions_[_[1]][0]),n.push(C.$),a.push(C._$),S=s[r[r.length-2]][r[r.length-1]],r.push(S);break;case 3:return!0}}return!0}},l={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,r=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var n=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===i.length?this.yylloc.first_column:0)+i[i.length-r.length].length-r[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var r,i,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(n.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in n)this[a]=n[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,r,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var n=this._currentRules(),a=0;ae[0].length)){if(e=r,i=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,n[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,n[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,r,i){switch(r){case 0:return 12;case 1:case 2:case 3:break;case 4:return 4;case 5:return 15;case 6:return 17;case 7:return 20;case 8:return 21;case 9:return 19;case 10:case 11:return 8;case 12:return 5;case 13:return 26;case 14:this.begin("options");break;case 15:this.popState();break;case 16:return 11;case 17:this.begin("string");break;case 18:this.popState();break;case 19:return 23;case 20:return 18;case 21:return 7}},rules:[/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:gitGraph\b)/i,/^(?:commit\b)/i,/^(?:branch\b)/i,/^(?:merge\b)/i,/^(?:reset\b)/i,/^(?:checkout\b)/i,/^(?:LR\b)/i,/^(?:BT\b)/i,/^(?::)/i,/^(?:\^)/i,/^(?:options\r?\n)/i,/^(?:end\r?\n)/i,/^(?:[^\n]+\r?\n)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[a-zA-Z][a-zA-Z0-9_]+)/i,/^(?:$)/i],conditions:{options:{rules:[15,16],inclusive:!1},string:{rules:[18,19],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,17,20,21],inclusive:!0}}};function c(){this.yy={}}return o.lexer=l,c.prototype=o,o.Parser=c,new c}();e.parser=n,e.Parser=n.Parser,e.parse=function(){return n.parse.apply(n,arguments)},e.main=function(i){i[1]||(console.log("Usage: "+i[0]+" FILE"),t.exit(1));var n=r(6).readFileSync(r(7).normalize(i[1]),"utf8");return e.parser.parse(n)},r.c[r.s]===i&&e.main(t.argv.slice(1))}).call(this,r(4),r(5)(t))},function(t,e,r){(function(t,i){var n=function(){var t=function(t,e,r,i){for(r=r||{},i=t.length;i--;r[t[i]]=e);return r},e=[6,9,10],r={trace:function(){},yy:{},symbols_:{error:2,start:3,info:4,document:5,EOF:6,line:7,statement:8,NL:9,showInfo:10,$accept:0,$end:1},terminals_:{2:"error",4:"info",6:"EOF",9:"NL",10:"showInfo"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,1]],performAction:function(t,e,r,i,n,a,s){a.length;switch(n){case 1:return i;case 4:break;case 6:i.setInfo(!0)}},table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8]},{1:[2,1]},t(e,[2,3]),t(e,[2,4]),t(e,[2,5]),t(e,[2,6])],defaultActions:{4:[2,1]},parseError:function(t,e){if(!e.recoverable){var r=new Error(t);throw r.hash=e,r}this.trace(t)},parse:function(t){var e=this,r=[0],i=[],n=[null],a=[],s=this.table,o="",l=0,c=0,u=0,h=2,d=1,f=a.slice.call(arguments,1),p=Object.create(this.lexer),y={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(y.yy[g]=this.yy[g]);p.setInput(t,y.yy),y.yy.lexer=p,y.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var m=p.yylloc;a.push(m);var b=p.options&&p.options.ranges;function x(){var t;return"number"!=typeof(t=i.pop()||p.lex()||d)&&(t instanceof Array&&(t=(i=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof y.yy.parseError?this.parseError=y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var k,v,E,_,w,A,T,S,O,C={};;){if(E=r[r.length-1],this.defaultActions[E]?_=this.defaultActions[E]:(null==k&&(k=x()),_=s[E]&&s[E][k]),void 0===_||!_.length||!_[0]){var D="";for(A in O=[],s[E])this.terminals_[A]&&A>h&&O.push("'"+this.terminals_[A]+"'");D=p.showPosition?"Parse error on line "+(l+1)+":\n"+p.showPosition()+"\nExpecting "+O.join(", ")+", got '"+(this.terminals_[k]||k)+"'":"Parse error on line "+(l+1)+": Unexpected "+(k==d?"end of input":"'"+(this.terminals_[k]||k)+"'"),this.parseError(D,{text:p.match,token:this.terminals_[k]||k,line:p.yylineno,loc:m,expected:O})}if(_[0]instanceof Array&&_.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+k);switch(_[0]){case 1:r.push(k),n.push(p.yytext),a.push(p.yylloc),r.push(_[1]),k=null,v?(k=v,v=null):(c=p.yyleng,o=p.yytext,l=p.yylineno,m=p.yylloc,u>0&&u--);break;case 2:if(T=this.productions_[_[1]][1],C.$=n[n.length-T],C._$={first_line:a[a.length-(T||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(T||1)].first_column,last_column:a[a.length-1].last_column},b&&(C._$.range=[a[a.length-(T||1)].range[0],a[a.length-1].range[1]]),void 0!==(w=this.performAction.apply(C,[o,c,l,y.yy,_[1],n,a].concat(f))))return w;T&&(r=r.slice(0,-1*T*2),n=n.slice(0,-1*T),a=a.slice(0,-1*T)),r.push(this.productions_[_[1]][0]),n.push(C.$),a.push(C._$),S=s[r[r.length-2]][r[r.length-1]],r.push(S);break;case 3:return!0}}return!0}},i={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,r=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var n=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===i.length?this.yylloc.first_column:0)+i[i.length-r.length].length-r[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var r,i,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(n.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in n)this[a]=n[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,r,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var n=this._currentRules(),a=0;ae[0].length)){if(e=r,i=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,n[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,n[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,r,i){switch(r){case 0:return 4;case 1:return 9;case 2:return"space";case 3:return 10;case 4:return 6;case 5:return"TXT"}},rules:[/^(?:info\b)/i,/^(?:[\s\n\r]+)/i,/^(?:[\s]+)/i,/^(?:showInfo\b)/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5],inclusive:!0}}};function n(){this.yy={}}return r.lexer=i,n.prototype=r,r.Parser=n,new n}();e.parser=n,e.Parser=n.Parser,e.parse=function(){return n.parse.apply(n,arguments)},e.main=function(i){i[1]||(console.log("Usage: "+i[0]+" FILE"),t.exit(1));var n=r(6).readFileSync(r(7).normalize(i[1]),"utf8");return e.parser.parse(n)},r.c[r.s]===i&&e.main(t.argv.slice(1))}).call(this,r(4),r(5)(t))},function(t,e,r){(function(t,i){var n=function(){var t=function(t,e,r,i){for(r=r||{},i=t.length;i--;r[t[i]]=e);return r},e=[6,9,10,12],r={trace:function(){},yy:{},symbols_:{error:2,start:3,pie:4,document:5,EOF:6,line:7,statement:8,NL:9,STR:10,VALUE:11,title:12,$accept:0,$end:1},terminals_:{2:"error",4:"pie",6:"EOF",9:"NL",10:"STR",11:"VALUE",12:"title"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,2],[8,1]],performAction:function(t,e,r,i,n,a,s){var o=a.length-1;switch(n){case 4:break;case 6:i.addSection(a[o-1],i.cleanupValue(a[o]));break;case 7:i.setTitle(a[o].substr(6)),this.$=a[o].substr(6)}},table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8],12:[1,9]},{1:[2,1]},t(e,[2,3]),t(e,[2,4]),t(e,[2,5]),{11:[1,10]},t(e,[2,7]),t(e,[2,6])],defaultActions:{4:[2,1]},parseError:function(t,e){if(!e.recoverable){var r=new Error(t);throw r.hash=e,r}this.trace(t)},parse:function(t){var e=this,r=[0],i=[],n=[null],a=[],s=this.table,o="",l=0,c=0,u=0,h=2,d=1,f=a.slice.call(arguments,1),p=Object.create(this.lexer),y={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(y.yy[g]=this.yy[g]);p.setInput(t,y.yy),y.yy.lexer=p,y.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var m=p.yylloc;a.push(m);var b=p.options&&p.options.ranges;function x(){var t;return"number"!=typeof(t=i.pop()||p.lex()||d)&&(t instanceof Array&&(t=(i=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof y.yy.parseError?this.parseError=y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var k,v,E,_,w,A,T,S,O,C={};;){if(E=r[r.length-1],this.defaultActions[E]?_=this.defaultActions[E]:(null==k&&(k=x()),_=s[E]&&s[E][k]),void 0===_||!_.length||!_[0]){var D="";for(A in O=[],s[E])this.terminals_[A]&&A>h&&O.push("'"+this.terminals_[A]+"'");D=p.showPosition?"Parse error on line "+(l+1)+":\n"+p.showPosition()+"\nExpecting "+O.join(", ")+", got '"+(this.terminals_[k]||k)+"'":"Parse error on line "+(l+1)+": Unexpected "+(k==d?"end of input":"'"+(this.terminals_[k]||k)+"'"),this.parseError(D,{text:p.match,token:this.terminals_[k]||k,line:p.yylineno,loc:m,expected:O})}if(_[0]instanceof Array&&_.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+k);switch(_[0]){case 1:r.push(k),n.push(p.yytext),a.push(p.yylloc),r.push(_[1]),k=null,v?(k=v,v=null):(c=p.yyleng,o=p.yytext,l=p.yylineno,m=p.yylloc,u>0&&u--);break;case 2:if(T=this.productions_[_[1]][1],C.$=n[n.length-T],C._$={first_line:a[a.length-(T||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(T||1)].first_column,last_column:a[a.length-1].last_column},b&&(C._$.range=[a[a.length-(T||1)].range[0],a[a.length-1].range[1]]),void 0!==(w=this.performAction.apply(C,[o,c,l,y.yy,_[1],n,a].concat(f))))return w;T&&(r=r.slice(0,-1*T*2),n=n.slice(0,-1*T),a=a.slice(0,-1*T)),r.push(this.productions_[_[1]][0]),n.push(C.$),a.push(C._$),S=s[r[r.length-2]][r[r.length-1]],r.push(S);break;case 3:return!0}}return!0}},i={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,r=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var n=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===i.length?this.yylloc.first_column:0)+i[i.length-r.length].length-r[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var r,i,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(n.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in n)this[a]=n[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,r,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var n=this._currentRules(),a=0;ae[0].length)){if(e=r,i=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,n[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,n[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,r,i){switch(r){case 0:case 1:break;case 2:return 4;case 3:return 9;case 4:return"space";case 5:return 12;case 6:this.begin("string");break;case 7:this.popState();break;case 8:return"STR";case 9:return"VALUE";case 10:return 6}},rules:[/^(?:%%[^\n]*)/i,/^(?:\s+)/i,/^(?:pie\b)/i,/^(?:[\s\n\r]+)/i,/^(?:[\s]+)/i,/^(?:title\s[^#\n;]+)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?::[\s]*[\d]+(?:\.[\d]+)?)/i,/^(?:$)/i],conditions:{string:{rules:[7,8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,9,10],inclusive:!0}}};function n(){this.yy={}}return r.lexer=i,n.prototype=r,r.Parser=n,new n}();e.parser=n,e.Parser=n.Parser,e.parse=function(){return n.parse.apply(n,arguments)},e.main=function(i){i[1]||(console.log("Usage: "+i[0]+" FILE"),t.exit(1));var n=r(6).readFileSync(r(7).normalize(i[1]),"utf8");return e.parser.parse(n)},r.c[r.s]===i&&e.main(t.argv.slice(1))}).call(this,r(4),r(5)(t))},function(t,e,r){(function(t,i){var n=function(){var t=function(t,e,r,i){for(r=r||{},i=t.length;i--;r[t[i]]=e);return r},e=[6,12],r=[1,7],i=[1,10],n=[1,11],a=[1,12],s=[1,13],o=[12,19,20],l=[15,16,17,18],c={trace:function(){},yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,statement:7,entityName:8,relSpec:9,":":10,role:11,ALPHANUM:12,cardinality:13,relType:14,ZERO_OR_ONE:15,ZERO_OR_MORE:16,ONE_OR_MORE:17,ONLY_ONE:18,NON_IDENTIFYING:19,IDENTIFYING:20,WORD:21,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",10:":",12:"ALPHANUM",15:"ZERO_OR_ONE",16:"ZERO_OR_MORE",17:"ONE_OR_MORE",18:"ONLY_ONE",19:"NON_IDENTIFYING",20:"IDENTIFYING",21:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,5],[8,1],[9,3],[13,1],[13,1],[13,1],[13,1],[14,1],[14,1],[11,1],[11,1]],performAction:function(t,e,r,i,n,a,s){var o=a.length-1;switch(n){case 1:break;case 4:i.addEntity(a[o-4]),i.addEntity(a[o-2]),i.addRelationship(a[o-4],a[o],a[o-2],a[o-3]);break;case 5:this.$=a[o];break;case 6:this.$={cardA:a[o],relType:a[o-1],cardB:a[o-2]};break;case 7:this.$=i.Cardinality.ZERO_OR_ONE;break;case 8:this.$=i.Cardinality.ZERO_OR_MORE;break;case 9:this.$=i.Cardinality.ONE_OR_MORE;break;case 10:this.$=i.Cardinality.ONLY_ONE;break;case 11:this.$=i.Identification.NON_IDENTIFYING;break;case 12:this.$=i.Identification.IDENTIFYING;break;case 13:this.$=a[o].replace(/"/g,"");break;case 14:this.$=a[o]}},table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:6,12:r},{1:[2,1]},t(e,[2,3]),{9:8,13:9,15:i,16:n,17:a,18:s},t([10,15,16,17,18],[2,5]),{8:14,12:r},{14:15,19:[1,16],20:[1,17]},t(o,[2,7]),t(o,[2,8]),t(o,[2,9]),t(o,[2,10]),{10:[1,18]},{13:19,15:i,16:n,17:a,18:s},t(l,[2,11]),t(l,[2,12]),{11:20,12:[1,22],21:[1,21]},{12:[2,6]},t(e,[2,4]),t(e,[2,13]),t(e,[2,14])],defaultActions:{4:[2,1],19:[2,6]},parseError:function(t,e){if(!e.recoverable){var r=new Error(t);throw r.hash=e,r}this.trace(t)},parse:function(t){var e=this,r=[0],i=[],n=[null],a=[],s=this.table,o="",l=0,c=0,u=0,h=2,d=1,f=a.slice.call(arguments,1),p=Object.create(this.lexer),y={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(y.yy[g]=this.yy[g]);p.setInput(t,y.yy),y.yy.lexer=p,y.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var m=p.yylloc;a.push(m);var b=p.options&&p.options.ranges;function x(){var t;return"number"!=typeof(t=i.pop()||p.lex()||d)&&(t instanceof Array&&(t=(i=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof y.yy.parseError?this.parseError=y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var k,v,E,_,w,A,T,S,O,C={};;){if(E=r[r.length-1],this.defaultActions[E]?_=this.defaultActions[E]:(null==k&&(k=x()),_=s[E]&&s[E][k]),void 0===_||!_.length||!_[0]){var D="";for(A in O=[],s[E])this.terminals_[A]&&A>h&&O.push("'"+this.terminals_[A]+"'");D=p.showPosition?"Parse error on line "+(l+1)+":\n"+p.showPosition()+"\nExpecting "+O.join(", ")+", got '"+(this.terminals_[k]||k)+"'":"Parse error on line "+(l+1)+": Unexpected "+(k==d?"end of input":"'"+(this.terminals_[k]||k)+"'"),this.parseError(D,{text:p.match,token:this.terminals_[k]||k,line:p.yylineno,loc:m,expected:O})}if(_[0]instanceof Array&&_.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+k);switch(_[0]){case 1:r.push(k),n.push(p.yytext),a.push(p.yylloc),r.push(_[1]),k=null,v?(k=v,v=null):(c=p.yyleng,o=p.yytext,l=p.yylineno,m=p.yylloc,u>0&&u--);break;case 2:if(T=this.productions_[_[1]][1],C.$=n[n.length-T],C._$={first_line:a[a.length-(T||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(T||1)].first_column,last_column:a[a.length-1].last_column},b&&(C._$.range=[a[a.length-(T||1)].range[0],a[a.length-1].range[1]]),void 0!==(w=this.performAction.apply(C,[o,c,l,y.yy,_[1],n,a].concat(f))))return w;T&&(r=r.slice(0,-1*T*2),n=n.slice(0,-1*T),a=a.slice(0,-1*T)),r.push(this.productions_[_[1]][0]),n.push(C.$),a.push(C._$),S=s[r[r.length-2]][r[r.length-1]],r.push(S);break;case 3:return!0}}return!0}},u={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,r=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var n=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===i.length?this.yylloc.first_column:0)+i[i.length-r.length].length-r[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var r,i,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(n.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in n)this[a]=n[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,r,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var n=this._currentRules(),a=0;ae[0].length)){if(e=r,i=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,n[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,n[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,r,i){switch(r){case 0:break;case 1:return"SPACE";case 2:return 21;case 3:return 4;case 4:return 15;case 5:return 16;case 6:return 17;case 7:return 18;case 8:return 15;case 9:return 16;case 10:return 17;case 11:return 19;case 12:return 20;case 13:case 14:return 19;case 15:return 12;case 16:return e.yytext[0];case 17:return 6}},rules:[/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\|o\b)/i,/^(?:\}o\b)/i,/^(?:\}\|)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:[A-Za-z][A-Za-z0-9\-]*)/i,/^(?:.)/i,/^(?:$)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],inclusive:!0}}};function h(){this.yy={}}return c.lexer=u,h.prototype=c,c.Parser=h,new h}();e.parser=n,e.Parser=n.Parser,e.parse=function(){return n.parse.apply(n,arguments)},e.main=function(i){i[1]||(console.log("Usage: "+i[0]+" FILE"),t.exit(1));var n=r(6).readFileSync(r(7).normalize(i[1]),"utf8");return e.parser.parse(n)},r.c[r.s]===i&&e.main(t.argv.slice(1))}).call(this,r(4),r(5)(t))},function(t,e){t.exports=require("dagre-d3/lib/label/add-html-label.js")},function(t,e){t.exports=require("entity-decode/browser")},function(t,e){t.exports=require("scope-css")},function(t,e){t.exports=function(t,e){return console.info("Intersect Node"),t.intersect(e)}},function(t,e,r){var i={"./dark/index.scss":27,"./default/index.scss":29,"./forest/index.scss":31,"./neutral/index.scss":33};function n(t){var e=a(t);return r(e)}function a(t){if(!r.o(i,t)){var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e}return i[t]}n.keys=function(){return Object.keys(i)},n.resolve=a,t.exports=n,n.id=26},function(t,e,r){var i=r(28);t.exports="string"==typeof i?i:i.toString()},function(t,e,r){(t.exports=r(16)(!1)).push([t.i,".label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);color:#333}.label text{fill:#333}.node rect,.node circle,.node ellipse,.node polygon,.node path{fill:#BDD5EA;stroke:purple;stroke-width:1px}.node .label{text-align:center}.node.clickable{cursor:pointer}.arrowheadPath{fill:#d3d3d3}.edgePath .path{stroke:#d3d3d3;stroke-width:1.5px}.edgeLabel{background-color:#e8e8e8;text-align:center}.edgeLabel rect{opacity:0.5}.cluster rect{fill:#6D6D65;stroke:rgba(255,255,255,0.25);stroke-width:1px}.cluster text{fill:#F9FFFE}div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#6D6D65;border:1px solid rgba(255,255,255,0.25);border-radius:2px;pointer-events:none;z-index:100}.actor{stroke:#81B1DB;fill:#BDD5EA}text.actor{fill:#000;stroke:none}.actor-line{stroke:#d3d3d3}.messageLine0{stroke-width:1.5;stroke-dasharray:'2 2';stroke:#d3d3d3}.messageLine1{stroke-width:1.5;stroke-dasharray:'2 2';stroke:#d3d3d3}#arrowhead{fill:#d3d3d3}.sequenceNumber{fill:#fff}#sequencenumber{fill:#d3d3d3}#crosshead path{fill:#d3d3d3 !important;stroke:#d3d3d3 !important}.messageText{fill:#d3d3d3;stroke:none}.labelBox{stroke:#81B1DB;fill:#BDD5EA}.labelText{fill:#323D47;stroke:none}.loopText{fill:#d3d3d3;stroke:none}.loopLine{stroke-width:2;stroke-dasharray:'2 2';stroke:#81B1DB}.note{stroke:rgba(255,255,255,0.25);fill:#fff5ad}.noteText{fill:black;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:14px}.activation0{fill:#f4f4f4;stroke:#666}.activation1{fill:#f4f4f4;stroke:#666}.activation2{fill:#f4f4f4;stroke:#666}.mermaid-main-font{font-family:\"trebuchet ms\", verdana, arial;font-family:var(--mermaid-font-family)}.section{stroke:none;opacity:0.2}.section0{fill:rgba(255,255,255,0.3)}.section2{fill:#EAE8B9}.section1,.section3{fill:#fff;opacity:0.2}.sectionTitle0{fill:#F9FFFE}.sectionTitle1{fill:#F9FFFE}.sectionTitle2{fill:#F9FFFE}.sectionTitle3{fill:#F9FFFE}.sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}.grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.grid path{stroke-width:0}.today{fill:none;stroke:#DB5757;stroke-width:2px}.task{stroke-width:2}.taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.taskText:not([font-size]){font-size:11px}.taskTextOutsideRight{fill:#323D47;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.taskTextOutsideLeft{fill:#323D47;text-anchor:end;font-size:11px}.task.clickable{cursor:pointer}.taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}.taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}.taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}.taskText0,.taskText1,.taskText2,.taskText3{fill:#323D47}.task0,.task1,.task2,.task3{fill:#BDD5EA;stroke:rgba(255,255,255,0.5)}.taskTextOutside0,.taskTextOutside2{fill:#d3d3d3}.taskTextOutside1,.taskTextOutside3{fill:#d3d3d3}.active0,.active1,.active2,.active3{fill:#81B1DB;stroke:rgba(255,255,255,0.5)}.activeText0,.activeText1,.activeText2,.activeText3{fill:#323D47 !important}.done0,.done1,.done2,.done3{stroke:grey;fill:#d3d3d3;stroke-width:2}.doneText0,.doneText1,.doneText2,.doneText3{fill:#323D47 !important}.crit0,.crit1,.crit2,.crit3{stroke:#E83737;fill:#E83737;stroke-width:2}.activeCrit0,.activeCrit1,.activeCrit2,.activeCrit3{stroke:#E83737;fill:#81B1DB;stroke-width:2}.doneCrit0,.doneCrit1,.doneCrit2,.doneCrit3{stroke:#E83737;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}.milestone{transform:rotate(45deg) scale(0.8, 0.8)}.milestoneText{font-style:italic}.doneCritText0,.doneCritText1,.doneCritText2,.doneCritText3{fill:#323D47 !important}.activeCritText0,.activeCritText1,.activeCritText2,.activeCritText3{fill:#323D47 !important}.titleText{text-anchor:middle;font-size:18px;fill:#323D47;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}g.classGroup text{fill:purple;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}g.classGroup text .title{font-weight:bolder}g.clickable{cursor:pointer}g.classGroup rect{fill:#BDD5EA;stroke:purple}g.classGroup line{stroke:purple;stroke-width:1}.classLabel .box{stroke:none;stroke-width:0;fill:#BDD5EA;opacity:0.5}.classLabel .label{fill:purple;font-size:10px}.relation{stroke:purple;stroke-width:1;fill:none}.dashed-line{stroke-dasharray:3}#compositionStart{fill:purple;stroke:purple;stroke-width:1}#compositionEnd{fill:purple;stroke:purple;stroke-width:1}#aggregationStart{fill:#BDD5EA;stroke:purple;stroke-width:1}#aggregationEnd{fill:#BDD5EA;stroke:purple;stroke-width:1}#dependencyStart{fill:purple;stroke:purple;stroke-width:1}#dependencyEnd{fill:purple;stroke:purple;stroke-width:1}#extensionStart{fill:purple;stroke:purple;stroke-width:1}#extensionEnd{fill:purple;stroke:purple;stroke-width:1}.commit-id,.commit-msg,.branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.pieTitleText{text-anchor:middle;font-size:25px;fill:#323D47;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}g.stateGroup text{fill:purple;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}g.stateGroup text{fill:purple;stroke:none;font-size:10px}g.stateGroup .state-title{font-weight:bolder;fill:#000}g.stateGroup rect{fill:#BDD5EA;stroke:purple}g.stateGroup line{stroke:purple;stroke-width:1}.transition{stroke:purple;stroke-width:1;fill:none}.stateGroup .composit{fill:white;border-bottom:1px}.stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}.state-note{stroke:rgba(255,255,255,0.25);fill:#fff5ad}.state-note text{fill:black;stroke:none;font-size:10px}.stateLabel .box{stroke:none;stroke-width:0;fill:#BDD5EA;opacity:0.5}.stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.node circle.state-start{fill:black;stroke:black}.node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#statediagram-barbEnd{fill:purple}.statediagram-cluster rect{fill:#BDD5EA;stroke:purple;stroke-width:1px}.statediagram-cluster rect.outer{rx:5px;ry:5px}.statediagram-state .divider{stroke:purple}.statediagram-state .title-state{rx:5px;ry:5px}.statediagram-cluster.statediagram-cluster .inner{fill:white}.statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}.statediagram-cluster .inner{rx:0;ry:0}.statediagram-state rect.basic{rx:5px;ry:5px}.statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}.note-edge{stroke-dasharray:5}.statediagram-note rect{fill:#fff5ad;stroke:rgba(255,255,255,0.25);stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '\"trebuchet ms\", verdana, arial';--mermaid-font-family: \"Comic Sans MS\", \"Comic Sans\", cursive}\n",""])},function(t,e,r){var i=r(30);t.exports="string"==typeof i?i:i.toString()},function(t,e,r){(t.exports=r(16)(!1)).push([t.i,".label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);color:#333}.label text{fill:#333}.node rect,.node circle,.node ellipse,.node polygon,.node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}.node .label{text-align:center}.node.clickable{cursor:pointer}.arrowheadPath{fill:#333}.edgePath .path{stroke:#333;stroke-width:1.5px}.edgeLabel{background-color:#e8e8e8;text-align:center}.edgeLabel rect{opacity:0.5}.cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}.cluster text{fill:#333}div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}.actor{stroke:#ccf;fill:#ECECFF}text.actor{fill:#000;stroke:none}.actor-line{stroke:grey}.messageLine0{stroke-width:1.5;stroke-dasharray:'2 2';stroke:#333}.messageLine1{stroke-width:1.5;stroke-dasharray:'2 2';stroke:#333}#arrowhead{fill:#333}.sequenceNumber{fill:#fff}#sequencenumber{fill:#333}#crosshead path{fill:#333 !important;stroke:#333 !important}.messageText{fill:#333;stroke:none}.labelBox{stroke:#ccf;fill:#ECECFF}.labelText{fill:#000;stroke:none}.loopText{fill:#000;stroke:none}.loopLine{stroke-width:2;stroke-dasharray:'2 2';stroke:#ccf}.note{stroke:#aa3;fill:#fff5ad}.noteText{fill:black;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:14px}.activation0{fill:#f4f4f4;stroke:#666}.activation1{fill:#f4f4f4;stroke:#666}.activation2{fill:#f4f4f4;stroke:#666}.mermaid-main-font{font-family:\"trebuchet ms\", verdana, arial;font-family:var(--mermaid-font-family)}.section{stroke:none;opacity:0.2}.section0{fill:rgba(102,102,255,0.49)}.section2{fill:#fff400}.section1,.section3{fill:#fff;opacity:0.2}.sectionTitle0{fill:#333}.sectionTitle1{fill:#333}.sectionTitle2{fill:#333}.sectionTitle3{fill:#333}.sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}.grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.grid path{stroke-width:0}.today{fill:none;stroke:red;stroke-width:2px}.task{stroke-width:2}.taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.taskText:not([font-size]){font-size:11px}.taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}.task.clickable{cursor:pointer}.taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}.taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}.taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}.taskText0,.taskText1,.taskText2,.taskText3{fill:#fff}.task0,.task1,.task2,.task3{fill:#8a90dd;stroke:#534fbc}.taskTextOutside0,.taskTextOutside2{fill:#000}.taskTextOutside1,.taskTextOutside3{fill:#000}.active0,.active1,.active2,.active3{fill:#bfc7ff;stroke:#534fbc}.activeText0,.activeText1,.activeText2,.activeText3{fill:#000 !important}.done0,.done1,.done2,.done3{stroke:grey;fill:#d3d3d3;stroke-width:2}.doneText0,.doneText1,.doneText2,.doneText3{fill:#000 !important}.crit0,.crit1,.crit2,.crit3{stroke:#f88;fill:red;stroke-width:2}.activeCrit0,.activeCrit1,.activeCrit2,.activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}.doneCrit0,.doneCrit1,.doneCrit2,.doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}.milestone{transform:rotate(45deg) scale(0.8, 0.8)}.milestoneText{font-style:italic}.doneCritText0,.doneCritText1,.doneCritText2,.doneCritText3{fill:#000 !important}.activeCritText0,.activeCritText1,.activeCritText2,.activeCritText3{fill:#000 !important}.titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}g.classGroup text .title{font-weight:bolder}g.clickable{cursor:pointer}g.classGroup rect{fill:#ECECFF;stroke:#9370db}g.classGroup line{stroke:#9370db;stroke-width:1}.classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}.classLabel .label{fill:#9370db;font-size:10px}.relation{stroke:#9370db;stroke-width:1;fill:none}.dashed-line{stroke-dasharray:3}#compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}.commit-id,.commit-msg,.branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}g.stateGroup text{fill:#9370db;stroke:none;font-size:10px}g.stateGroup .state-title{font-weight:bolder;fill:#000}g.stateGroup rect{fill:#ECECFF;stroke:#9370db}g.stateGroup line{stroke:#9370db;stroke-width:1}.transition{stroke:#9370db;stroke-width:1;fill:none}.stateGroup .composit{fill:white;border-bottom:1px}.stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}.state-note{stroke:#aa3;fill:#fff5ad}.state-note text{fill:black;stroke:none;font-size:10px}.stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}.stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.node circle.state-start{fill:black;stroke:black}.node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#statediagram-barbEnd{fill:#9370db}.statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}.statediagram-cluster rect.outer{rx:5px;ry:5px}.statediagram-state .divider{stroke:#9370db}.statediagram-state .title-state{rx:5px;ry:5px}.statediagram-cluster.statediagram-cluster .inner{fill:white}.statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}.statediagram-cluster .inner{rx:0;ry:0}.statediagram-state rect.basic{rx:5px;ry:5px}.statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}.note-edge{stroke-dasharray:5}.statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '\"trebuchet ms\", verdana, arial';--mermaid-font-family: \"Comic Sans MS\", \"Comic Sans\", cursive}\n",""])},function(t,e,r){var i=r(32);t.exports="string"==typeof i?i:i.toString()},function(t,e,r){(t.exports=r(16)(!1)).push([t.i,".label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);color:#333}.label text{fill:#333}.node rect,.node circle,.node ellipse,.node polygon,.node path{fill:#cde498;stroke:#13540c;stroke-width:1px}.node .label{text-align:center}.node.clickable{cursor:pointer}.arrowheadPath{fill:green}.edgePath .path{stroke:green;stroke-width:1.5px}.edgeLabel{background-color:#e8e8e8;text-align:center}.edgeLabel rect{opacity:0.5}.cluster rect{fill:#cdffb2;stroke:#6eaa49;stroke-width:1px}.cluster text{fill:#333}div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#cdffb2;border:1px solid #6eaa49;border-radius:2px;pointer-events:none;z-index:100}.actor{stroke:#13540c;fill:#cde498}text.actor{fill:#000;stroke:none}.actor-line{stroke:grey}.messageLine0{stroke-width:1.5;stroke-dasharray:'2 2';stroke:#333}.messageLine1{stroke-width:1.5;stroke-dasharray:'2 2';stroke:#333}#arrowhead{fill:#333}.sequenceNumber{fill:#fff}#sequencenumber{fill:#333}#crosshead path{fill:#333 !important;stroke:#333 !important}.messageText{fill:#333;stroke:none}.labelBox{stroke:#326932;fill:#cde498}.labelText{fill:#000;stroke:none}.loopText{fill:#000;stroke:none}.loopLine{stroke-width:2;stroke-dasharray:'2 2';stroke:#326932}.note{stroke:#6eaa49;fill:#fff5ad}.noteText{fill:black;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:14px}.activation0{fill:#f4f4f4;stroke:#666}.activation1{fill:#f4f4f4;stroke:#666}.activation2{fill:#f4f4f4;stroke:#666}.mermaid-main-font{font-family:\"trebuchet ms\", verdana, arial;font-family:var(--mermaid-font-family)}.section{stroke:none;opacity:0.2}.section0{fill:#6eaa49}.section2{fill:#6eaa49}.section1,.section3{fill:#fff;opacity:0.2}.sectionTitle0{fill:#333}.sectionTitle1{fill:#333}.sectionTitle2{fill:#333}.sectionTitle3{fill:#333}.sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}.grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.grid path{stroke-width:0}.today{fill:none;stroke:red;stroke-width:2px}.task{stroke-width:2}.taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.taskText:not([font-size]){font-size:11px}.taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}.task.clickable{cursor:pointer}.taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}.taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}.taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}.taskText0,.taskText1,.taskText2,.taskText3{fill:#fff}.task0,.task1,.task2,.task3{fill:#487e3a;stroke:#13540c}.taskTextOutside0,.taskTextOutside2{fill:#000}.taskTextOutside1,.taskTextOutside3{fill:#000}.active0,.active1,.active2,.active3{fill:#cde498;stroke:#13540c}.activeText0,.activeText1,.activeText2,.activeText3{fill:#000 !important}.done0,.done1,.done2,.done3{stroke:grey;fill:#d3d3d3;stroke-width:2}.doneText0,.doneText1,.doneText2,.doneText3{fill:#000 !important}.crit0,.crit1,.crit2,.crit3{stroke:#f88;fill:red;stroke-width:2}.activeCrit0,.activeCrit1,.activeCrit2,.activeCrit3{stroke:#f88;fill:#cde498;stroke-width:2}.doneCrit0,.doneCrit1,.doneCrit2,.doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}.milestone{transform:rotate(45deg) scale(0.8, 0.8)}.milestoneText{font-style:italic}.doneCritText0,.doneCritText1,.doneCritText2,.doneCritText3{fill:#000 !important}.activeCritText0,.activeCritText1,.activeCritText2,.activeCritText3{fill:#000 !important}.titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}g.classGroup text{fill:#13540c;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}g.classGroup text .title{font-weight:bolder}g.clickable{cursor:pointer}g.classGroup rect{fill:#cde498;stroke:#13540c}g.classGroup line{stroke:#13540c;stroke-width:1}.classLabel .box{stroke:none;stroke-width:0;fill:#cde498;opacity:0.5}.classLabel .label{fill:#13540c;font-size:10px}.relation{stroke:#13540c;stroke-width:1;fill:none}.dashed-line{stroke-dasharray:3}#compositionStart{fill:#13540c;stroke:#13540c;stroke-width:1}#compositionEnd{fill:#13540c;stroke:#13540c;stroke-width:1}#aggregationStart{fill:#cde498;stroke:#13540c;stroke-width:1}#aggregationEnd{fill:#cde498;stroke:#13540c;stroke-width:1}#dependencyStart{fill:#13540c;stroke:#13540c;stroke-width:1}#dependencyEnd{fill:#13540c;stroke:#13540c;stroke-width:1}#extensionStart{fill:#13540c;stroke:#13540c;stroke-width:1}#extensionEnd{fill:#13540c;stroke:#13540c;stroke-width:1}.commit-id,.commit-msg,.branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}g.stateGroup text{fill:#13540c;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}g.stateGroup text{fill:#13540c;stroke:none;font-size:10px}g.stateGroup .state-title{font-weight:bolder;fill:#000}g.stateGroup rect{fill:#cde498;stroke:#13540c}g.stateGroup line{stroke:#13540c;stroke-width:1}.transition{stroke:#13540c;stroke-width:1;fill:none}.stateGroup .composit{fill:white;border-bottom:1px}.stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}.state-note{stroke:#6eaa49;fill:#fff5ad}.state-note text{fill:black;stroke:none;font-size:10px}.stateLabel .box{stroke:none;stroke-width:0;fill:#cde498;opacity:0.5}.stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.node circle.state-start{fill:black;stroke:black}.node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#statediagram-barbEnd{fill:#13540c}.statediagram-cluster rect{fill:#cde498;stroke:#13540c;stroke-width:1px}.statediagram-cluster rect.outer{rx:5px;ry:5px}.statediagram-state .divider{stroke:#13540c}.statediagram-state .title-state{rx:5px;ry:5px}.statediagram-cluster.statediagram-cluster .inner{fill:white}.statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}.statediagram-cluster .inner{rx:0;ry:0}.statediagram-state rect.basic{rx:5px;ry:5px}.statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}.note-edge{stroke-dasharray:5}.statediagram-note rect{fill:#fff5ad;stroke:#6eaa49;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '\"trebuchet ms\", verdana, arial';--mermaid-font-family: \"Comic Sans MS\", \"Comic Sans\", cursive}\n",""])},function(t,e,r){var i=r(34);t.exports="string"==typeof i?i:i.toString()},function(t,e,r){(t.exports=r(16)(!1)).push([t.i,".label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);color:#333}.label text{fill:#333}.node rect,.node circle,.node ellipse,.node polygon,.node path{fill:#eee;stroke:#999;stroke-width:1px}.node .label{text-align:center}.node.clickable{cursor:pointer}.arrowheadPath{fill:#333}.edgePath .path{stroke:#666;stroke-width:1.5px}.edgeLabel{background-color:#fff;text-align:center}.edgeLabel rect{opacity:0.5}.cluster rect{fill:#eaf2fb;stroke:#26a;stroke-width:1px}.cluster text{fill:#333}div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#eaf2fb;border:1px solid #26a;border-radius:2px;pointer-events:none;z-index:100}.actor{stroke:#999;fill:#eee}text.actor{fill:#333;stroke:none}.actor-line{stroke:#666}.messageLine0{stroke-width:1.5;stroke-dasharray:'2 2';stroke:#333}.messageLine1{stroke-width:1.5;stroke-dasharray:'2 2';stroke:#333}#arrowhead{fill:#333}.sequenceNumber{fill:#fff}#sequencenumber{fill:#333}#crosshead path{fill:#333 !important;stroke:#333 !important}.messageText{fill:#333;stroke:none}.labelBox{stroke:#999;fill:#eee}.labelText{fill:#333;stroke:none}.loopText{fill:#333;stroke:none}.loopLine{stroke-width:2;stroke-dasharray:'2 2';stroke:#999}.note{stroke:#770;fill:#ffa}.noteText{fill:black;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:14px}.activation0{fill:#f4f4f4;stroke:#666}.activation1{fill:#f4f4f4;stroke:#666}.activation2{fill:#f4f4f4;stroke:#666}.mermaid-main-font{font-family:\"trebuchet ms\", verdana, arial;font-family:var(--mermaid-font-family)}.section{stroke:none;opacity:0.2}.section0{fill:#80b3e6}.section2{fill:#80b3e6}.section1,.section3{fill:#fff;opacity:0.2}.sectionTitle0{fill:#333}.sectionTitle1{fill:#333}.sectionTitle2{fill:#333}.sectionTitle3{fill:#333}.sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.grid .tick{stroke:#e6e6e6;opacity:0.8;shape-rendering:crispEdges}.grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.grid path{stroke-width:0}.today{fill:none;stroke:#d42;stroke-width:2px}.task{stroke-width:2}.taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.taskText:not([font-size]){font-size:11px}.taskTextOutsideRight{fill:#333;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.taskTextOutsideLeft{fill:#333;text-anchor:end;font-size:11px}.task.clickable{cursor:pointer}.taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}.taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}.taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}.taskText0,.taskText1,.taskText2,.taskText3{fill:#fff}.task0,.task1,.task2,.task3{fill:#26a;stroke:#1a4d80}.taskTextOutside0,.taskTextOutside2{fill:#333}.taskTextOutside1,.taskTextOutside3{fill:#333}.active0,.active1,.active2,.active3{fill:#eee;stroke:#1a4d80}.activeText0,.activeText1,.activeText2,.activeText3{fill:#333 !important}.done0,.done1,.done2,.done3{stroke:#666;fill:#bbb;stroke-width:2}.doneText0,.doneText1,.doneText2,.doneText3{fill:#333 !important}.crit0,.crit1,.crit2,.crit3{stroke:#b1361b;fill:#d42;stroke-width:2}.activeCrit0,.activeCrit1,.activeCrit2,.activeCrit3{stroke:#b1361b;fill:#eee;stroke-width:2}.doneCrit0,.doneCrit1,.doneCrit2,.doneCrit3{stroke:#b1361b;fill:#bbb;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}.milestone{transform:rotate(45deg) scale(0.8, 0.8)}.milestoneText{font-style:italic}.doneCritText0,.doneCritText1,.doneCritText2,.doneCritText3{fill:#333 !important}.activeCritText0,.activeCritText1,.activeCritText2,.activeCritText3{fill:#333 !important}.titleText{text-anchor:middle;font-size:18px;fill:#333;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}g.classGroup text{fill:#999;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}g.classGroup text .title{font-weight:bolder}g.clickable{cursor:pointer}g.classGroup rect{fill:#eee;stroke:#999}g.classGroup line{stroke:#999;stroke-width:1}.classLabel .box{stroke:none;stroke-width:0;fill:#eee;opacity:0.5}.classLabel .label{fill:#999;font-size:10px}.relation{stroke:#999;stroke-width:1;fill:none}.dashed-line{stroke-dasharray:3}#compositionStart{fill:#999;stroke:#999;stroke-width:1}#compositionEnd{fill:#999;stroke:#999;stroke-width:1}#aggregationStart{fill:#eee;stroke:#999;stroke-width:1}#aggregationEnd{fill:#eee;stroke:#999;stroke-width:1}#dependencyStart{fill:#999;stroke:#999;stroke-width:1}#dependencyEnd{fill:#999;stroke:#999;stroke-width:1}#extensionStart{fill:#999;stroke:#999;stroke-width:1}#extensionEnd{fill:#999;stroke:#999;stroke-width:1}.commit-id,.commit-msg,.branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.pieTitleText{text-anchor:middle;font-size:25px;fill:#333;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}g.stateGroup text{fill:#999;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}g.stateGroup text{fill:#999;stroke:none;font-size:10px}g.stateGroup .state-title{font-weight:bolder;fill:#000}g.stateGroup rect{fill:#eee;stroke:#999}g.stateGroup line{stroke:#999;stroke-width:1}.transition{stroke:#999;stroke-width:1;fill:none}.stateGroup .composit{fill:white;border-bottom:1px}.stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}.state-note{stroke:#770;fill:#ffa}.state-note text{fill:black;stroke:none;font-size:10px}.stateLabel .box{stroke:none;stroke-width:0;fill:#eee;opacity:0.5}.stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.node circle.state-start{fill:black;stroke:black}.node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#statediagram-barbEnd{fill:#999}.statediagram-cluster rect{fill:#eee;stroke:#999;stroke-width:1px}.statediagram-cluster rect.outer{rx:5px;ry:5px}.statediagram-state .divider{stroke:#999}.statediagram-state .title-state{rx:5px;ry:5px}.statediagram-cluster.statediagram-cluster .inner{fill:white}.statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}.statediagram-cluster .inner{rx:0;ry:0}.statediagram-state rect.basic{rx:5px;ry:5px}.statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}.note-edge{stroke-dasharray:5}.statediagram-note rect{fill:#ffa;stroke:#770;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '\"trebuchet ms\", verdana, arial';--mermaid-font-family: \"Comic Sans MS\", \"Comic Sans\", cursive}\n",""])},function(t,e,r){"use strict";r.r(e);var i=r(23),n=r.n(i),a=r(0),s=r(24),o=r.n(s),l=r(15);function c(t){return(c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var u={},h=function(t){!function(t){for(var e=Object.keys(t),r=0;r=1&&(i={x:t.x,y:t.y}),a>0&&a<1&&(i={x:(1-a)*e.x+a*t.x,y:(1-a)*e.y+a*t.y})}}e=t})),i}(t)},L=function(t,e,r){var i;e[0]!==r&&(e=e.reverse()),e.forEach((function(t){T(t,i),i=t}));var n,a=25;i=void 0,e.forEach((function(t){if(i&&!n){var e=T(t,i);if(e=1&&(n={x:t.x,y:t.y}),r>0&&r<1&&(n={x:(1-r)*i.x+r*t.x,y:(1-r)*i.y+r*t.y})}}i=t}));var s=t?10:5,o=Math.atan2(e[0].y-n.y,e[0].x-n.x),l={x:0,y:0};return l.x=Math.sin(o)*s+(e[0].x+n.x)/2,l.y=-Math.cos(o)*s+(e[0].y+n.y)/2,l},I=function(t,e){var r=t.trim();if(r)return"loose"!==e.securityLevel?Object(_.sanitizeUrl)(r):r},B=r(2),M=r.n(B),P=//gi,R=function(t){return t.replace(P,"#br#")},j=function(t){return t.replace(/#br#/g,"
")},$=function(t){if(!t)return 1;var e=R(t);return(e=e.replace(/\\n/g,"#br#")).split("#br#")},z=function(t,e){var r=t,i=!0;return!e.flowchart||!1!==e.flowchart.htmlLabels&&"false"!==e.flowchart.htmlLabels||(i=!1),"loose"!==e.securityLevel&&i&&(r=(r=(r=R(r)).replace(//g,">")).replace(/=/g,"="),r=j(r)),r},Y=P;function G(t){return(G="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var V,U=d(),H={},W=[],q=[],X=[],Z={},J={},K=0,Q=!0,tt=[],et=function(t,e,r,i){var n=t,a=e;n[0].match(/\d/)&&(n=""+n),a[0].match(/\d/)&&(a=""+a);var s={start:n,end:a,type:void 0,text:""};void 0!==(i=r.text)&&(s.text=z(i.trim(),U),'"'===s.text[0]&&'"'===s.text[s.text.length-1]&&(s.text=s.text.substring(1,s.text.length-1))),void 0!==r&&(s.type=r.type,s.stroke=r.stroke),W.push(s)},rt=function(t,e){t.split(",").forEach((function(t){var r=t;t[0].match(/\d/)&&(r=""+r),void 0!==H[r]&&H[r].classes.push(e),void 0!==Z[r]&&Z[r].classes.push(e)}))},it=function(t,e){t.split(",").forEach((function(t){void 0!==e&&(J[t]=z(e,U))}))},nt=function(t){var e=Object(a.select)(".mermaidTooltip");null===(e._groups||e)[0][0]&&(e=Object(a.select)("body").append("div").attr("class","mermaidTooltip").style("opacity",0)),Object(a.select)(t).select("svg").selectAll("g.node").on("mouseover",(function(){var t=Object(a.select)(this);if(null!==t.attr("title")){var r=this.getBoundingClientRect();e.transition().duration(200).style("opacity",".9"),e.html(t.attr("title")).style("left",r.left+(r.right-r.left)/2+"px").style("top",r.top-14+document.body.scrollTop+"px"),t.classed("hover",!0)}})).on("mouseout",(function(){e.transition().duration(500).style("opacity",0),Object(a.select)(this).classed("hover",!1)}))};tt.push(nt);var at=function(t){for(var e=0;e/)&&(V="LR"),V.match(/.*v/)&&(V="TB")},setClass:rt,getTooltip:function(t){return J[t]},setClickEvent:function(t,e,r){t.split(",").forEach((function(t){!function(t,e){var r=t;t[0].match(/\d/)&&(r=""+r),"loose"===U.securityLevel&&void 0!==e&&void 0!==H[r]&&tt.push((function(){var t=document.querySelector('[id="'.concat(r,'"]'));null!==t&&t.addEventListener("click",(function(){window[e](r)}),!1)}))}(t,e)})),it(t,r),rt(t,"clickable")},setLink:function(t,e,r){t.split(",").forEach((function(t){var r=t;t[0].match(/\d/)&&(r=""+r),void 0!==H[r]&&(H[r].link=I(e,U))})),it(t,r),rt(t,"clickable")},bindFunctions:function(t){tt.forEach((function(e){e(t)}))},getDirection:function(){return V.trim()},getVertices:function(){return H},getEdges:function(){return W},getClasses:function(){return q},clear:function(){H={},q={},W=[],(tt=[]).push(nt),X=[],Z={},K=0,J=[],Q=!0},defaultStyle:function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},addSubGraph:function(t,e,r){var i=t.trim(),n=r;t===r&&r.match(/\s/)&&(i=void 0);var a,s,o,l=[];a=l.concat.apply(l,e),s={boolean:{},number:{},string:{}},o=[],l=a.filter((function(t){var e=G(t);return""!==t.trim()&&(e in s?!s[e].hasOwnProperty(t)&&(s[e][t]=!0):!(o.indexOf(t)>=0)&&o.push(t))}));for(var c=0;c0&&function t(e,r){var i=X[r].nodes;if(!((st+=1)>2e3)){if(ot[st]=r,X[r].id===e)return{result:!0,count:0};for(var n=0,a=1;n=0){var o=t(e,s);if(o.result)return{result:!0,count:a+o.count};a+=o.count}n+=1}return{result:!1,count:a}}}("none",X.length-1)},getSubGraphs:function(){return X},destructLink:function(t,e){var r,i=function(t){switch(t.trim()){case"--x":return{type:"arrow_cross",stroke:"normal"};case"--\x3e":return{type:"arrow_point",stroke:"normal"};case"<--\x3e":return{type:"double_arrow_point",stroke:"normal"};case"x--x":return{type:"double_arrow_cross",stroke:"normal"};case"o--o":return{type:"double_arrow_circle",stroke:"normal"};case"o.-o":return{type:"double_arrow_circle",stroke:"dotted"};case"<==>":return{type:"double_arrow_point",stroke:"thick"};case"o==o":return{type:"double_arrow_circle",stroke:"thick"};case"x==x":return{type:"double_arrow_cross",stroke:"thick"};case"x.-x":case"x-.-x":return{type:"double_arrow_cross",stroke:"dotted"};case"<.->":case"<-.->":return{type:"double_arrow_point",stroke:"dotted"};case"o-.-o":return{type:"double_arrow_circle",stroke:"dotted"};case"--o":return{type:"arrow_circle",stroke:"normal"};case"---":return{type:"arrow_open",stroke:"normal"};case"-.-x":return{type:"arrow_cross",stroke:"dotted"};case"-.->":return{type:"arrow_point",stroke:"dotted"};case"-.-o":return{type:"arrow_circle",stroke:"dotted"};case"-.-":return{type:"arrow_open",stroke:"dotted"};case".-x":return{type:"arrow_cross",stroke:"dotted"};case".->":return{type:"arrow_point",stroke:"dotted"};case".-o":return{type:"arrow_circle",stroke:"dotted"};case".-":return{type:"arrow_open",stroke:"dotted"};case"==x":return{type:"arrow_cross",stroke:"thick"};case"==>":return{type:"arrow_point",stroke:"thick"};case"==o":return{type:"arrow_circle",stroke:"thick"};case"===":return{type:"arrow_open",stroke:"thick"}}}(t);if(e){if((r=function(t){switch(t.trim()){case"<--":return{type:"arrow_point",stroke:"normal"};case"x--":return{type:"arrow_cross",stroke:"normal"};case"o--":return{type:"arrow_circle",stroke:"normal"};case"<-.":return{type:"arrow_point",stroke:"dotted"};case"x-.":return{type:"arrow_cross",stroke:"dotted"};case"o-.":return{type:"arrow_circle",stroke:"dotted"};case"<==":return{type:"arrow_point",stroke:"thick"};case"x==":return{type:"arrow_cross",stroke:"thick"};case"o==":return{type:"arrow_circle",stroke:"thick"};case"--":return{type:"arrow_open",stroke:"normal"};case"==":return{type:"arrow_open",stroke:"thick"};case"-.":return{type:"arrow_open",stroke:"dotted"}}}(e)).stroke!==i.stroke)return{type:"INVALID",stroke:"INVALID"};if("arrow_open"===r.type)r.type=i.type;else{if(r.type!==i.type)return{type:"INVALID",stroke:"INVALID"};r.type="double_"+r.type}return"double_arrow"===r.type&&(r.type="double_arrow_point"),r}return i},lex:{firstGraph:function(){return!!Q&&(Q=!1,!0)}}},ct=r(10),ut=r.n(ct),ht=r(3),dt=r.n(ht),ft=r(22),pt=r.n(ft);function yt(t,e,r){var i=.9*(e.width+e.height),n=[{x:i/2,y:0},{x:i,y:-i/2},{x:i/2,y:-i},{x:0,y:-i/2}],a=Tt(t,i,i,n);return r.intersect=function(t){return dt.a.intersect.polygon(r,n,t)},a}function gt(t,e,r){var i=e.height,n=i/4,a=e.width+2*n,s=[{x:n,y:0},{x:a-n,y:0},{x:a,y:-i/2},{x:a-n,y:-i},{x:n,y:-i},{x:0,y:-i/2}],o=Tt(t,a,i,s);return r.intersect=function(t){return dt.a.intersect.polygon(r,s,t)},o}function mt(t,e,r){var i=e.width,n=e.height,a=[{x:-n/2,y:0},{x:i,y:0},{x:i,y:-n},{x:-n/2,y:-n},{x:0,y:-n/2}],s=Tt(t,i,n,a);return r.intersect=function(t){return dt.a.intersect.polygon(r,a,t)},s}function bt(t,e,r){var i=e.width,n=e.height,a=[{x:-2*n/6,y:0},{x:i-n/6,y:0},{x:i+2*n/6,y:-n},{x:n/6,y:-n}],s=Tt(t,i,n,a);return r.intersect=function(t){return dt.a.intersect.polygon(r,a,t)},s}function xt(t,e,r){var i=e.width,n=e.height,a=[{x:2*n/6,y:0},{x:i+n/6,y:0},{x:i-2*n/6,y:-n},{x:-n/6,y:-n}],s=Tt(t,i,n,a);return r.intersect=function(t){return dt.a.intersect.polygon(r,a,t)},s}function kt(t,e,r){var i=e.width,n=e.height,a=[{x:-2*n/6,y:0},{x:i+2*n/6,y:0},{x:i-n/6,y:-n},{x:n/6,y:-n}],s=Tt(t,i,n,a);return r.intersect=function(t){return dt.a.intersect.polygon(r,a,t)},s}function vt(t,e,r){var i=e.width,n=e.height,a=[{x:n/6,y:0},{x:i-n/6,y:0},{x:i+2*n/6,y:-n},{x:-2*n/6,y:-n}],s=Tt(t,i,n,a);return r.intersect=function(t){return dt.a.intersect.polygon(r,a,t)},s}function Et(t,e,r){var i=e.width,n=e.height,a=[{x:0,y:0},{x:i+n/2,y:0},{x:i,y:-n/2},{x:i+n/2,y:-n},{x:0,y:-n}],s=Tt(t,i,n,a);return r.intersect=function(t){return dt.a.intersect.polygon(r,a,t)},s}function _t(t,e,r){var i=e.height,n=e.width+i/4,a=t.insert("rect",":first-child").attr("rx",i/2).attr("ry",i/2).attr("x",-n/2).attr("y",-i/2).attr("width",n).attr("height",i);return r.intersect=function(t){return dt.a.intersect.rect(r,t)},a}function wt(t,e,r){var i=e.width,n=e.height,a=[{x:0,y:0},{x:i,y:0},{x:i,y:-n},{x:0,y:-n},{x:0,y:0},{x:-8,y:0},{x:i+8,y:0},{x:i+8,y:-n},{x:-8,y:-n},{x:-8,y:0}],s=Tt(t,i,n,a);return r.intersect=function(t){return dt.a.intersect.polygon(r,a,t)},s}function At(t,e,r){var i=e.width,n=i/2,a=n/(2.5+i/50),s=e.height+a,o="M 0,"+a+" a "+n+","+a+" 0,0,0 "+i+" 0 a "+n+","+a+" 0,0,0 "+-i+" 0 l 0,"+s+" a "+n+","+a+" 0,0,0 "+i+" 0 l 0,"+-s,l=t.attr("label-offset-y",a).insert("path",":first-child").attr("d",o).attr("transform","translate("+-i/2+","+-(s/2+a)+")");return r.intersect=function(t){var e=dt.a.intersect.rect(r,t),i=e.x-r.x;if(0!=n&&(Math.abs(i)r.height/2-a)){var s=a*a*(1-i*i/(n*n));0!=s&&(s=Math.sqrt(s)),s=a-s,t.y-r.y>0&&(s=-s),e.y+=s}return e},l}function Tt(t,e,r,i){return t.insert("polygon",":first-child").attr("points",i.map((function(t){return t.x+","+t.y})).join(" ")).attr("transform","translate("+-e/2+","+r/2+")")}var St={addToRender:function(t){t.shapes().question=yt,t.shapes().hexagon=gt,t.shapes().stadium=_t,t.shapes().subroutine=wt,t.shapes().cylinder=At,t.shapes().rect_left_inv_arrow=mt,t.shapes().lean_right=bt,t.shapes().lean_left=xt,t.shapes().trapezoid=kt,t.shapes().inv_trapezoid=vt,t.shapes().rect_right_inv_arrow=Et},addToRenderV2:function(t){t({question:yt}),t({hexagon:gt}),t({stadium:_t}),t({subroutine:wt}),t({cylinder:At}),t({rect_left_inv_arrow:mt}),t({lean_right:bt}),t({lean_left:xt}),t({trapezoid:kt}),t({inv_trapezoid:vt}),t({rect_right_inv_arrow:Et})}},Ot={},Ct=function(t,e,r){var i=Object(a.select)('[id="'.concat(r,'"]'));Object.keys(t).forEach((function(r){var n=t[r],a="default";n.classes.length>0&&(a=n.classes.join(" "));var s,o=S(n.styles),l=void 0!==n.text?n.text:n.id;if(d().flowchart.htmlLabels){var c={label:l.replace(/fa[lrsb]?:fa-[\w-]+/g,(function(t){return"")}))};(s=pt()(i,c).node()).parentNode.removeChild(s)}else{var u=document.createElementNS("http://www.w3.org/2000/svg","text");u.setAttribute("style",o.labelStyle.replace("color:","fill:"));for(var h=l.split(Y),f=0;f"):(o.labelType="text",o.label=s.text.replace(Y,"\n"),void 0===s.style&&(o.style=o.style||"stroke: #333; stroke-width: 1.5px;fill:none"),o.labelStyle=o.labelStyle.replace("color:","fill:"))),e.setEdge(s.start,s.end,o,n)}))},Ft=function(t){for(var e=Object.keys(t),r=0;r=0;h--)n=u[h],lt.addVertex(n.id,n.title,"group",void 0,n.classes);var f=lt.getVertices(),p=lt.getEdges(),y=0;for(y=u.length-1;y>=0;y--){n=u[y],Object(a.selectAll)("cluster").append("text");for(var g=0;g"),k.info("vertexText"+n),function(t){var e,r,i=Object(a.select)(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),n=i.append("xhtml:div"),s=t.label,o=t.isNode?"nodeLabel":"edgeLabel";return n.html(''+s+""),e=n,(r=t.labelStyle)&&e.attr("style",r),n.style("display","inline-block"),n.style("white-space","nowrap"),n.attr("xmlns","http://www.w3.org/1999/xhtml"),i.node()}({isNode:i,label:n.replace(/fa[lrsb]?:fa-[\w-]+/g,(function(t){return"")}))});var s=document.createElementNS("http://www.w3.org/2000/svg","text");s.setAttribute("style",e.replace("color:","fill:"));var o=[];o="string"==typeof n?n.split(/\\n|\n|/gi):Array.isArray(n)?n:[];for(var l=0;l0)t(a,r,i,n);else{var s=r.node(a);k.info("cp ",a," to ",n," with parent ",e),i.setNode(a,s),k.debug("Setting parent",a,r.parent(a)),n!==r.parent(a)&&i.setParent(a,r.parent(a)),e!==n&&a!==e?(k.debug("Setting parent",a,e),i.setParent(a,e)):(k.info("In copy ",e,"root",n,"data",r.node(e),n),k.debug("Not Setting parent for node=",a,"cluster!==rootId",e!==n,"node!==clusterId",a!==e));var o=r.edges(a);k.debug("Copying Edges",o),o.forEach((function(t){k.info("Edge",t);var a=r.edge(t.v,t.w,t.name);k.info("Edge data",a,n);try{!function(t,e){return k.info("Decendants of ",e," is ",Gt[e]),k.info("Edge is ",t),t.v!==e&&(t.w!==e&&(Gt[e]?(k.info("Here "),Gt[e].indexOf(t.v)>=0||(!!Ut(t.v,e)||(!!Ut(t.w,e)||Gt[e].indexOf(t.w)>=0))):(k.debug("Tilt, ",e,",not in decendants"),!1)))}(t,n)?k.info("Skipping copy of edge ",t.v,"--\x3e",t.w," rootId: ",n," clusterId:",e):(k.info("Copying as ",t.v,t.w,a,t.name),i.setEdge(t.v,t.w,a,t.name),k.info("newGraph edges ",i.edges(),i.edge(i.edges()[0])))}catch(t){k.error(t)}}))}k.debug("Removing node",a),r.removeNode(a)}))},Wt=function t(e,r){k.trace("Searching",e);var i=r.children(e);if(i.length<1)return k.trace("This is a valid node",e),e;for(var n=0;n ",a),a}},qt=function(t){return Yt[t]&&Yt[t].externalConnections&&Yt[t]?Yt[t].id:t},Xt=function(t,e){!t||e>10?k.debug("Opting out, no graph "):(k.debug("Opting in, graph "),t.nodes().forEach((function(e){t.children(e).length>0&&(k.trace("Cluster identified",e," Replacement id in edges: ",Wt(e,t)),Gt[e]=function t(e,r){for(var i=r.children(e),n=[].concat(i),a=0;a0&&(k.debug("Cluster identified",e,Gt),i.forEach((function(t){t.v!==e&&t.w!==e&&(Ut(t.v,e)^Ut(t.w,e)&&(k.debug("Edge: ",t," leaves cluster ",e),k.debug("Decendants of ",e,": ",Gt[e]),Yt[e].externalConnections=!0))})))})),Zt(t,0),t.edges().forEach((function(e){var r=t.edge(e);k.trace("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(e)),k.trace("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(t.edge(e)));var i=e.v,n=e.w;k.trace("Fix",Yt,"ids:",e.v,e.w,"Translateing: ",Yt[e.v],Yt[e.w]),(Yt[e.v]||Yt[e.w])&&(k.trace("Fixing and trixing - removing",e.v,e.w,e.name),i=qt(e.v),n=qt(e.w),t.removeEdge(e.v,e.w,e.name),i!==e.v&&(r.fromCluster=e.v),n!==e.w&&(r.toCluster=e.w),k.trace("Replacing with",i,n,e.name),t.setEdge(i,n,r,e.name))})),k.debug("Adjusted Graph",M.a.json.write(t)),k.trace(Yt))},Zt=function t(e,r){if(k.debug("extractor - ",r,M.a.json.write(e),e.children("D")),r>10)k.error("Bailing out");else{for(var i=e.nodes(),n=!1,a=0;a0}if(n){k.debug("Nodes = ",i,r);for(var l=0;l0){k.debug("Cluster without external connections, without a parent and with children",c,r);var u=e.graph(),h=new M.a.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:"TB"===u.rankdir?"LR":"TB",nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel((function(){return{}}));k.debug("Old graph before copy",M.a.json.write(e)),Ht(c,e,h,c),e.setNode(c,{clusterNode:!0,id:c,clusterData:Yt[c].clusterData,labelText:Yt[c].labelText,graph:h}),k.debug("New graph after copy",M.a.json.write(h)),k.debug("Old graph after copy",M.a.json.write(e))}else k.debug("Cluster ** ",c," **not meeting the criteria !externalConnections:",!Yt[c].externalConnections," no parent: ",!e.parent(c)," children ",e.children(c)&&e.children(c).length>0,e.children("D"),r),k.debug(Yt);else k.debug("Not a cluster",c,r)}i=e.nodes(),k.debug("New list of nodes",i);for(var d=0;d0}var ee=function(t,e,r,i){var n,a,s,o,l,c,u,h,d,f,p,y,g;if(n=e.y-t.y,s=t.x-e.x,l=e.x*t.y-t.x*e.y,d=n*r.x+s*r.y+l,f=n*i.x+s*i.y+l,!(0!==d&&0!==f&&te(d,f)||(a=i.y-r.y,o=r.x-i.x,c=i.x*r.y-r.x*i.y,u=a*t.x+o*t.y+c,h=a*e.x+o*e.y+c,0!==u&&0!==h&&te(u,h)||0==(p=n*o-a*s))))return y=Math.abs(p/2),{x:(g=s*c-o*l)<0?(g-y)/p:(g+y)/p,y:(g=a*l-n*c)<0?(g-y)/p:(g+y)/p}},re=function(t,e,r){var i=t.x,n=t.y,a=[],s=Number.POSITIVE_INFINITY,o=Number.POSITIVE_INFINITY;e.forEach((function(t){s=Math.min(s,t.x),o=Math.min(o,t.y)}));for(var l=i-t.width/2-s,c=n-t.height/2-o,u=0;u1&&a.sort((function(t,e){var i=t.x-r.x,n=t.y-r.y,a=Math.sqrt(i*i+n*n),s=e.x-r.x,o=e.y-r.y,l=Math.sqrt(s*s+o*o);return aMath.abs(s)*c?(o<0&&(c=-c),r=0===o?0:c*s/o,i=c):(s<0&&(l=-l),r=l,i=0===s?0:l*o/s),{x:n+r,y:a+i}},ne={node:r.n(Jt).a,circle:Qt,ellipse:Kt,polygon:re,rect:ie},ae=function(t,e,r){var i=t.insert("g").attr("class","node default").attr("id",e.id),n=70,a=10;"LR"===r&&(n=10,a=70);var s=i.append("rect").style("stroke","black").style("fill","black").attr("x",-1*n/2).attr("y",-1*a/2).attr("width",n).attr("height",a).attr("class","fork-join");return $t(e,s),e.height=e.height+e.padding/2,e.width=e.width+e.padding/2,e.intersect=function(t){return ne.rect(e,t)},i},se={question:function(t,e){var r=jt(t,e,void 0,!0),i=r.shapeSvg,n=r.bbox,a=n.width+e.padding+(n.height+e.padding),s=[{x:a/2,y:0},{x:a,y:-a/2},{x:a/2,y:-a},{x:0,y:-a/2}];k.info("Question main (Circle)");var o=zt(i,a,a,s);return $t(e,o),e.intersect=function(t){return k.warn("Intersect called"),ne.polygon(e,s,t)},i},rect:function(t,e){var r=jt(t,e,"node "+e.classes,!0),i=r.shapeSvg,n=r.bbox,a=r.halfPadding;k.trace("Classes = ",e.classes);var s=i.insert("rect",":first-child");return s.attr("class","basic label-container").attr("rx",e.rx).attr("ry",e.ry).attr("x",-n.width/2-a).attr("y",-n.height/2-a).attr("width",n.width+e.padding).attr("height",n.height+e.padding),$t(e,s),e.intersect=function(t){return ne.rect(e,t)},i},rectWithTitle:function(t,e){var r;r=e.classes?"node "+e.classes:"node default";var i=t.insert("g").attr("class",r).attr("id",e.id),n=i.insert("rect",":first-child"),s=i.insert("line"),o=i.insert("g").attr("class","label"),l=e.labelText.flat();k.info("Label text",l[0]);var c,u=o.node().appendChild(Rt(l[0],e.labelStyle,!0,!0));if(d().flowchart.htmlLabels){var h=u.children[0],f=Object(a.select)(u);c=h.getBoundingClientRect(),f.attr("width",c.width),f.attr("height",c.height)}k.info("Text 2",l);var p=l.slice(1,l.length),y=u.getBBox(),g=o.node().appendChild(Rt(p.join("
"),e.labelStyle,!0,!0));if(d().flowchart.htmlLabels){var m=g.children[0],b=Object(a.select)(g);c=m.getBoundingClientRect(),b.attr("width",c.width),b.attr("height",c.height)}var x=e.padding/2;return Object(a.select)(g).attr("transform","translate( "+(c.width>y.width?0:(y.width-c.width)/2)+", "+(y.height+x+5)+")"),Object(a.select)(u).attr("transform","translate( "+(c.widthe.height/2-o)){var n=o*o*(1-i*i/(s*s));0!=n&&(n=Math.sqrt(n)),n=o-n,t.y-e.y>0&&(n=-n),r.y+=n}return r},i},start:function(t,e){var r=t.insert("g").attr("class","node default").attr("id",e.id),i=r.insert("circle",":first-child");return i.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),$t(e,i),e.intersect=function(t){return ne.circle(e,7,t)},r},end:function(t,e){var r=t.insert("g").attr("class","node default").attr("id",e.id),i=r.insert("circle",":first-child"),n=r.insert("circle",":first-child");return n.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),i.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),$t(e,n),e.intersect=function(t){return ne.circle(e,7,t)},r},note:function(t,e){var r=jt(t,e,"node "+e.classes,!0),i=r.shapeSvg,n=r.bbox,a=r.halfPadding;k.info("Classes = ",e.classes);var s=i.insert("rect",":first-child");return s.attr("rx",e.rx).attr("ry",e.ry).attr("x",-n.width/2-a).attr("y",-n.height/2-a).attr("width",n.width+e.padding).attr("height",n.height+e.padding),$t(e,s),e.intersect=function(t){return ne.rect(e,t)},i},subroutine:function(t,e){var r=jt(t,e,void 0,!0),i=r.shapeSvg,n=r.bbox,a=n.width+e.padding,s=n.height+e.padding,o=zt(i,a,s,[{x:0,y:0},{x:a,y:0},{x:a,y:-s},{x:0,y:-s},{x:0,y:0},{x:-8,y:0},{x:a+8,y:0},{x:a+8,y:-s},{x:-8,y:-s},{x:-8,y:0}]);return $t(e,o),e.intersect=function(t){return ne.polygon(e,t)},i},fork:ae,join:ae},oe={},le=function(t){var e=oe[t.id];k.trace("Transforming node",t,"translate("+(t.x-t.width/2-5)+", "+(t.y-t.height/2-5)+")");t.clusterNode?e.attr("transform","translate("+(t.x-t.width/2-8)+", "+(t.y-t.height/2-8)+")"):e.attr("transform","translate("+t.x+", "+t.y+")")},ce={rect:function(t,e){k.trace("Creating subgraph rect for ",e.id,e);var r=t.insert("g").attr("class","cluster").attr("id",e.id),i=r.insert("rect",":first-child"),n=r.insert("g").attr("class","cluster-label"),s=n.node().appendChild(Rt(e.labelText,e.labelStyle,void 0,!0)),o=s.getBBox();if(d().flowchart.htmlLabels){var l=s.children[0],c=Object(a.select)(s);o=l.getBoundingClientRect(),c.attr("width",o.width),c.attr("height",o.height)}var u=0*e.padding,h=u/2;k.trace("Data ",e,JSON.stringify(e)),i.attr("rx",e.rx).attr("ry",e.ry).attr("x",e.x-e.width/2-h).attr("y",e.y-e.height/2-h).attr("width",e.width+u).attr("height",e.height+u),n.attr("transform","translate("+(e.x-o.width/2)+", "+(e.y-e.height/2-e.padding/3+3)+")");var f=i.node().getBBox();return e.width=f.width,e.height=f.height,e.intersect=function(t){return ie(e,t)},r},roundedWithTitle:function(t,e){var r=t.insert("g").attr("class",e.classes).attr("id",e.id),i=r.insert("rect",":first-child"),n=r.insert("g").attr("class","cluster-label"),s=r.append("rect"),o=n.node().appendChild(Rt(e.labelText,e.labelStyle,void 0,!0)),l=o.getBBox();if(d().flowchart.htmlLabels){var c=o.children[0],u=Object(a.select)(o);l=c.getBoundingClientRect(),u.attr("width",l.width),u.attr("height",l.height)}l=o.getBBox();var h=0*e.padding,f=h/2;i.attr("class","outer").attr("x",e.x-e.width/2-f).attr("y",e.y-e.height/2-f).attr("width",e.width+h).attr("height",e.height+h),s.attr("class","inner").attr("x",e.x-e.width/2-f).attr("y",e.y-e.height/2-f+l.height-1).attr("width",e.width+h).attr("height",e.height+h-l.height-3),n.attr("transform","translate("+(e.x-l.width/2)+", "+(e.y-e.height/2-e.padding/3+(d().flowchart.htmlLabels?5:3))+")");var p=i.node().getBBox();return e.width=p.width,e.height=p.height,e.intersect=function(t){return ie(e,t)},r},noteGroup:function(t,e){var r=t.insert("g").attr("class","note-cluster").attr("id",e.id),i=r.insert("rect",":first-child"),n=0*e.padding,a=n/2;i.attr("rx",e.rx).attr("ry",e.ry).attr("x",e.x-e.width/2-a).attr("y",e.y-e.height/2-a).attr("width",e.width+n).attr("height",e.height+n).attr("fill","none");var s=i.node().getBBox();return e.width=s.width,e.height=s.height,e.intersect=function(t){return ie(e,t)},r},divider:function(t,e){var r=t.insert("g").attr("class",e.classes).attr("id",e.id),i=r.insert("rect",":first-child"),n=0*e.padding,a=n/2;i.attr("class","divider").attr("x",e.x-e.width/2-a).attr("y",e.y-e.height/2).attr("width",e.width+n).attr("height",e.height+n);var s=i.node().getBBox();return e.width=s.width,e.height=s.height,e.intersect=function(t){return ie(e,t)},r}},ue={},he={},de=function(t,e){var r=t.x,i=t.y,n=Math.abs(e.x-r),a=Math.abs(e.y-i),s=t.width/2,o=t.height/2;return n>s||a>o},fe=function(t,e,r){k.trace("intersection o:",e," i:",r,t);var i=t.x,n=t.y,a=Math.abs(i-r.x),s=t.width/2,o=r.xMath.abs(i-e.x)*c?(o=d*u/h,{x:r.x0&&k.trace("Recursive edges",r.edge(r.edges()[0]));var l=o.insert("g").attr("class","clusters"),c=o.insert("g").attr("class","edgePaths"),u=o.insert("g").attr("class","edgeLabels"),h=o.insert("g").attr("class","nodes");return r.nodes().forEach((function(e){var a=r.node(e);if(void 0!==n){var o=JSON.parse(JSON.stringify(n.clusterData));k.trace("Setting data for cluster",o),r.setNode(n.id,o),r.setParent(e,n.id,o)}if(k.trace("(Insert) Node "+e+": "+JSON.stringify(r.node(e))),a&&a.clusterNode){k.trace("Cluster identified",e,a,r.node(e));var l=t(h,a.graph,i,r.node(e));$t(a,l),function(t,e){oe[e.id]=t}(l,a),k.warn("Recursive render complete",l,a)}else r.children(e).length>0?(k.trace("Cluster - the non recursive path",e,a.id,a,r),k.trace(Wt(a.id,r)),Yt[a.id]={id:Wt(a.id,r),node:a}):(k.trace("Node - the non recursive path",e,a.id,a),function(t,e,r){oe[e.id]=se[e.shape](t,e,r)}(h,r.node(e),s))})),r.edges().forEach((function(t){var e=r.edge(t.v,t.w,t.name);k.trace("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(t)),k.trace("Edge "+t.v+" -> "+t.w+": ",t," ",JSON.stringify(r.edge(t))),k.trace("Fix",Yt,"ids:",t.v,t.w,"Translateing: ",Yt[t.v],Yt[t.w]),function(t,e){var r=Rt(e.label,e.labelStyle),i=t.insert("g").attr("class","edgeLabel"),n=i.insert("g").attr("class","label");n.node().appendChild(r);var s=r.getBBox();if(d().flowchart.htmlLabels){var o=r.children[0],l=Object(a.select)(r);s=o.getBoundingClientRect(),l.attr("width",s.width),l.attr("height",s.height)}n.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),he[e.id]=i,e.width=s.width,e.height=s.height}(u,e)})),r.edges().forEach((function(t){k.info("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(t))})),k.info("#############################################"),k.info("### Layout ###"),k.info("#############################################"),k.info(r),Bt.a.layout(r),k.trace("Graph after layout:",M.a.json.write(r)),r.nodes().forEach((function(t){var e=r.node(t);k.trace("Position "+t+": "+JSON.stringify(r.node(t))),k.info("Position "+t+": ("+e.x,","+e.y,") width: ",e.width," height: ",e.height),e&&e.clusterNode?le(e):r.children(t).length>0?(!function(t,e){k.trace("Inserting cluster");var r=e.shape||"rect";ue[e.id]=ce[r](t,e)}(l,e),Yt[e.id].node=e):le(e)})),r.edges().forEach((function(t){var e=r.edge(t);k.info("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(e),e),function(t,e,r,i,n,s){var o=r.points,l=s.node(e.v),c=s.node(e.w);if(c.intersect&&l.intersect&&((o=o.slice(1,r.points.length-1)).unshift(l.intersect(o[0])),k.info("Last point",o[o.length-1],c,c.intersect(o[o.length-1])),o.push(c.intersect(o[o.length-1]))),r.toCluster){var u;k.trace("edge",r),k.trace("to cluster",i[r.toCluster]),o=[];var h=!1;r.points.forEach((function(t){var e=i[r.toCluster].node;if(de(e,t)||h)h||o.push(t);else{k.trace("inside",r.toCluster,t,u);var n=fe(e,u,t);k.trace("intersect",n),o.push(n),h=!0}u=t}))}if(r.fromCluster){k.trace("edge",r),k.trace("from cluster",i[r.toCluster]);for(var f,p=[],y=!1,g=o.length-1;g>=0;g--){var m=o[g],b=i[r.fromCluster].node;if(de(b,m)||y)k.trace("Outside point",m),y||p.unshift(m);else{k.trace("inside",r.toCluster,m);var x=fe(b,f,m);p.unshift(x),y=!0}f=m}o=p}var v=o.filter((function(t){return!Number.isNaN(t.y)})),E=Object(a.line)().x((function(t){return t.x})).y((function(t){return t.y})).curve(a.curveBasis),_=t.append("path").attr("d",E(v)).attr("id",r.id).attr("class","transition"+(r.classes?" "+r.classes:"")),w="";switch(d().state.arrowMarkerAbsolute&&(w=(w=(w=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search).replace(/\(/g,"\\(")).replace(/\)/g,"\\)")),k.info("arrowType",r.arrowType),r.arrowType){case"arrow_cross":_.attr("marker-end","url("+w+"#"+n+"-crossEnd)");break;case"double_arrow_cross":_.attr("marker-end","url("+w+"#"+n+"-crossEnd)"),_.attr("marker-start","url("+w+"#"+n+"-crossStart)");break;case"arrow_point":_.attr("marker-end","url("+w+"#"+n+"-pointEnd)");break;case"double_arrow_point":_.attr("marker-end","url("+w+"#"+n+"-pointEnd)"),_.attr("marker-start","url("+w+"#"+n+"-pointStart)");break;case"arrow_barb":_.attr("marker-end","url("+w+"#"+n+"-barbEnd)");break;case"double_arrow_barb":_.attr("marker-end","url("+w+"#"+n+"-barnEnd)"),_.attr("marker-start","url("+w+"#"+n+"-barbStart)");break;case"arrow_circle":_.attr("marker-end","url("+w+"#"+n+"-circleEnd)");break;case"double_arrow_circle":_.attr("marker-end","url("+w+"#"+n+"-circleEnd)"),_.attr("marker-start","url("+w+"#"+n+"-circleStart)")}}(c,t,e,Yt,i,r),function(t){(k.info("Moving label",t.id,t.label,he[t.id]),t.label)&&he[t.id].attr("transform","translate("+t.x+", "+t.y+")")}(e)})),o},ye=function(t,e,r,i,n){Pt(t,r,i,n),oe={},he={},ue={},Gt={},Vt={},Yt={},k.warn("Graph before:",M.a.json.write(e)),Xt(e),k.warn("Graph after:",M.a.json.write(e)),k.warn("Graph ever after:",e.graph()),pe(t,e,i)},ge={},me=function(t,e,r){var i=Object(a.select)('[id="'.concat(r,'"]'));Object.keys(t).forEach((function(r){var n=t[r],a="default";n.classes.length>0&&(a=n.classes.join(" "));var s,o=S(n.styles),l=void 0!==n.text?n.text:n.id;if(d().flowchart.htmlLabels){var c={label:l.replace(/fa[lrsb]?:fa-[\w-]+/g,(function(t){return"")}))};(s=pt()(i,c).node()).parentNode.removeChild(s)}else{var u=document.createElementNS("http://www.w3.org/2000/svg","text");u.setAttribute("style",o.labelStyle.replace("color:","fill:"));for(var h=l.split(Y),f=0;f=0;h--)n=u[h],k.info("Subgraph - ",n),lt.addVertex(n.id,n.title,"group",void 0,n.classes);var f=lt.getVertices(),p=lt.getEdges();k.info(p);var y=0;for(y=u.length-1;y>=0;y--){n=u[y],Object(a.selectAll)("cluster").append("text");for(var g=0;g>-",token:"->>-",line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["'ACTIVE_PARTICIPANT'"]},a}}return Le.push({from:t,to:e,message:r,type:i}),!0},je={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},$e=function(t,e,r){var i={actor:t,placement:e,message:r},n=[].concat(t,t);Ie.push(i),Le.push({from:n[0],to:n[1],message:r,type:je.NOTE,placement:e})},ze=function(t){Be=t},Ye={addActor:Pe,addMessage:function(t,e,r,i){Le.push({from:t,to:e,message:r,answer:i})},addSignal:Re,enableSequenceNumbers:function(){Me=!0},showSequenceNumbers:function(){return Me},getMessages:function(){return Le},getActors:function(){return Ne},getActor:function(t){return Ne[t]},getActorKeys:function(){return Object.keys(Ne)},getTitle:function(){return Be},clear:function(){Ne={},Le=[]},LINETYPE:je,ARROWTYPE:{FILLED:0,OPEN:1},PLACEMENT:{LEFTOF:0,RIGHTOF:1,OVER:2},addNote:$e,setTitle:ze,apply:function t(e){if(e instanceof Array)e.forEach((function(e){t(e)}));else switch(e.type){case"addActor":Pe(e.actor,e.actor,e.description);break;case"activeStart":case"activeEnd":Re(e.actor,void 0,void 0,e.signalType);break;case"addNote":$e(e.actor,e.placement,e.text);break;case"addMessage":Re(e.from,e.to,e.msg,e.signalType);break;case"loopStart":Re(void 0,void 0,e.loopText,e.signalType);break;case"loopEnd":Re(void 0,void 0,void 0,e.signalType);break;case"rectStart":Re(void 0,void 0,e.color,e.signalType);break;case"rectEnd":Re(void 0,void 0,void 0,e.signalType);break;case"optStart":Re(void 0,void 0,e.optText,e.signalType);break;case"optEnd":Re(void 0,void 0,void 0,e.signalType);break;case"altStart":case"else":Re(void 0,void 0,e.altText,e.signalType);break;case"altEnd":Re(void 0,void 0,void 0,e.signalType);break;case"setTitle":ze(e.text);break;case"parStart":case"and":Re(void 0,void 0,e.parText,e.signalType);break;case"parEnd":Re(void 0,void 0,void 0,e.signalType)}}};function Ge(t){return function(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);ee&&(r.starty=e-6,e+=12),Oe.drawActivation(s,r,e,Ve,qe(t.from.actor).length),Ue.insert(r.startx,e-10,r.stopx,e)}(t,Ue.getVerticalPos());break;case Ce.parser.yy.LINETYPE.LOOP_START:Ue.bumpVerticalPos(Ve.boxMargin),Ue.newLoop(t.message),Ue.bumpVerticalPos(Ve.boxMargin+Ve.boxTextMargin);break;case Ce.parser.yy.LINETYPE.LOOP_END:e=Ue.endLoop(),Oe.drawLoop(s,e,"loop",Ve),Ue.bumpVerticalPos(Ve.boxMargin);break;case Ce.parser.yy.LINETYPE.RECT_START:Ue.bumpVerticalPos(Ve.boxMargin),Ue.newLoop(void 0,t.message),Ue.bumpVerticalPos(Ve.boxMargin);break;case Ce.parser.yy.LINETYPE.RECT_END:var c=Ue.endLoop();Oe.drawBackgroundRect(s,c),Ue.bumpVerticalPos(Ve.boxMargin);break;case Ce.parser.yy.LINETYPE.OPT_START:Ue.bumpVerticalPos(Ve.boxMargin),Ue.newLoop(t.message),Ue.bumpVerticalPos(Ve.boxMargin+Ve.boxTextMargin);break;case Ce.parser.yy.LINETYPE.OPT_END:e=Ue.endLoop(),Oe.drawLoop(s,e,"opt",Ve),Ue.bumpVerticalPos(Ve.boxMargin);break;case Ce.parser.yy.LINETYPE.ALT_START:Ue.bumpVerticalPos(Ve.boxMargin),Ue.newLoop(t.message),Ue.bumpVerticalPos(Ve.boxMargin+Ve.boxTextMargin);break;case Ce.parser.yy.LINETYPE.ALT_ELSE:Ue.bumpVerticalPos(Ve.boxMargin),e=Ue.addSectionToLoop(t.message),Ue.bumpVerticalPos(Ve.boxMargin);break;case Ce.parser.yy.LINETYPE.ALT_END:e=Ue.endLoop(),Oe.drawLoop(s,e,"alt",Ve),Ue.bumpVerticalPos(Ve.boxMargin);break;case Ce.parser.yy.LINETYPE.PAR_START:Ue.bumpVerticalPos(Ve.boxMargin),Ue.newLoop(t.message),Ue.bumpVerticalPos(Ve.boxMargin+Ve.boxTextMargin);break;case Ce.parser.yy.LINETYPE.PAR_AND:Ue.bumpVerticalPos(Ve.boxMargin),e=Ue.addSectionToLoop(t.message),Ue.bumpVerticalPos(Ve.boxMargin);break;case Ce.parser.yy.LINETYPE.PAR_END:e=Ue.endLoop(),Oe.drawLoop(s,e,"par",Ve),Ue.bumpVerticalPos(Ve.boxMargin);break;default:try{Ue.bumpVerticalPos(Ve.messageMargin);var u=Xe(t.from),h=Xe(t.to),f=u[0]<=h[0]?1:0,p=u[0]=6&&r.indexOf("weekends")>=0||(r.indexOf(t.format("dddd").toLowerCase())>=0||r.indexOf(t.format(e.trim()))>=0)},kr=function(t,e,r){if(r.length&&!t.manualEndTime){var i=p()(t.startTime,e,!0);i.add(1,"d");var n=p()(t.endTime,e,!0),a=vr(i,n,e,r);t.endTime=n.toDate(),t.renderEndTime=a}},vr=function(t,e,r,i){for(var n=!1,a=null;t<=e;)n||(a=e.toDate()),(n=xr(t,r,i))&&e.add(1,"d"),t.add(1,"d");return a},Er=function(t,e,r){r=r.trim();var i=/^after\s+([\d\w- ]+)/.exec(r.trim());if(null!==i){var n=null;if(i[1].split(" ").forEach((function(t){var e=Cr(t);void 0!==e&&(n?e.endTime>n.endTime&&(n=e):n=e)})),n)return n.endTime;var a=new Date;return a.setHours(0,0,0,0),a}var s=p()(r,e.trim(),!0);return s.isValid()?s.toDate():(k.debug("Invalid date:"+r),k.debug("With date format:"+e.trim()),new Date)},_r=function(t,e){if(null!==t)switch(t[2]){case"s":e.add(t[1],"seconds");break;case"m":e.add(t[1],"minutes");break;case"h":e.add(t[1],"hours");break;case"d":e.add(t[1],"days");break;case"w":e.add(t[1],"weeks")}return e.toDate()},wr=function(t,e,r,i){i=i||!1,r=r.trim();var n=p()(r,e.trim(),!0);return n.isValid()?(i&&n.add(1,"d"),n.toDate()):_r(/^([\d]+)([wdhms])/.exec(r.trim()),p()(t))},Ar=0,Tr=function(t){return void 0===t?"task"+(Ar+=1):t},Sr=[],Or={},Cr=function(t){var e=Or[t];return Sr[e]},Dr=function(){for(var t=function(t){var e=Sr[t],r="";switch(Sr[t].raw.startTime.type){case"prevTaskEnd":var i=Cr(e.prevTaskId);e.startTime=i.endTime;break;case"getStartDate":(r=Er(0,lr,Sr[t].raw.startTime.startData))&&(Sr[t].startTime=r)}return Sr[t].startTime&&(Sr[t].endTime=wr(Sr[t].startTime,lr,Sr[t].raw.endTime.data,br),Sr[t].endTime&&(Sr[t].processed=!0,Sr[t].manualEndTime=p()(Sr[t].raw.endTime.data,"YYYY-MM-DD",!0).isValid(),kr(Sr[t],lr,hr))),Sr[t].processed},e=!0,r=0;r0&&(e=t.classes.join(" "));for(var r=0,i=0;ir-e?r+a+1.5*Mr.leftPadding>c?e+i-5:r+i+5:(r-e)/2+e+i})).attr("y",(function(t,i){return i*e+Mr.barHeight/2+(Mr.fontSize/2-2)+r})).attr("text-height",n).attr("class",(function(t){var e=o(t.startTime),r=o(t.endTime);t.milestone&&(r=e+n);var i=this.getBBox().width,a="";t.classes.length>0&&(a=t.classes.join(" "));for(var s=0,u=0;ur-e?r+i+1.5*Mr.leftPadding>c?a+" taskTextOutsideLeft taskTextOutside"+s+" "+h:a+" taskTextOutsideRight taskTextOutside"+s+" "+h+" width-"+i:a+" taskText taskText"+s+" "+h+" width-"+i}))}(t,n,c,d,i,0,e),function(t,e){for(var r=[],i=0,n=0;n0&&a.setAttribute("dy","1em"),a.textContent=e[n],i.appendChild(a)}return i})).attr("x",10).attr("y",(function(n,a){if(!(a>0))return n[1]*t/2+e;for(var s=0;s0){var i=t.split("~");r=i[0],e=i[1]}return{className:r,type:e}},Ur=function(t){var e=Vr(t);void 0===zr[e.className]&&(zr[e.className]={id:e.className,type:e.type,cssClasses:[],methods:[],members:[],annotations:[],domId:"classid-"+e.className+"-"+Yr},Yr++)},Hr=function(t){for(var e=Object.keys(zr),r=0;r>")?i.annotations.push(n.substring(2,n.length-2)):n.indexOf(")")>0?i.methods.push(n):n&&i.members.push(n)}},qr=function(t,e){t.split(",").forEach((function(t){var r=t;t[0].match(/\d/)&&(r="classid-"+r),void 0!==zr[r]&&zr[r].cssClasses.push(e)}))},Xr=function(t,e,r){var i=t,n=Hr(i);"loose"===jr.securityLevel&&void 0!==e&&void 0!==zr[i]&&(r&&(zr[i].tooltip=z(r,jr)),Gr.push((function(){var t=document.querySelector('[id="'.concat(n,'"]'));null!==t&&t.addEventListener("click",(function(){window[e](n)}),!1)})))},Zr={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3},Jr=function(t){var e=Object(a.select)(".mermaidTooltip");null===(e._groups||e)[0][0]&&(e=Object(a.select)("body").append("div").attr("class","mermaidTooltip").style("opacity",0)),Object(a.select)(t).select("svg").selectAll("g.node").on("mouseover",(function(){var t=Object(a.select)(this);if(null!==t.attr("title")){var r=this.getBoundingClientRect();e.transition().duration(200).style("opacity",".9"),e.html(t.attr("title")).style("left",r.left+(r.right-r.left)/2+"px").style("top",r.top-14+document.body.scrollTop+"px"),t.classed("hover",!0)}})).on("mouseout",(function(){e.transition().duration(500).style("opacity",0),Object(a.select)(this).classed("hover",!1)}))};Gr.push(Jr);var Kr={addClass:Ur,bindFunctions:function(t){Gr.forEach((function(e){e(t)}))},clear:function(){$r=[],zr={},(Gr=[]).push(Jr)},getClass:function(t){return zr[t]},getClasses:function(){return zr},addAnnotation:function(t,e){var r=Vr(t).className;zr[r].annotations.push(e)},getRelations:function(){return $r},addRelation:function(t){k.debug("Adding relation: "+JSON.stringify(t)),Ur(t.id1),Ur(t.id2),t.id1=Vr(t.id1).className,t.id2=Vr(t.id2).className,$r.push(t)},addMember:Wr,addMembers:function(t,e){Array.isArray(e)&&(e.reverse(),e.forEach((function(e){return Wr(t,e)})))},cleanupLabel:function(t){return":"===t.substring(0,1)?t.substr(1).trim():t.trim()},lineType:{LINE:0,DOTTED_LINE:1},relationType:Zr,setClickEvent:function(t,e,r){t.split(",").forEach((function(t){Xr(t,e,r)})),qr(t,"clickable")},setCssClass:qr,setLink:function(t,e,r){t.split(",").forEach((function(t){var i=t;t[0].match(/\d/)&&(i="classid-"+i),void 0!==zr[i]&&(zr[i].link=I(e,jr),r&&(zr[i].tooltip=z(r,jr)))})),qr(t,"clickable")},lookUpDomId:Hr},Qr=r(14),ti=r.n(Qr),ei=0,ri=function(t){var e=t.match(/^(\+|-|~|#)?(\w+)(~\w+~|\[\])?\s+(\w+)$/),r=t.match(/^(\+|-|~|#)?(\w+)\s?\(\s*(\w+(~\w+~|\[\])?\s*(\w+)?)?\s*\)\s?([*|$])?\s?(\w+(~\w+~|\[\])?)?\s*$/);return e?ii(e):r?ni(r):ai(t)},ii=function(t){return{displayText:(t[1]?t[1].trim():"")+(t[2]?t[2].trim():"")+(t[3]?oi(t[3]):"")+" "+(t[4]?t[4].trim():""),cssStyle:""}},ni=function(t){var e=t[1]?t[1].trim():"",r=t[2]?t[2].trim():"",i=t[3]?oi(t[3]):"",n=t[6]?t[6].trim():"";return{displayText:e+r+"("+i+")"+(t[7]?" : "+oi(t[7]).trim():""),cssStyle:li(n)}},ai=function(t){var e="",r="",i="",n=t.indexOf("("),a=t.indexOf(")");if(n>1&&a>n&&a<=t.length){var s=t.match(/(\+|-|~|#)?(\w+)/),o=s[1]?s[1].trim():"",l=s[2],c=t.substring(n+1,a),u=t.substring(a,a+1);r=li(u),a<(e=o+l+"("+oi(c.trim())+")").length&&""!==(i=t.substring(a+2).trim())&&(i=" : "+oi(i))}else e=oi(t);return{displayText:e+i,cssStyle:r}},si=function(t,e,r,i){var n=ri(e),a=t.append("tspan").attr("x",i.padding).text(n.displayText);""!==n.cssStyle&&a.attr("style",n.cssStyle),r||a.attr("dy",i.textHeight)},oi=function t(e){var r=e;return-1!=e.indexOf("~")?t(r=(r=r.replace("~","<")).replace("~",">")):r},li=function(t){switch(t){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}},ci=function(t,e,r){k.info("Rendering class "+e);var i="classGroup ";e.cssClasses.length>0&&(i+=e.cssClasses.join(" "));var n,a=e.id,s={id:a,label:e.id,width:0,height:0},o=t.append("g").attr("id",Hr(a)).attr("class",i);n=e.link?o.append("svg:a").attr("xlink:href",e.link).attr("target","_blank").append("text").attr("y",r.textHeight+r.padding).attr("x",0):o.append("text").attr("y",r.textHeight+r.padding).attr("x",0);var l=!0;e.annotations.forEach((function(t){var e=n.append("tspan").text("«"+t+"»");l||e.attr("dy",r.textHeight),l=!1}));var c=e.id;void 0!==e.type&&""!==e.type&&(c+="<"+e.type+">");var u=n.append("tspan").text(c).attr("class","title");l||u.attr("dy",r.textHeight);var h=n.node().getBBox().height,d=o.append("line").attr("x1",0).attr("y1",r.padding+h+r.dividerMargin/2).attr("y2",r.padding+h+r.dividerMargin/2),f=o.append("text").attr("x",r.padding).attr("y",h+r.dividerMargin+r.textHeight).attr("fill","white").attr("class","classText");l=!0,e.members.forEach((function(t){si(f,t,l,r),l=!1}));var p=f.node().getBBox(),y=o.append("line").attr("x1",0).attr("y1",r.padding+h+r.dividerMargin+p.height).attr("y2",r.padding+h+r.dividerMargin+p.height),g=o.append("text").attr("x",r.padding).attr("y",h+2*r.dividerMargin+p.height+r.textHeight).attr("fill","white").attr("class","classText");l=!0,e.methods.forEach((function(t){si(g,t,l,r),l=!1}));var m=o.node().getBBox(),b=o.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",m.width+2*r.padding).attr("height",m.height+r.padding+.5*r.dividerMargin).node().getBBox().width;return n.node().childNodes.forEach((function(t){t.setAttribute("x",(b-t.getBBox().width)/2)})),e.tooltip&&n.insert("title").text(e.tooltip),d.attr("x2",b),y.attr("x2",b),s.width=b,s.height=m.height+r.padding+.5*r.dividerMargin,s},ui=function(t,e,r,i){var n=function(t){switch(t){case Zr.AGGREGATION:return"aggregation";case Zr.EXTENSION:return"extension";case Zr.COMPOSITION:return"composition";case Zr.DEPENDENCY:return"dependency"}};e.points=e.points.filter((function(t){return!Number.isNaN(t.y)}));var s,o,l=e.points,c=Object(a.line)().x((function(t){return t.x})).y((function(t){return t.y})).curve(a.curveBasis),u=t.append("path").attr("d",c(l)).attr("id","edge"+ei).attr("class","relation"),h="";i.arrowMarkerAbsolute&&(h=(h=(h=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search).replace(/\(/g,"\\(")).replace(/\)/g,"\\)")),1==r.relation.lineType&&u.attr("class","relation dashed-line"),"none"!==r.relation.type1&&u.attr("marker-start","url("+h+"#"+n(r.relation.type1)+"Start)"),"none"!==r.relation.type2&&u.attr("marker-end","url("+h+"#"+n(r.relation.type2)+"End)");var d,f,p,y,g=e.points.length,m=N(e.points);if(s=m.x,o=m.y,g%2!=0&&g>1){var b=L("none"!==r.relation.type1,e.points,e.points[0]),x=L("none"!==r.relation.type2,e.points,e.points[g-1]);k.debug("cardinality_1_point "+JSON.stringify(b)),k.debug("cardinality_2_point "+JSON.stringify(x)),d=b.x,f=b.y,p=x.x,y=x.y}if(void 0!==r.title){var v=t.append("g").attr("class","classLabel"),E=v.append("text").attr("class","label").attr("x",s).attr("y",o).attr("fill","red").attr("text-anchor","middle").text(r.title);window.label=E;var _=E.node().getBBox();v.insert("rect",":first-child").attr("class","box").attr("x",_.x-i.padding/2).attr("y",_.y-i.padding/2).attr("width",_.width+i.padding).attr("height",_.height+i.padding)}(k.info("Rendering relation "+JSON.stringify(r)),void 0!==r.relationTitle1&&"none"!==r.relationTitle1)&&t.append("g").attr("class","cardinality").append("text").attr("class","type1").attr("x",d).attr("y",f).attr("fill","black").attr("font-size","6").text(r.relationTitle1);void 0!==r.relationTitle2&&"none"!==r.relationTitle2&&t.append("g").attr("class","cardinality").append("text").attr("class","type2").attr("x",p).attr("y",y).attr("fill","black").attr("font-size","6").text(r.relationTitle2);ei++};Qr.parser.yy=Kr;var hi={},di={dividerMargin:10,padding:5,textHeight:10},fi=function(t){for(var e=Object.keys(hi),r=0;r "+t.w+": "+JSON.stringify(n.edge(t))),ui(i,n.edge(t),n.edge(t).relation,di))}));var h=i.node().getBBox(),d=h.width+40,f=h.height+40;di.useMaxWidth?(i.attr("width","100%"),i.attr("style","max-width: ".concat(d,"px;"))):(i.attr("height",f),i.attr("width",d));var p="".concat(h.x-20," ").concat(h.y-20," ").concat(d," ").concat(f);k.debug("viewBox ".concat(p)),i.attr("viewBox",p)};function gi(t){return(gi="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var mi,bi=function(t){return JSON.parse(JSON.stringify(t))},xi=[],ki={root:{relations:[],states:{},documents:{}}},vi=ki.root,Ei=0,_i=function(t,e,r,i,n){void 0===vi.states[t]?vi.states[t]={id:t,descriptions:[],type:e,doc:r,note:n}:(vi.states[t].doc||(vi.states[t].doc=r),vi.states[t].type||(vi.states[t].type=e)),i&&(k.info("Adding state ",t,i),"string"==typeof i&&Ti(t,i.trim()),"object"===gi(i)&&i.forEach((function(e){return Ti(t,e.trim())}))),n&&(vi.states[t].note=n)},wi=function(){vi=(ki={root:{relations:[],states:{},documents:{}}}).root,vi=ki.root,Ei=0,0,Oi=[]},Ai=function(t,e,r){var i=t,n=e,a="default",s="default";"[*]"===t&&(i="start"+ ++Ei,a="start"),"[*]"===e&&(n="end"+Ei,s="end"),_i(i,a),_i(n,s),vi.relations.push({id1:i,id2:n,title:r})},Ti=function(t,e){var r=vi.states[t],i=e;":"===i[0]&&(i=i.substr(1).trim()),r.descriptions.push(i)},Si=0,Oi=[],Ci={addState:_i,clear:wi,getState:function(t){return vi.states[t]},getStates:function(){return vi.states},getRelations:function(){return vi.relations},getClasses:function(){return Oi},getDirection:function(){return"TB"},addRelation:Ai,getDividerId:function(){return"divider-id-"+ ++Si},cleanupLabel:function(t){return":"===t.substring(0,1)?t.substr(2).trim():t.trim()},lineType:{LINE:0,DOTTED_LINE:1},relationType:{AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3},logDocuments:function(){k.info("Documents = ",ki)},getRootDoc:function(){return xi},setRootDoc:function(t){k.info("Setting root doc",t),xi=t},getRootDocV2:function(){return function t(e,r,i){if("relation"===r.stmt)t(e,r.state1,!0),t(e,r.state2,!1);else if("state"===r.stmt&&"[*]"===r.id&&(r.id=i?e.id+"_start":e.id+"_end",r.start=i),r.doc){var n=[],a=0,s=[];for(a=0;a0&&s.length>0){var l={stmt:"state",id:C(),type:"divider",doc:bi(s)};n.push(bi(l)),r.doc=n}r.doc.forEach((function(e){return t(r,e,!0)}))}}({id:"root"},{id:"root",doc:xi},!0),{id:"root",doc:xi}},extract:function(t){var e;e=t.doc?t.doc:t,k.info(e),wi(),k.info("Extract",e),e.forEach((function(t){"state"===t.stmt&&_i(t.id,t.type,t.doc,t.description,t.note),"relation"===t.stmt&&Ai(t.state1.id,t.state2.id,t.description)}))},trimColon:function(t){return t&&":"===t[0]?t.substr(1).trim():t.trim()}},Di=r(8),Fi=r.n(Di),Ni={},Li=function(t,e){Ni[t]=e},Ii=function(t,e){var r=t.append("text").attr("x",2*d().state.padding).attr("y",d().state.textHeight+1.3*d().state.padding).attr("font-size",d().state.fontSize).attr("class","state-title").text(e.descriptions[0]).node().getBBox(),i=r.height,n=t.append("text").attr("x",d().state.padding).attr("y",i+.4*d().state.padding+d().state.dividerMargin+d().state.textHeight).attr("class","state-description"),a=!0,s=!0;e.descriptions.forEach((function(t){a||(!function(t,e,r){var i=t.append("tspan").attr("x",2*d().state.padding).text(e);r||i.attr("dy",d().state.textHeight)}(n,t,s),s=!1),a=!1}));var o=t.append("line").attr("x1",d().state.padding).attr("y1",d().state.padding+i+d().state.dividerMargin/2).attr("y2",d().state.padding+i+d().state.dividerMargin/2).attr("class","descr-divider"),l=n.node().getBBox(),c=Math.max(l.width,r.width);return o.attr("x2",c+3*d().state.padding),t.insert("rect",":first-child").attr("x",d().state.padding).attr("y",d().state.padding).attr("width",c+2*d().state.padding).attr("height",l.height+i+2*d().state.padding).attr("rx",d().state.radius),t},Bi=function(t,e,r){var i,n=d().state.padding,a=2*d().state.padding,s=t.node().getBBox(),o=s.width,l=s.x,c=t.append("text").attr("x",0).attr("y",d().state.titleShift).attr("font-size",d().state.fontSize).attr("class","state-title").text(e.id),u=c.node().getBBox().width+a,h=Math.max(u,o);h===o&&(h+=a);var f=t.node().getBBox();e.doc,i=l-n,u>o&&(i=(o-h)/2+n),Math.abs(l-f.x)o&&(i=l-(u-o)/2);var p=1-d().state.textHeight;return t.insert("rect",":first-child").attr("x",i).attr("y",p).attr("class",r?"alt-composit":"composit").attr("width",h).attr("height",f.height+d().state.textHeight+d().state.titleShift+1).attr("rx","0"),c.attr("x",i+n),u<=o&&c.attr("x",l+(h-a)/2-u/2+n),t.insert("rect",":first-child").attr("x",i).attr("y",d().state.titleShift-d().state.textHeight-d().state.padding).attr("width",h).attr("height",3*d().state.textHeight).attr("rx",d().state.radius),t.insert("rect",":first-child").attr("x",i).attr("y",d().state.titleShift-d().state.textHeight-d().state.padding).attr("width",h).attr("height",f.height+3+2*d().state.textHeight).attr("rx",d().state.radius),t},Mi=function(t,e){e.attr("class","state-note");var r=e.append("rect").attr("x",0).attr("y",d().state.padding),i=function(t,e,r,i){var n=0,a=i.append("text");a.style("text-anchor","start"),a.attr("class","noteText");var s=t.replace(/\r\n/g,"
"),o=(s=s.replace(/\n/g,"
")).split(Y),l=1.25*d().state.noteMargin,c=!0,u=!1,h=void 0;try{for(var f,p=o[Symbol.iterator]();!(c=(f=p.next()).done);c=!0){var y=f.value.trim();if(y.length>0){var g=a.append("tspan");if(g.text(y),0===l)l+=g.node().getBBox().height;n+=l,g.attr("x",e+d().state.noteMargin),g.attr("y",r+n+1.25*d().state.noteMargin)}}}catch(t){u=!0,h=t}finally{try{c||null==p.return||p.return()}finally{if(u)throw h}}return{textWidth:a.node().getBBox().width,textHeight:n}}(t,0,0,e.append("g")),n=i.textWidth,a=i.textHeight;return r.attr("height",a+2*d().state.noteMargin),r.attr("width",n+2*d().state.noteMargin),r},Pi=function(t,e){var r=e.id,i={id:r,label:e.id,width:0,height:0},n=t.append("g").attr("id",r).attr("class","stateGroup");"start"===e.type&&function(t){t.append("circle").style("stroke","black").style("fill","black").attr("r",d().state.sizeUnit).attr("cx",d().state.padding+d().state.sizeUnit).attr("cy",d().state.padding+d().state.sizeUnit)}(n),"end"===e.type&&function(t){t.append("circle").style("stroke","black").style("fill","white").attr("r",d().state.sizeUnit+d().state.miniPadding).attr("cx",d().state.padding+d().state.sizeUnit+d().state.miniPadding).attr("cy",d().state.padding+d().state.sizeUnit+d().state.miniPadding),t.append("circle").style("stroke","black").style("fill","black").attr("r",d().state.sizeUnit).attr("cx",d().state.padding+d().state.sizeUnit+2).attr("cy",d().state.padding+d().state.sizeUnit+2)}(n),"fork"!==e.type&&"join"!==e.type||function(t,e){var r=d().state.forkWidth,i=d().state.forkHeight;if(e.parentId){var n=r;r=i,i=n}t.append("rect").style("stroke","black").style("fill","black").attr("width",r).attr("height",i).attr("x",d().state.padding).attr("y",d().state.padding)}(n,e),"note"===e.type&&Mi(e.note.text,n),"divider"===e.type&&function(t){t.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",d().state.textHeight).attr("class","divider").attr("x2",2*d().state.textHeight).attr("y1",0).attr("y2",0)}(n),"default"===e.type&&0===e.descriptions.length&&function(t,e){var r=t.append("text").attr("x",2*d().state.padding).attr("y",d().state.textHeight+2*d().state.padding).attr("font-size",d().state.fontSize).attr("class","state-title").text(e.id),i=r.node().getBBox();t.insert("rect",":first-child").attr("x",d().state.padding).attr("y",d().state.padding).attr("width",i.width+2*d().state.padding).attr("height",i.height+2*d().state.padding).attr("rx",d().state.radius)}(n,e),"default"===e.type&&e.descriptions.length>0&&Ii(n,e);var a=n.node().getBBox();return i.width=a.width+2*d().state.padding,i.height=a.height+2*d().state.padding,Li(r,i),i},Ri=0;Di.parser.yy=Ci;var ji={},$i=function t(e,r,i,n){var s,o=new M.a.Graph({compound:!0,multigraph:!0}),l=!0;for(s=0;s "+t.w+": "+JSON.stringify(o.edge(t))),function(t,e,r){e.points=e.points.filter((function(t){return!Number.isNaN(t.y)}));var i=e.points,n=Object(a.line)().x((function(t){return t.x})).y((function(t){return t.y})).curve(a.curveBasis),s=t.append("path").attr("d",n(i)).attr("id","edge"+Ri).attr("class","transition"),o="";if(d().state.arrowMarkerAbsolute&&(o=(o=(o=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search).replace(/\(/g,"\\(")).replace(/\)/g,"\\)")),s.attr("marker-end","url("+o+"#"+function(t){switch(t){case Ci.relationType.AGGREGATION:return"aggregation";case Ci.relationType.EXTENSION:return"extension";case Ci.relationType.COMPOSITION:return"composition";case Ci.relationType.DEPENDENCY:return"dependency"}}(Ci.relationType.DEPENDENCY)+"End)"),void 0!==r.title){for(var l=t.append("g").attr("class","stateLabel"),c=N(e.points),u=c.x,h=c.y,f=$(r.title),p=0,y=[],g=0,m=0,b=0;b<=f.length;b++){var x=l.append("text").attr("text-anchor","middle").text(f[b]).attr("x",u).attr("y",h+p),v=x.node().getBBox();if(g=Math.max(g,v.width),m=Math.min(m,v.x),k.info(v.x,u,h+p),0===p){var E=x.node().getBBox();p=E.height,k.info("Title height",p,h)}y.push(x)}var _=p*f.length;if(f.length>1){var w=(f.length-1)*p*.5;y.forEach((function(t,e){return t.attr("y",h+e*p-w)})),_=p*f.length}var A=l.node().getBBox();l.insert("rect",":first-child").attr("class","box").attr("x",u-g/2-d().state.padding/2).attr("y",h-_/2-d().state.padding/2-3.5).attr("width",g+d().state.padding).attr("height",_+d().state.padding),k.info(A)}Ri++}(r,o.edge(t),o.edge(t).relation))})),_=E.getBBox();var w={id:i||"root",label:i||"root",width:0,height:0};return w.width=_.width+2*mi.padding,w.height=_.height+2*mi.padding,k.debug("Doc rendered",w,o),w},zi=function(){},Yi=function(t,e){mi=d().state,Di.parser.yy.clear(),Di.parser.parse(t),k.debug("Rendering diagram "+t);var r=Object(a.select)("[id='".concat(e,"']"));r.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z"),new M.a.Graph({multigraph:!0,compound:!0,rankdir:"RL"}).setDefaultEdgeLabel((function(){return{}}));var i=Ci.getRootDoc();$i(i,r,void 0,!1);var n=mi.padding,s=r.node().getBBox(),o=s.width+2*n,l=s.height+2*n;mi.useMaxWidth?(r.attr("width","100%"),r.attr("style","max-width: ".concat(1.75*o,"px;"))):r.attr("width",1.75*o),r.attr("viewBox","".concat(s.x-mi.padding," ").concat(s.y-mi.padding," ")+o+" "+l)},Gi={},Vi={},Ui=function(t,e,r,i){if("root"!==r.id){var n="rect";!0===r.start&&(n="start"),!1===r.start&&(n="end"),"default"!==r.type&&(n=r.type),Vi[r.id]||(Vi[r.id]={id:r.id,shape:n,description:r.id,classes:"statediagram-state"}),r.description&&(Array.isArray(Vi[r.id].description)?(Vi[r.id].shape="rectWithTitle",Vi[r.id].description.push(r.description)):Vi[r.id].description.length>0?(Vi[r.id].shape="rectWithTitle",Vi[r.id].description===r.id?Vi[r.id].description=[r.description]:Vi[r.id].description=[Vi[r.id].description,r.description]):(Vi[r.id].shape="rect",Vi[r.id].description=r.description)),!Vi[r.id].type&&r.doc&&(k.info("Setting cluser for ",r.id),Vi[r.id].type="group",Vi[r.id].shape="divider"===r.type?"divider":"roundedWithTitle",Vi[r.id].classes=Vi[r.id].classes+" "+(i?"statediagram-cluster statediagram-cluster-alt":"statediagram-cluster"));var a={labelStyle:"",shape:Vi[r.id].shape,labelText:Vi[r.id].description,classes:Vi[r.id].classes,style:"",id:r.id,type:Vi[r.id].type,padding:15};if(r.note){var s={labelStyle:"",shape:"note",labelText:r.note.text,classes:"statediagram-note",style:"",id:r.id+"----note",type:Vi[r.id].type,padding:15},o={labelStyle:"",shape:"noteGroup",labelText:r.note.text,classes:Vi[r.id].classes,style:"",id:r.id+"----parent",type:"group",padding:0};t.setNode(r.id+"----parent",o),t.setNode(s.id,s),t.setNode(r.id,a),t.setParent(r.id,r.id+"----parent"),t.setParent(s.id,r.id+"----parent");var l=r.id,c=s.id;"left of"===r.note.position&&(l=s.id,c=r.id),t.setEdge(l,c,{arrowhead:"none",arrowType:"",style:"fill:none",labelStyle:"",classes:"note-edge",arrowheadStyle:"fill: #333",labelpos:"c",labelType:"text"})}else t.setNode(r.id,a)}e&&"root"!==e.id&&(k.info("Setting node ",r.id," to be child of its parent ",e.id),t.setParent(r.id,e.id)),r.doc&&(k.info("Adding nodes children "),Wi(t,r,r.doc,!i))},Hi=0,Wi=function(t,e,r,i){k.trace("items",r),r.forEach((function(r){if("state"===r.stmt||"default"===r.stmt)Ui(t,e,r,i);else if("relation"===r.stmt){Ui(t,e,r.state1,i),Ui(t,e,r.state2,i);var n={id:"edge"+Hi,arrowhead:"normal",arrowType:"arrow_barb",style:"fill:none",labelStyle:"",label:r.description,arrowheadStyle:"fill: #333",labelpos:"c",labelType:"text"},a=r.state1.id,s=r.state2.id;t.setEdge(a,s,n,Hi),Hi++}}))},qi=function(t){for(var e=Object.keys(t),r=0;re.seq?t:e}),t[0]),r="";t.forEach((function(t){r+=t===e?"\t*":"\t|"}));var i,n,a,s=[r,e.id,e.seq];for(var o in Ki)Ki[o]===e.id&&s.push(o);if(k.debug(s.join(" ")),Array.isArray(e.parent)){var l=Zi[e.parent[0]];sn(t,e,l),t.push(Zi[e.parent[1]])}else{if(null==e.parent)return;var c=Zi[e.parent];sn(t,e,c)}i=t,n=function(t){return t.id},a=Object.create(null),on(t=i.reduce((function(t,e){var r=n(e);return a[r]||(a[r]=!0,t.push(e)),t}),[]))}var ln,cn=function(){var t=Object.keys(Zi).map((function(t){return Zi[t]}));return t.forEach((function(t){k.debug(t.id)})),t.sort((function(t,e){return e.seq-t.seq})),t},un={setDirection:function(t){tn=t},setOptions:function(t){k.debug("options str",t),t=(t=t&&t.trim())||"{}";try{an=JSON.parse(t)}catch(t){k.error("error while parsing gitGraph options",t.message)}},getOptions:function(){return an},commit:function(t){var e={id:rn(),message:t,seq:en++,parent:null==Ji?null:Ji.id};Ji=e,Zi[e.id]=e,Ki[Qi]=e.id,k.debug("in pushCommit "+e.id)},branch:function(t){Ki[t]=null!=Ji?Ji.id:null,k.debug("in createBranch")},merge:function(t){var e=Zi[Ki[Qi]],r=Zi[Ki[t]];if(function(t,e){return t.seq>e.seq&&nn(e,t)}(e,r))k.debug("Already merged");else{if(nn(e,r))Ki[Qi]=Ki[t],Ji=Zi[Ki[Qi]];else{var i={id:rn(),message:"merged branch "+t+" into "+Qi,seq:en++,parent:[null==Ji?null:Ji.id,Ki[t]]};Ji=i,Zi[i.id]=i,Ki[Qi]=i.id}k.debug(Ki),k.debug("in mergeBranch")}},checkout:function(t){k.debug("in checkout");var e=Ki[Qi=t];Ji=Zi[e]},reset:function(t){k.debug("in reset",t);var e=t.split(":")[0],r=parseInt(t.split(":")[1]),i="HEAD"===e?Ji:Zi[Ki[e]];for(k.debug(i,r);r>0;)if(r--,!(i=Zi[i.parent])){var n="Critical error - unique parent commit not found during reset";throw k.error(n),n}Ji=i,Ki[Qi]=i.id},prettyPrint:function(){k.debug(Zi),on([cn()[0]])},clear:function(){Zi={},Ki={master:Ji=null},Qi="master",en=0},getBranchesAsObjArray:function(){var t=[];for(var e in Ki)t.push({name:e,commit:Zi[Ki[e]]});return t},getBranches:function(){return Ki},getCommits:function(){return Zi},getCommitsArray:cn,getCurrentBranch:function(){return Qi},getDirection:function(){return tn},getHead:function(){return Ji}},hn=r(18),dn=r.n(hn),fn={},pn={nodeSpacing:150,nodeFillColor:"yellow",nodeStrokeWidth:2,nodeStrokeColor:"grey",lineStrokeWidth:4,branchOffset:50,lineColor:"grey",leftMargin:50,branchColors:["#442f74","#983351","#609732","#AA9A39"],nodeRadius:10,nodeLabel:{width:75,height:100,x:-25,y:0}},yn={};function gn(t,e,r,i){var n=A(i,a.curveBasis),s=pn.branchColors[r%pn.branchColors.length],o=Object(a.line)().x((function(t){return Math.round(t.x)})).y((function(t){return Math.round(t.y)})).curve(n);t.append("svg:path").attr("d",o(e)).style("stroke",s).style("stroke-width",pn.lineStrokeWidth).style("fill","none")}function mn(t,e){e=e||t.node().getBBox();var r=t.node().getCTM();return{left:r.e+e.x*r.a,top:r.f+e.y*r.d,width:e.width,height:e.height}}function bn(t,e,r,i,n){k.debug("svgDrawLineForCommits: ",e,r);var a=mn(t.select("#node-"+e+" circle")),s=mn(t.select("#node-"+r+" circle"));switch(i){case"LR":if(a.left-s.left>pn.nodeSpacing){var o={x:a.left-pn.nodeSpacing,y:s.top+s.height/2};gn(t,[o,{x:s.left+s.width,y:s.top+s.height/2}],n,"linear"),gn(t,[{x:a.left,y:a.top+a.height/2},{x:a.left-pn.nodeSpacing/2,y:a.top+a.height/2},{x:a.left-pn.nodeSpacing/2,y:o.y},o],n)}else gn(t,[{x:a.left,y:a.top+a.height/2},{x:a.left-pn.nodeSpacing/2,y:a.top+a.height/2},{x:a.left-pn.nodeSpacing/2,y:s.top+s.height/2},{x:s.left+s.width,y:s.top+s.height/2}],n);break;case"BT":if(s.top-a.top>pn.nodeSpacing){var l={x:s.left+s.width/2,y:a.top+a.height+pn.nodeSpacing};gn(t,[l,{x:s.left+s.width/2,y:s.top}],n,"linear"),gn(t,[{x:a.left+a.width/2,y:a.top+a.height},{x:a.left+a.width/2,y:a.top+a.height+pn.nodeSpacing/2},{x:s.left+s.width/2,y:l.y-pn.nodeSpacing/2},l],n)}else gn(t,[{x:a.left+a.width/2,y:a.top+a.height},{x:a.left+a.width/2,y:a.top+pn.nodeSpacing/2},{x:s.left+s.width/2,y:s.top-pn.nodeSpacing/2},{x:s.left+s.width/2,y:s.top}],n)}}function xn(t,e){return t.select(e).node().cloneNode(!0)}function kn(t,e,r,i){var n,a=Object.keys(fn).length;if("string"==typeof e)do{if(n=fn[e],k.debug("in renderCommitHistory",n.id,n.seq),t.select("#node-"+e).size()>0)return;t.append((function(){return xn(t,"#def-commit")})).attr("class","commit").attr("id",(function(){return"node-"+n.id})).attr("transform",(function(){switch(i){case"LR":return"translate("+(n.seq*pn.nodeSpacing+pn.leftMargin)+", "+ln*pn.branchOffset+")";case"BT":return"translate("+(ln*pn.branchOffset+pn.leftMargin)+", "+(a-n.seq)*pn.nodeSpacing+")"}})).attr("fill",pn.nodeFillColor).attr("stroke",pn.nodeStrokeColor).attr("stroke-width",pn.nodeStrokeWidth);var s=void 0;for(var o in r)if(r[o].commit===n){s=r[o];break}s&&(k.debug("found branch ",s.name),t.select("#node-"+n.id+" p").append("xhtml:span").attr("class","branch-label").text(s.name+", ")),t.select("#node-"+n.id+" p").append("xhtml:span").attr("class","commit-id").text(n.id),""!==n.message&&"BT"===i&&t.select("#node-"+n.id+" p").append("xhtml:span").attr("class","commit-msg").text(", "+n.message),e=n.parent}while(e&&fn[e]);Array.isArray(e)&&(k.debug("found merge commmit",e),kn(t,e[0],r,i),ln++,kn(t,e[1],r,i),ln--)}function vn(t,e,r,i){for(i=i||0;e.seq>0&&!e.lineDrawn;)"string"==typeof e.parent?(bn(t,e.id,e.parent,r,i),e.lineDrawn=!0,e=fn[e.parent]):Array.isArray(e.parent)&&(bn(t,e.id,e.parent[0],r,i),bn(t,e.id,e.parent[1],r,i+1),vn(t,fn[e.parent[1]],r,i+1),e.lineDrawn=!0,e=fn[e.parent[0]])}var En,_n=function(t){yn=t},wn=function(t,e,r){try{var i=dn.a.parser;i.yy=un,i.yy.clear(),k.debug("in gitgraph renderer",t+"\n","id:",e,r),i.parse(t+"\n"),pn=Object.assign(pn,yn,un.getOptions()),k.debug("effective options",pn);var n=un.getDirection();fn=un.getCommits();var s=un.getBranchesAsObjArray();"BT"===n&&(pn.nodeLabel.x=s.length*pn.branchOffset,pn.nodeLabel.width="100%",pn.nodeLabel.y=-2*pn.nodeRadius);var o=Object(a.select)('[id="'.concat(e,'"]'));for(var l in function(t){t.append("defs").append("g").attr("id","def-commit").append("circle").attr("r",pn.nodeRadius).attr("cx",0).attr("cy",0),t.select("#def-commit").append("foreignObject").attr("width",pn.nodeLabel.width).attr("height",pn.nodeLabel.height).attr("x",pn.nodeLabel.x).attr("y",pn.nodeLabel.y).attr("class","node-label").attr("requiredFeatures","http://www.w3.org/TR/SVG11/feature#Extensibility").append("p").html("")}(o),ln=1,s){var c=s[l];kn(o,c.commit.id,s,n),vn(o,c.commit,n),ln++}o.attr("height",(function(){return"BT"===n?Object.keys(fn).length*pn.nodeSpacing:(s.length+1)*pn.branchOffset}))}catch(t){k.error("Error while rendering gitgraph"),k.error(t.message)}},An="",Tn=!1,Sn={setMessage:function(t){k.debug("Setting message to: "+t),An=t},getMessage:function(){return An},setInfo:function(t){Tn=t},getInfo:function(){return Tn}},On=r(19),Cn=r.n(On),Dn={},Fn=function(t){Object.keys(t).forEach((function(e){Dn[e]=t[e]}))},Nn=function(t,e,r){try{var i=Cn.a.parser;i.yy=Sn,k.debug("Renering info diagram\n"+t),i.parse(t),k.debug("Parsed info diagram");var n=Object(a.select)("#"+e);n.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size","32px").style("text-anchor","middle").text("v "+r),n.attr("height",100),n.attr("width",400)}catch(t){k.error("Error while rendering info diagram"),k.error(t.message)}},Ln={},In="",Bn={addSection:function(t,e){void 0===Ln[t]&&(Ln[t]=e,k.debug("Added new section :",t))},getSections:function(){return Ln},cleanupValue:function(t){return":"===t.substring(0,1)?(t=t.substring(1).trim(),Number(t.trim())):Number(t.trim())},clear:function(){Ln={},In=""},setTitle:function(t){In=t},getTitle:function(){return In}},Mn=r(20),Pn=r.n(Mn),Rn={},jn=function(t){Object.keys(t).forEach((function(e){Rn[e]=t[e]}))},$n=function(t,e){try{var r=Pn.a.parser;r.yy=Bn,k.debug("Rendering info diagram\n"+t),r.yy.clear(),r.parse(t),k.debug("Parsed info diagram");var i=document.getElementById(e);void 0===(En=i.parentElement.offsetWidth)&&(En=1200),void 0!==Rn.useWidth&&(En=Rn.useWidth);i.setAttribute("height","100%"),i.setAttribute("viewBox","0 0 "+En+" 450");var n=En,s=Math.min(n,450)/2-40,o=Object(a.select)("#"+e).append("svg").attr("width",n).attr("height",450).append("g").attr("transform","translate("+n/2+",225)"),l=Bn.getSections(),c=0;Object.keys(l).forEach((function(t){c+=l[t]})),k.info(l);var u=Object(a.scaleOrdinal)().domain(l).range(a.schemeSet2),h=Object(a.pie)().value((function(t){return t.value}))(Object(a.entries)(l)),d=Object(a.arc)().innerRadius(0).outerRadius(s);o.selectAll("mySlices").data(h).enter().append("path").attr("d",d).attr("fill",(function(t){return u(t.data.key)})).attr("stroke","black").style("stroke-width","2px").style("opacity",.7),o.selectAll("mySlices").data(h).enter().append("text").text((function(t){return(t.data.value/c*100).toFixed(0)+"%"})).attr("transform",(function(t){return"translate("+d.centroid(t)+")"})).style("text-anchor","middle").attr("class","slice").style("font-size",17),o.append("text").text(r.yy.getTitle()).attr("x",0).attr("y",-200).attr("class","pieTitleText");var f=o.selectAll(".legend").data(u.domain()).enter().append("g").attr("class","legend").attr("transform",(function(t,e){return"translate(216,"+(22*e-22*u.domain().length/2)+")"}));f.append("rect").attr("width",18).attr("height",18).style("fill",u).style("stroke",u),f.append("text").attr("x",22).attr("y",14).text((function(t){return t}))}catch(t){k.error("Error while rendering info diagram"),k.error(t.message)}},zn={},Yn=[],Gn="",Vn={Cardinality:{ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE"},Identification:{NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},addEntity:function(t){void 0===zn[t]&&(zn[t]=t,k.debug("Added new entity :",t))},getEntities:function(){return zn},addRelationship:function(t,e,r,i){var n={entityA:t,roleA:e,entityB:r,relSpec:i};Yn.push(n),k.debug("Added new relationship :",n)},getRelationships:function(){return Yn},clear:function(){zn={},Yn=[],Gn=""},setTitle:function(t){Gn=t},getTitle:function(){return Gn}},Un=r(21),Hn=r.n(Un),Wn={ONLY_ONE_START:"ONLY_ONE_START",ONLY_ONE_END:"ONLY_ONE_END",ZERO_OR_ONE_START:"ZERO_OR_ONE_START",ZERO_OR_ONE_END:"ZERO_OR_ONE_END",ONE_OR_MORE_START:"ONE_OR_MORE_START",ONE_OR_MORE_END:"ONE_OR_MORE_END",ZERO_OR_MORE_START:"ZERO_OR_MORE_START",ZERO_OR_MORE_END:"ZERO_OR_MORE_END"},qn=Wn,Xn=function(t,e){var r;t.append("defs").append("marker").attr("id",Wn.ONLY_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M9,0 L9,18 M15,0 L15,18"),t.append("defs").append("marker").attr("id",Wn.ONLY_ONE_END).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M3,0 L3,18 M9,0 L9,18"),(r=t.append("defs").append("marker").attr("id",Wn.ZERO_OR_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto")).append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),r.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M9,0 L9,18"),(r=t.append("defs").append("marker").attr("id",Wn.ZERO_OR_ONE_END).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto")).append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),r.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M21,0 L21,18"),t.append("defs").append("marker").attr("id",Wn.ONE_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),t.append("defs").append("marker").attr("id",Wn.ONE_OR_MORE_END).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18"),(r=t.append("defs").append("marker").attr("id",Wn.ZERO_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto")).append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),r.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18"),(r=t.append("defs").append("marker").attr("id",Wn.ZERO_OR_MORE_END).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto")).append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),r.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")},Zn={},Jn=function(t){return(t.entityA+t.roleA+t.entityB).replace(/\s/g,"")},Kn=0,Qn=function(t){for(var e=Object.keys(t),r=0;r/gi," "),i=t.append("text");i.attr("x",e.x),i.attr("y",e.y),i.attr("fill",e.fill),i.style("text-anchor",e.anchor),void 0!==e.class&&i.attr("class",e.class);var n=i.append("tspan");return n.attr("x",e.x+2*e.textMargin),n.text(r),i},pa=-1,ya=function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}},ga=function(){function t(t,e,r,n,a,s,o,l){i(e.append("text").attr("x",r+a/2).attr("y",n+s/2+5).style("font-color",l).style("text-anchor","middle").text(t),o)}function e(t,e,r,n,a,s,o,l,c){for(var u=l.taskFontSize,h=l.taskFontFamily,d=t.split(//gi),f=0;f3?function(t){var e=Object(a.arc)().startAngle(Math.PI/2).endAngle(Math.PI/2*3).innerRadius(7.5).outerRadius(15/2.2);t.append("path").attr("d",e).attr("transform","translate("+o.cx+","+(o.cy+2)+")")}(l):o.score<3?function(t){var e=Object(a.arc)().startAngle(3*Math.PI/2).endAngle(Math.PI/2*5).innerRadius(7.5).outerRadius(15/2.2);t.append("path").attr("d",e).attr("transform","translate("+o.cx+","+(o.cy+7)+")")}(l):function(t){t.append("line").attr("stroke",2).attr("x1",o.cx-5).attr("y1",o.cy+7).attr("x2",o.cx+5).attr("y2",o.cy+7).attr("class","task-line").attr("stroke-width","1px").attr("stroke","#666")}(l);var c=ya();c.x=e.x,c.y=e.y,c.fill=e.fill,c.width=r.width,c.height=r.height,c.class="task",c.rx=3,c.ry=3,ha(n,c);var u=e.x+14;e.people.forEach((function(t){var r=e.actors[t],i={cx:u,cy:e.y,r:7,fill:r,stroke:"#000",title:t};da(n,i),u+=10})),ga(r)(e.task,n,c.x,c.y,c.width,c.height,{class:"task"},r,e.colour)},va=function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")};ea.parser.yy=ua;var Ea={leftMargin:150,diagramMarginX:50,diagramMarginY:20,taskMargin:50,width:150,height:50,taskFontSize:14,taskFontFamily:'"Open-Sans", "sans-serif"',boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"]},_a={};var wa=Ea.leftMargin,Aa={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(t,e,r,i){void 0===t[e]?t[e]=r:t[e]=i(r,t[e])},updateBounds:function(t,e,r,i){var n,a=this,s=0;this.sequenceItems.forEach((function(o){s++;var l=a.sequenceItems.length-s+1;a.updateVal(o,"starty",e-l*Ea.boxMargin,Math.min),a.updateVal(o,"stopy",i+l*Ea.boxMargin,Math.max),a.updateVal(Aa.data,"startx",t-l*Ea.boxMargin,Math.min),a.updateVal(Aa.data,"stopx",r+l*Ea.boxMargin,Math.max),"activation"!==n&&(a.updateVal(o,"startx",t-l*Ea.boxMargin,Math.min),a.updateVal(o,"stopx",r+l*Ea.boxMargin,Math.max),a.updateVal(Aa.data,"starty",e-l*Ea.boxMargin,Math.min),a.updateVal(Aa.data,"stopy",i+l*Ea.boxMargin,Math.max))}))},insert:function(t,e,r,i){var n=Math.min(t,r),a=Math.max(t,r),s=Math.min(e,i),o=Math.max(e,i);this.updateVal(Aa.data,"startx",n,Math.min),this.updateVal(Aa.data,"starty",s,Math.min),this.updateVal(Aa.data,"stopx",a,Math.max),this.updateVal(Aa.data,"stopy",o,Math.max),this.updateBounds(n,s,a,o)},bumpVerticalPos:function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}},Ta=Ea.sectionFills,Sa=Ea.sectionColours,Oa=function(t,e,r){for(var i="",n=r+(2*Ea.height+Ea.diagramMarginY),a=0,s="#CCC",o="black",l=0;lMa.maxTextSize&&(n="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa"),void 0!==i)i.innerHTML="",Object(a.select)(i).append("div").attr("id","d"+t).attr("style","font-family: "+Ma.fontFamily).append("svg").attr("id",t).attr("width","100%").attr("xmlns","http://www.w3.org/2000/svg").append("g");else{var s=document.getElementById(t);s&&s.remove();var c=document.querySelector("#d"+t);c&&(c.innerHTML=""),Object(a.select)("body").append("div").attr("id","d"+t).append("svg").attr("id",t).attr("width","100%").attr("xmlns","http://www.w3.org/2000/svg").append("g")}window.txt=n,n=function(t){var e=t;return e=(e=(e=e.replace(/style.*:\S*#.*;/g,(function(t){return t.substring(0,t.length-1)}))).replace(/classDef.*:\S*#.*;/g,(function(t){return t.substring(0,t.length-1)}))).replace(/#\w+;/g,(function(t){var e=t.substring(1,t.length-1);return/^\+?\d+$/.test(e)?"fl°°"+e+"¶ß":"fl°"+e+"¶ß"}))}(n);var u=Object(a.select)("#d"+t).node(),h=D(n),d=u.firstChild,f=d.firstChild,p=Na[Ma.theme];if(void 0===p&&(p=""),void 0!==Ma.themeCSS&&(p+="\n".concat(Ma.themeCSS)),void 0!==Ma.fontFamily&&(p+="\n:root { --mermaid-font-family: ".concat(Ma.fontFamily,"}")),void 0!==Ma.altFontFamily&&(p+="\n:root { --mermaid-alt-font-family: ".concat(Ma.altFontFamily,"}")),"flowchart"===h||"flowchart-v2"===h){var y=Nt(n);for(var g in y)p+="\n.".concat(g," > * { ").concat(y[g].styles.join(" !important; ")," !important; }"),y[g].textStyles&&(p+="\n.".concat(g," tspan { ").concat(y[g].textStyles.join(" !important; ")," !important; }"))}var m=document.createElement("style");m.innerHTML=o()(p,"#".concat(t)),d.insertBefore(m,f);var b=document.createElement("style"),x=window.getComputedStyle(d);switch(b.innerHTML="#".concat(t," {\n color: ").concat(x.color,";\n font: ").concat(x.font,";\n }"),d.insertBefore(b,f),h){case"git":Ma.flowchart.arrowMarkerAbsolute=Ma.arrowMarkerAbsolute,_n(Ma.git),wn(n,t,!1);break;case"flowchart":Ma.flowchart.arrowMarkerAbsolute=Ma.arrowMarkerAbsolute,Ft(Ma.flowchart),Lt(n,t,!1);break;case"flowchart-v2":Ma.flowchart.arrowMarkerAbsolute=Ma.arrowMarkerAbsolute,xe(Ma.flowchart),ke(n,t,!1);break;case"sequence":Ma.sequence.arrowMarkerAbsolute=Ma.arrowMarkerAbsolute,Ma.sequenceDiagram?(tr(Object.assign(Ma.sequence,Ma.sequenceDiagram)),console.error("`mermaid config.sequenceDiagram` has been renamed to `config.sequence`. Please update your mermaid config.")):tr(Ma.sequence),er(n,t);break;case"gantt":Ma.gantt.arrowMarkerAbsolute=Ma.arrowMarkerAbsolute,Pr(Ma.gantt),Rr(n,t);break;case"class":Ma.class.arrowMarkerAbsolute=Ma.arrowMarkerAbsolute,pi(Ma.class),yi(n,t);break;case"state":zi(Ma.state),Yi(n,t);break;case"stateDiagram":qi(Ma.state),Xi(n,t);break;case"info":Ma.class.arrowMarkerAbsolute=Ma.arrowMarkerAbsolute,Fn(Ma.class),Nn(n,t,l.version);break;case"pie":Ma.class.arrowMarkerAbsolute=Ma.arrowMarkerAbsolute,jn(Ma.class),$n(n,t,l.version);break;case"er":Qn(Ma.er),ta(n,t,l.version);break;case"journey":Ca(Ma.journey),Da(n,t,l.version)}Object(a.select)('[id="'.concat(t,'"]')).selectAll("foreignobject > *").attr("xmlns","http://www.w3.org/1999/xhtml");var v=Object(a.select)("#d"+t).node().innerHTML;if(Ma.arrowMarkerAbsolute&&"false"!==Ma.arrowMarkerAbsolute||(v=v.replace(/marker-end="url\(.*?#/g,'marker-end="url(#',"g")),v=function(t){var e=t;return e=(e=(e=e.replace(/fl°°/g,(function(){return"&#"}))).replace(/fl°/g,(function(){return"&"}))).replace(/¶ß/g,(function(){return";"}))}(v),void 0!==r)switch(h){case"flowchart":case"flowchart-v2":r(v,lt.bindFunctions);break;case"gantt":r(v,Lr.bindFunctions);break;case"class":r(v,Kr.bindFunctions);break;default:r(v)}else k.debug("CB = undefined!");var E=Object(a.select)("#d"+t).node();return null!==E&&"function"==typeof E.remove&&Object(a.select)("#d"+t).node().remove(),v},parse:function(t){var e,r=D(t);switch(k.debug("Type "+r),r){case"git":(e=dn.a).parser.yy=un;break;case"flowchart":case"flowchart-v2":lt.clear(),(e=ut.a).parser.yy=lt;break;case"sequence":(e=De.a).parser.yy=Ye;break;case"gantt":(e=ir.a).parser.yy=Lr;break;case"class":(e=ti.a).parser.yy=Kr;break;case"state":case"stateDiagram":(e=Fi.a).parser.yy=Ci;break;case"info":k.debug("info info info"),(e=Cn.a).parser.yy=Sn;break;case"pie":k.debug("pie"),(e=Pn.a).parser.yy=Bn;break;case"er":k.debug("er"),(e=Hn.a).parser.yy=Vn;break;case"journey":k.debug("Journey"),(e=ra.a).parser.yy=ua}e.parser.yy.parseError=function(t,e){throw{str:t,hash:e}},e.parse(t)},initialize:function(t){k.debug("Initializing mermaidAPI ",l.version),"object"===Fa(t)&&function(t){for(var e=Object.keys(t),r=0;r=2?( /*! sequence config was passed as #1 */ void 0!==arguments[0]&&(ja.sequenceConfig=arguments[0]),t=arguments[1]):t=arguments[0],"function"==typeof arguments[arguments.length-1]?(e=arguments[arguments.length-1],k.debug("Callback function found")):void 0!==i.mermaid&&("function"==typeof i.mermaid.callback?(e=i.mermaid.callback,k.debug("Callback function found")):k.debug("No Callback function found")),t=void 0===t?document.querySelectorAll(".mermaid"):"string"==typeof t?document.querySelectorAll(t):t instanceof window.Node?[t]:t,k.debug("Start On Load before: "+ja.startOnLoad),void 0!==ja.startOnLoad&&(k.debug("Start On Load inner: "+ja.startOnLoad),Pa.initialize({startOnLoad:ja.startOnLoad})),void 0!==ja.ganttConfig&&Pa.initialize({gantt:ja.ganttConfig});for(var a=function(i){var a=t[i]; /*! Check if previously processed */if(a.getAttribute("data-processed"))return"continue";a.setAttribute("data-processed",!0);var s="mermaid-".concat(Date.now());r=a.innerHTML,r=n()(r).trim().replace(//gi,"
"),Pa.render(s,r,(function(t,r){a.innerHTML=t,void 0!==e&&e(s),r&&r(a)}),a)},s=0;s