Files
infocom-systems-design/node_modules/mermaid/dist/chunks/mermaid.esm.min/mindmap-definition-ZYHNXUZP.mjs.map
2025-10-03 22:27:28 +03:00

8 lines
74 KiB
Plaintext

{
"version": 3,
"sources": ["../../../src/diagrams/mindmap/parser/mindmap.jison", "../../../../../node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/stringify.js", "../../../../../node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/rng.js", "../../../../../node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/native.js", "../../../../../node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/v4.js", "../../../src/diagrams/mindmap/mindmapDb.ts", "../../../src/diagrams/mindmap/mindmapRenderer.ts", "../../../src/diagrams/mindmap/styles.ts", "../../../src/diagrams/mindmap/mindmap-definition.ts"],
"sourcesContent": ["/* parser generated by jison 0.4.18 */\n/*\n Returns a Parser object of the following structure:\n\n Parser: {\n yy: {}\n }\n\n Parser.prototype: {\n yy: {},\n trace: function(),\n symbols_: {associative list: name ==> number},\n terminals_: {associative list: number ==> name},\n productions_: [...],\n performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$),\n table: [...],\n defaultActions: {...},\n parseError: function(str, hash),\n parse: function(input),\n\n lexer: {\n EOF: 1,\n parseError: function(str, hash),\n setInput: function(input),\n input: function(),\n unput: function(str),\n more: function(),\n less: function(n),\n pastInput: function(),\n upcomingInput: function(),\n showPosition: function(),\n test_match: function(regex_match_array, rule_index),\n next: function(),\n lex: function(),\n begin: function(condition),\n popState: function(),\n _currentRules: function(),\n topState: function(),\n pushState: function(condition),\n\n options: {\n ranges: boolean (optional: true ==> token location info will include a .range[] member)\n flex: boolean (optional: true ==> flex-like lexing behaviour where the rules are tested exhaustively to find the longest match)\n backtrack_lexer: boolean (optional: true ==> lexer regexes are tested in order and for each matching regex the action code is invoked; the lexer terminates the scan when a token is returned by the action code)\n },\n\n performAction: function(yy, yy_, $avoiding_name_collisions, YY_START),\n rules: [...],\n conditions: {associative list: name ==> set},\n }\n }\n\n\n token location info (@$, _$, etc.): {\n first_line: n,\n last_line: n,\n first_column: n,\n last_column: n,\n range: [start_number, end_number] (where the numbers are indexes into the input string, regular zero-based)\n }\n\n\n the parseError function receives a 'hash' object with these members for lexer and parser errors: {\n text: (matched text)\n token: (the produced terminal token, if any)\n line: (yylineno)\n }\n while parser (grammar) errors will also provide these members, i.e. parser errors deliver a superset of attributes: {\n loc: (yylloc)\n expected: (string describing the set of expected tokens)\n recoverable: (boolean: TRUE when the parser has a error recovery rule available for this particular error)\n }\n*/\nvar parser = (function(){\nvar o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,4],$V1=[1,13],$V2=[1,12],$V3=[1,15],$V4=[1,16],$V5=[1,20],$V6=[1,19],$V7=[6,7,8],$V8=[1,26],$V9=[1,24],$Va=[1,25],$Vb=[6,7,11],$Vc=[1,6,13,15,16,19,22],$Vd=[1,33],$Ve=[1,34],$Vf=[1,6,7,11,13,15,16,19,22];\nvar parser = {trace: function trace () { },\nyy: {},\nsymbols_: {\"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},\nterminals_: {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\"},\nproductions_: [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]],\nperformAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) {\n/* this == yyval */\n\nvar $0 = $$.length - 1;\nswitch (yystate) {\ncase 6: case 7:\n return yy; \nbreak;\ncase 8:\nyy.getLogger().trace('Stop NL ');\nbreak;\ncase 9:\nyy.getLogger().trace('Stop EOF ');\nbreak;\ncase 11:\nyy.getLogger().trace('Stop NL2 ');\nbreak;\ncase 12:\nyy.getLogger().trace('Stop EOF2 ');\nbreak;\ncase 15:\n yy.getLogger().info('Node: ',$$[$0].id);yy.addNode($$[$0-1].length, $$[$0].id, $$[$0].descr, $$[$0].type); \nbreak;\ncase 16:\n yy.getLogger().trace('Icon: ',$$[$0]);yy.decorateNode({icon: $$[$0]}); \nbreak;\ncase 17: case 21:\n yy.decorateNode({class: $$[$0]}); \nbreak;\ncase 18:\n yy.getLogger().trace('SPACELIST');\nbreak;\ncase 19:\n yy.getLogger().trace('Node: ',$$[$0].id);yy.addNode(0, $$[$0].id, $$[$0].descr, $$[$0].type); \nbreak;\ncase 20:\n yy.decorateNode({icon: $$[$0]}); \nbreak;\ncase 25:\n yy.getLogger().trace(\"node found ..\", $$[$0-2]); this.$ = { id: $$[$0-1], descr: $$[$0-1], type: yy.getType($$[$0-2], $$[$0]) }; \nbreak;\ncase 26:\n this.$ = { id: $$[$0], descr: $$[$0], type: yy.nodeType.DEFAULT }; \nbreak;\ncase 27:\n yy.getLogger().trace(\"node found ..\", $$[$0-3]); this.$ = { id: $$[$0-3], descr: $$[$0-1], type: yy.getType($$[$0-2], $$[$0]) }; \nbreak;\n}\n},\ntable: [{3:1,4:2,5:3,6:[1,5],8:$V0},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:$V0},{6:$V1,7:[1,10],9:9,12:11,13:$V2,14:14,15:$V3,16:$V4,17:17,18:18,19:$V5,22:$V6},o($V7,[2,3]),{1:[2,2]},o($V7,[2,4]),o($V7,[2,5]),{1:[2,6],6:$V1,12:21,13:$V2,14:14,15:$V3,16:$V4,17:17,18:18,19:$V5,22:$V6},{6:$V1,9:22,12:11,13:$V2,14:14,15:$V3,16:$V4,17:17,18:18,19:$V5,22:$V6},{6:$V8,7:$V9,10:23,11:$Va},o($Vb,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:$V5,22:$V6}),o($Vb,[2,18]),o($Vb,[2,19]),o($Vb,[2,20]),o($Vb,[2,21]),o($Vb,[2,23]),o($Vb,[2,24]),o($Vb,[2,26],{19:[1,30]}),{20:[1,31]},{6:$V8,7:$V9,10:32,11:$Va},{1:[2,7],6:$V1,12:21,13:$V2,14:14,15:$V3,16:$V4,17:17,18:18,19:$V5,22:$V6},o($Vc,[2,14],{7:$Vd,11:$Ve}),o($Vf,[2,8]),o($Vf,[2,9]),o($Vf,[2,10]),o($Vb,[2,15]),o($Vb,[2,16]),o($Vb,[2,17]),{20:[1,35]},{21:[1,36]},o($Vc,[2,13],{7:$Vd,11:$Ve}),o($Vf,[2,11]),o($Vf,[2,12]),{21:[1,37]},o($Vb,[2,25]),o($Vb,[2,27])],\ndefaultActions: {2:[2,1],6:[2,2]},\nparseError: function parseError (str, hash) {\n if (hash.recoverable) {\n this.trace(str);\n } else {\n var error = new Error(str);\n error.hash = hash;\n throw error;\n }\n},\nparse: function parse(input) {\n var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = '', yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;\n var args = lstack.slice.call(arguments, 1);\n var lexer = Object.create(this.lexer);\n var sharedState = { yy: {} };\n for (var k in this.yy) {\n if (Object.prototype.hasOwnProperty.call(this.yy, k)) {\n sharedState.yy[k] = this.yy[k];\n }\n }\n lexer.setInput(input, sharedState.yy);\n sharedState.yy.lexer = lexer;\n sharedState.yy.parser = this;\n if (typeof lexer.yylloc == 'undefined') {\n lexer.yylloc = {};\n }\n var yyloc = lexer.yylloc;\n lstack.push(yyloc);\n var ranges = lexer.options && lexer.options.ranges;\n if (typeof sharedState.yy.parseError === 'function') {\n this.parseError = sharedState.yy.parseError;\n } else {\n this.parseError = Object.getPrototypeOf(this).parseError;\n }\n function popStack(n) {\n stack.length = stack.length - 2 * n;\n vstack.length = vstack.length - n;\n lstack.length = lstack.length - n;\n }\n function lex() {\n var token;\n token = tstack.pop() || lexer.lex() || EOF;\n if (typeof token !== 'number') {\n if (token instanceof Array) {\n tstack = token;\n token = tstack.pop();\n }\n token = self.symbols_[token] || token;\n }\n return token;\n }\n var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected;\n while (true) {\n state = stack[stack.length - 1];\n if (this.defaultActions[state]) {\n action = this.defaultActions[state];\n } else {\n if (symbol === null || typeof symbol == 'undefined') {\n symbol = lex();\n }\n action = table[state] && table[state][symbol];\n }\n if (typeof action === 'undefined' || !action.length || !action[0]) {\n var errStr = '';\n expected = [];\n for (p in table[state]) {\n if (this.terminals_[p] && p > TERROR) {\n expected.push('\\'' + this.terminals_[p] + '\\'');\n }\n }\n if (lexer.showPosition) {\n errStr = 'Parse error on line ' + (yylineno + 1) + ':\\n' + lexer.showPosition() + '\\nExpecting ' + expected.join(', ') + ', got \\'' + (this.terminals_[symbol] || symbol) + '\\'';\n } else {\n errStr = 'Parse error on line ' + (yylineno + 1) + ': Unexpected ' + (symbol == EOF ? 'end of input' : '\\'' + (this.terminals_[symbol] || symbol) + '\\'');\n }\n this.parseError(errStr, {\n text: lexer.match,\n token: this.terminals_[symbol] || symbol,\n line: lexer.yylineno,\n loc: yyloc,\n expected: expected\n });\n }\n if (action[0] instanceof Array && action.length > 1) {\n throw new Error('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol);\n }\n switch (action[0]) {\n case 1:\n stack.push(symbol);\n vstack.push(lexer.yytext);\n lstack.push(lexer.yylloc);\n stack.push(action[1]);\n symbol = null;\n if (!preErrorSymbol) {\n yyleng = lexer.yyleng;\n yytext = lexer.yytext;\n yylineno = lexer.yylineno;\n yyloc = lexer.yylloc;\n if (recovering > 0) {\n recovering--;\n }\n } else {\n symbol = preErrorSymbol;\n preErrorSymbol = null;\n }\n break;\n case 2:\n len = this.productions_[action[1]][1];\n yyval.$ = vstack[vstack.length - len];\n yyval._$ = {\n first_line: lstack[lstack.length - (len || 1)].first_line,\n last_line: lstack[lstack.length - 1].last_line,\n first_column: lstack[lstack.length - (len || 1)].first_column,\n last_column: lstack[lstack.length - 1].last_column\n };\n if (ranges) {\n yyval._$.range = [\n lstack[lstack.length - (len || 1)].range[0],\n lstack[lstack.length - 1].range[1]\n ];\n }\n r = this.performAction.apply(yyval, [\n yytext,\n yyleng,\n yylineno,\n sharedState.yy,\n action[1],\n vstack,\n lstack\n ].concat(args));\n if (typeof r !== 'undefined') {\n return r;\n }\n if (len) {\n stack = stack.slice(0, -1 * len * 2);\n vstack = vstack.slice(0, -1 * len);\n lstack = lstack.slice(0, -1 * len);\n }\n stack.push(this.productions_[action[1]][0]);\n vstack.push(yyval.$);\n lstack.push(yyval._$);\n newState = table[stack[stack.length - 2]][stack[stack.length - 1]];\n stack.push(newState);\n break;\n case 3:\n return true;\n }\n }\n return true;\n}};\n\n/* generated by jison-lex 0.3.4 */\nvar lexer = (function(){\nvar lexer = ({\n\nEOF:1,\n\nparseError:function parseError(str, hash) {\n if (this.yy.parser) {\n this.yy.parser.parseError(str, hash);\n } else {\n throw new Error(str);\n }\n },\n\n// resets the lexer, sets new input\nsetInput:function (input, yy) {\n this.yy = yy || this.yy || {};\n this._input = input;\n this._more = this._backtrack = this.done = false;\n this.yylineno = this.yyleng = 0;\n this.yytext = this.matched = this.match = '';\n this.conditionStack = ['INITIAL'];\n this.yylloc = {\n first_line: 1,\n first_column: 0,\n last_line: 1,\n last_column: 0\n };\n if (this.options.ranges) {\n this.yylloc.range = [0,0];\n }\n this.offset = 0;\n return this;\n },\n\n// consumes and returns one char from the input\ninput:function () {\n var ch = this._input[0];\n this.yytext += ch;\n this.yyleng++;\n this.offset++;\n this.match += ch;\n this.matched += ch;\n var lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno++;\n this.yylloc.last_line++;\n } else {\n this.yylloc.last_column++;\n }\n if (this.options.ranges) {\n this.yylloc.range[1]++;\n }\n\n this._input = this._input.slice(1);\n return ch;\n },\n\n// unshifts one char (or a string) into the input\nunput:function (ch) {\n var len = ch.length;\n var lines = ch.split(/(?:\\r\\n?|\\n)/g);\n\n this._input = ch + this._input;\n this.yytext = this.yytext.substr(0, this.yytext.length - len);\n //this.yyleng -= len;\n this.offset -= len;\n var oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n this.match = this.match.substr(0, this.match.length - 1);\n this.matched = this.matched.substr(0, this.matched.length - 1);\n\n if (lines.length - 1) {\n this.yylineno -= lines.length - 1;\n }\n var r = this.yylloc.range;\n\n this.yylloc = {\n first_line: this.yylloc.first_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.first_column,\n last_column: lines ?\n (lines.length === oldLines.length ? this.yylloc.first_column : 0)\n + oldLines[oldLines.length - lines.length].length - lines[0].length :\n this.yylloc.first_column - len\n };\n\n if (this.options.ranges) {\n this.yylloc.range = [r[0], r[0] + this.yyleng - len];\n }\n this.yyleng = this.yytext.length;\n return this;\n },\n\n// When called from action, caches matched text and appends it on next action\nmore:function () {\n this._more = true;\n return this;\n },\n\n// When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.\nreject:function () {\n if (this.options.backtrack_lexer) {\n this._backtrack = true;\n } else {\n 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).\\n' + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n\n }\n return this;\n },\n\n// retain first n characters of the match\nless:function (n) {\n this.unput(this.match.slice(n));\n },\n\n// displays already matched input, i.e. for error messages\npastInput:function () {\n var past = this.matched.substr(0, this.matched.length - this.match.length);\n return (past.length > 20 ? '...':'') + past.substr(-20).replace(/\\n/g, \"\");\n },\n\n// displays upcoming input, i.e. for error messages\nupcomingInput:function () {\n var next = this.match;\n if (next.length < 20) {\n next += this._input.substr(0, 20-next.length);\n }\n return (next.substr(0,20) + (next.length > 20 ? '...' : '')).replace(/\\n/g, \"\");\n },\n\n// displays the character position where the lexing error occurred, i.e. for error messages\nshowPosition:function () {\n var pre = this.pastInput();\n var c = new Array(pre.length + 1).join(\"-\");\n return pre + this.upcomingInput() + \"\\n\" + c + \"^\";\n },\n\n// test the lexed token: return FALSE when not a match, otherwise return token\ntest_match:function(match, indexed_rule) {\n var token,\n lines,\n backup;\n\n if (this.options.backtrack_lexer) {\n // save context\n backup = {\n yylineno: this.yylineno,\n yylloc: {\n first_line: this.yylloc.first_line,\n last_line: this.last_line,\n first_column: this.yylloc.first_column,\n last_column: this.yylloc.last_column\n },\n yytext: this.yytext,\n match: this.match,\n matches: this.matches,\n matched: this.matched,\n yyleng: this.yyleng,\n offset: this.offset,\n _more: this._more,\n _input: this._input,\n yy: this.yy,\n conditionStack: this.conditionStack.slice(0),\n done: this.done\n };\n if (this.options.ranges) {\n backup.yylloc.range = this.yylloc.range.slice(0);\n }\n }\n\n lines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno += lines.length;\n }\n this.yylloc = {\n first_line: this.yylloc.last_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.last_column,\n last_column: lines ?\n lines[lines.length - 1].length - lines[lines.length - 1].match(/\\r?\\n?/)[0].length :\n this.yylloc.last_column + match[0].length\n };\n this.yytext += match[0];\n this.match += match[0];\n this.matches = match;\n this.yyleng = this.yytext.length;\n if (this.options.ranges) {\n this.yylloc.range = [this.offset, this.offset += this.yyleng];\n }\n this._more = false;\n this._backtrack = false;\n this._input = this._input.slice(match[0].length);\n this.matched += match[0];\n token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);\n if (this.done && this._input) {\n this.done = false;\n }\n if (token) {\n return token;\n } else if (this._backtrack) {\n // recover context\n for (var k in backup) {\n this[k] = backup[k];\n }\n return false; // rule action called reject() implying the next rule should be tested instead.\n }\n return false;\n },\n\n// return next match in input\nnext:function () {\n if (this.done) {\n return this.EOF;\n }\n if (!this._input) {\n this.done = true;\n }\n\n var token,\n match,\n tempMatch,\n index;\n if (!this._more) {\n this.yytext = '';\n this.match = '';\n }\n var rules = this._currentRules();\n for (var i = 0; i < rules.length; i++) {\n tempMatch = this._input.match(this.rules[rules[i]]);\n if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n match = tempMatch;\n index = i;\n if (this.options.backtrack_lexer) {\n token = this.test_match(tempMatch, rules[i]);\n if (token !== false) {\n return token;\n } else if (this._backtrack) {\n match = false;\n continue; // rule action called reject() implying a rule MISmatch.\n } else {\n // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace)\n return false;\n }\n } else if (!this.options.flex) {\n break;\n }\n }\n }\n if (match) {\n token = this.test_match(match, rules[index]);\n if (token !== false) {\n return token;\n }\n // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace)\n return false;\n }\n if (this._input === \"\") {\n return this.EOF;\n } else {\n return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\\n' + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n },\n\n// return next match that has a token\nlex:function lex () {\n var r = this.next();\n if (r) {\n return r;\n } else {\n return this.lex();\n }\n },\n\n// activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)\nbegin:function begin (condition) {\n this.conditionStack.push(condition);\n },\n\n// pop the previously active lexer condition state off the condition stack\npopState:function popState () {\n var n = this.conditionStack.length - 1;\n if (n > 0) {\n return this.conditionStack.pop();\n } else {\n return this.conditionStack[0];\n }\n },\n\n// produce the lexer rule set which is active for the currently active lexer condition state\n_currentRules:function _currentRules () {\n if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {\n return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;\n } else {\n return this.conditions[\"INITIAL\"].rules;\n }\n },\n\n// return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available\ntopState:function topState (n) {\n n = this.conditionStack.length - 1 - Math.abs(n || 0);\n if (n >= 0) {\n return this.conditionStack[n];\n } else {\n return \"INITIAL\";\n }\n },\n\n// alias for begin(condition)\npushState:function pushState (condition) {\n this.begin(condition);\n },\n\n// return the number of states currently on the stack\nstateStackSize:function stateStackSize() {\n return this.conditionStack.length;\n },\noptions: {\"case-insensitive\":true},\nperformAction: function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) {\n\t// Pre-lexer code can go here\n\nvar YYSTATE=YY_START;\nswitch($avoiding_name_collisions) {\ncase 0:yy.getLogger().trace('Found comment',yy_.yytext); return 6;\nbreak;\ncase 1:return 8;\nbreak;\ncase 2: this.begin('CLASS'); \nbreak;\ncase 3: this.popState();return 16; \nbreak;\ncase 4: this.popState();\nbreak;\ncase 5: yy.getLogger().trace('Begin icon');this.begin('ICON'); \nbreak;\ncase 6:yy.getLogger().trace('SPACELINE');return 6 /* skip all whitespace */ ;\nbreak;\ncase 7:return 7;\nbreak;\ncase 8: return 15; \nbreak;\ncase 9:yy.getLogger().trace('end icon');this.popState();\nbreak;\ncase 10: yy.getLogger().trace('Exploding node'); this.begin('NODE');return 19; \nbreak;\ncase 11: yy.getLogger().trace('Cloud'); this.begin('NODE');return 19; \nbreak;\ncase 12: yy.getLogger().trace('Explosion Bang'); this.begin('NODE');return 19; \nbreak;\ncase 13: yy.getLogger().trace('Cloud Bang'); this.begin('NODE');return 19; \nbreak;\ncase 14: this.begin('NODE');return 19; \nbreak;\ncase 15: this.begin('NODE');return 19; \nbreak;\ncase 16: this.begin('NODE');return 19; \nbreak;\ncase 17: this.begin('NODE');return 19; \nbreak;\ncase 18:return 13 /* skip all whitespace */ ;\nbreak;\ncase 19:return 22;\nbreak;\ncase 20:return 11;\nbreak;\ncase 21: this.begin(\"NSTR2\");\nbreak;\ncase 22: return \"NODE_DESCR\";\nbreak;\ncase 23: this.popState();\nbreak;\ncase 24: yy.getLogger().trace('Starting NSTR');this.begin(\"NSTR\");\nbreak;\ncase 25: yy.getLogger().trace('description:', yy_.yytext); return \"NODE_DESCR\";\nbreak;\ncase 26:this.popState();\nbreak;\ncase 27:this.popState();yy.getLogger().trace('node end ))');return \"NODE_DEND\";\nbreak;\ncase 28:this.popState();yy.getLogger().trace('node end )');return \"NODE_DEND\";\nbreak;\ncase 29:this.popState();yy.getLogger().trace('node end ...',yy_.yytext);return \"NODE_DEND\";\nbreak;\ncase 30:this.popState();yy.getLogger().trace('node end ((');return \"NODE_DEND\";\nbreak;\ncase 31:this.popState();yy.getLogger().trace('node end (-');return \"NODE_DEND\";\nbreak;\ncase 32:this.popState();yy.getLogger().trace('node end (-');return \"NODE_DEND\";\nbreak;\ncase 33:this.popState();yy.getLogger().trace('node end ((');return \"NODE_DEND\";\nbreak;\ncase 34:this.popState();yy.getLogger().trace('node end ((');return \"NODE_DEND\";\nbreak;\ncase 35: yy.getLogger().trace('Long description:', yy_.yytext); return 20;\nbreak;\ncase 36: yy.getLogger().trace('Long description:', yy_.yytext); return 20;\nbreak;\n}\n},\nrules: [/^(?:\\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],\nconditions: {\"CLASS\":{\"rules\":[3,4],\"inclusive\":false},\"ICON\":{\"rules\":[8,9],\"inclusive\":false},\"NSTR2\":{\"rules\":[22,23],\"inclusive\":false},\"NSTR\":{\"rules\":[25,26],\"inclusive\":false},\"NODE\":{\"rules\":[21,24,27,28,29,30,31,32,33,34,35,36],\"inclusive\":false},\"INITIAL\":{\"rules\":[0,1,2,5,6,7,10,11,12,13,14,15,16,17,18,19,20],\"inclusive\":true}}\n});\nreturn lexer;\n})();\nparser.lexer = lexer;\nfunction Parser () {\n this.yy = {};\n}\nParser.prototype = parser;parser.Parser = Parser;\nreturn new Parser;\n})(); \n\tparser.parser = parser;\n\texport { parser };\n\texport default parser;\n\t", "import validate from './validate.js';\nconst byteToHex = [];\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\nexport function unsafeStringify(arr, offset = 0) {\n return (byteToHex[arr[offset + 0]] +\n byteToHex[arr[offset + 1]] +\n byteToHex[arr[offset + 2]] +\n byteToHex[arr[offset + 3]] +\n '-' +\n byteToHex[arr[offset + 4]] +\n byteToHex[arr[offset + 5]] +\n '-' +\n byteToHex[arr[offset + 6]] +\n byteToHex[arr[offset + 7]] +\n '-' +\n byteToHex[arr[offset + 8]] +\n byteToHex[arr[offset + 9]] +\n '-' +\n byteToHex[arr[offset + 10]] +\n byteToHex[arr[offset + 11]] +\n byteToHex[arr[offset + 12]] +\n byteToHex[arr[offset + 13]] +\n byteToHex[arr[offset + 14]] +\n byteToHex[arr[offset + 15]]).toLowerCase();\n}\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset);\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n return uuid;\n}\nexport default stringify;\n", "let getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n if (!getRandomValues) {\n if (typeof crypto === 'undefined' || !crypto.getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n getRandomValues = crypto.getRandomValues.bind(crypto);\n }\n return getRandomValues(rnds8);\n}\n", "const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default { randomUUID };\n", "import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n options = options || {};\n const rnds = options.random ?? options.rng?.() ?? rng();\n if (rnds.length < 16) {\n throw new Error('Random bytes length must be >= 16');\n }\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n if (buf) {\n offset = offset || 0;\n if (offset < 0 || offset + 16 > buf.length) {\n throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);\n }\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n return buf;\n }\n return unsafeStringify(rnds);\n}\nexport default v4;\n", "import { getConfig } from '../../diagram-api/diagramAPI.js';\nimport { v4 } from 'uuid';\nimport type { D3Element } from '../../types.js';\nimport { sanitizeText } from '../../diagrams/common/common.js';\nimport { log } from '../../logger.js';\nimport type { MindmapNode } from './mindmapTypes.js';\nimport defaultConfig from '../../defaultConfig.js';\nimport type { LayoutData, Node, Edge } from '../../rendering-util/types.js';\nimport { getUserDefinedConfig } from '../../config.js';\n\n// Extend Node type for mindmap-specific properties\nexport type MindmapLayoutNode = Node & {\n level: number;\n nodeId: string;\n type: number;\n section?: number;\n};\n\n// Extend Edge type for mindmap-specific properties\nexport type MindmapLayoutEdge = Edge & {\n depth: number;\n section?: number;\n};\n\nconst nodeType = {\n DEFAULT: 0,\n NO_BORDER: 0,\n ROUNDED_RECT: 1,\n RECT: 2,\n CIRCLE: 3,\n CLOUD: 4,\n BANG: 5,\n HEXAGON: 6,\n} as const;\n\nexport class MindmapDB {\n private nodes: MindmapNode[] = [];\n private count = 0;\n private elements: Record<number, D3Element> = {};\n private baseLevel?: number;\n public readonly nodeType: typeof nodeType;\n\n constructor() {\n this.getLogger = this.getLogger.bind(this);\n this.nodeType = nodeType;\n this.clear();\n this.getType = this.getType.bind(this);\n this.getElementById = this.getElementById.bind(this);\n this.getParent = this.getParent.bind(this);\n this.getMindmap = this.getMindmap.bind(this);\n this.addNode = this.addNode.bind(this);\n this.decorateNode = this.decorateNode.bind(this);\n }\n public clear() {\n this.nodes = [];\n this.count = 0;\n this.elements = {};\n this.baseLevel = undefined;\n }\n\n public getParent(level: number): MindmapNode | null {\n for (let i = this.nodes.length - 1; i >= 0; i--) {\n if (this.nodes[i].level < level) {\n return this.nodes[i];\n }\n }\n return null;\n }\n\n public getMindmap(): MindmapNode | null {\n return this.nodes.length > 0 ? this.nodes[0] : null;\n }\n\n public addNode(level: number, id: string, descr: string, type: number): void {\n log.info('addNode', level, id, descr, type);\n\n let isRoot = false;\n\n if (this.nodes.length === 0) {\n this.baseLevel = level;\n level = 0;\n isRoot = true;\n } else if (this.baseLevel !== undefined) {\n level = level - this.baseLevel;\n isRoot = false;\n }\n\n const conf = getConfig();\n let padding = conf.mindmap?.padding ?? defaultConfig.mindmap.padding;\n\n switch (type) {\n case this.nodeType.ROUNDED_RECT:\n case this.nodeType.RECT:\n case this.nodeType.HEXAGON:\n padding *= 2;\n break;\n }\n\n const node: MindmapNode = {\n id: this.count++,\n nodeId: sanitizeText(id, conf),\n level,\n descr: sanitizeText(descr, conf),\n type,\n children: [],\n width: conf.mindmap?.maxNodeWidth ?? defaultConfig.mindmap.maxNodeWidth,\n padding,\n isRoot,\n };\n\n const parent = this.getParent(level);\n if (parent) {\n parent.children.push(node);\n this.nodes.push(node);\n } else {\n if (isRoot) {\n this.nodes.push(node);\n } else {\n throw new Error(\n `There can be only one root. No parent could be found for (\"${node.descr}\")`\n );\n }\n }\n }\n\n public getType(startStr: string, endStr: string) {\n log.debug('In get type', startStr, endStr);\n switch (startStr) {\n case '[':\n return this.nodeType.RECT;\n case '(':\n return endStr === ')' ? this.nodeType.ROUNDED_RECT : this.nodeType.CLOUD;\n case '((':\n return this.nodeType.CIRCLE;\n case ')':\n return this.nodeType.CLOUD;\n case '))':\n return this.nodeType.BANG;\n case '{{':\n return this.nodeType.HEXAGON;\n default:\n return this.nodeType.DEFAULT;\n }\n }\n\n public setElementForId(id: number, element: D3Element): void {\n this.elements[id] = element;\n }\n public getElementById(id: number) {\n return this.elements[id];\n }\n\n public decorateNode(decoration?: { class?: string; icon?: string }): void {\n if (!decoration) {\n return;\n }\n\n const config = getConfig();\n const node = this.nodes[this.nodes.length - 1];\n if (decoration.icon) {\n node.icon = sanitizeText(decoration.icon, config);\n }\n if (decoration.class) {\n node.class = sanitizeText(decoration.class, config);\n }\n }\n\n type2Str(type: number): string {\n switch (type) {\n case this.nodeType.DEFAULT:\n return 'no-border';\n case this.nodeType.RECT:\n return 'rect';\n case this.nodeType.ROUNDED_RECT:\n return 'rounded-rect';\n case this.nodeType.CIRCLE:\n return 'circle';\n case this.nodeType.CLOUD:\n return 'cloud';\n case this.nodeType.BANG:\n return 'bang';\n case this.nodeType.HEXAGON:\n return 'hexgon'; // cspell: disable-line\n default:\n return 'no-border';\n }\n }\n\n /**\n * Assign section numbers to nodes based on their position relative to root\n * @param node - The mindmap node to process\n * @param sectionNumber - The section number to assign (undefined for root)\n */\n public assignSections(node: MindmapNode, sectionNumber?: number): void {\n // For root node, section should be undefined (not -1)\n if (node.level === 0) {\n node.section = undefined;\n } else {\n // For non-root nodes, assign the section number\n node.section = sectionNumber;\n }\n // For root node's children, assign section numbers based on their index\n // For other nodes, inherit parent's section number\n if (node.children) {\n for (const [index, child] of node.children.entries()) {\n const childSectionNumber = node.level === 0 ? index : sectionNumber;\n this.assignSections(child, childSectionNumber);\n }\n }\n }\n\n /**\n * Convert mindmap tree structure to flat array of nodes\n * @param node - The mindmap node to process\n * @param processedNodes - Array to collect processed nodes\n */\n public flattenNodes(node: MindmapNode, processedNodes: MindmapLayoutNode[]): void {\n // Build CSS classes for the node\n const cssClasses = ['mindmap-node'];\n\n if (node.isRoot === true) {\n // Root node gets special classes\n cssClasses.push('section-root', 'section--1');\n } else if (node.section !== undefined) {\n // Child nodes get section class based on their section number\n cssClasses.push(`section-${node.section}`);\n }\n\n // Add any custom classes from the node\n if (node.class) {\n cssClasses.push(node.class);\n }\n\n const classes = cssClasses.join(' ');\n\n // Map mindmap node type to valid shape name\n const getShapeFromType = (type: number) => {\n switch (type) {\n case nodeType.CIRCLE:\n return 'mindmapCircle';\n case nodeType.RECT:\n return 'rect';\n case nodeType.ROUNDED_RECT:\n return 'rounded';\n case nodeType.CLOUD:\n return 'cloud';\n case nodeType.BANG:\n return 'bang';\n case nodeType.HEXAGON:\n return 'hexagon';\n case nodeType.DEFAULT:\n return 'defaultMindmapNode';\n case nodeType.NO_BORDER:\n default:\n return 'rect';\n }\n };\n\n const processedNode: MindmapLayoutNode = {\n id: node.id.toString(),\n domId: 'node_' + node.id.toString(),\n label: node.descr,\n isGroup: false,\n shape: getShapeFromType(node.type),\n width: node.width,\n height: node.height ?? 0,\n padding: node.padding,\n cssClasses: classes,\n cssStyles: [],\n look: 'default',\n icon: node.icon,\n x: node.x,\n y: node.y,\n // Mindmap-specific properties\n level: node.level,\n nodeId: node.nodeId,\n type: node.type,\n section: node.section,\n };\n\n processedNodes.push(processedNode);\n\n // Recursively process children\n if (node.children) {\n for (const child of node.children) {\n this.flattenNodes(child, processedNodes);\n }\n }\n }\n\n /**\n * Generate edges from parent-child relationships in mindmap tree\n * @param node - The mindmap node to process\n * @param edges - Array to collect edges\n */\n public generateEdges(node: MindmapNode, edges: MindmapLayoutEdge[]): void {\n if (!node.children) {\n return;\n }\n for (const child of node.children) {\n // Build CSS classes for the edge\n let edgeClasses = 'edge';\n\n // Add section-specific classes based on the child's section\n if (child.section !== undefined) {\n edgeClasses += ` section-edge-${child.section}`;\n }\n\n // Add depth class based on the parent's level + 1 (depth of the edge)\n const edgeDepth = node.level + 1;\n edgeClasses += ` edge-depth-${edgeDepth}`;\n\n const edge: MindmapLayoutEdge = {\n id: `edge_${node.id}_${child.id}`,\n start: node.id.toString(),\n end: child.id.toString(),\n type: 'normal',\n curve: 'basis',\n thickness: 'normal',\n look: 'default',\n classes: edgeClasses,\n // Store mindmap-specific data\n depth: node.level,\n section: child.section,\n };\n\n edges.push(edge);\n\n // Recursively process child edges\n this.generateEdges(child, edges);\n }\n }\n\n /**\n * Get structured data for layout algorithms\n * Following the pattern established by ER diagrams\n * @returns Structured data containing nodes, edges, and config\n */\n public getData(): LayoutData {\n const mindmapRoot = this.getMindmap();\n const config = getConfig();\n\n const userDefinedConfig = getUserDefinedConfig();\n const hasUserDefinedLayout = userDefinedConfig.layout !== undefined;\n\n const finalConfig = config;\n if (!hasUserDefinedLayout) {\n finalConfig.layout = 'cose-bilkent';\n }\n\n if (!mindmapRoot) {\n return {\n nodes: [],\n edges: [],\n config: finalConfig,\n };\n }\n log.debug('getData: mindmapRoot', mindmapRoot, config);\n\n // Assign section numbers to all nodes based on their position relative to root\n this.assignSections(mindmapRoot);\n\n // Convert tree structure to flat arrays\n const processedNodes: MindmapLayoutNode[] = [];\n const processedEdges: MindmapLayoutEdge[] = [];\n\n this.flattenNodes(mindmapRoot, processedNodes);\n this.generateEdges(mindmapRoot, processedEdges);\n\n log.debug(\n `getData: processed ${processedNodes.length} nodes and ${processedEdges.length} edges`\n );\n\n // Create shapes map for ELK compatibility\n const shapes = new Map<string, any>();\n for (const node of processedNodes) {\n shapes.set(node.id, {\n shape: node.shape,\n width: node.width,\n height: node.height,\n padding: node.padding,\n });\n }\n\n return {\n nodes: processedNodes,\n edges: processedEdges,\n config: finalConfig,\n // Store the root node for mindmap-specific layout algorithms\n rootNode: mindmapRoot,\n // Properties required by dagre layout algorithm\n markers: ['point'], // Mindmaps don't use markers\n direction: 'TB', // Top-to-bottom direction for mindmaps\n nodeSpacing: 50, // Default spacing between nodes\n rankSpacing: 50, // Default spacing between ranks\n // Add shapes for ELK compatibility\n shapes: Object.fromEntries(shapes),\n // Additional properties that layout algorithms might expect\n type: 'mindmap',\n diagramId: 'mindmap-' + v4(),\n };\n }\n\n // Expose logger to grammar\n public getLogger() {\n return log;\n }\n}\n", "import type { DrawDefinition } from '../../diagram-api/types.js';\nimport { log } from '../../logger.js';\nimport { getDiagramElement } from '../../rendering-util/insertElementsForSize.js';\nimport { getRegisteredLayoutAlgorithm, render } from '../../rendering-util/render.js';\nimport { setupViewPortForSVG } from '../../rendering-util/setupViewPortForSVG.js';\nimport type { LayoutData } from '../../rendering-util/types.js';\nimport type { FilledMindMapNode } from './mindmapTypes.js';\nimport defaultConfig from '../../defaultConfig.js';\nimport type { MindmapDB } from './mindmapDb.js';\n\n/**\n * Update the layout data with actual node dimensions after drawing\n */\nfunction _updateNodeDimensions(data4Layout: LayoutData, mindmapRoot: FilledMindMapNode) {\n const updateNode = (node: FilledMindMapNode) => {\n // Find the corresponding node in the layout data\n const layoutNode = data4Layout.nodes.find((n) => n.id === node.id.toString());\n if (layoutNode) {\n // Update with the actual dimensions calculated by drawNode\n layoutNode.width = node.width;\n layoutNode.height = node.height;\n log.debug('Updated node dimensions:', node.id, 'width:', node.width, 'height:', node.height);\n }\n\n // Recursively update children\n node.children?.forEach(updateNode);\n };\n\n updateNode(mindmapRoot);\n}\n\nexport const draw: DrawDefinition = async (text, id, _version, diagObj) => {\n log.debug('Rendering mindmap diagram\\n' + text);\n\n // Draw the nodes first to get their dimensions, then update the layout data\n const db = diagObj.db as MindmapDB;\n\n // The getData method provided in all supported diagrams is used to extract the data from the parsed structure\n // into the Layout data format\n const data4Layout = db.getData();\n\n // Create the root SVG - the element is the div containing the SVG element\n const svg = getDiagramElement(id, data4Layout.config.securityLevel);\n\n data4Layout.type = diagObj.type;\n data4Layout.layoutAlgorithm = getRegisteredLayoutAlgorithm(data4Layout.config.layout, {\n fallback: 'cose-bilkent',\n });\n\n data4Layout.diagramId = id;\n\n const mm = db.getMindmap();\n if (!mm) {\n return;\n }\n\n data4Layout.nodes.forEach((node) => {\n if (node.shape === 'rounded') {\n node.radius = 15;\n node.taper = 15;\n node.stroke = 'none';\n node.width = 0;\n node.padding = 15;\n } else if (node.shape === 'circle') {\n node.padding = 10;\n } else if (node.shape === 'rect') {\n node.width = 0;\n node.padding = 10;\n }\n });\n\n // Use the unified rendering system\n await render(data4Layout, svg);\n\n // Setup the view box and size of the svg element using config from data4Layout\n setupViewPortForSVG(\n svg,\n data4Layout.config.mindmap?.padding ?? defaultConfig.mindmap.padding,\n 'mindmapDiagram',\n data4Layout.config.mindmap?.useMaxWidth ?? defaultConfig.mindmap.useMaxWidth\n );\n};\n\nexport default {\n draw,\n};\n", "// @ts-expect-error Incorrect khroma types\nimport { darken, lighten, isDark } from 'khroma';\nimport type { DiagramStylesProvider } from '../../diagram-api/types.js';\n\nconst genSections: DiagramStylesProvider = (options) => {\n let sections = '';\n\n for (let i = 0; i < options.THEME_COLOR_LIMIT; i++) {\n options['lineColor' + i] = options['lineColor' + i] || options['cScaleInv' + i];\n if (isDark(options['lineColor' + i])) {\n options['lineColor' + i] = lighten(options['lineColor' + i], 20);\n } else {\n options['lineColor' + i] = darken(options['lineColor' + i], 20);\n }\n }\n\n for (let i = 0; i < options.THEME_COLOR_LIMIT; i++) {\n const sw = '' + (17 - 3 * i);\n sections += `\n .section-${i - 1} rect, .section-${i - 1} path, .section-${i - 1} circle, .section-${\n i - 1\n } polygon, .section-${i - 1} path {\n fill: ${options['cScale' + i]};\n }\n .section-${i - 1} text {\n fill: ${options['cScaleLabel' + i]};\n }\n .node-icon-${i - 1} {\n font-size: 40px;\n color: ${options['cScaleLabel' + i]};\n }\n .section-edge-${i - 1}{\n stroke: ${options['cScale' + i]};\n }\n .edge-depth-${i - 1}{\n stroke-width: ${sw};\n }\n .section-${i - 1} line {\n stroke: ${options['cScaleInv' + i]} ;\n stroke-width: 3;\n }\n\n .disabled, .disabled circle, .disabled text {\n fill: lightgray;\n }\n .disabled text {\n fill: #efefef;\n }\n `;\n }\n return sections;\n};\n\n// TODO: These options seem incorrect.\nconst getStyles: DiagramStylesProvider = (options) =>\n `\n .edge {\n stroke-width: 3;\n }\n ${genSections(options)}\n .section-root rect, .section-root path, .section-root circle, .section-root polygon {\n fill: ${options.git0};\n }\n .section-root text {\n fill: ${options.gitBranchLabel0};\n }\n .section-root span {\n color: ${options.gitBranchLabel0};\n }\n .section-2 span {\n color: ${options.gitBranchLabel0};\n }\n .icon-container {\n height:100%;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n .edge {\n fill: none;\n }\n .mindmap-node-label {\n dy: 1em;\n alignment-baseline: middle;\n text-anchor: middle;\n dominant-baseline: middle;\n text-align: center;\n }\n`;\nexport default getStyles;\n", "// @ts-ignore: JISON doesn't support types\nimport parser from './parser/mindmap.jison';\nimport { MindmapDB } from './mindmapDb.js';\nimport renderer from './mindmapRenderer.js';\nimport styles from './styles.js';\nimport type { DiagramDefinition } from '../../diagram-api/types.js';\n\nexport const diagram: DiagramDefinition = {\n get db() {\n return new MindmapDB();\n },\n renderer,\n parser,\n styles,\n};\n"],
"mappings": "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",
"names": ["parser", "o", "__name", "k", "v", "l", "$V0", "$V1", "$V2", "$V3", "$V4", "$V5", "$V6", "$V7", "$V8", "$V9", "$Va", "$Vb", "$Vc", "$Vd", "$Ve", "$Vf", "yytext", "yyleng", "yylineno", "yy", "yystate", "$$", "_$", "$0", "str", "hash", "error", "input", "self", "stack", "tstack", "vstack", "lstack", "table", "recovering", "TERROR", "EOF", "args", "lexer", "sharedState", "yyloc", "ranges", "popStack", "n", "lex", "token", "symbol", "preErrorSymbol", "state", "action", "a", "r", "yyval", "p", "len", "newState", "expected", "errStr", "ch", "lines", "oldLines", "past", "next", "pre", "c", "match", "indexed_rule", "backup", "tempMatch", "index", "rules", "i", "condition", "yy_", "$avoiding_name_collisions", "YY_START", "YYSTATE", "Parser", "mindmap_default", "parser", "byteToHex", "i", "unsafeStringify", "arr", "offset", "__name", "getRandomValues", "rnds8", "rng", "__name", "randomUUID", "native_default", "v4", "options", "buf", "offset", "native_default", "rnds", "rng", "i", "unsafeStringify", "__name", "v4_default", "nodeType", "MindmapDB", "__name", "level", "id", "descr", "type", "log", "isRoot", "conf", "getConfig", "padding", "defaultConfig_default", "node", "sanitizeText", "parent", "startStr", "endStr", "element", "decoration", "config", "sectionNumber", "index", "child", "childSectionNumber", "processedNodes", "cssClasses", "classes", "getShapeFromType", "processedNode", "edges", "edgeClasses", "edgeDepth", "edge", "mindmapRoot", "hasUserDefinedLayout", "getUserDefinedConfig", "finalConfig", "processedEdges", "shapes", "v4_default", "draw", "__name", "text", "id", "_version", "diagObj", "log", "db", "data4Layout", "svg", "getDiagramElement", "getRegisteredLayoutAlgorithm", "node", "render", "setupViewPortForSVG", "defaultConfig_default", "mindmapRenderer_default", "genSections", "__name", "options", "sections", "is_dark_default", "lighten_default", "darken_default", "sw", "getStyles", "styles_default", "diagram", "MindmapDB", "mindmapRenderer_default", "mindmap_default", "styles_default"]
}