@markdstage/markdstage 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/README.md +90 -0
  2. package/bin/markdstage.mjs +12 -0
  3. package/package.json +45 -0
  4. package/shared/README.md +1014 -0
  5. package/shared/THIRD-PARTY-NOTICES.md +19 -0
  6. package/shared/deck-state.mjs +105 -0
  7. package/shared/docs/custom-theme-authoring.md +208 -0
  8. package/shared/markdown-deck.mjs +220 -0
  9. package/shared/markdstage-guide.mjs +276 -0
  10. package/shared/presenter-window.mjs +17 -0
  11. package/shared/renderer/architecture-document.mjs +596 -0
  12. package/shared/renderer/architecture-edit.mjs +298 -0
  13. package/shared/renderer/architecture-editor.mjs +449 -0
  14. package/shared/renderer/architecture.mjs +4033 -0
  15. package/shared/renderer/import-path.mjs +11 -0
  16. package/shared/renderer/index.html +106 -0
  17. package/shared/renderer/renderer.js +2082 -0
  18. package/shared/renderer/slides.css +614 -0
  19. package/shared/renderer/speaker-notes.mjs +106 -0
  20. package/shared/renderer/theme.mjs +205 -0
  21. package/shared/runtime/browser.mjs +539 -0
  22. package/shared/runtime/custom-theme.mjs +135 -0
  23. package/shared/runtime/deck-session.mjs +188 -0
  24. package/shared/runtime/errors.mjs +17 -0
  25. package/shared/runtime/output-paths.mjs +159 -0
  26. package/shared/runtime/output.mjs +385 -0
  27. package/shared/runtime/presentation-server.mjs +505 -0
  28. package/shared/runtime/static-files.mjs +70 -0
  29. package/shared/schema/README.md +228 -0
  30. package/shared/schema/architecture-v1.schema.json +664 -0
  31. package/shared/schema/examples/web-app.architecture.json +119 -0
  32. package/shared/schema/theme-metadata-v1.schema.json +75 -0
  33. package/shared/schema/theme-v1.json +84 -0
  34. package/shared/scripts/architecture-assets.mjs +226 -0
  35. package/shared/scripts/asset-paths.mjs +92 -0
  36. package/shared/scripts/atomic-markdown-replace.mjs +46 -0
  37. package/shared/scripts/markdown-blocks.mjs +182 -0
  38. package/shared/scripts/markdown-files.mjs +63 -0
  39. package/shared/scripts/markdown-save-coordinator.mjs +18 -0
  40. package/shared/scripts/markdown-watcher.mjs +80 -0
  41. package/shared/scripts/theme-paths.mjs +108 -0
  42. package/shared/scripts/vendor-assets.mjs +132 -0
  43. package/shared/scripts/workspace-root.mjs +32 -0
  44. package/shared/vendor/highlight.LICENSE +29 -0
  45. package/shared/vendor/highlight.min.js +1244 -0
  46. package/shared/vendor/marked.min.js +6 -0
  47. package/shared/vendor/mermaid.min.js.part-0001 +268 -0
  48. package/shared/vendor/mermaid.min.js.part-0002 +304 -0
  49. package/shared/vendor/mermaid.min.js.part-0003 +324 -0
  50. package/shared/vendor/mermaid.min.js.part-0004 +374 -0
  51. package/shared/vendor/mermaid.min.js.part-0005 +564 -0
  52. package/shared/vendor/mermaid.min.js.part-0006 +1308 -0
  53. package/shared/vendor/mermaid.min.js.part-0007 +269 -0
  54. package/shared/vendor/purify.min.js +3 -0
  55. package/shared/vendor/vendor-assets.lock.json +60 -0
  56. package/src/cli.mjs +347 -0
  57. package/src/commands/capture.mjs +23 -0
  58. package/src/commands/export.mjs +18 -0
  59. package/src/commands/guide.mjs +23 -0
  60. package/src/commands/inspect.mjs +35 -0
  61. package/src/commands/present.mjs +91 -0
  62. package/src/commands/skill.mjs +114 -0
  63. package/src/commands/validate.mjs +79 -0
  64. package/src/deck.mjs +63 -0
  65. package/src/exit.mjs +58 -0
  66. package/src/runtime.mjs +77 -0
  67. package/src/skills.mjs +155 -0
@@ -0,0 +1,1308 @@
1
+ match="");for(var Ye=this._currentRules(),le=0;le<Ye.length;le++)if(Ve=this._input.match(this.rules[Ye[le]]),Ve&&(!Ae||Ve[0].length>Ae[0].length)){if(Ae=Ve,Pe=le,this.options.backtrack_lexer){if(Be=this.test_match(Ve,Ye[le]),Be!==!1)return Be;if(this._backtrack){Ae=!1;continue}else return!1}else if(!this.options.flex)break}return Ae?(Be=this.test_match(Ae,Ye[Pe]),Be!==!1?Be:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
2
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var Ae=this.next();return Ae||this.lex()},"lex"),begin:o(function(Ae){this.conditionStack.push(Ae)},"begin"),popState:o(function(){var Ae=this.conditionStack.length-1;return Ae>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(Ae){return Ae=this.conditionStack.length-1-Math.abs(Ae||0),Ae>=0?this.conditionStack[Ae]:"INITIAL"},"topState"),pushState:o(function(Ae){this.begin(Ae)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(Ae,Ve,Pe,Ye){var le=Ye;switch(Pe){case 0:return 5;case 1:break;case 2:break;case 3:break;case 4:break;case 5:break;case 6:return 20;case 7:return this.begin("CONFIG"),75;break;case 8:return 76;case 9:return this.popState(),this.begin("ALIAS"),77;break;case 10:return this.popState(),this.popState(),77;break;case 11:return Ve.yytext=Ve.yytext.trim(),73;break;case 12:return Ve.yytext=Ve.yytext.trim(),this.begin("ALIAS"),73;break;case 13:return Ve.yytext=Ve.yytext.trim(),this.popState(),73;break;case 14:return this.popState(),10;break;case 15:return Ve.yytext=Ve.yytext.trim(),this.popState(),10;break;case 16:return this.begin("LINE"),15;break;case 17:return this.begin("ID"),51;break;case 18:return this.begin("ID"),53;break;case 19:return 14;case 20:return this.begin("ID"),54;break;case 21:return this.popState(),this.popState(),this.begin("LINE"),52;break;case 22:return this.popState(),this.popState(),5;break;case 23:return this.begin("LINE"),37;break;case 24:return this.begin("LINE"),38;break;case 25:return this.begin("LINE"),39;break;case 26:return this.begin("LINE"),40;break;case 27:return this.begin("LINE"),50;break;case 28:return this.begin("LINE"),42;break;case 29:return this.begin("LINE"),44;break;case 30:return this.begin("LINE"),49;break;case 31:return this.begin("LINE"),45;break;case 32:return this.begin("LINE"),48;break;case 33:return this.begin("LINE"),47;break;case 34:return this.popState(),16;break;case 35:return 17;case 36:return 67;case 37:return 68;case 38:return 61;case 39:return 62;case 40:return 63;case 41:return 64;case 42:return 59;case 43:return 56;case 44:return this.begin("ID"),22;break;case 45:return this.begin("ID"),24;break;case 46:return 30;case 47:return 31;case 48:return this.begin("acc_title"),32;break;case 49:return this.popState(),"acc_title_value";break;case 50:return this.begin("acc_descr"),34;break;case 51:return this.popState(),"acc_descr_value";break;case 52:this.begin("acc_descr_multiline");break;case 53:this.popState();break;case 54:return"acc_descr_multiline_value";case 55:return 6;case 56:return 19;case 57:return 21;case 58:return 66;case 59:return 5;case 60:return Ve.yytext=Ve.yytext.trim(),73;break;case 61:return 80;case 62:return 97;case 63:return 98;case 64:return 99;case 65:return 78;case 66:return 79;case 67:return 100;case 68:return 101;case 69:return 102;case 70:return 103;case 71:return 85;case 72:return 86;case 73:return 87;case 74:return 88;case 75:return 93;case 76:return 94;case 77:return 95;case 78:return 96;case 79:return 81;case 80:return 82;case 81:return 83;case 82:return 84;case 83:return 89;case 84:return 90;case 85:return 91;case 86:return 92;case 87:return 104;case 88:return 104;case 89:return 70;case 90:return 71;case 91:return 72;case 92:return 5;case 93:return 10}},"anonymous"),rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:([0-9]+(\.[0-9]{1,2})?|\.[0-9]{1,2})(?=[ \n]+))/i,/^(?:@\{)/i,/^(?:[^\}]+)/i,/^(?:\}(?=\s+as\s))/i,/^(?:\})/i,/^(?:[^\<->\->:\n,;@\s]+(?=@\{))/i,/^(?:[^<>:\n,;@\s]+(?=\s+as\s))/i,/^(?:[^<>:\n,;@]+(?=\s*[\n;#]|$))/i,/^(?:[^<>:\n,;@]*<[^\n]*)/i,/^(?:[^\n]+)/i,/^(?:box\b)/i,/^(?:participant\b)/i,/^(?:actor\b)/i,/^(?:create\b)/i,/^(?:destroy\b)/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:rect\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:par_over\b)/i,/^(?:and\b)/i,/^(?:critical\b)/i,/^(?:option\b)/i,/^(?:break\b)/i,/^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:links\b)/i,/^(?:link\b)/i,/^(?:properties\b)/i,/^(?:details\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:title:\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:sequenceDiagram\b)/i,/^(?:autonumber\b)/i,/^(?:off\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\/\\\+\()\+<\->\->:\n,;]+((?!(-x|--x|-\)|--\)|-\|\\|-\\|-\/|-\/\/|-\|\/|\/\|-|\\\|-|\/\/-|\\\\-|\/\|-|--\|\\|--|\(\)))[\-]*[^\+<\->\->:\n,;]+)*)/i,/^(?:->>)/i,/^(?:<<->>)/i,/^(?:-->>)/i,/^(?:<<-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?:-[\)])/i,/^(?:--[\)])/i,/^(?:--\|\\)/i,/^(?:--\|\/)/i,/^(?:--\\\\)/i,/^(?:--\/\/)/i,/^(?:\/\|--)/i,/^(?:\\\|--)/i,/^(?:\/\/--)/i,/^(?:\\\\--)/i,/^(?:-\|\\)/i,/^(?:-\|\/)/i,/^(?:-\\\\)/i,/^(?:-\/\/)/i,/^(?:\/\|-)/i,/^(?:\\\|-)/i,/^(?:\/\/-)/i,/^(?:\\\\-)/i,/^(?::(?:(?:no)?wrap)?[^#\n;]*)/i,/^(?::)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:\(\))/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[53,54],inclusive:!1},acc_descr:{rules:[51],inclusive:!1},acc_title:{rules:[49],inclusive:!1},ID:{rules:[2,3,7,11,12,13,14,15],inclusive:!1},ALIAS:{rules:[2,3,21,22],inclusive:!1},LINE:{rules:[2,3,34],inclusive:!1},CONFIG:{rules:[8,9,10],inclusive:!1},CONFIG_DATA:{rules:[],inclusive:!1},INITIAL:{rules:[0,1,3,4,5,6,16,17,18,19,20,23,24,25,26,27,28,29,30,31,32,33,35,36,37,38,39,40,41,42,43,44,45,46,47,48,50,52,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],inclusive:!0}}};return be})();Re.lexer=xe;function Oe(){this.yy={}}return o(Oe,"Parser"),Oe.prototype=Re,Re.Parser=Oe,new Oe})();nW.parser=nW;a6e=nW});var kTt,wTt,STt,jT,W6,aW=z(()=>{"use strict";Ut();Wx();St();T6();Ir();Ci();kTt={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25,AUTONUMBER:26,CRITICAL_START:27,CRITICAL_OPTION:28,CRITICAL_END:29,BREAK_START:30,BREAK_END:31,PAR_OVER_START:32,BIDIRECTIONAL_SOLID:33,BIDIRECTIONAL_DOTTED:34,SOLID_TOP:41,SOLID_BOTTOM:42,STICK_TOP:43,STICK_BOTTOM:44,SOLID_ARROW_TOP_REVERSE:45,SOLID_ARROW_BOTTOM_REVERSE:46,STICK_ARROW_TOP_REVERSE:47,STICK_ARROW_BOTTOM_REVERSE:48,SOLID_TOP_DOTTED:51,SOLID_BOTTOM_DOTTED:52,STICK_TOP_DOTTED:53,STICK_BOTTOM_DOTTED:54,SOLID_ARROW_TOP_REVERSE_DOTTED:55,SOLID_ARROW_BOTTOM_REVERSE_DOTTED:56,STICK_ARROW_TOP_REVERSE_DOTTED:57,STICK_ARROW_BOTTOM_REVERSE_DOTTED:58,CENTRAL_CONNECTION:59,CENTRAL_CONNECTION_REVERSE:60,CENTRAL_CONNECTION_DUAL:61},wTt={FILLED:0,OPEN:1},STt={LEFTOF:0,RIGHTOF:1,OVER:2},jT={ACTOR:"actor",BOUNDARY:"boundary",COLLECTIONS:"collections",CONTROL:"control",DATABASE:"database",ENTITY:"entity",PARTICIPANT:"participant",QUEUE:"queue"},W6=class{constructor(){this.state=new wf(()=>({prevActor:void 0,actors:new Map,createdActors:new Map,destroyedActors:new Map,boxes:[],messages:[],notes:[],sequenceNumbersEnabled:!1,wrapEnabled:void 0,currentBox:void 0,lastCreated:void 0,lastDestroyed:void 0}));this.setAccTitle=Cr;this.setAccDescription=wr;this.setDiagramTitle=Ar;this.getAccTitle=kr;this.getAccDescription=Sr;this.getDiagramTitle=Er;this.apply=this.apply.bind(this),this.parseBoxData=this.parseBoxData.bind(this),this.parseMessage=this.parseMessage.bind(this),this.clear(),this.setWrap(ge().wrap),this.LINETYPE=kTt,this.ARROWTYPE=wTt,this.PLACEMENT=STt}static{o(this,"SequenceDB")}addBox(t){this.state.records.boxes.push({name:t.text,wrap:t.wrap??this.autoWrap(),fill:t.color,actorKeys:[]}),this.state.records.currentBox=this.state.records.boxes.slice(-1)[0]}addActor(t,r,i,n,a){let s=this.state.records.currentBox,l;if(a!==void 0){let h;a.includes(`
3
+ `)?h=a+`
4
+ `:h=`{
5
+ `+a+`
6
+ }`,l=ld(h,{schema:od})}n=l?.type??n,l?.alias&&(!i||i.text===r)&&(i={text:l.alias,wrap:i?.wrap,type:n});let u=this.state.records.actors.get(t);if(u){if(this.state.records.currentBox&&u.box&&this.state.records.currentBox!==u.box)throw new Error(`A same participant should only be defined in one Box: ${u.name} can't be in '${u.box.name}' and in '${this.state.records.currentBox.name}' at the same time.`);if(s=u.box?u.box:this.state.records.currentBox,u.box=s,u&&r===u.name&&i==null)return}if(i?.text==null&&(i={text:r,type:n}),(n==null||i.text==null)&&(i={text:r,type:n}),this.state.records.actors.set(t,{box:s,name:r,description:i.text,wrap:i.wrap??this.autoWrap(),prevActor:this.state.records.prevActor,links:{},properties:{},actorCnt:null,rectData:null,type:n??"participant"}),this.state.records.prevActor){let h=this.state.records.actors.get(this.state.records.prevActor);h&&(h.nextActor=t)}this.state.records.currentBox&&this.state.records.currentBox.actorKeys.push(t),this.state.records.prevActor=t}activationCount(t){let r,i=0;if(!t)return 0;for(r=0;r<this.state.records.messages.length;r++)this.state.records.messages[r].type===this.LINETYPE.ACTIVE_START&&this.state.records.messages[r].from===t&&i++,this.state.records.messages[r].type===this.LINETYPE.ACTIVE_END&&this.state.records.messages[r].from===t&&i--;return i}addMessage(t,r,i,n){this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:t,to:r,message:i.text,wrap:i.wrap??this.autoWrap(),answer:n})}addSignal(t,r,i,n,a=!1,s){if(n===this.LINETYPE.ACTIVE_END&&this.activationCount(t??"")<1){let u=new Error("Trying to inactivate an inactive participant ("+t+")");throw u.hash={text:"->>-",token:"->>-",line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["'ACTIVE_PARTICIPANT'"]},u}return this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:t,to:r,message:i?.text??"",wrap:i?.wrap??this.autoWrap(),type:n,activate:a,centralConnection:s??0}),!0}hasAtLeastOneBox(){return this.state.records.boxes.length>0}hasAtLeastOneBoxWithTitle(){return this.state.records.boxes.some(t=>t.name)}getMessages(){return this.state.records.messages}getBoxes(){return this.state.records.boxes}getActors(){return this.state.records.actors}getCreatedActors(){return this.state.records.createdActors}getDestroyedActors(){return this.state.records.destroyedActors}getActor(t){return this.state.records.actors.get(t)}getActorKeys(){return[...this.state.records.actors.keys()]}enableSequenceNumbers(){this.state.records.sequenceNumbersEnabled=!0}disableSequenceNumbers(){this.state.records.sequenceNumbersEnabled=!1}showSequenceNumbers(){return this.state.records.sequenceNumbersEnabled}setWrap(t){this.state.records.wrapEnabled=t}extractWrap(t){if(t===void 0)return{};t=t.trim();let r=/^:?wrap:/.exec(t)!==null?!0:/^:?nowrap:/.exec(t)!==null?!1:void 0;return{cleanedText:(r===void 0?t:t.replace(/^:?(?:no)?wrap:/,"")).trim(),wrap:r}}autoWrap(){return this.state.records.wrapEnabled!==void 0?this.state.records.wrapEnabled:ge().sequence?.wrap??!1}clear(){this.state.reset(),gr()}parseMessage(t){let r=t.trim(),{wrap:i,cleanedText:n}=this.extractWrap(r),a={text:n,wrap:i};return Z.debug(`parseMessage: ${JSON.stringify(a)}`),a}parseBoxData(t){let r=/^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/.exec(t),i=r?.[1]?r[1].trim():"transparent",n=r?.[2]?r[2].trim():void 0;if(window?.CSS)window.CSS.supports("color",i)||(i="transparent",n=t.trim());else{let l=new Option().style;l.color=i,l.color!==i&&(i="transparent",n=t.trim())}let{wrap:a,cleanedText:s}=this.extractWrap(n);return{text:s?fr(s,ge()):void 0,color:i,wrap:a}}addNote(t,r,i){let n={actor:t,placement:r,message:i.text,wrap:i.wrap??this.autoWrap()},a=[].concat(t,t);this.state.records.notes.push(n),this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:a[0],to:a[1],message:i.text,wrap:i.wrap??this.autoWrap(),type:this.LINETYPE.NOTE,placement:r})}addLinks(t,r){let i=this.getActor(t);try{let n=fr(r.text,ge());n=n.replace(/&equals;/g,"="),n=n.replace(/&amp;/g,"&");let a=JSON.parse(n);this.insertLinks(i,a)}catch(n){Z.error("error while parsing actor link text",n)}}addALink(t,r){let i=this.getActor(t);try{let n={},a=fr(r.text,ge()),s=a.indexOf("@");a=a.replace(/&equals;/g,"="),a=a.replace(/&amp;/g,"&");let l=a.slice(0,s-1).trim(),u=a.slice(s+1).trim();n[l]=u,this.insertLinks(i,n)}catch(n){Z.error("error while parsing actor link text",n)}}insertLinks(t,r){if(t.links==null)t.links=r;else for(let i in r)t.links[i]=r[i]}addProperties(t,r){let i=this.getActor(t);try{let n=fr(r.text,ge()),a=JSON.parse(n);this.insertProperties(i,a)}catch(n){Z.error("error while parsing actor properties text",n)}}insertProperties(t,r){if(t.properties==null)t.properties=r;else for(let i in r)t.properties[i]=r[i]}boxEnd(){this.state.records.currentBox=void 0}addDetails(t,r){let i=this.getActor(t),n=document.getElementById(r.text);try{let a=n.innerHTML,s=JSON.parse(a);s.properties&&this.insertProperties(i,s.properties),s.links&&this.insertLinks(i,s.links)}catch(a){Z.error("error while parsing actor details text",a)}}getActorProperty(t,r){if(t?.properties!==void 0)return t.properties[r]}apply(t){if(Array.isArray(t))t.forEach(r=>{this.apply(r)});else switch(t.type){case"sequenceIndex":this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:void 0,to:void 0,message:{start:t.sequenceIndex,step:t.sequenceIndexStep,visible:t.sequenceVisible},wrap:!1,type:t.signalType});break;case"addParticipant":this.addActor(t.actor,t.actor,t.description,t.draw,t.config);break;case"createParticipant":if(this.state.records.actors.has(t.actor))throw new Error("It is not possible to have actors with the same id, even if one is destroyed before the next is created. Use 'AS' aliases to simulate the behavior");this.state.records.lastCreated=t.actor,this.addActor(t.actor,t.actor,t.description,t.draw,t.config),this.state.records.createdActors.set(t.actor,this.state.records.messages.length);break;case"destroyParticipant":this.state.records.lastDestroyed=t.actor,this.state.records.destroyedActors.set(t.actor,this.state.records.messages.length);break;case"activeStart":this.addSignal(t.actor,void 0,void 0,t.signalType);break;case"centralConnection":this.addSignal(t.actor,void 0,void 0,t.signalType);break;case"centralConnectionReverse":this.addSignal(t.actor,void 0,void 0,t.signalType);break;case"activeEnd":this.addSignal(t.actor,void 0,void 0,t.signalType);break;case"addNote":this.addNote(t.actor,t.placement,t.text);break;case"addLinks":this.addLinks(t.actor,t.text);break;case"addALink":this.addALink(t.actor,t.text);break;case"addProperties":this.addProperties(t.actor,t.text);break;case"addDetails":this.addDetails(t.actor,t.text);break;case"addMessage":if(this.state.records.lastCreated){if(t.to!==this.state.records.lastCreated)throw new Error("The created participant "+this.state.records.lastCreated.name+" does not have an associated creating message after its declaration. Please check the sequence diagram.");this.state.records.lastCreated=void 0}else if(this.state.records.lastDestroyed){if(t.to!==this.state.records.lastDestroyed&&t.from!==this.state.records.lastDestroyed)throw new Error("The destroyed participant "+this.state.records.lastDestroyed.name+" does not have an associated destroying message after its declaration. Please check the sequence diagram.");this.state.records.lastDestroyed=void 0}this.addSignal(t.from,t.to,t.msg,t.signalType,t.activate,t.centralConnection);break;case"boxStart":this.addBox(t.boxData);break;case"boxEnd":this.boxEnd();break;case"loopStart":this.addSignal(void 0,void 0,t.loopText,t.signalType);break;case"loopEnd":this.addSignal(void 0,void 0,void 0,t.signalType);break;case"rectStart":this.addSignal(void 0,void 0,t.color,t.signalType);break;case"rectEnd":this.addSignal(void 0,void 0,void 0,t.signalType);break;case"optStart":this.addSignal(void 0,void 0,t.optText,t.signalType);break;case"optEnd":this.addSignal(void 0,void 0,void 0,t.signalType);break;case"altStart":this.addSignal(void 0,void 0,t.altText,t.signalType);break;case"else":this.addSignal(void 0,void 0,t.altText,t.signalType);break;case"altEnd":this.addSignal(void 0,void 0,void 0,t.signalType);break;case"setAccTitle":Cr(t.text);break;case"parStart":this.addSignal(void 0,void 0,t.parText,t.signalType);break;case"and":this.addSignal(void 0,void 0,t.parText,t.signalType);break;case"parEnd":this.addSignal(void 0,void 0,void 0,t.signalType);break;case"criticalStart":this.addSignal(void 0,void 0,t.criticalText,t.signalType);break;case"option":this.addSignal(void 0,void 0,t.optionText,t.signalType);break;case"criticalEnd":this.addSignal(void 0,void 0,void 0,t.signalType);break;case"breakStart":this.addSignal(void 0,void 0,t.breakText,t.signalType);break;case"breakEnd":this.addSignal(void 0,void 0,void 0,t.signalType);break}}getConfig(){return ge().sequence}}});var ETt,o6e,l6e=z(()=>{"use strict";Ut();ETt=o(e=>{let t=e.dropShadow??"none",{look:r}=ge();return`.actor {
7
+ stroke: ${e.actorBorder};
8
+ fill: ${e.actorBkg};
9
+ stroke-width: ${e.strokeWidth??1};
10
+ }
11
+
12
+ rect.actor.outer-path[data-look="neo"] {
13
+ filter: ${t};
14
+ }
15
+
16
+ rect.note[data-look="neo"] {
17
+ stroke:${e.noteBorderColor};
18
+ fill:${e.noteBkgColor};
19
+ filter: ${t};
20
+ }
21
+
22
+ text.actor > tspan {
23
+ fill: ${e.actorTextColor};
24
+ stroke: none;
25
+ }
26
+
27
+ .actor-line {
28
+ stroke: ${e.actorLineColor};
29
+ }
30
+
31
+ .innerArc {
32
+ stroke-width: 1.5;
33
+ stroke-dasharray: none;
34
+ }
35
+
36
+ .messageLine0 {
37
+ stroke-width: 1.5;
38
+ stroke-dasharray: none;
39
+ stroke: ${e.signalColor};
40
+ }
41
+
42
+ .messageLine1 {
43
+ stroke-width: 1.5;
44
+ stroke-dasharray: 2, 2;
45
+ stroke: ${e.signalColor};
46
+ }
47
+
48
+ [id$="-arrowhead"] path {
49
+ fill: ${e.signalColor};
50
+ stroke: ${e.signalColor};
51
+ }
52
+
53
+ .sequenceNumber {
54
+ fill: ${e.sequenceNumberColor};
55
+ }
56
+
57
+ [id$="-sequencenumber"] {
58
+ fill: ${e.signalColor};
59
+ }
60
+
61
+ [id$="-crosshead"] path {
62
+ fill: ${e.signalColor};
63
+ stroke: ${e.signalColor};
64
+ }
65
+
66
+ .messageText {
67
+ fill: ${e.signalTextColor};
68
+ stroke: none;
69
+ }
70
+
71
+ .labelBox {
72
+ stroke: ${e.labelBoxBorderColor};
73
+ fill: ${e.labelBoxBkgColor};
74
+ filter: ${r==="neo"?t:"none"};
75
+ }
76
+
77
+ .labelText, .labelText > tspan {
78
+ fill: ${e.labelTextColor};
79
+ stroke: none;
80
+ }
81
+
82
+ .loopText, .loopText > tspan {
83
+ fill: ${e.loopTextColor};
84
+ stroke: none;
85
+ }
86
+
87
+ .sectionTitle, .sectionTitle > tspan {
88
+ fill: ${e.loopTextColor};
89
+ stroke: none;
90
+ }
91
+
92
+ .loopLine {
93
+ stroke-width: 2px;
94
+ stroke-dasharray: 2, 2;
95
+ stroke: ${e.labelBoxBorderColor};
96
+ fill: ${e.labelBoxBorderColor};
97
+ }
98
+
99
+ .note {
100
+ //stroke: #decc93;
101
+ stroke: ${e.noteBorderColor};
102
+ fill: ${e.noteBkgColor};
103
+ }
104
+
105
+ .noteText, .noteText > tspan {
106
+ fill: ${e.noteTextColor};
107
+ stroke: none;
108
+ ${e.noteFontWeight?`font-weight: ${e.noteFontWeight};`:""}
109
+ }
110
+
111
+ .activation0 {
112
+ fill: ${e.activationBkgColor};
113
+ stroke: ${e.activationBorderColor};
114
+ }
115
+
116
+ .activation1 {
117
+ fill: ${e.activationBkgColor};
118
+ stroke: ${e.activationBorderColor};
119
+ }
120
+
121
+ .activation2 {
122
+ fill: ${e.activationBkgColor};
123
+ stroke: ${e.activationBorderColor};
124
+ }
125
+
126
+ .actorPopupMenu {
127
+ position: absolute;
128
+ }
129
+
130
+ .actorPopupMenuPanel {
131
+ position: absolute;
132
+ fill: ${e.actorBkg};
133
+ box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
134
+ filter: drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));
135
+ }
136
+ .actor-man circle, line {
137
+ fill: ${e.actorBkg};
138
+ stroke-width: 2px;
139
+ }
140
+
141
+ g rect.rect {
142
+ filter: ${t};
143
+ stroke: ${e.nodeBorder};
144
+ }
145
+ `},"getStyles"),o6e=ETt});var sW,Af,_f,Df,q6,mm,Sh,XT,ATt,U6,KT,gm,c6e,Wr,oW,_Tt,DTt,RTt,LTt,MTt,NTt,ITt,OTt,PTt,BTt,FTt,$Tt,zTt,u6e,GTt,VTt,WTt,qTt,UTt,HTt,YTt,jTt,h6e,XTt,Eh,KTt,ZTt,QTt,JTt,eCt,Ei,d6e=z(()=>{"use strict";sW=ys(fg(),1);br();Xt();Ir();gp();Af=36,_f="actor-top",Df="actor-bottom",q6="actor-box",mm="actor-man",Sh=new Set(["redux-color","redux-dark-color"]),XT=o(function(e,t){let r=mp(e,t);return Nt().look==="neo"&&r.attr("data-look","neo"),r},"drawRect"),ATt=o(function(e,t,r,i,n){if(t.links===void 0||t.links===null||Object.keys(t.links).length===0)return{height:0,width:0};let a=t.links,s=t.actorCnt,l=t.rectData;var u="none";n&&(u="block !important");let h=e.append("g");h.attr("id","actor"+s+"_popup"),h.attr("class","actorPopupMenu"),h.attr("display",u);var d="";l.class!==void 0&&(d=" "+l.class);let f=l.width>r?l.width:r,p=h.append("rect");if(p.attr("class","actorPopupMenuPanel"+d),p.attr("x",l.x),p.attr("y",l.height),p.attr("fill",l.fill),p.attr("stroke",l.stroke),p.attr("width",f),p.attr("height",l.height),p.attr("rx",l.rx),p.attr("ry",l.ry),a!=null){var m=20;for(let v in a){var g=h.append("a"),y=(0,sW.sanitizeUrl)(a[v]);g.attr("xlink:href",y),g.attr("target","_blank"),KTt(i)(v,g,l.x+10,l.height+m,f,20,{class:"actor"},i),m+=30}}return p.attr("height",m),{height:l.height+m,width:f}},"drawPopup"),U6=o(function(e){return"var pu = document.getElementById('"+e+"'); if (pu != null) { pu.style.display = pu.style.display == 'block' ? 'none' : 'block'; }"},"popupMenuToggle"),KT=o(async function(e,t,r=null){let i=e.append("foreignObject"),n=await Fm(t.text,Nt()),s=i.append("xhtml:div").attr("style","width: fit-content;").attr("xmlns","http://www.w3.org/1999/xhtml").html(n).node().getBoundingClientRect();if(i.attr("height",Math.round(s.height)).attr("width",Math.round(s.width)),t.class==="noteText"){let l=e.node().firstChild;l.setAttribute("height",s.height+2*t.textMargin);let u=l.getBBox();i.attr("x",Math.round(u.x+u.width/2-s.width/2)).attr("y",Math.round(u.y+u.height/2-s.height/2))}else if(r){let{startx:l,stopx:u,starty:h}=r;if(l>u){let d=l;l=u,u=d}i.attr("x",Math.round(l+Math.abs(l-u)/2-s.width/2)),t.class==="loopText"?i.attr("y",Math.round(h)):i.attr("y",Math.round(h-s.height))}return[i]},"drawKatex"),gm=o(function(e,t){let r=0,i=0,n=t.text.split(vt.lineBreakRegex),[a,s]=Za(t.fontSize),l=[],u=0,h=o(()=>t.y,"yfunc");if(t.valign!==void 0&&t.textMargin!==void 0&&t.textMargin>0)switch(t.valign){case"top":case"start":h=o(()=>Math.round(t.y+t.textMargin),"yfunc");break;case"middle":case"center":h=o(()=>Math.round(t.y+(r+i+t.textMargin)/2),"yfunc");break;case"bottom":case"end":h=o(()=>Math.round(t.y+(r+i+2*t.textMargin)-t.textMargin),"yfunc");break}if(t.anchor!==void 0&&t.textMargin!==void 0&&t.width!==void 0)switch(t.anchor){case"left":case"start":t.x=Math.round(t.x+t.textMargin),t.anchor="start",t.dominantBaseline="middle",t.alignmentBaseline="middle";break;case"middle":case"center":t.x=Math.round(t.x+t.width/2),t.anchor="middle",t.dominantBaseline="middle",t.alignmentBaseline="middle";break;case"right":case"end":t.x=Math.round(t.x+t.width-t.textMargin),t.anchor="end",t.dominantBaseline="middle",t.alignmentBaseline="middle";break}for(let[d,f]of n.entries()){t.textMargin!==void 0&&t.textMargin===0&&a!==void 0&&(u=d*a);let p=e.append("text");p.attr("x",t.x),p.attr("y",h()),t.anchor!==void 0&&p.attr("text-anchor",t.anchor).attr("dominant-baseline",t.dominantBaseline).attr("alignment-baseline",t.alignmentBaseline),t.fontFamily!==void 0&&p.style("font-family",t.fontFamily),s!==void 0&&p.style("font-size",s),t.fontWeight!==void 0&&p.style("font-weight",t.fontWeight),t.fill!==void 0&&p.attr("fill",t.fill),t.class!==void 0&&p.attr("class",t.class),t.dy!==void 0?p.attr("dy",t.dy):u!==0&&p.attr("dy",u);let m=f||SM;if(t.tspan){let g=p.append("tspan");g.attr("x",t.x),t.fill!==void 0&&g.attr("fill",t.fill),g.text(m)}else p.text(m);t.valign!==void 0&&t.textMargin!==void 0&&t.textMargin>0&&(i+=(p._groups||p)[0][0].getBBox().height,r=i),l.push(p)}return l},"drawText"),c6e=o(function(e,t){function r(n,a,s,l,u){return n+","+a+" "+(n+s)+","+a+" "+(n+s)+","+(a+l-u)+" "+(n+s-u*1.2)+","+(a+l)+" "+n+","+(a+l)}o(r,"genPoints");let i=e.append("polygon");return i.attr("points",r(t.x,t.y,t.width,t.height,7)),i.attr("class","labelBox"),t.y=t.y+t.height/2,gm(e,t),i},"drawLabel"),Wr=-1,oW=o((e,t,r,i)=>{e.select&&r.forEach(n=>{let a=t.get(n),s=e.select("#actor"+a.actorCnt);!i.mirrorActors&&a.stopy?s.attr("y2",a.stopy+a.height/2):i.mirrorActors&&s.attr("y2",a.stopy)})},"fixLifeLineHeights"),_Tt=o(function(e,t,r,i,n){let a=i?t.stopy:t.starty,s=t.x+t.width/2,l=a+t.height,{look:u,theme:h,themeVariables:d}=r,{bkgColorArray:f,borderColorArray:p}=d,m=e.append("g").lower();var g=m;i||(Wr++,Object.keys(t.links||{}).length&&!r.forceMenus&&g.attr("onclick",U6(`actor${Wr}_popup`)).attr("cursor","pointer"),g.append("line").attr("id","actor"+Wr).attr("x1",s).attr("y1",l).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",t.name).attr("data-et","life-line").attr("data-id",t.name),g=m.append("g"),t.actorCnt=Wr,t.links!=null&&g.attr("id","root-"+Wr),u==="neo"&&g.attr("data-look","neo"));let y=fa();var v="actor";t.properties?.class?v=t.properties.class:y.fill="#eaeaea",i?v+=` ${Df}`:v+=` ${_f}`,y.x=t.x,y.y=a,y.width=t.width,y.height=t.height,y.class=v,y.rx=3,y.ry=3,y.name=t.name,u==="neo"&&(y.rx=6,y.ry=6);let x=XT(g,y),b=n.get(t.name)??0;if(Sh.has(h)&&(x.style("stroke",p[b%p.length]),x.style("fill",f[b%p.length])),u==="neo"&&x.attr("filter","url(#drop-shadow)"),t.rectData=y,t.properties?.icon){let w=t.properties.icon.trim();w.charAt(0)==="@"?$w(g,y.x+y.width-20,y.y+10,w.substr(1)):Fw(g,y.x+y.width-20,y.y+10,w)}i||(g.attr("data-et","participant"),g.attr("data-type","participant"),g.attr("data-id",t.name)),Eh(r,Bi(t.description))(t.description,g,y.x,y.y,y.width,y.height,{class:`actor ${q6}`},r);let T=t.height;if(x.node){let w=x.node().getBBox();t.height=w.height,T=w.height}return T},"drawActorTypeParticipant"),DTt=o(function(e,t,r,i,n){let a=i?t.stopy:t.starty,s=t.x+t.width/2,l=a+t.height,{look:u,theme:h,themeVariables:d}=r,{bkgColorArray:f,borderColorArray:p}=d,m=e.append("g").lower();var g=m;i||(Wr++,Object.keys(t.links||{}).length&&!r.forceMenus&&g.attr("onclick",U6(`actor${Wr}_popup`)).attr("cursor","pointer"),g.append("line").attr("id","actor"+Wr).attr("x1",s).attr("y1",l).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",t.name).attr("data-et","life-line").attr("data-id",t.name),g=m.append("g"),t.actorCnt=Wr,t.links!=null&&g.attr("id","root-"+Wr),u==="neo"&&g.attr("data-look","neo"));let y=fa();var v="actor";t.properties?.class?v=t.properties.class:y.fill="#eaeaea",i?v+=` ${Df}`:v+=` ${_f}`,y.x=t.x,y.y=a,y.width=t.width,y.height=t.height,y.class=v,y.name=t.name;let x=6,b={...y,x:y.x+-x,y:y.y+ +x,class:"actor"},T=XT(g,y),w=XT(g,b);t.rectData=y,u==="neo"&&g.attr("filter","url(#drop-shadow)");let C=n.get(t.name)??0;if(Sh.has(h)&&(T.style("stroke",p[C%p.length]),T.style("fill",f[C%p.length]),w.style("stroke",p[C%p.length]),w.style("fill",f[C%p.length])),t.properties?.icon){let E=t.properties.icon.trim();E.charAt(0)==="@"?$w(g,y.x+y.width-20,y.y+10,E.substr(1)):Fw(g,y.x+y.width-20,y.y+10,E)}Eh(r,Bi(t.description))(t.description,g,y.x-x,y.y+x,y.width,y.height,{class:`actor ${q6}`},r);let k=t.height;if(T.node){let E=T.node().getBBox();t.height=E.height,k=E.height}return i||(g.attr("data-et","participant"),g.attr("data-type","collections"),g.attr("data-id",t.name)),k},"drawActorTypeCollections"),RTt=o(function(e,t,r,i,n){let a=i?t.stopy:t.starty,s=t.x+t.width/2,l=a+t.height,{look:u,theme:h,themeVariables:d}=r,{bkgColorArray:f,borderColorArray:p}=d,m=e.append("g").lower(),g=m;i||(Wr++,Object.keys(t.links||{}).length&&!r.forceMenus&&g.attr("onclick",U6(`actor${Wr}_popup`)).attr("cursor","pointer"),g.append("line").attr("id","actor"+Wr).attr("x1",s).attr("y1",l).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",t.name).attr("data-et","life-line").attr("data-id",t.name),g=m.append("g"),t.actorCnt=Wr,t.links!=null&&g.attr("id","root-"+Wr),u==="neo"&&g.attr("data-look","neo"));let y=fa(),v="actor";t.properties?.class?v=t.properties.class:y.fill="#eaeaea",i?v+=` ${Df}`:v+=` ${_f}`,g.attr("class",v),y.x=t.x,y.y=a,y.width=t.width,y.height=t.height,y.name=t.name;let x=y.height/2,b=x/(2.5+y.height/50),T=g.append("g"),w=g.append("g"),C=`M ${y.x},${y.y+x}
146
+ a ${b},${x} 0 0 0 0,${y.height}
147
+ h ${y.width-2*b}
148
+ a ${b},${x} 0 0 0 0,-${y.height}
149
+ Z
150
+ `;T.append("path").attr("d",C),w.append("path").attr("d",`M ${y.x},${y.y+x}
151
+ a ${b},${x} 0 0 0 0,${y.height}`),T.attr("transform",`translate(${b}, ${-(y.height/2)})`),w.attr("transform",`translate(${y.width-b}, ${-y.height/2})`),t.rectData=y,u==="neo"&&T.attr("filter","url(#drop-shadow)");let k=n.get(t.name)??0;if(Sh.has(h)&&(T.style("stroke",p[k%p.length]),T.style("fill",f[k%p.length]),w.style("stroke",p[k%p.length]),w.style("fill",f[k%p.length])),t.properties?.icon){let N=t.properties.icon.trim(),P=y.x+y.width-20,I=y.y+10;N.charAt(0)==="@"?$w(g,P,I,N.substr(1)):Fw(g,P,I,N)}Eh(r,Bi(t.description))(t.description,g,y.x,y.y,y.width,y.height,{class:`actor ${q6}`},r);let E=t.height,A=T.select("path:last-child");if(A.node()){let N=A.node().getBBox();t.height=N.height,E=N.height}return i||(g.attr("data-et","participant"),g.attr("data-type","queue"),g.attr("data-id",t.name)),E},"drawActorTypeQueue"),LTt=o(function(e,t,r,i,n,a){let s=i?t.stopy:t.starty,l=t.x+t.width/2,u=s+75,{look:h,theme:d,themeVariables:f}=r,{bkgColorArray:p,borderColorArray:m,actorBorder:g,actorBkg:y}=f,v=e.append("g").lower();i||(Wr++,v.append("line").attr("id","actor"+Wr).attr("x1",l).attr("y1",u).attr("x2",l).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",t.name).attr("data-et","life-line").attr("data-id",t.name),t.actorCnt=Wr);let x=e.append("g"),b=mm;i?b+=` ${Df}`:b+=` ${_f}`,x.attr("class",b),x.attr("name",t.name);let T=fa();T.x=t.x,T.y=s,T.fill="#eaeaea",T.width=t.width,T.height=t.height,T.class="actor";let w=t.x+t.width/2,C=s+32,k=22;x.append("defs").append("marker").attr("id",n+"-filled-head-control").attr("refX",11).attr("refY",5.8).attr("markerWidth",20).attr("markerHeight",28).attr("orient","172.5").attr("stroke-width",1.2).append("path").attr("d","M 14.4 5.6 L 7.2 10.4 L 8.8 5.6 L 7.2 0.8 Z"),x.append("circle").attr("cx",w).attr("cy",C).attr("r",k).attr("filter",`${h==="neo"?"url(#drop-shadow)":""}`),x.append("line").attr("marker-end","url(#"+n+"-filled-head-control)").attr("transform",`translate(${w}, ${C-k})`);let E=a.get(t.name)??0;Sh.has(d)?(x.style("stroke",m[E%m.length]),x.style("fill",p[E%m.length])):(x.style("stroke",g),x.style("fill",y));let A=x.node().getBBox();return t.height=A.height+2*(r?.sequence?.labelBoxHeight??0),Eh(r,Bi(t.description))(t.description,x,T.x,T.y+k+(i?5:12),T.width,T.height,{class:`actor ${mm}`},r),i||(x.attr("data-et","participant"),x.attr("data-type","control"),x.attr("data-id",t.name)),t.height},"drawActorTypeControl"),MTt=o(function(e,t,r,i,n){let a=i?t.stopy:t.starty,s=t.x+t.width/2,l=a+75,{look:u,theme:h,themeVariables:d}=r,{bkgColorArray:f,borderColorArray:p}=d,m=e.append("g").lower(),g=e.append("g"),y="actor";i?y+=` ${Df}`:y+=` ${_f}`,g.attr("class",y),g.attr("name",t.name);let v=fa();v.x=t.x,v.y=a,v.fill="#eaeaea",v.width=t.width,v.height=t.height,v.class="actor";let x=t.x+t.width/2,b=a+(i?10:25),T=22;g.append("circle").attr("cx",x).attr("cy",b).attr("r",T).attr("width",t.width).attr("height",t.height),g.append("line").attr("x1",x-T).attr("x2",x+T).attr("y1",b+T).attr("y2",b+T).attr("stroke-width",2),u==="neo"&&g.attr("filter","url(#drop-shadow)");let w=n.get(t.name)??0;Sh.has(h)&&(g.style("stroke",p[w%p.length]),g.style("fill",f[w%p.length]));let C=g.node().getBBox();return t.height=C.height+(r?.sequence?.labelBoxHeight??0),i||(Wr++,m.append("line").attr("id","actor"+Wr).attr("x1",s).attr("y1",l).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",t.name).attr("data-et","life-line").attr("data-id",t.name),t.actorCnt=Wr),Eh(r,Bi(t.description))(t.description,g,v.x,v.y+(i?15:30),v.width,v.height,{class:`actor ${mm}`},r),i?g.attr("transform",`translate(0, ${T})`):(g.attr("transform",`translate(0, ${T/2-5})`),g.attr("data-et","participant"),g.attr("data-type","entity"),g.attr("data-id",t.name)),t.height},"drawActorTypeEntity"),NTt=o(function(e,t,r,i,n){let a=i?t.stopy:t.starty,s=t.x+t.width/2,l=a+t.height+2*r.boxTextMargin,{theme:u,themeVariables:h,look:d}=r,{bkgColorArray:f,borderColorArray:p,actorBorder:m}=h,g=e.append("g").lower(),y=g;i||(Wr++,Object.keys(t.links||{}).length&&!r.forceMenus&&y.attr("onclick",U6(`actor${Wr}_popup`)).attr("cursor","pointer"),y.append("line").attr("id","actor"+Wr).attr("x1",s).attr("y1",l).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",t.name).attr("data-et","life-line").attr("data-id",t.name),y=g.append("g"),t.actorCnt=Wr,t.links!=null&&y.attr("id","root-"+Wr),d==="neo"&&y.attr("data-look","neo"));let v=fa(),x="actor";t.properties?.class?x=t.properties.class:v.fill="#eaeaea",i?x+=` ${Df}`:x+=` ${_f}`,v.x=t.x,v.y=a,v.width=t.width,v.height=t.height,v.class=x,v.name=t.name,v.x=t.x,v.y=a;let b=v.width/3,T=v.width/3,w=b/2,C=w/(2.5+b/50),k=y.append("g");k.attr("class",x);let E=`
152
+ M ${v.x},${v.y+C}
153
+ a ${w},${C} 0 0 0 ${b},0
154
+ a ${w},${C} 0 0 0 -${b},0
155
+ l 0,${T-2*C}
156
+ a ${w},${C} 0 0 0 ${b},0
157
+ l 0,-${T-2*C}
158
+ `;k.append("path").attr("d",E),d==="neo"&&k.attr("filter","url(#drop-shadow)");let A=n.get(t.name)??0;Sh.has(u)?(k.style("stroke",p[A%p.length]),k.style("fill",f[A%p.length])):k.style("stroke",m),k.attr("transform",`translate(${b}, ${C})`),t.rectData=v,Eh(r,Bi(t.description))(t.description,y,v.x,v.y+35,v.width,v.height,{class:`actor ${q6}`},r);let N=k.select("path:last-child");if(N.node()){let P=N.node().getBBox();t.height=P.height+(r.sequence.labelBoxHeight??0)}return i||(y.attr("data-et","participant"),y.attr("data-type","database"),y.attr("data-id",t.name)),t.height},"drawActorTypeDatabase"),ITt=o(function(e,t,r,i,n){let a=i?t.stopy:t.starty,s=t.x+t.width/2,l=a+80,u=22,h=e.append("g").lower(),{look:d,theme:f,themeVariables:p}=r,{bkgColorArray:m,borderColorArray:g,actorBorder:y}=p;i||(Wr++,h.append("line").attr("id","actor"+Wr).attr("x1",s).attr("y1",l).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",t.name).attr("data-et","life-line").attr("data-id",t.name),t.actorCnt=Wr);let v=e.append("g"),x=mm;i?x+=` ${Df}`:x+=` ${_f}`,v.attr("class",x),v.attr("name",t.name);let b=fa();b.x=t.x,b.y=a,b.fill="#eaeaea",b.width=t.width,b.height=t.height,b.class="actor",v.append("line").attr("id","actor-man-torso"+Wr).attr("x1",t.x+t.width/2-u*2.5).attr("y1",a+12).attr("x2",t.x+t.width/2-15).attr("y2",a+12),v.append("line").attr("id","actor-man-arms"+Wr).attr("x1",t.x+t.width/2-u*2.5).attr("y1",a+2).attr("x2",t.x+t.width/2-u*2.5).attr("y2",a+22),v.append("circle").attr("cx",t.x+t.width/2).attr("cy",a+12).attr("r",u),d==="neo"&&v.attr("filter","url(#drop-shadow)");let T=n.get(t.name)??0;Sh.has(f)?(v.style("stroke",g[T%g.length]),v.style("fill",m[T%g.length])):v.style("stroke",y);let w=v.node().getBBox();return t.height=w.height+(r.sequence.labelBoxHeight??0),Eh(r,Bi(t.description))(t.description,v,b.x,b.y+15,b.width,b.height,{class:`actor ${mm}`},r),v.attr("transform",`translate(0,${u/2+10})`),i||(v.attr("data-et","participant"),v.attr("data-type","boundary"),v.attr("data-id",t.name)),t.height},"drawActorTypeBoundary"),OTt=o(function(e,t,r,i,n){let a=i?t.stopy:t.starty,s=t.x+t.width/2,l=a+80,{look:u,theme:h,themeVariables:d}=r,{bkgColorArray:f,borderColorArray:p,actorBorder:m}=d,g=e.append("g").lower();i||(Wr++,g.append("line").attr("id","actor"+Wr).attr("x1",s).attr("y1",l).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",t.name).attr("data-et","life-line").attr("data-id",t.name),t.actorCnt=Wr);let y=e.append("g"),v=mm;i?v+=` ${Df}`:v+=` ${_f}`,y.attr("class",v),y.attr("name",t.name),i||y.attr("data-et","participant").attr("data-type","actor").attr("data-id",t.name);let x=u==="neo"?.5:1,b=u==="neo"?a+(1-x)*30:a;y.append("line").attr("id","actor-man-torso"+Wr).attr("x1",s).attr("y1",b+25*x).attr("x2",s).attr("y2",b+45*x),y.append("line").attr("id","actor-man-arms"+Wr).attr("x1",s-Af/2*x).attr("y1",b+33*x).attr("x2",s+Af/2*x).attr("y2",b+33*x),y.append("line").attr("x1",s-Af/2*x).attr("y1",b+60*x).attr("x2",s).attr("y2",b+45*x),y.append("line").attr("x1",s).attr("y1",b+45*x).attr("x2",s+(Af/2-2)*x).attr("y2",b+60*x);let T=y.append("circle");T.attr("cx",t.x+t.width/2),T.attr("cy",b+10*x),T.attr("r",15*x),T.attr("width",t.width*x),T.attr("height",t.height*x);let w=y.node().getBBox();t.height=w.height;let C=fa();C.x=t.x,C.y=b,C.fill="#eaeaea",C.width=t.width,C.height=t.height/x,C.class="actor",C.rx=3,C.ry=3;let k=n.get(t.name)??0;return Sh.has(h)?(y.style("stroke",p[k%p.length]),y.style("fill",f[k%p.length])):y.style("stroke",m),Eh(r,Bi(t.description))(t.description,y,C.x,b+35*x-(u==="neo"?10:0),C.width,C.height,{class:`actor ${mm}`},r),t.height},"drawActorTypeActor"),PTt=o(async function(e,t,r,i,n,a,s){let l=s??new Map([...a.db.getActors().values()].map((u,h)=>[u.name,h]));switch(t.type){case"actor":return await OTt(e,t,r,i,l);case"participant":return await _Tt(e,t,r,i,l);case"boundary":return await ITt(e,t,r,i,l);case"control":return await LTt(e,t,r,i,n,l);case"entity":return await MTt(e,t,r,i,l);case"database":return await NTt(e,t,r,i,l);case"collections":return await DTt(e,t,r,i,l);case"queue":return await RTt(e,t,r,i,l)}},"drawActor"),BTt=o(function(e,t,r){let n=e.append("g");u6e(n,t),t.name&&Eh(r)(t.name,n,t.x,t.y+r.boxTextMargin+(t.textMaxHeight||0)/2,t.width,0,{class:"text"},r),n.lower()},"drawBox"),FTt=o(function(e){return e.append("g")},"anchorElement"),$Tt=o(function(e,t,r,i,n,a,s){let{theme:l,themeVariables:u}=i,{bkgColorArray:h,borderColorArray:d,mainBkg:f}=u,p=fa(),m=t.anchored,g=t.actor;p.x=t.startx,p.y=t.starty,p.class="activation"+n%3,p.width=t.stopx-t.startx,p.height=r-t.starty;let y=XT(m,p),x=(s??new Map([...a.db.getActors().values()].map((b,T)=>[b.name,T]))).get(g)??0;Sh.has(l)&&(y.style("stroke",d[x%d.length]),y.style("fill",h[x%d.length]??f))},"drawActivation"),zTt=o(async function(e,t,r,i,n){let{boxMargin:a,boxTextMargin:s,labelBoxHeight:l,labelBoxWidth:u,messageFontFamily:h,messageFontSize:d,messageFontWeight:f}=i,p=e.append("g").attr("data-et","control-structure").attr("data-id","i"+n.id),m=o(function(v,x,b,T){return p.append("line").attr("x1",v).attr("y1",x).attr("x2",b).attr("y2",T).attr("class","loopLine")},"drawLoopLine");m(t.startx,t.starty,t.stopx,t.starty),m(t.stopx,t.starty,t.stopx,t.stopy),m(t.startx,t.stopy,t.stopx,t.stopy),m(t.startx,t.starty,t.startx,t.stopy),t.sections!==void 0&&t.sections.forEach(function(v){m(t.startx,v.y,t.stopx,v.y).style("stroke-dasharray","3, 3")});let g=wx();g.text=r,g.x=t.startx,g.y=t.starty,g.fontFamily=h,g.fontSize=d,g.fontWeight=f,g.anchor="middle",g.valign="middle",g.tspan=!1,g.width=Math.max(u??0,50),g.height=l+(i.look==="neo"?15:0)||20,g.textMargin=s,g.class="labelText",c6e(p,g),g=h6e(),g.text=t.title,g.x=t.startx+u/2+(t.stopx-t.startx)/2,g.y=t.starty+a+s,g.anchor="middle",g.valign="middle",g.textMargin=s,g.class="loopText",g.fontFamily=h,g.fontSize=d,g.fontWeight=f,g.wrap=!0;let y=Bi(g.text)?await KT(p,g,t):gm(p,g);if(t.sectionTitles!==void 0){for(let[v,x]of Object.entries(t.sectionTitles))if(x.message){g.text=x.message,g.x=t.startx+(t.stopx-t.startx)/2,g.y=t.sections[v].y+a+s,g.class="sectionTitle",g.anchor="middle",g.valign="middle",g.tspan=!1,g.fontFamily=h,g.fontSize=d,g.fontWeight=f,g.wrap=t.wrap,Bi(g.text)?(t.starty=t.sections[v].y,await KT(p,g,t)):gm(p,g);let b=Math.round(y.map(T=>(T._groups||T)[0][0].getBBox().height).reduce((T,w)=>T+w));t.sections[v].height+=b-(a+s)}}return t.height=Math.round(t.stopy-t.starty),p},"drawLoop"),u6e=o(function(e,t){Bw(e,t)},"drawBackgroundRect"),GTt=o(function(e,t){e.append("defs").append("symbol").attr("id",t+"-database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),VTt=o(function(e,t){e.append("defs").append("symbol").attr("id",t+"-computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),WTt=o(function(e,t){e.append("defs").append("symbol").attr("id",t+"-clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),qTt=o(function(e,t){e.append("defs").append("marker").attr("id",t+"-arrowhead").attr("refX",7.9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M -1 0 L 10 5 L 0 10 z")},"insertArrowHead"),UTt=o(function(e,t){e.append("defs").append("marker").attr("id",t+"-filled-head").attr("refX",15.5).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertArrowFilledHead"),HTt=o(function(e,t){e.append("defs").append("marker").attr("id",t+"-sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},"insertSequenceNumber"),YTt=o(function(e,t){e.append("defs").append("marker").attr("id",t+"-crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",4).attr("refY",4.5).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1pt").attr("d","M 1,2 L 6,7 M 6,2 L 1,7")},"insertArrowCrossHead"),jTt=o(function(e,t){let{theme:r}=t;e.append("defs").append("filter").attr("id","drop-shadow").attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${r==="redux"||r==="redux-color"?"#000000":"#FFFFFF"}`)},"insertDropShadow"),h6e=o(function(){return{x:0,y:0,fill:void 0,anchor:void 0,style:"#666",width:void 0,height:void 0,textMargin:0,rx:0,ry:0,tspan:!0,valign:void 0}},"getTextObj"),XTt=o(function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),Eh=(function(){function e(a,s,l,u,h,d,f){let p=s.append("text").attr("x",l+h/2).attr("y",u+d/2+5).style("text-anchor","middle").text(a);n(p,f)}o(e,"byText");function t(a,s,l,u,h,d,f,p){let{actorFontSize:m,actorFontFamily:g,actorFontWeight:y}=p,[v,x]=Za(m),b=a.split(vt.lineBreakRegex);for(let T=0;T<b.length;T++){let w=T*v-v*(b.length-1)/2,C=s.append("text").attr("x",l+h/2).attr("y",u).style("text-anchor","middle").style("font-size",x).style("font-weight",y).style("font-family",g);C.append("tspan").attr("x",l+h/2).attr("dy",w).text(b[T]),C.attr("y",u+d/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),n(C,f)}}o(t,"byTspan");function r(a,s,l,u,h,d,f,p){let m=s.append("switch"),y=m.append("foreignObject").attr("x",l).attr("y",u).attr("width",h).attr("height",d).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");y.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(a),t(a,m,l,u,h,d,f,p),n(y,f)}o(r,"byFo");async function i(a,s,l,u,h,d,f,p){let m=await Yf(a,Nt()),g=s.append("switch"),v=g.append("foreignObject").attr("x",l+h/2-m.width/2).attr("y",u+d/2-m.height/2).attr("width",m.width).attr("height",m.height).append("xhtml:div").style("height","100%").style("width","100%");v.append("div").style("text-align","center").style("vertical-align","middle").html(await Fm(a,Nt())),t(a,g,l,u,h,d,f,p),n(v,f)}o(i,"byKatex");function n(a,s){for(let l in s)s.hasOwnProperty(l)&&a.attr(l,s[l])}return o(n,"_setTextAttrs"),function(a,s=!1){return s?i:a.textPlacement==="fo"?r:a.textPlacement==="old"?e:t}})(),KTt=(function(){function e(n,a,s,l,u,h,d){let f=a.append("text").attr("x",s).attr("y",l).style("text-anchor","start").text(n);i(f,d)}o(e,"byText");function t(n,a,s,l,u,h,d,f){let{actorFontSize:p,actorFontFamily:m,actorFontWeight:g}=f,y=n.split(vt.lineBreakRegex);for(let v=0;v<y.length;v++){let x=v*p-p*(y.length-1)/2,b=a.append("text").attr("x",s).attr("y",l).style("text-anchor","start").style("font-size",p).style("font-weight",g).style("font-family",m);b.append("tspan").attr("x",s).attr("dy",x).text(y[v]),b.attr("y",l+h/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),i(b,d)}}o(t,"byTspan");function r(n,a,s,l,u,h,d,f){let p=a.append("switch"),g=p.append("foreignObject").attr("x",s).attr("y",l).attr("width",u).attr("height",h).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");g.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(n),t(n,p,s,l,u,h,d,f),i(g,d)}o(r,"byFo");function i(n,a){for(let s in a)a.hasOwnProperty(s)&&n.attr(s,a[s])}return o(i,"_setTextAttrs"),function(n){return n.textPlacement==="fo"?r:n.textPlacement==="old"?e:t}})(),ZTt=o(function(e,t){e.append("defs").append("marker").attr("id",t+"-solidTopArrowHead").attr("refX",7.9).attr("refY",7.25).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 8 L 0 8 z")},"insertSolidTopArrowHead"),QTt=o(function(e,t){e.append("defs").append("marker").attr("id",t+"-solidBottomArrowHead").attr("refX",7.9).attr("refY",.75).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 0 L 0 8 z")},"insertSolidBottomArrowHead"),JTt=o(function(e,t){e.append("defs").append("marker").attr("id",t+"-stickTopArrowHead").attr("refX",7.5).attr("refY",7).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 7 7").attr("stroke","black").attr("stroke-width",1.5).attr("fill","none")},"insertStickTopArrowHead"),eCt=o(function(e,t){e.append("defs").append("marker").attr("id",t+"-stickBottomArrowHead").attr("refX",7.5).attr("refY",0).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M 0 7 L 7 0").attr("stroke","black").attr("stroke-width",1.5).attr("fill","none")},"insertStickBottomArrowHead"),Ei={drawRect:XT,drawText:gm,drawLabel:c6e,drawActor:PTt,drawBox:BTt,drawPopup:ATt,anchorElement:FTt,drawActivation:$Tt,drawLoop:zTt,drawBackgroundRect:u6e,insertArrowHead:qTt,insertArrowFilledHead:UTt,insertSequenceNumber:HTt,insertArrowCrossHead:YTt,insertDatabaseIcon:GTt,insertComputerIcon:VTt,insertClockIcon:WTt,getTextObj:h6e,getNoteRect:XTt,fixLifeLineHeights:oW,sanitizeUrl:sW.sanitizeUrl,insertDropShadow:jTt,insertSolidTopArrowHead:ZTt,insertSolidBottomArrowHead:QTt,insertStickTopArrowHead:JTt,insertStickBottomArrowHead:eCt}});async function rCt(e,t){bt.bumpVerticalPos(10);let{startx:r,stopx:i,message:n}=t,a=vt.splitBreaks(n).length,s=Bi(n),l=s?await Yf(n,ge()):Zt.calculateTextDimensions(n,ym(We));if(!s){let f=l.height/a;t.height+=f,bt.bumpVerticalPos(f)}let u,h=l.height-10,d=l.width;if(r===i){u=bt.getVerticalPos()+h,We.rightAngles||(h+=We.boxMargin,u=bt.getVerticalPos()+h),h+=30;let f=vt.getMax(d/2,We.width/2);bt.insert(r-f,bt.getVerticalPos()-10+h,i+f,bt.getVerticalPos()+30+h)}else h+=We.boxMargin,u=bt.getVerticalPos()+h,bt.insert(r,u-10,i,u);return bt.bumpVerticalPos(h),t.height+=h,t.stopy=t.starty+t.height,bt.insert(t.fromBounds,t.starty,t.toBounds,t.stopy),u}function lu(e,t,r,i,n){bt.bumpVerticalPos(r);let a=i;if(t.id&&t.message&&e[t.id]){let s=e[t.id].width,l=ym(We);t.message=Zt.wrapLabel(`[${t.message}]`,s-2*We.wrapPadding,l),t.width=s,t.wrap=!0;let u=Zt.calculateTextDimensions(t.message,l),h=vt.getMax(u.height,We.labelBoxHeight);a=i+h,Z.debug(`${h} - ${t.message}`)}n(t),bt.bumpVerticalPos(a)}function aCt(e,t,r,i,n,a,s){function l(d,f){d.x<n.get(e.from).x?(bt.insert(t.stopx-f,t.starty,t.startx,t.stopy+d.height/2+We.noteMargin),t.stopx=t.stopx+f):(bt.insert(t.startx,t.starty,t.stopx+f,t.stopy+d.height/2+We.noteMargin),t.stopx=t.stopx-f)}o(l,"receiverAdjustment");function u(d,f){d.x<n.get(e.to).x?(bt.insert(t.startx-f,t.starty,t.stopx,t.stopy+d.height/2+We.noteMargin),t.startx=t.startx+f):(bt.insert(t.stopx,t.starty,t.startx+f,t.stopy+d.height/2+We.noteMargin),t.startx=t.startx-f)}o(u,"senderAdjustment");let h=[jT.ACTOR,jT.CONTROL,jT.ENTITY,jT.DATABASE];if(a.get(e.to)==i){let d=n.get(e.to),f=h.includes(d.type)?Af/2+3:d.width/2+3;l(d,f),d.starty=r-d.height/2,bt.bumpVerticalPos(d.height/2)}else if(s.get(e.from)==i){let d=n.get(e.from);if(We.mirrorActors){let f=h.includes(d.type)?Af/2:d.width/2;u(d,f)}d.stopy=r-d.height/2,bt.bumpVerticalPos(d.height/2)}else if(s.get(e.to)==i){let d=n.get(e.to);if(We.mirrorActors){let f=h.includes(d.type)?Af/2+3:d.width/2+3;l(d,f)}d.stopy=r-d.height/2,bt.bumpVerticalPos(d.height/2)}}async function oCt(e,t,r){let i={};for(let n of t)if(e.get(n.to)&&e.get(n.from)){let a=e.get(n.to);if(n.placement===r.db.PLACEMENT.LEFTOF&&!a.prevActor||n.placement===r.db.PLACEMENT.RIGHTOF&&!a.nextActor)continue;let s=n.placement!==void 0,l=!s,u=s?Ty(We):ym(We),h=n.wrap?Zt.wrapLabel(n.message,We.width-2*We.wrapPadding,u):n.message,f=(Bi(h)?await Yf(n.message,ge()):Zt.calculateTextDimensions(h,u)).width+2*We.wrapPadding;l&&n.from===a.nextActor?i[n.to]=vt.getMax(i[n.to]||0,f):l&&n.from===a.prevActor?i[n.from]=vt.getMax(i[n.from]||0,f):l&&n.from===n.to?(i[n.from]=vt.getMax(i[n.from]||0,f/2),i[n.to]=vt.getMax(i[n.to]||0,f/2)):n.placement===r.db.PLACEMENT.RIGHTOF?i[n.from]=vt.getMax(i[n.from]||0,f):n.placement===r.db.PLACEMENT.LEFTOF?i[a.prevActor]=vt.getMax(i[a.prevActor]||0,f):n.placement===r.db.PLACEMENT.OVER&&(a.prevActor&&(i[a.prevActor]=vt.getMax(i[a.prevActor]||0,f/2)),a.nextActor&&(i[n.from]=vt.getMax(i[n.from]||0,f/2)))}return Z.debug("maxMessageWidthPerActor:",i),i}async function cCt(e,t,r){let i=0;for(let a of e.keys()){let s=e.get(a);s.wrap&&(s.description=Zt.wrapLabel(s.description,We.width-2*We.wrapPadding,cW(We)));let l=Bi(s.description)?await Yf(s.description,ge()):Zt.calculateTextDimensions(s.description,cW(We));s.width=s.wrap?We.width:vt.getMax(We.width,l.width+2*We.wrapPadding),s.height=s.wrap?vt.getMax(l.height,We.height):We.height,i=vt.getMax(i,s.height)}for(let a in t){let s=e.get(a);if(!s)continue;let l=e.get(s.nextActor);if(!l){let f=t[a]+We.actorMargin-s.width/2;s.margin=vt.getMax(f,We.actorMargin);continue}let h=t[a]+We.actorMargin-s.width/2-l.width/2;s.margin=vt.getMax(h,We.actorMargin)}let n=0;return r.forEach(a=>{let s=ym(We),l=a.actorKeys.reduce((f,p)=>f+=e.get(p).width+(e.get(p).margin||0),0),u=We.boxMargin*8;l+=u,l-=2*We.boxTextMargin,a.wrap&&(a.name=Zt.wrapLabel(a.name,l-2*We.wrapPadding,s));let h=Zt.calculateTextDimensions(a.name,s);n=vt.getMax(h.height,n);let d=vt.getMax(l,h.width+2*We.wrapPadding);if(a.margin=We.boxTextMargin,l<d){let f=(d-l)/2;a.margin+=f}}),r.forEach(a=>a.textMaxHeight=n),vt.getMax(i,We.height)}var We,bt,tCt,f6e,ym,Ty,cW,iCt,nCt,uW,m6e,g6e,H6,p6e,sCt,lCt,uCt,hCt,dCt,lW,fCt,y6e,pCt,mCt,gCt,v6e,x6e=z(()=>{"use strict";Rr();d6e();St();Ir();Ir();gp();Ut();Dm();Xt();Di();aW();We={},bt={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],activations:[],models:{getHeight:o(function(){return Math.max.apply(null,this.actors.length===0?[0]:this.actors.map(e=>e.height||0))+(this.loops.length===0?0:this.loops.map(e=>e.height||0).reduce((e,t)=>e+t))+(this.messages.length===0?0:this.messages.map(e=>e.height||0).reduce((e,t)=>e+t))+(this.notes.length===0?0:this.notes.map(e=>e.height||0).reduce((e,t)=>e+t))},"getHeight"),clear:o(function(){this.actors=[],this.boxes=[],this.loops=[],this.messages=[],this.notes=[]},"clear"),addBox:o(function(e){this.boxes.push(e)},"addBox"),addActor:o(function(e){this.actors.push(e)},"addActor"),addLoop:o(function(e){this.loops.push(e)},"addLoop"),addMessage:o(function(e){this.messages.push(e)},"addMessage"),addNote:o(function(e){this.notes.push(e)},"addNote"),lastActor:o(function(){return this.actors[this.actors.length-1]},"lastActor"),lastLoop:o(function(){return this.loops[this.loops.length-1]},"lastLoop"),lastMessage:o(function(){return this.messages[this.messages.length-1]},"lastMessage"),lastNote:o(function(){return this.notes[this.notes.length-1]},"lastNote"),actors:[],boxes:[],loops:[],messages:[],notes:[]},init:o(function(){this.sequenceItems=[],this.activations=[],this.models.clear(),this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0,g6e(ge())},"init"),updateVal:o(function(e,t,r,i){e[t]===void 0?e[t]=r:e[t]=i(r,e[t])},"updateVal"),updateBounds:o(function(e,t,r,i){let n=this,a=0;function s(l){return o(function(h){a++;let d=n.sequenceItems.length-a+1;n.updateVal(h,"starty",t-d*We.boxMargin,Math.min),n.updateVal(h,"stopy",i+d*We.boxMargin,Math.max),n.updateVal(bt.data,"startx",e-d*We.boxMargin,Math.min),n.updateVal(bt.data,"stopx",r+d*We.boxMargin,Math.max),l!=="activation"&&(n.updateVal(h,"startx",e-d*We.boxMargin,Math.min),n.updateVal(h,"stopx",r+d*We.boxMargin,Math.max),n.updateVal(bt.data,"starty",t-d*We.boxMargin,Math.min),n.updateVal(bt.data,"stopy",i+d*We.boxMargin,Math.max))},"updateItemBounds")}o(s,"updateFn"),this.sequenceItems.forEach(s()),this.activations.forEach(s("activation"))},"updateBounds"),insert:o(function(e,t,r,i){let n=vt.getMin(e,r),a=vt.getMax(e,r),s=vt.getMin(t,i),l=vt.getMax(t,i);this.updateVal(bt.data,"startx",n,Math.min),this.updateVal(bt.data,"starty",s,Math.min),this.updateVal(bt.data,"stopx",a,Math.max),this.updateVal(bt.data,"stopy",l,Math.max),this.updateBounds(n,s,a,l)},"insert"),newActivation:o(function(e,t,r){let i=r.get(e.from),n=H6(e.from).length||0,a=i.x+i.width/2+(n-1)*We.activationWidth/2;this.activations.push({startx:a,starty:this.verticalPos+2,stopx:a+We.activationWidth,stopy:void 0,actor:e.from,anchored:Ei.anchorElement(t)})},"newActivation"),endActivation:o(function(e){let t=this.activations.map(function(r){return r.actor}).lastIndexOf(e.from);return this.activations.splice(t,1)[0]},"endActivation"),createLoop:o(function(e={message:void 0,wrap:!1,width:void 0},t){return{startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:e.message,wrap:e.wrap,width:e.width,height:0,fill:t}},"createLoop"),newLoop:o(function(e={message:void 0,wrap:!1,width:void 0},t){this.sequenceItems.push(this.createLoop(e,t))},"newLoop"),endLoop:o(function(){return this.sequenceItems.pop()},"endLoop"),isLoopOverlap:o(function(){return this.sequenceItems.length?this.sequenceItems[this.sequenceItems.length-1].overlap:!1},"isLoopOverlap"),addSectionToLoop:o(function(e){let t=this.sequenceItems.pop();t.sections=t.sections||[],t.sectionTitles=t.sectionTitles||[],t.sections.push({y:bt.getVerticalPos(),height:0}),t.sectionTitles.push(e),this.sequenceItems.push(t)},"addSectionToLoop"),saveVerticalPos:o(function(){this.isLoopOverlap()&&(this.savedVerticalPos=this.verticalPos)},"saveVerticalPos"),resetVerticalPos:o(function(){this.isLoopOverlap()&&(this.verticalPos=this.savedVerticalPos)},"resetVerticalPos"),bumpVerticalPos:o(function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=vt.getMax(this.data.stopy,this.verticalPos)},"bumpVerticalPos"),getVerticalPos:o(function(){return this.verticalPos},"getVerticalPos"),getBounds:o(function(){return{bounds:this.data,models:this.models}},"getBounds")},tCt=o(async function(e,t,r){bt.bumpVerticalPos(We.boxMargin),t.height=We.boxMargin,t.starty=bt.getVerticalPos();let i=fa();i.x=t.startx,i.y=t.starty,i.width=t.width||We.width,i.class="note";let n=e.append("g");n.attr("data-et","note"),n.attr("data-id","i"+r);let a=Ei.drawRect(n,i),s=wx();s.x=t.startx,s.y=t.starty,s.width=i.width,s.dy="1em",s.text=t.message,s.class="noteText",s.fontFamily=We.noteFontFamily,s.fontSize=We.noteFontSize,s.fontWeight=We.noteFontWeight,s.anchor=We.noteAlign,s.textMargin=We.noteMargin,s.valign="center";let l=Bi(s.text)?await KT(n,s):gm(n,s),u=Math.round(l.map(h=>(h._groups||h)[0][0].getBBox().height).reduce((h,d)=>h+d));a.attr("height",u+2*We.noteMargin),t.height+=u+2*We.noteMargin,bt.bumpVerticalPos(u+2*We.noteMargin),t.stopy=t.starty+u+2*We.noteMargin,t.stopx=t.startx+i.width,bt.insert(t.startx,t.starty,t.stopx,t.stopy),bt.models.addNote(t)},"drawNote"),f6e=o(function(e,t,r,i,n,a,s){let l=i.db.getActors(),u=l.get(t.from),h=l.get(t.to),d=r.sequenceVisible,f=u.x+u.width/2,p=h.x+h.width/2,m=f<=p,g=y6e(t,i),y=e.append("g"),v=16.5,x=o((k,E)=>{let A=k?v:-v;return E?-A:A},"getCircleOffset"),b=o(k=>{y.append("circle").attr("cx",k).attr("cy",s).attr("r",5).attr("width",10).attr("height",10)},"drawCircle"),{CENTRAL_CONNECTION:T,CENTRAL_CONNECTION_REVERSE:w,CENTRAL_CONNECTION_DUAL:C}=i.db.LINETYPE;if(d)switch(t.centralConnection){case T:g&&(p+=x(m,!0));break;case w:g||(f+=x(m,!1));break;case C:g?p+=x(m,!0):f+=x(m,!1);break}switch(t.centralConnection){case T:b(p);break;case w:b(f);break;case C:b(f),b(p);break}},"drawCentralConnection"),ym=o(e=>({fontFamily:e.messageFontFamily,fontSize:e.messageFontSize,fontWeight:e.messageFontWeight}),"messageFont"),Ty=o(e=>({fontFamily:e.noteFontFamily,fontSize:e.noteFontSize,fontWeight:e.noteFontWeight}),"noteFont"),cW=o(e=>({fontFamily:e.actorFontFamily,fontSize:e.actorFontSize,fontWeight:e.actorFontWeight}),"actorFont");o(rCt,"boundMessage");iCt=o(async function(e,t,r,i,n,a){let{startx:s,stopx:l,starty:u,message:h,type:d,sequenceIndex:f,sequenceVisible:p}=t,m=Zt.calculateTextDimensions(h,ym(We)),g=wx();g.x=Math.min(s,l),g.y=u+10,g.width=Math.abs(l-s),g.class="messageText",g.dy="1em",g.text=h,g.fontFamily=We.messageFontFamily,g.fontSize=We.messageFontSize,g.fontWeight=We.messageFontWeight,g.anchor=We.messageAlign,g.valign="center",g.textMargin=We.wrapPadding,g.tspan=!1,Bi(g.text)?await KT(e,g,{startx:s,stopx:l,starty:r}):gm(e,g);let y=m.width,v;if(s===l){let b=p||We.showSequenceNumbers,T=y6e(n,i),w=pCt(n,i),C=s+(b&&(T||w)?10:0);We.rightAngles?v=e.append("path").attr("d",`M ${C},${r} H ${s+vt.getMax(We.width/2,y/2)} V ${r+25} H ${s}`):v=e.append("path").attr("d","M "+C+","+r+" C "+(C+60)+","+(r-10)+" "+(s+60)+","+(r+30)+" "+s+","+(r+20)),lW(n,i)&&f6e(e,n,t,i,s,l,r)}else v=e.append("line"),v.attr("x1",s),v.attr("y1",r),v.attr("x2",l),v.attr("y2",r),lW(n,i)&&f6e(e,n,t,i,s,l,r);d===i.db.LINETYPE.DOTTED||d===i.db.LINETYPE.DOTTED_CROSS||d===i.db.LINETYPE.DOTTED_POINT||d===i.db.LINETYPE.DOTTED_OPEN||d===i.db.LINETYPE.BIDIRECTIONAL_DOTTED||d===i.db.LINETYPE.SOLID_TOP_DOTTED||d===i.db.LINETYPE.SOLID_BOTTOM_DOTTED||d===i.db.LINETYPE.STICK_TOP_DOTTED||d===i.db.LINETYPE.STICK_BOTTOM_DOTTED||d===i.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED||d===i.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED||d===i.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED||d===i.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED?(v.style("stroke-dasharray","3, 3"),v.attr("class","messageLine1")):v.attr("class","messageLine0"),v.attr("data-et","message"),v.attr("data-id","i"+t.id),v.attr("data-from",t.from),v.attr("data-to",t.to);let x="";if(We.arrowMarkerAbsolute&&(x=Hf(!0)),v.attr("stroke-width",2),v.attr("stroke","none"),v.style("fill","none"),(d===i.db.LINETYPE.SOLID_TOP||d===i.db.LINETYPE.SOLID_TOP_DOTTED)&&v.attr("marker-end","url("+x+"#"+a+"-solidTopArrowHead)"),(d===i.db.LINETYPE.SOLID_BOTTOM||d===i.db.LINETYPE.SOLID_BOTTOM_DOTTED)&&v.attr("marker-end","url("+x+"#"+a+"-solidBottomArrowHead)"),(d===i.db.LINETYPE.STICK_TOP||d===i.db.LINETYPE.STICK_TOP_DOTTED)&&v.attr("marker-end","url("+x+"#"+a+"-stickTopArrowHead)"),(d===i.db.LINETYPE.STICK_BOTTOM||d===i.db.LINETYPE.STICK_BOTTOM_DOTTED)&&v.attr("marker-end","url("+x+"#"+a+"-stickBottomArrowHead)"),(d===i.db.LINETYPE.SOLID_ARROW_TOP_REVERSE||d===i.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED)&&v.attr("marker-start","url("+x+"#"+a+"-solidBottomArrowHead)"),(d===i.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE||d===i.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED)&&v.attr("marker-start","url("+x+"#"+a+"-solidTopArrowHead)"),(d===i.db.LINETYPE.STICK_ARROW_TOP_REVERSE||d===i.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED)&&v.attr("marker-start","url("+x+"#"+a+"-stickBottomArrowHead)"),(d===i.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE||d===i.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED)&&v.attr("marker-start","url("+x+"#"+a+"-stickTopArrowHead)"),(d===i.db.LINETYPE.SOLID||d===i.db.LINETYPE.DOTTED)&&v.attr("marker-end","url("+x+"#"+a+"-arrowhead)"),(d===i.db.LINETYPE.BIDIRECTIONAL_SOLID||d===i.db.LINETYPE.BIDIRECTIONAL_DOTTED)&&(v.attr("marker-start","url("+x+"#"+a+"-arrowhead)"),v.attr("marker-end","url("+x+"#"+a+"-arrowhead)")),(d===i.db.LINETYPE.SOLID_POINT||d===i.db.LINETYPE.DOTTED_POINT)&&v.attr("marker-end","url("+x+"#"+a+"-filled-head)"),(d===i.db.LINETYPE.SOLID_CROSS||d===i.db.LINETYPE.DOTTED_CROSS)&&v.attr("marker-end","url("+x+"#"+a+"-crosshead)"),p||We.showSequenceNumbers){let b=d===i.db.LINETYPE.BIDIRECTIONAL_SOLID||d===i.db.LINETYPE.BIDIRECTIONAL_DOTTED,T=d===i.db.LINETYPE.SOLID_ARROW_TOP_REVERSE||d===i.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED||d===i.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE||d===i.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED||d===i.db.LINETYPE.STICK_ARROW_TOP_REVERSE||d===i.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED||d===i.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE||d===i.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,w=6,C=lW(n,i),k=s,E=l;b?(s<l?k=s+w*2:(k=s-w+(C?-5:0),k+=n?.centralConnection===i.db.LINETYPE.CENTRAL_CONNECTION_DUAL||n?.centralConnection===i.db.LINETYPE.CENTRAL_CONNECTION_REVERSE?-7.5:0),v.attr("x1",k)):T?(l>s?E=l-2*w:(E=l-w,k+=n?.centralConnection===i.db.LINETYPE.CENTRAL_CONNECTION_DUAL||n?.centralConnection===i.db.LINETYPE.CENTRAL_CONNECTION_REVERSE?-7.5:0),E+=C?15:0,v.attr("x2",E),v.attr("x1",k)):v.attr("x1",s+w);let A=0,N=s===l,P=s<=l;N?A=t.fromBounds+1:T?A=P?t.toBounds-1:t.fromBounds+1:A=P?t.fromBounds+1:t.toBounds-1;let I="12px",D=f.toString().length;D>5?I="7px":D>3&&(I="9px"),e.append("line").attr("x1",A).attr("y1",r).attr("x2",A).attr("y2",r).attr("stroke-width",0).attr("marker-start","url("+x+"#"+a+"-sequencenumber)"),e.append("text").attr("x",A).attr("y",r+4).attr("font-family","sans-serif").attr("font-size",I).attr("text-anchor","middle").attr("class","sequenceNumber").text(f)}},"drawMessage"),nCt=o(function(e,t,r,i,n,a,s){let l=0,u=0,h,d=0;for(let f of i){let p=t.get(f),m=p.box;h&&h!=m&&(s||bt.models.addBox(h),u+=We.boxMargin+h.margin),m&&m!=h&&(s||(m.x=l+u,m.y=n),u+=m.margin),p.width=vt.getMax(p.width||We.width,We.width),p.height=vt.getMax(p.height||We.height,We.height),p.margin=p.margin||We.actorMargin,d=vt.getMax(d,p.height),r.get(p.name)&&(u+=p.width/2),p.x=l+u,p.starty=bt.getVerticalPos(),bt.insert(p.x,n,p.x+p.width,p.height),l+=p.width+u,p.box&&(p.box.width=l+m.margin-p.box.x),u=p.margin,h=p.box,bt.models.addActor(p)}h&&!s&&bt.models.addBox(h),bt.bumpVerticalPos(d)},"addActorRenderingData"),uW=o(async function(e,t,r,i,n,a,s){if(i){let l=0;bt.bumpVerticalPos(We.boxMargin*2);for(let u of r){let h=t.get(u);h.stopy||(h.stopy=bt.getVerticalPos());let d=await Ei.drawActor(e,h,We,!0,n,a,s);l=vt.getMax(l,d)}bt.bumpVerticalPos(l+We.boxMargin)}else for(let l of r){let u=t.get(l);await Ei.drawActor(e,u,We,!1,n,a,s)}},"drawActors"),m6e=o(function(e,t,r,i){let n=0,a=0;for(let s of r){let l=t.get(s),u=lCt(l),h=Ei.drawPopup(e,l,u,We,We.forceMenus,i);h.height>n&&(n=h.height),h.width+l.x>a&&(a=h.width+l.x)}return{maxHeight:n,maxWidth:a}},"drawActorsPopup"),g6e=o(function(e){Ai(We,e),e.fontFamily&&(We.actorFontFamily=We.noteFontFamily=We.messageFontFamily=e.fontFamily),e.fontSize&&(We.actorFontSize=We.noteFontSize=We.messageFontSize=e.fontSize),e.fontWeight&&(We.actorFontWeight=We.noteFontWeight=We.messageFontWeight=e.fontWeight)},"setConf"),H6=o(function(e){return bt.activations.filter(function(t){return t.actor===e})},"actorActivations"),p6e=o(function(e,t){let r=t.get(e),i=H6(e),n=i.reduce(function(s,l){return vt.getMin(s,l.startx)},r.x+r.width/2-1),a=i.reduce(function(s,l){return vt.getMax(s,l.stopx)},r.x+r.width/2+1);return[n,a]},"activationBounds");o(lu,"adjustLoopHeightForWrap");o(aCt,"adjustCreatedDestroyedData");sCt=o(async function(e,t,r,i){let{securityLevel:n,sequence:a,look:s}=ge();We=a;let l;n==="sandbox"&&(l=Je("#i"+t));let u=n==="sandbox"?Je(l.nodes()[0].contentDocument.body):Je("body"),h=n==="sandbox"?l.nodes()[0].contentDocument:document;bt.init(),Z.debug(i.db);let d=n==="sandbox"?u.select(`[id="${t}"]`):Je(`[id="${t}"]`),f=i.db.getActors(),p=i.db.getCreatedActors(),m=i.db.getDestroyedActors(),g=i.db.getBoxes(),y=i.db.getActorKeys(),v=i.db.getMessages(),x=i.db.getDiagramTitle(),b=i.db.hasAtLeastOneBox(),T=i.db.hasAtLeastOneBoxWithTitle(),w=await oCt(f,v,i);if(We.height=await cCt(f,w,g),Ei.insertComputerIcon(d,t),Ei.insertDatabaseIcon(d,t),Ei.insertClockIcon(d,t),b&&(bt.bumpVerticalPos(We.boxMargin),T&&bt.bumpVerticalPos(g[0].textMaxHeight)),We.hideUnusedParticipants===!0){let F=new Set;v.forEach(V=>{F.add(V.from),F.add(V.to)}),y=y.filter(V=>F.has(V))}let C=new Map(y.map((F,V)=>[f.get(F)?.name??F,V]));nCt(d,f,p,y,0,v,!1);let k=await gCt(v,f,w,i);Ei.insertArrowHead(d,t),Ei.insertArrowCrossHead(d,t),Ei.insertArrowFilledHead(d,t),Ei.insertSequenceNumber(d,t),Ei.insertSolidTopArrowHead(d,t),Ei.insertSolidBottomArrowHead(d,t),Ei.insertStickTopArrowHead(d,t),Ei.insertStickBottomArrowHead(d,t),s==="neo"&&Ei.insertDropShadow(d,We);function E(F,V){let H=bt.endActivation(F);H.starty+18>V&&(H.starty=V-6,V+=12),Ei.drawActivation(d,H,V,We,H6(F.from).length,i,C),bt.insert(H.startx,V-10,H.stopx,V)}o(E,"activeEnd");let A=1,N=1,P=[],I=[],D=0;for(let F of v){let V,H,j;switch(F.type){case i.db.LINETYPE.NOTE:bt.resetVerticalPos(),H=F.noteModel,await tCt(d,H,F.id);break;case i.db.LINETYPE.ACTIVE_START:bt.newActivation(F,d,f);break;case i.db.LINETYPE.CENTRAL_CONNECTION:bt.newActivation(F,d,f);break;case i.db.LINETYPE.CENTRAL_CONNECTION_REVERSE:bt.newActivation(F,d,f);break;case i.db.LINETYPE.ACTIVE_END:E(F,bt.getVerticalPos());break;case i.db.LINETYPE.LOOP_START:lu(k,F,We.boxMargin,We.boxMargin+We.boxTextMargin,U=>bt.newLoop(U));break;case i.db.LINETYPE.LOOP_END:V=bt.endLoop(),await Ei.drawLoop(d,V,"loop",We,F),bt.bumpVerticalPos(V.stopy-bt.getVerticalPos()),bt.models.addLoop(V);break;case i.db.LINETYPE.RECT_START:lu(k,F,We.boxMargin,We.boxMargin,U=>bt.newLoop(void 0,U.message));break;case i.db.LINETYPE.RECT_END:V=bt.endLoop(),I.push(V),bt.models.addLoop(V),bt.bumpVerticalPos(V.stopy-bt.getVerticalPos());break;case i.db.LINETYPE.OPT_START:lu(k,F,We.boxMargin,We.boxMargin+We.boxTextMargin,U=>bt.newLoop(U));break;case i.db.LINETYPE.OPT_END:V=bt.endLoop(),await Ei.drawLoop(d,V,"opt",We,F),bt.bumpVerticalPos(V.stopy-bt.getVerticalPos()),bt.models.addLoop(V);break;case i.db.LINETYPE.ALT_START:lu(k,F,We.boxMargin,We.boxMargin+We.boxTextMargin,U=>bt.newLoop(U));break;case i.db.LINETYPE.ALT_ELSE:lu(k,F,We.boxMargin+We.boxTextMargin,We.boxMargin,U=>bt.addSectionToLoop(U));break;case i.db.LINETYPE.ALT_END:V=bt.endLoop(),await Ei.drawLoop(d,V,"alt",We,F),bt.bumpVerticalPos(V.stopy-bt.getVerticalPos()),bt.models.addLoop(V);break;case i.db.LINETYPE.PAR_START:case i.db.LINETYPE.PAR_OVER_START:lu(k,F,We.boxMargin,We.boxMargin+We.boxTextMargin,U=>bt.newLoop(U)),bt.saveVerticalPos();break;case i.db.LINETYPE.PAR_AND:lu(k,F,We.boxMargin+We.boxTextMargin,We.boxMargin,U=>bt.addSectionToLoop(U));break;case i.db.LINETYPE.PAR_END:V=bt.endLoop(),await Ei.drawLoop(d,V,"par",We,F),bt.bumpVerticalPos(V.stopy-bt.getVerticalPos()),bt.models.addLoop(V);break;case i.db.LINETYPE.AUTONUMBER:A=F.message.start||A,N=F.message.step||N,F.message.visible?i.db.enableSequenceNumbers():i.db.disableSequenceNumbers();break;case i.db.LINETYPE.CRITICAL_START:lu(k,F,We.boxMargin,We.boxMargin+We.boxTextMargin,U=>bt.newLoop(U));break;case i.db.LINETYPE.CRITICAL_OPTION:lu(k,F,We.boxMargin+We.boxTextMargin,We.boxMargin,U=>bt.addSectionToLoop(U));break;case i.db.LINETYPE.CRITICAL_END:V=bt.endLoop(),await Ei.drawLoop(d,V,"critical",We,F),bt.bumpVerticalPos(V.stopy-bt.getVerticalPos()),bt.models.addLoop(V);break;case i.db.LINETYPE.BREAK_START:lu(k,F,We.boxMargin,We.boxMargin+We.boxTextMargin,U=>bt.newLoop(U));break;case i.db.LINETYPE.BREAK_END:V=bt.endLoop(),await Ei.drawLoop(d,V,"break",We,F),bt.bumpVerticalPos(V.stopy-bt.getVerticalPos()),bt.models.addLoop(V);break;default:try{j=F.msgModel,j.starty=bt.getVerticalPos(),j.sequenceIndex=A,j.sequenceVisible=i.db.showSequenceNumbers(),j.id=F.id,j.from=F.from,j.to=F.to;let U=await rCt(d,j);aCt(F,j,U,D,f,p,m),P.push({messageModel:j,lineStartY:U,msg:F}),bt.models.addMessage(j)}catch(U){Z.error("error while drawing message",U)}}[i.db.LINETYPE.SOLID_OPEN,i.db.LINETYPE.DOTTED_OPEN,i.db.LINETYPE.SOLID,i.db.LINETYPE.SOLID_TOP,i.db.LINETYPE.SOLID_BOTTOM,i.db.LINETYPE.STICK_TOP,i.db.LINETYPE.STICK_BOTTOM,i.db.LINETYPE.SOLID_TOP_DOTTED,i.db.LINETYPE.SOLID_BOTTOM_DOTTED,i.db.LINETYPE.STICK_TOP_DOTTED,i.db.LINETYPE.STICK_BOTTOM_DOTTED,i.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,i.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE,i.db.LINETYPE.STICK_ARROW_TOP_REVERSE,i.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE,i.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,i.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,i.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED,i.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,i.db.LINETYPE.DOTTED,i.db.LINETYPE.SOLID_CROSS,i.db.LINETYPE.DOTTED_CROSS,i.db.LINETYPE.SOLID_POINT,i.db.LINETYPE.DOTTED_POINT,i.db.LINETYPE.BIDIRECTIONAL_SOLID,i.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(F.type)&&(A=Math.round((A+N)*100)/100),D++}Z.debug("createdActors",p),Z.debug("destroyedActors",m),await uW(d,f,y,!1,t,i,C);for(let F of P)await iCt(d,F.messageModel,F.lineStartY,i,F.msg,t);We.mirrorActors&&await uW(d,f,y,!0,t,i,C),I.forEach(F=>Ei.drawBackgroundRect(d,F)),oW(d,f,y,We);for(let F of bt.models.boxes){F.height=bt.getVerticalPos()-F.y,bt.insert(F.x,F.y,F.x+F.width,F.height);let V=We.boxMargin*2;F.startx=F.x-V,F.starty=F.y-V*.25,F.stopx=F.startx+F.width+2*V,F.stopy=F.starty+F.height+V*.75,F.stroke="rgb(0,0,0, 0.5)",Ei.drawBox(d,F,We)}b&&bt.bumpVerticalPos(We.boxMargin);let _=m6e(d,f,y,h),{bounds:R}=bt.getBounds();R.startx===void 0&&(R.startx=0),R.starty===void 0&&(R.starty=0),R.stopx===void 0&&(R.stopx=0),R.stopy===void 0&&(R.stopy=0);let M=R.stopy-R.starty;M<_.maxHeight&&(M=_.maxHeight);let L=M+2*We.diagramMarginY;We.mirrorActors&&(L=L-We.boxMargin+We.bottomMarginAdj);let B=R.stopx-R.startx;B<_.maxWidth&&(B=_.maxWidth);let O=B+2*We.diagramMarginX;x&&d.append("text").text(x).attr("x",(R.stopx-R.startx)/2-2*We.diagramMarginX).attr("y",-25),Br(d,L,O,We.useMaxWidth);let $=x?40:0,G=f.size&&s==="neo"?30:0;d.attr("viewBox",R.startx-We.diagramMarginX+" -"+(We.diagramMarginY+$)+" "+O+" "+(L+$+G)),Z.debug("models:",bt.models)},"draw");o(oCt,"getMaxMessageWidthPerActor");lCt=o(function(e){let t=0,r=cW(We);for(let i in e.links){let a=Zt.calculateTextDimensions(i,r).width+2*We.wrapPadding+2*We.boxMargin;t<a&&(t=a)}return t},"getRequiredPopupWidth");o(cCt,"calculateActorMargins");uCt=o(async function(e,t,r){let i=t.get(e.from),n=t.get(e.to),a=i.x,s=n.x,l=e.wrap&&e.message,u=Bi(e.message)?await Yf(e.message,ge()):Zt.calculateTextDimensions(l?Zt.wrapLabel(e.message,We.width,Ty(We)):e.message,Ty(We)),h={width:l?We.width:vt.getMax(We.width,u.width+2*We.noteMargin),height:0,startx:i.x,stopx:0,starty:0,stopy:0,message:e.message};return e.placement===r.db.PLACEMENT.RIGHTOF?(h.width=l?vt.getMax(We.width,u.width):vt.getMax(i.width/2+n.width/2,u.width+2*We.noteMargin),h.startx=a+(i.width+We.actorMargin)/2):e.placement===r.db.PLACEMENT.LEFTOF?(h.width=l?vt.getMax(We.width,u.width+2*We.noteMargin):vt.getMax(i.width/2+n.width/2,u.width+2*We.noteMargin),h.startx=a-h.width+(i.width-We.actorMargin)/2):e.to===e.from?(u=Zt.calculateTextDimensions(l?Zt.wrapLabel(e.message,vt.getMax(We.width,i.width),Ty(We)):e.message,Ty(We)),h.width=l?vt.getMax(We.width,i.width):vt.getMax(i.width,We.width,u.width+2*We.noteMargin),h.startx=a+(i.width-h.width)/2):(h.width=Math.abs(a+i.width/2-(s+n.width/2))+We.actorMargin,h.startx=a<s?a+i.width/2-We.actorMargin/2:s+n.width/2-We.actorMargin/2),l&&(h.message=Zt.wrapLabel(e.message,h.width-2*We.wrapPadding,Ty(We))),Z.debug(`NM:[${h.startx},${h.stopx},${h.starty},${h.stopy}:${h.width},${h.height}=${e.message}]`),h},"buildNoteModel"),hCt=4,dCt=6,lW=o(function(e,t){let{CENTRAL_CONNECTION:r,CENTRAL_CONNECTION_REVERSE:i,CENTRAL_CONNECTION_DUAL:n}=t.db.LINETYPE;return[r,i,n].includes(e.centralConnection)},"hasCentralConnection"),fCt=o(function(e,t,r){let{CENTRAL_CONNECTION_REVERSE:i,CENTRAL_CONNECTION_DUAL:n,BIDIRECTIONAL_SOLID:a,BIDIRECTIONAL_DOTTED:s}=t.db.LINETYPE,l=0;return(e.centralConnection===i||e.centralConnection===n)&&(l+=hCt),(e.centralConnection===i||e.centralConnection===n)&&(e.type===a||e.type===s)&&(l+=r?0:-dCt),l},"calculateCentralConnectionOffset"),y6e=o(function(e,t){let{SOLID_ARROW_TOP_REVERSE:r,SOLID_ARROW_TOP_REVERSE_DOTTED:i,SOLID_ARROW_BOTTOM_REVERSE:n,SOLID_ARROW_BOTTOM_REVERSE_DOTTED:a,STICK_ARROW_TOP_REVERSE:s,STICK_ARROW_TOP_REVERSE_DOTTED:l,STICK_ARROW_BOTTOM_REVERSE:u,STICK_ARROW_BOTTOM_REVERSE_DOTTED:h}=t.db.LINETYPE;return[r,i,n,a,s,l,u,h].includes(e.type)},"isReverseArrowType"),pCt=o(function(e,t){let{BIDIRECTIONAL_SOLID:r,BIDIRECTIONAL_DOTTED:i}=t.db.LINETYPE;return[r,i].includes(e.type)},"isBidirectionalArrowType"),mCt=o(function(e,t,r){let{look:i}=ge();if(![r.db.LINETYPE.SOLID_OPEN,r.db.LINETYPE.DOTTED_OPEN,r.db.LINETYPE.SOLID,r.db.LINETYPE.SOLID_TOP,r.db.LINETYPE.SOLID_BOTTOM,r.db.LINETYPE.STICK_TOP,r.db.LINETYPE.STICK_BOTTOM,r.db.LINETYPE.SOLID_TOP_DOTTED,r.db.LINETYPE.SOLID_BOTTOM_DOTTED,r.db.LINETYPE.STICK_TOP_DOTTED,r.db.LINETYPE.STICK_BOTTOM_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE,r.db.LINETYPE.STICK_ARROW_TOP_REVERSE,r.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,r.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED,r.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,r.db.LINETYPE.DOTTED,r.db.LINETYPE.SOLID_CROSS,r.db.LINETYPE.DOTTED_CROSS,r.db.LINETYPE.SOLID_POINT,r.db.LINETYPE.DOTTED_POINT,r.db.LINETYPE.BIDIRECTIONAL_SOLID,r.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(e.type))return{};let[n,a]=p6e(e.from,t),[s,l]=p6e(e.to,t),u=n<=s,h=u?a:n,d=u?s:l;i==="neo"&&(e.type!==r.db.LINETYPE.SOLID_OPEN&&(d+=u?-3:3),(e.type===r.db.LINETYPE.BIDIRECTIONAL_SOLID||e.type===r.db.LINETYPE.BIDIRECTIONAL_DOTTED)&&(h+=u?3:-3)),h+=fCt(e,r,u);let f=Math.abs(s-l)>2,p=o(v=>u?-v:v,"adjustValue");e.from===e.to?d=h:(e.activate&&!f&&(d+=p(We.activationWidth/2-1)),[r.db.LINETYPE.SOLID_OPEN,r.db.LINETYPE.DOTTED_OPEN,r.db.LINETYPE.STICK_TOP,r.db.LINETYPE.STICK_BOTTOM,r.db.LINETYPE.STICK_TOP_DOTTED,r.db.LINETYPE.STICK_BOTTOM_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,r.db.LINETYPE.STICK_ARROW_TOP_REVERSE,r.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE,r.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED,r.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE].includes(e.type)||(d+=p(3)),[r.db.LINETYPE.BIDIRECTIONAL_SOLID,r.db.LINETYPE.BIDIRECTIONAL_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE].includes(e.type)&&(h-=p(3)));let m=[n,a,s,l],g=Math.abs(h-d);e.wrap&&e.message&&(e.message=Zt.wrapLabel(e.message,vt.getMax(g+2*We.wrapPadding,We.width),ym(We)));let y=Zt.calculateTextDimensions(e.message,ym(We));return{width:vt.getMax(e.wrap?0:y.width+2*We.wrapPadding,g+2*We.wrapPadding,We.width),height:0,startx:h,stopx:d,starty:0,stopy:0,message:e.message,type:e.type,wrap:e.wrap,fromBounds:Math.min.apply(null,m),toBounds:Math.max.apply(null,m)}},"buildMessageModel"),gCt=o(async function(e,t,r,i){let n={},a=[],s,l,u;for(let h of e){switch(h.type){case i.db.LINETYPE.LOOP_START:case i.db.LINETYPE.ALT_START:case i.db.LINETYPE.OPT_START:case i.db.LINETYPE.PAR_START:case i.db.LINETYPE.PAR_OVER_START:case i.db.LINETYPE.CRITICAL_START:case i.db.LINETYPE.BREAK_START:a.push({id:h.id,msg:h.message,from:Number.MAX_SAFE_INTEGER,to:Number.MIN_SAFE_INTEGER,width:0});break;case i.db.LINETYPE.ALT_ELSE:case i.db.LINETYPE.PAR_AND:case i.db.LINETYPE.CRITICAL_OPTION:h.message&&(s=a.pop(),n[s.id]=s,n[h.id]=s,a.push(s));break;case i.db.LINETYPE.LOOP_END:case i.db.LINETYPE.ALT_END:case i.db.LINETYPE.OPT_END:case i.db.LINETYPE.PAR_END:case i.db.LINETYPE.CRITICAL_END:case i.db.LINETYPE.BREAK_END:s=a.pop(),n[s.id]=s;break;case i.db.LINETYPE.ACTIVE_START:{let f=t.get(h.from?h.from:h.to.actor),p=H6(h.from?h.from:h.to.actor).length,m=f.x+f.width/2+(p-1)*We.activationWidth/2,g={startx:m,stopx:m+We.activationWidth,actor:h.from,enabled:!0};bt.activations.push(g)}break;case i.db.LINETYPE.ACTIVE_END:{let f=bt.activations.map(p=>p.actor).lastIndexOf(h.from);bt.activations.splice(f,1).splice(0,1)}break}h.placement!==void 0?(l=await uCt(h,t,i),h.noteModel=l,a.forEach(f=>{s=f,s.from=vt.getMin(s.from,l.startx),s.to=vt.getMax(s.to,l.startx+l.width),s.width=vt.getMax(s.width,Math.abs(s.from-s.to))-We.labelBoxWidth})):(u=mCt(h,t,i),h.msgModel=u,u.startx&&u.stopx&&a.length>0&&a.forEach(f=>{if(s=f,u.startx===u.stopx){let p=t.get(h.from),m=t.get(h.to);s.from=vt.getMin(p.x-u.width/2,p.x-p.width/2,s.from),s.to=vt.getMax(m.x+u.width/2,m.x+p.width/2,s.to),s.width=vt.getMax(s.width,Math.abs(s.to-s.from))-We.labelBoxWidth}else s.from=vt.getMin(u.startx,s.from),s.to=vt.getMax(u.stopx,s.to),s.width=vt.getMax(s.width,u.width)-We.labelBoxWidth}))}return bt.activations=[],Z.debug("Loop type widths:",n),n},"calculateLoopBounds"),v6e={bounds:bt,drawActors:uW,drawActorsPopup:m6e,setConf:g6e,draw:sCt}});var b6e={};xr(b6e,{diagram:()=>yCt});var yCt,T6e=z(()=>{"use strict";s6e();aW();l6e();Ut();x6e();yCt={parser:a6e,get db(){return new W6},renderer:v6e,styles:o6e,init:o(e=>{e.sequence||(e.sequence={}),e.wrap&&(e.sequence.wrap=e.wrap,Sv({sequence:{wrap:e.wrap}}))},"init")}});var hW,Y6,dW=z(()=>{"use strict";hW=(function(){var e=o(function(qe,Ue,ye,ve){for(ye=ye||{},ve=qe.length;ve--;ye[qe[ve]]=Ue);return ye},"o"),t=[1,18],r=[1,19],i=[1,20],n=[1,41],a=[1,26],s=[1,42],l=[1,24],u=[1,25],h=[1,32],d=[1,33],f=[1,34],p=[1,45],m=[1,35],g=[1,36],y=[1,37],v=[1,38],x=[1,27],b=[1,28],T=[1,29],w=[1,30],C=[1,31],k=[1,44],E=[1,46],A=[1,43],N=[1,47],P=[1,9],I=[1,8,9],D=[1,58],_=[1,59],R=[1,60],M=[1,61],L=[1,62],B=[1,63],O=[1,64],$=[1,8,9,41],G=[1,77],F=[1,8,9,12,13,22,39,41,44,46,68,69,70,71,72,73,74,79,81],V=[1,8,9,12,13,18,20,22,39,41,44,46,47,60,68,69,70,71,72,73,74,79,81,86,100,102,103],H=[13,60,86,100,102,103],j=[13,60,73,74,86,100,102,103],U=[13,60,68,69,70,71,72,86,100,102,103],Q=[1,103],Y=[1,121],ae=[1,117],J=[1,113],te=[1,119],re=[1,114],ee=[1,115],Te=[1,116],ue=[1,118],De=[1,120],Ie=[22,50,60,61,82,86,87,88,89,90],Ee=[1,128],we=[12,39],Me=[1,8,9,39,41,44,46],$e=[1,8,9,22],de=[1,153],rt=[1,8,9,61],ke=[1,8,9,22,50,60,61,82,86,87,88,89,90],Fe={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,classLiteralName:17,DOT:18,className:19,GENERICTYPE:20,relationStatement:21,LABEL:22,namespaceStatement:23,classStatement:24,memberStatement:25,annotationStatement:26,clickStatement:27,styleStatement:28,cssClassStatement:29,noteStatement:30,classDefStatement:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,namespaceIdentifier:38,STRUCT_START:39,classStatements:40,STRUCT_STOP:41,NAMESPACE:42,classIdentifier:43,STYLE_SEPARATOR:44,members:45,ANNOTATION_START:46,ANNOTATION_END:47,CLASS:48,emptyBody:49,SPACE:50,MEMBER:51,SEPARATOR:52,relation:53,NOTE_FOR:54,noteText:55,NOTE:56,CLASSDEF:57,classList:58,stylesOpt:59,ALPHA:60,COMMA:61,direction_tb:62,direction_bt:63,direction_rl:64,direction_lr:65,relationType:66,lineType:67,AGGREGATION:68,EXTENSION:69,COMPOSITION:70,DEPENDENCY:71,LOLLIPOP:72,LINE:73,DOTTED_LINE:74,CALLBACK:75,LINK:76,LINK_TARGET:77,CLICK:78,CALLBACK_NAME:79,CALLBACK_ARGS:80,HREF:81,STYLE:82,CSSCLASS:83,style:84,styleComponent:85,NUM:86,COLON:87,UNIT:88,BRKT:89,PCT:90,commentToken:91,textToken:92,graphCodeTokens:93,textNoTagsToken:94,TAGSTART:95,TAGEND:96,"==":97,"--":98,DEFAULT:99,MINUS:100,keywords:101,UNICODE_TEXT:102,BQUOTE_STR:103,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",18:"DOT",20:"GENERICTYPE",22:"LABEL",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",39:"STRUCT_START",41:"STRUCT_STOP",42:"NAMESPACE",44:"STYLE_SEPARATOR",46:"ANNOTATION_START",47:"ANNOTATION_END",48:"CLASS",50:"SPACE",51:"MEMBER",52:"SEPARATOR",54:"NOTE_FOR",56:"NOTE",57:"CLASSDEF",60:"ALPHA",61:"COMMA",62:"direction_tb",63:"direction_bt",64:"direction_rl",65:"direction_lr",68:"AGGREGATION",69:"EXTENSION",70:"COMPOSITION",71:"DEPENDENCY",72:"LOLLIPOP",73:"LINE",74:"DOTTED_LINE",75:"CALLBACK",76:"LINK",77:"LINK_TARGET",78:"CLICK",79:"CALLBACK_NAME",80:"CALLBACK_ARGS",81:"HREF",82:"STYLE",83:"CSSCLASS",86:"NUM",87:"COLON",88:"UNIT",89:"BRKT",90:"PCT",93:"graphCodeTokens",95:"TAGSTART",96:"TAGEND",97:"==",98:"--",99:"DEFAULT",100:"MINUS",101:"keywords",102:"UNICODE_TEXT",103:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,1],[15,3],[15,2],[19,1],[19,3],[19,1],[19,2],[19,2],[19,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[23,4],[23,5],[38,2],[38,3],[40,1],[40,2],[40,3],[40,1],[40,2],[40,3],[40,1],[40,2],[40,3],[24,1],[24,3],[24,4],[24,3],[24,6],[24,4],[24,7],[24,6],[43,2],[43,3],[49,0],[49,2],[49,2],[26,4],[45,1],[45,2],[25,1],[25,2],[25,1],[25,1],[21,3],[21,4],[21,4],[21,5],[30,3],[30,2],[31,3],[58,1],[58,3],[32,1],[32,1],[32,1],[32,1],[53,3],[53,2],[53,2],[53,1],[66,1],[66,1],[66,1],[66,1],[66,1],[67,1],[67,1],[27,3],[27,4],[27,3],[27,4],[27,4],[27,5],[27,3],[27,4],[27,4],[27,5],[27,4],[27,5],[27,5],[27,6],[28,3],[29,3],[59,1],[59,3],[84,1],[84,2],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[91,1],[91,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[94,1],[94,1],[94,1],[94,1],[16,1],[16,1],[16,1],[16,1],[17,1],[55,1]],performAction:o(function(Ue,ye,ve,ie,fe,W,ce){var K=W.length-1;switch(fe){case 8:this.$=W[K-1];break;case 9:case 10:case 13:case 15:this.$=W[K];break;case 11:case 14:this.$=W[K-2]+"."+W[K];break;case 12:case 16:this.$=W[K-1]+W[K];break;case 17:case 18:this.$=W[K-1]+"~"+W[K]+"~";break;case 19:ie.addRelation(W[K]);break;case 20:W[K-1].title=ie.cleanupLabel(W[K]),ie.addRelation(W[K-1]);break;case 31:this.$=W[K].trim(),ie.setAccTitle(this.$);break;case 32:case 33:this.$=W[K].trim(),ie.setAccDescription(this.$);break;case 34:ie.addClassesToNamespace(W[K-3],W[K-1][0],W[K-1][1]),ie.popNamespace();break;case 35:ie.addClassesToNamespace(W[K-4],W[K-1][0],W[K-1][1]),ie.popNamespace();break;case 36:this.$=ie.addNamespace(W[K]);break;case 37:this.$=ie.addNamespace(W[K-1],W[K]);break;case 38:this.$=[[W[K]],[]];break;case 39:this.$=[[W[K-1]],[]];break;case 40:W[K][0].unshift(W[K-2]),this.$=W[K];break;case 41:this.$=[[],[W[K]]];break;case 42:this.$=[[],[W[K-1]]];break;case 43:W[K][1].unshift(W[K-2]),this.$=W[K];break;case 44:case 45:this.$=[[],[]];break;case 46:this.$=W[K];break;case 48:ie.setCssClass(W[K-2],W[K]);break;case 49:ie.addMembers(W[K-3],W[K-1]);break;case 51:ie.setCssClass(W[K-5],W[K-3]),ie.addMembers(W[K-5],W[K-1]);break;case 52:ie.addAnnotation(W[K-3],W[K-1]);break;case 53:ie.addAnnotation(W[K-6],W[K-4]),ie.addMembers(W[K-6],W[K-1]);break;case 54:ie.addAnnotation(W[K-5],W[K-3]);break;case 55:this.$=W[K],ie.addClass(W[K]);break;case 56:this.$=W[K-1],ie.addClass(W[K-1]),ie.setClassLabel(W[K-1],W[K]);break;case 60:ie.addAnnotation(W[K],W[K-2]);break;case 61:case 74:this.$=[W[K]];break;case 62:W[K].push(W[K-1]),this.$=W[K];break;case 63:break;case 64:ie.addMember(W[K-1],ie.cleanupLabel(W[K]));break;case 65:break;case 66:break;case 67:this.$={id1:W[K-2],id2:W[K],relation:W[K-1],relationTitle1:"none",relationTitle2:"none"};break;case 68:this.$={id1:W[K-3],id2:W[K],relation:W[K-1],relationTitle1:W[K-2],relationTitle2:"none"};break;case 69:this.$={id1:W[K-3],id2:W[K],relation:W[K-2],relationTitle1:"none",relationTitle2:W[K-1]};break;case 70:this.$={id1:W[K-4],id2:W[K],relation:W[K-2],relationTitle1:W[K-3],relationTitle2:W[K-1]};break;case 71:this.$=ie.addNote(W[K],W[K-1]);break;case 72:this.$=ie.addNote(W[K]);break;case 73:this.$=W[K-2],ie.defineClass(W[K-1],W[K]);break;case 75:this.$=W[K-2].concat([W[K]]);break;case 76:ie.setDirection("TB");break;case 77:ie.setDirection("BT");break;case 78:ie.setDirection("RL");break;case 79:ie.setDirection("LR");break;case 80:this.$={type1:W[K-2],type2:W[K],lineType:W[K-1]};break;case 81:this.$={type1:"none",type2:W[K],lineType:W[K-1]};break;case 82:this.$={type1:W[K-1],type2:"none",lineType:W[K]};break;case 83:this.$={type1:"none",type2:"none",lineType:W[K]};break;case 84:this.$=ie.relationType.AGGREGATION;break;case 85:this.$=ie.relationType.EXTENSION;break;case 86:this.$=ie.relationType.COMPOSITION;break;case 87:this.$=ie.relationType.DEPENDENCY;break;case 88:this.$=ie.relationType.LOLLIPOP;break;case 89:this.$=ie.lineType.LINE;break;case 90:this.$=ie.lineType.DOTTED_LINE;break;case 91:case 97:this.$=W[K-2],ie.setClickEvent(W[K-1],W[K]);break;case 92:case 98:this.$=W[K-3],ie.setClickEvent(W[K-2],W[K-1]),ie.setTooltip(W[K-2],W[K]);break;case 93:this.$=W[K-2],ie.setLink(W[K-1],W[K]);break;case 94:this.$=W[K-3],ie.setLink(W[K-2],W[K-1],W[K]);break;case 95:this.$=W[K-3],ie.setLink(W[K-2],W[K-1]),ie.setTooltip(W[K-2],W[K]);break;case 96:this.$=W[K-4],ie.setLink(W[K-3],W[K-2],W[K]),ie.setTooltip(W[K-3],W[K-1]);break;case 99:this.$=W[K-3],ie.setClickEvent(W[K-2],W[K-1],W[K]);break;case 100:this.$=W[K-4],ie.setClickEvent(W[K-3],W[K-2],W[K-1]),ie.setTooltip(W[K-3],W[K]);break;case 101:this.$=W[K-3],ie.setLink(W[K-2],W[K]);break;case 102:this.$=W[K-4],ie.setLink(W[K-3],W[K-1],W[K]);break;case 103:this.$=W[K-4],ie.setLink(W[K-3],W[K-1]),ie.setTooltip(W[K-3],W[K]);break;case 104:this.$=W[K-5],ie.setLink(W[K-4],W[K-2],W[K]),ie.setTooltip(W[K-4],W[K-1]);break;case 105:this.$=W[K-2],ie.setCssStyle(W[K-1],W[K]);break;case 106:ie.setCssClass(W[K-1],W[K]);break;case 107:this.$=[W[K]];break;case 108:W[K-2].push(W[K]),this.$=W[K-2];break;case 110:this.$=W[K-1]+W[K];break}},"anonymous"),table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:t,35:r,37:i,38:22,42:n,43:23,46:a,48:s,51:l,52:u,54:h,56:d,57:f,60:p,62:m,63:g,64:y,65:v,75:x,76:b,78:T,82:w,83:C,86:k,100:E,102:A,103:N},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},e(P,[2,5],{8:[1,48]}),{8:[1,49]},e(I,[2,19],{22:[1,50]}),e(I,[2,21]),e(I,[2,22]),e(I,[2,23]),e(I,[2,24]),e(I,[2,25]),e(I,[2,26]),e(I,[2,27]),e(I,[2,28]),e(I,[2,29]),e(I,[2,30]),{34:[1,51]},{36:[1,52]},e(I,[2,33]),e(I,[2,63],{53:53,66:56,67:57,13:[1,54],22:[1,55],68:D,69:_,70:R,71:M,72:L,73:B,74:O}),{39:[1,65]},e($,[2,47],{39:[1,67],44:[1,66],46:[1,68]}),e(I,[2,65]),e(I,[2,66]),{16:69,60:p,86:k,100:E,102:A},{16:39,17:40,19:70,60:p,86:k,100:E,102:A,103:N},{16:39,17:40,19:71,60:p,86:k,100:E,102:A,103:N},{16:39,17:40,19:72,60:p,86:k,100:E,102:A,103:N},{60:[1,73]},{13:[1,74]},{16:39,17:40,19:75,60:p,86:k,100:E,102:A,103:N},{13:G,55:76},{58:78,60:[1,79]},e(I,[2,76]),e(I,[2,77]),e(I,[2,78]),e(I,[2,79]),e(F,[2,13],{16:39,17:40,19:81,18:[1,80],20:[1,82],60:p,86:k,100:E,102:A,103:N}),e(F,[2,15],{20:[1,83]}),{15:84,16:85,17:86,60:p,86:k,100:E,102:A,103:N},{16:39,17:40,19:87,60:p,86:k,100:E,102:A,103:N},e(V,[2,133]),e(V,[2,134]),e(V,[2,135]),e(V,[2,136]),e([1,8,9,12,13,20,22,39,41,44,46,68,69,70,71,72,73,74,79,81],[2,137]),e(P,[2,6],{10:5,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,19:21,38:22,43:23,16:39,17:40,5:88,33:t,35:r,37:i,42:n,46:a,48:s,51:l,52:u,54:h,56:d,57:f,60:p,62:m,63:g,64:y,65:v,75:x,76:b,78:T,82:w,83:C,86:k,100:E,102:A,103:N}),{5:89,10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:t,35:r,37:i,38:22,42:n,43:23,46:a,48:s,51:l,52:u,54:h,56:d,57:f,60:p,62:m,63:g,64:y,65:v,75:x,76:b,78:T,82:w,83:C,86:k,100:E,102:A,103:N},e(I,[2,20]),e(I,[2,31]),e(I,[2,32]),{13:[1,91],16:39,17:40,19:90,60:p,86:k,100:E,102:A,103:N},{53:92,66:56,67:57,68:D,69:_,70:R,71:M,72:L,73:B,74:O},e(I,[2,64]),{67:93,73:B,74:O},e(H,[2,83],{66:94,68:D,69:_,70:R,71:M,72:L}),e(j,[2,84]),e(j,[2,85]),e(j,[2,86]),e(j,[2,87]),e(j,[2,88]),e(U,[2,89]),e(U,[2,90]),{8:[1,96],23:99,24:97,30:98,38:22,40:95,42:n,43:23,48:s,54:h,56:d},{16:100,60:p,86:k,100:E,102:A},{41:[1,102],45:101,51:Q},{16:104,60:p,86:k,100:E,102:A},{47:[1,105]},{13:[1,106]},{13:[1,107]},{79:[1,108],81:[1,109]},{22:Y,50:ae,59:110,60:J,82:te,84:111,85:112,86:re,87:ee,88:Te,89:ue,90:De},{60:[1,122]},{13:G,55:123},e($,[2,72]),e($,[2,138]),{22:Y,50:ae,59:124,60:J,61:[1,125],82:te,84:111,85:112,86:re,87:ee,88:Te,89:ue,90:De},e(Ie,[2,74]),{16:39,17:40,19:126,60:p,86:k,100:E,102:A,103:N},e(F,[2,16]),e(F,[2,17]),e(F,[2,18]),{11:127,12:Ee,39:[2,36]},e(we,[2,9],{16:85,17:86,15:130,18:[1,129],60:p,86:k,100:E,102:A,103:N}),e(we,[2,10]),e(Me,[2,55],{11:131,12:Ee}),e(P,[2,7]),{9:[1,132]},e($e,[2,67]),{16:39,17:40,19:133,60:p,86:k,100:E,102:A,103:N},{13:[1,135],16:39,17:40,19:134,60:p,86:k,100:E,102:A,103:N},e(H,[2,82],{66:136,68:D,69:_,70:R,71:M,72:L}),e(H,[2,81]),{41:[1,137]},{23:99,24:97,30:98,38:22,40:138,42:n,43:23,48:s,54:h,56:d},{8:[1,139],41:[2,38]},{8:[1,140],41:[2,41]},{8:[1,141],41:[2,44]},e($,[2,48],{39:[1,142]}),{41:[1,143]},e($,[2,50]),{41:[2,61],45:144,51:Q},{47:[1,145]},{16:39,17:40,19:146,60:p,86:k,100:E,102:A,103:N},e(I,[2,91],{13:[1,147]}),e(I,[2,93],{13:[1,149],77:[1,148]}),e(I,[2,97],{13:[1,150],80:[1,151]}),{13:[1,152]},e(I,[2,105],{61:de}),e(rt,[2,107],{85:154,22:Y,50:ae,60:J,82:te,86:re,87:ee,88:Te,89:ue,90:De}),e(ke,[2,109]),e(ke,[2,111]),e(ke,[2,112]),e(ke,[2,113]),e(ke,[2,114]),e(ke,[2,115]),e(ke,[2,116]),e(ke,[2,117]),e(ke,[2,118]),e(ke,[2,119]),e(I,[2,106]),e($,[2,71]),e(I,[2,73],{61:de}),{60:[1,155]},e(F,[2,14]),{39:[2,37]},{13:[1,156]},{15:157,16:85,17:86,60:p,86:k,100:E,102:A,103:N},e(we,[2,12]),e(Me,[2,56]),{1:[2,4]},e($e,[2,69]),e($e,[2,68]),{16:39,17:40,19:158,60:p,86:k,100:E,102:A,103:N},e(H,[2,80]),e($,[2,34]),{41:[1,159]},{23:99,24:97,30:98,38:22,40:160,41:[2,39],42:n,43:23,48:s,54:h,56:d},{23:99,24:97,30:98,38:22,40:161,41:[2,42],42:n,43:23,48:s,54:h,56:d},{23:99,24:97,30:98,38:22,40:162,41:[2,45],42:n,43:23,48:s,54:h,56:d},{45:163,51:Q},e($,[2,49]),{41:[2,62]},e($,[2,52],{39:[1,164]}),e(I,[2,60]),e(I,[2,92]),e(I,[2,94]),e(I,[2,95],{77:[1,165]}),e(I,[2,98]),e(I,[2,99],{13:[1,166]}),e(I,[2,101],{13:[1,168],77:[1,167]}),{22:Y,50:ae,60:J,82:te,84:169,85:112,86:re,87:ee,88:Te,89:ue,90:De},e(ke,[2,110]),e(Ie,[2,75]),{14:[1,170]},e(we,[2,11]),e($e,[2,70]),e($,[2,35]),{41:[2,40]},{41:[2,43]},{41:[2,46]},{41:[1,171]},{41:[1,173],45:172,51:Q},e(I,[2,96]),e(I,[2,100]),e(I,[2,102]),e(I,[2,103],{77:[1,174]}),e(rt,[2,108],{85:154,22:Y,50:ae,60:J,82:te,86:re,87:ee,88:Te,89:ue,90:De}),e(Me,[2,8]),e($,[2,51]),{41:[1,175]},e($,[2,54]),e(I,[2,104]),e($,[2,53])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],127:[2,37],132:[2,4],144:[2,62],160:[2,40],161:[2,43],162:[2,46]},parseError:o(function(Ue,ye){if(ye.recoverable)this.trace(Ue);else{var ve=new Error(Ue);throw ve.hash=ye,ve}},"parseError"),parse:o(function(Ue){var ye=this,ve=[0],ie=[],fe=[null],W=[],ce=this.table,K="",Re=0,xe=0,Oe=0,be=2,Be=1,Ae=W.slice.call(arguments,1),Ve=Object.create(this.lexer),Pe={yy:{}};for(var Ye in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ye)&&(Pe.yy[Ye]=this.yy[Ye]);Ve.setInput(Ue,Pe.yy),Pe.yy.lexer=Ve,Pe.yy.parser=this,typeof Ve.yylloc>"u"&&(Ve.yylloc={});var le=Ve.yylloc;W.push(le);var st=Ve.options&&Ve.options.ranges;typeof Pe.yy.parseError=="function"?this.parseError=Pe.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function me(dt){ve.length=ve.length-2*dt,fe.length=fe.length-dt,W.length=W.length-dt}o(me,"popStack");function ot(){var dt;return dt=ie.pop()||Ve.lex()||Be,typeof dt!="number"&&(dt instanceof Array&&(ie=dt,dt=ie.pop()),dt=ye.symbols_[dt]||dt),dt}o(ot,"lex");for(var kt,Gt,Tt,Et,yt,oe,ht={},gt,et,pe,Qe;;){if(Tt=ve[ve.length-1],this.defaultActions[Tt]?Et=this.defaultActions[Tt]:((kt===null||typeof kt>"u")&&(kt=ot()),Et=ce[Tt]&&ce[Tt][kt]),typeof Et>"u"||!Et.length||!Et[0]){var nt="";Qe=[];for(gt in ce[Tt])this.terminals_[gt]&&gt>be&&Qe.push("'"+this.terminals_[gt]+"'");Ve.showPosition?nt="Parse error on line "+(Re+1)+`:
159
+ `+Ve.showPosition()+`
160
+ Expecting `+Qe.join(", ")+", got '"+(this.terminals_[kt]||kt)+"'":nt="Parse error on line "+(Re+1)+": Unexpected "+(kt==Be?"end of input":"'"+(this.terminals_[kt]||kt)+"'"),this.parseError(nt,{text:Ve.match,token:this.terminals_[kt]||kt,line:Ve.yylineno,loc:le,expected:Qe})}if(Et[0]instanceof Array&&Et.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Tt+", token: "+kt);switch(Et[0]){case 1:ve.push(kt),fe.push(Ve.yytext),W.push(Ve.yylloc),ve.push(Et[1]),kt=null,Gt?(kt=Gt,Gt=null):(xe=Ve.yyleng,K=Ve.yytext,Re=Ve.yylineno,le=Ve.yylloc,Oe>0&&Oe--);break;case 2:if(et=this.productions_[Et[1]][1],ht.$=fe[fe.length-et],ht._$={first_line:W[W.length-(et||1)].first_line,last_line:W[W.length-1].last_line,first_column:W[W.length-(et||1)].first_column,last_column:W[W.length-1].last_column},st&&(ht._$.range=[W[W.length-(et||1)].range[0],W[W.length-1].range[1]]),oe=this.performAction.apply(ht,[K,xe,Re,Pe.yy,Et[1],fe,W].concat(Ae)),typeof oe<"u")return oe;et&&(ve=ve.slice(0,-1*et*2),fe=fe.slice(0,-1*et),W=W.slice(0,-1*et)),ve.push(this.productions_[Et[1]][0]),fe.push(ht.$),W.push(ht._$),pe=ce[ve[ve.length-2]][ve[ve.length-1]],ve.push(pe);break;case 3:return!0}}return!0},"parse")},He=(function(){var qe={EOF:1,parseError:o(function(ye,ve){if(this.yy.parser)this.yy.parser.parseError(ye,ve);else throw new Error(ye)},"parseError"),setInput:o(function(Ue,ye){return this.yy=ye||this.yy||{},this._input=Ue,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},"setInput"),input:o(function(){var Ue=this._input[0];this.yytext+=Ue,this.yyleng++,this.offset++,this.match+=Ue,this.matched+=Ue;var ye=Ue.match(/(?:\r\n?|\n).*/g);return ye?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Ue},"input"),unput:o(function(Ue){var ye=Ue.length,ve=Ue.split(/(?:\r\n?|\n)/g);this._input=Ue+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-ye),this.offset-=ye;var ie=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),ve.length-1&&(this.yylineno-=ve.length-1);var fe=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:ve?(ve.length===ie.length?this.yylloc.first_column:0)+ie[ie.length-ve.length].length-ve[0].length:this.yylloc.first_column-ye},this.options.ranges&&(this.yylloc.range=[fe[0],fe[0]+this.yyleng-ye]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
161
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(Ue){this.unput(this.match.slice(Ue))},"less"),pastInput:o(function(){var Ue=this.matched.substr(0,this.matched.length-this.match.length);return(Ue.length>20?"...":"")+Ue.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var Ue=this.match;return Ue.length<20&&(Ue+=this._input.substr(0,20-Ue.length)),(Ue.substr(0,20)+(Ue.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var Ue=this.pastInput(),ye=new Array(Ue.length+1).join("-");return Ue+this.upcomingInput()+`
162
+ `+ye+"^"},"showPosition"),test_match:o(function(Ue,ye){var ve,ie,fe;if(this.options.backtrack_lexer&&(fe={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&&(fe.yylloc.range=this.yylloc.range.slice(0))),ie=Ue[0].match(/(?:\r\n?|\n).*/g),ie&&(this.yylineno+=ie.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:ie?ie[ie.length-1].length-ie[ie.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Ue[0].length},this.yytext+=Ue[0],this.match+=Ue[0],this.matches=Ue,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(Ue[0].length),this.matched+=Ue[0],ve=this.performAction.call(this,this.yy,this,ye,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),ve)return ve;if(this._backtrack){for(var W in fe)this[W]=fe[W];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Ue,ye,ve,ie;this._more||(this.yytext="",this.match="");for(var fe=this._currentRules(),W=0;W<fe.length;W++)if(ve=this._input.match(this.rules[fe[W]]),ve&&(!ye||ve[0].length>ye[0].length)){if(ye=ve,ie=W,this.options.backtrack_lexer){if(Ue=this.test_match(ve,fe[W]),Ue!==!1)return Ue;if(this._backtrack){ye=!1;continue}else return!1}else if(!this.options.flex)break}return ye?(Ue=this.test_match(ye,fe[ie]),Ue!==!1?Ue:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
163
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var ye=this.next();return ye||this.lex()},"lex"),begin:o(function(ye){this.conditionStack.push(ye)},"begin"),popState:o(function(){var ye=this.conditionStack.length-1;return ye>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(ye){return ye=this.conditionStack.length-1-Math.abs(ye||0),ye>=0?this.conditionStack[ye]:"INITIAL"},"topState"),pushState:o(function(ye){this.begin(ye)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:o(function(ye,ve,ie,fe){var W=fe;switch(ie){case 0:return 62;case 1:return 63;case 2:return 64;case 3:return 65;case 4:break;case 5:break;case 6:return this.begin("acc_title"),33;break;case 7:return this.popState(),"acc_title_value";break;case 8:return this.begin("acc_descr"),35;break;case 9:return this.popState(),"acc_descr_value";break;case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 8;case 14:break;case 15:return 7;case 16:return 7;case 17:return"EDGE_STATE";case 18:this.begin("callback_name");break;case 19:this.popState();break;case 20:this.popState(),this.begin("callback_args");break;case 21:return 79;case 22:this.popState();break;case 23:return 80;case 24:this.popState();break;case 25:return"STR";case 26:this.begin("string");break;case 27:return 82;case 28:return 57;case 29:return this.begin("namespace"),42;break;case 30:return this.popState(),8;break;case 31:break;case 32:return this.begin("namespace-body"),39;break;case 33:this.popState(),this.less(0);break;case 34:return this.popState(),41;break;case 35:return"EOF_IN_STRUCT";case 36:return 8;case 37:break;case 38:return"EDGE_STATE";case 39:return this.begin("class"),48;break;case 40:return this.popState(),8;break;case 41:break;case 42:return this.popState(),this.popState(),41;break;case 43:return this.begin("class-body"),39;break;case 44:return this.popState(),41;break;case 45:return"EOF_IN_STRUCT";case 46:return"EDGE_STATE";case 47:return"OPEN_IN_STRUCT";case 48:break;case 49:return"MEMBER";case 50:return 83;case 51:return 75;case 52:return 76;case 53:return 78;case 54:return 54;case 55:return 56;case 56:return 46;case 57:return 47;case 58:return 81;case 59:this.popState();break;case 60:return"GENERICTYPE";case 61:this.begin("generic");break;case 62:this.popState();break;case 63:return"BQUOTE_STR";case 64:this.begin("bqstring");break;case 65:return 77;case 66:return 77;case 67:return 77;case 68:return 77;case 69:return 69;case 70:return 69;case 71:return 71;case 72:return 71;case 73:return 70;case 74:return 68;case 75:return 72;case 76:return 73;case 77:return 74;case 78:return 22;case 79:return 44;case 80:return 100;case 81:return 18;case 82:return"PLUS";case 83:return 87;case 84:return 61;case 85:return 89;case 86:return 89;case 87:return 90;case 88:return"EQUALS";case 89:return"EQUALS";case 90:return 60;case 91:return 12;case 92:return 14;case 93:return"PUNCTUATION";case 94:return 86;case 95:return 102;case 96:return 50;case 97:return 50;case 98:return 9}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:\[\*\])/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:["])/,/^(?:[^"]*)/,/^(?:["])/,/^(?:style\b)/,/^(?:classDef\b)/,/^(?:namespace\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[{])/,/^(?:[}])/,/^(?:[}])/,/^(?:$)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:\[\*\])/,/^(?:class\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[}])/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\[\*\])/,/^(?:[{])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:note for\b)/,/^(?:note\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:href\b)/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:~)/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:[`])/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:\s*\(\))/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?::)/,/^(?:,)/,/^(?:#)/,/^(?:#)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\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)/,/^(?:\s)/,/^(?:$)/],conditions:{"namespace-body":{rules:[26,29,34,35,36,37,38,39,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},namespace:{rules:[26,29,30,31,32,33,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},"class-body":{rules:[26,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},class:{rules:[26,40,41,42,43,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},acc_descr_multiline:{rules:[11,12,26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},acc_descr:{rules:[9,26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},acc_title:{rules:[7,26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},callback_args:{rules:[22,23,26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},callback_name:{rules:[19,20,21,26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},href:{rules:[26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},struct:{rules:[26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},generic:{rules:[26,50,51,52,53,54,55,56,57,58,59,60,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},bqstring:{rules:[26,50,51,52,53,54,55,56,57,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},string:{rules:[24,25,26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,26,27,28,29,39,50,51,52,53,54,55,56,57,58,61,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],inclusive:!0}}};return qe})();Fe.lexer=He;function at(){this.yy={}}return o(at,"Parser"),at.prototype=Fe,Fe.Parser=at,new at})();hW.parser=hW;Y6=hW});var w6e,ZT,S6e=z(()=>{"use strict";Ut();Ir();w6e=["#","+","~","-",""],ZT=class{static{o(this,"ClassMember")}constructor(t,r){this.memberType=r,this.visibility="",this.classifier="",this.text="";let i=fr(t,ge());this.parseMember(i)}getDisplayDetails(){let t=this.visibility+cc(this.id);this.memberType==="method"&&(t+=`(${cc(this.parameters.trim())})`,this.returnType&&(t+=" : "+cc(this.returnType))),t=t.trim();let r=this.parseClassifier();return{displayText:t,cssStyle:r}}parseMember(t){let r="";if(this.memberType==="method"){let a=/([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/.exec(t);if(a){let s=a[1]?a[1].trim():"";if(w6e.includes(s)&&(this.visibility=s),this.id=a[2],this.parameters=a[3]?a[3].trim():"",r=a[4]?a[4].trim():"",this.returnType=a[5]?a[5].trim():"",r===""){let l=this.returnType.substring(this.returnType.length-1);/[$*]/.exec(l)&&(r=l,this.returnType=this.returnType.substring(0,this.returnType.length-1))}}}else{let n=t.length,a=t.substring(0,1),s=t.substring(n-1);w6e.includes(a)&&(this.visibility=a),/[$*]/.exec(s)&&(r=s),this.id=t.substring(this.visibility===""?0:1,r===""?n:n-1)}this.classifier=r,this.id=this.id.startsWith(" ")?" "+this.id.trim():this.id.trim();let i=`${this.visibility?"\\"+this.visibility:""}${cc(this.id)}${this.memberType==="method"?`(${cc(this.parameters)})${this.returnType?" : "+cc(this.returnType):""}`:""}`;this.text=i.replaceAll("<","&lt;").replaceAll(">","&gt;"),this.text.startsWith("\\&lt;")&&(this.text=this.text.replace("\\&lt;","~"))}parseClassifier(){switch(this.classifier){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}}}});var j6,E6e,vm,Cy,fW=z(()=>{"use strict";Rr();St();Ut();Ir();Xt();Ci();gp();S6e();uv();j6="classId-",E6e=0,vm=o(e=>vt.sanitizeText(e,ge()),"sanitizeText"),Cy=class e{constructor(){this.relations=[];this.classes=new Map;this.styleClasses=new Map;this.notes=new Map;this.interfaces=[];this.namespaces=new Map;this.namespaceCounter=0;this.namespaceStack=[];this.diagramId="";this.functions=[];this.lineType={LINE:0,DOTTED_LINE:1};this.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3,LOLLIPOP:4};this.setupToolTips=o(t=>{let r=zw();Je(t).select("svg").selectAll("g").filter(function(){return Je(this).attr("title")!==null}).on("mouseover",a=>{let s=Je(a.currentTarget),l=s.attr("title");if(!l)return;let u=a.currentTarget.getBoundingClientRect();r.transition().duration(200).style("opacity",".9"),r.html(Ro.sanitize(l)).style("left",`${window.scrollX+u.left+u.width/2}px`).style("top",`${window.scrollY+u.bottom+4}px`),s.classed("hover",!0)}).on("mouseout",a=>{r.transition().duration(500).style("opacity",0),Je(a.currentTarget).classed("hover",!1)})},"setupToolTips");this.direction="TB";this.setAccTitle=Cr;this.getAccTitle=kr;this.setAccDescription=wr;this.getAccDescription=Sr;this.setDiagramTitle=Ar;this.getDiagramTitle=Er;this.getConfig=o(()=>ge().class,"getConfig");this.functions.push(this.setupToolTips.bind(this)),this.clear(),this.addRelation=this.addRelation.bind(this),this.addClassesToNamespace=this.addClassesToNamespace.bind(this),this.addNamespace=this.addNamespace.bind(this),this.popNamespace=this.popNamespace.bind(this),this.setCssClass=this.setCssClass.bind(this),this.addMembers=this.addMembers.bind(this),this.addClass=this.addClass.bind(this),this.setClassLabel=this.setClassLabel.bind(this),this.addAnnotation=this.addAnnotation.bind(this),this.addMember=this.addMember.bind(this),this.cleanupLabel=this.cleanupLabel.bind(this),this.addNote=this.addNote.bind(this),this.defineClass=this.defineClass.bind(this),this.setDirection=this.setDirection.bind(this),this.setLink=this.setLink.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.clear=this.clear.bind(this),this.setTooltip=this.setTooltip.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setCssStyle=this.setCssStyle.bind(this)}static{o(this,"ClassDB")}splitClassNameAndType(t){let r=vt.sanitizeText(t,ge()),i="",n=r;if(r.indexOf("~")>0){let a=r.split("~");n=vm(a[0]),i=vm(a[1])}return{className:n,type:i}}setClassLabel(t,r){let i=vt.sanitizeText(t,ge());r&&(r=vm(r));let{className:n}=this.splitClassNameAndType(i);this.classes.get(n).label=r,this.classes.get(n).text=`${r}${this.classes.get(n).type?`<${this.classes.get(n).type}>`:""}`}addClass(t){let r=vt.sanitizeText(t,ge()),{className:i,type:n}=this.splitClassNameAndType(r);if(this.classes.has(i))return;let a=vt.sanitizeText(i,ge());this.classes.set(a,{id:a,type:n,label:a,text:`${a}${n?`&lt;${n}&gt;`:""}`,shape:"classBox",cssClasses:"default",methods:[],members:[],annotations:[],styles:[],domId:j6+a+"-"+E6e}),E6e++}addInterface(t,r){let i={id:`interface${this.interfaces.length}`,label:t,classId:r};this.interfaces.push(i)}setDiagramId(t){this.diagramId=t}lookUpDomId(t){let r=vt.sanitizeText(t,ge());if(this.classes.has(r)){let i=this.classes.get(r).domId;return this.diagramId?`${this.diagramId}-${i}`:i}throw new Error("Class not found: "+r)}clear(){this.relations=[],this.classes=new Map,this.notes=new Map,this.interfaces=[],this.functions=[],this.functions.push(this.setupToolTips.bind(this)),this.namespaces=new Map,this.namespaceCounter=0,this.namespaceStack=[],this.diagramId="",this.direction="TB",gr()}getClass(t){return this.classes.get(t)}getClasses(){return this.classes}getRelations(){return this.relations}getNote(t){let r=typeof t=="number"?`note${t}`:t;return this.notes.get(r)}getNotes(){return this.notes}addRelation(t){Z.debug("Adding relation: "+JSON.stringify(t));let r=[this.relationType.LOLLIPOP,this.relationType.AGGREGATION,this.relationType.COMPOSITION,this.relationType.DEPENDENCY,this.relationType.EXTENSION];t.relation.type1===this.relationType.LOLLIPOP&&!r.includes(t.relation.type2)?(this.addClass(t.id2),this.addInterface(t.id1,t.id2),t.id1=`interface${this.interfaces.length-1}`):t.relation.type2===this.relationType.LOLLIPOP&&!r.includes(t.relation.type1)?(this.addClass(t.id1),this.addInterface(t.id2,t.id1),t.id2=`interface${this.interfaces.length-1}`):(this.addClass(t.id1),this.addClass(t.id2)),t.id1=this.splitClassNameAndType(t.id1).className,t.id2=this.splitClassNameAndType(t.id2).className,t.relationTitle1=vt.sanitizeText(t.relationTitle1.trim(),ge()),t.relationTitle2=vt.sanitizeText(t.relationTitle2.trim(),ge()),this.relations.push(t)}addAnnotation(t,r){let i=this.splitClassNameAndType(t).className;this.classes.get(i).annotations.push(r)}addMember(t,r){this.addClass(t);let i=this.splitClassNameAndType(t).className,n=this.classes.get(i);if(typeof r=="string"){let a=r.trim();a.startsWith("<<")&&a.endsWith(">>")?n.annotations.push(vm(a.substring(2,a.length-2))):a.indexOf(")")>0?n.methods.push(new ZT(a,"method")):a&&n.members.push(new ZT(a,"attribute"))}}addMembers(t,r){Array.isArray(r)&&(r.reverse(),r.forEach(i=>this.addMember(t,i)))}addNote(t,r){let i=this.notes.size,n={id:`note${i}`,class:r,text:t,index:i};return this.notes.set(n.id,n),n.id}cleanupLabel(t){return t.startsWith(":")&&(t=t.substring(1)),vm(t.trim())}setCssClass(t,r){t.split(",").forEach(i=>{let n=i;/\d/.exec(i[0])&&(n=j6+n);let a=this.classes.get(n);a&&(a.cssClasses+=" "+r)})}defineClass(t,r){for(let i of t){let n=this.styleClasses.get(i);n===void 0&&(n={id:i,styles:[],textStyles:[]},this.styleClasses.set(i,n)),r&&r.forEach(a=>{if(/color/.exec(a)){let s=a.replace("fill","bgFill");n.textStyles.push(s)}n.styles.push(a)}),this.classes.forEach(a=>{a.cssClasses.includes(i)&&a.styles.push(...r.flatMap(s=>s.split(",")))})}}setTooltip(t,r){t.split(",").forEach(i=>{r!==void 0&&(this.classes.get(i).tooltip=vm(r))})}getTooltip(t,r){return r&&this.namespaces.has(r)?this.namespaces.get(r).classes.get(t).tooltip:this.classes.get(t).tooltip}setLink(t,r,i){let n=ge();t.split(",").forEach(a=>{let s=a;/\d/.exec(a[0])&&(s=j6+s);let l=this.classes.get(s);l&&(l.link=Zt.formatUrl(r,n),n.securityLevel==="sandbox"?l.linkTarget="_top":typeof i=="string"?l.linkTarget=vm(i):l.linkTarget="_blank")}),this.setCssClass(t,"clickable")}setClickEvent(t,r,i){t.split(",").forEach(n=>{this.setClickFunc(n,r,i),this.classes.get(n).haveCallback=!0}),this.setCssClass(t,"clickable")}setClickFunc(t,r,i){let n=vt.sanitizeText(t,ge());if(ge().securityLevel!=="loose"||r===void 0)return;let s=n;if(this.classes.has(s)){let l=[];if(typeof i=="string"){l=i.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let u=0;u<l.length;u++){let h=l[u].trim();h.startsWith('"')&&h.endsWith('"')&&(h=h.substr(1,h.length-2)),l[u]=h}}l.length===0&&l.push(s),this.functions.push(()=>{let u=this.lookUpDomId(s),h=document.querySelector(`[id="${u}"]`);h!==null&&h.addEventListener("click",()=>{Zt.runFunc(r,...l)},!1)})}}bindFunctions(t){this.functions.forEach(r=>{r(t)})}escapeHtml(t){return t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}getDirection(){return this.direction}setDirection(t){this.direction=t}static resolveQualifiedId(t,r){let i=r.at(-1);return i?`${i}.${t}`:t}static getAncestorIds(t){let r=t.split("."),i=new Array(r.length);i[0]=r[0];for(let n=1;n<r.length;n++)i[n]=`${i[n-1]}.${r[n]}`;return i}createNamespaceNode(t,r,i,n=!1){return{id:t,label:r,classes:new Map,notes:new Map,children:new Map,domId:j6+t+"-"+this.namespaceCounter++,parent:i,explicit:n}}linkParentChild(t,r){let i=this.namespaces.get(t),n=this.namespaces.get(r);!i||!n||(i.children.has(r)||i.children.set(r,n),n.parent??=t)}addNamespace(t,r){let i=e.resolveQualifiedId(t,this.namespaceStack);if(this.namespaceStack.push(i),this.namespaces.has(i)){let s=this.namespaces.get(i);return s.explicit=!0,r&&(s.label=r),i}let n=i.split("."),a=e.getAncestorIds(i);for(let s=0;s<a.length;s++){let l=a[s],u=s>0?a[s-1]:void 0,h=s===a.length-1,d=h&&r?r:n[s];this.namespaces.has(l)?h&&(this.namespaces.get(l).explicit=!0):this.namespaces.set(l,this.createNamespaceNode(l,d,u,h)),u&&this.linkParentChild(u,l)}return i}popNamespace(){this.namespaceStack.pop()}getNamespace(t){return this.namespaces.get(t)}getNamespaces(){return this.namespaces}addClassesToNamespace(t,r,i){if(this.namespaces.has(t)){for(let n of r){let{className:a}=this.splitClassNameAndType(n),s=this.getClass(a);s.parent=t,this.namespaces.get(t).classes.set(a,s)}for(let n of i){let a=this.getNote(n);a.parent=t,this.namespaces.get(t).notes.set(n,a)}}}setCssStyle(t,r){let i=this.classes.get(t);if(!(!r||!i))for(let n of r)n.includes(",")?i.styles.push(...n.split(",")):i.styles.push(n)}getArrowMarker(t){let r;switch(t){case 0:r="aggregation";break;case 1:r="extension";break;case 2:r="composition";break;case 3:r="dependency";break;case 4:r="lollipop";break;default:r="none"}return r}resolveExplicitAncestor(t){let r=t;for(;r;){let i=this.namespaces.get(r);if(!i)return;if(i.explicit)return r;r=i.parent}}getData(){let t=[],r=[],i=ge(),n=i.class?.hierarchicalNamespaces??!0;for(let s of this.namespaces.values()){if(!n&&!s.explicit)continue;let l={id:s.id,label:n?s.label:s.id,isGroup:!0,padding:i.class.padding??16,shape:"rect",cssStyles:[],look:i.look,parentId:n?s.parent:void 0};t.push(l)}for(let s of this.classes.values()){let l=n?s.parent:this.resolveExplicitAncestor(s.parent),u={...s,type:void 0,isGroup:!1,parentId:l,look:i.look};t.push(u)}for(let s of this.notes.values()){let l=n?s.parent:this.resolveExplicitAncestor(s.parent),u={id:s.id,label:s.text,isGroup:!1,shape:"note",padding:i.class.padding??6,cssStyles:["text-align: left","white-space: nowrap",`fill: ${i.themeVariables.noteBkgColor}`,`stroke: ${i.themeVariables.noteBorderColor}`],look:i.look,parentId:l,labelType:"markdown"};t.push(u);let h=this.classes.get(s.class)?.id;if(h){let d={id:`edgeNote${s.index}`,start:s.id,end:h,type:"normal",thickness:"normal",classes:"relation",arrowTypeStart:"none",arrowTypeEnd:"none",arrowheadStyle:"",labelStyle:[""],style:["fill: none"],pattern:"dotted",look:i.look};r.push(d)}}for(let s of this.interfaces){let l={id:s.id,label:s.label,isGroup:!1,shape:"rect",cssStyles:["opacity: 0;"],look:i.look};t.push(l)}let a=0;for(let s of this.relations){a++;let l={id:bc(s.id1,s.id2,{prefix:"id",counter:a}),start:s.id1,end:s.id2,type:"normal",label:s.title,labelpos:"c",thickness:"normal",classes:"relation",arrowTypeStart:this.getArrowMarker(s.relation.type1),arrowTypeEnd:this.getArrowMarker(s.relation.type2),startLabelRight:s.relationTitle1==="none"?"":s.relationTitle1,endLabelLeft:s.relationTitle2==="none"?"":s.relationTitle2,arrowheadStyle:"",labelStyle:["display: inline-block"],style:s.style||"",pattern:s.relation.lineType==1?"dashed":"solid",look:i.look,labelType:"markdown"};r.push(l)}return{nodes:t,edges:r,other:{},config:i,direction:this.getDirection()}}}});var TCt,X6,pW=z(()=>{"use strict";k1();TCt=o(e=>`g.classGroup text {
164
+ fill: ${e.nodeBorder||e.classText};
165
+ stroke: none;
166
+ font-family: ${e.fontFamily};
167
+ font-size: 10px;
168
+
169
+ .title {
170
+ font-weight: bolder;
171
+ }
172
+
173
+ }
174
+
175
+ .cluster-label text {
176
+ fill: ${e.titleColor};
177
+ }
178
+ .cluster-label span {
179
+ color: ${e.titleColor};
180
+ }
181
+ .cluster-label span p {
182
+ background-color: transparent;
183
+ }
184
+
185
+ .cluster rect {
186
+ fill: ${e.clusterBkg};
187
+ stroke: ${e.clusterBorder};
188
+ stroke-width: 1px;
189
+ }
190
+
191
+ .cluster text {
192
+ fill: ${e.titleColor};
193
+ }
194
+
195
+ .cluster span {
196
+ color: ${e.titleColor};
197
+ }
198
+
199
+ .nodeLabel, .edgeLabel {
200
+ color: ${e.classText};
201
+ }
202
+
203
+ .noteLabel .nodeLabel, .noteLabel .edgeLabel {
204
+ color: ${e.noteTextColor};
205
+ }
206
+ .edgeLabel .label rect {
207
+ fill: ${e.mainBkg};
208
+ }
209
+ .label text {
210
+ fill: ${e.classText};
211
+ }
212
+
213
+ .labelBkg {
214
+ background: ${e.mainBkg};
215
+ }
216
+ .edgeLabel .label span {
217
+ background: ${e.mainBkg};
218
+ }
219
+
220
+ .classTitle {
221
+ font-weight: bolder;
222
+ }
223
+ .node rect,
224
+ .node circle,
225
+ .node ellipse,
226
+ .node polygon,
227
+ .node path {
228
+ fill: ${e.mainBkg};
229
+ stroke: ${e.nodeBorder};
230
+ stroke-width: ${e.strokeWidth};
231
+ }
232
+
233
+
234
+ .divider {
235
+ stroke: ${e.nodeBorder};
236
+ stroke-width: 1;
237
+ }
238
+
239
+ g.clickable {
240
+ cursor: pointer;
241
+ }
242
+
243
+ g.classGroup rect {
244
+ fill: ${e.mainBkg};
245
+ stroke: ${e.nodeBorder};
246
+ }
247
+
248
+ g.classGroup line {
249
+ stroke: ${e.nodeBorder};
250
+ stroke-width: 1;
251
+ }
252
+
253
+ .classLabel .box {
254
+ stroke: none;
255
+ stroke-width: 0;
256
+ fill: ${e.mainBkg};
257
+ opacity: 0.5;
258
+ }
259
+
260
+ .classLabel .label {
261
+ fill: ${e.nodeBorder};
262
+ font-size: 10px;
263
+ }
264
+
265
+ .relation {
266
+ stroke: ${e.lineColor};
267
+ stroke-width: ${e.strokeWidth};
268
+ fill: none;
269
+ }
270
+
271
+ .dashed-line{
272
+ stroke-dasharray: 3;
273
+ }
274
+
275
+ .dotted-line{
276
+ stroke-dasharray: 1 2;
277
+ }
278
+
279
+ [id$="-compositionStart"], .composition {
280
+ fill: ${e.lineColor} !important;
281
+ stroke: ${e.lineColor} !important;
282
+ stroke-width: 1;
283
+ }
284
+
285
+ [id$="-compositionEnd"], .composition {
286
+ fill: ${e.lineColor} !important;
287
+ stroke: ${e.lineColor} !important;
288
+ stroke-width: 1;
289
+ }
290
+
291
+ [id$="-dependencyStart"], .dependency {
292
+ fill: ${e.lineColor} !important;
293
+ stroke: ${e.lineColor} !important;
294
+ stroke-width: 1;
295
+ }
296
+
297
+ [id$="-dependencyEnd"], .dependency {
298
+ fill: ${e.lineColor} !important;
299
+ stroke: ${e.lineColor} !important;
300
+ stroke-width: 1;
301
+ }
302
+
303
+ [id$="-extensionStart"], .extension {
304
+ fill: transparent !important;
305
+ stroke: ${e.lineColor} !important;
306
+ stroke-width: 1;
307
+ }
308
+
309
+ [id$="-extensionEnd"], .extension {
310
+ fill: transparent !important;
311
+ stroke: ${e.lineColor} !important;
312
+ stroke-width: 1;
313
+ }
314
+
315
+ [id$="-aggregationStart"], .aggregation {
316
+ fill: transparent !important;
317
+ stroke: ${e.lineColor} !important;
318
+ stroke-width: 1;
319
+ }
320
+
321
+ [id$="-aggregationEnd"], .aggregation {
322
+ fill: transparent !important;
323
+ stroke: ${e.lineColor} !important;
324
+ stroke-width: 1;
325
+ }
326
+
327
+ [id$="-lollipopStart"], .lollipop {
328
+ fill: ${e.mainBkg} !important;
329
+ stroke: ${e.lineColor} !important;
330
+ stroke-width: 1;
331
+ }
332
+
333
+ [id$="-lollipopEnd"], .lollipop {
334
+ fill: ${e.mainBkg} !important;
335
+ stroke: ${e.lineColor} !important;
336
+ stroke-width: 1;
337
+ }
338
+
339
+ .edgeTerminals {
340
+ font-size: 11px;
341
+ line-height: initial;
342
+ }
343
+
344
+ .classTitleText {
345
+ text-anchor: middle;
346
+ font-size: 18px;
347
+ fill: ${e.textColor};
348
+ }
349
+
350
+ .edgeLabel[data-look="neo"] {
351
+ background-color: ${e.edgeLabelBackground};
352
+ p {
353
+ background-color: ${e.edgeLabelBackground};
354
+ }
355
+ rect {
356
+ opacity: 0.5;
357
+ background-color: ${e.edgeLabelBackground};
358
+ fill: ${e.edgeLabelBackground};
359
+ }
360
+ text-align: center;
361
+ }
362
+ ${Vc()}
363
+ `,"getStyles"),X6=TCt});var CCt,kCt,wCt,K6,mW=z(()=>{"use strict";Ut();St();Lp();tf();rf();Xt();CCt=o((e,t="TB")=>{if(!e.doc)return t;let r=t;for(let i of e.doc)i.stmt==="dir"&&(r=i.value);return r},"getDir"),kCt=o(function(e,t){return t.db.getClasses()},"getClasses"),wCt=o(async function(e,t,r,i){Z.info("REF0:"),Z.info("Drawing class diagram (v3)",t);let{securityLevel:n,state:a,layout:s}=ge();i.db.setDiagramId(t);let l=i.db.getData(),u=Fo(t,n);l.type=i.type,l.layoutAlgorithm=Gc(s),l.nodeSpacing=a?.nodeSpacing||50,l.rankSpacing=a?.rankSpacing||50,l.markers=["aggregation","extension","composition","dependency","lollipop"],l.diagramId=t,await Zo(l,u);let h=8;Zt.insertTitle(u,"classDiagramTitleText",a?.titleTopMargin??25,i.db.getDiagramTitle()),$s(u,h,"classDiagram",a?.useMaxWidth??!0)},"draw"),K6={getClasses:kCt,draw:wCt,getDir:CCt}});var A6e={};xr(A6e,{diagram:()=>SCt});var SCt,_6e=z(()=>{"use strict";dW();fW();pW();mW();SCt={parser:Y6,get db(){return new Cy},renderer:K6,styles:X6,init:o(e=>{e.class||(e.class={}),e.class.arrowMarkerAbsolute=e.arrowMarkerAbsolute},"init")}});var L6e={};xr(L6e,{diagram:()=>DCt});var DCt,M6e=z(()=>{"use strict";dW();fW();pW();mW();DCt={parser:Y6,get db(){return new Cy},renderer:K6,styles:X6,init:o(e=>{e.class||(e.class={}),e.class.arrowMarkerAbsolute=e.arrowMarkerAbsolute},"init")}});var gW,Z6,yW=z(()=>{"use strict";gW=(function(){var e=o(function($,G,F,V){for(F=F||{},V=$.length;V--;F[$[V]]=G);return F},"o"),t=[1,2],r=[1,3],i=[1,4],n=[2,4],a=[1,9],s=[1,11],l=[1,16],u=[1,17],h=[1,18],d=[1,19],f=[1,33],p=[1,20],m=[1,21],g=[1,22],y=[1,23],v=[1,24],x=[1,26],b=[1,27],T=[1,28],w=[1,29],C=[1,30],k=[1,31],E=[1,32],A=[1,35],N=[1,36],P=[1,37],I=[1,38],D=[1,34],_=[1,4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],R=[1,4,5,14,15,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,39,40,41,45,48,51,52,53,54,57],M=[4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],L={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,styleStatement:11,cssClassStatement:12,idStatement:13,DESCR:14,"-->":15,HIDE_EMPTY:16,scale:17,WIDTH:18,COMPOSIT_STATE:19,STRUCT_START:20,STRUCT_STOP:21,STATE_DESCR:22,AS:23,ID:24,FORK:25,JOIN:26,CHOICE:27,CONCURRENT:28,note:29,notePosition:30,NOTE_TEXT:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,CLICK:38,STRING:39,HREF:40,classDef:41,CLASSDEF_ID:42,CLASSDEF_STYLEOPTS:43,DEFAULT:44,style:45,STYLE_IDS:46,STYLEDEF_STYLEOPTS:47,class:48,CLASSENTITY_IDS:49,STYLECLASS:50,direction_tb:51,direction_bt:52,direction_rl:53,direction_lr:54,eol:55,";":56,EDGE_STATE:57,STYLE_SEPARATOR:58,left_of:59,right_of:60,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",14:"DESCR",15:"-->",16:"HIDE_EMPTY",17:"scale",18:"WIDTH",19:"COMPOSIT_STATE",20:"STRUCT_START",21:"STRUCT_STOP",22:"STATE_DESCR",23:"AS",24:"ID",25:"FORK",26:"JOIN",27:"CHOICE",28:"CONCURRENT",29:"note",31:"NOTE_TEXT",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",38:"CLICK",39:"STRING",40:"HREF",41:"classDef",42:"CLASSDEF_ID",43:"CLASSDEF_STYLEOPTS",44:"DEFAULT",45:"style",46:"STYLE_IDS",47:"STYLEDEF_STYLEOPTS",48:"class",49:"CLASSENTITY_IDS",50:"STYLECLASS",51:"direction_tb",52:"direction_bt",53:"direction_rl",54:"direction_lr",56:";",57:"EDGE_STATE",58:"STYLE_SEPARATOR",59:"left_of",60:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,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,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[9,5],[9,5],[10,3],[10,3],[11,3],[12,3],[32,1],[32,1],[32,1],[32,1],[55,1],[55,1],[13,1],[13,1],[13,3],[13,3],[30,1],[30,1]],performAction:o(function(G,F,V,H,j,U,Q){var Y=U.length-1;switch(j){case 3:return H.setRootDoc(U[Y]),U[Y];break;case 4:this.$=[];break;case 5:U[Y]!="nl"&&(U[Y-1].push(U[Y]),this.$=U[Y-1]);break;case 6:case 7:this.$=U[Y];break;case 8:this.$="nl";break;case 12:this.$=U[Y];break;case 13:let re=U[Y-1];re.description=H.trimColon(U[Y]),this.$=re;break;case 14:this.$={stmt:"relation",state1:U[Y-2],state2:U[Y]};break;case 15:let ee=H.trimColon(U[Y]);this.$={stmt:"relation",state1:U[Y-3],state2:U[Y-1],description:ee};break;case 19:this.$={stmt:"state",id:U[Y-3],type:"default",description:"",doc:U[Y-1]};break;case 20:var ae=U[Y],J=U[Y-2].trim();if(U[Y].match(":")){var te=U[Y].split(":");ae=te[0],J=[J,te[1]]}this.$={stmt:"state",id:ae,type:"default",description:J};break;case 21:this.$={stmt:"state",id:U[Y-3],type:"default",description:U[Y-5],doc:U[Y-1]};break;case 22:this.$={stmt:"state",id:U[Y],type:"fork"};break;case 23:this.$={stmt:"state",id:U[Y],type:"join"};break;case 24:this.$={stmt:"state",id:U[Y],type:"choice"};break;case 25:this.$={stmt:"state",id:H.getDividerId(),type:"divider"};break;case 26:this.$={stmt:"state",id:U[Y-1].trim(),note:{position:U[Y-2].trim(),text:U[Y].trim()}};break;case 29:this.$=U[Y].trim(),H.setAccTitle(this.$);break;case 30:case 31:this.$=U[Y].trim(),H.setAccDescription(this.$);break;case 32:this.$={stmt:"click",id:U[Y-3],url:U[Y-2],tooltip:U[Y-1]};break;case 33:this.$={stmt:"click",id:U[Y-3],url:U[Y-1],tooltip:""};break;case 34:case 35:this.$={stmt:"classDef",id:U[Y-1].trim(),classes:U[Y].trim()};break;case 36:this.$={stmt:"style",id:U[Y-1].trim(),styleClass:U[Y].trim()};break;case 37:this.$={stmt:"applyClass",id:U[Y-1].trim(),styleClass:U[Y].trim()};break;case 38:H.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 39:H.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 40:H.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 41:H.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 44:case 45:this.$={stmt:"state",id:U[Y].trim(),type:"default",description:""};break;case 46:this.$={stmt:"state",id:U[Y-2].trim(),classes:[U[Y].trim()],type:"default",description:""};break;case 47:this.$={stmt:"state",id:U[Y-2].trim(),classes:[U[Y].trim()],type:"default",description:""};break}},"anonymous"),table:[{3:1,4:t,5:r,6:i},{1:[3]},{3:5,4:t,5:r,6:i},{3:6,4:t,5:r,6:i},e([1,4,5,16,17,19,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],n,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:s,8:8,9:10,10:12,11:13,12:14,13:15,16:l,17:u,19:h,22:d,24:f,25:p,26:m,27:g,28:y,29:v,32:25,33:x,35:b,37:T,38:w,41:C,45:k,48:E,51:A,52:N,53:P,54:I,57:D},e(_,[2,5]),{9:39,10:12,11:13,12:14,13:15,16:l,17:u,19:h,22:d,24:f,25:p,26:m,27:g,28:y,29:v,32:25,33:x,35:b,37:T,38:w,41:C,45:k,48:E,51:A,52:N,53:P,54:I,57:D},e(_,[2,7]),e(_,[2,8]),e(_,[2,9]),e(_,[2,10]),e(_,[2,11]),e(_,[2,12],{14:[1,40],15:[1,41]}),e(_,[2,16]),{18:[1,42]},e(_,[2,18],{20:[1,43]}),{23:[1,44]},e(_,[2,22]),e(_,[2,23]),e(_,[2,24]),e(_,[2,25]),{30:45,31:[1,46],59:[1,47],60:[1,48]},e(_,[2,28]),{34:[1,49]},{36:[1,50]},e(_,[2,31]),{13:51,24:f,57:D},{42:[1,52],44:[1,53]},{46:[1,54]},{49:[1,55]},e(R,[2,44],{58:[1,56]}),e(R,[2,45],{58:[1,57]}),e(_,[2,38]),e(_,[2,39]),e(_,[2,40]),e(_,[2,41]),e(_,[2,6]),e(_,[2,13]),{13:58,24:f,57:D},e(_,[2,17]),e(M,n,{7:59}),{24:[1,60]},{24:[1,61]},{23:[1,62]},{24:[2,48]},{24:[2,49]},e(_,[2,29]),e(_,[2,30]),{39:[1,63],40:[1,64]},{43:[1,65]},{43:[1,66]},{47:[1,67]},{50:[1,68]},{24:[1,69]},{24:[1,70]},e(_,[2,14],{14:[1,71]}),{4:a,5:s,8:8,9:10,10:12,11:13,12:14,13:15,16:l,17:u,19:h,21:[1,72],22:d,24:f,25:p,26:m,27:g,28:y,29:v,32:25,33:x,35:b,37:T,38:w,41:C,45:k,48:E,51:A,52:N,53:P,54:I,57:D},e(_,[2,20],{20:[1,73]}),{31:[1,74]},{24:[1,75]},{39:[1,76]},{39:[1,77]},e(_,[2,34]),e(_,[2,35]),e(_,[2,36]),e(_,[2,37]),e(R,[2,46]),e(R,[2,47]),e(_,[2,15]),e(_,[2,19]),e(M,n,{7:78}),e(_,[2,26]),e(_,[2,27]),{5:[1,79]},{5:[1,80]},{4:a,5:s,8:8,9:10,10:12,11:13,12:14,13:15,16:l,17:u,19:h,21:[1,81],22:d,24:f,25:p,26:m,27:g,28:y,29:v,32:25,33:x,35:b,37:T,38:w,41:C,45:k,48:E,51:A,52:N,53:P,54:I,57:D},e(_,[2,32]),e(_,[2,33]),e(_,[2,21])],defaultActions:{5:[2,1],6:[2,2],47:[2,48],48:[2,49]},parseError:o(function(G,F){if(F.recoverable)this.trace(G);else{var V=new Error(G);throw V.hash=F,V}},"parseError"),parse:o(function(G){var F=this,V=[0],H=[],j=[null],U=[],Q=this.table,Y="",ae=0,J=0,te=0,re=2,ee=1,Te=U.slice.call(arguments,1),ue=Object.create(this.lexer),De={yy:{}};for(var Ie in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ie)&&(De.yy[Ie]=this.yy[Ie]);ue.setInput(G,De.yy),De.yy.lexer=ue,De.yy.parser=this,typeof ue.yylloc>"u"&&(ue.yylloc={});var Ee=ue.yylloc;U.push(Ee);var we=ue.options&&ue.options.ranges;typeof De.yy.parseError=="function"?this.parseError=De.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Me(W){V.length=V.length-2*W,j.length=j.length-W,U.length=U.length-W}o(Me,"popStack");function $e(){var W;return W=H.pop()||ue.lex()||ee,typeof W!="number"&&(W instanceof Array&&(H=W,W=H.pop()),W=F.symbols_[W]||W),W}o($e,"lex");for(var de,rt,ke,Fe,He,at,qe={},Ue,ye,ve,ie;;){if(ke=V[V.length-1],this.defaultActions[ke]?Fe=this.defaultActions[ke]:((de===null||typeof de>"u")&&(de=$e()),Fe=Q[ke]&&Q[ke][de]),typeof Fe>"u"||!Fe.length||!Fe[0]){var fe="";ie=[];for(Ue in Q[ke])this.terminals_[Ue]&&Ue>re&&ie.push("'"+this.terminals_[Ue]+"'");ue.showPosition?fe="Parse error on line "+(ae+1)+`:
364
+ `+ue.showPosition()+`
365
+ Expecting `+ie.join(", ")+", got '"+(this.terminals_[de]||de)+"'":fe="Parse error on line "+(ae+1)+": Unexpected "+(de==ee?"end of input":"'"+(this.terminals_[de]||de)+"'"),this.parseError(fe,{text:ue.match,token:this.terminals_[de]||de,line:ue.yylineno,loc:Ee,expected:ie})}if(Fe[0]instanceof Array&&Fe.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ke+", token: "+de);switch(Fe[0]){case 1:V.push(de),j.push(ue.yytext),U.push(ue.yylloc),V.push(Fe[1]),de=null,rt?(de=rt,rt=null):(J=ue.yyleng,Y=ue.yytext,ae=ue.yylineno,Ee=ue.yylloc,te>0&&te--);break;case 2:if(ye=this.productions_[Fe[1]][1],qe.$=j[j.length-ye],qe._$={first_line:U[U.length-(ye||1)].first_line,last_line:U[U.length-1].last_line,first_column:U[U.length-(ye||1)].first_column,last_column:U[U.length-1].last_column},we&&(qe._$.range=[U[U.length-(ye||1)].range[0],U[U.length-1].range[1]]),at=this.performAction.apply(qe,[Y,J,ae,De.yy,Fe[1],j,U].concat(Te)),typeof at<"u")return at;ye&&(V=V.slice(0,-1*ye*2),j=j.slice(0,-1*ye),U=U.slice(0,-1*ye)),V.push(this.productions_[Fe[1]][0]),j.push(qe.$),U.push(qe._$),ve=Q[V[V.length-2]][V[V.length-1]],V.push(ve);break;case 3:return!0}}return!0},"parse")},B=(function(){var $={EOF:1,parseError:o(function(F,V){if(this.yy.parser)this.yy.parser.parseError(F,V);else throw new Error(F)},"parseError"),setInput:o(function(G,F){return this.yy=F||this.yy||{},this._input=G,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},"setInput"),input:o(function(){var G=this._input[0];this.yytext+=G,this.yyleng++,this.offset++,this.match+=G,this.matched+=G;var F=G.match(/(?:\r\n?|\n).*/g);return F?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),G},"input"),unput:o(function(G){var F=G.length,V=G.split(/(?:\r\n?|\n)/g);this._input=G+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-F),this.offset-=F;var H=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),V.length-1&&(this.yylineno-=V.length-1);var j=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:V?(V.length===H.length?this.yylloc.first_column:0)+H[H.length-V.length].length-V[0].length:this.yylloc.first_column-F},this.options.ranges&&(this.yylloc.range=[j[0],j[0]+this.yyleng-F]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
366
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(G){this.unput(this.match.slice(G))},"less"),pastInput:o(function(){var G=this.matched.substr(0,this.matched.length-this.match.length);return(G.length>20?"...":"")+G.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var G=this.match;return G.length<20&&(G+=this._input.substr(0,20-G.length)),(G.substr(0,20)+(G.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var G=this.pastInput(),F=new Array(G.length+1).join("-");return G+this.upcomingInput()+`
367
+ `+F+"^"},"showPosition"),test_match:o(function(G,F){var V,H,j;if(this.options.backtrack_lexer&&(j={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&&(j.yylloc.range=this.yylloc.range.slice(0))),H=G[0].match(/(?:\r\n?|\n).*/g),H&&(this.yylineno+=H.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:H?H[H.length-1].length-H[H.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+G[0].length},this.yytext+=G[0],this.match+=G[0],this.matches=G,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(G[0].length),this.matched+=G[0],V=this.performAction.call(this,this.yy,this,F,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),V)return V;if(this._backtrack){for(var U in j)this[U]=j[U];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var G,F,V,H;this._more||(this.yytext="",this.match="");for(var j=this._currentRules(),U=0;U<j.length;U++)if(V=this._input.match(this.rules[j[U]]),V&&(!F||V[0].length>F[0].length)){if(F=V,H=U,this.options.backtrack_lexer){if(G=this.test_match(V,j[U]),G!==!1)return G;if(this._backtrack){F=!1;continue}else return!1}else if(!this.options.flex)break}return F?(G=this.test_match(F,j[H]),G!==!1?G:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
368
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var F=this.next();return F||this.lex()},"lex"),begin:o(function(F){this.conditionStack.push(F)},"begin"),popState:o(function(){var F=this.conditionStack.length-1;return F>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(F){return F=this.conditionStack.length-1-Math.abs(F||0),F>=0?this.conditionStack[F]:"INITIAL"},"topState"),pushState:o(function(F){this.begin(F)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(F,V,H,j){function U(){let Y=V.yytext.indexOf("%%");if(Y===0)return!1;if(Y>0){let ae=V.yytext.slice(0,Y),J=V.yytext.slice(Y);J&&F.lexer.unput(J),V.yytext=ae}return!0}o(U,"processId");var Q=j;switch(H){case 0:return 38;case 1:return 40;case 2:return 39;case 3:return 44;case 4:return 51;case 5:return 52;case 6:return 53;case 7:return 54;case 8:return 5;case 9:break;case 10:break;case 11:break;case 12:break;case 13:return this.pushState("SCALE"),17;break;case 14:return 18;case 15:this.popState();break;case 16:return this.begin("acc_title"),33;break;case 17:return this.popState(),"acc_title_value";break;case 18:return this.begin("acc_descr"),35;break;case 19:return this.popState(),"acc_descr_value";break;case 20:this.begin("acc_descr_multiline");break;case 21:this.popState();break;case 22:return"acc_descr_multiline_value";case 23:return this.pushState("CLASSDEF"),41;break;case 24:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";break;case 25:return this.popState(),this.pushState("CLASSDEFID"),42;break;case 26:return this.popState(),43;break;case 27:return this.pushState("CLASS"),48;break;case 28:return this.popState(),this.pushState("CLASS_STYLE"),49;break;case 29:return this.popState(),50;break;case 30:return this.pushState("STYLE"),45;break;case 31:return this.popState(),this.pushState("STYLEDEF_STYLES"),46;break;case 32:return this.popState(),47;break;case 33:return this.pushState("SCALE"),17;break;case 34:return 18;case 35:this.popState();break;case 36:this.pushState("STATE");break;case 37:return this.popState(),V.yytext=V.yytext.slice(0,-8).trim(),25;break;case 38:return this.popState(),V.yytext=V.yytext.slice(0,-8).trim(),26;break;case 39:return this.popState(),V.yytext=V.yytext.slice(0,-10).trim(),27;break;case 40:return this.popState(),V.yytext=V.yytext.slice(0,-8).trim(),25;break;case 41:return this.popState(),V.yytext=V.yytext.slice(0,-8).trim(),26;break;case 42:return this.popState(),V.yytext=V.yytext.slice(0,-10).trim(),27;break;case 43:return 51;case 44:return 52;case 45:return 53;case 46:return 54;case 47:this.pushState("STATE_STRING");break;case 48:return this.pushState("STATE_ID"),"AS";break;case 49:if(!U())return;return this.popState(),"ID";break;case 50:this.popState();break;case 51:return"STATE_DESCR";case 52:return 19;case 53:this.popState();break;case 54:return this.popState(),this.pushState("struct"),20;break;case 55:return this.popState(),21;break;case 56:break;case 57:return this.begin("NOTE"),29;break;case 58:return this.popState(),this.pushState("NOTE_ID"),59;break;case 59:return this.popState(),this.pushState("NOTE_ID"),60;break;case 60:this.popState(),this.pushState("FLOATING_NOTE");break;case 61:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";break;case 62:break;case 63:return"NOTE_TEXT";case 64:if(!U())return;return this.popState(),"ID";break;case 65:if(!U())return;return this.popState(),this.pushState("NOTE_TEXT"),24;break;case 66:return this.popState(),V.yytext=V.yytext.substr(2).trim(),31;break;case 67:return this.popState(),V.yytext=V.yytext.slice(0,-8).trim(),31;break;case 68:return 6;case 69:return 6;case 70:return 16;case 71:return 57;case 72:return U()?24:void 0;case 73:return V.yytext=V.yytext.trim(),14;break;case 74:return 15;case 75:return 28;case 76:return 58;case 77:return 5;case 78:return"INVALID"}},"anonymous"),rules:[/^(?:click\b)/i,/^(?:href\b)/i,/^(?:"[^"]*")/i,/^(?:default\b)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:classDef\s+)/i,/^(?:DEFAULT\s+)/i,/^(?:\w+\s+)/i,/^(?:[^\n]*)/i,/^(?:class\s+)/i,/^(?:(\w+)+((,\s*\w+)*))/i,/^(?:[^\n]*)/i,/^(?:style\s+)/i,/^(?:[\w,]+\s+)/i,/^(?:[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<<fork>>)/i,/^(?:.*<<join>>)/i,/^(?:.*<<choice>>)/i,/^(?:.*\[\[fork\]\])/i,/^(?:.*\[\[join\]\])/i,/^(?:.*\[\[choice\]\])/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/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\S]*?\n\s*end note\b)/i,/^(?:stateDiagram\s+)/i,/^(?:stateDiagram-v2\s+)/i,/^(?:hide empty description\b)/i,/^(?:\[\*\])/i,/^(?:[^:\n\s\-\{]+)/i,/^(?:\s*:(?:[^:\n;]|:[^:\n;])+)/i,/^(?:-->)/i,/^(?:--)/i,/^(?::::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[10,11,12],inclusive:!1},struct:{rules:[10,11,12,23,27,30,36,43,44,45,46,55,56,57,71,72,73,74,75,76],inclusive:!1},FLOATING_NOTE_ID:{rules:[64],inclusive:!1},FLOATING_NOTE:{rules:[61,62,63],inclusive:!1},NOTE_TEXT:{rules:[66,67],inclusive:!1},NOTE_ID:{rules:[65],inclusive:!1},NOTE:{rules:[58,59,60],inclusive:!1},STYLEDEF_STYLEOPTS:{rules:[],inclusive:!1},STYLEDEF_STYLES:{rules:[32],inclusive:!1},STYLE_IDS:{rules:[],inclusive:!1},STYLE:{rules:[31],inclusive:!1},CLASS_STYLE:{rules:[29],inclusive:!1},CLASS:{rules:[28],inclusive:!1},CLASSDEFID:{rules:[26],inclusive:!1},CLASSDEF:{rules:[24,25],inclusive:!1},acc_descr_multiline:{rules:[21,22],inclusive:!1},acc_descr:{rules:[19],inclusive:!1},acc_title:{rules:[17],inclusive:!1},SCALE:{rules:[14,15,34,35],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[49],inclusive:!1},STATE_STRING:{rules:[50,51],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[10,11,12,37,38,39,40,41,42,47,48,52,53,54],inclusive:!1},ID:{rules:[10,11,12],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,11,12,13,16,18,20,23,27,30,33,36,54,57,68,69,70,71,72,73,74,76,77,78],inclusive:!0}}};return $})();L.lexer=B;function O(){this.yy={}}return o(O,"Parser"),O.prototype=L,L.Parser=O,new O})();gW.parser=gW;Z6=gW});var Rf,xm,QT,O6e,P6e,B6e,bm,Q6,vW,xW,bW,TW,J6,e_,F6e,$6e,CW,kW,z6e,G6e,ky,NCt,V6e,wW,ICt,OCt,W6e,q6e,PCt,U6e,BCt,H6e,SW,EW,Y6e,t_,j6e,AW,r_=z(()=>{"use strict";Rf="state",xm="root",QT="relation",O6e="classDef",P6e="style",B6e="applyClass",bm="default",Q6="divider",vW="fill:none",xW="fill: #333",bW="markdown",TW="normal",J6="rect",e_="rectWithTitle",F6e="stateStart",$6e="stateEnd",CW="divider",kW="roundedWithTitle",z6e="note",G6e="noteGroup",ky="statediagram",NCt="state",V6e=`${ky}-${NCt}`,wW="transition",ICt="note",OCt="note-edge",W6e=`${wW} ${OCt}`,q6e=`${ky}-${ICt}`,PCt="cluster",U6e=`${ky}-${PCt}`,BCt="cluster-alt",H6e=`${ky}-${BCt}`,SW="parent",EW="note",Y6e="state",t_="----",j6e=`${t_}${EW}`,AW=`${t_}${SW}`});function _W(e="",t=0,r="",i=t_){let n=r!==null&&r.length>0?`${i}${r}`:"";return`${Y6e}-${e}${n}-${t}`}function i_(e,t,r){if(!t.id||t.id==="</join></fork>"||t.id==="</choice>")return;t.cssClasses&&(Array.isArray(t.cssCompiledStyles)||(t.cssCompiledStyles=[]),t.cssClasses.split(" ").forEach(n=>{let a=r.get(n);a&&(t.cssCompiledStyles=[...t.cssCompiledStyles??[],...a.styles])}));let i=e.find(n=>n.id===t.id);i?Object.assign(i,t):e.push(t)}function $Ct(e){return e?.classes?.join(" ")??""}function zCt(e){return e?.styles??[]}var n_,Lf,FCt,X6e,wy,Z6e,Q6e=z(()=>{"use strict";Ut();St();Ir();r_();n_=new Map,Lf=0;o(_W,"stateDomId");FCt=o((e,t,r,i,n,a,s,l)=>{Z.trace("items",t),t.forEach(u=>{switch(u.stmt){case Rf:wy(e,u,r,i,n,a,s,l);break;case bm:wy(e,u,r,i,n,a,s,l);break;case QT:{wy(e,u.state1,r,i,n,a,s,l),wy(e,u.state2,r,i,n,a,s,l);let h=s==="neo",d={id:"edge"+Lf,start:u.state1.id,end:u.state2.id,arrowhead:"normal",arrowTypeEnd:h?"arrow_barb_neo":"arrow_barb",style:vW,labelStyle:"",label:vt.sanitizeText(u.description??"",ge()),arrowheadStyle:xW,labelpos:"c",labelType:bW,thickness:TW,classes:wW,look:s};n.push(d),Lf++}break}})},"setupDoc"),X6e=o((e,t="TB")=>{let r=t;if(e.doc)for(let i of e.doc)i.stmt==="dir"&&(r=i.value);return r},"getDir");o(i_,"insertOrUpdateNode");o($Ct,"getClassesFromDbInfo");o(zCt,"getStylesFromDbInfo");wy=o((e,t,r,i,n,a,s,l)=>{let u=t.id,h=r.get(u),d=$Ct(h),f=zCt(h),p=ge();if(Z.info("dataFetcher parsedItem",t,h,f),u!=="root"){let m=J6;t.start===!0?m=F6e:t.start===!1&&(m=$6e),t.type!==bm&&(m=t.type),n_.get(u)||n_.set(u,{id:u,shape:m,description:vt.sanitizeText(u,p),cssClasses:`${d} ${V6e}`,cssStyles:f});let g=n_.get(u);t.description&&(Array.isArray(g.description)?(g.shape=e_,g.description.push(t.description)):g.description?.length&&g.description.length>0?(g.shape=e_,g.description===u?g.description=[t.description]:g.description=[g.description,t.description]):(g.shape=J6,g.description=t.description),g.description=vt.sanitizeTextOrArray(g.description,p)),g.description?.length===1&&g.shape===e_&&(g.type==="group"?g.shape=kW:g.shape=J6),!g.type&&t.doc&&(Z.info("Setting cluster for XCX",u,X6e(t)),g.type="group",g.isGroup=!0,g.dir=X6e(t),g.shape=t.type===Q6?CW:kW,g.cssClasses=`${g.cssClasses} ${U6e} ${a?H6e:""}`);let y={labelStyle:"",shape:g.shape,label:g.description,cssClasses:g.cssClasses,cssCompiledStyles:[],cssStyles:g.cssStyles,id:u,dir:g.dir,domId:_W(u,Lf),type:g.type,isGroup:g.type==="group",padding:8,rx:10,ry:10,look:s,labelType:"markdown"};if(y.shape===CW&&(y.label=""),e&&e.id!=="root"&&(Z.trace("Setting node ",u," to be child of its parent ",e.id),y.parentId=e.id),y.centerLabel=!0,t.note){let v={labelStyle:"",shape:z6e,label:t.note.text,labelType:"markdown",cssClasses:q6e,cssStyles:[],cssCompiledStyles:[],id:u+j6e+"-"+Lf,domId:_W(u,Lf,EW),type:g.type,isGroup:g.type==="group",padding:p.flowchart?.padding,look:s,position:t.note.position},x=u+AW,b={labelStyle:"",shape:G6e,label:t.note.text,cssClasses:g.cssClasses,cssStyles:[],id:u+AW,domId:_W(u,Lf,SW),type:"group",isGroup:!0,padding:16,look:s,position:t.note.position};Lf++,b.id=x,v.parentId=x,i_(i,b,l),i_(i,v,l),i_(i,y,l);let T=u,w=v.id;t.note.position==="left of"&&(T=v.id,w=u),n.push({id:T+"-"+w,start:T,end:w,arrowhead:"none",arrowTypeEnd:"",style:vW,labelStyle:"",classes:W6e,arrowheadStyle:xW,labelpos:"c",labelType:bW,thickness:TW,look:s})}else i_(i,y,l)}t.doc&&(Z.trace("Adding nodes children "),FCt(t,t.doc,r,i,n,!a,s,l))},"dataFetcher"),Z6e=o(()=>{n_.clear(),Lf=0},"reset")});var RW,GCt,VCt,J6e,LW=z(()=>{"use strict";Ut();St();Lp();tf();rf();Xt();r_();RW=o((e,t="TB")=>{if(!e.doc)return t;let r=t;for(let i of e.doc)i.stmt==="dir"&&(r=i.value);return r},"getDir"),GCt=o(function(e,t){return t.db.getClasses()},"getClasses"),VCt=o(async function(e,t,r,i){Z.info("REF0:"),Z.info("Drawing state diagram (v2)",t);let{securityLevel:n,state:a,layout:s}=ge();i.db.extract(i.db.getRootDocV2());let l=i.db.getData(),u=Fo(t,n);l.type=i.type,l.layoutAlgorithm=s,l.nodeSpacing=a?.nodeSpacing||50,l.rankSpacing=a?.rankSpacing||50,ge().look==="neo"?l.markers=["barbNeo"]:l.markers=["barb"],l.diagramId=t,await Zo(l,u);let d=8;try{(typeof i.db.getLinks=="function"?i.db.getLinks():new Map).forEach((p,m)=>{let g=typeof m=="string"?m:typeof m?.id=="string"?m.id:"";if(!g){Z.warn("\u26A0\uFE0F Invalid or missing stateId from key:",JSON.stringify(m));return}let y=u.node()?.querySelectorAll("g"),v;if(y?.forEach(w=>{w.textContent?.trim()===g&&(v=w)}),!v){Z.warn("\u26A0\uFE0F Could not find node matching text:",g);return}let x=v.parentNode;if(!x){Z.warn("\u26A0\uFE0F Node has no parent, cannot wrap:",g);return}let b=document.createElementNS("http://www.w3.org/2000/svg","a"),T=p.url.replace(/^"+|"+$/g,"");if(b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",T),b.setAttribute("target","_blank"),p.tooltip){let w=p.tooltip.replace(/^"+|"+$/g,"");b.setAttribute("title",w)}x.replaceChild(b,v),b.appendChild(v),Z.info("\u{1F517} Wrapped node in <a> tag for:",g,p.url)})}catch(f){Z.error("\u274C Error injecting clickable links:",f)}Zt.insertTitle(u,"statediagramTitleText",a?.titleTopMargin??25,i.db.getDiagramTitle()),$s(u,d,ky,a?.useMaxWidth??!0)},"draw"),J6e={getClasses:GCt,draw:VCt,getDir:RW}});var gs,t_e,r_e,a_,ol,s_=z(()=>{"use strict";Ut();St();Xt();Ir();Ci();Q6e();LW();r_();gs={START_NODE:"[*]",START_TYPE:"start",END_NODE:"[*]",END_TYPE:"end",COLOR_KEYWORD:"color",FILL_KEYWORD:"fill",BG_FILL:"bgFill",STYLECLASS_SEP:","},t_e=o(()=>new Map,"newClassesList"),r_e=o(()=>({relations:[],states:new Map,documents:{}}),"newDoc"),a_=o(e=>JSON.parse(JSON.stringify(e)),"clone"),ol=class{constructor(t){this.version=t;this.nodes=[];this.edges=[];this.rootDoc=[];this.classes=t_e();this.documents={root:r_e()};this.currentDocument=this.documents.root;this.startEndCount=0;this.dividerCnt=0;this.links=new Map;this.getAccTitle=kr;this.setAccTitle=Cr;this.getAccDescription=Sr;this.setAccDescription=wr;this.setDiagramTitle=Ar;this.getDiagramTitle=Er;this.clear(),this.setRootDoc=this.setRootDoc.bind(this),this.getDividerId=this.getDividerId.bind(this),this.setDirection=this.setDirection.bind(this),this.trimColon=this.trimColon.bind(this)}static{o(this,"StateDB")}static{this.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3}}extract(t){this.clear(!0);for(let n of Array.isArray(t)?t:t.doc)switch(n.stmt){case Rf:this.addState(n.id.trim(),n.type,n.doc,n.description,n.note);break;case QT:this.addRelation(n.state1,n.state2,n.description);break;case O6e:this.addStyleClass(n.id.trim(),n.classes);break;case P6e:this.handleStyleDef(n);break;case B6e:this.setCssClass(n.id.trim(),n.styleClass);break;case"click":this.addLink(n.id,n.url,n.tooltip);break}let r=this.getStates(),i=ge();Z6e(),wy(void 0,this.getRootDocV2(),r,this.nodes,this.edges,!0,i.look,this.classes);for(let n of this.nodes)if(Array.isArray(n.label)){if(n.description=n.label.slice(1),n.isGroup&&n.description.length>0)throw new Error(`Group nodes can only have label. Remove the additional description for node [${n.id}]`);n.label=n.label[0]}}handleStyleDef(t){let r=t.id.trim().split(","),i=t.styleClass.split(",");for(let n of r){let a=this.getState(n);if(!a){let s=n.trim();this.addState(s),a=this.getState(s)}a&&(a.styles=i.map(s=>s.replace(/;/g,"")?.trim()))}}setRootDoc(t){Z.info("Setting root doc",t),this.rootDoc=t,this.version===1?this.extract(t):this.extract(this.getRootDocV2())}docTranslator(t,r,i){if(r.stmt===QT){this.docTranslator(t,r.state1,!0),this.docTranslator(t,r.state2,!1);return}if(r.stmt===Rf&&(r.id===gs.START_NODE?(r.id=t.id+(i?"_start":"_end"),r.start=i):r.id=r.id.trim()),r.stmt!==xm&&r.stmt!==Rf||!r.doc)return;let n=[],a=[];for(let s of r.doc)if(s.type===Q6){let l=a_(s);l.doc=a_(a),n.push(l),a=[]}else a.push(s);if(n.length>0&&a.length>0){let s={stmt:Rf,id:DM(),type:"divider",doc:a_(a)};n.push(a_(s)),r.doc=n}r.doc.forEach(s=>this.docTranslator(r,s,!0))}getRootDocV2(){return this.docTranslator({id:xm,stmt:xm},{id:xm,stmt:xm,doc:this.rootDoc},!0),{id:xm,doc:this.rootDoc}}addState(t,r=bm,i=void 0,n=void 0,a=void 0,s=void 0,l=void 0,u=void 0){let h=t?.trim();if(!this.currentDocument.states.has(h))Z.info("Adding state ",h,n),this.currentDocument.states.set(h,{stmt:Rf,id:h,descriptions:[],type:r,doc:i,note:a,classes:[],styles:[],textStyles:[]});else{let d=this.currentDocument.states.get(h);if(!d)throw new Error(`State not found: ${h}`);d.doc||(d.doc=i),d.type||(d.type=r)}if(n&&(Z.info("Setting state description",h,n),(Array.isArray(n)?n:[n]).forEach(f=>this.addDescription(h,f.trim()))),a){let d=this.currentDocument.states.get(h);if(!d)throw new Error(`State not found: ${h}`);d.note=a,d.note.text=vt.sanitizeText(d.note.text,ge())}s&&(Z.info("Setting state classes",h,s),(Array.isArray(s)?s:[s]).forEach(f=>this.setCssClass(h,f.trim()))),l&&(Z.info("Setting state styles",h,l),(Array.isArray(l)?l:[l]).forEach(f=>this.setStyle(h,f.trim()))),u&&(Z.info("Setting state styles",h,l),(Array.isArray(u)?u:[u]).forEach(f=>this.setTextStyle(h,f.trim())))}clear(t){this.nodes=[],this.edges=[],this.documents={root:r_e()},this.currentDocument=this.documents.root,this.startEndCount=0,this.classes=t_e(),t||(this.links=new Map,gr())}getState(t){return this.currentDocument.states.get(t)}getStates(){return this.currentDocument.states}logDocuments(){Z.info("Documents = ",this.documents)}getRelations(){return this.currentDocument.relations}addLink(t,r,i){this.links.set(t,{url:r,tooltip:i}),Z.warn("Adding link",t,r,i)}getLinks(){return this.links}startIdIfNeeded(t=""){return t===gs.START_NODE?(this.startEndCount++,`${gs.START_TYPE}${this.startEndCount}`):t}startTypeIfNeeded(t="",r=bm){return t===gs.START_NODE?gs.START_TYPE:r}endIdIfNeeded(t=""){return t===gs.END_NODE?(this.startEndCount++,`${gs.END_TYPE}${this.startEndCount}`):t}endTypeIfNeeded(t="",r=bm){return t===gs.END_NODE?gs.END_TYPE:r}addRelationObjs(t,r,i=""){let n=this.startIdIfNeeded(t.id.trim()),a=this.startTypeIfNeeded(t.id.trim(),t.type),s=this.startIdIfNeeded(r.id.trim()),l=this.startTypeIfNeeded(r.id.trim(),r.type);this.addState(n,a,t.doc,t.description,t.note,t.classes,t.styles,t.textStyles),this.addState(s,l,r.doc,r.description,r.note,r.classes,r.styles,r.textStyles),this.currentDocument.relations.push({id1:n,id2:s,relationTitle:vt.sanitizeText(i,ge())})}addRelation(t,r,i){if(typeof t=="object"&&typeof r=="object")this.addRelationObjs(t,r,i);else if(typeof t=="string"&&typeof r=="string"){let n=this.startIdIfNeeded(t.trim()),a=this.startTypeIfNeeded(t),s=this.endIdIfNeeded(r.trim()),l=this.endTypeIfNeeded(r);this.addState(n,a),this.addState(s,l),this.currentDocument.relations.push({id1:n,id2:s,relationTitle:i?vt.sanitizeText(i,ge()):void 0})}}addDescription(t,r){let i=this.currentDocument.states.get(t),n=r.startsWith(":")?r.replace(":","").trim():r;i?.descriptions?.push(vt.sanitizeText(n,ge()))}cleanupLabel(t){return t.startsWith(":")?t.slice(2).trim():t.trim()}getDividerId(){return this.dividerCnt++,`divider-id-${this.dividerCnt}`}addStyleClass(t,r=""){this.classes.has(t)||this.classes.set(t,{id:t,styles:[],textStyles:[]});let i=this.classes.get(t);r&&i&&r.split(gs.STYLECLASS_SEP).forEach(n=>{let a=n.replace(/([^;]*);/,"$1").trim();if(RegExp(gs.COLOR_KEYWORD).exec(n)){let l=a.replace(gs.FILL_KEYWORD,gs.BG_FILL).replace(gs.COLOR_KEYWORD,gs.FILL_KEYWORD);i.textStyles.push(l)}i.styles.push(a)})}getClasses(){return this.classes}setCssClass(t,r){t.split(",").forEach(i=>{let n=this.getState(i);if(!n){let a=i.trim();this.addState(a),n=this.getState(a)}n?.classes?.push(r)})}setStyle(t,r){this.getState(t)?.styles?.push(r)}setTextStyle(t,r){this.getState(t)?.textStyles?.push(r)}getDirectionStatement(){return this.rootDoc.find(t=>t.stmt==="dir")}getDirection(){return this.getDirectionStatement()?.value??"TB"}setDirection(t){let r=this.getDirectionStatement();r?r.value=t:this.rootDoc.unshift({stmt:"dir",value:t})}trimColon(t){return t.startsWith(":")?t.slice(1).trim():t.trim()}getData(){let t=ge();return{nodes:this.nodes,edges:this.edges,other:{},config:t,direction:RW(this.getRootDocV2())}}getConfig(){return ge().state}}});var qCt,o_,MW=z(()=>{"use strict";qCt=o(e=>`
369
+ defs [id$="-barbEnd"] {
370
+ fill: ${e.transitionColor};
371
+ stroke: ${e.transitionColor};
372
+ }
373
+ g.stateGroup text {
374
+ fill: ${e.nodeBorder};
375
+ stroke: none;
376
+ font-size: 10px;
377
+ }
378
+ g.stateGroup text {
379
+ fill: ${e.textColor};
380
+ stroke: none;
381
+ font-size: 10px;
382
+
383
+ }
384
+ g.stateGroup .state-title {
385
+ font-weight: bolder;
386
+ fill: ${e.stateLabelColor};
387
+ }
388
+
389
+ g.stateGroup rect {
390
+ fill: ${e.mainBkg};
391
+ stroke: ${e.nodeBorder};
392
+ }
393
+
394
+ g.stateGroup line {
395
+ stroke: ${e.lineColor};
396
+ stroke-width: ${e.strokeWidth||1};
397
+ }
398
+
399
+ .transition {
400
+ stroke: ${e.transitionColor};
401
+ stroke-width: ${e.strokeWidth||1};
402
+ fill: none;
403
+ }
404
+
405
+ .stateGroup .composit {
406
+ fill: ${e.background};
407
+ border-bottom: 1px
408
+ }
409
+
410
+ .stateGroup .alt-composit {
411
+ fill: #e0e0e0;
412
+ border-bottom: 1px
413
+ }
414
+
415
+ .state-note {
416
+ stroke: ${e.noteBorderColor};
417
+ fill: ${e.noteBkgColor};
418
+
419
+ text {
420
+ fill: ${e.noteTextColor};
421
+ stroke: none;
422
+ font-size: 10px;
423
+ }
424
+ }
425
+
426
+ .stateLabel .box {
427
+ stroke: none;
428
+ stroke-width: 0;
429
+ fill: ${e.mainBkg};
430
+ opacity: 0.5;
431
+ }
432
+
433
+ .edgeLabel .label rect {
434
+ fill: ${e.labelBackgroundColor};
435
+ opacity: 0.5;
436
+ }
437
+ .edgeLabel {
438
+ background-color: ${e.edgeLabelBackground};
439
+ p {
440
+ background-color: ${e.edgeLabelBackground};
441
+ }
442
+ rect {
443
+ opacity: 0.5;
444
+ background-color: ${e.edgeLabelBackground};
445
+ fill: ${e.edgeLabelBackground};
446
+ }
447
+ text-align: center;
448
+ }
449
+ .edgeLabel .label text {
450
+ fill: ${e.transitionLabelColor||e.tertiaryTextColor};
451
+ }
452
+ .label div .edgeLabel {
453
+ color: ${e.transitionLabelColor||e.tertiaryTextColor};
454
+ }
455
+
456
+ .stateLabel text {
457
+ fill: ${e.stateLabelColor};
458
+ font-size: 10px;
459
+ font-weight: bold;
460
+ }
461
+
462
+ .node circle.state-start {
463
+ fill: ${e.specialStateColor};
464
+ stroke: ${e.specialStateColor};
465
+ }
466
+
467
+ .node .fork-join {
468
+ fill: ${e.specialStateColor};
469
+ stroke: ${e.specialStateColor};
470
+ }
471
+
472
+ .node circle.state-end {
473
+ fill: ${e.innerEndBackground};
474
+ stroke: ${e.background};
475
+ stroke-width: 1.5
476
+ }
477
+ .end-state-inner {
478
+ fill: ${e.compositeBackground||e.background};
479
+ // stroke: ${e.background};
480
+ stroke-width: 1.5
481
+ }
482
+
483
+ .node rect {
484
+ fill: ${e.stateBkg||e.mainBkg};
485
+ stroke: ${e.stateBorder||e.nodeBorder};
486
+ stroke-width: ${e.strokeWidth||1}px;
487
+ }
488
+ .node polygon {
489
+ fill: ${e.mainBkg};
490
+ stroke: ${e.stateBorder||e.nodeBorder};;
491
+ stroke-width: ${e.strokeWidth||1}px;
492
+ }
493
+ [id$="-barbEnd"] {
494
+ fill: ${e.lineColor};
495
+ }
496
+
497
+ .statediagram-cluster rect {
498
+ fill: ${e.compositeTitleBackground};
499
+ stroke: ${e.stateBorder||e.nodeBorder};
500
+ stroke-width: ${e.strokeWidth||1}px;
501
+ }
502
+
503
+ .cluster-label, .nodeLabel {
504
+ color: ${e.stateLabelColor};
505
+ // line-height: 1;
506
+ }
507
+
508
+ .statediagram-cluster rect.outer {
509
+ rx: 5px;
510
+ ry: 5px;
511
+ }
512
+ .statediagram-state .divider {
513
+ stroke: ${e.stateBorder||e.nodeBorder};
514
+ }
515
+
516
+ .statediagram-state .title-state {
517
+ rx: 5px;
518
+ ry: 5px;
519
+ }
520
+ .statediagram-cluster.statediagram-cluster .inner {
521
+ fill: ${e.compositeBackground||e.background};
522
+ }
523
+ .statediagram-cluster.statediagram-cluster-alt .inner {
524
+ fill: ${e.altBackground?e.altBackground:"#efefef"};
525
+ }
526
+
527
+ .statediagram-cluster .inner {
528
+ rx:0;
529
+ ry:0;
530
+ }
531
+
532
+ .statediagram-state rect.basic {
533
+ rx: 5px;
534
+ ry: 5px;
535
+ }
536
+ .statediagram-state rect.divider {
537
+ stroke-dasharray: 10,10;
538
+ fill: ${e.altBackground?e.altBackground:"#efefef"};
539
+ }
540
+
541
+ .note-edge {
542
+ stroke-dasharray: 5;
543
+ }
544
+
545
+ .statediagram-note rect {
546
+ fill: ${e.noteBkgColor};
547
+ stroke: ${e.noteBorderColor};
548
+ stroke-width: 1px;
549
+ rx: 0;
550
+ ry: 0;
551
+ }
552
+ .statediagram-note rect {
553
+ fill: ${e.noteBkgColor};
554
+ stroke: ${e.noteBorderColor};
555
+ stroke-width: 1px;
556
+ rx: 0;
557
+ ry: 0;
558
+ }
559
+
560
+ .statediagram-note text {
561
+ fill: ${e.noteTextColor};
562
+ }
563
+
564
+ .statediagram-note .nodeLabel {
565
+ color: ${e.noteTextColor};
566
+ }
567
+ .statediagram .edgeLabel {
568
+ color: red; // ${e.noteTextColor};
569
+ }
570
+
571
+ [id$="-dependencyStart"], [id$="-dependencyEnd"] {
572
+ fill: ${e.lineColor};
573
+ stroke: ${e.lineColor};
574
+ stroke-width: ${e.strokeWidth||1};
575
+ }
576
+
577
+ .statediagramTitleText {
578
+ text-anchor: middle;
579
+ font-size: 18px;
580
+ fill: ${e.textColor};
581
+ }
582
+
583
+ [data-look="neo"].statediagram-cluster rect {
584
+ fill: ${e.mainBkg};
585
+ stroke: ${e.useGradient?"url("+e.svgId+"-gradient)":e.stateBorder||e.nodeBorder};
586
+ stroke-width: ${e.strokeWidth??1};
587
+ }
588
+ [data-look="neo"].statediagram-cluster rect.outer {
589
+ rx: ${e.radius}px;
590
+ ry: ${e.radius}px;
591
+ filter: ${e.dropShadow?e.dropShadow.replace("url(#drop-shadow)",`url(${e.svgId}-drop-shadow)`):"none"}
592
+ }
593
+ `,"getStyles"),o_=qCt});var UCt,HCt,YCt,jCt,n_e,XCt,KCt,ZCt,QCt,NW,i_e,a_e,s_e=z(()=>{"use strict";Rr();s_();Xt();Ir();Ut();St();UCt=o(e=>e.append("circle").attr("class","start-state").attr("r",ge().state.sizeUnit).attr("cx",ge().state.padding+ge().state.sizeUnit).attr("cy",ge().state.padding+ge().state.sizeUnit),"drawStartState"),HCt=o(e=>e.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",ge().state.textHeight).attr("class","divider").attr("x2",ge().state.textHeight*2).attr("y1",0).attr("y2",0),"drawDivider"),YCt=o((e,t)=>{let r=e.append("text").attr("x",2*ge().state.padding).attr("y",ge().state.textHeight+2*ge().state.padding).attr("font-size",ge().state.fontSize).attr("class","state-title").text(t.id),i=r.node().getBBox();return e.insert("rect",":first-child").attr("x",ge().state.padding).attr("y",ge().state.padding).attr("width",i.width+2*ge().state.padding).attr("height",i.height+2*ge().state.padding).attr("rx",ge().state.radius),r},"drawSimpleState"),jCt=o((e,t)=>{let r=o(function(p,m,g){let y=p.append("tspan").attr("x",2*ge().state.padding).text(m);g||y.attr("dy",ge().state.textHeight)},"addTspan"),n=e.append("text").attr("x",2*ge().state.padding).attr("y",ge().state.textHeight+1.3*ge().state.padding).attr("font-size",ge().state.fontSize).attr("class","state-title").text(t.descriptions[0]).node().getBBox(),a=n.height,s=e.append("text").attr("x",ge().state.padding).attr("y",a+ge().state.padding*.4+ge().state.dividerMargin+ge().state.textHeight).attr("class","state-description"),l=!0,u=!0;t.descriptions.forEach(function(p){l||(r(s,p,u),u=!1),l=!1});let h=e.append("line").attr("x1",ge().state.padding).attr("y1",ge().state.padding+a+ge().state.dividerMargin/2).attr("y2",ge().state.padding+a+ge().state.dividerMargin/2).attr("class","descr-divider"),d=s.node().getBBox(),f=Math.max(d.width,n.width);return h.attr("x2",f+3*ge().state.padding),e.insert("rect",":first-child").attr("x",ge().state.padding).attr("y",ge().state.padding).attr("width",f+2*ge().state.padding).attr("height",d.height+a+2*ge().state.padding).attr("rx",ge().state.radius),e},"drawDescrState"),n_e=o((e,t,r)=>{let i=ge().state.padding,n=2*ge().state.padding,a=e.node().getBBox(),s=a.width,l=a.x,u=e.append("text").attr("x",0).attr("y",ge().state.titleShift).attr("font-size",ge().state.fontSize).attr("class","state-title").text(t.id),d=u.node().getBBox().width+n,f=Math.max(d,s);f===s&&(f=f+n);let p,m=e.node().getBBox();t.doc,p=l-i,d>s&&(p=(s-f)/2+i),Math.abs(l-m.x)<i&&d>s&&(p=l-(d-s)/2);let g=1-ge().state.textHeight;return e.insert("rect",":first-child").attr("x",p).attr("y",g).attr("class",r?"alt-composit":"composit").attr("width",f).attr("height",m.height+ge().state.textHeight+ge().state.titleShift+1).attr("rx","0"),u.attr("x",p+i),d<=s&&u.attr("x",l+(f-n)/2-d/2+i),e.insert("rect",":first-child").attr("x",p).attr("y",ge().state.titleShift-ge().state.textHeight-ge().state.padding).attr("width",f).attr("height",ge().state.textHeight*3).attr("rx",ge().state.radius),e.insert("rect",":first-child").attr("x",p).attr("y",ge().state.titleShift-ge().state.textHeight-ge().state.padding).attr("width",f).attr("height",m.height+3+2*ge().state.textHeight).attr("rx",ge().state.radius),e},"addTitleAndBox"),XCt=o(e=>(e.append("circle").attr("class","end-state-outer").attr("r",ge().state.sizeUnit+ge().state.miniPadding).attr("cx",ge().state.padding+ge().state.sizeUnit+ge().state.miniPadding).attr("cy",ge().state.padding+ge().state.sizeUnit+ge().state.miniPadding),e.append("circle").attr("class","end-state-inner").attr("r",ge().state.sizeUnit).attr("cx",ge().state.padding+ge().state.sizeUnit+2).attr("cy",ge().state.padding+ge().state.sizeUnit+2)),"drawEndState"),KCt=o((e,t)=>{let r=ge().state.forkWidth,i=ge().state.forkHeight;if(t.parentId){let n=r;r=i,i=n}return e.append("rect").style("stroke","black").style("fill","black").attr("width",r).attr("height",i).attr("x",ge().state.padding).attr("y",ge().state.padding)},"drawForkJoinState"),ZCt=o((e,t,r,i)=>{let n=0,a=i.append("text");a.style("text-anchor","start"),a.attr("class","noteText");let s=e.replace(/\r\n/g,"<br/>");s=s.replace(/\n/g,"<br/>");let l=s.split(vt.lineBreakRegex),u=1.25*ge().state.noteMargin;for(let h of l){let d=h.trim();if(d.length>0){let f=a.append("tspan");if(f.text(d),u===0){let p=f.node().getBBox();u+=p.height}n+=u,f.attr("x",t+ge().state.noteMargin),f.attr("y",r+n+1.25*ge().state.noteMargin)}}return{textWidth:a.node().getBBox().width,textHeight:n}},"_drawLongText"),QCt=o((e,t)=>{t.attr("class","state-note");let r=t.append("rect").attr("x",0).attr("y",ge().state.padding),i=t.append("g"),{textWidth:n,textHeight:a}=ZCt(e,0,0,i);return r.attr("height",a+2*ge().state.noteMargin),r.attr("width",n+ge().state.noteMargin*2),r},"drawNote"),NW=o(function(e,t){let r=t.id,i={id:r,label:t.id,width:0,height:0},n=e.append("g").attr("id",r).attr("class","stateGroup");t.type==="start"&&UCt(n),t.type==="end"&&XCt(n),(t.type==="fork"||t.type==="join")&&KCt(n,t),t.type==="note"&&QCt(t.note.text,n),t.type==="divider"&&HCt(n),t.type==="default"&&t.descriptions.length===0&&YCt(n,t),t.type==="default"&&t.descriptions.length>0&&jCt(n,t);let a=n.node().getBBox();return i.width=a.width+2*ge().state.padding,i.height=a.height+2*ge().state.padding,i},"drawState"),i_e=0,a_e=o(function(e,t,r){let i=o(function(u){switch(u){case ol.relationType.AGGREGATION:return"aggregation";case ol.relationType.EXTENSION:return"extension";case ol.relationType.COMPOSITION:return"composition";case ol.relationType.DEPENDENCY:return"dependency"}},"getRelationType");t.points=t.points.filter(u=>!Number.isNaN(u.y));let n=t.points,a=_l().x(function(u){return u.x}).y(function(u){return u.y}).curve(Dl),s=e.append("path").attr("d",a(n)).attr("id","edge"+i_e).attr("class","transition"),l="";if(ge().state.arrowMarkerAbsolute&&(l=Hf(!0)),s.attr("marker-end","url("+l+"#"+i(ol.relationType.DEPENDENCY)+"End)"),r.title!==void 0){let u=e.append("g").attr("class","stateLabel"),{x:h,y:d}=Zt.calcLabelPosition(t.points),f=vt.getRows(r.title),p=0,m=[],g=0,y=0;for(let b=0;b<=f.length;b++){let T=u.append("text").attr("text-anchor","middle").text(f[b]).attr("x",h).attr("y",d+p),w=T.node().getBBox();g=Math.max(g,w.width),y=Math.min(y,w.x),Z.info(w.x,h,d+p),p===0&&(p=T.node().getBBox().height,Z.info("Title height",p,d)),m.push(T)}let v=p*f.length;if(f.length>1){let b=(f.length-1)*p*.5;m.forEach((T,w)=>T.attr("y",d+w*p-b)),v=p*f.length}let x=u.node().getBBox();u.insert("rect",":first-child").attr("class","box").attr("x",h-g/2-ge().state.padding/2).attr("y",d-v/2-ge().state.padding/2-3.5).attr("width",g+ge().state.padding).attr("height",v+ge().state.padding),Z.info(x)}i_e++},"drawEdge")});var Co,IW,JCt,ekt,tkt,rkt,o_e,l_e,c_e=z(()=>{"use strict";Rr();d9();Uo();St();Ir();s_e();Ut();Di();IW={},JCt=o(function(){},"setConf"),ekt=o(function(e){e.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")},"insertMarkers"),tkt=o(function(e,t,r,i){Co=ge().state;let n=ge().securityLevel,a;n==="sandbox"&&(a=Je("#i"+t));let s=n==="sandbox"?Je(a.nodes()[0].contentDocument.body):Je("body"),l=n==="sandbox"?a.nodes()[0].contentDocument:document;Z.debug("Rendering diagram "+e);let u=s.select(`[id='${t}']`);ekt(u);let h=i.db.getRootDoc(),d=u.append("g").attr("id",t+"-root");o_e(h,d,void 0,!1,s,l,i);let f=Co.padding,p=u.node().getBBox(),m=p.width+f*2,g=p.height+f*2,y=m*1.75;Br(u,g,y,Co.useMaxWidth),u.attr("viewBox",`${p.x-Co.padding} ${p.y-Co.padding} `+m+" "+g)},"draw"),rkt=o(e=>e?e.length*Co.fontSizeFactor:1,"getLabelWidth"),o_e=o((e,t,r,i,n,a,s)=>{let l=new ui({compound:!0,multigraph:!0}),u,h=!0;for(u=0;u<e.length;u++)if(e[u].stmt==="relation"){h=!1;break}r?l.setGraph({rankdir:"LR",multigraph:!0,compound:!0,ranker:"tight-tree",ranksep:h?1:Co.edgeLengthFactor,nodeSep:h?1:50,isMultiGraph:!0}):l.setGraph({rankdir:"TB",multigraph:!0,compound:!0,ranksep:h?1:Co.edgeLengthFactor,nodeSep:h?1:50,ranker:"tight-tree",isMultiGraph:!0}),l.setDefaultEdgeLabel(function(){return{}});let d=s.db.getStates(),f=s.db.getRelations(),p=Object.keys(d),m=!0;for(let b of p){let T=d[b];r&&(T.parentId=r);let w;if(T.doc){let C=t.append("g").attr("id",T.id).attr("class","stateGroup");if(w=o_e(T.doc,C,T.id,!i,n,a,s),m){C=n_e(C,T,i);let k=C.node().getBBox();w.width=k.width,w.height=k.height+Co.padding/2,IW[T.id]={y:Co.compositTitleSize}}else{let k=C.node().getBBox();w.width=k.width,w.height=k.height}}else w=NW(t,T,l);if(T.note){let C={descriptions:[],id:T.id+"-note",note:T.note,type:"note"},k=NW(t,C,l);T.note.position==="left of"?(l.setNode(w.id+"-note",k),l.setNode(w.id,w)):(l.setNode(w.id,w),l.setNode(w.id+"-note",k)),l.setParent(w.id,w.id+"-group"),l.setParent(w.id+"-note",w.id+"-group")}else l.setNode(w.id,w)}Z.debug("Count=",l.nodeCount(),l);let g=0;f.forEach(function(b){g++,Z.debug("Setting edge",b),l.setEdge(b.id1,b.id2,{relation:b,width:rkt(b.title),height:Co.labelHeight*vt.getRows(b.title).length,labelpos:"c"},"id"+g)}),Mb(l),Z.debug("Graph after layout",l.nodes());let y=t.node();l.nodes().forEach(function(b){b!==void 0&&l.node(b)!==void 0?(Z.warn("Node "+b+": "+JSON.stringify(l.node(b))),n.select("#"+y.id+" #"+b).attr("transform","translate("+(l.node(b).x-l.node(b).width/2)+","+(l.node(b).y+(IW[b]?IW[b].y:0)-l.node(b).height/2)+" )"),n.select("#"+y.id+" #"+b).attr("data-x-shift",l.node(b).x-l.node(b).width/2),a.querySelectorAll("#"+y.id+" #"+b+" .divider").forEach(w=>{let C=w.parentElement,k=0,E=0;C&&(C.parentElement&&(k=C.parentElement.getBBox().width),E=parseInt(C.getAttribute("data-x-shift"),10),Number.isNaN(E)&&(E=0)),w.setAttribute("x1",0-E+8),w.setAttribute("x2",k-E-8)})):Z.debug("No Node "+b+": "+JSON.stringify(l.node(b)))});let v=y.getBBox();l.edges().forEach(function(b){b!==void 0&&l.edge(b)!==void 0&&(Z.debug("Edge "+b.v+" -> "+b.w+": "+JSON.stringify(l.edge(b))),a_e(t,l.edge(b),l.edge(b).relation))}),v=y.getBBox();let x={id:r||"root",label:r||"root",width:0,height:0};return x.width=v.width+2*Co.padding,x.height=v.height+2*Co.padding,Z.debug("Doc rendered",x,l),x},"renderDoc"),l_e={setConf:JCt,draw:tkt}});var u_e={};xr(u_e,{diagram:()=>ikt});var ikt,h_e=z(()=>{"use strict";yW();s_();MW();c_e();ikt={parser:Z6,get db(){return new ol(1)},renderer:l_e,styles:o_,init:o(e=>{e.state||(e.state={}),e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute},"init")}});var p_e={};xr(p_e,{diagram:()=>okt});var okt,m_e=z(()=>{"use strict";yW();s_();MW();LW();okt={parser:Z6,get db(){return new ol(2)},renderer:J6e,styles:o_,init:o(e=>{e.state||(e.state={}),e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute},"init")}});var OW,v_e,x_e=z(()=>{"use strict";OW=(function(){var e=o(function(f,p,m,g){for(m=m||{},g=f.length;g--;m[f[g]]=p);return m},"o"),t=[6,8,10,11,12,14,16,17,18],r=[1,9],i=[1,10],n=[1,11],a=[1,12],s=[1,13],l=[1,14],u={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:o(function(p,m,g,y,v,x,b){var T=x.length-1;switch(v){case 1:return x[T-1];case 2:this.$=[];break;case 3:x[T-1].push(x[T]),this.$=x[T-1];break;case 4:case 5:this.$=x[T];break;case 6:case 7:this.$=[];break;case 8:y.setDiagramTitle(x[T].substr(6)),this.$=x[T].substr(6);break;case 9:this.$=x[T].trim(),y.setAccTitle(this.$);break;case 10:case 11:this.$=x[T].trim(),y.setAccDescription(this.$);break;case 12:y.addSection(x[T].substr(8)),this.$=x[T].substr(8);break;case 13:y.addTask(x[T-1],x[T]),this.$="task";break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},e(t,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:r,12:i,14:n,16:a,17:s,18:l},e(t,[2,7],{1:[2,1]}),e(t,[2,3]),{9:15,11:r,12:i,14:n,16:a,17:s,18:l},e(t,[2,5]),e(t,[2,6]),e(t,[2,8]),{13:[1,16]},{15:[1,17]},e(t,[2,11]),e(t,[2,12]),{19:[1,18]},e(t,[2,4]),e(t,[2,9]),e(t,[2,10]),e(t,[2,13])],defaultActions:{},parseError:o(function(p,m){if(m.recoverable)this.trace(p);else{var g=new Error(p);throw g.hash=m,g}},"parseError"),parse:o(function(p){var m=this,g=[0],y=[],v=[null],x=[],b=this.table,T="",w=0,C=0,k=0,E=2,A=1,N=x.slice.call(arguments,1),P=Object.create(this.lexer),I={yy:{}};for(var D in this.yy)Object.prototype.hasOwnProperty.call(this.yy,D)&&(I.yy[D]=this.yy[D]);P.setInput(p,I.yy),I.yy.lexer=P,I.yy.parser=this,typeof P.yylloc>"u"&&(P.yylloc={});var _=P.yylloc;x.push(_);var R=P.options&&P.options.ranges;typeof I.yy.parseError=="function"?this.parseError=I.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function M(J){g.length=g.length-2*J,v.length=v.length-J,x.length=x.length-J}o(M,"popStack");function L(){var J;return J=y.pop()||P.lex()||A,typeof J!="number"&&(J instanceof Array&&(y=J,J=y.pop()),J=m.symbols_[J]||J),J}o(L,"lex");for(var B,O,$,G,F,V,H={},j,U,Q,Y;;){if($=g[g.length-1],this.defaultActions[$]?G=this.defaultActions[$]:((B===null||typeof B>"u")&&(B=L()),G=b[$]&&b[$][B]),typeof G>"u"||!G.length||!G[0]){var ae="";Y=[];for(j in b[$])this.terminals_[j]&&j>E&&Y.push("'"+this.terminals_[j]+"'");P.showPosition?ae="Parse error on line "+(w+1)+`:
594
+ `+P.showPosition()+`
595
+ Expecting `+Y.join(", ")+", got '"+(this.terminals_[B]||B)+"'":ae="Parse error on line "+(w+1)+": Unexpected "+(B==A?"end of input":"'"+(this.terminals_[B]||B)+"'"),this.parseError(ae,{text:P.match,token:this.terminals_[B]||B,line:P.yylineno,loc:_,expected:Y})}if(G[0]instanceof Array&&G.length>1)throw new Error("Parse Error: multiple actions possible at state: "+$+", token: "+B);switch(G[0]){case 1:g.push(B),v.push(P.yytext),x.push(P.yylloc),g.push(G[1]),B=null,O?(B=O,O=null):(C=P.yyleng,T=P.yytext,w=P.yylineno,_=P.yylloc,k>0&&k--);break;case 2:if(U=this.productions_[G[1]][1],H.$=v[v.length-U],H._$={first_line:x[x.length-(U||1)].first_line,last_line:x[x.length-1].last_line,first_column:x[x.length-(U||1)].first_column,last_column:x[x.length-1].last_column},R&&(H._$.range=[x[x.length-(U||1)].range[0],x[x.length-1].range[1]]),V=this.performAction.apply(H,[T,C,w,I.yy,G[1],v,x].concat(N)),typeof V<"u")return V;U&&(g=g.slice(0,-1*U*2),v=v.slice(0,-1*U),x=x.slice(0,-1*U)),g.push(this.productions_[G[1]][0]),v.push(H.$),x.push(H._$),Q=b[g[g.length-2]][g[g.length-1]],g.push(Q);break;case 3:return!0}}return!0},"parse")},h=(function(){var f={EOF:1,parseError:o(function(m,g){if(this.yy.parser)this.yy.parser.parseError(m,g);else throw new Error(m)},"parseError"),setInput:o(function(p,m){return this.yy=m||this.yy||{},this._input=p,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},"setInput"),input:o(function(){var p=this._input[0];this.yytext+=p,this.yyleng++,this.offset++,this.match+=p,this.matched+=p;var m=p.match(/(?:\r\n?|\n).*/g);return m?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),p},"input"),unput:o(function(p){var m=p.length,g=p.split(/(?:\r\n?|\n)/g);this._input=p+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-m),this.offset-=m;var y=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),g.length-1&&(this.yylineno-=g.length-1);var v=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:g?(g.length===y.length?this.yylloc.first_column:0)+y[y.length-g.length].length-g[0].length:this.yylloc.first_column-m},this.options.ranges&&(this.yylloc.range=[v[0],v[0]+this.yyleng-m]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
596
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(p){this.unput(this.match.slice(p))},"less"),pastInput:o(function(){var p=this.matched.substr(0,this.matched.length-this.match.length);return(p.length>20?"...":"")+p.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var p=this.match;return p.length<20&&(p+=this._input.substr(0,20-p.length)),(p.substr(0,20)+(p.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var p=this.pastInput(),m=new Array(p.length+1).join("-");return p+this.upcomingInput()+`
597
+ `+m+"^"},"showPosition"),test_match:o(function(p,m){var g,y,v;if(this.options.backtrack_lexer&&(v={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&&(v.yylloc.range=this.yylloc.range.slice(0))),y=p[0].match(/(?:\r\n?|\n).*/g),y&&(this.yylineno+=y.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:y?y[y.length-1].length-y[y.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+p[0].length},this.yytext+=p[0],this.match+=p[0],this.matches=p,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(p[0].length),this.matched+=p[0],g=this.performAction.call(this,this.yy,this,m,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),g)return g;if(this._backtrack){for(var x in v)this[x]=v[x];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var p,m,g,y;this._more||(this.yytext="",this.match="");for(var v=this._currentRules(),x=0;x<v.length;x++)if(g=this._input.match(this.rules[v[x]]),g&&(!m||g[0].length>m[0].length)){if(m=g,y=x,this.options.backtrack_lexer){if(p=this.test_match(g,v[x]),p!==!1)return p;if(this._backtrack){m=!1;continue}else return!1}else if(!this.options.flex)break}return m?(p=this.test_match(m,v[y]),p!==!1?p:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
598
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var m=this.next();return m||this.lex()},"lex"),begin:o(function(m){this.conditionStack.push(m)},"begin"),popState:o(function(){var m=this.conditionStack.length-1;return m>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(m){return m=this.conditionStack.length-1-Math.abs(m||0),m>=0?this.conditionStack[m]:"INITIAL"},"topState"),pushState:o(function(m){this.begin(m)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(m,g,y,v){var x=v;switch(y){case 0:break;case 1:break;case 2:return 10;case 3:break;case 4:break;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;break;case 8:return this.popState(),"acc_title_value";break;case 9:return this.begin("acc_descr"),14;break;case 10:return this.popState(),"acc_descr_value";break;case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 18;case 16:return 19;case 17:return":";case 18:return 6;case 19:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:journey\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18,19],inclusive:!0}}};return f})();u.lexer=h;function d(){this.yy={}}return o(d,"Parser"),d.prototype=u,u.Parser=d,new d})();OW.parser=OW;v_e=OW});var Sy,PW,JT,eC,hkt,dkt,fkt,pkt,mkt,gkt,ykt,b_e,vkt,BW,T_e=z(()=>{"use strict";Ut();Ci();Sy="",PW=[],JT=[],eC=[],hkt=o(function(){PW.length=0,JT.length=0,Sy="",eC.length=0,gr()},"clear"),dkt=o(function(e){Sy=e,PW.push(e)},"addSection"),fkt=o(function(){return PW},"getSections"),pkt=o(function(){let e=b_e(),t=100,r=0;for(;!e&&r<t;)e=b_e(),r++;return JT.push(...eC),JT},"getTasks"),mkt=o(function(){let e=[];return JT.forEach(r=>{r.people&&e.push(...r.people)}),[...new Set(e)].sort()},"updateActors"),gkt=o(function(e,t){let r=t.substr(1).split(":"),i=0,n=[];r.length===1?(i=Number(r[0]),n=[]):(i=Number(r[0]),n=r[1].split(","));let a=n.map(l=>l.trim()),s={section:Sy,type:Sy,people:a,task:e,score:i};eC.push(s)},"addTask"),ykt=o(function(e){let t={section:Sy,type:Sy,description:e,task:e,classes:[]};JT.push(t)},"addTaskOrg"),b_e=o(function(){let e=o(function(r){return eC[r].processed},"compileTask"),t=!0;for(let[r,i]of eC.entries())e(r),t=t&&i.processed;return t},"compileTasks"),vkt=o(function(){return mkt()},"getActors"),BW={getConfig:o(()=>ge().journey,"getConfig"),clear:hkt,setDiagramTitle:Ar,getDiagramTitle:Er,setAccTitle:Cr,getAccTitle:kr,setAccDescription:wr,getAccDescription:Sr,addSection:dkt,getSections:fkt,getTasks:pkt,addTask:gkt,addTaskOrg:ykt,getActors:vkt}});var xkt,C_e,k_e=z(()=>{"use strict";k1();xkt=o(e=>`.label {
599
+ font-family: ${e.fontFamily};
600
+ color: ${e.textColor};
601
+ }
602
+ .mouth {
603
+ stroke: #666;
604
+ }
605
+
606
+ line {
607
+ stroke: ${e.textColor}
608
+ }
609
+
610
+ .legend {
611
+ fill: ${e.textColor};
612
+ font-family: ${e.fontFamily};
613
+ }
614
+
615
+ .label text {
616
+ fill: #333;
617
+ }
618
+ .label {
619
+ color: ${e.textColor}
620
+ }
621
+
622
+ .face {
623
+ ${e.faceColor?`fill: ${e.faceColor}`:"fill: #FFF8DC"};
624
+ stroke: #999;
625
+ }
626
+
627
+ .node rect,
628
+ .node circle,
629
+ .node ellipse,
630
+ .node polygon,
631
+ .node path {
632
+ fill: ${e.mainBkg};
633
+ stroke: ${e.nodeBorder};
634
+ stroke-width: 1px;
635
+ }
636
+
637
+ .node .label {
638
+ text-align: center;
639
+ }
640
+ .node.clickable {
641
+ cursor: pointer;
642
+ }
643
+
644
+ .arrowheadPath {
645
+ fill: ${e.arrowheadColor};
646
+ }
647
+
648
+ .edgePath .path {
649
+ stroke: ${e.lineColor};
650
+ stroke-width: 1.5px;
651
+ }
652
+
653
+ .flowchart-link {
654
+ stroke: ${e.lineColor};
655
+ fill: none;
656
+ }
657
+
658
+ .edgeLabel {
659
+ background-color: ${e.edgeLabelBackground};
660
+ rect {
661
+ opacity: 0.5;
662
+ }
663
+ text-align: center;
664
+ }
665
+
666
+ .cluster rect {
667
+ }
668
+
669
+ .cluster text {
670
+ fill: ${e.titleColor};
671
+ }
672
+
673
+ div.mermaidTooltip {
674
+ position: absolute;
675
+ text-align: center;
676
+ max-width: 200px;
677
+ padding: 2px;
678
+ font-family: ${e.fontFamily};
679
+ font-size: 12px;
680
+ background: ${e.tertiaryColor};
681
+ border: 1px solid ${e.border2};
682
+ border-radius: 2px;
683
+ pointer-events: none;
684
+ z-index: 100;
685
+ }
686
+
687
+ .task-type-0, .section-type-0 {
688
+ ${e.fillType0?`fill: ${e.fillType0}`:""};
689
+ }
690
+ .task-type-1, .section-type-1 {
691
+ ${e.fillType0?`fill: ${e.fillType1}`:""};
692
+ }
693
+ .task-type-2, .section-type-2 {
694
+ ${e.fillType0?`fill: ${e.fillType2}`:""};
695
+ }
696
+ .task-type-3, .section-type-3 {
697
+ ${e.fillType0?`fill: ${e.fillType3}`:""};
698
+ }
699
+ .task-type-4, .section-type-4 {
700
+ ${e.fillType0?`fill: ${e.fillType4}`:""};
701
+ }
702
+ .task-type-5, .section-type-5 {
703
+ ${e.fillType0?`fill: ${e.fillType5}`:""};
704
+ }
705
+ .task-type-6, .section-type-6 {
706
+ ${e.fillType0?`fill: ${e.fillType6}`:""};
707
+ }
708
+ .task-type-7, .section-type-7 {
709
+ ${e.fillType0?`fill: ${e.fillType7}`:""};
710
+ }
711
+
712
+ .actor-0 {
713
+ ${e.actor0?`fill: ${e.actor0}`:""};
714
+ }
715
+ .actor-1 {
716
+ ${e.actor1?`fill: ${e.actor1}`:""};
717
+ }
718
+ .actor-2 {
719
+ ${e.actor2?`fill: ${e.actor2}`:""};
720
+ }
721
+ .actor-3 {
722
+ ${e.actor3?`fill: ${e.actor3}`:""};
723
+ }
724
+ .actor-4 {
725
+ ${e.actor4?`fill: ${e.actor4}`:""};
726
+ }
727
+ .actor-5 {
728
+ ${e.actor5?`fill: ${e.actor5}`:""};
729
+ }
730
+ ${Vc()}
731
+ `,"getStyles"),C_e=xkt});var $W,bkt,w_e,S_e,Tkt,Ckt,FW,kkt,wkt,E_e,Skt,Ey,A_e=z(()=>{"use strict";Rr();gp();$W=o(function(e,t){return mp(e,t)},"drawRect"),bkt=o(function(e,t){let i=e.append("circle").attr("cx",t.cx).attr("cy",t.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),n=e.append("g");n.append("circle").attr("cx",t.cx-15/3).attr("cy",t.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),n.append("circle").attr("cx",t.cx+15/3).attr("cy",t.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function a(u){let h=Al().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);u.append("path").attr("class","mouth").attr("d",h).attr("transform","translate("+t.cx+","+(t.cy+2)+")")}o(a,"smile");function s(u){let h=Al().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);u.append("path").attr("class","mouth").attr("d",h).attr("transform","translate("+t.cx+","+(t.cy+7)+")")}o(s,"sad");function l(u){u.append("line").attr("class","mouth").attr("stroke",2).attr("x1",t.cx-5).attr("y1",t.cy+7).attr("x2",t.cx+5).attr("y2",t.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return o(l,"ambivalent"),t.score>3?a(n):t.score<3?s(n):l(n),i},"drawFace"),w_e=o(function(e,t){let r=e.append("circle");return r.attr("cx",t.cx),r.attr("cy",t.cy),r.attr("class","actor-"+t.pos),r.attr("fill",t.fill),r.attr("stroke",t.stroke),r.attr("r",t.r),r.class!==void 0&&r.attr("class",r.class),t.title!==void 0&&r.append("title").text(t.title),r},"drawCircle"),S_e=o(function(e,t){return yee(e,t)},"drawText"),Tkt=o(function(e,t){function r(n,a,s,l,u){return n+","+a+" "+(n+s)+","+a+" "+(n+s)+","+(a+l-u)+" "+(n+s-u*1.2)+","+(a+l)+" "+n+","+(a+l)}o(r,"genPoints");let i=e.append("polygon");i.attr("points",r(t.x,t.y,50,20,7)),i.attr("class","labelBox"),t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,S_e(e,t)},"drawLabel"),Ckt=o(function(e,t,r){let i=e.append("g"),n=fa();n.x=t.x,n.y=t.y,n.fill=t.fill,n.width=r.width*t.taskCount+r.diagramMarginX*(t.taskCount-1),n.height=r.height,n.class="journey-section section-type-"+t.num,n.rx=3,n.ry=3,$W(i,n),E_e(r)(t.text,i,n.x,n.y,n.width,n.height,{class:"journey-section section-type-"+t.num},r,t.colour)},"drawSection"),FW=-1,kkt=o(function(e,t,r,i){let n=t.x+r.width/2,a=e.append("g");FW++,a.append("line").attr("id",i+"-task"+FW).attr("x1",n).attr("y1",t.y).attr("x2",n).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),bkt(a,{cx:n,cy:300+(5-t.score)*30,score:t.score});let l=fa();l.x=t.x,l.y=t.y,l.fill=t.fill,l.width=r.width,l.height=r.height,l.class="task task-type-"+t.num,l.rx=3,l.ry=3,$W(a,l);let u=t.x+14;t.people.forEach(h=>{let d=t.actors[h].color,f={cx:u,cy:t.y,r:7,fill:d,stroke:"#000",title:h,pos:t.actors[h].position};w_e(a,f),u+=10}),E_e(r)(t.task,a,l.x,l.y,l.width,l.height,{class:"task"},r,t.colour)},"drawTask"),wkt=o(function(e,t){Bw(e,t)},"drawBackgroundRect"),E_e=(function(){function e(n,a,s,l,u,h,d,f){let p=a.append("text").attr("x",s+u/2).attr("y",l+h/2+5).style("font-color",f).style("text-anchor","middle").text(n);i(p,d)}o(e,"byText");function t(n,a,s,l,u,h,d,f,p){let{taskFontSize:m,taskFontFamily:g}=f,y=n.split(/<br\s*\/?>/gi);for(let v=0;v<y.length;v++){let x=v*m-m*(y.length-1)/2,b=a.append("text").attr("x",s+u/2).attr("y",l).attr("fill",p).style("text-anchor","middle").style("font-size",m).style("font-family",g);b.append("tspan").attr("x",s+u/2).attr("dy",x).text(y[v]),b.attr("y",l+h/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),i(b,d)}}o(t,"byTspan");function r(n,a,s,l,u,h,d,f){let p=a.append("switch"),g=p.append("foreignObject").attr("x",s).attr("y",l).attr("width",u).attr("height",h).attr("position","fixed").append("xhtml:div").style("display","table").style("height","100%").style("width","100%");g.append("div").attr("class","label").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(n),t(n,p,s,l,u,h,d,f),i(g,d)}o(r,"byFo");function i(n,a){for(let s in a)s in a&&n.attr(s,a[s])}return o(i,"_setTextAttrs"),function(n){return n.textPlacement==="fo"?r:n.textPlacement==="old"?e:t}})(),Skt=o(function(e,t){FW=-1,e.append("defs").append("marker").attr("id",t+"-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")},"initGraphics"),Ey={drawRect:$W,drawCircle:w_e,drawSection:Ckt,drawText:S_e,drawLabel:Tkt,drawTask:kkt,drawBackgroundRect:wkt,initGraphics:Skt}});function Akt(e){let t=ge().journey,r=t.maxLabelWidth;l_=0;let i=60;Object.keys(Ah).forEach(n=>{let a=Ah[n].color,s={cx:20,cy:i,r:7,fill:a,stroke:"#000",pos:Ah[n].position};Ey.drawCircle(e,s);let l=e.append("text").attr("visibility","hidden").text(n),u=l.node().getBoundingClientRect().width;l.remove();let h=[];if(u<=r)h=[n];else{let d=n.split(" "),f="";l=e.append("text").attr("visibility","hidden"),d.forEach(p=>{let m=f?`${f} ${p}`:p;if(l.text(m),l.node().getBoundingClientRect().width>r){if(f&&h.push(f),f=p,l.text(p),l.node().getBoundingClientRect().width>r){let y="";for(let v of p)y+=v,l.text(y+"-"),l.node().getBoundingClientRect().width>r&&(h.push(y.slice(0,-1)+"-"),y=v);f=y}}else f=m}),f&&h.push(f),l.remove()}h.forEach((d,f)=>{let p={x:40,y:i+7+f*20,fill:"#666",text:d,textMargin:t.boxTextMargin??5},g=Ey.drawText(e,p).node().getBoundingClientRect().width;g>l_&&g>t.leftMargin-g&&(l_=g)}),i+=Math.max(20,h.length*20)})}var Ekt,Ah,l_,Zl,Mf,_kt,ll,zW,__e,Dkt,GW,D_e=z(()=>{"use strict";Rr();A_e();Ut();Di();Ekt=o(function(e){Object.keys(e).forEach(function(r){Zl[r]=e[r]})},"setConf"),Ah={},l_=0;o(Akt,"drawActorLegend");Zl=ge().journey,Mf=0,_kt=o(function(e,t,r,i){let n=ge(),a=n.journey.titleColor,s=n.journey.titleFontSize,l=n.journey.titleFontFamily,u=n.securityLevel,h;u==="sandbox"&&(h=Je("#i"+t));let d=u==="sandbox"?Je(h.nodes()[0].contentDocument.body):Je("body");ll.init();let f=d.select("#"+t);Ey.initGraphics(f,t);let p=i.db.getTasks(),m=i.db.getDiagramTitle(),g=i.db.getActors();for(let w in Ah)delete Ah[w];let y=0;g.forEach(w=>{Ah[w]={color:Zl.actorColours[y%Zl.actorColours.length],position:y},y++}),Akt(f),Mf=Zl.leftMargin+l_,ll.insert(0,0,Mf,Object.keys(Ah).length*50),Dkt(f,p,0,t);let v=ll.getBounds();m&&f.append("text").text(m).attr("x",Mf).attr("font-size",s).attr("font-weight","bold").attr("y",25).attr("fill",a).attr("font-family",l);let x=v.stopy-v.starty+2*Zl.diagramMarginY,b=Mf+v.stopx+2*Zl.diagramMarginX;Br(f,x,b,Zl.useMaxWidth),f.append("line").attr("x1",Mf).attr("y1",Zl.height*4).attr("x2",b-Mf-4).attr("y2",Zl.height*4).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#"+t+"-arrowhead)");let T=m?70:0;f.attr("viewBox",`${v.startx} -25 ${b} ${x+T}`),f.attr("preserveAspectRatio","xMinYMin meet"),f.attr("height",x+T+25)},"draw"),ll={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:o(function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},"init"),updateVal:o(function(e,t,r,i){e[t]===void 0?e[t]=r:e[t]=i(r,e[t])},"updateVal"),updateBounds:o(function(e,t,r,i){let n=ge().journey,a=this,s=0;function l(u){return o(function(d){s++;let f=a.sequenceItems.length-s+1;a.updateVal(d,"starty",t-f*n.boxMargin,Math.min),a.updateVal(d,"stopy",i+f*n.boxMargin,Math.max),a.updateVal(ll.data,"startx",e-f*n.boxMargin,Math.min),a.updateVal(ll.data,"stopx",r+f*n.boxMargin,Math.max),u!=="activation"&&(a.updateVal(d,"startx",e-f*n.boxMargin,Math.min),a.updateVal(d,"stopx",r+f*n.boxMargin,Math.max),a.updateVal(ll.data,"starty",t-f*n.boxMargin,Math.min),a.updateVal(ll.data,"stopy",i+f*n.boxMargin,Math.max))},"updateItemBounds")}o(l,"updateFn"),this.sequenceItems.forEach(l())},"updateBounds"),insert:o(function(e,t,r,i){let n=Math.min(e,r),a=Math.max(e,r),s=Math.min(t,i),l=Math.max(t,i);this.updateVal(ll.data,"startx",n,Math.min),this.updateVal(ll.data,"starty",s,Math.min),this.updateVal(ll.data,"stopx",a,Math.max),this.updateVal(ll.data,"stopy",l,Math.max),this.updateBounds(n,s,a,l)},"insert"),bumpVerticalPos:o(function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},"bumpVerticalPos"),getVerticalPos:o(function(){return this.verticalPos},"getVerticalPos"),getBounds:o(function(){return this.data},"getBounds")},zW=Zl.sectionFills,__e=Zl.sectionColours,Dkt=o(function(e,t,r,i){let n=ge().journey,a="",s=n.height*2+n.diagramMarginY,l=r+s,u=0,h="#CCC",d="black",f=0;for(let[p,m]of t.entries()){if(a!==m.section){h=zW[u%zW.length],f=u%zW.length,d=__e[u%__e.length];let y=0,v=m.section;for(let b=p;b<t.length&&t[b].section==v;b++)y=y+1;let x={x:p*n.taskMargin+p*n.width+Mf,y:50,text:m.section,fill:h,num:f,colour:d,taskCount:y};Ey.drawSection(e,x,n),a=m.section,u++}let g=m.people.reduce((y,v)=>(Ah[v]&&(y[v]=Ah[v]),y),{});m.x=p*n.taskMargin+p*n.width+Mf,m.y=l,m.width=n.diagramMarginX,m.height=n.diagramMarginY,m.colour=d,m.fill=h,m.num=f,m.actors=g,Ey.drawTask(e,m,n,i),ll.insert(m.x,m.y,m.x+m.width+n.taskMargin,450)}},"drawTasks"),GW={setConf:Ekt,draw:_kt}});var R_e={};xr(R_e,{diagram:()=>Rkt});var Rkt,L_e=z(()=>{"use strict";x_e();T_e();k_e();D_e();Rkt={parser:v_e,db:BW,renderer:GW,styles:C_e,init:o(e=>{GW.setConf(e.journey),BW.clear()},"init")}});var WW,F_e,$_e=z(()=>{"use strict";WW=(function(){var e=o(function(p,m,g,y){for(g=g||{},y=p.length;y--;g[p[y]]=m);return g},"o"),t=[6,11,13,14,15,17,19,20,23,24],r=[1,12],i=[1,13],n=[1,14],a=[1,15],s=[1,16],l=[1,19],u=[1,20],h={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,timeline_header:4,document:5,EOF:6,timeline:7,timeline_lr:8,timeline_td:9,line:10,SPACE:11,statement:12,NEWLINE:13,title:14,acc_title:15,acc_title_value:16,acc_descr:17,acc_descr_value:18,acc_descr_multiline_value:19,section:20,period_statement:21,event_statement:22,period:23,event:24,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",7:"timeline",8:"timeline_lr",9:"timeline_td",11:"SPACE",13:"NEWLINE",14:"title",15:"acc_title",16:"acc_title_value",17:"acc_descr",18:"acc_descr_value",19:"acc_descr_multiline_value",20:"section",23:"period",24:"event"},productions_:[0,[3,3],[4,1],[4,1],[4,1],[5,0],[5,2],[10,2],[10,1],[10,1],[10,1],[12,1],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[21,1],[22,1]],performAction:o(function(m,g,y,v,x,b,T){var w=b.length-1;switch(x){case 1:return b[w-1];case 3:v.setDirection("LR");break;case 4:v.setDirection("TD");break;case 5:this.$=[];break;case 6:b[w-1].push(b[w]),this.$=b[w-1];break;case 7:case 8:this.$=b[w];break;case 9:case 10:this.$=[];break;case 11:v.getCommonDb().setDiagramTitle(b[w].substr(6)),this.$=b[w].substr(6);break;case 12:this.$=b[w].trim(),v.getCommonDb().setAccTitle(this.$);break;case 13:case 14:this.$=b[w].trim(),v.getCommonDb().setAccDescription(this.$);break;case 15:v.addSection(b[w].substr(8)),this.$=b[w].substr(8);break;case 18:v.addTask(b[w],0,""),this.$=b[w];break;case 19:v.addEvent(b[w].substr(2)),this.$=b[w];break}},"anonymous"),table:[{3:1,4:2,7:[1,3],8:[1,4],9:[1,5]},{1:[3]},e(t,[2,5],{5:6}),e(t,[2,2]),e(t,[2,3]),e(t,[2,4]),{6:[1,7],10:8,11:[1,9],12:10,13:[1,11],14:r,15:i,17:n,19:a,20:s,21:17,22:18,23:l,24:u},e(t,[2,10],{1:[2,1]}),e(t,[2,6]),{12:21,14:r,15:i,17:n,19:a,20:s,21:17,22:18,23:l,24:u},e(t,[2,8]),e(t,[2,9]),e(t,[2,11]),{16:[1,22]},{18:[1,23]},e(t,[2,14]),e(t,[2,15]),e(t,[2,16]),e(t,[2,17]),e(t,[2,18]),e(t,[2,19]),e(t,[2,7]),e(t,[2,12]),e(t,[2,13])],defaultActions:{},parseError:o(function(m,g){if(g.recoverable)this.trace(m);else{var y=new Error(m);throw y.hash=g,y}},"parseError"),parse:o(function(m){var g=this,y=[0],v=[],x=[null],b=[],T=this.table,w="",C=0,k=0,E=0,A=2,N=1,P=b.slice.call(arguments,1),I=Object.create(this.lexer),D={yy:{}};for(var _ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,_)&&(D.yy[_]=this.yy[_]);I.setInput(m,D.yy),D.yy.lexer=I,D.yy.parser=this,typeof I.yylloc>"u"&&(I.yylloc={});var R=I.yylloc;b.push(R);var M=I.options&&I.options.ranges;typeof D.yy.parseError=="function"?this.parseError=D.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function L(te){y.length=y.length-2*te,x.length=x.length-te,b.length=b.length-te}o(L,"popStack");function B(){var te;return te=v.pop()||I.lex()||N,typeof te!="number"&&(te instanceof Array&&(v=te,te=v.pop()),te=g.symbols_[te]||te),te}o(B,"lex");for(var O,$,G,F,V,H,j={},U,Q,Y,ae;;){if(G=y[y.length-1],this.defaultActions[G]?F=this.defaultActions[G]:((O===null||typeof O>"u")&&(O=B()),F=T[G]&&T[G][O]),typeof F>"u"||!F.length||!F[0]){var J="";ae=[];for(U in T[G])this.terminals_[U]&&U>A&&ae.push("'"+this.terminals_[U]+"'");I.showPosition?J="Parse error on line "+(C+1)+`:
732
+ `+I.showPosition()+`
733
+ Expecting `+ae.join(", ")+", got '"+(this.terminals_[O]||O)+"'":J="Parse error on line "+(C+1)+": Unexpected "+(O==N?"end of input":"'"+(this.terminals_[O]||O)+"'"),this.parseError(J,{text:I.match,token:this.terminals_[O]||O,line:I.yylineno,loc:R,expected:ae})}if(F[0]instanceof Array&&F.length>1)throw new Error("Parse Error: multiple actions possible at state: "+G+", token: "+O);switch(F[0]){case 1:y.push(O),x.push(I.yytext),b.push(I.yylloc),y.push(F[1]),O=null,$?(O=$,$=null):(k=I.yyleng,w=I.yytext,C=I.yylineno,R=I.yylloc,E>0&&E--);break;case 2:if(Q=this.productions_[F[1]][1],j.$=x[x.length-Q],j._$={first_line:b[b.length-(Q||1)].first_line,last_line:b[b.length-1].last_line,first_column:b[b.length-(Q||1)].first_column,last_column:b[b.length-1].last_column},M&&(j._$.range=[b[b.length-(Q||1)].range[0],b[b.length-1].range[1]]),H=this.performAction.apply(j,[w,k,C,D.yy,F[1],x,b].concat(P)),typeof H<"u")return H;Q&&(y=y.slice(0,-1*Q*2),x=x.slice(0,-1*Q),b=b.slice(0,-1*Q)),y.push(this.productions_[F[1]][0]),x.push(j.$),b.push(j._$),Y=T[y[y.length-2]][y[y.length-1]],y.push(Y);break;case 3:return!0}}return!0},"parse")},d=(function(){var p={EOF:1,parseError:o(function(g,y){if(this.yy.parser)this.yy.parser.parseError(g,y);else throw new Error(g)},"parseError"),setInput:o(function(m,g){return this.yy=g||this.yy||{},this._input=m,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},"setInput"),input:o(function(){var m=this._input[0];this.yytext+=m,this.yyleng++,this.offset++,this.match+=m,this.matched+=m;var g=m.match(/(?:\r\n?|\n).*/g);return g?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),m},"input"),unput:o(function(m){var g=m.length,y=m.split(/(?:\r\n?|\n)/g);this._input=m+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-g),this.offset-=g;var v=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),y.length-1&&(this.yylineno-=y.length-1);var x=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:y?(y.length===v.length?this.yylloc.first_column:0)+v[v.length-y.length].length-y[0].length:this.yylloc.first_column-g},this.options.ranges&&(this.yylloc.range=[x[0],x[0]+this.yyleng-g]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
734
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(m){this.unput(this.match.slice(m))},"less"),pastInput:o(function(){var m=this.matched.substr(0,this.matched.length-this.match.length);return(m.length>20?"...":"")+m.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var m=this.match;return m.length<20&&(m+=this._input.substr(0,20-m.length)),(m.substr(0,20)+(m.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var m=this.pastInput(),g=new Array(m.length+1).join("-");return m+this.upcomingInput()+`
735
+ `+g+"^"},"showPosition"),test_match:o(function(m,g){var y,v,x;if(this.options.backtrack_lexer&&(x={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&&(x.yylloc.range=this.yylloc.range.slice(0))),v=m[0].match(/(?:\r\n?|\n).*/g),v&&(this.yylineno+=v.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:v?v[v.length-1].length-v[v.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+m[0].length},this.yytext+=m[0],this.match+=m[0],this.matches=m,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(m[0].length),this.matched+=m[0],y=this.performAction.call(this,this.yy,this,g,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),y)return y;if(this._backtrack){for(var b in x)this[b]=x[b];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var m,g,y,v;this._more||(this.yytext="",this.match="");for(var x=this._currentRules(),b=0;b<x.length;b++)if(y=this._input.match(this.rules[x[b]]),y&&(!g||y[0].length>g[0].length)){if(g=y,v=b,this.options.backtrack_lexer){if(m=this.test_match(y,x[b]),m!==!1)return m;if(this._backtrack){g=!1;continue}else return!1}else if(!this.options.flex)break}return g?(m=this.test_match(g,x[v]),m!==!1?m:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
736
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var g=this.next();return g||this.lex()},"lex"),begin:o(function(g){this.conditionStack.push(g)},"begin"),popState:o(function(){var g=this.conditionStack.length-1;return g>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(g){return g=this.conditionStack.length-1-Math.abs(g||0),g>=0?this.conditionStack[g]:"INITIAL"},"topState"),pushState:o(function(g){this.begin(g)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(g,y,v,x){var b=x;switch(v){case 0:break;case 1:break;case 2:return 13;case 3:break;case 4:break;case 5:return 8;case 6:return 9;case 7:return 7;case 8:return 14;case 9:return this.begin("acc_title"),15;break;case 10:return this.popState(),"acc_title_value";break;case 11:return this.begin("acc_descr"),17;break;case 12:return this.popState(),"acc_descr_value";break;case 13:this.begin("acc_descr_multiline");break;case 14:this.popState();break;case 15:return"acc_descr_multiline_value";case 16:return 20;case 17:return 24;case 18:return 23;case 19:return 6;case 20:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:timeline[ \t]+LR\b)/i,/^(?:timeline[ \t]+TD\b)/i,/^(?:timeline\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^:\n]+)/i,/^(?::\s(?:[^:\n]|:(?!\s))+)/i,/^(?:[^#:\n]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[14,15],inclusive:!1},acc_descr:{rules:[12],inclusive:!1},acc_title:{rules:[10],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,11,13,16,17,18,19,20],inclusive:!0}}};return p})();h.lexer=d;function f(){this.yy={}}return o(f,"Parser"),f.prototype=h,h.Parser=f,new f})();WW.parser=WW;F_e=WW});var HW={};xr(HW,{addEvent:()=>K_e,addSection:()=>H_e,addTask:()=>X_e,addTaskOrg:()=>Z_e,clear:()=>W_e,default:()=>$kt,getCommonDb:()=>V_e,getDirection:()=>U_e,getSections:()=>Y_e,getTasks:()=>j_e,setDirection:()=>q_e});var Ay,G_e,qW,UW,c_,_y,V_e,W_e,q_e,U_e,H_e,Y_e,j_e,X_e,K_e,Z_e,z_e,$kt,Q_e=z(()=>{"use strict";Ci();Ay="",G_e=0,qW="LR",UW=[],c_=[],_y=[],V_e=o(()=>wv,"getCommonDb"),W_e=o(function(){UW.length=0,c_.length=0,Ay="",_y.length=0,qW="LR",gr()},"clear"),q_e=o(function(e){qW=e},"setDirection"),U_e=o(function(){return qW},"getDirection"),H_e=o(function(e){Ay=e,UW.push(e)},"addSection"),Y_e=o(function(){return UW},"getSections"),j_e=o(function(){let e=z_e(),t=100,r=0;for(;!e&&r<t;)e=z_e(),r++;return c_.push(..._y),c_},"getTasks"),X_e=o(function(e,t,r){let i={id:G_e++,section:Ay,type:Ay,task:e,score:t||0,events:r?[r]:[]};_y.push(i)},"addTask"),K_e=o(function(e){_y.find(r=>r.id===G_e-1).events.push(e)},"addEvent"),Z_e=o(function(e){let t={section:Ay,type:Ay,description:e,task:e,classes:[]};c_.push(t)},"addTaskOrg"),z_e=o(function(){let e=o(function(r){return _y[r].processed},"compileTask"),t=!0;for(let[r,i]of _y.entries())e(r),t=t&&i.processed;return t},"compileTasks"),$kt={clear:W_e,getCommonDb:V_e,getDirection:U_e,setDirection:q_e,addSection:H_e,getSections:Y_e,getTasks:j_e,addTask:X_e,addTaskOrg:Z_e,addEvent:K_e}});function r7e(e,t){e.each(function(){var r=Je(this),i=r.text().split(/(\s+|<br>)/).reverse(),n,a=[],s=1.1,l=r.attr("y"),u=parseFloat(r.attr("dy")),h=r.text(null).append("tspan").attr("x",0).attr("y",l).attr("dy",u+"em");for(let d=0;d<i.length;d++)n=i[i.length-1-d],a.push(n),h.text(a.join(" ").trim()),(h.node().getComputedTextLength()>t||n==="<br>")&&(a.pop(),h.text(a.join(" ").trim()),n==="<br>"?a=[""]:a=[n],h=r.append("tspan").attr("x",0).attr("y",l).attr("dy",s+"em").text(n))})}var J_e,u_,zkt,Gkt,e7e,Vkt,Wkt,YW,qkt,Ukt,Hkt,jW,t7e,Ykt,jkt,Xkt,Kkt,Fa,XW=z(()=>{"use strict";Rr();J_e=0,u_=o(function(e,t){let r=e.append("rect");return r.attr("x",t.x),r.attr("y",t.y),r.attr("fill",t.fill),r.attr("stroke",t.stroke),r.attr("width",t.width),r.attr("height",t.height),r.attr("rx",t.rx),r.attr("ry",t.ry),t.class!==void 0&&r.attr("class",t.class),r},"drawRect"),zkt=o(function(e,t){let i=e.append("circle").attr("cx",t.cx).attr("cy",t.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),n=e.append("g");n.append("circle").attr("cx",t.cx-15/3).attr("cy",t.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),n.append("circle").attr("cx",t.cx+15/3).attr("cy",t.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function a(u){let h=Al().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);u.append("path").attr("class","mouth").attr("d",h).attr("transform","translate("+t.cx+","+(t.cy+2)+")")}o(a,"smile");function s(u){let h=Al().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);u.append("path").attr("class","mouth").attr("d",h).attr("transform","translate("+t.cx+","+(t.cy+7)+")")}o(s,"sad");function l(u){u.append("line").attr("class","mouth").attr("stroke",2).attr("x1",t.cx-5).attr("y1",t.cy+7).attr("x2",t.cx+5).attr("y2",t.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return o(l,"ambivalent"),t.score>3?a(n):t.score<3?s(n):l(n),i},"drawFace"),Gkt=o(function(e,t){let r=e.append("circle");return r.attr("cx",t.cx),r.attr("cy",t.cy),r.attr("class","actor-"+t.pos),r.attr("fill",t.fill),r.attr("stroke",t.stroke),r.attr("r",t.r),r.class!==void 0&&r.attr("class",r.class),t.title!==void 0&&r.append("title").text(t.title),r},"drawCircle"),e7e=o(function(e,t){let r=t.text.replace(/<br\s*\/?>/gi," "),i=e.append("text");i.attr("x",t.x),i.attr("y",t.y),i.attr("class","legend"),i.style("text-anchor",t.anchor),t.class!==void 0&&i.attr("class",t.class);let n=i.append("tspan");return n.attr("x",t.x+t.textMargin*2),n.text(r),i},"drawText"),Vkt=o(function(e,t){function r(n,a,s,l,u){return n+","+a+" "+(n+s)+","+a+" "+(n+s)+","+(a+l-u)+" "+(n+s-u*1.2)+","+(a+l)+" "+n+","+(a+l)}o(r,"genPoints");let i=e.append("polygon");i.attr("points",r(t.x,t.y,50,20,7)),i.attr("class","labelBox"),t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,e7e(e,t)},"drawLabel"),Wkt=o(function(e,t,r){let i=e.append("g"),n=jW();n.x=t.x,n.y=t.y,n.fill=t.fill,n.width=r.width,n.height=r.height,n.class="journey-section section-type-"+t.num,n.rx=3,n.ry=3,u_(i,n),t7e(r)(t.text,i,n.x,n.y,n.width,n.height,{class:"journey-section section-type-"+t.num},r,t.colour)},"drawSection"),YW=-1,qkt=o(function(e,t,r,i){let n=t.x+r.width/2,a=e.append("g");YW++,a.append("line").attr("id",i+"-task"+YW).attr("x1",n).attr("y1",t.y).attr("x2",n).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),zkt(a,{cx:n,cy:300+(5-t.score)*30,score:t.score});let l=jW();l.x=t.x,l.y=t.y,l.fill=t.fill,l.width=r.width,l.height=r.height,l.class="task task-type-"+t.num,l.rx=3,l.ry=3,u_(a,l),t7e(r)(t.task,a,l.x,l.y,l.width,l.height,{class:"task"},r,t.colour)},"drawTask"),Ukt=o(function(e,t){u_(e,{x:t.startx,y:t.starty,width:t.stopx-t.startx,height:t.stopy-t.starty,fill:t.fill,class:"rect"}).lower()},"drawBackgroundRect"),Hkt=o(function(){return{x:0,y:0,fill:void 0,"text-anchor":"start",width:100,height:100,textMargin:0,rx:0,ry:0}},"getTextObj"),jW=o(function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),t7e=(function(){function e(n,a,s,l,u,h,d,f){let p=a.append("text").attr("x",s+u/2).attr("y",l+h/2+5).style("font-color",f).style("text-anchor","middle").text(n);i(p,d)}o(e,"byText");function t(n,a,s,l,u,h,d,f,p){let{taskFontSize:m,taskFontFamily:g}=f,y=n.split(/<br\s*\/?>/gi);for(let v=0;v<y.length;v++){let x=v*m-m*(y.length-1)/2,b=a.append("text").attr("x",s+u/2).attr("y",l).attr("fill",p).style("text-anchor","middle").style("font-size",m).style("font-family",g);b.append("tspan").attr("x",s+u/2).attr("dy",x).text(y[v]),b.attr("y",l+h/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),i(b,d)}}o(t,"byTspan");function r(n,a,s,l,u,h,d,f){let p=a.append("switch"),g=p.append("foreignObject").attr("x",s).attr("y",l).attr("width",u).attr("height",h).attr("position","fixed").append("xhtml:div").style("display","table").style("height","100%").style("width","100%");g.append("div").attr("class","label").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(n),t(n,p,s,l,u,h,d,f),i(g,d)}o(r,"byFo");function i(n,a){for(let s in a)s in a&&n.attr(s,a[s])}return o(i,"_setTextAttrs"),function(n){return n.textPlacement==="fo"?r:n.textPlacement==="old"?e:t}})(),Ykt=o(function(e,t){J_e=0,YW=-1,e.append("defs").append("marker").attr("id",t+"-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")},"initGraphics");o(r7e,"wrap");jkt=o(function(e,t,r,i,n,a=!1){let{theme:s,look:l}=i,u=s?.includes("redux"),h=i?.themeVariables?.THEME_COLOR_LIMIT??12,d=r%h-1,f=e.append("g");t.section=d,f.attr("class",(t.class?t.class+" ":"")+"timeline-node "+("section-"+d));let p=f.append("g"),m=f.append("g"),y=m.append("text").text(t.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(r7e,t.width).node().getBBox(),v=i.fontSize?.replace?i.fontSize.replace("px",""):i.fontSize;if(t.height=y.height+v*1.1*.5+t.padding,t.height=Math.max(t.height,t.maxHeight),t.width=t.width+2*t.padding,m.attr("transform","translate("+t.width/2+", "+t.padding/2+")"),u&&m.attr("transform",`translate(${t.width/2}, ${a?t.padding/2+3:t.padding})`),Kkt(p,t,d,n,i),l==="neo"&&(f.attr("data-look","neo"),u)){let x=s.includes("dark"),b=e.node()?.ownerSVGElement??e.node(),T=Je(b),w=T.attr("id")??"",C=w?`${w}-drop-shadow`:"drop-shadow";if(T.select(`#${C}`).empty()){let k=T.select("defs");(k.empty()?T.append("defs"):k).append("filter").attr("id",C).attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity",x?"0.2":"0.06").attr("flood-color",x?"#FFFFFF":"#000000")}}return t},"drawNode"),Xkt=o(function(e,t,r){let i=e.append("g"),a=i.append("text").text(t.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(r7e,t.width).node().getBBox(),s=r.fontSize?.replace?r.fontSize.replace("px",""):r.fontSize;return i.remove(),a.height+s*1.1*.5+t.padding},"getVirtualNodeHeight"),Kkt=o(function(e,t,r,i,n){let{theme:a}=n,s=a?.includes("redux")?0:5,l=5,u=s>0?`M0 ${t.height-l} v${-t.height+2*l} q0,-${s},${s},-${s} h${t.width-2*l} q${s},0,${s},${s} v${t.height-l} H0 Z`:`M0 ${t.height-l} v${-(t.height-l)} h${t.width} v${t.height} H0 Z`;e.append("path").attr("id",i+"-node-"+J_e++).attr("class","node-bkg node-"+t.type).attr("d",u),a?.includes("redux")||e.append("line").attr("class","node-line-"+r).attr("x1",0).attr("y1",t.height).attr("x2",t.width).attr("y2",t.height)},"defaultBkg"),Fa={drawRect:u_,drawCircle:Gkt,drawSection:Wkt,drawText:e7e,drawLabel:Vkt,drawTask:qkt,drawBackgroundRect:Ukt,getTextObj:Hkt,getNoteRect:jW,initGraphics:Ykt,drawNode:jkt,getVirtualNodeHeight:Xkt}});var Zkt,i7e,Qkt,n7e,a7e=z(()=>{"use strict";Rr();XW();St();Ut();Di();Zkt=o(function(e,t,r,i){let n=ge(),{look:a,theme:s,themeVariables:l}=n,{useGradient:u,gradientStart:h,gradientStop:d}=l,f=n.timeline?.leftMargin??50;Z.debug("timeline",i.db);let p=n.securityLevel,m;p==="sandbox"&&(m=Je("#i"+t));let y=(p==="sandbox"?Je(m.nodes()[0].contentDocument.body):Je("body")).select("#"+t);y.append("g");let v=i.db.getTasks(),x=i.db.getCommonDb().getDiagramTitle();Z.debug("task",v),Fa.initGraphics(y,t);let b=i.db.getSections();Z.debug("sections",b);let T=0,w=0,C=0,k=0,E=50+f,A=50;k=50;let N=0,P=!0;b.forEach(function(M){let L={number:N,descr:M,section:N,width:150,padding:20,maxHeight:T},B=Fa.getVirtualNodeHeight(y,L,n);Z.debug("sectionHeight before draw",B),T=Math.max(T,B+20)});let I=0,D=0;Z.debug("tasks.length",v.length);for(let[M,L]of v.entries()){let B={number:M,descr:L,section:L.section,width:150,padding:20,maxHeight:w},O=Fa.getVirtualNodeHeight(y,B,n);Z.debug("taskHeight before draw",O),w=Math.max(w,O+20),I=Math.max(I,L.events.length);let $=0;for(let G of L.events){let F={descr:G,section:L.section,number:L.section,width:150,padding:20,maxHeight:50};$+=Fa.getVirtualNodeHeight(y,F,n)}L.events.length>0&&($+=(L.events.length-1)*10),D=Math.max(D,$)}Z.debug("maxSectionHeight before draw",T),Z.debug("maxTaskHeight before draw",w),b&&b.length>0?b.forEach(M=>{let L=v.filter(G=>G.section===M),B={number:N,descr:M,section:N,width:200*Math.max(L.length,1)-50,padding:20,maxHeight:T};Z.debug("sectionNode",B);let O=y.append("g"),$=Fa.drawNode(O,B,N,n,t);Z.debug("sectionNode output",$),O.attr("transform",`translate(${E}, ${k})`),A+=T+50,L.length>0&&i7e(y,L,N,E,A,w,n,I,D,T,!1,t),E+=200*Math.max(L.length,1),A=k,N++}):(P=!1,i7e(y,v,N,E,A,w,n,I,D,T,!0,t));let _=y.node().getBBox();if(Z.debug("bounds",_),x&&y.append("text").text(x).attr("x",a==="neo"?_.x*2+f:_.width/2-f).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),C=P?T+w+150:w+100,y.append("g").attr("class","lineWrapper").append("line").attr("x1",f).attr("y1",C).attr("x2",_.width+3*f).attr("y2",C).attr("stroke-width",4).attr("stroke","black").attr("marker-end",`url(#${t}-arrowhead)`),a==="neo"&&u&&s!=="neutral"){let M=y.select("defs"),B=(M.empty()?y.append("defs"):M).append("linearGradient").attr("id",y.attr("id")+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");B.append("stop").attr("offset","0%").attr("stop-color",h).attr("stop-opacity",1),B.append("stop").attr("offset","100%").attr("stop-color",d).attr("stop-opacity",1)}Io(void 0,y,n.timeline?.padding??50,n.timeline?.useMaxWidth??!1)},"draw"),i7e=o(function(e,t,r,i,n,a,s,l,u,h,d,f){for(let p of t){let m={descr:p.task,section:r,number:r,width:150,padding:20,maxHeight:a};Z.debug("taskNode",m);let g=e.append("g").attr("class","taskWrapper"),v=Fa.drawNode(g,m,r,s,f).height;if(Z.debug("taskHeight after draw",v),g.attr("transform",`translate(${i}, ${n})`),a=Math.max(a,v),p.events){let x=e.append("g").attr("class","lineWrapper"),b=a;n+=100,b=b+Qkt(e,p.events,r,i,n,s,f),n-=100,x.append("line").attr("x1",i+190/2).attr("y1",n+a).attr("x2",i+190/2).attr("y2",n+a+100+u+100).attr("stroke-width",2).attr("stroke","black").attr("marker-end",`url(#${f}-arrowhead)`).attr("stroke-dasharray","5,5")}i=i+200,d&&!s.timeline?.disableMulticolor&&r++}n=n-10},"drawTasks"),Qkt=o(function(e,t,r,i,n,a,s){let l=0,u=n;n=n+100;for(let h of t){let d={descr:h,section:r,number:r,width:150,padding:20,maxHeight:50};Z.debug("eventNode",d);let f=e.append("g").attr("class","eventWrapper"),m=Fa.drawNode(f,d,r,a,s,!0).height;l=l+m,f.attr("transform",`translate(${i}, ${n})`),n=n+10+m}return n=u,l},"drawEvents"),n7e={setConf:o(()=>{},"setConf"),draw:Zkt}});var h_,_h,Jkt,KW,ewt,c7e,twt,s7e,u7e,o7e,h7e,rwt,l7e,iwt,d7e,f7e=z(()=>{"use strict";XW();St();Ut();Di();ps();Xt();h_=200,_h=5,Jkt=h_+_h*2,KW=h_+100,ewt=KW+_h*2,c7e=10,twt=0,s7e=20,u7e=20,o7e=30,h7e=50,rwt=o(function(e,t,r,i){let n=ge(),a=n.timeline?.leftMargin??50;Z.debug("timeline",i.db);let s=bi(t);s.append("g");let l=i.db.getTasks(),u=i.db.getCommonDb().getDiagramTitle();Z.debug("task",l),Fa.initGraphics(s);let h=i.db.getSections();Z.debug("sections",h);let d=0,f=0,p=50+a,m=50,g=m,y=p,v=Jkt+u7e,x=ewt+h7e,b=y+v,T=0,w=h&&h.length>0,C=w?b:p+v,k=Math.max(50,v+x-_h*2);h.forEach(function(M){let L={number:T,descr:M,section:T,width:k,padding:_h,maxHeight:d},B=Fa.getVirtualNodeHeight(s,L,n);Z.debug("sectionHeight before draw",B),d=Math.max(d,B)});let E=0;Z.debug("tasks.length",l.length);for(let[M,L]of l.entries()){let B={number:M,descr:L,section:L.section,width:h_,padding:_h,maxHeight:f},O=Fa.getVirtualNodeHeight(s,B,n);Z.debug("taskHeight before draw",O),f=Math.max(f,O);let $=0;for(let G of L.events){let F={descr:G,section:L.section,number:L.section,width:KW,padding:_h,maxHeight:50};$+=Fa.getVirtualNodeHeight(s,F,n)}L.events.length>0&&($+=(L.events.length-1)*c7e),E=Math.max(E,$)+twt}Z.debug("maxSectionHeight before draw",d),Z.debug("maxTaskHeight before draw",f);let N=Math.max(f,E)+o7e;w?h.forEach(M=>{let L=l.filter(j=>j.section===M),B={number:T,descr:M,section:T,width:k,padding:_h,maxHeight:d};Z.debug("sectionNode",B);let O=s.append("g"),$=Fa.drawNode(O,B,T,n);Z.debug("sectionNode output",$);let G=C-v;O.attr("transform",`translate(${G}, ${m})`);let F=m+$.height+s7e;L.length>0&&l7e(s,L,T,C,F,f,n,N,!1);let V=L.length,H=$.height+s7e+N*Math.max(V,1)-(V>0?o7e*2:0);m+=H,T++}):l7e(s,l,T,C,m,f,n,N,!0);let P=s.node()?.getBBox();if(!P)throw new Error("bbox not found");if(Z.debug("bounds",P),u){if(s.append("text").text(u).attr("x",P.width/2-a).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),P=s.node()?.getBBox(),!P)throw new Error("bbox not found");Z.debug("bounds after title",P)}let[I]=Za(n.fontSize),D=(I??16)*2,_=(I??16)*.5+20,R=s.append("g").attr("class","lineWrapper");R.append("line").attr("x1",C).attr("y1",g-D).attr("x2",C).attr("y2",P.y+P.height+_).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)"),R.lower(),Io(void 0,s,n.timeline?.padding??50,n.timeline?.useMaxWidth??!1)},"draw"),l7e=o(function(e,t,r,i,n,a,s,l,u){for(let h of t){let d={descr:h.task,section:r,number:r,width:h_,padding:_h,maxHeight:a};Z.debug("taskNode",d);let f=e.append("g").attr("class","taskWrapper"),p=Fa.drawNode(f,d,r,s),m=p.height;Z.debug("taskHeight after draw",m);let g=i-u7e-p.width;if(f.attr("transform",`translate(${g}, ${n})`),a=Math.max(a,m),h.events&&h.events.length>0){let y=n,v=i+h7e;iwt(e,h.events,r,i,v,y,s)}n=n+l,u&&!s.timeline?.disableMulticolor&&r++}},"drawTasks"),iwt=o(function(e,t,r,i,n,a,s){let l=a;for(let u of t){let h={descr:u,section:r,number:r,width:KW,padding:_h,maxHeight:0};Z.debug("eventNode",h);let d=e.append("g").attr("class","eventWrapper"),p=Fa.drawNode(d,h,r,s).height;d.attr("transform",`translate(${n}, ${l})`);let m=e.append("g").attr("class","lineWrapper"),g=l+p/2;m.append("line").attr("x1",i).attr("y1",g).attr("x2",n).attr("y2",g).attr("stroke-width",2).attr("stroke","black").attr("marker-end","url(#arrowhead)").attr("stroke-dasharray","5,5"),l=l+p+c7e}return l-a},"drawEvents"),d7e={setConf:o(()=>{},"setConf"),draw:rwt}});var nwt,awt,swt,p7e,m7e=z(()=>{"use strict";Cn();br();nwt=o(e=>{let{theme:t}=Nt(),r=t?.includes("dark"),i=t?.includes("color"),n=e.svgId?.replace(/^#/,"")??"",a=n?`url(#${n}-drop-shadow)`:e.dropShadow??"none",s="";for(let l=0;l<e.THEME_COLOR_LIMIT;l++){let u=`${17-3*l}`,h=i?e.borderColorArray[l]:e.mainBkg,d=i?e.borderColorArray[l]:e.nodeBorder;s+=`
737
+ .section-${l-1} rect,
738
+ .section-${l-1} path,
739
+ .section-${l-1} circle {
740
+ fill: ${r&&i?e.mainBkg:h};
741
+ stroke: ${d};
742
+ stroke-width: ${e.strokeWidth};
743
+ filter: ${a};
744
+ }
745
+
746
+ .section-${l-1} text {
747
+ fill: ${e.nodeBorder};
748
+ font-weight: ${e.fontWeight}
749
+ }
750
+
751
+ .node-icon-${l-1} {
752
+ font-size: 40px;
753
+ color: ${e["cScaleLabel"+l]};
754
+ }
755
+
756
+ .section-edge-${l-1} {
757
+ stroke: ${e["cScale"+l]};
758
+ }
759
+
760
+ .edge-depth-${l-1} {
761
+ stroke-width: ${u};
762
+ }
763
+
764
+ .section-${l-1} line {
765
+ stroke: ${e["cScaleInv"+l]};
766
+ stroke-width: 3;
767
+ }
768
+
769
+ .lineWrapper line {
770
+ stroke: ${e.nodeBorder};
771
+ stroke-width:${e.strokeWidth}
772
+ }
773
+
774
+ .disabled,
775
+ .disabled circle,
776
+ .disabled text {
777
+ fill: ${e.tertiaryColor??"lightgray"};
778
+ }
779
+
780
+ .disabled text {
781
+ fill: ${e.clusterBorder??"#efefef"};
782
+ }
783
+ `}return s},"genReduxSections"),awt=o(e=>{let t="";for(let r=0;r<e.THEME_COLOR_LIMIT;r++)e["lineColor"+r]=e["lineColor"+r]||e["cScaleInv"+r],ri(e["lineColor"+r])?e["lineColor"+r]=je(e["lineColor"+r],20):e["lineColor"+r]=Xe(e["lineColor"+r],20);for(let r=0;r<e.THEME_COLOR_LIMIT;r++){let i=""+(17-3*r);t+=`
784
+ .section-${r-1} rect, .section-${r-1} path, .section-${r-1} circle, .section-${r-1} path {
785
+ fill: ${e["cScale"+r]};
786
+ }
787
+ .section-${r-1} text {
788
+ fill: ${e["cScaleLabel"+r]};
789
+ }
790
+ .node-icon-${r-1} {
791
+ font-size: 40px;
792
+ color: ${e["cScaleLabel"+r]};
793
+ }
794
+ .section-edge-${r-1}{
795
+ stroke: ${e["cScale"+r]};
796
+ }
797
+ .edge-depth-${r-1}{
798
+ stroke-width: ${i};
799
+ }
800
+ .section-${r-1} line {
801
+ stroke: ${e["cScaleInv"+r]} ;
802
+ stroke-width: 3;
803
+ }
804
+
805
+ .lineWrapper line{
806
+ stroke: ${e["cScaleLabel"+r]} ;
807
+ }
808
+
809
+ .disabled, .disabled circle, .disabled text {
810
+ fill: ${e.tertiaryColor??"lightgray"};
811
+ }
812
+ .disabled text {
813
+ fill: ${e.clusterBorder??"#efefef"};
814
+ }
815
+ `}return t},"genSections"),swt=o(e=>{let{theme:t}=Nt(),r=t?.includes("redux"),i=t==="neutral",n=e.svgId?.replace(/^#/,"")??"",a="";if(e.useGradient&&n&&e.THEME_COLOR_LIMIT&&!i)for(let s=0;s<e.THEME_COLOR_LIMIT;s++)a+=`
816
+ .section-${s-1}[data-look="neo"] rect,
817
+ .section-${s-1}[data-look="neo"] path,
818
+ .section-${s-1}[data-look="neo"] circle {
819
+ fill: ${e.mainBkg};
820
+ stroke: url(#${n}-gradient);
821
+ stroke-width: 2;
822
+ }
823
+ .section-${s-1}[data-look="neo"] line {
824
+ stroke: url(#${n}-gradient);
825
+ stroke-width: 2;
826
+ }`;return`
827
+ .edge {
828
+ stroke-width: 3;
829
+ }
830
+ ${r?nwt(e):awt(e)}
831
+ ${a}
832
+ .section-root rect, .section-root path, .section-root circle {
833
+ fill: ${e.git0};
834
+ }
835
+ .section-root text {
836
+ fill: ${e.gitBranchLabel0};
837
+ }
838
+ .icon-container {
839
+ height:100%;
840
+ display: flex;
841
+ justify-content: center;
842
+ align-items: center;
843
+ }
844
+ .edge {
845
+ fill: none;
846
+ }
847
+ .eventWrapper {
848
+ filter: brightness(120%);
849
+ }
850
+ `},"getStyles"),p7e=swt});var g7e={};xr(g7e,{diagram:()=>lwt});var owt,lwt,y7e=z(()=>{"use strict";$_e();Q_e();a7e();f7e();m7e();owt={setConf:o(()=>{},"setConf"),draw:o((e,t,r,i)=>(i?.db?.getDirection?.()??"LR")==="TD"?d7e.draw(e,t,r,i):n7e.draw(e,t,r,i),"draw")},lwt={db:HW,renderer:owt,parser:F_e,styles:p7e}});var ZW,b7e,T7e=z(()=>{"use strict";ZW=(function(){var e=o(function(w,C,k,E){for(k=k||{},E=w.length;E--;k[w[E]]=C);return k},"o"),t=[1,4],r=[1,13],i=[1,12],n=[1,15],a=[1,16],s=[1,20],l=[1,19],u=[6,7,8],h=[1,26],d=[1,24],f=[1,25],p=[6,7,11],m=[1,6,13,15,16,19,22],g=[1,33],y=[1,34],v=[1,6,7,11,13,15,16,19,22],x={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:o(function(C,k,E,A,N,P,I){var D=P.length-1;switch(N){case 6:case 7:return A;case 8:A.getLogger().trace("Stop NL ");break;case 9:A.getLogger().trace("Stop EOF ");break;case 11:A.getLogger().trace("Stop NL2 ");break;case 12:A.getLogger().trace("Stop EOF2 ");break;case 15:A.getLogger().info("Node: ",P[D].id),A.addNode(P[D-1].length,P[D].id,P[D].descr,P[D].type);break;case 16:A.getLogger().trace("Icon: ",P[D]),A.decorateNode({icon:P[D]});break;case 17:case 21:A.decorateNode({class:P[D]});break;case 18:A.getLogger().trace("SPACELIST");break;case 19:A.getLogger().trace("Node: ",P[D].id),A.addNode(0,P[D].id,P[D].descr,P[D].type);break;case 20:A.decorateNode({icon:P[D]});break;case 25:A.getLogger().trace("node found ..",P[D-2]),this.$={id:P[D-1],descr:P[D-1],type:A.getType(P[D-2],P[D])};break;case 26:this.$={id:P[D],descr:P[D],type:A.nodeType.DEFAULT};break;case 27:A.getLogger().trace("node found ..",P[D-3]),this.$={id:P[D-3],descr:P[D-1],type:A.getType(P[D-2],P[D])};break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:t},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:t},{6:r,7:[1,10],9:9,12:11,13:i,14:14,15:n,16:a,17:17,18:18,19:s,22:l},e(u,[2,3]),{1:[2,2]},e(u,[2,4]),e(u,[2,5]),{1:[2,6],6:r,12:21,13:i,14:14,15:n,16:a,17:17,18:18,19:s,22:l},{6:r,9:22,12:11,13:i,14:14,15:n,16:a,17:17,18:18,19:s,22:l},{6:h,7:d,10:23,11:f},e(p,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:s,22:l}),e(p,[2,18]),e(p,[2,19]),e(p,[2,20]),e(p,[2,21]),e(p,[2,23]),e(p,[2,24]),e(p,[2,26],{19:[1,30]}),{20:[1,31]},{6:h,7:d,10:32,11:f},{1:[2,7],6:r,12:21,13:i,14:14,15:n,16:a,17:17,18:18,19:s,22:l},e(m,[2,14],{7:g,11:y}),e(v,[2,8]),e(v,[2,9]),e(v,[2,10]),e(p,[2,15]),e(p,[2,16]),e(p,[2,17]),{20:[1,35]},{21:[1,36]},e(m,[2,13],{7:g,11:y}),e(v,[2,11]),e(v,[2,12]),{21:[1,37]},e(p,[2,25]),e(p,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:o(function(C,k){if(k.recoverable)this.trace(C);else{var E=new Error(C);throw E.hash=k,E}},"parseError"),parse:o(function(C){var k=this,E=[0],A=[],N=[null],P=[],I=this.table,D="",_=0,R=0,M=0,L=2,B=1,O=P.slice.call(arguments,1),$=Object.create(this.lexer),G={yy:{}};for(var F in this.yy)Object.prototype.hasOwnProperty.call(this.yy,F)&&(G.yy[F]=this.yy[F]);$.setInput(C,G.yy),G.yy.lexer=$,G.yy.parser=this,typeof $.yylloc>"u"&&($.yylloc={});var V=$.yylloc;P.push(V);var H=$.options&&$.options.ranges;typeof G.yy.parseError=="function"?this.parseError=G.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function j(we){E.length=E.length-2*we,N.length=N.length-we,P.length=P.length-we}o(j,"popStack");function U(){var we;return we=A.pop()||$.lex()||B,typeof we!="number"&&(we instanceof Array&&(A=we,we=A.pop()),we=k.symbols_[we]||we),we}o(U,"lex");for(var Q,Y,ae,J,te,re,ee={},Te,ue,De,Ie;;){if(ae=E[E.length-1],this.defaultActions[ae]?J=this.defaultActions[ae]:((Q===null||typeof Q>"u")&&(Q=U()),J=I[ae]&&I[ae][Q]),typeof J>"u"||!J.length||!J[0]){var Ee="";Ie=[];for(Te in I[ae])this.terminals_[Te]&&Te>L&&Ie.push("'"+this.terminals_[Te]+"'");$.showPosition?Ee="Parse error on line "+(_+1)+`:
851
+ `+$.showPosition()+`
852
+ Expecting `+Ie.join(", ")+", got '"+(this.terminals_[Q]||Q)+"'":Ee="Parse error on line "+(_+1)+": Unexpected "+(Q==B?"end of input":"'"+(this.terminals_[Q]||Q)+"'"),this.parseError(Ee,{text:$.match,token:this.terminals_[Q]||Q,line:$.yylineno,loc:V,expected:Ie})}if(J[0]instanceof Array&&J.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ae+", token: "+Q);switch(J[0]){case 1:E.push(Q),N.push($.yytext),P.push($.yylloc),E.push(J[1]),Q=null,Y?(Q=Y,Y=null):(R=$.yyleng,D=$.yytext,_=$.yylineno,V=$.yylloc,M>0&&M--);break;case 2:if(ue=this.productions_[J[1]][1],ee.$=N[N.length-ue],ee._$={first_line:P[P.length-(ue||1)].first_line,last_line:P[P.length-1].last_line,first_column:P[P.length-(ue||1)].first_column,last_column:P[P.length-1].last_column},H&&(ee._$.range=[P[P.length-(ue||1)].range[0],P[P.length-1].range[1]]),re=this.performAction.apply(ee,[D,R,_,G.yy,J[1],N,P].concat(O)),typeof re<"u")return re;ue&&(E=E.slice(0,-1*ue*2),N=N.slice(0,-1*ue),P=P.slice(0,-1*ue)),E.push(this.productions_[J[1]][0]),N.push(ee.$),P.push(ee._$),De=I[E[E.length-2]][E[E.length-1]],E.push(De);break;case 3:return!0}}return!0},"parse")},b=(function(){var w={EOF:1,parseError:o(function(k,E){if(this.yy.parser)this.yy.parser.parseError(k,E);else throw new Error(k)},"parseError"),setInput:o(function(C,k){return this.yy=k||this.yy||{},this._input=C,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},"setInput"),input:o(function(){var C=this._input[0];this.yytext+=C,this.yyleng++,this.offset++,this.match+=C,this.matched+=C;var k=C.match(/(?:\r\n?|\n).*/g);return k?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),C},"input"),unput:o(function(C){var k=C.length,E=C.split(/(?:\r\n?|\n)/g);this._input=C+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-k),this.offset-=k;var A=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),E.length-1&&(this.yylineno-=E.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:E?(E.length===A.length?this.yylloc.first_column:0)+A[A.length-E.length].length-E[0].length:this.yylloc.first_column-k},this.options.ranges&&(this.yylloc.range=[N[0],N[0]+this.yyleng-k]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
853
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(C){this.unput(this.match.slice(C))},"less"),pastInput:o(function(){var C=this.matched.substr(0,this.matched.length-this.match.length);return(C.length>20?"...":"")+C.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var C=this.match;return C.length<20&&(C+=this._input.substr(0,20-C.length)),(C.substr(0,20)+(C.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var C=this.pastInput(),k=new Array(C.length+1).join("-");return C+this.upcomingInput()+`
854
+ `+k+"^"},"showPosition"),test_match:o(function(C,k){var E,A,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))),A=C[0].match(/(?:\r\n?|\n).*/g),A&&(this.yylineno+=A.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:A?A[A.length-1].length-A[A.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+C[0].length},this.yytext+=C[0],this.match+=C[0],this.matches=C,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(C[0].length),this.matched+=C[0],E=this.performAction.call(this,this.yy,this,k,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),E)return E;if(this._backtrack){for(var P in N)this[P]=N[P];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var C,k,E,A;this._more||(this.yytext="",this.match="");for(var N=this._currentRules(),P=0;P<N.length;P++)if(E=this._input.match(this.rules[N[P]]),E&&(!k||E[0].length>k[0].length)){if(k=E,A=P,this.options.backtrack_lexer){if(C=this.test_match(E,N[P]),C!==!1)return C;if(this._backtrack){k=!1;continue}else return!1}else if(!this.options.flex)break}return k?(C=this.test_match(k,N[A]),C!==!1?C:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
855
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var k=this.next();return k||this.lex()},"lex"),begin:o(function(k){this.conditionStack.push(k)},"begin"),popState:o(function(){var k=this.conditionStack.length-1;return k>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(k){return k=this.conditionStack.length-1-Math.abs(k||0),k>=0?this.conditionStack[k]:"INITIAL"},"topState"),pushState:o(function(k){this.begin(k)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(k,E,A,N){var P=N;switch(A){case 0:return k.getLogger().trace("Found comment",E.yytext),6;break;case 1:return 8;case 2:this.begin("CLASS");break;case 3:return this.popState(),16;break;case 4:this.popState();break;case 5:k.getLogger().trace("Begin icon"),this.begin("ICON");break;case 6:return k.getLogger().trace("SPACELINE"),6;break;case 7:return 7;case 8:return 15;case 9:k.getLogger().trace("end icon"),this.popState();break;case 10:return k.getLogger().trace("Exploding node"),this.begin("NODE"),19;break;case 11:return k.getLogger().trace("Cloud"),this.begin("NODE"),19;break;case 12:return k.getLogger().trace("Explosion Bang"),this.begin("NODE"),19;break;case 13:return k.getLogger().trace("Cloud Bang"),this.begin("NODE"),19;break;case 14:return this.begin("NODE"),19;break;case 15:return this.begin("NODE"),19;break;case 16:return this.begin("NODE"),19;break;case 17:return this.begin("NODE"),19;break;case 18:return 13;case 19:return 22;case 20:return 11;case 21:this.begin("NSTR2");break;case 22:return"NODE_DESCR";case 23:this.popState();break;case 24:k.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 25:return k.getLogger().trace("description:",E.yytext),"NODE_DESCR";break;case 26:this.popState();break;case 27:return this.popState(),k.getLogger().trace("node end ))"),"NODE_DEND";break;case 28:return this.popState(),k.getLogger().trace("node end )"),"NODE_DEND";break;case 29:return this.popState(),k.getLogger().trace("node end ...",E.yytext),"NODE_DEND";break;case 30:return this.popState(),k.getLogger().trace("node end (("),"NODE_DEND";break;case 31:return this.popState(),k.getLogger().trace("node end (-"),"NODE_DEND";break;case 32:return this.popState(),k.getLogger().trace("node end (-"),"NODE_DEND";break;case 33:return this.popState(),k.getLogger().trace("node end (("),"NODE_DEND";break;case 34:return this.popState(),k.getLogger().trace("node end (("),"NODE_DEND";break;case 35:return k.getLogger().trace("Long description:",E.yytext),20;break;case 36:return k.getLogger().trace("Long description:",E.yytext),20;break}},"anonymous"),rules:[/^(?:\s*%%.*)/i,/^(?:mindmap\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{CLASS:{rules:[3,4],inclusive:!1},ICON:{rules:[8,9],inclusive:!1},NSTR2:{rules:[22,23],inclusive:!1},NSTR:{rules:[25,26],inclusive:!1},NODE:{rules:[21,24,27,28,29,30,31,32,33,34,35,36],inclusive:!1},INITIAL:{rules:[0,1,2,5,6,7,10,11,12,13,14,15,16,17,18,19,20],inclusive:!0}}};return w})();x.lexer=b;function T(){this.yy={}}return o(T,"Parser"),T.prototype=x,x.Parser=T,new T})();ZW.parser=ZW;b7e=ZW});function C7e(e,t=0){return(Sa[e[t+0]]+Sa[e[t+1]]+Sa[e[t+2]]+Sa[e[t+3]]+"-"+Sa[e[t+4]]+Sa[e[t+5]]+"-"+Sa[e[t+6]]+Sa[e[t+7]]+"-"+Sa[e[t+8]]+Sa[e[t+9]]+"-"+Sa[e[t+10]]+Sa[e[t+11]]+Sa[e[t+12]]+Sa[e[t+13]]+Sa[e[t+14]]+Sa[e[t+15]]).toLowerCase()}var Sa,k7e=z(()=>{"use strict";Sa=[];for(let e=0;e<256;++e)Sa.push((e+256).toString(16).slice(1));o(C7e,"unsafeStringify")});function QW(){return crypto.getRandomValues(dwt)}var dwt,w7e=z(()=>{"use strict";dwt=new Uint8Array(16);o(QW,"rng")});function fwt(e,t,r){return!t&&!e&&crypto.randomUUID?crypto.randomUUID():pwt(e,t,r)}function pwt(e,t,r){e=e||{};let i=e.random??e.rng?.()??QW();if(i.length<16)throw new Error("Random bytes length must be >= 16");if(i[6]=i[6]&15|64,i[8]=i[8]&63|128,t){if(r=r||0,r<0||r+16>t.length)throw new RangeError(`UUID byte range ${r}:${r+15} is out of buffer bounds`);for(let n=0;n<16;++n)t[r+n]=i[n];return t}return C7e(i)}var JW,S7e=z(()=>{"use strict";w7e();k7e();o(fwt,"v4");o(pwt,"_v4");JW=fwt});var E7e=z(()=>{"use strict";S7e()});var A7e,_7e=z(()=>{"use strict";_s();Xt();A7e=12});var Dh,d_,D7e=z(()=>{"use strict";Ut();E7e();Ir();St();Bn();br();_7e();Dh={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},d_=class{constructor(){this.nodes=[];this.count=0;this.elements={};this.getLogger=this.getLogger.bind(this),this.nodeType=Dh,this.clear(),this.getType=this.getType.bind(this),this.getElementById=this.getElementById.bind(this),this.getParent=this.getParent.bind(this),this.getMindmap=this.getMindmap.bind(this),this.addNode=this.addNode.bind(this),this.decorateNode=this.decorateNode.bind(this)}static{o(this,"MindmapDB")}clear(){this.nodes=[],this.count=0,this.elements={},this.baseLevel=void 0}getParent(t){for(let r=this.nodes.length-1;r>=0;r--)if(this.nodes[r].level<t)return this.nodes[r];return null}getMindmap(){return this.nodes.length>0?this.nodes[0]:null}addNode(t,r,i,n){Z.info("addNode",t,r,i,n);let a=!1;this.nodes.length===0?(this.baseLevel=t,t=0,a=!0):this.baseLevel!==void 0&&(t=t-this.baseLevel,a=!1);let s=ge(),l=s.mindmap?.padding??or.mindmap.padding;switch(n){case this.nodeType.ROUNDED_RECT:case this.nodeType.RECT:case this.nodeType.HEXAGON:l*=2;break}let u={id:this.count++,nodeId:fr(r,s),level:t,descr:fr(i,s),type:n,children:[],width:s.mindmap?.maxNodeWidth??or.mindmap.maxNodeWidth,padding:l,isRoot:a},h=this.getParent(t);if(h)h.children.push(u),this.nodes.push(u);else if(a)this.nodes.push(u);else throw new Error(`There can be only one root. No parent could be found for ("${u.descr}")`)}getType(t,r){switch(Z.debug("In get type",t,r),t){case"[":return this.nodeType.RECT;case"(":return r===")"?this.nodeType.ROUNDED_RECT:this.nodeType.CLOUD;case"((":return this.nodeType.CIRCLE;case")":return this.nodeType.CLOUD;case"))":return this.nodeType.BANG;case"{{":return this.nodeType.HEXAGON;default:return this.nodeType.DEFAULT}}setElementForId(t,r){this.elements[t]=r}getElementById(t){return this.elements[t]}decorateNode(t){if(!t)return;let r=ge(),i=this.nodes[this.nodes.length-1];t.icon&&(i.icon=fr(t.icon,r)),t.class&&(i.class=fr(t.class,r))}type2Str(t){switch(t){case this.nodeType.DEFAULT:return"no-border";case this.nodeType.RECT:return"rect";case this.nodeType.ROUNDED_RECT:return"rounded-rect";case this.nodeType.CIRCLE:return"circle";case this.nodeType.CLOUD:return"cloud";case this.nodeType.BANG:return"bang";case this.nodeType.HEXAGON:return"hexgon";default:return"no-border"}}assignSections(t,r){if(t.level===0?t.section=void 0:t.section=r,t.children)for(let[i,n]of t.children.entries()){let a=t.level===0?i%(A7e-1):r;this.assignSections(n,a)}}flattenNodes(t,r){let i=ge(),n=["mindmap-node"];t.isRoot===!0?n.push("section-root","section--1"):t.section!==void 0&&n.push(`section-${t.section}`),t.class&&n.push(t.class);let a=n.join(" "),s=o(u=>{let d=(i.theme?.toLowerCase()??"").includes("redux");switch(u){case Dh.CIRCLE:return"mindmapCircle";case Dh.RECT:return"rect";case Dh.ROUNDED_RECT:return"rounded";case Dh.CLOUD:return"cloud";case Dh.BANG:return"bang";case Dh.HEXAGON:return"hexagon";case Dh.DEFAULT:return d?"rounded":"defaultMindmapNode";case Dh.NO_BORDER:default:return"rect"}},"getShapeFromType"),l={id:t.id.toString(),domId:"node_"+t.id.toString(),label:t.descr,labelType:"markdown",isGroup:!1,shape:s(t.type),width:t.width,height:t.height??0,padding:t.padding,cssClasses:a,cssStyles:[],look:i.look,icon:t.icon,x:t.x,y:t.y,level:t.level,nodeId:t.nodeId,type:t.type,section:t.section};if(r.push(l),t.children)for(let u of t.children)this.flattenNodes(u,r)}generateEdges(t,r){if(!t.children)return;let i=ge();for(let n of t.children){let a="edge";n.section!==void 0&&(a+=` section-edge-${n.section}`);let s=t.level+1;a+=` edge-depth-${s}`;let l={id:`edge_${t.id}_${n.id}`,start:t.id.toString(),end:n.id.toString(),type:"normal",curve:"basis",thickness:"normal",look:i.look,classes:a,depth:t.level,section:n.section};r.push(l),this.generateEdges(n,r)}}getData(){let t=this.getMindmap(),r=ge(),n=JH().layout!==void 0,a=r;if(n||(a.layout="cose-bilkent"),!t)return{nodes:[],edges:[],config:a};Z.debug("getData: mindmapRoot",t,r),this.assignSections(t);let s=[],l=[];this.flattenNodes(t,s),this.generateEdges(t,l),Z.debug(`getData: processed ${s.length} nodes and ${l.length} edges`);let u=new Map;for(let h of s)u.set(h.id,{shape:h.shape,width:h.width,height:h.height,padding:h.padding});return{nodes:s,edges:l,config:a,rootNode:t,markers:["point"],direction:"TB",nodeSpacing:50,rankSpacing:50,shapes:Object.fromEntries(u),type:"mindmap",diagramId:"mindmap-"+JW()}}getLogger(){return Z}}});var mwt,R7e,L7e=z(()=>{"use strict";St();Lp();tf();rf();Bn();br();mwt=o(async(e,t,r,i)=>{Z.debug(`Rendering mindmap diagram
856
+ `+e);let n=i.db,a=n.getData(),s=Fo(t,a.config.securityLevel);if(a.type=i.type,a.layoutAlgorithm=Gc(a.config.layout,{fallback:"cose-bilkent"}),a.diagramId=t,!n.getMindmap())return;a.nodes.forEach(p=>{p.shape==="rounded"?(p.radius=15,p.taper=15,p.stroke="none",p.width=0,p.padding=15):p.shape==="circle"?p.padding=10:p.shape==="rect"?(p.width=0,p.padding=10):p.shape==="hexagon"&&(p.width=0,p.height=0)}),await Zo(a,s);let{themeVariables:u}=Nt(),{useGradient:h,gradientStart:d,gradientStop:f}=u;if(h&&d&&f){let p=s.attr("id"),m=s.append("defs").append("linearGradient").attr("id",`${p}-gradient`).attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");m.append("stop").attr("offset","0%").attr("stop-color",d).attr("stop-opacity",1),m.append("stop").attr("offset","100%").attr("stop-color",f).attr("stop-opacity",1)}$s(s,a.config.mindmap?.padding??or.mindmap.padding,"mindmapDiagram",a.config.mindmap?.useMaxWidth??or.mindmap.useMaxWidth)},"draw"),R7e={draw:mwt}});var gwt,ywt,vwt,M7e,N7e=z(()=>{"use strict";Cn();gwt=o(e=>{let{theme:t,look:r}=e,i="";for(let n=0;n<e.THEME_COLOR_LIMIT;n++)e["lineColor"+n]=e["lineColor"+n]||e["cScaleInv"+n],ri(e["lineColor"+n])?e["lineColor"+n]=je(e["lineColor"+n],20):e["lineColor"+n]=Xe(e["lineColor"+n],20);for(let n=0;n<e.THEME_COLOR_LIMIT;n++){let a=""+(r==="neo"?Math.max(10-(n-1)*2,2):17-3*n);i+=`
857
+ .section-${n-1} rect, .section-${n-1} path, .section-${n-1} circle, .section-${n-1} polygon, .section-${n-1} path {
858
+ fill: ${e["cScale"+n]};
859
+ }
860
+ .section-${n-1} text {
861
+ fill: ${e["cScaleLabel"+n]};
862
+ }
863
+ .section-${n-1} span {
864
+ color: ${e["cScaleLabel"+n]};
865
+ }
866
+ .node-icon-${n-1} {
867
+ font-size: 40px;
868
+ color: ${e["cScaleLabel"+n]};
869
+ }
870
+ .section-edge-${n-1}{
871
+ stroke: ${e["cScale"+n]};
872
+ }
873
+ .edge-depth-${n-1}{
874
+ stroke-width: ${a};
875
+ }
876
+ .section-${n-1} line {
877
+ stroke: ${e["cScaleInv"+n]} ;
878
+ stroke-width: 3;
879
+ }
880
+
881
+ .disabled, .disabled circle, .disabled text {
882
+ fill: lightgray;
883
+ }
884
+ .disabled text {
885
+ fill: #efefef;
886
+ }
887
+ [data-look="neo"].mindmap-node.section-${n-1} rect, [data-look="neo"].mindmap-node.section-${n-1} path, [data-look="neo"].mindmap-node.section-${n-1} circle, [data-look="neo"].mindmap-node.section-${n-1} polygon {
888
+ fill: ${t==="redux"||t==="redux-dark"||t==="neutral"?e.mainBkg:e["cScale"+n]};
889
+ stroke: ${t==="redux"||t==="redux-dark"?e.nodeBorder:e["cScale"+n]};
890
+ stroke-width: ${e.strokeWidth??2}px;
891
+ }
892
+ [data-look="neo"].section-edge-${n-1}{
893
+ stroke: ${t?.includes("redux")||t==="neo-dark"?e.nodeBorder:e["cScale"+n]};
894
+ }
895
+ [data-look="neo"].mindmap-node.section-${n-1} text {
896
+ fill: ${t==="redux"||t==="redux-dark"?e.nodeBorder:e["cScaleLabel"+(t==="neutral"?1:n)]};
897
+ }
898
+ `}return i},"genSections"),ywt=o((e,t,r)=>{let i="";for(let n=0;n<e;n++)i+=`
899
+ [data-look="neo"].mindmap-node.section-${n-1} rect, [data-look="neo"].mindmap-node.section-${n-1} path, [data-look="neo"].mindmap-node.section-${n-1} circle, [data-look="neo"].mindmap-node.section-${n-1} polygon {
900
+ stroke: url(${t}-gradient);
901
+ fill: ${r};
902
+ }
903
+ .section-${n-1} line {
904
+ stroke-width: 0;
905
+ }`;return i},"genGradient"),vwt=o(e=>{let{theme:t}=e,r=e.svgId,i=e.dropShadow?e.dropShadow.replace("url(#drop-shadow)",`url(${r}-drop-shadow)`):"none";return`
906
+ .edge {
907
+ stroke-width: 3;
908
+ }
909
+ ${gwt(e)}
910
+ .section-root rect, .section-root path, .section-root circle, .section-root polygon {
911
+ fill: ${e.git0};
912
+ }
913
+ .section-root text {
914
+ fill: ${e.gitBranchLabel0};
915
+ }
916
+ .section-root span {
917
+ color: ${t?.includes("redux")?e.nodeBorder:e.gitBranchLabel0};
918
+ }
919
+ .icon-container {
920
+ height:100%;
921
+ display: flex;
922
+ justify-content: center;
923
+ align-items: center;
924
+ }
925
+ .edge {
926
+ fill: none;
927
+ }
928
+ .mindmap-node-label {
929
+ dy: 1em;
930
+ alignment-baseline: middle;
931
+ text-anchor: middle;
932
+ dominant-baseline: middle;
933
+ text-align: center;
934
+ }
935
+ [data-look="neo"].mindmap-node {
936
+ filter: ${i};
937
+ }
938
+ [data-look="neo"].mindmap-node.section-root rect, [data-look="neo"].mindmap-node.section-root path, [data-look="neo"].mindmap-node.section-root circle, [data-look="neo"].mindmap-node.section-root polygon {
939
+ fill: ${t?.includes("redux")?e.mainBkg:e.git0};
940
+ }
941
+ [data-look="neo"].mindmap-node.section-root .text-inner-tspan {
942
+ fill: ${t?.includes("redux")?e.nodeBorder:e["cScaleLabel"+(t==="neutral"?1:0)]};
943
+ }
944
+ ${e.useGradient&&r&&e.mainBkg?ywt(e.THEME_COLOR_LIMIT,r,e.mainBkg):""}
945
+ `},"getStyles"),M7e=vwt});var I7e={};xr(I7e,{diagram:()=>xwt});var xwt,O7e=z(()=>{"use strict";T7e();D7e();L7e();N7e();xwt={get db(){return new d_},renderer:R7e,parser:b7e,styles:M7e}});var eq,F7e,$7e=z(()=>{"use strict";eq=(function(){var e=o(function(E,A,N,P){for(N=N||{},P=E.length;P--;N[E[P]]=A);return N},"o"),t=[1,4],r=[1,13],i=[1,12],n=[1,15],a=[1,16],s=[1,20],l=[1,19],u=[6,7,8],h=[1,26],d=[1,24],f=[1,25],p=[6,7,11],m=[1,31],g=[6,7,11,24],y=[1,6,13,16,17,20,23],v=[1,35],x=[1,36],b=[1,6,7,11,13,16,17,20,23],T=[1,38],w={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,KANBAN:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,shapeData:15,ICON:16,CLASS:17,nodeWithId:18,nodeWithoutId:19,NODE_DSTART:20,NODE_DESCR:21,NODE_DEND:22,NODE_ID:23,SHAPE_DATA:24,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"KANBAN",11:"EOF",13:"SPACELIST",16:"ICON",17:"CLASS",20:"NODE_DSTART",21:"NODE_DESCR",22:"NODE_DEND",23:"NODE_ID",24:"SHAPE_DATA"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,3],[12,2],[12,2],[12,2],[12,1],[12,2],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[19,3],[18,1],[18,4],[15,2],[15,1]],performAction:o(function(A,N,P,I,D,_,R){var M=_.length-1;switch(D){case 6:case 7:return I;case 8:I.getLogger().trace("Stop NL ");break;case 9:I.getLogger().trace("Stop EOF ");break;case 11:I.getLogger().trace("Stop NL2 ");break;case 12:I.getLogger().trace("Stop EOF2 ");break;case 15:I.getLogger().info("Node: ",_[M-1].id),I.addNode(_[M-2].length,_[M-1].id,_[M-1].descr,_[M-1].type,_[M]);break;case 16:I.getLogger().info("Node: ",_[M].id),I.addNode(_[M-1].length,_[M].id,_[M].descr,_[M].type);break;case 17:I.getLogger().trace("Icon: ",_[M]),I.decorateNode({icon:_[M]});break;case 18:case 23:I.decorateNode({class:_[M]});break;case 19:I.getLogger().trace("SPACELIST");break;case 20:I.getLogger().trace("Node: ",_[M-1].id),I.addNode(0,_[M-1].id,_[M-1].descr,_[M-1].type,_[M]);break;case 21:I.getLogger().trace("Node: ",_[M].id),I.addNode(0,_[M].id,_[M].descr,_[M].type);break;case 22:I.decorateNode({icon:_[M]});break;case 27:I.getLogger().trace("node found ..",_[M-2]),this.$={id:_[M-1],descr:_[M-1],type:I.getType(_[M-2],_[M])};break;case 28:this.$={id:_[M],descr:_[M],type:0};break;case 29:I.getLogger().trace("node found ..",_[M-3]),this.$={id:_[M-3],descr:_[M-1],type:I.getType(_[M-2],_[M])};break;case 30:this.$=_[M-1]+_[M];break;case 31:this.$=_[M];break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:t},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:t},{6:r,7:[1,10],9:9,12:11,13:i,14:14,16:n,17:a,18:17,19:18,20:s,23:l},e(u,[2,3]),{1:[2,2]},e(u,[2,4]),e(u,[2,5]),{1:[2,6],6:r,12:21,13:i,14:14,16:n,17:a,18:17,19:18,20:s,23:l},{6:r,9:22,12:11,13:i,14:14,16:n,17:a,18:17,19:18,20:s,23:l},{6:h,7:d,10:23,11:f},e(p,[2,24],{18:17,19:18,14:27,16:[1,28],17:[1,29],20:s,23:l}),e(p,[2,19]),e(p,[2,21],{15:30,24:m}),e(p,[2,22]),e(p,[2,23]),e(g,[2,25]),e(g,[2,26]),e(g,[2,28],{20:[1,32]}),{21:[1,33]},{6:h,7:d,10:34,11:f},{1:[2,7],6:r,12:21,13:i,14:14,16:n,17:a,18:17,19:18,20:s,23:l},e(y,[2,14],{7:v,11:x}),e(b,[2,8]),e(b,[2,9]),e(b,[2,10]),e(p,[2,16],{15:37,24:m}),e(p,[2,17]),e(p,[2,18]),e(p,[2,20],{24:T}),e(g,[2,31]),{21:[1,39]},{22:[1,40]},e(y,[2,13],{7:v,11:x}),e(b,[2,11]),e(b,[2,12]),e(p,[2,15],{24:T}),e(g,[2,30]),{22:[1,41]},e(g,[2,27]),e(g,[2,29])],defaultActions:{2:[2,1],6:[2,2]},parseError:o(function(A,N){if(N.recoverable)this.trace(A);else{var P=new Error(A);throw P.hash=N,P}},"parseError"),parse:o(function(A){var N=this,P=[0],I=[],D=[null],_=[],R=this.table,M="",L=0,B=0,O=0,$=2,G=1,F=_.slice.call(arguments,1),V=Object.create(this.lexer),H={yy:{}};for(var j in this.yy)Object.prototype.hasOwnProperty.call(this.yy,j)&&(H.yy[j]=this.yy[j]);V.setInput(A,H.yy),H.yy.lexer=V,H.yy.parser=this,typeof V.yylloc>"u"&&(V.yylloc={});var U=V.yylloc;_.push(U);var Q=V.options&&V.options.ranges;typeof H.yy.parseError=="function"?this.parseError=H.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Y(de){P.length=P.length-2*de,D.length=D.length-de,_.length=_.length-de}o(Y,"popStack");function ae(){var de;return de=I.pop()||V.lex()||G,typeof de!="number"&&(de instanceof Array&&(I=de,de=I.pop()),de=N.symbols_[de]||de),de}o(ae,"lex");for(var J,te,re,ee,Te,ue,De={},Ie,Ee,we,Me;;){if(re=P[P.length-1],this.defaultActions[re]?ee=this.defaultActions[re]:((J===null||typeof J>"u")&&(J=ae()),ee=R[re]&&R[re][J]),typeof ee>"u"||!ee.length||!ee[0]){var $e="";Me=[];for(Ie in R[re])this.terminals_[Ie]&&Ie>$&&Me.push("'"+this.terminals_[Ie]+"'");V.showPosition?$e="Parse error on line "+(L+1)+`:
946
+ `+V.showPosition()+`
947
+ Expecting `+Me.join(", ")+", got '"+(this.terminals_[J]||J)+"'":$e="Parse error on line "+(L+1)+": Unexpected "+(J==G?"end of input":"'"+(this.terminals_[J]||J)+"'"),this.parseError($e,{text:V.match,token:this.terminals_[J]||J,line:V.yylineno,loc:U,expected:Me})}if(ee[0]instanceof Array&&ee.length>1)throw new Error("Parse Error: multiple actions possible at state: "+re+", token: "+J);switch(ee[0]){case 1:P.push(J),D.push(V.yytext),_.push(V.yylloc),P.push(ee[1]),J=null,te?(J=te,te=null):(B=V.yyleng,M=V.yytext,L=V.yylineno,U=V.yylloc,O>0&&O--);break;case 2:if(Ee=this.productions_[ee[1]][1],De.$=D[D.length-Ee],De._$={first_line:_[_.length-(Ee||1)].first_line,last_line:_[_.length-1].last_line,first_column:_[_.length-(Ee||1)].first_column,last_column:_[_.length-1].last_column},Q&&(De._$.range=[_[_.length-(Ee||1)].range[0],_[_.length-1].range[1]]),ue=this.performAction.apply(De,[M,B,L,H.yy,ee[1],D,_].concat(F)),typeof ue<"u")return ue;Ee&&(P=P.slice(0,-1*Ee*2),D=D.slice(0,-1*Ee),_=_.slice(0,-1*Ee)),P.push(this.productions_[ee[1]][0]),D.push(De.$),_.push(De._$),we=R[P[P.length-2]][P[P.length-1]],P.push(we);break;case 3:return!0}}return!0},"parse")},C=(function(){var E={EOF:1,parseError:o(function(N,P){if(this.yy.parser)this.yy.parser.parseError(N,P);else throw new Error(N)},"parseError"),setInput:o(function(A,N){return this.yy=N||this.yy||{},this._input=A,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},"setInput"),input:o(function(){var A=this._input[0];this.yytext+=A,this.yyleng++,this.offset++,this.match+=A,this.matched+=A;var N=A.match(/(?:\r\n?|\n).*/g);return N?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),A},"input"),unput:o(function(A){var N=A.length,P=A.split(/(?:\r\n?|\n)/g);this._input=A+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-N),this.offset-=N;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),P.length-1&&(this.yylineno-=P.length-1);var D=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:P?(P.length===I.length?this.yylloc.first_column:0)+I[I.length-P.length].length-P[0].length:this.yylloc.first_column-N},this.options.ranges&&(this.yylloc.range=[D[0],D[0]+this.yyleng-N]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
948
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(A){this.unput(this.match.slice(A))},"less"),pastInput:o(function(){var A=this.matched.substr(0,this.matched.length-this.match.length);return(A.length>20?"...":"")+A.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var A=this.match;return A.length<20&&(A+=this._input.substr(0,20-A.length)),(A.substr(0,20)+(A.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var A=this.pastInput(),N=new Array(A.length+1).join("-");return A+this.upcomingInput()+`
949
+ `+N+"^"},"showPosition"),test_match:o(function(A,N){var P,I,D;if(this.options.backtrack_lexer&&(D={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&&(D.yylloc.range=this.yylloc.range.slice(0))),I=A[0].match(/(?:\r\n?|\n).*/g),I&&(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+A[0].length},this.yytext+=A[0],this.match+=A[0],this.matches=A,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(A[0].length),this.matched+=A[0],P=this.performAction.call(this,this.yy,this,N,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),P)return P;if(this._backtrack){for(var _ in D)this[_]=D[_];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var A,N,P,I;this._more||(this.yytext="",this.match="");for(var D=this._currentRules(),_=0;_<D.length;_++)if(P=this._input.match(this.rules[D[_]]),P&&(!N||P[0].length>N[0].length)){if(N=P,I=_,this.options.backtrack_lexer){if(A=this.test_match(P,D[_]),A!==!1)return A;if(this._backtrack){N=!1;continue}else return!1}else if(!this.options.flex)break}return N?(A=this.test_match(N,D[I]),A!==!1?A:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
950
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var N=this.next();return N||this.lex()},"lex"),begin:o(function(N){this.conditionStack.push(N)},"begin"),popState:o(function(){var N=this.conditionStack.length-1;return N>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(N){return N=this.conditionStack.length-1-Math.abs(N||0),N>=0?this.conditionStack[N]:"INITIAL"},"topState"),pushState:o(function(N){this.begin(N)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(N,P,I,D){var _=D;switch(I){case 0:return this.pushState("shapeData"),P.yytext="",24;break;case 1:return this.pushState("shapeDataStr"),24;break;case 2:return this.popState(),24;break;case 3:let R=/\n\s*/g;return P.yytext=P.yytext.replace(R,"<br/>"),24;break;case 4:return 24;case 5:this.popState();break;case 6:return N.getLogger().trace("Found comment",P.yytext),6;break;case 7:return 8;case 8:this.begin("CLASS");break;case 9:return this.popState(),17;break;case 10:this.popState();break;case 11:N.getLogger().trace("Begin icon"),this.begin("ICON");break;case 12:return N.getLogger().trace("SPACELINE"),6;break;case 13:return 7;case 14:return 16;case 15:N.getLogger().trace("end icon"),this.popState();break;case 16:return N.getLogger().trace("Exploding node"),this.begin("NODE"),20;break;case 17:return N.getLogger().trace("Cloud"),this.begin("NODE"),20;break;case 18:return N.getLogger().trace("Explosion Bang"),this.begin("NODE"),20;break;case 19:return N.getLogger().trace("Cloud Bang"),this.begin("NODE"),20;break;case 20:return this.begin("NODE"),20;break;case 21:return this.begin("NODE"),20;break;case 22:return this.begin("NODE"),20;break;case 23:return this.begin("NODE"),20;break;case 24:return 13;case 25:return 23;case 26:return 11;case 27:this.begin("NSTR2");break;case 28:return"NODE_DESCR";case 29:this.popState();break;case 30:N.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 31:return N.getLogger().trace("description:",P.yytext),"NODE_DESCR";break;case 32:this.popState();break;case 33:return this.popState(),N.getLogger().trace("node end ))"),"NODE_DEND";break;case 34:return this.popState(),N.getLogger().trace("node end )"),"NODE_DEND";break;case 35:return this.popState(),N.getLogger().trace("node end ...",P.yytext),"NODE_DEND";break;case 36:return this.popState(),N.getLogger().trace("node end (("),"NODE_DEND";break;case 37:return this.popState(),N.getLogger().trace("node end (-"),"NODE_DEND";break;case 38:return this.popState(),N.getLogger().trace("node end (-"),"NODE_DEND";break;case 39:return this.popState(),N.getLogger().trace("node end (("),"NODE_DEND";break;case 40:return this.popState(),N.getLogger().trace("node end (("),"NODE_DEND";break;case 41:return N.getLogger().trace("Long description:",P.yytext),21;break;case 42:return N.getLogger().trace("Long description:",P.yytext),21;break}},"anonymous"),rules:[/^(?:@\{)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^\"]+)/i,/^(?:[^}^"]+)/i,/^(?:\})/i,/^(?:\s*%%.*)/i,/^(?:kanban\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}@]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{shapeDataEndBracket:{rules:[],inclusive:!1},shapeDataStr:{rules:[2,3],inclusive:!1},shapeData:{rules:[1,4,5],inclusive:!1},CLASS:{rules:[9,10],inclusive:!1},ICON:{rules:[14,15],inclusive:!1},NSTR2:{rules:[28,29],inclusive:!1},NSTR:{rules:[31,32],inclusive:!1},NODE:{rules:[27,30,33,34,35,36,37,38,39,40,41,42],inclusive:!1},INITIAL:{rules:[0,6,7,8,11,12,13,16,17,18,19,20,21,22,23,24,25,26],inclusive:!0}}};return E})();w.lexer=C;function k(){this.yy={}}return o(k,"Parser"),k.prototype=w,w.Parser=k,new k})();eq.parser=eq;F7e=eq});var cl,rq,tq,iq,kwt,wwt,z7e,Swt,Ewt,Xn,Awt,_wt,Dwt,Rwt,Lwt,Mwt,Nwt,G7e,V7e=z(()=>{"use strict";Ut();Ir();St();Bn();Wx();cl=[],rq=[],tq=0,iq={},kwt=o(()=>{cl=[],rq=[],tq=0,iq={}},"clear"),wwt=o(e=>{if(cl.length===0)return null;let t=cl[0].level,r=null;for(let i=cl.length-1;i>=0;i--)if(cl[i].level===t&&!r&&(r=cl[i]),cl[i].level<t)throw new Error('Items without section detected, found section ("'+cl[i].label+'")');return e===r?.level?null:r},"getSection"),z7e=o(function(){return rq},"getSections"),Swt=o(function(){let e=[],t=[],r=z7e(),i=ge();for(let n of r){let a={id:n.id,label:fr(n.label??"",i),labelType:"markdown",isGroup:!0,ticket:n.ticket,shape:"kanbanSection",level:n.level,look:i.look};t.push(a);let s=cl.filter(l=>l.parentId===n.id);for(let l of s){let u={id:l.id,parentId:n.id,label:fr(l.label??"",i),labelType:"markdown",isGroup:!1,ticket:l?.ticket,priority:l?.priority,assigned:l?.assigned,icon:l?.icon,shape:"kanbanItem",level:l.level,rx:5,ry:5,cssStyles:["text-align: left"]};t.push(u)}}return{nodes:t,edges:e,other:{},config:ge()}},"getData"),Ewt=o((e,t,r,i,n)=>{let a=ge(),s=a.mindmap?.padding??or.mindmap.padding;switch(i){case Xn.ROUNDED_RECT:case Xn.RECT:case Xn.HEXAGON:s*=2}let l={id:fr(t,a)||"kbn"+tq++,level:e,label:fr(r,a),width:a.mindmap?.maxNodeWidth??or.mindmap.maxNodeWidth,padding:s,isGroup:!1};if(n!==void 0){let h;n.includes(`
951
+ `)?h=n+`
952
+ `:h=`{
953
+ `+n+`
954
+ }`;let d=ld(h,{schema:od});if(d.shape&&(d.shape!==d.shape.toLowerCase()||d.shape.includes("_")))throw new Error(`No such shape: ${d.shape}. Shape names should be lowercase.`);d?.shape&&d.shape==="kanbanItem"&&(l.shape=d?.shape),d?.label&&(l.label=d?.label),d?.icon&&(l.icon=d?.icon.toString()),d?.assigned&&(l.assigned=d?.assigned.toString()),d?.ticket&&(l.ticket=d?.ticket.toString()),d?.priority&&(l.priority=d?.priority)}let u=wwt(e);u?l.parentId=u.id||"kbn"+tq++:rq.push(l),cl.push(l)},"addNode"),Xn={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},Awt=o((e,t)=>{switch(Z.debug("In get type",e,t),e){case"[":return Xn.RECT;case"(":return t===")"?Xn.ROUNDED_RECT:Xn.CLOUD;case"((":return Xn.CIRCLE;case")":return Xn.CLOUD;case"))":return Xn.BANG;case"{{":return Xn.HEXAGON;default:return Xn.DEFAULT}},"getType"),_wt=o((e,t)=>{iq[e]=t},"setElementForId"),Dwt=o(e=>{if(!e)return;let t=ge(),r=cl[cl.length-1];e.icon&&(r.icon=fr(e.icon,t)),e.class&&(r.cssClasses=fr(e.class,t))},"decorateNode"),Rwt=o(e=>{switch(e){case Xn.DEFAULT:return"no-border";case Xn.RECT:return"rect";case Xn.ROUNDED_RECT:return"rounded-rect";case Xn.CIRCLE:return"circle";case Xn.CLOUD:return"cloud";case Xn.BANG:return"bang";case Xn.HEXAGON:return"hexgon";default:return"no-border"}},"type2Str"),Lwt=o(()=>Z,"getLogger"),Mwt=o(e=>iq[e],"getElementById"),Nwt={clear:kwt,addNode:Ewt,getSections:z7e,getData:Swt,nodeType:Xn,getType:Awt,setElementForId:_wt,decorateNode:Dwt,type2Str:Rwt,getLogger:Lwt,getElementById:Mwt},G7e=Nwt});var Iwt,W7e,q7e=z(()=>{"use strict";Ut();St();ps();Di();Bn();W4();J4();Iwt=o(async(e,t,r,i)=>{Z.debug(`Rendering kanban diagram
955
+ `+e);let a=i.db.getData(),s=ge();s.htmlLabels=!1;let l=bi(t);for(let v of a.nodes)v.domId=`${t}-${v.id}`;let u=l.append("g");u.attr("class","sections");let h=l.append("g");h.attr("class","items");let d=a.nodes.filter(v=>v.isGroup),f=0,p=10,m=[],g=25;for(let v of d){let x=s?.kanban?.sectionWidth||200;f=f+1,v.x=x*f+(f-1)*p/2,v.width=x,v.y=0,v.height=x*3,v.rx=5,v.ry=5,v.cssClasses=v.cssClasses+" section-"+f;let b=await wg(u,v);g=Math.max(g,b?.labelBBox?.height),m.push(b)}let y=0;for(let v of d){let x=m[y];y=y+1;let b=s?.kanban?.sectionWidth||200,T=-b*3/2+g,w=T,C=a.nodes.filter(A=>A.parentId===v.id);for(let A of C){if(A.isGroup)throw new Error("Groups within groups are not allowed in Kanban diagrams");A.x=v.x,A.width=b-1.5*p;let P=(await Sg(h,A,{config:s})).node().getBBox();A.y=w+P.height/2,await nb(A),w=A.y+P.height/2+p/2}let k=x.cluster.select("rect"),E=Math.max(w-T+3*p,50)+(g-25);k.attr("height",E)}Io(void 0,l,s.mindmap?.padding??or.kanban.padding,s.mindmap?.useMaxWidth??or.kanban.useMaxWidth)},"draw"),W7e={draw:Iwt}});var Owt,Pwt,U7e,H7e=z(()=>{"use strict";Cn();k1();Owt=o(e=>{let t="";for(let i=0;i<e.THEME_COLOR_LIMIT;i++)e["lineColor"+i]=e["lineColor"+i]||e["cScaleInv"+i],ri(e["lineColor"+i])?e["lineColor"+i]=je(e["lineColor"+i],20):e["lineColor"+i]=Xe(e["lineColor"+i],20);let r=o((i,n)=>e.darkMode?Xe(i,n):je(i,n),"adjuster");for(let i=0;i<e.THEME_COLOR_LIMIT;i++){let n=""+(17-3*i);t+=`
956
+ .section-${i-1} rect, .section-${i-1} path, .section-${i-1} circle, .section-${i-1} polygon, .section-${i-1} path {
957
+ fill: ${r(e["cScale"+i],10)};
958
+ stroke: ${r(e["cScale"+i],10)};
959
+
960
+ }
961
+ .section-${i-1} text {
962
+ fill: ${e["cScaleLabel"+i]};
963
+ }
964
+ .node-icon-${i-1} {
965
+ font-size: 40px;
966
+ color: ${e["cScaleLabel"+i]};
967
+ }
968
+ .section-edge-${i-1}{
969
+ stroke: ${e["cScale"+i]};
970
+ }
971
+ .edge-depth-${i-1}{
972
+ stroke-width: ${n};
973
+ }
974
+ .section-${i-1} line {
975
+ stroke: ${e["cScaleInv"+i]} ;
976
+ stroke-width: 3;
977
+ }
978
+
979
+ .disabled, .disabled circle, .disabled text {
980
+ fill: lightgray;
981
+ }
982
+ .disabled text {
983
+ fill: #efefef;
984
+ }
985
+
986
+ .node rect,
987
+ .node circle,
988
+ .node ellipse,
989
+ .node polygon,
990
+ .node path {
991
+ fill: ${e.background};
992
+ stroke: ${e.nodeBorder};
993
+ stroke-width: 1px;
994
+ }
995
+
996
+ .kanban-ticket-link {
997
+ fill: ${e.background};
998
+ stroke: ${e.nodeBorder};
999
+ text-decoration: underline;
1000
+ }
1001
+ `}return t},"genSections"),Pwt=o(e=>`
1002
+ .edge {
1003
+ stroke-width: 3;
1004
+ }
1005
+ ${Owt(e)}
1006
+ .section-root rect, .section-root path, .section-root circle, .section-root polygon {
1007
+ fill: ${e.git0};
1008
+ }
1009
+ .section-root text {
1010
+ fill: ${e.gitBranchLabel0};
1011
+ }
1012
+ .icon-container {
1013
+ height:100%;
1014
+ display: flex;
1015
+ justify-content: center;
1016
+ align-items: center;
1017
+ }
1018
+ .edge {
1019
+ fill: none;
1020
+ }
1021
+ .cluster-label, .label {
1022
+ color: ${e.textColor};
1023
+ fill: ${e.textColor};
1024
+ }
1025
+ .kanban-label {
1026
+ dy: 1em;
1027
+ alignment-baseline: middle;
1028
+ text-anchor: middle;
1029
+ dominant-baseline: middle;
1030
+ text-align: center;
1031
+ }
1032
+ ${Vc()}
1033
+ `,"getStyles"),U7e=Pwt});var Y7e={};xr(Y7e,{diagram:()=>Bwt});var Bwt,j7e=z(()=>{"use strict";$7e();V7e();q7e();H7e();Bwt={db:G7e,renderer:W7e,parser:F7e,styles:U7e}});var nq,tC,Z7e=z(()=>{"use strict";nq=(function(){var e=o(function(l,u,h,d){for(h=h||{},d=l.length;d--;h[l[d]]=u);return h},"o"),t=[1,9],r=[1,10],i=[1,5,10,12],n={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:o(function(u,h,d,f,p,m,g){var y=m.length-1;switch(p){case 7:let v=f.findOrCreateNode(m[y-4].trim().replaceAll('""','"')),x=f.findOrCreateNode(m[y-2].trim().replaceAll('""','"')),b=parseFloat(m[y].trim());f.addLink(v,x,b);break;case 8:case 9:case 11:this.$=m[y];break;case 10:this.$=m[y-1];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:t,20:r},{1:[2,6],7:11,10:[1,12]},e(r,[2,4],{9:13,5:[1,14]}),{12:[1,15]},e(i,[2,8]),e(i,[2,9]),{19:[1,16]},e(i,[2,11]),{1:[2,1]},{1:[2,5]},e(r,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:t,20:r},{15:18,16:7,17:8,18:t,20:r},{18:[1,19]},e(r,[2,3]),{12:[1,20]},e(i,[2,10]),{15:21,16:7,17:8,18:t,20:r},e([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:o(function(u,h){if(h.recoverable)this.trace(u);else{var d=new Error(u);throw d.hash=h,d}},"parseError"),parse:o(function(u){var h=this,d=[0],f=[],p=[null],m=[],g=this.table,y="",v=0,x=0,b=0,T=2,w=1,C=m.slice.call(arguments,1),k=Object.create(this.lexer),E={yy:{}};for(var A in this.yy)Object.prototype.hasOwnProperty.call(this.yy,A)&&(E.yy[A]=this.yy[A]);k.setInput(u,E.yy),E.yy.lexer=k,E.yy.parser=this,typeof k.yylloc>"u"&&(k.yylloc={});var N=k.yylloc;m.push(N);var P=k.options&&k.options.ranges;typeof E.yy.parseError=="function"?this.parseError=E.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function I(U){d.length=d.length-2*U,p.length=p.length-U,m.length=m.length-U}o(I,"popStack");function D(){var U;return U=f.pop()||k.lex()||w,typeof U!="number"&&(U instanceof Array&&(f=U,U=f.pop()),U=h.symbols_[U]||U),U}o(D,"lex");for(var _,R,M,L,B,O,$={},G,F,V,H;;){if(M=d[d.length-1],this.defaultActions[M]?L=this.defaultActions[M]:((_===null||typeof _>"u")&&(_=D()),L=g[M]&&g[M][_]),typeof L>"u"||!L.length||!L[0]){var j="";H=[];for(G in g[M])this.terminals_[G]&&G>T&&H.push("'"+this.terminals_[G]+"'");k.showPosition?j="Parse error on line "+(v+1)+`:
1034
+ `+k.showPosition()+`
1035
+ Expecting `+H.join(", ")+", got '"+(this.terminals_[_]||_)+"'":j="Parse error on line "+(v+1)+": Unexpected "+(_==w?"end of input":"'"+(this.terminals_[_]||_)+"'"),this.parseError(j,{text:k.match,token:this.terminals_[_]||_,line:k.yylineno,loc:N,expected:H})}if(L[0]instanceof Array&&L.length>1)throw new Error("Parse Error: multiple actions possible at state: "+M+", token: "+_);switch(L[0]){case 1:d.push(_),p.push(k.yytext),m.push(k.yylloc),d.push(L[1]),_=null,R?(_=R,R=null):(x=k.yyleng,y=k.yytext,v=k.yylineno,N=k.yylloc,b>0&&b--);break;case 2:if(F=this.productions_[L[1]][1],$.$=p[p.length-F],$._$={first_line:m[m.length-(F||1)].first_line,last_line:m[m.length-1].last_line,first_column:m[m.length-(F||1)].first_column,last_column:m[m.length-1].last_column},P&&($._$.range=[m[m.length-(F||1)].range[0],m[m.length-1].range[1]]),O=this.performAction.apply($,[y,x,v,E.yy,L[1],p,m].concat(C)),typeof O<"u")return O;F&&(d=d.slice(0,-1*F*2),p=p.slice(0,-1*F),m=m.slice(0,-1*F)),d.push(this.productions_[L[1]][0]),p.push($.$),m.push($._$),V=g[d[d.length-2]][d[d.length-1]],d.push(V);break;case 3:return!0}}return!0},"parse")},a=(function(){var l={EOF:1,parseError:o(function(h,d){if(this.yy.parser)this.yy.parser.parseError(h,d);else throw new Error(h)},"parseError"),setInput:o(function(u,h){return this.yy=h||this.yy||{},this._input=u,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},"setInput"),input:o(function(){var u=this._input[0];this.yytext+=u,this.yyleng++,this.offset++,this.match+=u,this.matched+=u;var h=u.match(/(?:\r\n?|\n).*/g);return h?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),u},"input"),unput:o(function(u){var h=u.length,d=u.split(/(?:\r\n?|\n)/g);this._input=u+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-h),this.offset-=h;var f=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),d.length-1&&(this.yylineno-=d.length-1);var p=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:d?(d.length===f.length?this.yylloc.first_column:0)+f[f.length-d.length].length-d[0].length:this.yylloc.first_column-h},this.options.ranges&&(this.yylloc.range=[p[0],p[0]+this.yyleng-h]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
1036
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(u){this.unput(this.match.slice(u))},"less"),pastInput:o(function(){var u=this.matched.substr(0,this.matched.length-this.match.length);return(u.length>20?"...":"")+u.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var u=this.match;return u.length<20&&(u+=this._input.substr(0,20-u.length)),(u.substr(0,20)+(u.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var u=this.pastInput(),h=new Array(u.length+1).join("-");return u+this.upcomingInput()+`
1037
+ `+h+"^"},"showPosition"),test_match:o(function(u,h){var d,f,p;if(this.options.backtrack_lexer&&(p={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&&(p.yylloc.range=this.yylloc.range.slice(0))),f=u[0].match(/(?:\r\n?|\n).*/g),f&&(this.yylineno+=f.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:f?f[f.length-1].length-f[f.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+u[0].length},this.yytext+=u[0],this.match+=u[0],this.matches=u,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(u[0].length),this.matched+=u[0],d=this.performAction.call(this,this.yy,this,h,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),d)return d;if(this._backtrack){for(var m in p)this[m]=p[m];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var u,h,d,f;this._more||(this.yytext="",this.match="");for(var p=this._currentRules(),m=0;m<p.length;m++)if(d=this._input.match(this.rules[p[m]]),d&&(!h||d[0].length>h[0].length)){if(h=d,f=m,this.options.backtrack_lexer){if(u=this.test_match(d,p[m]),u!==!1)return u;if(this._backtrack){h=!1;continue}else return!1}else if(!this.options.flex)break}return h?(u=this.test_match(h,p[f]),u!==!1?u:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
1038
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var h=this.next();return h||this.lex()},"lex"),begin:o(function(h){this.conditionStack.push(h)},"begin"),popState:o(function(){var h=this.conditionStack.length-1;return h>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(h){return h=this.conditionStack.length-1-Math.abs(h||0),h>=0?this.conditionStack[h]:"INITIAL"},"topState"),pushState:o(function(h){this.begin(h)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(h,d,f,p){var m=p;switch(f){case 0:return this.pushState("csv"),4;break;case 1:return this.pushState("csv"),4;break;case 2:return 10;case 3:return 5;case 4:return 12;case 5:return this.pushState("escaped_text"),18;break;case 6:return 20;case 7:return this.popState("escaped_text"),18;break;case 8:return 19}},"anonymous"),rules:[/^(?:sankey-beta\b)/i,/^(?:sankey\b)/i,/^(?:$)/i,/^(?:((\u000D\u000A)|(\u000A)))/i,/^(?:(\u002C))/i,/^(?:(\u0022))/i,/^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/i,/^(?:(\u0022)(?!(\u0022)))/i,/^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/i],conditions:{csv:{rules:[2,3,4,5,6,7,8],inclusive:!1},escaped_text:{rules:[7,8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8],inclusive:!0}}};return l})();n.lexer=a;function s(){this.yy={}}return o(s,"Parser"),s.prototype=n,n.Parser=s,new s})();nq.parser=nq;tC=nq});var p_,m_,f_,Gwt,aq,Vwt,sq,Wwt,qwt,Uwt,Hwt,Q7e,J7e=z(()=>{"use strict";Ut();Ir();Ci();p_=[],m_=[],f_=new Map,Gwt=o(()=>{p_=[],m_=[],f_=new Map,gr()},"clear"),aq=class{constructor(t,r,i=0){this.source=t;this.target=r;this.value=i}static{o(this,"SankeyLink")}},Vwt=o((e,t,r)=>{p_.push(new aq(e,t,r))},"addLink"),sq=class{constructor(t){this.ID=t}static{o(this,"SankeyNode")}},Wwt=o(e=>{e=vt.sanitizeText(e,ge());let t=f_.get(e);return t===void 0&&(t=new sq(e),f_.set(e,t),m_.push(t)),t},"findOrCreateNode"),qwt=o(()=>m_,"getNodes"),Uwt=o(()=>p_,"getLinks"),Hwt=o(()=>({nodes:m_.map(e=>({id:e.ID})),links:p_.map(e=>({source:e.source.ID,target:e.target.ID,value:e.value}))}),"getGraph"),Q7e={nodesMap:f_,getConfig:o(()=>ge().sankey,"getConfig"),getNodes:qwt,getLinks:Uwt,getGraph:Hwt,addLink:Vwt,findOrCreateNode:Wwt,getAccTitle:kr,setAccTitle:Cr,getAccDescription:Sr,setAccDescription:wr,getDiagramTitle:Er,setDiagramTitle:Ar,clear:Gwt}});function rC(e,t){let r;if(t===void 0)for(let i of e)i!=null&&(r<i||r===void 0&&i>=i)&&(r=i);else{let i=-1;for(let n of e)(n=t(n,++i,e))!=null&&(r<n||r===void 0&&n>=n)&&(r=n)}return r}var eDe=z(()=>{"use strict";o(rC,"max")});function Dy(e,t){let r;if(t===void 0)for(let i of e)i!=null&&(r>i||r===void 0&&i>=i)&&(r=i);else{let i=-1;for(let n of e)(n=t(n,++i,e))!=null&&(r>n||r===void 0&&n>=n)&&(r=n)}return r}var tDe=z(()=>{"use strict";o(Dy,"min")});function Ry(e,t){let r=0;if(t===void 0)for(let i of e)(i=+i)&&(r+=i);else{let i=-1;for(let n of e)(n=+t(n,++i,e))&&(r+=n)}return r}var rDe=z(()=>{"use strict";o(Ry,"sum")});var oq=z(()=>{"use strict";eDe();tDe();rDe()});function Ywt(e){return e.target.depth}function lq(e){return e.depth}function cq(e,t){return t-1-e.height}function iC(e,t){return e.sourceLinks.length?e.depth:t-1}function uq(e){return e.targetLinks.length?e.depth:e.sourceLinks.length?Dy(e.sourceLinks,Ywt)-1:0}var hq=z(()=>{"use strict";oq();o(Ywt,"targetDepth");o(lq,"left");o(cq,"right");o(iC,"justify");o(uq,"center")});function Ly(e){return function(){return e}}var iDe=z(()=>{"use strict";o(Ly,"constant")});function nDe(e,t){return g_(e.source,t.source)||e.index-t.index}function aDe(e,t){return g_(e.target,t.target)||e.index-t.index}function g_(e,t){return e.y0-t.y0}function dq(e){return e.value}function jwt(e){return e.index}function Xwt(e){return e.nodes}function Kwt(e){return e.links}function sDe(e,t){let r=e.get(t);if(!r)throw new Error("missing: "+t);return r}function oDe({nodes:e}){for(let t of e){let r=t.y0,i=r;for(let n of t.sourceLinks)n.y0=r+n.width/2,r+=n.width;for(let n of t.targetLinks)n.y1=i+n.width/2,i+=n.width}}function y_(){let e=0,t=0,r=1,i=1,n=24,a=8,s,l=jwt,u=iC,h,d,f=Xwt,p=Kwt,m=6;function g(){let M={nodes:f.apply(null,arguments),links:p.apply(null,arguments)};return y(M),v(M),x(M),b(M),C(M),oDe(M),M}o(g,"sankey"),g.update=function(M){return oDe(M),M},g.nodeId=function(M){return arguments.length?(l=typeof M=="function"?M:Ly(M),g):l},g.nodeAlign=function(M){return arguments.length?(u=typeof M=="function"?M:Ly(M),g):u},g.nodeSort=function(M){return arguments.length?(h=M,g):h},g.nodeWidth=function(M){return arguments.length?(n=+M,g):n},g.nodePadding=function(M){return arguments.length?(a=s=+M,g):a},g.nodes=function(M){return arguments.length?(f=typeof M=="function"?M:Ly(M),g):f},g.links=function(M){return arguments.length?(p=typeof M=="function"?M:Ly(M),g):p},g.linkSort=function(M){return arguments.length?(d=M,g):d},g.size=function(M){return arguments.length?(e=t=0,r=+M[0],i=+M[1],g):[r-e,i-t]},g.extent=function(M){return arguments.length?(e=+M[0][0],r=+M[1][0],t=+M[0][1],i=+M[1][1],g):[[e,t],[r,i]]},g.iterations=function(M){return arguments.length?(m=+M,g):m};function y({nodes:M,links:L}){for(let[O,$]of M.entries())$.index=O,$.sourceLinks=[],$.targetLinks=[];let B=new Map(M.map((O,$)=>[l(O,$,M),O]));for(let[O,$]of L.entries()){$.index=O;let{source:G,target:F}=$;typeof G!="object"&&(G=$.source=sDe(B,G)),typeof F!="object"&&(F=$.target=sDe(B,F)),G.sourceLinks.push($),F.targetLinks.push($)}if(d!=null)for(let{sourceLinks:O,targetLinks:$}of M)O.sort(d),$.sort(d)}o(y,"computeNodeLinks");function v({nodes:M}){for(let L of M)L.value=L.fixedValue===void 0?Math.max(Ry(L.sourceLinks,dq),Ry(L.targetLinks,dq)):L.fixedValue}o(v,"computeNodeValues");function x({nodes:M}){let L=M.length,B=new Set(M),O=new Set,$=0;for(;B.size;){for(let G of B){G.depth=$;for(let{target:F}of G.sourceLinks)O.add(F)}if(++$>L)throw new Error("circular link");B=O,O=new Set}}o(x,"computeNodeDepths");function b({nodes:M}){let L=M.length,B=new Set(M),O=new Set,$=0;for(;B.size;){for(let G of B){G.height=$;for(let{source:F}of G.targetLinks)O.add(F)}if(++$>L)throw new Error("circular link");B=O,O=new Set}}o(b,"computeNodeHeights");function T({nodes:M}){let L=rC(M,$=>$.depth)+1,B=(r-e-n)/(L-1),O=new Array(L);for(let $ of M){let G=Math.max(0,Math.min(L-1,Math.floor(u.call(null,$,L))));$.layer=G,$.x0=e+G*B,$.x1=$.x0+n,O[G]?O[G].push($):O[G]=[$]}if(h)for(let $ of O)$.sort(h);return O}o(T,"computeNodeLayers");function w(M){let L=Dy(M,B=>(i-t-(B.length-1)*s)/Ry(B,dq));for(let B of M){let O=t;for(let $ of B){$.y0=O,$.y1=O+$.value*L,O=$.y1+s;for(let G of $.sourceLinks)G.width=G.value*L}O=(i-O+s)/(B.length+1);for(let $=0;$<B.length;++$){let G=B[$];G.y0+=O*($+1),G.y1+=O*($+1)}D(B)}}o(w,"initializeNodeBreadths");function C(M){let L=T(M);s=Math.min(a,(i-t)/(rC(L,B=>B.length)-1)),w(L);for(let B=0;B<m;++B){let O=Math.pow(.99,B),$=Math.max(1-O,(B+1)/m);E(L,O,$),k(L,O,$)}}o(C,"computeNodeBreadths");function k(M,L,B){for(let O=1,$=M.length;O<$;++O){let G=M[O];for(let F of G){let V=0,H=0;for(let{source:U,value:Q}of F.targetLinks){let Y=Q*(F.layer-U.layer);V+=_(U,F)*Y,H+=Y}if(!(H>0))continue;let j=(V/H-F.y0)*L;F.y0+=j,F.y1+=j,I(F)}h===void 0&&G.sort(g_),A(G,B)}}o(k,"relaxLeftToRight");function E(M,L,B){for(let O=M.length,$=O-2;$>=0;--$){let G=M[$];for(let F of G){let V=0,H=0;for(let{target:U,value:Q}of F.sourceLinks){let Y=Q*(U.layer-F.layer);V+=R(F,U)*Y,H+=Y}if(!(H>0))continue;let j=(V/H-F.y0)*L;F.y0+=j,F.y1+=j,I(F)}h===void 0&&G.sort(g_),A(G,B)}}o(E,"relaxRightToLeft");function A(M,L){let B=M.length>>1,O=M[B];P(M,O.y0-s,B-1,L),N(M,O.y1+s,B+1,L),P(M,i,M.length-1,L),N(M,t,0,L)}o(A,"resolveCollisions");function N(M,L,B,O){for(;B<M.length;++B){let $=M[B],G=(L-$.y0)*O;G>1e-6&&($.y0+=G,$.y1+=G),L=$.y1+s}}o(N,"resolveCollisionsTopToBottom");function P(M,L,B,O){for(;B>=0;--B){let $=M[B],G=($.y1-L)*O;G>1e-6&&($.y0-=G,$.y1-=G),L=$.y0-s}}o(P,"resolveCollisionsBottomToTop");function I({sourceLinks:M,targetLinks:L}){if(d===void 0){for(let{source:{sourceLinks:B}}of L)B.sort(aDe);for(let{target:{targetLinks:B}}of M)B.sort(nDe)}}o(I,"reorderNodeLinks");function D(M){if(d===void 0)for(let{sourceLinks:L,targetLinks:B}of M)L.sort(aDe),B.sort(nDe)}o(D,"reorderLinks");function _(M,L){let B=M.y0-(M.sourceLinks.length-1)*s/2;for(let{target:O,width:$}of M.sourceLinks){if(O===L)break;B+=$+s}for(let{source:O,width:$}of L.targetLinks){if(O===M)break;B-=$}return B}o(_,"targetTop");function R(M,L){let B=L.y0-(L.targetLinks.length-1)*s/2;for(let{source:O,width:$}of L.targetLinks){if(O===M)break;B+=$+s}for(let{target:O,width:$}of M.sourceLinks){if(O===L)break;B-=$}return B}return o(R,"sourceTop"),g}var lDe=z(()=>{"use strict";oq();hq();iDe();o(nDe,"ascendingSourceBreadth");o(aDe,"ascendingTargetBreadth");o(g_,"ascendingBreadth");o(dq,"value");o(jwt,"defaultId");o(Xwt,"defaultNodes");o(Kwt,"defaultLinks");o(sDe,"find");o(oDe,"computeLinkBreadths");o(y_,"Sankey")});function mq(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function cDe(){return new mq}var fq,pq,Tm,Zwt,gq,uDe=z(()=>{"use strict";fq=Math.PI,pq=2*fq,Tm=1e-6,Zwt=pq-Tm;o(mq,"Path");o(cDe,"path");mq.prototype=cDe.prototype={constructor:mq,moveTo:o(function(e,t){this._+="M"+(this._x0=this._x1=+e)+","+(this._y0=this._y1=+t)},"moveTo"),closePath:o(function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},"closePath"),lineTo:o(function(e,t){this._+="L"+(this._x1=+e)+","+(this._y1=+t)},"lineTo"),quadraticCurveTo:o(function(e,t,r,i){this._+="Q"+ +e+","+ +t+","+(this._x1=+r)+","+(this._y1=+i)},"quadraticCurveTo"),bezierCurveTo:o(function(e,t,r,i,n,a){this._+="C"+ +e+","+ +t+","+ +r+","+ +i+","+(this._x1=+n)+","+(this._y1=+a)},"bezierCurveTo"),arcTo:o(function(e,t,r,i,n){e=+e,t=+t,r=+r,i=+i,n=+n;var a=this._x1,s=this._y1,l=r-e,u=i-t,h=a-e,d=s-t,f=h*h+d*d;if(n<0)throw new Error("negative radius: "+n);if(this._x1===null)this._+="M"+(this._x1=e)+","+(this._y1=t);else if(f>Tm)if(!(Math.abs(d*l-u*h)>Tm)||!n)this._+="L"+(this._x1=e)+","+(this._y1=t);else{var p=r-a,m=i-s,g=l*l+u*u,y=p*p+m*m,v=Math.sqrt(g),x=Math.sqrt(f),b=n*Math.tan((fq-Math.acos((g+f-y)/(2*v*x)))/2),T=b/x,w=b/v;Math.abs(T-1)>Tm&&(this._+="L"+(e+T*h)+","+(t+T*d)),this._+="A"+n+","+n+",0,0,"+ +(d*p>h*m)+","+(this._x1=e+w*l)+","+(this._y1=t+w*u)}},"arcTo"),arc:o(function(e,t,r,i,n,a){e=+e,t=+t,r=+r,a=!!a;var s=r*Math.cos(i),l=r*Math.sin(i),u=e+s,h=t+l,d=1^a,f=a?i-n:n-i;if(r<0)throw new Error("negative radius: "+r);this._x1===null?this._+="M"+u+","+h:(Math.abs(this._x1-u)>Tm||Math.abs(this._y1-h)>Tm)&&(this._+="L"+u+","+h),r&&(f<0&&(f=f%pq+pq),f>Zwt?this._+="A"+r+","+r+",0,1,"+d+","+(e-s)+","+(t-l)+"A"+r+","+r+",0,1,"+d+","+(this._x1=u)+","+(this._y1=h):f>Tm&&(this._+="A"+r+","+r+",0,"+ +(f>=fq)+","+d+","+(this._x1=e+r*Math.cos(n))+","+(this._y1=t+r*Math.sin(n))))},"arc"),rect:o(function(e,t,r,i){this._+="M"+(this._x0=this._x1=+e)+","+(this._y0=this._y1=+t)+"h"+ +r+"v"+ +i+"h"+-r+"Z"},"rect"),toString:o(function(){return this._},"toString")};gq=cDe});var hDe=z(()=>{"use strict";uDe()});function v_(e){return o(function(){return e},"constant")}var dDe=z(()=>{"use strict";o(v_,"default")});function fDe(e){return e[0]}function pDe(e){return e[1]}var mDe=z(()=>{"use strict";o(fDe,"x");o(pDe,"y")});var gDe,yDe=z(()=>{"use strict";gDe=Array.prototype.slice});function Qwt(e){return e.source}function Jwt(e){return e.target}function e4t(e){var t=Qwt,r=Jwt,i=fDe,n=pDe,a=null;function s(){var l,u=gDe.call(arguments),h=t.apply(this,u),d=r.apply(this,u);if(a||(a=l=gq()),e(a,+i.apply(this,(u[0]=h,u)),+n.apply(this,u),+i.apply(this,(u[0]=d,u)),+n.apply(this,u)),l)return a=null,l+""||null}return o(s,"link"),s.source=function(l){return arguments.length?(t=l,s):t},s.target=function(l){return arguments.length?(r=l,s):r},s.x=function(l){return arguments.length?(i=typeof l=="function"?l:v_(+l),s):i},s.y=function(l){return arguments.length?(n=typeof l=="function"?l:v_(+l),s):n},s.context=function(l){return arguments.length?(a=l??null,s):a},s}function t4t(e,t,r,i,n){e.moveTo(t,r),e.bezierCurveTo(t=(t+i)/2,r,t,n,i,n)}function yq(){return e4t(t4t)}var vDe=z(()=>{"use strict";hDe();yDe();dDe();mDe();o(Qwt,"linkSource");o(Jwt,"linkTarget");o(e4t,"link");o(t4t,"curveHorizontal");o(yq,"linkHorizontal")});var xDe=z(()=>{"use strict";vDe()});function r4t(e){return[e.source.x1,e.y0]}function i4t(e){return[e.target.x0,e.y1]}function x_(){return yq().source(r4t).target(i4t)}var bDe=z(()=>{"use strict";xDe();o(r4t,"horizontalSource");o(i4t,"horizontalTarget");o(x_,"default")});var TDe=z(()=>{"use strict";lDe();hq();bDe()});var nC,CDe=z(()=>{"use strict";nC=class e{static{o(this,"Uid")}static{this.count=0}static next(t){return new e(t+ ++e.count)}constructor(t){this.id=t,this.href=`#${t}`}toString(){return"url("+this.href+")"}}});var n4t,a4t,s4t,kDe,wDe=z(()=>{"use strict";Ut();Rr();TDe();Di();CDe();n4t={left:lq,right:cq,center:uq,justify:iC},a4t=o(e=>{let t=0,r=0;for(let i of e){let n=i.value??0;n>t&&(t=n,r=i.layer??0)}return r},"findCentralNodeLayer"),s4t=o(function(e,t,r,i){let{securityLevel:n,sankey:a}=ge(),s=vk.sankey,l;n==="sandbox"&&(l=Je("#i"+t));let u=n==="sandbox"?Je(l.nodes()[0].contentDocument.body):Je("body"),h=n==="sandbox"?u.select(`[id="${t}"]`):Je(`[id="${t}"]`),d=a?.width??s.width,f=a?.height??s.width,p=a?.useMaxWidth??s.useMaxWidth,m=a?.nodeAlignment??s.nodeAlignment,g=a?.prefix??s.prefix,y=a?.suffix??s.suffix,v=a?.showValues??s.showValues,x=a?.nodeWidth??s.nodeWidth??10,b=a?.nodePadding??s.nodePadding??12,T=a?.labelStyle??s.labelStyle??"legacy",w=a?.nodeColors??{},C=i.db.getGraph(),k=n4t[m];y_().nodeId(O=>O.id).nodeWidth(x).nodePadding(b+(v?15:0)).nodeAlign(k).extent([[0,0],[d,f]])(C);let A=a4t(C.nodes),N=ro(XL),P=o(O=>w[O]??N(O),"getNodeColor");h.append("g").attr("class","nodes").selectAll(".node").data(C.nodes).join("g").attr("class","node").attr("id",O=>(O.uid=nC.next("node-")).id).attr("transform",function(O){return"translate("+O.x0+","+O.y0+")"}).attr("x",O=>O.x0).attr("y",O=>O.y0).append("rect").attr("height",O=>O.y1-O.y0).attr("width",O=>O.x1-O.x0).attr("fill",O=>P(O.id));let I=o(({id:O,value:$})=>v?`${O}
1039
+ ${g}${Math.round($*100)/100}${y}`:O,"getText"),D=o(O=>T==="outlined"?(O.layer??0)<A?{x:O.x0-6,anchor:"end"}:{x:O.x1+6,anchor:"start"}:O.x0<d/2?{x:O.x1+6,anchor:"start"}:{x:O.x0-6,anchor:"end"},"getLabelPosition"),_=h.append("g").attr("class","node-labels").attr("font-size",14),R=o(O=>_.selectAll(O?`.${O}`:"text").data(C.nodes).join("text").attr("class",O??null).attr("x",$=>D($).x).attr("y",$=>($.y1+$.y0)/2).attr("dy",`${v?"0":"0.35"}em`).attr("text-anchor",$=>D($).anchor).text(I),"appendLabel");T==="outlined"?(R("sankey-label-bg"),R("sankey-label-fg")):R();let M=h.append("g").attr("class","links").attr("fill","none").attr("stroke-opacity",.5).selectAll(".link").data(C.links).join("g").attr("class","link").style("mix-blend-mode","multiply"),L=a?.linkColor??"gradient";if(L==="gradient"){let O=M.append("linearGradient").attr("id",$=>($.uid=nC.next("linearGradient-")).id).attr("gradientUnits","userSpaceOnUse").attr("x1",$=>$.source.x1).attr("x2",$=>$.target.x0);O.append("stop").attr("offset","0%").attr("stop-color",$=>P($.source.id)),O.append("stop").attr("offset","100%").attr("stop-color",$=>P($.target.id))}let B;switch(L){case"gradient":B=o(O=>O.uid,"coloring");break;case"source":B=o(O=>P(O.source.id),"coloring");break;case"target":B=o(O=>P(O.target.id),"coloring");break;default:B=L}M.append("path").attr("d",x_()).attr("stroke",B).attr("stroke-width",O=>Math.max(1,O.width)),Io(void 0,h,0,p)},"draw"),kDe={draw:s4t}});var SDe,EDe=z(()=>{"use strict";SDe=o(e=>e.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,`
1040
+ `).trim(),"prepareTextForParsing")});var o4t,ADe,_De=z(()=>{"use strict";o4t=o(e=>`.label {
1041
+ font-family: ${e.fontFamily};
1042
+ }
1043
+
1044
+ .node-labels {
1045
+ font-family: ${e.fontFamily};
1046
+ }
1047
+
1048
+ /* Outlined label style - background stroke for better readability */
1049
+ .sankey-label-bg {
1050
+ stroke: ${e.mainBkg||e.background||"#fff"};
1051
+ stroke-width: 4px;
1052
+ stroke-linejoin: round;
1053
+ paint-order: stroke;
1054
+ }
1055
+
1056
+ /* Foreground label text */
1057
+ .sankey-label-fg {
1058
+ fill: ${e.textColor};
1059
+ }
1060
+
1061
+ /* Node styling */
1062
+ .node rect {
1063
+ shape-rendering: crispEdges;
1064
+ }
1065
+
1066
+ /* Link styling */
1067
+ .link {
1068
+ fill: none;
1069
+ stroke-opacity: 0.5;
1070
+ mix-blend-mode: multiply;
1071
+ }
1072
+ `,"getStyles"),ADe=o4t});var DDe={};xr(DDe,{diagram:()=>c4t});var l4t,c4t,RDe=z(()=>{"use strict";Z7e();J7e();wDe();EDe();_De();l4t=tC.parse.bind(tC);tC.parse=e=>l4t(SDe(e));c4t={styles:ADe,parser:tC,db:Q7e,renderer:kDe}});var f4t,My,vq=z(()=>{"use strict";br();Bn();Xt();Ci();f4t=or.packet,My=class{constructor(){this.packet=[];this.setAccTitle=Cr;this.getAccTitle=kr;this.setDiagramTitle=Ar;this.getDiagramTitle=Er;this.getAccDescription=Sr;this.setAccDescription=wr}static{o(this,"PacketDB")}getConfig(){let t=Gr({...f4t,...Nt().packet});return t.showBits&&(t.paddingY+=10),t}getPacket(){return this.packet}pushWord(t){t.length>0&&this.packet.push(t)}clear(){gr(),this.packet=[]}}});var p4t,m4t,g4t,xq,NDe=z(()=>{"use strict";sl();St();au();vq();p4t=1e4,m4t=o((e,t)=>{ca(e,t);let r=-1,i=[],n=1,{bitsPerRow:a}=t.getConfig();for(let{start:s,end:l,bits:u,label:h}of e.blocks){if(s!==void 0&&l!==void 0&&l<s)throw new Error(`Packet block ${s} - ${l} is invalid. End must be greater than start.`);if(s??=r+1,s!==r+1)throw new Error(`Packet block ${s} - ${l??s} is not contiguous. It should start from ${r+1}.`);if(u===0)throw new Error(`Packet block ${s} is invalid. Cannot have a zero bit field.`);for(l??=s+(u??1)-1,u??=l-s+1,r=l,Z.debug(`Packet block ${s} - ${r} with label ${h}`);i.length<=a+1&&t.getPacket().length<p4t;){let[d,f]=g4t({start:s,end:l,bits:u,label:h},n,a);if(i.push(d),d.end+1===n*a&&(t.pushWord(i),i=[],n++),!f)break;({start:s,end:l,bits:u,label:h}=f)}}t.pushWord(i)},"populate"),g4t=o((e,t,r)=>{if(e.start===void 0)throw new Error("start should have been set during first phase");if(e.end===void 0)throw new Error("end should have been set during first phase");if(e.start>e.end)throw new Error(`Block start ${e.start} is greater than block end ${e.end}.`);if(e.end+1<=t*r)return[e,void 0];let i=t*r-1,n=t*r;return[{start:e.start,end:i,label:e.label,bits:i-e.start},{start:n,end:e.end,label:e.label,bits:e.end-n}]},"getNextFittingBlock"),xq={parser:{yy:void 0},parse:o(async e=>{let t=await bn("packet",e),r=xq.parser?.yy;if(!(r instanceof My))throw new Error("parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");Z.debug(t),m4t(t,r)},"parse")}});var y4t,v4t,IDe,ODe=z(()=>{"use strict";ps();Di();y4t=o((e,t,r,i)=>{let n=i.db,a=n.getConfig(),{rowHeight:s,paddingY:l,bitWidth:u,bitsPerRow:h}=a,d=n.getPacket(),f=n.getDiagramTitle(),p=s+l,m=p*(d.length+1)-(f?0:s),g=u*h+2,y=bi(t);y.attr("viewBox",`0 0 ${g} ${m}`),Br(y,m,g,a.useMaxWidth);for(let[v,x]of d.entries())v4t(y,x,v,a);y.append("text").text(f).attr("x",g/2).attr("y",m-p/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),v4t=o((e,t,r,{rowHeight:i,paddingX:n,paddingY:a,bitWidth:s,bitsPerRow:l,showBits:u})=>{let h=e.append("g"),d=r*(i+a)+a;for(let f of t){let p=f.start%l*s+1,m=(f.end-f.start+1)*s-n;if(h.append("rect").attr("x",p).attr("y",d).attr("width",m).attr("height",i).attr("class","packetBlock"),h.append("text").attr("x",p+m/2).attr("y",d+i/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(f.label),!u)continue;let g=f.end===f.start,y=d-2;h.append("text").attr("x",p+(g?m/2:0)).attr("y",y).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",g?"middle":"start").text(f.start),g||h.append("text").attr("x",p+m).attr("y",y).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(f.end)}},"drawWord"),IDe={draw:y4t}});var x4t,PDe,BDe=z(()=>{"use strict";Xt();x4t={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},PDe=o(({packet:e}={})=>{let t=Gr(x4t,e);return`
1073
+ .packetByte {
1074
+ font-size: ${t.byteFontSize};
1075
+ }
1076
+ .packetByte.start {
1077
+ fill: ${t.startByteColor};
1078
+ }
1079
+ .packetByte.end {
1080
+ fill: ${t.endByteColor};
1081
+ }
1082
+ .packetLabel {
1083
+ fill: ${t.labelColor};
1084
+ font-size: ${t.labelFontSize};
1085
+ }
1086
+ .packetTitle {
1087
+ fill: ${t.titleColor};
1088
+ font-size: ${t.titleFontSize};
1089
+ }
1090
+ .packetBlock {
1091
+ stroke: ${t.blockStrokeColor};
1092
+ stroke-width: ${t.blockStrokeWidth};
1093
+ fill: ${t.blockFillColor};
1094
+ }
1095
+ `},"styles")});var FDe={};xr(FDe,{diagram:()=>b4t});var b4t,$De=z(()=>{"use strict";vq();NDe();ODe();BDe();b4t={parser:xq,get db(){return new My},renderer:IDe,styles:PDe}});var Ny,VDe,Cm,k4t,w4t,WDe,S4t,E4t,A4t,_4t,D4t,R4t,L4t,km,bq=z(()=>{"use strict";br();Bn();Xt();Ci();Ny={showLegend:!0,ticks:5,max:null,min:0,graticule:"circle"},VDe={axes:[],curves:[],options:Ny},Cm=structuredClone(VDe),k4t=or.radar,w4t=o(()=>Gr({...k4t,...Nt().radar}),"getConfig"),WDe=o(()=>Cm.axes,"getAxes"),S4t=o(()=>Cm.curves,"getCurves"),E4t=o(()=>Cm.options,"getOptions"),A4t=o(e=>{Cm.axes=e.map(t=>({name:t.name,label:t.label??t.name}))},"setAxes"),_4t=o(e=>{Cm.curves=e.map(t=>({name:t.name,label:t.label??t.name,entries:D4t(t.entries)}))},"setCurves"),D4t=o(e=>{if(e[0].axis==null)return e.map(r=>r.value);let t=WDe();if(t.length===0)throw new Error("Axes must be populated before curves for reference entries");return t.map(r=>{let i=e.find(n=>n.axis?.$refText===r.name);if(i===void 0)throw new Error("Missing entry for axis "+r.label);return i.value})},"computeCurveEntries"),R4t=o(e=>{let t=e.reduce((r,i)=>(r[i.name]=i,r),{});Cm.options={showLegend:t.showLegend?.value??Ny.showLegend,ticks:t.ticks?.value??Ny.ticks,max:t.max?.value??Ny.max,min:t.min?.value??Ny.min,graticule:t.graticule?.value??Ny.graticule}},"setOptions"),L4t=o(()=>{gr(),Cm=structuredClone(VDe)},"clear"),km={getAxes:WDe,getCurves:S4t,getOptions:E4t,setAxes:A4t,setCurves:_4t,setOptions:R4t,getConfig:w4t,clear:L4t,setAccTitle:Cr,getAccTitle:kr,setDiagramTitle:Ar,getDiagramTitle:Er,getAccDescription:Sr,setAccDescription:wr}});var M4t,qDe,UDe=z(()=>{"use strict";sl();St();au();bq();M4t=o(e=>{ca(e,km);let{axes:t,curves:r,options:i}=e;km.setAxes(t),km.setCurves(r),km.setOptions(i)},"populate"),qDe={parse:o(async e=>{let t=await bn("radar",e);Z.debug(t),M4t(t)},"parse")}});function B4t(e,t,r,i,n,a,s){let l=t.length,u=Math.min(s.width,s.height)/2;r.forEach((h,d)=>{if(h.entries.length!==l)return;let f=h.entries.map((p,m)=>{let g=2*Math.PI*m/l-Math.PI/2,y=F4t(p,i,n,u),v=y*Math.cos(g),x=y*Math.sin(g);return{x:v,y:x}});a==="circle"?e.append("path").attr("d",$4t(f,s.curveTension)).attr("class",`radarCurve-${d}`):a==="polygon"&&e.append("polygon").attr("points",f.map(p=>`${p.x},${p.y}`).join(" ")).attr("class",`radarCurve-${d}`)})}function F4t(e,t,r,i){let n=Math.min(Math.max(e,t),r);return i*(n-t)/(r-t)}function $4t(e,t){let r=e.length,i=`M${e[0].x},${e[0].y}`;for(let n=0;n<r;n++){let a=e[(n-1+r)%r],s=e[n],l=e[(n+1)%r],u=e[(n+2)%r],h={x:s.x+(l.x-a.x)*t,y:s.y+(l.y-a.y)*t},d={x:l.x-(u.x-s.x)*t,y:l.y-(u.y-s.y)*t};i+=` C${h.x},${h.y} ${d.x},${d.y} ${l.x},${l.y}`}return`${i} Z`}function z4t(e,t,r,i){if(!r)return;let n=(i.width/2+i.marginRight)*3/4,a=-(i.height/2+i.marginTop)*3/4,s=20;t.forEach((l,u)=>{let h=e.append("g").attr("transform",`translate(${n}, ${a+u*s})`);h.append("rect").attr("width",12).attr("height",12).attr("class",`radarLegendBox-${u}`),h.append("text").attr("x",16).attr("y",0).attr("class","radarLegendText").text(l.label)})}var N4t,I4t,O4t,P4t,HDe,YDe=z(()=>{"use strict";ps();Di();N4t=o((e,t,r,i)=>{let n=i.db,a=n.getAxes(),s=n.getCurves(),l=n.getOptions(),u=n.getConfig(),h=n.getDiagramTitle(),d=bi(t),f=I4t(d,u),p=l.max??Math.max(...s.map(y=>Math.max(...y.entries))),m=l.min,g=Math.min(u.width,u.height)/2;O4t(f,a,g,l.ticks,l.graticule),P4t(f,a,g,u),B4t(f,a,s,m,p,l.graticule,u),z4t(f,s,l.showLegend,u),f.append("text").attr("class","radarTitle").text(h).attr("x",0).attr("y",-u.height/2-u.marginTop)},"draw"),I4t=o((e,t)=>{let r=t.width+t.marginLeft+t.marginRight,i=t.height+t.marginTop+t.marginBottom,n={x:t.marginLeft+t.width/2,y:t.marginTop+t.height/2};return Br(e,i,r,t.useMaxWidth??!0),e.attr("viewBox",`0 0 ${r} ${i}`),e.append("g").attr("transform",`translate(${n.x}, ${n.y})`)},"drawFrame"),O4t=o((e,t,r,i,n)=>{if(n==="circle")for(let a=0;a<i;a++){let s=r*(a+1)/i;e.append("circle").attr("r",s).attr("class","radarGraticule")}else if(n==="polygon"){let a=t.length;for(let s=0;s<i;s++){let l=r*(s+1)/i,u=t.map((h,d)=>{let f=2*d*Math.PI/a-Math.PI/2,p=l*Math.cos(f),m=l*Math.sin(f);return`${p},${m}`}).join(" ");e.append("polygon").attr("points",u).attr("class","radarGraticule")}}},"drawGraticule"),P4t=o((e,t,r,i)=>{let n=t.length;for(let a=0;a<n;a++){let s=t[a].label,l=2*a*Math.PI/n-Math.PI/2;e.append("line").attr("x1",0).attr("y1",0).attr("x2",r*i.axisScaleFactor*Math.cos(l)).attr("y2",r*i.axisScaleFactor*Math.sin(l)).attr("class","radarAxisLine"),e.append("text").text(s).attr("x",r*i.axisLabelFactor*Math.cos(l)).attr("y",r*i.axisLabelFactor*Math.sin(l)).attr("class","radarAxisLabel")}},"drawAxes");o(B4t,"drawCurves");o(F4t,"relativeRadius");o($4t,"closedRoundCurve");o(z4t,"drawLegend");HDe={draw:N4t}});var G4t,V4t,jDe,XDe=z(()=>{"use strict";Xt();$f();br();G4t=o((e,t)=>{let r="";for(let i=0;i<e.THEME_COLOR_LIMIT;i++){let n=e[`cScale${i}`];r+=`
1096
+ .radarCurve-${i} {
1097
+ color: ${n};
1098
+ fill: ${n};
1099
+ fill-opacity: ${t.curveOpacity};
1100
+ stroke: ${n};
1101
+ stroke-width: ${t.curveStrokeWidth};
1102
+ }
1103
+ .radarLegendBox-${i} {
1104
+ fill: ${n};
1105
+ fill-opacity: ${t.curveOpacity};
1106
+ stroke: ${n};
1107
+ }
1108
+ `}return r},"genIndexStyles"),V4t=o(e=>{let t=Ao(),r=Nt(),i=Gr(t,r.themeVariables),n=Gr(i.radar,e);return{themeVariables:i,radarOptions:n}},"buildRadarStyleOptions"),jDe=o(({radar:e}={})=>{let{themeVariables:t,radarOptions:r}=V4t(e);return`
1109
+ .radarTitle {
1110
+ font-size: ${t.fontSize};
1111
+ color: ${t.titleColor};
1112
+ dominant-baseline: hanging;
1113
+ text-anchor: middle;
1114
+ }
1115
+ .radarAxisLine {
1116
+ stroke: ${r.axisColor};
1117
+ stroke-width: ${r.axisStrokeWidth};
1118
+ }
1119
+ .radarAxisLabel {
1120
+ dominant-baseline: middle;
1121
+ text-anchor: middle;
1122
+ font-size: ${r.axisLabelFontSize}px;
1123
+ color: ${r.axisColor};
1124
+ }
1125
+ .radarGraticule {
1126
+ fill: ${r.graticuleColor};
1127
+ fill-opacity: ${r.graticuleOpacity};
1128
+ stroke: ${r.graticuleColor};
1129
+ stroke-width: ${r.graticuleStrokeWidth};
1130
+ }
1131
+ .radarLegendText {
1132
+ text-anchor: start;
1133
+ font-size: ${r.legendFontSize}px;
1134
+ dominant-baseline: hanging;
1135
+ }
1136
+ ${G4t(t,r)}
1137
+ `},"styles")});var KDe={};xr(KDe,{diagram:()=>W4t});var W4t,ZDe=z(()=>{"use strict";bq();UDe();YDe();XDe();W4t={parser:qDe,db:km,renderer:HDe,styles:jDe}});var Tq,e8e,t8e=z(()=>{"use strict";Tq=(function(){var e=o(function(T,w,C,k){for(C=C||{},k=T.length;k--;C[T[k]]=w);return C},"o"),t=[1,15],r=[1,7],i=[1,13],n=[1,14],a=[1,19],s=[1,16],l=[1,17],u=[1,18],h=[8,30],d=[8,10,21,28,29,30,31,39,43,46],f=[1,23],p=[1,24],m=[8,10,15,16,21,28,29,30,31,39,43,46],g=[8,10,15,16,21,27,28,29,30,31,39,43,46],y=[1,49],v={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,spaceLines:3,SPACELINE:4,NL:5,separator:6,SPACE:7,EOF:8,start:9,BLOCK_DIAGRAM_KEY:10,document:11,stop:12,statement:13,link:14,LINK:15,START_LINK:16,LINK_LABEL:17,STR:18,nodeStatement:19,columnsStatement:20,SPACE_BLOCK:21,blockStatement:22,classDefStatement:23,cssClassStatement:24,styleStatement:25,node:26,SIZE:27,COLUMNS:28,"id-block":29,end:30,NODE_ID:31,nodeShapeNLabel:32,dirList:33,DIR:34,NODE_DSTART:35,NODE_DEND:36,BLOCK_ARROW_START:37,BLOCK_ARROW_END:38,classDef:39,CLASSDEF_ID:40,CLASSDEF_STYLEOPTS:41,DEFAULT:42,class:43,CLASSENTITY_IDS:44,STYLECLASS:45,style:46,STYLE_ENTITY_IDS:47,STYLE_DEFINITION_DATA:48,$accept:0,$end:1},terminals_:{2:"error",4:"SPACELINE",5:"NL",7:"SPACE",8:"EOF",10:"BLOCK_DIAGRAM_KEY",15:"LINK",16:"START_LINK",17:"LINK_LABEL",18:"STR",21:"SPACE_BLOCK",27:"SIZE",28:"COLUMNS",29:"id-block",30:"end",31:"NODE_ID",34:"DIR",35:"NODE_DSTART",36:"NODE_DEND",37:"BLOCK_ARROW_START",38:"BLOCK_ARROW_END",39:"classDef",40:"CLASSDEF_ID",41:"CLASSDEF_STYLEOPTS",42:"DEFAULT",43:"class",44:"CLASSENTITY_IDS",45:"STYLECLASS",46:"style",47:"STYLE_ENTITY_IDS",48:"STYLE_DEFINITION_DATA"},productions_:[0,[3,1],[3,2],[3,2],[6,1],[6,1],[6,1],[9,3],[12,1],[12,1],[12,2],[12,2],[11,1],[11,2],[14,1],[14,4],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[19,3],[19,2],[19,1],[20,1],[22,4],[22,3],[26,1],[26,2],[33,1],[33,2],[32,3],[32,4],[23,3],[23,3],[24,3],[25,3]],performAction:o(function(w,C,k,E,A,N,P){var I=N.length-1;switch(A){case 4:E.getLogger().debug("Rule: separator (NL) ");break;case 5:E.getLogger().debug("Rule: separator (Space) ");break;case 6:E.getLogger().debug("Rule: separator (EOF) ");break;case 7:E.getLogger().debug("Rule: hierarchy: ",N[I-1]),E.setHierarchy(N[I-1]);break;case 8:E.getLogger().debug("Stop NL ");break;case 9:E.getLogger().debug("Stop EOF ");break;case 10:E.getLogger().debug("Stop NL2 ");break;case 11:E.getLogger().debug("Stop EOF2 ");break;case 12:E.getLogger().debug("Rule: statement: ",N[I]),typeof N[I].length=="number"?this.$=N[I]:this.$=[N[I]];break;case 13:E.getLogger().debug("Rule: statement #2: ",N[I-1]),this.$=[N[I-1]].concat(N[I]);break;case 14:E.getLogger().debug("Rule: link: ",N[I],w),this.$={edgeTypeStr:N[I],label:""};break;case 15:E.getLogger().debug("Rule: LABEL link: ",N[I-3],N[I-1],N[I]),this.$={edgeTypeStr:N[I],label:N[I-1]};break;case 18:let D=parseInt(N[I]),_=E.generateId();this.$={id:_,type:"space",label:"",width:D,children:[]};break;case 23:E.getLogger().debug("Rule: (nodeStatement link node) ",N[I-2],N[I-1],N[I]," typestr: ",N[I-1].edgeTypeStr);let R=E.edgeStrToEdgeData(N[I-1].edgeTypeStr),M=E.edgeStrToEdgeStartData(N[I-1].edgeTypeStr),L=E.edgeStrToThickness(N[I-1].edgeTypeStr),B=E.edgeStrToPattern(N[I-1].edgeTypeStr);this.$=[{id:N[I-2].id,label:N[I-2].label,type:N[I-2].type,directions:N[I-2].directions},{id:N[I-2].id+"-"+N[I].id,start:N[I-2].id,end:N[I].id,label:N[I-1].label,type:"edge",thickness:L,pattern:B,directions:N[I].directions,arrowTypeEnd:R,arrowTypeStart:M},{id:N[I].id,label:N[I].label,type:E.typeStr2Type(N[I].typeStr),directions:N[I].directions}];break;case 24:E.getLogger().debug("Rule: nodeStatement (abc88 node size) ",N[I-1],N[I]),this.$={id:N[I-1].id,label:N[I-1].label,type:E.typeStr2Type(N[I-1].typeStr),directions:N[I-1].directions,widthInColumns:parseInt(N[I],10)};break;case 25:E.getLogger().debug("Rule: nodeStatement (node) ",N[I]),this.$={id:N[I].id,label:N[I].label,type:E.typeStr2Type(N[I].typeStr),directions:N[I].directions,widthInColumns:1};break;case 26:E.getLogger().debug("APA123",this?this:"na"),E.getLogger().debug("COLUMNS: ",N[I]),this.$={type:"column-setting",columns:N[I]==="auto"?-1:parseInt(N[I])};break;case 27:E.getLogger().debug("Rule: id-block statement : ",N[I-2],N[I-1]);let O=E.generateId();this.$={...N[I-2],type:"composite",children:N[I-1]};break;case 28:E.getLogger().debug("Rule: blockStatement : ",N[I-2],N[I-1],N[I]);let $=E.generateId();this.$={id:$,type:"composite",label:"",children:N[I-1]};break;case 29:E.getLogger().debug("Rule: node (NODE_ID separator): ",N[I]),this.$={id:N[I]};break;case 30:E.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel separator): ",N[I-1],N[I]),this.$={id:N[I-1],label:N[I].label,typeStr:N[I].typeStr,directions:N[I].directions};break;case 31:E.getLogger().debug("Rule: dirList: ",N[I]),this.$=[N[I]];break;case 32:E.getLogger().debug("Rule: dirList: ",N[I-1],N[I]),this.$=[N[I-1]].concat(N[I]);break;case 33:E.getLogger().debug("Rule: nodeShapeNLabel: ",N[I-2],N[I-1],N[I]),this.$={typeStr:N[I-2]+N[I],label:N[I-1]};break;case 34:E.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",N[I-3],N[I-2]," #3:",N[I-1],N[I]),this.$={typeStr:N[I-3]+N[I],label:N[I-2],directions:N[I-1]};break;case 35:case 36:this.$={type:"classDef",id:N[I-1].trim(),css:N[I].trim()};break;case 37:this.$={type:"applyClass",id:N[I-1].trim(),styleClass:N[I].trim()};break;case 38:this.$={type:"applyStyles",id:N[I-1].trim(),stylesStr:N[I].trim()};break}},"anonymous"),table:[{9:1,10:[1,2]},{1:[3]},{10:t,11:3,13:4,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:i,29:n,31:a,39:s,43:l,46:u},{8:[1,20]},e(h,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,10:t,21:r,28:i,29:n,31:a,39:s,43:l,46:u}),e(d,[2,16],{14:22,15:f,16:p}),e(d,[2,17]),e(d,[2,18]),e(d,[2,19]),e(d,[2,20]),e(d,[2,21]),e(d,[2,22]),e(m,[2,25],{27:[1,25]}),e(d,[2,26]),{19:26,26:12,31:a},{10:t,11:27,13:4,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:i,29:n,31:a,39:s,43:l,46:u},{40:[1,28],42:[1,29]},{44:[1,30]},{47:[1,31]},e(g,[2,29],{32:32,35:[1,33],37:[1,34]}),{1:[2,7]},e(h,[2,13]),{26:35,31:a},{31:[2,14]},{17:[1,36]},e(m,[2,24]),{10:t,11:37,13:4,14:22,15:f,16:p,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:i,29:n,31:a,39:s,43:l,46:u},{30:[1,38]},{41:[1,39]},{41:[1,40]},{45:[1,41]},{48:[1,42]},e(g,[2,30]),{18:[1,43]},{18:[1,44]},e(m,[2,23]),{18:[1,45]},{30:[1,46]},e(d,[2,28]),e(d,[2,35]),e(d,[2,36]),e(d,[2,37]),e(d,[2,38]),{36:[1,47]},{33:48,34:y},{15:[1,50]},e(d,[2,27]),e(g,[2,33]),{38:[1,51]},{33:52,34:y,38:[2,31]},{31:[2,15]},e(g,[2,34]),{38:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:o(function(w,C){if(C.recoverable)this.trace(w);else{var k=new Error(w);throw k.hash=C,k}},"parseError"),parse:o(function(w){var C=this,k=[0],E=[],A=[null],N=[],P=this.table,I="",D=0,_=0,R=0,M=2,L=1,B=N.slice.call(arguments,1),O=Object.create(this.lexer),$={yy:{}};for(var G in this.yy)Object.prototype.hasOwnProperty.call(this.yy,G)&&($.yy[G]=this.yy[G]);O.setInput(w,$.yy),$.yy.lexer=O,$.yy.parser=this,typeof O.yylloc>"u"&&(O.yylloc={});var F=O.yylloc;N.push(F);var V=O.options&&O.options.ranges;typeof $.yy.parseError=="function"?this.parseError=$.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function H(Ee){k.length=k.length-2*Ee,A.length=A.length-Ee,N.length=N.length-Ee}o(H,"popStack");function j(){var Ee;return Ee=E.pop()||O.lex()||L,typeof Ee!="number"&&(Ee instanceof Array&&(E=Ee,Ee=E.pop()),Ee=C.symbols_[Ee]||Ee),Ee}o(j,"lex");for(var U,Q,Y,ae,J,te,re={},ee,Te,ue,De;;){if(Y=k[k.length-1],this.defaultActions[Y]?ae=this.defaultActions[Y]:((U===null||typeof U>"u")&&(U=j()),ae=P[Y]&&P[Y][U]),typeof ae>"u"||!ae.length||!ae[0]){var Ie="";De=[];for(ee in P[Y])this.terminals_[ee]&&ee>M&&De.push("'"+this.terminals_[ee]+"'");O.showPosition?Ie="Parse error on line "+(D+1)+`:
1138
+ `+O.showPosition()+`
1139
+ Expecting `+De.join(", ")+", got '"+(this.terminals_[U]||U)+"'":Ie="Parse error on line "+(D+1)+": Unexpected "+(U==L?"end of input":"'"+(this.terminals_[U]||U)+"'"),this.parseError(Ie,{text:O.match,token:this.terminals_[U]||U,line:O.yylineno,loc:F,expected:De})}if(ae[0]instanceof Array&&ae.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Y+", token: "+U);switch(ae[0]){case 1:k.push(U),A.push(O.yytext),N.push(O.yylloc),k.push(ae[1]),U=null,Q?(U=Q,Q=null):(_=O.yyleng,I=O.yytext,D=O.yylineno,F=O.yylloc,R>0&&R--);break;case 2:if(Te=this.productions_[ae[1]][1],re.$=A[A.length-Te],re._$={first_line:N[N.length-(Te||1)].first_line,last_line:N[N.length-1].last_line,first_column:N[N.length-(Te||1)].first_column,last_column:N[N.length-1].last_column},V&&(re._$.range=[N[N.length-(Te||1)].range[0],N[N.length-1].range[1]]),te=this.performAction.apply(re,[I,_,D,$.yy,ae[1],A,N].concat(B)),typeof te<"u")return te;Te&&(k=k.slice(0,-1*Te*2),A=A.slice(0,-1*Te),N=N.slice(0,-1*Te)),k.push(this.productions_[ae[1]][0]),A.push(re.$),N.push(re._$),ue=P[k[k.length-2]][k[k.length-1]],k.push(ue);break;case 3:return!0}}return!0},"parse")},x=(function(){var T={EOF:1,parseError:o(function(C,k){if(this.yy.parser)this.yy.parser.parseError(C,k);else throw new Error(C)},"parseError"),setInput:o(function(w,C){return this.yy=C||this.yy||{},this._input=w,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},"setInput"),input:o(function(){var w=this._input[0];this.yytext+=w,this.yyleng++,this.offset++,this.match+=w,this.matched+=w;var C=w.match(/(?:\r\n?|\n).*/g);return C?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),w},"input"),unput:o(function(w){var C=w.length,k=w.split(/(?:\r\n?|\n)/g);this._input=w+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-C),this.offset-=C;var E=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),k.length-1&&(this.yylineno-=k.length-1);var A=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:k?(k.length===E.length?this.yylloc.first_column:0)+E[E.length-k.length].length-k[0].length:this.yylloc.first_column-C},this.options.ranges&&(this.yylloc.range=[A[0],A[0]+this.yyleng-C]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
1140
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(w){this.unput(this.match.slice(w))},"less"),pastInput:o(function(){var w=this.matched.substr(0,this.matched.length-this.match.length);return(w.length>20?"...":"")+w.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var w=this.match;return w.length<20&&(w+=this._input.substr(0,20-w.length)),(w.substr(0,20)+(w.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var w=this.pastInput(),C=new Array(w.length+1).join("-");return w+this.upcomingInput()+`
1141
+ `+C+"^"},"showPosition"),test_match:o(function(w,C){var k,E,A;if(this.options.backtrack_lexer&&(A={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&&(A.yylloc.range=this.yylloc.range.slice(0))),E=w[0].match(/(?:\r\n?|\n).*/g),E&&(this.yylineno+=E.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:E?E[E.length-1].length-E[E.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+w[0].length},this.yytext+=w[0],this.match+=w[0],this.matches=w,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(w[0].length),this.matched+=w[0],k=this.performAction.call(this,this.yy,this,C,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),k)return k;if(this._backtrack){for(var N in A)this[N]=A[N];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var w,C,k,E;this._more||(this.yytext="",this.match="");for(var A=this._currentRules(),N=0;N<A.length;N++)if(k=this._input.match(this.rules[A[N]]),k&&(!C||k[0].length>C[0].length)){if(C=k,E=N,this.options.backtrack_lexer){if(w=this.test_match(k,A[N]),w!==!1)return w;if(this._backtrack){C=!1;continue}else return!1}else if(!this.options.flex)break}return C?(w=this.test_match(C,A[E]),w!==!1?w:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
1142
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var C=this.next();return C||this.lex()},"lex"),begin:o(function(C){this.conditionStack.push(C)},"begin"),popState:o(function(){var C=this.conditionStack.length-1;return C>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(C){return C=this.conditionStack.length-1-Math.abs(C||0),C>=0?this.conditionStack[C]:"INITIAL"},"topState"),pushState:o(function(C){this.begin(C)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:o(function(C,k,E,A){var N=A;switch(E){case 0:return C.getLogger().debug("Found block-beta"),10;break;case 1:return C.getLogger().debug("Found id-block"),29;break;case 2:return C.getLogger().debug("Found block"),10;break;case 3:C.getLogger().debug(".",k.yytext);break;case 4:C.getLogger().debug("_",k.yytext);break;case 5:return 5;case 6:return k.yytext=-1,28;break;case 7:return k.yytext=k.yytext.replace(/columns\s+/,""),C.getLogger().debug("COLUMNS (LEX)",k.yytext),28;break;case 8:this.pushState("md_string");break;case 9:return"MD_STR";case 10:this.popState();break;case 11:this.pushState("string");break;case 12:C.getLogger().debug("LEX: POPPING STR:",k.yytext),this.popState();break;case 13:return C.getLogger().debug("LEX: STR end:",k.yytext),"STR";break;case 14:return k.yytext=k.yytext.replace(/space\:/,""),C.getLogger().debug("SPACE NUM (LEX)",k.yytext),21;break;case 15:return k.yytext="1",C.getLogger().debug("COLUMNS (LEX)",k.yytext),21;break;case 16:return 42;case 17:return"LINKSTYLE";case 18:return"INTERPOLATE";case 19:return this.pushState("CLASSDEF"),39;break;case 20:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";break;case 21:return this.popState(),this.pushState("CLASSDEFID"),40;break;case 22:return this.popState(),41;break;case 23:return this.pushState("CLASS"),43;break;case 24:return this.popState(),this.pushState("CLASS_STYLE"),44;break;case 25:return this.popState(),45;break;case 26:return this.pushState("STYLE_STMNT"),46;break;case 27:return this.popState(),this.pushState("STYLE_DEFINITION"),47;break;case 28:return this.popState(),48;break;case 29:return this.pushState("acc_title"),"acc_title";break;case 30:return this.popState(),"acc_title_value";break;case 31:return this.pushState("acc_descr"),"acc_descr";break;case 32:return this.popState(),"acc_descr_value";break;case 33:this.pushState("acc_descr_multiline");break;case 34:this.popState();break;case 35:return"acc_descr_multiline_value";case 36:return 30;case 37:return this.popState(),C.getLogger().debug("Lex: (("),"NODE_DEND";break;case 38:return this.popState(),C.getLogger().debug("Lex: (("),"NODE_DEND";break;case 39:return this.popState(),C.getLogger().debug("Lex: ))"),"NODE_DEND";break;case 40:return this.popState(),C.getLogger().debug("Lex: (("),"NODE_DEND";break;case 41:return this.popState(),C.getLogger().debug("Lex: (("),"NODE_DEND";break;case 42:return this.popState(),C.getLogger().debug("Lex: (-"),"NODE_DEND";break;case 43:return this.popState(),C.getLogger().debug("Lex: -)"),"NODE_DEND";break;case 44:return this.popState(),C.getLogger().debug("Lex: (("),"NODE_DEND";break;case 45:return this.popState(),C.getLogger().debug("Lex: ]]"),"NODE_DEND";break;case 46:return this.popState(),C.getLogger().debug("Lex: ("),"NODE_DEND";break;case 47:return this.popState(),C.getLogger().debug("Lex: ])"),"NODE_DEND";break;case 48:return this.popState(),C.getLogger().debug("Lex: /]"),"NODE_DEND";break;case 49:return this.popState(),C.getLogger().debug("Lex: /]"),"NODE_DEND";break;case 50:return this.popState(),C.getLogger().debug("Lex: )]"),"NODE_DEND";break;case 51:return this.popState(),C.getLogger().debug("Lex: )"),"NODE_DEND";break;case 52:return this.popState(),C.getLogger().debug("Lex: ]>"),"NODE_DEND";break;case 53:return this.popState(),C.getLogger().debug("Lex: ]"),"NODE_DEND";break;case 54:return C.getLogger().debug("Lexa: -)"),this.pushState("NODE"),35;break;case 55:return C.getLogger().debug("Lexa: (-"),this.pushState("NODE"),35;break;case 56:return C.getLogger().debug("Lexa: ))"),this.pushState("NODE"),35;break;case 57:return C.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;break;case 58:return C.getLogger().debug("Lex: ((("),this.pushState("NODE"),35;break;case 59:return C.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;break;case 60:return C.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;break;case 61:return C.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;break;case 62:return C.getLogger().debug("Lexc: >"),this.pushState("NODE"),35;break;case 63:return C.getLogger().debug("Lexa: (["),this.pushState("NODE"),35;break;case 64:return C.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;break;case 65:return this.pushState("NODE"),35;break;case 66:return this.pushState("NODE"),35;break;case 67:return this.pushState("NODE"),35;break;case 68:return this.pushState("NODE"),35;break;case 69:return this.pushState("NODE"),35;break;case 70:return this.pushState("NODE"),35;break;case 71:return this.pushState("NODE"),35;break;case 72:return C.getLogger().debug("Lexa: ["),this.pushState("NODE"),35;break;case 73:return this.pushState("BLOCK_ARROW"),C.getLogger().debug("LEX ARR START"),37;break;case 74:return C.getLogger().debug("Lex: NODE_ID",k.yytext),31;break;case 75:return C.getLogger().debug("Lex: EOF",k.yytext),8;break;case 76:this.pushState("md_string");break;case 77:this.pushState("md_string");break;case 78:return"NODE_DESCR";case 79:this.popState();break;case 80:C.getLogger().debug("Lex: Starting string"),this.pushState("string");break;case 81:C.getLogger().debug("LEX ARR: Starting string"),this.pushState("string");break;case 82:return C.getLogger().debug("LEX: NODE_DESCR:",k.yytext),"NODE_DESCR";break;case 83:C.getLogger().debug("LEX POPPING"),this.popState();break;case 84:C.getLogger().debug("Lex: =>BAE"),this.pushState("ARROW_DIR");break;case 85:return k.yytext=k.yytext.replace(/^,\s*/,""),C.getLogger().debug("Lex (right): dir:",k.yytext),"DIR";break;case 86:return k.yytext=k.yytext.replace(/^,\s*/,""),C.getLogger().debug("Lex (left):",k.yytext),"DIR";break;case 87:return k.yytext=k.yytext.replace(/^,\s*/,""),C.getLogger().debug("Lex (x):",k.yytext),"DIR";break;case 88:return k.yytext=k.yytext.replace(/^,\s*/,""),C.getLogger().debug("Lex (y):",k.yytext),"DIR";break;case 89:return k.yytext=k.yytext.replace(/^,\s*/,""),C.getLogger().debug("Lex (up):",k.yytext),"DIR";break;case 90:return k.yytext=k.yytext.replace(/^,\s*/,""),C.getLogger().debug("Lex (down):",k.yytext),"DIR";break;case 91:return k.yytext="]>",C.getLogger().debug("Lex (ARROW_DIR end):",k.yytext),this.popState(),this.popState(),"BLOCK_ARROW_END";break;case 92:return C.getLogger().debug("Lex: LINK","#"+k.yytext+"#"),15;break;case 93:return C.getLogger().debug("Lex: LINK",k.yytext),15;break;case 94:return C.getLogger().debug("Lex: LINK",k.yytext),15;break;case 95:return C.getLogger().debug("Lex: LINK",k.yytext),15;break;case 96:return C.getLogger().debug("Lex: START_LINK",k.yytext),this.pushState("LLABEL"),16;break;case 97:return C.getLogger().debug("Lex: START_LINK",k.yytext),this.pushState("LLABEL"),16;break;case 98:return C.getLogger().debug("Lex: START_LINK",k.yytext),this.pushState("LLABEL"),16;break;case 99:this.pushState("md_string");break;case 100:return C.getLogger().debug("Lex: Starting string"),this.pushState("string"),"LINK_LABEL";break;case 101:return this.popState(),C.getLogger().debug("Lex: LINK","#"+k.yytext+"#"),15;break;case 102:return this.popState(),C.getLogger().debug("Lex: LINK",k.yytext),15;break;case 103:return this.popState(),C.getLogger().debug("Lex: LINK",k.yytext),15;break;case 104:return C.getLogger().debug("Lex: COLON",k.yytext),k.yytext=k.yytext.slice(1),27;break}},"anonymous"),rules:[/^(?:block-beta\b)/,/^(?:block:)/,/^(?:block\b)/,/^(?:[\s]+)/,/^(?:[\n]+)/,/^(?:((\u000D\u000A)|(\u000A)))/,/^(?:columns\s+auto\b)/,/^(?:columns\s+[\d]+)/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:space[:]\d+)/,/^(?:space\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\s+)/,/^(?:DEFAULT\s+)/,/^(?:\w+\s+)/,/^(?:[^\n]*)/,/^(?:class\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:style\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:end\b\s*)/,/^(?:\(\(\()/,/^(?:\)\)\))/,/^(?:[\)]\))/,/^(?:\}\})/,/^(?:\})/,/^(?:\(-)/,/^(?:-\))/,/^(?:\(\()/,/^(?:\]\])/,/^(?:\()/,/^(?:\]\))/,/^(?:\\\])/,/^(?:\/\])/,/^(?:\)\])/,/^(?:[\)])/,/^(?:\]>)/,/^(?:[\]])/,/^(?:-\))/,/^(?:\(-)/,/^(?:\)\))/,/^(?:\))/,/^(?:\(\(\()/,/^(?:\(\()/,/^(?:\{\{)/,/^(?:\{)/,/^(?:>)/,/^(?:\(\[)/,/^(?:\()/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\[\\)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:\[)/,/^(?:<\[)/,/^(?:[^\(\[\n\-\)\{\}\s\<\>:=]+)/,/^(?:$)/,/^(?:["][`])/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:\]>\s*\()/,/^(?:,?\s*right\s*)/,/^(?:,?\s*left\s*)/,/^(?:,?\s*x\s*)/,/^(?:,?\s*y\s*)/,/^(?:,?\s*up\s*)/,/^(?:,?\s*down\s*)/,/^(?:\)\s*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*~~[\~]+\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:["][`])/,/^(?:["])/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?::\d+)/],conditions:{STYLE_DEFINITION:{rules:[28],inclusive:!1},STYLE_STMNT:{rules:[27],inclusive:!1},CLASSDEFID:{rules:[22],inclusive:!1},CLASSDEF:{rules:[20,21],inclusive:!1},CLASS_STYLE:{rules:[25],inclusive:!1},CLASS:{rules:[24],inclusive:!1},LLABEL:{rules:[99,100,101,102,103],inclusive:!1},ARROW_DIR:{rules:[85,86,87,88,89,90,91],inclusive:!1},BLOCK_ARROW:{rules:[76,81,84],inclusive:!1},NODE:{rules:[37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,77,80],inclusive:!1},md_string:{rules:[9,10,78,79],inclusive:!1},space:{rules:[],inclusive:!1},string:{rules:[12,13,82,83],inclusive:!1},acc_descr_multiline:{rules:[34,35],inclusive:!1},acc_descr:{rules:[32],inclusive:!1},acc_title:{rules:[30],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,11,14,15,16,17,18,19,23,26,29,31,33,36,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,92,93,94,95,96,97,98,104],inclusive:!0}}};return T})();v.lexer=x;function b(){this.yy={}}return o(b,"Parser"),b.prototype=v,v.Parser=b,new b})();Tq.parser=Tq;e8e=Tq});function J4t(e){switch(Z.debug("typeStr2Type",e),e){case"[]":return"square";case"()":return Z.debug("we have a round"),"round";case"(())":return"circle";case">]":return"rect_left_inv_arrow";case"{}":return"diamond";case"{{}}":return"hexagon";case"([])":return"stadium";case"[[]]":return"subroutine";case"[()]":return"cylinder";case"((()))":return"doublecircle";case"[//]":return"lean_right";case"[\\\\]":return"lean_left";case"[/\\]":return"trapezoid";case"[\\/]":return"inv_trapezoid";case"<[]>":return"block_arrow";default:return"na"}}function eSt(e){switch(Z.debug("typeStr2Type",e),e){case"==":return"thick";default:return"normal"}}function tSt(e){switch(e.trim().slice(-1)){case"x":return"arrow_cross";case"o":return"arrow_circle";case">":return"arrow_point";default:return""}}function rSt(e){switch(e.trim().charAt(0)){case"x":return"arrow_cross";case"o":return"arrow_circle";case"<":return"arrow_point";default:return"arrow_open"}}function iSt(e){return e.includes("==")?"thick":"normal"}function nSt(e){return e.includes(".-")?"dotted":"solid"}var Ql,kq,Cq,r8e,i8e,H4t,a8e,Y4t,b_,wq,j4t,X4t,K4t,Z4t,s8e,Sq,aC,Q4t,n8e,aSt,sSt,oSt,lSt,cSt,uSt,hSt,dSt,fSt,pSt,mSt,gSt,ySt,o8e,l8e=z(()=>{"use strict";s4();br();Ut();St();Ir();Ci();Ql=new Map,kq=[],Cq=new Map,r8e="color",i8e="fill",H4t="bgFill",a8e=",",Y4t=ge(),b_=new Map,wq="",j4t=o(e=>vt.sanitizeText(e,Y4t),"sanitizeText"),X4t=o(function(e,t=""){let r=b_.get(e);r||(r={id:e,styles:[],textStyles:[]},b_.set(e,r)),t?.split(a8e).forEach(i=>{let n=i.replace(/([^;]*);/,"$1").trim();if(RegExp(r8e).exec(i)){let s=n.replace(i8e,H4t).replace(r8e,i8e);r.textStyles.push(s)}r.styles.push(n)})},"addStyleClass"),K4t=o(function(e,t=""){let r=Ql.get(e);t!=null&&(r.styles=t.split(a8e))},"addStyle2Node"),Z4t=o(function(e,t){e.split(",").forEach(function(r){let i=Ql.get(r);if(i===void 0){let n=r.trim();i={id:n,type:"na",children:[]},Ql.set(n,i)}i.classes||(i.classes=[]),i.classes.push(t)})},"setCssClass"),s8e=o((e,t)=>{let r=e.flat(),i=[],a=r.find(s=>s?.type==="column-setting")?.columns??-1;for(let s of r){if(typeof a=="number"&&a>0&&s.type!=="column-setting"&&typeof s.widthInColumns=="number"&&s.widthInColumns>a&&Z.warn(`Block ${s.id} width ${s.widthInColumns} exceeds configured column width ${a}`),s.label&&(s.label=j4t(s.label)),s.type==="classDef"){X4t(s.id,s.css);continue}if(s.type==="applyClass"){Z4t(s.id,s?.styleClass??"");continue}if(s.type==="applyStyles"){s?.stylesStr&&K4t(s.id,s?.stylesStr);continue}if(s.type==="column-setting")t.columns=s.columns??-1;else if(s.type==="edge"){let l=(Cq.get(s.id)??0)+1;Cq.set(s.id,l),s.id=l+"-"+s.id,kq.push(s)}else{s.label||(s.type==="composite"?s.label="":s.label=s.id);let l=Ql.get(s.id);if(l===void 0?Ql.set(s.id,s):(s.type!=="na"&&(l.type=s.type),s.label!==s.id&&(l.label=s.label)),s.children&&s8e(s.children,s),s.type==="space"){let u=s.width??1;for(let h=0;h<u;h++){let d=CM(s);d.id=d.id+"-"+h,Ql.set(d.id,d),i.push(d)}}else l===void 0&&i.push(s)}}t.children=i},"populateBlockDatabase"),Sq=[],aC={id:"root",type:"composite",children:[],columns:-1},Q4t=o(()=>{Z.debug("Clear called"),gr(),aC={id:"root",type:"composite",children:[],columns:-1},Ql=new Map([["root",aC]]),Sq=[],b_=new Map,kq=[],Cq=new Map,wq=""},"clear");o(J4t,"typeStr2Type");o(eSt,"edgeTypeStr2Type");o(tSt,"edgeStrToEdgeData");o(rSt,"edgeStrToEdgeStartData");o(iSt,"edgeStrToThickness");o(nSt,"edgeStrToPattern");n8e=0,aSt=o(()=>(n8e++,"id-"+Math.random().toString(36).substr(2,12)+"-"+n8e),"generateId"),sSt=o(e=>{aC.children=e,s8e(e,aC),Sq=aC.children},"setHierarchy"),oSt=o(e=>{let t=Ql.get(e);return t?t.columns?t.columns:t.children?t.children.length:-1:-1},"getColumns"),lSt=o(()=>[...Ql.values()],"getBlocksFlat"),cSt=o(()=>Sq||[],"getBlocks"),uSt=o(()=>kq,"getEdges"),hSt=o(e=>Ql.get(e),"getBlock"),dSt=o(e=>{Ql.set(e.id,e)},"setBlock"),fSt=o(e=>{wq=e},"setDiagramId"),pSt=o(()=>wq,"getDiagramId"),mSt=o(()=>Z,"getLogger"),gSt=o(function(){return b_},"getClasses"),ySt={getConfig:o(()=>Nt().block,"getConfig"),typeStr2Type:J4t,edgeTypeStr2Type:eSt,edgeStrToEdgeData:tSt,edgeStrToEdgeStartData:rSt,edgeStrToThickness:iSt,edgeStrToPattern:nSt,getLogger:mSt,getBlocksFlat:lSt,getBlocks:cSt,getEdges:uSt,setHierarchy:sSt,getBlock:hSt,setBlock:dSt,getColumns:oSt,getClasses:gSt,clear:Q4t,generateId:aSt,setDiagramId:fSt,getDiagramId:pSt},o8e=ySt});var Eq,vSt,c8e,u8e=z(()=>{"use strict";Cn();k1();Eq=o((e,t)=>{let r=Ff,i=r(e,"r"),n=r(e,"g"),a=r(e,"b");return mn(i,n,a,t)},"fade"),vSt=o(e=>`.label {
1143
+ font-family: ${e.fontFamily};
1144
+ color: ${e.nodeTextColor||e.textColor};
1145
+ }
1146
+ .cluster-label text {
1147
+ fill: ${e.titleColor};
1148
+ }
1149
+ .cluster-label span,p {
1150
+ color: ${e.titleColor};
1151
+ }
1152
+
1153
+
1154
+
1155
+ .label text,span,p {
1156
+ fill: ${e.nodeTextColor||e.textColor};
1157
+ color: ${e.nodeTextColor||e.textColor};
1158
+ }
1159
+
1160
+ .node rect,
1161
+ .node circle,
1162
+ .node ellipse,
1163
+ .node polygon,
1164
+ .node path {
1165
+ fill: ${e.mainBkg};
1166
+ stroke: ${e.nodeBorder};
1167
+ stroke-width: 1px;
1168
+ }
1169
+ .flowchart-label text {
1170
+ text-anchor: middle;
1171
+ }
1172
+ // .flowchart-label .text-outer-tspan {
1173
+ // text-anchor: middle;
1174
+ // }
1175
+ // .flowchart-label .text-inner-tspan {
1176
+ // text-anchor: start;
1177
+ // }
1178
+
1179
+ .node .label {
1180
+ text-align: center;
1181
+ }
1182
+ .node.clickable {
1183
+ cursor: pointer;
1184
+ }
1185
+
1186
+ .arrowheadPath {
1187
+ fill: ${e.arrowheadColor};
1188
+ }
1189
+
1190
+ .edgePath .path {
1191
+ stroke: ${e.lineColor};
1192
+ stroke-width: 2.0px;
1193
+ }
1194
+
1195
+ .flowchart-link {
1196
+ stroke: ${e.lineColor};
1197
+ fill: none;
1198
+ }
1199
+
1200
+ .edgeLabel {
1201
+ background-color: ${e.edgeLabelBackground};
1202
+ /*
1203
+ * This is for backward compatibility with existing code that didn't
1204
+ * add a \`<p>\` around edge labels.
1205
+ *
1206
+ * TODO: We should probably remove this in a future release.
1207
+ */
1208
+ p {
1209
+ margin: 0;
1210
+ padding: 0;
1211
+ display: inline;
1212
+ }
1213
+ rect {
1214
+ opacity: 0.5;
1215
+ background-color: ${e.edgeLabelBackground};
1216
+ fill: ${e.edgeLabelBackground};
1217
+ }
1218
+ text-align: center;
1219
+ }
1220
+
1221
+ /* For html labels only */
1222
+ .labelBkg {
1223
+ background-color: ${e.edgeLabelBackground};
1224
+ }
1225
+
1226
+ .node .cluster {
1227
+ // fill: ${Eq(e.mainBkg,.5)};
1228
+ fill: ${Eq(e.clusterBkg,.5)};
1229
+ stroke: ${Eq(e.clusterBorder,.2)};
1230
+ box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px;
1231
+ stroke-width: 1px;
1232
+ }
1233
+
1234
+ .cluster text {
1235
+ fill: ${e.titleColor};
1236
+ }
1237
+
1238
+ .cluster span,p {
1239
+ color: ${e.titleColor};
1240
+ }
1241
+ /* .cluster div {
1242
+ color: ${e.titleColor};
1243
+ } */
1244
+
1245
+ div.mermaidTooltip {
1246
+ position: absolute;
1247
+ text-align: center;
1248
+ max-width: 200px;
1249
+ padding: 2px;
1250
+ font-family: ${e.fontFamily};
1251
+ font-size: 12px;
1252
+ background: ${e.tertiaryColor};
1253
+ border: 1px solid ${e.border2};
1254
+ border-radius: 2px;
1255
+ pointer-events: none;
1256
+ z-index: 100;
1257
+ }
1258
+
1259
+ .flowchartTitleText {
1260
+ text-anchor: middle;
1261
+ font-size: 18px;
1262
+ fill: ${e.textColor};
1263
+ }
1264
+ ${Vc()}
1265
+ `,"getStyles"),c8e=vSt});var xSt,bSt,TSt,CSt,kSt,wSt,SSt,ESt,ASt,_St,DSt,h8e,d8e=z(()=>{"use strict";St();xSt=o((e,t,r,i)=>{t.forEach(n=>{DSt[n](e,r,i)})},"insertMarkers"),bSt=o((e,t,r)=>{Z.trace("Making markers for ",r),e.append("defs").append("marker").attr("id",r+"_"+t+"-extensionStart").attr("class","marker extension "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),e.append("defs").append("marker").attr("id",r+"_"+t+"-extensionEnd").attr("class","marker extension "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},"extension"),TSt=o((e,t,r)=>{e.append("defs").append("marker").attr("id",r+"_"+t+"-compositionStart").attr("class","marker composition "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",r+"_"+t+"-compositionEnd").attr("class","marker composition "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),CSt=o((e,t,r)=>{e.append("defs").append("marker").attr("id",r+"_"+t+"-aggregationStart").attr("class","marker aggregation "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",r+"_"+t+"-aggregationEnd").attr("class","marker aggregation "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),kSt=o((e,t,r)=>{e.append("defs").append("marker").attr("id",r+"_"+t+"-dependencyStart").attr("class","marker dependency "+t).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",r+"_"+t+"-dependencyEnd").attr("class","marker dependency "+t).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),wSt=o((e,t,r)=>{e.append("defs").append("marker").attr("id",r+"_"+t+"-lollipopStart").attr("class","marker lollipop "+t).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),e.append("defs").append("marker").attr("id",r+"_"+t+"-lollipopEnd").attr("class","marker lollipop "+t).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},"lollipop"),SSt=o((e,t,r)=>{e.append("marker").attr("id",r+"_"+t+"-pointEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",6).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),e.append("marker").attr("id",r+"_"+t+"-pointStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"point"),ESt=o((e,t,r)=>{e.append("marker").attr("id",r+"_"+t+"-circleEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),e.append("marker").attr("id",r+"_"+t+"-circleStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"circle"),ASt=o((e,t,r)=>{e.append("marker").attr("id",r+"_"+t+"-crossEnd").attr("class","marker cross "+t).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),e.append("marker").attr("id",r+"_"+t+"-crossStart").attr("class","marker cross "+t).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},"cross"),_St=o((e,t,r)=>{e.append("defs").append("marker").attr("id",r+"_"+t+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb"),DSt={extension:bSt,composition:TSt,aggregation:CSt,dependency:kSt,lollipop:wSt,point:SSt,circle:ESt,cross:ASt,barb:_St},h8e=xSt});function f8e(e,t){if(e===0||!Number.isInteger(e))throw new Error("Columns must be an integer !== 0.");if(t<0||!Number.isInteger(t))throw new Error("Position must be a non-negative integer."+t);if(e<0)return{px:t,py:0};if(e===1)return{px:0,py:t};let r=t%e,i=Math.floor(t/e);return{px:r,py:i}}function Aq(e,t,r=0,i=0){Z.debug("setBlockSizes abc95 (start)",e.id,e?.size?.x,"block width =",e?.size,"siblingWidth",r),e?.size?.width||(e.size={width:r,height:i,x:0,y:0});let n=0,a=0;if(e.children?.length>0){for(let m of e.children)Aq(m,t);let s=RSt(e);n=s.width,a=s.height,Z.debug("setBlockSizes abc95 maxWidth of",e.id,":s children is ",n,a);for(let m of e.children)m.size&&(Z.debug(`abc95 Setting size of children of ${e.id} id=${m.id} ${n} ${a} ${JSON.stringify(m.size)}`),m.size.width=n*(m.widthInColumns??1)+Tn*((m.widthInColumns??1)-1),m.size.height=a,m.size.x=0,m.size.y=0,Z.debug(`abc95 updating size of ${e.id} children child:${m.id} maxWidth:${n} maxHeight:${a}`));for(let m of e.children)Aq(m,t,n,a);let l=e.columns??-1,u=0;for(let m of e.children)u+=m.widthInColumns??1;let h=e.children.length;l>0&&l<u&&(h=l);let d=Math.ceil(u/h),f=h*(n+Tn)+Tn,p=d*(a+Tn)+Tn;if(f<r){Z.debug(`Detected to small sibling: abc95 ${e.id} siblingWidth ${r} siblingHeight ${i} width ${f}`),f=r,p=i;let m=(r-h*Tn-Tn)/h,g=(i-d*Tn-Tn)/d;Z.debug("Size indata abc88",e.id,"childWidth",m,"maxWidth",n),Z.debug("Size indata abc88",e.id,"childHeight",g,"maxHeight",a),Z.debug("Size indata abc88 xSize",h,"padding",Tn);for(let y of e.children)y.size&&(y.size.width=m,y.size.height=g,y.size.x=0,y.size.y=0)}if(Z.debug(`abc95 (finale calc) ${e.id} xSize ${h} ySize ${d} columns ${l}${e.children.length} width=${Math.max(f,e.size?.width||0)}`),f<(e?.size?.width||0)){f=e?.size?.width||0;let m=l>0?Math.min(e.children.length,l):e.children.length;if(m>0){let g=(f-m*Tn-Tn)/m;Z.debug("abc95 (growing to fit) width",e.id,f,e.size?.width,g);for(let y of e.children)y.size&&(y.size.width=g)}}e.size={width:f,height:p,x:0,y:0}}Z.debug("setBlockSizes abc94 (done)",e.id,e?.size?.x,e?.size?.width,e?.size?.y,e?.size?.height)}function p8e(e,t){Z.debug(`abc85 layout blocks (=>layoutBlocks) ${e.id} x: ${e?.size?.x} y: ${e?.size?.y} width: ${e?.size?.width}`);let r=e.columns??-1;if(Z.debug("layoutBlocks columns abc95",e.id,"=>",r,e),e.children&&e.children.length>0){let i=e?.children[0]?.size?.width??0,n=e.children.length*i+(e.children.length-1)*Tn;Z.debug("widthOfChildren 88",n,"posX");let a=new Map;{let d=0;for(let f of e.children){if(!f.size)continue;let{py:p}=f8e(r,d),m=a.get(p)??0;f.size.height>m&&a.set(p,f.size.height);let g=f?.widthInColumns??1;r>0&&(g=Math.min(g,r-d%r)),d+=g}}let s=new Map;{let d=0,f=[...a.keys()].sort((p,m)=>p-m);for(let p of f)s.set(p,d),d+=(a.get(p)??0)+Tn}let l=0;Z.debug("abc91 block?.size?.x",e.id,e?.size?.x);let u=e?.size?.x?e?.size?.x+(-e?.size?.width/2||0):-Tn,h=0;for(let d of e.children){let f=e;if(!d.size)continue;let{width:p,height:m}=d.size,{px:g,py:y}=f8e(r,l);if(y!=h&&(h=y,u=e?.size?.x?e?.size?.x+(-e?.size?.width/2||0):-Tn,Z.debug("New row in layout for block",e.id," and child ",d.id,h)),Z.debug(`abc89 layout blocks (child) id: ${d.id} Pos: ${l} (px, py) ${g},${y} (${f?.size?.x},${f?.size?.y}) parent: ${f.id} width: ${p}${Tn}`),f.size){let x=p/2;d.size.x=u+Tn+x,Z.debug(`abc91 layout blocks (calc) px, pyid:${d.id} startingPos=X${u} new startingPosX${d.size.x} ${x} padding=${Tn} width=${p} halfWidth=${x} => x:${d.size.x} y:${d.size.y} ${d.widthInColumns} (width * (child?.w || 1)) / 2 ${p*(d?.widthInColumns??1)/2}`),u=d.size.x+x;let b=s.get(y)??0,T=a.get(y)??m;d.size.y=f.size.y-f.size.height/2+b+T/2+Tn,Z.debug(`abc88 layout blocks (calc) px, pyid:${d.id}startingPosX${u}${Tn}${x}=>x:${d.size.x}y:${d.size.y}${d.widthInColumns}(width * (child?.w || 1)) / 2${p*(d?.widthInColumns??1)/2}`)}d.children&&p8e(d,t);let v=d?.widthInColumns??1;r>0&&(v=Math.min(v,r-l%r)),l+=v,Z.debug("abc88 columnsPos",d,l)}}Z.debug(`layout blocks (<==layoutBlocks) ${e.id} x: ${e?.size?.x} y: ${e?.size?.y} width: ${e?.size?.width}`)}function m8e(e,{minX:t,minY:r,maxX:i,maxY:n}={minX:0,minY:0,maxX:0,maxY:0}){if(e.size&&e.id!=="root"){let{x:a,y:s,width:l,height:u}=e.size;a-l/2<t&&(t=a-l/2),s-u/2<r&&(r=s-u/2),a+l/2>i&&(i=a+l/2),s+u/2>n&&(n=s+u/2)}if(e.children)for(let a of e.children)({minX:t,minY:r,maxX:i,maxY:n}=m8e(a,{minX:t,minY:r,maxX:i,maxY:n}));return{minX:t,minY:r,maxX:i,maxY:n}}function g8e(e){let t=e.getBlock("root");if(!t)return;Aq(t,e,0,0),p8e(t,e),Z.debug("getBlocks",JSON.stringify(t,null,2));let{minX:r,minY:i,maxX:n,maxY:a}=m8e(t),s=a-i,l=n-r;return{x:r,y:i,width:l,height:s}}var Tn,RSt,y8e=z(()=>{"use strict";St();Ut();Tn=ge()?.block?.padding??8;o(f8e,"calculateBlockPosition");RSt=o(e=>{let t=0,r=0;for(let i of e.children){let{width:n,height:a,x:s,y:l}=i.size??{width:0,height:0,x:0,y:0};if(Z.debug("getMaxChildSize abc95 child:",i.id,"width:",n,"height:",a,"x:",s,"y:",l,i.type),i.type==="space")continue;let u=n/(i.widthInColumns??1);u>t&&(t=u),a>r&&(r=a)}return{width:t,height:r}},"getMaxChildSize");o(Aq,"setBlockSizes");o(p8e,"layoutBlocks");o(m8e,"findBounds");o(g8e,"layout")});var LSt,js,T_=z(()=>{"use strict";br();Ut();_s();LSt=o(async(e,t,r,i=!1,n=!1)=>{let a=t||"";typeof a=="object"&&(a=a[0]);let s=ge(),l=Mr(s);return await wi(e,a,{style:r,isTitle:i,useHtmlLabels:l,markdown:!1,isNode:n,width:Number.POSITIVE_INFINITY},s)},"createLabel"),js=LSt});var x8e,MSt,v8e,b8e=z(()=>{"use strict";St();x8e=o((e,t,r,i,n)=>{t.arrowTypeStart&&v8e(e,"start",t.arrowTypeStart,r,i,n),t.arrowTypeEnd&&v8e(e,"end",t.arrowTypeEnd,r,i,n)},"addEdgeMarkers"),MSt={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},v8e=o((e,t,r,i,n,a)=>{let s=MSt[r];if(!s){Z.warn(`Unknown arrow type: ${r}`);return}let l=t==="start"?"Start":"End";e.attr(`marker-${t}`,`url(${i}#${n}_${a}-${s}${l})`)},"addEdgeMarker")});function C_(e,t){Mr(ge())&&e&&(e.style.width=t.length*9+"px",e.style.height="12px")}var _q,$a,C8e,k8e,NSt,ISt,T8e,w8e,S8e=z(()=>{"use strict";St();T_();_s();ON();Rr();Ut();br();Xt();Ir();BN();rb();b8e();_q={},$a={},C8e=o(async(e,t)=>{let r=ge(),i=Mr(r),n=e.insert("g").attr("class","edgeLabel"),a=n.insert("g").attr("class","label"),s=t.labelType==="markdown",l=await wi(e,t.label,{style:t.labelStyle,useHtmlLabels:i,addSvgBackground:s,isNode:!1,markdown:s,width:s?void 0:Number.POSITIVE_INFINITY},r);a.node().appendChild(l);let u=l.getBBox(),h=u;if(i){let f=l.children[0],p=Je(l);u=f.getBoundingClientRect(),h=u,p.attr("width",u.width),p.attr("height",u.height)}else{let f=Je(l).select("text").node();f&&typeof f.getBBox=="function"&&(h=f.getBBox())}a.attr("transform",$o(h,i)),_q[t.id]=n,t.width=u.width,t.height=u.height;let d;if(t.startLabelLeft){let f=e.insert("g").attr("class","edgeTerminals"),p=f.insert("g").attr("class","inner"),m=await js(p,t.startLabelLeft,t.labelStyle);d=m;let g=m.getBBox();if(i){let y=m.children[0],v=Je(m);g=y.getBoundingClientRect(),v.attr("width",g.width),v.attr("height",g.height)}p.attr("transform",$o(g,i)),$a[t.id]||($a[t.id]={}),$a[t.id].startLeft=f,C_(d,t.startLabelLeft)}if(t.startLabelRight){let f=e.insert("g").attr("class","edgeTerminals"),p=f.insert("g").attr("class","inner"),m=await js(p,t.startLabelRight,t.labelStyle);d=m;let g=m.getBBox();if(i){let y=m.children[0],v=Je(m);g=y.getBoundingClientRect(),v.attr("width",g.width),v.attr("height",g.height)}p.attr("transform",$o(g,i)),$a[t.id]||($a[t.id]={}),$a[t.id].startRight=f,C_(d,t.startLabelRight)}if(t.endLabelLeft){let f=e.insert("g").attr("class","edgeTerminals"),p=f.insert("g").attr("class","inner"),m=await js(f,t.endLabelLeft,t.labelStyle);d=m;let g=m.getBBox();if(i){let y=m.children[0],v=Je(m);g=y.getBoundingClientRect(),v.attr("width",g.width),v.attr("height",g.height)}p.attr("transform",$o(g,i)),$a[t.id]||($a[t.id]={}),$a[t.id].endLeft=f,C_(d,t.endLabelLeft)}if(t.endLabelRight){let f=e.insert("g").attr("class","edgeTerminals"),p=f.insert("g").attr("class","inner"),m=await js(f,t.endLabelRight,t.labelStyle);d=m;let g=m.getBBox();if(i){let y=m.children[0],v=Je(m);g=y.getBoundingClientRect(),v.attr("width",g.width),v.attr("height",g.height)}p.attr("transform",$o(g,i)),$a[t.id]||($a[t.id]={}),$a[t.id].endRight=f,C_(d,t.endLabelRight)}return l},"insertEdgeLabel");o(C_,"setTerminalWidth");k8e=o((e,t)=>{Z.debug("Moving label abc88 ",e.id,e.label,_q[e.id],t);let r=t.updatedPath?t.updatedPath:t.originalPath,i=ge(),{subGraphTitleTotalMargin:n}=zu(i);if(e.label){let a=_q[e.id],s=e.x,l=e.y;if(r){let u=Zt.calcLabelPosition(r);Z.debug("Moving label "+e.label+" from (",s,",",l,") to (",u.x,",",u.y,") abc88"),t.updatedPath&&(s=u.x,l=u.y)}a.attr("transform",`translate(${s}, ${l+n/2})`)}if(e.startLabelLeft){let a=$a[e.id].startLeft,s=e.x,l=e.y;if(r){let u=Zt.calcTerminalLabelPosition(e.arrowTypeStart?10:0,"start_left",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(e.startLabelRight){let a=$a[e.id].startRight,s=e.x,l=e.y;if(r){let u=Zt.calcTerminalLabelPosition(e.arrowTypeStart?10:0,"start_right",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(e.endLabelLeft){let a=$a[e.id].endLeft,s=e.x,l=e.y;if(r){let u=Zt.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,"end_left",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(e.endLabelRight){let a=$a[e.id].endRight,s=e.x,l=e.y;if(r){let u=Zt.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,"end_right",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}},"positionEdgeLabel"),NSt=o((e,t)=>{let r=e.x,i=e.y,n=Math.abs(t.x-r),a=Math.abs(t.y-i),s=e.width/2,l=e.height/2;return n>=s||a>=l},"outsideNode"),ISt=o((e,t,r)=>{Z.debug(`intersection calc abc89:
1266
+ outsidePoint: ${JSON.stringify(t)}
1267
+ insidePoint : ${JSON.stringify(r)}
1268
+ node : x:${e.x} y:${e.y} w:${e.width} h:${e.height}`);let i=e.x,n=e.y,a=Math.abs(i-r.x),s=e.width/2,l=r.x<t.x?s-a:s+a,u=e.height/2,h=Math.abs(t.y-r.y),d=Math.abs(t.x-r.x);if(Math.abs(n-t.y)*s>Math.abs(i-t.x)*u){let f=r.y<t.y?t.y-u-n:n-u-t.y;l=d*f/h;let p={x:r.x<t.x?r.x+l:r.x-d+l,y:r.y<t.y?r.y+h-f:r.y-h+f};return l===0&&(p.x=t.x,p.y=t.y),d===0&&(p.x=t.x),h===0&&(p.y=t.y),Z.debug(`abc89 topp/bott calc, Q ${h}, q ${f}, R ${d}, r ${l}`,p),p}else{r.x<t.x?l=t.x-s-i:l=i-s-t.x;let f=h*l/d,p=r.x<t.x?r.x+d-l:r.x-d+l,m=r.y<t.y?r.y+f:r.y-f;return Z.debug(`sides calc abc89, Q ${h}, q ${f}, R ${d}, r ${l}`,{_x:p,_y:m}),l===0&&(p=t.x,m=t.y),d===0&&(p=t.x),h===0&&(m=t.y),{x:p,y:m}}},"intersection"),T8e=o((e,t)=>{Z.debug("abc88 cutPathAtIntersect",e,t);let r=[],i=e[0],n=!1;return e.forEach(a=>{if(!NSt(t,a)&&!n){let s=ISt(t,i,a),l=!1;r.forEach(u=>{l=l||u.x===s.x&&u.y===s.y}),r.some(u=>u.x===s.x&&u.y===s.y)||r.push(s),n=!0}else i=a,n||r.push(a)}),r},"cutPathAtIntersect"),w8e=o(function(e,t,r,i,n,a,s){let l=r.points;Z.debug("abc88 InsertEdge: edge=",r,"e=",t);let u=!1,h=a.node(t.v);var d=a.node(t.w);d?.intersect&&h?.intersect&&(l=l.slice(1,r.points.length-1),l.unshift(h.intersect(l[0])),l.push(d.intersect(l[l.length-1]))),r.toCluster&&(Z.debug("to cluster abc88",i[r.toCluster]),l=T8e(r.points,i[r.toCluster].node),u=!0),r.fromCluster&&(Z.debug("from cluster abc88",i[r.fromCluster]),l=T8e(l.reverse(),i[r.fromCluster].node).reverse(),u=!0);let f=l.filter(w=>!Number.isNaN(w.y)),p=Dl;r.curve&&(n==="graph"||n==="flowchart")&&(p=r.curve);let{x:m,y:g}=U4(r),y=_l().x(m).y(g).curve(p),v;switch(r.thickness){case"normal":v="edge-thickness-normal";break;case"thick":v="edge-thickness-thick";break;case"invisible":v="edge-thickness-thick";break;default:v=""}switch(r.pattern){case"solid":v+=" edge-pattern-solid";break;case"dotted":v+=" edge-pattern-dotted";break;case"dashed":v+=" edge-pattern-dashed";break}let x=e.append("path").attr("d",y(f)).attr("id",r.id).attr("class"," "+v+(r.classes?" "+r.classes:"")).attr("style",r.style),b="";(ge().flowchart.arrowMarkerAbsolute||ge().state.arrowMarkerAbsolute)&&(b=Hf(!0)),x8e(x,r,b,s,n);let T={};return u&&(T.updatedPath=l),T.originalPath=r.points,T},"insertEdge")});var OSt,E8e,A8e=z(()=>{"use strict";OSt=o(e=>{let t=new Set;for(let r of e)switch(r){case"x":t.add("right"),t.add("left");break;case"y":t.add("up"),t.add("down");break;default:t.add(r);break}return t},"expandAndDeduplicateDirections"),E8e=o((e,t,r,i)=>{let n=OSt(e),a=2,s=t.height+2*r.padding,l=s/a,u=i??t.width+2*l+r.padding,h=r.padding/2;return n.has("right")&&n.has("left")&&n.has("up")&&n.has("down")?[{x:0,y:0},{x:l,y:0},{x:u/2,y:2*h},{x:u-l,y:0},{x:u,y:0},{x:u,y:-s/3},{x:u+2*h,y:-s/2},{x:u,y:-2*s/3},{x:u,y:-s},{x:u-l,y:-s},{x:u/2,y:-s-2*h},{x:l,y:-s},{x:0,y:-s},{x:0,y:-2*s/3},{x:-2*h,y:-s/2},{x:0,y:-s/3}]:n.has("right")&&n.has("left")&&n.has("up")?[{x:l,y:0},{x:u-l,y:0},{x:u,y:-s/2},{x:u-l,y:-s},{x:l,y:-s},{x:0,y:-s/2}]:n.has("right")&&n.has("left")&&n.has("down")?[{x:0,y:0},{x:l,y:-s},{x:u-l,y:-s},{x:u,y:0}]:n.has("right")&&n.has("up")&&n.has("down")?[{x:0,y:0},{x:u,y:-l},{x:u,y:-s+l},{x:0,y:-s}]:n.has("left")&&n.has("up")&&n.has("down")?[{x:u,y:0},{x:0,y:-l},{x:0,y:-s+l},{x:u,y:-s}]:n.has("right")&&n.has("left")?[{x:l,y:0},{x:l,y:-h},{x:u-l,y:-h},{x:u-l,y:0},{x:u,y:-s/2},{x:u-l,y:-s},{x:u-l,y:-s+h},{x:l,y:-s+h},{x:l,y:-s},{x:0,y:-s/2}]:n.has("up")&&n.has("down")?[{x:u/2,y:0},{x:0,y:-h},{x:l,y:-h},{x:l,y:-s+h},{x:0,y:-s+h},{x:u/2,y:-s},{x:u,y:-s+h},{x:u-l,y:-s+h},{x:u-l,y:-h},{x:u,y:-h}]:n.has("right")&&n.has("up")?[{x:0,y:0},{x:u,y:-l},{x:0,y:-s}]:n.has("right")&&n.has("down")?[{x:0,y:0},{x:u,y:0},{x:0,y:-s}]:n.has("left")&&n.has("up")?[{x:u,y:0},{x:0,y:-l},{x:u,y:-s}]:n.has("left")&&n.has("down")?[{x:u,y:0},{x:0,y:0},{x:u,y:-s}]:n.has("right")?[{x:l,y:-h},{x:l,y:-h},{x:u-l,y:-h},{x:u-l,y:0},{x:u,y:-s/2},{x:u-l,y:-s},{x:u-l,y:-s+h},{x:l,y:-s+h},{x:l,y:-s+h}]:n.has("left")?[{x:l,y:0},{x:l,y:-h},{x:u-l,y:-h},{x:u-l,y:-s+h},{x:l,y:-s+h},{x:l,y:-s},{x:0,y:-s/2}]:n.has("up")?[{x:l,y:-h},{x:l,y:-s+h},{x:0,y:-s+h},{x:u/2,y:-s},{x:u,y:-s+h},{x:u-l,y:-s+h},{x:u-l,y:-h}]:n.has("down")?[{x:u/2,y:0},{x:0,y:-h},{x:l,y:-h},{x:l,y:-s+h},{x:u-l,y:-s+h},{x:u-l,y:-h},{x:u,y:-h}]:[{x:0,y:0}]},"getArrowPoints")});function PSt(e,t){return e.intersect(t)}var _8e,D8e=z(()=>{"use strict";o(PSt,"intersectNode");_8e=PSt});function BSt(e,t,r,i){var n=e.x,a=e.y,s=n-i.x,l=a-i.y,u=Math.sqrt(t*t*l*l+r*r*s*s),h=Math.abs(t*r*s/u);i.x<n&&(h=-h);var d=Math.abs(t*r*l/u);return i.y<a&&(d=-d),{x:n+h,y:a+d}}var k_,Dq=z(()=>{"use strict";o(BSt,"intersectEllipse");k_=BSt});function FSt(e,t,r){return k_(e,t,t,r)}var R8e,L8e=z(()=>{"use strict";Dq();o(FSt,"intersectCircle");R8e=FSt});function $St(e,t,r,i){var n,a,s,l,u,h,d,f,p,m,g,y,v,x,b;if(n=t.y-e.y,s=e.x-t.x,u=t.x*e.y-e.x*t.y,p=n*r.x+s*r.y+u,m=n*i.x+s*i.y+u,!(p!==0&&m!==0&&M8e(p,m))&&(a=i.y-r.y,l=r.x-i.x,h=i.x*r.y-r.x*i.y,d=a*e.x+l*e.y+h,f=a*t.x+l*t.y+h,!(d!==0&&f!==0&&M8e(d,f))&&(g=n*l-a*s,g!==0)))return y=Math.abs(g/2),v=s*h-l*u,x=v<0?(v-y)/g:(v+y)/g,v=a*u-n*h,b=v<0?(v-y)/g:(v+y)/g,{x,y:b}}function M8e(e,t){return e*t>0}var N8e,I8e=z(()=>{"use strict";o($St,"intersectLine");o(M8e,"sameSign");N8e=$St});function zSt(e,t,r){var i=e.x,n=e.y,a=[],s=Number.POSITIVE_INFINITY,l=Number.POSITIVE_INFINITY;typeof t.forEach=="function"?t.forEach(function(g){s=Math.min(s,g.x),l=Math.min(l,g.y)}):(s=Math.min(s,t.x),l=Math.min(l,t.y));for(var u=i-e.width/2-s,h=n-e.height/2-l,d=0;d<t.length;d++){var f=t[d],p=t[d<t.length-1?d+1:0],m=N8e(e,r,{x:u+f.x,y:h+f.y},{x:u+p.x,y:h+p.y});m&&a.push(m)}return a.length?(a.length>1&&a.sort(function(g,y){var v=g.x-r.x,x=g.y-r.y,b=Math.sqrt(v*v+x*x),T=y.x-r.x,w=y.y-r.y,C=Math.sqrt(T*T+w*w);return b<C?-1:b===C?0:1}),a[0]):e}var O8e,P8e=z(()=>{"use strict";I8e();O8e=zSt;o(zSt,"intersectPolygon")});var GSt,B8e,F8e=z(()=>{"use strict";GSt=o((e,t)=>{var r=e.x,i=e.y,n=t.x-r,a=t.y-i,s=e.width/2,l=e.height/2,u,h;return Math.abs(a)*s>Math.abs(n)*l?(a<0&&(l=-l),u=a===0?0:l*n/a,h=l):(n<0&&(s=-s),u=s,h=n===0?0:s*a/n),{x:r+u,y:i+h}},"intersectRect"),B8e=GSt});var Pi,Rq=z(()=>{"use strict";D8e();L8e();Dq();P8e();F8e();Pi={node:_8e,circle:R8e,ellipse:k_,polygon:O8e,rect:B8e}});function Jl(e,t,r,i){return e.insert("polygon",":first-child").attr("points",i.map(function(n){return n.x+","+n.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-t/2+","+r/2+")")}var Mn,ji,Lq=z(()=>{"use strict";T_();_s();Ut();br();Rr();Ir();Xt();cN();Mn=o(async(e,t,r,i)=>{let n=ge(),a,s=t.useHtmlLabels||Mr(n);r?a=r:a="node default";let l=e.insert("g").attr("class",a).attr("id",t.domId||t.id),u=l.insert("g").attr("class","label").attr("style",t.labelStyle),h;t.labelText===void 0?h="":h=typeof t.labelText=="string"?t.labelText:t.labelText[0];let d;t.labelType==="markdown"?d=wi(u,fr(Qa(h),n),{useHtmlLabels:s,width:t.width||n.flowchart.wrappingWidth,classes:"markdown-node-label"},n):d=await js(u,fr(Qa(h),n),t.labelStyle,!1,i);let f=d.getBBox(),p=t.padding/2;if(Mr(n)){let m=d.children[0],g=Je(d);await E4(m,h),f=m.getBoundingClientRect(),g.attr("width",f.width),g.attr("height",f.height)}return s?u.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"):u.attr("transform","translate(0, "+-f.height/2+")"),t.centerLabel&&u.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"),u.insert("rect",":first-child"),{shapeSvg:l,bbox:f,halfPadding:p,label:u}},"labelHelper"),ji=o((e,t)=>{let r=t.node().getBBox();e.width=r.width,e.height=r.height},"updateNodeBounds");o(Jl,"insertPolygonShape")});var VSt,$8e,z8e=z(()=>{"use strict";Lq();St();Ut();br();Rq();VSt=o(async(e,t)=>{t.useHtmlLabels||Mr(ge())||(t.centerLabel=!0);let{shapeSvg:i,bbox:n,halfPadding:a}=await Mn(e,t,"node "+t.classes,!0);Z.info("Classes = ",t.classes);let s=i.insert("rect",":first-child");return s.attr("rx",t.rx).attr("ry",t.ry).attr("x",-n.width/2-a).attr("y",-n.height/2-a).attr("width",n.width+t.padding).attr("height",n.height+t.padding),ji(t,s),t.intersect=function(l){return Pi.rect(t,l)},i},"note"),$8e=VSt});function Mq(e,t,r,i){let n=[],a=o(l=>{n.push(l,0)},"addBorder"),s=o(l=>{n.push(0,l)},"skipBorder");t.includes("t")?(Z.debug("add top border"),a(r)):s(r),t.includes("r")?(Z.debug("add right border"),a(i)):s(i),t.includes("b")?(Z.debug("add bottom border"),a(r)):s(r),t.includes("l")?(Z.debug("add left border"),a(i)):s(i),e.attr("stroke-dasharray",n.join(" "))}var G8e,ko,V8e,WSt,qSt,USt,HSt,YSt,jSt,XSt,KSt,ZSt,QSt,JSt,e3t,t3t,r3t,i3t,n3t,a3t,s3t,o3t,W8e,l3t,c3t,q8e,w_,Nq,U8e,H8e=z(()=>{"use strict";Rr();Ut();br();St();A8e();T_();Rq();z8e();Lq();G8e=o(e=>e?" "+e:"","formatClass"),ko=o((e,t)=>`${t||"node default"}${G8e(e.classes)} ${G8e(e.class)}`,"getClassesFromNode"),V8e=o(async(e,t)=>{let{shapeSvg:r,bbox:i}=await Mn(e,t,ko(t,void 0),!0),n=i.width+t.padding,a=i.height+t.padding,s=n+a,l=[{x:s/2,y:0},{x:s,y:-s/2},{x:s/2,y:-s},{x:0,y:-s/2}];Z.info("Question main (Circle)");let u=Jl(r,s,s,l);return u.attr("style",t.style),ji(t,u),t.intersect=function(h){return Z.warn("Intersect called"),Pi.polygon(t,l,h)},r},"question"),WSt=o((e,t)=>{let r=e.insert("g").attr("class","node default").attr("id",t.domId||t.id),i=28,n=[{x:0,y:i/2},{x:i/2,y:0},{x:0,y:-i/2},{x:-i/2,y:0}];return r.insert("polygon",":first-child").attr("points",n.map(function(s){return s.x+","+s.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),t.width=28,t.height=28,t.intersect=function(s){return Pi.circle(t,14,s)},r},"choice"),qSt=o(async(e,t)=>{let{shapeSvg:r,bbox:i}=await Mn(e,t,ko(t,void 0),!0),n=4,a=t.positioned?t.height:i.height+t.padding,s=a/n,l=t.positioned?t.width:i.width+2*s+t.padding,u=[{x:s,y:0},{x:l-s,y:0},{x:l,y:-a/2},{x:l-s,y:-a},{x:s,y:-a},{x:0,y:-a/2}],h=Jl(r,l,a,u);return h.attr("style",t.style),ji(t,h),t.intersect=function(d){return Pi.polygon(t,u,d)},r},"hexagon"),USt=o(async(e,t)=>{let{shapeSvg:r,bbox:i}=await Mn(e,t,void 0,!0),n=2,a=i.height+2*t.padding,s=a/n,l=i.width+2*s+t.padding,h=t.positioned&&(t.widthInColumns??1)>1&&t.width>l?t.width:l,d=E8e(t.directions,i,t,h),f=Jl(r,h,a,d);return f.attr("style",t.style),ji(t,f),t.intersect=function(p){return Pi.polygon(t,d,p)},r},"block_arrow"),HSt=o(async(e,t)=>{let{shapeSvg:r,bbox:i}=await Mn(e,t,ko(t,void 0),!0),n=i.width+t.padding,a=i.height+t.padding,s=[{x:-a/2,y:0},{x:n,y:0},{x:n,y:-a},{x:-a/2,y:-a},{x:0,y:-a/2}];return Jl(r,n,a,s).attr("style",t.style),t.width=n+a,t.height=a,t.intersect=function(u){return Pi.polygon(t,s,u)},r},"rect_left_inv_arrow"),YSt=o(async(e,t)=>{let{shapeSvg:r,bbox:i}=await Mn(e,t,ko(t),!0),n=i.width+t.padding,a=i.height+t.padding,s=[{x:-2*a/6,y:0},{x:n-a/6,y:0},{x:n+2*a/6,y:-a},{x:a/6,y:-a}],l=Jl(r,n,a,s);return l.attr("style",t.style),ji(t,l),t.intersect=function(u){return Pi.polygon(t,s,u)},r},"lean_right"),jSt=o(async(e,t)=>{let{shapeSvg:r,bbox:i}=await Mn(e,t,ko(t,void 0),!0),n=i.width+t.padding,a=i.height+t.padding,s=[{x:2*a/6,y:0},{x:n+a/6,y:0},{x:n-2*a/6,y:-a},{x:-a/6,y:-a}],l=Jl(r,n,a,s);return l.attr("style",t.style),ji(t,l),t.intersect=function(u){return Pi.polygon(t,s,u)},r},"lean_left"),XSt=o(async(e,t)=>{let{shapeSvg:r,bbox:i}=await Mn(e,t,ko(t,void 0),!0),n=i.width+t.padding,a=i.height+t.padding,s=[{x:-2*a/6,y:0},{x:n+2*a/6,y:0},{x:n-a/6,y:-a},{x:a/6,y:-a}],l=Jl(r,n,a,s);return l.attr("style",t.style),ji(t,l),t.intersect=function(u){return Pi.polygon(t,s,u)},r},"trapezoid"),KSt=o(async(e,t)=>{let{shapeSvg:r,bbox:i}=await Mn(e,t,ko(t,void 0),!0),n=i.width+t.padding,a=i.height+t.padding,s=[{x:a/6,y:0},{x:n-a/6,y:0},{x:n+2*a/6,y:-a},{x:-2*a/6,y:-a}],l=Jl(r,n,a,s);return l.attr("style",t.style),ji(t,l),t.intersect=function(u){return Pi.polygon(t,s,u)},r},"inv_trapezoid"),ZSt=o(async(e,t)=>{let{shapeSvg:r,bbox:i}=await Mn(e,t,ko(t,void 0),!0),n=i.width+t.padding,a=i.height+t.padding,s=[{x:0,y:0},{x:n+a/2,y:0},{x:n,y:-a/2},{x:n+a/2,y:-a},{x:0,y:-a}],l=Jl(r,n,a,s);return l.attr("style",t.style),ji(t,l),t.intersect=function(u){return Pi.polygon(t,s,u)},r},"rect_right_inv_arrow"),QSt=o(async(e,t)=>{let{shapeSvg:r,bbox:i}=await Mn(e,t,ko(t,void 0),!0),n=i.width+t.padding,a=n/2,s=a/(2.5+n/50),l=i.height+s+t.padding,u="M 0,"+s+" a "+a+","+s+" 0,0,0 "+n+" 0 a "+a+","+s+" 0,0,0 "+-n+" 0 l 0,"+l+" a "+a+","+s+" 0,0,0 "+n+" 0 l 0,"+-l,h=r.attr("label-offset-y",s).insert("path",":first-child").attr("style",t.style).attr("d",u).attr("transform","translate("+-n/2+","+-(l/2+s)+")");return ji(t,h),t.intersect=function(d){let f=Pi.rect(t,d),p=f.x-t.x;if(a!=0&&(Math.abs(p)<t.width/2||Math.abs(p)==t.width/2&&Math.abs(f.y-t.y)>t.height/2-s)){let m=s*s*(1-p*p/(a*a));m!=0&&(m=Math.sqrt(m)),m=s-m,d.y-t.y>0&&(m=-m),f.y+=m}return f},r},"cylinder"),JSt=o(async(e,t)=>{let{shapeSvg:r,bbox:i,halfPadding:n}=await Mn(e,t,"node "+t.classes+" "+t.class,!0),a=r.insert("rect",":first-child"),s=t.positioned?t.width:i.width+t.padding,l=t.positioned?t.height:i.height+t.padding,u=t.positioned?-s/2:-i.width/2-n,h=t.positioned?-l/2:-i.height/2-n;if(a.attr("class","basic label-container").attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",u).attr("y",h).attr("width",s).attr("height",l),t.props){let d=new Set(Object.keys(t.props));t.props.borders&&(Mq(a,t.props.borders,s,l),d.delete("borders")),d.forEach(f=>{Z.warn(`Unknown node property ${f}`)})}return ji(t,a),t.intersect=function(d){return Pi.rect(t,d)},r},"rect"),e3t=o(async(e,t)=>{let{shapeSvg:r,bbox:i,halfPadding:n}=await Mn(e,t,"node "+t.classes,!0),a=r.insert("rect",":first-child"),s=t.positioned?t.width:i.width+t.padding,l=t.positioned?t.height:i.height+t.padding,u=t.positioned?-s/2:-i.width/2-n,h=t.positioned?-l/2:-i.height/2-n;if(a.attr("class","basic cluster composite label-container").attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",u).attr("y",h).attr("width",s).attr("height",l),t.props){let d=new Set(Object.keys(t.props));t.props.borders&&(Mq(a,t.props.borders,s,l),d.delete("borders")),d.forEach(f=>{Z.warn(`Unknown node property ${f}`)})}return ji(t,a),t.intersect=function(d){return Pi.rect(t,d)},r},"composite"),t3t=o(async(e,t)=>{let{shapeSvg:r}=await Mn(e,t,"label",!0);Z.trace("Classes = ",t.class);let i=r.insert("rect",":first-child"),n=0,a=0;if(i.attr("width",n).attr("height",a),r.attr("class","label edgeLabel"),t.props){let s=new Set(Object.keys(t.props));t.props.borders&&(Mq(i,t.props.borders,n,a),s.delete("borders")),s.forEach(l=>{Z.warn(`Unknown node property ${l}`)})}return ji(t,i),t.intersect=function(s){return Pi.rect(t,s)},r},"labelRect");o(Mq,"applyNodePropertyBorders");r3t=o(async(e,t)=>{let r;t.classes?r="node "+t.classes:r="node default";let i=e.insert("g").attr("class",r).attr("id",t.domId||t.id),n=i.insert("rect",":first-child"),a=i.insert("line"),s=i.insert("g").attr("class","label"),l=t.labelText.flat?t.labelText.flat():t.labelText,u="";typeof l=="object"?u=l[0]:u=l,Z.info("Label text abc79",u,l,typeof l=="object");let h=await js(s,u,t.labelStyle,!0,!0),d={width:0,height:0};if(Mr(ge())){let y=h.children[0],v=Je(h);d=y.getBoundingClientRect(),v.attr("width",d.width),v.attr("height",d.height)}Z.info("Text 2",l);let f=l.slice(1,l.length),p=h.getBBox(),m=await js(s,f.join?f.join("<br/>"):f,t.labelStyle,!0,!0);if(Mr(ge())){let y=m.children[0],v=Je(m);d=y.getBoundingClientRect(),v.attr("width",d.width),v.attr("height",d.height)}let g=t.padding/2;return Je(m).attr("transform","translate( "+(d.width>p.width?0:(p.width-d.width)/2)+", "+(p.height+g+5)+")"),Je(h).attr("transform","translate( "+(d.width<p.width?0:-(p.width-d.width)/2)+", 0)"),d=s.node().getBBox(),s.attr("transform","translate("+-d.width/2+", "+(-d.height/2-g+3)+")"),n.attr("class","outer title-state").attr("x",-d.width/2-g).attr("y",-d.height/2-g).attr("width",d.width+t.padding).attr("height",d.height+t.padding),a.attr("class","divider").attr("x1",-d.width/2-g).attr("x2",d.width/2+g).attr("y1",-d.height/2-g+p.height+g).attr("y2",-d.height/2-g+p.height+g),ji(t,n),t.intersect=function(y){return Pi.rect(t,y)},i},"rectWithTitle"),i3t=o(async(e,t)=>{let{shapeSvg:r,bbox:i}=await Mn(e,t,ko(t,void 0),!0),n=i.height+t.padding,a=i.width+n/4+t.padding,s=r.insert("rect",":first-child").attr("style",t.style).attr("rx",n/2).attr("ry",n/2).attr("x",-a/2).attr("y",-n/2).attr("width",a).attr("height",n);return ji(t,s),t.intersect=function(l){return Pi.rect(t,l)},r},"stadium"),n3t=o(async(e,t)=>{let{shapeSvg:r,bbox:i,halfPadding:n}=await Mn(e,t,ko(t,void 0),!0),a=r.insert("circle",":first-child");return a.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",i.width/2+n).attr("width",i.width+t.padding).attr("height",i.height+t.padding),Z.info("Circle main"),ji(t,a),t.intersect=function(s){return Z.info("Circle intersect",t,i.width/2+n,s),Pi.circle(t,i.width/2+n,s)},r},"circle"),a3t=o(async(e,t)=>{let{shapeSvg:r,bbox:i,halfPadding:n}=await Mn(e,t,ko(t,void 0),!0),a=5,s=r.insert("g",":first-child"),l=s.insert("circle"),u=s.insert("circle");return s.attr("class",t.class),l.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",i.width/2+n+a).attr("width",i.width+t.padding+a*2).attr("height",i.height+t.padding+a*2),u.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",i.width/2+n).attr("width",i.width+t.padding).attr("height",i.height+t.padding),Z.info("DoubleCircle main"),ji(t,l),t.intersect=function(h){return Z.info("DoubleCircle intersect",t,i.width/2+n+a,h),Pi.circle(t,i.width/2+n+a,h)},r},"doublecircle"),s3t=o(async(e,t)=>{let{shapeSvg:r,bbox:i}=await Mn(e,t,ko(t,void 0),!0),n=i.width+t.padding,a=i.height+t.padding,s=[{x:0,y:0},{x:n,y:0},{x:n,y:-a},{x:0,y:-a},{x:0,y:0},{x:-8,y:0},{x:n+8,y:0},{x:n+8,y:-a},{x:-8,y:-a},{x:-8,y:0}],l=Jl(r,n,a,s);return l.attr("style",t.style),ji(t,l),t.intersect=function(u){return Pi.polygon(t,s,u)},r},"subroutine"),o3t=o((e,t)=>{let r=e.insert("g").attr("class","node default").attr("id",t.domId||t.id),i=r.insert("circle",":first-child");return i.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),ji(t,i),t.intersect=function(n){return Pi.circle(t,7,n)},r},"start"),W8e=o((e,t,r)=>{let i=e.insert("g").attr("class","node default").attr("id",t.domId||t.id),n=70,a=10;r==="LR"&&(n=10,a=70);let s=i.append("rect").attr("x",-1*n/2).attr("y",-1*a/2).attr("width",n).attr("height",a).attr("class","fork-join");return ji(t,s),t.height=t.height+t.padding/2,t.width=t.width+t.padding/2,t.intersect=function(l){return Pi.rect(t,l)},i},"forkJoin"),l3t=o((e,t)=>{let r=e.insert("g").attr("class","node default").attr("id",t.domId||t.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),ji(t,n),t.intersect=function(a){return Pi.circle(t,7,a)},r},"end"),c3t=o(async(e,t)=>{let r=t.padding/2,i=4,n=8,a;t.classes?a="node "+t.classes:a="node default";let s=e.insert("g").attr("class",a).attr("id",t.domId||t.id),l=s.insert("rect",":first-child"),u=s.insert("line"),h=s.insert("line"),d=0,f=i,p=s.insert("g").attr("class","label"),m=0,g=t.classData.annotations?.[0],y=t.classData.annotations[0]?"\xAB"+t.classData.annotations[0]+"\xBB":"",v=await js(p,y,t.labelStyle,!0,!0),x=v.getBBox();if(Mr(ge())){let A=v.children[0],N=Je(v);x=A.getBoundingClientRect(),N.attr("width",x.width),N.attr("height",x.height)}t.classData.annotations[0]&&(f+=x.height+i,d+=x.width);let b=t.classData.label;t.classData.type!==void 0&&t.classData.type!==""&&(Mr(ge())?b+="&lt;"+t.classData.type+"&gt;":b+="<"+t.classData.type+">");let T=await js(p,b,t.labelStyle,!0,!0);Je(T).attr("class","classTitle");let w=T.getBBox();if(Mr(ge())){let A=T.children[0],N=Je(T);w=A.getBoundingClientRect(),N.attr("width",w.width),N.attr("height",w.height)}f+=w.height+i,w.width>d&&(d=w.width);let C=[];t.classData.members.forEach(async A=>{let N=A.getDisplayDetails(),P=N.displayText;Mr(ge())&&(P=P.replace(/</g,"&lt;").replace(/>/g,"&gt;"));let I=await js(p,P,N.cssStyle?N.cssStyle:t.labelStyle,!0,!0),D=I.getBBox();if(Mr(ge())){let _=I.children[0],R=Je(I);D=_.getBoundingClientRect(),R.attr("width",D.width),R.attr("height",D.height)}D.width>d&&(d=D.width),f+=D.height+i,C.push(I)}),f+=n;let k=[];if(t.classData.methods.forEach(async A=>{let N=A.getDisplayDetails(),P=N.displayText;Mr(ge())&&(P=P.replace(/</g,"&lt;").replace(/>/g,"&gt;"));let I=await js(p,P,N.cssStyle?N.cssStyle:t.labelStyle,!0,!0),D=I.getBBox();if(Mr(ge())){let _=I.children[0],R=Je(I);D=_.getBoundingClientRect(),R.attr("width",D.width),R.attr("height",D.height)}D.width>d&&(d=D.width),f+=D.height+i,k.push(I)}),f+=n,g){let A=(d-x.width)/2;Je(v).attr("transform","translate( "+(-1*d/2+A)+", "+-1*f/2+")"),m=x.height+i}let E=(d-w.width)/2;return Je(T).attr("transform","translate( "+(-1*d/2+E)+", "+(-1*f/2+m)+")"),m+=w.height+i,u.attr("class","divider").attr("x1",-d/2-r).attr("x2",d/2+r).attr("y1",-f/2-r+n+m).attr("y2",-f/2-r+n+m),m+=n,C.forEach(A=>{Je(A).attr("transform","translate( "+-d/2+", "+(-1*f/2+m+n/2)+")");let N=A?.getBBox();m+=(N?.height??0)+i}),m+=n,h.attr("class","divider").attr("x1",-d/2-r).attr("x2",d/2+r).attr("y1",-f/2-r+n+m).attr("y2",-f/2-r+n+m),m+=n,k.forEach(A=>{Je(A).attr("transform","translate( "+-d/2+", "+(-1*f/2+m)+")");let N=A?.getBBox();m+=(N?.height??0)+i}),l.attr("style",t.style).attr("class","outer title-state").attr("x",-d/2-r).attr("y",-(f/2)-r).attr("width",d+t.padding).attr("height",f+t.padding),ji(t,l),t.intersect=function(A){return Pi.rect(t,A)},s},"class_box"),q8e={rhombus:V8e,composite:e3t,question:V8e,rect:JSt,labelRect:t3t,rectWithTitle:r3t,choice:WSt,circle:n3t,doublecircle:a3t,stadium:i3t,hexagon:qSt,block_arrow:USt,rect_left_inv_arrow:HSt,lean_right:YSt,lean_left:jSt,trapezoid:XSt,inv_trapezoid:KSt,rect_right_inv_arrow:ZSt,cylinder:QSt,start:o3t,end:l3t,note:$8e,subroutine:s3t,fork:W8e,join:W8e,class_box:c3t},w_={},Nq=o(async(e,t,r)=>{let i,n;if(t.link){let a;ge().securityLevel==="sandbox"?a="_top":t.linkTarget&&(a=t.linkTarget||"_blank"),i=e.insert("svg:a").attr("xlink:href",t.link).attr("target",a),n=await q8e[t.shape](i,t,r)}else n=await q8e[t.shape](e,t,r),i=n;return t.tooltip&&n.attr("title",t.tooltip),t.class&&n.attr("class","node default "+t.class),w_[t.id]=i,t.haveCallback&&w_[t.id].attr("class",w_[t.id].attr("class")+" clickable"),i},"insertNode"),U8e=o(e=>{let t=w_[e.id];Z.trace("Transforming node",e.diff,e,"translate("+(e.x-e.width/2-5)+", "+e.width/2+")");let r=8,i=e.diff||0;return e.clusterNode?t.attr("transform","translate("+(e.x+i-e.width/2)+", "+(e.y-e.height/2-r)+")"):t.attr("transform","translate("+e.x+", "+e.y+")"),i},"positionNode")});function Y8e(e,t,r=!1){let i=e,n="default";(i?.classes?.length||0)>0&&(n=(i?.classes??[]).join(" ")),n=n+" flowchart-label";let a=0,s="",l;switch(i.type){case"round":a=5,s="rect";break;case"composite":a=0,s="composite",l=0;break;case"square":s="rect";break;case"diamond":s="question";break;case"hexagon":s="hexagon";break;case"block_arrow":s="block_arrow";break;case"odd":s="rect_left_inv_arrow";break;case"lean_right":s="lean_right";break;case"lean_left":s="lean_left";break;case"trapezoid":s="trapezoid";break;case"inv_trapezoid":s="inv_trapezoid";break;case"rect_left_inv_arrow":s="rect_left_inv_arrow";break;case"circle":s="circle";break;case"ellipse":s="ellipse";break;case"stadium":s="stadium";break;case"subroutine":s="subroutine";break;case"cylinder":s="cylinder";break;case"group":s="rect";break;case"doublecircle":s="doublecircle";break;default:s="rect"}let u=_M(i?.styles??[]),h=i.label,d=i.size??{width:0,height:0,x:0,y:0},f=t.getDiagramId();return{labelStyle:u.labelStyle,shape:s,labelText:h,rx:a,ry:a,class:n,style:u.style,id:i.id,domId:f?`${f}-${i.id}`:i.id,directions:i.directions,width:d.width,height:d.height,x:d.x,y:d.y,positioned:r,intersect:void 0,type:i.type,padding:l??Nt()?.block?.padding??0,widthInColumns:i.widthInColumns??1}}async function u3t(e,t,r){let i=Y8e(t,r,!1);if(i.type==="group")return;let n=Nt(),a=await Nq(e,i,{config:n}),s=a.node().getBBox(),l=r.getBlock(i.id);l.size={width:s.width,height:s.height,x:0,y:0,node:a},r.setBlock(l),a.remove()}async function h3t(e,t,r){let i=Y8e(t,r,!0);if(r.getBlock(i.id).type!=="space"){let a=Nt();await Nq(e,i,{config:a}),t.intersect=i?.intersect,U8e(i)}}async function Iq(e,t,r,i){for(let n of t)await i(e,n,r),n.children&&await Iq(e,n.children,r,i)}async function j8e(e,t,r){await Iq(e,t,r,u3t)}async function X8e(e,t,r){await Iq(e,t,r,h3t)}async function K8e(e,t,r,i,n){let a=new ui({multigraph:!0,compound:!0});a.setGraph({rankdir:"TB",nodesep:10,ranksep:10,marginx:8,marginy:8});for(let s of r)s.size&&a.setNode(s.id,{width:s.size.width,height:s.size.height,intersect:s.intersect});for(let s of t)if(s.start&&s.end){let l=i.getBlock(s.start),u=i.getBlock(s.end);if(l?.size&&u?.size){let h=l.size,d=u.size,f=[{x:h.x,y:h.y},{x:h.x+(d.x-h.x)/2,y:h.y+(d.y-h.y)/2},{x:d.x,y:d.y}],p=n?`${n}-${s.id}`:s.id,m=s.thickness==="thick"?"edge-thickness-thick":"edge-thickness-normal",g=s.pattern==="dotted"?"edge-pattern-dotted":"edge-pattern-solid",y=`${m} ${g} flowchart-link LS-a1 LE-b1`;w8e(e,{v:s.start,w:s.end,name:p},{...s,id:p,arrowTypeEnd:s.arrowTypeEnd,arrowTypeStart:s.arrowTypeStart,points:f,classes:y},void 0,"block",a,n),s.label&&(await C8e(e,{...s,label:s.label,labelStyle:"stroke: #333; stroke-width: 1.5px;fill:none;",arrowTypeEnd:s.arrowTypeEnd,arrowTypeStart:s.arrowTypeStart,points:f,classes:y}),k8e({...s,x:f[1].x,y:f[1].y},{originalPath:f}))}}}var Z8e=z(()=>{"use strict";Uo();br();S8e();H8e();Xt();o(Y8e,"getNodeFromBlock");o(u3t,"calculateBlockSize");o(h3t,"insertBlockPositioned");o(Iq,"performOperations");o(j8e,"calculateBlockSizes");o(X8e,"insertBlocks");o(K8e,"insertEdges")});var d3t,f3t,Q8e,J8e=z(()=>{"use strict";Rr();br();d8e();St();Di();y8e();Z8e();d3t=o(function(e,t){return t.db.getClasses()},"getClasses"),f3t=o(async function(e,t,r,i){let{securityLevel:n,block:a}=Nt(),s=i.db;s.setDiagramId(t);let l;n==="sandbox"&&(l=Je("#i"+t));let u=n==="sandbox"?Je(l.nodes()[0].contentDocument.body):Je("body"),h=n==="sandbox"?u.select(`[id="${t}"]`):Je(`[id="${t}"]`);h8e(h,["point","circle","cross"],i.type,t);let f=s.getBlocks(),p=s.getBlocksFlat(),m=s.getEdges(),g=h.insert("g").attr("class","block");await j8e(g,f,s);let y=g8e(s);if(await X8e(g,f,s),await K8e(g,m,p,s,t),y){let v=y,x=Math.max(1,Math.round(.125*(v.width/v.height))),b=v.height+x+10,T=v.width+10,{useMaxWidth:w}=a;Br(h,b,T,!!w),Z.debug("Here Bounds",y,v),h.attr("viewBox",`${v.x-5} ${v.y-5} ${v.width+10} ${v.height+10}`)}},"draw"),Q8e={draw:f3t,getClasses:d3t}});var eRe={};xr(eRe,{diagram:()=>p3t});var p3t,tRe=z(()=>{"use strict";t8e();l8e();u8e();J8e();p3t={parser:e8e,db:o8e,renderer:Q8e,styles:c8e}});var cu,v3t,x3t,b3t,T3t,C3t,k3t,w3t,sC,Oq=z(()=>{"use strict";br();Bn();Ci();Xt();T6();cu=new wf(()=>({cnt:1,stack:[{id:0,level:-1,name:"/",children:[]}]})),v3t=o(()=>{cu.reset(),gr()},"clear"),x3t=o(()=>cu.records.stack[0],"getRoot"),b3t=o(()=>cu.records.cnt,"getCount"),T3t=or.treeView,C3t=o(()=>Gr(T3t,Nt().treeView),"getConfig"),k3t=o((e,t)=>{for(;e<=cu.records.stack[cu.records.stack.length-1].level;)cu.records.stack.pop();let r={id:cu.records.cnt++,level:e,name:t,children:[]};cu.records.stack[cu.records.stack.length-1].children.push(r),cu.records.stack.push(r)},"addNode"),w3t={clear:v3t,addNode:k3t,getRoot:x3t,getCount:b3t,getConfig:C3t,getAccTitle:kr,getAccDescription:Sr,getDiagramTitle:Er,setAccDescription:wr,setAccTitle:Cr,setDiagramTitle:Ar},sC=w3t});var S3t,nRe,aRe=z(()=>{"use strict";St();au();Oq();sl();S3t=o(e=>{ca(e,sC),e.nodes.map(t=>sC.addNode(t.indent?parseInt(t.indent):0,t.name))},"populate"),nRe={parse:o(async e=>{let t=await bn("treeView",e);Z.debug(t),S3t(t)},"parse")}});var E3t,sRe,A3t,_3t,D3t,oRe,lRe=z(()=>{"use strict";St();ps();Di();E3t=o((e,t,r,i,n)=>{let a=i.append("text").text(r.name).attr("dominant-baseline","middle").attr("class","treeView-node-label"),{height:s,width:l}=a.node().getBBox(),u=s+n.paddingY*2,h=l+n.paddingX*2;a.attr("x",e+n.paddingX),a.attr("y",t+u/2),r.BBox={x:e,y:t,width:h,height:u}},"positionLabel"),sRe=o((e,t,r,i,n,a)=>e.append("line").attr("x1",t).attr("y1",r).attr("x2",i).attr("y2",n).attr("stroke-width",a).attr("class","treeView-node-line"),"positionLine"),A3t=o((e,t,r)=>{let i=0,n=0,a=o((l,u,h,d)=>{let f=d*(h.rowIndent+h.paddingX);E3t(f,i,u,l,h);let{height:p,width:m}=u.BBox;sRe(l,f-h.rowIndent,i+p/2,f,i+p/2,h.lineThickness),n=Math.max(n,f+m),i+=p},"drawNode"),s=o((l,u=0)=>{a(e,l,r,u),l.children.forEach(p=>{s(p,u+1)});let{x:h,y:d,height:f}=l.BBox;if(l.children.length){let{y:p,height:m}=l.children[l.children.length-1].BBox;sRe(e,h+r.paddingX,d+f,h+r.paddingX,p+m/2+r.lineThickness/2,r.lineThickness)}},"processNode");return s(t),{totalHeight:i,totalWidth:n}},"drawTree"),_3t=o((e,t,r,i)=>{Z.debug(`Rendering treeView diagram
1269
+ `+e);let n=i.db,a=n.getRoot(),s=n.getConfig(),l=bi(t),u=l.append("g");u.attr("class","tree-view");let{totalHeight:h,totalWidth:d}=A3t(u,a,s);l.attr("viewBox",`-${s.lineThickness/2} 0 ${d} ${h}`),Br(l,h,d,s.useMaxWidth)},"draw"),D3t={draw:_3t},oRe=D3t});var R3t,L3t,cRe,uRe=z(()=>{"use strict";Xt();R3t={labelFontSize:"16px",labelColor:"black",lineColor:"black"},L3t=o(({treeView:e})=>{let{labelFontSize:t,labelColor:r,lineColor:i}=Gr(R3t,e);return`
1270
+ .treeView-node-label {
1271
+ font-size: ${t};
1272
+ fill: ${r};
1273
+ }
1274
+ .treeView-node-line {
1275
+ stroke: ${i};
1276
+ }
1277
+ `},"styles"),cRe=L3t});var hRe={};xr(hRe,{diagram:()=>M3t});var M3t,dRe=z(()=>{"use strict";aRe();Oq();lRe();uRe();M3t={db:sC,renderer:oRe,parser:nRe,styles:cRe}});var Pq,Bq,oC,mRe,Fq,za,uu,lC,gRe,P3t,cC,yRe,vRe,xRe,bRe,TRe,S_,Nf,E_=z(()=>{"use strict";Pq={L:"left",R:"right",T:"top",B:"bottom"},Bq={L:o(e=>`${e},${e/2} 0,${e} 0,0`,"L"),R:o(e=>`0,${e/2} ${e},0 ${e},${e}`,"R"),T:o(e=>`0,0 ${e},0 ${e/2},${e}`,"T"),B:o(e=>`${e/2},0 ${e},${e} 0,${e}`,"B")},oC={L:o((e,t)=>e-t+2,"L"),R:o((e,t)=>e-2,"R"),T:o((e,t)=>e-t+2,"T"),B:o((e,t)=>e-2,"B")},mRe=o(function(e){return za(e)?e==="L"?"R":"L":e==="T"?"B":"T"},"getOppositeArchitectureDirection"),Fq=o(function(e){let t=e;return t==="L"||t==="R"||t==="T"||t==="B"},"isArchitectureDirection"),za=o(function(e){let t=e;return t==="L"||t==="R"},"isArchitectureDirectionX"),uu=o(function(e){let t=e;return t==="T"||t==="B"},"isArchitectureDirectionY"),lC=o(function(e,t){let r=za(e)&&uu(t),i=uu(e)&&za(t);return r||i},"isArchitectureDirectionXY"),gRe=o(function(e){let t=e[0],r=e[1],i=za(t)&&uu(r),n=uu(t)&&za(r);return i||n},"isArchitecturePairXY"),P3t=o(function(e){return e!=="LL"&&e!=="RR"&&e!=="TT"&&e!=="BB"},"isValidArchitectureDirectionPair"),cC=o(function(e,t){let r=`${e}${t}`;return P3t(r)?r:void 0},"getArchitectureDirectionPair"),yRe=o(function([e,t],r){let i=r[0],n=r[1];return za(i)?uu(n)?[e+(i==="L"?-1:1),t+(n==="T"?1:-1)]:[e+(i==="L"?-1:1),t]:za(n)?[e+(n==="L"?1:-1),t+(i==="T"?1:-1)]:[e,t+(i==="T"?1:-1)]},"shiftPositionByArchitectureDirectionPair"),vRe=o(function(e){return e==="LT"||e==="TL"?[1,1]:e==="BL"||e==="LB"?[1,-1]:e==="BR"||e==="RB"?[-1,-1]:[-1,1]},"getArchitectureDirectionXYFactors"),xRe=o(function(e,t){return lC(e,t)?"bend":za(e)?"horizontal":"vertical"},"getArchitectureDirectionAlignment"),bRe=o(function(e){return e.type==="service"},"isArchitectureService"),TRe=o(function(e){return e.type==="junction"},"isArchitectureJunction"),S_=o(e=>e.data(),"edgeData"),Nf=o(e=>e.data(),"nodeData")});var B3t,Iy,$q=z(()=>{"use strict";br();Bn();Xt();Ci();E_();B3t=or.architecture,Iy=class{constructor(){this.nodes={};this.groups={};this.edges=[];this.registeredIds={};this.elements={};this.diagramId="";this.setAccTitle=Cr;this.getAccTitle=kr;this.setDiagramTitle=Ar;this.getDiagramTitle=Er;this.getAccDescription=Sr;this.setAccDescription=wr;this.clear()}static{o(this,"ArchitectureDB")}setDiagramId(t){this.diagramId=t}getDiagramId(){return this.diagramId}clear(){this.nodes={},this.groups={},this.edges=[],this.registeredIds={},this.dataStructures=void 0,this.elements={},this.diagramId="",gr()}addService({id:t,icon:r,in:i,title:n,iconText:a}){if(this.registeredIds[t]!==void 0)throw new Error(`The service id [${t}] is already in use by another ${this.registeredIds[t]}`);if(i!==void 0){if(t===i)throw new Error(`The service [${t}] cannot be placed within itself`);if(this.registeredIds[i]===void 0)throw new Error(`The service [${t}]'s parent does not exist. Please make sure the parent is created before this service`);if(this.registeredIds[i]==="node")throw new Error(`The service [${t}]'s parent is not a group`)}this.registeredIds[t]="node",this.nodes[t]={id:t,type:"service",icon:r,iconText:a,title:n,edges:[],in:i}}getServices(){return Object.values(this.nodes).filter(bRe)}addJunction({id:t,in:r}){if(this.registeredIds[t]!==void 0)throw new Error(`The junction id [${t}] is already in use by another ${this.registeredIds[t]}`);if(r!==void 0){if(t===r)throw new Error(`The junction [${t}] cannot be placed within itself`);if(this.registeredIds[r]===void 0)throw new Error(`The junction [${t}]'s parent does not exist. Please make sure the parent is created before this junction`);if(this.registeredIds[r]==="node")throw new Error(`The junction [${t}]'s parent is not a group`)}this.registeredIds[t]="node",this.nodes[t]={id:t,type:"junction",edges:[],in:r}}getJunctions(){return Object.values(this.nodes).filter(TRe)}getNodes(){return Object.values(this.nodes)}getNode(t){return this.nodes[t]??null}addGroup({id:t,icon:r,in:i,title:n}){if(this.registeredIds?.[t]!==void 0)throw new Error(`The group id [${t}] is already in use by another ${this.registeredIds[t]}`);if(i!==void 0){if(t===i)throw new Error(`The group [${t}] cannot be placed within itself`);if(this.registeredIds?.[i]===void 0)throw new Error(`The group [${t}]'s parent does not exist. Please make sure the parent is created before this group`);if(this.registeredIds?.[i]==="node")throw new Error(`The group [${t}]'s parent is not a group`)}this.registeredIds[t]="group",this.groups[t]={id:t,icon:r,title:n,in:i}}getGroups(){return Object.values(this.groups)}addEdge({lhsId:t,rhsId:r,lhsDir:i,rhsDir:n,lhsInto:a,rhsInto:s,lhsGroup:l,rhsGroup:u,title:h}){if(!Fq(i))throw new Error(`Invalid direction given for left hand side of edge ${t}--${r}. Expected (L,R,T,B) got ${String(i)}`);if(!Fq(n))throw new Error(`Invalid direction given for right hand side of edge ${t}--${r}. Expected (L,R,T,B) got ${String(n)}`);if(this.nodes[t]===void 0&&this.groups[t]===void 0)throw new Error(`The left-hand id [${t}] does not yet exist. Please create the service/group before declaring an edge to it.`);if(this.nodes[r]===void 0&&this.groups[r]===void 0)throw new Error(`The right-hand id [${r}] does not yet exist. Please create the service/group before declaring an edge to it.`);let d=this.nodes[t].in,f=this.nodes[r].in;if(l&&d&&f&&d==f)throw new Error(`The left-hand id [${t}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);if(u&&d&&f&&d==f)throw new Error(`The right-hand id [${r}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);let p={lhsId:t,lhsDir:i,lhsInto:a,lhsGroup:l,rhsId:r,rhsDir:n,rhsInto:s,rhsGroup:u,title:h};this.edges.push(p),this.nodes[t]&&this.nodes[r]&&(this.nodes[t].edges.push(this.edges[this.edges.length-1]),this.nodes[r].edges.push(this.edges[this.edges.length-1]))}getEdges(){return this.edges}getDataStructures(){if(this.dataStructures===void 0){let t={},r=Object.entries(this.nodes).reduce((u,[h,d])=>(u[h]=d.edges.reduce((f,p)=>{let m=this.getNode(p.lhsId)?.in,g=this.getNode(p.rhsId)?.in;if(m&&g&&m!==g){let y=xRe(p.lhsDir,p.rhsDir);y!=="bend"&&(t[m]??={},t[m][g]=y,t[g]??={},t[g][m]=y)}if(p.lhsId===h){let y=cC(p.lhsDir,p.rhsDir);y&&(f[y]=p.rhsId)}else{let y=cC(p.rhsDir,p.lhsDir);y&&(f[y]=p.lhsId)}return f},{}),u),{}),i=Object.keys(r)[0],n={[i]:1},a=Object.keys(r).reduce((u,h)=>h===i?u:{...u,[h]:1},{}),s=o(u=>{let h={[u]:[0,0]},d=[u];for(;d.length>0;){let f=d.shift();if(f){n[f]=1,delete a[f];let p=r[f],[m,g]=h[f];Object.entries(p).forEach(([y,v])=>{n[v]||(h[v]=yRe([m,g],y),d.push(v))})}}return h},"BFS"),l=[s(i)];for(;Object.keys(a).length>0;)l.push(s(Object.keys(a)[0]));this.dataStructures={adjList:r,spatialMaps:l,groupAlignments:t}}return this.dataStructures}setElementForId(t,r){this.elements[t]=r}getElementById(t){return this.elements[t]}getConfig(){return Gr({...B3t,...Nt().architecture})}getConfigField(t){return this.getConfig()[t]}}});var F3t,zq,CRe=z(()=>{"use strict";sl();St();au();$q();F3t=o((e,t)=>{ca(e,t),e.groups.map(r=>t.addGroup(r)),e.services.map(r=>t.addService({...r,type:"service"})),e.junctions.map(r=>t.addJunction({...r,type:"junction"})),e.edges.map(r=>t.addEdge(r))},"populateDb"),zq={parser:{yy:void 0},parse:o(async e=>{let t=await bn("architecture",e);Z.debug(t);let r=zq.parser?.yy;if(!(r instanceof Iy))throw new Error("parser.parser?.yy was not a ArchitectureDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");F3t(t,r)},"parse")}});var $3t,kRe,wRe=z(()=>{"use strict";$3t=o(e=>`
1278
+ .edge {
1279
+ stroke-width: ${e.archEdgeWidth};
1280
+ stroke: ${e.archEdgeColor};
1281
+ fill: none;
1282
+ }
1283
+
1284
+ .arrow {
1285
+ fill: ${e.archEdgeArrowColor};
1286
+ }
1287
+
1288
+ .node-bkg {
1289
+ fill: none;
1290
+ stroke: ${e.archGroupBorderColor};
1291
+ stroke-width: ${e.archGroupBorderWidth};
1292
+ stroke-dasharray: 8;
1293
+ }
1294
+ .node-icon-text {
1295
+ display: flex;
1296
+ align-items: center;
1297
+ }
1298
+
1299
+ .node-icon-text > div {
1300
+ color: #fff;
1301
+ margin: 1px;
1302
+ height: fit-content;
1303
+ text-align: center;
1304
+ overflow: hidden;
1305
+ display: -webkit-box;
1306
+ -webkit-box-orient: vertical;
1307
+ }
1308
+ `,"getStyles"),kRe=$3t});var Vq=Js((uC,Gq)=>{"use strict";o((function(t,r){typeof uC=="object"&&typeof Gq=="object"?Gq.exports=r():typeof define=="function"&&define.amd?define([],r):typeof uC=="object"?uC.layoutBase=r():t.layoutBase=r()}),"webpackUniversalModuleDefinition")(uC,function(){return(function(e){var t={};function r(i){if(t[i])return t[i].exports;var n=t[i]={i,l:!1,exports:{}};return e[i].call(n.exports,n,n.exports,r),n.l=!0,n.exports}return o(r,"__webpack_require__"),r.m=e,r.c=t,r.i=function(i){return i},r.d=function(i,n,a){r.o(i,n)||Object.defineProperty(i,n,{configurable:!1,enumerable:!0,get:a})},r.n=function(i){var n=i&&i.__esModule?o(function(){return i.default},"getDefault"):o(function(){return i},"getModuleExports");return r.d(n,"a",n),n},r.o=function(i,n){return Object.prototype.hasOwnProperty.call(i,n)},r.p="",r(r.s=28)})([(function(e,t,r){"use strict";function i(){}o(i,"LayoutConstants"),i.QUALITY=1,i.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,i.DEFAULT_INCREMENTAL=!1,i.DEFAULT_ANIMATION_ON_LAYOUT=!0,i.DEFAULT_ANIMATION_DURING_LAYOUT=!1,i.DEFAULT_ANIMATION_PERIOD=50,i.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,i.DEFAULT_GRAPH_MARGIN=15,i.NODE_DIMENSIONS_INCLUDE_LABELS=!1,i.SIMPLE_NODE_SIZE=40,i.SIMPLE_NODE_HALF_SIZE=i.SIMPLE_NODE_SIZE/2,i.EMPTY_COMPOUND_NODE_SIZE=40,i.MIN_EDGE_LENGTH=1,i.WORLD_BOUNDARY=1e6,i.INITIAL_WORLD_BOUNDARY=i.WORLD_BOUNDARY/1e3,i.WORLD_CENTER_X=1200,i.WORLD_CENTER_Y=900,e.exports=i}),(function(e,t,r){"use strict";var i=r(2),n=r(8),a=r(9);function s(u,h,d){i.call(this,d),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=d,this.bendpoints=[],this.source=u,this.target=h}o(s,"LEdge"),s.prototype=Object.create(i.prototype);for(var l in i)s[l]=i[l];s.prototype.getSource=function(){return this.source},s.prototype.getTarget=function(){return this.target},s.prototype.isInterGraph=function(){return this.isInterGraph},s.prototype.getLength=function(){return this.length},s.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},s.prototype.getBendpoints=function(){return this.bendpoints},s.prototype.getLca=function(){return this.lca},s.prototype.getSourceInLca=function(){return this.sourceInLca},s.prototype.getTargetInLca=function(){return this.targetInLca},s.prototype.getOtherEnd=function(u){if(this.source===u)return this.target;if(this.target===u)return this.source;throw"Node is not incident with this edge"},s.prototype.getOtherEndInGraph=function(u,h){for(var d=this.getOtherEnd(u),f=h.getGraphManager().getRoot();;){if(d.getOwner()==h)return d;if(d.getOwner()==f)break;d=d.getOwner().getParent()}return null},s.prototype.updateLength=function(){var u=new Array(4);this.isOverlapingSourceAndTarget=n.getIntersection(this.target.getRect(),this.source.getRect(),u),this.isOverlapingSourceAndTarget||(this.lengthX=u[0]-u[2],this.lengthY=u[1]-u[3],Math.abs(this.lengthX)<1&&(this.lengthX=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},s.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},e.exports=s}),(function(e,t,r){"use strict";function i(n){this.vGraphObject=n}o(i,"LGraphObject"),e.exports=i}),(function(e,t,r){"use strict";var i=r(2),n=r(10),a=r(13),s=r(0),l=r(16),u=r(5);function h(f,p,m,g){m==null&&g==null&&(g=p),i.call(this,g),f.graphManager!=null&&(f=f.graphManager),this.estimatedSize=n.MIN_VALUE,this.inclusionTreeDepth=n.MAX_VALUE,this.vGraphObject=g,this.edges=[],this.graphManager=f,m!=null&&p!=null?this.rect=new a(p.x,p.y,m.width,m.height):this.rect=new a}o(h,"LNode"),h.prototype=Object.create(i.prototype);for(var d in i)h[d]=i[d];h.prototype.getEdges=function(){return this.edges},h.prototype.getChild=function(){return this.child},h.prototype.getOwner=function(){return this.owner},h.prototype.getWidth=function(){return this.rect.width},h.prototype.setWidth=function(f){this.rect.width=f},h.prototype.getHeight=function(){return this.rect.height},h.prototype.setHeight=function(f){this.rect.height=f},h.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},h.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},h.prototype.getCenter=function(){return new u(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},h.prototype.getLocation=function(){return new u(this.rect.x,this.rect.y)},h.prototype.getRect=function(){return this.rect},h.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},h.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},h.prototype.setRect=function(f,p){this.rect.x=f.x,this.rect.y=f.y,this.rect.width=p.width,this.rect.height=p.height},h.prototype.setCenter=function(f,p){this.rect.x=f-this.rect.width/2,this.rect.y=p-this.rect.height/2},h.prototype.setLocation=function(f,p){this.rect.x=f,this.rect.y=p},h.prototype.moveBy=function(f,p){this.rect.x+=f,this.rect.y+=p},h.prototype.getEdgeListToNode=function(f){var p=[],m,g=this;return g.edges.forEach(function(y){if(y.target==f){if(y.source!=g)throw"Incorrect edge source!";p.push(y)}}),p},h.prototype.getEdgesBetween=function(f){var p=[],m,g=this;return g.edges.forEach(function(y){if(!(y.source==g||y.target==g))throw"Incorrect edge source and/or target";(y.target==f||y.source==f)&&p.push(y)}),p},h.prototype.getNeighborsList=function(){var f=new Set,p=this;return p.edges.forEach(function(m){if(m.source==p)f.add(m.target);else{if(m.target!=p)throw"Incorrect incidency!";f.add(m.source)}}),f},h.prototype.withChildren=function(){var f=new Set,p,m;if(f.add(this),this.child!=null)for(var g=this.child.getNodes(),y=0;y<g.length;y++)p=g[y],m=p.withChildren(),m.forEach(function(v){f.add(v)});return f},h.prototype.getNoOfChildren=function(){var f=0,p;if(this.child==null)f=1;else for(var m=this.child.getNodes(),g=0;g<m.length;g++)p=m[g],f+=p.getNoOfChildren();return f==0&&(f=1),f},h.prototype.getEstimatedSize=function(){if(this.estimatedSize==n.MIN_VALUE)throw"assert failed";return this.estimatedSize},h.prototype.calcEstimatedSize=function(){return this.child==null?this.estimatedSize=(this.rect.width+this.rect.height)/2:(this.estimatedSize=this.child.calcEstimatedSize(),this.rect.width=this.estimatedSize,this.rect.height=this.estimatedSize,this.estimatedSize)},h.prototype.scatter=function(){var f,p,m=-s.INITIAL_WORLD_BOUNDARY,g=s.INITIAL_WORLD_BOUNDARY;f=s.WORLD_CENTER_X+l.nextDouble()*(g-m)+m;var y=-s.INITIAL_WORLD_BOUNDARY,v=s.INITIAL_WORLD_BOUNDARY;p=s.WORLD_CENTER_Y+l.nextDouble()*(v-y)+y,this.rect.x=f,this.rect.y=p},h.prototype.updateBounds=function(){if(this.getChild()==null)throw"assert failed";if(this.getChild().getNodes().length!=0){var f=this.getChild();if(f.updateBounds(!0),this.rect.x=f.getLeft(),this.rect.y=f.getTop(),this.setWidth(f.getRight()-f.getLeft()),this.setHeight(f.getBottom()-f.getTop()),s.NODE_DIMENSIONS_INCLUDE_LABELS){var p=f.getRight()-f.getLeft(),m=f.getBottom()-f.getTop();this.labelWidth&&(this.labelPosHorizontal=="left"?(this.rect.x-=this.labelWidth,this.setWidth(p+this.labelWidth)):this.labelPosHorizontal=="center"&&this.labelWidth>p?(this.rect.x-=(this.labelWidth-p)/2,this.setWidth(this.labelWidth)):this.labelPosHorizontal=="right"&&this.setWidth(p+this.labelWidth)),this.labelHeight&&(this.labelPosVertical=="top"?(this.rect.y-=this.labelHeight,this.setHeight(m+this.labelHeight)):this.labelPosVertical=="center"&&this.labelHeight>m?(this.rect.y-=(this.labelHeight-m)/2,this.setHeight(this.labelHeight)):this.labelPosVertical=="bottom"&&this.setHeight(m+this.labelHeight))}}},h.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==n.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},h.prototype.transform=function(f){var p=this.rect.x;p>s.WORLD_BOUNDARY?p=s.WORLD_BOUNDARY:p<-s.WORLD_BOUNDARY&&(p=-s.WORLD_BOUNDARY);var m=this.rect.y;m>s.WORLD_BOUNDARY?m=s.WORLD_BOUNDARY:m<-s.WORLD_BOUNDARY&&(m=-s.WORLD_BOUNDARY);var g=new u(p,m),y=f.inverseTransformPoint(g);this.setLocation(y.x,y.y)},h.prototype.getLeft=function(){return this.rect.x},h.prototype.getRight=function(){return this.rect.x+this.rect.width},h.prototype.getTop=function(){return this.rect.y},h.prototype.getBottom=function(){return this.rect.y+this.rect.height},h.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},e.exports=h}),(function(e,t,r){"use strict";var i=r(0);function n(){}o(n,"FDLayoutConstants");for(var a in i)n[a]=i[a];n.MAX_ITERATIONS=2500,n.DEFAULT_EDGE_LENGTH=50,n.DEFAULT_SPRING_STRENGTH=.45,n.DEFAULT_REPULSION_STRENGTH=4500,n.DEFAULT_GRAVITY_STRENGTH=.4,n.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,n.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,n.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,n.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,n.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,n.DEFAULT_COOLING_FACTOR_INCREMENTAL=.3,n.COOLING_ADAPTATION_FACTOR=.33,n.ADAPTATION_LOWER_NODE_LIMIT=1e3,n.ADAPTATION_UPPER_NODE_LIMIT=5e3,n.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,n.MAX_NODE_DISPLACEMENT=n.MAX_NODE_DISPLACEMENT_INCREMENTAL*3,n.MIN_REPULSION_DIST=n.DEFAULT_EDGE_LENGTH/10,n.CONVERGENCE_CHECK_PERIOD=100,n.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=.1,n.MIN_EDGE_LENGTH=1,n.GRID_CALCULATION_CHECK_PERIOD=10,e.exports=n}),(function(e,t,r){"use strict";function i(n,a){n==null&&a==null?(this.x=0,this.y=0):(this.x=n,this.y=a)}o(i,"PointD"),i.prototype.getX=function(){return this.x},i.prototype.getY=function(){return this.y},i.prototype.setX=function(n){this.x=n},i.prototype.setY=function(n){this.y=n},i.prototype.getDifference=function(n){return new DimensionD(this.x-n.x,this.y-n.y)},i.prototype.getCopy=function(){return new i(this.x,this.y)},i.prototype.translate=function(n){return this.x+=n.width,this.y+=n.height,this},e.exports=i}),(function(e,t,r){"use strict";var i=r(2),n=r(10),a=r(0),s=r(7),l=r(3),u=r(1),h=r(13),d=r(12),f=r(11);function p(g,y,v){i.call(this,v),this.estimatedSize=n.MIN_VALUE,this.margin=a.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=g,y!=null&&y instanceof s?this.graphManager=y:y!=null&&y instanceof Layout&&(this.graphManager=y.graphManager)}o(p,"LGraph"),p.prototype=Object.create(i.prototype);for(var m in i)p[m]=i[m];p.prototype.getNodes=function(){return this.nodes},p.prototype.getEdges=function(){return this.edges},p.prototype.getGraphManager=function(){return this.graphManager},p.prototype.getParent=function(){return this.parent},p.prototype.getLeft=function(){return this.left},p.prototype.getRight=function(){return this.right},p.prototype.getTop=function(){return this.top},p.prototype.getBottom=function(){return this.bottom},p.prototype.isConnected=function(){return this.isConnected},p.prototype.add=function(g,y,v){if(y==null&&v==null){var x=g;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(x)>-1)throw"Node already in graph!";return x.owner=this,this.getNodes().push(x),x}else{var b=g;if(!(this.getNodes().indexOf(y)>-1&&this.getNodes().indexOf(v)>-1))throw"Source or target not in graph!";if(!(y.owner==v.owner&&y.owner==this))throw"Both owners must be this graph!";return y.owner!=v.owner?null:(b.source=y,b.target=v,b.isInterGraph=!1,this.getEdges().push(b),y.edges.push(b),v!=y&&v.edges.push(b),b)}},p.prototype.remove=function(g){var y=g;if(g instanceof l){if(y==null)throw"Node is null!";if(!(y.owner!=null&&y.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var v=y.edges.slice(),x,b=v.length,T=0;T<b;T++)x=v[T],x.isInterGraph?this.graphManager.remove(x):x.source.owner.remove(x);var w=this.nodes.indexOf(y);if(w==-1)throw"Node not in owner node list!";this.nodes.splice(w,1)}else if(g instanceof u){var x=g;if(x==null)throw"Edge is null!";if(!(x.source!=null&&x.target!=null))throw"Source and/or target is null!";if(!(x.source.owner!=null&&x.target.owner!=null&&x.source.owner==this&&x.target.owner==this))throw"Source and/or target owner is invalid!";var C=x.source.edges.indexOf(x),k=x.target.edges.indexOf(x);if(!(C>-1&&k>-1))throw"Source and/or target doesn't know this edge!";x.source.edges.splice(C,1),x.target!=x.source&&x.target.edges.splice(k,1);var w=x.source.owner.getEdges().indexOf(x);if(w==-1)throw"Not in owner's edge list!";x.source.owner.getEdges().splice(w,1)}},p.prototype.updateLeftTop=function(){for(var g=n.MAX_VALUE,y=n.MAX_VALUE,v,x,b,T=this.getNodes(),w=T.length,C=0;C<w;C++){var k=T[C];v=k.getTop(),x=k.getLeft(),g>v&&(g=v),y>x&&(y=x)}return g==n.MAX_VALUE?null:(T[0].getParent().paddingLeft!=null?b=T[0].getParent().paddingLeft:b=this.margin,this.left=y-b,this.top=g-b,new d(this.left,this.top))},p.prototype.updateBounds=function(g){for(var y=n.MAX_VALUE,v=-n.MAX_VALUE,x=n.MAX_VALUE,b=-n.MAX_VALUE,T,w,C,k,E,A=this.nodes,N=A.length,P=0;P<N;P++){var I=A[P];g&&I.child!=null&&I.updateBounds(),T=I.getLeft(),w=I.getRight(),C=I.getTop(),k=I.getBottom(),y>T&&(y=T),v<w&&(v=w),x>C&&(x=C),b<k&&(b=k)}var D=new h(y,x,v-y,b-x);y==n.MAX_VALUE&&(this.left=this.parent.getLeft(),this.right=this.parent.getRight(),this.top=this.parent.getTop(),this.bottom=this.parent.getBottom()),A[0].getParent().paddingLeft!=null?E=A[0].getParent().paddingLeft:E=this.margin,this.left=D.x-E,this.right=D.x+D.width+E,this.top=D.y-E,this.bottom=D.y+D.height+E},p.calculateBounds=function(g){for(var y=n.MAX_VALUE,v=-n.MAX_VALUE,x=n.MAX_VALUE,b=-n.MAX_VALUE,T,w,C,k,E=g.length,A=0;A<E;A++){var N=g[A];T=N.getLeft(),w=N.getRight(),C=N.getTop(),k=N.getBottom(),y>T&&(y=T),v<w&&(v=w),x>C&&(x=C),b<k&&(b=k)}var P=new h(y,x,v-y,b-x);return P},p.prototype.getInclusionTreeDepth=function(){return this==this.graphManager.getRoot()?1:this.parent.getInclusionTreeDepth()},p.prototype.getEstimatedSize=function(){if(this.estimatedSize==n.MIN_VALUE)throw"assert failed";return this.estimatedSize},p.prototype.calcEstimatedSize=function(){for(var g=0,y=this.nodes,v=y.length,x=0;x<v;x++){var b=y[x];g+=b.calcEstimatedSize()}return g==0?this.estimatedSize=a.EMPTY_COMPOUND_NODE_SIZE:this.estimatedSize=g/Math.sqrt(this.nodes.length),this.estimatedSize},p.prototype.updateConnected=function(){var g=this;if(this.nodes.length==0){this.isConnected=!0;return}var y=new f,v=new Set,x=this.nodes[0],b,T,w=x.withChildren();for(w.forEach(function(P){y.push(P),v.add(P)});y.length!==0;){x=y.shift(),b=x.getEdges();for(var C=b.length,k=0;k<C;k++){var E=b[k];if(T=E.getOtherEndInGraph(x,this),T!=null&&!v.has(T)){var A=T.withChildren();A.forEach(function(P){y.push(P),v.add(P)})}}}if(this.isConnected=!1,v.size>=this.nodes.length){var N=0;v.forEach(function(P){P.owner==g&&N++}),N==this.nodes.length&&(this.isConnected=!0)}},e.exports=p}),(function(e,t,r){"use strict";var i,n=r(1);function a(s){i=r(6),this.layout=s,this.graphs=[],this.edges=[]}o(a,"LGraphManager"),a.prototype.addRoot=function(){var s=this.layout.newGraph(),l=this.layout.newNode(null),u=this.add(s,l);return this.setRootGraph(u),this.rootGraph},a.prototype.add=function(s,l,u,h,d){if(u==null&&h==null&&d==null){if(s==null)throw"Graph is null!";if(l==null)throw"Parent node is null!";if(this.graphs.indexOf(s)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(s),s.parent!=null)throw"Already has a parent!";if(l.child!=null)throw"Already has a child!";return s.parent=l,l.child=s,s}else{d=u,h=l,u=s;var f=h.getOwner(),p=d.getOwner();if(!(f!=null&&f.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(p!=null&&p.getGraphManager()==this))throw"Target not in this graph mgr!";if(f==p)return u.isInterGraph=!1,f.add(u,h,d);if(u.isInterGraph=!0,u.source=h,u.target=d,this.edges.indexOf(u)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(u),!(u.source!=null&&u.target!=null))throw"Edge source and/or target is null!";if(!(u.source.edges.indexOf(u)==-1&&u.target.edges.indexOf(u)==-1))throw"Edge already in source and/or target incidency list!";return u.source.edges.push(u),u.target.edges.push(u),u}},a.prototype.remove=function(s){if(s instanceof i){var l=s;if(l.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(l==this.rootGraph||l.parent!=null&&l.parent.graphManager==this))throw"Invalid parent node!";var u=[];u=u.concat(l.getEdges());for(var h,d=u.length,f=0;f<d;f++)h=u[f],l.remove(h);var p=[];p=p.concat(l.getNodes());var m;d=p.length;for(var f=0;f<d;f++)m=p[f],l.remove(m);l==this.rootGraph&&this.setRootGraph(null);var g=this.graphs.indexOf(l);this.graphs.splice(g,1),l.parent=null}else if(s instanceof n){if(h=s,h==null)throw"Edge is null!";if(!h.isInterGraph)throw"Not an inter-graph edge!";if(!(h.source!=null&&h.target!=null))throw"Source and/or target is null!";if(!(h.source.edges.indexOf(h)!=-1&&h.target.edges.indexOf(h)!=-1))throw"Source and/or target doesn't know this edge!";var g=h.source.edges.indexOf(h);if(h.source.edges.splice(g,1),g=h.target.edges.indexOf(h),h.target.edges.splice(g,1),!(h.source.owner!=null&&h.source.owner.getGraphManager()!=null))throw"Edge owner graph or owner graph manager is null!";if(h.source.owner.getGraphManager().edges.indexOf(h)==-1)throw"Not in owner graph manager's edge list!";var g=h.source.owner.getGraphManager().edges.indexOf(h);h.source.owner.getGraphManager().edges.splice(g,1)}},a.prototype.updateBounds=function(){this.rootGraph.updateBounds(!0)},a.prototype.getGraphs=function(){return this.graphs},a.prototype.getAllNodes=function(){if(this.allNodes==null){for(var s=[],l=this.getGraphs(),u=l.length,h=0;h<u;h++)s=s.concat(l[h].getNodes());this.allNodes=s}return this.allNodes},a.prototype.resetAllNodes=function(){this.allNodes=null},a.prototype.resetAllEdges=function(){this.allEdges=null},a.prototype.resetAllNodesToApplyGravitation=function(){this.allNodesToApplyGravitation=null},a.prototype.getAllEdges=function(){if(this.allEdges==null){for(var s=[],l=this.getGraphs(),u=l.length,h=0;h<l.length;h++)s=s.concat(l[h].getEdges());s=s.concat(this.edges),this.allEdges=s}return this.allEdges},a.prototype.getAllNodesToApplyGravitation=function(){return this.allNodesToApplyGravitation},a.prototype.setAllNodesToApplyGravitation=function(s){if(this.allNodesToApplyGravitation!=null)throw"assert failed";this.allNodesToApplyGravitation=s},a.prototype.getRoot=function(){return this.rootGraph},a.prototype.setRootGraph=function(s){if(s.getGraphManager()!=this)throw"Root not in this graph mgr!";this.rootGraph=s,s.parent==null&&(s.parent=this.layout.newNode("Root node"))},a.prototype.getLayout=function(){return this.layout},a.prototype.isOneAncestorOfOther=function(s,l){if(!(s!=null&&l!=null))throw"assert failed";if(s==l)return!0;var u=s.getOwner(),h;do{if(h=u.getParent(),h==null)break;if(h==l)return!0;if(u=h.getOwner(),u==null)break}while(!0);u=l.getOwner();do{if(h=u.getParent(),h==null)break;if(h==s)return!0;if(u=h.getOwner(),u==null)break}while(!0);return!1},a.prototype.calcLowestCommonAncestors=function(){for(var s,l,u,h,d,f=this.getAllEdges(),p=f.length,m=0;m<p;m++){if(s=f[m],l=s.source,u=s.target,s.lca=null,s.sourceInLca=l,s.targetInLca=u,l==u){s.lca=l.getOwner();continue}for(h=l.getOwner();s.lca==null;){for(s.targetInLca=u,d=u.getOwner();s.lca==null;){if(d==h){s.lca=d;break}if(d==this.rootGraph)break;if(s.lca!=null)throw"assert failed";s.targetInLca=d.getParent(),d=s.targetInLca.getOwner()}if(h==this.rootGraph)break;s.lca==null&&(s.sourceInLca=h.getParent(),h=s.sourceInLca.getOwner())}if(s.lca==null)throw"assert failed"}},a.prototype.calcLowestCommonAncestor=function(s,l){if(s==l)return s.getOwner();var u=s.getOwner();do{if(u==null)break;var h=l.getOwner();do{if(h==null)break;if(h==u)return h;h=h.getParent().getOwner()}while(!0);u=u.getParent().getOwner()}while(!0);return u},a.prototype.calcInclusionTreeDepths=function(s,l){s==null&&l==null&&(s=this.rootGraph,l=1);for(var u,h=s.getNodes(),d=h.length,f=0;f<d;f++)u=h[f],u.inclusionTreeDepth=l,u.child!=null&&this.calcInclusionTreeDepths(u.child,l+1)},a.prototype.includesInvalidEdge=function(){for(var s,l=[],u=this.edges.length,h=0;h<u;h++)s=this.edges[h],this.isOneAncestorOfOther(s.source,s.target)&&l.push(s);for(var h=0;h<l.length;h++)this.remove(l[h]);return!1},e.exports=a}),(function(e,t,r){"use strict";var i=r(12);function n(){}o(n,"IGeometry"),n.calcSeparationAmount=function(a,s,l,u){if(!a.intersects(s))throw"assert failed";var h=new Array(2);this.decideDirectionsForOverlappingNodes(a,s,h),l[0]=Math.min(a.getRight(),s.getRight())-Math.max(a.x,s.x),l[1]=Math.min(a.getBottom(),s.getBottom())-Math.max(a.y,s.y),a.getX()<=s.getX()&&a.getRight()>=s.getRight()?l[0]+=Math.min(s.getX()-a.getX(),a.getRight()-s.getRight()):s.getX()<=a.getX()&&s.getRight()>=a.getRight()&&(l[0]+=Math.min(a.getX()-s.getX(),s.getRight()-a.getRight())),a.getY()<=s.getY()&&a.getBottom()>=s.getBottom()?l[1]+=Math.min(s.getY()-a.getY(),a.getBottom()-s.getBottom()):s.getY()<=a.getY()&&s.getBottom()>=a.getBottom()&&(l[1]+=Math.min(a.getY()-s.getY(),s.getBottom()-a.getBottom()));var d=Math.abs((s.getCenterY()-a.getCenterY())/(s.getCenterX()-a.getCenterX()));s.getCenterY()===a.getCenterY()&&s.getCenterX()===a.getCenterX()&&(d=1);var f=d*l[0],p=l[1]/d;l[0]<p?p=l[0]:f=l[1],l[0]=-1*h[0]*(p/2+u),l[1]=-1*h[1]*(f/2+u)},n.decideDirectionsForOverlappingNodes=function(a,s,l){a.getCenterX()<s.getCenterX()?l[0]=-1:l[0]=1,a.getCenterY()<s.getCenterY()?l[1]=-1:l[1]=1},n.getIntersection2=function(a,s,l){var u=a.getCenterX(),h=a.getCenterY(),d=s.getCenterX(),f=s.getCenterY();if(a.intersects(s))return l[0]=u,l[1]=h,l[2]=d,l[3]=f,!0;var p=a.getX(),m=a.getY(),g=a.getRight(),y=a.getX(),v=a.getBottom(),x=a.getRight(),b=a.getWidthHalf(),T=a.getHeightHalf(),w=s.getX(),C=s.getY(),k=s.getRight(),E=s.getX(),A=s.getBottom(),N=s.getRight(),P=s.getWidthHalf(),I=s.getHeightHalf(),D=!1,_=!1;if(u===d){if(h>f)return l[0]=u,l[1]=m,l[2]=d,l[3]=A,!1;if(h<f)return l[0]=u,l[1]=v,l[2]=d,l[3]=C,!1}else if(h===f){if(u>d)return l[0]=p,l[1]=h,l[2]=k,l[3]=f,!1;if(u<d)return l[0]=g,l[1]=h,l[2]=w,l[3]=f,!1}else{var R=a.height/a.width,M=s.height/s.width,L=(f-h)/(d-u),B=void 0,O=void 0,$=void 0,G=void 0,F=void 0,V=void 0;if(-R===L?u>d?(l[0]=y,l[1]=v,D=!0):(l[0]=g,l[1]=m,D=!0):R===L&&(u>d?(l[0]=p,l[1]=m,D=!0):(l[0]=x,l[1]=v,D=!0)),-M===L?d>u?(l[2]=E,l[3]=A,_=!0):(l[2]=k,l[3]=C,_=!0):M===L&&(d>u?(l[2]=w,l[3]=C,_=!0):(l[2]=N,l[3]=A,_=!0)),D&&_)return!1;if(u>d?h>f?(B=this.getCardinalDirection(R,L,4),O=this.getCardinalDirection(M,L,2)):(B=this.getCardinalDirection(-R,L,3),O=this.getCardinalDirection(-M,L,1)):h>f?(B=this.getCardinalDirection(-R,L,1),O=this.getCardinalDirection(-M,L,3)):(B=this.getCardinalDirection(R,L,2),O=this.getCardinalDirection(M,L,4)),!D)switch(B){case 1:G=m,$=u+-T/L,l[0]=$,l[1]=G;break;case 2:$=x,G=h+b*L,l[0]=$,l[1]=G;break;case 3:G=v,$=u+T/L,l[0]=$,l[1]=G;break;case 4:$=y,G=h+-b*L,l[0]=$,l[1]=G;break}if(!_)switch(O){case 1:V=C,F=d+-I/L,l[2]=F,l[3]=V;break;case 2:F=N,V=f+P*L,l[2]=F,l[3]=V;break;case 3:V=A,F=d+I/L,l[2]=F,l[3]=V;break;case 4:F=E,V=f+-P*L,l[2]=F,l[3]=V;break}}return!1},n.getCardinalDirection=function(a,s,l){return a>s?l:1+l%4},n.getIntersection=function(a,s,l,u){if(u==null)return this.getIntersection2(a,s,l);var h=a.x,d=a.y,f=s.x,p=s.y,m=l.x,g=l.y,y=u.x,v=u.y,x=void 0,b=void 0,T=void 0,w=void 0,C=void 0,k=void 0,E=void 0,A=void 0,N=void 0;return T=p-d,C=h-f,E=f*d-h*p,w=v-g,k=m-y,A=y*g-m*v,N=T*k-w*C,N===0?null:(x=(C*A-k*E)/N,b=(w*E-T*A)/N,new i(x,b))},n.angleOfVector=function(a,s,l,u){var h=void 0;return a!==l?(h=Math.atan((u-s)/(l-a)),l<a?h+=Math.PI:u<s&&(h+=this.TWO_PI)):u<s?h=this.ONE_AND_HALF_PI:h=this.HALF_PI,h},n.doIntersect=function(a,s,l,u){var h=a.x,d=a.y,f=s.x,p=s.y,m=l.x,g=l.y,y=u.x,v=u.y,x=(f-h)*(v-g)-(y-m)*(p-d);if(x===0)return!1;var b=((v-g)*(y-h)+(m-y)*(v-d))/x,T=((d-p)*(y-h)+(f-h)*(v-d))/x;return 0<b&&b<1&&0<T&&T<1},n.findCircleLineIntersections=function(a,s,l,u,h,d,f){var p=(l-a)*(l-a)+(u-s)*(u-s),m=2*((a-h)*(l-a)+(s-d)*(u-s)),g=(a-h)*(a-h)+(s-d)*(s-d)-f*f,y=m*m-4*p*g;if(y>=0){var v=(-m+Math.sqrt(m*m-4*p*g))/(2*p),x=(-m-Math.sqrt(m*m-4*p*g))/(2*p),b=null;return v>=0&&v<=1?[v]:x>=0&&x<=1?[x]:b}else return null},n.HALF_PI=.5*Math.PI,n.ONE_AND_HALF_PI=1.5*Math.PI,n.TWO_PI=2*Math.PI,n.THREE_PI=3*Math.PI,e.exports=n}),(function(e,t,r){"use strict";function i(){}o(i,"IMath"),i.sign=function(n){return n>0?1:n<0?-1:0},i.floor=function(n){return n<0?Math.ceil(n):Math.floor(n)},i.ceil=function(n){return n<0?Math.floor(n):Math.ceil(n)},e.exports=i}),(function(e,t,r){"use strict";function i(){}o(i,"Integer"),i.MAX_VALUE=2147483647,i.MIN_VALUE=-2147483648,e.exports=i}),(function(e,t,r){"use strict";var i=(function(){function h(d,f){for(var p=0;p<f.length;p++){var m=f[p];m.enumerable=m.enumerable||!1,m.configurable=!0,"value"in m&&(m.writable=!0),Object.defineProperty(d,m.key,m)}}return o(h,"defineProperties"),function(d,f,p){return f&&h(d.prototype,f),p&&h(d,p),d}})();function n(h,d){if(!(h instanceof d))throw new TypeError("Cannot call a class as a function")}o(n,"_classCallCheck");var a=o(function(d){return{value:d,next:null,prev:null}},"nodeFrom"),s=o(function(d,f,p,m){return d!==null?d.next=f:m.head=f,p!==null?p.prev=f:m.tail=f,f.prev=d,f.next=p,m.length++,f},"add"),l=o(function(d,f){var p=d.prev,m=d.next;return p!==null?p.next=m:f.head=m,m!==null?m.prev=p:f.tail=p,d.prev=d.next=null,f.length--,d},"_remove"),u=(function(){function h(d){var f=this;n(this,h),this.length=0,this.head=null,this.tail=null,d?.forEach(function(p){return f.push(p)})}return o(h,"LinkedList"),i(h,[{key:"size",value:o(function(){return this.length},"size")},{key:"insertBefore",value:o(function(f,p){return s(p.prev,a(f),p,this)},"insertBefore")},{key:"insertAfter",value:o(function(f,p){return s(p,a(f),p.next,this)},"insertAfter")},{key:"insertNodeBefore",value:o(function(f,p){return s(p.prev,f,p,this)},"insertNodeBefore")},{key:"insertNodeAfter",value:o(function(f,p){return s(p,f,p.next,this)},"insertNodeAfter")},{key:"push",value:o(function(f){return s(this.tail,a(f),null,this)},"push")},{key:"unshift",value:o(function(f){return s(null,a(f),this.head,this)},"unshift")},{key:"remove",value:o(function(f){return l(f,this)},"remove")},{key:"pop",value:o(function(){return l(this.tail,this).value},"pop")},{key:"popNode",value:o(function(){return l(this.tail,this)},"popNode")},{key:"shift",value:o(function(){return l(this.head,this).value},"shift")},{key:"shiftNode",value:o(function(){return l(this.head,this)},"shiftNode")},{key:"get_object_at",value:o(function(f){if(f<=this.length()){for(var p=1,m=this.head;p<f;)m=m.next,p++;return m.value}},"get_object_at")},{key:"set_object_at",value:o(function(f,p){if(f<=this.length()){for(var m=1,g=this.head;m<f;)g=g.next,m++;g.value=p}},"set_object_at")}]),h})();e.exports=u}),(function(e,t,r){"use strict";function i(n,a,s){this.x=null,this.y=null,n==null&&a==null&&s==null?(this.x=0,this.y=0):typeof n=="number"&&typeof a=="number"&&s==null?(this.x=n,this.y=a):n.constructor.name=="Point"&&a==null&&s==null&&(s=n,this.x=s.x,this.y=s.y)}o(i,"Point"),i.prototype.getX=function(){return this.x},i.prototype.getY=function(){return this.y},i.prototype.getLocation=function(){return new i(this.x,this.y)},i.prototype.setLocation=function(n,a,s){n.constructor.name=="Point"&&a==null&&s==null?(s=n,this.setLocation(s.x,s.y)):typeof n=="number"&&typeof a=="number"&&s==null&&(parseInt(n)==n&&parseInt(a)==a?this.move(n,a):(this.x=Math.floor(n+.5),this.y=Math.floor(a+.5)))},i.prototype.move=function(n,a){this.x=n,this.y=a},i.prototype.translate=function(n,a){this.x+=n,this.y+=a},i.prototype.equals=function(n){if(n.constructor.name=="Point"){var a=n;return this.x==a.x&&this.y==a.y}return this==n},i.prototype.toString=function(){return new i().constructor.name+"[x="+this.x+",y="+this.y+"]"},e.exports=i}),(function(e,t,r){"use strict";function i(n,a,s,l){this.x=0,this.y=0,this.width=0,this.height=0,n!=null&&a!=null&&s!=null&&l!=null&&(this.x=n,this.y=a,this.width=s,this.height=l)}o(i,"RectangleD"),i.prototype.getX=function(){return this.x},i.prototype.setX=function(n){this.x=n},i.prototype.getY=function(){return this.y},i.prototype.setY=function(n){this.y=n},i.prototype.getWidth=function(){return this.width},i.prototype.setWidth=function(n){this.width=n},i.prototype.getHeight=function(){return this.height},i.prototype.setHeight=function(n){this.height=n},i.prototype.getRight=function(){return this.x+this.width},i.prototype.getBottom=function(){return this.y+this.height},i.prototype.intersects=function(n){return!(this.getRight()<n.x||this.getBottom()<n.y||n.getRight()<this.x||n.getBottom()<this.y)},i.prototype.getCenterX=function(){return this.x+this.width/2},i.prototype.getMinX=function(){return this.getX()},i.prototype.getMaxX=function(){return this.getX()+this.width},i.prototype.getCenterY=function(){return this.y+this.height/2},i.prototype.getMinY=function(){return this.getY()},i.prototype.getMaxY=function(){return this.getY()+this.height},i.prototype.getWidthHalf=function(){return this.width/2},i.prototype.getHeightHalf=function(){return this.height/2},e.exports=i}),(function(e,t,r){"use strict";var i=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(a){return typeof a}:function(a){return a&&typeof Symbol=="function"&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a};function n(){}o(n,"UniqueIDGeneretor"),n.lastID=0,n.createID=function(a){return n.isPrimitive(a)?a:(a.uniqueID!=null||(a.uniqueID=n.getString(),n.lastID++),a.uniqueID)},n.getString=function(a){return a==null&&(a=n.lastID),"Object#"+a},n.isPrimitive=function(a){var s=typeof a>"u"?"undefined":i(a);return a==null||s!="object"&&s!="function"},e.exports=n}),(function(e,t,r){"use strict";function i(m){if(Array.isArray(m)){for(var g=0,y=Array(m.length);g<m.length;g++)y[g]=m[g];return y}else return Array.from(m)}o(i,"_toConsumableArray");var n=r(0),a=r(7),s=r(3),l=r(1),u=r(6),h=r(5),d=r(17),f=r(29);function p(m){f.call(this),this.layoutQuality=n.QUALITY,this.createBendsAsNeeded=n.DEFAULT_CREATE_BENDS_AS_NEEDED,this.incremental=n.DEFAULT_INCREMENTAL,this.animationOnLayout=n.DEFAULT_ANIMATION_ON_LAYOUT,this.animationDuringLayout=n.DEFAULT_ANIMATION_DURING_LAYOUT,this.animationPeriod=n.DEFAULT_ANIMATION_PERIOD,this.uniformLeafNodeSizes=n.DEFAULT_UNIFORM_LEAF_NODE_SIZES,this.edgeToDummyNodes=new Map,this.graphManager=new a(this),this.isLayoutFinished=!1,this.isSubLayout=!1,this.isRemoteUse=!1,m!=null&&(this.isRemoteUse=m)}o(p,"Layout"),p.RANDOM_SEED=1,p.prototype=Object.create(f.prototype),p.prototype.getGraphManager=function(){return this.graphManager},p.prototype.getAllNodes=function(){return this.graphManager.getAllNodes()},p.prototype.getAllEdges=function(){return this.graphManager.getAllEdges()},p.prototype.getAllNodesToApplyGravitation=function(){return this.graphManager.getAllNodesToApplyGravitation()},p.prototype.newGraphManager=function(){var m=new a(this);return this.graphManager=m,m},p.prototype.newGraph=function(m){return new u(null,this.graphManager,m)},p.prototype.newNode=function(m){return new s(this.graphManager,m)},p.prototype.newEdge=function(m){return new l(null,null,m)},p.prototype.checkLayoutSuccess=function(){return this.graphManager.getRoot()==null||this.graphManager.getRoot().getNodes().length==0||this.graphManager.includesInvalidEdge()},p.prototype.runLayout=function(){this.isLayoutFinished=!1,this.tilingPreLayout&&this.tilingPreLayout(),this.initParameters();var m;return this.checkLayoutSuccess()?m=!1:m=this.layout(),n.ANIMATE==="during"?!1:(m&&(this.isSubLayout||this.doPostLayout()),this.tilingPostLayout&&this.tilingPostLayout(),this.isLayoutFinished=!0,m)},p.prototype.doPostLayout=function(){this.incremental||this.transform(),this.update()},p.prototype.update2=function(){if(this.createBendsAsNeeded&&(this.createBendpointsFromDummyNodes(),this.graphManager.resetAllEdges()),!this.isRemoteUse){for(var m,g=this.graphManager.getAllEdges(),y=0;y<g.length;y++)m=g[y];for(var v,x=this.graphManager.getRoot().getNodes(),y=0;y<x.length;y++)v=x[y];this.update(this.graphManager.getRoot())}},p.prototype.update=function(m){if(m==null)this.update2();else if(m instanceof s){var g=m;if(g.getChild()!=null)for(var y=g.getChild().getNodes(),v=0;v<y.length;v++)update(y[v]);if(g.vGraphObject!=null){var x=g.vGraphObject;x.update(g)}}else if(m instanceof l){var b=m;if(b.vGraphObject!=null){var T=b.vGraphObject;T.update(b)}}else if(m instanceof u){var w=m;if(w.vGraphObject!=null){var C=w.vGraphObject;C.update(w)}}},p.prototype.initParameters=function(){this.isSubLayout||(this.layoutQuality=n.QUALITY,this.animationDuringLayout=n.DEFAULT_ANIMATION_DURING_LAYOUT,this.animationPeriod=n.DEFAULT_ANIMATION_PERIOD,this.animationOnLayout=n.DEFAULT_ANIMATION_ON_LAYOUT,this.incremental=n.DEFAULT_INCREMENTAL,this.createBendsAsNeeded=n.DEFAULT_CREATE_BENDS_AS_NEEDED,this.uniformLeafNodeSizes=n.DEFAULT_UNIFORM_LEAF_NODE_SIZES),this.animationDuringLayout&&(this.animationOnLayout=!1)},p.prototype.transform=function(m){if(m==null)this.transform(new h(0,0));else{var g=new d,y=this.graphManager.getRoot().updateLeftTop();if(y!=null){g.setWorldOrgX(m.x),g.setWorldOrgY(m.y),g.setDeviceOrgX(y.x),g.setDeviceOrgY(y.y);for(var v=this.getAllNodes(),x,b=0;b<v.length;b++)x=v[b],x.transform(g)}}},p.prototype.positionNodesRandomly=function(m){if(m==null)this.positionNodesRandomly(this.getGraphManager().getRoot()),this.getGraphManager().getRoot().updateBounds(!0);else for(var g,y,v=m.getNodes(),x=0;x<v.length;x++)g=v[x],y=g.getChild(),y==null||y.getNodes().length==0?g.scatter():(this.positionNodesRandomly(y),g.updateBounds())},p.prototype.getFlatForest=function(){for(var m=[],g=!0,y=this.graphManager.getRoot().getNodes(),v=!0,x=0;x<y.length;x++)y[x].getChild()!=null&&(v=!1);if(!v)return m;var b=new Set,T=[],w=new Map,C=[];for(C=C.concat(y);C.length>0&&g;){for(T.push(C[0]);T.length>0&&g;){var k=T[0];T.splice(0,1),b.add(k);for(var E=k.getEdges(),x=0;x<E.length;x++){var A=E[x].getOtherEnd(k);if(w.get(k)!=A)if(!b.has(A))T.push(A),w.set(A,k);else{g=!1;break}}}if(!g)m=[];else{var N=[].concat(i(b));m.push(N);for(var x=0;x<N.length;x++){var P=N[x],I=C.indexOf(P);I>-1&&C.splice(I,1)}b=new Set,w=new Map}}return m},p.prototype.createDummyNodesForBendpoints=function(m){for(var g=[],y=m.source,v=this.graphManager.calcLowestCommonAncestor(m.source,m.target),x=0;x<m.bendpoints.length;x++){var b=this.newNode(null);b.setRect(new Point(0,0),new Dimension(1,1)),v.add(b);var T=this.newEdge(null);this.graphManager.add(T,y,b),g.add(b),y=b}var T=this.newEdge(null);return this.graphManager.add(T,y,m.target),this.edgeToDummyNodes.set(m,g),m.isInterGraph()?this.graphManager.remove(m):v.remove(m),g},p.prototype.createBendpointsFromDummyNodes=function(){var m=[];m=m.concat(this.graphManager.getAllEdges()),m=[].concat(i(this.edgeToDummyNodes.keys())).concat(m);for(var g=0;g<m.length;g++){var y=m[g];if(y.bendpoints.length>0){for(var v=this.edgeToDummyNodes.get(y),x=0;x<v.length;x++){var b=v[x],T=new h(b.getCenterX(),b.getCenterY()),w=y.bendpoints.get(x);w.x=T.x,w.y=T.y,b.getOwner().remove(b)}this.graphManager.add(y,y.source,y.target)}}},p.transform=function(m,g,y,v){if(y!=null&&v!=null){var x=g;if(m<=50){var b=g/y;x-=(g-b)/50*(50-m)}else{var T=g*v;x+=(T-g)/50*(m-50)}return x}else{var w,C;return m<=50?(w=9*g/500,C=g/10):(w=9*g/50,C=-8*g),w*m+C}},p.findCenterOfTree=function(m){var g=[];g=g.concat(m);var y=[],v=new Map,x=!1,b=null;(g.length==1||g.length==2)&&(x=!0,b=g[0]);for(var T=0;T<g.length;T++){var w=g[T],C=w.getNeighborsList().size;v.set(w,w.getNeighborsList().size),C==1&&y.push(w)}var k=[];for(k=k.concat(y);!x;){var E=[];E=E.concat(k),k=[];for(var T=0;T<g.length;T++){var w=g[T],A=g.indexOf(w);A>=0&&g.splice(A,1);var N=w.getNeighborsList();N.forEach(function(D){if(y.indexOf(D)<0){var _=v.get(D),R=_-1;R==1&&k.push(D),v.set(D,R)}})}y=y.concat(k),(g.length==1||g.length==2)&&(x=!0,b=g[0])}return b},p.prototype.setGraphManager=function(m){this.graphManager=m},e.exports=p}),(function(e,t,r){"use strict";function i(){}o(i,"RandomSeed"),i.seed=1,i.x=0,i.nextDouble=function(){return i.x=Math.sin(i.seed++)*1e4,i.x-Math.floor(i.x)},e.exports=i}),(function(e,t,r){"use strict";var i=r(5);function n(a,s){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}o(n,"Transform"),n.prototype.getWorldOrgX=function(){return this.lworldOrgX},n.prototype.setWorldOrgX=function(a){this.lworldOrgX=a},n.prototype.getWorldOrgY=function(){return this.lworldOrgY},n.prototype.setWorldOrgY=function(a){this.lworldOrgY=a},n.prototype.getWorldExtX=function(){return this.lworldExtX},n.prototype.setWorldExtX=function(a){this.lworldExtX=a},n.prototype.getWorldExtY=function(){return this.lworldExtY},n.prototype.setWorldExtY=function(a){this.lworldExtY=a},n.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},n.prototype.setDeviceOrgX=function(a){this.ldeviceOrgX=a},n.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},n.prototype.setDeviceOrgY=function(a){this.ldeviceOrgY=a},n.prototype.getDeviceExtX=function(){return this.ldeviceExtX},n.prototype.setDeviceExtX=function(a){this.ldeviceExtX=a},n.prototype.getDeviceExtY=function(){return this.ldeviceExtY},n.prototype.setDeviceExtY=function(a){this.ldeviceExtY=a},n.prototype.transformX=function(a){var s=0,l=this.lworldExtX;return l!=0&&(s=this.ldeviceOrgX+(a-this.lworldOrgX)*this.ldeviceExtX/l),s},n.prototype.transformY=function(a){var s=0,l=this.lworldExtY;return l!=0&&(s=this.ldeviceOrgY+(a-this.lworldOrgY)*this.ldeviceExtY/l),s},n.prototype.inverseTransformX=function(a){var s=0,l=this.ldeviceExtX;return l!=0&&(s=this.lworldOrgX+(a-this.ldeviceOrgX)*this.lworldExtX/l),s},n.prototype.inverseTransformY=function(a){var s=0,l=this.ldeviceExtY;return l!=0&&(s=this.lworldOrgY+(a-this.ldeviceOrgY)*this.lworldExtY/l),s},n.prototype.inverseTransformPoint=function(a){var s=new i(this.inverseTransformX(a.x),this.inverseTransformY(a.y));return s},e.exports=n}),(function(e,t,r){"use strict";function i(f){if(Array.isArray(f)){for(var p=0,m=Array(f.length);p<f.length;p++)m[p]=f[p];return m}else return Array.from(f)}o(i,"_toConsumableArray");var n=r(15),a=r(4),s=r(0),l=r(8),u=r(9);function h(){n.call(this),this.useSmartIdealEdgeLengthCalculation=a.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=a.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=a.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=a.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=a.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.displacementThresholdPerNode=3*a.DEFAULT_EDGE_LENGTH/100,this.coolingFactor=a.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.initialCoolingFactor=a.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.totalDisplacement=0,this.oldTotalDisplacement=0,this.maxIterations=a.MAX_ITERATIONS}o(h,"FDLayout"),h.prototype=Object.create(n.prototype);for(var d in n)h[d]=n[d];h.prototype.initParameters=function(){n.prototype.initParameters.call(this,arguments),this.totalIterations=0,this.notAnimatedIterations=0,this.useFRGridVariant=a.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION,this.grid=[]},h.prototype.calcIdealEdgeLengths=function(){for(var f,p,m,g,y,v,x,b=this.getGraphManager().getAllEdges(),T=0;T<b.length;T++)f=b[T],p=f.idealLength,f.isInterGraph&&(g=f.getSource(),y=f.getTarget(),v=f.getSourceInLca().getEstimatedSize(),x=f.getTargetInLca().getEstimatedSize(),this.useSmartIdealEdgeLengthCalculation&&(f.idealLength+=v+x-2*s.SIMPLE_NODE_SIZE),m=f.getLca().getInclusionTreeDepth(),f.idealLength+=p*a.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR*(g.getInclusionTreeDepth()+y.getInclusionTreeDepth()-2*m))},h.prototype.initSpringEmbedder=function(){var f=this.getAllNodes().length;this.incremental?(f>a.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*a.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(f-a.ADAPTATION_LOWER_NODE_LIMIT)/(a.ADAPTATION_UPPER_NODE_LIMIT-a.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-a.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=a.MAX_NODE_DISPLACEMENT_INCREMENTAL):(f>a.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(a.COOLING_ADAPTATION_FACTOR,1-(f-a.ADAPTATION_LOWER_NODE_LIMIT)/(a.ADAPTATION_UPPER_NODE_LIMIT-a.ADAPTATION_LOWER_NODE_LIMIT)*(1-a.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=a.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.displacementThresholdPerNode=3*a.DEFAULT_EDGE_LENGTH/100,this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},h.prototype.calcSpringForces=function(){for(var f=this.getAllEdges(),p,m=0;m<f.length;m++)p=f[m],this.calcSpringForce(p,p.idealLength)},h.prototype.calcRepulsionForces=function(){var f=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,m,g,y,v,x=this.getAllNodes(),b;if(this.useFRGridVariant)for(this.totalIterations%a.GRID_CALCULATION_CHECK_PERIOD==1&&f&&this.updateGrid(),b=new Set,m=0;m<x.length;m++)y=x[m],this.calculateRepulsionForceOfANode(y,b,f,p),b.add(y);else for(m=0;m<x.length;m++)for(y=x[m],g=m+1;g<x.length;g++)v=x[g],y.getOwner()==v.getOwner()&&this.calcRepulsionForce(y,v)},h.prototype.calcGravitationalForces=function(){for(var f,p=this.getAllNodesToApplyGravitation(),m=0;m<p.length;m++)f=p[m],this.calcGravitationalForce(f)},h.prototype.moveNodes=function(){for(var f=this.getAllNodes(),p,m=0;m<f.length;m++)p=f[m],p.move()},h.prototype.calcSpringForce=function(f,p){var m=f.getSource(),g=f.getTarget(),y,v,x,b;if(this.uniformLeafNodeSizes&&m.getChild()==null&&g.getChild()==null)f.updateLengthSimple();else if(f.updateLength(),f.isOverlapingSourceAndTarget)return;y=f.getLength(),y!=0&&(v=f.edgeElasticity*(y-p),x=v*(f.lengthX/y),b=v*(f.lengthY/y),m.springForceX+=x,m.springForceY+=b,g.springForceX-=x,g.springForceY-=b)},h.prototype.calcRepulsionForce=function(f,p){var m=f.getRect(),g=p.getRect(),y=new Array(2),v=new Array(4),x,b,T,w,C,k,E;if(m.intersects(g)){l.calcSeparationAmount(m,g,y,a.DEFAULT_EDGE_LENGTH/2),k=2*y[0],E=2*y[1];var A=f.noOfChildren*p.noOfChildren/(f.noOfChildren+p.noOfChildren);f.repulsionForceX-=A*k,f.repulsionForceY-=A*E,p.repulsionForceX+=A*k,p.repulsionForceY+=A*E}else this.uniformLeafNodeSizes&&f.getChild()==null&&p.getChild()==null?(x=g.getCenterX()-m.getCenterX(),b=g.getCenterY()-m.getCenterY()):(l.getIntersection(m,g,v),x=v[2]-v[0],b=v[3]-v[1]),Math.abs(x)<a.MIN_REPULSION_DIST&&(x=u.sign(x)*a.MIN_REPULSION_DIST),Math.abs(b)<a.MIN_REPULSION_DIST&&(b=u.sign(b)*a.MIN_REPULSION_DIST),T=x*x+b*b,w=Math.sqrt(T),C=(f.nodeRepulsion/2+p.nodeRepulsion/2)*f.noOfChildren*p.noOfChildren/T,k=C*x/w,E=C*b/w,f.repulsionForceX-=k,f.repulsionForceY-=E,p.repulsionForceX+=k,p.repulsionForceY+=E},h.prototype.calcGravitationalForce=function(f){var p,m,g,y,v,x,b,T;p=f.getOwner(),m=(p.getRight()+p.getLeft())/2,g=(p.getTop()+p.getBottom())/2,y=f.getCenterX()-m,v=f.getCenterY()-g,x=Math.abs(y)+f.getWidth()/2,b=Math.abs(v)+f.getHeight()/2,f.getOwner()==this.graphManager.getRoot()?(T=p.getEstimatedSize()*this.gravityRangeFactor,(x>T||b>T)&&(f.gravitationForceX=-this.gravityConstant*y,f.gravitationForceY=-this.gravityConstant*v)):(T=p.getEstimatedSize()*this.compoundGravityRangeFactor,(x>T||b>T)&&(f.gravitationForceX=-this.gravityConstant*y*this.compoundGravityConstant,f.gravitationForceY=-this.gravityConstant*v*this.compoundGravityConstant))},h.prototype.isConverged=function(){var f,p=!1;return this.totalIterations>this.maxIterations/3&&(p=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),f=this.totalDisplacement<this.totalDisplacementThreshold,this.oldTotalDisplacement=this.totalDisplacement,f||p},h.prototype.animate=function(){this.animationDuringLayout&&!this.isSubLayout&&(this.notAnimatedIterations==this.animationPeriod?(this.update(),this.notAnimatedIterations=0):this.notAnimatedIterations++)},h.prototype.calcNoOfChildrenForAllNodes=function(){for(var f,p=this.graphManager.getAllNodes(),m=0;m<p.length;m++)f=p[m],f.noOfChildren=f.getNoOfChildren()},h.prototype.calcGrid=function(f){var p=0,m=0;p=parseInt(Math.ceil((f.getRight()-f.getLeft())/this.repulsionRange)),m=parseInt(Math.ceil((f.getBottom()-f.getTop())/this.repulsionRange));for(var g=new Array(p),y=0;y<p;y++)g[y]=new Array(m);for(var y=0;y<p;y++)for(var v=0;v<m;v++)g[y][v]=new Array;return g},h.prototype.addNodeToGrid=function(f,p,m){var g=0,y=0,v=0,x=0;g=parseInt(Math.floor((f.getRect().x-p)/this.repulsionRange)),y=parseInt(Math.floor((f.getRect().width+f.getRect().x-p)/this.repulsionRange)),v=parseInt(Math.floor((f.getRect().y-m)/this.repulsionRange)),x=parseInt(Math.floor((f.getRect().height+f.getRect().y-m)/this.repulsionRange));for(var b=g;b<=y;b++)for(var T=v;T<=x;T++)this.grid[b][T].push(f),f.setGridCoordinates(g,y,v,x)},h.prototype.updateGrid=function(){var f,p,m=this.getAllNodes();for(this.grid=this.calcGrid(this.graphManager.getRoot()),f=0;f<m.length;f++)p=m[f],this.addNodeToGrid(p,this.graphManager.getRoot().getLeft(),this.graphManager.getRoot().getTop())},h.prototype.calculateRepulsionForceOfANode=function(f,p,m,g){if(this.totalIterations%a.GRID_CALCULATION_CHECK_PERIOD==1&&m||g){var y=new Set;f.surrounding=new Array;for(var v,x=this.grid,b=f.startX-1;b<f.finishX+2;b++)for(var T=f.startY-1;T<f.finishY+2;T++)if(!(b<0||T<0||b>=x.length||T>=x[0].length)){for(var w=0;w<x[b][T].length;w++)if(v=x[b][T][w],!(f.getOwner()!=v.getOwner()||f==v)&&!p.has(v)&&!y.has(v)){var C=Math.abs(f.getCenterX()-v.getCenterX())-(f.getWidth()/2+v.getWidth()/2),k=Math.abs(f.getCenterY()-v.getCenterY())-(f.getHeight()/2+v.getHeight()/2);C<=this.repulsionRange&&k<=this.repulsionRange&&y.add(v)}}f.surrounding=[].concat(i(y))}for(b=0;b<f.surrounding.length;b++)this.calcRepulsionForce(f,f.surrounding[b])},h.prototype.calcRepulsionRange=function(){return 0},e.exports=h}),(function(e,t,r){"use strict";var i=r(1),n=r(4);function a(l,u,h){i.call(this,l,u,h),this.idealLength=n.DEFAULT_EDGE_LENGTH,this.edgeElasticity=n.DEFAULT_SPRING_STRENGTH}o(a,"FDLayoutEdge"),a.prototype=Object.create(i.prototype);for(var s in i)a[s]=i[s];e.exports=a}),(function(e,t,r){"use strict";var i=r(3),n=r(4);function a(l,u,h,d){i.call(this,l,u,h,d),this.nodeRepulsion=n.DEFAULT_REPULSION_STRENGTH,this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0,this.startX=0,this.finishX=0,this.startY=0,this.finishY=0,this.surrounding=[]}o(a,"FDLayoutNode"),a.prototype=Object.create(i.prototype);for(var s in i)a[s]=i[s];a.prototype.setGridCoordinates=function(l,u,h,d){this.startX=l,this.finishX=u,this.startY=h,this.finishY=d},e.exports=a}),(function(e,t,r){"use strict";function i(n,a){this.width=0,this.height=0,n!==null&&a!==null&&(this.height=a,this.width=n)}o(i,"DimensionD"),i.prototype.getWidth=function(){return this.width},i.prototype.setWidth=function(n){this.width=n},i.prototype.getHeight=function(){return this.height},i.prototype.setHeight=function(n){this.height=n},e.exports=i}),(function(e,t,r){"use strict";var i=r(14);function n(){this.map={},this.keys=[]}o(n,"HashMap"),n.prototype.put=function(a,s){var l=i.createID(a);this.contains(l)||(this.map[l]=s,this.keys.push(a))},n.prototype.contains=function(a){var s=i.createID(a);return this.map[a]!=null},n.prototype.get=function(a){var s=i.createID(a);return this.map[s]},n.prototype.keySet=function(){return this.keys},e.exports=n}),(function(e,t,r){"use strict";var i=r(14);function n(){this.set={}}o(n,"HashSet"),n.prototype.add=function(a){var s=i.createID(a);this.contains(s)||(this.set[s]=a)},n.prototype.remove=function(a){delete this.set[i.createID(a)]},n.prototype.clear=function(){this.set={}},n.prototype.contains=function(a){return this.set[i.createID(a)]==a},n.prototype.isEmpty=function(){return this.size()===0},n.prototype.size=function(){return Object.keys(this.set).length},n.prototype.addAllTo=function(a){for(var s=Object.keys(this.set),l=s.length,u=0;u<l;u++)a.push(this.set[s[u]])},n.prototype.size=function(){return Object.keys(this.set).length},n.prototype.addAll=function(a){for(var s=a.length,l=0;l<s;l++){var u=a[l];this.add(u)}},e.exports=n}),(function(e,t,r){"use strict";function i(){}o(i,"Matrix"),i.multMat=function(n,a){for(var s=[],l=0;l<n.length;l++){s[l]=[];for(var u=0;u<a[0].length;u++){s[l][u]=0;for(var h=0;h<n[0].length;h++)s[l][u]+=n[l][h]*a[h][u]}}return s},i.transpose=function(n){for(var a=[],s=0;s<n[0].length;s++){a[s]=[];for(var l=0;l<n.length;l++)a[s][l]=n[l][s]}return a},i.multCons=function(n,a){for(var s=[],l=0;l<n.length;l++)s[l]=n[l]*a;return s},i.minusOp=function(n,a){for(var s=[],l=0;l<n.length;l++)s[l]=n[l]-a[l];return s},i.dotProduct=function(n,a){for(var s=0,l=0;l<n.length;l++)s+=n[l]*a[l];return s},i.mag=function(n){return Math.sqrt(this.dotProduct(n,n))},i.normalize=function(n){for(var a=[],s=this.mag(n),l=0;l<n.length;l++)a[l]=n[l]/s;return a},i.multGamma=function(n){for(var a=[],s=0,l=0;l<n.length;l++)s+=n[l];s*=-1/n.length;for(var u=0;u<n.length;u++)a[u]=s+n[u];return a},i.multL=function(n,a,s){for(var l=[],u=[],h=[],d=0;d<a[0].length;d++){for(var f=0,p=0;p<a.length;p++)f+=-.5*a[p][d]*n[p];u[d]=f}for(var m=0;m<s.length;m++){for(var g=0,y=0;y<s.length;y++)g+=s[m][y]*u[y];h[m]=g}for(var v=0;v<a.length;v++){for(var x=0,b=0;b<a[0].length;b++)x+=a[v][b]*h[b];l[v]=x}return l},e.exports=i}),(function(e,t,r){"use strict";var i=(function(){function l(u,h){for(var d=0;d<h.length;d++){var f=h[d];f.enumerable=f.enumerable||!1,f.configurable=!0,"value"in f&&(f.writable=!0),Object.defineProperty(u,f.key,f)}}return o(l,"defineProperties"),function(u,h,d){return h&&l(u.prototype,h),d&&l(u,d),u}})();function n(l,u){if(!(l instanceof u))throw new TypeError("Cannot call a class as a function")}o(n,"_classCallCheck");var a=r(11),s=(function(){function l(u,h){n(this,l),(h!==null||h!==void 0)&&(this.compareFunction=this._defaultCompareFunction);var d=void 0;u instanceof a?d=u.size():d=u.length,this._quicksort(u,0,d-1)}return o(l,"Quicksort"),i(l,[{key:"_quicksort",value:o(function(h,d,f){if(d<f){var p=this._partition(h,d,f);this._quicksort(h,d,p),this._quicksort(h,p+1,f)}},"_quicksort")},{key:"_partition",value:o(function(h,d,f){for(var p=this._get(h,d),m=d,g=f;;){for(;this.compareFunction(p,this._get(h,g));)g--;for(;this.compareFunction(this._get(h,m),p);)m++;if(m<g)this._swap(h,m,g),m++,g--;else return g}},"_partition")},{key:"_get",value:o(function(h,d){return h instanceof a?h.get_object_at(d):h[d]},"_get")},{key:"_set",value:o(function(h,d,f){h instanceof a?h.set_object_at(d,f):h[d]=f},"_set")},{key:"_swap",value:o(function(h,d,f){var p=this._get(h,d);this._set(h,d,this._get(h,f)),this._set(h,f,p)},"_swap")},{key:"_defaultCompareFunction",value:o(function(h,d){return d>h},"_defaultCompareFunction")}]),l})();e.exports=s}),(function(e,t,r){"use strict";function i(){}o(i,"SVD"),i.svd=function(n){this.U=null,this.V=null,this.s=null,this.m=0,this.n=0,this.m=n.length,this.n=n[0].length;var a=Math.min(this.m,this.n);this.s=(function(Et){for(var yt=[];Et-- >0;)yt.push(0);return yt})(Math.min(this.m+1,this.n)),this.U=(function(Et){var yt=o(function oe(ht){if(ht.length==0)return 0;for(var gt=[],et=0;et<ht[0];et++)gt.push(oe(ht.slice(1)));return gt},"allocate");return yt(Et)})([this.m,a]),this.V=(function(Et){var yt=o(function oe(ht){if(ht.length==0)return 0;for(var gt=[],et=0;et<ht[0];et++)gt.push(oe(ht.slice(1)));return gt},"allocate");return yt(Et)})([this.n,this.n]);for(var s=(function(Et){for(var yt=[];Et-- >0;)yt.push(0);return yt})(this.n),l=(function(Et){for(var yt=[];Et-- >0;)yt.push(0);return yt})(this.m),u=!0,h=!0,d=Math.min(this.m-1,this.n),f=Math.max(0,Math.min(this.n-2,this.m)),p=0;p<Math.max(d,f);p++){if(p<d){this.s[p]=0;for(var m=p;m<this.m;m++)this.s[p]=i.hypot(this.s[p],n[m][p]);if(this.s[p]!==0){n[p][p]<0&&(this.s[p]=-this.s[p]);for(var g=p;g<this.m;g++)n[g][p]/=this.s[p];n[p][p]+=1}this.s[p]=-this.s[p]}for(var y=p+1;y<this.n;y++){if((function(Et,yt){return Et&&yt})(p<d,this.s[p]!==0)){for(var v=0,x=p;x<this.m;x++)v+=n[x][p]*n[x][y];v=-v/n[p][p];for(var b=p;b<this.m;b++)n[b][y]+=v*n[b][p]}s[y]=n[p][y]}if((function(Et,yt){return Et&&yt})(u,p<d))for(var T=p;T<this.m;T++)this.U[T][p]=n[T][p];if(p<f){s[p]=0;for(var w=p+1;w<this.n;w++)s[p]=i.hypot(s[p],s[w]);if(s[p]!==0){s[p+1]<0&&(s[p]=-s[p]);for(var C=p+1;C<this.n;C++)s[C]/=s[p];s[p+1]+=1}if(s[p]=-s[p],(function(Et,yt){return Et&&yt})(p+1<this.m,s[p]!==0)){for(var k=p+1;k<this.m;k++)l[k]=0;for(var E=p+1;E<this.n;E++)for(var A=p+1;A<this.m;A++)l[A]+=s[E]*n[A][E];for(var N=p+1;N<this.n;N++)for(var P=-s[N]/s[p+1],I=p+1;I<this.m;I++)n[I][N]+=P*l[I]}if(h)for(var D=p+1;D<this.n;D++)this.V[D][p]=s[D]}}var _=Math.min(this.n,this.m+1);if(d<this.n&&(this.s[d]=n[d][d]),this.m<_&&(this.s[_-1]=0),f+1<_&&(s[f]=n[f][_-1]),s[_-1]=0,u){for(var R=d;R<a;R++){for(var M=0;M<this.m;M++)this.U[M][R]=0;this.U[R][R]=1}for(var L=d-1;L>=0;L--)if(this.s[L]!==0){for(var B=L+1;B<a;B++){for(var O=0,$=L;$<this.m;$++)O+=this.U[$][L]*this.U[$][B];O=-O/this.U[L][L];for(var G=L;G<this.m;G++)this.U[G][B]+=O*this.U[G][L]}for(var F=L;F<this.m;F++)this.U[F][L]=-this.U[F][L];this.U[L][L]=1+this.U[L][L];for(var V=0;V<L-1;V++)this.U[V][L]=0}else{for(var H=0;H<this.m;H++)this.U[H][L]=0;this.U[L][L]=1}}if(h)for(var j=this.n-1;j>=0;j--){if((function(Et,yt){return Et&&yt})(j<f,s[j]!==0))for(var U=j+1;U<a;U++){for(var Q=0,Y=j+1;Y<this.n;Y++)Q+=this.V[Y][j]*this.V[Y][U];Q=-Q/this.V[j+1][j];for(var ae=j+1;ae<this.n;ae++)this.V[ae][U]+=Q*this.V[ae][j]}for(var J=0;J<this.n;J++)this.V[J][j]=0;this.V[j][j]=1}for(var te=_-1,re=0,ee=Math.pow(2,-52),Te=Math.pow(2,-966);_>0;){var ue=void 0,De=void 0;for(ue=_-2;ue>=-1&&ue!==-1;ue--)if(Math.abs(s[ue])<=Te+ee*(Math.abs(this.s[ue])+Math.abs(this.s[ue+1]))){s[ue]=0;break}if(ue===_-2)De=4;else{var Ie=void 0;for(Ie=_-1;Ie>=ue&&Ie!==ue;Ie--){var Ee=(Ie!==_?Math.abs(s[Ie]):0)+(Ie!==ue+1?Math.abs(s[Ie-1]):0);if(Math.abs(this.s[Ie])<=Te+ee*Ee){this.s[Ie]=0;break}}Ie===ue?De=3:Ie===_-1?De=1:(De=2,ue=Ie)}switch(ue++,De){case 1:{var we=s[_-2];s[_-2]=0;for(var Me=_-2;Me>=ue;Me--){var $e=i.hypot(this.s[Me],we),de=this.s[Me]/$e,rt=we/$e;if(this.s[Me]=$e,Me!==ue&&(we=-rt*s[Me-1],s[Me-1]=de*s[Me-1]),h)for(var ke=0;ke<this.n;ke++)$e=de*this.V[ke][Me]+rt*this.V[ke][_-1],this.V[ke][_-1]=-rt*this.V[ke][Me]+de*this.V[ke][_-1],this.V[ke][Me]=$e}}break;case 2:{var Fe=s[ue-1];s[ue-1]=0;for(var He=ue;He<_;He++){var at=i.hypot(this.s[He],Fe),qe=this.s[He]/at,Ue=Fe/at;if(this.s[He]=at,Fe=-Ue*s[He],s[He]=qe*s[He],u)for(var ye=0;ye<this.m;ye++)at=qe*this.U[ye][He]+Ue*this.U[ye][ue-1],this.U[ye][ue-1]=-Ue*this.U[ye][He]+qe*this.U[ye][ue-1],this.U[ye][He]=at}}break;case 3:{var ve=Math.max(Math.max(Math.max(Math.max(Math.abs(this.s[_-1]),Math.abs(this.s[_-2])),Math.abs(s[_-2])),Math.abs(this.s[ue])),Math.abs(s[ue])),ie=this.s[_-1]/ve,fe=this.s[_-2]/ve,W=s[_-2]/ve,ce=this.s[ue]/ve,K=s[ue]/ve,Re=((fe+ie)*(fe-ie)+W*W)/2,xe=ie*W*(ie*W),Oe=0;(function(Et,yt){return Et||yt})(Re!==0,xe!==0)&&(Oe=Math.sqrt(Re*Re+xe),Re<0&&(Oe=-Oe),Oe=xe/(Re+Oe));for(var be=(ce+ie)*(ce-ie)+Oe,Be=ce*K,Ae=ue;Ae<_-1;Ae++){var Ve=i.hypot(be,Be),Pe=be/Ve,Ye=Be/Ve;if(Ae!==ue&&(s[Ae-1]=Ve),be=Pe*this.s[Ae]+Ye*s[Ae],s[Ae]=Pe*s[Ae]-Ye*this.s[Ae],Be=Ye*this.s[Ae+1],this.s[Ae+1]=Pe*this.s[Ae+1],h)for(var le=0;le<this.n;le++)Ve=Pe*this.V[le][Ae]+Ye*this.V[le][Ae+1],this.V[le][Ae+1]=-Ye*this.V[le][Ae]+Pe*this.V[le][Ae+1],this.V[le][Ae]=Ve;if(Ve=i.hypot(be,Be),Pe=be/Ve,Ye=Be/Ve,this.s[Ae]=Ve,be=Pe*s[Ae]+Ye*this.s[Ae+1],this.s[Ae+1]=-Ye*s[Ae]+Pe*this.s[Ae+1],Be=Ye*s[Ae+1],s[Ae+1]=Pe*s[Ae+1],u&&Ae<this.m-1)for(var st=0;st<this.m;st++)Ve=Pe*this.U[st][Ae]+Ye*this.U[st][Ae+1],this.U[st][Ae+1]=-Ye*this.U[st][Ae]+Pe*this.U[st][Ae+1],this.U[st][Ae]=Ve}s[_-2]=be,re=re+1}break;case 4:{if(this.s[ue]<=0&&(this.s[ue]=this.s[ue]<0?-this.s[ue]:0,h))for(var me=0;me<=te;me++)this.V[me][ue]=-this.V[me][ue];for(;ue<te&&!(this.s[ue]>=this.s[ue+1]);){var ot=this.s[ue];if(this.s[ue]=this.s[ue+1],this.s[ue+1]=ot,h&&ue<this.n-1)for(var kt=0;kt<this.n;kt++)ot=this.V[kt][ue+1],this.V[kt][ue+1]=this.V[kt][ue],this.V[kt][ue]=ot;if(u&&ue<this.m-1)for(var Gt=0;Gt<this.m;Gt++)ot=this.U[Gt][ue+1],this.U[Gt][ue+1]=this.U[Gt][ue],this.U[Gt][ue]=ot;ue++}re=0,_--}break}}var Tt={U:this.U,V:this.V,S:this.s};return Tt},i.hypot=function(n,a){var s=void 0;return Math.abs(n)>Math.abs(a)?(s=a/n,s=Math.abs(n)*Math.sqrt(1+s*s)):a!=0?(s=n/a,s=Math.abs(a)*Math.sqrt(1+s*s)):s=0,s},e.exports=i}),(function(e,t,r){"use strict";var i=(function(){function s(l,u){for(var h=0;h<u.length;h++){var d=u[h];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(l,d.key,d)}}return o(s,"defineProperties"),function(l,u,h){return u&&s(l.prototype,u),h&&s(l,h),l}})();function n(s,l){if(!(s instanceof l))throw new TypeError("Cannot call a class as a function")}o(n,"_classCallCheck");var a=(function(){function s(l,u){var h=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,d=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,f=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;n(this,s),this.sequence1=l,this.sequence2=u,this.match_score=h,this.mismatch_penalty=d,this.gap_penalty=f,this.iMax=l.length+1,this.jMax=u.length+1,this.grid=new Array(this.iMax);for(var p=0;p<this.iMax;p++){this.grid[p]=new Array(this.jMax);for(var m=0;m<this.jMax;m++)this.grid[p][m]=0}this.tracebackGrid=new Array(this.iMax);for(var g=0;g<this.iMax;g++){this.tracebackGrid[g]=new Array(this.jMax);for(var y=0;y<this.jMax;y++)this.tracebackGrid[g][y]=[null,null,null]}this.alignments=[],this.score=-1,this.computeGrids()}return o(s,"NeedlemanWunsch"),i(s,[{key:"getScore",value:o(function(){return this.score},"getScore")},{key:"getAlignments",value:o(function(){return this.alignments},"getAlignments")},{key:"computeGrids",value:o(function(){for(var u=1;u<this.jMax;u++)this.grid[0][u]=this.grid[0][u-1]+this.gap_penalty,this.tracebackGrid[0][u]=[!1,!1,!0];for(var h=1;h<this.iMax;h++)this.grid[h][0]=this.grid[h-1][0]+this.gap_penalty,this.tracebackGrid[h][0]=[!1,!0,!1];for(var d=1;d<this.iMax;d++)for(var f=1;f<this.jMax;f++){var p=void 0;this.sequence1[d-1]===this.sequence2[f-1]?p=this.grid[d-1][f-1]+this.match_score:p=this.grid[d-1][f-1]+this.mismatch_penalty;var m=this.grid[d-1][f]+this.gap_penalty,g=this.grid[d][f-1]+this.gap_penalty,y=[p,m,g],v=this.arrayAllMaxIndexes(y);this.grid[d][f]=y[v[0]],this.tracebackGrid[d][f]=[v.includes(0),v.includes(1),v.includes(2)]}this.score=this.grid[this.iMax-1][this.jMax-1]},"computeGrids")},{key:"alignmentTraceback",value:o(function(){var u=[];for(u.push({pos:[this.sequence1.length,this.sequence2.length],seq1:"",seq2:""});u[0];){var h=u[0],d=this.tracebackGrid[h.pos[0]][h.pos[1]];d[0]&&u.push({pos:[h.pos[0]-1,h.pos[1]-1],seq1:this.sequence1[h.pos[0]-1]+h.seq1,seq2:this.sequence2[h.pos[1]-1]+h.seq2}),d[1]&&u.push({pos:[h.pos[0]-1,h.pos[1]],seq1:this.sequence1[h.pos[0]-1]+h.seq1,seq2:"-"+h.seq2}),d[2]&&u.push({pos:[h.pos[0],h.pos[1]-1],seq1:"-"+h.seq1,seq2:this.sequence2[h.pos[1]-1]+h.seq2}),h.pos[0]===0&&h.pos[1]===0&&this.alignments.push({sequence1:h.seq1,sequence2:h.seq2}),u.shift()}return this.alignments},"alignmentTraceback")},{key:"getAllIndexes",value:o(function(u,h){for(var d=[],f=-1;(f=u.indexOf(h,f+1))!==-1;)d.push(f);return d},"getAllIndexes")},{key:"arrayAllMaxIndexes",value:o(function(u){return this.getAllIndexes(u,Math.max.apply(null,u))},"arrayAllMaxIndexes")}]),s})();e.exports=a}),(function(e,t,r){"use strict";var i=o(function(){},"layoutBase");i.FDLayout=r(18),i.FDLayoutConstants=r(4),i.FDLayoutEdge=r(19),i.FDLayoutNode=r(20),i.DimensionD=r(21),i.HashMap=r(22),i.HashSet=r(23),i.IGeometry=r(8),i.IMath=r(9),i.Integer=r(10),i.Point=r(12),i.PointD=r(5),i.RandomSeed=r(16),i.RectangleD=r(13),i.Transform=r(17),i.UniqueIDGeneretor=r(14),i.Quicksort=r(25),i.LinkedList=r(11),i.LGraphObject=r(2),i.LGraph=r(6),i.LEdge=r(1),i.LGraphManager=r(7),i.LNode=r(3),i.Layout=r(15),i.LayoutConstants=r(0),i.NeedlemanWunsch=r(27),i.Matrix=r(24),i.SVD=r(26),e.exports=i}),(function(e,t,r){"use strict";function i(){this.listeners=[]}o(i,"Emitter");var n=i.prototype;n.addListener=function(a,s){this.listeners.push({event:a,callback:s})},n.removeListener=function(a,s){for(var l=this.listeners.length;l>=0;l--){var u=this.listeners[l];u.event===a&&u.callback===s&&this.listeners.splice(l,1)}},n.emit=function(a,s){for(var l=0;l<this.listeners.length;l++){var u=this.listeners[l];a===u.event&&u.callback(s)}},e.exports=i})])})});var qq=Js((hC,Wq)=>{"use strict";o((function(t,r){typeof hC=="object"&&typeof Wq=="object"?Wq.exports=r(Vq()):typeof define=="function"&&define.amd?define(["layout-base"],r):typeof hC=="object"?hC.coseBase=r(Vq()):t.coseBase=r(t.layoutBase)}),"webpackUniversalModuleDefinition")(hC,function(e){return(()=>{"use strict";var t={45:((a,s,l)=>{var u={};u.layoutBase=l(551),u.CoSEConstants=l(806),u.CoSEEdge=l(767),u.CoSEGraph=l(880),u.CoSEGraphManager=l(578),u.CoSELayout=l(765),u.CoSENode=l(991),u.ConstraintHandler=l(902),a.exports=u}),806:((a,s,l)=>{var u=l(551).FDLayoutConstants;function h(){}o(h,"CoSEConstants");for(var d in u)h[d]=u[d];h.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,h.DEFAULT_RADIAL_SEPARATION=u.DEFAULT_EDGE_LENGTH,h.DEFAULT_COMPONENT_SEPERATION=60,h.TILE=!0,h.TILING_PADDING_VERTICAL=10,h.TILING_PADDING_HORIZONTAL=10,h.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,h.ENFORCE_CONSTRAINTS=!0,h.APPLY_LAYOUT=!0,h.RELAX_MOVEMENT_ON_CONSTRAINTS=!0,h.TREE_REDUCTION_ON_INCREMENTAL=!0,h.PURE_INCREMENTAL=h.DEFAULT_INCREMENTAL,a.exports=h}),767:((a,s,l)=>{var u=l(551).FDLayoutEdge;function h(f,p,m){u.call(this,f,p,m)}o(h,"CoSEEdge"),h.prototype=Object.create(u.prototype);for(var d in u)h[d]=u[d];a.exports=h}),880:((a,s,l)=>{var u=l(551).LGraph;function h(f,p,m){u.call(this,f,p,m)}o(h,"CoSEGraph"),h.prototype=Object.create(u.prototype);for(var d in u)h[d]=u[d];a.exports=h}),578:((a,s,l)=>{var u=l(551).LGraphManager;function h(f){u.call(this,f)}o(h,"CoSEGraphManager"),h.prototype=Object.create(u.prototype);for(var d in u)h[d]=u[d];a.exports=h}),765:((a,s,l)=>{var u=l(551).FDLayout,h=l(578),d=l(880),f=l(991),p=l(767),m=l(806),g=l(902),y=l(551).FDLayoutConstants,v=l(551).LayoutConstants,x=l(551).Point,b=l(551).PointD,T=l(551).DimensionD,w=l(551).Layout,C=l(551).Integer,k=l(551).IGeometry,E=l(551).LGraph,A=l(551).Transform,N=l(551).LinkedList;function P(){u.call(this),this.toBeTiled={},this.constraints={}}o(P,"CoSELayout"),P.prototype=Object.create(u.prototype);for(var I in u)P[I]=u[I];P.prototype.newGraphManager=function(){var D=new h(this);return this.graphManager=D,D},P.prototype.newGraph=function(D){return new d(null,this.graphManager,D)},P.prototype.newNode=function(D){return new f(this.graphManager,D)},P.prototype.newEdge=function(D){return new p(null,null,D)},P.prototype.initParameters=function(){u.prototype.initParameters.call(this,arguments),this.isSubLayout||(m.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=m.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=m.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=y.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=y.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=y.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=y.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1)},P.prototype.initSpringEmbedder=function(){u.prototype.initSpringEmbedder.call(this),this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/y.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=.04,this.coolingAdjuster=1},P.prototype.layout=function(){var D=v.DEFAULT_CREATE_BENDS_AS_NEEDED;return D&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},P.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),this.incremental){if(m.TREE_REDUCTION_ON_INCREMENTAL){this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var _=new Set(this.getAllNodes()),R=this.nodesWithGravity.filter(function(B){return _.has(B)});this.graphManager.setAllNodesToApplyGravitation(R)}}else{var D=this.getFlatForest();if(D.length>0)this.positionNodesRadially(D);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var _=new Set(this.getAllNodes()),R=this.nodesWithGravity.filter(function(M){return _.has(M)});this.graphManager.setAllNodesToApplyGravitation(R),this.positionNodesRandomly()}}return Object.keys(this.constraints).length>0&&(g.handleConstraints(this),this.initConstraintVariables()),this.initSpringEmbedder(),m.APPLY_LAYOUT&&this.runSpringEmbedder(),!0},P.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%y.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var D=new Set(this.getAllNodes()),_=this.nodesWithGravity.filter(function(L){return D.has(L)});this.graphManager.setAllNodesToApplyGravitation(_),this.graphManager.updateBounds(),this.updateGrid(),m.PURE_INCREMENTAL?this.coolingFactor=y.DEFAULT_COOLING_FACTOR_INCREMENTAL/2:this.coolingFactor=y.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),m.PURE_INCREMENTAL?this.coolingFactor=y.DEFAULT_COOLING_FACTOR_INCREMENTAL/2*((100-this.afterGrowthIterations)/100):this.coolingFactor=y.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var R=!this.isTreeGrowing&&!this.isGrowthFinished,M=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(R,M),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},P.prototype.getPositionsData=function(){for(var D=this.graphManager.getAllNodes(),_={},R=0;R<D.length;R++){var M=D[R].rect,L=D[R].id;_[L]={id:L,x:M.getCenterX(),y:M.getCenterY(),w:M.width,h:M.height}}return _},P.prototype.runSpringEmbedder=function(){this.initialAnimationPeriod=25,this.animationPeriod=this.initialAnimationPeriod;var D=!1;if(y.ANIMATE==="during")this.emit("layoutstarted");else{for(;!D;)D=this.tick();this.graphManager.updateBounds()}},P.prototype.moveNodes=function(){for(var D=this.getAllNodes(),_,R=0;R<D.length;R++)_=D[R],_.calculateDisplacement();Object.keys(this.constraints).length>0&&this.updateDisplacements();for(var R=0;R<D.length;R++)_=D[R],_.move()},P.prototype.initConstraintVariables=function(){var D=this;this.idToNodeMap=new Map,this.fixedNodeSet=new Set;for(var _=this.graphManager.getAllNodes(),R=0;R<_.length;R++){var M=_[R];this.idToNodeMap.set(M.id,M)}var L=o(function Y(ae){for(var J=ae.getChild().getNodes(),te,re=0,ee=0;ee<J.length;ee++)te=J[ee],te.getChild()==null?D.fixedNodeSet.has(te.id)&&(re+=100):re+=Y(te);return re},"calculateCompoundWeight");if(this.constraints.fixedNodeConstraint){this.constraints.fixedNodeConstraint.forEach(function(J){D.fixedNodeSet.add(J.nodeId)});for(var _=this.graphManager.getAllNodes(),M,R=0;R<_.length;R++)if(M=_[R],M.getChild()!=null){var B=L(M);B>0&&(M.fixedNodeWeight=B)}}if(this.constraints.relativePlacementConstraint){var O=new Map,$=new Map;if(this.dummyToNodeForVerticalAlignment=new Map,this.dummyToNodeForHorizontalAlignment=new Map,this.fixedNodesOnHorizontal=new Set,this.fixedNodesOnVertical=new Set,this.fixedNodeSet.forEach(function(Y){D.fixedNodesOnHorizontal.add(Y),D.fixedNodesOnVertical.add(Y)}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var G=this.constraints.alignmentConstraint.vertical,R=0;R<G.length;R++)this.dummyToNodeForVerticalAlignment.set("dummy"+R,[]),G[R].forEach(function(ae){O.set(ae,"dummy"+R),D.dummyToNodeForVerticalAlignment.get("dummy"+R).push(ae),D.fixedNodeSet.has(ae)&&D.fixedNodesOnHorizontal.add("dummy"+R)});if(this.constraints.alignmentConstraint.horizontal)for(var F=this.constraints.alignmentConstraint.horizontal,R=0;R<F.length;R++)this.dummyToNodeForHorizontalAlignment.set("dummy"+R,[]),F[R].forEach(function(ae){$.set(ae,"dummy"+R),D.dummyToNodeForHorizontalAlignment.get("dummy"+R).push(ae),D.fixedNodeSet.has(ae)&&D.fixedNodesOnVertical.add("dummy"+R)})}if(m.RELAX_MOVEMENT_ON_CONSTRAINTS)this.shuffle=function(Y){var ae,J,te;for(te=Y.length-1;te>=2*Y.length/3;te--)ae=Math.floor(Math.random()*(te+1)),J=Y[te],Y[te]=Y[ae],Y[ae]=J;return Y},this.nodesInRelativeHorizontal=[],this.nodesInRelativeVertical=[],this.nodeToRelativeConstraintMapHorizontal=new Map,this.nodeToRelativeConstraintMapVertical=new Map,this.nodeToTempPositionMapHorizontal=new Map,this.nodeToTempPositionMapVertical=new Map,this.constraints.relativePlacementConstraint.forEach(function(Y){if(Y.left){var ae=O.has(Y.left)?O.get(Y.left):Y.left,J=O.has(Y.right)?O.get(Y.right):Y.right;D.nodesInRelativeHorizontal.includes(ae)||(D.nodesInRelativeHorizontal.push(ae),D.nodeToRelativeConstraintMapHorizontal.set(ae,[]),D.dummyToNodeForVerticalAlignment.has(ae)?D.nodeToTempPositionMapHorizontal.set(ae,D.idToNodeMap.get(D.dummyToNodeForVerticalAlignment.get(ae)[0]).getCenterX()):D.nodeToTempPositionMapHorizontal.set(ae,D.idToNodeMap.get(ae).getCenterX())),D.nodesInRelativeHorizontal.includes(J)||(D.nodesInRelativeHorizontal.push(J),D.nodeToRelativeConstraintMapHorizontal.set(J,[]),D.dummyToNodeForVerticalAlignment.has(J)?D.nodeToTempPositionMapHorizontal.set(J,D.idToNodeMap.get(D.dummyToNodeForVerticalAlignment.get(J)[0]).getCenterX()):D.nodeToTempPositionMapHorizontal.set(J,D.idToNodeMap.get(J).getCenterX())),D.nodeToRelativeConstraintMapHorizontal.get(ae).push({right:J,gap:Y.gap}),D.nodeToRelativeConstraintMapHorizontal.get(J).push({left:ae,gap:Y.gap})}else{var te=$.has(Y.top)?$.get(Y.top):Y.top,re=$.has(Y.bottom)?$.get(Y.bottom):Y.bottom;D.nodesInRelativeVertical.includes(te)||(D.nodesInRelativeVertical.push(te),D.nodeToRelativeConstraintMapVertical.set(te,[]),D.dummyToNodeForHorizontalAlignment.has(te)?D.nodeToTempPositionMapVertical.set(te,D.idToNodeMap.get(D.dummyToNodeForHorizontalAlignment.get(te)[0]).getCenterY()):D.nodeToTempPositionMapVertical.set(te,D.idToNodeMap.get(te).getCenterY())),D.nodesInRelativeVertical.includes(re)||(D.nodesInRelativeVertical.push(re),D.nodeToRelativeConstraintMapVertical.set(re,[]),D.dummyToNodeForHorizontalAlignment.has(re)?D.nodeToTempPositionMapVertical.set(re,D.idToNodeMap.get(D.dummyToNodeForHorizontalAlignment.get(re)[0]).getCenterY()):D.nodeToTempPositionMapVertical.set(re,D.idToNodeMap.get(re).getCenterY())),D.nodeToRelativeConstraintMapVertical.get(te).push({bottom:re,gap:Y.gap}),D.nodeToRelativeConstraintMapVertical.get(re).push({top:te,gap:Y.gap})}});else{var V=new Map,H=new Map;this.constraints.relativePlacementConstraint.forEach(function(Y){if(Y.left){var ae=O.has(Y.left)?O.get(Y.left):Y.left,J=O.has(Y.right)?O.get(Y.right):Y.right;V.has(ae)?V.get(ae).push(J):V.set(ae,[J]),V.has(J)?V.get(J).push(ae):V.set(J,[ae])}else{var te=$.has(Y.top)?$.get(Y.top):Y.top,re=$.has(Y.bottom)?$.get(Y.bottom):Y.bottom;H.has(te)?H.get(te).push(re):H.set(te,[re]),H.has(re)?H.get(re).push(te):H.set(re,[te])}});var j=o(function(ae,J){var te=[],re=[],ee=new N,Te=new Set,ue=0;return ae.forEach(function(De,Ie){if(!Te.has(Ie)){te[ue]=[],re[ue]=!1;var Ee=Ie;for(ee.push(Ee),Te.add(Ee),te[ue].push(Ee);ee.length!=0;){Ee=ee.shift(),J.has(Ee)&&(re[ue]=!0);var we=ae.get(Ee);we.forEach(function(Me){Te.has(Me)||(ee.push(Me),Te.add(Me),te[ue].push(Me))})}ue++}}),{components:te,isFixed:re}},"constructComponents"),U=j(V,D.fixedNodesOnHorizontal);this.componentsOnHorizontal=U.components,this.fixedComponentsOnHorizontal=U.isFixed;var Q=j(H,D.fixedNodesOnVertical);this.componentsOnVertical=Q.components,this.fixedComponentsOnVertical=Q.isFixed}}},P.prototype.updateDisplacements=function(){var D=this;if(this.constraints.fixedNodeConstraint&&this.constraints.fixedNodeConstraint.forEach(function(Q){var Y=D.idToNodeMap.get(Q.nodeId);Y.displacementX=0,Y.displacementY=0}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var _=this.constraints.alignmentConstraint.vertical,R=0;R<_.length;R++){for(var M=0,L=0;L<_[R].length;L++){if(this.fixedNodeSet.has(_[R][L])){M=0;break}M+=this.idToNodeMap.get(_[R][L]).displacementX}for(var B=M/_[R].length,L=0;L<_[R].length;L++)this.idToNodeMap.get(_[R][L]).displacementX=B}if(this.constraints.alignmentConstraint.horizontal)for(var O=this.constraints.alignmentConstraint.horizontal,R=0;R<O.length;R++){for(var $=0,L=0;L<O[R].length;L++){if(this.fixedNodeSet.has(O[R][L])){$=0;break}$+=this.idToNodeMap.get(O[R][L]).displacementY}for(var G=$/O[R].length,L=0;L<O[R].length;L++)this.idToNodeMap.get(O[R][L]).displacementY=G}}if(this.constraints.relativePlacementConstraint)if(m.RELAX_MOVEMENT_ON_CONSTRAINTS)this.totalIterations%10==0&&(this.shuffle(this.nodesInRelativeHorizontal),this.shuffle(this.nodesInRelativeVertical)),this.nodesInRelativeHorizontal.forEach(function(Q){if(!D.fixedNodesOnHorizontal.has(Q)){var Y=0;D.dummyToNodeForVerticalAlignment.has(Q)?Y=D.idToNodeMap.get(D.dummyToNodeForVerticalAlignment.get(Q)[0]).displacementX:Y=D.idToNodeMap.get(Q).displacementX,D.nodeToRelativeConstraintMapHorizontal.get(Q).forEach(function(ae){if(ae.right){var J=D.nodeToTempPositionMapHorizontal.get(ae.right)-D.nodeToTempPositionMapHorizontal.get(Q)-Y;J<ae.gap&&(Y-=ae.gap-J)}else{var J=D.nodeToTempPositionMapHorizontal.get(Q)-D.nodeToTempPositionMapHorizontal.get(ae.left)+Y;J<ae.gap&&(Y+=ae.gap-J)}}),D.nodeToTempPositionMapHorizontal.set(Q,D.nodeToTempPositionMapHorizontal.get(Q)+Y),D.dummyToNodeForVerticalAlignment.has(Q)?D.dummyToNodeForVerticalAlignment.get(Q).forEach(function(ae){D.idToNodeMap.get(ae).displacementX=Y}):D.idToNodeMap.get(Q).displacementX=Y}}),this.nodesInRelativeVertical.forEach(function(Q){if(!D.fixedNodesOnHorizontal.has(Q)){var Y=0;D.dummyToNodeForHorizontalAlignment.has(Q)?Y=D.idToNodeMap.get(D.dummyToNodeForHorizontalAlignment.get(Q)[0]).displacementY:Y=D.idToNodeMap.get(Q).displacementY,D.nodeToRelativeConstraintMapVertical.get(Q).forEach(function(ae){if(ae.bottom){var J=D.nodeToTempPositionMapVertical.get(ae.bottom)-D.nodeToTempPositionMapVertical.get(Q)-Y;J<ae.gap&&(Y-=ae.gap-J)}else{var J=D.nodeToTempPositionMapVertical.get(Q)-D.nodeToTempPositionMapVertical.get(ae.top)+Y;J<ae.gap&&(Y+=ae.gap-J)}}),D.nodeToTempPositionMapVertical.set(Q,D.nodeToTempPositionMapVertical.get(Q)+Y),D.dummyToNodeForHorizontalAlignment.has(Q)?D.dummyToNodeForHorizontalAlignment.get(Q).forEach(function(ae){D.idToNodeMap.get(ae).displacementY=Y}):D.idToNodeMap.get(Q).displacementY=Y}});else{for(var R=0;R<this.componentsOnHorizontal.length;R++){var F=this.componentsOnHorizontal[R];if(this.fixedComponentsOnHorizontal[R])for(var L=0;L<F.length;L++)this.dummyToNodeForVerticalAlignment.has(F[L])?this.dummyToNodeForVerticalAlignment.get(F[L]).forEach(function(ae){D.idToNodeMap.get(ae).displacementX=0}):this.idToNodeMap.get(F[L]).displacementX=0;else{for(var V=0,H=0,L=0;L<F.length;L++)if(this.dummyToNodeForVerticalAlignment.has(F[L])){var j=this.dummyToNodeForVerticalAlignment.get(F[L]);V+=j.length*this.idToNodeMap.get(j[0]).displacementX,H+=j.length}else V+=this.idToNodeMap.get(F[L]).displacementX,H++;for(var U=V/H,L=0;L<F.length;L++)this.dummyToNodeForVerticalAlignment.has(F[L])?this.dummyToNodeForVerticalAlignment.get(F[L]).forEach(function(ae){D.idToNodeMap.get(ae).displacementX=U}):this.idToNodeMap.get(F[L]).displacementX=U}}for(var R=0;R<this.componentsOnVertical.length;R++){var F=this.componentsOnVertical[R];if(this.fixedComponentsOnVertical[R])for(var L=0;L<F.length;L++)this.dummyToNodeForHorizontalAlignment.has(F[L])?this.dummyToNodeForHorizontalAlignment.get(F[L]).forEach(function(J){D.idToNodeMap.get(J).displacementY=0}):this.idToNodeMap.get(F[L]).displacementY=0;else{for(var V=0,H=0,L=0;L<F.length;L++)if(this.dummyToNodeForHorizontalAlignment.has(F[L])){var j=this.dummyToNodeForHorizontalAlignment.get(F[L]);V+=j.length*this.idToNodeMap.get(j[0]).displacementY,H+=j.length}else V+=this.idToNodeMap.get(F[L]).displacementY,H++;for(var U=V/H,L=0;L<F.length;L++)this.dummyToNodeForHorizontalAlignment.has(F[L])?this.dummyToNodeForHorizontalAlignment.get(F[L]).forEach(function(ee){D.idToNodeMap.get(ee).displacementY=U}):this.idToNodeMap.get(F[L]).displacementY=U}}}},P.prototype.calculateNodesToApplyGravitationTo=function(){var D=[],_,R=this.graphManager.getGraphs(),M=R.length,L;for(L=0;L<M;L++)_=R[L],_.updateConnected(),_.isConnected||(D=D.concat(_.getNodes()));return D},P.prototype.createBendpoints=function(){var D=[];D=D.concat(this.graphManager.getAllEdges());var _=new Set,R;for(R=0;R<D.length;R++){var M=D[R];if(!_.has(M)){var L=M.getSource(),B=M.getTarget();if(L==B)M.getBendpoints().push(new b),M.getBendpoints().push(new b),this.createDummyNodesForBendpoints(M),_.add(M);else{var O=[];if(O=O.concat(L.getEdgeListToNode(B)),O=O.concat(B.getEdgeListToNode(L)),!_.has(O[0])){if(O.length>1){var $;for($=0;$<O.length;$++){var G=O[$];G.getBendpoints().push(new b),this.createDummyNodesForBendpoints(G)}}O.forEach(function(F){_.add(F)})}}}if(_.size==D.length)break}},P.prototype.positionNodesRadially=function(D){for(var _=new x(0,0),R=Math.ceil(Math.sqrt(D.length)),M=0,L=0,B=0,O=new b(0,0),$=0;$<D.length;$++){$%R==0&&(B=0,L=M,$!=0&&(L+=m.DEFAULT_COMPONENT_SEPERATION),M=0);var G=D[$],F=w.findCenterOfTree(G);_.x=B,_.y=L,O=P.radialLayout(G,F,_),O.y>M&&(M=Math.floor(O.y)),B=Math.floor(O.x+m.DEFAULT_COMPONENT_SEPERATION)}this.transform(new b(v.WORLD_CENTER_X-O.x/2,v.WORLD_CENTER_Y-O.y/2))},P.radialLayout=function(D,_,R){var M=Math.max(this.maxDiagonalInTree(D),m.DEFAULT_RADIAL_SEPARATION);P.branchRadialLayout(_,null,0,359,0,M);var L=E.calculateBounds(D),B=new A;B.setDeviceOrgX(L.getMinX()),B.setDeviceOrgY(L.getMinY()),B.setWorldOrgX(R.x),B.setWorldOrgY(R.y);for(var O=0;O<D.length;O++){var $=D[O];$.transform(B)}var G=new b(L.getMaxX(),L.getMaxY());return B.inverseTransformPoint(G)},P.branchRadialLayout=function(D,_,R,M,L,B){var O=(M-R+1)/2;O<0&&(O+=180);var $=(O+R)%360,G=$*k.TWO_PI/360,F=Math.cos(G),V=L*Math.cos(G),H=L*Math.sin(G);D.setCenter(V,H);var j=[];j=j.concat(D.getEdges());var U=j.length;_!=null&&U--;for(var Q=0,Y=j.length,ae,J=D.getEdgesBetween(_);J.length>1;){var te=J[0];J.splice(0,1);var re=j.indexOf(te);re>=0&&j.splice(re,1),Y--,U--}_!=null?ae=(j.indexOf(J[0])+1)%Y:ae=0;for(var ee=Math.abs(M-R)/U,Te=ae;Q!=U;Te=++Te%Y){var ue=j[Te].getOtherEnd(D);if(ue!=_){var De=(R+Q*ee)%360,Ie=(De+ee)%360;P.branchRadialLayout(ue,D,De,Ie,L+B,B),Q++}}},P.maxDiagonalInTree=function(D){for(var _=C.MIN_VALUE,R=0;R<D.length;R++){var M=D[R],L=M.getDiagonal();L>_&&(_=L)}return _},P.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},P.prototype.groupZeroDegreeMembers=function(){var D=this,_={};this.memberGroups={},this.idToDummyNode={};for(var R=[],M=this.graphManager.getAllNodes(),L=0;L<M.length;L++){var B=M[L],O=B.getParent();this.getNodeDegreeWithChildren(B)===0&&(O.id==null||!this.getToBeTiled(O))&&R.push(B)}for(var L=0;L<R.length;L++){var B=R[L],$=B.getParent().id;typeof _[$]>"u"&&(_[$]=[]),_[$]=_[$].concat(B)}Object.keys(_).forEach(function(G){if(_[G].length>1){var F="DummyCompound_"+G;D.memberGroups[F]=_[G];var V=_[G][0].getParent(),H=new f(D.graphManager);H.id=F,H.paddingLeft=V.paddingLeft||0,H.paddingRight=V.paddingRight||0,H.paddingBottom=V.paddingBottom||0,H.paddingTop=V.paddingTop||0,D.idToDummyNode[F]=H;var j=D.getGraphManager().add(D.newGraph(),H),U=V.getChild();U.add(H);for(var Q=0;Q<_[G].length;Q++){var Y=_[G][Q];U.remove(Y),j.add(Y)}}})},P.prototype.clearCompounds=function(){var D={},_={};this.performDFSOnCompounds();for(var R=0;R<this.compoundOrder.length;R++)_[this.compoundOrder[R].id]=this.compoundOrder[R],D[this.compoundOrder[R].id]=[].concat(this.compoundOrder[R].getChild().getNodes()),this.graphManager.remove(this.compoundOrder[R].getChild()),this.compoundOrder[R].child=null;this.graphManager.resetAllNodes(),this.tileCompoundMembers(D,_)},P.prototype.clearZeroDegreeMembers=function(){var D=this,_=this.tiledZeroDegreePack=[];Object.keys(this.memberGroups).forEach(function(R){var M=D.idToDummyNode[R];if(_[R]=D.tileNodes(D.memberGroups[R],M.paddingLeft+M.paddingRight),M.rect.width=_[R].width,M.rect.height=_[R].height,M.setCenter(_[R].centerX,_[R].centerY),M.labelMarginLeft=0,M.labelMarginTop=0,m.NODE_DIMENSIONS_INCLUDE_LABELS){var L=M.rect.width,B=M.rect.height;M.labelWidth&&(M.labelPosHorizontal=="left"?(M.rect.x-=M.labelWidth,M.setWidth(L+M.labelWidth),M.labelMarginLeft=M.labelWidth):M.labelPosHorizontal=="center"&&M.labelWidth>L?(M.rect.x-=(M.labelWidth-L)/2,M.setWidth(M.labelWidth),M.labelMarginLeft=(M.labelWidth-L)/2):M.labelPosHorizontal=="right"&&M.setWidth(L+M.labelWidth)),M.labelHeight&&(M.labelPosVertical=="top"?(M.rect.y-=M.labelHeight,M.setHeight(B+M.labelHeight),M.labelMarginTop=M.labelHeight):M.labelPosVertical=="center"&&M.labelHeight>B?(M.rect.y-=(M.labelHeight-B)/2,M.setHeight(M.labelHeight),M.labelMarginTop=(M.labelHeight-B)/2):M.labelPosVertical=="bottom"&&M.setHeight(B+M.labelHeight))}})},P.prototype.repopulateCompounds=function(){for(var D=this.compoundOrder.length-1;D>=0;D--){var _=this.compoundOrder[D],R=_.id,M=_.paddingLeft,L=_.paddingTop,B=_.labelMarginLeft,O=_.labelMarginTop;this.adjustLocations(this.tiledMemberPack[R],_.rect.x,_.rect.y,M,L,B,O)}},P.prototype.repopulateZeroDegreeMembers=function(){var D=this,_=this.tiledZeroDegreePack;Object.keys(_).forEach(function(R){var M=D.idToDummyNode[R],L=M.paddingLeft,B=M.paddingTop,O=M.labelMarginLeft,$=M.labelMarginTop;D.adjustLocations(_[R],M.rect.x,M.rect.y,L,B,O,$)})},P.prototype.getToBeTiled=function(D){var _=D.id;if(this.toBeTiled[_]!=null)return this.toBeTiled[_];var R=D.getChild();if(R==null)return this.toBeTiled[_]=!1,!1;for(var M=R.getNodes(),L=0;L<M.length;L++){var B=M[L];if(this.getNodeDegree(B)>0)return this.toBeTiled[_]=!1,!1;if(B.getChild()==null){this.toBeTiled[B.id]=!1;continue}if(!this.getToBeTiled(B))return this.toBeTiled[_]=!1,!1}return this.toBeTiled[_]=!0,!0},P.prototype.getNodeDegree=function(D){for(var _=D.id,R=D.getEdges(),M=0,L=0;L<R.length;L++){var B=R[L];B.getSource().id!==B.getTarget().id&&(M=M+1)}return M},P.prototype.getNodeDegreeWithChildren=function(D){var _=this.getNodeDegree(D);if(D.getChild()==null)return _;for(var R=D.getChild().getNodes(),M=0;M<R.length;M++){var L=R[M];_+=this.getNodeDegreeWithChildren(L)}return _},P.prototype.performDFSOnCompounds=function(){this.compoundOrder=[],this.fillCompexOrderByDFS(this.graphManager.getRoot().getNodes())},P.prototype.fillCompexOrderByDFS=function(D){for(var _=0;_<D.length;_++){var R=D[_];R.getChild()!=null&&this.fillCompexOrderByDFS(R.getChild().getNodes()),this.getToBeTiled(R)&&this.compoundOrder.push(R)}},P.prototype.adjustLocations=function(D,_,R,M,L,B,O){_+=M+B,R+=L+O;for(var $=_,G=0;G<D.rows.length;G++){var F=D.rows[G];_=$;for(var V=0,H=0;H<F.length;H++){var j=F[H];j.rect.x=_,j.rect.y=R,_+=j.rect.width+D.horizontalPadding,j.rect.height>V&&(V=j.rect.height)}R+=V+D.verticalPadding}},P.prototype.tileCompoundMembers=function(D,_){var R=this;this.tiledMemberPack=[],Object.keys(D).forEach(function(M){var L=_[M];if(R.tiledMemberPack[M]=R.tileNodes(D[M],L.paddingLeft+L.paddingRight),L.rect.width=R.tiledMemberPack[M].width,L.rect.height=R.tiledMemberPack[M].height,L.setCenter(R.tiledMemberPack[M].centerX,R.tiledMemberPack[M].centerY),L.labelMarginLeft=0,L.labelMarginTop=0,m.NODE_DIMENSIONS_INCLUDE_LABELS){var B=L.rect.width,O=L.rect.height;L.labelWidth&&(L.labelPosHorizontal=="left"?(L.rect.x-=L.labelWidth,L.setWidth(B+L.labelWidth),L.labelMarginLeft=L.labelWidth):L.labelPosHorizontal=="center"&&L.labelWidth>B?(L.rect.x-=(L.labelWidth-B)/2,L.setWidth(L.labelWidth),L.labelMarginLeft=(L.labelWidth-B)/2):L.labelPosHorizontal=="right"&&L.setWidth(B+L.labelWidth)),L.labelHeight&&(L.labelPosVertical=="top"?(L.rect.y-=L.labelHeight,L.setHeight(O+L.labelHeight),L.labelMarginTop=L.labelHeight):L.labelPosVertical=="center"&&L.labelHeight>O?(L.rect.y-=(L.labelHeight-O)/2,L.setHeight(L.labelHeight),L.labelMarginTop=(L.labelHeight-O)/2):L.labelPosVertical=="bottom"&&L.setHeight(O+L.labelHeight))}})},P.prototype.tileNodes=function(D,_){var R=this.tileNodesByFavoringDim(D,_,!0),M=this.tileNodesByFavoringDim(D,_,!1),L=this.getOrgRatio(R),B=this.getOrgRatio(M),O;return B<L?O=M:O=R,O},P.prototype.getOrgRatio=function(D){var _=D.width,R=D.height,M=_/R;return M<1&&(M=1/M),M},P.prototype.calcIdealRowWidth=function(D,_){var R=m.TILING_PADDING_VERTICAL,M=m.TILING_PADDING_HORIZONTAL,L=D.length,B=0,O=0,$=0;D.forEach(function(Q){B+=Q.getWidth(),O+=Q.getHeight(),Q.getWidth()>$&&($=Q.getWidth())});var G=B/L,F=O/L,V=Math.pow(R-M,2)+4*(G+M)*(F+R)*L,H=(M-R+Math.sqrt(V))/(2*(G+M)),j;_?(j=Math.ceil(H),j==H&&j++):j=Math.floor(H);var U=j*(G+M)-M;return $>U&&(U=$),U+=M*2,U},P.prototype.tileNodesByFavoringDim=function(D,_,R){var M=m.TILING_PADDING_VERTICAL,L=m.TILING_PADDING_HORIZONTAL,B=m.TILING_COMPARE_BY,O={rows:[],rowWidth:[],rowHeight:[],width:0,height:_,verticalPadding:M,horizontalPadding:L,centerX:0,centerY:0};B&&(O.idealRowWidth=this.calcIdealRowWidth(D,R));var $=o(function(Y){return Y.rect.width*Y.rect.height},"getNodeArea"),G=o(function(Y,ae){return $(ae)-$(Y)},"areaCompareFcn");D.sort(function(Q,Y){var ae=G;return O.idealRowWidth?(ae=B,ae(Q.id,Y.id)):ae(Q,Y)});for(var F=0,V=0,H=0;H<D.length;H++){var j=D[H];F+=j.getCenterX(),V+=j.getCenterY()}O.centerX=F/D.length,O.centerY=V/D.length;for(var H=0;H<D.length;H++){var j=D[H];if(O.rows.length==0)this.insertNodeToRow(O,j,0,_);else if(this.canAddHorizontal(O,j.rect.width,j.rect.height)){var U=O.rows.length-1;O.idealRowWidth||(U=this.getShortestRowIndex(O)),this.insertNodeToRow(O,j,U,_)}else this.insertNodeToRow(O,j,O.rows.length,_);this.shiftToLastRow(O)}return O},P.prototype.insertNodeToRow=function(D,_,R,M){var L=M;if(R==D.rows.length){var B=[];D.rows.push(B),D.rowWidth.push(L),D.rowHeight.push(0)}var O=D.rowWidth[R]+_.rect.width;D.rows[R].length>0&&(O+=D.horizontalPadding),D.rowWidth[R]=O,D.width<O&&(D.width=O);var $=_.rect.height;R>0&&($+=D.verticalPadding);var G=0;$>D.rowHeight[R]&&(G=D.rowHeight[R],D.rowHeight[R]=$,G=D.rowHeight[R]-G),D.height+=G,D.rows[R].push(_)},P.prototype.getShortestRowIndex=function(D){for(var _=-1,R=Number.MAX_VALUE,M=0;M<D.rows.length;M++)D.rowWidth[M]<R&&(_=M,R=D.rowWidth[M]);return _},P.prototype.getLongestRowIndex=function(D){for(var _=-1,R=Number.MIN_VALUE,M=0;M<D.rows.length;M++)D.rowWidth[M]>R&&(_=M,R=D.rowWidth[M]);return _},P.prototype.canAddHorizontal=function(D,_,R){if(D.idealRowWidth){var M=D.rows.length-1,L=D.rowWidth[M];return L+_+D.horizontalPadding<=D.idealRowWidth}var B=this.getShortestRowIndex(D);if(B<0)return!0;var O=D.rowWidth[B];if(O+D.horizontalPadding+_<=D.width)return!0;var $=0;D.rowHeight[B]<R&&B>0&&($=R+D.verticalPadding-D.rowHeight[B]);var G;D.width-O>=_+D.horizontalPadding?G=(D.height+$)/(O+_+D.horizontalPadding):G=(D.height+$)/D.width,$=R+D.verticalPadding;var F;return D.width<_?F=(D.height+$)/_:F=(D.height+$)/D.width,F<1&&(F=1/F),G<1&&(G=1/G),G<F},P.prototype.shiftToLastRow=function(D){var _=this.getLongestRowIndex(D),R=D.rowWidth.length-1,M=D.rows[_],L=M[M.length-1],B=L.width+D.horizontalPadding;if(D.width-D.rowWidth[R]>B&&_!=R){M.splice(-1,1),D.rows[R].push(L),D.rowWidth[_]=D.rowWidth[_]-B,D.rowWidth[R]=D.rowWidth[R]+B,D.width=D.rowWidth[instance.getLongestRowIndex(D)];for(var O=Number.MIN_VALUE,$=0;$<M.length;$++)M[$].height>O&&(O=M[$].height);_>0&&(O+=D.verticalPadding);var G=D.rowHeight[_]+D.rowHeight[R];D.rowHeight[_]=O,D.rowHeight[R]<L.height+D.verticalPadding&&(D.rowHeight[R]=L.height+D.verticalPadding);var F=D.rowHeight[_]+D.rowHeight[R];D.height+=F-G,this.shiftToLastRow(D)}},P.prototype.tilingPreLayout=function(){m.TILE&&(this.groupZeroDegreeMembers(),this.clearCompounds(),this.clearZeroDegreeMembers())},P.prototype.tilingPostLayout=function(){m.TILE&&(this.repopulateZeroDegreeMembers(),this.repopulateCompounds())},P.prototype.reduceTrees=function(){for(var D=[],_=!0,R;_;){var M=this.graphManager.getAllNodes(),L=[];_=!1;for(var B=0;B<M.length;B++)if(R=M[B],R.getEdges().length==1&&!R.getEdges()[0].isInterGraph&&R.getChild()==null){if(m.PURE_INCREMENTAL){var O=R.getEdges()[0].getOtherEnd(R),$=new T(R.getCenterX()-O.getCenterX(),R.getCenterY()-O.getCenterY());L.push([R,R.getEdges()[0],R.getOwner(),$])}else L.push([R,R.getEdges()[0],R.getOwner()]);_=!0}if(_==!0){for(var G=[],F=0;F<L.length;F++)L[F][0].getEdges().length==1&&(G.push(L[F]),L[F][0].getOwner().remove(L[F][0]));D.push(G),this.graphManager.resetAllNodes(),this.graphManager.resetAllEdges()}}this.prunedNodesAll=D},P.prototype.growTree=function(D){for(var _=D.length,R=D[_-1],M,L=0;L<R.length;L++)M=R[L],this.findPlaceforPrunedNode(M),M[2].add(M[0]),M[2].add(M[1],M[1].source,M[1].target);D.splice(D.length-1,1),this.graphManager.resetAllNodes(),this.graphManager.resetAllEdges()},P.prototype.findPlaceforPrunedNode=function(D){var _,R,M=D[0];if(M==D[1].source?R=D[1].target:R=D[1].source,m.PURE_INCREMENTAL)M.setCenter(R.getCenterX()+D[3].getWidth(),R.getCenterY()+D[3].getHeight());else{var L=R.startX,B=R.finishX,O=R.startY,$=R.finishY,G=0,F=0,V=0,H=0,j=[G,V,F,H];if(O>0)for(var U=L;U<=B;U++)j[0]+=this.grid[U][O-1].length+this.grid[U][O].length-1;if(B<this.grid.length-1)for(var U=O;U<=$;U++)j[1]+=this.grid[B+1][U].length+this.grid[B][U].length-1;if($<this.grid[0].length-1)for(var U=L;U<=B;U++)j[2]+=this.grid[U][$+1].length+this.grid[U][$].length-1;if(L>0)for(var U=O;U<=$;U++)j[3]+=this.grid[L-1][U].length+this.grid[L][U].length-1;for(var Q=C.MAX_VALUE,Y,ae,J=0;J<j.length;J++)j[J]<Q?(Q=j[J],Y=1,ae=J):j[J]==Q&&Y++;if(Y==3&&Q==0)j[0]==0&&j[1]==0&&j[2]==0?_=1:j[0]==0&&j[1]==0&&j[3]==0?_=0:j[0]==0&&j[2]==0&&j[3]==0?_=3:j[1]==0&&j[2]==0&&j[3]==0&&(_=2);else if(Y==2&&Q==0){var te=Math.floor(Math.random()*2);j[0]==0&&j[1]==0?te==0?_=0:_=1:j[0]==0&&j[2]==0?te==0?_=0:_=2:j[0]==0&&j[3]==0?te==0?_=0:_=3:j[1]==0&&j[2]==0?te==0?_=1:_=2:j[1]==0&&j[3]==0?te==0?_=1:_=3:te==0?_=2:_=3}else if(Y==4&&Q==0){var te=Math.floor(Math.random()*4);_=te}else _=ae;_==0?M.setCenter(R.getCenterX(),R.getCenterY()-R.getHeight()/2-y.DEFAULT_EDGE_LENGTH-M.getHeight()/2):_==1?M.setCenter(R.getCenterX()+R.getWidth()/2+y.DEFAULT_EDGE_LENGTH+M.getWidth()/2,R.getCenterY()):_==2?M.setCenter(R.getCenterX(),R.getCenterY()+R.getHeight()/2+y.DEFAULT_EDGE_LENGTH+M.getHeight()/2):M.setCenter(R.getCenterX()-R.getWidth()/2-y.DEFAULT_EDGE_LENGTH-M.getWidth()/2,R.getCenterY())}},a.exports=P}),991:((a,s,l)=>{var u=l(551).FDLayoutNode,h=l(551).IMath;function d(p,m,g,y){u.call(this,p,m,g,y)}o(d,"CoSENode"),d.prototype=Object.create(u.prototype);for(var f in u)d[f]=u[f];d.prototype.calculateDisplacement=function(){var p=this.graphManager.getLayout();this.getChild()!=null&&this.fixedNodeWeight?(this.displacementX+=p.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.fixedNodeWeight,this.displacementY+=p.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.fixedNodeWeight):(this.displacementX+=p.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY+=p.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren),Math.abs(this.displacementX)>p.coolingFactor*p.maxNodeDisplacement&&(this.displacementX=p.coolingFactor*p.maxNodeDisplacement*h.sign(this.displacementX)),Math.abs(this.displacementY)>p.coolingFactor*p.maxNodeDisplacement&&(this.displacementY=p.coolingFactor*p.maxNodeDisplacement*h.sign(this.displacementY)),this.child&&this.child.getNodes().length>0&&this.propogateDisplacementToChildren(this.displacementX,this.displacementY)},d.prototype.propogateDisplacementToChildren=function(p,m){for(var g=this.getChild().getNodes(),y,v=0;v<g.length;v++)y=g[v],y.getChild()==null?(y.displacementX+=p,y.displacementY+=m):y.propogateDisplacementToChildren(p,m)},d.prototype.move=function(){var p=this.graphManager.getLayout();(this.child==null||this.child.getNodes().length==0)&&(this.moveBy(this.displacementX,this.displacementY),p.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY)),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},d.prototype.setPred1=function(p){this.pred1=p},d.prototype.getPred1=function(){return pred1},d.prototype.getPred2=function(){return pred2},d.prototype.setNext=function(p){this.next=p},d.prototype.getNext=function(){return next},d.prototype.setProcessed=function(p){this.processed=p},d.prototype.isProcessed=function(){return processed},a.exports=d}),902:((a,s,l)=>{function u(g){if(Array.isArray(g)){for(var y=0,v=Array(g.length);y<g.length;y++)v[y]=g[y];return v}else return Array.from(g)}o(u,"_toConsumableArray");var h=l(806),d=l(551).LinkedList,f=l(551).Matrix,p=l(551).SVD;function m(){}o(m,"ConstraintHandler"),m.handleConstraints=function(g){var y={};y.fixedNodeConstraint=g.constraints.fixedNodeConstraint,y.alignmentConstraint=g.constraints.alignmentConstraint,y.relativePlacementConstraint=g.constraints.relativePlacementConstraint;for(var v=new Map,x=new Map,b=[],T=[],w=g.getAllNodes(),C=0,k=0;k<w.length;k++){var E=w[k];E.getChild()==null&&(x.set(E.id,C++),b.push(E.getCenterX()),T.push(E.getCenterY()),v.set(E.id,E))}y.relativePlacementConstraint&&y.relativePlacementConstraint.forEach(function(ve){!ve.gap&&ve.gap!=0&&(ve.left?ve.gap=h.DEFAULT_EDGE_LENGTH+v.get(ve.left).getWidth()/2+v.get(ve.right).getWidth()/2:ve.gap=h.DEFAULT_EDGE_LENGTH+v.get(ve.top).getHeight()/2+v.get(ve.bottom).getHeight()/2)});var A=o(function(ie,fe){return{x:ie.x-fe.x,y:ie.y-fe.y}},"calculatePositionDiff"),N=o(function(ie){var fe=0,W=0;return ie.forEach(function(ce){fe+=b[x.get(ce)],W+=T[x.get(ce)]}),{x:fe/ie.size,y:W/ie.size}},"calculateAvgPosition"),P=o(function(ie,fe,W,ce,K){function Re(Ye,le){var st=new Set(Ye),me=!0,ot=!1,kt=void 0;try{for(var Gt=le[Symbol.iterator](),Tt;!(me=(Tt=Gt.next()).done);me=!0){var Et=Tt.value;st.add(Et)}}catch(yt){ot=!0,kt=yt}finally{try{!me&&Gt.return&&Gt.return()}finally{if(ot)throw kt}}return st}o(Re,"setUnion");var xe=new Map;ie.forEach(function(Ye,le){xe.set(le,0)}),ie.forEach(function(Ye,le){Ye.forEach(function(st){xe.set(st.id,xe.get(st.id)+1)})});var Oe=new Map,be=new Map,Be=new d;xe.forEach(function(Ye,le){Ye==0?(Be.push(le),W||(fe=="horizontal"?Oe.set(le,x.has(le)?b[x.get(le)]:ce.get(le)):Oe.set(le,x.has(le)?T[x.get(le)]:ce.get(le)))):Oe.set(le,Number.NEGATIVE_INFINITY),W&&be.set(le,new Set([le]))}),W&&K.forEach(function(Ye){var le=[];if(Ye.forEach(function(ot){W.has(ot)&&le.push(ot)}),le.length>0){var st=0;le.forEach(function(ot){fe=="horizontal"?(Oe.set(ot,x.has(ot)?b[x.get(ot)]:ce.get(ot)),st+=Oe.get(ot)):(Oe.set(ot,x.has(ot)?T[x.get(ot)]:ce.get(ot)),st+=Oe.get(ot))}),st=st/le.length,Ye.forEach(function(ot){W.has(ot)||Oe.set(ot,st)})}else{var me=0;Ye.forEach(function(ot){fe=="horizontal"?me+=x.has(ot)?b[x.get(ot)]:ce.get(ot):me+=x.has(ot)?T[x.get(ot)]:ce.get(ot)}),me=me/Ye.length,Ye.forEach(function(ot){Oe.set(ot,me)})}});for(var Ae=o(function(){var le=Be.shift(),st=ie.get(le);st.forEach(function(me){if(Oe.get(me.id)<Oe.get(le)+me.gap)if(W&&W.has(me.id)){var ot=void 0;if(fe=="horizontal"?ot=x.has(me.id)?b[x.get(me.id)]:ce.get(me.id):ot=x.has(me.id)?T[x.get(me.id)]:ce.get(me.id),Oe.set(me.id,ot),ot<Oe.get(le)+me.gap){var kt=Oe.get(le)+me.gap-ot;be.get(le).forEach(function(Gt){Oe.set(Gt,Oe.get(Gt)-kt)})}}else Oe.set(me.id,Oe.get(le)+me.gap);xe.set(me.id,xe.get(me.id)-1),xe.get(me.id)==0&&Be.push(me.id),W&&be.set(me.id,Re(be.get(le),be.get(me.id)))})},"_loop");Be.length!=0;)Ae();if(W){var Ve=new Set;ie.forEach(function(Ye,le){Ye.length==0&&Ve.add(le)});var Pe=[];be.forEach(function(Ye,le){if(Ve.has(le)){var st=!1,me=!0,ot=!1,kt=void 0;try{for(var Gt=Ye[Symbol.iterator](),Tt;!(me=(Tt=Gt.next()).done);me=!0){var Et=Tt.value;W.has(Et)&&(st=!0)}}catch(ht){ot=!0,kt=ht}finally{try{!me&&Gt.return&&Gt.return()}finally{if(ot)throw kt}}if(!st){var yt=!1,oe=void 0;Pe.forEach(function(ht,gt){ht.has([].concat(u(Ye))[0])&&(yt=!0,oe=gt)}),yt?Ye.forEach(function(ht){Pe[oe].add(ht)}):Pe.push(new Set(Ye))}}}),Pe.forEach(function(Ye,le){var st=Number.POSITIVE_INFINITY,me=Number.POSITIVE_INFINITY,ot=Number.NEGATIVE_INFINITY,kt=Number.NEGATIVE_INFINITY,Gt=!0,Tt=!1,Et=void 0;try{for(var yt=Ye[Symbol.iterator](),oe;!(Gt=(oe=yt.next()).done);Gt=!0){var ht=oe.value,gt=void 0;fe=="horizontal"?gt=x.has(ht)?b[x.get(ht)]:ce.get(ht):gt=x.has(ht)?T[x.get(ht)]:ce.get(ht);var et=Oe.get(ht);gt<st&&(st=gt),gt>ot&&(ot=gt),et<me&&(me=et),et>kt&&(kt=et)}}catch(lr){Tt=!0,Et=lr}finally{try{!Gt&&yt.return&&yt.return()}finally{if(Tt)throw Et}}var pe=(st+ot)/2-(me+kt)/2,Qe=!0,nt=!1,dt=void 0;try{for(var Ft=Ye[Symbol.iterator](),Rt;!(Qe=(Rt=Ft.next()).done);Qe=!0){var $t=Rt.value;Oe.set($t,Oe.get($t)+pe)}}catch(lr){nt=!0,dt=lr}finally{try{!Qe&&Ft.return&&Ft.return()}finally{if(nt)throw dt}}})}return Oe},"findAppropriatePositionForRelativePlacement"),I=o(function(ie){var fe=0,W=0,ce=0,K=0;if(ie.forEach(function(be){be.left?b[x.get(be.left)]-b[x.get(be.right)]>=0?fe++:W++:T[x.get(be.top)]-T[x.get(be.bottom)]>=0?ce++:K++}),fe>W&&ce>K)for(var Re=0;Re<x.size;Re++)b[Re]=-1*b[Re],T[Re]=-1*T[Re];else if(fe>W)for(var xe=0;xe<x.size;xe++)b[xe]=-1*b[xe];else if(ce>K)for(var Oe=0;Oe<x.size;Oe++)T[Oe]=-1*T[Oe]},"applyReflectionForRelativePlacement"),D=o(function(ie){var fe=[],W=new d,ce=new Set,K=0;return ie.forEach(function(Re,xe){if(!ce.has(xe)){fe[K]=[];var Oe=xe;for(W.push(Oe),ce.add(Oe),fe[K].push(Oe);W.length!=0;){Oe=W.shift();var be=ie.get(Oe);be.forEach(function(Be){ce.has(Be.id)||(W.push(Be.id),ce.add(Be.id),fe[K].push(Be.id))})}K++}}),fe},"findComponents"),_=o(function(ie){var fe=new Map;return ie.forEach(function(W,ce){fe.set(ce,[])}),ie.forEach(function(W,ce){W.forEach(function(K){fe.get(ce).push(K),fe.get(K.id).push({id:ce,gap:K.gap,direction:K.direction})})}),fe},"dagToUndirected"),R=o(function(ie){var fe=new Map;return ie.forEach(function(W,ce){fe.set(ce,[])}),ie.forEach(function(W,ce){W.forEach(function(K){fe.get(K.id).push({id:ce,gap:K.gap,direction:K.direction})})}),fe},"dagToReversed"),M=[],L=[],B=!1,O=!1,$=new Set,G=new Map,F=new Map,V=[];if(y.fixedNodeConstraint&&y.fixedNodeConstraint.forEach(function(ve){$.add(ve.nodeId)}),y.relativePlacementConstraint&&(y.relativePlacementConstraint.forEach(function(ve){ve.left?(G.has(ve.left)?G.get(ve.left).push({id:ve.right,gap:ve.gap,direction:"horizontal"}):G.set(ve.left,[{id:ve.right,gap:ve.gap,direction:"horizontal"}]),G.has(ve.right)||G.set(ve.right,[])):(G.has(ve.top)?G.get(ve.top).push({id:ve.bottom,gap:ve.gap,direction:"vertical"}):G.set(ve.top,[{id:ve.bottom,gap:ve.gap,direction:"vertical"}]),G.has(ve.bottom)||G.set(ve.bottom,[]))}),F=_(G),V=D(F)),h.TRANSFORM_ON_CONSTRAINT_HANDLING){if(y.fixedNodeConstraint&&y.fixedNodeConstraint.length>1)y.fixedNodeConstraint.forEach(function(ve,ie){M[ie]=[ve.position.x,ve.position.y],L[ie]=[b[x.get(ve.nodeId)],T[x.get(ve.nodeId)]]}),B=!0;else if(y.alignmentConstraint)(function(){var ve=0;if(y.alignmentConstraint.vertical){for(var ie=y.alignmentConstraint.vertical,fe=o(function(Oe){var be=new Set;ie[Oe].forEach(function(Ve){be.add(Ve)});var Be=new Set([].concat(u(be)).filter(function(Ve){return $.has(Ve)})),Ae=void 0;Be.size>0?Ae=b[x.get(Be.values().next().value)]:Ae=N(be).x,ie[Oe].forEach(function(Ve){M[ve]=[Ae,T[x.get(Ve)]],L[ve]=[b[x.get(Ve)],T[x.get(Ve)]],ve++})},"_loop2"),W=0;W<ie.length;W++)fe(W);B=!0}if(y.alignmentConstraint.horizontal){for(var ce=y.alignmentConstraint.horizontal,K=o(function(Oe){var be=new Set;ce[Oe].forEach(function(Ve){be.add(Ve)});var Be=new Set([].concat(u(be)).filter(function(Ve){return $.has(Ve)})),Ae=void 0;Be.size>0?Ae=b[x.get(Be.values().next().value)]:Ae=N(be).y,ce[Oe].forEach(function(Ve){M[ve]=[b[x.get(Ve)],Ae],L[ve]=[b[x.get(Ve)],T[x.get(Ve)]],ve++})},"_loop3"),Re=0;Re<ce.length;Re++)K(Re);B=!0}y.relativePlacementConstraint&&(O=!0)})();else if(y.relativePlacementConstraint){for(var H=0,j=0,U=0;U<V.length;U++)V[U].length>H&&(H=V[U].length,j=U);if(H<F.size/2)I(y.relativePlacementConstraint),B=!1,O=!1;else{var Q=new Map,Y=new Map,ae=[];V[j].forEach(function(ve){G.get(ve).forEach(function(ie){ie.direction=="horizontal"?(Q.has(ve)?Q.get(ve).push(ie):Q.set(ve,[ie]),Q.has(ie.id)||Q.set(ie.id,[]),ae.push({left:ve,right:ie.id})):(Y.has(ve)?Y.get(ve).push(ie):Y.set(ve,[ie]),Y.has(ie.id)||Y.set(ie.id,[]),ae.push({top:ve,bottom:ie.id}))})}),I(ae),O=!1;var J=P(Q,"horizontal"),te=P(Y,"vertical");V[j].forEach(function(ve,ie){L[ie]=[b[x.get(ve)],T[x.get(ve)]],M[ie]=[],J.has(ve)?M[ie][0]=J.get(ve):M[ie][0]=b[x.get(ve)],te.has(ve)?M[ie][1]=te.get(ve):M[ie][1]=T[x.get(ve)]}),B=!0}}if(B){for(var re=void 0,ee=f.transpose(M),Te=f.transpose(L),ue=0;ue<ee.length;ue++)ee[ue]=f.multGamma(ee[ue]),Te[ue]=f.multGamma(Te[ue]);var De=f.multMat(ee,f.transpose(Te)),Ie=p.svd(De);re=f.multMat(Ie.V,f.transpose(Ie.U));for(var Ee=0;Ee<x.size;Ee++){var we=[b[Ee],T[Ee]],Me=[re[0][0],re[1][0]],$e=[re[0][1],re[1][1]];b[Ee]=f.dotProduct(we,Me),T[Ee]=f.dotProduct(we,$e)}O&&I(y.relativePlacementConstraint)}}if(h.ENFORCE_CONSTRAINTS){if(y.fixedNodeConstraint&&y.fixedNodeConstraint.length>0){var de={x:0,y:0};y.fixedNodeConstraint.forEach(function(ve,ie){var fe={x:b[x.get(ve.nodeId)],y:T[x.get(ve.nodeId)]},W=ve.position,ce=A(W,fe);de.x+=ce.x,de.y+=ce.y}),de.x/=y.fixedNodeConstraint.length,de.y/=y.fixedNodeConstraint.length,b.forEach(function(ve,ie){b[ie]+=de.x}),T.forEach(function(ve,ie){T[ie]+=de.y}),y.fixedNodeConstraint.forEach(function(ve){b[x.get(ve.nodeId)]=ve.position.x,T[x.get(ve.nodeId)]=ve.position.y})}if(y.alignmentConstraint){if(y.alignmentConstraint.vertical)for(var rt=y.alignmentConstraint.vertical,ke=o(function(ie){var fe=new Set;rt[ie].forEach(function(K){fe.add(K)});var W=new Set([].concat(u(fe)).filter(function(K){return $.has(K)})),ce=void 0;W.size>0?ce=b[x.get(W.values().next().value)]:ce=N(fe).x,fe.forEach(function(K){$.has(K)||(b[x.get(K)]=ce)})},"_loop4"),Fe=0;Fe<rt.length;Fe++)ke(Fe);if(y.alignmentConstraint.horizontal)for(var He=y.alignmentConstraint.horizontal,at=o(function(ie){var fe=new Set;He[ie].forEach(function(K){fe.add(K)});var W=new Set([].concat(u(fe)).filter(function(K){return $.has(K)})),ce=void 0;W.size>0?ce=T[x.get(W.values().next().value)]:ce=N(fe).y,fe.forEach(function(K){$.has(K)||(T[x.get(K)]=ce)})},"_loop5"),qe=0;qe<He.length;qe++)at(qe)}y.relativePlacementConstraint&&(function(){var ve=new Map,ie=new Map,fe=new Map,W=new Map,ce=new Map,K=new Map,Re=new Set,xe=new Set;if($.forEach(function(pi){Re.add(pi),xe.add(pi)}),y.alignmentConstraint){if(y.alignmentConstraint.vertical)for(var Oe=y.alignmentConstraint.vertical,be=o(function(zt){fe.set("dummy"+zt,[]),Oe[zt].forEach(function(Mt){ve.set(Mt,"dummy"+zt),fe.get("dummy"+zt).push(Mt),$.has(Mt)&&Re.add("dummy"+zt)}),ce.set("dummy"+zt,b[x.get(Oe[zt][0])])},"_loop6"),Be=0;Be<Oe.length;Be++)be(Be);if(y.alignmentConstraint.horizontal)for(var Ae=y.alignmentConstraint.horizontal,Ve=o(function(zt){W.set("dummy"+zt,[]),Ae[zt].forEach(function(Mt){ie.set(Mt,"dummy"+zt),W.get("dummy"+zt).push(Mt),$.has(Mt)&&xe.add("dummy"+zt)}),K.set("dummy"+zt,T[x.get(Ae[zt][0])])},"_loop7"),Pe=0;Pe<Ae.length;Pe++)Ve(Pe)}var Ye=new Map,le=new Map,st=o(function(zt){G.get(zt).forEach(function(Mt){var qt=void 0,Qt=void 0;Mt.direction=="horizontal"?(qt=ve.get(zt)?ve.get(zt):zt,ve.get(Mt.id)?Qt={id:ve.get(Mt.id),gap:Mt.gap,direction:Mt.direction}:Qt=Mt,Ye.has(qt)?Ye.get(qt).push(Qt):Ye.set(qt,[Qt]),Ye.has(Qt.id)||Ye.set(Qt.id,[])):(qt=ie.get(zt)?ie.get(zt):zt,ie.get(Mt.id)?Qt={id:ie.get(Mt.id),gap:Mt.gap,direction:Mt.direction}:Qt=Mt,le.has(qt)?le.get(qt).push(Qt):le.set(qt,[Qt]),le.has(Qt.id)||le.set(Qt.id,[]))})},"_loop8"),me=!0,ot=!1,kt=void 0;try{for(var Gt=G.keys()[Symbol.iterator](),Tt;!(me=(Tt=Gt.next()).done);me=!0){var Et=Tt.value;st(Et)}}catch(pi){ot=!0,kt=pi}finally{try{!me&&Gt.return&&Gt.return()}finally{if(ot)throw kt}}var yt=_(Ye),oe=_(le),ht=D(yt),gt=D(oe),et=R(Ye),pe=R(le),Qe=[],nt=[];ht.forEach(function(pi,zt){Qe[zt]=[],pi.forEach(function(Mt){et.get(Mt).length==0&&Qe[zt].push(Mt)})}),gt.forEach(function(pi,zt){nt[zt]=[],pi.forEach(function(Mt){pe.get(Mt).length==0&&nt[zt].push(Mt)})});var dt=P(Ye,"horizontal",Re,ce,Qe),Ft=P(le,"vertical",xe,K,nt),Rt=o(function(zt){fe.get(zt)?fe.get(zt).forEach(function(Mt){b[x.get(Mt)]=dt.get(zt)}):b[x.get(zt)]=dt.get(zt)},"_loop9"),$t=!0,lr=!1,pt=void 0;try{for(var Se=dt.keys()[Symbol.iterator](),it;!($t=(it=Se.next()).done);$t=!0){var xt=it.value;Rt(xt)}}catch(pi){lr=!0,pt=pi}finally{try{!$t&&Se.return&&Se.return()}finally{if(lr)throw pt}}var rr=o(function(zt){W.get(zt)?W.get(zt).forEach(function(Mt){T[x.get(Mt)]=Ft.get(zt)}):T[x.get(zt)]=Ft.get(zt)},"_loop10"),_r=!0,Ur=!1,Dr=void 0;try{for(var Xi=Ft.keys()[Symbol.iterator](),In;!(_r=(In=Xi.next()).done);_r=!0){var xt=In.value;rr(xt)}}catch(pi){Ur=!0,Dr=pi}finally{try{!_r&&Xi.return&&Xi.return()}finally{if(Ur)throw Dr}}})()}for(var Ue=0;Ue<w.length;Ue++){var ye=w[Ue];ye.getChild()==null&&ye.setCenter(b[x.get(ye.id)],T[x.get(ye.id)])}},a.exports=m}),551:(a=>{a.exports=e})},r={};function i(a){var s=r[a];if(s!==void 0)return s.exports;var l=r[a]={exports:{}};return t[a](l,l.exports,i),l.exports}o(i,"__webpack_require__");var n=i(45);return n})()})});var SRe=Js((dC,Uq)=>{"use strict";o((function(t,r){typeof dC=="object"&&typeof Uq=="object"?Uq.exports=r(qq()):typeof define=="function"&&define.amd?define(["cose-base"],r):typeof dC=="object"?dC.cytoscapeFcose=r(qq()):t.cytoscapeFcose=r(t.coseBase)}),"webpackUniversalModuleDefinition")(dC,function(e){return(()=>{"use strict";var t={658:(a=>{a.exports=Object.assign!=null?Object.assign.bind(Object):function(s){for(var l=arguments.length,u=Array(l>1?l-1:0),h=1;h<l;h++)u[h-1]=arguments[h];return u.forEach(function(d){Object.keys(d).forEach(function(f){return s[f]=d[f]})}),s}}),548:((a,s,l)=>{var u=(function(){function f(p,m){var g=[],y=!0,v=!1,x=void 0;try{for(var b=p[Symbol.iterator](),T;!(y=(T=b.next()).done)&&(g.push(T.value),!(m&&g.length===m));y=!0);}catch(w){v=!0,x=w}finally{try{!y&&b.return&&b.return()}finally{if(v)throw x}}return g}return o(f,"sliceIterator"),function(p,m){if(Array.isArray(p))return p;if(Symbol.iterator in Object(p))return f(p,m);throw new TypeError("Invalid attempt to destructure non-iterable instance")}})(),h=l(140).layoutBase.LinkedList,d={};d.getTopMostNodes=function(f){for(var p={},m=0;m<f.length;m++)p[f[m].id()]=!0;var g=f.filter(function(y,v){typeof y=="number"&&(y=v);for(var x=y.parent()[0];x!=null;){if(p[x.id()])return!1;x=x.parent()[0]}return!0});return g},d.connectComponents=function(f,p,m,g){var y=new h,v=new Set,x=[],b=void 0,T=void 0,w=void 0,C=!1,k=1,E=[],A=[],N=o(function(){var I=f.collection();A.push(I);var D=m[0],_=f.collection();_.merge(D).merge(D.descendants().intersection(p)),x.push(D),_.forEach(function(L){y.push(L),v.add(L),I.merge(L)});for(var R=o(function(){D=y.shift();var B=f.collection();D.neighborhood().nodes().forEach(function(F){p.intersection(D.edgesWith(F)).length>0&&B.merge(F)});for(var O=0;O<B.length;O++){var $=B[O];if(b=m.intersection($.union($.ancestors())),b!=null&&!v.has(b[0])){var G=b.union(b.descendants());G.forEach(function(F){y.push(F),v.add(F),I.merge(F),m.has(F)&&x.push(F)})}}},"_loop2");y.length!=0;)R();if(I.forEach(function(L){p.intersection(L.connectedEdges()).forEach(function(B){I.has(B.source())&&I.has(B.target())&&I.merge(B)})}),x.length==m.length&&(C=!0),!C||C&&k>1){T=x[0],w=T.connectedEdges().length,x.forEach(function(L){L.connectedEdges().length<w&&(w=L.connectedEdges().length,T=L)}),E.push(T.id());var M=f.collection();M.merge(x[0]),x.forEach(function(L){M.merge(L)}),x=[],m=m.difference(M),k++}},"_loop");do N();while(!C);return g&&E.length>0&&g.set("dummy"+(g.size+1),E),A},d.relocateComponent=function(f,p,m){if(!m.fixedNodeConstraint){var g=Number.POSITIVE_INFINITY,y=Number.NEGATIVE_INFINITY,v=Number.POSITIVE_INFINITY,x=Number.NEGATIVE_INFINITY;if(m.quality=="draft"){var b=!0,T=!1,w=void 0;try{for(var C=p.nodeIndexes[Symbol.iterator](),k;!(b=(k=C.next()).done);b=!0){var E=k.value,A=u(E,2),N=A[0],P=A[1],I=m.cy.getElementById(N);if(I){var D=I.boundingBox(),_=p.xCoords[P]-D.w/2,R=p.xCoords[P]+D.w/2,M=p.yCoords[P]-D.h/2,L=p.yCoords[P]+D.h/2;_<g&&(g=_),R>y&&(y=R),M<v&&(v=M),L>x&&(x=L)}}}catch(F){T=!0,w=F}finally{try{!b&&C.return&&C.return()}finally{if(T)throw w}}var B=f.x-(y+g)/2,O=f.y-(x+v)/2;p.xCoords=p.xCoords.map(function(F){return F+B}),p.yCoords=p.yCoords.map(function(F){return F+O})}else{Object.keys(p).forEach(function(F){var V=p[F],H=V.getRect().x,j=V.getRect().x+V.getRect().width,U=V.getRect().y,Q=V.getRect().y+V.getRect().height;H<g&&(g=H),j>y&&(y=j),U<v&&(v=U),Q>x&&(x=Q)});var $=f.x-(y+g)/2,G=f.y-(x+v)/2;Object.keys(p).forEach(function(F){var V=p[F];V.setCenter(V.getCenterX()+$,V.getCenterY()+G)})}}},d.calcBoundingBox=function(f,p,m,g){for(var y=Number.MAX_SAFE_INTEGER,v=Number.MIN_SAFE_INTEGER,x=Number.MAX_SAFE_INTEGER,b=Number.MIN_SAFE_INTEGER,T=void 0,w=void 0,C=void 0,k=void 0,E=f.descendants().not(":parent"),A=E.length,N=0;N<A;N++){var P=E[N];T=p[g.get(P.id())]-P.width()/2,w=p[g.get(P.id())]+P.width()/2,C=m[g.get(P.id())]-P.height()/2,k=m[g.get(P.id())]+P.height()/2,y>T&&(y=T),v<w&&(v=w),x>C&&(x=C),b<k&&(b=k)}var I={};return I.topLeftX=y,I.topLeftY=x,I.width=v-y,I.height=b-x,I},d.calcParentsWithoutChildren=function(f,p){var m=f.collection();return p.nodes(":parent").forEach(function(g){var y=!1;g.children().forEach(function(v){v.css("display")!="none"&&(y=!0)}),y||m.merge(g)}),m},a.exports=d}),816:((a,s,l)=>{var u=l(548),h=l(140).CoSELayout,d=l(140).CoSENode,f=l(140).layoutBase.PointD,p=l(140).layoutBase.DimensionD,m=l(140).layoutBase.LayoutConstants,g=l(140).layoutBase.FDLayoutConstants,y=l(140).CoSEConstants,v=o(function(b,T){var w=b.cy,C=b.eles,k=C.nodes(),E=C.edges(),A=void 0,N=void 0,P=void 0,I={};b.randomize&&(A=T.nodeIndexes,N=T.xCoords,P=T.yCoords);var D=o(function(F){return typeof F=="function"},"isFn"),_=o(function(F,V){return D(F)?F(V):F},"optFn"),R=u.calcParentsWithoutChildren(w,C),M=o(function G(F,V,H,j){for(var U=V.length,Q=0;Q<U;Q++){var Y=V[Q],ae=null;Y.intersection(R).length==0&&(ae=Y.children());var J=void 0,te=Y.layoutDimensions({nodeDimensionsIncludeLabels:j.nodeDimensionsIncludeLabels});if(Y.outerWidth()!=null&&Y.outerHeight()!=null)if(j.randomize)if(!Y.isParent())J=F.add(new d(H.graphManager,new f(N[A.get(Y.id())]-te.w/2,P[A.get(Y.id())]-te.h/2),new p(parseFloat(te.w),parseFloat(te.h))));else{var re=u.calcBoundingBox(Y,N,P,A);Y.intersection(R).length==0?J=F.add(new d(H.graphManager,new f(re.topLeftX,re.topLeftY),new p(re.width,re.height))):J=F.add(new d(H.graphManager,new f(re.topLeftX,re.topLeftY),new p(parseFloat(te.w),parseFloat(te.h))))}else J=F.add(new d(H.graphManager,new f(Y.position("x")-te.w/2,Y.position("y")-te.h/2),new p(parseFloat(te.w),parseFloat(te.h))));else J=F.add(new d(this.graphManager));if(J.id=Y.data("id"),J.nodeRepulsion=_(j.nodeRepulsion,Y),J.paddingLeft=parseInt(Y.css("padding")),J.paddingTop=parseInt(Y.css("padding")),J.paddingRight=parseInt(Y.css("padding")),J.paddingBottom=parseInt(Y.css("padding")),j.nodeDimensionsIncludeLabels&&(J.labelWidth=Y.boundingBox({includeLabels:!0,includeNodes:!1,includeOverlays:!1}).w,J.labelHeight=Y.boundingBox({includeLabels:!0,includeNodes:!1,includeOverlays:!1}).h,J.labelPosVertical=Y.css("text-valign"),J.labelPosHorizontal=Y.css("text-halign")),I[Y.data("id")]=J,isNaN(J.rect.x)&&(J.rect.x=0),isNaN(J.rect.y)&&(J.rect.y=0),ae!=null&&ae.length>0){var ee=void 0;ee=H.getGraphManager().add(H.newGraph(),J),G(ee,ae,H,j)}}},"processChildrenList"),L=o(function(F,V,H){for(var j=0,U=0,Q=0;Q<H.length;Q++){var Y=H[Q],ae=I[Y.data("source")],J=I[Y.data("target")];if(ae&&J&&ae!==J&&ae.getEdgesBetween(J).length==0){var te=V.add(F.newEdge(),ae,J);te.id=Y.id(),te.idealLength=_(b.idealEdgeLength,Y),te.edgeElasticity=_(b.edgeElasticity,Y),j+=te.idealLength,U++}}b.idealEdgeLength!=null&&(U>0?y.DEFAULT_EDGE_LENGTH=g.DEFAULT_EDGE_LENGTH=j/U:D(b.idealEdgeLength)?y.DEFAULT_EDGE_LENGTH=g.DEFAULT_EDGE_LENGTH=50:y.DEFAULT_EDGE_LENGTH=g.DEFAULT_EDGE_LENGTH=b.idealEdgeLength,y.MIN_REPULSION_DIST=g.MIN_REPULSION_DIST=g.DEFAULT_EDGE_LENGTH/10,y.DEFAULT_RADIAL_SEPARATION=g.DEFAULT_EDGE_LENGTH)},"processEdges"),B=o(function(F,V){V.fixedNodeConstraint&&(F.constraints.fixedNodeConstraint=V.fixedNodeConstraint),V.alignmentConstraint&&(F.constraints.alignmentConstraint=V.alignmentConstraint),V.relativePlacementConstraint&&(F.constraints.relativePlacementConstraint=V.relativePlacementConstraint)},"processConstraints");b.nestingFactor!=null&&(y.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=g.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=b.nestingFactor),b.gravity!=null&&(y.DEFAULT_GRAVITY_STRENGTH=g.DEFAULT_GRAVITY_STRENGTH=b.gravity),b.numIter!=null&&(y.MAX_ITERATIONS=g.MAX_ITERATIONS=b.numIter),b.gravityRange!=null&&(y.DEFAULT_GRAVITY_RANGE_FACTOR=g.DEFAULT_GRAVITY_RANGE_FACTOR=b.gravityRange),b.gravityCompound!=null&&(y.DEFAULT_COMPOUND_GRAVITY_STRENGTH=g.DEFAULT_COMPOUND_GRAVITY_STRENGTH=b.gravityCompound),b.gravityRangeCompound!=null&&(y.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=g.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=b.gravityRangeCompound),b.initialEnergyOnIncremental!=null&&(y.DEFAULT_COOLING_FACTOR_INCREMENTAL=g.DEFAULT_COOLING_FACTOR_INCREMENTAL=b.initialEnergyOnIn